@munsonlabs/video-player 0.2.2 → 0.2.4
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 +92 -28
- package/dist/chunks/{ads-CF9PWPJJ.mjs → ads-BV769SMr.mjs} +1 -1
- package/dist/{elements/chunks/brightcove-DUITad7n.mjs → chunks/brightcove-rNI-XRxB.mjs} +1 -1
- package/dist/chunks/constants-zR-UwEWY.mjs +1 -0
- package/dist/chunks/dailymotion-gEquA4h5.mjs +1 -0
- package/dist/chunks/embedShared-duyOYFQN.mjs +1 -0
- package/dist/chunks/jwplayer-WIkwoJTA.mjs +1 -0
- package/dist/chunks/{sourceHelpers-CAGxjbbu.mjs → sourceHelpers-rbs6D6ZG.mjs} +1 -1
- package/dist/chunks/{vimeo-BNsFVvtc.mjs → vimeo-WJYDJPA3.mjs} +1 -1
- package/dist/chunks/youtube-DbJ-IrvP.mjs +1 -0
- package/dist/elements/chunks/{ads-CF9PWPJJ.mjs → ads-BV769SMr.mjs} +1 -1
- package/dist/{chunks/brightcove-DUITad7n.mjs → elements/chunks/brightcove-rNI-XRxB.mjs} +1 -1
- package/dist/elements/chunks/constants-zR-UwEWY.mjs +1 -0
- package/dist/elements/chunks/dailymotion-gEquA4h5.mjs +1 -0
- package/dist/elements/chunks/embedShared-duyOYFQN.mjs +1 -0
- package/dist/elements/chunks/jwplayer-WIkwoJTA.mjs +1 -0
- package/dist/elements/chunks/{sourceHelpers-CAGxjbbu.mjs → sourceHelpers-rbs6D6ZG.mjs} +1 -1
- package/dist/elements/chunks/{vimeo-BNsFVvtc.mjs → vimeo-WJYDJPA3.mjs} +1 -1
- package/dist/elements/chunks/youtube-DbJ-IrvP.mjs +1 -0
- package/dist/elements/controls.css +1 -1
- package/dist/elements/controls.mjs +1 -1
- package/dist/elements/core.css +1 -1
- package/dist/elements/core.d.mts +10 -6
- package/dist/elements/core.mjs +1 -1
- package/dist/elements/index.d.mts +10 -6
- package/dist/elements/index.mjs +1 -1
- package/dist/elements/style.css +1 -1
- package/dist/index.d.mts +71 -63
- package/dist/index.mjs +1 -1
- package/dist/style.css +1 -1
- package/package.json +6 -4
- package/dist/chunks/constants-BUQXC_ZT.mjs +0 -1
- package/dist/chunks/dailymotion-CwCwD6rN.mjs +0 -1
- package/dist/chunks/embedShared-DgFZ58OV.mjs +0 -1
- package/dist/chunks/jwplayer-BxpEGj9-.mjs +0 -1
- package/dist/chunks/youtube-B7s74nf6.mjs +0 -1
- package/dist/elements/chunks/constants-BUQXC_ZT.mjs +0 -1
- package/dist/elements/chunks/dailymotion-CwCwD6rN.mjs +0 -1
- package/dist/elements/chunks/embedShared-DgFZ58OV.mjs +0 -1
- package/dist/elements/chunks/jwplayer-BxpEGj9-.mjs +0 -1
- package/dist/elements/chunks/youtube-B7s74nf6.mjs +0 -1
package/dist/elements/core.d.mts
CHANGED
|
@@ -134,21 +134,25 @@ interface PlayerProps {
|
|
|
134
134
|
payload?: Record<string, unknown> | string;
|
|
135
135
|
action?: PlayerAction | null;
|
|
136
136
|
disableTapCapture?: boolean;
|
|
137
|
+
disableKeyboardShortcuts?: boolean;
|
|
137
138
|
controls?: boolean;
|
|
138
139
|
playInView?: boolean;
|
|
139
140
|
pin?: PinCorner;
|
|
141
|
+
loop?: boolean;
|
|
142
|
+
preload?: PreloadMode;
|
|
140
143
|
}
|
|
141
144
|
type PinCorner = 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left';
|
|
145
|
+
type PreloadMode = 'none' | 'metadata' | 'auto';
|
|
142
146
|
type VideoEntry = PlayerProps;
|
|
143
147
|
interface VideoSelectDetail extends VideoEntry {
|
|
144
148
|
fromGesture?: boolean;
|
|
145
149
|
}
|
|
146
150
|
//#endregion
|
|
147
151
|
//#region src/adapters/index.d.ts
|
|
148
|
-
declare function registerMatcher(matcher: Matcher): void;
|
|
149
|
-
declare function registerEmbedAdapter(key: string, factory: EmbedAdapterFactory): void;
|
|
150
|
-
declare function registerSourceResolver(key: string, resolver: SourceResolver): void;
|
|
151
|
-
declare function registerPlatform(config: PlatformConfig): void;
|
|
152
|
+
export declare function registerMatcher(matcher: Matcher): void;
|
|
153
|
+
export declare function registerEmbedAdapter(key: string, factory: EmbedAdapterFactory): void;
|
|
154
|
+
export declare function registerSourceResolver(key: string, resolver: SourceResolver): void;
|
|
155
|
+
export declare function registerPlatform(config: PlatformConfig): void;
|
|
152
156
|
//#endregion
|
|
153
157
|
//#region src/elements/core.d.ts
|
|
154
158
|
declare const VideoPlayerElement: import("vue").VueElementConstructor<PlayerProps & {
|
|
@@ -164,6 +168,6 @@ declare const VideoStageElement: import("vue").VueElementConstructor<{
|
|
|
164
168
|
declare const VideoPlaceholderElement: import("vue").VueElementConstructor<VideoSelectDetail>;
|
|
165
169
|
declare const VideoCardElement: import("vue").VueElementConstructor<VideoSelectDetail>;
|
|
166
170
|
declare const HideMarkerElement: import("vue").VueElementConstructor<{}>;
|
|
167
|
-
declare function defineElements(): void;
|
|
171
|
+
export declare function defineElements(): void;
|
|
168
172
|
//#endregion
|
|
169
|
-
export { type EmbedAdapterFactory, type EmbedAdapterOptions, HideMarkerElement, type Matcher, type MediaErrorLike, type PlatformConfig, type PlaybackAdapter, type ResolvedSource, type SourceResolver, VideoCardElement, VideoPlaceholderElement, VideoPlayerElement, VideoStageElement
|
|
173
|
+
export { type EmbedAdapterFactory, type EmbedAdapterOptions, HideMarkerElement, type Matcher, type MediaErrorLike, type PlatformConfig, type PlaybackAdapter, type ResolvedSource, type SourceResolver, VideoCardElement, VideoPlaceholderElement, VideoPlayerElement, VideoStageElement };
|
package/dist/elements/core.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{A as e,E as t,O as n,S as r,T as i,a,b as o,h as s,i as c,k as l,m as u,o as d,r as f,s as p,u as m,w as h,x as g}from"./chunks/constants-BUQXC_ZT.mjs";import{n as _,r as v,t as y}from"./chunks/platform-Dg9JBh8M.mjs";import{c as b,d as x,s as S}from"./chunks/embedShared-DgFZ58OV.mjs";import{Fragment as C,Transition as w,computed as T,createBlock as E,createCommentVNode as D,createElementBlock as O,createElementVNode as k,createStaticVNode as ee,createTextVNode as A,createVNode as j,defineComponent as M,defineCustomElement as N,inject as P,mergeProps as F,nextTick as te,normalizeClass as I,normalizeProps as ne,normalizeStyle as L,onBeforeUnmount as R,onMounted as z,openBlock as B,provide as re,reactive as V,ref as H,renderList as U,renderSlot as W,resolveDynamicComponent as ie,shallowRef as ae,toDisplayString as G,toRef as K,unref as q,watch as J,withCtx as Y,withModifiers as X}from"vue";const oe=[];function se(e){oe.push(e)}function ce(e){let t=oe.find(t=>t.test(e));return{key:t?.key??`html5`,embed:t?.embed??!1}}const le={},ue={};function de(e,t){le[e]=t}async function fe(e,t,n){let r=le[e];if(!r){let t=ue[e];if(!t)return null;r=await t(),le[e]=r}return r(t,n)}const pe={},me={};function he(e,t){pe[e]=t}function ge(e){if(/\.m3u8(\?|#|$)/.test(e))return d;if(/\.mpd(\?|#|$)/.test(e))return f;if(/\.mp4(\?|#|$)/.test(e))return m}async function _e(e,t){let n=pe[e];if(!n){let t=me[e];t&&(n=await t(),pe[e]=n)}return n?n(t):{src:t,type:ge(t)}}function ve(e){se({test:e.test,key:e.key,embed:e.embed}),e.embed?de(e.key,e.createAdapter):e.resolveSource&&he(e.key,e.resolveSource)}function ye(e){se({key:e.key,test:e.test,embed:e.embed}),e.embed?ue[e.key]=e.loadAdapter:me[e.key]=e.loadResolver}ye({key:`youtube`,test:e=>/youtu\.be|youtube\.com/.test(e),embed:!0,loadAdapter:()=>import(`./chunks/youtube-B7s74nf6.mjs`).then(e=>e.createYoutubeAdapter)}),ye({key:`vimeo`,test:e=>/vimeo\.com|player\.vimeo\.com/.test(e),embed:!0,loadAdapter:()=>import(`./chunks/vimeo-BNsFVvtc.mjs`).then(e=>e.createVimeoAdapter)}),ye({key:`dailymotion`,test:e=>/dailymotion\.com|dai\.ly/.test(e),embed:!0,loadAdapter:()=>import(`./chunks/dailymotion-CwCwD6rN.mjs`).then(e=>e.createDailymotionAdapter)}),ye({key:`jwplayer`,test:e=>/cdn\.jwplayer\.com/.test(e)||e.startsWith(`jwplayer://`),embed:!1,loadResolver:()=>import(`./chunks/jwplayer-BxpEGj9-.mjs`).then(e=>e.resolveSource)}),ye({key:`brightcove`,test:e=>/players\.brightcove\.net/.test(e),embed:!1,loadResolver:()=>import(`./chunks/brightcove-DUITad7n.mjs`).then(e=>e.resolveSource)});function be(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 xe=new Set;function Se(e){return xe.add(e),()=>xe.delete(e)}function Ce(e){xe.forEach(t=>{if(t!==e)try{t()}catch{}})}function we(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 Te=we(e=>(document.addEventListener(`fullscreenchange`,e),document.addEventListener(`webkitfullscreenchange`,e),()=>{document.removeEventListener(`fullscreenchange`,e),document.removeEventListener(`webkitfullscreenchange`,e)})),Ee=we(e=>(document.addEventListener(`visibilitychange`,e),window.addEventListener(`blur`,e),()=>{document.removeEventListener(`visibilitychange`,e),window.removeEventListener(`blur`,e)}));function De(e){let t=H(!1),n=H(!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 c(e){e.on(u,()=>{n.value=!0}),e.on(s,()=>{n.value=!1}),e.on(`nativefullscreenenter`,()=>{t.value=!0,n.value=!1}),e.on(`nativefullscreenexit`,()=>{t.value=!1,n.value=!1})}return z(()=>{r=Te(i)}),R(()=>{r?.()}),{isFullscreen:t,isFullscreenPending:n,toggleFullscreen:a,markFullscreenPending:o,attachPlayerEvents:c}}function Oe(e){let t=H(!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 R(()=>clearTimeout(n??void 0)),{isBuffering:t,attachPlayerEvents:i,reset:r}}function ke(e,t,n){let r=new Set;function i(){if(!t.value)return;let i=e.value/t.value;for(let[e,t]of g)!r.has(e)&&i>=e&&(r.add(e),n(t))}function a(){r.clear()}return{checkQuartiles:i,reset:a}}function Ae(){try{return JSON.parse(localStorage.getItem(`player:positions`)??`[]`)}catch{return[]}}function je(e){localStorage.setItem(t,JSON.stringify(e))}function Me(e,t){if(t<5)return;let n=Ae().filter(t=>t.url!==e);n.unshift({url:e,time:t}),je(n.slice(0,5))}function Ne(e){return Ae().find(t=>t.url===e)?.time??null}function Pe(e){je(Ae().filter(t=>t.url!==e))}function Fe(e,t,n){let r=!1;function i(t){if(r)return;let n=Ne(e);n&&t.setCurrentTime(n),r=!0}function a(t){!t||n.value||Me(e,t.currentTime()??0)}function o(){Pe(e)}let s=Ee(()=>{document.visibilityState===`hidden`&&a(t())});return R(()=>{a(t()),s()}),{restoreOnce:i,save:a,clear:o}}const Ie=new WeakMap,Le=[.1,.5];function Re(e){let t=Ie.get(e);if(t)return t;let n=new Set,r=new IntersectionObserver(([e])=>n.forEach(t=>t(e)),{threshold:Le});r.observe(e);let i={observer:r,callbacks:n};return Ie.set(e,i),i}function ze(e,t){let n=Re(e);return n.callbacks.add(t),()=>{n.callbacks.delete(t),n.callbacks.size===0&&(n.observer.disconnect(),Ie.delete(e))}}let Be=null,Z=null;function Ve(e,t){let n=ze(e,n=>{n.intersectionRatio<.5||(Z&&clearTimeout(Z),Be=e,Z=setTimeout(()=>{Be=null,Z=null,t()},150))});return()=>{Be===e&&Z&&(clearTimeout(Z),Be=null,Z=null),n()}}function He(e,t,n,r,i){let a=null;z(()=>{let o=e.value&&S(e.value);o&&(a=ze(o,e=>{let a=t();e.intersectionRatio<.1&&a&&!a.paused()&&!n.value&&!r.value&&!i.value&&a.pause()}))}),R(()=>a?.())}function Ue(e){return e.kind===`captions`||e.kind===`subtitles`}function We(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];Ue(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];Ue(r)&&(r.mode=n===t?`showing`:`hidden`)}}function i(){for(let t=0;t<e.textTracks.length;t++){let n=e.textTracks[t];if(Ue(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 Ge(e){function t(){return 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 Ke(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=S(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 qe(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 Je=[`play`,`pause`,`ended`,`error`,`timeupdate`,`durationchange`,`progress`,`volumechange`,`ratechange`,`seeking`,`seeked`,`waiting`,`playing`,`canplay`];function Ye(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.currentLevel,setIndex:t=>{e.currentLevel=t??-1}}}function Xe(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 Ze(e,t){let n=x(),r=null,i=null,a=!1,o=null,s=null;async function c(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}),r.loadSource(i),r.attachMedia(e),t.autoplay&&e.play();let c=s.Events,l=s.ErrorTypes;r.on(c.MANIFEST_PARSED,f(`qualitychange`)),r.on(c.LEVEL_SWITCHED,f(`qualitychange`)),r.on(c.ERROR,(e,t)=>{if(!(!t.fatal||a||o!==i))switch(t.type){case l.NETWORK_ERROR:r?.startLoad();break;case l.MEDIA_ERROR:r?.recoverMediaError();break;default:r?.destroy(),r=null,n.trigger(`error`);break}})}async function l(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,f(`qualitychange`)),c.on(l.STREAM_INITIALIZED,f(`qualitychange`)),c.on(l.ERROR,()=>{a||s!==r||(c.destroy(),i=null,n.trigger(`error`))})}function u(){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 d(n,a){if(r?.destroy(),r=null,o=null,i?.destroy(),i=null,s=null,a===`application/dash+xml`){s=n,l(n);return}if(a===`application/x-mpegURL`&&!u()){o=n,c(n);return}e.src=n,t.autoplay&&e.play()}let f=e=>()=>n.trigger(e),p=Je.map(e=>[e,f(e)]);for(let[t,n]of p)e.addEventListener(t,n);let m=We(e,f(`captionschange`)),h=Ge(()=>r?Ye(r):i?Xe(i):null),g=Ke(e,f(`nativefullscreenenter`),f(`nativefullscreenexit`)),_=qe(e,f(`pipchange`)),{poster:v,muted:y,autoplay:b,volume:S,playbackRate:C,src:w,type:T}=t;return e.poster=v??``,e.muted=y??b??!1,e.volume=S??1,e.playbackRate=C??1,e.playsInline=!0,d(w,T),{el:e,play:()=>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:d,supportsPlaybackRate:()=>!0,supportsCaptions:m.supportsCaptions,getCaptionTracks:m.getCaptionTracks,setCaptionTrack:m.setCaptionTrack,getActiveCaptionTrack:m.getActiveCaptionTrack,supportsQuality:h.supportsQuality,getQualityLevels:h.getQualityLevels,getCurrentQuality:h.getCurrentQuality,isAutoQuality:h.isAutoQuality,setQuality:h.setQuality,supportsPip:_.supportsPip,isPipActive:_.isPipActive,togglePip:_.togglePip,enterFullscreen:g.enterFullscreen,exitFullscreen:g.exitFullscreen,on:n.on,off:n.off,dispose:()=>{a=!0,r?.destroy(),i?.destroy();for(let[t,n]of p)e.removeEventListener(t,n);m.dispose(),g.dispose(),_.dispose(),n.dispose()}}}function Qe(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 $e(){try{let e=localStorage.getItem(h);if(!e)return a;let t=JSON.parse(e);return{muted:typeof t.muted==`boolean`?t.muted:a.muted,volume:typeof t.volume==`number`?t.volume:a.volume}}catch{return a}}function et(e){localStorage.setItem(h,JSON.stringify(e))}let tt=!1;function nt(){tt=!0}function rt(){return tt}function it(e){et(e),e.muted||nt()}function at(e,t=!0){if(e!==void 0)return e;if(!t)return;let n=$e().muted;return n||nt(),n}function ot(e,t){return e===void 0?t&&!rt()?!0:$e().muted:e}function st(e){return e.volume??$e().volume}function ct(e){return{muted:ot(e.muted,!!(e.autoplay||e.playInView)),volume:st(e)}}async function lt(e,t,n){if(!t.value)return{status:`aborted`};let r=await fe(e,t.value,{src:n.src,poster:n.poster,autoplay:n.autoplay,...ct(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 ut(e,t,n,r,i){let a=await _e(e,n.src).catch(()=>({src:n.src}));if(!t.value)return{status:`aborted`};let o=Ze(t.value,{src:a.src,type:a.type,poster:a.poster||n.poster||``,autoplay:n.autoplay,...ct(n),playbackRate:r.value}),s=Qe(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 dt(e,t,n,r,i){return e.embed?lt(e.key,t,n):ut(e.key,t,n,r,i)}function ft(e,t,n,r,i){let a=null;z(()=>{let o=e.value&&S(e.value);o&&(a=Ve(o,()=>{let e=t();!e||!e.paused()||n.value||r.value||(e.setMuted(ot(i,!0)),e.play())}))}),R(()=>a?.())}function pt(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),it({muted:n,volume:t.volume()})}function l(t){let n=e();if(!n)return;let r=t===0;n.setVolume(t),n.setMuted(r),it({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 mt(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:x,supportsPip:S,isPipActive:C,hasStarted:w,isError:T,errorMessage:E}=e,{fire:D,pauseThisPlayer:O,positionMemory:k,quartiles:ee,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,w.value&&D(`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!==x.value;b.value=t,x.value=n,r&&w.value&&D(`qualitychange`,{qualityIndex:n?null:t})}M(),e.on(`qualitychange`,M);function N(){S.value=e.supportsPip();let t=e.isPipActive();t!==C.value&&(C.value=t,w.value&&D(`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`,()=>{Ce(O),a.value=!0,D(`adstart`)}),e.on(`adend`,()=>{a.value=!1,D(`adend`)}),e.on(`play`,()=>{Ce(O),w.value=!0,n.value=!0,r.value=!1,o.value||k.restoreOnce(e),D(`play`)}),e.on(`pause`,()=>{n.value=!1,o.value||k.save(e),D(`pause`)}),e.on(`ended`,()=>{if(n.value=!1,ee.reset(),A.reset(),f.value){e.setCurrentTime(0),e.play();return}c.value&&(s.value=c.value),r.value=!0,k.clear(),D(`ended`)}),e.on(`seeked`,()=>{D(`seeked`)}),e.on(`error`,()=>{let t=e.error();E.value=t?.message||`This video could not be played.`,T.value=!0,i.value=!0,console.error(`Video playback error:`,E.value),D(`error`,{error:t})});let F=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,w.value&&D(`captionchange`,{captionIndex:t})),o.value||ee.checkQuartiles();let n=Date.now();w.value&&n-F>=250&&(F=n,D(`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,w.value&&D(`volumechange`,{isMuted:t})}),e.on(`ratechange`,()=>{let t=e.playbackRate()??1;p.value=t,w.value&&D(`ratechange`,{playbackRate:t})}),A.attachPlayerEvents(e),j.attachPlayerEvents(e)}return{attachPlayerEvents:M}}function ht(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=Ee(g),y=()=>{t.isPipActive()||g()};t.on(`pipchange`,y),l=()=>{v(),t.off(`pipchange`,y)};let{attachAds:b}=await import(`./chunks/ads-CF9PWPJJ.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||Ce(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 gt(e,t,n){let r=null,i=null,a=null,o=!1,s=H(!1),c=H(!1),l=H(!1),u=H(!1),d=H(0),f=H(0),p=H(0),m=H(st(t)),h=H(!1),g=H(!1),_=H(!1),v=H(0),y=H(ot(t.muted,!!(t.autoplay||t.playInView))),x=H(!1),S=H(t.playbackRate??1),C=H(!1),w=H(!1),E=H([]),D=H(null),O=H(!1),k=H([]),ee=H(null),A=H(!0),j=H(!1),M=H(!1),N=H(!1),P=H(!1),F=H(``),te=H(!1),I=T(()=>f.value?d.value/f.value*100:0),ne=T(()=>Math.max(p.value,I.value)),L=T(()=>!y.value&&m.value>0),B=()=>r,re=T(()=>{if(typeof t.payload!=`string`)return t.payload??{};try{return JSON.parse(t.payload)}catch{return{}}});function V(e,r={}){n(`state-change`,{type:e,currentTime:d.value,duration:f.value,src:t.src,...r,payload:re.value})}let U=De(B),W=Oe(V),ie=Fe(t.src,B,c),ae=ke(d,f,V);function G(){!r||!a||(P.value=!1,F.value=``,r.setSrc(a.src,a.type))}function K(){if(Y.isAdPlaying()){Y.pauseAd();return}r?.pause()}function q(){if(Y.isAdPlaying()){Y.isAdPaused()?Y.resumeAd():Y.pauseAd();return}X.togglePlay()}let Y=ht({isAdPlaying:h,isAdPaused:g,isAdMuted:_,adRemainingTime:v},{fire:V,pauseThisPlayer:K}),X=pt(B,l,f,x,S,s),{attachPlayerEvents:oe}=mt({isPlaying:s,hasEnded:c,isReady:l,isAdPlaying:h,isLive:u,current:d,total:f,buffered:p,vol:m,isMuted:y,isLooping:x,playbackRate:S,supportsPlaybackRate:C,supportsCaptions:w,captionTracks:E,activeCaptionIndex:D,supportsQuality:O,qualityLevels:k,currentQualityIndex:ee,isAutoQuality:A,supportsPip:j,isPipActive:M,hasStarted:N,isError:P,errorMessage:F},{fire:V,pauseThisPlayer:K,positionMemory:ie,quartiles:ae,buffering:W,fullscreen:U});function se(e){r?.setCaptionTrack(e),D.value=e,N.value&&V(`captionchange`,{captionIndex:e})}function le(e){r?.setQuality(e),ee.value=e,A.value=e===null,N.value&&V(`qualitychange`,{qualityIndex:e})}function ue(){r?.togglePip()}function de(){X.toggleLoop(),N.value&&V(`loopchange`,{isLooping:x.value})}J(()=>t.muted,e=>{!r||e===void 0||r.setMuted(e)}),J(()=>t.playbackRate,e=>{!r||e===void 0||r.setPlaybackRate(e)}),He(e,B,U.isFullscreen,U.isFullscreenPending,T(()=>!!t.pin)),t.playInView&&ft(e,B,U.isFullscreen,U.isFullscreenPending,t.muted);function fe(e){r=e.adapter,a=e.currentSrc,o=e.needsReveal,e.nativeUi!==void 0&&(te.value=e.nativeUi),i=Se(K),oe(e.adapter)}return J(N,t=>{!t||!o||!e.value||!r||b(e.value,r.el)}),z(async()=>{let n=await dt(ce(t.src),e,t,S,Y);if(n.status===`unsupported`){P.value=!0,l.value=!0,F.value=`This platform is not yet supported.`;return}n.status===`mounted`&&fe(n.mounted)}),R(()=>{i?.(),Y.dispose(),r?.dispose(),r=null}),{isPlaying:s,hasEnded:c,isReady:l,isLive:u,isBuffering:W.isBuffering,current:d,total:f,progress:I,bufferedDisplay:ne,hasStarted:N,isError:P,errorMessage:F,fmt:be,fire:V,retry:G,togglePlay:q,seek:X.seek,isAdPlaying:h,isAdPaused:g,isAdMuted:_,adRemainingTime:v,toggleAdMute:Y.toggleAdMute,vol:m,isMuted:y,isAudible:L,toggleMute:X.toggleMute,setVolume:X.setVolume,isLooping:x,toggleLoop:de,currentPlaybackRate:S,setPlaybackRate:X.setPlaybackRate,supportsPlaybackRate:C,isFullscreen:U.isFullscreen,isFullscreenPending:U.isFullscreenPending,toggleFullscreen:U.toggleFullscreen,markFullscreenPending:U.markFullscreenPending,supportsCaptions:w,captionTracks:E,activeCaptionIndex:D,setCaptionTrack:se,supportsQuality:O,qualityLevels:k,currentQualityIndex:ee,isAutoQuality:A,setQuality:le,supportsPip:j,isPipActive:M,togglePip:ue,isNativeUi:te}}function _t(e){let t=H(!0),n=H(!1),r=null,i=0;function a(e=400){i=Date.now()+e}function o(e=p){clearTimeout(r??void 0),r=setTimeout(()=>{t.value=!1,n.value=!1},e)}function s(){clearTimeout(r??void 0)}function c(){n.value=!0,t.value=!0,o()}function l(){n.value=!1,e.value&&o()}function u(){e.value&&o()}function d(){t.value=!0,e.value&&o()}function f(){t.value=!0,o()}function m(){Date.now()<i||e.value&&o(600)}return J(e,e=>{if(!e){clearTimeout(r??void 0),t.value=!0;return}o()}),R(()=>clearTimeout(r??void 0)),{showHUD:t,isOpen:n,scheduleHide:o,pauseHide:s,onVideoTap:d,onMouseMove:f,onMouseLeave:m,openControls:c,closeControls:l,keepOpen:u,suppressMouseLeave:a}}const vt=[`retry`,`togglePlay`,`seek`,`toggleMute`,`setVolume`,`toggleFullscreen`,`markFullscreenPending`,`toggleLoop`,`toggleAdMute`,`setPlaybackRate`,`setCaptionTrack`,`setQuality`,`togglePip`],yt=`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 bt(e=()=>!0){let t=ae(null),n={};for(let r of vt)n[r]=async(...n)=>{await e(r)&&t.value?.[r]?.(...n)};for(let e of yt)n[e]=T(()=>t.value?.[e]);return{playerRef:t,forwarded:n}}const xt=Symbol(`player`),St=Symbol(`hud`),Ct=Symbol(`action`),wt=Symbol(`compact`),Tt=Symbol(`playlist`);function Q(e){let t=P(e);if(t===void 0)throw Error(`[video-player] missing "${String(e.description)}" context — this component must be rendered inside <VideoPlayer>`);return t}function Et(e,t){let n=T(()=>e.isReady&&!e.isError);return{hudVisible:T(()=>n.value&&t.showHUD),popupVisible:T(()=>n.value?e.isFullscreen?t.showHUD:t.isOpen:!1)}}function Dt(e,t){return T(()=>!(!e?.value||t.isFullscreen))}const Ot={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 kt(e,t,n){let r=T(()=>e?.value??null),i=T(()=>!!r.value&&typeof r.value==`object`),a=T(()=>i.value?r.value:null),o=T(()=>i.value||!r.value?null:Ot[r.value]),s=T(()=>o.value?.label(t,n)??``),c=T(()=>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 $=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n};const At={},jt={viewBox:`0 0 24 24`,fill:`currentColor`};function Mt(e,t){return B(),O(`svg`,jt,[...t[0]||=[k(`path`,{d:`M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z`},null,-1)]])}var Nt=$(At,[[`render`,Mt]]);const Pt={},Ft={viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`};function It(e,t){return B(),O(`svg`,Ft,[...t[0]||=[k(`rect`,{x:`2`,y:`5`,width:`20`,height:`14`,rx:`2`},null,-1),k(`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),k(`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 Lt=$(Pt,[[`render`,It]]);const Rt={},zt={viewBox:`0 0 24 24`,fill:`currentColor`};function Bt(e,t){return B(),O(`svg`,zt,[...t[0]||=[k(`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 Vt=$(Rt,[[`render`,Bt]]);const Ht={},Ut={viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`};function Wt(e,t){return B(),O(`svg`,Ut,[...t[0]||=[ee(`<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 Gt=$(Ht,[[`render`,Wt]]);const Kt={},qt={viewBox:`0 0 24 24`,fill:`currentColor`};function Jt(e,t){return B(),O(`svg`,qt,[...t[0]||=[k(`path`,{d:`M4 12l1.41 1.41L11 7.83V20h2V7.83l5.59 5.58L20 12l-8-8-8 8z`},null,-1)]])}var Yt=$(Kt,[[`render`,Jt]]);const Xt={},Zt={viewBox:`0 0 24 24`,fill:`currentColor`};function Qt(e,t){return B(),O(`svg`,Zt,[...t[0]||=[k(`path`,{d:`M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z`},null,-1)]])}var $t=$(Xt,[[`render`,Qt]]);const en={},tn={viewBox:`0 0 24 24`,fill:`currentColor`};function nn(e,t){return B(),O(`svg`,tn,[...t[0]||=[k(`path`,{d:`M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z`},null,-1)]])}var rn=$(en,[[`render`,nn]]);const an={},on={viewBox:`0 0 24 24`,fill:`currentColor`};function sn(e,t){return B(),O(`svg`,on,[...t[0]||=[k(`path`,{d:`M7 7h10v3l4-4-4-4v3H5v6h2V7zm10 10H7v-3l-4 4 4 4v-3h12v-6h-2v4z`},null,-1)]])}var cn=$(an,[[`render`,sn]]);const ln={},un={viewBox:`0 0 24 24`,fill:`currentColor`};function dn(e,t){return B(),O(`svg`,un,[...t[0]||=[k(`circle`,{cx:`5`,cy:`12`,r:`2`},null,-1),k(`circle`,{cx:`12`,cy:`12`,r:`2`},null,-1),k(`circle`,{cx:`19`,cy:`12`,r:`2`},null,-1)]])}var fn=$(ln,[[`render`,dn]]);const pn={},mn={viewBox:`0 0 24 24`,fill:`currentColor`};function hn(e,t){return B(),O(`svg`,mn,[...t[0]||=[k(`path`,{d:`M6 19h4V5H6v14zm8-14v14h4V5h-4z`},null,-1)]])}var gn=$(pn,[[`render`,hn]]);const _n={},vn={viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`};function yn(e,t){return B(),O(`svg`,vn,[...t[0]||=[k(`rect`,{x:`2`,y:`4`,width:`20`,height:`16`,rx:`2`},null,-1),k(`rect`,{x:`12`,y:`11`,width:`8`,height:`6`,rx:`1`,fill:`currentColor`,stroke:`none`},null,-1)]])}var bn=$(_n,[[`render`,yn]]);const xn={},Sn={viewBox:`0 0 24 24`,fill:`currentColor`};function Cn(e,t){return B(),O(`svg`,Sn,[...t[0]||=[k(`path`,{d:`M8 5v14l11-7z`},null,-1)]])}var wn=$(xn,[[`render`,Cn]]);const Tn={},En={viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`};function Dn(e,t){return B(),O(`svg`,En,[...t[0]||=[k(`rect`,{x:`2`,y:`6`,width:`20`,height:`12`,rx:`2`},null,-1),k(`path`,{d:`M7 14v-4M12 14V8M17 14v-2`},null,-1)]])}var On=$(Tn,[[`render`,Dn]]);const kn={},An={viewBox:`0 0 24 24`,fill:`currentColor`};function jn(e,t){return B(),O(`svg`,An,[...t[0]||=[k(`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 Mn=$(kn,[[`render`,jn]]);const Nn={},Pn={viewBox:`0 0 24 24`,fill:`currentColor`};function Fn(e,t){return B(),O(`svg`,Pn,[...t[0]||=[k(`path`,{d:`M6 18l8.5-6L6 6v12zM16 6v12h2V6h-2z`},null,-1)]])}var In=$(Nn,[[`render`,Fn]]);const Ln={},Rn={viewBox:`0 0 24 24`,fill:`currentColor`};function zn(e,t){return B(),O(`svg`,Rn,[...t[0]||=[k(`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 Bn=$(Ln,[[`render`,zn]]);const Vn={},Hn={viewBox:`0 0 24 24`,fill:`currentColor`};function Un(e,t){return B(),O(`svg`,Hn,[...t[0]||=[k(`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 Wn=$(Vn,[[`render`,Un]]);function Gn(e,t){return T(()=>e.value?e.value:t.value?document.getElementById(t.value)??null:null)}const Kn=[`aria-label`];var qn=$(M({__name:`PlayButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Gn(K(t,`player`),K(t,`for`)),r=T(()=>n.value?.isError?`error`:n.value?.hasEnded?`ended`:n.value?.isPlaying?`playing`:`idle`),i=T(()=>{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)=>(B(),O(`button`,{type:`button`,class:`mlv-play-button`,"aria-label":i.value,onClick:a},[W(e.$slots,`default`,{isPlaying:q(n)?.isPlaying??!1,hasEnded:q(n)?.hasEnded??!1,isError:q(n)?.isError??!1},()=>[r.value===`error`||r.value===`ended`?(B(),E(q(Mn),{key:0})):r.value===`playing`?(B(),E(q(gn),{key:1})):(B(),E(q(wn),{key:2}))],!0)],8,Kn))}}),[[`__scopeId`,`data-v-218255bd`]]),Jn=$(M({__name:`Spinner`,props:{size:{type:Number,required:!1,default:14},borderWidth:{type:Number,required:!1,default:2}},setup(e){return(t,n)=>(B(),O(`div`,{class:`spinner`,style:L({width:`${e.size}px`,height:`${e.size}px`,borderWidth:`${e.borderWidth}px`})},null,4))}}),[[`__scopeId`,`data-v-259be2b2`]]);const Yn={key:0,class:`mlv-buffering`};var Xn=$(M({__name:`Buffering`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Gn(K(t,`player`),K(t,`for`));return(e,t)=>q(n)?.isBuffering?(B(),O(`div`,Yn,[W(e.$slots,`default`,{},()=>[j(Jn)],!0)])):D(`v-if`,!0)}}),[[`__scopeId`,`data-v-454fec7f`]]),Zn=M({__name:`VolumeIcon`,props:{isAudible:{type:Boolean,required:!0}},setup(e){return(t,n)=>e.isAudible?(B(),E(q(Wn),{key:0})):(B(),E(q(Bn),{key:1}))}});const Qn={class:`hud`},$n=[`aria-label`],er=[`aria-label`,`innerHTML`],tr={key:2,class:`hud__spacer`},nr={class:`hud__play-wrap`};var rr=$(M({__name:`HudButtons`,setup(e){let t=Q(xt),n=Q(St),{currentAction:r,isCustom:i,customAction:a,builtinLabel:o,builtinActive:s,onBuiltinClick:c}=kt(P(Ct),t,Q(Tt));return(e,l)=>(B(),O(`div`,Qn,[!q(n).isOpen&&!q(t).isFullscreen?(B(),O(C,{key:0},[q(r)===`mute`||q(r)===`loop`||q(r)===`autoplay`?(B(),O(`button`,{key:0,class:I([`hud__btn`,{"hud__btn--active":q(s)}]),"aria-label":q(o),onClick:l[0]||=X((...e)=>q(c)&&q(c)(...e),[`stop`])},[q(r)===`mute`?(B(),E(Zn,{key:0,"is-audible":q(t).isAudible},null,8,[`is-audible`])):q(r)===`loop`?(B(),E(q(cn),{key:1})):(B(),E(q(In),{key:2}))],10,$n)):q(i)&&q(a)?(B(),O(`button`,{key:1,class:`hud__btn`,"aria-label":q(a).label,onClick:l[1]||=X(e=>q(a).onClick(),[`stop`]),innerHTML:q(a).icon},null,8,er)):(B(),O(`div`,tr))],64)):D(`v-if`,!0),k(`div`,nr,[j(qn,{player:q(t),class:`ppbtn ppbtn--lg`},null,8,[`player`]),j(Xn,{player:q(t),class:`hud__buf-spinner`},null,8,[`player`])]),!q(n).isOpen&&!q(t).isFullscreen?(B(),O(`button`,{key:1,class:`hud__btn`,"aria-label":`Show controls`,onClick:l[2]||=X((...e)=>q(n).openControls&&q(n).openControls(...e),[`stop`])},[j(q(Gt))])):D(`v-if`,!0)]))}}),[[`__scopeId`,`data-v-a6d118e7`]]);const ir=new WeakMap;async function ar(e,t){if(!e){t();return}ir.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=``),ir.delete(e),t()};ir.set(e,r);let i=requestAnimationFrame(()=>{e.style.transition=`transform 220ms ease`,e.style.transform=``,n=setTimeout(r,220)})})}const or=[`aria-label`];var sr=$(M({__name:`FullscreenButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Gn(K(t,`player`),K(t,`for`));return(e,t)=>(B(),O(`button`,{type:`button`,class:`mlv-fullscreen-button`,"aria-label":q(n)?.isFullscreen?`Exit fullscreen`:`Enter fullscreen`,onClick:t[0]||=e=>q(n)?.toggleFullscreen()},[W(e.$slots,`default`,{isFullscreen:q(n)?.isFullscreen??!1},()=>[q(n)?.isFullscreen?(B(),E(q(rn),{key:0})):(B(),E(q($t),{key:1}))],!0)],8,or))}}),[[`__scopeId`,`data-v-b93a5017`]]);const cr=[`aria-pressed`];var lr=$(M({__name:`PipButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Gn(K(t,`player`),K(t,`for`));return(e,t)=>q(n)?.supportsPip?(B(),O(`button`,{key:0,type:`button`,class:I([`mlv-pip-button`,{"mlv-pip-button--active":q(n)?.isPipActive}]),"aria-pressed":q(n)?.isPipActive??!1,"aria-label":`Toggle Picture-in-Picture`,onClick:t[0]||=e=>q(n)?.togglePip()},[W(e.$slots,`default`,{isPipActive:q(n)?.isPipActive??!1},()=>[j(q(bn))],!0)],10,cr)):D(`v-if`,!0)}}),[[`__scopeId`,`data-v-f654d93e`]]);function ur(e){let t=H(!1),n=H(null),i=!1,a=null,o=T(()=>{let t=e.value;return t?.total?t.current/t.total*100:0}),s=T(()=>n.value??o.value),c=T(()=>n.value!==null),l=T(()=>{let t=e.value?.total??0;return s.value/100*t});function u(){a&&clearTimeout(a),a=null}function d(){u(),n.value=null}function f(r){let a=e.value;a?.total&&(t.value||=(i=a.isPlaying,a.isPlaying&&a.togglePlay(),!0),u(),n.value=Number(r.target.value))}function p(o){if(!t.value)return;t.value=!1;let s=e.value;if(!s)return;let c=Number(o.target.value);n.value=c,s.seek(c),i&&s.togglePlay(),u(),a=setTimeout(d,r)}return J(()=>e.value?.current,()=>{let t=e.value;if(n.value===null||!t?.total)return;let r=n.value/100*t.total;Math.abs(t.current-r)<1&&d()}),R(d),{scrubbing:c,displayPercent:s,previewSeconds:l,onInput:f,onChange:p}}const dr={class:`mlv-scrubber-wrap`},fr=[`value`];var pr=$(M({inheritAttrs:!1,__name:`Scrubber`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Gn(K(t,`player`),K(t,`for`)),{scrubbing:r,displayPercent:i,previewSeconds:a,onInput:o,onChange:s}=ur(n),c=e=>be(e,!0);return(e,t)=>(B(),O(`div`,dr,[k(`input`,F({type:`range`,min:`0`,max:`100`,step:`0.1`,value:q(i),class:`mlv-scrubber`},e.$attrs,{style:{"--p":`${q(i)}%`,"--b":`${q(n)?.bufferedDisplay??0}%`},onInput:t[0]||=(...e)=>q(o)&&q(o)(...e),onChange:t[1]||=(...e)=>q(s)&&q(s)(...e)}),null,16,fr),W(e.$slots,`preview`,{scrubbing:q(r),percent:q(i),previewSeconds:q(a),formatTime:c},()=>[q(r)?(B(),O(`div`,{key:0,class:`mlv-scrubber__preview`,style:L({left:`${q(i)}%`})},G(c(q(a))),5)):D(`v-if`,!0)],!0)]))}}),[[`__scopeId`,`data-v-043f1bc8`]]);const mr={class:`mlv-time-display__time`},hr={class:`mlv-time-display__total`};var gr=$(M({__name:`TimeDisplay`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Gn(K(t,`player`),K(t,`for`));return(e,t)=>(B(),O(`span`,{class:I([`mlv-time-display`,{"mlv-time-display--live":q(n)?.isLive}])},[W(e.$slots,`default`,{isLive:q(n)?.isLive??!1,current:q(n)?.current??0,total:q(n)?.total??0,formatTime:q(be)},()=>[q(n)?.isLive?(B(),O(C,{key:0},[t[0]||=k(`span`,{class:`mlv-time-display__dot`},null,-1),t[1]||=A(`Live `,-1)],64)):(B(),O(C,{key:1},[k(`span`,mr,G(q(be)(q(n)?.current??0)),1),k(`span`,hr,`/ `+G(q(be)(q(n)?.total??0)),1)],64))],!0)],2))}}),[[`__scopeId`,`data-v-0285c811`]]);const _r={class:`mlv-volume-wrap`},vr=[`value`],yr={class:`mlv-volume-pct`};var br=$(M({inheritAttrs:!1,__name:`VolumeSlider`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Gn(K(t,`player`),K(t,`for`)),r=T(()=>{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)=>(B(),O(`div`,_r,[k(`input`,F({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,vr),W(e.$slots,`default`,{percent:r.value},()=>[k(`span`,yr,G(r.value)+`%`,1)],!0)]))}}),[[`__scopeId`,`data-v-fbb2c86c`]]);const xr={class:`controls__vol-header`},Sr=[`aria-label`],Cr={class:`controls__vol-body`},wr={class:`controls__vol-pct`};var Tr=$(M({__name:`VolumePanel`,emits:[`back`],setup(e){let t=Q(xt),n=Q(St);return(e,r)=>(B(),O(C,null,[k(`div`,xr,[k(`button`,{class:`controls__btn`,"aria-label":`Back`,onClick:r[0]||=t=>e.$emit(`back`)},[j(q(Nt))]),r[6]||=k(`span`,{class:`controls__vol-label`},`Volume`,-1),k(`button`,{class:`controls__btn`,"aria-label":q(t).isMuted?`Unmute`:`Mute`,onClick:r[1]||=e=>q(t).toggleMute()},[j(Zn,{"is-audible":q(t).isAudible},null,8,[`is-audible`])],8,Sr)]),k(`div`,Cr,[j(br,{player:q(t),class:`controls__vol-slider`,onMousedown:r[2]||=e=>q(n).pauseHide(),onMouseup:r[3]||=e=>q(n).scheduleHide(),onTouchstartPassive:r[4]||=e=>q(n).pauseHide(),onTouchend:r[5]||=e=>q(n).scheduleHide()},{default:Y(({percent:e})=>[k(`span`,wr,G(e)+`%`,1)]),_:1},8,[`player`])])],64))}}),[[`__scopeId`,`data-v-10b0ae67`]]);function Er(e){function t(){let t=o.indexOf(e.currentPlaybackRate);e.setPlaybackRate(o[(t+1)%o.length])}function n(e){return`${e}×`}return{cycleRate:t,fmtRate:n}}function Dr(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 Or(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 kr=[`aria-label`],Ar={key:0,class:`controls__more-row-label`},jr=[`innerHTML`],Mr={key:1},Nr={key:2,class:`controls__more-value`};var Pr=$(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)=>(B(),O(`button`,{class:I([`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?(B(),O(`span`,Ar,[e.icon?(B(),E(ie(e.icon),{key:0,class:`controls__more-row-icon`})):(B(),O(`span`,{key:1,class:`controls__more-row-icon`,innerHTML:e.iconHtml},null,8,jr)),A(` `+G(e.label),1)])):(B(),O(`span`,Mr,G(e.label),1)),e.value===void 0?D(`v-if`,!0):(B(),O(`span`,Nr,G(e.value),1))],10,kr))}}),[[`__scopeId`,`data-v-47ca5bfc`]]);const Fr={class:`controls__more-header`};var Ir=$(M({__name:`MoreMenu`,props:{isCustom:{type:Boolean,required:!0},customAction:{type:[Object,null],required:!0}},emits:[`back`],setup(e){let t=Q(xt),n=Q(St),r=Q(Tt),{cycleRate:i,fmtRate:a}=Er(t),{cycleCaptionTrack:o,currentCaptionLabel:s}=Dr(t),{cycleQuality:c,currentQualityLabel:l}=Or(t);return(u,d)=>(B(),O(C,null,[k(`div`,Fr,[k(`button`,{class:`controls__btn`,"aria-label":`Back`,onClick:d[0]||=e=>u.$emit(`back`)},[j(q(Nt))]),d[5]||=k(`span`,{class:`controls__more-label`},`More`,-1)]),k(`div`,{class:`controls__more-body`,onTouchstartPassive:d[4]||=e=>q(n).keepOpen()},[q(t).supportsPlaybackRate?(B(),E(Pr,{key:0,label:`Playback speed`,value:q(a)(q(t).currentPlaybackRate),onClick:q(i)},null,8,[`value`,`onClick`])):D(`v-if`,!0),j(Pr,{label:`Loop`,"aria-label":`Toggle loop`,icon:q(cn),active:q(t).isLooping,value:q(t).isLooping?`On`:`Off`,onClick:d[1]||=e=>q(t).toggleLoop()},null,8,[`icon`,`active`,`value`]),q(t).supportsCaptions?(B(),E(Pr,{key:1,label:`Captions`,icon:q(Lt),active:q(t).activeCaptionIndex!==null,value:q(s)(),onClick:q(o)},null,8,[`icon`,`active`,`value`,`onClick`])):D(`v-if`,!0),q(t).supportsQuality?(B(),E(Pr,{key:2,label:`Quality`,icon:q(On),active:!q(t).isAutoQuality,value:q(l)(),onClick:q(c)},null,8,[`icon`,`active`,`value`,`onClick`])):D(`v-if`,!0),q(r).hasPlaylist?(B(),E(Pr,{key:3,label:`Autoplay next`,"aria-label":`Toggle autoplay next`,icon:q(In),active:q(r).autoAdvance,value:q(r).autoAdvance?`On`:`Off`,onClick:d[2]||=e=>q(r).toggleAutoAdvance()},null,8,[`icon`,`active`,`value`])):D(`v-if`,!0),e.isCustom&&e.customAction?(B(),E(Pr,{key:4,label:e.customAction.label,"icon-html":e.customAction.icon,onClick:d[3]||=t=>e.customAction.onClick()},null,8,[`label`,`icon-html`])):D(`v-if`,!0)],32)],64))}}),[[`__scopeId`,`data-v-e89a8208`]]);const Lr={class:`controls__row`},Rr={class:`controls__play-wrap`},zr={class:`controls__fs-wrap`};var Br=$(M({__name:`ControlsPopup`,setup(e){let t=Q(xt),n=Q(St),r=Q(Tt),i=Dt(P(wt),t),{isCustom:a,customAction:o}=kt(P(Ct),t,r),s=H(!1),c=H(!1),l=H(null),u=H(null),d=T(()=>t.isLooping||t.currentPlaybackRate!==1||r.autoAdvance);function f(e){return!l.value||l.value.contains(e)?!1:(n.closeControls(),!0)}function p(e){f(e.target)}function m(e){f(e.target)&&e.preventDefault()}z(()=>{t.fire(`controlsopen`,{element:l.value}),document.addEventListener(`click`,p,!0),document.addEventListener(`touchend`,m,!0)}),R(()=>{s.value=!1,c.value=!1,t.fire(`controlsclose`,{element:l.value}),document.removeEventListener(`click`,p,!0),document.removeEventListener(`touchend`,m,!0)});function h(e){n.suppressMouseLeave();let t=l.value,r=u.value;if(!t||!r){e();return}r.style.opacity=`0`,ar(t,e).then(()=>{r.style.transition=`opacity 130ms ease`,r.style.opacity=``,setTimeout(()=>{r.style.transition=``},130)})}function g(){if(_()){t.toggleMute();return}h(()=>{s.value=!0})}function v(){h(()=>{c.value=!0})}return(e,f)=>(B(),O(`div`,{ref_key:`popupEl`,ref:l,class:I([`controls`,{"controls--fs":q(t).isFullscreen,"controls--compact":q(i)}]),onMousemove:f[7]||=X((...e)=>q(n).keepOpen&&q(n).keepOpen(...e),[`stop`])},[k(`div`,{ref_key:`contentEl`,ref:u},[s.value?(B(),E(Tr,{key:0,onBack:f[0]||=e=>h(()=>s.value=!1)})):c.value?(B(),E(Ir,{key:1,"is-custom":q(a),"custom-action":q(o),onBack:f[1]||=e=>h(()=>c.value=!1)},null,8,[`is-custom`,`custom-action`])):(B(),O(C,{key:2},[q(t).isLive?D(`v-if`,!0):(B(),E(pr,{key:0,player:q(t),class:`controls__seek`,onMousedown:f[2]||=e=>q(n).pauseHide(),onMouseup:f[3]||=e=>q(n).scheduleHide(),onTouchstartPassive:f[4]||=e=>q(n).pauseHide(),onTouchend:f[5]||=e=>q(n).scheduleHide()},null,8,[`player`])),k(`div`,Lr,[k(`div`,Rr,[j(Xn,{player:q(t)},null,8,[`player`]),q(t).isBuffering?D(`v-if`,!0):(B(),E(qn,{key:0,player:q(t),class:`ppbtn ppbtn--sm`},null,8,[`player`]))]),j(gr,{player:q(t),class:`controls__time-display`},null,8,[`player`]),q(r).hasNext?(B(),O(`button`,{key:0,class:`controls__btn`,"aria-label":`Play next`,onClick:f[6]||=e=>q(r).playNext()},[j(q(In))])):D(`v-if`,!0),k(`button`,{class:`controls__btn`,"aria-label":`Volume`,onClick:g},[j(Zn,{"is-audible":q(t).isAudible},null,8,[`is-audible`])]),k(`button`,{class:I([`controls__btn controls__btn--more`,{"controls__btn--active":d.value}]),"aria-label":`More`,onClick:v},[j(q(fn))],2),j(lr,{player:q(t),class:`controls__btn controls__btn--pip`},null,8,[`player`]),k(`div`,zr,[q(t).isFullscreenPending?(B(),E(Jn,{key:0})):(B(),E(sr,{key:1,player:q(t),class:`controls__btn`},null,8,[`player`]))])])],64))],512)],34))}}),[[`__scopeId`,`data-v-5712aad4`]]);const Vr={key:0,class:`overlay__spinner`},Hr={key:0,class:`overlay__error`};var Ur=$(M({__name:`PlayerOverlay`,setup(e){let t=Q(xt),{hudVisible:n,popupVisible:r}=Et(t,Q(St));return(e,i)=>(B(),O(C,null,[j(w,{name:`fade`},{default:Y(()=>[!q(t).isReady&&!q(t).isError?(B(),O(`div`,Vr,[j(Jn,{size:40,"border-width":3})])):D(`v-if`,!0)]),_:1}),j(w,{name:`fade`},{default:Y(()=>[q(t).isError?(B(),O(`div`,Hr,[k(`p`,null,G(q(t).errorMessage||`This video could not be played.`),1),k(`button`,{class:`overlay__retry`,onClick:i[0]||=X((...e)=>q(t).retry&&q(t).retry(...e),[`stop`])},`Retry`)])):D(`v-if`,!0)]),_:1}),k(`div`,{class:I([`overlay__hud`,{"overlay__hud--visible":q(n)}])},[j(rr)],2),j(w,{name:`popup`},{default:Y(()=>[q(r)?(B(),O(`div`,{key:0,class:I([`overlay__popup`,{"overlay__popup--fs":q(t).isFullscreen}])},[j(Br)],2)):D(`v-if`,!0)]),_:1})],64))}}),[[`__scopeId`,`data-v-2fba5782`]]);const Wr={class:`ad-overlay`},Gr={class:`ad-overlay__bar`},Kr={class:`ad-overlay__badge`},qr={key:0,class:`ad-overlay__countdown`},Jr=[`aria-label`],Yr=[`aria-label`];var Xr=$(M({__name:`AdOverlay`,setup(e){let t=Q(xt),n=T(()=>t.adRemainingTime>0?t.fmt(t.adRemainingTime):``);return(e,r)=>(B(),O(`div`,Wr,[k(`div`,Gr,[k(`div`,Kr,[r[2]||=k(`span`,null,`Ad`,-1),n.value?(B(),O(`span`,qr,G(n.value),1)):D(`v-if`,!0)]),k(`button`,{class:`ad-overlay__btn`,"aria-label":q(t).isAdPaused?`Resume ad`:`Pause ad`,onClick:r[0]||=e=>q(t).togglePlay()},[q(t).isAdPaused?(B(),E(q(wn),{key:0})):(B(),E(q(gn),{key:1}))],8,Jr),k(`button`,{class:`ad-overlay__btn`,"aria-label":q(t).isAdMuted?`Unmute ad`:`Mute ad`,onClick:r[1]||=e=>q(t).toggleAdMute()},[q(t).isAdMuted?(B(),E(q(Bn),{key:0})):(B(),E(q(Wn),{key:1}))],8,Yr)])]))}}),[[`__scopeId`,`data-v-23efcc8b`]]);const Zr=H(0),Qr=T(()=>Zr.value>0),$r=H(!1);function ei(){Zr.value++}function ti(){Zr.value--}function ni(e,t,n){let r=H(!1),i=T(()=>r.value&&$r.value),a=null;function o(){if(a?.(),a=null,!n.value||!e.value){r.value=!1;return}a=ze(e.value,e=>{e.intersectionRatio<.1?t.value&&(r.value=!0):r.value=!1})}return z(o),J(n,o),J(e,o),R(()=>a?.()),{isPinned:r,isTucked:i,unpin:()=>r.value=!1}}function ri(e,t,n){let r=H(null),i=H(null);J(n,n=>{let i=e.value?.offsetWidth??null;r.value=n&&t.value&&i?{height:t.value.offsetHeight,wrapperWidth:i}:null});let a=T(()=>{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 J(e,e=>{o?.disconnect(),o=null,e&&(o=new ResizeObserver(([e])=>i.value=e.contentRect.width),o.observe(e))},{immediate:!0}),R(()=>o?.disconnect()),{wrapperStyle:a,clear:()=>r.value=null}}function ii(e){e?.scrollIntoView({behavior:`smooth`,block:`center`})}var ai=$(M({__name:`PinnablePlayerShell`,props:{isPlaying:{type:Boolean,required:!0}},setup(e){let t=e,n=H(null),r=H(null),{isPinned:i,unpin:a}=ni(n,K(t,`isPlaying`),H(!0)),o=H(i.value);J(i,e=>{ar(r.value,()=>{o.value=e})});let s=T(()=>o.value&&$r.value),{wrapperStyle:c}=ri(n,r,o);function l(){ii(n.value)}function u(e){r.value=e}return(e,t)=>(B(),O(`div`,{ref_key:`wrapperEl`,ref:n,class:`player-wrapper`,style:L(q(c))},[W(e.$slots,`default`,{isPinned:o.value,isTucked:s.value,setBoxEl:u,unpin:q(a),scrollToPlayer:l},void 0,!0)],4))}}),[[`__scopeId`,`data-v-a2f8a547`]]);const oi={class:`player-wrapper`};var si=$(M({__name:`PlainPlayerShell`,props:{isPlaying:{type:Boolean,required:!0}},setup(e){function t(){}return(e,n)=>(B(),O(`div`,oi,[W(e.$slots,`default`,{isPinned:!1,isTucked:!1,setBoxEl:t,unpin:t,scrollToPlayer:t},void 0,!0)]))}}),[[`__scopeId`,`data-v-9188c23a`]]),ci=$(M({__name:`PinnedControls`,emits:[`scroll-to`,`dismiss`],setup(e){return(e,t)=>(B(),O(C,null,[k(`button`,{class:`pinned-controls__scroll-to`,"aria-label":`Scroll to player`,onClick:t[0]||=X(t=>e.$emit(`scroll-to`),[`stop`])},[j(q(Yt))]),k(`button`,{class:`pinned-controls__dismiss`,"aria-label":`Close`,onClick:t[1]||=X(t=>e.$emit(`dismiss`),[`stop`])},[j(q(Vt))])],64))}}),[[`__scopeId`,`data-v-690b416a`]]);function li(e){let[t,n]=e.split(`:`).map(Number);return{isPortrait:n>t,cssRatio:`${t}/${n}`}}const ui={"data-mlv-player":``},di=[`poster`],fi=[`src`,`kind`,`srclang`,`label`,`default`],pi={key:3,class:`player__native-play`};var mi=$(M({__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:c},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},controls:{type:Boolean,required:!1,default:!0},playInView:{type:Boolean,required:!1,default:!1},pin:{type:String,required:!1},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=H(null),o=V(gt(a,r,i)),s=V(_t(K(o,`isPlaying`)));re(xt,o),re(St,s),re(Ct,K(r,`action`)),re(Tt,V({hasPlaylist:T(()=>r.hasPlaylist),hasNext:T(()=>r.hasNext),hasPrevious:T(()=>r.hasPrevious),autoAdvance:T(()=>r.autoAdvance),playNext:()=>i(`play-next`),playPrevious:()=>i(`play-previous`),toggleAutoAdvance:()=>i(`toggle-auto-advance`)}));let c=T(()=>li(r.aspectRatio)),l=T(()=>c.value.isPortrait),u=T(()=>c.value.cssRatio),d=T(()=>!r.poster&&!o.isReady),f=T(()=>r.pin?ai:si);function p(e){o.isPlaying&&o.togglePlay(),e()}function m(){s.onVideoTap(),o.fire(`tap`)}let{playerRef:h,forwarded:g}=bt();return h.value=o,t(g),(t,n)=>(B(),E(ie(f.value),{"is-playing":o.isPlaying},{default:Y(({isPinned:t,isTucked:i,setBoxEl:c,unpin:f,scrollToPlayer:h})=>[k(`div`,{ref:c,class:I([`player`,{"player--pinned":t,"player--tucked":i,[`player--pin-${e.pin}`]:t}])},[t?(B(),E(ci,{key:0,onScrollTo:h,onDismiss:e=>p(f)},null,8,[`onScrollTo`,`onDismiss`])):D(`v-if`,!0),k(`div`,{class:I([`player__shell`,{"player__shell--portrait":l.value}]),style:L({aspectRatio:u.value}),onMousemove:n[0]||=e=>s.onMouseMove(),onContextmenuCapture:n[1]||=X(()=>{},[`prevent`]),onMouseleave:n[2]||=e=>s.onMouseLeave()},[k(`div`,ui,[k(`video`,{ref_key:`videoEl`,ref:a,class:I([`mlv-video`,{"mlv-video--hidden":d.value}]),poster:r.poster,playsinline:``},[(B(!0),O(C,null,U(r.tracks,(e,t)=>(B(),O(`track`,{key:`${e.src}-${t}`,src:e.src,kind:e.kind??`captions`,srclang:e.srclang,label:e.label,default:e.default},null,8,fi))),128))],10,di),!r.disableTapCapture&&!o.isNativeUi&&o.hasStarted&&!o.isAdPlaying?(B(),O(`div`,{key:0,class:`overlay__tap-capture`,onClick:m,onTouchend:X(m,[`prevent`,`stop`])},null,32)):D(`v-if`,!0),o.isAdPlaying&&!o.isNativeUi?(B(),E(Xr,{key:1})):D(`v-if`,!0),r.controls&&!o.isNativeUi?(B(),E(Ur,{key:2})):D(`v-if`,!0),r.controls&&o.isNativeUi&&!o.hasStarted?(B(),O(`div`,pi,[j(qn,{player:o,class:`ppbtn ppbtn--lg`},null,8,[`player`])])):D(`v-if`,!0)])],38)],2)]),_:1},8,[`is-playing`]))}}),[[`__scopeId`,`data-v-4ab3cf75`]]);function hi(e,t){window.dispatchEvent(new CustomEvent(e,{detail:t}))}function gi(e,t){let n=e=>t(e.detail);z(()=>window.addEventListener(e,n)),R(()=>window.removeEventListener(e,n))}function _i(e,t){let n=T(()=>!e.value||!t.value?-1:e.value.findIndex(e=>e.src===t.value?.src)),r=T(()=>n.value===-1||!e.value?null:e.value[n.value+1]??null),i=T(()=>n.value<=0||!e.value?null:e.value[n.value-1]??null);return{hasNext:T(()=>r.value!==null),hasPrevious:T(()=>i.value!==null),nextEntry:r,previousEntry:i}}function vi(){return localStorage.getItem(i)===`true`}function yi(e){localStorage.setItem(i,String(e))}const bi=[`src`],xi={class:`stage__idle-body`},Si={class:`stage__idle-btn`},Ci={class:`stage__idle-title`},wi={key:1,class:`stage__idle-empty`};var Ti=$(M({__name:`VideoStage`,props:{pin:{type:String,required:!1,default:`bottom-right`},playlist:{type:Array,required:!1}},emits:[`state-change`],setup(t,{expose:r,emit:i}){let a=t,o=i,s=H(vi());J(s,yi);let c=T(()=>!!a.playlist?.length),u=H(null),d=H(!1),f=H(!1);function p(e){o(`state-change`,{type:e,currentTime:0,duration:0,src:u.value?.src??``})}J(d,e=>p(e?`stageopen`:`stageclose`));let{playerRef:m,forwarded:h}=bt(()=>d.value),g=H(null),_=H(null),v=H(!1);re(wt,v);let{hasNext:y,hasPrevious:b,nextEntry:x,previousEntry:S}=_i(K(a,`playlist`),u),w=T(()=>v.value&&!!u.value&&d.value),ee=T(()=>w.value&&$r.value),A=T(()=>li(u.value?.aspectRatio||`16:9`).cssRatio),{wrapperStyle:M,clear:N}=ri(g,_,w),P=null;function te(){P?.disconnect(),g.value&&(P=new IntersectionObserver(([e])=>{let t=!e.isIntersecting;if(!u.value||!d.value){v.value=t;return}ar(_.value,()=>{v.value=t})},{threshold:.98}),P.observe(g.value))}J(g,te);function ne(){u.value&&(u.value={...u.value,autoplay:!0,muted:at(u.value.muted)},d.value=!0)}function V(){ne()}function U(){ii(g.value)}function W(){u.value=null,d.value=!1,f.value=!1,N(),ie()}function ie(){hi(l,{currentSrc:u.value?.src??null,isPlaying:f.value})}function ae(e){if(u.value?.src===e.src&&d.value){e.fromGesture&&m.value?.togglePlay();return}u.value=e,d.value=!1,f.value=!1,ie(),d.value=!0}function Y(e){if(!(!u.value||e.src!==u.value.src)){if(!d.value){ne();return}m.value?.togglePlay()}}function X(e,t){e&&ae({...e,fromGesture:t,autoplay:!0,muted:e.muted??m.value?.isMuted??at(void 0,t),volume:e.volume??m.value?.vol})}function oe(e=!0){X(x.value,e)}function se(e=!0){X(S.value,e)}function ce(e){e.type===`play`&&(f.value=!0),(e.type===`pause`||e.type===`ended`)&&(f.value=!1),e.type===`ended`&&s.value&&oe(!1),ie(),o(`state-change`,e)}return gi(n,ae),gi(e,Y),z(ei),R(()=>{ti(),P?.disconnect()}),r({playNext:oe,playPrevious:se,hasNext:y,hasPrevious:b,...h}),(e,n)=>(B(),O(`div`,{ref_key:`wrapperEl`,ref:g,class:`stage-wrapper`,style:L(q(M))},[k(`div`,{ref_key:`stageEl`,ref:_,class:I([`stage`,{"stage--minified":w.value,"stage--tucked":ee.value,[`stage--pin-${t.pin}`]:w.value}])},[w.value?(B(),E(ci,{key:0,onScrollTo:U,onDismiss:W})):D(`v-if`,!0),u.value&&d.value?(B(),E(mi,F({ref_key:`playerRef`,ref:m,key:u.value.src},u.value,{"has-playlist":c.value,"has-next":q(y),"has-previous":q(b),"auto-advance":s.value,onStateChange:ce,onPlayNext:oe,onPlayPrevious:se,onToggleAutoAdvance:n[0]||=e=>s.value=!s.value}),null,16,[`has-playlist`,`has-next`,`has-previous`,`auto-advance`])):(B(),O(`div`,{key:2,class:`stage__idle`,style:L({aspectRatio:A.value}),onClick:V},[u.value?.poster?(B(),O(`img`,{key:0,src:u.value.poster,class:`stage__idle-poster`},null,8,bi)):D(`v-if`,!0),n[1]||=k(`div`,{class:`stage__idle-scrim`},null,-1),k(`div`,xi,[u.value?(B(),O(C,{key:0},[k(`div`,Si,[j(q(wn))]),k(`p`,Ci,G(u.value.title),1)],64)):(B(),O(`p`,wi,`Select a video to play`))])],4))],2)],4))}}),[[`__scopeId`,`data-v-fb8c86cf`]]),Ei=M({__name:`PlayPauseIcon`,props:{isPlaying:{type:Boolean,required:!0},hasEnded:{type:Boolean,required:!1,default:!1}},setup(e){return(t,n)=>e.isPlaying?(B(),E(q(gn),{key:0})):e.hasEnded?(B(),E(q(Mn),{key:1})):(B(),E(q(wn),{key:2}))}});const Di={class:`placeholder`},Oi=[`src`,`alt`],ki={class:`placeholder__btn-wrap`},Ai=[`aria-label`],ji={key:1,class:`placeholder__footer`},Mi={class:`placeholder__title`};var Ni=$(M({__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:c},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},controls:{type:Boolean,required:!1},playInView:{type:Boolean,required:!1},pin:{type:String,required:!1}},emits:[`enter-view`],setup(e,{emit:t}){let r=e,i=t,a=T(()=>li(r.aspectRatio)),o=T(()=>a.value.isPortrait),s=T(()=>a.value.cssRatio),c=H(null),u=null,d=H(!1),f=H(!1),p=T(()=>d.value&&f.value?`Pause`:`Play`);gi(l,e=>{d.value=e.currentSrc===r.src,f.value=d.value&&e.isPlaying});function m(e,t,i){hi(n,{...r,fromGesture:e,...t!==void 0&&{autoplay:t},...i!==void 0&&{muted:i}})}function h(){m(!0,!0,at(r.muted))}return z(()=>{r.autoStage&&m(!1),r.playInView&&c.value&&(u=Ve(c.value,()=>i(`enter-view`)))}),R(()=>u?.()),(t,n)=>(B(),O(`div`,Di,[k(`div`,{ref_key:`shellEl`,ref:c,class:I([`placeholder__shell`,{"placeholder__shell--portrait":o.value,"placeholder__shell--active":d.value}]),style:L({aspectRatio:s.value}),onClick:h},[e.poster?(B(),O(`img`,{key:0,class:`placeholder__poster`,src:e.poster,alt:e.title},null,8,Oi)):D(`v-if`,!0),n[0]||=k(`div`,{class:`placeholder__scrim`},null,-1),k(`div`,ki,[k(`button`,{type:`button`,class:`ppbtn ppbtn--lg`,"aria-label":p.value,onClick:X(h,[`stop`])},[j(Ei,{"is-playing":d.value&&f.value},null,8,[`is-playing`])],8,Ai)]),e.title?(B(),O(`div`,ji,[k(`p`,Mi,G(e.title),1)])):D(`v-if`,!0)],6)]))}}),[[`__scopeId`,`data-v-dbcb4f82`]]),Pi=M({__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},controls:{type:Boolean,required:!1,default:void 0},playInView:{type:Boolean,required:!1},pin:{type:String,required:!1}},emits:[`state-change`],setup(e,{expose:t,emit:r}){let i=e,a=r,o=H(!1),s=H(!1);function c(){s.value=!0,o.value=!0}async function l(){o.value||(o.value=!0,await te())}let{playerRef:u,forwarded:d}=bt(async e=>Qr.value?(e===`togglePlay`&&hi(n,{...i,fromGesture:!0,autoplay:!0,muted:at(i.muted)}),!1):(await l(),!0));return t(d),(e,t)=>q(Qr)?(B(),E(Ni,ne(F({key:0},i)),null,16)):(B(),O(C,{key:1},[i.lazy&&!o.value&&!i.autoplay?(B(),E(Ni,F({key:0},i,{onClickCapture:c,onEnterView:t[0]||=e=>o.value=!0}),null,16)):(B(),E(mi,F({key:1,ref_key:`playerRef`,ref:u},i,{autoplay:o.value||i.autoplay,muted:q(at)(i.muted,s.value),onStateChange:t[1]||=e=>a(`state-change`,e)}),null,16,[`autoplay`,`muted`]))],64))}}),Fi=$(M({__name:`HideMarker`,setup(e){let t=H(null),n=null;return z(()=>{t.value&&(n=new IntersectionObserver(([e])=>{$r.value=e.isIntersecting}),n.observe(t.value))}),R(()=>n?.disconnect()),(e,n)=>(B(),O(`div`,{ref_key:`el`,ref:t,class:`mlv-hide-marker`},null,512))}}),[[`__scopeId`,`data-v-bacb702a`]]);const Ii=N(mi,{shadowRoot:!1}),Li=N(Ti,{shadowRoot:!1}),Ri=N(Ni,{shadowRoot:!1}),zi=N(Pi,{shadowRoot:!1}),Bi=N(Fi,{shadowRoot:!1}),Vi=[[`ml-video-player`,Ii],[`ml-video-stage`,Li],[`ml-video-placeholder`,Ri],[`ml-video-card`,zi],[`ml-hide-marker`,Bi]];function Hi(){for(let[e,t]of Vi)customElements.get(e)||customElements.define(e,t)}typeof import.meta.url==`string`&&new URL(import.meta.url).searchParams.has(`defer`)||Hi();export{Bi as HideMarkerElement,zi as VideoCardElement,Ri as VideoPlaceholderElement,Ii as VideoPlayerElement,Li as VideoStageElement,Hi as defineElements,de as registerEmbedAdapter,se as registerMatcher,ve as registerPlatform,he as registerSourceResolver};
|
|
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 x,s as S}from"./chunks/embedShared-duyOYFQN.mjs";import{Fragment as C,Transition as w,computed as T,createBlock as E,createCommentVNode as D,createElementBlock as O,createElementVNode as k,createStaticVNode as A,createTextVNode as te,createVNode as j,defineComponent as M,defineCustomElement as N,inject as P,mergeProps as F,nextTick as ne,normalizeClass as I,normalizeProps as re,normalizeStyle as L,onBeforeUnmount as R,onMounted as z,openBlock as B,provide as V,reactive as H,ref as U,renderList as ie,renderSlot as W,resolveDynamicComponent as ae,shallowRef as oe,toDisplayString as G,toRef as K,unref as q,watch as J,withCtx as Y,withModifiers as X}from"vue";const se=[];function ce(e){se.push(e)}function le(e){if(!e)return{key:`html5`,embed:!1};let t=se.find(t=>t.test(e));return{key:t?.key??`html5`,embed:t?.embed??!1}}const ue={},de={};function fe(e,t){ue[e]=t}async function pe(e,t,n){let r=ue[e];if(!r){let t=de[e];if(!t)return null;r=await t(),ue[e]=r}return r(t,n)}const me={},he={};function ge(e,t){me[e]=t}function _e(e){if(/\.m3u8(\?|#|$)/.test(e))return p;if(/\.mpd(\?|#|$)/.test(e))return m;if(/\.mp4(\?|#|$)/.test(e))return s}async function ve(e,t){let n=me[e];if(!n){let t=he[e];t&&(n=await t(),me[e]=n)}return n?n(t):{src:t,type:_e(t)}}function ye(e){ce({test:e.test,key:e.key,embed:e.embed}),e.embed?fe(e.key,e.createAdapter):e.resolveSource&&ge(e.key,e.resolveSource)}function be(e){ce({key:e.key,test:e.test,embed:e.embed}),e.embed?de[e.key]=e.loadAdapter:he[e.key]=e.loadResolver}be({key:`youtube`,test:e=>/youtu\.be|youtube\.com/.test(e),embed:!0,loadAdapter:()=>import(`./chunks/youtube-DbJ-IrvP.mjs`).then(e=>e.createYoutubeAdapter)}),be({key:`vimeo`,test:e=>/vimeo\.com|player\.vimeo\.com/.test(e),embed:!0,loadAdapter:()=>import(`./chunks/vimeo-WJYDJPA3.mjs`).then(e=>e.createVimeoAdapter)}),be({key:`dailymotion`,test:e=>/dailymotion\.com|dai\.ly/.test(e),embed:!0,loadAdapter:()=>import(`./chunks/dailymotion-gEquA4h5.mjs`).then(e=>e.createDailymotionAdapter)}),be({key:`jwplayer`,test:e=>/cdn\.jwplayer\.com/.test(e)||e.startsWith(`jwplayer://`),embed:!1,loadResolver:()=>import(`./chunks/jwplayer-WIkwoJTA.mjs`).then(e=>e.resolveSource)}),be({key:`brightcove`,test:e=>/players\.brightcove\.net/.test(e),embed:!1,loadResolver:()=>import(`./chunks/brightcove-rNI-XRxB.mjs`).then(e=>e.resolveSource)});function xe(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 Se=new Set;function Ce(e){return Se.add(e),()=>Se.delete(e)}function we(e){Se.forEach(t=>{if(t!==e)try{t()}catch{}})}function Te(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 Ee=Te(e=>(document.addEventListener(`fullscreenchange`,e),document.addEventListener(`webkitfullscreenchange`,e),()=>{document.removeEventListener(`fullscreenchange`,e),document.removeEventListener(`webkitfullscreenchange`,e)})),De=Te(e=>(document.addEventListener(`visibilitychange`,e),window.addEventListener(`blur`,e),()=>{document.removeEventListener(`visibilitychange`,e),window.removeEventListener(`blur`,e)}));function Oe(e){let t=U(!1),n=U(!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 z(()=>{r=Ee(i)}),R(()=>{r?.()}),{isFullscreen:t,isFullscreenPending:n,toggleFullscreen:a,markFullscreenPending:o,attachPlayerEvents:s}}function ke(e){let t=U(!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 R(()=>clearTimeout(n??void 0)),{isBuffering:t,attachPlayerEvents:i,reset:r}}function Ae(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 je(){try{return JSON.parse(localStorage.getItem(`player:positions`)??`[]`)}catch{return[]}}function Me(e){localStorage.setItem(n,JSON.stringify(e))}function Ne(e,t){if(t<5)return;let n=je().filter(t=>t.url!==e);n.unshift({url:e,time:t}),Me(n.slice(0,5))}function Pe(e){return je().find(t=>t.url===e)?.time??null}function Fe(e){Me(je().filter(t=>t.url!==e))}function Ie(e,t,n){let r=!1;function i(t){if(r)return;let n=Pe(e);n&&t.setCurrentTime(n),r=!0}function a(t){t&&!n.value&&Ne(e,t.currentTime()??0)}function o(){Fe(e)}let s=De(()=>{document.visibilityState===`hidden`&&a(t())});return R(()=>{a(t()),s()}),{restoreOnce:i,save:a,clear:o}}const Le=new WeakMap,Re=[.1,.5];function ze(e){let t=Le.get(e);if(t)return t;let n=new Set,r=new IntersectionObserver(([e])=>n.forEach(t=>t(e)),{threshold:Re});r.observe(e);let i={observer:r,callbacks:n};return Le.set(e,i),i}function Be(e,t){let n=ze(e);return n.callbacks.add(t),()=>{n.callbacks.delete(t),n.callbacks.size===0&&(n.observer.disconnect(),Le.delete(e))}}let Ve=null,He=null;function Ue(e,t){let n=Be(e,n=>{n.intersectionRatio<.5||(He&&clearTimeout(He),Ve=e,He=setTimeout(()=>{Ve=null,He=null,t()},150))});return()=>{Ve===e&&He&&(clearTimeout(He),Ve=null,He=null),n()}}function We(e,t,n,r,i){let a=null;z(()=>{let o=e.value&&S(e.value);o&&(a=Be(o,e=>{let a=t();e.intersectionRatio<.1&&a&&!a.paused()&&!n.value&&!r.value&&!i.value&&a.pause()}))}),R(()=>a?.())}function Ge(e){return e.kind===`captions`||e.kind===`subtitles`}function Ke(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];Ge(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];Ge(r)&&(r.mode=n===t?`showing`:`hidden`)}}function i(){for(let t=0;t<e.textTracks.length;t++){let n=e.textTracks[t];if(Ge(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 qe(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 Je(e){function t(){return qe(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 Ye(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=S(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 Xe(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 Ze=[`play`,`pause`,`ended`,`error`,`timeupdate`,`durationchange`,`progress`,`volumechange`,`ratechange`,`seeking`,`seeked`,`waiting`,`playing`,`canplay`];function Qe(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 $e(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 et(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();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=Ze.map(e=>[e,m(e)]);for(let[t,n]of h)e.addEventListener(t,n);let g=Ke(e,m(`captionschange`)),_=Je(()=>r?Qe(r):i?$e(i):null),v=Ye(e,m(`nativefullscreenenter`),m(`nativefullscreenexit`)),y=Xe(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 tt(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 nt(){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 rt(e){localStorage.setItem(a,JSON.stringify(e))}let it=!1;function at(){it=!0}function ot(){return it}function st(e){rt(e),e.muted||at()}function ct(e,t=!0){if(e!==void 0)return e;if(!t)return;let n=nt().muted;return n||at(),n}function lt(e,t){return e===void 0?t&&!ot()?!0:nt().muted:e}function ut(e){return e.volume??nt().volume}function dt(e){return{muted:lt(e.muted,!!(e.autoplay||e.playInView)),volume:ut(e)}}async function ft(e,t,n){if(!t.value)return{status:`aborted`};let r=await pe(e,t.value,{src:n.src,poster:n.poster,autoplay:n.autoplay,...dt(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 pt(e,t,n,r,i){let a=await ve(e,n.src).catch(()=>({src:n.src}));if(!t.value)return{status:`aborted`};let o=et(t.value,{src:a.src,type:a.type,poster:a.poster||n.poster||``,autoplay:n.autoplay,...dt(n),playbackRate:r.value,preload:n.preload}),s=tt(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 mt(e,t,n,r,i){return e.embed?ft(e.key,t,n):pt(e.key,t,n,r,i)}function ht(e,t,n,r,i){let a=null;z(()=>{let o=e.value&&S(e.value);o&&(a=Ue(o,()=>{let e=t();e&&e.paused()&&!n.value&&!r.value&&(e.setMuted(lt(i,!0)),e.play())}))}),R(()=>a?.())}function gt(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),st({muted:n,volume:t.volume()})}function l(t){let n=e();if(!n)return;let r=t===0;n.setVolume(t),n.setMuted(r),st({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 _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,playbackRate: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:te}=t;function j(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 j(){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})}j(),e.on(`qualitychange`,j);function M(){x.value=e.supportsPip();let t=e.isPipActive();t!==S.value&&(S.value=t,C.value&&E(`pipchange`,{isPipActive:t}))}M(),e.on(`pipchange`,M);let N=()=>{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`,()=>{we(D),a.value=!0,E(`adstart`)}),e.on(`adend`,()=>{a.value=!1,E(`adend`)}),e.on(`play`,()=>{we(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();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 P=0;e.on(`timeupdate`,()=>{if(r.value||a.value)return;s.value=e.currentTime()??0,c.value||N(),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-P>=250&&(P=n,E(`timeupdate`))}),e.on(`durationchange`,N),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),te.attachPlayerEvents(e)}return{attachPlayerEvents:j}}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(){!v()&&t.isPipActive()&&document.exitPictureInPicture()}function g(){!v()&&(document.hidden||!document.hasFocus())&&c?.isAdPlaying()&&c.pauseAd()}let _=De(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||we(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=U(!1),c=U(!1),l=U(!1),u=U(!1),d=U(0),f=U(0),p=U(0),m=U(ut(t)),h=U(!1),g=U(!1),_=U(!1),v=U(0),y=U(lt(t.muted,!!(t.autoplay||t.playInView))),b=U(!!t.loop),x=U(t.playbackRate??1),S=U(!1),C=U(!1),w=U([]),E=U(null),D=U(!1),O=U([]),k=U(null),A=U(!0),te=U(!1),j=U(!1),M=U(!1),N=U(!1),P=U(``),F=U(!1),ne=T(()=>f.value?d.value/f.value*100:0),I=T(()=>Math.max(p.value,ne.value)),re=T(()=>!y.value&&m.value>0),L=()=>r,B=T(()=>{if(typeof t.payload!=`string`)return t.payload??{};try{return JSON.parse(t.payload)}catch{return{}}});function V(e,r={}){n(`state-change`,{type:e,currentTime:d.value,duration:f.value,src:t.src,...r,payload:B.value})}let H=Oe(L),ie=ke(V),W=Ie(t.src,L,c),ae=Ae(d,f,V);function oe(){r&&a&&(N.value=!1,P.value=``,r.setSrc(a.src,a.type))}function G(){if(q.isAdPlaying()){q.pauseAd();return}r?.pause()}function K(){if(q.isAdPlaying()){q.isAdPaused()?q.resumeAd():q.pauseAd();return}Y.togglePlay()}let q=vt({isAdPlaying:h,isAdPaused:g,isAdMuted:_,adRemainingTime:v},{fire:V,pauseThisPlayer:G}),Y=gt(L,l,f,b,x,s),{attachPlayerEvents:X}=_t({isPlaying:s,hasEnded:c,isReady:l,isAdPlaying:h,isLive:u,current:d,total:f,buffered:p,vol:m,isMuted:y,isLooping:b,playbackRate:x,supportsPlaybackRate:S,supportsCaptions:C,captionTracks:w,activeCaptionIndex:E,supportsQuality:D,qualityLevels:O,currentQualityIndex:k,isAutoQuality:A,supportsPip:te,isPipActive:j,hasStarted:M,isError:N,errorMessage:P},{fire:V,pauseThisPlayer:G,positionMemory:W,quartiles:ae,buffering:ie,fullscreen:H});function se(e){r?.setCaptionTrack(e),E.value=e,M.value&&V(`captionchange`,{captionIndex:e})}function ce(e){r?.setQuality(e),k.value=e,A.value=e===null,M.value&&V(`qualitychange`,{qualityIndex:e})}function ue(){r?.togglePip()}function de(){Y.toggleLoop(),M.value&&V(`loopchange`,{isLooping:b.value})}J(()=>t.loop,e=>{e!==void 0&&e!==b.value&&de()}),J(()=>t.muted,e=>{r&&e!==void 0&&r.setMuted(e)}),J(()=>t.playbackRate,e=>{r&&e!==void 0&&r.setPlaybackRate(e)}),We(e,L,H.isFullscreen,H.isFullscreenPending,T(()=>!!t.pin)),t.playInView&&ht(e,L,H.isFullscreen,H.isFullscreenPending,t.muted);function fe(e){r=e.adapter,a=e.currentSrc,o=e.needsReveal,e.nativeUi!==void 0&&(F.value=e.nativeUi),i=Ce(G),X(e.adapter)}return J(M,t=>{t&&o&&e.value&&r&&ee(e.value,r.el)}),z(async()=>{let n=await mt(le(t.src),e,t,x,q);if(n.status===`unsupported`){N.value=!0,l.value=!0,P.value=`This platform is not yet supported.`;return}n.status===`mounted`&&fe(n.mounted)}),R(()=>{i?.(),q.dispose(),r?.dispose(),r=null}),{isPlaying:s,hasEnded:c,isReady:l,isLive:u,isBuffering:ie.isBuffering,current:d,total:f,progress:ne,bufferedDisplay:I,hasStarted:M,isError:N,errorMessage:P,fmt:xe,fire:V,retry:oe,togglePlay:K,seek:Y.seek,isAdPlaying:h,isAdPaused:g,isAdMuted:_,adRemainingTime:v,toggleAdMute:q.toggleAdMute,vol:m,isMuted:y,isAudible:re,toggleMute:Y.toggleMute,setVolume:Y.setVolume,isLooping:b,toggleLoop:de,currentPlaybackRate:x,setPlaybackRate:Y.setPlaybackRate,supportsPlaybackRate:S,isFullscreen:H.isFullscreen,isFullscreenPending:H.isFullscreenPending,toggleFullscreen:H.toggleFullscreen,markFullscreenPending:H.markFullscreenPending,supportsCaptions:C,captionTracks:w,activeCaptionIndex:E,setCaptionTrack:se,supportsQuality:D,qualityLevels:O,currentQualityIndex:k,isAutoQuality:A,setQuality:ce,supportsPip:te,isPipActive:j,togglePip:ue,isNativeUi:F}}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(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 St(e,t){let n=U(!0),r=U(!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 J(e,e=>{if(!e){clearTimeout(i??void 0),n.value=!0;return}s()}),R(()=>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 Ct=[`retry`,`togglePlay`,`seek`,`toggleMute`,`setVolume`,`toggleFullscreen`,`markFullscreenPending`,`toggleLoop`,`toggleAdMute`,`setPlaybackRate`,`setCaptionTrack`,`setQuality`,`togglePip`],wt=`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 Tt(e=()=>!0){let t=oe(null),n={};for(let r of Ct)n[r]=async(...n)=>{await e(r)&&t.value?.[r]?.(...n)};for(let e of wt)n[e]=T(()=>t.value?.[e]);return{playerRef:t,forwarded:n}}const Et=Symbol(`player`),Dt=Symbol(`hud`),Ot=Symbol(`action`),kt=Symbol(`playlist`);function Z(e){let t=P(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=T(()=>e.isReady&&!e.isError);return{hudVisible:T(()=>n.value&&t.showHUD),popupVisible:T(()=>n.value?e.isFullscreen?t.showHUD:t.isOpen:!1)}}function jt(e,t=250){let n=U(!1),r=null;return J(e,e=>{r?.disconnect(),r=null,e&&(r=new ResizeObserver(([e])=>{n.value=e.contentRect.width<t}),r.observe(e))},{immediate:!0}),R(()=>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=T(()=>e?.value??null),i=T(()=>!!r.value&&typeof r.value==`object`),a=T(()=>i.value?r.value:null),o=T(()=>i.value||!r.value?null:Mt[r.value]),s=T(()=>o.value?.label(t,n)??``),c=T(()=>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 Q=(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 B(),O(`svg`,Ft,[...t[0]||=[k(`path`,{d:`M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z`},null,-1)]])}var Lt=Q(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 B(),O(`svg`,zt,[...t[0]||=[k(`rect`,{x:`2`,y:`5`,width:`20`,height:`14`,rx:`2`},null,-1),k(`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),k(`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=Q(Rt,[[`render`,Bt]]);const Ht={},Ut={viewBox:`0 0 24 24`,fill:`currentColor`};function Wt(e,t){return B(),O(`svg`,Ut,[...t[0]||=[k(`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=Q(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 B(),O(`svg`,qt,[...t[0]||=[A(`<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=Q(Kt,[[`render`,Jt]]);const Xt={},Zt={viewBox:`0 0 24 24`,fill:`currentColor`};function Qt(e,t){return B(),O(`svg`,Zt,[...t[0]||=[k(`path`,{d:`M4 12l1.41 1.41L11 7.83V20h2V7.83l5.59 5.58L20 12l-8-8-8 8z`},null,-1)]])}var $t=Q(Xt,[[`render`,Qt]]);const en={},tn={viewBox:`0 0 24 24`,fill:`currentColor`};function nn(e,t){return B(),O(`svg`,tn,[...t[0]||=[k(`path`,{d:`M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z`},null,-1)]])}var rn=Q(en,[[`render`,nn]]);const an={},on={viewBox:`0 0 24 24`,fill:`currentColor`};function sn(e,t){return B(),O(`svg`,on,[...t[0]||=[k(`path`,{d:`M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z`},null,-1)]])}var cn=Q(an,[[`render`,sn]]);const ln={},un={viewBox:`0 0 24 24`,fill:`currentColor`};function dn(e,t){return B(),O(`svg`,un,[...t[0]||=[k(`path`,{d:`M7 7h10v3l4-4-4-4v3H5v6h2V7zm10 10H7v-3l-4 4 4 4v-3h12v-6h-2v4z`},null,-1)]])}var fn=Q(ln,[[`render`,dn]]);const pn={},mn={viewBox:`0 0 24 24`,fill:`currentColor`};function hn(e,t){return B(),O(`svg`,mn,[...t[0]||=[k(`circle`,{cx:`5`,cy:`12`,r:`2`},null,-1),k(`circle`,{cx:`12`,cy:`12`,r:`2`},null,-1),k(`circle`,{cx:`19`,cy:`12`,r:`2`},null,-1)]])}var gn=Q(pn,[[`render`,hn]]);const _n={},vn={viewBox:`0 0 24 24`,fill:`currentColor`};function yn(e,t){return B(),O(`svg`,vn,[...t[0]||=[k(`path`,{d:`M6 19h4V5H6v14zm8-14v14h4V5h-4z`},null,-1)]])}var bn=Q(_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 B(),O(`svg`,Sn,[...t[0]||=[k(`rect`,{x:`2`,y:`4`,width:`20`,height:`16`,rx:`2`},null,-1),k(`rect`,{x:`12`,y:`11`,width:`8`,height:`6`,rx:`1`,fill:`currentColor`,stroke:`none`},null,-1)]])}var wn=Q(xn,[[`render`,Cn]]);const Tn={},En={viewBox:`0 0 24 24`,fill:`currentColor`};function Dn(e,t){return B(),O(`svg`,En,[...t[0]||=[k(`path`,{d:`M8 5v14l11-7z`},null,-1)]])}var On=Q(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 B(),O(`svg`,An,[...t[0]||=[k(`rect`,{x:`2`,y:`6`,width:`20`,height:`12`,rx:`2`},null,-1),k(`path`,{d:`M7 14v-4M12 14V8M17 14v-2`},null,-1)]])}var Mn=Q(kn,[[`render`,jn]]);const Nn={},Pn={viewBox:`0 0 24 24`,fill:`currentColor`};function Fn(e,t){return B(),O(`svg`,Pn,[...t[0]||=[k(`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=Q(Nn,[[`render`,Fn]]);const Ln={},Rn={viewBox:`0 0 24 24`,fill:`currentColor`};function zn(e,t){return B(),O(`svg`,Rn,[...t[0]||=[k(`path`,{d:`M6 18l8.5-6L6 6v12zM16 6v12h2V6h-2z`},null,-1)]])}var Bn=Q(Ln,[[`render`,zn]]);const Vn={},Hn={viewBox:`0 0 24 24`,fill:`currentColor`};function Un(e,t){return B(),O(`svg`,Hn,[...t[0]||=[k(`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=Q(Vn,[[`render`,Un]]);const Gn={},Kn={viewBox:`0 0 24 24`,fill:`currentColor`};function qn(e,t){return B(),O(`svg`,Kn,[...t[0]||=[k(`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=Q(Gn,[[`render`,qn]]);function Yn(e,t){return T(()=>e.value?e.value:t.value?document.getElementById(t.value)??null:null)}const Xn=[`aria-label`];var Zn=Q(M({__name:`PlayButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Yn(K(t,`player`),K(t,`for`)),r=T(()=>n.value?.isError?`error`:n.value?.hasEnded?`ended`:n.value?.isPlaying?`playing`:`idle`),i=T(()=>{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)=>(B(),O(`button`,{type:`button`,class:`mlv-play-button`,"aria-label":i.value,onClick:a},[W(e.$slots,`default`,{isPlaying:q(n)?.isPlaying??!1,hasEnded:q(n)?.hasEnded??!1,isError:q(n)?.isError??!1},()=>[r.value===`error`||r.value===`ended`?(B(),E(q(In),{key:0})):r.value===`playing`?(B(),E(q(bn),{key:1})):(B(),E(q(On),{key:2}))],!0)],8,Xn))}}),[[`__scopeId`,`data-v-218255bd`]]),Qn=Q(M({__name:`Spinner`,props:{size:{type:Number,required:!1,default:14},borderWidth:{type:Number,required:!1,default:2}},setup(e){return(t,n)=>(B(),O(`div`,{class:`spinner`,style:L({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=Q(M({__name:`Buffering`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Yn(K(t,`player`),K(t,`for`));return(e,t)=>q(n)?.isBuffering?(B(),O(`div`,$n,[W(e.$slots,`default`,{},()=>[j(Qn)],!0)])):D(`v-if`,!0)}}),[[`__scopeId`,`data-v-454fec7f`]]),tr=M({__name:`VolumeIcon`,props:{isAudible:{type:Boolean,required:!0}},setup(e){return(t,n)=>e.isAudible?(B(),E(q(Jn),{key:0})):(B(),E(q(Wn),{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=Q(M({__name:`HudButtons`,setup(e){let t=Z(Et),n=Z(Dt),{currentAction:r,isCustom:i,customAction:a,builtinLabel:o,builtinActive:s,onBuiltinClick:c}=Nt(P(Ot),t,Z(kt));return(e,l)=>(B(),O(C,null,[D(` 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. `),k(`div`,nr,[!q(n).isOpen&&!q(t).isFullscreen?(B(),O(C,{key:0},[q(r)===`mute`||q(r)===`loop`||q(r)===`autoplay`?(B(),O(`button`,{key:0,class:I([`hud__btn`,{"hud__btn--active":q(s)}]),"aria-label":q(o),tabindex:`-1`,onClick:l[0]||=X((...e)=>q(c)&&q(c)(...e),[`stop`])},[q(r)===`mute`?(B(),E(tr,{key:0,"is-audible":q(t).isAudible},null,8,[`is-audible`])):q(r)===`loop`?(B(),E(q(fn),{key:1})):(B(),E(q(Bn),{key:2}))],10,rr)):q(i)&&q(a)?(B(),O(`button`,{key:1,class:`hud__btn`,"aria-label":q(a).label,tabindex:`-1`,onClick:l[1]||=X(e=>q(a).onClick(),[`stop`]),innerHTML:q(a).icon},null,8,ir)):(B(),O(`div`,ar))],64)):D(`v-if`,!0),k(`div`,or,[j(Zn,{player:q(t),class:`ppbtn ppbtn--lg`,tabindex:`-1`},null,8,[`player`]),j(er,{player:q(t),class:`hud__buf-spinner`},null,8,[`player`])]),!q(n).isOpen&&!q(t).isFullscreen?(B(),O(`button`,{key:1,class:`hud__btn`,"aria-label":`Show controls`,tabindex:`-1`,onClick:l[2]||=X((...e)=>q(n).openControls&&q(n).openControls(...e),[`stop`])},[j(q(Yt))])):D(`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 ne();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=Q(M({__name:`FullscreenButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Yn(K(t,`player`),K(t,`for`));return(e,t)=>(B(),O(`button`,{type:`button`,class:`mlv-fullscreen-button`,"aria-label":q(n)?.isFullscreen?`Exit fullscreen`:`Enter fullscreen`,onClick:t[0]||=e=>q(n)?.toggleFullscreen()},[W(e.$slots,`default`,{isFullscreen:q(n)?.isFullscreen??!1},()=>[q(n)?.isFullscreen?(B(),E(q(cn),{key:0})):(B(),E(q(rn),{key:1}))],!0)],8,ur))}}),[[`__scopeId`,`data-v-b93a5017`]]);const fr=[`aria-pressed`];var pr=Q(M({__name:`PipButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Yn(K(t,`player`),K(t,`for`));return(e,t)=>q(n)?.supportsPip?(B(),O(`button`,{key:0,type:`button`,class:I([`mlv-pip-button`,{"mlv-pip-button--active":q(n)?.isPipActive}]),"aria-pressed":q(n)?.isPipActive??!1,"aria-label":`Toggle Picture-in-Picture`,onClick:t[0]||=e=>q(n)?.togglePip()},[W(e.$slots,`default`,{isPipActive:q(n)?.isPipActive??!1},()=>[j(q(wn))],!0)],10,fr)):D(`v-if`,!0)}}),[[`__scopeId`,`data-v-f654d93e`]]);function mr(e){let n=U(!1),r=U(null),i=!1,a=null,o=!1,s=T(()=>{let t=e.value;return t?.total?t.current/t.total*100:0}),c=T(()=>r.value??s.value),l=T(()=>r.value!==null),u=T(()=>{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 J(()=>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()}),R(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=Q(M({inheritAttrs:!1,__name:`Scrubber`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Yn(K(t,`player`),K(t,`for`)),{scrubbing:r,displayPercent:i,previewSeconds:a,onInput:o,onChange:s,onTouchEnd:c}=mr(n),l=e=>xe(e,!0);return(e,t)=>(B(),O(`div`,hr,[k(`input`,F({type:`range`,min:`0`,max:`100`,step:`0.5`,value:q(i),class:`mlv-scrubber`},e.$attrs,{style:{"--p":`${q(i)}%`,"--b":`${q(n)?.bufferedDisplay??0}%`},"aria-label":`Seek`,"aria-valuetext":`${l(q(a))} of ${l(q(n)?.total??0)}`,onInput:t[0]||=(...e)=>q(o)&&q(o)(...e),onChange:t[1]||=(...e)=>q(s)&&q(s)(...e),onTouchend:t[2]||=(...e)=>q(c)&&q(c)(...e)}),null,16,gr),W(e.$slots,`preview`,{scrubbing:q(r),percent:q(i),previewSeconds:q(a),formatTime:l},()=>[q(r)?(B(),O(`div`,{key:0,class:`mlv-scrubber__preview`,style:L({left:`${q(i)}%`})},G(l(q(a))),5)):D(`v-if`,!0)],!0)]))}}),[[`__scopeId`,`data-v-043f1bc8`]]);const vr={class:`mlv-time-display__time`},yr={class:`mlv-time-display__total`};var br=Q(M({__name:`TimeDisplay`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Yn(K(t,`player`),K(t,`for`));return(e,t)=>(B(),O(`span`,{class:I([`mlv-time-display`,{"mlv-time-display--live":q(n)?.isLive}])},[W(e.$slots,`default`,{isLive:q(n)?.isLive??!1,current:q(n)?.current??0,total:q(n)?.total??0,formatTime:q(xe)},()=>[q(n)?.isLive?(B(),O(C,{key:0},[t[0]||=k(`span`,{class:`mlv-time-display__dot`},null,-1),t[1]||=te(`Live `,-1)],64)):(B(),O(C,{key:1},[k(`span`,vr,G(q(xe)(q(n)?.current??0)),1),k(`span`,yr,`/ `+G(q(xe)(q(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=Q(M({inheritAttrs:!1,__name:`VolumeSlider`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Yn(K(t,`player`),K(t,`for`)),r=T(()=>{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)=>(B(),O(`div`,xr,[k(`input`,F({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),W(e.$slots,`default`,{percent:r.value},()=>[k(`span`,Cr,G(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=Q(M({__name:`VolumePanel`,emits:[`back`],setup(e){let t=Z(Et),n=Z(Dt);return(e,r)=>(B(),O(C,null,[k(`div`,Tr,[k(`button`,{class:`controls__btn`,"aria-label":`Back`,onClick:r[0]||=t=>e.$emit(`back`)},[j(q(Lt))]),r[6]||=k(`span`,{class:`controls__vol-label`},`Volume`,-1),k(`button`,{class:`controls__btn`,"aria-label":q(t).isMuted?`Unmute`:`Mute`,onClick:r[1]||=e=>q(t).toggleMute()},[j(tr,{"is-audible":q(t).isAudible},null,8,[`is-audible`])],8,Er)]),k(`div`,Dr,[j(wr,{player:q(t),class:`controls__vol-slider`,onMousedown:r[2]||=e=>q(n).pauseHide(),onMouseup:r[3]||=e=>q(n).scheduleHide(),onTouchstartPassive:r[4]||=e=>q(n).pauseHide(),onTouchend:r[5]||=e=>q(n).scheduleHide()},{default:Y(({percent:e})=>[k(`span`,Or,G(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 $=Q(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)=>(B(),O(`button`,{class:I([`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?(B(),O(`span`,Pr,[e.icon?(B(),E(ae(e.icon),{key:0,class:`controls__more-row-icon`})):(B(),O(`span`,{key:1,class:`controls__more-row-icon`,innerHTML:e.iconHtml},null,8,Fr)),te(` `+G(e.label),1)])):(B(),O(`span`,Ir,G(e.label),1)),e.value===void 0?D(`v-if`,!0):(B(),O(`span`,Lr,G(e.value),1))],10,Nr))}}),[[`__scopeId`,`data-v-47ca5bfc`]]);const Rr={class:`controls__more-header`};var zr=Q(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=Z(Et),n=Z(Dt),r=Z(kt),{cycleRate:i,fmtRate:a}=Ar(t),{cycleCaptionTrack:o,currentCaptionLabel:s}=jr(t),{cycleQuality:c,currentQualityLabel:l}=Mr(t);return(u,d)=>(B(),O(C,null,[k(`div`,Rr,[k(`button`,{class:`controls__btn`,"aria-label":`Back`,onClick:d[0]||=e=>u.$emit(`back`)},[j(q(Lt))]),d[8]||=k(`span`,{class:`controls__more-label`},`More`,-1)]),k(`div`,{class:`controls__more-body`,onTouchstartPassive:d[7]||=e=>q(n).keepOpen()},[q(t).supportsPlaybackRate?(B(),E($,{key:0,label:`Playback speed`,value:q(a)(q(t).currentPlaybackRate),onClick:q(i)},null,8,[`value`,`onClick`])):D(`v-if`,!0),j($,{label:`Loop`,"aria-label":`Toggle loop`,icon:q(fn),active:q(t).isLooping,value:q(t).isLooping?`On`:`Off`,onClick:d[1]||=e=>q(t).toggleLoop()},null,8,[`icon`,`active`,`value`]),q(t).supportsCaptions?(B(),E($,{key:1,label:`Captions`,icon:q(Vt),active:q(t).activeCaptionIndex!==null,value:q(s)(),onClick:q(o)},null,8,[`icon`,`active`,`value`,`onClick`])):D(`v-if`,!0),q(t).supportsQuality?(B(),E($,{key:2,label:`Quality`,icon:q(Mn),active:!q(t).isAutoQuality,value:q(l)(),onClick:q(c)},null,8,[`icon`,`active`,`value`,`onClick`])):D(`v-if`,!0),q(r).hasPlaylist?(B(),E($,{key:3,label:`Autoplay next`,"aria-label":`Toggle autoplay next`,icon:q(Bn),active:q(r).autoAdvance,value:q(r).autoAdvance?`On`:`Off`,onClick:d[2]||=e=>q(r).toggleAutoAdvance()},null,8,[`icon`,`active`,`value`])):D(`v-if`,!0),e.compact&&q(t).supportsPip?(B(),E($,{key:4,label:`Picture-in-picture`,"aria-label":`Toggle picture-in-picture`,icon:q(wn),active:q(t).isPipActive,onClick:d[3]||=e=>q(t).togglePip()},null,8,[`icon`,`active`])):D(`v-if`,!0),e.compact&&q(r).hasNext?(B(),E($,{key:5,label:`Play next`,"aria-label":`Play next`,icon:q(Bn),onClick:d[4]||=e=>q(r).playNext()},null,8,[`icon`])):D(`v-if`,!0),e.compact?(B(),E($,{key:6,label:`Mute`,"aria-label":`Toggle mute`,icon:q(t).isAudible?q(Jn):q(Wn),active:!q(t).isAudible,onClick:d[5]||=e=>q(t).toggleMute()},null,8,[`icon`,`active`])):D(`v-if`,!0),e.isCustom&&e.customAction?(B(),E($,{key:7,label:e.customAction.label,"icon-html":e.customAction.icon,onClick:d[6]||=t=>e.customAction.onClick()},null,8,[`label`,`icon-html`])):D(`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=Q(M({__name:`ControlsPopup`,setup(e){let t=Z(Et),n=Z(Dt),r=Z(kt),{isCustom:i,customAction:a}=Nt(P(Ot),t,r),o=U(!1),s=U(!1),c=U(null),l=U(null),u=jt(c),d=T(()=>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()}z(()=>{t.fire(`controlsopen`,{element:c.value}),document.addEventListener(`click`,p,!0),document.addEventListener(`touchend`,m,!0)}),R(()=>{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)=>(B(),O(`div`,{ref_key:`popupEl`,ref:c,class:I([`controls`,{"controls--fs":q(t).isFullscreen,"controls--compact":q(u)}]),onMousemove:f[8]||=X((...e)=>q(n).keepOpen&&q(n).keepOpen(...e),[`stop`])},[k(`div`,{class:`controls__inner`,ref_key:`contentEl`,ref:l},[o.value?(B(),E(kr,{key:0,onBack:f[0]||=e=>h(()=>o.value=!1)})):s.value?(B(),E(zr,{key:1,"is-custom":q(i),"custom-action":q(a),compact:q(u),onBack:f[1]||=e=>h(()=>s.value=!1)},null,8,[`is-custom`,`custom-action`,`compact`])):(B(),O(C,{key:2},[q(t).isLive?D(`v-if`,!0):(B(),E(_r,{key:0,player:q(t),class:`controls__seek`,onMousedown:f[2]||=e=>q(n).pauseHide(),onMouseup:f[3]||=e=>q(n).scheduleHide(),onTouchstartPassive:f[4]||=e=>q(n).pauseHide(),onTouchend:f[5]||=e=>q(n).scheduleHide()},null,8,[`player`])),k(`div`,Br,[k(`div`,Vr,[j(er,{player:q(t)},null,8,[`player`]),q(t).isBuffering?D(`v-if`,!0):(B(),E(Zn,{key:0,player:q(t),class:`ppbtn ppbtn--sm`},null,8,[`player`]))]),j(br,{player:q(t),class:`controls__time-display`},null,8,[`player`]),q(r).hasNext?(B(),O(`button`,{key:0,class:`controls__btn controls__btn--next`,"aria-label":`Play next`,onClick:f[6]||=e=>q(r).playNext()},[j(q(Bn))])):D(`v-if`,!0),k(`button`,{class:`controls__btn controls__btn--volume`,"aria-label":`Volume`,"aria-haspopup":`true`,"aria-expanded":o.value,onClick:g},[j(tr,{"is-audible":q(t).isAudible},null,8,[`is-audible`])],8,Hr),k(`button`,{class:I([`controls__btn controls__btn--more`,{"controls__btn--active":d.value}]),"aria-label":`More`,"aria-haspopup":`true`,"aria-expanded":s.value,onClick:_},[j(q(gn))],10,Ur),j(pr,{player:q(t),class:`controls__btn controls__btn--pip`},null,8,[`player`]),k(`div`,Wr,[q(t).isFullscreenPending?(B(),E(Qn,{key:0})):(B(),E(dr,{key:1,player:q(t),class:`controls__btn`},null,8,[`player`]))])])],64))],512),k(`button`,{type:`button`,class:`controls__close`,"aria-label":`Close player controls`,onClick:f[7]||=e=>q(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=Q(M({__name:`PlayerOverlay`,setup(e){let t=Z(Et),n=Z(Dt),{hudVisible:r,popupVisible:i}=At(t,n);return(e,a)=>(B(),O(C,null,[j(w,{name:`fade`},{default:Y(()=>[!q(t).isReady&&!q(t).isError?(B(),O(`div`,Kr,[j(Qn,{size:40,"border-width":3})])):D(`v-if`,!0)]),_:1}),j(w,{name:`fade`},{default:Y(()=>[q(t).isError?(B(),O(`div`,qr,[k(`p`,null,G(q(t).errorMessage||`This video could not be played.`),1),k(`button`,{class:`overlay__retry`,onClick:a[0]||=X((...e)=>q(t).retry&&q(t).retry(...e),[`stop`])},`Retry`)])):D(`v-if`,!0)]),_:1}),k(`button`,{type:`button`,class:`overlay__reveal`,"aria-label":`Show player controls`,onClick:a[1]||=e=>q(n).openControls()},`Show player controls`),k(`div`,{class:I([`overlay__hud`,{"overlay__hud--visible":q(r)}]),inert:!q(r)},[j(sr)],10,Jr),j(w,{name:`popup`},{default:Y(()=>[q(i)?(B(),O(`div`,{key:0,class:I([`overlay__popup`,{"overlay__popup--fs":q(t).isFullscreen}])},[j(Gr)],2)):D(`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=Q(M({__name:`AdOverlay`,setup(e){let t=Z(Et),n=T(()=>t.adRemainingTime>0?t.fmt(t.adRemainingTime):``);return(e,r)=>(B(),O(`div`,Xr,[k(`div`,Zr,[k(`div`,Qr,[r[2]||=k(`span`,null,`Ad`,-1),n.value?(B(),O(`span`,$r,G(n.value),1)):D(`v-if`,!0)]),k(`button`,{class:`ad-overlay__btn`,"aria-label":q(t).isAdPaused?`Resume ad`:`Pause ad`,onClick:r[0]||=e=>q(t).togglePlay()},[q(t).isAdPaused?(B(),E(q(On),{key:0})):(B(),E(q(bn),{key:1}))],8,ei),k(`button`,{class:`ad-overlay__btn`,"aria-label":q(t).isAdMuted?`Unmute ad`:`Mute ad`,onClick:r[1]||=e=>q(t).toggleAdMute()},[q(t).isAdMuted?(B(),E(q(Wn),{key:0})):(B(),E(q(Jn),{key:1}))],8,ti)])]))}}),[[`__scopeId`,`data-v-23efcc8b`]]);const ri=U(0),ii=T(()=>ri.value>0),ai=U(!1);function oi(){ri.value++}function si(){ri.value--}function ci(e,t,n){let r=U(!1),i=T(()=>r.value&&ai.value),a=null;function o(){if(a?.(),a=null,!n.value||!e.value){r.value=!1;return}a=Be(e.value,e=>{e.intersectionRatio<.1?t.value&&(r.value=!0):r.value=!1})}return z(o),J(n,o),J(e,o),R(()=>a?.()),{isPinned:r,isTucked:i,unpin:()=>r.value=!1}}function li(e,t,n){let r=U(null),i=U(null);J(n,n=>{let i=e.value?.offsetWidth??null;r.value=n&&t.value&&i?{height:t.value.offsetHeight,wrapperWidth:i}:null});let a=T(()=>{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 J(e,e=>{o?.disconnect(),o=null,e&&(o=new ResizeObserver(([e])=>i.value=e.contentRect.width),o.observe(e))},{immediate:!0}),R(()=>o?.disconnect()),{wrapperStyle:a,clear:()=>r.value=null}}function ui(e){e?.scrollIntoView({behavior:`smooth`,block:`center`})}var di=Q(M({__name:`PinnablePlayerShell`,props:{isPlaying:{type:Boolean,required:!0}},setup(e){let t=e,n=U(null),r=U(null),{isPinned:i,unpin:a}=ci(n,K(t,`isPlaying`),U(!0)),o=U(i.value);J(i,e=>{lr(r.value,()=>{o.value=e})});let s=T(()=>o.value&&ai.value),{wrapperStyle:c}=li(n,r,o);function l(){ui(n.value)}function u(e){r.value=e}return(e,t)=>(B(),O(`div`,{ref_key:`wrapperEl`,ref:n,class:`player-wrapper`,style:L(q(c))},[W(e.$slots,`default`,{isPinned:o.value,isTucked:s.value,setBoxEl:u,unpin:q(a),scrollToPlayer:l},void 0,!0)],4))}}),[[`__scopeId`,`data-v-a2f8a547`]]);const fi={class:`player-wrapper`};var pi=Q(M({__name:`PlainPlayerShell`,props:{isPlaying:{type:Boolean,required:!0}},setup(e){function t(){}return(e,n)=>(B(),O(`div`,fi,[W(e.$slots,`default`,{isPinned:!1,isTucked:!1,setBoxEl:t,unpin:t,scrollToPlayer:t},void 0,!0)]))}}),[[`__scopeId`,`data-v-9188c23a`]]),mi=Q(M({__name:`PinnedControls`,emits:[`scroll-to`,`dismiss`],setup(e){return(e,t)=>(B(),O(C,null,[k(`button`,{class:`pinned-controls__scroll-to`,"aria-label":`Scroll to player`,onClick:t[0]||=X(t=>e.$emit(`scroll-to`),[`stop`])},[j(q($t))]),k(`button`,{class:`pinned-controls__dismiss`,"aria-label":`Close`,onClick:t[1]||=X(t=>e.$emit(`dismiss`),[`stop`])},[j(q(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=Q(M({__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=U(null),o=H(yt(a,r,i)),s=H(St(K(o,`isPlaying`),K(o,`isFullscreen`))),{onKeydown:c}=xt(o,s);function l(e){r.disableKeyboardShortcuts||c(e)}let u=U(null);J(()=>o.isFullscreen,e=>{e&&!r.disableKeyboardShortcuts&&ne(()=>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()})}V(Et,o),V(Dt,s),V(Ot,K(r,`action`)),V(kt,H({hasPlaylist:T(()=>r.hasPlaylist),hasNext:T(()=>r.hasNext),hasPrevious:T(()=>r.hasPrevious),autoAdvance:T(()=>r.autoAdvance),playNext:()=>i(`play-next`),playPrevious:()=>i(`play-previous`),toggleAutoAdvance:()=>i(`toggle-auto-advance`)}));let f=T(()=>hi(r.aspectRatio)),p=T(()=>f.value.isPortrait),m=T(()=>f.value.cssRatio),h=T(()=>!r.poster&&!o.isReady),g=T(()=>r.pin?di:pi);function _(e){o.isPlaying&&o.togglePlay(),e()}function v(){s.onVideoTap(),o.fire(`tap`)}let{playerRef:y,forwarded:b}=Tt();return y.value=o,t(b),(t,n)=>(B(),E(ae(g.value),{"is-playing":o.isPlaying},{default:Y(({isPinned:t,isTucked:i,setBoxEl:c,unpin:f,scrollToPlayer:g})=>[k(`div`,{ref:c,class:I([`player`,{"player--pinned":t,"player--tucked":i,[`player--pin-${e.pin}`]:t}])},[t?(B(),E(mi,{key:0,onScrollTo:g,onDismiss:e=>_(f)},null,8,[`onScrollTo`,`onDismiss`])):D(`v-if`,!0),k(`div`,{ref_key:`shellEl`,ref:u,class:I([`player__shell`,{"player__shell--portrait":p.value}]),style:L({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]||=X(()=>{},[`prevent`]),onMouseleave:n[2]||=e=>s.onMouseLeave(),onKeydown:l,onFocusout:d},[k(`div`,_i,[k(`video`,{ref_key:`videoEl`,ref:a,class:I([`mlv-video`,{"mlv-video--hidden":h.value}]),poster:r.poster,preload:r.preload,playsinline:``},[(B(!0),O(C,null,ie(r.tracks,(e,t)=>(B(),O(`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?(B(),O(`div`,{key:0,class:`overlay__tap-capture`,onClick:v,onTouchend:X(v,[`prevent`,`stop`])},null,32)):D(`v-if`,!0),o.isAdPlaying&&!o.isNativeUi?(B(),E(ni,{key:1})):D(`v-if`,!0),r.controls&&!o.isNativeUi?(B(),E(Yr,{key:2})):D(`v-if`,!0),r.controls&&o.isNativeUi&&!o.hasStarted?(B(),O(`div`,bi,[j(Zn,{player:o,class:`ppbtn ppbtn--lg`},null,8,[`player`])])):D(`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);z(()=>window.addEventListener(e,n)),R(()=>window.removeEventListener(e,n))}function wi(e,t){let n=T(()=>!e.value||!t.value?-1:e.value.findIndex(e=>e.src===t.value?.src)),r=T(()=>n.value===-1||!e.value?null:e.value[n.value+1]??null),i=T(()=>n.value<=0||!e.value?null:e.value[n.value-1]??null);return{hasNext:T(()=>r.value!==null),hasPrevious:T(()=>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=Q(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=U(Ti());J(o,Ei);let s=T(()=>!!i.playlist?.length),c=U(null),l=U(!1),u=U(!1);function p(e){a(`state-change`,{type:e,currentTime:0,duration:0,src:c.value?.src??``})}J(l,e=>p(e?`stageopen`:`stageclose`));let{playerRef:m,forwarded:h}=Tt(()=>l.value),g=U(null),_=U(null),v=U(!1),{hasNext:y,hasPrevious:b,nextEntry:ee,previousEntry:x}=wi(K(i,`playlist`),c),S=T(()=>v.value&&!!c.value&&l.value),w=T(()=>S.value&&ai.value),A=T(()=>hi(c.value?.aspectRatio||`16:9`).cssRatio),{wrapperStyle:te,clear:M}=li(g,_,S),N=null;function P(){N?.disconnect(),g.value&&(N=new IntersectionObserver(([e])=>{let t=!e.isIntersecting;if(!c.value||!l.value){v.value=t;return}lr(_.value,()=>{v.value=t})},{threshold:.98}),N.observe(g.value))}J(g,P);function ne(){c.value&&(c.value={...c.value,autoplay:!0,muted:ct(c.value.muted)},l.value=!0)}function re(){ne()}function V(){ui(g.value)}function H(){c.value=null,l.value=!1,u.value=!1,M(),ie()}function ie(){Si(e,{currentSrc:c.value?.src??null,isPlaying:u.value})}function W(e){if(c.value?.src===e.src&&l.value){e.fromGesture&&m.value?.togglePlay();return}c.value=e,l.value=!1,u.value=!1,ie(),l.value=!0}function ae(e){if(c.value&&e.src===c.value.src){if(!l.value){ne();return}m.value?.togglePlay()}}function oe(e,t){e&&W({...e,fromGesture:t,autoplay:!0,muted:e.muted??m.value?.isMuted??ct(void 0,t),volume:e.volume??m.value?.vol})}function Y(e=!0){oe(ee.value,e)}function X(e=!0){oe(x.value,e)}function se(e){e.type===`play`&&(u.value=!0),(e.type===`pause`||e.type===`ended`)&&(u.value=!1),e.type===`ended`&&o.value&&Y(!1),ie(),a(`state-change`,e)}return Ci(f,W),Ci(d,ae),z(oi),R(()=>{si(),N?.disconnect()}),n({playNext:Y,playPrevious:X,hasNext:y,hasPrevious:b,...h}),(e,n)=>(B(),O(`div`,{ref_key:`wrapperEl`,ref:g,class:`stage-wrapper`,style:L(q(te))},[k(`div`,{ref_key:`stageEl`,ref:_,class:I([`stage`,{"stage--minified":S.value,"stage--tucked":w.value,[`stage--pin-${t.pin}`]:S.value}])},[S.value?(B(),E(mi,{key:0,onScrollTo:V,onDismiss:H})):D(`v-if`,!0),c.value&&l.value?(B(),E(xi,F({ref_key:`playerRef`,ref:m,key:c.value.src},c.value,{"has-playlist":s.value,"has-next":q(y),"has-previous":q(b),"auto-advance":o.value,onStateChange:se,onPlayNext:Y,onPlayPrevious:X,onToggleAutoAdvance:n[0]||=e=>o.value=!o.value}),null,16,[`has-playlist`,`has-next`,`has-previous`,`auto-advance`])):(B(),O(`div`,{key:2,class:`stage__idle`,style:L({aspectRatio:A.value}),onClick:re},[c.value?.poster?(B(),O(`img`,{key:0,src:c.value.poster,class:`stage__idle-poster`},null,8,Di)):D(`v-if`,!0),n[1]||=k(`div`,{class:`stage__idle-scrim`},null,-1),k(`div`,Oi,[c.value?(B(),O(C,{key:0},[k(`div`,ki,[j(q(On))]),k(`p`,Ai,G(c.value.title),1)],64)):(B(),O(`p`,ji,`Select a video to play`))])],4))],2)],4))}}),[[`__scopeId`,`data-v-fb8c86cf`]]),Ni=M({__name:`PlayPauseIcon`,props:{isPlaying:{type:Boolean,required:!0},hasEnded:{type:Boolean,required:!1,default:!1}},setup(e){return(t,n)=>e.isPlaying?(B(),E(q(bn),{key:0})):e.hasEnded?(B(),E(q(In),{key:1})):(B(),E(q(On),{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=Q(M({__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=T(()=>hi(r.aspectRatio)),o=T(()=>a.value.isPortrait),s=T(()=>a.value.cssRatio),c=U(null),l=null,u=U(!1),d=U(!1),p=T(()=>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,ct(r.muted))}return z(()=>{r.autoStage&&m(!1),r.playInView&&c.value&&(l=Ue(c.value,()=>i(`enter-view`)))}),R(()=>l?.()),(e,n)=>(B(),O(`div`,Pi,[k(`div`,{ref_key:`shellEl`,ref:c,class:I([`placeholder__shell`,{"placeholder__shell--portrait":o.value,"placeholder__shell--active":u.value}]),style:L({aspectRatio:s.value}),onClick:h},[t.poster?(B(),O(`img`,{key:0,class:`placeholder__poster`,src:t.poster,alt:t.title},null,8,Fi)):D(`v-if`,!0),n[0]||=k(`div`,{class:`placeholder__scrim`},null,-1),k(`div`,Ii,[k(`button`,{type:`button`,class:`ppbtn ppbtn--lg`,"aria-label":p.value,onClick:X(h,[`stop`])},[j(Ni,{"is-playing":u.value&&d.value},null,8,[`is-playing`])],8,Li)]),t.title?(B(),O(`div`,Ri,[k(`p`,zi,G(t.title),1)])):D(`v-if`,!0)],6)]))}}),[[`__scopeId`,`data-v-dbcb4f82`]]),Vi=M({__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=U(!1),o=U(!1);function s(){o.value=!0,a.value=!0}async function c(){a.value||(a.value=!0,await ne())}let{playerRef:l,forwarded:u}=Tt(async e=>ii.value?(e===`togglePlay`&&Si(f,{...r,fromGesture:!0,autoplay:!0,muted:ct(r.muted)}),!1):(await c(),!0));return t(u),(e,t)=>q(ii)?(B(),E(Bi,re(F({key:0},r)),null,16)):(B(),O(C,{key:1},[r.lazy&&!a.value&&!r.autoplay?(B(),E(Bi,F({key:0},r,{onClickCapture:s,onEnterView:t[0]||=e=>a.value=!0}),null,16)):(B(),E(xi,F({key:1,ref_key:`playerRef`,ref:l},r,{autoplay:a.value||r.autoplay,muted:q(ct)(r.muted,o.value),onStateChange:t[1]||=e=>i(`state-change`,e)}),null,16,[`autoplay`,`muted`]))],64))}}),Hi=Q(M({__name:`HideMarker`,setup(e){let t=U(null),n=null;return z(()=>{t.value&&(n=new IntersectionObserver(([e])=>{ai.value=e.isIntersecting}),n.observe(t.value))}),R(()=>{n?.disconnect(),ai.value=!1}),(e,n)=>(B(),O(`div`,{ref_key:`el`,ref:t,class:`mlv-hide-marker`},null,512))}}),[[`__scopeId`,`data-v-bacb702a`]]);const Ui=N(xi,{shadowRoot:!1}),Wi=N(Mi,{shadowRoot:!1}),Gi=N(Bi,{shadowRoot:!1}),Ki=N(Vi,{shadowRoot:!1}),qi=N(Hi,{shadowRoot:!1}),Ji=[[`ml-video-player`,Ui],[`ml-video-stage`,Wi],[`ml-video-placeholder`,Gi],[`ml-video-card`,Ki],[`ml-hide-marker`,qi]];function Yi(){for(let[e,t]of Ji)customElements.get(e)||customElements.define(e,t)}typeof import.meta.url==`string`&&new URL(import.meta.url).searchParams.has(`defer`)||Yi();export{qi as HideMarkerElement,Ki as VideoCardElement,Gi as VideoPlaceholderElement,Ui as VideoPlayerElement,Wi as VideoStageElement,Yi as defineElements,fe as registerEmbedAdapter,ce as registerMatcher,ye as registerPlatform,ge as registerSourceResolver};
|
|
@@ -135,11 +135,15 @@ interface PlayerProps {
|
|
|
135
135
|
payload?: Record<string, unknown> | string;
|
|
136
136
|
action?: PlayerAction | null;
|
|
137
137
|
disableTapCapture?: boolean;
|
|
138
|
+
disableKeyboardShortcuts?: boolean;
|
|
138
139
|
controls?: boolean;
|
|
139
140
|
playInView?: boolean;
|
|
140
141
|
pin?: PinCorner;
|
|
142
|
+
loop?: boolean;
|
|
143
|
+
preload?: PreloadMode;
|
|
141
144
|
}
|
|
142
145
|
type PinCorner = 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left';
|
|
146
|
+
type PreloadMode = 'none' | 'metadata' | 'auto';
|
|
143
147
|
type VideoEntry = PlayerProps;
|
|
144
148
|
interface VideoSelectDetail extends VideoEntry {
|
|
145
149
|
fromGesture?: boolean;
|
|
@@ -188,10 +192,10 @@ interface PlayerHandle {
|
|
|
188
192
|
}
|
|
189
193
|
//#endregion
|
|
190
194
|
//#region src/adapters/index.d.ts
|
|
191
|
-
declare function registerMatcher(matcher: Matcher): void;
|
|
192
|
-
declare function registerEmbedAdapter(key: string, factory: EmbedAdapterFactory): void;
|
|
193
|
-
declare function registerSourceResolver(key: string, resolver: SourceResolver): void;
|
|
194
|
-
declare function registerPlatform(config: PlatformConfig): void;
|
|
195
|
+
export declare function registerMatcher(matcher: Matcher): void;
|
|
196
|
+
export declare function registerEmbedAdapter(key: string, factory: EmbedAdapterFactory): void;
|
|
197
|
+
export declare function registerSourceResolver(key: string, resolver: SourceResolver): void;
|
|
198
|
+
export declare function registerPlatform(config: PlatformConfig): void;
|
|
195
199
|
//#endregion
|
|
196
200
|
//#region src/elements/core.d.ts
|
|
197
201
|
declare const VideoPlayerElement: import("vue").VueElementConstructor<PlayerProps & {
|
|
@@ -207,7 +211,7 @@ declare const VideoStageElement: import("vue").VueElementConstructor<{
|
|
|
207
211
|
declare const VideoPlaceholderElement: import("vue").VueElementConstructor<VideoSelectDetail>;
|
|
208
212
|
declare const VideoCardElement: import("vue").VueElementConstructor<VideoSelectDetail>;
|
|
209
213
|
declare const HideMarkerElement: import("vue").VueElementConstructor<{}>;
|
|
210
|
-
declare function defineElements(): void;
|
|
214
|
+
export declare function defineElements(): void;
|
|
211
215
|
//#endregion
|
|
212
216
|
//#region src/composables/controls/useResolvedPlayer.d.ts
|
|
213
217
|
interface ResolvedPlayerProps {
|
|
@@ -232,4 +236,4 @@ declare const TranscriptElement: import("vue").VueElementConstructor<ResolvedPla
|
|
|
232
236
|
cues?: TranscriptCue[] | string;
|
|
233
237
|
}>;
|
|
234
238
|
//#endregion
|
|
235
|
-
export { BufferingElement, CaptionsButtonElement, type EmbedAdapterFactory, type EmbedAdapterOptions, FullscreenButtonElement, HideMarkerElement, LoopButtonElement, type Matcher, type MediaErrorLike, MuteButtonElement, PipButtonElement, type PlatformConfig, PlayButtonElement, type PlaybackAdapter, PlaybackRateButtonElement, QualityButtonElement, type ResolvedSource, ScrubberElement, type SourceResolver, TimeDisplayElement, TranscriptElement, VideoCardElement, VideoPlaceholderElement, VideoPlayerElement, VideoStageElement, VolumeSliderElement
|
|
239
|
+
export { BufferingElement, CaptionsButtonElement, type EmbedAdapterFactory, type EmbedAdapterOptions, FullscreenButtonElement, HideMarkerElement, LoopButtonElement, type Matcher, type MediaErrorLike, MuteButtonElement, PipButtonElement, type PlatformConfig, PlayButtonElement, type PlaybackAdapter, PlaybackRateButtonElement, QualityButtonElement, type ResolvedSource, ScrubberElement, type SourceResolver, TimeDisplayElement, TranscriptElement, VideoCardElement, VideoPlaceholderElement, VideoPlayerElement, VideoStageElement, VolumeSliderElement };
|