@munsonlabs/video-player 0.2.4 → 0.2.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/README.md +27 -13
- package/dist/chunks/{ads-BV769SMr.mjs → ads-Dph3guS9.mjs} +1 -1
- package/dist/{elements/chunks/brightcove-rNI-XRxB.mjs → chunks/brightcove-DiJF_74z.mjs} +1 -1
- package/dist/chunks/constants-35ZnLsDv.mjs +1 -0
- package/dist/chunks/dailymotion-DTooszoV.mjs +1 -0
- package/dist/chunks/embedShared-CbArTtuR.mjs +1 -0
- package/dist/chunks/{jwplayer-WIkwoJTA.mjs → jwplayer-Dhq65VxK.mjs} +1 -1
- package/dist/chunks/loadScript-CxzeXqTe.mjs +1 -0
- package/dist/chunks/{sourceHelpers-rbs6D6ZG.mjs → sourceHelpers-B0tH-grj.mjs} +1 -1
- package/dist/chunks/vimeo-D0GAjId0.mjs +1 -0
- package/dist/chunks/youtube-B8AT2F-4.mjs +1 -0
- package/dist/elements/chunks/{ads-BV769SMr.mjs → ads-Dph3guS9.mjs} +1 -1
- package/dist/{chunks/brightcove-rNI-XRxB.mjs → elements/chunks/brightcove-DiJF_74z.mjs} +1 -1
- package/dist/elements/chunks/constants-35ZnLsDv.mjs +1 -0
- package/dist/elements/chunks/dailymotion-DTooszoV.mjs +1 -0
- package/dist/elements/chunks/embedShared-CbArTtuR.mjs +1 -0
- package/dist/elements/chunks/{jwplayer-WIkwoJTA.mjs → jwplayer-Dhq65VxK.mjs} +1 -1
- package/dist/elements/chunks/loadScript-CxzeXqTe.mjs +1 -0
- package/dist/elements/chunks/{sourceHelpers-rbs6D6ZG.mjs → sourceHelpers-B0tH-grj.mjs} +1 -1
- package/dist/elements/chunks/vimeo-D0GAjId0.mjs +1 -0
- package/dist/elements/chunks/youtube-B8AT2F-4.mjs +1 -0
- package/dist/elements/controls.d.mts +166 -38
- package/dist/elements/controls.mjs +1 -1
- package/dist/elements/core.d.mts +23 -31
- package/dist/elements/core.mjs +1 -1
- package/dist/elements/index.d.mts +133 -69
- package/dist/elements/index.mjs +1 -1
- package/dist/index.d.mts +203 -209
- package/dist/index.mjs +1 -1
- package/package.json +5 -3
- package/dist/chunks/constants-zR-UwEWY.mjs +0 -1
- package/dist/chunks/dailymotion-gEquA4h5.mjs +0 -1
- package/dist/chunks/embedShared-duyOYFQN.mjs +0 -1
- package/dist/chunks/loadScript-Du6JsTc2.mjs +0 -1
- package/dist/chunks/vimeo-WJYDJPA3.mjs +0 -1
- package/dist/chunks/youtube-DbJ-IrvP.mjs +0 -1
- package/dist/elements/chunks/constants-zR-UwEWY.mjs +0 -1
- package/dist/elements/chunks/dailymotion-gEquA4h5.mjs +0 -1
- package/dist/elements/chunks/embedShared-duyOYFQN.mjs +0 -1
- package/dist/elements/chunks/loadScript-Du6JsTc2.mjs +0 -1
- package/dist/elements/chunks/vimeo-WJYDJPA3.mjs +0 -1
- package/dist/elements/chunks/youtube-DbJ-IrvP.mjs +0 -1
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{A as e,C as t,D as n,E as r,S as i,T as a,a as o,d as s,g as c,h as l,i as u,j as d,k as f,o as p,r as m,s as h,u as g,x as _}from"./chunks/constants-zR-UwEWY.mjs";import{n as v,r as y,t as b}from"./chunks/platform-Dg9JBh8M.mjs";import{c as ee,d as te,s as x}from"./chunks/embedShared-duyOYFQN.mjs";import{Fragment as S,Transition as C,computed as w,createBlock as T,createCommentVNode as E,createElementBlock as D,createElementVNode as O,createStaticVNode as ne,createTextVNode as re,createVNode as k,defineComponent as A,inject as j,mergeProps as M,nextTick as ie,normalizeClass as N,normalizeProps as ae,normalizeStyle as P,onBeforeUnmount as F,onMounted as I,openBlock as L,provide as oe,reactive as R,ref as z,renderList as B,renderSlot as V,resolveDynamicComponent as se,shallowRef as ce,toDisplayString as H,toRef as U,unref as W,watch as G,withCtx as K,withModifiers as q}from"vue";const le=[];function ue(e){le.push(e)}function de(e){return e?le.find(t=>t.test(e))?.key??`html5`:`html5`}function fe(e){if(!e)return{key:`html5`,embed:!1};let t=le.find(t=>t.test(e));return{key:t?.key??`html5`,embed:t?.embed??!1}}const pe={},me={};function he(e,t){pe[e]=t}async function ge(e,t,n){let r=pe[e];if(!r){let t=me[e];if(!t)return null;r=await t(),pe[e]=r}return r(t,n)}const _e={},ve={};function ye(e,t){_e[e]=t}function be(e){if(/\.m3u8(\?|#|$)/.test(e))return p;if(/\.mpd(\?|#|$)/.test(e))return m;if(/\.mp4(\?|#|$)/.test(e))return s}async function xe(e,t){let n=_e[e];if(!n){let t=ve[e];t&&(n=await t(),_e[e]=n)}return n?n(t):{src:t,type:be(t)}}function Se(e){ue({test:e.test,key:e.key,embed:e.embed}),e.embed?he(e.key,e.createAdapter):e.resolveSource&&ye(e.key,e.resolveSource)}function Ce(e){ue({key:e.key,test:e.test,embed:e.embed}),e.embed?me[e.key]=e.loadAdapter:ve[e.key]=e.loadResolver}Ce({key:`youtube`,test:e=>/youtu\.be|youtube\.com/.test(e),embed:!0,loadAdapter:()=>import(`./chunks/youtube-DbJ-IrvP.mjs`).then(e=>e.createYoutubeAdapter)}),Ce({key:`vimeo`,test:e=>/vimeo\.com|player\.vimeo\.com/.test(e),embed:!0,loadAdapter:()=>import(`./chunks/vimeo-WJYDJPA3.mjs`).then(e=>e.createVimeoAdapter)}),Ce({key:`dailymotion`,test:e=>/dailymotion\.com|dai\.ly/.test(e),embed:!0,loadAdapter:()=>import(`./chunks/dailymotion-gEquA4h5.mjs`).then(e=>e.createDailymotionAdapter)}),Ce({key:`jwplayer`,test:e=>/cdn\.jwplayer\.com/.test(e)||e.startsWith(`jwplayer://`),embed:!1,loadResolver:()=>import(`./chunks/jwplayer-WIkwoJTA.mjs`).then(e=>e.resolveSource)}),Ce({key:`brightcove`,test:e=>/players\.brightcove\.net/.test(e),embed:!1,loadResolver:()=>import(`./chunks/brightcove-rNI-XRxB.mjs`).then(e=>e.resolveSource)});function J(e,t=!1){if(!e||isNaN(e))return`0:00`;let n=t?Math.round(e):Math.floor(e);return`${Math.floor(n/60)}:${String(n%60).padStart(2,`0`)}`}const we=new Set;function Te(e){return we.add(e),()=>we.delete(e)}function Ee(e){we.forEach(t=>{if(t!==e)try{t()}catch{}})}function De(e){let t=new Set,n=null;function r(){t.forEach(e=>e())}return i=>(n||=e(r),t.add(i),()=>{t.delete(i),t.size===0&&(n?.(),n=null)})}const Oe=De(e=>(document.addEventListener(`fullscreenchange`,e),document.addEventListener(`webkitfullscreenchange`,e),()=>{document.removeEventListener(`fullscreenchange`,e),document.removeEventListener(`webkitfullscreenchange`,e)})),ke=De(e=>(document.addEventListener(`visibilitychange`,e),window.addEventListener(`blur`,e),()=>{document.removeEventListener(`visibilitychange`,e),window.removeEventListener(`blur`,e)}));function Ae(e){let t=z(!1),n=z(!1),r=null;function i(){let e=document;t.value=!!(document.fullscreenElement||e.webkitFullscreenElement),n.value=!1}function a(){let r=e();if(r){if(t.value){r.exitFullscreen();return}n.value=!0,r.enterFullscreen()}}function o(){n.value=!0}function s(e){e.on(l,()=>{n.value=!0}),e.on(c,()=>{n.value=!1}),e.on(`nativefullscreenenter`,()=>{t.value=!0,n.value=!1}),e.on(`nativefullscreenexit`,()=>{t.value=!1,n.value=!1})}return I(()=>{r=Oe(i)}),F(()=>{r?.()}),{isFullscreen:t,isFullscreenPending:n,toggleFullscreen:a,markFullscreenPending:o,attachPlayerEvents:s}}function je(e){let t=z(!1),n=null;function r(){clearTimeout(n??void 0),t.value&&e(`bufferend`),t.value=!1}function i(i){i.on(`waiting`,()=>{clearTimeout(n??void 0),n=setTimeout(()=>{t.value=!0,e(`bufferstart`)},500)}),i.on(`playing`,r),i.on(`canplay`,r)}return F(()=>clearTimeout(n??void 0)),{isBuffering:t,attachPlayerEvents:i,reset:r}}function Me(e,t,n){let r=new Set;function a(){if(!t.value)return;let a=e.value/t.value;for(let[e,t]of i)!r.has(e)&&a>=e&&(r.add(e),n(t))}function o(){r.clear()}return{checkQuartiles:a,reset:o}}function Ne(){try{return JSON.parse(localStorage.getItem(`player:positions`)??`[]`)}catch{return[]}}function Pe(e){localStorage.setItem(n,JSON.stringify(e))}function Fe(e,t){if(t<5)return;let n=Ne().filter(t=>t.url!==e);n.unshift({url:e,time:t}),Pe(n.slice(0,5))}function Ie(e){return Ne().find(t=>t.url===e)?.time??null}function Le(e){Pe(Ne().filter(t=>t.url!==e))}function Re(e,t,n){let r=!1;function i(t){if(r)return;let n=Ie(e);n&&t.setCurrentTime(n),r=!0}function a(t){t&&!n.value&&Fe(e,t.currentTime()??0)}function o(){Le(e)}let s=ke(()=>{document.visibilityState===`hidden`&&a(t())});return F(()=>{a(t()),s()}),{restoreOnce:i,save:a,clear:o}}const ze=new WeakMap,Be=[.1,.5];function Ve(e){let t=ze.get(e);if(t)return t;let n=new Set,r=new IntersectionObserver(([e])=>n.forEach(t=>t(e)),{threshold:Be});r.observe(e);let i={observer:r,callbacks:n};return ze.set(e,i),i}function He(e,t){let n=Ve(e);return n.callbacks.add(t),()=>{n.callbacks.delete(t),n.callbacks.size===0&&(n.observer.disconnect(),ze.delete(e))}}let Ue=null,Y=null;function We(e,t){let n=He(e,n=>{n.intersectionRatio<.5||(Y&&clearTimeout(Y),Ue=e,Y=setTimeout(()=>{Ue=null,Y=null,t()},150))});return()=>{Ue===e&&Y&&(clearTimeout(Y),Ue=null,Y=null),n()}}function Ge(e,t,n,r,i){let a=null;I(()=>{let o=e.value&&x(e.value);o&&(a=He(o,e=>{let a=t();e.intersectionRatio<.1&&a&&!a.paused()&&!n.value&&!r.value&&!i.value&&a.pause()}))}),F(()=>a?.())}function Ke(e){return e.kind===`captions`||e.kind===`subtitles`}function qe(e,t){e.textTracks.addEventListener(`addtrack`,t),e.textTracks.addEventListener(`removetrack`,t);function n(){let t=[];for(let n=0;n<e.textTracks.length;n++){let r=e.textTracks[n];Ke(r)&&t.push({index:n,label:r.label||r.language||`Track ${n+1}`,language:r.language})}return t}function r(t){for(let n=0;n<e.textTracks.length;n++){let r=e.textTracks[n];Ke(r)&&(r.mode=n===t?`showing`:`hidden`)}}function i(){for(let t=0;t<e.textTracks.length;t++){let n=e.textTracks[t];if(Ke(n)&&n.mode===`showing`)return t}return null}return{supportsCaptions:()=>n().length>0,getCaptionTracks:n,setCaptionTrack:r,getActiveCaptionTrack:i,dispose:()=>{e.textTracks.removeEventListener(`addtrack`,t),e.textTracks.removeEventListener(`removetrack`,t)}}}function Je(e){let t=new Map;for(let n of e){if(!n.height)continue;let e=t.get(n.height);(!e||n.bitrate>e.bitrate)&&t.set(n.height,n)}return[...t.values()].sort((e,t)=>e.height-t.height)}function Ye(e){function t(){return Je(e()?.levels()??[])}function n(){return e()?.isAuto()??!0}function r(){let t=e();return t?n()?null:t.currentIndex():null}function i(t){e()?.setIndex(t)}return{supportsQuality:()=>t().length>0,getQualityLevels:t,getCurrentQuality:r,isAutoQuality:n,setQuality:i}}function Xe(e,t,n){let r=[[`webkitbeginfullscreen`,t],[`webkitendfullscreen`,n]];for(let[t,n]of r)e.addEventListener(t,n);function i(){let t=e;if(typeof t.webkitEnterFullscreen==`function`){t.webkitEnterFullscreen();return}let n=x(e);n&&y(n)}function a(){let t=e;if(typeof t.webkitExitFullscreen==`function`){t.webkitExitFullscreen();return}b()}return{enterFullscreen:i,exitFullscreen:a,dispose:()=>{for(let[t,n]of r)e.removeEventListener(t,n)}}}function Ze(e,t){let n=[[`enterpictureinpicture`,t],[`leavepictureinpicture`,t]];for(let[t,r]of n)e.addEventListener(t,r);function r(){return typeof document<`u`&&!!document.pictureInPictureEnabled&&!e.disablePictureInPicture}function i(){return document.pictureInPictureElement===e}function a(){i()?document.exitPictureInPicture():r()&&e.requestPictureInPicture()}return{supportsPip:r,isPipActive:i,togglePip:a,dispose:()=>{for(let[t,r]of n)e.removeEventListener(t,r)}}}const Qe=[`play`,`pause`,`ended`,`error`,`timeupdate`,`durationchange`,`progress`,`volumechange`,`ratechange`,`seeking`,`seeked`,`waiting`,`playing`,`canplay`];function $e(e){return{levels:()=>e.levels.map((e,t)=>({index:t,height:e.height,bitrate:e.bitrate,label:`${e.height}p`})),isAuto:()=>e.autoLevelEnabled,currentIndex:()=>e.manualLevel,setIndex:t=>{e.currentLevel=t??-1}}}function et(e){return{levels:()=>e.getBitrateInfoListFor(`video`).map(e=>({index:e.qualityIndex,height:e.height,bitrate:e.bitrate,label:`${e.height}p`})),isAuto:()=>e.getSettings().streaming?.abr?.autoSwitchBitrate?.video??!0,currentIndex:()=>e.getQualityFor(`video`),setIndex:t=>{if(t===null){e.updateSettings({streaming:{abr:{autoSwitchBitrate:{video:!0}}}});return}e.updateSettings({streaming:{abr:{autoSwitchBitrate:{video:!1}}}}),e.setQualityFor(`video`,t,!0)}}}function tt(e,t){let n=te(),r=null,i=null,a=!1,o=null,s=null,c=t.preload===`none`&&!t.autoplay,l=!1;async function u(i){let{default:s}=await import(`hls.js`);if(a||o!==i)return;if(typeof s?.isSupported!=`function`||!s.isSupported()){e.src=i,t.autoplay&&e.play();return}r=new s({liveDurationInfinity:!0,autoStartLoad:!c}),l=!c,r.loadSource(i),r.attachMedia(e),t.autoplay&&e.play();let u=s.Events,d=s.ErrorTypes;r.on(u.MANIFEST_PARSED,m(`qualitychange`)),r.on(u.LEVEL_SWITCHED,m(`qualitychange`)),r.on(u.ERROR,(e,t)=>{if(t.fatal&&!a&&o===i)switch(t.type){case d.NETWORK_ERROR:r?.startLoad();break;case d.MEDIA_ERROR:r?.recoverMediaError();break;default:r?.destroy(),r=null,n.trigger(`error`)}})}async function d(r){let o=await import(`dashjs`);if(a||s!==r)return;let c=o.MediaPlayer().create();i=c,c.initialize(e,r,t.autoplay??!1);let l=o.MediaPlayer.events;c.on(l.QUALITY_CHANGE_RENDERED,m(`qualitychange`)),c.on(l.STREAM_INITIALIZED,m(`qualitychange`)),c.on(l.ERROR,()=>{a||s!==r||(c.destroy(),i=null,n.trigger(`error`))})}function f(){return/Apple/.test(navigator.vendor)&&!/CriOS|FxiOS|OPiOS|EdgiOS|Chrome|Chromium|Android/.test(navigator.userAgent)&&(e.canPlayType(`application/vnd.apple.mpegurl`)!==``||e.canPlayType(`application/x-mpegURL`)!==``)}function p(n,a){if(r?.destroy(),r=null,o=null,i?.destroy(),i=null,s=null,a===`application/dash+xml`){s=n,d(n);return}if(a===`application/x-mpegURL`&&!f()){o=n,u(n);return}e.src=n,t.autoplay&&e.play()}let m=e=>()=>n.trigger(e),h=Qe.map(e=>[e,m(e)]);for(let[t,n]of h)e.addEventListener(t,n);let g=qe(e,m(`captionschange`)),_=Ye(()=>r?$e(r):i?et(i):null),v=Xe(e,m(`nativefullscreenenter`),m(`nativefullscreenexit`)),y=Ze(e,m(`pipchange`)),{poster:b,muted:ee,autoplay:x,volume:S,playbackRate:C,preload:w,src:T,type:E}=t;return e.poster=b??``,w&&(e.preload=w),e.muted=ee??x??!1,e.volume=S??1,e.playbackRate=C??1,e.playsInline=!0,p(T,E),{el:e,play:()=>(r&&!l&&(l=!0,r.startLoad()),e.play()),pause:()=>e.pause(),paused:()=>e.paused,currentTime:()=>e.currentTime,setCurrentTime:t=>{e.currentTime=t},duration:()=>e.duration,volume:()=>e.volume,setVolume:t=>{e.volume=t},muted:()=>e.muted,setMuted:t=>{e.muted=t},playbackRate:()=>e.playbackRate,setPlaybackRate:t=>{e.playbackRate=t},bufferedEnd:()=>{let{buffered:t,duration:n}=e;if(!t.length)return 0;let r=t.end(t.length-1);return n&&r>n?n:r},error:()=>{let t=e.error;return t?{code:t.code,message:t.message||`This video could not be played.`}:null},setSrc:p,supportsPlaybackRate:()=>!0,supportsCaptions:g.supportsCaptions,getCaptionTracks:g.getCaptionTracks,setCaptionTrack:g.setCaptionTrack,getActiveCaptionTrack:g.getActiveCaptionTrack,supportsQuality:_.supportsQuality,getQualityLevels:_.getQualityLevels,getCurrentQuality:_.getCurrentQuality,isAutoQuality:_.isAutoQuality,setQuality:_.setQuality,supportsPip:y.supportsPip,isPipActive:y.isPipActive,togglePip:y.togglePip,enterFullscreen:v.enterFullscreen,exitFullscreen:v.exitFullscreen,on:n.on,off:n.off,dispose:()=>{a=!0,r?.destroy(),i?.destroy();for(let[t,n]of h)e.removeEventListener(t,n);g.dispose(),v.dispose(),y.dispose(),n.dispose()}}}function nt(e,t){if(!t||!Object.keys(t).length)return e;let n=e;for(let[e,r]of Object.entries(t))r!=null&&r!==``&&(n=n.split(`{${e}}`).join(encodeURIComponent(r)));return n}function rt(){try{let e=localStorage.getItem(a);if(!e)return o;let t=JSON.parse(e);return{muted:typeof t.muted==`boolean`?t.muted:o.muted,volume:typeof t.volume==`number`?t.volume:o.volume}}catch{return o}}function it(e){localStorage.setItem(a,JSON.stringify(e))}let at=!1;function ot(){at=!0}function st(){return at}function ct(e){it(e),e.muted||ot()}function lt(e,t=!0){if(e!==void 0)return e;if(!t)return;let n=rt().muted;return n||ot(),n}function ut(e,t){return e===void 0?t&&!st()?!0:rt().muted:e}function dt(e){return e.volume??rt().volume}function ft(e){return{muted:ut(e.muted,!!(e.autoplay||e.playInView)),volume:dt(e)}}async function pt(e,t,n){if(!t.value)return{status:`aborted`};let r=await ge(e,t.value,{src:n.src,poster:n.poster,autoplay:n.autoplay,...ft(n),nativeUi:n.nativeUi});return t.value?r?{status:`mounted`,mounted:{adapter:r,currentSrc:{src:n.src},nativeUi:!!n.nativeUi,needsReveal:!0}}:{status:`unsupported`}:{status:`aborted`}}async function mt(e,t,n,r,i){let a=await xe(e,n.src).catch(()=>({src:n.src}));if(!t.value)return{status:`aborted`};let o=tt(t.value,{src:a.src,type:a.type,poster:a.poster||n.poster||``,autoplay:n.autoplay,...ft(n),playbackRate:r.value,preload:n.preload}),s=nt(n.adTagUrl||a.adTagUrl||``,n.adMacroParams);return i.attach(t.value,o,s,n.headerBidding),{status:`mounted`,mounted:{adapter:o,currentSrc:{src:a.src,type:a.type},needsReveal:!1}}}function ht(e,t,n,r,i){return e.embed?pt(e.key,t,n):mt(e.key,t,n,r,i)}function gt(e,t,n,r,i){let a=null;I(()=>{let o=e.value&&x(e.value);o&&(a=We(o,()=>{let e=t();e&&e.paused()&&!n.value&&!r.value&&(e.setMuted(ut(i,!0)),e.play())}))}),F(()=>a?.())}function _t(e,t,n,r,i,a){function o(){let n=e();if(n&&t.value){if(!a.value){n.play();return}n.pause()}}function s(t){e()?.setCurrentTime(n.value*(t/100))}function c(){let t=e();if(!t)return;let n=!t.muted();t.setMuted(n),ct({muted:n,volume:t.volume()})}function l(t){let n=e();if(!n)return;let r=t===0;n.setVolume(t),n.setMuted(r),ct({muted:r,volume:t})}function u(){r.value=!r.value}function d(t){let n=e();n&&(n.setPlaybackRate(t),i.value=t)}return{togglePlay:o,seek:s,toggleMute:c,setVolume:l,toggleLoop:u,setPlaybackRate:d}}function vt(e,t){let{isPlaying:n,hasEnded:r,isReady:i,isAdPlaying:a,isLive:o,current:s,total:c,buffered:l,vol:u,isMuted:d,isLooping:f,playbackRate:p,supportsPlaybackRate:m,supportsCaptions:h,captionTracks:g,activeCaptionIndex:_,supportsQuality:v,qualityLevels:y,currentQualityIndex:b,isAutoQuality:ee,supportsPip:te,isPipActive:x,hasStarted:S,isError:C,errorMessage:w}=e,{fire:T,pauseThisPlayer:E,positionMemory:D,quartiles:O,buffering:ne,fullscreen:re}=t;function k(e){i.value=!0,m.value=e.supportsPlaybackRate();function t(){g.value=e.getCaptionTracks(),h.value=g.value.length>0;let t=e.getActiveCaptionTrack();t!==_.value&&(_.value=t,S.value&&T(`captionchange`,{captionIndex:t}))}t(),e.on(`captionschange`,t);function k(){y.value=e.getQualityLevels(),v.value=y.value.length>0;let t=e.getCurrentQuality(),n=e.isAutoQuality(),r=t!==b.value||n!==ee.value;b.value=t,ee.value=n,r&&S.value&&T(`qualitychange`,{qualityIndex:n?null:t})}k(),e.on(`qualitychange`,k);function A(){te.value=e.supportsPip();let t=e.isPipActive();t!==x.value&&(x.value=t,S.value&&T(`pipchange`,{isPipActive:t}))}A(),e.on(`pipchange`,A);let j=()=>{if(a.value)return;let t=e.duration();if(t===1/0){o.value=!0;return}o.value=!1,t&&t>0&&isFinite(t)&&(c.value=t)};e.on(`adstart`,()=>{Ee(E),a.value=!0,T(`adstart`)}),e.on(`adend`,()=>{a.value=!1,T(`adend`)}),e.on(`play`,()=>{Ee(E),S.value=!0,n.value=!0,r.value=!1,o.value||D.restoreOnce(e),T(`play`)}),e.on(`pause`,()=>{n.value=!1,o.value||D.save(e),T(`pause`)}),e.on(`ended`,()=>{if(n.value=!1,O.reset(),ne.reset(),f.value){e.setCurrentTime(0),e.play();return}c.value&&(s.value=c.value),r.value=!0,D.clear(),T(`ended`)}),e.on(`seeked`,()=>{T(`seeked`)}),e.on(`error`,()=>{let t=e.error();w.value=t?.message||`This video could not be played.`,C.value=!0,i.value=!0,console.error(`Video playback error:`,w.value),T(`error`,{error:t})});let M=0;e.on(`timeupdate`,()=>{if(r.value||a.value)return;s.value=e.currentTime()??0,c.value||j(),m.value||=e.supportsPlaybackRate();let t=e.getActiveCaptionTrack();_.value!==t&&(_.value=t,S.value&&T(`captionchange`,{captionIndex:t})),o.value||O.checkQuartiles();let n=Date.now();S.value&&n-M>=250&&(M=n,T(`timeupdate`))}),e.on(`durationchange`,j),e.on(`progress`,()=>{if(a.value)return;let t=e.duration();l.value=t?e.bufferedEnd()/t*100:0}),e.on(`volumechange`,()=>{let t=e.muted();u.value=e.volume()??1,d.value=t??!1,S.value&&T(`volumechange`,{isMuted:t})}),e.on(`ratechange`,()=>{let t=e.playbackRate()??1;p.value=t,S.value&&T(`ratechange`,{playbackRate:t})}),ne.attachPlayerEvents(e),re.attachPlayerEvents(e)}return{attachPlayerEvents:k}}function yt(e,t){let{isAdPlaying:n,isAdPaused:r,isAdMuted:i,adRemainingTime:a}=e,{fire:o,pauseThisPlayer:s}=t,c=null,l=null,u=!1;async function d(e,t,d,f){if(!(d||f)||!e.parentElement)return;let p=!1;t.on(`play`,()=>{c?c.requestAdsOnFirstPlay():p=!0});let m=null;f&&import(`./chunks/prebid-RHDT0DOX.mjs`).then(({resolveHeaderBiddingAdTagUrl:e})=>e(f,d).catch(()=>d)).then(e=>{c?c.setAdTagUrl(e):m=e});function h(){!v()&&t.isPipActive()&&document.exitPictureInPicture()}function g(){!v()&&(document.hidden||!document.hasFocus())&&c?.isAdPlaying()&&c.pauseAd()}let _=ke(g),y=()=>{t.isPipActive()||g()};t.on(`pipchange`,y),l=()=>{_(),t.off(`pipchange`,y)};let{attachAds:b}=await import(`./chunks/ads-BV769SMr.mjs`);!u&&e.parentElement&&(c=b(e.parentElement,e,d,{onAdStart:()=>{n.value=!0,r.value=!1,o(`adstart`),h(),g()},onAdEnd:()=>{n.value=!1,r.value=!1,a.value=0,o(`adend`)},onAdPauseChange:e=>{r.value=e,e||Ee(s)},onAdMuteChange:e=>{i.value=e},onAdProgress:e=>{a.value=e},onError:e=>{n.value=!1,r.value=!1,a.value=0,console.error(`Ad playback error:`,e)}}),m&&c.setAdTagUrl(m),p&&c.requestAdsOnFirstPlay())}return{attach:d,isAdPlaying:()=>c?.isAdPlaying()??!1,isAdPaused:()=>c?.isAdPaused()??!1,pauseAd:()=>c?.pauseAd(),resumeAd:()=>c?.resumeAd(),toggleAdMute:()=>c?.toggleAdMute(),dispose:()=>{u=!0,c?.dispose(),c=null,l?.(),l=null}}}function bt(e,t,n){let r=null,i=null,a=null,o=!1,s=z(!1),c=z(!1),l=z(!1),u=z(!1),d=z(0),f=z(0),p=z(0),m=z(dt(t)),h=z(!1),g=z(!1),_=z(!1),v=z(0),y=z(ut(t.muted,!!(t.autoplay||t.playInView))),b=z(!!t.loop),te=z(t.playbackRate??1),x=z(!1),S=z(!1),C=z([]),T=z(null),E=z(!1),D=z([]),O=z(null),ne=z(!0),re=z(!1),k=z(!1),A=z(!1),j=z(!1),M=z(``),ie=z(!1),N=w(()=>f.value?d.value/f.value*100:0),ae=w(()=>Math.max(p.value,N.value)),P=w(()=>!y.value&&m.value>0),L=()=>r,oe=w(()=>{if(typeof t.payload!=`string`)return t.payload??{};try{return JSON.parse(t.payload)}catch{return{}}});function R(e,r={}){n(`state-change`,{type:e,currentTime:d.value,duration:f.value,src:t.src,...r,payload:oe.value})}let B=Ae(L),V=je(R),se=Re(t.src,L,c),ce=Me(d,f,R);function H(){r&&a&&(j.value=!1,M.value=``,r.setSrc(a.src,a.type))}function U(){if(K.isAdPlaying()){K.pauseAd();return}r?.pause()}function W(){if(K.isAdPlaying()){K.isAdPaused()?K.resumeAd():K.pauseAd();return}q.togglePlay()}let K=yt({isAdPlaying:h,isAdPaused:g,isAdMuted:_,adRemainingTime:v},{fire:R,pauseThisPlayer:U}),q=_t(L,l,f,b,te,s),{attachPlayerEvents:le}=vt({isPlaying:s,hasEnded:c,isReady:l,isAdPlaying:h,isLive:u,current:d,total:f,buffered:p,vol:m,isMuted:y,isLooping:b,playbackRate:te,supportsPlaybackRate:x,supportsCaptions:S,captionTracks:C,activeCaptionIndex:T,supportsQuality:E,qualityLevels:D,currentQualityIndex:O,isAutoQuality:ne,supportsPip:re,isPipActive:k,hasStarted:A,isError:j,errorMessage:M},{fire:R,pauseThisPlayer:U,positionMemory:se,quartiles:ce,buffering:V,fullscreen:B});function ue(e){r?.setCaptionTrack(e),T.value=e,A.value&&R(`captionchange`,{captionIndex:e})}function de(e){r?.setQuality(e),O.value=e,ne.value=e===null,A.value&&R(`qualitychange`,{qualityIndex:e})}function pe(){r?.togglePip()}function me(){q.toggleLoop(),A.value&&R(`loopchange`,{isLooping:b.value})}G(()=>t.loop,e=>{e!==void 0&&e!==b.value&&me()}),G(()=>t.muted,e=>{r&&e!==void 0&&r.setMuted(e)}),G(()=>t.playbackRate,e=>{r&&e!==void 0&&r.setPlaybackRate(e)}),Ge(e,L,B.isFullscreen,B.isFullscreenPending,w(()=>!!t.pin)),t.playInView&>(e,L,B.isFullscreen,B.isFullscreenPending,t.muted);function he(e){r=e.adapter,a=e.currentSrc,o=e.needsReveal,e.nativeUi!==void 0&&(ie.value=e.nativeUi),i=Te(U),le(e.adapter)}return G(A,t=>{t&&o&&e.value&&r&&ee(e.value,r.el)}),I(async()=>{let n=await ht(fe(t.src),e,t,te,K);if(n.status===`unsupported`){j.value=!0,l.value=!0,M.value=`This platform is not yet supported.`;return}n.status===`mounted`&&he(n.mounted)}),F(()=>{i?.(),K.dispose(),r?.dispose(),r=null}),{isPlaying:s,hasEnded:c,isReady:l,isLive:u,isBuffering:V.isBuffering,current:d,total:f,progress:N,bufferedDisplay:ae,hasStarted:A,isError:j,errorMessage:M,fmt:J,fire:R,retry:H,togglePlay:W,seek:q.seek,isAdPlaying:h,isAdPaused:g,isAdMuted:_,adRemainingTime:v,toggleAdMute:K.toggleAdMute,vol:m,isMuted:y,isAudible:P,toggleMute:q.toggleMute,setVolume:q.setVolume,isLooping:b,toggleLoop:me,currentPlaybackRate:te,setPlaybackRate:q.setPlaybackRate,supportsPlaybackRate:x,isFullscreen:B.isFullscreen,isFullscreenPending:B.isFullscreenPending,toggleFullscreen:B.toggleFullscreen,markFullscreenPending:B.markFullscreenPending,supportsCaptions:S,captionTracks:C,activeCaptionIndex:T,setCaptionTrack:ue,supportsQuality:E,qualityLevels:D,currentQualityIndex:O,isAutoQuality:ne,setQuality:de,supportsPip:re,isPipActive:k,togglePip:pe,isNativeUi:ie}}const xt=new Set([`ArrowLeft`,`ArrowRight`,`ArrowUp`,`ArrowDown`,`Home`,`End`]);function St(e,t){function n(e,t,n){return Math.min(n,Math.max(t,e))}function r(t){if(!e.total)return;let r=n(e.current+t,0,e.total);e.seek(r/e.total*100)}function i(t){e.setVolume(n(e.vol+t,0,1))}function a(){e.supportsCaptions&&e.setCaptionTrack(e.activeCaptionIndex===null?0:null)}function o(n){if(n.repeat||n.metaKey||n.ctrlKey||n.altKey)return;let o=n.target;if(!o.closest(`input:not([type="range"]), textarea, select, [contenteditable="true"]`)&&!(xt.has(n.key)&&o.closest(`input[type="range"]`))&&(n.key!==` `&&n.key!==`Enter`||!o.closest(`button, a[href]`))){switch(n.key){case` `:case`k`:n.preventDefault(),e.togglePlay();break;case`ArrowLeft`:n.preventDefault(),r(-5);break;case`ArrowRight`:n.preventDefault(),r(5);break;case`ArrowUp`:n.preventDefault(),i(g);break;case`ArrowDown`:n.preventDefault(),i(-g);break;case`m`:e.toggleMute();break;case`f`:e.toggleFullscreen();break;case`c`:a();break;case`Home`:n.preventDefault(),e.seek(0);break;case`End`:n.preventDefault(),e.seek(100);break;default:if(!/^[0-9]$/.test(n.key))return;e.seek(Number(n.key)*10)}t.onMouseMove()}}return{onKeydown:o}}function Ct(e,t){let n=z(!0),r=z(!1),i=null,a=0;function o(e=400){a=Date.now()+e}function s(e=h){clearTimeout(i??void 0),i=setTimeout(()=>{if(document.activeElement?.closest(`.overlay__hud, .overlay__popup`)){s(e);return}n.value=!1,r.value=!1},e)}function c(){clearTimeout(i??void 0)}function l(){r.value=!0,n.value=!0,s()}function u(i=!1){r.value=!1,(i||t.value)&&(n.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 G(e,e=>{if(!e){clearTimeout(i??void 0),n.value=!0;return}s()}),F(()=>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}}const wt=[`retry`,`togglePlay`,`seek`,`toggleMute`,`setVolume`,`toggleFullscreen`,`markFullscreenPending`,`toggleLoop`,`toggleAdMute`,`setPlaybackRate`,`setCaptionTrack`,`setQuality`,`togglePip`],Tt=`isPlaying.hasEnded.isReady.isAdPlaying.isAdPaused.isAdMuted.adRemainingTime.isLive.isBuffering.current.total.vol.isMuted.isAudible.isLooping.currentPlaybackRate.hasStarted.isError.errorMessage.progress.bufferedDisplay.isFullscreen.isFullscreenPending.supportsPlaybackRate.supportsCaptions.captionTracks.activeCaptionIndex.supportsQuality.qualityLevels.currentQualityIndex.isAutoQuality.supportsPip.isPipActive.isNativeUi`.split(`.`);function Et(e=()=>!0){let t=ce(null),n={};for(let r of wt)n[r]=async(...n)=>{await e(r)&&t.value?.[r]?.(...n)};for(let e of Tt)n[e]=w(()=>t.value?.[e]);return{playerRef:t,forwarded:n}}const Dt=Symbol(`player`),Ot=Symbol(`hud`),kt=Symbol(`action`),At=Symbol(`playlist`);function X(e){let t=j(e);if(t===void 0)throw Error(`[video-player] missing "${String(e.description)}" context — this component must be rendered inside <VideoPlayer>`);return t}function jt(e,t){let n=w(()=>e.isReady&&!e.isError);return{hudVisible:w(()=>n.value&&t.showHUD),popupVisible:w(()=>n.value?e.isFullscreen?t.showHUD:t.isOpen:!1)}}function Mt(e,t=250){let n=z(!1),r=null;return G(e,e=>{r?.disconnect(),r=null,e&&(r=new ResizeObserver(([e])=>{n.value=e.contentRect.width<t}),r.observe(e))},{immediate:!0}),F(()=>r?.disconnect()),n}const Nt={mute:{label:e=>e.isMuted?`Unmute`:`Mute`,active:e=>e.isMuted,onClick:e=>e.toggleMute()},loop:{label:e=>e.isLooping?`Disable loop`:`Loop`,active:e=>e.isLooping,onClick:e=>e.toggleLoop()},autoplay:{label:(e,t)=>t.autoAdvance?`Disable autoplay next`:`Autoplay next`,active:(e,t)=>t.autoAdvance,onClick:(e,t)=>t.toggleAutoAdvance()}};function Pt(e,t,n){let r=w(()=>e?.value??null),i=w(()=>!!r.value&&typeof r.value==`object`),a=w(()=>i.value?r.value:null),o=w(()=>i.value||!r.value?null:Nt[r.value]),s=w(()=>o.value?.label(t,n)??``),c=w(()=>o.value?.active(t,n)??!1);function l(){o.value?.onClick(t,n)}return{currentAction:r,isCustom:i,customAction:a,builtinLabel:s,builtinActive:c,onBuiltinClick:l}}var Z=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n};const Ft={},It={viewBox:`0 0 24 24`,fill:`currentColor`};function Lt(e,t){return L(),D(`svg`,It,[...t[0]||=[O(`path`,{d:`M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z`},null,-1)]])}var Rt=Z(Ft,[[`render`,Lt]]);const zt={},Bt={viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`};function Vt(e,t){return L(),D(`svg`,Bt,[...t[0]||=[O(`rect`,{x:`2`,y:`5`,width:`20`,height:`14`,rx:`2`},null,-1),O(`path`,{d:`M9.5 10.5a2 2 0 0 0-3.5 1.3v.4a2 2 0 0 0 3.5 1.3`},null,-1),O(`path`,{d:`M17.5 10.5a2 2 0 0 0-3.5 1.3v.4a2 2 0 0 0 3.5 1.3`},null,-1)]])}var Ht=Z(zt,[[`render`,Vt]]);const Ut={},Wt={viewBox:`0 0 24 24`,fill:`currentColor`};function Gt(e,t){return L(),D(`svg`,Wt,[...t[0]||=[O(`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 Kt=Z(Ut,[[`render`,Gt]]);const qt={},Jt={viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`};function Yt(e,t){return L(),D(`svg`,Jt,[...t[0]||=[ne(`<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 Xt=Z(qt,[[`render`,Yt]]);const Zt={},Qt={viewBox:`0 0 24 24`,fill:`currentColor`};function $t(e,t){return L(),D(`svg`,Qt,[...t[0]||=[O(`path`,{d:`M4 12l1.41 1.41L11 7.83V20h2V7.83l5.59 5.58L20 12l-8-8-8 8z`},null,-1)]])}var en=Z(Zt,[[`render`,$t]]);const tn={},nn={viewBox:`0 0 24 24`,fill:`currentColor`};function rn(e,t){return L(),D(`svg`,nn,[...t[0]||=[O(`path`,{d:`M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z`},null,-1)]])}var an=Z(tn,[[`render`,rn]]);const on={},sn={viewBox:`0 0 24 24`,fill:`currentColor`};function cn(e,t){return L(),D(`svg`,sn,[...t[0]||=[O(`path`,{d:`M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z`},null,-1)]])}var ln=Z(on,[[`render`,cn]]);const un={},dn={viewBox:`0 0 24 24`,fill:`currentColor`};function fn(e,t){return L(),D(`svg`,dn,[...t[0]||=[O(`path`,{d:`M7 7h10v3l4-4-4-4v3H5v6h2V7zm10 10H7v-3l-4 4 4 4v-3h12v-6h-2v4z`},null,-1)]])}var pn=Z(un,[[`render`,fn]]);const mn={},hn={viewBox:`0 0 24 24`,fill:`currentColor`};function gn(e,t){return L(),D(`svg`,hn,[...t[0]||=[O(`circle`,{cx:`5`,cy:`12`,r:`2`},null,-1),O(`circle`,{cx:`12`,cy:`12`,r:`2`},null,-1),O(`circle`,{cx:`19`,cy:`12`,r:`2`},null,-1)]])}var _n=Z(mn,[[`render`,gn]]);const vn={},yn={viewBox:`0 0 24 24`,fill:`currentColor`};function bn(e,t){return L(),D(`svg`,yn,[...t[0]||=[O(`path`,{d:`M6 19h4V5H6v14zm8-14v14h4V5h-4z`},null,-1)]])}var xn=Z(vn,[[`render`,bn]]);const Sn={},Cn={viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`};function wn(e,t){return L(),D(`svg`,Cn,[...t[0]||=[O(`rect`,{x:`2`,y:`4`,width:`20`,height:`16`,rx:`2`},null,-1),O(`rect`,{x:`12`,y:`11`,width:`8`,height:`6`,rx:`1`,fill:`currentColor`,stroke:`none`},null,-1)]])}var Tn=Z(Sn,[[`render`,wn]]);const En={},Dn={viewBox:`0 0 24 24`,fill:`currentColor`};function On(e,t){return L(),D(`svg`,Dn,[...t[0]||=[O(`path`,{d:`M8 5v14l11-7z`},null,-1)]])}var kn=Z(En,[[`render`,On]]);const An={},jn={viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`};function Mn(e,t){return L(),D(`svg`,jn,[...t[0]||=[O(`rect`,{x:`2`,y:`6`,width:`20`,height:`12`,rx:`2`},null,-1),O(`path`,{d:`M7 14v-4M12 14V8M17 14v-2`},null,-1)]])}var Nn=Z(An,[[`render`,Mn]]);const Pn={},Fn={viewBox:`0 0 24 24`,fill:`currentColor`};function In(e,t){return L(),D(`svg`,Fn,[...t[0]||=[O(`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 Ln=Z(Pn,[[`render`,In]]);const Rn={},zn={viewBox:`0 0 24 24`,fill:`currentColor`};function Bn(e,t){return L(),D(`svg`,zn,[...t[0]||=[O(`path`,{d:`M6 18l8.5-6L6 6v12zM16 6v12h2V6h-2z`},null,-1)]])}var Vn=Z(Rn,[[`render`,Bn]]);const Hn={},Un={viewBox:`0 0 24 24`,fill:`currentColor`};function Wn(e,t){return L(),D(`svg`,Un,[...t[0]||=[O(`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 Gn=Z(Hn,[[`render`,Wn]]);const Kn={},qn={viewBox:`0 0 24 24`,fill:`currentColor`};function Jn(e,t){return L(),D(`svg`,qn,[...t[0]||=[O(`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 Yn=Z(Kn,[[`render`,Jn]]);function Q(e,t){return w(()=>e.value?e.value:t.value?document.getElementById(t.value)??null:null)}const Xn=[`aria-label`];var Zn=Z(A({__name:`PlayButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Q(U(t,`player`),U(t,`for`)),r=w(()=>n.value?.isError?`error`:n.value?.hasEnded?`ended`:n.value?.isPlaying?`playing`:`idle`),i=w(()=>{switch(r.value){case`error`:return`Retry`;case`ended`:return`Replay`;case`playing`:return`Pause`;default:return`Play`}});function a(){let e=n.value;e&&(e.isError?e.retry():e.togglePlay())}return(e,t)=>(L(),D(`button`,{type:`button`,class:`mlv-play-button`,"aria-label":i.value,onClick:a},[V(e.$slots,`default`,{isPlaying:W(n)?.isPlaying??!1,hasEnded:W(n)?.hasEnded??!1,isError:W(n)?.isError??!1},()=>[r.value===`error`||r.value===`ended`?(L(),T(W(Ln),{key:0})):r.value===`playing`?(L(),T(W(xn),{key:1})):(L(),T(W(kn),{key:2}))],!0)],8,Xn))}}),[[`__scopeId`,`data-v-218255bd`]]),Qn=Z(A({__name:`Spinner`,props:{size:{type:Number,required:!1,default:14},borderWidth:{type:Number,required:!1,default:2}},setup(e){return(t,n)=>(L(),D(`div`,{class:`spinner`,style:P({width:`${e.size}px`,height:`${e.size}px`,borderWidth:`${e.borderWidth}px`})},null,4))}}),[[`__scopeId`,`data-v-259be2b2`]]);const $n={key:0,class:`mlv-buffering`};var er=Z(A({__name:`Buffering`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Q(U(t,`player`),U(t,`for`));return(e,t)=>W(n)?.isBuffering?(L(),D(`div`,$n,[V(e.$slots,`default`,{},()=>[k(Qn)],!0)])):E(`v-if`,!0)}}),[[`__scopeId`,`data-v-454fec7f`]]),tr=A({__name:`VolumeIcon`,props:{isAudible:{type:Boolean,required:!0}},setup(e){return(t,n)=>e.isAudible?(L(),T(W(Yn),{key:0})):(L(),T(W(Gn),{key:1}))}});const nr={class:`hud`,"aria-hidden":`true`},rr=[`aria-label`],ir=[`aria-label`,`innerHTML`],ar={key:2,class:`hud__spacer`},or={class:`hud__play-wrap`};var sr=Z(A({__name:`HudButtons`,setup(e){let t=X(Dt),n=X(Ot),{currentAction:r,isCustom:i,customAction:a,builtinLabel:o,builtinActive:s,onBuiltinClick:c}=Pt(j(kt),t,X(At));return(e,l)=>(L(),D(S,null,[E(` tabindex="-1" + aria-hidden: this row's play/mute/custom/show-controls buttons are all redundant outside plain mouse hover - play/mute already have global hotkeys, everything else is duplicated in ControlsPopup, which PlayerOverlay's "Show player controls" skip link reaches directly for keyboard/AT users. `),O(`div`,nr,[!W(n).isOpen&&!W(t).isFullscreen?(L(),D(S,{key:0},[W(r)===`mute`||W(r)===`loop`||W(r)===`autoplay`?(L(),D(`button`,{key:0,class:N([`hud__btn`,{"hud__btn--active":W(s)}]),"aria-label":W(o),tabindex:`-1`,onClick:l[0]||=q((...e)=>W(c)&&W(c)(...e),[`stop`])},[W(r)===`mute`?(L(),T(tr,{key:0,"is-audible":W(t).isAudible},null,8,[`is-audible`])):W(r)===`loop`?(L(),T(W(pn),{key:1})):(L(),T(W(Vn),{key:2}))],10,rr)):W(i)&&W(a)?(L(),D(`button`,{key:1,class:`hud__btn`,"aria-label":W(a).label,tabindex:`-1`,onClick:l[1]||=q(e=>W(a).onClick(),[`stop`]),innerHTML:W(a).icon},null,8,ir)):(L(),D(`div`,ar))],64)):E(`v-if`,!0),O(`div`,or,[k(Zn,{player:W(t),class:`ppbtn ppbtn--lg`,tabindex:`-1`},null,8,[`player`]),k(er,{player:W(t),class:`hud__buf-spinner`},null,8,[`player`])]),!W(n).isOpen&&!W(t).isFullscreen?(L(),D(`button`,{key:1,class:`hud__btn`,"aria-label":`Show controls`,tabindex:`-1`,onClick:l[2]||=q((...e)=>W(n).openControls&&W(n).openControls(...e),[`stop`])},[k(W(Xt))])):E(`v-if`,!0)])],2112))}}),[[`__scopeId`,`data-v-a6d118e7`]]);const cr=new WeakMap;async function lr(e,t){if(!e){t();return}cr.get(e)?.();let n=e.getBoundingClientRect();t(),await ie();let r=e.getBoundingClientRect(),i=n.left-r.left,a=n.top-r.top,o=n.width/r.width,s=n.height/r.height;if(!i&&!a&&o===1&&s===1)return;let c=getComputedStyle(e).position===`static`;c&&(e.style.position=`relative`),e.style.zIndex=`2147483647`,e.style.transition=`none`,e.style.transformOrigin=`top left`,e.style.transform=`translate(${i}px, ${a}px) scale(${o}, ${s})`,e.getBoundingClientRect(),await new Promise(t=>{let n=null,r=()=>{cancelAnimationFrame(i),n&&clearTimeout(n),e.style.transition=``,e.style.transform=``,e.style.transformOrigin=``,e.style.zIndex=``,c&&(e.style.position=``),cr.delete(e),t()};cr.set(e,r);let i=requestAnimationFrame(()=>{e.style.transition=`transform 220ms ease`,e.style.transform=``,n=setTimeout(r,220)})})}const ur=[`aria-label`];var dr=Z(A({__name:`FullscreenButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Q(U(t,`player`),U(t,`for`));return(e,t)=>(L(),D(`button`,{type:`button`,class:`mlv-fullscreen-button`,"aria-label":W(n)?.isFullscreen?`Exit fullscreen`:`Enter fullscreen`,onClick:t[0]||=e=>W(n)?.toggleFullscreen()},[V(e.$slots,`default`,{isFullscreen:W(n)?.isFullscreen??!1},()=>[W(n)?.isFullscreen?(L(),T(W(ln),{key:0})):(L(),T(W(an),{key:1}))],!0)],8,ur))}}),[[`__scopeId`,`data-v-b93a5017`]]);const fr=[`aria-pressed`];var pr=Z(A({__name:`PipButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Q(U(t,`player`),U(t,`for`));return(e,t)=>W(n)?.supportsPip?(L(),D(`button`,{key:0,type:`button`,class:N([`mlv-pip-button`,{"mlv-pip-button--active":W(n)?.isPipActive}]),"aria-pressed":W(n)?.isPipActive??!1,"aria-label":`Toggle Picture-in-Picture`,onClick:t[0]||=e=>W(n)?.togglePip()},[V(e.$slots,`default`,{isPipActive:W(n)?.isPipActive??!1},()=>[k(W(Tn))],!0)],10,fr)):E(`v-if`,!0)}}),[[`__scopeId`,`data-v-f654d93e`]]);function mr(e){let n=z(!1),r=z(null),i=!1,a=null,o=!1,s=w(()=>{let t=e.value;return t?.total?t.current/t.total*100:0}),c=w(()=>r.value??s.value),l=w(()=>r.value!==null),u=w(()=>{let t=e.value?.total??0;return c.value/100*t});function d(){a&&clearTimeout(a),a=null}function f(){d(),r.value=null}function p(t){let a=e.value;a?.total&&(n.value||=(i=a.isPlaying,a.isPlaying&&a.togglePlay(),!0),d(),r.value=Number(t.target.value))}function m(s){if(!n.value)return;n.value=!1,o=!0;let c=e.value;if(!c)return;let l=Number(s.target.value);r.value=l,c.seek(l),i&&c.togglePlay(),d(),a=setTimeout(f,t)}function h(s){if(n.value||o)return;o=!1;let c=e.value;if(!c?.total)return;let l=Number(s.target.value);r.value=l,c.seek(l),i&&c.togglePlay(),d(),a=setTimeout(f,t)}return G(()=>e.value?.current,()=>{let t=e.value;if(r.value===null||!t?.total)return;let n=r.value/100*t.total;Math.abs(t.current-n)<1&&f()}),F(f),{scrubbing:l,displayPercent:c,previewSeconds:u,onInput:p,onChange:m,onTouchEnd:h}}const hr={class:`mlv-scrubber-wrap`},gr=[`value`,`aria-valuetext`];var _r=Z(A({inheritAttrs:!1,__name:`Scrubber`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Q(U(t,`player`),U(t,`for`)),{scrubbing:r,displayPercent:i,previewSeconds:a,onInput:o,onChange:s,onTouchEnd:c}=mr(n),l=e=>J(e,!0);return(e,t)=>(L(),D(`div`,hr,[O(`input`,M({type:`range`,min:`0`,max:`100`,step:`0.5`,value:W(i),class:`mlv-scrubber`},e.$attrs,{style:{"--p":`${W(i)}%`,"--b":`${W(n)?.bufferedDisplay??0}%`},"aria-label":`Seek`,"aria-valuetext":`${l(W(a))} of ${l(W(n)?.total??0)}`,onInput:t[0]||=(...e)=>W(o)&&W(o)(...e),onChange:t[1]||=(...e)=>W(s)&&W(s)(...e),onTouchend:t[2]||=(...e)=>W(c)&&W(c)(...e)}),null,16,gr),V(e.$slots,`preview`,{scrubbing:W(r),percent:W(i),previewSeconds:W(a),formatTime:l},()=>[W(r)?(L(),D(`div`,{key:0,class:`mlv-scrubber__preview`,style:P({left:`${W(i)}%`})},H(l(W(a))),5)):E(`v-if`,!0)],!0)]))}}),[[`__scopeId`,`data-v-043f1bc8`]]);const vr={class:`mlv-time-display__time`},yr={class:`mlv-time-display__total`};var br=Z(A({__name:`TimeDisplay`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Q(U(t,`player`),U(t,`for`));return(e,t)=>(L(),D(`span`,{class:N([`mlv-time-display`,{"mlv-time-display--live":W(n)?.isLive}])},[V(e.$slots,`default`,{isLive:W(n)?.isLive??!1,current:W(n)?.current??0,total:W(n)?.total??0,formatTime:W(J)},()=>[W(n)?.isLive?(L(),D(S,{key:0},[t[0]||=O(`span`,{class:`mlv-time-display__dot`},null,-1),t[1]||=re(`Live `,-1)],64)):(L(),D(S,{key:1},[O(`span`,vr,H(W(J)(W(n)?.current??0)),1),O(`span`,yr,`/ `+H(W(J)(W(n)?.total??0)),1)],64))],!0)],2))}}),[[`__scopeId`,`data-v-0285c811`]]);const xr={class:`mlv-volume-wrap`},Sr=[`value`],Cr={class:`mlv-volume-pct`};var wr=Z(A({inheritAttrs:!1,__name:`VolumeSlider`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Q(U(t,`player`),U(t,`for`)),r=w(()=>{let e=n.value;return e?e.isMuted?0:Math.round(e.vol*100):0});function i(e){n.value?.setVolume(Number(e.target.value)/100)}return(e,t)=>(L(),D(`div`,xr,[O(`input`,M({type:`range`,min:`0`,max:`100`,step:`1`,value:r.value,class:`mlv-volume-slider`},e.$attrs,{style:{"--v":`${r.value}%`},"aria-label":`Volume`,onInput:i}),null,16,Sr),V(e.$slots,`default`,{percent:r.value},()=>[O(`span`,Cr,H(r.value)+`%`,1)],!0)]))}}),[[`__scopeId`,`data-v-fbb2c86c`]]);const Tr={class:`controls__vol-header`},Er=[`aria-label`],Dr={class:`controls__vol-body`},Or={class:`controls__vol-pct`};var kr=Z(A({__name:`VolumePanel`,emits:[`back`],setup(e){let t=X(Dt),n=X(Ot);return(e,r)=>(L(),D(S,null,[O(`div`,Tr,[O(`button`,{class:`controls__btn`,"aria-label":`Back`,onClick:r[0]||=t=>e.$emit(`back`)},[k(W(Rt))]),r[6]||=O(`span`,{class:`controls__vol-label`},`Volume`,-1),O(`button`,{class:`controls__btn`,"aria-label":W(t).isMuted?`Unmute`:`Mute`,onClick:r[1]||=e=>W(t).toggleMute()},[k(tr,{"is-audible":W(t).isAudible},null,8,[`is-audible`])],8,Er)]),O(`div`,Dr,[k(wr,{player:W(t),class:`controls__vol-slider`,onMousedown:r[2]||=e=>W(n).pauseHide(),onMouseup:r[3]||=e=>W(n).scheduleHide(),onTouchstartPassive:r[4]||=e=>W(n).pauseHide(),onTouchend:r[5]||=e=>W(n).scheduleHide()},{default:K(({percent:e})=>[O(`span`,Or,H(e)+`%`,1)]),_:1},8,[`player`])])],64))}}),[[`__scopeId`,`data-v-10b0ae67`]]);function Ar(e){function t(){let t=_.indexOf(e.currentPlaybackRate);e.setPlaybackRate(_[(t+1)%_.length])}function n(e){return`${e}×`}return{cycleRate:t,fmtRate:n}}function jr(e){function t(){let t=e.captionTracks;if(!t.length)return;let n=t[t.findIndex(t=>t.index===e.activeCaptionIndex)+1];e.setCaptionTrack(n?n.index:null)}function n(){return e.captionTracks.find(t=>t.index===e.activeCaptionIndex)?.label??`Off`}return{cycleCaptionTrack:t,currentCaptionLabel:n}}function Mr(e){function t(){let t=e.qualityLevels;if(!t.length)return;if(e.isAutoQuality){e.setQuality(t[t.length-1].index);return}let n=t.findIndex(t=>t.index===e.currentQualityIndex);e.setQuality(n<=0?null:t[n-1].index)}function n(){return e.isAutoQuality?`Auto`:e.qualityLevels.find(t=>t.index===e.currentQualityIndex)?.label??`Auto`}return{cycleQuality:t,currentQualityLabel:n}}const Nr=[`aria-label`],Pr={key:0,class:`controls__more-row-label`},Fr=[`innerHTML`],Ir={key:1},Lr={key:2,class:`controls__more-value`};var $=Z(A({__name:`MoreMenuRow`,props:{label:{type:String,required:!0},ariaLabel:{type:String,required:!1,default:``},icon:{type:null,required:!1},iconHtml:{type:String,required:!1},active:{type:Boolean,required:!1,default:!1},value:{type:String,required:!1}},emits:[`click`],setup(e){return(t,n)=>(L(),D(`button`,{class:N([`controls__more-row`,{"controls__more-row--active":e.active}]),"aria-label":e.ariaLabel||e.label,onClick:n[0]||=e=>t.$emit(`click`)},[e.icon||e.iconHtml?(L(),D(`span`,Pr,[e.icon?(L(),T(se(e.icon),{key:0,class:`controls__more-row-icon`})):(L(),D(`span`,{key:1,class:`controls__more-row-icon`,innerHTML:e.iconHtml},null,8,Fr)),re(` `+H(e.label),1)])):(L(),D(`span`,Ir,H(e.label),1)),e.value===void 0?E(`v-if`,!0):(L(),D(`span`,Lr,H(e.value),1))],10,Nr))}}),[[`__scopeId`,`data-v-47ca5bfc`]]);const Rr={class:`controls__more-header`};var zr=Z(A({__name:`MoreMenu`,props:{isCustom:{type:Boolean,required:!0},customAction:{type:[Object,null],required:!0},compact:{type:Boolean,required:!0}},emits:[`back`],setup(e){let t=X(Dt),n=X(Ot),r=X(At),{cycleRate:i,fmtRate:a}=Ar(t),{cycleCaptionTrack:o,currentCaptionLabel:s}=jr(t),{cycleQuality:c,currentQualityLabel:l}=Mr(t);return(u,d)=>(L(),D(S,null,[O(`div`,Rr,[O(`button`,{class:`controls__btn`,"aria-label":`Back`,onClick:d[0]||=e=>u.$emit(`back`)},[k(W(Rt))]),d[8]||=O(`span`,{class:`controls__more-label`},`More`,-1)]),O(`div`,{class:`controls__more-body`,onTouchstartPassive:d[7]||=e=>W(n).keepOpen()},[W(t).supportsPlaybackRate?(L(),T($,{key:0,label:`Playback speed`,value:W(a)(W(t).currentPlaybackRate),onClick:W(i)},null,8,[`value`,`onClick`])):E(`v-if`,!0),k($,{label:`Loop`,"aria-label":`Toggle loop`,icon:W(pn),active:W(t).isLooping,value:W(t).isLooping?`On`:`Off`,onClick:d[1]||=e=>W(t).toggleLoop()},null,8,[`icon`,`active`,`value`]),W(t).supportsCaptions?(L(),T($,{key:1,label:`Captions`,icon:W(Ht),active:W(t).activeCaptionIndex!==null,value:W(s)(),onClick:W(o)},null,8,[`icon`,`active`,`value`,`onClick`])):E(`v-if`,!0),W(t).supportsQuality?(L(),T($,{key:2,label:`Quality`,icon:W(Nn),active:!W(t).isAutoQuality,value:W(l)(),onClick:W(c)},null,8,[`icon`,`active`,`value`,`onClick`])):E(`v-if`,!0),W(r).hasPlaylist?(L(),T($,{key:3,label:`Autoplay next`,"aria-label":`Toggle autoplay next`,icon:W(Vn),active:W(r).autoAdvance,value:W(r).autoAdvance?`On`:`Off`,onClick:d[2]||=e=>W(r).toggleAutoAdvance()},null,8,[`icon`,`active`,`value`])):E(`v-if`,!0),e.compact&&W(t).supportsPip?(L(),T($,{key:4,label:`Picture-in-picture`,"aria-label":`Toggle picture-in-picture`,icon:W(Tn),active:W(t).isPipActive,onClick:d[3]||=e=>W(t).togglePip()},null,8,[`icon`,`active`])):E(`v-if`,!0),e.compact&&W(r).hasNext?(L(),T($,{key:5,label:`Play next`,"aria-label":`Play next`,icon:W(Vn),onClick:d[4]||=e=>W(r).playNext()},null,8,[`icon`])):E(`v-if`,!0),e.compact?(L(),T($,{key:6,label:`Mute`,"aria-label":`Toggle mute`,icon:W(t).isAudible?W(Yn):W(Gn),active:!W(t).isAudible,onClick:d[5]||=e=>W(t).toggleMute()},null,8,[`icon`,`active`])):E(`v-if`,!0),e.isCustom&&e.customAction?(L(),T($,{key:7,label:e.customAction.label,"icon-html":e.customAction.icon,onClick:d[6]||=t=>e.customAction.onClick()},null,8,[`label`,`icon-html`])):E(`v-if`,!0)],32)],64))}}),[[`__scopeId`,`data-v-e89a8208`]]);const Br={class:`controls__row`},Vr={class:`controls__play-wrap`},Hr=[`aria-expanded`],Ur=[`aria-expanded`],Wr={class:`controls__fs-wrap`};var Gr=Z(A({__name:`ControlsPopup`,setup(e){let t=X(Dt),n=X(Ot),r=X(At),{isCustom:i,customAction:a}=Pt(j(kt),t,r),o=z(!1),s=z(!1),c=z(null),l=z(null),u=Mt(c),d=w(()=>t.isLooping||t.currentPlaybackRate!==1||r.autoAdvance);function f(e){return!c.value||c.value.contains(e)?!1:(n.closeControls(),!0)}function p(e){f(e.target)}function m(e){f(e.target)&&e.preventDefault()}I(()=>{t.fire(`controlsopen`,{element:c.value}),document.addEventListener(`click`,p,!0),document.addEventListener(`touchend`,m,!0)}),F(()=>{o.value=!1,s.value=!1,t.fire(`controlsclose`,{element:c.value}),document.removeEventListener(`click`,p,!0),document.removeEventListener(`touchend`,m,!0)});function h(e){n.suppressMouseLeave();let t=c.value,r=l.value;if(!t||!r){e();return}r.style.opacity=`0`,lr(t,e).then(()=>{r.style.transition=`opacity 130ms ease`,r.style.opacity=``,setTimeout(()=>{r.style.transition=``},130)})}function g(){if(v()){t.toggleMute();return}h(()=>{o.value=!0})}function _(){h(()=>{s.value=!0})}return(e,f)=>(L(),D(`div`,{ref_key:`popupEl`,ref:c,class:N([`controls`,{"controls--fs":W(t).isFullscreen,"controls--compact":W(u)}]),onMousemove:f[8]||=q((...e)=>W(n).keepOpen&&W(n).keepOpen(...e),[`stop`])},[O(`div`,{class:`controls__inner`,ref_key:`contentEl`,ref:l},[o.value?(L(),T(kr,{key:0,onBack:f[0]||=e=>h(()=>o.value=!1)})):s.value?(L(),T(zr,{key:1,"is-custom":W(i),"custom-action":W(a),compact:W(u),onBack:f[1]||=e=>h(()=>s.value=!1)},null,8,[`is-custom`,`custom-action`,`compact`])):(L(),D(S,{key:2},[W(t).isLive?E(`v-if`,!0):(L(),T(_r,{key:0,player:W(t),class:`controls__seek`,onMousedown:f[2]||=e=>W(n).pauseHide(),onMouseup:f[3]||=e=>W(n).scheduleHide(),onTouchstartPassive:f[4]||=e=>W(n).pauseHide(),onTouchend:f[5]||=e=>W(n).scheduleHide()},null,8,[`player`])),O(`div`,Br,[O(`div`,Vr,[k(er,{player:W(t)},null,8,[`player`]),W(t).isBuffering?E(`v-if`,!0):(L(),T(Zn,{key:0,player:W(t),class:`ppbtn ppbtn--sm`},null,8,[`player`]))]),k(br,{player:W(t),class:`controls__time-display`},null,8,[`player`]),W(r).hasNext?(L(),D(`button`,{key:0,class:`controls__btn controls__btn--next`,"aria-label":`Play next`,onClick:f[6]||=e=>W(r).playNext()},[k(W(Vn))])):E(`v-if`,!0),O(`button`,{class:`controls__btn controls__btn--volume`,"aria-label":`Volume`,"aria-haspopup":`true`,"aria-expanded":o.value,onClick:g},[k(tr,{"is-audible":W(t).isAudible},null,8,[`is-audible`])],8,Hr),O(`button`,{class:N([`controls__btn controls__btn--more`,{"controls__btn--active":d.value}]),"aria-label":`More`,"aria-haspopup":`true`,"aria-expanded":s.value,onClick:_},[k(W(_n))],10,Ur),k(pr,{player:W(t),class:`controls__btn controls__btn--pip`},null,8,[`player`]),O(`div`,Wr,[W(t).isFullscreenPending?(L(),T(Qn,{key:0})):(L(),T(dr,{key:1,player:W(t),class:`controls__btn`},null,8,[`player`]))])])],64))],512),O(`button`,{type:`button`,class:`controls__close`,"aria-label":`Close player controls`,onClick:f[7]||=e=>W(n).closeControls(!0)},`Close player controls`)],34))}}),[[`__scopeId`,`data-v-5712aad4`]]);const Kr={key:0,class:`overlay__spinner`},qr={key:0,class:`overlay__error`},Jr=[`inert`];var Yr=Z(A({__name:`PlayerOverlay`,setup(e){let t=X(Dt),n=X(Ot),{hudVisible:r,popupVisible:i}=jt(t,n);return(e,a)=>(L(),D(S,null,[k(C,{name:`fade`},{default:K(()=>[!W(t).isReady&&!W(t).isError?(L(),D(`div`,Kr,[k(Qn,{size:40,"border-width":3})])):E(`v-if`,!0)]),_:1}),k(C,{name:`fade`},{default:K(()=>[W(t).isError?(L(),D(`div`,qr,[O(`p`,null,H(W(t).errorMessage||`This video could not be played.`),1),O(`button`,{class:`overlay__retry`,onClick:a[0]||=q((...e)=>W(t).retry&&W(t).retry(...e),[`stop`])},`Retry`)])):E(`v-if`,!0)]),_:1}),O(`button`,{type:`button`,class:`overlay__reveal`,"aria-label":`Show player controls`,onClick:a[1]||=e=>W(n).openControls()},`Show player controls`),O(`div`,{class:N([`overlay__hud`,{"overlay__hud--visible":W(r)}]),inert:!W(r)},[k(sr)],10,Jr),k(C,{name:`popup`},{default:K(()=>[W(i)?(L(),D(`div`,{key:0,class:N([`overlay__popup`,{"overlay__popup--fs":W(t).isFullscreen}])},[k(Gr)],2)):E(`v-if`,!0)]),_:1})],64))}}),[[`__scopeId`,`data-v-2fba5782`]]);const Xr={class:`ad-overlay`},Zr={class:`ad-overlay__bar`},Qr={class:`ad-overlay__badge`},$r={key:0,class:`ad-overlay__countdown`},ei=[`aria-label`],ti=[`aria-label`];var ni=Z(A({__name:`AdOverlay`,setup(e){let t=X(Dt),n=w(()=>t.adRemainingTime>0?t.fmt(t.adRemainingTime):``);return(e,r)=>(L(),D(`div`,Xr,[O(`div`,Zr,[O(`div`,Qr,[r[2]||=O(`span`,null,`Ad`,-1),n.value?(L(),D(`span`,$r,H(n.value),1)):E(`v-if`,!0)]),O(`button`,{class:`ad-overlay__btn`,"aria-label":W(t).isAdPaused?`Resume ad`:`Pause ad`,onClick:r[0]||=e=>W(t).togglePlay()},[W(t).isAdPaused?(L(),T(W(kn),{key:0})):(L(),T(W(xn),{key:1}))],8,ei),O(`button`,{class:`ad-overlay__btn`,"aria-label":W(t).isAdMuted?`Unmute ad`:`Mute ad`,onClick:r[1]||=e=>W(t).toggleAdMute()},[W(t).isAdMuted?(L(),T(W(Gn),{key:0})):(L(),T(W(Yn),{key:1}))],8,ti)])]))}}),[[`__scopeId`,`data-v-23efcc8b`]]);const ri=z(0),ii=w(()=>ri.value>0),ai=z(!1);function oi(){ri.value++}function si(){ri.value--}function ci(e,t,n){let r=z(!1),i=w(()=>r.value&&ai.value),a=null;function o(){if(a?.(),a=null,!n.value||!e.value){r.value=!1;return}a=He(e.value,e=>{e.intersectionRatio<.1?t.value&&(r.value=!0):r.value=!1})}return I(o),G(n,o),G(e,o),F(()=>a?.()),{isPinned:r,isTucked:i,unpin:()=>r.value=!1}}function li(e,t,n){let r=z(null),i=z(null);G(n,n=>{let i=e.value?.offsetWidth??null;r.value=n&&t.value&&i?{height:t.value.offsetHeight,wrapperWidth:i}:null});let a=w(()=>{if(!r.value)return{};let{height:e,wrapperWidth:t}=r.value,n=i.value?i.value/t:1;return{height:`${Math.round(e*n)}px`}}),o=null;return G(e,e=>{o?.disconnect(),o=null,e&&(o=new ResizeObserver(([e])=>i.value=e.contentRect.width),o.observe(e))},{immediate:!0}),F(()=>o?.disconnect()),{wrapperStyle:a,clear:()=>r.value=null}}function ui(e){e?.scrollIntoView({behavior:`smooth`,block:`center`})}var di=Z(A({__name:`PinnablePlayerShell`,props:{isPlaying:{type:Boolean,required:!0}},setup(e){let t=e,n=z(null),r=z(null),{isPinned:i,unpin:a}=ci(n,U(t,`isPlaying`),z(!0)),o=z(i.value);G(i,e=>{lr(r.value,()=>{o.value=e})});let s=w(()=>o.value&&ai.value),{wrapperStyle:c}=li(n,r,o);function l(){ui(n.value)}function u(e){r.value=e}return(e,t)=>(L(),D(`div`,{ref_key:`wrapperEl`,ref:n,class:`player-wrapper`,style:P(W(c))},[V(e.$slots,`default`,{isPinned:o.value,isTucked:s.value,setBoxEl:u,unpin:W(a),scrollToPlayer:l},void 0,!0)],4))}}),[[`__scopeId`,`data-v-a2f8a547`]]);const fi={class:`player-wrapper`};var pi=Z(A({__name:`PlainPlayerShell`,props:{isPlaying:{type:Boolean,required:!0}},setup(e){function t(){}return(e,n)=>(L(),D(`div`,fi,[V(e.$slots,`default`,{isPinned:!1,isTucked:!1,setBoxEl:t,unpin:t,scrollToPlayer:t},void 0,!0)]))}}),[[`__scopeId`,`data-v-9188c23a`]]),mi=Z(A({__name:`PinnedControls`,emits:[`scroll-to`,`dismiss`],setup(e){return(e,t)=>(L(),D(S,null,[O(`button`,{class:`pinned-controls__scroll-to`,"aria-label":`Scroll to player`,onClick:t[0]||=q(t=>e.$emit(`scroll-to`),[`stop`])},[k(W(en))]),O(`button`,{class:`pinned-controls__dismiss`,"aria-label":`Close`,onClick:t[1]||=q(t=>e.$emit(`dismiss`),[`stop`])},[k(W(Kt))])],64))}}),[[`__scopeId`,`data-v-690b416a`]]);function hi(e){let[t,n]=e.split(`:`).map(Number);return{isPortrait:n>t,cssRatio:`${t}/${n}`}}const gi=[`aria-label`,`tabindex`],_i={"data-mlv-player":``},vi=[`poster`,`preload`],yi=[`src`,`kind`,`srclang`,`label`,`default`],bi={key:3,class:`player__native-play`};var xi=Z(A({__name:`VideoPlayer`,props:{src:{type:String,required:!0},title:{type:String,required:!1,default:``},poster:{type:String,required:!1,default:``},aspectRatio:{type:String,required:!1,default:u},adTagUrl:{type:String,required:!1,default:``},adMacroParams:{type:Object,required:!1},headerBidding:{type:Object,required:!1},tracks:{type:Array,required:!1,default:()=>[]},autoplay:{type:Boolean,required:!1,default:!1},muted:{type:Boolean,required:!1,default:void 0},volume:{type:Number,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,String],required:!1,default:()=>({})},action:{type:[String,Object,null],required:!1,default:null},disableTapCapture:{type:Boolean,required:!1,default:!1},disableKeyboardShortcuts:{type:Boolean,required:!1,default:!1},controls:{type:Boolean,required:!1,default:!0},playInView:{type:Boolean,required:!1,default:!1},pin:{type:String,required:!1},loop:{type:Boolean,required:!1,default:!1},preload:{type:String,required:!1,default:void 0},hasPlaylist:{type:Boolean,required:!1,default:!1},hasNext:{type:Boolean,required:!1,default:!1},hasPrevious:{type:Boolean,required:!1,default:!1},autoAdvance:{type:Boolean,required:!1,default:!1}},emits:[`state-change`,`play-next`,`play-previous`,`toggle-auto-advance`],setup(e,{expose:t,emit:n}){let r=e,i=n,a=z(null),o=R(bt(a,r,i)),s=R(Ct(U(o,`isPlaying`),U(o,`isFullscreen`))),{onKeydown:c}=St(o,s);function l(e){r.disableKeyboardShortcuts||c(e)}let u=z(null);G(()=>o.isFullscreen,e=>{e&&!r.disableKeyboardShortcuts&&ie(()=>u.value?.focus())});function d(e){if(r.disableKeyboardShortcuts)return;let t=e.relatedTarget;t&&u.value?.contains(t)||requestAnimationFrame(()=>{document.activeElement===document.body&&u.value?.focus()})}oe(Dt,o),oe(Ot,s),oe(kt,U(r,`action`)),oe(At,R({hasPlaylist:w(()=>r.hasPlaylist),hasNext:w(()=>r.hasNext),hasPrevious:w(()=>r.hasPrevious),autoAdvance:w(()=>r.autoAdvance),playNext:()=>i(`play-next`),playPrevious:()=>i(`play-previous`),toggleAutoAdvance:()=>i(`toggle-auto-advance`)}));let f=w(()=>hi(r.aspectRatio)),p=w(()=>f.value.isPortrait),m=w(()=>f.value.cssRatio),h=w(()=>!r.poster&&!o.isReady),g=w(()=>r.pin?di:pi);function _(e){o.isPlaying&&o.togglePlay(),e()}function v(){s.onVideoTap(),o.fire(`tap`)}let{playerRef:y,forwarded:b}=Et();return y.value=o,t(b),(t,n)=>(L(),T(se(g.value),{"is-playing":o.isPlaying},{default:K(({isPinned:t,isTucked:i,setBoxEl:c,unpin:f,scrollToPlayer:g})=>[O(`div`,{ref:c,class:N([`player`,{"player--pinned":t,"player--tucked":i,[`player--pin-${e.pin}`]:t}])},[t?(L(),T(mi,{key:0,onScrollTo:g,onDismiss:e=>_(f)},null,8,[`onScrollTo`,`onDismiss`])):E(`v-if`,!0),O(`div`,{ref_key:`shellEl`,ref:u,class:N([`player__shell`,{"player__shell--portrait":p.value}]),style:P({aspectRatio:m.value}),role:`group`,"aria-label":e.title||`Video player`,tabindex:e.disableKeyboardShortcuts?void 0:0,onMousemove:n[0]||=e=>s.onMouseMove(),onContextmenuCapture:n[1]||=q(()=>{},[`prevent`]),onMouseleave:n[2]||=e=>s.onMouseLeave(),onKeydown:l,onFocusout:d},[O(`div`,_i,[O(`video`,{ref_key:`videoEl`,ref:a,class:N([`mlv-video`,{"mlv-video--hidden":h.value}]),poster:r.poster,preload:r.preload,playsinline:``},[(L(!0),D(S,null,B(r.tracks,(e,t)=>(L(),D(`track`,{key:`${e.src}-${t}`,src:e.src,kind:e.kind??`captions`,srclang:e.srclang,label:e.label,default:e.default},null,8,yi))),128))],10,vi),!r.disableTapCapture&&!o.isNativeUi&&o.hasStarted&&!o.isAdPlaying?(L(),D(`div`,{key:0,class:`overlay__tap-capture`,onClick:v,onTouchend:q(v,[`prevent`,`stop`])},null,32)):E(`v-if`,!0),o.isAdPlaying&&!o.isNativeUi?(L(),T(ni,{key:1})):E(`v-if`,!0),r.controls&&!o.isNativeUi?(L(),T(Yr,{key:2})):E(`v-if`,!0),r.controls&&o.isNativeUi&&!o.hasStarted?(L(),D(`div`,bi,[k(Zn,{player:o,class:`ppbtn ppbtn--lg`},null,8,[`player`])])):E(`v-if`,!0)])],46,gi)],2)]),_:1},8,[`is-playing`]))}}),[[`__scopeId`,`data-v-4ab3cf75`]]);function Si(e,t){window.dispatchEvent(new CustomEvent(e,{detail:t}))}function Ci(e,t){let n=e=>t(e.detail);I(()=>window.addEventListener(e,n)),F(()=>window.removeEventListener(e,n))}function wi(e,t){let n=w(()=>!e.value||!t.value?-1:e.value.findIndex(e=>e.src===t.value?.src)),r=w(()=>n.value===-1||!e.value?null:e.value[n.value+1]??null),i=w(()=>n.value<=0||!e.value?null:e.value[n.value-1]??null);return{hasNext:w(()=>r.value!==null),hasPrevious:w(()=>i.value!==null),nextEntry:r,previousEntry:i}}function Ti(){return localStorage.getItem(r)===`true`}function Ei(e){localStorage.setItem(r,String(e))}const Di=[`src`],Oi={class:`stage__idle-body`},ki={class:`stage__idle-btn`},Ai={class:`stage__idle-title`},ji={key:1,class:`stage__idle-empty`};var Mi=Z(A({__name:`VideoStage`,props:{pin:{type:String,required:!1,default:`bottom-right`},playlist:{type:Array,required:!1}},emits:[`state-change`],setup(t,{expose:n,emit:r}){let i=t,a=r,o=z(Ti());G(o,Ei);let s=w(()=>!!i.playlist?.length),c=z(null),l=z(!1),u=z(!1);function p(e){a(`state-change`,{type:e,currentTime:0,duration:0,src:c.value?.src??``})}G(l,e=>p(e?`stageopen`:`stageclose`));let{playerRef:m,forwarded:h}=Et(()=>l.value),g=z(null),_=z(null),v=z(!1),{hasNext:y,hasPrevious:b,nextEntry:ee,previousEntry:te}=wi(U(i,`playlist`),c),x=w(()=>v.value&&!!c.value&&l.value),C=w(()=>x.value&&ai.value),ne=w(()=>hi(c.value?.aspectRatio||`16:9`).cssRatio),{wrapperStyle:re,clear:A}=li(g,_,x),j=null;function ie(){j?.disconnect(),g.value&&(j=new IntersectionObserver(([e])=>{let t=!e.isIntersecting;if(!c.value||!l.value){v.value=t;return}lr(_.value,()=>{v.value=t})},{threshold:.98}),j.observe(g.value))}G(g,ie);function ae(){c.value&&(c.value={...c.value,autoplay:!0,muted:lt(c.value.muted)},l.value=!0)}function oe(){ae()}function R(){ui(g.value)}function B(){c.value=null,l.value=!1,u.value=!1,A(),V()}function V(){Si(e,{currentSrc:c.value?.src??null,isPlaying:u.value})}function se(e){if(c.value?.src===e.src&&l.value){e.fromGesture&&m.value?.togglePlay();return}c.value=e,l.value=!1,u.value=!1,V(),l.value=!0}function ce(e){if(c.value&&e.src===c.value.src){if(!l.value){ae();return}m.value?.togglePlay()}}function K(e,t){e&&se({...e,fromGesture:t,autoplay:!0,muted:e.muted??m.value?.isMuted??lt(void 0,t),volume:e.volume??m.value?.vol})}function q(e=!0){K(ee.value,e)}function le(e=!0){K(te.value,e)}function ue(e){e.type===`play`&&(u.value=!0),(e.type===`pause`||e.type===`ended`)&&(u.value=!1),e.type===`ended`&&o.value&&q(!1),V(),a(`state-change`,e)}return Ci(f,se),Ci(d,ce),I(oi),F(()=>{si(),j?.disconnect()}),n({playNext:q,playPrevious:le,hasNext:y,hasPrevious:b,...h}),(e,n)=>(L(),D(`div`,{ref_key:`wrapperEl`,ref:g,class:`stage-wrapper`,style:P(W(re))},[O(`div`,{ref_key:`stageEl`,ref:_,class:N([`stage`,{"stage--minified":x.value,"stage--tucked":C.value,[`stage--pin-${t.pin}`]:x.value}])},[x.value?(L(),T(mi,{key:0,onScrollTo:R,onDismiss:B})):E(`v-if`,!0),c.value&&l.value?(L(),T(xi,M({ref_key:`playerRef`,ref:m,key:c.value.src},c.value,{"has-playlist":s.value,"has-next":W(y),"has-previous":W(b),"auto-advance":o.value,onStateChange:ue,onPlayNext:q,onPlayPrevious:le,onToggleAutoAdvance:n[0]||=e=>o.value=!o.value}),null,16,[`has-playlist`,`has-next`,`has-previous`,`auto-advance`])):(L(),D(`div`,{key:2,class:`stage__idle`,style:P({aspectRatio:ne.value}),onClick:oe},[c.value?.poster?(L(),D(`img`,{key:0,src:c.value.poster,class:`stage__idle-poster`},null,8,Di)):E(`v-if`,!0),n[1]||=O(`div`,{class:`stage__idle-scrim`},null,-1),O(`div`,Oi,[c.value?(L(),D(S,{key:0},[O(`div`,ki,[k(W(kn))]),O(`p`,Ai,H(c.value.title),1)],64)):(L(),D(`p`,ji,`Select a video to play`))])],4))],2)],4))}}),[[`__scopeId`,`data-v-fb8c86cf`]]),Ni=A({__name:`PlayPauseIcon`,props:{isPlaying:{type:Boolean,required:!0},hasEnded:{type:Boolean,required:!1,default:!1}},setup(e){return(t,n)=>e.isPlaying?(L(),T(W(xn),{key:0})):e.hasEnded?(L(),T(W(Ln),{key:1})):(L(),T(W(kn),{key:2}))}});const Pi={class:`placeholder`},Fi=[`src`,`alt`],Ii={class:`placeholder__btn-wrap`},Li=[`aria-label`],Ri={key:1,class:`placeholder__footer`},zi={class:`placeholder__title`};var Bi=Z(A({__name:`VideoPlaceholder`,props:{fromGesture:{type:Boolean,required:!1},src:{type:String,required:!0},title:{type:String,required:!1,default:``},poster:{type:String,required:!1,default:``},aspectRatio:{type:String,required:!1,default:u},adTagUrl:{type:String,required:!1,default:``},adMacroParams:{type:Object,required:!1},headerBidding:{type:Object,required:!1},tracks:{type:Array,required:!1},autoplay:{type:Boolean,required:!1,default:!1},muted:{type:Boolean,required:!1,default:void 0},volume:{type:Number,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,String],required:!1,default:()=>({})},action:{type:[String,Object,null],required:!1,default:null},disableTapCapture:{type:Boolean,required:!1},disableKeyboardShortcuts:{type:Boolean,required:!1},controls:{type:Boolean,required:!1},playInView:{type:Boolean,required:!1},pin:{type:String,required:!1},loop:{type:Boolean,required:!1},preload:{type:String,required:!1}},emits:[`enter-view`],setup(t,{emit:n}){let r=t,i=n,a=w(()=>hi(r.aspectRatio)),o=w(()=>a.value.isPortrait),s=w(()=>a.value.cssRatio),c=z(null),l=null,u=z(!1),d=z(!1),p=w(()=>u.value&&d.value?`Pause`:`Play`);Ci(e,e=>{u.value=e.currentSrc===r.src,d.value=u.value&&e.isPlaying});function m(e,t,n){Si(f,{...r,fromGesture:e,...t!==void 0&&{autoplay:t},...n!==void 0&&{muted:n}})}function h(){m(!0,!0,lt(r.muted))}return I(()=>{r.autoStage&&m(!1),r.playInView&&c.value&&(l=We(c.value,()=>i(`enter-view`)))}),F(()=>l?.()),(e,n)=>(L(),D(`div`,Pi,[O(`div`,{ref_key:`shellEl`,ref:c,class:N([`placeholder__shell`,{"placeholder__shell--portrait":o.value,"placeholder__shell--active":u.value}]),style:P({aspectRatio:s.value}),onClick:h},[t.poster?(L(),D(`img`,{key:0,class:`placeholder__poster`,src:t.poster,alt:t.title},null,8,Fi)):E(`v-if`,!0),n[0]||=O(`div`,{class:`placeholder__scrim`},null,-1),O(`div`,Ii,[O(`button`,{type:`button`,class:`ppbtn ppbtn--lg`,"aria-label":p.value,onClick:q(h,[`stop`])},[k(Ni,{"is-playing":u.value&&d.value},null,8,[`is-playing`])],8,Li)]),t.title?(L(),D(`div`,Ri,[O(`p`,zi,H(t.title),1)])):E(`v-if`,!0)],6)]))}}),[[`__scopeId`,`data-v-dbcb4f82`]]),Vi=A({__name:`VideoCard`,props:{fromGesture:{type:Boolean,required:!1},src:{type:String,required:!0},title:{type:String,required:!1},poster:{type:String,required:!1},aspectRatio:{type:String,required:!1},adTagUrl:{type:String,required:!1},adMacroParams:{type:Object,required:!1},headerBidding:{type:Object,required:!1},tracks:{type:Array,required:!1},autoplay:{type:Boolean,required:!1},muted:{type:Boolean,required:!1,default:void 0},volume:{type:Number,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,String],required:!1},action:{type:[String,Object,null],required:!1,default:null},disableTapCapture:{type:Boolean,required:!1},disableKeyboardShortcuts:{type:Boolean,required:!1},controls:{type:Boolean,required:!1,default:void 0},playInView:{type:Boolean,required:!1},pin:{type:String,required:!1},loop:{type:Boolean,required:!1},preload:{type:String,required:!1}},emits:[`state-change`],setup(e,{expose:t,emit:n}){let r=e,i=n,a=z(!1),o=z(!1);function s(){o.value=!0,a.value=!0}async function c(){a.value||(a.value=!0,await ie())}let{playerRef:l,forwarded:u}=Et(async e=>ii.value?(e===`togglePlay`&&Si(f,{...r,fromGesture:!0,autoplay:!0,muted:lt(r.muted)}),!1):(await c(),!0));return t(u),(e,t)=>W(ii)?(L(),T(Bi,ae(M({key:0},r)),null,16)):(L(),D(S,{key:1},[r.lazy&&!a.value&&!r.autoplay?(L(),T(Bi,M({key:0},r,{onClickCapture:s,onEnterView:t[0]||=e=>a.value=!0}),null,16)):(L(),T(xi,M({key:1,ref_key:`playerRef`,ref:l},r,{autoplay:a.value||r.autoplay,muted:W(lt)(r.muted,o.value),onStateChange:t[1]||=e=>i(`state-change`,e)}),null,16,[`autoplay`,`muted`]))],64))}}),Hi=Z(A({__name:`HideMarker`,setup(e){let t=z(null),n=null;return I(()=>{t.value&&(n=new IntersectionObserver(([e])=>{ai.value=e.isIntersecting}),n.observe(t.value))}),F(()=>{n?.disconnect(),ai.value=!1}),(e,n)=>(L(),D(`div`,{ref_key:`el`,ref:t,class:`mlv-hide-marker`},null,512))}}),[[`__scopeId`,`data-v-bacb702a`]]);const Ui=[`aria-label`];var Wi=Z(A({__name:`MuteButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Q(U(t,`player`),U(t,`for`));return(e,t)=>(L(),D(`button`,{type:`button`,class:`mlv-mute-button`,"aria-label":W(n)?.isMuted?`Unmute`:`Mute`,onClick:t[0]||=e=>W(n)?.toggleMute()},[V(e.$slots,`default`,{isMuted:W(n)?.isMuted??!1},()=>[k(tr,{"is-audible":W(n)?.isAudible??!1},null,8,[`is-audible`])],!0)],8,Ui))}}),[[`__scopeId`,`data-v-1940b598`]]);const Gi=[`aria-pressed`];var Ki=Z(A({__name:`LoopButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Q(U(t,`player`),U(t,`for`));return(e,t)=>(L(),D(`button`,{type:`button`,class:N([`mlv-loop-button`,{"mlv-loop-button--active":W(n)?.isLooping}]),"aria-pressed":W(n)?.isLooping??!1,"aria-label":`Toggle loop`,onClick:t[0]||=e=>W(n)?.toggleLoop()},[V(e.$slots,`default`,{isLooping:W(n)?.isLooping??!1},()=>[k(W(pn))],!0)],10,Gi))}}),[[`__scopeId`,`data-v-e32eda25`]]);const qi=[`aria-label`];var Ji=Z(A({__name:`CaptionsButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Q(U(t,`player`),U(t,`for`)),r=w(()=>n.value?jr(n.value):null),i=w(()=>r.value?.currentCaptionLabel()??`Off`);function a(){r.value?.cycleCaptionTrack()}return(e,t)=>W(n)?.supportsCaptions?(L(),D(`button`,{key:0,type:`button`,class:N([`mlv-captions-button`,{"mlv-captions-button--active":W(n)?.activeCaptionIndex!==null}]),"aria-label":`Captions: ${i.value}`,onClick:a},[V(e.$slots,`default`,{currentLabel:i.value,tracks:W(n)?.captionTracks??[],activeIndex:W(n)?.activeCaptionIndex??null},()=>[k(W(Ht))],!0)],10,qi)):E(`v-if`,!0)}}),[[`__scopeId`,`data-v-2572c4f2`]]);const Yi=[`aria-label`];var Xi=Z(A({__name:`QualityButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Q(U(t,`player`),U(t,`for`)),r=w(()=>n.value?Mr(n.value):null),i=w(()=>r.value?.currentQualityLabel()??`Auto`);function a(){r.value?.cycleQuality()}return(e,t)=>W(n)?.supportsQuality?(L(),D(`button`,{key:0,type:`button`,class:N([`mlv-quality-button`,{"mlv-quality-button--active":!W(n)?.isAutoQuality}]),"aria-label":`Quality: ${i.value}`,onClick:a},[V(e.$slots,`default`,{currentLabel:i.value,levels:W(n)?.qualityLevels??[],currentIndex:W(n)?.currentQualityIndex??null,isAuto:W(n)?.isAutoQuality??!0},()=>[k(W(Nn))],!0)],10,Yi)):E(`v-if`,!0)}}),[[`__scopeId`,`data-v-d1352878`]]);const Zi=[`aria-label`];var Qi=Z(A({__name:`PlaybackRateButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Q(U(t,`player`),U(t,`for`)),r=w(()=>n.value?Ar(n.value):null),i=w(()=>r.value?r.value.fmtRate(n.value.currentPlaybackRate):`1×`);function a(){r.value?.cycleRate()}return(e,t)=>W(n)?.supportsPlaybackRate?(L(),D(`button`,{key:0,type:`button`,class:N([`mlv-playback-rate-button`,{"mlv-playback-rate-button--active":W(n)?.currentPlaybackRate!==1}]),"aria-label":`Playback speed: ${i.value}`,onClick:a},[V(e.$slots,`default`,{currentLabel:i.value,rate:W(n)?.currentPlaybackRate??1,rates:[...W(_)]},()=>[re(H(i.value),1)],!0)],10,Zi)):E(`v-if`,!0)}}),[[`__scopeId`,`data-v-646c9bc1`]]);const $i=[`aria-label`,`aria-pressed`],ea=[`aria-current`,`onClick`],ta={class:`mlv-transcript__time`},na={class:`mlv-transcript__text`};var ra=Z(A({__name:`Transcript`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1},cues:{type:[Array,String],required:!1}},setup(e){let t=e,n=Q(U(t,`player`),U(t,`for`)),r=w(()=>{if(typeof t.cues!=`string`)return t.cues??[];try{return JSON.parse(t.cues)}catch{return[]}}),i=w(()=>{let e=n.value?.current??0,t=r.value;for(let n=t.length-1;n>=0;n--){let r=t[n];if(!(r.time>e))return r.end!==void 0&&e>=r.end?null:n}return null}),a=z(null),o=z(!1);function s(e){let t=n.value;t&&(t.total>0&&t.seek(e.time/t.total*100),t.isPlaying||t.togglePlay())}G(i,async e=>{e===null||o.value||(await ie(),a.value?.querySelector(`.mlv-transcript__cue--active`)?.scrollIntoView?.({block:`nearest`,behavior:`smooth`}))});let c=typeof window<`u`&&`speechSynthesis`in window,l=z(!1),u=z(!1);function d(){if(c){if(l.value=!l.value,l.value){n.value&&!n.value.isMuted&&(n.value.toggleMute(),u.value=!0);return}window.speechSynthesis.cancel(),u.value&&n.value?.isMuted&&n.value.toggleMute(),u.value=!1}}return G(i,e=>{if(!c||!l.value||e===null)return;let t=r.value[e];if(!t)return;window.speechSynthesis.cancel();let n=new SpeechSynthesisUtterance(t.text);n.pitch=2,n.rate=1.5,window.speechSynthesis.speak(n)}),G(()=>n.value?.isMuted,e=>{c&&l.value&&e===!1&&(window.speechSynthesis.cancel(),l.value=!1,u.value=!1)}),F(()=>{c&&window.speechSynthesis.cancel(),u.value&&n.value?.isMuted&&n.value.toggleMute()}),(e,t)=>(L(),D(S,null,[W(c)?(L(),D(`button`,{key:0,type:`button`,class:`mlv-transcript__speech-toggle`,"aria-label":l.value?`Mute transcript readout`:`Unmute transcript readout`,"aria-pressed":l.value,onClick:d},[l.value?(L(),T(Yn,{key:0})):(L(),T(Gn,{key:1}))],8,$i)):E(`v-if`,!0),O(`ol`,{ref_key:`listEl`,ref:a,class:`mlv-transcript`,onPointerenter:t[0]||=e=>o.value=!0,onPointerleave:t[1]||=e=>o.value=!1},[(L(!0),D(S,null,B(r.value,(t,n)=>(L(),D(`li`,{key:`${t.time}-${n}`,class:`mlv-transcript__item`},[O(`button`,{type:`button`,class:N([`mlv-transcript__cue`,{"mlv-transcript__cue--active":n===i.value}]),"aria-current":n===i.value?`true`:void 0,onClick:e=>s(t)},[V(e.$slots,`default`,{cue:t,index:n,isActive:n===i.value,formatTime:W(J)},()=>[O(`span`,ta,H(W(J)(t.time)),1),O(`span`,na,H(t.text),1)],!0)],10,ea)]))),128))],544)],64))}}),[[`__scopeId`,`data-v-c166a2c5`]]);function ia(e,t){if(t)for(let n of Object.keys(t)){let r=t[n];typeof r==`function`?e[n]=r:Object.defineProperty(e,n,{get:()=>t[n],enumerable:!0,configurable:!0})}}const aa={install(e){e.component(`VideoPlayer`,xi),e.component(`VideoStage`,Mi),e.component(`VideoPlaceholder`,Bi),e.component(`VideoCard`,Vi),e.component(`HideMarker`,Hi),e.component(`Scrubber`,_r),e.component(`PlayButton`,Zn),e.component(`MuteButton`,Wi),e.component(`FullscreenButton`,dr),e.component(`Buffering`,er),e.component(`LoopButton`,Ki),e.component(`PipButton`,pr),e.component(`CaptionsButton`,Ji),e.component(`QualityButton`,Xi),e.component(`PlaybackRateButton`,Qi),e.component(`VolumeSlider`,wr),e.component(`TimeDisplay`,br),e.component(`Transcript`,ra)}};export{er as Buffering,Ji as CaptionsButton,dr as FullscreenButton,Hi as HideMarker,Ki as LoopButton,Wi as MuteButton,pr as PipButton,Zn as PlayButton,Qi as PlaybackRateButton,Xi as QualityButton,_r as Scrubber,br as TimeDisplay,ra as Transcript,Vi as VideoCard,Bi as VideoPlaceholder,xi as VideoPlayer,aa as VideoPlayerPlugin,aa as default,Mi as VideoStage,wr as VolumeSlider,ia as exposePlayerOnElement,de as getPlatform,he as registerEmbedAdapter,ue as registerMatcher,Se as registerPlatform,ye as registerSourceResolver,jr as useCaptions,Et as useForwardedPlayer,Ar as usePlaybackRate,Mr as useQuality,mr as useScrubber};
|
|
1
|
+
import{A as e,C as t,D as n,E as r,S as i,T as a,a as o,d as s,g as c,h as l,i as u,k as d,o as f,r as p,s as m,u as h,x as g}from"./chunks/constants-35ZnLsDv.mjs";import{n as _,r as v,t as y}from"./chunks/platform-Dg9JBh8M.mjs";import{o as b,s as ee,u as x}from"./chunks/embedShared-CbArTtuR.mjs";import{Fragment as S,Transition as C,computed as w,createBlock as T,createCommentVNode as E,createElementBlock as D,createElementVNode as O,createStaticVNode as k,createTextVNode as A,createVNode as j,defineComponent as M,inject as N,mergeProps as P,nextTick as te,normalizeClass as F,normalizeProps as ne,normalizeStyle as I,onBeforeUnmount as L,onMounted as R,openBlock as z,provide as re,reactive as ie,ref as B,renderList as ae,renderSlot as V,resolveDynamicComponent as oe,shallowRef as se,toDisplayString as H,toRef as U,unref as W,watch as G,withCtx as ce,withModifiers as K}from"vue";const le=[];function ue(e){le.push(e)}function de(e){if(!e)return{key:`html5`,embed:!1};let t=le.find(t=>t.test(e));return{key:t?.key??`html5`,embed:t?.embed??!1}}const fe={},pe={};function me(e,t){fe[e]=t}async function he(e,t,n){let r=fe[e];if(!r){let t=pe[e];if(!t)return null;r=await t(),fe[e]=r}return r(t,n)}const ge={},_e={};function ve(e,t){ge[e]=t}function ye(e){if(/\.m3u8(\?|#|$)/.test(e))return f;if(/\.mpd(\?|#|$)/.test(e))return p;if(/\.mp4(\?|#|$)/.test(e))return s}async function be(e,t){let n=ge[e];if(!n){let t=_e[e];t&&(n=await t(),ge[e]=n)}return n?n(t):{src:t,type:ye(t)}}function xe(e){ue({test:e.test,key:e.key,embed:e.embed}),e.embed?me(e.key,e.createAdapter):e.resolveSource&&ve(e.key,e.resolveSource)}function Se(e){ue({key:e.key,test:e.test,embed:e.embed}),e.embed?pe[e.key]=e.loadAdapter:_e[e.key]=e.loadResolver}Se({key:`youtube`,test:e=>/youtu\.be|youtube\.com/.test(e),embed:!0,loadAdapter:()=>import(`./chunks/youtube-B8AT2F-4.mjs`).then(e=>e.createYoutubeAdapter)}),Se({key:`vimeo`,test:e=>/vimeo\.com|player\.vimeo\.com/.test(e),embed:!0,loadAdapter:()=>import(`./chunks/vimeo-D0GAjId0.mjs`).then(e=>e.createVimeoAdapter)}),Se({key:`dailymotion`,test:e=>/dailymotion\.com|dai\.ly/.test(e),embed:!0,loadAdapter:()=>import(`./chunks/dailymotion-DTooszoV.mjs`).then(e=>e.createDailymotionAdapter)}),Se({key:`jwplayer`,test:e=>/cdn\.jwplayer\.com/.test(e)||e.startsWith(`jwplayer://`),embed:!1,loadResolver:()=>import(`./chunks/jwplayer-Dhq65VxK.mjs`).then(e=>e.resolveSource)}),Se({key:`brightcove`,test:e=>/players\.brightcove\.net/.test(e),embed:!1,loadResolver:()=>import(`./chunks/brightcove-DiJF_74z.mjs`).then(e=>e.resolveSource)});const Ce=new Set;function we(e){return Ce.add(e),()=>Ce.delete(e)}function Te(e){Ce.forEach(t=>{if(t!==e)try{t()}catch{}})}function Ee(e){return e.kind===`captions`||e.kind===`subtitles`}function De(e,t){e.textTracks.addEventListener(`addtrack`,t),e.textTracks.addEventListener(`removetrack`,t);function n(){let t=[];for(let n=0;n<e.textTracks.length;n++){let r=e.textTracks[n];Ee(r)&&t.push({index:n,label:r.label||r.language||`Track ${n+1}`,language:r.language})}return t}function r(t){for(let n=0;n<e.textTracks.length;n++){let r=e.textTracks[n];Ee(r)&&(r.mode=n===t?`showing`:`hidden`)}}function i(){for(let t=0;t<e.textTracks.length;t++){let n=e.textTracks[t];if(Ee(n)&&n.mode===`showing`)return t}return null}return{supportsCaptions:()=>n().length>0,getCaptionTracks:n,setCaptionTrack:r,getActiveCaptionTrack:i,dispose:()=>{e.textTracks.removeEventListener(`addtrack`,t),e.textTracks.removeEventListener(`removetrack`,t)}}}function Oe(e){let t=new Map;for(let n of e){if(!n.height)continue;let e=t.get(n.height);(!e||n.bitrate>e.bitrate)&&t.set(n.height,n)}return[...t.values()].sort((e,t)=>e.height-t.height)}function ke(e){function t(){return Oe(e()?.levels()??[])}function n(){return e()?.isAuto()??!0}function r(){let t=e();return t?n()?null:t.currentIndex():null}function i(t){e()?.setIndex(t)}return{supportsQuality:()=>t().length>0,getQualityLevels:t,getCurrentQuality:r,isAutoQuality:n,setQuality:i}}function Ae(e,t,n){let r=[[`webkitbeginfullscreen`,t],[`webkitendfullscreen`,n]];for(let[t,n]of r)e.addEventListener(t,n);function i(){let t=e;if(typeof t.webkitEnterFullscreen==`function`){t.webkitEnterFullscreen();return}let n=b(e);n&&v(n)}function a(){let t=e;if(typeof t.webkitExitFullscreen==`function`){t.webkitExitFullscreen();return}y()}return{enterFullscreen:i,exitFullscreen:a,dispose:()=>{for(let[t,n]of r)e.removeEventListener(t,n)}}}function je(e,t){let n=[[`enterpictureinpicture`,t],[`leavepictureinpicture`,t]];for(let[t,r]of n)e.addEventListener(t,r);function r(){return typeof document<`u`&&!!document.pictureInPictureEnabled&&!e.disablePictureInPicture}function i(){return document.pictureInPictureElement===e}function a(){i()?document.exitPictureInPicture():r()&&e.requestPictureInPicture()}return{supportsPip:r,isPipActive:i,togglePip:a,dispose:()=>{for(let[t,r]of n)e.removeEventListener(t,r)}}}const Me=[`play`,`pause`,`ended`,`error`,`timeupdate`,`durationchange`,`progress`,`volumechange`,`ratechange`,`seeked`,`waiting`,`playing`,`canplay`];function Ne(e){return{levels:()=>e.levels.map((e,t)=>({index:t,height:e.height,bitrate:e.bitrate,label:`${e.height}p`})),isAuto:()=>e.autoLevelEnabled,currentIndex:()=>e.manualLevel,setIndex:t=>{e.currentLevel=t??-1}}}function Pe(e){return{levels:()=>e.getBitrateInfoListFor(`video`).map(e=>({index:e.qualityIndex,height:e.height,bitrate:e.bitrate,label:`${e.height}p`})),isAuto:()=>e.getSettings().streaming?.abr?.autoSwitchBitrate?.video??!0,currentIndex:()=>e.getQualityFor(`video`),setIndex:t=>{if(t===null){e.updateSettings({streaming:{abr:{autoSwitchBitrate:{video:!0}}}});return}e.updateSettings({streaming:{abr:{autoSwitchBitrate:{video:!1}}}}),e.setQualityFor(`video`,t,!0)}}}function Fe(e,t){let n=x(),r=null,i=null,a=!1,o=null,s=null,c=t.preload===`none`&&!t.autoplay,l=!1;async function u(i){let{default:s}=await import(`hls.js`);if(a||o!==i)return;if(typeof s?.isSupported!=`function`||!s.isSupported()){e.src=i,t.autoplay&&e.play().catch(()=>{});return}r=new s({liveDurationInfinity:!0,autoStartLoad:!c}),l=!c,r.loadSource(i),r.attachMedia(e),t.autoplay&&e.play().catch(()=>{});let u=s.Events,d=s.ErrorTypes;r.on(u.MANIFEST_PARSED,m(`qualitychange`)),r.on(u.LEVEL_SWITCHED,m(`qualitychange`)),r.on(u.ERROR,(e,t)=>{if(t.fatal&&!a&&o===i)switch(t.type){case d.NETWORK_ERROR:r?.startLoad();break;case d.MEDIA_ERROR:r?.recoverMediaError();break;default:r?.destroy(),r=null,n.trigger(`error`)}})}async function d(r){let o=await import(`dashjs`);if(a||s!==r)return;let c=o.MediaPlayer().create();i=c,c.initialize(e,r,t.autoplay??!1);let l=o.MediaPlayer.events;c.on(l.QUALITY_CHANGE_RENDERED,m(`qualitychange`)),c.on(l.STREAM_INITIALIZED,m(`qualitychange`)),c.on(l.ERROR,()=>{a||s!==r||(c.destroy(),i=null,n.trigger(`error`))})}function f(){return/Apple/.test(navigator.vendor)&&!/CriOS|FxiOS|OPiOS|EdgiOS|Chrome|Chromium|Android/.test(navigator.userAgent)&&(e.canPlayType(`application/vnd.apple.mpegurl`)!==``||e.canPlayType(`application/x-mpegURL`)!==``)}function p(n,a){if(r?.destroy(),r=null,o=null,i?.destroy(),i=null,s=null,a===`application/dash+xml`){s=n,d(n);return}if(a===`application/x-mpegURL`&&!f()){o=n,u(n);return}e.src=n,t.autoplay&&e.play().catch(()=>{})}let m=e=>()=>n.trigger(e),h=Me.map(e=>[e,m(e)]);for(let[t,n]of h)e.addEventListener(t,n);let g=De(e,m(`captionschange`)),_=ke(()=>r?Ne(r):i?Pe(i):null),v=Ae(e,m(`nativefullscreenenter`),m(`nativefullscreenexit`)),y=je(e,m(`pipchange`)),{poster:b,muted:ee,autoplay:S,volume:C,playbackRate:w,preload:T,src:E,type:D}=t;return e.poster=b??``,T&&(e.preload=T),e.muted=ee??S??!1,e.volume=C??1,e.playbackRate=w??1,e.playsInline=!0,p(E,D),{el:e,play:()=>(r&&!l&&(l=!0,r.startLoad()),e.play()),pause:()=>e.pause(),paused:()=>e.paused,currentTime:()=>e.currentTime,setCurrentTime:t=>{e.currentTime=t},duration:()=>e.duration,volume:()=>e.volume,setVolume:t=>{e.volume=t},muted:()=>e.muted,setMuted:t=>{e.muted=t},playbackRate:()=>e.playbackRate,setPlaybackRate:t=>{e.playbackRate=t},bufferedEnd:()=>{let{buffered:t,duration:n}=e;if(!t.length)return 0;let r=t.end(t.length-1);return n&&r>n?n:r},error:()=>{let t=e.error;return t?{code:t.code,message:t.message||`This video could not be played.`}:null},setSrc:p,supportsPlaybackRate:()=>!0,supportsCaptions:g.supportsCaptions,getCaptionTracks:g.getCaptionTracks,setCaptionTrack:g.setCaptionTrack,getActiveCaptionTrack:g.getActiveCaptionTrack,supportsQuality:_.supportsQuality,getQualityLevels:_.getQualityLevels,getCurrentQuality:_.getCurrentQuality,isAutoQuality:_.isAutoQuality,setQuality:_.setQuality,supportsPip:y.supportsPip,isPipActive:y.isPipActive,togglePip:y.togglePip,enterFullscreen:v.enterFullscreen,exitFullscreen:v.exitFullscreen,on:n.on,off:n.off,dispose:()=>{a=!0,r?.destroy(),i?.destroy();for(let[t,n]of h)e.removeEventListener(t,n);g.dispose(),v.dispose(),y.dispose(),n.dispose()}}}function Ie(e,t){if(!t||!Object.keys(t).length)return e;let n=e;for(let[e,r]of Object.entries(t))r!=null&&r!==``&&(n=n.split(`{${e}}`).join(encodeURIComponent(r)));return n}function Le(){try{let e=localStorage.getItem(a);if(!e)return o;let t=JSON.parse(e);return{muted:typeof t.muted==`boolean`?t.muted:o.muted,volume:typeof t.volume==`number`?t.volume:o.volume}}catch{return o}}function Re(e){localStorage.setItem(a,JSON.stringify(e))}let ze=!1;function Be(){ze=!0}function Ve(){return ze}function He(e){Re(e),e.muted||Be()}function Ue(e,t=!0){if(e!==void 0)return e;if(!t)return;let n=Le().muted;return n||Be(),n}function We(e,t){return e===void 0?t&&!Ve()?!0:Le().muted:e}function Ge(e){return e.volume??Le().volume}async function Ke(e,t,n,r){if(!t.value)return{status:`aborted`};let i=await he(e,t.value,{src:n.src,poster:n.poster,autoplay:n.autoplay,muted:r.muted,volume:r.volume,nativeUi:n.nativeUi});return t.value?i?{status:`mounted`,mounted:{adapter:i,currentSrc:{src:n.src},nativeUi:!!n.nativeUi,needsReveal:!0}}:{status:`unsupported`}:{status:`aborted`}}async function qe(e,t,n,r,i){let a=await be(e,n.src).catch(()=>({src:n.src}));if(!t.value)return{status:`aborted`};let o=Fe(t.value,{src:a.src,type:a.type,poster:a.poster||n.poster||``,autoplay:n.autoplay,...r,preload:n.preload}),s=Ie(n.adTagUrl||a.adTagUrl||``,n.adMacroParams);return i.attach(t.value,o,s,n.headerBidding),{status:`mounted`,mounted:{adapter:o,currentSrc:{src:a.src,type:a.type},needsReveal:!1}}}function Je(e,t,n,r,i){return e.embed?Ke(e.key,t,n,r):qe(e.key,t,n,r,i)}function Ye(e){let t=B(0),n=B(0),r=B(0),i=B(Ge(e)),a=B(We(e.muted,!!(e.autoplay||e.playInView))),o=w(()=>n.value?t.value/n.value*100:0);return{isPlaying:B(!1),hasEnded:B(!1),isReady:B(!1),isLoaded:B(!1),isLive:B(!1),hasStarted:B(!1),isError:B(!1),errorMessage:B(``),current:t,total:n,buffered:r,progress:o,bufferedDisplay:w(()=>Math.max(r.value,o.value)),vol:i,isMuted:a,isAudible:w(()=>!a.value&&i.value>0),isLooping:B(!!e.loop),currentPlaybackRate:B(e.playbackRate??1),supportsPlaybackRate:B(!1),isAdPlaying:B(!1),isAdPaused:B(!1),isAdMuted:B(!1),adRemainingTime:B(0),supportsCaptions:B(!1),captionTracks:B([]),activeCaptionIndex:B(null),supportsQuality:B(!1),qualityLevels:B([]),currentQualityIndex:B(null),isAutoQuality:B(!0),supportsPip:B(!1),isPipActive:B(!1),isNativeUi:B(!1)}}function Xe(e){let t=new Set,n=null;function r(){t.forEach(e=>e())}return i=>(n||=e(r),t.add(i),()=>{t.delete(i),t.size===0&&(n?.(),n=null)})}const Ze=Xe(e=>(document.addEventListener(`fullscreenchange`,e),document.addEventListener(`webkitfullscreenchange`,e),()=>{document.removeEventListener(`fullscreenchange`,e),document.removeEventListener(`webkitfullscreenchange`,e)})),Qe=Xe(e=>(document.addEventListener(`visibilitychange`,e),window.addEventListener(`blur`,e),()=>{document.removeEventListener(`visibilitychange`,e),window.removeEventListener(`blur`,e)}));function $e(e){let t=B(!1),n=B(!1),r=null;function i(){let e=document;t.value=!!(document.fullscreenElement||e.webkitFullscreenElement),n.value=!1}function a(){let r=e();if(r){if(t.value){r.exitFullscreen();return}n.value=!0,r.enterFullscreen()}}function o(e){e.on(l,()=>{n.value=!0}),e.on(c,()=>{n.value=!1}),e.on(`nativefullscreenenter`,()=>{t.value=!0,n.value=!1}),e.on(`nativefullscreenexit`,()=>{t.value=!1,n.value=!1})}return R(()=>{r=Ze(i)}),L(()=>{r?.()}),{isFullscreen:t,isFullscreenPending:n,toggleFullscreen:a,attachPlayerEvents:o}}function et(e){let t=B(!1),n=null;function r(){clearTimeout(n??void 0),t.value&&e(`bufferend`),t.value=!1}function i(i){i.on(`waiting`,()=>{clearTimeout(n??void 0),n=setTimeout(()=>{t.value=!0,e(`bufferstart`)},500)}),i.on(`playing`,r),i.on(`canplay`,r)}return L(()=>clearTimeout(n??void 0)),{isBuffering:t,attachPlayerEvents:i,reset:r}}function tt(e,t,n){let r=new Set;function a(){if(!t.value)return;let a=e.value/t.value;for(let[e,t]of i)!r.has(e)&&a>=e&&(r.add(e),n(t))}function o(){r.clear()}return{checkQuartiles:a,reset:o}}function nt(){try{return JSON.parse(localStorage.getItem(`player:positions`)??`[]`)}catch{return[]}}function rt(e){localStorage.setItem(n,JSON.stringify(e))}function it(e,t){if(t<5)return;let n=nt().filter(t=>t.url!==e);n.unshift({url:e,time:t}),rt(n.slice(0,5))}function at(e){return nt().find(t=>t.url===e)?.time??null}function ot(e){rt(nt().filter(t=>t.url!==e))}function st(e,t,n){let r=!1;function i(t){if(r)return;let n=at(e);n&&t.setCurrentTime(n),r=!0}function a(t){t&&!n.value&&it(e,t.currentTime()??0)}function o(){ot(e)}let s=Qe(()=>{document.visibilityState===`hidden`&&a(t())});return L(()=>{a(t()),s()}),{restoreOnce:i,save:a,clear:o}}const ct=new WeakMap,lt=[.1,.5];function ut(e){let t=ct.get(e);if(t)return t;let n=new Set,r=new IntersectionObserver(([e])=>n.forEach(t=>t(e)),{threshold:lt});r.observe(e);let i={observer:r,callbacks:n};return ct.set(e,i),i}function dt(e,t){let n=ut(e);return n.callbacks.add(t),()=>{n.callbacks.delete(t),n.callbacks.size===0&&(n.observer.disconnect(),ct.delete(e))}}let ft=null,q=null;function pt(e,t){let n=dt(e,n=>{n.intersectionRatio<.5||(q&&clearTimeout(q),ft=e,q=setTimeout(()=>{ft=null,q=null,t()},150))});return()=>{ft===e&&q&&(clearTimeout(q),ft=null,q=null),n()}}function mt(e,t,n,r,i){let a=null;R(()=>{let o=e.value&&b(e.value);o&&(a=dt(o,e=>{let a=t();e.intersectionRatio<.1&&a&&!a.paused()&&!n.value&&!r.value&&!i.value&&a.pause()}))}),L(()=>a?.())}function ht(e,t,n,r,i){let a=null;R(()=>{let o=e.value&&b(e.value);o&&(a=pt(o,()=>{let e=t();e&&e.paused()&&!n.value&&!r.value&&(e.setMuted(We(i,!0)),e.play().catch(()=>{}))}))}),L(()=>a?.())}function gt(e,t,n,r){let{isPlaying:i,isReady:a,hasEnded:o,hasStarted:s,total:c,isLooping:l,currentPlaybackRate:u,activeCaptionIndex:d,currentQualityIndex:f,isAutoQuality:p,errorMessage:m}=e;function h(){if(n.isAdPlaying())return n.resumeAd(),Promise.resolve();let e=t();return e?i.value?Promise.resolve():new Promise((t,n)=>{let r=()=>{e.off(`playing`,i),e.off(`error`,a)},i=()=>{r(),t()},a=()=>{r(),n(Error(m.value||`Playback failed`))};e.on(`playing`,i),e.on(`error`,a),e.play().catch(e=>{r(),n(e)})}):Promise.reject(Error(`Player is not mounted`))}function g(){if(n.isAdPlaying()){n.pauseAd();return}t()?.pause()}function _(){return t()?.setCurrentTime(0),o.value=!1,h()}function v(){if(n.isAdPlaying()){n.isAdPaused()?n.resumeAd():n.pauseAd();return}let e=t();e&&a.value&&(i.value?e.pause():e.play().catch(()=>{}))}function y(e){t()?.setCurrentTime(c.value*(e/100))}function b(e){let n=c.value||1/0;t()?.setCurrentTime(Math.min(Math.max(e,0),n))}function ee(){let e=t();if(!e)return;let n=!e.muted();e.setMuted(n),He({muted:n,volume:e.volume()})}function x(e){let n=t();if(!n)return;let r=e===0;n.setVolume(e),n.setMuted(r),He({muted:r,volume:e})}function S(){l.value=!l.value,s.value&&r(`loopchange`,{isLooping:l.value})}function C(e){let n=t();n&&(n.setPlaybackRate(e),u.value=e)}function w(e){t()?.setCaptionTrack(e),d.value=e,s.value&&r(`captionchange`,{captionIndex:e})}function T(e){t()?.setQuality(e),f.value=e,p.value=e===null,s.value&&r(`qualitychange`,{qualityIndex:e})}function E(){t()?.togglePip()}return{play:h,pause:g,replay:_,togglePlay:v,seek:y,seekTo:b,toggleMute:ee,setVolume:x,toggleLoop:S,setPlaybackRate:C,setCaptionTrack:w,setQuality:T,togglePip:E}}function _t(e,t){let{isPlaying:n,hasEnded:r,isReady:i,isAdPlaying:a,isLive:o,current:s,total:c,buffered:l,vol:u,isMuted:d,isLooping:f,currentPlaybackRate:p,supportsPlaybackRate:m,supportsCaptions:h,captionTracks:g,activeCaptionIndex:_,supportsQuality:v,qualityLevels:y,currentQualityIndex:b,isAutoQuality:ee,supportsPip:x,isPipActive:S,hasStarted:C,isError:w,errorMessage:T}=e,{fire:E,pauseThisPlayer:D,positionMemory:O,quartiles:k,buffering:A,fullscreen:j}=t;function M(e){i.value=!0,m.value=e.supportsPlaybackRate();function t(){g.value=e.getCaptionTracks(),h.value=g.value.length>0;let t=e.getActiveCaptionTrack();t!==_.value&&(_.value=t,C.value&&E(`captionchange`,{captionIndex:t}))}t(),e.on(`captionschange`,t);function M(){y.value=e.getQualityLevels(),v.value=y.value.length>0;let t=e.getCurrentQuality(),n=e.isAutoQuality(),r=t!==b.value||n!==ee.value;b.value=t,ee.value=n,r&&C.value&&E(`qualitychange`,{qualityIndex:n?null:t})}M(),e.on(`qualitychange`,M);function N(){x.value=e.supportsPip();let t=e.isPipActive();t!==S.value&&(S.value=t,C.value&&E(`pipchange`,{isPipActive:t}))}N(),e.on(`pipchange`,N);let P=()=>{if(a.value)return;let t=e.duration();if(t===1/0){o.value=!0;return}o.value=!1,t&&t>0&&isFinite(t)&&(c.value=t)};e.on(`adstart`,()=>{Te(D),a.value=!0,E(`adstart`)}),e.on(`adend`,()=>{a.value=!1,E(`adend`)}),e.on(`play`,()=>{Te(D),C.value=!0,n.value=!0,r.value=!1,o.value||O.restoreOnce(e),E(`play`)}),e.on(`pause`,()=>{n.value=!1,o.value||O.save(e),E(`pause`)}),e.on(`ended`,()=>{if(n.value=!1,k.reset(),A.reset(),f.value){e.setCurrentTime(0),e.play().catch(()=>{});return}c.value&&(s.value=c.value),r.value=!0,O.clear(),E(`ended`)}),e.on(`seeked`,()=>{E(`seeked`)}),e.on(`error`,()=>{let t=e.error();T.value=t?.message||`This video could not be played.`,w.value=!0,i.value=!0,console.error(`Video playback error:`,T.value),E(`error`,{error:t})});let te=0;e.on(`timeupdate`,()=>{if(r.value||a.value)return;s.value=e.currentTime()??0,c.value||P(),m.value||=e.supportsPlaybackRate();let t=e.getActiveCaptionTrack();_.value!==t&&(_.value=t,C.value&&E(`captionchange`,{captionIndex:t})),o.value||k.checkQuartiles();let n=Date.now();C.value&&n-te>=250&&(te=n,E(`timeupdate`))}),e.on(`durationchange`,P),e.on(`progress`,()=>{if(a.value)return;let t=e.duration();l.value=t?e.bufferedEnd()/t*100:0}),e.on(`volumechange`,()=>{let t=e.muted();u.value=e.volume()??1,d.value=t??!1,C.value&&E(`volumechange`,{isMuted:t})}),e.on(`ratechange`,()=>{let t=e.playbackRate()??1;p.value=t,C.value&&E(`ratechange`,{playbackRate:t})}),A.attachPlayerEvents(e),j.attachPlayerEvents(e)}return{attachPlayerEvents:M}}function vt(e,t){let{isAdPlaying:n,isAdPaused:r,isAdMuted:i,adRemainingTime:a}=e,{fire:o,pauseThisPlayer:s}=t,c=null,l=null,u=!1;async function d(e,t,d,f){if(!(d||f)||!e.parentElement)return;let p=!1;t.on(`play`,()=>{c?c.requestAdsOnFirstPlay():p=!0});let m=null;f&&import(`./chunks/prebid-RHDT0DOX.mjs`).then(({resolveHeaderBiddingAdTagUrl:e})=>e(f,d).catch(()=>d)).then(e=>{c?c.setAdTagUrl(e):m=e});function h(){!_()&&t.isPipActive()&&document.exitPictureInPicture()}function g(){!_()&&(document.hidden||!document.hasFocus())&&c?.isAdPlaying()&&c.pauseAd()}let v=Qe(g),y=()=>{t.isPipActive()||g()};t.on(`pipchange`,y),l=()=>{v(),t.off(`pipchange`,y)};let{attachAds:b}=await import(`./chunks/ads-Dph3guS9.mjs`);!u&&e.parentElement&&(c=b(e.parentElement,e,d,{onAdStart:()=>{n.value=!0,r.value=!1,o(`adstart`),h(),g()},onAdEnd:()=>{n.value=!1,r.value=!1,a.value=0,o(`adend`)},onAdPauseChange:e=>{r.value=e,e||Te(s)},onAdMuteChange:e=>{i.value=e},onAdProgress:e=>{a.value=e},onError:e=>{n.value=!1,r.value=!1,a.value=0,console.error(`Ad playback error:`,e)}}),m&&c.setAdTagUrl(m),p&&c.requestAdsOnFirstPlay())}return{attach:d,isAdPlaying:()=>c?.isAdPlaying()??!1,isAdPaused:()=>c?.isAdPaused()??!1,pauseAd:()=>c?.pauseAd(),resumeAd:()=>c?.resumeAd(),toggleAdMute:()=>c?.toggleAdMute(),dispose:()=>{u=!0,c?.dispose(),c=null,l?.(),l=null}}}function yt(e,t,n){let r=null,i=null,a=null,o=!1,s=Ye(t),{isReady:c,isLoaded:l,isLive:u,current:d,total:f,isMuted:p,vol:m,currentPlaybackRate:h,hasEnded:g,hasStarted:_,isError:v,errorMessage:y,isNativeUi:b}=s,x=()=>r,S=w(()=>{if(typeof t.payload!=`string`)return t.payload??{};try{return JSON.parse(t.payload)}catch{return{}}});function C(e,r={}){n(`state-change`,{type:e,currentTime:d.value,duration:f.value,src:t.src,...r,payload:S.value})}let T=$e(x),E=et(C),D=st(t.src,x,g),O=tt(d,f,C),k=vt(s,{fire:C,pauseThisPlayer:()=>A.pause()}),A=gt(s,x,k,C),{attachPlayerEvents:j}=_t(s,{fire:C,pauseThisPlayer:A.pause,positionMemory:D,quartiles:O,buffering:E,fullscreen:T});function M(){r&&a&&(v.value=!1,y.value=``,l.value=!1,f.value=0,r.setSrc(a.src,a.type))}G([f,u],([e,t])=>{l.value||!e&&!t||(l.value=!0,C(`loaded`))}),G(()=>t.loop,e=>{e!==void 0&&e!==s.isLooping.value&&A.toggleLoop()}),G(()=>t.muted,e=>{r&&e!==void 0&&r.setMuted(e)}),G(()=>t.playbackRate,e=>{r&&e!==void 0&&r.setPlaybackRate(e)}),mt(e,x,T.isFullscreen,T.isFullscreenPending,w(()=>!!t.pin)),t.playInView&&ht(e,x,T.isFullscreen,T.isFullscreenPending,t.muted);function N(e){r=e.adapter,a=e.currentSrc,o=e.needsReveal,e.nativeUi!==void 0&&(b.value=e.nativeUi),i=we(A.pause),j(e.adapter)}return G(_,t=>{t&&o&&e.value&&r&&ee(e.value,r.el)}),R(async()=>{let n=await Je(de(t.src),e,t,{muted:p.value,volume:m.value,playbackRate:h.value},k);if(n.status===`unsupported`){v.value=!0,c.value=!0,y.value=`This platform is not yet supported.`;return}n.status===`mounted`&&N(n.mounted)}),L(()=>{i?.(),k.dispose(),r?.dispose(),r=null}),{...s,...A,fire:C,retry:M,isBuffering:E.isBuffering,toggleAdMute:k.toggleAdMute,isFullscreen:T.isFullscreen,isFullscreenPending:T.isFullscreenPending,toggleFullscreen:T.toggleFullscreen}}const bt=new Set([`ArrowLeft`,`ArrowRight`,`ArrowUp`,`ArrowDown`,`Home`,`End`]);function xt(e,t){function n(e,t,n){return Math.min(n,Math.max(t,e))}function r(t){if(!e.total)return;let r=n(e.current+t,0,e.total);e.seek(r/e.total*100)}function i(t){e.setVolume(n(e.vol+t,0,1))}function a(){e.supportsCaptions&&e.setCaptionTrack(e.activeCaptionIndex===null?0:null)}function o(n){if(n.repeat||n.metaKey||n.ctrlKey||n.altKey)return;let o=n.target;if(!o.closest(`input:not([type="range"]), textarea, select, [contenteditable="true"]`)&&!(bt.has(n.key)&&o.closest(`input[type="range"]`))&&(n.key!==` `&&n.key!==`Enter`||!o.closest(`button, a[href]`))){switch(n.key){case` `:case`k`:n.preventDefault(),e.togglePlay();break;case`ArrowLeft`:n.preventDefault(),r(-5);break;case`ArrowRight`:n.preventDefault(),r(5);break;case`ArrowUp`:n.preventDefault(),i(h);break;case`ArrowDown`:n.preventDefault(),i(-h);break;case`m`:e.toggleMute();break;case`f`:e.toggleFullscreen();break;case`c`:a();break;case`Home`:n.preventDefault(),e.seek(0);break;case`End`:n.preventDefault(),e.seek(100);break;default:if(!/^[0-9]$/.test(n.key))return;e.seek(Number(n.key)*10)}t.onMouseMove()}}return{onKeydown:o}}function St(e,t){let n=B(!0),r=B(!1),i=null,a=0;function o(e=400){a=Date.now()+e}function s(e=m){clearTimeout(i??void 0),i=setTimeout(()=>{if(document.activeElement?.closest(`.overlay__hud, .overlay__popup`)){s(e);return}n.value=!1,r.value=!1},e)}function c(){clearTimeout(i??void 0)}function l(){r.value=!0,n.value=!0,s()}function u(i=!1){r.value=!1,(i||t.value)&&(n.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 h(){Date.now()<a||e.value&&s(600)}return G(e,e=>{if(!e){clearTimeout(i??void 0),n.value=!0;return}s()}),L(()=>clearTimeout(i??void 0)),{showHUD:n,isOpen:r,scheduleHide:s,pauseHide:c,onVideoTap:f,onMouseMove:p,onMouseLeave:h,openControls:l,closeControls:u,keepOpen:d,suppressMouseLeave:o}}const Ct=[`retry`,`play`,`pause`,`replay`,`togglePlay`,`seek`,`seekTo`,`toggleMute`,`setVolume`,`toggleFullscreen`,`toggleLoop`,`toggleAdMute`,`setPlaybackRate`,`setCaptionTrack`,`setQuality`,`togglePip`],wt=`isPlaying.hasEnded.isReady.isLoaded.isAdPlaying.isAdPaused.isAdMuted.adRemainingTime.isLive.isBuffering.current.total.vol.isMuted.isAudible.isLooping.currentPlaybackRate.hasStarted.isError.errorMessage.progress.bufferedDisplay.isFullscreen.supportsPlaybackRate.supportsCaptions.captionTracks.activeCaptionIndex.supportsQuality.qualityLevels.currentQualityIndex.isAutoQuality.supportsPip.isPipActive.isNativeUi`.split(`.`);function Tt(e){let t={};for(let n of Ct)t[n]=(...t)=>e[n](...t);for(let n of wt)Object.defineProperty(t,n,{get:()=>e[n],enumerable:!0});return t}const J=Symbol(`player`),Et=Symbol(`hud`),Dt=Symbol(`action`),Ot=Symbol(`playlist`),kt={hasPlaylist:!1,hasNext:!1,hasPrevious:!1,autoAdvance:!1,playNext:()=>{},playPrevious:()=>{},toggleAutoAdvance:()=>{}};function Y(e){let t=N(e);if(t===void 0)throw Error(`[video-player] missing "${String(e.description)}" context — this component must be rendered inside <VideoPlayer>`);return t}function At(e,t){let n=w(()=>e.isReady&&!e.isError);return{hudVisible:w(()=>n.value&&t.showHUD),popupVisible:w(()=>n.value?e.isFullscreen?t.showHUD:t.isOpen:!1)}}function jt(e,t=250){let n=B(!1),r=null;return G(e,e=>{r?.disconnect(),r=null,e&&(r=new ResizeObserver(([e])=>{n.value=e.contentRect.width<t}),r.observe(e))},{immediate:!0}),L(()=>r?.disconnect()),n}const Mt={mute:{label:e=>e.isMuted?`Unmute`:`Mute`,active:e=>e.isMuted,onClick:e=>e.toggleMute()},loop:{label:e=>e.isLooping?`Disable loop`:`Loop`,active:e=>e.isLooping,onClick:e=>e.toggleLoop()},autoplay:{label:(e,t)=>t.autoAdvance?`Disable autoplay next`:`Autoplay next`,active:(e,t)=>t.autoAdvance,onClick:(e,t)=>t.toggleAutoAdvance()}};function Nt(e,t,n){let r=w(()=>e?.value??null),i=w(()=>!!r.value&&typeof r.value==`object`),a=w(()=>i.value?r.value:null),o=w(()=>i.value||!r.value?null:Mt[r.value]),s=w(()=>o.value?.label(t,n)??``),c=w(()=>o.value?.active(t,n)??!1);function l(){o.value?.onClick(t,n)}return{currentAction:r,isCustom:i,customAction:a,builtinLabel:s,builtinActive:c,onBuiltinClick:l}}var X=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n};const Pt={},Ft={viewBox:`0 0 24 24`,fill:`currentColor`};function It(e,t){return z(),D(`svg`,Ft,[...t[0]||=[O(`path`,{d:`M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z`},null,-1)]])}var Lt=X(Pt,[[`render`,It]]);const Rt={},zt={viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`};function Bt(e,t){return z(),D(`svg`,zt,[...t[0]||=[O(`rect`,{x:`2`,y:`5`,width:`20`,height:`14`,rx:`2`},null,-1),O(`path`,{d:`M9.5 10.5a2 2 0 0 0-3.5 1.3v.4a2 2 0 0 0 3.5 1.3`},null,-1),O(`path`,{d:`M17.5 10.5a2 2 0 0 0-3.5 1.3v.4a2 2 0 0 0 3.5 1.3`},null,-1)]])}var Vt=X(Rt,[[`render`,Bt]]);const Ht={},Ut={viewBox:`0 0 24 24`,fill:`currentColor`};function Wt(e,t){return z(),D(`svg`,Ut,[...t[0]||=[O(`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 Gt=X(Ht,[[`render`,Wt]]);const Kt={},qt={viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`};function Jt(e,t){return z(),D(`svg`,qt,[...t[0]||=[k(`<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 Yt=X(Kt,[[`render`,Jt]]);const Xt={},Zt={viewBox:`0 0 24 24`,fill:`currentColor`};function Qt(e,t){return z(),D(`svg`,Zt,[...t[0]||=[O(`path`,{d:`M4 12l1.41 1.41L11 7.83V20h2V7.83l5.59 5.58L20 12l-8-8-8 8z`},null,-1)]])}var $t=X(Xt,[[`render`,Qt]]);const en={},tn={viewBox:`0 0 24 24`,fill:`currentColor`};function nn(e,t){return z(),D(`svg`,tn,[...t[0]||=[O(`path`,{d:`M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z`},null,-1)]])}var rn=X(en,[[`render`,nn]]);const an={},on={viewBox:`0 0 24 24`,fill:`currentColor`};function sn(e,t){return z(),D(`svg`,on,[...t[0]||=[O(`path`,{d:`M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z`},null,-1)]])}var cn=X(an,[[`render`,sn]]);const ln={},un={viewBox:`0 0 24 24`,fill:`currentColor`};function dn(e,t){return z(),D(`svg`,un,[...t[0]||=[O(`path`,{d:`M7 7h10v3l4-4-4-4v3H5v6h2V7zm10 10H7v-3l-4 4 4 4v-3h12v-6h-2v4z`},null,-1)]])}var fn=X(ln,[[`render`,dn]]);const pn={},mn={viewBox:`0 0 24 24`,fill:`currentColor`};function hn(e,t){return z(),D(`svg`,mn,[...t[0]||=[O(`circle`,{cx:`5`,cy:`12`,r:`2`},null,-1),O(`circle`,{cx:`12`,cy:`12`,r:`2`},null,-1),O(`circle`,{cx:`19`,cy:`12`,r:`2`},null,-1)]])}var gn=X(pn,[[`render`,hn]]);const _n={},vn={viewBox:`0 0 24 24`,fill:`currentColor`};function yn(e,t){return z(),D(`svg`,vn,[...t[0]||=[O(`path`,{d:`M6 19h4V5H6v14zm8-14v14h4V5h-4z`},null,-1)]])}var bn=X(_n,[[`render`,yn]]);const xn={},Sn={viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`};function Cn(e,t){return z(),D(`svg`,Sn,[...t[0]||=[O(`rect`,{x:`2`,y:`4`,width:`20`,height:`16`,rx:`2`},null,-1),O(`rect`,{x:`12`,y:`11`,width:`8`,height:`6`,rx:`1`,fill:`currentColor`,stroke:`none`},null,-1)]])}var wn=X(xn,[[`render`,Cn]]);const Tn={},En={viewBox:`0 0 24 24`,fill:`currentColor`};function Dn(e,t){return z(),D(`svg`,En,[...t[0]||=[O(`path`,{d:`M8 5v14l11-7z`},null,-1)]])}var On=X(Tn,[[`render`,Dn]]);const kn={},An={viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`};function jn(e,t){return z(),D(`svg`,An,[...t[0]||=[O(`rect`,{x:`2`,y:`6`,width:`20`,height:`12`,rx:`2`},null,-1),O(`path`,{d:`M7 14v-4M12 14V8M17 14v-2`},null,-1)]])}var Mn=X(kn,[[`render`,jn]]);const Nn={},Pn={viewBox:`0 0 24 24`,fill:`currentColor`};function Fn(e,t){return z(),D(`svg`,Pn,[...t[0]||=[O(`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 In=X(Nn,[[`render`,Fn]]);const Ln={},Rn={viewBox:`0 0 24 24`,fill:`currentColor`};function zn(e,t){return z(),D(`svg`,Rn,[...t[0]||=[O(`path`,{d:`M6 18l8.5-6L6 6v12zM16 6v12h2V6h-2z`},null,-1)]])}var Bn=X(Ln,[[`render`,zn]]);const Vn={},Hn={viewBox:`0 0 24 24`,fill:`currentColor`};function Un(e,t){return z(),D(`svg`,Hn,[...t[0]||=[O(`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 Wn=X(Vn,[[`render`,Un]]);const Gn={},Kn={viewBox:`0 0 24 24`,fill:`currentColor`};function qn(e,t){return z(),D(`svg`,Kn,[...t[0]||=[O(`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 Jn=X(Gn,[[`render`,qn]]);function Z(e,t){return w(()=>e.value?e.value:t.value?document.getElementById(t.value)??null:null)}const Yn=[`aria-label`];var Xn=X(M({__name:`PlayButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Z(U(t,`player`),U(t,`for`)),r=w(()=>n.value?.isError?`error`:n.value?.hasEnded?`ended`:n.value?.isPlaying?`playing`:`idle`),i=w(()=>{switch(r.value){case`error`:return`Retry`;case`ended`:return`Replay`;case`playing`:return`Pause`;default:return`Play`}});function a(){let e=n.value;e&&(e.isError?e.retry():e.togglePlay())}return(e,t)=>(z(),D(`button`,{type:`button`,class:`mlv-play-button`,"aria-label":i.value,onClick:a},[V(e.$slots,`default`,{isPlaying:W(n)?.isPlaying??!1,hasEnded:W(n)?.hasEnded??!1,isError:W(n)?.isError??!1},()=>[r.value===`error`||r.value===`ended`?(z(),T(W(In),{key:0})):r.value===`playing`?(z(),T(W(bn),{key:1})):(z(),T(W(On),{key:2}))],!0)],8,Yn))}}),[[`__scopeId`,`data-v-218255bd`]]),Zn=X(M({__name:`Spinner`,props:{size:{type:Number,required:!1,default:14},borderWidth:{type:Number,required:!1,default:2}},setup(e){return(t,n)=>(z(),D(`div`,{class:`spinner`,style:I({width:`${e.size}px`,height:`${e.size}px`,borderWidth:`${e.borderWidth}px`})},null,4))}}),[[`__scopeId`,`data-v-259be2b2`]]);const Qn={key:0,class:`mlv-buffering`};var $n=X(M({__name:`Buffering`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Z(U(t,`player`),U(t,`for`));return(e,t)=>W(n)?.isBuffering?(z(),D(`div`,Qn,[V(e.$slots,`default`,{},()=>[j(Zn)],!0)])):E(`v-if`,!0)}}),[[`__scopeId`,`data-v-454fec7f`]]),er=M({__name:`VolumeIcon`,props:{isAudible:{type:Boolean,required:!0}},setup(e){return(t,n)=>e.isAudible?(z(),T(W(Jn),{key:0})):(z(),T(W(Wn),{key:1}))}});const tr={class:`hud`,"aria-hidden":`true`},nr=[`aria-label`],rr=[`aria-label`,`innerHTML`],ir={key:2,class:`hud__spacer`},ar={class:`hud__play-wrap`};var or=X(M({__name:`HudButtons`,setup(e){let t=Y(J),n=Y(Et),{currentAction:r,isCustom:i,customAction:a,builtinLabel:o,builtinActive:s,onBuiltinClick:c}=Nt(N(Dt),t,Y(Ot));return(e,l)=>(z(),D(S,null,[E(` tabindex="-1" + aria-hidden: this row's play/mute/custom/show-controls buttons are all redundant outside plain mouse hover - play/mute already have global hotkeys, everything else is duplicated in ControlsPopup, which PlayerOverlay's "Show player controls" skip link reaches directly for keyboard/AT users. `),O(`div`,tr,[!W(n).isOpen&&!W(t).isFullscreen?(z(),D(S,{key:0},[W(r)===`mute`||W(r)===`loop`||W(r)===`autoplay`?(z(),D(`button`,{key:0,class:F([`hud__btn`,{"hud__btn--active":W(s)}]),"aria-label":W(o),tabindex:`-1`,onClick:l[0]||=K((...e)=>W(c)&&W(c)(...e),[`stop`])},[W(r)===`mute`?(z(),T(er,{key:0,"is-audible":W(t).isAudible},null,8,[`is-audible`])):W(r)===`loop`?(z(),T(W(fn),{key:1})):(z(),T(W(Bn),{key:2}))],10,nr)):W(i)&&W(a)?(z(),D(`button`,{key:1,class:`hud__btn`,"aria-label":W(a).label,tabindex:`-1`,onClick:l[1]||=K(e=>W(a).onClick(),[`stop`]),innerHTML:W(a).icon},null,8,rr)):(z(),D(`div`,ir))],64)):E(`v-if`,!0),O(`div`,ar,[j(Xn,{player:W(t),class:`ppbtn ppbtn--lg`,tabindex:`-1`},null,8,[`player`]),j($n,{player:W(t),class:`hud__buf-spinner`},null,8,[`player`])]),!W(n).isOpen&&!W(t).isFullscreen?(z(),D(`button`,{key:1,class:`hud__btn`,"aria-label":`Show controls`,tabindex:`-1`,onClick:l[2]||=K((...e)=>W(n).openControls&&W(n).openControls(...e),[`stop`])},[j(W(Yt))])):E(`v-if`,!0)])],2112))}}),[[`__scopeId`,`data-v-a6d118e7`]]);const sr=new WeakMap;async function cr(e,t){if(!e){t();return}sr.get(e)?.();let n=e.getBoundingClientRect();t(),await te();let r=e.getBoundingClientRect(),i=n.left-r.left,a=n.top-r.top,o=n.width/r.width,s=n.height/r.height;if(!i&&!a&&o===1&&s===1)return;let c=getComputedStyle(e).position===`static`;c&&(e.style.position=`relative`),e.style.zIndex=`2147483647`,e.style.transition=`none`,e.style.transformOrigin=`top left`,e.style.transform=`translate(${i}px, ${a}px) scale(${o}, ${s})`,e.getBoundingClientRect(),await new Promise(t=>{let n=null,r=()=>{cancelAnimationFrame(i),n&&clearTimeout(n),e.style.transition=``,e.style.transform=``,e.style.transformOrigin=``,e.style.zIndex=``,c&&(e.style.position=``),sr.delete(e),t()};sr.set(e,r);let i=requestAnimationFrame(()=>{e.style.transition=`transform 220ms ease`,e.style.transform=``,n=setTimeout(r,220)})})}const lr=[`aria-label`];var ur=X(M({__name:`FullscreenButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Z(U(t,`player`),U(t,`for`));return(e,t)=>(z(),D(`button`,{type:`button`,class:`mlv-fullscreen-button`,"aria-label":W(n)?.isFullscreen?`Exit fullscreen`:`Enter fullscreen`,onClick:t[0]||=e=>W(n)?.toggleFullscreen()},[V(e.$slots,`default`,{isFullscreen:W(n)?.isFullscreen??!1},()=>[W(n)?.isFullscreen?(z(),T(W(cn),{key:0})):(z(),T(W(rn),{key:1}))],!0)],8,lr))}}),[[`__scopeId`,`data-v-b93a5017`]]);const dr=[`aria-pressed`];var fr=X(M({__name:`PipButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Z(U(t,`player`),U(t,`for`));return(e,t)=>W(n)?.supportsPip?(z(),D(`button`,{key:0,type:`button`,class:F([`mlv-pip-button`,{"mlv-pip-button--active":W(n)?.isPipActive}]),"aria-pressed":W(n)?.isPipActive??!1,"aria-label":`Toggle Picture-in-Picture`,onClick:t[0]||=e=>W(n)?.togglePip()},[V(e.$slots,`default`,{isPipActive:W(n)?.isPipActive??!1},()=>[j(W(wn))],!0)],10,dr)):E(`v-if`,!0)}}),[[`__scopeId`,`data-v-f654d93e`]]);function pr(e){let n=B(!1),r=B(null),i=!1,a=null,o=!1,s=w(()=>{let t=e.value;return t?.total?t.current/t.total*100:0}),c=w(()=>r.value??s.value),l=w(()=>r.value!==null),u=w(()=>{let t=e.value?.total??0;return c.value/100*t});function d(){a&&clearTimeout(a),a=null}function f(){d(),r.value=null}function p(t){let a=e.value;a?.total&&(n.value||=(i=a.isPlaying,a.pause(),!0),d(),r.value=Number(t.target.value))}function m(s){if(!n.value)return;n.value=!1,o=!0;let c=e.value;if(!c)return;let l=Number(s.target.value);r.value=l,c.seek(l),i&&c.play().catch(()=>{}),d(),a=setTimeout(f,t)}function h(s){if(n.value||o)return;o=!1;let c=e.value;if(!c?.total)return;let l=Number(s.target.value);r.value=l,c.seek(l),i&&c.play().catch(()=>{}),d(),a=setTimeout(f,t)}return G(()=>e.value?.current,()=>{let t=e.value;if(r.value===null||!t?.total)return;let n=r.value/100*t.total;Math.abs(t.current-n)<1&&f()}),L(f),{scrubbing:l,displayPercent:c,previewSeconds:u,onInput:p,onChange:m,onTouchEnd:h}}function Q(e,t=!1){if(!e||isNaN(e))return`0:00`;let n=t?Math.round(e):Math.floor(e);return`${Math.floor(n/60)}:${String(n%60).padStart(2,`0`)}`}const mr={class:`mlv-scrubber-wrap`},hr=[`value`,`aria-valuetext`];var gr=X(M({inheritAttrs:!1,__name:`Scrubber`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Z(U(t,`player`),U(t,`for`)),{scrubbing:r,displayPercent:i,previewSeconds:a,onInput:o,onChange:s,onTouchEnd:c}=pr(n),l=e=>Q(e,!0);return(e,t)=>(z(),D(`div`,mr,[O(`input`,P({type:`range`,min:`0`,max:`100`,step:`0.5`,value:W(i),class:`mlv-scrubber`},e.$attrs,{style:{"--p":`${W(i)}%`,"--b":`${W(n)?.bufferedDisplay??0}%`},"aria-label":`Seek`,"aria-valuetext":`${l(W(a))} of ${l(W(n)?.total??0)}`,onInput:t[0]||=(...e)=>W(o)&&W(o)(...e),onChange:t[1]||=(...e)=>W(s)&&W(s)(...e),onTouchend:t[2]||=(...e)=>W(c)&&W(c)(...e)}),null,16,hr),V(e.$slots,`preview`,{scrubbing:W(r),percent:W(i),previewSeconds:W(a),formatTime:l},()=>[W(r)?(z(),D(`div`,{key:0,class:`mlv-scrubber__preview`,style:I({left:`${W(i)}%`})},H(l(W(a))),5)):E(`v-if`,!0)],!0)]))}}),[[`__scopeId`,`data-v-043f1bc8`]]);const _r={class:`mlv-time-display__time`},vr={class:`mlv-time-display__total`};var yr=X(M({__name:`TimeDisplay`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Z(U(t,`player`),U(t,`for`));return(e,t)=>(z(),D(`span`,{class:F([`mlv-time-display`,{"mlv-time-display--live":W(n)?.isLive}])},[V(e.$slots,`default`,{isLive:W(n)?.isLive??!1,current:W(n)?.current??0,total:W(n)?.total??0,formatTime:W(Q)},()=>[W(n)?.isLive?(z(),D(S,{key:0},[t[0]||=O(`span`,{class:`mlv-time-display__dot`},null,-1),t[1]||=A(`Live `,-1)],64)):(z(),D(S,{key:1},[O(`span`,_r,H(W(Q)(W(n)?.current??0)),1),O(`span`,vr,`/ `+H(W(Q)(W(n)?.total??0)),1)],64))],!0)],2))}}),[[`__scopeId`,`data-v-0285c811`]]);const br={class:`mlv-volume-wrap`},xr=[`value`],Sr={class:`mlv-volume-pct`};var Cr=X(M({inheritAttrs:!1,__name:`VolumeSlider`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Z(U(t,`player`),U(t,`for`)),r=w(()=>{let e=n.value;return e?e.isMuted?0:Math.round(e.vol*100):0});function i(e){n.value?.setVolume(Number(e.target.value)/100)}return(e,t)=>(z(),D(`div`,br,[O(`input`,P({type:`range`,min:`0`,max:`100`,step:`1`,value:r.value,class:`mlv-volume-slider`},e.$attrs,{style:{"--v":`${r.value}%`},"aria-label":`Volume`,onInput:i}),null,16,xr),V(e.$slots,`default`,{percent:r.value},()=>[O(`span`,Sr,H(r.value)+`%`,1)],!0)]))}}),[[`__scopeId`,`data-v-fbb2c86c`]]);const wr={class:`controls__vol-header`},Tr=[`aria-label`],Er={class:`controls__vol-body`},Dr={class:`controls__vol-pct`};var Or=X(M({__name:`VolumePanel`,emits:[`back`],setup(e){let t=Y(J),n=Y(Et);return(e,r)=>(z(),D(S,null,[O(`div`,wr,[O(`button`,{class:`controls__btn`,"aria-label":`Back`,onClick:r[0]||=t=>e.$emit(`back`)},[j(W(Lt))]),r[6]||=O(`span`,{class:`controls__vol-label`},`Volume`,-1),O(`button`,{class:`controls__btn`,"aria-label":W(t).isMuted?`Unmute`:`Mute`,onClick:r[1]||=e=>W(t).toggleMute()},[j(er,{"is-audible":W(t).isAudible},null,8,[`is-audible`])],8,Tr)]),O(`div`,Er,[j(Cr,{player:W(t),class:`controls__vol-slider`,onMousedown:r[2]||=e=>W(n).pauseHide(),onMouseup:r[3]||=e=>W(n).scheduleHide(),onTouchstartPassive:r[4]||=e=>W(n).pauseHide(),onTouchend:r[5]||=e=>W(n).scheduleHide()},{default:ce(({percent:e})=>[O(`span`,Dr,H(e)+`%`,1)]),_:1},8,[`player`])])],64))}}),[[`__scopeId`,`data-v-10b0ae67`]]);function kr(e){function t(){let t=g.indexOf(e.currentPlaybackRate);e.setPlaybackRate(g[(t+1)%g.length])}function n(e){return`${e}×`}return{cycleRate:t,fmtRate:n}}function Ar(e){function t(){let t=e.captionTracks;if(!t.length)return;let n=t[t.findIndex(t=>t.index===e.activeCaptionIndex)+1];e.setCaptionTrack(n?n.index:null)}function n(){return e.captionTracks.find(t=>t.index===e.activeCaptionIndex)?.label??`Off`}return{cycleCaptionTrack:t,currentCaptionLabel:n}}function jr(e){function t(){let t=e.qualityLevels;if(!t.length)return;if(e.isAutoQuality){e.setQuality(t[t.length-1].index);return}let n=t.findIndex(t=>t.index===e.currentQualityIndex);e.setQuality(n<=0?null:t[n-1].index)}function n(){return e.isAutoQuality?`Auto`:e.qualityLevels.find(t=>t.index===e.currentQualityIndex)?.label??`Auto`}return{cycleQuality:t,currentQualityLabel:n}}const Mr=[`aria-label`],Nr={key:0,class:`controls__more-row-label`},Pr=[`innerHTML`],Fr={key:1},Ir={key:2,class:`controls__more-value`};var $=X(M({__name:`MoreMenuRow`,props:{label:{type:String,required:!0},ariaLabel:{type:String,required:!1,default:``},icon:{type:null,required:!1},iconHtml:{type:String,required:!1},active:{type:Boolean,required:!1,default:!1},value:{type:String,required:!1}},emits:[`click`],setup(e){return(t,n)=>(z(),D(`button`,{class:F([`controls__more-row`,{"controls__more-row--active":e.active}]),"aria-label":e.ariaLabel||e.label,onClick:n[0]||=e=>t.$emit(`click`)},[e.icon||e.iconHtml?(z(),D(`span`,Nr,[e.icon?(z(),T(oe(e.icon),{key:0,class:`controls__more-row-icon`})):(z(),D(`span`,{key:1,class:`controls__more-row-icon`,innerHTML:e.iconHtml},null,8,Pr)),A(` `+H(e.label),1)])):(z(),D(`span`,Fr,H(e.label),1)),e.value===void 0?E(`v-if`,!0):(z(),D(`span`,Ir,H(e.value),1))],10,Mr))}}),[[`__scopeId`,`data-v-47ca5bfc`]]);const Lr={class:`controls__more-header`};var Rr=X(M({__name:`MoreMenu`,props:{isCustom:{type:Boolean,required:!0},customAction:{type:[Object,null],required:!0},compact:{type:Boolean,required:!0}},emits:[`back`],setup(e){let t=Y(J),n=Y(Et),r=Y(Ot),{cycleRate:i,fmtRate:a}=kr(t),{cycleCaptionTrack:o,currentCaptionLabel:s}=Ar(t),{cycleQuality:c,currentQualityLabel:l}=jr(t);return(u,d)=>(z(),D(S,null,[O(`div`,Lr,[O(`button`,{class:`controls__btn`,"aria-label":`Back`,onClick:d[0]||=e=>u.$emit(`back`)},[j(W(Lt))]),d[8]||=O(`span`,{class:`controls__more-label`},`More`,-1)]),O(`div`,{class:`controls__more-body`,onTouchstartPassive:d[7]||=e=>W(n).keepOpen()},[W(t).supportsPlaybackRate?(z(),T($,{key:0,label:`Playback speed`,value:W(a)(W(t).currentPlaybackRate),onClick:W(i)},null,8,[`value`,`onClick`])):E(`v-if`,!0),j($,{label:`Loop`,"aria-label":`Toggle loop`,icon:W(fn),active:W(t).isLooping,value:W(t).isLooping?`On`:`Off`,onClick:d[1]||=e=>W(t).toggleLoop()},null,8,[`icon`,`active`,`value`]),W(t).supportsCaptions?(z(),T($,{key:1,label:`Captions`,icon:W(Vt),active:W(t).activeCaptionIndex!==null,value:W(s)(),onClick:W(o)},null,8,[`icon`,`active`,`value`,`onClick`])):E(`v-if`,!0),W(t).supportsQuality?(z(),T($,{key:2,label:`Quality`,icon:W(Mn),active:!W(t).isAutoQuality,value:W(l)(),onClick:W(c)},null,8,[`icon`,`active`,`value`,`onClick`])):E(`v-if`,!0),W(r).hasPlaylist?(z(),T($,{key:3,label:`Autoplay next`,"aria-label":`Toggle autoplay next`,icon:W(Bn),active:W(r).autoAdvance,value:W(r).autoAdvance?`On`:`Off`,onClick:d[2]||=e=>W(r).toggleAutoAdvance()},null,8,[`icon`,`active`,`value`])):E(`v-if`,!0),e.compact&&W(t).supportsPip?(z(),T($,{key:4,label:`Picture-in-picture`,"aria-label":`Toggle picture-in-picture`,icon:W(wn),active:W(t).isPipActive,onClick:d[3]||=e=>W(t).togglePip()},null,8,[`icon`,`active`])):E(`v-if`,!0),e.compact&&W(r).hasNext?(z(),T($,{key:5,label:`Play next`,"aria-label":`Play next`,icon:W(Bn),onClick:d[4]||=e=>W(r).playNext()},null,8,[`icon`])):E(`v-if`,!0),e.compact?(z(),T($,{key:6,label:`Mute`,"aria-label":`Toggle mute`,icon:W(t).isAudible?W(Jn):W(Wn),active:!W(t).isAudible,onClick:d[5]||=e=>W(t).toggleMute()},null,8,[`icon`,`active`])):E(`v-if`,!0),e.isCustom&&e.customAction?(z(),T($,{key:7,label:e.customAction.label,"icon-html":e.customAction.icon,onClick:d[6]||=t=>e.customAction.onClick()},null,8,[`label`,`icon-html`])):E(`v-if`,!0)],32)],64))}}),[[`__scopeId`,`data-v-e89a8208`]]);const zr={class:`controls__row`},Br={class:`controls__play-wrap`},Vr=[`aria-expanded`],Hr=[`aria-expanded`],Ur={class:`controls__fs-wrap`};var Wr=X(M({__name:`ControlsPopup`,setup(e){let t=Y(J),n=Y(Et),r=Y(Ot),{isCustom:i,customAction:a}=Nt(N(Dt),t,r),o=B(!1),s=B(!1),c=B(null),l=B(null),u=jt(c),d=w(()=>t.isLooping||t.currentPlaybackRate!==1||r.autoAdvance);function f(e){return!c.value||c.value.contains(e)?!1:(n.closeControls(),!0)}function p(e){f(e.target)}function m(e){f(e.target)&&e.preventDefault()}R(()=>{t.fire(`controlsopen`,{element:c.value}),document.addEventListener(`click`,p,!0),document.addEventListener(`touchend`,m,!0)}),L(()=>{o.value=!1,s.value=!1,t.fire(`controlsclose`,{element:c.value}),document.removeEventListener(`click`,p,!0),document.removeEventListener(`touchend`,m,!0)});function h(e){n.suppressMouseLeave();let t=c.value,r=l.value;if(!t||!r){e();return}r.style.opacity=`0`,cr(t,e).then(()=>{r.style.transition=`opacity 130ms ease`,r.style.opacity=``,setTimeout(()=>{r.style.transition=``},130)})}function g(){if(_()){t.toggleMute();return}h(()=>{o.value=!0})}function v(){h(()=>{s.value=!0})}return(e,f)=>(z(),D(`div`,{ref_key:`popupEl`,ref:c,class:F([`controls`,{"controls--fs":W(t).isFullscreen,"controls--compact":W(u)}]),onMousemove:f[8]||=K((...e)=>W(n).keepOpen&&W(n).keepOpen(...e),[`stop`])},[O(`div`,{class:`controls__inner`,ref_key:`contentEl`,ref:l},[o.value?(z(),T(Or,{key:0,onBack:f[0]||=e=>h(()=>o.value=!1)})):s.value?(z(),T(Rr,{key:1,"is-custom":W(i),"custom-action":W(a),compact:W(u),onBack:f[1]||=e=>h(()=>s.value=!1)},null,8,[`is-custom`,`custom-action`,`compact`])):(z(),D(S,{key:2},[W(t).isLive?E(`v-if`,!0):(z(),T(gr,{key:0,player:W(t),class:`controls__seek`,onMousedown:f[2]||=e=>W(n).pauseHide(),onMouseup:f[3]||=e=>W(n).scheduleHide(),onTouchstartPassive:f[4]||=e=>W(n).pauseHide(),onTouchend:f[5]||=e=>W(n).scheduleHide()},null,8,[`player`])),O(`div`,zr,[O(`div`,Br,[j($n,{player:W(t)},null,8,[`player`]),W(t).isBuffering?E(`v-if`,!0):(z(),T(Xn,{key:0,player:W(t),class:`ppbtn ppbtn--sm`},null,8,[`player`]))]),j(yr,{player:W(t),class:`controls__time-display`},null,8,[`player`]),W(r).hasNext?(z(),D(`button`,{key:0,class:`controls__btn controls__btn--next`,"aria-label":`Play next`,onClick:f[6]||=e=>W(r).playNext()},[j(W(Bn))])):E(`v-if`,!0),O(`button`,{class:`controls__btn controls__btn--volume`,"aria-label":`Volume`,"aria-haspopup":`true`,"aria-expanded":o.value,onClick:g},[j(er,{"is-audible":W(t).isAudible},null,8,[`is-audible`])],8,Vr),O(`button`,{class:F([`controls__btn controls__btn--more`,{"controls__btn--active":d.value}]),"aria-label":`More`,"aria-haspopup":`true`,"aria-expanded":s.value,onClick:v},[j(W(gn))],10,Hr),j(fr,{player:W(t),class:`controls__btn controls__btn--pip`},null,8,[`player`]),O(`div`,Ur,[W(t).isFullscreenPending?(z(),T(Zn,{key:0})):(z(),T(ur,{key:1,player:W(t),class:`controls__btn`},null,8,[`player`]))])])],64))],512),O(`button`,{type:`button`,class:`controls__close`,"aria-label":`Close player controls`,onClick:f[7]||=e=>W(n).closeControls(!0)},`Close player controls`)],34))}}),[[`__scopeId`,`data-v-5712aad4`]]);const Gr={key:0,class:`overlay__spinner`},Kr={key:0,class:`overlay__error`},qr=[`inert`];var Jr=X(M({__name:`PlayerOverlay`,setup(e){let t=Y(J),n=Y(Et),{hudVisible:r,popupVisible:i}=At(t,n);return(e,a)=>(z(),D(S,null,[j(C,{name:`fade`},{default:ce(()=>[!W(t).isReady&&!W(t).isError?(z(),D(`div`,Gr,[j(Zn,{size:40,"border-width":3})])):E(`v-if`,!0)]),_:1}),E(` No transition: a leave that waits on an animation frame can strand a clickable Retry over a recovered player when frames are paused (background tab). `),W(t).isError?(z(),D(`div`,Kr,[O(`p`,null,H(W(t).errorMessage||`This video could not be played.`),1),O(`button`,{class:`overlay__retry`,onClick:a[0]||=K((...e)=>W(t).retry&&W(t).retry(...e),[`stop`])},`Retry`)])):E(`v-if`,!0),O(`button`,{type:`button`,class:`overlay__reveal`,"aria-label":`Show player controls`,onClick:a[1]||=e=>W(n).openControls()},`Show player controls`),O(`div`,{class:F([`overlay__hud`,{"overlay__hud--visible":W(r)}]),inert:!W(r)},[j(or)],10,qr),j(C,{name:`popup`},{default:ce(()=>[W(i)?(z(),D(`div`,{key:0,class:F([`overlay__popup`,{"overlay__popup--fs":W(t).isFullscreen}])},[j(Wr)],2)):E(`v-if`,!0)]),_:1})],64))}}),[[`__scopeId`,`data-v-2fba5782`]]);const Yr={class:`ad-overlay`},Xr={class:`ad-overlay__bar`},Zr={class:`ad-overlay__badge`},Qr={key:0,class:`ad-overlay__countdown`},$r=[`aria-label`],ei=[`aria-label`];var ti=X(M({__name:`AdOverlay`,setup(e){let t=Y(J),n=w(()=>t.adRemainingTime>0?Q(t.adRemainingTime):``);return(e,r)=>(z(),D(`div`,Yr,[O(`div`,Xr,[O(`div`,Zr,[r[2]||=O(`span`,null,`Ad`,-1),n.value?(z(),D(`span`,Qr,H(n.value),1)):E(`v-if`,!0)]),O(`button`,{class:`ad-overlay__btn`,"aria-label":W(t).isAdPaused?`Resume ad`:`Pause ad`,onClick:r[0]||=e=>W(t).togglePlay()},[W(t).isAdPaused?(z(),T(W(On),{key:0})):(z(),T(W(bn),{key:1}))],8,$r),O(`button`,{class:`ad-overlay__btn`,"aria-label":W(t).isAdMuted?`Unmute ad`:`Mute ad`,onClick:r[1]||=e=>W(t).toggleAdMute()},[W(t).isAdMuted?(z(),T(W(Wn),{key:0})):(z(),T(W(Jn),{key:1}))],8,ei)])]))}}),[[`__scopeId`,`data-v-23efcc8b`]]);const ni=B(0),ri=ie({currentSrc:null,isPlaying:!1}),ii=w(()=>ni.value>0),ai=B(!1);function oi(){ni.value++}function si(){ni.value--}function ci(e,t,n){let r=B(!1),i=w(()=>r.value&&ai.value),a=null;function o(){if(a?.(),a=null,!n.value||!e.value){r.value=!1;return}a=dt(e.value,e=>{e.intersectionRatio<.1?t.value&&(r.value=!0):r.value=!1})}return R(o),G(n,o),G(e,o),L(()=>a?.()),{isPinned:r,isTucked:i,unpin:()=>r.value=!1}}function li(e,t,n){let r=B(null),i=B(null);G(n,n=>{let i=e.value?.offsetWidth??null;r.value=n&&t.value&&i?{height:t.value.offsetHeight,wrapperWidth:i}:null});let a=w(()=>{if(!r.value)return{};let{height:e,wrapperWidth:t}=r.value,n=i.value?i.value/t:1;return{height:`${Math.round(e*n)}px`}}),o=null;return G(e,e=>{o?.disconnect(),o=null,e&&(o=new ResizeObserver(([e])=>i.value=e.contentRect.width),o.observe(e))},{immediate:!0}),L(()=>o?.disconnect()),{wrapperStyle:a,clear:()=>r.value=null}}function ui(e){e?.scrollIntoView({behavior:`smooth`,block:`center`})}var di=X(M({__name:`PinnablePlayerShell`,props:{isPlaying:{type:Boolean,required:!0}},setup(e){let t=e,n=B(null),r=B(null),{isPinned:i,unpin:a}=ci(n,U(t,`isPlaying`),B(!0)),o=B(i.value);G(i,e=>{cr(r.value,()=>{o.value=e})});let s=w(()=>o.value&&ai.value),{wrapperStyle:c}=li(n,r,o);function l(){ui(n.value)}function u(e){r.value=e}return(e,t)=>(z(),D(`div`,{ref_key:`wrapperEl`,ref:n,class:`player-wrapper`,style:I(W(c))},[V(e.$slots,`default`,{isPinned:o.value,isTucked:s.value,setBoxEl:u,unpin:W(a),scrollToPlayer:l},void 0,!0)],4))}}),[[`__scopeId`,`data-v-a2f8a547`]]);const fi={class:`player-wrapper`};var pi=X(M({__name:`PlainPlayerShell`,props:{isPlaying:{type:Boolean,required:!0}},setup(e){function t(){}return(e,n)=>(z(),D(`div`,fi,[V(e.$slots,`default`,{isPinned:!1,isTucked:!1,setBoxEl:t,unpin:t,scrollToPlayer:t},void 0,!0)]))}}),[[`__scopeId`,`data-v-9188c23a`]]),mi=X(M({__name:`PinnedControls`,emits:[`scroll-to`,`dismiss`],setup(e){return(e,t)=>(z(),D(S,null,[O(`button`,{class:`pinned-controls__scroll-to`,"aria-label":`Scroll to player`,onClick:t[0]||=K(t=>e.$emit(`scroll-to`),[`stop`])},[j(W($t))]),O(`button`,{class:`pinned-controls__dismiss`,"aria-label":`Close`,onClick:t[1]||=K(t=>e.$emit(`dismiss`),[`stop`])},[j(W(Gt))])],64))}}),[[`__scopeId`,`data-v-690b416a`]]);function hi(e){let[t,n]=e.split(`:`).map(Number);return{isPortrait:n>t,cssRatio:`${t}/${n}`}}const gi=[`aria-label`,`tabindex`],_i={"data-mlv-player":``},vi=[`poster`,`preload`],yi=[`src`,`kind`,`srclang`,`label`,`default`],bi={key:3,class:`player__native-play`};var xi=X(M({__name:`VideoPlayer`,props:{src:{type:String,required:!0},label:{type:String,required:!1,default:``},poster:{type:String,required:!1,default:``},aspectRatio:{type:String,required:!1,default:u},adTagUrl:{type:String,required:!1,default:``},adMacroParams:{type:Object,required:!1},headerBidding:{type:Object,required:!1},tracks:{type:Array,required:!1,default:()=>[]},autoplay:{type:Boolean,required:!1,default:!1},muted:{type:Boolean,required:!1,default:void 0},volume:{type:Number,required:!1},playbackRate:{type:Number,required:!1},nativeUi:{type:Boolean,required:!1,default:!1},payload:{type:[Object,String],required:!1,default:()=>({})},action:{type:[String,Object,null],required:!1,default:null},disableTapCapture:{type:Boolean,required:!1,default:!1},disableKeyboardShortcuts:{type:Boolean,required:!1,default:!1},controls:{type:Boolean,required:!1,default:!0},playInView:{type:Boolean,required:!1,default:!1},pin:{type:String,required:!1},loop:{type:Boolean,required:!1,default:!1},preload:{type:String,required:!1,default:void 0}},emits:[`state-change`],setup(e,{expose:t,emit:n}){let r=e,i=n,a=B(null),o=ie(yt(a,r,i)),s=ie(St(U(o,`isPlaying`),U(o,`isFullscreen`))),{onKeydown:c}=xt(o,s);function l(e){r.disableKeyboardShortcuts||c(e)}let u=B(null);G(()=>o.isFullscreen,e=>{e&&!r.disableKeyboardShortcuts&&te(()=>u.value?.focus())});function d(e){if(r.disableKeyboardShortcuts)return;let t=e.relatedTarget;t&&u.value?.contains(t)||requestAnimationFrame(()=>{document.activeElement===document.body&&u.value?.focus()})}re(J,o),re(Et,s),re(Dt,U(r,`action`)),re(Ot,N(Ot,kt));let f=w(()=>hi(r.aspectRatio)),p=w(()=>f.value.isPortrait),m=w(()=>f.value.cssRatio),h=w(()=>!r.poster&&!o.isReady),g=w(()=>r.pin?di:pi);function _(e){o.pause(),e()}function v(){s.onVideoTap(),o.fire(`tap`)}return t(Tt(o)),(t,n)=>(z(),T(oe(g.value),{"is-playing":o.isPlaying},{default:ce(({isPinned:t,isTucked:i,setBoxEl:c,unpin:f,scrollToPlayer:g})=>[O(`div`,{ref:c,class:F([`player`,{"player--pinned":t,"player--tucked":i,[`player--pin-${e.pin}`]:t}])},[t?(z(),T(mi,{key:0,onScrollTo:g,onDismiss:e=>_(f)},null,8,[`onScrollTo`,`onDismiss`])):E(`v-if`,!0),O(`div`,{ref_key:`shellEl`,ref:u,class:F([`player__shell`,{"player__shell--portrait":p.value}]),style:I({aspectRatio:m.value}),role:`group`,"aria-label":e.label||`Video player`,tabindex:e.disableKeyboardShortcuts?void 0:0,onMousemove:n[0]||=e=>s.onMouseMove(),onContextmenuCapture:n[1]||=K(()=>{},[`prevent`]),onMouseleave:n[2]||=e=>s.onMouseLeave(),onKeydown:l,onFocusout:d},[O(`div`,_i,[O(`video`,{ref_key:`videoEl`,ref:a,class:F([`mlv-video`,{"mlv-video--hidden":h.value}]),poster:r.poster,preload:r.preload,playsinline:``},[(z(!0),D(S,null,ae(r.tracks,(e,t)=>(z(),D(`track`,{key:`${e.src}-${t}`,src:e.src,kind:e.kind??`captions`,srclang:e.srclang,label:e.label,default:e.default},null,8,yi))),128))],10,vi),!r.disableTapCapture&&!o.isNativeUi&&o.hasStarted&&!o.isAdPlaying?(z(),D(`div`,{key:0,class:`overlay__tap-capture`,onClick:v,onTouchend:K(v,[`prevent`,`stop`])},null,32)):E(`v-if`,!0),o.isAdPlaying&&!o.isNativeUi?(z(),T(ti,{key:1})):E(`v-if`,!0),r.controls&&!o.isNativeUi?(z(),T(Jr,{key:2})):E(`v-if`,!0),r.controls&&o.isNativeUi&&!o.hasStarted?(z(),D(`div`,bi,[j(Xn,{player:o,class:`ppbtn ppbtn--lg`},null,8,[`player`])])):E(`v-if`,!0)])],46,gi)],2)]),_:1},8,[`is-playing`]))}}),[[`__scopeId`,`data-v-4ab3cf75`]]);function Si(e,t){window.dispatchEvent(new CustomEvent(e,{detail:t}))}function Ci(e,t){let n=e=>t(e.detail);R(()=>window.addEventListener(e,n)),L(()=>window.removeEventListener(e,n))}function wi(e=()=>!0){let t=se(null),n={};for(let r of Ct)n[r]=async(...n)=>{await e(r)&&await t.value?.[r]?.(...n)};for(let e of wt)n[e]=w(()=>t.value?.[e]);return{playerRef:t,forwarded:n}}function Ti(e,t){let n=w(()=>!e.value||!t.value?-1:e.value.findIndex(e=>e.src===t.value?.src)),r=w(()=>n.value===-1||!e.value?null:e.value[n.value+1]??null),i=w(()=>n.value<=0||!e.value?null:e.value[n.value-1]??null);return{hasNext:w(()=>r.value!==null),hasPrevious:w(()=>i.value!==null),nextEntry:r,previousEntry:i}}function Ei(){return localStorage.getItem(r)===`true`}function Di(e){localStorage.setItem(r,String(e))}const Oi=[`src`],ki={class:`stage__idle-body`},Ai={class:`stage__idle-btn`},ji={class:`stage__idle-title`},Mi={key:1,class:`stage__idle-empty`};var Ni=X(M({__name:`VideoStage`,props:{pin:{type:String,required:!1,default:`bottom-right`},playlist:{type:Array,required:!1}},emits:[`state-change`],setup(t,{expose:n,emit:r}){let i=t,a=r,o=B(Ei());G(o,Di);let s=w(()=>!!i.playlist?.length),c=B(null),l=B(!1),u=B(!1);function f(e){a(`state-change`,{type:e,currentTime:0,duration:0,src:c.value?.src??``})}G(l,e=>f(e?`stageopen`:`stageclose`));let{playerRef:p,forwarded:m}=wi(()=>l.value),h=B(null),g=B(null),_=B(!1),{hasNext:v,hasPrevious:y,nextEntry:b,previousEntry:ee}=Ti(U(i,`playlist`),c),x=w(()=>_.value&&!!c.value&&l.value),C=w(()=>x.value&&ai.value),k=w(()=>hi(c.value?.aspectRatio||`16:9`).cssRatio),{wrapperStyle:A,clear:M}=li(h,g,x),N=null;function te(){N?.disconnect(),h.value&&(N=new IntersectionObserver(([e])=>{let t=!e.isIntersecting;if(!c.value||!l.value){_.value=t;return}cr(g.value,()=>{_.value=t})},{threshold:.98}),N.observe(h.value))}G(h,te);function ne(){c.value&&(c.value={...c.value,autoplay:!0,muted:Ue(c.value.muted)},l.value=!0)}function ae(){ne()}function V(){ui(h.value)}function oe(){c.value=null,l.value=!1,u.value=!1,M(),se()}function se(){ri.currentSrc=c.value?.src??null,ri.isPlaying=u.value}let ce=w(()=>{let{fromGesture:e,lazy:t,autoStage:n,...r}=c.value??{src:``};return r});function K(e){if(c.value?.src===e.src&&l.value){e.fromGesture&&p.value?.togglePlay();return}c.value=e,l.value=!1,u.value=!1,se(),l.value=!0}function le(e){if(c.value&&e.src===c.value.src){if(!l.value){ne();return}p.value?.togglePlay()}}function ue(e,t){e&&K({...e,fromGesture:t,autoplay:!0,muted:e.muted??p.value?.isMuted??Ue(void 0,t),volume:e.volume??p.value?.vol})}function de(e=!0){ue(b.value,e)}function fe(e=!0){ue(ee.value,e)}function pe(e){e.type===`play`&&(u.value=!0),(e.type===`pause`||e.type===`ended`)&&(u.value=!1),e.type===`ended`&&o.value&&de(!1),se(),a(`state-change`,e)}return re(Ot,ie({hasPlaylist:s,hasNext:v,hasPrevious:y,autoAdvance:o,playNext:()=>de(),playPrevious:()=>fe(),toggleAutoAdvance:()=>{o.value=!o.value}})),Ci(d,K),Ci(e,le),R(oi),L(()=>{si(),N?.disconnect(),ri.currentSrc=null,ri.isPlaying=!1}),n({playNext:de,playPrevious:fe,hasNext:v,hasPrevious:y,...m}),(e,n)=>(z(),D(`div`,{ref_key:`wrapperEl`,ref:h,class:`stage-wrapper`,style:I(W(A))},[O(`div`,{ref_key:`stageEl`,ref:g,class:F([`stage`,{"stage--minified":x.value,"stage--tucked":C.value,[`stage--pin-${t.pin}`]:x.value}])},[x.value?(z(),T(mi,{key:0,onScrollTo:V,onDismiss:oe})):E(`v-if`,!0),c.value&&l.value?(z(),T(xi,P({ref_key:`playerRef`,ref:p,key:c.value.src},ce.value,{onStateChange:pe}),null,16)):(z(),D(`div`,{key:2,class:`stage__idle`,style:I({aspectRatio:k.value}),onClick:ae},[c.value?.poster?(z(),D(`img`,{key:0,src:c.value.poster,class:`stage__idle-poster`},null,8,Oi)):E(`v-if`,!0),n[0]||=O(`div`,{class:`stage__idle-scrim`},null,-1),O(`div`,ki,[c.value?(z(),D(S,{key:0},[O(`div`,Ai,[j(W(On))]),O(`p`,ji,H(c.value.label),1)],64)):(z(),D(`p`,Mi,`Select a video to play`))])],4))],2)],4))}}),[[`__scopeId`,`data-v-fb8c86cf`]]),Pi=M({__name:`PlayPauseIcon`,props:{isPlaying:{type:Boolean,required:!0},hasEnded:{type:Boolean,required:!1,default:!1}},setup(e){return(t,n)=>e.isPlaying?(z(),T(W(bn),{key:0})):e.hasEnded?(z(),T(W(In),{key:1})):(z(),T(W(On),{key:2}))}});const Fi={class:`placeholder`},Ii=[`src`,`alt`],Li={class:`placeholder__btn-wrap`},Ri=[`aria-label`],zi={key:1,class:`placeholder__footer`},Bi={class:`placeholder__title`};var Vi=X(M({__name:`VideoPlaceholder`,props:{lazy:{type:Boolean,required:!1},autoStage:{type:Boolean,required:!1,default:!1},src:{type:String,required:!0},label:{type:String,required:!1,default:``},poster:{type:String,required:!1,default:``},aspectRatio:{type:String,required:!1,default:u},adTagUrl:{type:String,required:!1,default:``},adMacroParams:{type:Object,required:!1},headerBidding:{type:Object,required:!1},tracks:{type:Array,required:!1},autoplay:{type:Boolean,required:!1,default:!1},muted:{type:Boolean,required:!1,default:void 0},volume:{type:Number,required:!1},playbackRate:{type:Number,required:!1},nativeUi:{type:Boolean,required:!1,default:!1},payload:{type:[Object,String],required:!1,default:()=>({})},action:{type:[String,Object,null],required:!1,default:null},disableTapCapture:{type:Boolean,required:!1},disableKeyboardShortcuts:{type:Boolean,required:!1},controls:{type:Boolean,required:!1},playInView:{type:Boolean,required:!1},pin:{type:String,required:!1},loop:{type:Boolean,required:!1},preload:{type:String,required:!1}},emits:[`enter-view`],setup(e,{emit:t}){let n=e,r=t,i=w(()=>hi(n.aspectRatio)),a=w(()=>i.value.isPortrait),o=w(()=>i.value.cssRatio),s=B(null),c=null,l=w(()=>ri.currentSrc===n.src),u=w(()=>l.value&&ri.isPlaying),f=w(()=>l.value&&u.value?`Pause`:`Play`);function p(e,t,r){Si(d,{...n,fromGesture:e,...t!==void 0&&{autoplay:t},...r!==void 0&&{muted:r}})}function m(){p(!0,!0,Ue(n.muted))}return R(()=>{n.autoStage&&p(!1),n.playInView&&s.value&&(c=pt(s.value,()=>r(`enter-view`)))}),L(()=>c?.()),(t,n)=>(z(),D(`div`,Fi,[O(`div`,{ref_key:`shellEl`,ref:s,class:F([`placeholder__shell`,{"placeholder__shell--portrait":a.value,"placeholder__shell--active":l.value}]),style:I({aspectRatio:o.value}),onClick:m},[e.poster?(z(),D(`img`,{key:0,class:`placeholder__poster`,src:e.poster,alt:f.value},null,8,Ii)):E(`v-if`,!0),n[0]||=O(`div`,{class:`placeholder__scrim`},null,-1),O(`div`,Li,[O(`button`,{type:`button`,class:`ppbtn ppbtn--lg`,"aria-label":f.value,onClick:K(m,[`stop`])},[j(Pi,{"is-playing":l.value&&u.value},null,8,[`is-playing`])],8,Ri)]),f.value?(z(),D(`div`,zi,[O(`p`,Bi,H(f.value),1)])):E(`v-if`,!0)],6)]))}}),[[`__scopeId`,`data-v-dbcb4f82`]]),Hi=M({__name:`VideoCard`,props:{lazy:{type:Boolean,required:!1,default:!0},autoStage:{type:Boolean,required:!1},src:{type:String,required:!0},label:{type:String,required:!1},poster:{type:String,required:!1},aspectRatio:{type:String,required:!1},adTagUrl:{type:String,required:!1},adMacroParams:{type:Object,required:!1},headerBidding:{type:Object,required:!1},tracks:{type:Array,required:!1},autoplay:{type:Boolean,required:!1},muted:{type:Boolean,required:!1,default:void 0},volume:{type:Number,required:!1},playbackRate:{type:Number,required:!1},nativeUi:{type:Boolean,required:!1},payload:{type:[Object,String],required:!1},action:{type:[String,Object,null],required:!1,default:null},disableTapCapture:{type:Boolean,required:!1},disableKeyboardShortcuts:{type:Boolean,required:!1},controls:{type:Boolean,required:!1,default:void 0},playInView:{type:Boolean,required:!1},pin:{type:String,required:!1},loop:{type:Boolean,required:!1},preload:{type:String,required:!1}},emits:[`state-change`],setup(e,{expose:t,emit:n}){let r=e,i=n,a=B(!1),o=B(!1);function s(){o.value=!0,a.value=!0}async function c(){a.value||(a.value=!0,await te())}let{playerRef:l,forwarded:u}=wi(async e=>ii.value?(e===`togglePlay`&&Si(d,{...r,fromGesture:!0,autoplay:!0,muted:Ue(r.muted)}),!1):(await c(),!0));return t(u),(e,t)=>W(ii)?(z(),T(Vi,ne(P({key:0},r)),null,16)):(z(),D(S,{key:1},[r.lazy&&!a.value&&!r.autoplay?(z(),T(Vi,P({key:0},r,{onClickCapture:s,onEnterView:t[0]||=e=>a.value=!0}),null,16)):(z(),T(xi,P({key:1,ref_key:`playerRef`,ref:l},r,{autoplay:a.value||r.autoplay,muted:W(Ue)(r.muted,o.value),onStateChange:t[1]||=e=>i(`state-change`,e)}),null,16,[`autoplay`,`muted`]))],64))}}),Ui=X(M({__name:`HideMarker`,setup(e){let t=B(null),n=null;return R(()=>{t.value&&(n=new IntersectionObserver(([e])=>{ai.value=e.isIntersecting}),n.observe(t.value))}),L(()=>{n?.disconnect(),ai.value=!1}),(e,n)=>(z(),D(`div`,{ref_key:`el`,ref:t,class:`mlv-hide-marker`},null,512))}}),[[`__scopeId`,`data-v-bacb702a`]]);const Wi=[`aria-label`];var Gi=X(M({__name:`MuteButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Z(U(t,`player`),U(t,`for`));return(e,t)=>(z(),D(`button`,{type:`button`,class:`mlv-mute-button`,"aria-label":W(n)?.isMuted?`Unmute`:`Mute`,onClick:t[0]||=e=>W(n)?.toggleMute()},[V(e.$slots,`default`,{isMuted:W(n)?.isMuted??!1},()=>[j(er,{"is-audible":W(n)?.isAudible??!1},null,8,[`is-audible`])],!0)],8,Wi))}}),[[`__scopeId`,`data-v-1940b598`]]);const Ki=[`aria-pressed`];var qi=X(M({__name:`LoopButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Z(U(t,`player`),U(t,`for`));return(e,t)=>(z(),D(`button`,{type:`button`,class:F([`mlv-loop-button`,{"mlv-loop-button--active":W(n)?.isLooping}]),"aria-pressed":W(n)?.isLooping??!1,"aria-label":`Toggle loop`,onClick:t[0]||=e=>W(n)?.toggleLoop()},[V(e.$slots,`default`,{isLooping:W(n)?.isLooping??!1},()=>[j(W(fn))],!0)],10,Ki))}}),[[`__scopeId`,`data-v-e32eda25`]]);const Ji=[`aria-label`];var Yi=X(M({__name:`CaptionsButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Z(U(t,`player`),U(t,`for`)),r=w(()=>n.value?Ar(n.value):null),i=w(()=>r.value?.currentCaptionLabel()??`Off`);function a(){r.value?.cycleCaptionTrack()}return(e,t)=>W(n)?.supportsCaptions?(z(),D(`button`,{key:0,type:`button`,class:F([`mlv-captions-button`,{"mlv-captions-button--active":W(n)?.activeCaptionIndex!==null}]),"aria-label":`Captions: ${i.value}`,onClick:a},[V(e.$slots,`default`,{currentLabel:i.value,tracks:W(n)?.captionTracks??[],activeIndex:W(n)?.activeCaptionIndex??null},()=>[j(W(Vt))],!0)],10,Ji)):E(`v-if`,!0)}}),[[`__scopeId`,`data-v-2572c4f2`]]);const Xi=[`aria-label`];var Zi=X(M({__name:`QualityButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Z(U(t,`player`),U(t,`for`)),r=w(()=>n.value?jr(n.value):null),i=w(()=>r.value?.currentQualityLabel()??`Auto`);function a(){r.value?.cycleQuality()}return(e,t)=>W(n)?.supportsQuality?(z(),D(`button`,{key:0,type:`button`,class:F([`mlv-quality-button`,{"mlv-quality-button--active":!W(n)?.isAutoQuality}]),"aria-label":`Quality: ${i.value}`,onClick:a},[V(e.$slots,`default`,{currentLabel:i.value,levels:W(n)?.qualityLevels??[],currentIndex:W(n)?.currentQualityIndex??null,isAuto:W(n)?.isAutoQuality??!0},()=>[j(W(Mn))],!0)],10,Xi)):E(`v-if`,!0)}}),[[`__scopeId`,`data-v-d1352878`]]);const Qi=[`aria-label`];var $i=X(M({__name:`PlaybackRateButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Z(U(t,`player`),U(t,`for`)),r=w(()=>n.value?kr(n.value):null),i=w(()=>r.value?r.value.fmtRate(n.value.currentPlaybackRate):`1×`);function a(){r.value?.cycleRate()}return(e,t)=>W(n)?.supportsPlaybackRate?(z(),D(`button`,{key:0,type:`button`,class:F([`mlv-playback-rate-button`,{"mlv-playback-rate-button--active":W(n)?.currentPlaybackRate!==1}]),"aria-label":`Playback speed: ${i.value}`,onClick:a},[V(e.$slots,`default`,{currentLabel:i.value,rate:W(n)?.currentPlaybackRate??1,rates:[...W(g)]},()=>[A(H(i.value),1)],!0)],10,Qi)):E(`v-if`,!0)}}),[[`__scopeId`,`data-v-646c9bc1`]]);const ea=[`aria-label`,`aria-pressed`],ta=[`aria-current`,`onClick`],na={class:`mlv-transcript__time`},ra={class:`mlv-transcript__text`};var ia=X(M({__name:`Transcript`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1},cues:{type:[Array,String],required:!1}},setup(e){let t=e,n=Z(U(t,`player`),U(t,`for`)),r=w(()=>{if(typeof t.cues!=`string`)return t.cues??[];try{return JSON.parse(t.cues)}catch{return[]}}),i=w(()=>{let e=n.value?.current??0,t=r.value;for(let n=t.length-1;n>=0;n--){let r=t[n];if(!(r.time>e))return r.end!==void 0&&e>=r.end?null:n}return null}),a=B(null),o=B(!1);function s(e){let t=n.value;t&&(t.total>0&&t.seek(e.time/t.total*100),t.play().catch(()=>{}))}G(i,async e=>{e===null||o.value||(await te(),a.value?.querySelector(`.mlv-transcript__cue--active`)?.scrollIntoView?.({block:`nearest`,behavior:`smooth`}))});let c=typeof window<`u`&&`speechSynthesis`in window,l=B(!1),u=B(!1);function d(){if(c){if(l.value=!l.value,l.value){n.value&&!n.value.isMuted&&(n.value.toggleMute(),u.value=!0);return}window.speechSynthesis.cancel(),u.value&&n.value?.isMuted&&n.value.toggleMute(),u.value=!1}}return G(i,e=>{if(!c||!l.value||e===null)return;let t=r.value[e];if(!t)return;window.speechSynthesis.cancel();let n=new SpeechSynthesisUtterance(t.text);n.pitch=2,n.rate=1.5,window.speechSynthesis.speak(n)}),G(()=>n.value?.isMuted,e=>{c&&l.value&&e===!1&&(window.speechSynthesis.cancel(),l.value=!1,u.value=!1)}),L(()=>{c&&window.speechSynthesis.cancel(),u.value&&n.value?.isMuted&&n.value.toggleMute()}),(e,t)=>(z(),D(S,null,[W(c)?(z(),D(`button`,{key:0,type:`button`,class:`mlv-transcript__speech-toggle`,"aria-label":l.value?`Mute transcript readout`:`Unmute transcript readout`,"aria-pressed":l.value,onClick:d},[l.value?(z(),T(Jn,{key:0})):(z(),T(Wn,{key:1}))],8,ea)):E(`v-if`,!0),O(`ol`,{ref_key:`listEl`,ref:a,class:`mlv-transcript`,onPointerenter:t[0]||=e=>o.value=!0,onPointerleave:t[1]||=e=>o.value=!1},[(z(!0),D(S,null,ae(r.value,(t,n)=>(z(),D(`li`,{key:`${t.time}-${n}`,class:`mlv-transcript__item`},[O(`button`,{type:`button`,class:F([`mlv-transcript__cue`,{"mlv-transcript__cue--active":n===i.value}]),"aria-current":n===i.value?`true`:void 0,onClick:e=>s(t)},[V(e.$slots,`default`,{cue:t,index:n,isActive:n===i.value,formatTime:W(Q)},()=>[O(`span`,na,H(W(Q)(t.time)),1),O(`span`,ra,H(t.text),1)],!0)],10,ta)]))),128))],544)],64))}}),[[`__scopeId`,`data-v-c166a2c5`]]);function aa(e,t){if(t)for(let n of Object.keys(t)){let r=t[n];typeof r==`function`?e[n]=r:Object.defineProperty(e,n,{get:()=>t[n],enumerable:!0,configurable:!0})}}const oa={install(e){e.component(`VideoPlayer`,xi),e.component(`VideoStage`,Ni),e.component(`VideoPlaceholder`,Vi),e.component(`VideoCard`,Hi),e.component(`HideMarker`,Ui),e.component(`Scrubber`,gr),e.component(`PlayButton`,Xn),e.component(`MuteButton`,Gi),e.component(`FullscreenButton`,ur),e.component(`Buffering`,$n),e.component(`LoopButton`,qi),e.component(`PipButton`,fr),e.component(`CaptionsButton`,Yi),e.component(`QualityButton`,Zi),e.component(`PlaybackRateButton`,$i),e.component(`VolumeSlider`,Cr),e.component(`TimeDisplay`,yr),e.component(`Transcript`,ia)}};export{$n as Buffering,Yi as CaptionsButton,ur as FullscreenButton,Ui as HideMarker,qi as LoopButton,Gi as MuteButton,fr as PipButton,Xn as PlayButton,$i as PlaybackRateButton,Zi as QualityButton,gr as Scrubber,yr as TimeDisplay,ia as Transcript,Hi as VideoCard,Vi as VideoPlaceholder,xi as VideoPlayer,oa as VideoPlayerPlugin,oa as default,Ni as VideoStage,Cr as VolumeSlider,aa as exposePlayerOnElement,xe as registerPlatform,de as resolvePlatform,Ar as useCaptions,wi as useForwardedPlayer,kr as usePlaybackRate,jr as useQuality,pr as useScrubber};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@munsonlabs/video-player",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.5",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist"
|
|
@@ -54,16 +54,18 @@
|
|
|
54
54
|
"clean": "rm -rf dist",
|
|
55
55
|
"lint": "vp lint",
|
|
56
56
|
"fmt": "vp fmt",
|
|
57
|
-
"typecheck": "vp check --types",
|
|
58
57
|
"check": "vp check",
|
|
59
58
|
"test": "vp test",
|
|
60
59
|
"test:watch": "vp test --watch"
|
|
61
60
|
},
|
|
62
61
|
"devDependencies": {
|
|
63
62
|
"@munsonlabs/shipkit": "*",
|
|
63
|
+
"@vitest/browser-playwright": "4.1.11",
|
|
64
64
|
"dashjs": "^4.7.4",
|
|
65
65
|
"hls.js": "^1.6.16",
|
|
66
|
-
"
|
|
66
|
+
"playwright": "1.62.1",
|
|
67
|
+
"vitest-browser-vue": "^2.1.0",
|
|
68
|
+
"vue": "3.5.42"
|
|
67
69
|
},
|
|
68
70
|
"peerDependencies": {
|
|
69
71
|
"dashjs": "^4.7.4",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=`video-select`,t=`video-toggle`,n=`video-state`,r=`fullscreen-pending`,i=`fullscreen-pending-done`,a=`player:positions`,o=`player:autoAdvance`,s=`player:audio`,c={muted:!1,volume:1},l=`mlv-tech`,u=`mlv-youtube`,d=`mlv-vimeo`,f=`mlv-dailymotion`,p=`mlv-ad-playing`,m=`mlv-ad-paused`,h=`16:9`,g=`application/x-mpegURL`,_=`application/dash+xml`,v=`video/mp4`,y=[g,v],b=[.5,.75,1,1.25,1.5,2],x=3500,S=.1,C=3e3,w=[[.25,`firstQuartile`],[.5,`midpoint`],[.75,`thirdQuartile`]],T=.1,E=`https://imasdk.googleapis.com/js/sdkloader/ima3.js`,D=`https://player.vimeo.com/api/player.js`,O=`https://cdn.jwplayer.com/v2/media`,k=`https://edge.api.brightcove.com/playback/v1/accounts`,A=`https://players.brightcove.net`;export{n as A,C,a as D,o as E,D as O,w as S,s as T,l as _,c as a,S as b,E as c,v as d,m as f,i as g,r as h,h as i,t as j,e as k,O as l,f as m,A as n,g as o,p,_ as r,x as s,k as t,T as u,d as v,y as w,b as x,u as y};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{m as e}from"./constants-zR-UwEWY.mjs";import{r as t}from"./embedShared-duyOYFQN.mjs";import{t as n}from"./loadScript-Du6JsTc2.mjs";function r(e){let t=e.match(/[?&]video=([a-zA-Z0-9]+)/);return t?t[1]:e.match(/(?:dailymotion\.com\/(?:embed\/)?video\/|dai\.ly\/)([a-zA-Z0-9]+)/)?.[1]??null}function i(i,a){let o=null;return t(i,a,{cssClass:e,connect:async({techId:e,emitter:t,state:i,isDisposed:s,consumeQueuedPlay:c})=>{let l=r(a.src);if(!l){i.errorState={code:4,message:`Could not parse video ID from source URL`},t.trigger(`error`);return}let u=!1;try{let r=typeof a.customVars?.playerId==`string`?a.customVars.playerId:void 0,d=r?`https://geo.dailymotion.com/libs/player/${r}.js`:`https://geo.dailymotion.com/libs/player.js`,f=await n(d,r||`dailymotion-sdk`).then(()=>window.dailymotion);if(!f||s())return;let p=await f.createPlayer(e,{...r&&{player:r},video:l,params:{autoplay:!!a.autoplay,mute:!!a.muted}});o=p,a.volume!==void 0&&p.setVolume(a.volume);let m=f.events;c(()=>o?.play()),p.on(m.PLAYER_CRITICALPATHREADY,e=>{let n=e.videoThumbnails;if(!n)return;let r=Object.keys(n).map(Number).sort((e,t)=>t-e)[0],i=r===void 0?void 0:n[r];i&&t.trigger(`posterchange`,i)}),p.on(m.VIDEO_PLAY,()=>{i.paused=!1,t.trigger(`play`),t.trigger(`playing`),!a.autoplay&&!u&&(u=!0,p.pause())}),p.on(m.VIDEO_PLAYING,()=>{i.paused=!1,t.trigger(`play`),t.trigger(`playing`)}),p.on(m.VIDEO_PAUSE,()=>{i.paused=!0,t.trigger(`pause`)}),m.VIDEO_BUFFERING&&p.on(m.VIDEO_BUFFERING,()=>t.trigger(`waiting`)),p.on(m.VIDEO_END,()=>{i.paused=!0,t.trigger(`ended`)}),p.on(m.VIDEO_TIMECHANGE,e=>{i.currentTime=e.videoTime??i.currentTime,i.duration=e.videoDuration??i.duration,t.trigger(`timeupdate`)}),p.on(m.VIDEO_DURATIONCHANGE,e=>{i.duration=e.videoDuration??i.duration,t.trigger(`durationchange`)}),p.on(m.VIDEO_SEEKSTART,()=>t.trigger(`seeking`)),p.on(m.VIDEO_SEEKEND,e=>{i.currentTime=e.videoTime??i.currentTime,t.trigger(`seeked`)}),p.on(m.PLAYER_VOLUMECHANGE,e=>{i.volume=e.playerVolume??i.volume,i.muted=e.playerIsMuted??i.muted,t.trigger(`volumechange`)}),p.on(m.PLAYER_ERROR,()=>t.trigger(`error`)),m.AD_START&&p.on(m.AD_START,()=>{i.paused=!1,t.trigger(`play`),t.trigger(`adstart`)}),m.AD_END&&p.on(m.AD_END,()=>t.trigger(`adend`))}catch(e){i.errorState={code:4,message:e instanceof Error?e.message:`This video could not be played.`},t.trigger(`error`)}},hasPlayer:()=>!!o,play:()=>o?.play(),pause:()=>o?.pause(),seekToSdk:e=>o?.seek(e),volumeToSdk:e=>o?.setVolume(e),muteToSdk:(e,t)=>o?.setMute(t),sdkFullscreenEnter:()=>o?.setFullscreen(!0),sdkFullscreenExit:()=>o?.setFullscreen(!1),destroyPlayer:()=>{let e=o;o=null,e?.destroy?.()}})}export{i as createDailymotionAdapter};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as e,g as t,h as n}from"./constants-zR-UwEWY.mjs";import{n as r,r as i,t as a}from"./platform-Dg9JBh8M.mjs";function o(){let e=new Map;function t(t,n){for(let r of Array.isArray(t)?t:[t])e.has(r)||e.set(r,new Set),e.get(r)?.add(n)}function n(t,n){e.get(t)?.delete(n)}function r(t,...n){e.get(t)?.forEach(e=>e(...n))}function i(){e.clear()}return{on:t,off:n,trigger:r,dispose:i}}const s={supportsCaptions:()=>!1,getCaptionTracks:()=>[],setCaptionTrack:()=>{},getActiveCaptionTrack:()=>null,supportsQuality:()=>!1,getQualityLevels:()=>[],getCurrentQuality:()=>null,isAutoQuality:()=>!0,setQuality:()=>{},supportsPip:()=>!1,isPipActive:()=>!1,togglePip:()=>{}};let c=0;function l(e){let t=e.querySelector(`iframe`);if(t){t.tabIndex=-1;return}let n=new MutationObserver(()=>{let t=e.querySelector(`iframe`);t&&(t.tabIndex=-1,n.disconnect())});n.observe(e,{childList:!0,subtree:!0})}function u(t,n,r){t.parentElement?.classList.add(n);let i=`${n}-${++c}`,a=document.createElement(`div`);a.id=i,a.className=e,a.style.cssText=`width:100%;height:100%;top:0;left:0;position:absolute`;let o=document.createElement(`div`);return o.style.cssText=`width:100%;height:100%;position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity 0.2s`,o.appendChild(a),t.parentElement?.insertBefore(o,t),r||l(o),{techId:i,wrapper:o,innerDiv:a}}function d(e,t){e.style.display=`none`,t.style.opacity=`1`,t.style.pointerEvents=``}function f(e,t,n){t.remove(),e.parentElement?.classList.remove(n),e.style.display=``}function p(e){return e.closest(`.player__shell`)}function m(e,t){if(r()&&t()!==!1)return;let n=p(e);n&&i(n)}function h(){a()}function g(){let e=new Set;return{schedule(t,n=0){let r=setTimeout(()=>{e.delete(r),t()},n);e.add(r)},clearAll(){e.forEach(clearTimeout),e.clear()}}}function _(e){e.trigger(n);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=!1;function a(){i||e.trigger(t)}function o(n){i||(i=!0,e.trigger(t),r.remove(),n?.())}return{overlay:r,reveal:a,finish:o}}function v(e,t,n){let i=o(),{techId:c,wrapper:l}=u(e,n.cssClass,t.nativeUi),{schedule:d,clearAll:p}=g(),h={currentTime:0,duration:0,volume:t.volume??1,muted:!1,paused:!0,playQueued:!1,errorState:null},_=!1,v={techId:c,wrapper:l,emitter:i,state:h,schedule:d,isDisposed:()=>_,consumeQueuedPlay(e){h.playQueued&&(h.playQueued=!1,e())}};n.connect(v);function y(){m(e,()=>{if(!n.sdkFullscreenEnter)return!1;n.sdkFullscreenEnter()})}function b(){if(r()&&n.sdkFullscreenExit){n.sdkFullscreenExit();return}a()}return{el:l,play:()=>{n.hasPlayer()?n.play():h.playQueued=!0},pause:()=>n.pause(),paused:()=>h.paused,currentTime:()=>h.currentTime,setCurrentTime:e=>{if(n.setCurrentTime){n.setCurrentTime(v,e);return}h.currentTime=e,n.seekToSdk?.(e),i.trigger(`seeking`)},duration:()=>h.duration,volume:()=>h.volume,setVolume:e=>{h.volume=e,n.volumeToSdk(e)},muted:()=>h.muted,setMuted:e=>{h.muted=e,n.muteToSdk(v,e)},...n.rate?n.rate(v):{playbackRate:()=>1,setPlaybackRate:()=>{}},bufferedEnd:()=>h.currentTime,error:()=>h.errorState,setSrc:()=>{},supportsPlaybackRate:()=>!1,...s,enterFullscreen:y,exitFullscreen:b,on:i.on,off:i.off,dispose:()=>{_=!0,p(),n.destroyPlayer(),f(e,l,n.cssClass),i.dispose()}}}export{m as a,d as c,o as d,g as i,_ as l,u as n,h as o,v as r,p as s,s as t,f as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e={};function t(t,n=t){return e[n]||(e[n]=new Promise((e,n)=>{let r=document.createElement(`script`);r.src=t,r.onload=()=>e(),r.onerror=()=>n(Error(`Failed to load script: ${t}`)),document.head.appendChild(r)})),e[n]}export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{O as e,v as t}from"./constants-zR-UwEWY.mjs";import{r as n}from"./embedShared-duyOYFQN.mjs";import{t as r}from"./loadScript-Du6JsTc2.mjs";function i(e){return e.match(/(?:vimeo\.com\/(?:video\/|channels\/[^/]+\/|groups\/[^/]+\/videos\/)?|player\.vimeo\.com\/video\/)(\d+)/)?.[1]??null}function a(a,o){let s=null,c=1;return n(a,o,{cssClass:t,connect:async({techId:t,emitter:n,state:a,isDisposed:c,consumeQueuedPlay:l})=>{let u=i(o.src);if(!u||(await r(e,`vimeo`),c()||!window.Vimeo))return;let d={id:Number(u),byline:!1,portrait:!1,title:!1,transparent:!0,controls:!!o.nativeUi,autopause:!1,...o.autoplay!==void 0&&{autoplay:o.autoplay},...o.muted!==void 0&&{muted:o.muted}};s=new window.Vimeo.Player(t,d),o.autoplay&&(a.playQueued=!0),s.ready().then(()=>{o.muted&&s?.setMuted(!0).catch(()=>{}),o.volume!==void 0&&s?.setVolume(o.volume).catch(()=>{}),l(()=>void s?.play().catch(()=>{}))}).catch(e=>{a.errorState={code:4,message:e?.message||`This video is unavailable or cannot be embedded here.`},n.trigger(`error`)}),s.on(`play`,()=>{a.paused=!1,n.trigger(`play`),n.trigger(`playing`)}),s.on(`pause`,()=>{a.paused=!0,n.trigger(`pause`)}),s.on(`ended`,()=>{a.paused=!0,n.trigger(`ended`)});let f=!1;s.on(`timeupdate`,e=>{let{seconds:t,duration:r}=e;a.currentTime=t,a.duration=r,n.trigger(`timeupdate`),r&&!f&&(f=!0,n.trigger(`durationchange`))}),s.on(`loaded`,()=>{f=!1,n.trigger(`loadedmetadata`),n.trigger(`durationchange`)}),s.on(`seeking`,e=>{a.currentTime=e.seconds,n.trigger(`seeking`)}),s.on(`seeked`,e=>{a.currentTime=e.seconds,n.trigger(`seeked`),n.trigger(`timeupdate`)}),s.on(`bufferstart`,()=>n.trigger(`waiting`)),s.on(`bufferend`,()=>n.trigger(`canplay`)),s.on(`volumechange`,e=>{a.volume=e.volume,n.trigger(`volumechange`)}),s.on(`error`,()=>n.trigger(`error`))},hasPlayer:()=>!!s,play:()=>void s?.play().catch(()=>{}),pause:()=>void s?.pause().catch(()=>{}),rate:({emitter:e})=>({playbackRate:()=>c,setPlaybackRate:t=>{c=t,s?.setPlaybackRate(t).catch(()=>{}),e.trigger(`ratechange`)}}),setCurrentTime:({emitter:e},t)=>{s?.setCurrentTime(t).catch(()=>{}),e.trigger(`timeupdate`),e.trigger(`seeking`)},volumeToSdk:e=>void s?.setVolume(e).catch(()=>{}),muteToSdk:({emitter:e,schedule:t},n)=>{s?.setMuted(n).then(()=>t(()=>e.trigger(`volumechange`),50)).catch(()=>{})},sdkFullscreenEnter:()=>void s?.requestFullscreen().catch(()=>{}),destroyPlayer:()=>{let e=s;s=null,e?.destroy().catch(()=>{})}})}export{a as createVimeoAdapter};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{y as e}from"./constants-zR-UwEWY.mjs";import{a as t,d as n,i as r,l as i,n as a,o,t as s,u as c}from"./embedShared-duyOYFQN.mjs";import{t as l}from"./loadScript-Du6JsTc2.mjs";function u(e,t){return t===e.PlayerState.PLAYING||t===e.PlayerState.BUFFERING}function d(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}let f=!1,p=!1;const m=[];function h(){p||(p=!0,l(`https://www.youtube.com/iframe_api`).then(()=>{window.YT?.ready(()=>{f=!0,m.forEach(e=>e()),m.length=0})}))}function g(l,p){h();let g=n(),{techId:_,wrapper:v}=a(l,e,p.nativeUi),y=d(p.src),b=null,x=y.videoId,S=!1,C=!1,w=!1,T=null,E=!1,D=null,O=!1,{schedule:k,clearAll:A}=r(),j=null,M={active:!1,wasPaused:!1,timeBefore:0,catchUpInterval:null};function N(){try{let e=b?.getPlayerResponse()?.adPlacements;return Array.isArray(e)&&e.length>0}catch{return!1}}function P(e){b?.loadVideoById({videoId:e})}function F(e){b?.cueVideoById({videoId:e})}function I(){y.videoId&&(M.wasPaused=!1,S?x===y.videoId?b?.playVideo():(P(y.videoId),x=y.videoId):(g.trigger(`waiting`),C=!0))}function L(){M.catchUpInterval&&clearInterval(M.catchUpInterval),M.active=!1,M.wasPaused&&b?.pauseVideo(),g.trigger(`seeked`)}function R(){O=(b?.getAvailablePlaybackRates()??[]).length>1,S=!0,p.muted&&b?.mute(),p.volume!==void 0&&b?.setVolume(p.volume*100),C?I():w&&y.videoId&&(F(y.videoId),x=y.videoId)}function z(e){if(e===T||D!==null)return;T=e;let t=N();t!==E&&(E=t,g.trigger(t?`adstart`:`adend`));let n=window.YT;if(n){switch(e){case-1:g.trigger(`loadstart`),g.trigger(`loadedmetadata`),g.trigger(`durationchange`),g.trigger(`ratechange`);break;case n.PlayerState.ENDED:g.trigger(`ended`);break;case n.PlayerState.PLAYING:g.trigger(`timeupdate`),g.trigger(`durationchange`),g.trigger(`playing`),g.trigger(`play`),M.active&&L();break;case n.PlayerState.PAUSED:g.trigger(`canplay`),M.active||g.trigger(`pause`);break;case n.PlayerState.BUFFERING:g.trigger(`waiting`);break;case n.PlayerState.CUED:g.trigger(`canplay`)}j&&=(clearInterval(j),null),e===n.PlayerState.PLAYING&&(j=setInterval(()=>g.trigger(`timeupdate`),250))}}function B(){let e={controls:+!!p.nativeUi,modestbranding:1,rel:0,showinfo:0,mute:+!!p.muted,origin:window.location.origin,allowfullscreen:1,fullscreen:1,fs:1,autoplay:0,playsinline:1,...p.customVars};x=y.videoId,b=new window.YT.Player(_,{videoId:x??void 0,playerVars:e,events:{onReady:R,onStateChange:e=>z(e.data),onPlaybackRateChange:()=>g.trigger(`ratechange`),onVolumeChange:()=>g.trigger(`volumechange`),onError:e=>{D=e.data,g.trigger(`error`),k(()=>{D=null})}}})}f?B():m.push(B),p.autoplay?S?I():C=!0:y.videoId&&(w=!0);function V(){if(!b)return;let e=b.getCurrentTime(),{video_id:t}=b.getVideoData();b.pauseVideo();let{overlay:n,reveal:r,finish:a}=i(g),o=document.createElement(`div`);o.id=`yt-fs-${Math.random().toString(36).slice(2)}`,n.appendChild(o);let s=null,c=()=>{document.removeEventListener(`pointerdown`,l,!0),a(()=>{let t=s?.getCurrentTime()??e;try{s?.destroy()}catch{}b?.seekTo(t,!0),g.trigger(`timeupdate`)})};function l(){c()}s=new window.YT.Player(o.id,{videoId:t,playerVars:{playsinline:0,autoplay:0,controls:1,modestbranding:1,rel:0,start:Math.floor(e)},events:{onReady:t=>{r(),t.target.seekTo(e,!0),t.target.playVideo()},onStateChange:e=>{let t=window.YT;t&&(e.data===t.PlayerState.ENDED?c():e.data===t.PlayerState.PAUSED?(document.removeEventListener(`pointerdown`,l,!0),document.addEventListener(`pointerdown`,l,{capture:!0,once:!0})):(document.removeEventListener(`pointerdown`,l,!0),r()))}}})}function H(){t(l,()=>{if(!b)return!1;V()})}return{el:v,play:I,pause:()=>b?.pauseVideo(),paused:()=>{if(!b)return!0;let e=window.YT;return!e||!u(e,T)},currentTime:()=>S?b?.getCurrentTime()??0:0,setCurrentTime:e=>{if(!S||!b)return;let t=window.YT;t&&T===t.PlayerState.PAUSED&&(M.timeBefore=b.getCurrentTime()),M.active||(M.wasPaused=!t||!u(t,T)),b.seekTo(e,!0),g.trigger(`timeupdate`),g.trigger(`seeking`),M.active=!0,t&&T===t.PlayerState.PAUSED&&M.timeBefore!==e&&(M.catchUpInterval&&clearInterval(M.catchUpInterval),M.catchUpInterval=setInterval(()=>{T!==t.PlayerState.PAUSED||!M.active?M.catchUpInterval&&clearInterval(M.catchUpInterval):b&&b.getCurrentTime()!==M.timeBefore&&(g.trigger(`timeupdate`),L())},250))},duration:()=>S?b?.getDuration()??0:0,volume:()=>S&&b?b.getVolume()/100:1,setVolume:e=>{S&&b?.setVolume(e*100)},muted:()=>S?b?.isMuted()??!1:!1,setMuted:e=>{S&&b&&(e?b.mute():b.unMute(),k(()=>g.trigger(`volumechange`),50))},playbackRate:()=>S?b?.getPlaybackRate()??1:1,setPlaybackRate:e=>{S&&b?.setPlaybackRate(e)},bufferedEnd:()=>!S||!b?.getVideoLoadedFraction?0:b.getVideoLoadedFraction()*b.getDuration(),error:()=>D===null?null:{code:D,message:`This video could not be played.`},setSrc:e=>{let t=d(e);y.videoId=t.videoId,y.listId=t.listId,y.videoId&&(S?(P(y.videoId),x=y.videoId):w=!0)},supportsPlaybackRate:()=>O,...s,enterFullscreen:H,exitFullscreen:o,on:g.on,off:g.off,dispose:()=>{if(A(),j&&clearInterval(j),M.catchUpInterval&&clearInterval(M.catchUpInterval),b)try{b.stopVideo(),b.destroy()}catch{}else{let e=m.indexOf(B);e!==-1&&m.splice(e,1)}b=null,c(l,v,e),g.dispose()}}}export{g as createYoutubeAdapter};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=`video-select`,t=`video-toggle`,n=`video-state`,r=`fullscreen-pending`,i=`fullscreen-pending-done`,a=`player:positions`,o=`player:autoAdvance`,s=`player:audio`,c={muted:!1,volume:1},l=`mlv-tech`,u=`mlv-youtube`,d=`mlv-vimeo`,f=`mlv-dailymotion`,p=`mlv-ad-playing`,m=`mlv-ad-paused`,h=`16:9`,g=`application/x-mpegURL`,_=`application/dash+xml`,v=`video/mp4`,y=[g,v],b=[.5,.75,1,1.25,1.5,2],x=3500,S=.1,C=3e3,w=[[.25,`firstQuartile`],[.5,`midpoint`],[.75,`thirdQuartile`]],T=.1,E=`https://imasdk.googleapis.com/js/sdkloader/ima3.js`,D=`https://player.vimeo.com/api/player.js`,O=`https://cdn.jwplayer.com/v2/media`,k=`https://edge.api.brightcove.com/playback/v1/accounts`,A=`https://players.brightcove.net`;export{n as A,C,a as D,o as E,D as O,w as S,s as T,l as _,c as a,S as b,E as c,v as d,m as f,i as g,r as h,h as i,t as j,e as k,O as l,f as m,A as n,g as o,p,_ as r,x as s,k as t,T as u,d as v,y as w,b as x,u as y};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{m as e}from"./constants-zR-UwEWY.mjs";import{r as t}from"./embedShared-duyOYFQN.mjs";import{t as n}from"./loadScript-Du6JsTc2.mjs";function r(e){let t=e.match(/[?&]video=([a-zA-Z0-9]+)/);return t?t[1]:e.match(/(?:dailymotion\.com\/(?:embed\/)?video\/|dai\.ly\/)([a-zA-Z0-9]+)/)?.[1]??null}function i(i,a){let o=null;return t(i,a,{cssClass:e,connect:async({techId:e,emitter:t,state:i,isDisposed:s,consumeQueuedPlay:c})=>{let l=r(a.src);if(!l){i.errorState={code:4,message:`Could not parse video ID from source URL`},t.trigger(`error`);return}let u=!1;try{let r=typeof a.customVars?.playerId==`string`?a.customVars.playerId:void 0,d=r?`https://geo.dailymotion.com/libs/player/${r}.js`:`https://geo.dailymotion.com/libs/player.js`,f=await n(d,r||`dailymotion-sdk`).then(()=>window.dailymotion);if(!f||s())return;let p=await f.createPlayer(e,{...r&&{player:r},video:l,params:{autoplay:!!a.autoplay,mute:!!a.muted}});o=p,a.volume!==void 0&&p.setVolume(a.volume);let m=f.events;c(()=>o?.play()),p.on(m.PLAYER_CRITICALPATHREADY,e=>{let n=e.videoThumbnails;if(!n)return;let r=Object.keys(n).map(Number).sort((e,t)=>t-e)[0],i=r===void 0?void 0:n[r];i&&t.trigger(`posterchange`,i)}),p.on(m.VIDEO_PLAY,()=>{i.paused=!1,t.trigger(`play`),t.trigger(`playing`),!a.autoplay&&!u&&(u=!0,p.pause())}),p.on(m.VIDEO_PLAYING,()=>{i.paused=!1,t.trigger(`play`),t.trigger(`playing`)}),p.on(m.VIDEO_PAUSE,()=>{i.paused=!0,t.trigger(`pause`)}),m.VIDEO_BUFFERING&&p.on(m.VIDEO_BUFFERING,()=>t.trigger(`waiting`)),p.on(m.VIDEO_END,()=>{i.paused=!0,t.trigger(`ended`)}),p.on(m.VIDEO_TIMECHANGE,e=>{i.currentTime=e.videoTime??i.currentTime,i.duration=e.videoDuration??i.duration,t.trigger(`timeupdate`)}),p.on(m.VIDEO_DURATIONCHANGE,e=>{i.duration=e.videoDuration??i.duration,t.trigger(`durationchange`)}),p.on(m.VIDEO_SEEKSTART,()=>t.trigger(`seeking`)),p.on(m.VIDEO_SEEKEND,e=>{i.currentTime=e.videoTime??i.currentTime,t.trigger(`seeked`)}),p.on(m.PLAYER_VOLUMECHANGE,e=>{i.volume=e.playerVolume??i.volume,i.muted=e.playerIsMuted??i.muted,t.trigger(`volumechange`)}),p.on(m.PLAYER_ERROR,()=>t.trigger(`error`)),m.AD_START&&p.on(m.AD_START,()=>{i.paused=!1,t.trigger(`play`),t.trigger(`adstart`)}),m.AD_END&&p.on(m.AD_END,()=>t.trigger(`adend`))}catch(e){i.errorState={code:4,message:e instanceof Error?e.message:`This video could not be played.`},t.trigger(`error`)}},hasPlayer:()=>!!o,play:()=>o?.play(),pause:()=>o?.pause(),seekToSdk:e=>o?.seek(e),volumeToSdk:e=>o?.setVolume(e),muteToSdk:(e,t)=>o?.setMute(t),sdkFullscreenEnter:()=>o?.setFullscreen(!0),sdkFullscreenExit:()=>o?.setFullscreen(!1),destroyPlayer:()=>{let e=o;o=null,e?.destroy?.()}})}export{i as createDailymotionAdapter};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as e,g as t,h as n}from"./constants-zR-UwEWY.mjs";import{n as r,r as i,t as a}from"./platform-Dg9JBh8M.mjs";function o(){let e=new Map;function t(t,n){for(let r of Array.isArray(t)?t:[t])e.has(r)||e.set(r,new Set),e.get(r)?.add(n)}function n(t,n){e.get(t)?.delete(n)}function r(t,...n){e.get(t)?.forEach(e=>e(...n))}function i(){e.clear()}return{on:t,off:n,trigger:r,dispose:i}}const s={supportsCaptions:()=>!1,getCaptionTracks:()=>[],setCaptionTrack:()=>{},getActiveCaptionTrack:()=>null,supportsQuality:()=>!1,getQualityLevels:()=>[],getCurrentQuality:()=>null,isAutoQuality:()=>!0,setQuality:()=>{},supportsPip:()=>!1,isPipActive:()=>!1,togglePip:()=>{}};let c=0;function l(e){let t=e.querySelector(`iframe`);if(t){t.tabIndex=-1;return}let n=new MutationObserver(()=>{let t=e.querySelector(`iframe`);t&&(t.tabIndex=-1,n.disconnect())});n.observe(e,{childList:!0,subtree:!0})}function u(t,n,r){t.parentElement?.classList.add(n);let i=`${n}-${++c}`,a=document.createElement(`div`);a.id=i,a.className=e,a.style.cssText=`width:100%;height:100%;top:0;left:0;position:absolute`;let o=document.createElement(`div`);return o.style.cssText=`width:100%;height:100%;position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity 0.2s`,o.appendChild(a),t.parentElement?.insertBefore(o,t),r||l(o),{techId:i,wrapper:o,innerDiv:a}}function d(e,t){e.style.display=`none`,t.style.opacity=`1`,t.style.pointerEvents=``}function f(e,t,n){t.remove(),e.parentElement?.classList.remove(n),e.style.display=``}function p(e){return e.closest(`.player__shell`)}function m(e,t){if(r()&&t()!==!1)return;let n=p(e);n&&i(n)}function h(){a()}function g(){let e=new Set;return{schedule(t,n=0){let r=setTimeout(()=>{e.delete(r),t()},n);e.add(r)},clearAll(){e.forEach(clearTimeout),e.clear()}}}function _(e){e.trigger(n);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=!1;function a(){i||e.trigger(t)}function o(n){i||(i=!0,e.trigger(t),r.remove(),n?.())}return{overlay:r,reveal:a,finish:o}}function v(e,t,n){let i=o(),{techId:c,wrapper:l}=u(e,n.cssClass,t.nativeUi),{schedule:d,clearAll:p}=g(),h={currentTime:0,duration:0,volume:t.volume??1,muted:!1,paused:!0,playQueued:!1,errorState:null},_=!1,v={techId:c,wrapper:l,emitter:i,state:h,schedule:d,isDisposed:()=>_,consumeQueuedPlay(e){h.playQueued&&(h.playQueued=!1,e())}};n.connect(v);function y(){m(e,()=>{if(!n.sdkFullscreenEnter)return!1;n.sdkFullscreenEnter()})}function b(){if(r()&&n.sdkFullscreenExit){n.sdkFullscreenExit();return}a()}return{el:l,play:()=>{n.hasPlayer()?n.play():h.playQueued=!0},pause:()=>n.pause(),paused:()=>h.paused,currentTime:()=>h.currentTime,setCurrentTime:e=>{if(n.setCurrentTime){n.setCurrentTime(v,e);return}h.currentTime=e,n.seekToSdk?.(e),i.trigger(`seeking`)},duration:()=>h.duration,volume:()=>h.volume,setVolume:e=>{h.volume=e,n.volumeToSdk(e)},muted:()=>h.muted,setMuted:e=>{h.muted=e,n.muteToSdk(v,e)},...n.rate?n.rate(v):{playbackRate:()=>1,setPlaybackRate:()=>{}},bufferedEnd:()=>h.currentTime,error:()=>h.errorState,setSrc:()=>{},supportsPlaybackRate:()=>!1,...s,enterFullscreen:y,exitFullscreen:b,on:i.on,off:i.off,dispose:()=>{_=!0,p(),n.destroyPlayer(),f(e,l,n.cssClass),i.dispose()}}}export{m as a,d as c,o as d,g as i,_ as l,u as n,h as o,v as r,p as s,s as t,f as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e={};function t(t,n=t){return e[n]||(e[n]=new Promise((e,n)=>{let r=document.createElement(`script`);r.src=t,r.onload=()=>e(),r.onerror=()=>n(Error(`Failed to load script: ${t}`)),document.head.appendChild(r)})),e[n]}export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{O as e,v as t}from"./constants-zR-UwEWY.mjs";import{r as n}from"./embedShared-duyOYFQN.mjs";import{t as r}from"./loadScript-Du6JsTc2.mjs";function i(e){return e.match(/(?:vimeo\.com\/(?:video\/|channels\/[^/]+\/|groups\/[^/]+\/videos\/)?|player\.vimeo\.com\/video\/)(\d+)/)?.[1]??null}function a(a,o){let s=null,c=1;return n(a,o,{cssClass:t,connect:async({techId:t,emitter:n,state:a,isDisposed:c,consumeQueuedPlay:l})=>{let u=i(o.src);if(!u||(await r(e,`vimeo`),c()||!window.Vimeo))return;let d={id:Number(u),byline:!1,portrait:!1,title:!1,transparent:!0,controls:!!o.nativeUi,autopause:!1,...o.autoplay!==void 0&&{autoplay:o.autoplay},...o.muted!==void 0&&{muted:o.muted}};s=new window.Vimeo.Player(t,d),o.autoplay&&(a.playQueued=!0),s.ready().then(()=>{o.muted&&s?.setMuted(!0).catch(()=>{}),o.volume!==void 0&&s?.setVolume(o.volume).catch(()=>{}),l(()=>void s?.play().catch(()=>{}))}).catch(e=>{a.errorState={code:4,message:e?.message||`This video is unavailable or cannot be embedded here.`},n.trigger(`error`)}),s.on(`play`,()=>{a.paused=!1,n.trigger(`play`),n.trigger(`playing`)}),s.on(`pause`,()=>{a.paused=!0,n.trigger(`pause`)}),s.on(`ended`,()=>{a.paused=!0,n.trigger(`ended`)});let f=!1;s.on(`timeupdate`,e=>{let{seconds:t,duration:r}=e;a.currentTime=t,a.duration=r,n.trigger(`timeupdate`),r&&!f&&(f=!0,n.trigger(`durationchange`))}),s.on(`loaded`,()=>{f=!1,n.trigger(`loadedmetadata`),n.trigger(`durationchange`)}),s.on(`seeking`,e=>{a.currentTime=e.seconds,n.trigger(`seeking`)}),s.on(`seeked`,e=>{a.currentTime=e.seconds,n.trigger(`seeked`),n.trigger(`timeupdate`)}),s.on(`bufferstart`,()=>n.trigger(`waiting`)),s.on(`bufferend`,()=>n.trigger(`canplay`)),s.on(`volumechange`,e=>{a.volume=e.volume,n.trigger(`volumechange`)}),s.on(`error`,()=>n.trigger(`error`))},hasPlayer:()=>!!s,play:()=>void s?.play().catch(()=>{}),pause:()=>void s?.pause().catch(()=>{}),rate:({emitter:e})=>({playbackRate:()=>c,setPlaybackRate:t=>{c=t,s?.setPlaybackRate(t).catch(()=>{}),e.trigger(`ratechange`)}}),setCurrentTime:({emitter:e},t)=>{s?.setCurrentTime(t).catch(()=>{}),e.trigger(`timeupdate`),e.trigger(`seeking`)},volumeToSdk:e=>void s?.setVolume(e).catch(()=>{}),muteToSdk:({emitter:e,schedule:t},n)=>{s?.setMuted(n).then(()=>t(()=>e.trigger(`volumechange`),50)).catch(()=>{})},sdkFullscreenEnter:()=>void s?.requestFullscreen().catch(()=>{}),destroyPlayer:()=>{let e=s;s=null,e?.destroy().catch(()=>{})}})}export{a as createVimeoAdapter};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{y as e}from"./constants-zR-UwEWY.mjs";import{a as t,d as n,i as r,l as i,n as a,o,t as s,u as c}from"./embedShared-duyOYFQN.mjs";import{t as l}from"./loadScript-Du6JsTc2.mjs";function u(e,t){return t===e.PlayerState.PLAYING||t===e.PlayerState.BUFFERING}function d(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}let f=!1,p=!1;const m=[];function h(){p||(p=!0,l(`https://www.youtube.com/iframe_api`).then(()=>{window.YT?.ready(()=>{f=!0,m.forEach(e=>e()),m.length=0})}))}function g(l,p){h();let g=n(),{techId:_,wrapper:v}=a(l,e,p.nativeUi),y=d(p.src),b=null,x=y.videoId,S=!1,C=!1,w=!1,T=null,E=!1,D=null,O=!1,{schedule:k,clearAll:A}=r(),j=null,M={active:!1,wasPaused:!1,timeBefore:0,catchUpInterval:null};function N(){try{let e=b?.getPlayerResponse()?.adPlacements;return Array.isArray(e)&&e.length>0}catch{return!1}}function P(e){b?.loadVideoById({videoId:e})}function F(e){b?.cueVideoById({videoId:e})}function I(){y.videoId&&(M.wasPaused=!1,S?x===y.videoId?b?.playVideo():(P(y.videoId),x=y.videoId):(g.trigger(`waiting`),C=!0))}function L(){M.catchUpInterval&&clearInterval(M.catchUpInterval),M.active=!1,M.wasPaused&&b?.pauseVideo(),g.trigger(`seeked`)}function R(){O=(b?.getAvailablePlaybackRates()??[]).length>1,S=!0,p.muted&&b?.mute(),p.volume!==void 0&&b?.setVolume(p.volume*100),C?I():w&&y.videoId&&(F(y.videoId),x=y.videoId)}function z(e){if(e===T||D!==null)return;T=e;let t=N();t!==E&&(E=t,g.trigger(t?`adstart`:`adend`));let n=window.YT;if(n){switch(e){case-1:g.trigger(`loadstart`),g.trigger(`loadedmetadata`),g.trigger(`durationchange`),g.trigger(`ratechange`);break;case n.PlayerState.ENDED:g.trigger(`ended`);break;case n.PlayerState.PLAYING:g.trigger(`timeupdate`),g.trigger(`durationchange`),g.trigger(`playing`),g.trigger(`play`),M.active&&L();break;case n.PlayerState.PAUSED:g.trigger(`canplay`),M.active||g.trigger(`pause`);break;case n.PlayerState.BUFFERING:g.trigger(`waiting`);break;case n.PlayerState.CUED:g.trigger(`canplay`)}j&&=(clearInterval(j),null),e===n.PlayerState.PLAYING&&(j=setInterval(()=>g.trigger(`timeupdate`),250))}}function B(){let e={controls:+!!p.nativeUi,modestbranding:1,rel:0,showinfo:0,mute:+!!p.muted,origin:window.location.origin,allowfullscreen:1,fullscreen:1,fs:1,autoplay:0,playsinline:1,...p.customVars};x=y.videoId,b=new window.YT.Player(_,{videoId:x??void 0,playerVars:e,events:{onReady:R,onStateChange:e=>z(e.data),onPlaybackRateChange:()=>g.trigger(`ratechange`),onVolumeChange:()=>g.trigger(`volumechange`),onError:e=>{D=e.data,g.trigger(`error`),k(()=>{D=null})}}})}f?B():m.push(B),p.autoplay?S?I():C=!0:y.videoId&&(w=!0);function V(){if(!b)return;let e=b.getCurrentTime(),{video_id:t}=b.getVideoData();b.pauseVideo();let{overlay:n,reveal:r,finish:a}=i(g),o=document.createElement(`div`);o.id=`yt-fs-${Math.random().toString(36).slice(2)}`,n.appendChild(o);let s=null,c=()=>{document.removeEventListener(`pointerdown`,l,!0),a(()=>{let t=s?.getCurrentTime()??e;try{s?.destroy()}catch{}b?.seekTo(t,!0),g.trigger(`timeupdate`)})};function l(){c()}s=new window.YT.Player(o.id,{videoId:t,playerVars:{playsinline:0,autoplay:0,controls:1,modestbranding:1,rel:0,start:Math.floor(e)},events:{onReady:t=>{r(),t.target.seekTo(e,!0),t.target.playVideo()},onStateChange:e=>{let t=window.YT;t&&(e.data===t.PlayerState.ENDED?c():e.data===t.PlayerState.PAUSED?(document.removeEventListener(`pointerdown`,l,!0),document.addEventListener(`pointerdown`,l,{capture:!0,once:!0})):(document.removeEventListener(`pointerdown`,l,!0),r()))}}})}function H(){t(l,()=>{if(!b)return!1;V()})}return{el:v,play:I,pause:()=>b?.pauseVideo(),paused:()=>{if(!b)return!0;let e=window.YT;return!e||!u(e,T)},currentTime:()=>S?b?.getCurrentTime()??0:0,setCurrentTime:e=>{if(!S||!b)return;let t=window.YT;t&&T===t.PlayerState.PAUSED&&(M.timeBefore=b.getCurrentTime()),M.active||(M.wasPaused=!t||!u(t,T)),b.seekTo(e,!0),g.trigger(`timeupdate`),g.trigger(`seeking`),M.active=!0,t&&T===t.PlayerState.PAUSED&&M.timeBefore!==e&&(M.catchUpInterval&&clearInterval(M.catchUpInterval),M.catchUpInterval=setInterval(()=>{T!==t.PlayerState.PAUSED||!M.active?M.catchUpInterval&&clearInterval(M.catchUpInterval):b&&b.getCurrentTime()!==M.timeBefore&&(g.trigger(`timeupdate`),L())},250))},duration:()=>S?b?.getDuration()??0:0,volume:()=>S&&b?b.getVolume()/100:1,setVolume:e=>{S&&b?.setVolume(e*100)},muted:()=>S?b?.isMuted()??!1:!1,setMuted:e=>{S&&b&&(e?b.mute():b.unMute(),k(()=>g.trigger(`volumechange`),50))},playbackRate:()=>S?b?.getPlaybackRate()??1:1,setPlaybackRate:e=>{S&&b?.setPlaybackRate(e)},bufferedEnd:()=>!S||!b?.getVideoLoadedFraction?0:b.getVideoLoadedFraction()*b.getDuration(),error:()=>D===null?null:{code:D,message:`This video could not be played.`},setSrc:e=>{let t=d(e);y.videoId=t.videoId,y.listId=t.listId,y.videoId&&(S?(P(y.videoId),x=y.videoId):w=!0)},supportsPlaybackRate:()=>O,...s,enterFullscreen:H,exitFullscreen:o,on:g.on,off:g.off,dispose:()=>{if(A(),j&&clearInterval(j),M.catchUpInterval&&clearInterval(M.catchUpInterval),b)try{b.stopVideo(),b.destroy()}catch{}else{let e=m.indexOf(B);e!==-1&&m.splice(e,1)}b=null,c(l,v,e),g.dispose()}}}export{g as createYoutubeAdapter};
|