@munsonlabs/video-player 0.2.5 → 0.2.7

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.
Files changed (52) hide show
  1. package/README.md +6 -694
  2. package/dist/chunks/ads-B8PU62NC.mjs +1 -0
  3. package/dist/chunks/brightcove-CPKzsnF0.mjs +1 -0
  4. package/dist/chunks/constants-Buc1xZvW.mjs +1 -0
  5. package/dist/chunks/dailymotion-DHCBjqaZ.mjs +1 -0
  6. package/dist/chunks/embedShared-R2ohosIo.mjs +1 -0
  7. package/dist/chunks/jwplayer-D8oOCmi4.mjs +1 -0
  8. package/dist/chunks/sourceHelpers-BNIZ7kmT.mjs +1 -0
  9. package/dist/chunks/vimeo-DC3q3YWJ.mjs +1 -0
  10. package/dist/chunks/youtube-e1csmnHD.mjs +1 -0
  11. package/dist/elements/chunks/ads-B8PU62NC.mjs +1 -0
  12. package/dist/elements/chunks/brightcove-CPKzsnF0.mjs +1 -0
  13. package/dist/elements/chunks/constants-Buc1xZvW.mjs +1 -0
  14. package/dist/elements/chunks/dailymotion-DHCBjqaZ.mjs +1 -0
  15. package/dist/elements/chunks/embedShared-R2ohosIo.mjs +1 -0
  16. package/dist/elements/chunks/font-KFHs3p_4-KFHs3p_4.mjs +1 -0
  17. package/dist/elements/chunks/jwplayer-D8oOCmi4.mjs +1 -0
  18. package/dist/elements/chunks/sourceHelpers-BNIZ7kmT.mjs +1 -0
  19. package/dist/elements/chunks/svg-BLBI83Ed-BjsPx0LR.mjs +1 -0
  20. package/dist/elements/chunks/vimeo-DC3q3YWJ.mjs +1 -0
  21. package/dist/elements/chunks/youtube-e1csmnHD.mjs +1 -0
  22. package/dist/elements/controls.css +1 -1
  23. package/dist/elements/controls.d.mts +23 -17
  24. package/dist/elements/controls.mjs +1 -1
  25. package/dist/elements/core.css +1 -1
  26. package/dist/elements/core.d.mts +32 -23
  27. package/dist/elements/core.mjs +1 -1
  28. package/dist/elements/index.d.mts +53 -40
  29. package/dist/elements/index.mjs +1 -1
  30. package/dist/elements/style.css +1 -1
  31. package/dist/index.d.mts +138 -88
  32. package/dist/index.mjs +1 -1
  33. package/dist/style.css +1 -1
  34. package/package.json +7 -6
  35. package/dist/chunks/ads-Dph3guS9.mjs +0 -1
  36. package/dist/chunks/brightcove-DiJF_74z.mjs +0 -1
  37. package/dist/chunks/constants-35ZnLsDv.mjs +0 -1
  38. package/dist/chunks/dailymotion-DTooszoV.mjs +0 -1
  39. package/dist/chunks/embedShared-CbArTtuR.mjs +0 -1
  40. package/dist/chunks/jwplayer-Dhq65VxK.mjs +0 -1
  41. package/dist/chunks/sourceHelpers-B0tH-grj.mjs +0 -1
  42. package/dist/chunks/vimeo-D0GAjId0.mjs +0 -1
  43. package/dist/chunks/youtube-B8AT2F-4.mjs +0 -1
  44. package/dist/elements/chunks/ads-Dph3guS9.mjs +0 -1
  45. package/dist/elements/chunks/brightcove-DiJF_74z.mjs +0 -1
  46. package/dist/elements/chunks/constants-35ZnLsDv.mjs +0 -1
  47. package/dist/elements/chunks/dailymotion-DTooszoV.mjs +0 -1
  48. package/dist/elements/chunks/embedShared-CbArTtuR.mjs +0 -1
  49. package/dist/elements/chunks/jwplayer-Dhq65VxK.mjs +0 -1
  50. package/dist/elements/chunks/sourceHelpers-B0tH-grj.mjs +0 -1
  51. package/dist/elements/chunks/vimeo-D0GAjId0.mjs +0 -1
  52. package/dist/elements/chunks/youtube-B8AT2F-4.mjs +0 -1
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import{A as e,C as t,D as n,E as r,S as i,T as a,a as o,d as s,g as c,h as l,i as u,k as d,o as f,r as p,s as m,u as h,x as g}from"./chunks/constants-35ZnLsDv.mjs";import{n as _,r as v,t as y}from"./chunks/platform-Dg9JBh8M.mjs";import{o as b,s as ee,u as x}from"./chunks/embedShared-CbArTtuR.mjs";import{Fragment as S,Transition as C,computed as w,createBlock as T,createCommentVNode as E,createElementBlock as D,createElementVNode as O,createStaticVNode as k,createTextVNode as A,createVNode as j,defineComponent as M,inject as N,mergeProps as P,nextTick as te,normalizeClass as F,normalizeProps as ne,normalizeStyle as I,onBeforeUnmount as L,onMounted as R,openBlock as z,provide as re,reactive as ie,ref as B,renderList as ae,renderSlot as V,resolveDynamicComponent as oe,shallowRef as se,toDisplayString as H,toRef as U,unref as W,watch as G,withCtx as ce,withModifiers as K}from"vue";const le=[];function ue(e){le.push(e)}function de(e){if(!e)return{key:`html5`,embed:!1};let t=le.find(t=>t.test(e));return{key:t?.key??`html5`,embed:t?.embed??!1}}const fe={},pe={};function me(e,t){fe[e]=t}async function he(e,t,n){let r=fe[e];if(!r){let t=pe[e];if(!t)return null;r=await t(),fe[e]=r}return r(t,n)}const ge={},_e={};function ve(e,t){ge[e]=t}function ye(e){if(/\.m3u8(\?|#|$)/.test(e))return f;if(/\.mpd(\?|#|$)/.test(e))return p;if(/\.mp4(\?|#|$)/.test(e))return s}async function be(e,t){let n=ge[e];if(!n){let t=_e[e];t&&(n=await t(),ge[e]=n)}return n?n(t):{src:t,type:ye(t)}}function xe(e){ue({test:e.test,key:e.key,embed:e.embed}),e.embed?me(e.key,e.createAdapter):e.resolveSource&&ve(e.key,e.resolveSource)}function Se(e){ue({key:e.key,test:e.test,embed:e.embed}),e.embed?pe[e.key]=e.loadAdapter:_e[e.key]=e.loadResolver}Se({key:`youtube`,test:e=>/youtu\.be|youtube\.com/.test(e),embed:!0,loadAdapter:()=>import(`./chunks/youtube-B8AT2F-4.mjs`).then(e=>e.createYoutubeAdapter)}),Se({key:`vimeo`,test:e=>/vimeo\.com|player\.vimeo\.com/.test(e),embed:!0,loadAdapter:()=>import(`./chunks/vimeo-D0GAjId0.mjs`).then(e=>e.createVimeoAdapter)}),Se({key:`dailymotion`,test:e=>/dailymotion\.com|dai\.ly/.test(e),embed:!0,loadAdapter:()=>import(`./chunks/dailymotion-DTooszoV.mjs`).then(e=>e.createDailymotionAdapter)}),Se({key:`jwplayer`,test:e=>/cdn\.jwplayer\.com/.test(e)||e.startsWith(`jwplayer://`),embed:!1,loadResolver:()=>import(`./chunks/jwplayer-Dhq65VxK.mjs`).then(e=>e.resolveSource)}),Se({key:`brightcove`,test:e=>/players\.brightcove\.net/.test(e),embed:!1,loadResolver:()=>import(`./chunks/brightcove-DiJF_74z.mjs`).then(e=>e.resolveSource)});const Ce=new Set;function we(e){return Ce.add(e),()=>Ce.delete(e)}function Te(e){Ce.forEach(t=>{if(t!==e)try{t()}catch{}})}function Ee(e){return e.kind===`captions`||e.kind===`subtitles`}function De(e,t){e.textTracks.addEventListener(`addtrack`,t),e.textTracks.addEventListener(`removetrack`,t);function n(){let t=[];for(let n=0;n<e.textTracks.length;n++){let r=e.textTracks[n];Ee(r)&&t.push({index:n,label:r.label||r.language||`Track ${n+1}`,language:r.language})}return t}function r(t){for(let n=0;n<e.textTracks.length;n++){let r=e.textTracks[n];Ee(r)&&(r.mode=n===t?`showing`:`hidden`)}}function i(){for(let t=0;t<e.textTracks.length;t++){let n=e.textTracks[t];if(Ee(n)&&n.mode===`showing`)return t}return null}return{supportsCaptions:()=>n().length>0,getCaptionTracks:n,setCaptionTrack:r,getActiveCaptionTrack:i,dispose:()=>{e.textTracks.removeEventListener(`addtrack`,t),e.textTracks.removeEventListener(`removetrack`,t)}}}function Oe(e){let t=new Map;for(let n of e){if(!n.height)continue;let e=t.get(n.height);(!e||n.bitrate>e.bitrate)&&t.set(n.height,n)}return[...t.values()].sort((e,t)=>e.height-t.height)}function ke(e){function t(){return Oe(e()?.levels()??[])}function n(){return e()?.isAuto()??!0}function r(){let t=e();return t?n()?null:t.currentIndex():null}function i(t){e()?.setIndex(t)}return{supportsQuality:()=>t().length>0,getQualityLevels:t,getCurrentQuality:r,isAutoQuality:n,setQuality:i}}function Ae(e,t,n){let r=[[`webkitbeginfullscreen`,t],[`webkitendfullscreen`,n]];for(let[t,n]of r)e.addEventListener(t,n);function i(){let t=e;if(typeof t.webkitEnterFullscreen==`function`){t.webkitEnterFullscreen();return}let n=b(e);n&&v(n)}function a(){let t=e;if(typeof t.webkitExitFullscreen==`function`){t.webkitExitFullscreen();return}y()}return{enterFullscreen:i,exitFullscreen:a,dispose:()=>{for(let[t,n]of r)e.removeEventListener(t,n)}}}function je(e,t){let n=[[`enterpictureinpicture`,t],[`leavepictureinpicture`,t]];for(let[t,r]of n)e.addEventListener(t,r);function r(){return typeof document<`u`&&!!document.pictureInPictureEnabled&&!e.disablePictureInPicture}function i(){return document.pictureInPictureElement===e}function a(){i()?document.exitPictureInPicture():r()&&e.requestPictureInPicture()}return{supportsPip:r,isPipActive:i,togglePip:a,dispose:()=>{for(let[t,r]of n)e.removeEventListener(t,r)}}}const Me=[`play`,`pause`,`ended`,`error`,`timeupdate`,`durationchange`,`progress`,`volumechange`,`ratechange`,`seeked`,`waiting`,`playing`,`canplay`];function Ne(e){return{levels:()=>e.levels.map((e,t)=>({index:t,height:e.height,bitrate:e.bitrate,label:`${e.height}p`})),isAuto:()=>e.autoLevelEnabled,currentIndex:()=>e.manualLevel,setIndex:t=>{e.currentLevel=t??-1}}}function Pe(e){return{levels:()=>e.getBitrateInfoListFor(`video`).map(e=>({index:e.qualityIndex,height:e.height,bitrate:e.bitrate,label:`${e.height}p`})),isAuto:()=>e.getSettings().streaming?.abr?.autoSwitchBitrate?.video??!0,currentIndex:()=>e.getQualityFor(`video`),setIndex:t=>{if(t===null){e.updateSettings({streaming:{abr:{autoSwitchBitrate:{video:!0}}}});return}e.updateSettings({streaming:{abr:{autoSwitchBitrate:{video:!1}}}}),e.setQualityFor(`video`,t,!0)}}}function Fe(e,t){let n=x(),r=null,i=null,a=!1,o=null,s=null,c=t.preload===`none`&&!t.autoplay,l=!1;async function u(i){let{default:s}=await import(`hls.js`);if(a||o!==i)return;if(typeof s?.isSupported!=`function`||!s.isSupported()){e.src=i,t.autoplay&&e.play().catch(()=>{});return}r=new s({liveDurationInfinity:!0,autoStartLoad:!c}),l=!c,r.loadSource(i),r.attachMedia(e),t.autoplay&&e.play().catch(()=>{});let u=s.Events,d=s.ErrorTypes;r.on(u.MANIFEST_PARSED,m(`qualitychange`)),r.on(u.LEVEL_SWITCHED,m(`qualitychange`)),r.on(u.ERROR,(e,t)=>{if(t.fatal&&!a&&o===i)switch(t.type){case d.NETWORK_ERROR:r?.startLoad();break;case d.MEDIA_ERROR:r?.recoverMediaError();break;default:r?.destroy(),r=null,n.trigger(`error`)}})}async function d(r){let o=await import(`dashjs`);if(a||s!==r)return;let c=o.MediaPlayer().create();i=c,c.initialize(e,r,t.autoplay??!1);let l=o.MediaPlayer.events;c.on(l.QUALITY_CHANGE_RENDERED,m(`qualitychange`)),c.on(l.STREAM_INITIALIZED,m(`qualitychange`)),c.on(l.ERROR,()=>{a||s!==r||(c.destroy(),i=null,n.trigger(`error`))})}function f(){return/Apple/.test(navigator.vendor)&&!/CriOS|FxiOS|OPiOS|EdgiOS|Chrome|Chromium|Android/.test(navigator.userAgent)&&(e.canPlayType(`application/vnd.apple.mpegurl`)!==``||e.canPlayType(`application/x-mpegURL`)!==``)}function p(n,a){if(r?.destroy(),r=null,o=null,i?.destroy(),i=null,s=null,a===`application/dash+xml`){s=n,d(n);return}if(a===`application/x-mpegURL`&&!f()){o=n,u(n);return}e.src=n,t.autoplay&&e.play().catch(()=>{})}let m=e=>()=>n.trigger(e),h=Me.map(e=>[e,m(e)]);for(let[t,n]of h)e.addEventListener(t,n);let g=De(e,m(`captionschange`)),_=ke(()=>r?Ne(r):i?Pe(i):null),v=Ae(e,m(`nativefullscreenenter`),m(`nativefullscreenexit`)),y=je(e,m(`pipchange`)),{poster:b,muted:ee,autoplay:S,volume:C,playbackRate:w,preload:T,src:E,type:D}=t;return e.poster=b??``,T&&(e.preload=T),e.muted=ee??S??!1,e.volume=C??1,e.playbackRate=w??1,e.playsInline=!0,p(E,D),{el:e,play:()=>(r&&!l&&(l=!0,r.startLoad()),e.play()),pause:()=>e.pause(),paused:()=>e.paused,currentTime:()=>e.currentTime,setCurrentTime:t=>{e.currentTime=t},duration:()=>e.duration,volume:()=>e.volume,setVolume:t=>{e.volume=t},muted:()=>e.muted,setMuted:t=>{e.muted=t},playbackRate:()=>e.playbackRate,setPlaybackRate:t=>{e.playbackRate=t},bufferedEnd:()=>{let{buffered:t,duration:n}=e;if(!t.length)return 0;let r=t.end(t.length-1);return n&&r>n?n:r},error:()=>{let t=e.error;return t?{code:t.code,message:t.message||`This video could not be played.`}:null},setSrc:p,supportsPlaybackRate:()=>!0,supportsCaptions:g.supportsCaptions,getCaptionTracks:g.getCaptionTracks,setCaptionTrack:g.setCaptionTrack,getActiveCaptionTrack:g.getActiveCaptionTrack,supportsQuality:_.supportsQuality,getQualityLevels:_.getQualityLevels,getCurrentQuality:_.getCurrentQuality,isAutoQuality:_.isAutoQuality,setQuality:_.setQuality,supportsPip:y.supportsPip,isPipActive:y.isPipActive,togglePip:y.togglePip,enterFullscreen:v.enterFullscreen,exitFullscreen:v.exitFullscreen,on:n.on,off:n.off,dispose:()=>{a=!0,r?.destroy(),i?.destroy();for(let[t,n]of h)e.removeEventListener(t,n);g.dispose(),v.dispose(),y.dispose(),n.dispose()}}}function Ie(e,t){if(!t||!Object.keys(t).length)return e;let n=e;for(let[e,r]of Object.entries(t))r!=null&&r!==``&&(n=n.split(`{${e}}`).join(encodeURIComponent(r)));return n}function Le(){try{let e=localStorage.getItem(a);if(!e)return o;let t=JSON.parse(e);return{muted:typeof t.muted==`boolean`?t.muted:o.muted,volume:typeof t.volume==`number`?t.volume:o.volume}}catch{return o}}function Re(e){localStorage.setItem(a,JSON.stringify(e))}let ze=!1;function Be(){ze=!0}function Ve(){return ze}function He(e){Re(e),e.muted||Be()}function Ue(e,t=!0){if(e!==void 0)return e;if(!t)return;let n=Le().muted;return n||Be(),n}function We(e,t){return e===void 0?t&&!Ve()?!0:Le().muted:e}function Ge(e){return e.volume??Le().volume}async function Ke(e,t,n,r){if(!t.value)return{status:`aborted`};let i=await he(e,t.value,{src:n.src,poster:n.poster,autoplay:n.autoplay,muted:r.muted,volume:r.volume,nativeUi:n.nativeUi});return t.value?i?{status:`mounted`,mounted:{adapter:i,currentSrc:{src:n.src},nativeUi:!!n.nativeUi,needsReveal:!0}}:{status:`unsupported`}:{status:`aborted`}}async function qe(e,t,n,r,i){let a=await be(e,n.src).catch(()=>({src:n.src}));if(!t.value)return{status:`aborted`};let o=Fe(t.value,{src:a.src,type:a.type,poster:a.poster||n.poster||``,autoplay:n.autoplay,...r,preload:n.preload}),s=Ie(n.adTagUrl||a.adTagUrl||``,n.adMacroParams);return i.attach(t.value,o,s,n.headerBidding),{status:`mounted`,mounted:{adapter:o,currentSrc:{src:a.src,type:a.type},needsReveal:!1}}}function Je(e,t,n,r,i){return e.embed?Ke(e.key,t,n,r):qe(e.key,t,n,r,i)}function Ye(e){let t=B(0),n=B(0),r=B(0),i=B(Ge(e)),a=B(We(e.muted,!!(e.autoplay||e.playInView))),o=w(()=>n.value?t.value/n.value*100:0);return{isPlaying:B(!1),hasEnded:B(!1),isReady:B(!1),isLoaded:B(!1),isLive:B(!1),hasStarted:B(!1),isError:B(!1),errorMessage:B(``),current:t,total:n,buffered:r,progress:o,bufferedDisplay:w(()=>Math.max(r.value,o.value)),vol:i,isMuted:a,isAudible:w(()=>!a.value&&i.value>0),isLooping:B(!!e.loop),currentPlaybackRate:B(e.playbackRate??1),supportsPlaybackRate:B(!1),isAdPlaying:B(!1),isAdPaused:B(!1),isAdMuted:B(!1),adRemainingTime:B(0),supportsCaptions:B(!1),captionTracks:B([]),activeCaptionIndex:B(null),supportsQuality:B(!1),qualityLevels:B([]),currentQualityIndex:B(null),isAutoQuality:B(!0),supportsPip:B(!1),isPipActive:B(!1),isNativeUi:B(!1)}}function Xe(e){let t=new Set,n=null;function r(){t.forEach(e=>e())}return i=>(n||=e(r),t.add(i),()=>{t.delete(i),t.size===0&&(n?.(),n=null)})}const Ze=Xe(e=>(document.addEventListener(`fullscreenchange`,e),document.addEventListener(`webkitfullscreenchange`,e),()=>{document.removeEventListener(`fullscreenchange`,e),document.removeEventListener(`webkitfullscreenchange`,e)})),Qe=Xe(e=>(document.addEventListener(`visibilitychange`,e),window.addEventListener(`blur`,e),()=>{document.removeEventListener(`visibilitychange`,e),window.removeEventListener(`blur`,e)}));function $e(e){let t=B(!1),n=B(!1),r=null;function i(){let e=document;t.value=!!(document.fullscreenElement||e.webkitFullscreenElement),n.value=!1}function a(){let r=e();if(r){if(t.value){r.exitFullscreen();return}n.value=!0,r.enterFullscreen()}}function o(e){e.on(l,()=>{n.value=!0}),e.on(c,()=>{n.value=!1}),e.on(`nativefullscreenenter`,()=>{t.value=!0,n.value=!1}),e.on(`nativefullscreenexit`,()=>{t.value=!1,n.value=!1})}return R(()=>{r=Ze(i)}),L(()=>{r?.()}),{isFullscreen:t,isFullscreenPending:n,toggleFullscreen:a,attachPlayerEvents:o}}function et(e){let t=B(!1),n=null;function r(){clearTimeout(n??void 0),t.value&&e(`bufferend`),t.value=!1}function i(i){i.on(`waiting`,()=>{clearTimeout(n??void 0),n=setTimeout(()=>{t.value=!0,e(`bufferstart`)},500)}),i.on(`playing`,r),i.on(`canplay`,r)}return L(()=>clearTimeout(n??void 0)),{isBuffering:t,attachPlayerEvents:i,reset:r}}function tt(e,t,n){let r=new Set;function a(){if(!t.value)return;let a=e.value/t.value;for(let[e,t]of i)!r.has(e)&&a>=e&&(r.add(e),n(t))}function o(){r.clear()}return{checkQuartiles:a,reset:o}}function nt(){try{return JSON.parse(localStorage.getItem(`player:positions`)??`[]`)}catch{return[]}}function rt(e){localStorage.setItem(n,JSON.stringify(e))}function it(e,t){if(t<5)return;let n=nt().filter(t=>t.url!==e);n.unshift({url:e,time:t}),rt(n.slice(0,5))}function at(e){return nt().find(t=>t.url===e)?.time??null}function ot(e){rt(nt().filter(t=>t.url!==e))}function st(e,t,n){let r=!1;function i(t){if(r)return;let n=at(e);n&&t.setCurrentTime(n),r=!0}function a(t){t&&!n.value&&it(e,t.currentTime()??0)}function o(){ot(e)}let s=Qe(()=>{document.visibilityState===`hidden`&&a(t())});return L(()=>{a(t()),s()}),{restoreOnce:i,save:a,clear:o}}const ct=new WeakMap,lt=[.1,.5];function ut(e){let t=ct.get(e);if(t)return t;let n=new Set,r=new IntersectionObserver(([e])=>n.forEach(t=>t(e)),{threshold:lt});r.observe(e);let i={observer:r,callbacks:n};return ct.set(e,i),i}function dt(e,t){let n=ut(e);return n.callbacks.add(t),()=>{n.callbacks.delete(t),n.callbacks.size===0&&(n.observer.disconnect(),ct.delete(e))}}let ft=null,q=null;function pt(e,t){let n=dt(e,n=>{n.intersectionRatio<.5||(q&&clearTimeout(q),ft=e,q=setTimeout(()=>{ft=null,q=null,t()},150))});return()=>{ft===e&&q&&(clearTimeout(q),ft=null,q=null),n()}}function mt(e,t,n,r,i){let a=null;R(()=>{let o=e.value&&b(e.value);o&&(a=dt(o,e=>{let a=t();e.intersectionRatio<.1&&a&&!a.paused()&&!n.value&&!r.value&&!i.value&&a.pause()}))}),L(()=>a?.())}function ht(e,t,n,r,i){let a=null;R(()=>{let o=e.value&&b(e.value);o&&(a=pt(o,()=>{let e=t();e&&e.paused()&&!n.value&&!r.value&&(e.setMuted(We(i,!0)),e.play().catch(()=>{}))}))}),L(()=>a?.())}function gt(e,t,n,r){let{isPlaying:i,isReady:a,hasEnded:o,hasStarted:s,total:c,isLooping:l,currentPlaybackRate:u,activeCaptionIndex:d,currentQualityIndex:f,isAutoQuality:p,errorMessage:m}=e;function h(){if(n.isAdPlaying())return n.resumeAd(),Promise.resolve();let e=t();return e?i.value?Promise.resolve():new Promise((t,n)=>{let r=()=>{e.off(`playing`,i),e.off(`error`,a)},i=()=>{r(),t()},a=()=>{r(),n(Error(m.value||`Playback failed`))};e.on(`playing`,i),e.on(`error`,a),e.play().catch(e=>{r(),n(e)})}):Promise.reject(Error(`Player is not mounted`))}function g(){if(n.isAdPlaying()){n.pauseAd();return}t()?.pause()}function _(){return t()?.setCurrentTime(0),o.value=!1,h()}function v(){if(n.isAdPlaying()){n.isAdPaused()?n.resumeAd():n.pauseAd();return}let e=t();e&&a.value&&(i.value?e.pause():e.play().catch(()=>{}))}function y(e){t()?.setCurrentTime(c.value*(e/100))}function b(e){let n=c.value||1/0;t()?.setCurrentTime(Math.min(Math.max(e,0),n))}function ee(){let e=t();if(!e)return;let n=!e.muted();e.setMuted(n),He({muted:n,volume:e.volume()})}function x(e){let n=t();if(!n)return;let r=e===0;n.setVolume(e),n.setMuted(r),He({muted:r,volume:e})}function S(){l.value=!l.value,s.value&&r(`loopchange`,{isLooping:l.value})}function C(e){let n=t();n&&(n.setPlaybackRate(e),u.value=e)}function w(e){t()?.setCaptionTrack(e),d.value=e,s.value&&r(`captionchange`,{captionIndex:e})}function T(e){t()?.setQuality(e),f.value=e,p.value=e===null,s.value&&r(`qualitychange`,{qualityIndex:e})}function E(){t()?.togglePip()}return{play:h,pause:g,replay:_,togglePlay:v,seek:y,seekTo:b,toggleMute:ee,setVolume:x,toggleLoop:S,setPlaybackRate:C,setCaptionTrack:w,setQuality:T,togglePip:E}}function _t(e,t){let{isPlaying:n,hasEnded:r,isReady:i,isAdPlaying:a,isLive:o,current:s,total:c,buffered:l,vol:u,isMuted:d,isLooping:f,currentPlaybackRate:p,supportsPlaybackRate:m,supportsCaptions:h,captionTracks:g,activeCaptionIndex:_,supportsQuality:v,qualityLevels:y,currentQualityIndex:b,isAutoQuality:ee,supportsPip:x,isPipActive:S,hasStarted:C,isError:w,errorMessage:T}=e,{fire:E,pauseThisPlayer:D,positionMemory:O,quartiles:k,buffering:A,fullscreen:j}=t;function M(e){i.value=!0,m.value=e.supportsPlaybackRate();function t(){g.value=e.getCaptionTracks(),h.value=g.value.length>0;let t=e.getActiveCaptionTrack();t!==_.value&&(_.value=t,C.value&&E(`captionchange`,{captionIndex:t}))}t(),e.on(`captionschange`,t);function M(){y.value=e.getQualityLevels(),v.value=y.value.length>0;let t=e.getCurrentQuality(),n=e.isAutoQuality(),r=t!==b.value||n!==ee.value;b.value=t,ee.value=n,r&&C.value&&E(`qualitychange`,{qualityIndex:n?null:t})}M(),e.on(`qualitychange`,M);function N(){x.value=e.supportsPip();let t=e.isPipActive();t!==S.value&&(S.value=t,C.value&&E(`pipchange`,{isPipActive:t}))}N(),e.on(`pipchange`,N);let P=()=>{if(a.value)return;let t=e.duration();if(t===1/0){o.value=!0;return}o.value=!1,t&&t>0&&isFinite(t)&&(c.value=t)};e.on(`adstart`,()=>{Te(D),a.value=!0,E(`adstart`)}),e.on(`adend`,()=>{a.value=!1,E(`adend`)}),e.on(`play`,()=>{Te(D),C.value=!0,n.value=!0,r.value=!1,o.value||O.restoreOnce(e),E(`play`)}),e.on(`pause`,()=>{n.value=!1,o.value||O.save(e),E(`pause`)}),e.on(`ended`,()=>{if(n.value=!1,k.reset(),A.reset(),f.value){e.setCurrentTime(0),e.play().catch(()=>{});return}c.value&&(s.value=c.value),r.value=!0,O.clear(),E(`ended`)}),e.on(`seeked`,()=>{E(`seeked`)}),e.on(`error`,()=>{let t=e.error();T.value=t?.message||`This video could not be played.`,w.value=!0,i.value=!0,console.error(`Video playback error:`,T.value),E(`error`,{error:t})});let te=0;e.on(`timeupdate`,()=>{if(r.value||a.value)return;s.value=e.currentTime()??0,c.value||P(),m.value||=e.supportsPlaybackRate();let t=e.getActiveCaptionTrack();_.value!==t&&(_.value=t,C.value&&E(`captionchange`,{captionIndex:t})),o.value||k.checkQuartiles();let n=Date.now();C.value&&n-te>=250&&(te=n,E(`timeupdate`))}),e.on(`durationchange`,P),e.on(`progress`,()=>{if(a.value)return;let t=e.duration();l.value=t?e.bufferedEnd()/t*100:0}),e.on(`volumechange`,()=>{let t=e.muted();u.value=e.volume()??1,d.value=t??!1,C.value&&E(`volumechange`,{isMuted:t})}),e.on(`ratechange`,()=>{let t=e.playbackRate()??1;p.value=t,C.value&&E(`ratechange`,{playbackRate:t})}),A.attachPlayerEvents(e),j.attachPlayerEvents(e)}return{attachPlayerEvents:M}}function vt(e,t){let{isAdPlaying:n,isAdPaused:r,isAdMuted:i,adRemainingTime:a}=e,{fire:o,pauseThisPlayer:s}=t,c=null,l=null,u=!1;async function d(e,t,d,f){if(!(d||f)||!e.parentElement)return;let p=!1;t.on(`play`,()=>{c?c.requestAdsOnFirstPlay():p=!0});let m=null;f&&import(`./chunks/prebid-RHDT0DOX.mjs`).then(({resolveHeaderBiddingAdTagUrl:e})=>e(f,d).catch(()=>d)).then(e=>{c?c.setAdTagUrl(e):m=e});function h(){!_()&&t.isPipActive()&&document.exitPictureInPicture()}function g(){!_()&&(document.hidden||!document.hasFocus())&&c?.isAdPlaying()&&c.pauseAd()}let v=Qe(g),y=()=>{t.isPipActive()||g()};t.on(`pipchange`,y),l=()=>{v(),t.off(`pipchange`,y)};let{attachAds:b}=await import(`./chunks/ads-Dph3guS9.mjs`);!u&&e.parentElement&&(c=b(e.parentElement,e,d,{onAdStart:()=>{n.value=!0,r.value=!1,o(`adstart`),h(),g()},onAdEnd:()=>{n.value=!1,r.value=!1,a.value=0,o(`adend`)},onAdPauseChange:e=>{r.value=e,e||Te(s)},onAdMuteChange:e=>{i.value=e},onAdProgress:e=>{a.value=e},onError:e=>{n.value=!1,r.value=!1,a.value=0,console.error(`Ad playback error:`,e)}}),m&&c.setAdTagUrl(m),p&&c.requestAdsOnFirstPlay())}return{attach:d,isAdPlaying:()=>c?.isAdPlaying()??!1,isAdPaused:()=>c?.isAdPaused()??!1,pauseAd:()=>c?.pauseAd(),resumeAd:()=>c?.resumeAd(),toggleAdMute:()=>c?.toggleAdMute(),dispose:()=>{u=!0,c?.dispose(),c=null,l?.(),l=null}}}function yt(e,t,n){let r=null,i=null,a=null,o=!1,s=Ye(t),{isReady:c,isLoaded:l,isLive:u,current:d,total:f,isMuted:p,vol:m,currentPlaybackRate:h,hasEnded:g,hasStarted:_,isError:v,errorMessage:y,isNativeUi:b}=s,x=()=>r,S=w(()=>{if(typeof t.payload!=`string`)return t.payload??{};try{return JSON.parse(t.payload)}catch{return{}}});function C(e,r={}){n(`state-change`,{type:e,currentTime:d.value,duration:f.value,src:t.src,...r,payload:S.value})}let T=$e(x),E=et(C),D=st(t.src,x,g),O=tt(d,f,C),k=vt(s,{fire:C,pauseThisPlayer:()=>A.pause()}),A=gt(s,x,k,C),{attachPlayerEvents:j}=_t(s,{fire:C,pauseThisPlayer:A.pause,positionMemory:D,quartiles:O,buffering:E,fullscreen:T});function M(){r&&a&&(v.value=!1,y.value=``,l.value=!1,f.value=0,r.setSrc(a.src,a.type))}G([f,u],([e,t])=>{l.value||!e&&!t||(l.value=!0,C(`loaded`))}),G(()=>t.loop,e=>{e!==void 0&&e!==s.isLooping.value&&A.toggleLoop()}),G(()=>t.muted,e=>{r&&e!==void 0&&r.setMuted(e)}),G(()=>t.playbackRate,e=>{r&&e!==void 0&&r.setPlaybackRate(e)}),mt(e,x,T.isFullscreen,T.isFullscreenPending,w(()=>!!t.pin)),t.playInView&&ht(e,x,T.isFullscreen,T.isFullscreenPending,t.muted);function N(e){r=e.adapter,a=e.currentSrc,o=e.needsReveal,e.nativeUi!==void 0&&(b.value=e.nativeUi),i=we(A.pause),j(e.adapter)}return G(_,t=>{t&&o&&e.value&&r&&ee(e.value,r.el)}),R(async()=>{let n=await Je(de(t.src),e,t,{muted:p.value,volume:m.value,playbackRate:h.value},k);if(n.status===`unsupported`){v.value=!0,c.value=!0,y.value=`This platform is not yet supported.`;return}n.status===`mounted`&&N(n.mounted)}),L(()=>{i?.(),k.dispose(),r?.dispose(),r=null}),{...s,...A,fire:C,retry:M,isBuffering:E.isBuffering,toggleAdMute:k.toggleAdMute,isFullscreen:T.isFullscreen,isFullscreenPending:T.isFullscreenPending,toggleFullscreen:T.toggleFullscreen}}const bt=new Set([`ArrowLeft`,`ArrowRight`,`ArrowUp`,`ArrowDown`,`Home`,`End`]);function xt(e,t){function n(e,t,n){return Math.min(n,Math.max(t,e))}function r(t){if(!e.total)return;let r=n(e.current+t,0,e.total);e.seek(r/e.total*100)}function i(t){e.setVolume(n(e.vol+t,0,1))}function a(){e.supportsCaptions&&e.setCaptionTrack(e.activeCaptionIndex===null?0:null)}function o(n){if(n.repeat||n.metaKey||n.ctrlKey||n.altKey)return;let o=n.target;if(!o.closest(`input:not([type="range"]), textarea, select, [contenteditable="true"]`)&&!(bt.has(n.key)&&o.closest(`input[type="range"]`))&&(n.key!==` `&&n.key!==`Enter`||!o.closest(`button, a[href]`))){switch(n.key){case` `:case`k`:n.preventDefault(),e.togglePlay();break;case`ArrowLeft`:n.preventDefault(),r(-5);break;case`ArrowRight`:n.preventDefault(),r(5);break;case`ArrowUp`:n.preventDefault(),i(h);break;case`ArrowDown`:n.preventDefault(),i(-h);break;case`m`:e.toggleMute();break;case`f`:e.toggleFullscreen();break;case`c`:a();break;case`Home`:n.preventDefault(),e.seek(0);break;case`End`:n.preventDefault(),e.seek(100);break;default:if(!/^[0-9]$/.test(n.key))return;e.seek(Number(n.key)*10)}t.onMouseMove()}}return{onKeydown:o}}function St(e,t){let n=B(!0),r=B(!1),i=null,a=0;function o(e=400){a=Date.now()+e}function s(e=m){clearTimeout(i??void 0),i=setTimeout(()=>{if(document.activeElement?.closest(`.overlay__hud, .overlay__popup`)){s(e);return}n.value=!1,r.value=!1},e)}function c(){clearTimeout(i??void 0)}function l(){r.value=!0,n.value=!0,s()}function u(i=!1){r.value=!1,(i||t.value)&&(n.value=!1),e.value&&s()}function d(){e.value&&s()}function f(){n.value=!0,e.value&&s()}function p(){n.value=!0,s()}function h(){Date.now()<a||e.value&&s(600)}return G(e,e=>{if(!e){clearTimeout(i??void 0),n.value=!0;return}s()}),L(()=>clearTimeout(i??void 0)),{showHUD:n,isOpen:r,scheduleHide:s,pauseHide:c,onVideoTap:f,onMouseMove:p,onMouseLeave:h,openControls:l,closeControls:u,keepOpen:d,suppressMouseLeave:o}}const Ct=[`retry`,`play`,`pause`,`replay`,`togglePlay`,`seek`,`seekTo`,`toggleMute`,`setVolume`,`toggleFullscreen`,`toggleLoop`,`toggleAdMute`,`setPlaybackRate`,`setCaptionTrack`,`setQuality`,`togglePip`],wt=`isPlaying.hasEnded.isReady.isLoaded.isAdPlaying.isAdPaused.isAdMuted.adRemainingTime.isLive.isBuffering.current.total.vol.isMuted.isAudible.isLooping.currentPlaybackRate.hasStarted.isError.errorMessage.progress.bufferedDisplay.isFullscreen.supportsPlaybackRate.supportsCaptions.captionTracks.activeCaptionIndex.supportsQuality.qualityLevels.currentQualityIndex.isAutoQuality.supportsPip.isPipActive.isNativeUi`.split(`.`);function Tt(e){let t={};for(let n of Ct)t[n]=(...t)=>e[n](...t);for(let n of wt)Object.defineProperty(t,n,{get:()=>e[n],enumerable:!0});return t}const J=Symbol(`player`),Et=Symbol(`hud`),Dt=Symbol(`action`),Ot=Symbol(`playlist`),kt={hasPlaylist:!1,hasNext:!1,hasPrevious:!1,autoAdvance:!1,playNext:()=>{},playPrevious:()=>{},toggleAutoAdvance:()=>{}};function Y(e){let t=N(e);if(t===void 0)throw Error(`[video-player] missing "${String(e.description)}" context — this component must be rendered inside <VideoPlayer>`);return t}function At(e,t){let n=w(()=>e.isReady&&!e.isError);return{hudVisible:w(()=>n.value&&t.showHUD),popupVisible:w(()=>n.value?e.isFullscreen?t.showHUD:t.isOpen:!1)}}function jt(e,t=250){let n=B(!1),r=null;return G(e,e=>{r?.disconnect(),r=null,e&&(r=new ResizeObserver(([e])=>{n.value=e.contentRect.width<t}),r.observe(e))},{immediate:!0}),L(()=>r?.disconnect()),n}const Mt={mute:{label:e=>e.isMuted?`Unmute`:`Mute`,active:e=>e.isMuted,onClick:e=>e.toggleMute()},loop:{label:e=>e.isLooping?`Disable loop`:`Loop`,active:e=>e.isLooping,onClick:e=>e.toggleLoop()},autoplay:{label:(e,t)=>t.autoAdvance?`Disable autoplay next`:`Autoplay next`,active:(e,t)=>t.autoAdvance,onClick:(e,t)=>t.toggleAutoAdvance()}};function Nt(e,t,n){let r=w(()=>e?.value??null),i=w(()=>!!r.value&&typeof r.value==`object`),a=w(()=>i.value?r.value:null),o=w(()=>i.value||!r.value?null:Mt[r.value]),s=w(()=>o.value?.label(t,n)??``),c=w(()=>o.value?.active(t,n)??!1);function l(){o.value?.onClick(t,n)}return{currentAction:r,isCustom:i,customAction:a,builtinLabel:s,builtinActive:c,onBuiltinClick:l}}var X=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n};const Pt={},Ft={viewBox:`0 0 24 24`,fill:`currentColor`};function It(e,t){return z(),D(`svg`,Ft,[...t[0]||=[O(`path`,{d:`M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z`},null,-1)]])}var Lt=X(Pt,[[`render`,It]]);const Rt={},zt={viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`};function Bt(e,t){return z(),D(`svg`,zt,[...t[0]||=[O(`rect`,{x:`2`,y:`5`,width:`20`,height:`14`,rx:`2`},null,-1),O(`path`,{d:`M9.5 10.5a2 2 0 0 0-3.5 1.3v.4a2 2 0 0 0 3.5 1.3`},null,-1),O(`path`,{d:`M17.5 10.5a2 2 0 0 0-3.5 1.3v.4a2 2 0 0 0 3.5 1.3`},null,-1)]])}var Vt=X(Rt,[[`render`,Bt]]);const Ht={},Ut={viewBox:`0 0 24 24`,fill:`currentColor`};function Wt(e,t){return z(),D(`svg`,Ut,[...t[0]||=[O(`path`,{d:`M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z`},null,-1)]])}var Gt=X(Ht,[[`render`,Wt]]);const Kt={},qt={viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`};function Jt(e,t){return z(),D(`svg`,qt,[...t[0]||=[k(`<line x1="4" y1="6" x2="20" y2="6"></line><line x1="4" y1="12" x2="20" y2="12"></line><line x1="4" y1="18" x2="20" y2="18"></line><circle cx="9" cy="6" r="2.5" fill="currentColor" stroke="none"></circle><circle cx="15" cy="12" r="2.5" fill="currentColor" stroke="none"></circle><circle cx="9" cy="18" r="2.5" fill="currentColor" stroke="none"></circle>`,6)]])}var Yt=X(Kt,[[`render`,Jt]]);const Xt={},Zt={viewBox:`0 0 24 24`,fill:`currentColor`};function Qt(e,t){return z(),D(`svg`,Zt,[...t[0]||=[O(`path`,{d:`M4 12l1.41 1.41L11 7.83V20h2V7.83l5.59 5.58L20 12l-8-8-8 8z`},null,-1)]])}var $t=X(Xt,[[`render`,Qt]]);const en={},tn={viewBox:`0 0 24 24`,fill:`currentColor`};function nn(e,t){return z(),D(`svg`,tn,[...t[0]||=[O(`path`,{d:`M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z`},null,-1)]])}var rn=X(en,[[`render`,nn]]);const an={},on={viewBox:`0 0 24 24`,fill:`currentColor`};function sn(e,t){return z(),D(`svg`,on,[...t[0]||=[O(`path`,{d:`M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z`},null,-1)]])}var cn=X(an,[[`render`,sn]]);const ln={},un={viewBox:`0 0 24 24`,fill:`currentColor`};function dn(e,t){return z(),D(`svg`,un,[...t[0]||=[O(`path`,{d:`M7 7h10v3l4-4-4-4v3H5v6h2V7zm10 10H7v-3l-4 4 4 4v-3h12v-6h-2v4z`},null,-1)]])}var fn=X(ln,[[`render`,dn]]);const pn={},mn={viewBox:`0 0 24 24`,fill:`currentColor`};function hn(e,t){return z(),D(`svg`,mn,[...t[0]||=[O(`circle`,{cx:`5`,cy:`12`,r:`2`},null,-1),O(`circle`,{cx:`12`,cy:`12`,r:`2`},null,-1),O(`circle`,{cx:`19`,cy:`12`,r:`2`},null,-1)]])}var gn=X(pn,[[`render`,hn]]);const _n={},vn={viewBox:`0 0 24 24`,fill:`currentColor`};function yn(e,t){return z(),D(`svg`,vn,[...t[0]||=[O(`path`,{d:`M6 19h4V5H6v14zm8-14v14h4V5h-4z`},null,-1)]])}var bn=X(_n,[[`render`,yn]]);const xn={},Sn={viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`};function Cn(e,t){return z(),D(`svg`,Sn,[...t[0]||=[O(`rect`,{x:`2`,y:`4`,width:`20`,height:`16`,rx:`2`},null,-1),O(`rect`,{x:`12`,y:`11`,width:`8`,height:`6`,rx:`1`,fill:`currentColor`,stroke:`none`},null,-1)]])}var wn=X(xn,[[`render`,Cn]]);const Tn={},En={viewBox:`0 0 24 24`,fill:`currentColor`};function Dn(e,t){return z(),D(`svg`,En,[...t[0]||=[O(`path`,{d:`M8 5v14l11-7z`},null,-1)]])}var On=X(Tn,[[`render`,Dn]]);const kn={},An={viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`};function jn(e,t){return z(),D(`svg`,An,[...t[0]||=[O(`rect`,{x:`2`,y:`6`,width:`20`,height:`12`,rx:`2`},null,-1),O(`path`,{d:`M7 14v-4M12 14V8M17 14v-2`},null,-1)]])}var Mn=X(kn,[[`render`,jn]]);const Nn={},Pn={viewBox:`0 0 24 24`,fill:`currentColor`};function Fn(e,t){return z(),D(`svg`,Pn,[...t[0]||=[O(`path`,{d:`M12 5V1L7 6l5 5V7c3.31 0 6 2.69 6 6s-2.69 6-6 6-6-2.69-6-6H4c0 4.42 3.58 8 8 8s8-3.58 8-8-3.58-8-8-8z`},null,-1)]])}var In=X(Nn,[[`render`,Fn]]);const Ln={},Rn={viewBox:`0 0 24 24`,fill:`currentColor`};function zn(e,t){return z(),D(`svg`,Rn,[...t[0]||=[O(`path`,{d:`M6 18l8.5-6L6 6v12zM16 6v12h2V6h-2z`},null,-1)]])}var Bn=X(Ln,[[`render`,zn]]);const Vn={},Hn={viewBox:`0 0 24 24`,fill:`currentColor`};function Un(e,t){return z(),D(`svg`,Hn,[...t[0]||=[O(`path`,{d:`M16.5 12A4.5 4.5 0 0 0 14 7.97v2.21l2.45 2.45c.03-.2.05-.41.05-.63zm2.5 0c0 .94-.2 1.82-.54 2.64l1.51 1.51A8.796 8.796 0 0 0 21 12c0-4.28-2.99-7.86-7-8.77v2.06c2.89.86 5 3.54 5 6.71zM4.27 3L3 4.27 7.73 9H3v6h4l5 5v-6.73l4.25 4.25c-.67.52-1.42.93-2.25 1.18v2.06A8.99 8.99 0 0 0 17.73 18L19 19.27 20.27 18 5.27 3 4.27 3zM12 4L9.91 6.09 12 8.18V4z`},null,-1)]])}var Wn=X(Vn,[[`render`,Un]]);const Gn={},Kn={viewBox:`0 0 24 24`,fill:`currentColor`};function qn(e,t){return z(),D(`svg`,Kn,[...t[0]||=[O(`path`,{d:`M3 9v6h4l5 5V4L7 9H3zm13.5 3A4.5 4.5 0 0 0 14 7.97v8.05c1.48-.73 2.5-2.25 2.5-4.02z`},null,-1)]])}var Jn=X(Gn,[[`render`,qn]]);function Z(e,t){return w(()=>e.value?e.value:t.value?document.getElementById(t.value)??null:null)}const Yn=[`aria-label`];var Xn=X(M({__name:`PlayButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Z(U(t,`player`),U(t,`for`)),r=w(()=>n.value?.isError?`error`:n.value?.hasEnded?`ended`:n.value?.isPlaying?`playing`:`idle`),i=w(()=>{switch(r.value){case`error`:return`Retry`;case`ended`:return`Replay`;case`playing`:return`Pause`;default:return`Play`}});function a(){let e=n.value;e&&(e.isError?e.retry():e.togglePlay())}return(e,t)=>(z(),D(`button`,{type:`button`,class:`mlv-play-button`,"aria-label":i.value,onClick:a},[V(e.$slots,`default`,{isPlaying:W(n)?.isPlaying??!1,hasEnded:W(n)?.hasEnded??!1,isError:W(n)?.isError??!1},()=>[r.value===`error`||r.value===`ended`?(z(),T(W(In),{key:0})):r.value===`playing`?(z(),T(W(bn),{key:1})):(z(),T(W(On),{key:2}))],!0)],8,Yn))}}),[[`__scopeId`,`data-v-218255bd`]]),Zn=X(M({__name:`Spinner`,props:{size:{type:Number,required:!1,default:14},borderWidth:{type:Number,required:!1,default:2}},setup(e){return(t,n)=>(z(),D(`div`,{class:`spinner`,style:I({width:`${e.size}px`,height:`${e.size}px`,borderWidth:`${e.borderWidth}px`})},null,4))}}),[[`__scopeId`,`data-v-259be2b2`]]);const Qn={key:0,class:`mlv-buffering`};var $n=X(M({__name:`Buffering`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Z(U(t,`player`),U(t,`for`));return(e,t)=>W(n)?.isBuffering?(z(),D(`div`,Qn,[V(e.$slots,`default`,{},()=>[j(Zn)],!0)])):E(`v-if`,!0)}}),[[`__scopeId`,`data-v-454fec7f`]]),er=M({__name:`VolumeIcon`,props:{isAudible:{type:Boolean,required:!0}},setup(e){return(t,n)=>e.isAudible?(z(),T(W(Jn),{key:0})):(z(),T(W(Wn),{key:1}))}});const tr={class:`hud`,"aria-hidden":`true`},nr=[`aria-label`],rr=[`aria-label`,`innerHTML`],ir={key:2,class:`hud__spacer`},ar={class:`hud__play-wrap`};var or=X(M({__name:`HudButtons`,setup(e){let t=Y(J),n=Y(Et),{currentAction:r,isCustom:i,customAction:a,builtinLabel:o,builtinActive:s,onBuiltinClick:c}=Nt(N(Dt),t,Y(Ot));return(e,l)=>(z(),D(S,null,[E(` tabindex="-1" + aria-hidden: this row's play/mute/custom/show-controls buttons are all redundant outside plain mouse hover - play/mute already have global hotkeys, everything else is duplicated in ControlsPopup, which PlayerOverlay's "Show player controls" skip link reaches directly for keyboard/AT users. `),O(`div`,tr,[!W(n).isOpen&&!W(t).isFullscreen?(z(),D(S,{key:0},[W(r)===`mute`||W(r)===`loop`||W(r)===`autoplay`?(z(),D(`button`,{key:0,class:F([`hud__btn`,{"hud__btn--active":W(s)}]),"aria-label":W(o),tabindex:`-1`,onClick:l[0]||=K((...e)=>W(c)&&W(c)(...e),[`stop`])},[W(r)===`mute`?(z(),T(er,{key:0,"is-audible":W(t).isAudible},null,8,[`is-audible`])):W(r)===`loop`?(z(),T(W(fn),{key:1})):(z(),T(W(Bn),{key:2}))],10,nr)):W(i)&&W(a)?(z(),D(`button`,{key:1,class:`hud__btn`,"aria-label":W(a).label,tabindex:`-1`,onClick:l[1]||=K(e=>W(a).onClick(),[`stop`]),innerHTML:W(a).icon},null,8,rr)):(z(),D(`div`,ir))],64)):E(`v-if`,!0),O(`div`,ar,[j(Xn,{player:W(t),class:`ppbtn ppbtn--lg`,tabindex:`-1`},null,8,[`player`]),j($n,{player:W(t),class:`hud__buf-spinner`},null,8,[`player`])]),!W(n).isOpen&&!W(t).isFullscreen?(z(),D(`button`,{key:1,class:`hud__btn`,"aria-label":`Show controls`,tabindex:`-1`,onClick:l[2]||=K((...e)=>W(n).openControls&&W(n).openControls(...e),[`stop`])},[j(W(Yt))])):E(`v-if`,!0)])],2112))}}),[[`__scopeId`,`data-v-a6d118e7`]]);const sr=new WeakMap;async function cr(e,t){if(!e){t();return}sr.get(e)?.();let n=e.getBoundingClientRect();t(),await te();let r=e.getBoundingClientRect(),i=n.left-r.left,a=n.top-r.top,o=n.width/r.width,s=n.height/r.height;if(!i&&!a&&o===1&&s===1)return;let c=getComputedStyle(e).position===`static`;c&&(e.style.position=`relative`),e.style.zIndex=`2147483647`,e.style.transition=`none`,e.style.transformOrigin=`top left`,e.style.transform=`translate(${i}px, ${a}px) scale(${o}, ${s})`,e.getBoundingClientRect(),await new Promise(t=>{let n=null,r=()=>{cancelAnimationFrame(i),n&&clearTimeout(n),e.style.transition=``,e.style.transform=``,e.style.transformOrigin=``,e.style.zIndex=``,c&&(e.style.position=``),sr.delete(e),t()};sr.set(e,r);let i=requestAnimationFrame(()=>{e.style.transition=`transform 220ms ease`,e.style.transform=``,n=setTimeout(r,220)})})}const lr=[`aria-label`];var ur=X(M({__name:`FullscreenButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Z(U(t,`player`),U(t,`for`));return(e,t)=>(z(),D(`button`,{type:`button`,class:`mlv-fullscreen-button`,"aria-label":W(n)?.isFullscreen?`Exit fullscreen`:`Enter fullscreen`,onClick:t[0]||=e=>W(n)?.toggleFullscreen()},[V(e.$slots,`default`,{isFullscreen:W(n)?.isFullscreen??!1},()=>[W(n)?.isFullscreen?(z(),T(W(cn),{key:0})):(z(),T(W(rn),{key:1}))],!0)],8,lr))}}),[[`__scopeId`,`data-v-b93a5017`]]);const dr=[`aria-pressed`];var fr=X(M({__name:`PipButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Z(U(t,`player`),U(t,`for`));return(e,t)=>W(n)?.supportsPip?(z(),D(`button`,{key:0,type:`button`,class:F([`mlv-pip-button`,{"mlv-pip-button--active":W(n)?.isPipActive}]),"aria-pressed":W(n)?.isPipActive??!1,"aria-label":`Toggle Picture-in-Picture`,onClick:t[0]||=e=>W(n)?.togglePip()},[V(e.$slots,`default`,{isPipActive:W(n)?.isPipActive??!1},()=>[j(W(wn))],!0)],10,dr)):E(`v-if`,!0)}}),[[`__scopeId`,`data-v-f654d93e`]]);function pr(e){let n=B(!1),r=B(null),i=!1,a=null,o=!1,s=w(()=>{let t=e.value;return t?.total?t.current/t.total*100:0}),c=w(()=>r.value??s.value),l=w(()=>r.value!==null),u=w(()=>{let t=e.value?.total??0;return c.value/100*t});function d(){a&&clearTimeout(a),a=null}function f(){d(),r.value=null}function p(t){let a=e.value;a?.total&&(n.value||=(i=a.isPlaying,a.pause(),!0),d(),r.value=Number(t.target.value))}function m(s){if(!n.value)return;n.value=!1,o=!0;let c=e.value;if(!c)return;let l=Number(s.target.value);r.value=l,c.seek(l),i&&c.play().catch(()=>{}),d(),a=setTimeout(f,t)}function h(s){if(n.value||o)return;o=!1;let c=e.value;if(!c?.total)return;let l=Number(s.target.value);r.value=l,c.seek(l),i&&c.play().catch(()=>{}),d(),a=setTimeout(f,t)}return G(()=>e.value?.current,()=>{let t=e.value;if(r.value===null||!t?.total)return;let n=r.value/100*t.total;Math.abs(t.current-n)<1&&f()}),L(f),{scrubbing:l,displayPercent:c,previewSeconds:u,onInput:p,onChange:m,onTouchEnd:h}}function Q(e,t=!1){if(!e||isNaN(e))return`0:00`;let n=t?Math.round(e):Math.floor(e);return`${Math.floor(n/60)}:${String(n%60).padStart(2,`0`)}`}const mr={class:`mlv-scrubber-wrap`},hr=[`value`,`aria-valuetext`];var gr=X(M({inheritAttrs:!1,__name:`Scrubber`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Z(U(t,`player`),U(t,`for`)),{scrubbing:r,displayPercent:i,previewSeconds:a,onInput:o,onChange:s,onTouchEnd:c}=pr(n),l=e=>Q(e,!0);return(e,t)=>(z(),D(`div`,mr,[O(`input`,P({type:`range`,min:`0`,max:`100`,step:`0.5`,value:W(i),class:`mlv-scrubber`},e.$attrs,{style:{"--p":`${W(i)}%`,"--b":`${W(n)?.bufferedDisplay??0}%`},"aria-label":`Seek`,"aria-valuetext":`${l(W(a))} of ${l(W(n)?.total??0)}`,onInput:t[0]||=(...e)=>W(o)&&W(o)(...e),onChange:t[1]||=(...e)=>W(s)&&W(s)(...e),onTouchend:t[2]||=(...e)=>W(c)&&W(c)(...e)}),null,16,hr),V(e.$slots,`preview`,{scrubbing:W(r),percent:W(i),previewSeconds:W(a),formatTime:l},()=>[W(r)?(z(),D(`div`,{key:0,class:`mlv-scrubber__preview`,style:I({left:`${W(i)}%`})},H(l(W(a))),5)):E(`v-if`,!0)],!0)]))}}),[[`__scopeId`,`data-v-043f1bc8`]]);const _r={class:`mlv-time-display__time`},vr={class:`mlv-time-display__total`};var yr=X(M({__name:`TimeDisplay`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Z(U(t,`player`),U(t,`for`));return(e,t)=>(z(),D(`span`,{class:F([`mlv-time-display`,{"mlv-time-display--live":W(n)?.isLive}])},[V(e.$slots,`default`,{isLive:W(n)?.isLive??!1,current:W(n)?.current??0,total:W(n)?.total??0,formatTime:W(Q)},()=>[W(n)?.isLive?(z(),D(S,{key:0},[t[0]||=O(`span`,{class:`mlv-time-display__dot`},null,-1),t[1]||=A(`Live `,-1)],64)):(z(),D(S,{key:1},[O(`span`,_r,H(W(Q)(W(n)?.current??0)),1),O(`span`,vr,`/ `+H(W(Q)(W(n)?.total??0)),1)],64))],!0)],2))}}),[[`__scopeId`,`data-v-0285c811`]]);const br={class:`mlv-volume-wrap`},xr=[`value`],Sr={class:`mlv-volume-pct`};var Cr=X(M({inheritAttrs:!1,__name:`VolumeSlider`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Z(U(t,`player`),U(t,`for`)),r=w(()=>{let e=n.value;return e?e.isMuted?0:Math.round(e.vol*100):0});function i(e){n.value?.setVolume(Number(e.target.value)/100)}return(e,t)=>(z(),D(`div`,br,[O(`input`,P({type:`range`,min:`0`,max:`100`,step:`1`,value:r.value,class:`mlv-volume-slider`},e.$attrs,{style:{"--v":`${r.value}%`},"aria-label":`Volume`,onInput:i}),null,16,xr),V(e.$slots,`default`,{percent:r.value},()=>[O(`span`,Sr,H(r.value)+`%`,1)],!0)]))}}),[[`__scopeId`,`data-v-fbb2c86c`]]);const wr={class:`controls__vol-header`},Tr=[`aria-label`],Er={class:`controls__vol-body`},Dr={class:`controls__vol-pct`};var Or=X(M({__name:`VolumePanel`,emits:[`back`],setup(e){let t=Y(J),n=Y(Et);return(e,r)=>(z(),D(S,null,[O(`div`,wr,[O(`button`,{class:`controls__btn`,"aria-label":`Back`,onClick:r[0]||=t=>e.$emit(`back`)},[j(W(Lt))]),r[6]||=O(`span`,{class:`controls__vol-label`},`Volume`,-1),O(`button`,{class:`controls__btn`,"aria-label":W(t).isMuted?`Unmute`:`Mute`,onClick:r[1]||=e=>W(t).toggleMute()},[j(er,{"is-audible":W(t).isAudible},null,8,[`is-audible`])],8,Tr)]),O(`div`,Er,[j(Cr,{player:W(t),class:`controls__vol-slider`,onMousedown:r[2]||=e=>W(n).pauseHide(),onMouseup:r[3]||=e=>W(n).scheduleHide(),onTouchstartPassive:r[4]||=e=>W(n).pauseHide(),onTouchend:r[5]||=e=>W(n).scheduleHide()},{default:ce(({percent:e})=>[O(`span`,Dr,H(e)+`%`,1)]),_:1},8,[`player`])])],64))}}),[[`__scopeId`,`data-v-10b0ae67`]]);function kr(e){function t(){let t=g.indexOf(e.currentPlaybackRate);e.setPlaybackRate(g[(t+1)%g.length])}function n(e){return`${e}×`}return{cycleRate:t,fmtRate:n}}function Ar(e){function t(){let t=e.captionTracks;if(!t.length)return;let n=t[t.findIndex(t=>t.index===e.activeCaptionIndex)+1];e.setCaptionTrack(n?n.index:null)}function n(){return e.captionTracks.find(t=>t.index===e.activeCaptionIndex)?.label??`Off`}return{cycleCaptionTrack:t,currentCaptionLabel:n}}function jr(e){function t(){let t=e.qualityLevels;if(!t.length)return;if(e.isAutoQuality){e.setQuality(t[t.length-1].index);return}let n=t.findIndex(t=>t.index===e.currentQualityIndex);e.setQuality(n<=0?null:t[n-1].index)}function n(){return e.isAutoQuality?`Auto`:e.qualityLevels.find(t=>t.index===e.currentQualityIndex)?.label??`Auto`}return{cycleQuality:t,currentQualityLabel:n}}const Mr=[`aria-label`],Nr={key:0,class:`controls__more-row-label`},Pr=[`innerHTML`],Fr={key:1},Ir={key:2,class:`controls__more-value`};var $=X(M({__name:`MoreMenuRow`,props:{label:{type:String,required:!0},ariaLabel:{type:String,required:!1,default:``},icon:{type:null,required:!1},iconHtml:{type:String,required:!1},active:{type:Boolean,required:!1,default:!1},value:{type:String,required:!1}},emits:[`click`],setup(e){return(t,n)=>(z(),D(`button`,{class:F([`controls__more-row`,{"controls__more-row--active":e.active}]),"aria-label":e.ariaLabel||e.label,onClick:n[0]||=e=>t.$emit(`click`)},[e.icon||e.iconHtml?(z(),D(`span`,Nr,[e.icon?(z(),T(oe(e.icon),{key:0,class:`controls__more-row-icon`})):(z(),D(`span`,{key:1,class:`controls__more-row-icon`,innerHTML:e.iconHtml},null,8,Pr)),A(` `+H(e.label),1)])):(z(),D(`span`,Fr,H(e.label),1)),e.value===void 0?E(`v-if`,!0):(z(),D(`span`,Ir,H(e.value),1))],10,Mr))}}),[[`__scopeId`,`data-v-47ca5bfc`]]);const Lr={class:`controls__more-header`};var Rr=X(M({__name:`MoreMenu`,props:{isCustom:{type:Boolean,required:!0},customAction:{type:[Object,null],required:!0},compact:{type:Boolean,required:!0}},emits:[`back`],setup(e){let t=Y(J),n=Y(Et),r=Y(Ot),{cycleRate:i,fmtRate:a}=kr(t),{cycleCaptionTrack:o,currentCaptionLabel:s}=Ar(t),{cycleQuality:c,currentQualityLabel:l}=jr(t);return(u,d)=>(z(),D(S,null,[O(`div`,Lr,[O(`button`,{class:`controls__btn`,"aria-label":`Back`,onClick:d[0]||=e=>u.$emit(`back`)},[j(W(Lt))]),d[8]||=O(`span`,{class:`controls__more-label`},`More`,-1)]),O(`div`,{class:`controls__more-body`,onTouchstartPassive:d[7]||=e=>W(n).keepOpen()},[W(t).supportsPlaybackRate?(z(),T($,{key:0,label:`Playback speed`,value:W(a)(W(t).currentPlaybackRate),onClick:W(i)},null,8,[`value`,`onClick`])):E(`v-if`,!0),j($,{label:`Loop`,"aria-label":`Toggle loop`,icon:W(fn),active:W(t).isLooping,value:W(t).isLooping?`On`:`Off`,onClick:d[1]||=e=>W(t).toggleLoop()},null,8,[`icon`,`active`,`value`]),W(t).supportsCaptions?(z(),T($,{key:1,label:`Captions`,icon:W(Vt),active:W(t).activeCaptionIndex!==null,value:W(s)(),onClick:W(o)},null,8,[`icon`,`active`,`value`,`onClick`])):E(`v-if`,!0),W(t).supportsQuality?(z(),T($,{key:2,label:`Quality`,icon:W(Mn),active:!W(t).isAutoQuality,value:W(l)(),onClick:W(c)},null,8,[`icon`,`active`,`value`,`onClick`])):E(`v-if`,!0),W(r).hasPlaylist?(z(),T($,{key:3,label:`Autoplay next`,"aria-label":`Toggle autoplay next`,icon:W(Bn),active:W(r).autoAdvance,value:W(r).autoAdvance?`On`:`Off`,onClick:d[2]||=e=>W(r).toggleAutoAdvance()},null,8,[`icon`,`active`,`value`])):E(`v-if`,!0),e.compact&&W(t).supportsPip?(z(),T($,{key:4,label:`Picture-in-picture`,"aria-label":`Toggle picture-in-picture`,icon:W(wn),active:W(t).isPipActive,onClick:d[3]||=e=>W(t).togglePip()},null,8,[`icon`,`active`])):E(`v-if`,!0),e.compact&&W(r).hasNext?(z(),T($,{key:5,label:`Play next`,"aria-label":`Play next`,icon:W(Bn),onClick:d[4]||=e=>W(r).playNext()},null,8,[`icon`])):E(`v-if`,!0),e.compact?(z(),T($,{key:6,label:`Mute`,"aria-label":`Toggle mute`,icon:W(t).isAudible?W(Jn):W(Wn),active:!W(t).isAudible,onClick:d[5]||=e=>W(t).toggleMute()},null,8,[`icon`,`active`])):E(`v-if`,!0),e.isCustom&&e.customAction?(z(),T($,{key:7,label:e.customAction.label,"icon-html":e.customAction.icon,onClick:d[6]||=t=>e.customAction.onClick()},null,8,[`label`,`icon-html`])):E(`v-if`,!0)],32)],64))}}),[[`__scopeId`,`data-v-e89a8208`]]);const zr={class:`controls__row`},Br={class:`controls__play-wrap`},Vr=[`aria-expanded`],Hr=[`aria-expanded`],Ur={class:`controls__fs-wrap`};var Wr=X(M({__name:`ControlsPopup`,setup(e){let t=Y(J),n=Y(Et),r=Y(Ot),{isCustom:i,customAction:a}=Nt(N(Dt),t,r),o=B(!1),s=B(!1),c=B(null),l=B(null),u=jt(c),d=w(()=>t.isLooping||t.currentPlaybackRate!==1||r.autoAdvance);function f(e){return!c.value||c.value.contains(e)?!1:(n.closeControls(),!0)}function p(e){f(e.target)}function m(e){f(e.target)&&e.preventDefault()}R(()=>{t.fire(`controlsopen`,{element:c.value}),document.addEventListener(`click`,p,!0),document.addEventListener(`touchend`,m,!0)}),L(()=>{o.value=!1,s.value=!1,t.fire(`controlsclose`,{element:c.value}),document.removeEventListener(`click`,p,!0),document.removeEventListener(`touchend`,m,!0)});function h(e){n.suppressMouseLeave();let t=c.value,r=l.value;if(!t||!r){e();return}r.style.opacity=`0`,cr(t,e).then(()=>{r.style.transition=`opacity 130ms ease`,r.style.opacity=``,setTimeout(()=>{r.style.transition=``},130)})}function g(){if(_()){t.toggleMute();return}h(()=>{o.value=!0})}function v(){h(()=>{s.value=!0})}return(e,f)=>(z(),D(`div`,{ref_key:`popupEl`,ref:c,class:F([`controls`,{"controls--fs":W(t).isFullscreen,"controls--compact":W(u)}]),onMousemove:f[8]||=K((...e)=>W(n).keepOpen&&W(n).keepOpen(...e),[`stop`])},[O(`div`,{class:`controls__inner`,ref_key:`contentEl`,ref:l},[o.value?(z(),T(Or,{key:0,onBack:f[0]||=e=>h(()=>o.value=!1)})):s.value?(z(),T(Rr,{key:1,"is-custom":W(i),"custom-action":W(a),compact:W(u),onBack:f[1]||=e=>h(()=>s.value=!1)},null,8,[`is-custom`,`custom-action`,`compact`])):(z(),D(S,{key:2},[W(t).isLive?E(`v-if`,!0):(z(),T(gr,{key:0,player:W(t),class:`controls__seek`,onMousedown:f[2]||=e=>W(n).pauseHide(),onMouseup:f[3]||=e=>W(n).scheduleHide(),onTouchstartPassive:f[4]||=e=>W(n).pauseHide(),onTouchend:f[5]||=e=>W(n).scheduleHide()},null,8,[`player`])),O(`div`,zr,[O(`div`,Br,[j($n,{player:W(t)},null,8,[`player`]),W(t).isBuffering?E(`v-if`,!0):(z(),T(Xn,{key:0,player:W(t),class:`ppbtn ppbtn--sm`},null,8,[`player`]))]),j(yr,{player:W(t),class:`controls__time-display`},null,8,[`player`]),W(r).hasNext?(z(),D(`button`,{key:0,class:`controls__btn controls__btn--next`,"aria-label":`Play next`,onClick:f[6]||=e=>W(r).playNext()},[j(W(Bn))])):E(`v-if`,!0),O(`button`,{class:`controls__btn controls__btn--volume`,"aria-label":`Volume`,"aria-haspopup":`true`,"aria-expanded":o.value,onClick:g},[j(er,{"is-audible":W(t).isAudible},null,8,[`is-audible`])],8,Vr),O(`button`,{class:F([`controls__btn controls__btn--more`,{"controls__btn--active":d.value}]),"aria-label":`More`,"aria-haspopup":`true`,"aria-expanded":s.value,onClick:v},[j(W(gn))],10,Hr),j(fr,{player:W(t),class:`controls__btn controls__btn--pip`},null,8,[`player`]),O(`div`,Ur,[W(t).isFullscreenPending?(z(),T(Zn,{key:0})):(z(),T(ur,{key:1,player:W(t),class:`controls__btn`},null,8,[`player`]))])])],64))],512),O(`button`,{type:`button`,class:`controls__close`,"aria-label":`Close player controls`,onClick:f[7]||=e=>W(n).closeControls(!0)},`Close player controls`)],34))}}),[[`__scopeId`,`data-v-5712aad4`]]);const Gr={key:0,class:`overlay__spinner`},Kr={key:0,class:`overlay__error`},qr=[`inert`];var Jr=X(M({__name:`PlayerOverlay`,setup(e){let t=Y(J),n=Y(Et),{hudVisible:r,popupVisible:i}=At(t,n);return(e,a)=>(z(),D(S,null,[j(C,{name:`fade`},{default:ce(()=>[!W(t).isReady&&!W(t).isError?(z(),D(`div`,Gr,[j(Zn,{size:40,"border-width":3})])):E(`v-if`,!0)]),_:1}),E(` No transition: a leave that waits on an animation frame can strand a clickable Retry over a recovered player when frames are paused (background tab). `),W(t).isError?(z(),D(`div`,Kr,[O(`p`,null,H(W(t).errorMessage||`This video could not be played.`),1),O(`button`,{class:`overlay__retry`,onClick:a[0]||=K((...e)=>W(t).retry&&W(t).retry(...e),[`stop`])},`Retry`)])):E(`v-if`,!0),O(`button`,{type:`button`,class:`overlay__reveal`,"aria-label":`Show player controls`,onClick:a[1]||=e=>W(n).openControls()},`Show player controls`),O(`div`,{class:F([`overlay__hud`,{"overlay__hud--visible":W(r)}]),inert:!W(r)},[j(or)],10,qr),j(C,{name:`popup`},{default:ce(()=>[W(i)?(z(),D(`div`,{key:0,class:F([`overlay__popup`,{"overlay__popup--fs":W(t).isFullscreen}])},[j(Wr)],2)):E(`v-if`,!0)]),_:1})],64))}}),[[`__scopeId`,`data-v-2fba5782`]]);const Yr={class:`ad-overlay`},Xr={class:`ad-overlay__bar`},Zr={class:`ad-overlay__badge`},Qr={key:0,class:`ad-overlay__countdown`},$r=[`aria-label`],ei=[`aria-label`];var ti=X(M({__name:`AdOverlay`,setup(e){let t=Y(J),n=w(()=>t.adRemainingTime>0?Q(t.adRemainingTime):``);return(e,r)=>(z(),D(`div`,Yr,[O(`div`,Xr,[O(`div`,Zr,[r[2]||=O(`span`,null,`Ad`,-1),n.value?(z(),D(`span`,Qr,H(n.value),1)):E(`v-if`,!0)]),O(`button`,{class:`ad-overlay__btn`,"aria-label":W(t).isAdPaused?`Resume ad`:`Pause ad`,onClick:r[0]||=e=>W(t).togglePlay()},[W(t).isAdPaused?(z(),T(W(On),{key:0})):(z(),T(W(bn),{key:1}))],8,$r),O(`button`,{class:`ad-overlay__btn`,"aria-label":W(t).isAdMuted?`Unmute ad`:`Mute ad`,onClick:r[1]||=e=>W(t).toggleAdMute()},[W(t).isAdMuted?(z(),T(W(Wn),{key:0})):(z(),T(W(Jn),{key:1}))],8,ei)])]))}}),[[`__scopeId`,`data-v-23efcc8b`]]);const ni=B(0),ri=ie({currentSrc:null,isPlaying:!1}),ii=w(()=>ni.value>0),ai=B(!1);function oi(){ni.value++}function si(){ni.value--}function ci(e,t,n){let r=B(!1),i=w(()=>r.value&&ai.value),a=null;function o(){if(a?.(),a=null,!n.value||!e.value){r.value=!1;return}a=dt(e.value,e=>{e.intersectionRatio<.1?t.value&&(r.value=!0):r.value=!1})}return R(o),G(n,o),G(e,o),L(()=>a?.()),{isPinned:r,isTucked:i,unpin:()=>r.value=!1}}function li(e,t,n){let r=B(null),i=B(null);G(n,n=>{let i=e.value?.offsetWidth??null;r.value=n&&t.value&&i?{height:t.value.offsetHeight,wrapperWidth:i}:null});let a=w(()=>{if(!r.value)return{};let{height:e,wrapperWidth:t}=r.value,n=i.value?i.value/t:1;return{height:`${Math.round(e*n)}px`}}),o=null;return G(e,e=>{o?.disconnect(),o=null,e&&(o=new ResizeObserver(([e])=>i.value=e.contentRect.width),o.observe(e))},{immediate:!0}),L(()=>o?.disconnect()),{wrapperStyle:a,clear:()=>r.value=null}}function ui(e){e?.scrollIntoView({behavior:`smooth`,block:`center`})}var di=X(M({__name:`PinnablePlayerShell`,props:{isPlaying:{type:Boolean,required:!0}},setup(e){let t=e,n=B(null),r=B(null),{isPinned:i,unpin:a}=ci(n,U(t,`isPlaying`),B(!0)),o=B(i.value);G(i,e=>{cr(r.value,()=>{o.value=e})});let s=w(()=>o.value&&ai.value),{wrapperStyle:c}=li(n,r,o);function l(){ui(n.value)}function u(e){r.value=e}return(e,t)=>(z(),D(`div`,{ref_key:`wrapperEl`,ref:n,class:`player-wrapper`,style:I(W(c))},[V(e.$slots,`default`,{isPinned:o.value,isTucked:s.value,setBoxEl:u,unpin:W(a),scrollToPlayer:l},void 0,!0)],4))}}),[[`__scopeId`,`data-v-a2f8a547`]]);const fi={class:`player-wrapper`};var pi=X(M({__name:`PlainPlayerShell`,props:{isPlaying:{type:Boolean,required:!0}},setup(e){function t(){}return(e,n)=>(z(),D(`div`,fi,[V(e.$slots,`default`,{isPinned:!1,isTucked:!1,setBoxEl:t,unpin:t,scrollToPlayer:t},void 0,!0)]))}}),[[`__scopeId`,`data-v-9188c23a`]]),mi=X(M({__name:`PinnedControls`,emits:[`scroll-to`,`dismiss`],setup(e){return(e,t)=>(z(),D(S,null,[O(`button`,{class:`pinned-controls__scroll-to`,"aria-label":`Scroll to player`,onClick:t[0]||=K(t=>e.$emit(`scroll-to`),[`stop`])},[j(W($t))]),O(`button`,{class:`pinned-controls__dismiss`,"aria-label":`Close`,onClick:t[1]||=K(t=>e.$emit(`dismiss`),[`stop`])},[j(W(Gt))])],64))}}),[[`__scopeId`,`data-v-690b416a`]]);function hi(e){let[t,n]=e.split(`:`).map(Number);return{isPortrait:n>t,cssRatio:`${t}/${n}`}}const gi=[`aria-label`,`tabindex`],_i={"data-mlv-player":``},vi=[`poster`,`preload`],yi=[`src`,`kind`,`srclang`,`label`,`default`],bi={key:3,class:`player__native-play`};var xi=X(M({__name:`VideoPlayer`,props:{src:{type:String,required:!0},label:{type:String,required:!1,default:``},poster:{type:String,required:!1,default:``},aspectRatio:{type:String,required:!1,default:u},adTagUrl:{type:String,required:!1,default:``},adMacroParams:{type:Object,required:!1},headerBidding:{type:Object,required:!1},tracks:{type:Array,required:!1,default:()=>[]},autoplay:{type:Boolean,required:!1,default:!1},muted:{type:Boolean,required:!1,default:void 0},volume:{type:Number,required:!1},playbackRate:{type:Number,required:!1},nativeUi:{type:Boolean,required:!1,default:!1},payload:{type:[Object,String],required:!1,default:()=>({})},action:{type:[String,Object,null],required:!1,default:null},disableTapCapture:{type:Boolean,required:!1,default:!1},disableKeyboardShortcuts:{type:Boolean,required:!1,default:!1},controls:{type:Boolean,required:!1,default:!0},playInView:{type:Boolean,required:!1,default:!1},pin:{type:String,required:!1},loop:{type:Boolean,required:!1,default:!1},preload:{type:String,required:!1,default:void 0}},emits:[`state-change`],setup(e,{expose:t,emit:n}){let r=e,i=n,a=B(null),o=ie(yt(a,r,i)),s=ie(St(U(o,`isPlaying`),U(o,`isFullscreen`))),{onKeydown:c}=xt(o,s);function l(e){r.disableKeyboardShortcuts||c(e)}let u=B(null);G(()=>o.isFullscreen,e=>{e&&!r.disableKeyboardShortcuts&&te(()=>u.value?.focus())});function d(e){if(r.disableKeyboardShortcuts)return;let t=e.relatedTarget;t&&u.value?.contains(t)||requestAnimationFrame(()=>{document.activeElement===document.body&&u.value?.focus()})}re(J,o),re(Et,s),re(Dt,U(r,`action`)),re(Ot,N(Ot,kt));let f=w(()=>hi(r.aspectRatio)),p=w(()=>f.value.isPortrait),m=w(()=>f.value.cssRatio),h=w(()=>!r.poster&&!o.isReady),g=w(()=>r.pin?di:pi);function _(e){o.pause(),e()}function v(){s.onVideoTap(),o.fire(`tap`)}return t(Tt(o)),(t,n)=>(z(),T(oe(g.value),{"is-playing":o.isPlaying},{default:ce(({isPinned:t,isTucked:i,setBoxEl:c,unpin:f,scrollToPlayer:g})=>[O(`div`,{ref:c,class:F([`player`,{"player--pinned":t,"player--tucked":i,[`player--pin-${e.pin}`]:t}])},[t?(z(),T(mi,{key:0,onScrollTo:g,onDismiss:e=>_(f)},null,8,[`onScrollTo`,`onDismiss`])):E(`v-if`,!0),O(`div`,{ref_key:`shellEl`,ref:u,class:F([`player__shell`,{"player__shell--portrait":p.value}]),style:I({aspectRatio:m.value}),role:`group`,"aria-label":e.label||`Video player`,tabindex:e.disableKeyboardShortcuts?void 0:0,onMousemove:n[0]||=e=>s.onMouseMove(),onContextmenuCapture:n[1]||=K(()=>{},[`prevent`]),onMouseleave:n[2]||=e=>s.onMouseLeave(),onKeydown:l,onFocusout:d},[O(`div`,_i,[O(`video`,{ref_key:`videoEl`,ref:a,class:F([`mlv-video`,{"mlv-video--hidden":h.value}]),poster:r.poster,preload:r.preload,playsinline:``},[(z(!0),D(S,null,ae(r.tracks,(e,t)=>(z(),D(`track`,{key:`${e.src}-${t}`,src:e.src,kind:e.kind??`captions`,srclang:e.srclang,label:e.label,default:e.default},null,8,yi))),128))],10,vi),!r.disableTapCapture&&!o.isNativeUi&&o.hasStarted&&!o.isAdPlaying?(z(),D(`div`,{key:0,class:`overlay__tap-capture`,onClick:v,onTouchend:K(v,[`prevent`,`stop`])},null,32)):E(`v-if`,!0),o.isAdPlaying&&!o.isNativeUi?(z(),T(ti,{key:1})):E(`v-if`,!0),r.controls&&!o.isNativeUi?(z(),T(Jr,{key:2})):E(`v-if`,!0),r.controls&&o.isNativeUi&&!o.hasStarted?(z(),D(`div`,bi,[j(Xn,{player:o,class:`ppbtn ppbtn--lg`},null,8,[`player`])])):E(`v-if`,!0)])],46,gi)],2)]),_:1},8,[`is-playing`]))}}),[[`__scopeId`,`data-v-4ab3cf75`]]);function Si(e,t){window.dispatchEvent(new CustomEvent(e,{detail:t}))}function Ci(e,t){let n=e=>t(e.detail);R(()=>window.addEventListener(e,n)),L(()=>window.removeEventListener(e,n))}function wi(e=()=>!0){let t=se(null),n={};for(let r of Ct)n[r]=async(...n)=>{await e(r)&&await t.value?.[r]?.(...n)};for(let e of wt)n[e]=w(()=>t.value?.[e]);return{playerRef:t,forwarded:n}}function Ti(e,t){let n=w(()=>!e.value||!t.value?-1:e.value.findIndex(e=>e.src===t.value?.src)),r=w(()=>n.value===-1||!e.value?null:e.value[n.value+1]??null),i=w(()=>n.value<=0||!e.value?null:e.value[n.value-1]??null);return{hasNext:w(()=>r.value!==null),hasPrevious:w(()=>i.value!==null),nextEntry:r,previousEntry:i}}function Ei(){return localStorage.getItem(r)===`true`}function Di(e){localStorage.setItem(r,String(e))}const Oi=[`src`],ki={class:`stage__idle-body`},Ai={class:`stage__idle-btn`},ji={class:`stage__idle-title`},Mi={key:1,class:`stage__idle-empty`};var Ni=X(M({__name:`VideoStage`,props:{pin:{type:String,required:!1,default:`bottom-right`},playlist:{type:Array,required:!1}},emits:[`state-change`],setup(t,{expose:n,emit:r}){let i=t,a=r,o=B(Ei());G(o,Di);let s=w(()=>!!i.playlist?.length),c=B(null),l=B(!1),u=B(!1);function f(e){a(`state-change`,{type:e,currentTime:0,duration:0,src:c.value?.src??``})}G(l,e=>f(e?`stageopen`:`stageclose`));let{playerRef:p,forwarded:m}=wi(()=>l.value),h=B(null),g=B(null),_=B(!1),{hasNext:v,hasPrevious:y,nextEntry:b,previousEntry:ee}=Ti(U(i,`playlist`),c),x=w(()=>_.value&&!!c.value&&l.value),C=w(()=>x.value&&ai.value),k=w(()=>hi(c.value?.aspectRatio||`16:9`).cssRatio),{wrapperStyle:A,clear:M}=li(h,g,x),N=null;function te(){N?.disconnect(),h.value&&(N=new IntersectionObserver(([e])=>{let t=!e.isIntersecting;if(!c.value||!l.value){_.value=t;return}cr(g.value,()=>{_.value=t})},{threshold:.98}),N.observe(h.value))}G(h,te);function ne(){c.value&&(c.value={...c.value,autoplay:!0,muted:Ue(c.value.muted)},l.value=!0)}function ae(){ne()}function V(){ui(h.value)}function oe(){c.value=null,l.value=!1,u.value=!1,M(),se()}function se(){ri.currentSrc=c.value?.src??null,ri.isPlaying=u.value}let ce=w(()=>{let{fromGesture:e,lazy:t,autoStage:n,...r}=c.value??{src:``};return r});function K(e){if(c.value?.src===e.src&&l.value){e.fromGesture&&p.value?.togglePlay();return}c.value=e,l.value=!1,u.value=!1,se(),l.value=!0}function le(e){if(c.value&&e.src===c.value.src){if(!l.value){ne();return}p.value?.togglePlay()}}function ue(e,t){e&&K({...e,fromGesture:t,autoplay:!0,muted:e.muted??p.value?.isMuted??Ue(void 0,t),volume:e.volume??p.value?.vol})}function de(e=!0){ue(b.value,e)}function fe(e=!0){ue(ee.value,e)}function pe(e){e.type===`play`&&(u.value=!0),(e.type===`pause`||e.type===`ended`)&&(u.value=!1),e.type===`ended`&&o.value&&de(!1),se(),a(`state-change`,e)}return re(Ot,ie({hasPlaylist:s,hasNext:v,hasPrevious:y,autoAdvance:o,playNext:()=>de(),playPrevious:()=>fe(),toggleAutoAdvance:()=>{o.value=!o.value}})),Ci(d,K),Ci(e,le),R(oi),L(()=>{si(),N?.disconnect(),ri.currentSrc=null,ri.isPlaying=!1}),n({playNext:de,playPrevious:fe,hasNext:v,hasPrevious:y,...m}),(e,n)=>(z(),D(`div`,{ref_key:`wrapperEl`,ref:h,class:`stage-wrapper`,style:I(W(A))},[O(`div`,{ref_key:`stageEl`,ref:g,class:F([`stage`,{"stage--minified":x.value,"stage--tucked":C.value,[`stage--pin-${t.pin}`]:x.value}])},[x.value?(z(),T(mi,{key:0,onScrollTo:V,onDismiss:oe})):E(`v-if`,!0),c.value&&l.value?(z(),T(xi,P({ref_key:`playerRef`,ref:p,key:c.value.src},ce.value,{onStateChange:pe}),null,16)):(z(),D(`div`,{key:2,class:`stage__idle`,style:I({aspectRatio:k.value}),onClick:ae},[c.value?.poster?(z(),D(`img`,{key:0,src:c.value.poster,class:`stage__idle-poster`},null,8,Oi)):E(`v-if`,!0),n[0]||=O(`div`,{class:`stage__idle-scrim`},null,-1),O(`div`,ki,[c.value?(z(),D(S,{key:0},[O(`div`,Ai,[j(W(On))]),O(`p`,ji,H(c.value.label),1)],64)):(z(),D(`p`,Mi,`Select a video to play`))])],4))],2)],4))}}),[[`__scopeId`,`data-v-fb8c86cf`]]),Pi=M({__name:`PlayPauseIcon`,props:{isPlaying:{type:Boolean,required:!0},hasEnded:{type:Boolean,required:!1,default:!1}},setup(e){return(t,n)=>e.isPlaying?(z(),T(W(bn),{key:0})):e.hasEnded?(z(),T(W(In),{key:1})):(z(),T(W(On),{key:2}))}});const Fi={class:`placeholder`},Ii=[`src`,`alt`],Li={class:`placeholder__btn-wrap`},Ri=[`aria-label`],zi={key:1,class:`placeholder__footer`},Bi={class:`placeholder__title`};var Vi=X(M({__name:`VideoPlaceholder`,props:{lazy:{type:Boolean,required:!1},autoStage:{type:Boolean,required:!1,default:!1},src:{type:String,required:!0},label:{type:String,required:!1,default:``},poster:{type:String,required:!1,default:``},aspectRatio:{type:String,required:!1,default:u},adTagUrl:{type:String,required:!1,default:``},adMacroParams:{type:Object,required:!1},headerBidding:{type:Object,required:!1},tracks:{type:Array,required:!1},autoplay:{type:Boolean,required:!1,default:!1},muted:{type:Boolean,required:!1,default:void 0},volume:{type:Number,required:!1},playbackRate:{type:Number,required:!1},nativeUi:{type:Boolean,required:!1,default:!1},payload:{type:[Object,String],required:!1,default:()=>({})},action:{type:[String,Object,null],required:!1,default:null},disableTapCapture:{type:Boolean,required:!1},disableKeyboardShortcuts:{type:Boolean,required:!1},controls:{type:Boolean,required:!1},playInView:{type:Boolean,required:!1},pin:{type:String,required:!1},loop:{type:Boolean,required:!1},preload:{type:String,required:!1}},emits:[`enter-view`],setup(e,{emit:t}){let n=e,r=t,i=w(()=>hi(n.aspectRatio)),a=w(()=>i.value.isPortrait),o=w(()=>i.value.cssRatio),s=B(null),c=null,l=w(()=>ri.currentSrc===n.src),u=w(()=>l.value&&ri.isPlaying),f=w(()=>l.value&&u.value?`Pause`:`Play`);function p(e,t,r){Si(d,{...n,fromGesture:e,...t!==void 0&&{autoplay:t},...r!==void 0&&{muted:r}})}function m(){p(!0,!0,Ue(n.muted))}return R(()=>{n.autoStage&&p(!1),n.playInView&&s.value&&(c=pt(s.value,()=>r(`enter-view`)))}),L(()=>c?.()),(t,n)=>(z(),D(`div`,Fi,[O(`div`,{ref_key:`shellEl`,ref:s,class:F([`placeholder__shell`,{"placeholder__shell--portrait":a.value,"placeholder__shell--active":l.value}]),style:I({aspectRatio:o.value}),onClick:m},[e.poster?(z(),D(`img`,{key:0,class:`placeholder__poster`,src:e.poster,alt:f.value},null,8,Ii)):E(`v-if`,!0),n[0]||=O(`div`,{class:`placeholder__scrim`},null,-1),O(`div`,Li,[O(`button`,{type:`button`,class:`ppbtn ppbtn--lg`,"aria-label":f.value,onClick:K(m,[`stop`])},[j(Pi,{"is-playing":l.value&&u.value},null,8,[`is-playing`])],8,Ri)]),f.value?(z(),D(`div`,zi,[O(`p`,Bi,H(f.value),1)])):E(`v-if`,!0)],6)]))}}),[[`__scopeId`,`data-v-dbcb4f82`]]),Hi=M({__name:`VideoCard`,props:{lazy:{type:Boolean,required:!1,default:!0},autoStage:{type:Boolean,required:!1},src:{type:String,required:!0},label:{type:String,required:!1},poster:{type:String,required:!1},aspectRatio:{type:String,required:!1},adTagUrl:{type:String,required:!1},adMacroParams:{type:Object,required:!1},headerBidding:{type:Object,required:!1},tracks:{type:Array,required:!1},autoplay:{type:Boolean,required:!1},muted:{type:Boolean,required:!1,default:void 0},volume:{type:Number,required:!1},playbackRate:{type:Number,required:!1},nativeUi:{type:Boolean,required:!1},payload:{type:[Object,String],required:!1},action:{type:[String,Object,null],required:!1,default:null},disableTapCapture:{type:Boolean,required:!1},disableKeyboardShortcuts:{type:Boolean,required:!1},controls:{type:Boolean,required:!1,default:void 0},playInView:{type:Boolean,required:!1},pin:{type:String,required:!1},loop:{type:Boolean,required:!1},preload:{type:String,required:!1}},emits:[`state-change`],setup(e,{expose:t,emit:n}){let r=e,i=n,a=B(!1),o=B(!1);function s(){o.value=!0,a.value=!0}async function c(){a.value||(a.value=!0,await te())}let{playerRef:l,forwarded:u}=wi(async e=>ii.value?(e===`togglePlay`&&Si(d,{...r,fromGesture:!0,autoplay:!0,muted:Ue(r.muted)}),!1):(await c(),!0));return t(u),(e,t)=>W(ii)?(z(),T(Vi,ne(P({key:0},r)),null,16)):(z(),D(S,{key:1},[r.lazy&&!a.value&&!r.autoplay?(z(),T(Vi,P({key:0},r,{onClickCapture:s,onEnterView:t[0]||=e=>a.value=!0}),null,16)):(z(),T(xi,P({key:1,ref_key:`playerRef`,ref:l},r,{autoplay:a.value||r.autoplay,muted:W(Ue)(r.muted,o.value),onStateChange:t[1]||=e=>i(`state-change`,e)}),null,16,[`autoplay`,`muted`]))],64))}}),Ui=X(M({__name:`HideMarker`,setup(e){let t=B(null),n=null;return R(()=>{t.value&&(n=new IntersectionObserver(([e])=>{ai.value=e.isIntersecting}),n.observe(t.value))}),L(()=>{n?.disconnect(),ai.value=!1}),(e,n)=>(z(),D(`div`,{ref_key:`el`,ref:t,class:`mlv-hide-marker`},null,512))}}),[[`__scopeId`,`data-v-bacb702a`]]);const Wi=[`aria-label`];var Gi=X(M({__name:`MuteButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Z(U(t,`player`),U(t,`for`));return(e,t)=>(z(),D(`button`,{type:`button`,class:`mlv-mute-button`,"aria-label":W(n)?.isMuted?`Unmute`:`Mute`,onClick:t[0]||=e=>W(n)?.toggleMute()},[V(e.$slots,`default`,{isMuted:W(n)?.isMuted??!1},()=>[j(er,{"is-audible":W(n)?.isAudible??!1},null,8,[`is-audible`])],!0)],8,Wi))}}),[[`__scopeId`,`data-v-1940b598`]]);const Ki=[`aria-pressed`];var qi=X(M({__name:`LoopButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Z(U(t,`player`),U(t,`for`));return(e,t)=>(z(),D(`button`,{type:`button`,class:F([`mlv-loop-button`,{"mlv-loop-button--active":W(n)?.isLooping}]),"aria-pressed":W(n)?.isLooping??!1,"aria-label":`Toggle loop`,onClick:t[0]||=e=>W(n)?.toggleLoop()},[V(e.$slots,`default`,{isLooping:W(n)?.isLooping??!1},()=>[j(W(fn))],!0)],10,Ki))}}),[[`__scopeId`,`data-v-e32eda25`]]);const Ji=[`aria-label`];var Yi=X(M({__name:`CaptionsButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Z(U(t,`player`),U(t,`for`)),r=w(()=>n.value?Ar(n.value):null),i=w(()=>r.value?.currentCaptionLabel()??`Off`);function a(){r.value?.cycleCaptionTrack()}return(e,t)=>W(n)?.supportsCaptions?(z(),D(`button`,{key:0,type:`button`,class:F([`mlv-captions-button`,{"mlv-captions-button--active":W(n)?.activeCaptionIndex!==null}]),"aria-label":`Captions: ${i.value}`,onClick:a},[V(e.$slots,`default`,{currentLabel:i.value,tracks:W(n)?.captionTracks??[],activeIndex:W(n)?.activeCaptionIndex??null},()=>[j(W(Vt))],!0)],10,Ji)):E(`v-if`,!0)}}),[[`__scopeId`,`data-v-2572c4f2`]]);const Xi=[`aria-label`];var Zi=X(M({__name:`QualityButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Z(U(t,`player`),U(t,`for`)),r=w(()=>n.value?jr(n.value):null),i=w(()=>r.value?.currentQualityLabel()??`Auto`);function a(){r.value?.cycleQuality()}return(e,t)=>W(n)?.supportsQuality?(z(),D(`button`,{key:0,type:`button`,class:F([`mlv-quality-button`,{"mlv-quality-button--active":!W(n)?.isAutoQuality}]),"aria-label":`Quality: ${i.value}`,onClick:a},[V(e.$slots,`default`,{currentLabel:i.value,levels:W(n)?.qualityLevels??[],currentIndex:W(n)?.currentQualityIndex??null,isAuto:W(n)?.isAutoQuality??!0},()=>[j(W(Mn))],!0)],10,Xi)):E(`v-if`,!0)}}),[[`__scopeId`,`data-v-d1352878`]]);const Qi=[`aria-label`];var $i=X(M({__name:`PlaybackRateButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Z(U(t,`player`),U(t,`for`)),r=w(()=>n.value?kr(n.value):null),i=w(()=>r.value?r.value.fmtRate(n.value.currentPlaybackRate):`1×`);function a(){r.value?.cycleRate()}return(e,t)=>W(n)?.supportsPlaybackRate?(z(),D(`button`,{key:0,type:`button`,class:F([`mlv-playback-rate-button`,{"mlv-playback-rate-button--active":W(n)?.currentPlaybackRate!==1}]),"aria-label":`Playback speed: ${i.value}`,onClick:a},[V(e.$slots,`default`,{currentLabel:i.value,rate:W(n)?.currentPlaybackRate??1,rates:[...W(g)]},()=>[A(H(i.value),1)],!0)],10,Qi)):E(`v-if`,!0)}}),[[`__scopeId`,`data-v-646c9bc1`]]);const ea=[`aria-label`,`aria-pressed`],ta=[`aria-current`,`onClick`],na={class:`mlv-transcript__time`},ra={class:`mlv-transcript__text`};var ia=X(M({__name:`Transcript`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1},cues:{type:[Array,String],required:!1}},setup(e){let t=e,n=Z(U(t,`player`),U(t,`for`)),r=w(()=>{if(typeof t.cues!=`string`)return t.cues??[];try{return JSON.parse(t.cues)}catch{return[]}}),i=w(()=>{let e=n.value?.current??0,t=r.value;for(let n=t.length-1;n>=0;n--){let r=t[n];if(!(r.time>e))return r.end!==void 0&&e>=r.end?null:n}return null}),a=B(null),o=B(!1);function s(e){let t=n.value;t&&(t.total>0&&t.seek(e.time/t.total*100),t.play().catch(()=>{}))}G(i,async e=>{e===null||o.value||(await te(),a.value?.querySelector(`.mlv-transcript__cue--active`)?.scrollIntoView?.({block:`nearest`,behavior:`smooth`}))});let c=typeof window<`u`&&`speechSynthesis`in window,l=B(!1),u=B(!1);function d(){if(c){if(l.value=!l.value,l.value){n.value&&!n.value.isMuted&&(n.value.toggleMute(),u.value=!0);return}window.speechSynthesis.cancel(),u.value&&n.value?.isMuted&&n.value.toggleMute(),u.value=!1}}return G(i,e=>{if(!c||!l.value||e===null)return;let t=r.value[e];if(!t)return;window.speechSynthesis.cancel();let n=new SpeechSynthesisUtterance(t.text);n.pitch=2,n.rate=1.5,window.speechSynthesis.speak(n)}),G(()=>n.value?.isMuted,e=>{c&&l.value&&e===!1&&(window.speechSynthesis.cancel(),l.value=!1,u.value=!1)}),L(()=>{c&&window.speechSynthesis.cancel(),u.value&&n.value?.isMuted&&n.value.toggleMute()}),(e,t)=>(z(),D(S,null,[W(c)?(z(),D(`button`,{key:0,type:`button`,class:`mlv-transcript__speech-toggle`,"aria-label":l.value?`Mute transcript readout`:`Unmute transcript readout`,"aria-pressed":l.value,onClick:d},[l.value?(z(),T(Jn,{key:0})):(z(),T(Wn,{key:1}))],8,ea)):E(`v-if`,!0),O(`ol`,{ref_key:`listEl`,ref:a,class:`mlv-transcript`,onPointerenter:t[0]||=e=>o.value=!0,onPointerleave:t[1]||=e=>o.value=!1},[(z(!0),D(S,null,ae(r.value,(t,n)=>(z(),D(`li`,{key:`${t.time}-${n}`,class:`mlv-transcript__item`},[O(`button`,{type:`button`,class:F([`mlv-transcript__cue`,{"mlv-transcript__cue--active":n===i.value}]),"aria-current":n===i.value?`true`:void 0,onClick:e=>s(t)},[V(e.$slots,`default`,{cue:t,index:n,isActive:n===i.value,formatTime:W(Q)},()=>[O(`span`,na,H(W(Q)(t.time)),1),O(`span`,ra,H(t.text),1)],!0)],10,ta)]))),128))],544)],64))}}),[[`__scopeId`,`data-v-c166a2c5`]]);function aa(e,t){if(t)for(let n of Object.keys(t)){let r=t[n];typeof r==`function`?e[n]=r:Object.defineProperty(e,n,{get:()=>t[n],enumerable:!0,configurable:!0})}}const oa={install(e){e.component(`VideoPlayer`,xi),e.component(`VideoStage`,Ni),e.component(`VideoPlaceholder`,Vi),e.component(`VideoCard`,Hi),e.component(`HideMarker`,Ui),e.component(`Scrubber`,gr),e.component(`PlayButton`,Xn),e.component(`MuteButton`,Gi),e.component(`FullscreenButton`,ur),e.component(`Buffering`,$n),e.component(`LoopButton`,qi),e.component(`PipButton`,fr),e.component(`CaptionsButton`,Yi),e.component(`QualityButton`,Zi),e.component(`PlaybackRateButton`,$i),e.component(`VolumeSlider`,Cr),e.component(`TimeDisplay`,yr),e.component(`Transcript`,ia)}};export{$n as Buffering,Yi as CaptionsButton,ur as FullscreenButton,Ui as HideMarker,qi as LoopButton,Gi as MuteButton,fr as PipButton,Xn as PlayButton,$i as PlaybackRateButton,Zi as QualityButton,gr as Scrubber,yr as TimeDisplay,ia as Transcript,Hi as VideoCard,Vi as VideoPlaceholder,xi as VideoPlayer,oa as VideoPlayerPlugin,oa as default,Ni as VideoStage,Cr as VolumeSlider,aa as exposePlayerOnElement,xe as registerPlatform,de as resolvePlatform,Ar as useCaptions,wi as useForwardedPlayer,kr as usePlaybackRate,jr as useQuality,pr as useScrubber};
1
+ import{a as e,c as t,d as n,i as r,l as i,n as a,o,r as s,t as c,u as l}from"./chunks/constants-Buc1xZvW.mjs";import{i as u,l as d,u as f}from"./chunks/embedShared-R2ohosIo.mjs";import{n as p,t as m}from"./chunks/platform-Dg9JBh8M.mjs";import{Fragment as h,Transition as g,computed as _,createBlock as v,createCommentVNode as y,createElementBlock as b,createElementVNode as x,createTextVNode as S,createVNode as C,defineComponent as w,inject as T,mergeProps as E,nextTick as D,normalizeClass as O,normalizeProps as k,normalizeStyle as A,onBeforeUnmount as j,onMounted as M,openBlock as N,provide as P,reactive as F,ref as I,renderList as ee,renderSlot as L,resolveDynamicComponent as te,shallowRef as ne,toDisplayString as R,toRef as re,unref as z,watch as B,withCtx as V,withModifiers as H}from"vue";import{Sigil as ie}from"@munsonlabs/sigil/vue";import{keepLibrary as ae}from"@munsonlabs/sigil";const oe=[];function se(e){oe.unshift(e)}function ce(e){oe.push(e)}function le(e){if(!e)return{key:`html5`,embed:!1};let t=oe.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(t){if(/\.m3u8(\?|#|$)/.test(t))return e;if(/\.mpd(\?|#|$)/.test(t))return c;if(/\.mp4(\?|#|$)/.test(t))return o}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){se({test:e.test,key:e.key,embed:e.embed}),e.embed?fe(e.key,e.createAdapter):e.resolveSource&&ge(e.key,e.resolveSource)}function U(e){ce({key:e.key,test:e.test,embed:e.embed}),e.embed?de[e.key]=e.loadAdapter:he[e.key]=e.loadResolver}U({key:`youtube`,test:e=>/youtu\.be|youtube\.com/.test(e),embed:!0,loadAdapter:()=>import(`./chunks/youtube-e1csmnHD.mjs`).then(e=>e.createYoutubeAdapter)}),U({key:`vimeo`,test:e=>/vimeo\.com|player\.vimeo\.com/.test(e),embed:!0,loadAdapter:()=>import(`./chunks/vimeo-DC3q3YWJ.mjs`).then(e=>e.createVimeoAdapter)}),U({key:`dailymotion`,test:e=>/dailymotion\.com|dai\.ly/.test(e),embed:!0,loadAdapter:()=>import(`./chunks/dailymotion-DHCBjqaZ.mjs`).then(e=>e.createDailymotionAdapter)}),U({key:`jwplayer`,test:e=>/cdn\.jwplayer\.com/.test(e)||e.startsWith(`jwplayer://`),embed:!1,loadResolver:()=>import(`./chunks/jwplayer-D8oOCmi4.mjs`).then(e=>e.resolveSource)}),U({key:`brightcove`,test:e=>/players\.brightcove\.net/.test(e),embed:!1,loadResolver:()=>import(`./chunks/brightcove-CPKzsnF0.mjs`).then(e=>e.resolveSource)});const be=new Set;function xe(e){return be.add(e),()=>be.delete(e)}function Se(e){be.forEach(t=>{if(t!==e)try{t()}catch{}})}function Ce(e){return e.kind===`captions`||e.kind===`subtitles`}let we=!1;function Te(e){if(we)return;we=!0;let t=!1;for(let n=0;n<e.textTracks.length;n++){let r=e.textTracks[n];Ce(r)&&r.mode===`showing`&&(t?r.mode=`hidden`:t=!0)}we=!1}function Ee(e,t){if(e.cues)for(let n=0;n<e.cues.length;n++){let r=e.cues[n];if(!(`line`in r))continue;let i=r;i.snapToLines=!1,i.line=t}}function De(e,t,n){let r=new Map;function i(e){if(n===void 0||!Ce(e)||r.has(e))return;let t=()=>Ee(e,n);e.addEventListener(`cuechange`,t),r.set(e,t),t()}function a(){for(let t=0;t<e.textTracks.length;t++)i(e.textTracks[t])}a(),Te(e);function o(){a(),Te(e),t()}function s(){Te(e),t()}e.textTracks.addEventListener(`addtrack`,o),e.textTracks.addEventListener(`removetrack`,t),e.textTracks.addEventListener(`change`,s);function c(){let t=[];for(let n=0;n<e.textTracks.length;n++){let r=e.textTracks[n];Ce(r)&&t.push({index:n,label:r.label||r.language||`Track ${n+1}`,language:r.language})}return t}function l(t){for(let n=0;n<e.textTracks.length;n++){let r=e.textTracks[n];Ce(r)&&(r.mode=n===t?`showing`:`hidden`)}}function u(){for(let t=0;t<e.textTracks.length;t++){let n=e.textTracks[t];if(Ce(n)&&n.mode===`showing`)return t}return null}return{getCaptionTracks:c,setCaptionTrack:l,getActiveCaptionTrack:u,dispose:()=>{e.textTracks.removeEventListener(`addtrack`,o),e.textTracks.removeEventListener(`removetrack`,t),e.textTracks.removeEventListener(`change`,s);for(let[e,t]of r)e.removeEventListener(`cuechange`,t);r.clear()}}}function Oe(e){let t=new Map;for(let n of e){if(!n.height)continue;let e=t.get(n.height);(!e||n.bitrate>e.bitrate)&&t.set(n.height,n)}return[...t.values()].sort((e,t)=>e.height-t.height)}function ke(e){function t(){return Oe(e()?.levels()??[])}function n(){return e()?.isAuto()??!0}function r(){let r=e();if(!r||n())return null;let i=r.currentIndex();if(i===null||i<0)return null;let a=t();if(a.some(e=>e.index===i))return i;let o=r.levels().find(e=>e.index===i)?.height;return a.find(e=>e.height===o)?.index??null}function i(t){e()?.setIndex(t)}return{getQualityLevels:t,getCurrentQuality:r,isAutoQuality:n,setQuality:i}}function Ae(e,t,n){let r=[[`webkitbeginfullscreen`,t],[`webkitendfullscreen`,n]];for(let[t,n]of r)e.addEventListener(t,n);function i(){u(e,()=>{let t=e;if(typeof t.webkitEnterFullscreen!=`function`)return!1;t.webkitEnterFullscreen()})}function a(){let t=e;if(p()&&typeof t.webkitExitFullscreen==`function`){t.webkitExitFullscreen();return}m()}return{enterFullscreen:i,exitFullscreen:a,dispose:()=>{for(let[t,n]of r)e.removeEventListener(t,n)}}}function je(e,t){let n=[[`enterpictureinpicture`,t],[`leavepictureinpicture`,t]];for(let[t,r]of n)e.addEventListener(t,r);function r(){return typeof document<`u`&&!!document.pictureInPictureEnabled&&!e.disablePictureInPicture}function i(){return document.pictureInPictureElement===e}function a(){i()?document.exitPictureInPicture():r()&&e.requestPictureInPicture()}return{supportsPip:r,isPipActive:i,togglePip:a,dispose:()=>{for(let[t,r]of n)e.removeEventListener(t,r)}}}const Me=[`play`,`pause`,`ended`,`error`,`timeupdate`,`durationchange`,`progress`,`volumechange`,`ratechange`,`seeked`,`waiting`,`playing`,`canplay`];function Ne(e){return{levels:()=>e.levels.map((e,t)=>({index:t,height:e.height,bitrate:e.bitrate,label:`${e.height}p`})),isAuto:()=>e.autoLevelEnabled,currentIndex:()=>e.manualLevel,setIndex:t=>{e.currentLevel=t??-1}}}function Pe(e){return{levels:()=>e.getBitrateInfoListFor(`video`).map(e=>({index:e.qualityIndex,height:e.height,bitrate:e.bitrate,label:`${e.height}p`})),isAuto:()=>e.getSettings().streaming?.abr?.autoSwitchBitrate?.video??!0,currentIndex:()=>e.getQualityFor(`video`),setIndex:t=>{if(t===null){e.updateSettings({streaming:{abr:{autoSwitchBitrate:{video:!0}}}});return}e.updateSettings({streaming:{abr:{autoSwitchBitrate:{video:!1}}}}),e.setQualityFor(`video`,t,!0)}}}function Fe(e,t){let n=f(),r=null,i=null,a=!1,o=null,s=null,c=null,l=0,u=null,d=t.preload===`none`&&!t.autoplay,p=!1;async function m(n){let{default:i}=await import(`hls.js`);if(a||o!==n)return;if(typeof i?.isSupported!=`function`||!i.isSupported()){e.src=n,t.autoplay&&e.play().catch(()=>{});return}r=new i({liveDurationInfinity:!0,autoStartLoad:!d}),p=!d,r.loadSource(n),r.attachMedia(e),t.autoplay&&e.play().catch(()=>{});let s=i.Events,c=i.ErrorTypes;r.on(s.MANIFEST_PARSED,S(`qualitychange`)),r.on(s.LEVEL_SWITCHED,S(`qualitychange`)),r.on(s.FRAG_BUFFERED,()=>{l=0}),r.on(s.ERROR,(e,t)=>{if(!t.fatal||a||o!==n)return;if(t.type!==c.NETWORK_ERROR&&t.type!==c.MEDIA_ERROR||l>=3){v(t.reason||t.details||`This video could not be played.`);return}let i=1e3*2**l;l+=1,_(),u=setTimeout(()=>{!a&&o===n&&r&&(t.type===c.NETWORK_ERROR?r.startLoad():r.recoverMediaError())},i)})}async function h(n){let r=await import(`dashjs`);if(a||s!==n)return;let o=r.MediaPlayer().create();i=o,o.initialize(e,n,t.autoplay??!1);let c=r.MediaPlayer.events;o.on(c.QUALITY_CHANGE_RENDERED,S(`qualitychange`)),o.on(c.STREAM_INITIALIZED,S(`qualitychange`)),o.on(c.ERROR,()=>{a||s!==n||(o.destroy(),i=null,v(`This video could not be played.`))})}function g(){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 _(){u&&clearTimeout(u),u=null}function v(e){_(),r?.destroy(),r=null,c={code:4,message:e},n.trigger(`error`)}let y=``,b;function x(n,a){if(y=n,b=a,_(),c=null,l=0,r?.destroy(),r=null,o=null,i?.destroy(),i=null,s=null,a===`application/dash+xml`){s=n,h(n);return}if(a===`application/x-mpegURL`&&!g()){o=n,m(n);return}e.src=n,t.autoplay&&e.play().catch(()=>{})}let S=e=>()=>n.trigger(e),C=Me.map(e=>[e,S(e)]);for(let[t,n]of C)e.addEventListener(t,n);let w=De(e,S(`captionschange`),t.captionLine),T=ke(()=>r?Ne(r):i?Pe(i):null),E=Ae(e,S(`nativefullscreenenter`),S(`nativefullscreenexit`)),D=je(e,S(`pipchange`)),{poster:O,muted:k,autoplay:A,volume:j,playbackRate:M,preload:N,src:P,type:F}=t;return e.poster=O??``,N&&(e.preload=N),e.muted=k??A??!1,e.volume=j??1,e.playbackRate=M??1,e.playsInline=!0,x(P,F),{el:e,play:()=>(r&&!p&&(p=!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.`}:c},load:x,retry:()=>x(y,b),supportsPlaybackRate:()=>!0,captions:{tracks:w.getCaptionTracks,active:w.getActiveCaptionTrack,select:w.setCaptionTrack},quality:{levels:T.getQualityLevels,current:T.getCurrentQuality,isAuto:T.isAutoQuality,select:T.setQuality},pip:{isSupported:D.supportsPip,isActive:D.isPipActive,toggle:D.togglePip},enterFullscreen:E.enterFullscreen,exitFullscreen:E.exitFullscreen,on:n.on,off:n.off,dispose:()=>{a=!0,_(),r?.destroy(),i?.destroy();for(let[t,n]of C)e.removeEventListener(t,n);w.dispose(),E.dispose(),D.dispose(),n.dispose()}}}function Ie(e){try{return localStorage.getItem(e)}catch{return null}}function Le(e,t){try{localStorage.setItem(e,t)}catch{}}const Re=`player:audio`,ze={muted:!1,volume:1};function Be(){try{let e=Ie(Re);if(!e)return ze;let t=JSON.parse(e);return{muted:typeof t.muted==`boolean`?t.muted:ze.muted,volume:typeof t.volume==`number`?t.volume:ze.volume}}catch{return ze}}function Ve(e){Le(Re,JSON.stringify(e))}let He=!1;function Ue(){He=!0}function We(){return He}function Ge(e){Ve(e),e.muted||Ue()}function Ke(e,t=!0){if(e!==void 0)return e;if(!t)return;let n=Be().muted;return n||Ue(),n}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 Je(e,t){return e===void 0?t&&!We()?!0:Be().muted:e}function Ye(e){return e.volume??Be().volume}async function Xe(e,t,n,r){if(!t.value)return{status:`aborted`};let i=await pe(e,t.value,{src:n.src,poster:n.poster,autoplay:n.autoplay,muted:r.muted,volume:r.volume,nativeUi:n.nativeUi});return t.value?i?{status:`mounted`,mounted:{adapter:i,nativeUi:!!n.nativeUi}}:{status:`unsupported`}:{status:`aborted`}}async function Ze(e,t,n,r,i){let a=await ve(e,n.src).catch(()=>({src:n.src}));if(!t.value)return{status:`aborted`};let o=Fe(t.value,{src:a.src,type:a.type,poster:a.poster||n.poster||``,autoplay:n.autoplay,...r,preload:n.preload,captionLine:n.captionLine}),s=qe(n.adTagUrl||a.adTagUrl||``,n.adMacroParams);return i.attach(t.value,o,s,n.headerBidding),{status:`mounted`,mounted:{adapter:o}}}function Qe(e,t,n,r,i){return e.embed?Xe(e.key,t,n,r):Ze(e.key,t,n,r,i)}function $e(e){let t=I(0),n=I(0),r=I(0),i=I(Ye(e)),a=I(Je(e.muted,!!(e.autoplay||e.playInView))),o=_(()=>n.value?t.value/n.value*100:0);return{isPlaying:I(!1),hasEnded:I(!1),isReady:I(!1),isLoaded:I(!1),isLive:I(!1),hasStarted:I(!1),isError:I(!1),errorMessage:I(``),currentTime:t,duration:n,buffered:r,progress:o,bufferedDisplay:_(()=>Math.max(r.value,o.value)),currentVolume:i,isMuted:a,isAudible:_(()=>!a.value&&i.value>0),isLooping:I(!!e.loop),currentPlaybackRate:I(e.playbackRate??1),supportsPlaybackRate:I(!1),isAdPlaying:I(!1),isAdPaused:I(!1),isAdMuted:I(!1),adRemainingTime:I(0),supportsCaptions:I(!1),captionTracks:I([]),activeCaptionIndex:I(null),supportsQuality:I(!1),qualityLevels:I([]),currentQualityHeight:I(null),isAutoQuality:I(!0),supportsPip:I(!1),isPipActive:I(!1),isNativeUi:I(!1)}}function et(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 tt=et(e=>(document.addEventListener(`fullscreenchange`,e),document.addEventListener(`webkitfullscreenchange`,e),()=>{document.removeEventListener(`fullscreenchange`,e),document.removeEventListener(`webkitfullscreenchange`,e)})),nt=et(e=>(document.addEventListener(`visibilitychange`,e),window.addEventListener(`blur`,e),()=>{document.removeEventListener(`visibilitychange`,e),window.removeEventListener(`blur`,e)}));function rt(e){let t=I(!1),n=I(!1),i=null;function a(){let e=document;t.value=!!(document.fullscreenElement||e.webkitFullscreenElement),n.value=!1}function o(){let r=e();if(r){if(t.value){r.exitFullscreen();return}n.value=!0,r.enterFullscreen()}}function c(e){e.on(s,()=>{n.value=!0}),e.on(r,()=>{n.value=!1}),e.on(`nativefullscreenenter`,()=>{t.value=!0,n.value=!1}),e.on(`nativefullscreenexit`,()=>{t.value=!1,n.value=!1})}return M(()=>{i=tt(a)}),j(()=>{i?.()}),{isFullscreen:t,isFullscreenPending:n,toggleFullscreen:o,attachPlayerEvents:c}}function it(e){let t=I(!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 j(()=>clearTimeout(n??void 0)),{isBuffering:t,attachPlayerEvents:i,reset:r}}const at=[[.25,`firstQuartile`],[.5,`midpoint`],[.75,`thirdQuartile`]];function ot(e,t,n){let r=new Set;function i(){if(!t.value)return;let i=e.value/t.value;for(let[e,t]of at)!r.has(e)&&i>=e&&(r.add(e),n(t))}function a(){r.clear()}return{checkQuartiles:i,reset:a}}function st(){try{return JSON.parse(Ie(`player:positions`)??`[]`)}catch{return[]}}function ct(e){Le(`player:positions`,JSON.stringify(e))}function lt(e,t){if(t<5)return;let n=st().filter(t=>t.url!==e);n.unshift({url:e,time:t}),ct(n.slice(0,5))}function ut(e){return st().find(t=>t.url===e)?.time??null}function dt(e){ct(st().filter(t=>t.url!==e))}function ft(e,t,n){let r=!1;function i(t){if(r)return;let n=ut(e);n&&t.setCurrentTime(n),r=!0}function a(t){t&&!n.value&&lt(e,t.currentTime()??0)}function o(){dt(e)}let s=nt(()=>{document.visibilityState===`hidden`&&a(t())});return j(()=>{a(t()),s()}),{restoreOnce:i,save:a,clear:o}}const pt=new WeakMap,mt=[.1,.5];function ht(e){let t=pt.get(e);if(t)return t;let n=new Set,r=new IntersectionObserver(([e])=>n.forEach(t=>t(e)),{threshold:mt});r.observe(e);let i={observer:r,callbacks:n};return pt.set(e,i),i}function gt(e,t){let n=ht(e);return n.callbacks.add(t),()=>{n.callbacks.delete(t),n.callbacks.size===0&&(n.observer.disconnect(),pt.delete(e))}}let _t=null,W=null;function vt(e,t){let n=gt(e,n=>{n.intersectionRatio<.5||(W&&clearTimeout(W),_t=e,W=setTimeout(()=>{_t=null,W=null,t()},150))});return()=>{_t===e&&W&&(clearTimeout(W),_t=null,W=null),n()}}function yt(e,t,n,r,i){let a=null;M(()=>{let o=e.value&&d(e.value);o&&(a=gt(o,e=>{let a=t();e.intersectionRatio<.1&&a&&!a.paused()&&!n.value&&!r.value&&!i.value&&a.pause()}))}),j(()=>a?.())}function bt(e,t,n,r,i){let a=null;M(()=>{let o=e.value&&d(e.value);o&&(a=vt(o,()=>{let e=t();e&&e.paused()&&!n.value&&!r.value&&(e.setMuted(Je(i,!0)),e.play().catch(()=>{}))}))}),j(()=>a?.())}const xt=`player:captions`;function St(){try{let e=Ie(xt);if(!e)return null;let t=JSON.parse(e);return typeof t?.enabled==`boolean`?{enabled:t.enabled,...typeof t.language==`string`&&{language:t.language}}:null}catch{return null}}function Ct(e){Le(xt,JSON.stringify(e))}function wt(e,t){if(e){if(!e.enabled)return null;if(e.language)return t.find(t=>t.language===e.language)?.index??void 0}}const Tt=`player:quality`;function Et(){try{let e=Ie(Tt);if(!e)return;let t=JSON.parse(e);return t===null?null:typeof t?.height==`number`?t.height:void 0}catch{return}}function Dt(e){Le(Tt,JSON.stringify(e===null?null:{height:e}))}function Ot(e,t,n,r){let{isPlaying:i,isReady:a,hasEnded:o,hasStarted:s,duration:c,isLooping:l,currentPlaybackRate:u,captionTracks:d,activeCaptionIndex:f,currentQualityHeight:p,isAutoQuality:m,qualityLevels:h,errorMessage:g}=e;function _(){if(n.isAdPlaying())return n.resumeAd(),Promise.resolve();let e=t();return e?i.value?Promise.resolve():new Promise((t,n)=>{let r=()=>{e.off(`playing`,i),e.off(`error`,a)},i=()=>{r(),t()},a=()=>{r(),n(Error(g.value||`Playback failed`))};e.on(`playing`,i),e.on(`error`,a),e.play().catch(e=>{r(),n(e)})}):Promise.reject(Error(`Player is not mounted`))}function v(){if(n.isAdPlaying()){n.pauseAd();return}t()?.pause()}function y(){return t()?.setCurrentTime(0),o.value=!1,_()}function b(){if(n.isAdPlaying()){n.isAdPaused()?n.resumeAd():n.pauseAd();return}let e=t();e&&a.value&&(i.value?e.pause():e.play().catch(()=>{}))}function x(e){let n=c.value||1/0;t()?.setCurrentTime(Math.min(Math.max(e,0),n))}function S(){let e=t();if(!e)return;let n=!e.muted();e.setMuted(n),Ge({muted:n,volume:e.volume()})}function C(e){let n=t();if(!n)return;let r=e===0;n.setVolume(e),n.setMuted(r),Ge({muted:r,volume:e})}function w(){l.value=!l.value,s.value&&r(`loopchange`,{isLooping:l.value})}function T(e){let n=t();n&&(n.setPlaybackRate(e),u.value=e)}function E(e){let n=e===null?null:d.value.find(t=>t.index===e);Ct(n?{enabled:!0,language:n.language}:{enabled:!1}),t()?.captions?.select(e),f.value=e,s.value&&r(`captionchange`,{captionIndex:e})}function D(e){O(e,{remember:!0})}function O(e,{remember:n=!1}={}){let i=e===null?null:k(e);t()?.quality?.select(i?.index??null),p.value=i?.height??null,m.value=i===null,n&&Dt(i?.height??null),s.value&&r(`qualitychange`,{qualityHeight:i?.height??null})}function k(e){let t=h.value;return t.length?t.reduce((t,n)=>Math.abs(n.height-e)<Math.abs(t.height-e)?n:t):null}function A(){t()?.pip?.toggle()}return{play:_,pause:v,replay:y,togglePlay:b,seek:x,toggleMute:S,setVolume:C,toggleLoop:w,setPlaybackRate:T,setCaptionTrack:E,setQuality:D,applyQuality:O,togglePip:A}}function kt(e,t){let{isPlaying:n,hasEnded:r,isReady:i,isAdPlaying:a,isLive:o,currentTime:s,duration:c,buffered:l,currentVolume:u,isMuted:d,isLooping:f,currentPlaybackRate:p,supportsPlaybackRate:m,supportsCaptions:h,captionTracks:g,activeCaptionIndex:_,supportsQuality:v,qualityLevels:y,currentQualityHeight:b,isAutoQuality:x,supportsPip:S,isPipActive:C,hasStarted:w,isError:T,errorMessage:E}=e,{fire:D,pauseThisPlayer:O,positionMemory:k,quartiles:A,buffering:j,fullscreen:M}=t;function N(e){i.value=!0,m.value=e.supportsPlaybackRate();function t(){if(!g.value.length)return;let t=St(),n=e.captions?.active()??null;if(t?.enabled&&t.language&&n!==null&&g.value.find(e=>e.index===n)?.language===t.language)return;let r=wt(t,g.value);r!==void 0&&r!==n&&e.captions?.select(r)}function N(){g.value=e.captions?.tracks()??[],h.value=g.value.length>0,t();let n=e.captions?.active()??null;n!==_.value&&(_.value=n,w.value&&D(`captionchange`,{captionIndex:n}))}N(),e.on(`captionschange`,N);function P(){y.value=e.quality?.levels()??[],v.value=y.value.length>0;let t=e.quality?.current()??null,n=e.quality?.isAuto()??!0,r=n?null:y.value.find(e=>e.index===t)?.height??null,i=r!==b.value||n!==x.value;b.value=r,x.value=n,i&&w.value&&D(`qualitychange`,{qualityHeight:r})}P(),e.on(`qualitychange`,P);function F(){S.value=e.pip?.isSupported()??!1;let t=e.pip?.isActive()??!1;t!==C.value&&(C.value=t,w.value&&D(`pipchange`,{isPipActive:t}))}F(),e.on(`pipchange`,F);let I=()=>{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`,()=>{Se(O),a.value=!0,D(`adstart`)}),e.on(`adend`,()=>{a.value=!1,D(`adend`)}),e.on(`play`,()=>{Se(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,A.reset(),j.reset(),f.value){e.setCurrentTime(0),e.play().catch(()=>{});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 ee=0;e.on(`timeupdate`,()=>{if(r.value||a.value)return;s.value=e.currentTime()??0,c.value||I(),m.value||=e.supportsPlaybackRate(),t();let n=e.captions?.active()??null;_.value!==n&&(_.value=n,w.value&&D(`captionchange`,{captionIndex:n})),o.value||A.checkQuartiles();let i=Date.now();w.value&&i-ee>=250&&(ee=i,D(`timeupdate`))}),e.on(`durationchange`,I),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})}),j.attachPlayerEvents(e),M.attachPlayerEvents(e)}return{attachPlayerEvents:N}}function At(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 m=null,h=f?import(`./chunks/prebid-RHDT0DOX.mjs`).then(({resolveHeaderBiddingAdTagUrl:e})=>e(f,d).catch(()=>d)).then(e=>{c?c.setAdTagUrl(e):m=e}).catch(()=>{}):Promise.resolve(),g=!1;t.on(`play`,()=>{h.then(()=>{u||(c?c.requestAdsOnFirstPlay():g=!0)})});function _(){!p()&&t.pip?.isActive()&&document.exitPictureInPicture()}function v(){!p()&&(document.hidden||!document.hasFocus())&&c?.isAdPlaying()&&c.pauseAd()}let y=nt(v),b=()=>{t.pip?.isActive()||v()};t.on(`pipchange`,b),l=()=>{y(),t.off(`pipchange`,b)};let{attachAds:x}=await import(`./chunks/ads-B8PU62NC.mjs`);!u&&e.parentElement&&(c=x(e.parentElement,e,d,{onAdStart:()=>{n.value=!0,r.value=!1,o(`adstart`),_(),v()},onAdEnd:()=>{n.value=!1,r.value=!1,a.value=0,o(`adend`)},onAdPauseChange:e=>{r.value=e,e||Se(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),g&&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 jt(e,t,n){let r=null,i=null,a=$e(t),{isReady:o,isLoaded:s,isLive:c,currentTime:l,duration:u,isMuted:d,currentVolume:f,currentPlaybackRate:p,hasEnded:m,hasStarted:h,isError:g,errorMessage:v,isNativeUi:y}=a,b=()=>r,x=_(()=>{if(typeof t.payload!=`string`)return t.payload??{};try{return JSON.parse(t.payload)}catch{return{}}});function S(e,r={}){n(`state-change`,{type:e,currentTime:l.value,duration:u.value,src:t.src,...r,payload:x.value})}let C=rt(b),w=it(S),T=ft(t.src,b,m),E=ot(l,u,S),D=At(a,{fire:S,pauseThisPlayer:()=>O.pause()}),O=Ot(a,b,D,S),{attachPlayerEvents:k}=kt(a,{fire:S,pauseThisPlayer:O.pause,positionMemory:T,quartiles:E,buffering:w,fullscreen:C});function A(){r&&(g.value=!1,v.value=``,s.value=!1,u.value=0,r.retry())}B([u,c],([e,t])=>{s.value||!e&&!t||(s.value=!0,S(`loaded`))}),B(()=>t.loop,e=>{e!==void 0&&e!==a.isLooping.value&&O.toggleLoop()}),B(()=>t.muted,e=>{r&&e!==void 0&&r.setMuted(e)}),B(()=>t.playbackRate,e=>{r&&e!==void 0&&r.setPlaybackRate(e)});let N=!1;B(()=>[t.quality,a.qualityLevels.value.length],([e,t])=>{if(!t)return;if(e!==void 0){if(e===null&&a.isAutoQuality.value)return;O.applyQuality(e);return}if(N)return;N=!0;let n=Et();n!==void 0&&O.applyQuality(n)}),yt(e,b,C.isFullscreen,C.isFullscreenPending,_(()=>!!t.pin)),t.playInView&&bt(e,b,C.isFullscreen,C.isFullscreenPending,t.muted);function P(e){r=e.adapter,e.nativeUi!==void 0&&(y.value=e.nativeUi),i=xe(O.pause),k(e.adapter)}return B(h,t=>{t&&e.value&&r?.reveal?.(e.value)}),M(async()=>{let n=await Qe(le(t.src),e,t,{muted:d.value,volume:f.value,playbackRate:p.value},D);if(n.status===`unsupported`){g.value=!0,o.value=!0,v.value=`This platform is not yet supported.`;return}n.status===`mounted`&&P(n.mounted)}),j(()=>{i?.(),D.dispose(),r?.dispose(),r=null}),{...a,...O,fire:S,retry:A,isBuffering:w.isBuffering,toggleAdMute:D.toggleAdMute,isFullscreen:C.isFullscreen,isFullscreenPending:C.isFullscreenPending,toggleFullscreen:C.toggleFullscreen}}const Mt=new Set([`ArrowLeft`,`ArrowRight`,`ArrowUp`,`ArrowDown`,`Home`,`End`]);function Nt(e,t){function n(e,t,n){return Math.min(n,Math.max(t,e))}function r(t){e.duration&&e.seek(n(e.currentTime+t,0,e.duration))}function i(t){e.duration&&e.seek(e.duration*t)}function a(t){e.setVolume(n(e.currentVolume+t,0,1))}function o(){e.supportsCaptions&&e.setCaptionTrack(e.activeCaptionIndex===null?0:null)}function s(n){if(n.repeat||n.metaKey||n.ctrlKey||n.altKey)return;let s=n.target;if(!s.closest(`input:not([type="range"]), textarea, select, [contenteditable="true"]`)&&!(Mt.has(n.key)&&s.closest(`input[type="range"]`))&&(n.key!==` `&&n.key!==`Enter`||!s.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(),a(.1);break;case`ArrowDown`:n.preventDefault(),a(-.1);break;case`m`:e.toggleMute();break;case`f`:e.toggleFullscreen();break;case`c`:o();break;case`Home`:n.preventDefault(),i(0);break;case`End`:n.preventDefault(),i(1);break;default:if(!/^[0-9]$/.test(n.key))return;i(Number(n.key)/10)}t.onMouseMove()}}return{onKeydown:s}}function Pt(){let e=document.activeElement;if(!e?.closest(`.overlay__hud, .overlay__popup`))return!1;try{return e.matches(`:focus-visible`)}catch{return!0}}function Ft(e,t){let n=I(!0),r=I(!1),i=null,a=0;function o(e=400){a=Date.now()+e}function s(e=3500){clearTimeout(i??void 0),i=setTimeout(()=>{if(Pt()){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 B(e,e=>{if(!e){clearTimeout(i??void 0),n.value=!0;return}s()}),j(()=>clearTimeout(i??void 0)),{showHUD:n,isOpen:r,scheduleHide:s,pauseHide:c,onVideoTap:f,onMouseMove:p,onMouseLeave:m,openControls:l,closeControls:u,keepOpen:d,suppressMouseLeave:o}}const It=[`retry`,`play`,`pause`,`replay`,`togglePlay`,`seek`,`toggleMute`,`setVolume`,`toggleFullscreen`,`toggleLoop`,`toggleAdMute`,`setPlaybackRate`,`setCaptionTrack`,`setQuality`,`togglePip`],Lt=`isPlaying.hasEnded.isReady.isLoaded.isAdPlaying.isAdPaused.isAdMuted.adRemainingTime.isLive.isBuffering.currentTime.duration.currentVolume.isMuted.isAudible.isLooping.currentPlaybackRate.hasStarted.isError.errorMessage.progress.bufferedDisplay.isFullscreen.supportsPlaybackRate.supportsCaptions.captionTracks.activeCaptionIndex.supportsQuality.qualityLevels.currentQualityHeight.isAutoQuality.supportsPip.isPipActive.isNativeUi`.split(`.`);function Rt(e){let t={};for(let n of It)t[n]=(...t)=>e[n](...t);for(let n of Lt)Object.defineProperty(t,n,{get:()=>e[n],enumerable:!0});return t}const G=Symbol(`player`),K=Symbol(`hud`),zt=Symbol(`action`),q=Symbol(`playlist`),Bt={hasPlaylist:!1,hasNext:!1,hasPrevious:!1,autoAdvance:!1,playNext:()=>{},playPrevious:()=>{},toggleAutoAdvance:()=>{}};function J(e){let t=T(e);if(t===void 0)throw Error(`[video-player] missing "${String(e.description)}" context — this component must be rendered inside <VideoPlayer>`);return t}function Vt(e,t){let n=_(()=>e.isReady&&!e.isError);return{hudVisible:_(()=>n.value&&t.showHUD),popupVisible:_(()=>n.value?e.isFullscreen?t.showHUD:t.isOpen:!1)}}const Ht={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 Ut(e,t,n){let r=_(()=>e?.value??null),i=_(()=>!!r.value&&typeof r.value==`object`),a=_(()=>i.value?r.value:null),o=_(()=>i.value||!r.value?null:Ht[r.value]),s=_(()=>o.value?.label(t,n)??``),c=_(()=>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}}const Wt={back:`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z"/></svg>`,captions:`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="5" width="20" height="14" rx="2"/><path d="M9.5 10.5a2 2 0 0 0-3.5 1.3v.4a2 2 0 0 0 3.5 1.3"/><path d="M17.5 10.5a2 2 0 0 0-3.5 1.3v.4a2 2 0 0 0 3.5 1.3"/></svg>`,close:`<svg viewBox="0 0 24 24" fill="currentColor"><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"/></svg>`,controls:`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="4" y1="6" x2="20" y2="6"/><line x1="4" y1="12" x2="20" y2="12"/><line x1="4" y1="18" x2="20" y2="18"/><circle cx="9" cy="6" r="2.5" fill="currentColor" stroke="none"/><circle cx="15" cy="12" r="2.5" fill="currentColor" stroke="none"/><circle cx="9" cy="18" r="2.5" fill="currentColor" stroke="none"/></svg>`,expand:`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M4 12l1.41 1.41L11 7.83V20h2V7.83l5.59 5.58L20 12l-8-8-8 8z"/></svg>`,"fullscreen-enter":`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z"/></svg>`,"fullscreen-exit":`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z"/></svg>`,loop:`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M7 7h10v3l4-4-4-4v3H5v6h2V7zm10 10H7v-3l-4 4 4 4v-3h12v-6h-2v4z"/></svg>`,more:`<svg viewBox="0 0 24 24" fill="currentColor"><circle cx="5" cy="12" r="2"/><circle cx="12" cy="12" r="2"/><circle cx="19" cy="12" r="2"/></svg>`,pause:`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M6 19h4V5H6v14zm8-14v14h4V5h-4z"/></svg>`,pip:`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="4" width="20" height="16" rx="2"/><rect x="12" y="11" width="8" height="6" rx="1" fill="currentColor" stroke="none"/></svg>`,play:`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M8 5v14l11-7z"/></svg>`,quality:`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="6" width="20" height="12" rx="2"/><path d="M7 14v-4M12 14V8M17 14v-2"/></svg>`,replay:`<svg viewBox="0 0 24 24" fill="currentColor"><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"/></svg>`,"skip-next":`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M6 18l8.5-6L6 6v12zM16 6v12h2V6h-2z"/></svg>`,"volume-mute":`<svg viewBox="0 0 24 24" fill="currentColor"><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"/></svg>`,"volume-on":`<svg viewBox="0 0 24 24" fill="currentColor"><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"/></svg>`};let Gt;function Kt(){Gt??=ae(`mlv`,{resolveSync({name:e}){let t=Wt[e];if(t!==void 0)return{tag:`span`,className:`icon-svg`,html:t}}})}Kt();var qt=w({__name:`Icon`,props:{name:{type:String,required:!0}},setup(e){return(t,n)=>(N(),v(z(ie),{name:e.name,library:`mlv`,class:`mlv-icon`},null,8,[`name`]))}}),Y=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},X=Y(qt,[[`__scopeId`,`data-v-466b80a9`]]);function Jt(e){return typeof e?.togglePlay==`function`}function Z(e){let t=T(G,null),n=ne(null),r=null,i=!1;function a(){r?.disconnect(),r=null}function o(e){let t=document.getElementById(e);return Jt(t)?(n.value=t,a(),!0):!1}function s(){a(),n.value=null;let t=e.for;if(!t||i||o(t))return;let s=document.getElementById(t)?.tagName.toLowerCase();s?.includes(`-`)&&customElements.whenDefined(s).then(()=>{!i&&e.for===t&&o(t)}),D(()=>{i||e.for!==t||n.value||o(t)||(r=new MutationObserver(()=>o(t)),r.observe(document.body,{childList:!0,subtree:!0}))})}return M(s),B(()=>e.for,s),j(()=>{i=!0,a()}),_(()=>e.player??n.value??t??null)}const Yt=[`aria-label`];var Xt=w({__name:`PlayButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=Z(e),n=_(()=>t.value?.isError?`error`:t.value?.hasEnded?`ended`:t.value?.isPlaying?`playing`:`idle`),r=_(()=>{switch(n.value){case`error`:return`Retry`;case`ended`:return`Replay`;case`playing`:return`Pause`;default:return`Play`}});function i(){let e=t.value;e&&(e.isError?e.retry():e.togglePlay())}return(e,a)=>(N(),b(`button`,{type:`button`,class:`mlv-control-btn mlv-play-button`,"aria-label":r.value,onClick:i},[L(e.$slots,`default`,{isPlaying:z(t)?.isPlaying??!1,hasEnded:z(t)?.hasEnded??!1,isError:z(t)?.isError??!1},()=>[n.value===`error`||n.value===`ended`?(N(),v(X,{key:0,name:`replay`})):n.value===`playing`?(N(),v(X,{key:1,name:`pause`})):(N(),v(X,{key:2,name:`play`}))])],8,Yt))}}),Zt=Y(w({__name:`Spinner`,props:{size:{type:Number,required:!1,default:14},borderWidth:{type:Number,required:!1,default:2}},setup(e){return(t,n)=>(N(),b(`div`,{class:`spinner`,style:A({width:`${e.size}px`,height:`${e.size}px`,borderWidth:`${e.borderWidth}px`})},null,4))}}),[[`__scopeId`,`data-v-7c461437`]]);const Qt={key:0,class:`mlv-buffering`,role:`status`,"aria-label":`Buffering`};var $t=Y(w({__name:`Buffering`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=Z(e);return(e,n)=>z(t)?.isBuffering?(N(),b(`div`,Qt,[L(e.$slots,`default`,{isBuffering:!0},()=>[C(Zt)],!0)])):y(`v-if`,!0)}}),[[`__scopeId`,`data-v-c446a450`]]),en=w({__name:`VolumeIcon`,props:{isAudible:{type:Boolean,required:!0}},setup(e){return(t,n)=>e.isAudible?(N(),v(X,{key:0,name:`volume-on`})):(N(),v(X,{key:1,name:`volume-mute`}))}});const tn={class:`hud`,"aria-hidden":`true`},nn=[`aria-label`],rn=[`aria-label`,`innerHTML`],an={key:2,class:`hud__spacer`},on={class:`hud__play-wrap`};var sn=Y(w({__name:`HudButtons`,setup(e){let t=J(G),n=J(K),{currentAction:r,isCustom:i,customAction:a,builtinLabel:o,builtinActive:s,onBuiltinClick:c}=Ut(T(zt),t,J(q));return(e,l)=>(N(),b(h,null,[y(` 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. `),x(`div`,tn,[!z(n).isOpen&&!z(t).isFullscreen?(N(),b(h,{key:0},[z(r)===`mute`||z(r)===`loop`||z(r)===`autoplay`?(N(),b(`button`,{key:0,class:O([`hud__btn`,{"hud__btn--active":z(s)}]),"aria-label":z(o),tabindex:`-1`,onClick:l[0]||=H((...e)=>z(c)&&z(c)(...e),[`stop`])},[z(r)===`mute`?(N(),v(en,{key:0,"is-audible":z(t).isAudible},null,8,[`is-audible`])):z(r)===`loop`?(N(),v(X,{key:1,name:`loop`})):(N(),v(X,{key:2,name:`skip-next`}))],10,nn)):z(i)&&z(a)?(N(),b(`button`,{key:1,class:`hud__btn`,"aria-label":z(a).label,tabindex:`-1`,onClick:l[1]||=H(e=>z(a).onClick(),[`stop`]),innerHTML:z(a).icon},null,8,rn)):(N(),b(`div`,an))],64)):y(`v-if`,!0),x(`div`,on,[C(Xt,{class:`ppbtn ppbtn--lg`,tabindex:`-1`}),C($t,{class:`hud__buf-spinner`})]),!z(n).isOpen&&!z(t).isFullscreen?(N(),b(`button`,{key:1,class:`hud__btn`,"aria-label":`Show controls`,tabindex:`-1`,onClick:l[2]||=H((...e)=>z(n).openControls&&z(n).openControls(...e),[`stop`])},[C(X,{name:`controls`})])):y(`v-if`,!0)])],2112))}}),[[`__scopeId`,`data-v-58e9bcdd`]]);function cn(e,t=250){let n=I(!1),r=null;return B(e,e=>{r?.disconnect(),r=null,e&&(r=new ResizeObserver(([e])=>{n.value=e.contentRect.width<t}),r.observe(e))},{immediate:!0}),j(()=>r?.disconnect()),n}const ln=new WeakMap;async function un(e,t){if(!e){t();return}ln.get(e)?.();let n=e.getBoundingClientRect();t(),await D();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=``),ln.delete(e),t()};ln.set(e,r);let i=requestAnimationFrame(()=>{e.style.transition=`transform 220ms ease`,e.style.transform=``,n=setTimeout(r,220)})})}const dn=[`aria-label`];var fn=w({__name:`FullscreenButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=Z(e);return(e,n)=>(N(),b(`button`,{type:`button`,class:`mlv-control-btn mlv-fullscreen-button`,"aria-label":z(t)?.isFullscreen?`Exit fullscreen`:`Enter fullscreen`,onClick:n[0]||=e=>z(t)?.toggleFullscreen()},[L(e.$slots,`default`,{isFullscreen:z(t)?.isFullscreen??!1},()=>[z(t)?.isFullscreen?(N(),v(X,{key:0,name:`fullscreen-exit`})):(N(),v(X,{key:1,name:`fullscreen-enter`}))])],8,dn))}});const pn=[`aria-pressed`];var mn=w({__name:`PipButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=Z(e);return(e,n)=>z(t)?.supportsPip?(N(),b(`button`,{key:0,type:`button`,class:O([`mlv-control-btn mlv-control-btn--toggle mlv-pip-button`,{"mlv-control-btn--active mlv-pip-button--active":z(t)?.isPipActive}]),"aria-pressed":z(t)?.isPipActive??!1,"aria-label":`Toggle Picture-in-Picture`,onClick:n[0]||=e=>z(t)?.togglePip()},[L(e.$slots,`default`,{isPipActive:z(t)?.isPipActive??!1},()=>[C(X,{name:`pip`})])],10,pn)):y(`v-if`,!0)}});function hn(e){let t=I(!1),n=I(null),r=!1,i=null,a=!1,o=_(()=>{let t=e.value;return t?.duration?t.currentTime/t.duration*100:0}),s=_(()=>n.value??o.value),c=_(()=>n.value!==null),l=_(()=>{let t=e.value?.duration??0;return s.value/100*t});function u(){i&&clearTimeout(i),i=null}function d(){u(),n.value=null}function f(e){t.value||=(r=e.isPlaying,e.pause(),!0)}function p(e){return Number(e.target.value)}function m(a){t.value=!1;let o=e.value;o&&(n.value=a,o.seek(a*(o.duration||0)/100),r&&o.play().catch(()=>{}),u(),i=setTimeout(d,3e3))}function h(t){let r=e.value;r?.duration&&(f(r),u(),n.value=p(t))}function g(e){t.value&&(a=!0,m(p(e)))}function v(){a=!1}function y(t){if(a){a=!1;return}e.value?.duration&&m(p(t))}function b(){t.value&&(t.value=!1,r&&e.value?.play().catch(()=>{}),d())}return B(()=>e.value?.currentTime,()=>{let t=e.value;if(n.value===null||!t?.duration)return;let r=n.value/100*t.duration;Math.abs(t.currentTime-r)<1&&d()}),j(d),{scrubbing:c,displayPercent:s,previewSeconds:l,onInput:h,onChange:g,onTouchStart:v,onTouchEnd:y,onPointerCancel:b}}function Q(e,t=!1){if(!e||isNaN(e)||e<0)return`0:00`;let n=t?Math.round(e):Math.floor(e),r=Math.floor(n/3600),i=Math.floor(n%3600/60),a=String(n%60).padStart(2,`0`);return r?`${r}:${String(i).padStart(2,`0`)}:${a}`:`${i}:${a}`}const gn={class:`mlv-scrubber-wrap`},_n=[`value`,`aria-valuetext`];var vn=Y(w({inheritAttrs:!1,__name:`Scrubber`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=Z(e),{scrubbing:n,displayPercent:r,previewSeconds:i,onInput:a,onChange:o,onTouchStart:s,onTouchEnd:c,onPointerCancel:l}=hn(t),u=e=>Q(e,!0);return(e,d)=>(N(),b(`div`,gn,[x(`input`,E({type:`range`,min:`0`,max:`100`,step:`0.5`,value:z(r),class:`mlv-scrubber`,style:{"--p":`${z(r)}%`,"--b":`${z(t)?.bufferedDisplay??0}%`},"aria-label":`Seek`,"aria-valuetext":`${u(z(i))} of ${u(z(t)?.duration??0)}`,onInput:d[0]||=(...e)=>z(a)&&z(a)(...e),onChange:d[1]||=(...e)=>z(o)&&z(o)(...e),onTouchstart:d[2]||=(...e)=>z(s)&&z(s)(...e),onTouchend:d[3]||=(...e)=>z(c)&&z(c)(...e),onPointercancel:d[4]||=(...e)=>z(l)&&z(l)(...e)},e.$attrs),null,16,_n),L(e.$slots,`preview`,{scrubbing:z(n),percent:z(r),previewSeconds:z(i),formatTime:u},()=>[z(n)?(N(),b(`div`,{key:0,class:`mlv-scrubber__preview`,style:A({left:`${z(r)}%`})},R(u(z(i))),5)):y(`v-if`,!0)],!0)]))}}),[[`__scopeId`,`data-v-00e26db0`]]);const yn={class:`mlv-time-display__time`},bn={class:`mlv-time-display__total`};var xn=Y(w({__name:`TimeDisplay`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=Z(e);return(e,n)=>(N(),b(`span`,{class:O([`mlv-time-display`,{"mlv-time-display--live":z(t)?.isLive}])},[L(e.$slots,`default`,{isLive:z(t)?.isLive??!1,currentTime:z(t)?.currentTime??0,duration:z(t)?.duration??0,formatTime:z(Q)},()=>[z(t)?.isLive?(N(),b(h,{key:0},[n[0]||=x(`span`,{class:`mlv-time-display__dot`},null,-1),n[1]||=S(`Live `,-1)],64)):(N(),b(h,{key:1},[x(`span`,yn,R(z(Q)(z(t)?.currentTime??0)),1),x(`span`,bn,`/ `+R(z(Q)(z(t)?.duration??0)),1)],64))],!0)],2))}}),[[`__scopeId`,`data-v-d2dbce42`]]);const Sn={class:`mlv-volume-wrap`},Cn=[`value`],wn={class:`mlv-volume-pct`};var Tn=Y(w({inheritAttrs:!1,__name:`VolumeSlider`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=Z(e),n=_(()=>{let e=t.value;return e?e.isMuted?0:Math.round(e.currentVolume*100):0});function r(e){t.value?.setVolume(Number(e.target.value)/100)}return(e,t)=>(N(),b(`div`,Sn,[x(`input`,E({type:`range`,min:`0`,max:`100`,step:`1`,value:n.value,class:`mlv-volume-slider`,style:{"--v":`${n.value}%`},"aria-label":`Volume`,onInput:r},e.$attrs),null,16,Cn),L(e.$slots,`default`,{percent:n.value},()=>[x(`span`,wn,R(n.value)+`%`,1)],!0)]))}}),[[`__scopeId`,`data-v-512c68f4`]]);const En={class:`controls__vol-header`},Dn=[`aria-label`],On={class:`controls__vol-body`},kn={class:`controls__vol-pct`};var An=Y(w({__name:`VolumePanel`,emits:[`back`],setup(e){let t=J(G),n=J(K);return(e,r)=>(N(),b(h,null,[x(`div`,En,[x(`button`,{class:`controls__btn`,"aria-label":`Back`,onClick:r[0]||=t=>e.$emit(`back`)},[C(X,{name:`back`})]),r[6]||=x(`span`,{class:`controls__vol-label`},`Volume`,-1),x(`button`,{class:`controls__btn`,"aria-label":z(t).isMuted?`Unmute`:`Mute`,onClick:r[1]||=e=>z(t).toggleMute()},[C(en,{"is-audible":z(t).isAudible},null,8,[`is-audible`])],8,Dn)]),x(`div`,On,[C(Tn,{class:`controls__vol-slider`,onMousedown:r[2]||=e=>z(n).pauseHide(),onMouseup:r[3]||=e=>z(n).scheduleHide(),onTouchstartPassive:r[4]||=e=>z(n).pauseHide(),onTouchend:r[5]||=e=>z(n).scheduleHide()},{default:V(({percent:e})=>[x(`span`,kn,R(e)+`%`,1)]),_:1})])],64))}}),[[`__scopeId`,`data-v-7fa1bc26`]]);function jn(e){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 Mn(e){return e.captionTracks.find(t=>t.index===e.activeCaptionIndex)?.label??`Off`}function Nn(e){let t=e.qualityLevels;if(!t.length)return;if(e.isAutoQuality){e.setQuality(t[t.length-1].height);return}let n=t.findIndex(t=>t.height===e.currentQualityHeight);e.setQuality(n<=0?null:t[n-1].height)}function Pn(e){return e.isAutoQuality?`Auto`:e.qualityLevels.find(t=>t.height===e.currentQualityHeight)?.label??`Auto`}function Fn(e){let n=e.currentPlaybackRate,r=t.indexOf(n);if(r!==-1){e.setPlaybackRate(t[(r+1)%t.length]);return}e.setPlaybackRate(t.find(e=>e>n)??t[0])}function In(e){return`${e}×`}const Ln=[`aria-label`],Rn={key:0,class:`controls__more-row-label`},zn=[`innerHTML`],Bn={key:1},Vn={key:2,class:`controls__more-value`};var $=Y(w({__name:`MoreMenuRow`,props:{label:{type:String,required:!0},ariaLabel:{type:String,required:!1,default:``},icon:{type:String,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)=>(N(),b(`button`,{class:O([`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?(N(),b(`span`,Rn,[e.icon?(N(),v(X,{key:0,name:e.icon,class:`controls__more-row-icon`},null,8,[`name`])):(N(),b(`span`,{key:1,class:`controls__more-row-icon`,innerHTML:e.iconHtml},null,8,zn)),S(` `+R(e.label),1)])):(N(),b(`span`,Bn,R(e.label),1)),e.value===void 0?y(`v-if`,!0):(N(),b(`span`,Vn,R(e.value),1))],10,Ln))}}),[[`__scopeId`,`data-v-73312b97`]]);const Hn={class:`controls__more-header`};var Un=Y(w({__name:`MoreMenu`,props:{compact:{type:Boolean,required:!0}},emits:[`back`],setup(e){let t=J(G),n=J(K),r=J(q),{isCustom:i,customAction:a}=Ut(T(zt,void 0),t,r);return(o,s)=>(N(),b(h,null,[x(`div`,Hn,[x(`button`,{class:`controls__btn`,"aria-label":`Back`,onClick:s[0]||=e=>o.$emit(`back`)},[C(X,{name:`back`})]),s[11]||=x(`span`,{class:`controls__more-label`},`More`,-1)]),x(`div`,{class:`controls__more-body`,onTouchstartPassive:s[10]||=e=>z(n).keepOpen()},[z(t).supportsPlaybackRate?(N(),v($,{key:0,label:`Playback speed`,value:z(In)(z(t).currentPlaybackRate),onClick:s[1]||=e=>z(Fn)(z(t))},null,8,[`value`])):y(`v-if`,!0),C($,{label:`Loop`,"aria-label":`Toggle loop`,icon:`loop`,active:z(t).isLooping,value:z(t).isLooping?`On`:`Off`,onClick:s[2]||=e=>z(t).toggleLoop()},null,8,[`active`,`value`]),z(t).supportsCaptions?(N(),v($,{key:1,label:`Captions`,icon:`captions`,active:z(t).activeCaptionIndex!==null,value:z(Mn)(z(t)),onClick:s[3]||=e=>z(jn)(z(t))},null,8,[`active`,`value`])):y(`v-if`,!0),z(t).supportsQuality?(N(),v($,{key:2,label:`Quality`,icon:`quality`,active:!z(t).isAutoQuality,value:z(Pn)(z(t)),onClick:s[4]||=e=>z(Nn)(z(t))},null,8,[`active`,`value`])):y(`v-if`,!0),z(r).hasPlaylist?(N(),v($,{key:3,label:`Autoplay next`,"aria-label":`Toggle autoplay next`,icon:`skip-next`,active:z(r).autoAdvance,value:z(r).autoAdvance?`On`:`Off`,onClick:s[5]||=e=>z(r).toggleAutoAdvance()},null,8,[`active`,`value`])):y(`v-if`,!0),e.compact&&z(t).supportsPip?(N(),v($,{key:4,label:`Picture-in-picture`,"aria-label":`Toggle picture-in-picture`,icon:`pip`,active:z(t).isPipActive,onClick:s[6]||=e=>z(t).togglePip()},null,8,[`active`])):y(`v-if`,!0),e.compact&&z(r).hasNext?(N(),v($,{key:5,label:`Play next`,"aria-label":`Play next`,icon:`skip-next`,onClick:s[7]||=e=>z(r).playNext()})):y(`v-if`,!0),e.compact?(N(),v($,{key:6,label:`Mute`,"aria-label":`Toggle mute`,icon:z(t).isAudible?`volume-on`:`volume-mute`,active:!z(t).isAudible,onClick:s[8]||=e=>z(t).toggleMute()},null,8,[`icon`,`active`])):y(`v-if`,!0),z(i)&&z(a)?(N(),v($,{key:7,label:z(a).label,"icon-html":z(a).icon,onClick:s[9]||=e=>z(a).onClick()},null,8,[`label`,`icon-html`])):y(`v-if`,!0)],32)],64))}}),[[`__scopeId`,`data-v-23430f8a`]]);const Wn={class:`controls__row`},Gn={class:`controls__play-wrap`},Kn=[`aria-expanded`],qn=[`aria-expanded`],Jn={class:`controls__fs-wrap`};var Yn=Y(w({__name:`ControlsPopup`,setup(e){let t=J(G),n=J(K),r=J(q);T(zt);let i=I(!1),a=I(!1),o=I(null),s=I(null),c=cn(o),l=_(()=>t.isLooping||t.currentPlaybackRate!==1||r.autoAdvance);function u(e){return t.isFullscreen||!o.value||o.value.contains(e)?!1:(n.closeControls(),!0)}function d(e){u(e.target)}function f(e){u(e.target)&&e.preventDefault()}M(()=>{t.fire(`controlsopen`,{element:o.value}),document.addEventListener(`click`,d,!0),document.addEventListener(`touchend`,f,!0)}),j(()=>{i.value=!1,a.value=!1,t.fire(`controlsclose`,{element:o.value}),document.removeEventListener(`click`,d,!0),document.removeEventListener(`touchend`,f,!0)});function m(e){n.suppressMouseLeave();let t=o.value,r=s.value;if(!t||!r){e();return}r.style.opacity=`0`,un(t,e).then(()=>{r.style.transition=`opacity 130ms ease`,r.style.opacity=``,setTimeout(()=>{r.style.transition=``},130)})}function g(){if(p()){t.toggleMute();return}m(()=>{i.value=!0})}function S(){m(()=>{a.value=!0})}return(e,u)=>(N(),b(`div`,{ref_key:`popupEl`,ref:o,class:O([`controls`,{"controls--fs":z(t).isFullscreen,"controls--compact":z(c)}]),onMousemove:u[8]||=H((...e)=>z(n).keepOpen&&z(n).keepOpen(...e),[`stop`])},[x(`div`,{class:`controls__inner`,ref_key:`contentEl`,ref:s},[i.value?(N(),v(An,{key:0,onBack:u[0]||=e=>m(()=>i.value=!1)})):a.value?(N(),v(Un,{key:1,compact:z(c),onBack:u[1]||=e=>m(()=>a.value=!1)},null,8,[`compact`])):(N(),b(h,{key:2},[z(t).isLive?y(`v-if`,!0):(N(),v(vn,{key:0,class:`controls__seek`,onMousedown:u[2]||=e=>z(n).pauseHide(),onMouseup:u[3]||=e=>z(n).scheduleHide(),onTouchstartPassive:u[4]||=e=>z(n).pauseHide(),onTouchend:u[5]||=e=>z(n).scheduleHide()})),x(`div`,Wn,[x(`div`,Gn,[C($t),z(t).isBuffering?y(`v-if`,!0):(N(),v(Xt,{key:0,class:`ppbtn ppbtn--sm`}))]),C(xn,{class:`controls__time-display`}),z(r).hasNext?(N(),b(`button`,{key:0,class:`controls__btn controls__btn--next`,"aria-label":`Play next`,onClick:u[6]||=e=>z(r).playNext()},[C(X,{name:`skip-next`})])):y(`v-if`,!0),x(`button`,{class:`controls__btn controls__btn--volume`,"aria-label":`Volume`,"aria-haspopup":`true`,"aria-expanded":i.value,onClick:g},[C(en,{"is-audible":z(t).isAudible},null,8,[`is-audible`])],8,Kn),x(`button`,{class:O([`controls__btn controls__btn--more`,{"controls__btn--active":l.value}]),"aria-label":`More`,"aria-haspopup":`true`,"aria-expanded":a.value,onClick:S},[C(X,{name:`more`})],10,qn),C(mn,{class:`controls__btn controls__btn--pip`}),x(`div`,Jn,[z(t).isFullscreenPending?(N(),v(Zt,{key:0})):(N(),v(fn,{key:1,class:`controls__btn`}))])])],64))],512),x(`button`,{type:`button`,class:`controls__close`,"aria-label":`Close player controls`,onClick:u[7]||=e=>z(n).closeControls(!0)},`Close player controls`)],34))}}),[[`__scopeId`,`data-v-330d8c86`]]);const Xn={key:0,class:`overlay__spinner`},Zn={key:0,class:`overlay__error`},Qn=[`inert`];var $n=Y(w({__name:`PlayerOverlay`,setup(e){let t=J(G),n=J(K),{hudVisible:r,popupVisible:i}=Vt(t,n);return(e,a)=>(N(),b(h,null,[C(g,{name:`fade`},{default:V(()=>[!z(t).isReady&&!z(t).isError?(N(),b(`div`,Xn,[C(Zt,{size:40,"border-width":3})])):y(`v-if`,!0)]),_:1}),z(t).isError?(N(),b(`div`,Zn,[x(`p`,null,R(z(t).errorMessage||`This video could not be played.`),1),x(`button`,{class:`overlay__retry`,onClick:a[0]||=H((...e)=>z(t).retry&&z(t).retry(...e),[`stop`])},`Retry`)])):y(`v-if`,!0),x(`button`,{type:`button`,class:`overlay__reveal`,"aria-label":`Show player controls`,onClick:a[1]||=e=>z(n).openControls()},`Show player controls`),x(`div`,{class:O([`overlay__hud`,{"overlay__hud--visible":z(r)}]),inert:!z(r)},[C(sn)],10,Qn),C(g,{name:`popup`},{default:V(()=>[z(i)?(N(),b(`div`,{key:0,class:O([`overlay__popup`,{"overlay__popup--fs":z(t).isFullscreen}])},[C(Yn)],2)):y(`v-if`,!0)]),_:1})],64))}}),[[`__scopeId`,`data-v-c795dad9`]]);const er={class:`ad-overlay`},tr={class:`ad-overlay__bar`},nr={class:`ad-overlay__badge`},rr={key:0,class:`ad-overlay__countdown`},ir=[`aria-label`],ar=[`aria-label`];var or=Y(w({__name:`AdOverlay`,setup(e){let t=J(G),n=_(()=>t.adRemainingTime>0?Q(t.adRemainingTime):``);return(e,r)=>(N(),b(`div`,er,[x(`div`,tr,[x(`div`,nr,[r[2]||=x(`span`,null,`Ad`,-1),n.value?(N(),b(`span`,rr,R(n.value),1)):y(`v-if`,!0)]),x(`button`,{class:`ad-overlay__btn`,"aria-label":z(t).isAdPaused?`Resume ad`:`Pause ad`,onClick:r[0]||=e=>z(t).togglePlay()},[z(t).isAdPaused?(N(),v(X,{key:0,name:`play`})):(N(),v(X,{key:1,name:`pause`}))],8,ir),x(`button`,{class:`ad-overlay__btn`,"aria-label":z(t).isAdMuted?`Unmute ad`:`Mute ad`,onClick:r[1]||=e=>z(t).toggleAdMute()},[z(t).isAdMuted?(N(),v(X,{key:0,name:`volume-mute`})):(N(),v(X,{key:1,name:`volume-on`}))],8,ar)])]))}}),[[`__scopeId`,`data-v-feb17dae`]]);function sr(e,t){let n=I(!1),r=null;function i(){if(r?.(),r=null,!e.value){n.value=!1;return}r=gt(e.value,e=>{e.intersectionRatio<.1?t.value&&(n.value=!0):n.value=!1})}return M(i),B(e,i),j(()=>r?.()),{isPinned:n}}const cr=I(0),lr=F({currentSrc:null,isPlaying:!1}),ur=_(()=>cr.value>0),dr=I(!1);function fr(){cr.value++}function pr(){cr.value--}function mr(e,t,n){let r=I(null),i=I(null);B(n,n=>{let i=e.value?.offsetWidth??null;r.value=n&&t.value&&i?{height:t.value.offsetHeight,wrapperWidth:i}:null});let a=_(()=>{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 B(e,e=>{o?.disconnect(),o=null,e&&(o=new ResizeObserver(([e])=>i.value=e.contentRect.width),o.observe(e))},{immediate:!0}),j(()=>o?.disconnect()),{wrapperStyle:a,clear:()=>r.value=null}}function hr(e){e?.scrollIntoView({behavior:`smooth`,block:`center`})}function gr(e,t){let n=I(!1);function r(e,{animate:r=!0}={}){if(e!==n.value){if(!r){n.value=e;return}un(t.value,()=>{n.value=e})}}let i=_(()=>n.value&&dr.value),{wrapperStyle:a,clear:o}=mr(e,t,n);return{isPinned:n,isTucked:i,wrapperStyle:a,setPinned:r,unpin:()=>n.value=!1,clearReservedSpace:o,scrollToBox:()=>hr(e.value)}}var _r=Y(w({__name:`PinnablePlayerShell`,props:{isPlaying:{type:Boolean,required:!0}},setup(e){let t=e,n=I(null),r=I(null),{isPinned:i}=sr(n,re(t,`isPlaying`)),{isPinned:a,isTucked:o,wrapperStyle:s,setPinned:c,unpin:l,scrollToBox:u}=gr(n,r);B(i,e=>c(e));function d(e){r.value=e}return(e,t)=>(N(),b(`div`,{ref_key:`wrapperEl`,ref:n,class:`player-wrapper`,style:A(z(s))},[L(e.$slots,`default`,{isPinned:z(a),isTucked:z(o),setBoxEl:d,unpin:z(l),scrollToPlayer:z(u)},void 0,!0)],4))}}),[[`__scopeId`,`data-v-b25b3a73`]]);const vr={class:`player-wrapper`};var yr=Y(w({__name:`PlainPlayerShell`,props:{isPlaying:{type:Boolean,required:!0}},setup(e){function t(){}return(e,n)=>(N(),b(`div`,vr,[L(e.$slots,`default`,{isPinned:!1,isTucked:!1,setBoxEl:t,unpin:t,scrollToPlayer:t},void 0,!0)]))}}),[[`__scopeId`,`data-v-3fc2947d`]]),br=Y(w({__name:`PinnedControls`,emits:[`scroll-to`,`dismiss`],setup(e){return(e,t)=>(N(),b(h,null,[x(`button`,{class:`pinned-controls__scroll-to`,"aria-label":`Scroll to player`,onClick:t[0]||=H(t=>e.$emit(`scroll-to`),[`stop`])},[C(X,{name:`expand`})]),x(`button`,{class:`pinned-controls__dismiss`,"aria-label":`Close`,onClick:t[1]||=H(t=>e.$emit(`dismiss`),[`stop`])},[C(X,{name:`close`})])],64))}}),[[`__scopeId`,`data-v-2d2ea6e1`]]);function xr(e){let[t,n]=e.split(`:`).map(Number);return{isPortrait:n>t,cssRatio:`${t}/${n}`}}const Sr=[`aria-label`,`tabindex`],Cr={"data-mlv-player":``},wr=[`poster`,`preload`],Tr=[`src`,`kind`,`srclang`,`label`,`default`],Er={key:3,class:`player__native-play`},Dr={key:4,class:`player__custom-hud`};var Or=Y(w({__name:`VideoPlayer`,props:{src:{type:String,required:!0},label:{type:String,required:!1,default:``},poster:{type:String,required:!1,default:``},aspectRatio:{type:String,required:!1,default:a},adTagUrl:{type:String,required:!1,default:``},adMacroParams:{type:Object,required:!1},headerBidding:{type:Object,required:!1},tracks:{type:Array,required:!1,default:()=>[]},captionLine:{type:Number,required:!1,default:void 0},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},quality:{type:[Number,null],required:!1,default:void 0},nativeUi:{type:Boolean,required:!1,default:!1},payload:{type:[Object,String],required:!1,default:()=>({})},action:{type:[String,Object,null],required:!1,default:null},disableTapCapture:{type:Boolean,required:!1,default:!1},disableKeyboardShortcuts:{type:Boolean,required:!1,default:!1},controls:{type:Boolean,required:!1,default:!0},playInView:{type:Boolean,required:!1,default:!1},pin:{type:String,required:!1},loop:{type:Boolean,required:!1,default:!1},preload:{type:String,required:!1,default:void 0}},emits:[`state-change`],setup(e,{expose:t,emit:n}){let r=e,a=n,o=I(null),s=F(jt(o,r,a)),c=F(Ft(re(s,`isPlaying`),re(s,`isFullscreen`))),{onKeydown:l}=Nt(s,c);function u(e){r.disableKeyboardShortcuts||l(e)}let d=I(null);B(()=>s.isFullscreen,e=>{e&&!r.disableKeyboardShortcuts&&D(()=>d.value?.focus())});function f(e){if(r.disableKeyboardShortcuts)return;let t=e.relatedTarget;t&&d.value?.contains(t)||requestAnimationFrame(()=>{document.activeElement===document.body&&d.value?.focus()})}P(G,s),P(K,c),P(zt,re(r,`action`)),P(q,T(q,Bt));let p=_(()=>xr(r.aspectRatio)),m=_(()=>p.value.isPortrait),g=_(()=>p.value.cssRatio),S=_(()=>!r.poster&&!s.isReady),w=_(()=>r.pin?_r:yr);function E(e){s.pause(),e()}function k(){c.onVideoTap(),s.fire(`tap`)}return t(Rt(s)),(t,n)=>(N(),v(te(w.value),{"is-playing":s.isPlaying},{default:V(({isPinned:a,isTucked:l,setBoxEl:p,unpin:_,scrollToPlayer:w})=>[x(`div`,{ref:p,class:O([`player`,{"player--pinned":a,"player--tucked":l,[`player--pin-${e.pin}`]:a}])},[a?(N(),v(br,{key:0,onScrollTo:w,onDismiss:e=>E(_)},null,8,[`onScrollTo`,`onDismiss`])):y(`v-if`,!0),x(`div`,{ref_key:`shellEl`,ref:d,class:O([z(i),{"player__shell--portrait":m.value}]),style:A({aspectRatio:g.value}),role:`group`,"aria-label":e.label||`Video player`,tabindex:e.disableKeyboardShortcuts?void 0:0,onMousemove:n[0]||=e=>c.onMouseMove(),onContextmenuCapture:n[1]||=H(()=>{},[`prevent`]),onMouseleave:n[2]||=e=>c.onMouseLeave(),onKeydown:u,onFocusout:f},[x(`div`,Cr,[x(`video`,{ref_key:`videoEl`,ref:o,class:O([`mlv-video`,{"mlv-video--hidden":S.value}]),poster:r.poster,preload:r.preload,playsinline:``},[(N(!0),b(h,null,ee(r.tracks,(e,t)=>(N(),b(`track`,{key:`${e.src}-${t}`,src:e.src,kind:e.kind??`captions`,srclang:e.srclang,label:e.label,default:e.default},null,8,Tr))),128))],10,wr),!r.disableTapCapture&&!s.isNativeUi&&s.hasStarted&&!s.isAdPlaying&&!c.isOpen?(N(),b(`div`,{key:0,class:`overlay__tap-capture`,onClick:k,onTouchend:H(k,[`prevent`,`stop`])},null,32)):y(`v-if`,!0),s.isAdPlaying&&!s.isNativeUi?(N(),v(or,{key:1})):y(`v-if`,!0),r.controls&&!s.isNativeUi?(N(),v($n,{key:2})):y(`v-if`,!0),r.controls&&s.isNativeUi&&!s.hasStarted?(N(),b(`div`,Er,[C(Xt,{class:`ppbtn ppbtn--lg`})])):y(`v-if`,!0),y(` Custom HUD. Controls placed here find this player through context, no wiring needed. `),t.$slots.default?(N(),b(`div`,Dr,[L(t.$slots,`default`,{},void 0,!0)])):y(`v-if`,!0)])],46,Sr)],2)]),_:3},8,[`is-playing`]))}}),[[`__scopeId`,`data-v-6cbcb413`]]);function kr(e,t){window.dispatchEvent(new CustomEvent(e,{detail:t}))}function Ar(e,t){let n=e=>t(e.detail);M(()=>window.addEventListener(e,n)),j(()=>window.removeEventListener(e,n))}function jr(e=()=>!0){let t=ne(null),n={};for(let r of It)n[r]=async(...n)=>{await e(r)&&await t.value?.[r]?.(...n)};for(let e of Lt)n[e]=_(()=>t.value?.[e]);return{playerRef:t,forwarded:n}}function Mr(e,t){let n=_(()=>!e.value||!t.value?-1:e.value.findIndex(e=>e.src===t.value?.src)),r=_(()=>n.value===-1||!e.value?null:e.value[n.value+1]??null),i=_(()=>n.value<=0||!e.value?null:e.value[n.value-1]??null);return{hasNext:_(()=>r.value!==null),hasPrevious:_(()=>i.value!==null),nextEntry:r,previousEntry:i}}const Nr=`player:autoAdvance`;function Pr(){return Ie(Nr)===`true`}function Fr(e){Le(Nr,String(e))}const Ir=[`src`],Lr={class:`stage__idle-body`},Rr={class:`stage__idle-btn`},zr={class:`stage__idle-title`},Br={key:1,class:`stage__idle-empty`};var Vr=Y(w({__name:`VideoStage`,props:{pin:{type:String,required:!1,default:`bottom-right`},playlist:{type:Array,required:!1}},emits:[`state-change`],setup(e,{expose:t,emit:r}){let i=e,a=r,o=I(Pr());B(o,Fr);let s=_(()=>!!i.playlist?.length),c=I(null),u=I(!1),d=I(!1);function f(e){a(`state-change`,{type:e,currentTime:0,duration:0,src:c.value?.src??``})}B(u,e=>f(e?`stageopen`:`stageclose`));let{playerRef:p,forwarded:m}=jr(()=>u.value),g=I(null),S=I(null),w=I(!1),{hasNext:T,hasPrevious:D,nextEntry:k,previousEntry:ee}=Mr(re(i,`playlist`),c),te=_(()=>xr(c.value?.aspectRatio||`16:9`).cssRatio),{isPinned:ne,isTucked:H,wrapperStyle:ie,setPinned:ae,clearReservedSpace:oe,scrollToBox:se}=gr(g,S);B([w,u,c],([e],[t])=>{let n=w.value&&!!c.value&&u.value;ae(n,{animate:e!==t})});let ce=null;function le(){ce?.disconnect(),g.value&&(ce=new IntersectionObserver(([e])=>w.value=!e.isIntersecting,{threshold:.98}),ce.observe(g.value))}B(g,le);function ue(){c.value&&(c.value={...c.value,autoplay:!0,muted:Ke(c.value.muted)},u.value=!0)}function de(){ue()}function fe(){c.value=null,u.value=!1,d.value=!1,oe(),pe()}function pe(){lr.currentSrc=c.value?.src??null,lr.isPlaying=d.value}let me=_(()=>{let{fromGesture:e,lazy:t,autoStage:n,...r}=c.value??{src:``};return r});function he(e){if(c.value?.src===e.src&&u.value){e.fromGesture&&p.value?.togglePlay();return}c.value=e,u.value=!1,d.value=!1,pe(),u.value=!0}function ge(e){if(c.value&&e.src===c.value.src){if(!u.value){ue();return}p.value?.togglePlay()}}function _e(e,t){e&&he({...e,fromGesture:t,autoplay:!0,muted:e.muted??p.value?.isMuted??Ke(void 0,t),volume:e.volume??p.value?.currentVolume})}function ve(e=!0){_e(k.value,e)}function ye(e=!0){_e(ee.value,e)}function U(e){e.type===`play`&&(d.value=!0),(e.type===`pause`||e.type===`ended`)&&(d.value=!1),e.type===`ended`&&o.value&&ve(!1),pe(),a(`state-change`,e)}return P(q,F({hasPlaylist:s,hasNext:T,hasPrevious:D,autoAdvance:o,playNext:()=>ve(),playPrevious:()=>ye(),toggleAutoAdvance:()=>{o.value=!o.value}})),Ar(l,he),Ar(n,ge),M(fr),j(()=>{pr(),ce?.disconnect(),lr.currentSrc=null,lr.isPlaying=!1}),t({playNext:ve,playPrevious:ye,hasNext:T,hasPrevious:D,...m}),(t,n)=>(N(),b(`div`,{ref_key:`wrapperEl`,ref:g,class:`stage-wrapper`,style:A(z(ie))},[x(`div`,{ref_key:`stageEl`,ref:S,class:O([`stage`,{"stage--minified":z(ne),"stage--tucked":z(H),[`stage--pin-${e.pin}`]:z(ne)}])},[z(ne)?(N(),v(br,{key:0,onScrollTo:z(se),onDismiss:fe},null,8,[`onScrollTo`])):y(`v-if`,!0),c.value&&u.value?(N(),v(Or,E({ref_key:`playerRef`,ref:p,key:c.value.src},me.value,{onStateChange:U}),{default:V(()=>[L(t.$slots,`default`,{},void 0,!0)]),_:3},16)):(N(),b(`div`,{key:2,class:`stage__idle`,style:A({aspectRatio:te.value}),onClick:de},[c.value?.poster?(N(),b(`img`,{key:0,src:c.value.poster,class:`stage__idle-poster`},null,8,Ir)):y(`v-if`,!0),n[0]||=x(`div`,{class:`stage__idle-scrim`},null,-1),x(`div`,Lr,[c.value?(N(),b(h,{key:0},[x(`div`,Rr,[C(X,{name:`play`})]),x(`p`,zr,R(c.value.label),1)],64)):(N(),b(`p`,Br,`Select a video to play`))])],4))],2)],4))}}),[[`__scopeId`,`data-v-b2a7f3d1`]]),Hr=w({__name:`PlayPauseIcon`,props:{isPlaying:{type:Boolean,required:!0},hasEnded:{type:Boolean,required:!1,default:!1}},setup(e){return(t,n)=>e.isPlaying?(N(),v(X,{key:0,name:`pause`})):e.hasEnded?(N(),v(X,{key:1,name:`replay`})):(N(),v(X,{key:2,name:`play`}))}});const Ur={class:`placeholder`},Wr=[`src`,`alt`],Gr={class:`placeholder__btn-wrap`},Kr=[`aria-label`],qr={key:1,class:`placeholder__footer`},Jr={class:`placeholder__title`};var Yr=Y(w({__name:`VideoPlaceholder`,props:{lazy:{type:Boolean,required:!1},autoStage:{type:Boolean,required:!1,default:!1},src:{type:String,required:!0},label:{type:String,required:!1,default:``},poster:{type:String,required:!1,default:``},aspectRatio:{type:String,required:!1,default:a},adTagUrl:{type:String,required:!1,default:``},adMacroParams:{type:Object,required:!1},headerBidding:{type:Object,required:!1},tracks:{type:Array,required:!1},captionLine:{type:Number,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},quality:{type:[Number,null],required:!1},nativeUi:{type:Boolean,required:!1,default:!1},payload:{type:[Object,String],required:!1,default:()=>({})},action:{type:[String,Object,null],required:!1,default:null},disableTapCapture:{type:Boolean,required:!1},disableKeyboardShortcuts:{type:Boolean,required:!1},controls:{type:Boolean,required:!1},playInView:{type:Boolean,required:!1},pin:{type:String,required:!1},loop:{type:Boolean,required:!1},preload:{type:String,required:!1}},emits:[`enter-view`],setup(e,{emit:t}){let n=e,r=t,i=_(()=>xr(n.aspectRatio)),a=_(()=>i.value.isPortrait),o=_(()=>i.value.cssRatio),s=I(null),c=null,u=_(()=>lr.currentSrc===n.src),d=_(()=>u.value&&lr.isPlaying),f=_(()=>u.value&&d.value?`Pause`:`Play`),p=_(()=>n.label?`${f.value} ${n.label}`:f.value);function m(e,t,r){kr(l,{...n,fromGesture:e,...t!==void 0&&{autoplay:t},...r!==void 0&&{muted:r}})}function h(){m(!0,!0,Ke(n.muted))}return M(()=>{n.autoStage&&m(!1),n.playInView&&s.value&&(c=vt(s.value,()=>r(`enter-view`)))}),j(()=>c?.()),(t,n)=>(N(),b(`div`,Ur,[x(`div`,{ref_key:`shellEl`,ref:s,class:O([`placeholder__shell`,{"placeholder__shell--portrait":a.value,"placeholder__shell--active":u.value}]),style:A({aspectRatio:o.value}),onClick:h},[e.poster?(N(),b(`img`,{key:0,class:`placeholder__poster`,src:e.poster,alt:e.label},null,8,Wr)):y(`v-if`,!0),n[0]||=x(`div`,{class:`placeholder__scrim`},null,-1),x(`div`,Gr,[x(`button`,{type:`button`,class:`ppbtn ppbtn--lg`,"aria-label":p.value,onClick:H(h,[`stop`])},[C(Hr,{"is-playing":u.value&&d.value},null,8,[`is-playing`])],8,Kr)]),e.label?(N(),b(`div`,qr,[x(`p`,Jr,R(e.label),1)])):y(`v-if`,!0)],6)]))}}),[[`__scopeId`,`data-v-a7f74cef`]]),Xr=w({__name:`VideoCard`,props:{lazy:{type:Boolean,required:!1,default:!0},autoStage:{type:Boolean,required:!1},src:{type:String,required:!0},label:{type:String,required:!1},poster:{type:String,required:!1},aspectRatio:{type:String,required:!1},adTagUrl:{type:String,required:!1},adMacroParams:{type:Object,required:!1},headerBidding:{type:Object,required:!1},tracks:{type:Array,required:!1},captionLine:{type:Number,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},quality:{type:[Number,null],required:!1},nativeUi:{type:Boolean,required:!1},payload:{type:[Object,String],required:!1},action:{type:[String,Object,null],required:!1,default:null},disableTapCapture:{type:Boolean,required:!1},disableKeyboardShortcuts:{type:Boolean,required:!1},controls:{type:Boolean,required:!1,default:void 0},playInView:{type:Boolean,required:!1},pin:{type:String,required:!1},loop:{type:Boolean,required:!1},preload:{type:String,required:!1}},emits:[`state-change`],setup(e,{expose:t,emit:n}){let r=e,i=n,a=I(!1),o=I(!1);function s(){o.value=!0,a.value=!0}async function c(){a.value||(a.value=!0,await D())}let{playerRef:u,forwarded:d}=jr(async e=>ur.value?(e===`togglePlay`&&kr(l,{...r,fromGesture:!0,autoplay:!0,muted:Ke(r.muted)}),!1):(await c(),!0));return t(d),(e,t)=>z(ur)?(N(),v(Yr,k(E({key:0},r)),null,16)):(N(),b(h,{key:1},[r.lazy&&!a.value&&!r.autoplay?(N(),v(Yr,E({key:0},r,{onClickCapture:s,onEnterView:t[0]||=e=>a.value=!0}),null,16)):(N(),v(Or,E({key:1,ref_key:`playerRef`,ref:u},r,{autoplay:a.value||r.autoplay,muted:z(Ke)(r.muted,o.value),onStateChange:t[1]||=e=>i(`state-change`,e)}),{default:V(()=>[L(e.$slots,`default`)]),_:3},16,[`autoplay`,`muted`]))],64))}}),Zr=Y(w({__name:`HideMarker`,setup(e){let t=I(null),n=null;return M(()=>{t.value&&(n=new IntersectionObserver(([e])=>{dr.value=e.isIntersecting}),n.observe(t.value))}),j(()=>{n?.disconnect(),dr.value=!1}),(e,n)=>(N(),b(`div`,{ref_key:`el`,ref:t,class:`mlv-hide-marker`},null,512))}}),[[`__scopeId`,`data-v-8afc6c98`]]);const Qr=[`aria-pressed`,`aria-label`];var $r=w({__name:`MuteButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=Z(e);return(e,n)=>(N(),b(`button`,{type:`button`,class:`mlv-control-btn mlv-mute-button`,"aria-pressed":z(t)?.isMuted??!1,"aria-label":z(t)?.isMuted?`Unmute`:`Mute`,onClick:n[0]||=e=>z(t)?.toggleMute()},[L(e.$slots,`default`,{isMuted:z(t)?.isMuted??!1},()=>[C(en,{"is-audible":z(t)?.isAudible??!1},null,8,[`is-audible`])])],8,Qr))}});const ei=[`aria-pressed`];var ti=w({__name:`LoopButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=Z(e);return(e,n)=>(N(),b(`button`,{type:`button`,class:O([`mlv-control-btn mlv-control-btn--toggle mlv-loop-button`,{"mlv-control-btn--active mlv-loop-button--active":z(t)?.isLooping}]),"aria-pressed":z(t)?.isLooping??!1,"aria-label":`Toggle loop`,onClick:n[0]||=e=>z(t)?.toggleLoop()},[L(e.$slots,`default`,{isLooping:z(t)?.isLooping??!1},()=>[C(X,{name:`loop`})])],10,ei))}});const ni=[`aria-label`];var ri=w({__name:`CaptionsButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=Z(e),n=_(()=>t.value?Mn(t.value):`Off`);function r(){t.value&&jn(t.value)}return(e,i)=>z(t)?.supportsCaptions?(N(),b(`button`,{key:0,type:`button`,class:O([`mlv-control-btn mlv-control-btn--toggle mlv-captions-button`,{"mlv-control-btn--active mlv-captions-button--active":z(t)?.activeCaptionIndex!==null}]),"aria-label":`Captions: ${n.value}`,onClick:r},[L(e.$slots,`default`,{currentLabel:n.value,tracks:z(t)?.captionTracks??[],activeIndex:z(t)?.activeCaptionIndex??null},()=>[C(X,{name:`captions`})])],10,ni)):y(`v-if`,!0)}});const ii=[`aria-label`];var ai=w({__name:`QualityButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=Z(e),n=_(()=>t.value?Pn(t.value):`Auto`);function r(){t.value&&Nn(t.value)}return(e,i)=>z(t)?.supportsQuality?(N(),b(`button`,{key:0,type:`button`,class:O([`mlv-control-btn mlv-control-btn--toggle mlv-quality-button`,{"mlv-control-btn--active mlv-quality-button--active":!z(t)?.isAutoQuality}]),"aria-label":`Quality: ${n.value}`,onClick:r},[L(e.$slots,`default`,{currentLabel:n.value,levels:z(t)?.qualityLevels??[],currentHeight:z(t)?.currentQualityHeight??null,isAuto:z(t)?.isAutoQuality??!0},()=>[C(X,{name:`quality`})])],10,ii)):y(`v-if`,!0)}});const oi=[`aria-label`];var si=w({__name:`PlaybackRateButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let n=Z(e),r=_(()=>In(n.value?.currentPlaybackRate??1));function i(){n.value&&Fn(n.value)}return(e,a)=>z(n)?.supportsPlaybackRate?(N(),b(`button`,{key:0,type:`button`,class:O([`mlv-control-btn mlv-control-btn--toggle mlv-playback-rate-button`,{"mlv-control-btn--active mlv-playback-rate-button--active":z(n)?.currentPlaybackRate!==1}]),"aria-label":`Playback speed: ${r.value}`,onClick:i},[L(e.$slots,`default`,{currentLabel:r.value,rate:z(n)?.currentPlaybackRate??1,rates:[...z(t)]},()=>[S(R(r.value),1)])],10,oi)):y(`v-if`,!0)}});function ci(e,t,n,r={}){let i=typeof window<`u`&&`speechSynthesis`in window,a=I(!1),o=I(!1);function s(){o.value&&e.value?.isMuted&&e.value.toggleMute(),o.value=!1}function c(){if(i){if(a.value=!a.value,a.value){e.value&&!e.value.isMuted&&(e.value.toggleMute(),o.value=!0);return}window.speechSynthesis.cancel(),s()}}return B(n,e=>{if(!i||!a.value||e===null)return;let n=t.value[e];if(!n)return;window.speechSynthesis.cancel();let o=new SpeechSynthesisUtterance(n.text);r.pitch!==void 0&&(o.pitch=r.pitch),r.rate!==void 0&&(o.rate=r.rate),window.speechSynthesis.speak(o)}),B(()=>e.value?.isMuted,e=>{i&&a.value&&e===!1&&(window.speechSynthesis.cancel(),a.value=!1,o.value=!1)}),j(()=>{i&&window.speechSynthesis.cancel(),a.value&&s()}),{canSpeak:i,speechEnabled:a,toggleSpeech:c}}const li=[`aria-label`,`aria-pressed`],ui=[`aria-current`,`onClick`],di={class:`mlv-transcript__time`},fi={class:`mlv-transcript__text`};var pi=Y(w({inheritAttrs:!1,__name:`Transcript`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1},cues:{type:[Array,String],required:!1},speechPitch:{type:Number,required:!1},speechRate:{type:Number,required:!1}},setup(e){let t=e,n=Z(t),r=_(()=>{if(typeof t.cues!=`string`)return t.cues??[];try{return JSON.parse(t.cues)}catch{return[]}}),i=_(()=>{let e=n.value?.currentTime??0,t=r.value;for(let n=t.length-1;n>=0;n--){let r=t[n];if(!(r.time>e))return r.end!==void 0&&e>=r.end?null:n}return null}),a=I(null),o=I(!1);function s(e){let t=n.value;t&&(t.seek(e.time),t.play().catch(()=>{}))}B(i,async e=>{e===null||o.value||(await D(),a.value?.querySelector(`.mlv-transcript__cue--active`)?.scrollIntoView?.({block:`nearest`,behavior:`smooth`}))});let{canSpeak:c,speechEnabled:l,toggleSpeech:u}=ci(n,r,i,{pitch:t.speechPitch,rate:t.speechRate});return(e,t)=>(N(),b(h,null,[z(c)?(N(),b(`button`,{key:0,type:`button`,class:`mlv-transcript__speech-toggle`,"aria-label":z(l)?`Mute transcript readout`:`Unmute transcript readout`,"aria-pressed":z(l),onClick:t[0]||=(...e)=>z(u)&&z(u)(...e)},[z(l)?(N(),v(X,{key:0,name:`volume-on`})):(N(),v(X,{key:1,name:`volume-mute`}))],8,li)):y(`v-if`,!0),x(`ol`,E({ref_key:`listEl`,ref:a,class:`mlv-transcript`},e.$attrs,{onPointerenter:t[1]||=e=>o.value=!0,onPointerleave:t[2]||=e=>o.value=!1}),[(N(!0),b(h,null,ee(r.value,(t,n)=>(N(),b(`li`,{key:`${t.time}-${n}`,class:`mlv-transcript__item`},[x(`button`,{type:`button`,class:O([`mlv-transcript__cue`,{"mlv-transcript__cue--active":n===i.value}]),"aria-current":n===i.value?`true`:void 0,onClick:e=>s(t)},[L(e.$slots,`default`,{cue:t,index:n,isActive:n===i.value,formatTime:z(Q)},()=>[x(`span`,di,R(z(Q)(t.time)),1),x(`span`,fi,R(t.text),1)],!0)],10,ui)]))),128))],16)],64))}}),[[`__scopeId`,`data-v-3cf9e708`]]);function mi(e,t){if(t)for(let n of Object.keys(t)){let r=t[n];typeof r==`function`?e[n]=r:Object.defineProperty(e,n,{get:()=>t[n],enumerable:!0,configurable:!0})}}const hi={install(e){e.component(`VideoPlayer`,Or),e.component(`VideoStage`,Vr),e.component(`VideoPlaceholder`,Yr),e.component(`VideoCard`,Xr),e.component(`HideMarker`,Zr),e.component(`Scrubber`,vn),e.component(`PlayButton`,Xt),e.component(`MuteButton`,$r),e.component(`FullscreenButton`,fn),e.component(`Buffering`,$t),e.component(`LoopButton`,ti),e.component(`PipButton`,mn),e.component(`CaptionsButton`,ri),e.component(`QualityButton`,ai),e.component(`PlaybackRateButton`,si),e.component(`VolumeSlider`,Tn),e.component(`TimeDisplay`,xn),e.component(`Transcript`,pi)}};export{$t as Buffering,ri as CaptionsButton,fn as FullscreenButton,Zr as HideMarker,ti as LoopButton,$r as MuteButton,mn as PipButton,Xt as PlayButton,si as PlaybackRateButton,ai as QualityButton,vn as Scrubber,xn as TimeDisplay,pi as Transcript,Xr as VideoCard,Yr as VideoPlaceholder,Or as VideoPlayer,hi as VideoPlayerPlugin,hi as default,Vr as VideoStage,Tn as VolumeSlider,Mn as captionTrackLabel,jn as cycleCaptionTrack,Fn as cyclePlaybackRate,Nn as cycleQuality,mi as exposePlayerOnElement,In as playbackRateLabel,Pn as qualityLabel,ye as registerPlatform,le as resolvePlatform,jr as useForwardedPlayer,hn as useScrubber,ci as useSpokenCues};
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- :where(.mlv-play-button[data-v-218255bd]){all:unset;cursor:pointer;justify-content:center;align-items:center;display:inline-flex}:where(.mlv-play-button[data-v-218255bd]):focus-visible{outline-offset:2px;outline:2px solid #fff}:where(.mlv-play-button svg[data-v-218255bd]){width:1em;height:1em}@keyframes spin-259be2b2{to{transform:rotate(360deg)}}.spinner[data-v-259be2b2]{border-style:solid;border-color:#fffc #ffffff26 #ffffff26;border-radius:50%;animation:.75s linear infinite spin-259be2b2}:where(.mlv-buffering[data-v-454fec7f]){justify-content:center;align-items:center;display:inline-flex}.ppbtn{backdrop-filter:blur(12px);will-change:backdrop-filter;color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff2e;border-radius:50%;justify-content:center;align-items:center;transition:background .2s,transform .15s;display:flex}.ppbtn:hover{background:#fff3;transform:scale(1.08)}.ppbtn--lg{background:var(--mlv-btn-bg,#ffffff1a);width:clamp(48px,20cqw,64px);height:clamp(48px,20cqw,64px);color:var(--mlv-btn-color,#fff)}.ppbtn--lg svg{width:clamp(20px,9cqw,28px);height:clamp(20px,9cqw,28px)}.ppbtn--lg:hover{background:var(--mlv-btn-bg,#fff3);filter:brightness(1.12)}.ppbtn--sm{color:#ffffffbf;background:0 0;border:none;border-radius:8px;width:30px;height:30px}.ppbtn--sm svg{width:16px;height:16px}.ppbtn--sm:hover{color:#fff;background:#ffffff1a;transform:none}.hud[data-v-a6d118e7]{align-items:center;gap:clamp(12px,5cqw,20px);display:flex}.hud__play-wrap[data-v-a6d118e7]{display:flex;position:relative}.hud__buf-spinner[data-v-a6d118e7]{margin-top:8px;position:absolute;top:100%;left:calc(50% - 7px)}.hud__spacer[data-v-a6d118e7]{flex-shrink:0;width:clamp(36px,14cqw,44px);height:clamp(36px,14cqw,44px)}.hud__btn[data-v-a6d118e7]{background:var(--mlv-btn-bg,#ffffff1a);backdrop-filter:blur(12px);will-change:backdrop-filter;width:clamp(36px,14cqw,44px);height:clamp(36px,14cqw,44px);color:var(--mlv-btn-color,#fff);cursor:pointer;border:1px solid #ffffff2e;border-radius:50%;justify-content:center;align-items:center;transition:background .2s,transform .15s;display:flex}.hud__btn svg[data-v-a6d118e7]{width:clamp(16px,6cqw,18px);height:clamp(16px,6cqw,18px)}.hud__btn[data-v-a6d118e7]:hover{background:var(--mlv-btn-bg,#fff3);filter:brightness(1.12);transform:scale(1.08)}.hud__btn--active[data-v-a6d118e7]{border-color:var(--mlv-accent,#3b82f6);background:color-mix(in srgb, var(--mlv-accent,#3b82f6) 30%, var(--mlv-btn-bg,#ffffff1a));color:var(--mlv-btn-color,#fff)}.hud__btn--active[data-v-a6d118e7]:hover{background:color-mix(in srgb, var(--mlv-accent,#3b82f6) 45%, var(--mlv-btn-bg,#fff3))}:where(.mlv-fullscreen-button[data-v-b93a5017]){all:unset;cursor:pointer;justify-content:center;align-items:center;display:inline-flex}:where(.mlv-fullscreen-button[data-v-b93a5017]):focus-visible{outline-offset:2px;outline:2px solid #fff}:where(.mlv-fullscreen-button svg[data-v-b93a5017]){width:1em;height:1em}:where(.mlv-pip-button[data-v-f654d93e]){all:unset;cursor:pointer;opacity:.6;justify-content:center;align-items:center;display:inline-flex}:where(.mlv-pip-button[data-v-f654d93e]):focus-visible{outline-offset:2px;outline:2px solid #fff}:where(.mlv-pip-button--active[data-v-f654d93e]){opacity:1}:where(.mlv-pip-button svg[data-v-f654d93e]){width:1em;height:1em}.mlv-scrubber-wrap[data-v-043f1bc8]{width:100%;position:relative}:where(.mlv-scrubber[data-v-043f1bc8]){cursor:pointer;accent-color:currentColor;width:100%}:where(.mlv-scrubber[data-v-043f1bc8]):focus-visible{outline-offset:0!important;outline:2px solid #fff!important}.mlv-scrubber__preview[data-v-043f1bc8]{font-variant-numeric:tabular-nums;pointer-events:none;white-space:nowrap;margin-bottom:.4rem;font-size:.75rem;position:absolute;bottom:100%;transform:translate(-50%)}:where(.mlv-time-display[data-v-0285c811]){font-variant-numeric:tabular-nums;align-items:center;gap:.35rem;display:inline-flex}:where(.mlv-time-display__dot[data-v-0285c811]){background:currentColor;border-radius:50%;width:6px;height:6px}.mlv-volume-wrap[data-v-fbb2c86c]{align-items:center;gap:.75rem;width:100%;display:flex}:where(.mlv-volume-slider[data-v-fbb2c86c]){cursor:pointer;accent-color:currentColor;flex:1}:where(.mlv-volume-slider[data-v-fbb2c86c]):focus-visible{outline-offset:2px;outline:2px solid #fff}:where(.mlv-volume-pct[data-v-fbb2c86c]){font-variant-numeric:tabular-nums;text-align:right;min-width:2rem}.controls__vol-slider{-webkit-appearance:none;appearance:none;cursor:pointer;background:linear-gradient(to right, #fff 0%, #fff var(--v), #ffffff26 var(--v), #ffffff26 100%);outline:none;flex:1;height:5px;transition:height .15s}.controls__vol-slider:hover{height:7px}.controls__vol-slider:focus-visible{outline-offset:2px;outline:2px solid #fff}.controls__vol-slider::-webkit-slider-runnable-track{background:0 0;height:5px}.controls__vol-slider::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#fff;border-radius:50%;width:16px;height:16px;margin-top:-5.5px;transition:transform .15s;box-shadow:0 0 0 3px #fff3}.controls__vol-slider:hover::-webkit-slider-thumb{transform:scale(1.2)}.controls__vol-slider::-moz-range-track{background:#ffffff26;height:5px}.controls__vol-slider::-moz-range-progress{background:#fff;height:5px}.controls__vol-slider::-moz-range-thumb{cursor:pointer;background:#fff;border:none;border-radius:50%;width:16px;height:16px;box-shadow:0 0 0 3px #fff3}.controls__vol-header[data-v-10b0ae67]{align-items:center;gap:4px;display:flex}.controls__vol-label[data-v-10b0ae67]{color:#ffffffe6;flex:1;padding:0 4px;font-size:.8rem;font-weight:600}.controls__vol-body[data-v-10b0ae67]{align-items:center;gap:12px;padding:6px 0 4px;display:flex}.controls__vol-pct[data-v-10b0ae67]{font-variant-numeric:tabular-nums;color:#fff9;text-align:right;min-width:32px;font-size:.75rem;font-weight:600}.controls__more-row[data-v-47ca5bfc]{color:#ffffffd9;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;width:100%;padding:8px 4px;font-size:.8rem;font-weight:500;transition:background .15s;display:flex}.controls__more-row[data-v-47ca5bfc]:hover{background:#ffffff14}.controls__more-row-label[data-v-47ca5bfc]{align-items:center;gap:8px;display:flex}.controls__more-row-icon[data-v-47ca5bfc]{flex-shrink:0;width:16px;height:16px}.controls__more-value[data-v-47ca5bfc]{font-variant-numeric:tabular-nums;color:#ffffff80;font-size:.7rem;font-weight:600}.controls__more-row--active .controls__more-value[data-v-47ca5bfc]{color:var(--mlv-accent,#3b82f6)}.controls__more-header[data-v-e89a8208]{flex-shrink:0;align-items:center;gap:4px;display:flex}.controls__more-label[data-v-e89a8208]{color:#ffffffe6;flex:1;padding:0 4px;font-size:.8rem;font-weight:600}.controls__more-body[data-v-e89a8208]{flex-direction:column;min-height:0;padding:2px 0;display:flex;overflow-y:auto}.controls__btn{color:#ffffffbf;cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;transition:background .15s,color .15s;display:flex}.controls__inner:has(.controls__more-body){flex-direction:column;max-width:100%;height:100%;display:flex;overflow:auto}.controls__btn svg{width:16px;height:16px}.controls__btn:hover{color:#fff;background:#ffffff1a}.controls--compact .controls__seek,.controls--compact .mlv-scrubber-wrap,.controls--compact .mlv-time-display__total,.controls--compact .controls__btn--pip,.controls--compact .controls__btn--next,.controls--compact .controls__btn--volume{display:none}.controls__seek{-webkit-appearance:none;appearance:none;cursor:pointer;box-sizing:border-box;background:padding-box content-box;background-image:linear-gradient(to right, var(--mlv-accent,#3b82f6) 0%, var(--mlv-accent,#3b82f6) var(--p), #ffffff4d var(--p), #ffffff4d var(--b), #ffffff1a var(--b), #ffffff1a 100%);outline:none;width:100%;height:20px;padding:8px 0}.controls__seek::-webkit-slider-runnable-track{background:0 0;height:4px}.controls__seek::-webkit-slider-thumb{-webkit-appearance:none;background:var(--mlv-accent,#3b82f6);width:14px;height:14px;box-shadow:0 0 0 3px color-mix(in srgb, var(--mlv-accent,#3b82f6) 30%, transparent);cursor:pointer;border-radius:50%;margin-top:-5px;transition:transform .15s}.controls__seek:hover::-webkit-slider-thumb{transform:scale(1.25)}.controls__seek::-moz-range-track{background:#ffffff1a;height:4px}.controls__seek::-moz-range-progress{background:var(--mlv-accent,#3b82f6);height:4px}.controls__seek::-moz-range-thumb{background:var(--mlv-accent,#3b82f6);width:14px;height:14px;box-shadow:0 0 0 3px color-mix(in srgb, var(--mlv-accent,#3b82f6) 30%, transparent);cursor:pointer;border:none;border-radius:50%}.controls[data-v-5712aad4]{width:var(--mlv-controls-width,min(450px, calc(100% - 32px)));-webkit-backdrop-filter:blur(20px);background:#0a0a0e;border:1px solid #ffffff1a;border-radius:18px;flex-direction:column;gap:10px;max-height:100%;padding:14px 16px 12px;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 32px #00000080}.controls--fs[data-v-5712aad4]{width:100%}.controls__close[data-v-5712aad4]{clip:rect(0, 0, 0, 0);white-space:nowrap;color:#fff;cursor:pointer;background:0 0;border:0;width:1px;height:1px;padding:0;font-size:.75rem;position:absolute;bottom:4px;left:50%;overflow:hidden;transform:translate(-50%)}.controls__close[data-v-5712aad4]:focus{clip:auto;white-space:normal;outline-offset:2px;background:#ffffff1a;border-radius:6px;outline:2px solid #fff;width:auto;height:auto;padding:6px 10px;overflow:visible}.controls__row[data-v-5712aad4]{align-items:center;gap:4px;display:flex}.controls__time-display[data-v-5712aad4]{color:#fff9;letter-spacing:.02em;flex:1;padding:0 4px;font-size:.7rem;font-weight:500}.controls__time-display.mlv-time-display--live[data-v-5712aad4]{letter-spacing:.04em;text-transform:uppercase;color:#f87171;font-weight:700}.controls__play-wrap[data-v-5712aad4]{flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.controls__btn--active[data-v-5712aad4],.controls__btn--pip.mlv-pip-button--active[data-v-5712aad4]{color:var(--mlv-accent,#3b82f6)}.controls__btn--active[data-v-5712aad4]:hover,.controls__btn--pip.mlv-pip-button--active[data-v-5712aad4]:hover{color:var(--mlv-accent,#60a5fa)}.controls__fs-wrap[data-v-5712aad4]{flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.overlay__spinner[data-v-2fba5782]{z-index:5;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.fade-enter-active[data-v-2fba5782],.fade-leave-active[data-v-2fba5782]{transition:opacity .25s}.fade-enter-from[data-v-2fba5782],.fade-leave-to[data-v-2fba5782]{opacity:0}.overlay__error[data-v-2fba5782]{z-index:6;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:1.5rem;display:flex;position:absolute;inset:0}.overlay__error p[data-v-2fba5782]{color:#ffffffb3;text-align:center;max-width:260px;font-size:.875rem;line-height:1.5}.overlay__retry[data-v-2fba5782]{pointer-events:auto;color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff40;border-radius:8px;padding:.4rem 1rem;font-size:.8rem;font-weight:600;transition:background .15s}.overlay__retry[data-v-2fba5782]:hover{background:#fff3}.overlay__reveal[data-v-2fba5782]{z-index:10;clip:rect(0, 0, 0, 0);white-space:nowrap;color:#fff;cursor:pointer;background:#000000d9;border:0;border-radius:6px;width:1px;height:1px;margin:-1px;padding:0;font-size:.8rem;position:absolute;top:8px;left:8px;overflow:hidden}.overlay__reveal[data-v-2fba5782]:focus{clip:auto;white-space:normal;outline-offset:2px;outline:2px solid #fff;width:auto;height:auto;margin:0;padding:.4rem .75rem;overflow:visible}.overlay__hud[data-v-2fba5782]{z-index:4;opacity:0;pointer-events:none;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.overlay__hud--visible[data-v-2fba5782]{opacity:1;pointer-events:all}.overlay__hud[data-v-2fba5782]:has(~.overlay__popup){opacity:0!important;pointer-events:none!important}.overlay__popup[data-v-2fba5782]{z-index:5;align-items:var(--mlv-popup-align,center);pointer-events:none;justify-content:center;padding:16px;display:flex;position:absolute;inset:0}.overlay__popup[data-v-2fba5782] .controls{pointer-events:auto}.overlay__popup--fs[data-v-2fba5782]{align-items:flex-end}.popup-enter-active[data-v-2fba5782],.popup-leave-active[data-v-2fba5782]{transition:opacity .2s,transform .2s}.popup-enter-from[data-v-2fba5782],.popup-leave-to[data-v-2fba5782]{opacity:0;transform:scale(.95)}.ad-overlay[data-v-23efcc8b]{z-index:21;pointer-events:none;position:absolute;inset:0}.ad-overlay__bar[data-v-23efcc8b]{align-items:center;gap:6px;display:flex;position:absolute;bottom:10px;left:10px}.ad-overlay__badge[data-v-23efcc8b]{color:#fff;text-transform:uppercase;letter-spacing:.06em;background:#0009;border-radius:4px;align-items:center;gap:6px;padding:3px 8px;font-size:.65rem;font-weight:700;display:flex}.ad-overlay__countdown[data-v-23efcc8b]{font-variant-numeric:tabular-nums;text-transform:none;letter-spacing:.02em;opacity:.8;font-weight:500}.ad-overlay__btn[data-v-23efcc8b]{color:#fff;cursor:pointer;pointer-events:auto;background:#0009;border:none;border-radius:4px;justify-content:center;align-items:center;padding:3px;transition:background .15s;display:flex}.ad-overlay__btn[data-v-23efcc8b]:hover{background:#000c}.ad-overlay__btn svg[data-v-23efcc8b]{width:11px;height:11px}.player-wrapper[data-v-a2f8a547]{display:block}.player-wrapper[data-v-9188c23a]{display:contents}.pinned-controls__dismiss[data-v-690b416a],.pinned-controls__scroll-to[data-v-690b416a]{z-index:25;backdrop-filter:blur(6px);color:#fff;cursor:pointer;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;transition:all .15s;display:flex;position:absolute;top:.4rem}.pinned-controls__dismiss[data-v-690b416a]:hover,.pinned-controls__scroll-to[data-v-690b416a]:hover{background:#000000d9}.pinned-controls__dismiss svg[data-v-690b416a],.pinned-controls__scroll-to svg[data-v-690b416a]{width:14px;height:14px}.pinned-controls__dismiss[data-v-690b416a]{right:.4rem}.pinned-controls__scroll-to[data-v-690b416a]{left:.4rem}.stage--pin-bottom-right,.stage--pin-bottom-left,.stage--pin-top-right,.stage--pin-top-left,.player--pin-bottom-right,.player--pin-bottom-left,.player--pin-top-right,.player--pin-top-left{border-radius:var(--mlv-radius,12px);transition:transform .18s}.stage--pin-bottom-right,.player--pin-bottom-right{bottom:1.25rem;right:1.25rem}.stage--pin-bottom-left,.player--pin-bottom-left{bottom:1.25rem;left:1.25rem}.stage--pin-top-right,.player--pin-top-right{top:1.25rem;right:1.25rem}.stage--pin-top-left,.player--pin-top-left{top:1.25rem;left:1.25rem}.stage--pin-bottom-right.stage--tucked,.stage--pin-top-right.stage--tucked,.player--pin-bottom-right.player--tucked,.player--pin-top-right.player--tucked{transform:translateX(calc(100% - var(--mlv-stage-tuck,32px)))}.stage--pin-bottom-left.stage--tucked,.stage--pin-top-left.stage--tucked,.player--pin-bottom-left.player--tucked,.player--pin-top-left.player--tucked{transform:translateX(calc(-100% + var(--mlv-stage-tuck,32px)))}.player[data-v-4ab3cf75]{width:100%;max-width:var(--mlv-max-width,800px);user-select:none;-webkit-tap-highlight-color:transparent;margin:0 auto;position:relative}.player--pinned[data-v-4ab3cf75]{z-index:100;width:70dvw;max-width:360px;margin:0;transition:transform .18s;position:fixed;box-shadow:0 8px 32px #0009}@media (width<=740px){.player--pinned[data-v-4ab3cf75]{max-width:300px}}[data-mlv-player][data-v-4ab3cf75]{position:absolute;inset:0}.player__shell[data-v-4ab3cf75]{border-radius:var(--mlv-radius,12px);cursor:pointer;background:#000;position:relative;overflow:hidden;container:player-shell/inline-size}.mlv-video--hidden[data-v-4ab3cf75]{opacity:0}.overlay__tap-capture[data-v-4ab3cf75]{z-index:2;position:absolute;inset:0}.mlv-youtube .overlay__tap-capture[data-v-4ab3cf75]{clip-path:polygon(0 0,100% 0,100% 100%,64px 100%,64px calc(100% - 64px),0 calc(100% - 64px))}.mlv-dailymotion .overlay__tap-capture[data-v-4ab3cf75]{clip-path:polygon(0 64px,0 100%,100% 100%,100% 0,64px 0,64px 64px)}.player__shell--portrait[data-v-4ab3cf75]{width:auto;max-width:100%;max-height:75dvh;margin:0 auto}.player__native-play[data-v-4ab3cf75]{z-index:3;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.player__native-play[data-v-4ab3cf75]>*{pointer-events:auto}.player__shell[data-v-4ab3cf75]:fullscreen{border-radius:0;width:100vw;height:100dvh}.player__shell:fullscreen .mlv-video[data-v-4ab3cf75],.player__shell:fullscreen [data-mlv-player][data-v-4ab3cf75]{width:100%!important;height:100%!important}.mlv-video{border-radius:var(--mlv-radius,12px);object-fit:cover;background:#000;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.mlv-dailymotion .mlv-tech>*,.mlv-dailymotion .dailymotion-player-root,.mlv-dailymotion iframe{width:100%!important;height:100%!important;position:absolute!important;inset:0!important}.mlv-vimeo .mlv-tech>div{width:100%!important;height:100%!important;padding:0!important;position:absolute!important;top:0!important;left:0!important}.mlv-vimeo iframe{width:100%!important;height:100%!important;position:absolute!important;top:0!important;left:0!important}[data-mlv-player] .ima-ad-container{pointer-events:none;z-index:20!important;width:100%!important;height:100%!important;position:absolute!important;top:0!important;left:0!important}.mlv-ad-playing .ima-ad-container{pointer-events:auto}.mlv-ad-playing .overlay__hud,.mlv-ad-playing .overlay__spinner{display:none!important}.stage-wrapper[data-v-fb8c86cf]{width:100%;max-width:var(--mlv-max-width,800px);margin:0 auto}.stage[data-v-fb8c86cf]{width:100%}.stage--minified[data-v-fb8c86cf]{z-index:100;margin:0;position:fixed;overflow:hidden;box-shadow:0 8px 32px #0009}.stage--pin-bottom-right[data-v-fb8c86cf],.stage--pin-bottom-left[data-v-fb8c86cf],.stage--pin-top-right[data-v-fb8c86cf],.stage--pin-top-left[data-v-fb8c86cf]{width:70dvw;max-width:360px;@media (width<=740px){max-width:300px}}.stage--pin-full-width[data-v-fb8c86cf]{width:100%;max-width:100%;box-shadow:none;border-radius:0;top:0;left:0;right:0}.stage__idle[data-v-fb8c86cf]{border-radius:var(--mlv-radius,12px);cursor:pointer;background:#111;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.stage__idle-poster[data-v-fb8c86cf]{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.stage__idle-scrim[data-v-fb8c86cf]{background:#00000073;transition:background .15s;position:absolute;inset:0}.stage__idle:hover .stage__idle-scrim[data-v-fb8c86cf]{background:#0000004d}.stage__idle-body[data-v-fb8c86cf]{text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:1rem;display:flex;position:relative}.stage__idle-btn[data-v-fb8c86cf]{backdrop-filter:blur(4px);color:#fff;background:#0009;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;transition:transform .15s,background .15s;display:flex}.stage__idle:hover .stage__idle-btn[data-v-fb8c86cf]{background:#000c;transform:scale(1.1)}.stage__idle-btn svg[data-v-fb8c86cf]{width:32px;height:32px}.stage__idle-title[data-v-fb8c86cf]{color:#f1f5f9;text-shadow:0 1px 4px #000c;font-size:1rem;font-weight:600}.stage__idle-empty[data-v-fb8c86cf]{color:#64748b;font-size:.95rem}.placeholder[data-v-dbcb4f82]{width:100%;max-width:var(--mlv-max-width,800px);margin:0 auto}.placeholder__shell[data-v-dbcb4f82]{border-radius:var(--mlv-radius,12px);cursor:pointer;background:#111;position:relative;overflow:hidden}.placeholder__shell--portrait[data-v-dbcb4f82]{width:auto;max-height:75dvh;margin:0 auto}.placeholder__poster[data-v-dbcb4f82]{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.placeholder__scrim[data-v-dbcb4f82]{background:#00000059;transition:background .15s;position:absolute;inset:0}.placeholder__shell:hover .placeholder__scrim[data-v-dbcb4f82]{background:#00000026}.placeholder__btn-wrap[data-v-dbcb4f82]{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.placeholder__btn-wrap[data-v-dbcb4f82]>*{pointer-events:auto}.placeholder__footer[data-v-dbcb4f82]{pointer-events:none;background:linear-gradient(#0000 0%,#000c 100%);padding:1.5rem .75rem .6rem;position:absolute;bottom:0;left:0;right:0}.placeholder__title[data-v-dbcb4f82]{color:#f1f5f9;white-space:nowrap;text-overflow:ellipsis;text-shadow:0 1px 3px #0009;font-size:.8rem;font-weight:600;overflow:hidden}.mlv-hide-marker[data-v-bacb702a]{width:100%;min-height:1px}:where(.mlv-mute-button[data-v-1940b598]){all:unset;cursor:pointer;justify-content:center;align-items:center;display:inline-flex}:where(.mlv-mute-button[data-v-1940b598]):focus-visible{outline-offset:2px;outline:2px solid #fff}:where(.mlv-mute-button svg[data-v-1940b598]){width:1em;height:1em}:where(.mlv-loop-button[data-v-e32eda25]){all:unset;cursor:pointer;opacity:.6;justify-content:center;align-items:center;display:inline-flex}:where(.mlv-loop-button[data-v-e32eda25]):focus-visible{outline-offset:2px;outline:2px solid #fff}:where(.mlv-loop-button--active[data-v-e32eda25]){opacity:1}:where(.mlv-loop-button svg[data-v-e32eda25]){width:1em;height:1em}:where(.mlv-captions-button[data-v-2572c4f2]){all:unset;cursor:pointer;opacity:.6;justify-content:center;align-items:center;display:inline-flex}:where(.mlv-captions-button[data-v-2572c4f2]):focus-visible{outline-offset:2px;outline:2px solid #fff}:where(.mlv-captions-button--active[data-v-2572c4f2]){opacity:1}:where(.mlv-captions-button svg[data-v-2572c4f2]){width:1em;height:1em}:where(.mlv-quality-button[data-v-d1352878]){all:unset;cursor:pointer;opacity:.6;justify-content:center;align-items:center;display:inline-flex}:where(.mlv-quality-button[data-v-d1352878]):focus-visible{outline-offset:2px;outline:2px solid #fff}:where(.mlv-quality-button--active[data-v-d1352878]){opacity:1}:where(.mlv-quality-button svg[data-v-d1352878]){width:1em;height:1em}:where(.mlv-playback-rate-button[data-v-646c9bc1]){all:unset;cursor:pointer;font-variant-numeric:tabular-nums;opacity:.6;justify-content:center;align-items:center;display:inline-flex}:where(.mlv-playback-rate-button[data-v-646c9bc1]):focus-visible{outline-offset:2px;outline:2px solid #fff}:where(.mlv-playback-rate-button--active[data-v-646c9bc1]){opacity:1}:where(.mlv-transcript[data-v-c166a2c5]){margin:0;padding:0;list-style:none;overflow-y:auto}:where(.mlv-transcript__cue[data-v-c166a2c5]){all:unset;cursor:pointer;box-sizing:border-box;border-radius:4px;align-items:baseline;gap:.5rem;width:100%;padding:.35rem .5rem;display:flex}:where(.mlv-transcript__cue[data-v-c166a2c5]):focus-visible{outline-offset:-2px;outline:2px solid}:where(.mlv-transcript__cue[data-v-c166a2c5]:hover){background:#7f7f7f26}:where(.mlv-transcript__cue--active[data-v-c166a2c5]){background:#7f7f7f40;font-weight:600}:where(.mlv-transcript__speech-toggle[data-v-c166a2c5]){all:unset;cursor:pointer;background:var(--mlv-btn-bg,#7f7f7f1a);width:2rem;height:2rem;color:var(--mlv-btn-color,inherit);border:1px solid #7f7f7f4d;border-radius:50%;justify-content:center;align-items:center;margin-bottom:.5rem;transition:background .2s,transform .15s;display:inline-flex}:where(.mlv-transcript__speech-toggle[data-v-c166a2c5]):focus-visible{outline-offset:2px;outline:2px solid}:where(.mlv-transcript__speech-toggle[data-v-c166a2c5]:hover){background:var(--mlv-btn-bg,#7f7f7f33);transform:scale(1.08)}:where(.mlv-transcript__speech-toggle[aria-pressed=true][data-v-c166a2c5]){border-color:var(--mlv-accent,#3b82f6);background:color-mix(in srgb, var(--mlv-accent,#3b82f6) 30%, var(--mlv-btn-bg,#7f7f7f1a));color:var(--mlv-btn-color,inherit)}:where(.mlv-transcript__speech-toggle svg[data-v-c166a2c5]){width:1.1em;height:1.1em}:where(.mlv-transcript__time[data-v-c166a2c5]){font-variant-numeric:tabular-nums;opacity:.7;flex-shrink:0}
1
+ .mlv-video{border-radius:var(--mlv-radius,12px);object-fit:cover;background:#000;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.mlv-dailymotion .mlv-tech>*,.mlv-dailymotion .dailymotion-player-root,.mlv-dailymotion iframe{width:100%!important;height:100%!important;position:absolute!important;inset:0!important}.mlv-vimeo .mlv-tech>div{width:100%!important;height:100%!important;padding:0!important;position:absolute!important;top:0!important;left:0!important}.mlv-vimeo iframe{width:100%!important;height:100%!important;position:absolute!important;top:0!important;left:0!important}[data-mlv-player] .ima-ad-container{pointer-events:none;z-index:20!important;width:100%!important;height:100%!important;position:absolute!important;top:0!important;left:0!important}.mlv-ad-playing .ima-ad-container{pointer-events:auto}.mlv-ad-playing .overlay__hud,.mlv-ad-playing .overlay__spinner{display:none!important}:where(.mlv-control-btn){all:unset;cursor:pointer;justify-content:center;align-items:center;display:inline-flex}:where(.mlv-control-btn):focus-visible{outline-offset:2px;outline:2px solid #fff}:where(.mlv-control-btn) svg{width:1em;height:1em}:where(.mlv-control-btn--toggle){opacity:.6}:where(.mlv-control-btn--toggle.mlv-control-btn--active){opacity:1}.mlv-icon[data-v-466b80a9]{display:contents}@keyframes spin-7c461437{to{transform:rotate(360deg)}}.spinner[data-v-7c461437]{border-style:solid;border-color:#fffc #ffffff26 #ffffff26;border-radius:50%;animation:.75s linear infinite spin-7c461437}:where(.mlv-buffering[data-v-c446a450]){justify-content:center;align-items:center;display:inline-flex}.ppbtn{backdrop-filter:blur(12px);will-change:backdrop-filter;color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff2e;border-radius:50%;justify-content:center;align-items:center;transition:background .2s,transform .15s;display:flex}.ppbtn:hover{background:#fff3;transform:scale(1.08)}.ppbtn--lg{background:var(--mlv-btn-bg,#ffffff1a);width:clamp(48px,20cqw,64px);height:clamp(48px,20cqw,64px);color:var(--mlv-btn-color,#fff)}.ppbtn--lg svg{width:clamp(20px,9cqw,28px);height:clamp(20px,9cqw,28px)}.ppbtn--lg:hover{background:var(--mlv-btn-bg,#fff3);filter:brightness(1.12)}.ppbtn--sm{color:#ffffffbf;background:0 0;border:none;border-radius:8px;width:30px;height:30px}.ppbtn--sm svg{width:16px;height:16px}.ppbtn--sm:hover{color:#fff;background:#ffffff1a;transform:none}.hud[data-v-58e9bcdd]{align-items:center;gap:clamp(12px,5cqw,20px);display:flex}.hud__play-wrap[data-v-58e9bcdd]{display:flex;position:relative}.hud__buf-spinner[data-v-58e9bcdd]{margin-top:8px;position:absolute;top:100%;left:calc(50% - 7px)}.hud__spacer[data-v-58e9bcdd]{flex-shrink:0;width:clamp(36px,14cqw,44px);height:clamp(36px,14cqw,44px)}.hud__btn[data-v-58e9bcdd]{background:var(--mlv-btn-bg,#ffffff1a);backdrop-filter:blur(12px);will-change:backdrop-filter;width:clamp(36px,14cqw,44px);height:clamp(36px,14cqw,44px);color:var(--mlv-btn-color,#fff);cursor:pointer;border:1px solid #ffffff2e;border-radius:50%;justify-content:center;align-items:center;transition:background .2s,transform .15s;display:flex}.hud__btn[data-v-58e9bcdd] svg{width:clamp(16px,6cqw,18px);height:clamp(16px,6cqw,18px)}.hud__btn[data-v-58e9bcdd]:hover{background:var(--mlv-btn-bg,#fff3);filter:brightness(1.12);transform:scale(1.08)}.hud__btn--active[data-v-58e9bcdd]{border-color:var(--mlv-accent,#3b82f6);background:color-mix(in srgb, var(--mlv-accent,#3b82f6) 30%, var(--mlv-btn-bg,#ffffff1a));color:var(--mlv-btn-color,#fff)}.hud__btn--active[data-v-58e9bcdd]:hover{background:color-mix(in srgb, var(--mlv-accent,#3b82f6) 45%, var(--mlv-btn-bg,#fff3))}.controls__btn{color:#ffffffbf;cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;transition:background .15s,color .15s;display:flex}.controls__inner:has(.controls__more-body){flex-direction:column;max-width:100%;height:100%;display:flex;overflow:auto}.controls__btn svg{width:16px;height:16px}.controls__btn:hover{color:#fff;background:#ffffff1a}.controls--compact .controls__seek,.controls--compact .mlv-scrubber-wrap,.controls--compact .mlv-time-display__total,.controls--compact .controls__btn--pip,.controls--compact .controls__btn--next,.controls--compact .controls__btn--volume{display:none}.controls__seek{-webkit-appearance:none;appearance:none;cursor:pointer;box-sizing:border-box;background:padding-box content-box;background-image:linear-gradient(to right, var(--mlv-accent,#3b82f6) 0%, var(--mlv-accent,#3b82f6) var(--p), #ffffff4d var(--p), #ffffff4d var(--b), #ffffff1a var(--b), #ffffff1a 100%);outline:none;width:100%;height:20px;padding:8px 0}.controls__seek::-webkit-slider-runnable-track{background:0 0;height:4px}.controls__seek::-webkit-slider-thumb{-webkit-appearance:none;background:var(--mlv-accent,#3b82f6);width:14px;height:14px;box-shadow:0 0 0 3px color-mix(in srgb, var(--mlv-accent,#3b82f6) 30%, transparent);cursor:pointer;border-radius:50%;margin-top:-5px;transition:transform .15s}.controls__seek:hover::-webkit-slider-thumb{transform:scale(1.25)}.controls__seek::-moz-range-track{background:#ffffff1a;height:4px}.controls__seek::-moz-range-progress{background:var(--mlv-accent,#3b82f6);height:4px}.controls__seek::-moz-range-thumb{background:var(--mlv-accent,#3b82f6);width:14px;height:14px;box-shadow:0 0 0 3px color-mix(in srgb, var(--mlv-accent,#3b82f6) 30%, transparent);cursor:pointer;border:none;border-radius:50%}.controls__vol-slider{-webkit-appearance:none;appearance:none;cursor:pointer;background:linear-gradient(to right, #fff 0%, #fff var(--v), #ffffff26 var(--v), #ffffff26 100%);outline:none;flex:1;height:5px;transition:height .15s}.controls__vol-slider:hover{height:7px}.controls__vol-slider:focus-visible{outline-offset:2px;outline:2px solid #fff}.controls__vol-slider::-webkit-slider-runnable-track{background:0 0;height:5px}.controls__vol-slider::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#fff;border-radius:50%;width:16px;height:16px;margin-top:-5.5px;transition:transform .15s;box-shadow:0 0 0 3px #fff3}.controls__vol-slider:hover::-webkit-slider-thumb{transform:scale(1.2)}.controls__vol-slider::-moz-range-track{background:#ffffff26;height:5px}.controls__vol-slider::-moz-range-progress{background:#fff;height:5px}.controls__vol-slider::-moz-range-thumb{cursor:pointer;background:#fff;border:none;border-radius:50%;width:16px;height:16px;box-shadow:0 0 0 3px #fff3}.mlv-scrubber-wrap[data-v-00e26db0]{width:100%;position:relative}:where(.mlv-scrubber[data-v-00e26db0]){cursor:pointer;accent-color:currentColor;width:100%}:where(.mlv-scrubber[data-v-00e26db0]):focus-visible{outline-offset:0!important;outline:2px solid #fff!important}.mlv-scrubber__preview[data-v-00e26db0]{font-variant-numeric:tabular-nums;pointer-events:none;white-space:nowrap;margin-bottom:.4rem;font-size:.75rem;position:absolute;bottom:100%;transform:translate(-50%)}:where(.mlv-time-display[data-v-d2dbce42]){font-variant-numeric:tabular-nums;align-items:center;gap:.35rem;display:inline-flex}:where(.mlv-time-display__dot[data-v-d2dbce42]){background:currentColor;border-radius:50%;width:6px;height:6px}.mlv-volume-wrap[data-v-512c68f4]{align-items:center;gap:.75rem;width:100%;display:flex}:where(.mlv-volume-slider[data-v-512c68f4]){cursor:pointer;accent-color:currentColor;flex:1}:where(.mlv-volume-slider[data-v-512c68f4]):focus-visible{outline-offset:2px;outline:2px solid #fff}:where(.mlv-volume-pct[data-v-512c68f4]){font-variant-numeric:tabular-nums;text-align:right;min-width:2rem}.controls__vol-header[data-v-7fa1bc26]{align-items:center;gap:4px;display:flex}.controls__vol-label[data-v-7fa1bc26]{color:#ffffffe6;flex:1;padding:0 4px;font-size:.8rem;font-weight:600}.controls__vol-body[data-v-7fa1bc26]{align-items:center;gap:12px;padding:6px 0 4px;display:flex}.controls__vol-pct[data-v-7fa1bc26]{font-variant-numeric:tabular-nums;color:#fff9;text-align:right;min-width:32px;font-size:.75rem;font-weight:600}.controls__more-row[data-v-73312b97]{color:#ffffffd9;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;width:100%;padding:8px 4px;font-size:.8rem;font-weight:500;transition:background .15s;display:flex}.controls__more-row[data-v-73312b97]:hover{background:#ffffff14}.controls__more-row-label[data-v-73312b97]{align-items:center;gap:8px;display:flex}.controls__more-row-icon[data-v-73312b97],.controls__more-row-icon[data-v-73312b97] svg{flex-shrink:0;width:16px;height:16px}.controls__more-value[data-v-73312b97]{font-variant-numeric:tabular-nums;color:#ffffff80;font-size:.7rem;font-weight:600}.controls__more-row--active .controls__more-value[data-v-73312b97]{color:var(--mlv-accent,#3b82f6)}.controls__more-header[data-v-23430f8a]{flex-shrink:0;align-items:center;gap:4px;display:flex}.controls__more-label[data-v-23430f8a]{color:#ffffffe6;flex:1;padding:0 4px;font-size:.8rem;font-weight:600}.controls__more-body[data-v-23430f8a]{flex-direction:column;min-height:0;padding:2px 0;display:flex;overflow-y:auto}.controls[data-v-330d8c86]{width:var(--mlv-controls-width,min(450px, calc(100% - 32px)));-webkit-backdrop-filter:blur(20px);background:#0a0a0e;border:1px solid #ffffff1a;border-radius:18px;flex-direction:column;gap:10px;max-height:100%;padding:14px 16px 12px;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 32px #00000080}.controls--fs[data-v-330d8c86]{width:100%}.controls__close[data-v-330d8c86]{clip:rect(0, 0, 0, 0);white-space:nowrap;color:#fff;cursor:pointer;background:0 0;border:0;width:1px;height:1px;padding:0;font-size:.75rem;position:absolute;bottom:4px;left:50%;overflow:hidden;transform:translate(-50%)}.controls__close[data-v-330d8c86]:focus{clip:auto;white-space:normal;outline-offset:2px;background:#ffffff1a;border-radius:6px;outline:2px solid #fff;width:auto;height:auto;padding:6px 10px;overflow:visible}.controls__row[data-v-330d8c86]{align-items:center;gap:4px;display:flex}.controls__time-display[data-v-330d8c86]{color:#fff9;letter-spacing:.02em;flex:1;padding:0 4px;font-size:.7rem;font-weight:500}.controls__time-display.mlv-time-display--live[data-v-330d8c86]{letter-spacing:.04em;text-transform:uppercase;color:#f87171;font-weight:700}.controls__play-wrap[data-v-330d8c86]{flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.controls__btn--active[data-v-330d8c86],.controls__btn--pip.mlv-pip-button--active[data-v-330d8c86]{color:var(--mlv-accent,#3b82f6)}.controls__btn--active[data-v-330d8c86]:hover,.controls__btn--pip.mlv-pip-button--active[data-v-330d8c86]:hover{color:var(--mlv-accent,#60a5fa)}.controls__fs-wrap[data-v-330d8c86]{flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.overlay__spinner[data-v-c795dad9]{z-index:5;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.fade-enter-active[data-v-c795dad9],.fade-leave-active[data-v-c795dad9]{transition:opacity .25s}.fade-enter-from[data-v-c795dad9],.fade-leave-to[data-v-c795dad9]{opacity:0}.overlay__error[data-v-c795dad9]{z-index:6;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:1.5rem;display:flex;position:absolute;inset:0}.overlay__error p[data-v-c795dad9]{color:#ffffffb3;text-align:center;max-width:260px;font-size:.875rem;line-height:1.5}.overlay__retry[data-v-c795dad9]{pointer-events:auto;color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff40;border-radius:8px;padding:.4rem 1rem;font-size:.8rem;font-weight:600;transition:background .15s}.overlay__retry[data-v-c795dad9]:hover{background:#fff3}.overlay__reveal[data-v-c795dad9]{z-index:10;clip:rect(0, 0, 0, 0);white-space:nowrap;color:#fff;cursor:pointer;background:#000000d9;border:0;border-radius:6px;width:1px;height:1px;margin:-1px;padding:0;font-size:.8rem;position:absolute;top:8px;left:8px;overflow:hidden}.overlay__reveal[data-v-c795dad9]:focus{clip:auto;white-space:normal;outline-offset:2px;outline:2px solid #fff;width:auto;height:auto;margin:0;padding:.4rem .75rem;overflow:visible}.overlay__hud[data-v-c795dad9]{z-index:4;opacity:0;pointer-events:none;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.overlay__hud--visible[data-v-c795dad9]{opacity:1;pointer-events:all}.overlay__hud[data-v-c795dad9]:has(~.overlay__popup:not(.overlay__popup--fs)){opacity:0!important;pointer-events:none!important}.overlay__popup[data-v-c795dad9]{z-index:5;align-items:var(--mlv-popup-align,center);pointer-events:none;justify-content:center;padding:16px;display:flex;position:absolute;inset:0}.overlay__popup[data-v-c795dad9] .controls{pointer-events:auto}.overlay__popup--fs[data-v-c795dad9]{align-items:flex-end}.popup-enter-active[data-v-c795dad9],.popup-leave-active[data-v-c795dad9]{transition:opacity .2s,transform .2s}.popup-enter-from[data-v-c795dad9],.popup-leave-to[data-v-c795dad9]{opacity:0;transform:scale(.95)}.ad-overlay[data-v-feb17dae]{z-index:21;pointer-events:none;position:absolute;inset:0}.ad-overlay__bar[data-v-feb17dae]{align-items:center;gap:6px;display:flex;position:absolute;bottom:10px;left:10px}.ad-overlay__badge[data-v-feb17dae]{color:#fff;text-transform:uppercase;letter-spacing:.06em;background:#0009;border-radius:4px;align-items:center;gap:6px;padding:3px 8px;font-size:.65rem;font-weight:700;display:flex}.ad-overlay__countdown[data-v-feb17dae]{font-variant-numeric:tabular-nums;text-transform:none;letter-spacing:.02em;opacity:.8;font-weight:500}.ad-overlay__btn[data-v-feb17dae]{color:#fff;cursor:pointer;pointer-events:auto;background:#0009;border:none;border-radius:4px;justify-content:center;align-items:center;padding:3px;transition:background .15s;display:flex}.ad-overlay__btn[data-v-feb17dae]:hover{background:#000c}.ad-overlay__btn[data-v-feb17dae] svg{width:11px;height:11px}.player-wrapper[data-v-b25b3a73]{display:block}.player-wrapper[data-v-3fc2947d]{display:contents}.pinned-controls__dismiss[data-v-2d2ea6e1],.pinned-controls__scroll-to[data-v-2d2ea6e1]{z-index:25;backdrop-filter:blur(6px);color:#fff;cursor:pointer;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;transition:all .15s;display:flex;position:absolute;top:.4rem}.pinned-controls__dismiss[data-v-2d2ea6e1]:hover,.pinned-controls__scroll-to[data-v-2d2ea6e1]:hover{background:#000000d9}.pinned-controls__dismiss[data-v-2d2ea6e1] svg,.pinned-controls__scroll-to[data-v-2d2ea6e1] svg{width:14px;height:14px}.pinned-controls__dismiss[data-v-2d2ea6e1]{right:.4rem}.pinned-controls__scroll-to[data-v-2d2ea6e1]{left:.4rem}.stage--pin-bottom-right,.stage--pin-bottom-left,.stage--pin-top-right,.stage--pin-top-left,.player--pin-bottom-right,.player--pin-bottom-left,.player--pin-top-right,.player--pin-top-left{border-radius:var(--mlv-radius,12px);transition:transform .18s}.stage--pin-bottom-right,.player--pin-bottom-right{bottom:1.25rem;right:1.25rem}.stage--pin-bottom-left,.player--pin-bottom-left{bottom:1.25rem;left:1.25rem}.stage--pin-top-right,.player--pin-top-right{top:1.25rem;right:1.25rem}.stage--pin-top-left,.player--pin-top-left{top:1.25rem;left:1.25rem}.stage--pin-bottom-right.stage--tucked,.stage--pin-top-right.stage--tucked,.player--pin-bottom-right.player--tucked,.player--pin-top-right.player--tucked{transform:translateX(calc(100% - var(--mlv-stage-tuck,32px)))}.stage--pin-bottom-left.stage--tucked,.stage--pin-top-left.stage--tucked,.player--pin-bottom-left.player--tucked,.player--pin-top-left.player--tucked{transform:translateX(calc(-100% + var(--mlv-stage-tuck,32px)))}.player[data-v-6cbcb413]{width:100%;max-width:var(--mlv-max-width,800px);user-select:none;-webkit-tap-highlight-color:transparent;margin:0 auto;position:relative}.player--pinned[data-v-6cbcb413]{z-index:100;width:70dvw;max-width:360px;margin:0;transition:transform .18s;position:fixed;box-shadow:0 8px 32px #0009}@media (width<=740px){.player--pinned[data-v-6cbcb413]{max-width:300px}}[data-mlv-player][data-v-6cbcb413]{position:absolute;inset:0}.player__shell[data-v-6cbcb413]{border-radius:var(--mlv-radius,12px);cursor:pointer;background:#000;position:relative;overflow:hidden;container:player-shell/inline-size}.mlv-video--hidden[data-v-6cbcb413]{opacity:0}.overlay__tap-capture[data-v-6cbcb413]{z-index:2;position:absolute;inset:0}.mlv-youtube .overlay__tap-capture[data-v-6cbcb413]{clip-path:polygon(0 0,100% 0,100% 100%,64px 100%,64px calc(100% - 64px),0 calc(100% - 64px))}.mlv-dailymotion .overlay__tap-capture[data-v-6cbcb413]{clip-path:polygon(0 64px,0 100%,100% 100%,100% 0,64px 0,64px 64px)}.player__shell--portrait[data-v-6cbcb413]{width:auto;max-width:100%;max-height:75dvh;margin:0 auto}.player__custom-hud[data-v-6cbcb413]{z-index:3;pointer-events:none;position:absolute;inset:0}.player__custom-hud[data-v-6cbcb413]>*{pointer-events:auto}.player__native-play[data-v-6cbcb413]{z-index:3;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.player__native-play[data-v-6cbcb413]>*{pointer-events:auto}.player__shell[data-v-6cbcb413]:fullscreen{border-radius:0;width:100vw;height:100dvh}.player__shell:fullscreen .mlv-video[data-v-6cbcb413],.player__shell:fullscreen [data-mlv-player][data-v-6cbcb413]{width:100%!important;height:100%!important}.stage-wrapper[data-v-b2a7f3d1]{width:100%;max-width:var(--mlv-max-width,800px);margin:0 auto}.stage[data-v-b2a7f3d1]{width:100%}.stage--minified[data-v-b2a7f3d1]{z-index:100;margin:0;position:fixed;overflow:hidden;box-shadow:0 8px 32px #0009}.stage--pin-bottom-right[data-v-b2a7f3d1],.stage--pin-bottom-left[data-v-b2a7f3d1],.stage--pin-top-right[data-v-b2a7f3d1],.stage--pin-top-left[data-v-b2a7f3d1]{width:70dvw;max-width:360px;@media (width<=740px){max-width:300px}}.stage--pin-full-width[data-v-b2a7f3d1]{width:100%;max-width:100%;box-shadow:none;border-radius:0;top:0;left:0;right:0}.stage__idle[data-v-b2a7f3d1]{border-radius:var(--mlv-radius,12px);cursor:pointer;background:#111;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.stage__idle-poster[data-v-b2a7f3d1]{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.stage__idle-scrim[data-v-b2a7f3d1]{background:#00000073;transition:background .15s;position:absolute;inset:0}.stage__idle:hover .stage__idle-scrim[data-v-b2a7f3d1]{background:#0000004d}.stage__idle-body[data-v-b2a7f3d1]{text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:1rem;display:flex;position:relative}.stage__idle-btn[data-v-b2a7f3d1]{backdrop-filter:blur(4px);color:#fff;background:#0009;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;transition:transform .15s,background .15s;display:flex}.stage__idle:hover .stage__idle-btn[data-v-b2a7f3d1]{background:#000c;transform:scale(1.1)}.stage__idle-btn[data-v-b2a7f3d1] svg{width:32px;height:32px}.stage__idle-title[data-v-b2a7f3d1]{color:#f1f5f9;text-shadow:0 1px 4px #000c;font-size:1rem;font-weight:600}.stage__idle-empty[data-v-b2a7f3d1]{color:#64748b;font-size:.95rem}.placeholder[data-v-a7f74cef]{width:100%;max-width:var(--mlv-max-width,800px);margin:0 auto}.placeholder__shell[data-v-a7f74cef]{border-radius:var(--mlv-radius,12px);cursor:pointer;background:#111;position:relative;overflow:hidden}.placeholder__shell--portrait[data-v-a7f74cef]{width:auto;max-height:75dvh;margin:0 auto}.placeholder__poster[data-v-a7f74cef]{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.placeholder__scrim[data-v-a7f74cef]{background:#00000059;transition:background .15s;position:absolute;inset:0}.placeholder__shell:hover .placeholder__scrim[data-v-a7f74cef]{background:#00000026}.placeholder__btn-wrap[data-v-a7f74cef]{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.placeholder__btn-wrap[data-v-a7f74cef]>*{pointer-events:auto}.placeholder__footer[data-v-a7f74cef]{pointer-events:none;background:linear-gradient(#0000 0%,#000c 100%);padding:1.5rem .75rem .6rem;position:absolute;bottom:0;left:0;right:0}.placeholder__title[data-v-a7f74cef]{color:#f1f5f9;white-space:nowrap;text-overflow:ellipsis;text-shadow:0 1px 3px #0009;font-size:.8rem;font-weight:600;overflow:hidden}.mlv-hide-marker[data-v-8afc6c98]{width:100%;min-height:1px}:where(.mlv-transcript[data-v-3cf9e708]){margin:0;padding:0;list-style:none;overflow-y:auto}:where(.mlv-transcript__cue[data-v-3cf9e708]){all:unset;cursor:pointer;box-sizing:border-box;border-radius:4px;align-items:baseline;gap:.5rem;width:100%;padding:.35rem .5rem;display:flex}:where(.mlv-transcript__cue[data-v-3cf9e708]):focus-visible{outline-offset:-2px;outline:2px solid}:where(.mlv-transcript__cue[data-v-3cf9e708]:hover){background:#7f7f7f26}:where(.mlv-transcript__cue--active[data-v-3cf9e708]){background:#7f7f7f40;font-weight:600}:where(.mlv-transcript__speech-toggle[data-v-3cf9e708]){all:unset;cursor:pointer;background:var(--mlv-btn-bg,#7f7f7f1a);width:2rem;height:2rem;color:var(--mlv-btn-color,inherit);border:1px solid #7f7f7f4d;border-radius:50%;justify-content:center;align-items:center;margin-bottom:.5rem;transition:background .2s,transform .15s;display:inline-flex}:where(.mlv-transcript__speech-toggle[data-v-3cf9e708]):focus-visible{outline-offset:2px;outline:2px solid}:where(.mlv-transcript__speech-toggle[data-v-3cf9e708]:hover){background:var(--mlv-btn-bg,#7f7f7f33);transform:scale(1.08)}:where(.mlv-transcript__speech-toggle[aria-pressed=true][data-v-3cf9e708]){border-color:var(--mlv-accent,#3b82f6);background:color-mix(in srgb, var(--mlv-accent,#3b82f6) 30%, var(--mlv-btn-bg,#7f7f7f1a));color:var(--mlv-btn-color,inherit)}:where(.mlv-transcript__speech-toggle[data-v-3cf9e708] svg){width:1.1em;height:1.1em}:where(.mlv-transcript__time[data-v-3cf9e708]){font-variant-numeric:tabular-nums;opacity:.7;flex-shrink:0}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@munsonlabs/video-player",
3
- "version": "0.2.5",
3
+ "version": "0.2.7",
4
4
  "license": "MIT",
5
5
  "files": [
6
6
  "dist"
@@ -34,15 +34,15 @@
34
34
  "types": "./dist/elements/controls.d.mts"
35
35
  },
36
36
  "./style": {
37
- "types": "./src/style.d.ts",
37
+ "types": "./src/types/style.d.ts",
38
38
  "import": "./dist/style.css"
39
39
  },
40
40
  "./style/core": {
41
- "types": "./src/style.d.ts",
41
+ "types": "./src/types/style.d.ts",
42
42
  "import": "./dist/elements/core.css"
43
43
  },
44
44
  "./style/controls": {
45
- "types": "./src/style.d.ts",
45
+ "types": "./src/types/style.d.ts",
46
46
  "import": "./dist/elements/controls.css"
47
47
  }
48
48
  },
@@ -54,10 +54,11 @@
54
54
  "clean": "rm -rf dist",
55
55
  "lint": "vp lint",
56
56
  "fmt": "vp fmt",
57
- "check": "vp check",
58
- "test": "vp test",
59
57
  "test:watch": "vp test --watch"
60
58
  },
59
+ "dependencies": {
60
+ "@munsonlabs/sigil": "*"
61
+ },
61
62
  "devDependencies": {
62
63
  "@munsonlabs/shipkit": "*",
63
64
  "@vitest/browser-playwright": "4.1.11",
@@ -1 +0,0 @@
1
- import{c as e,f as t,p as n}from"./constants-35ZnLsDv.mjs";import{n as r}from"./platform-Dg9JBh8M.mjs";import{t as i}from"./loadScript-CxzeXqTe.mjs";function a(){return window.google?.ima?Promise.resolve():i(e,`ima`)}function o(e,i,o,s){let c=document.createElement(`div`);c.className=`ima-ad-container`,e.appendChild(c);let l=o,u=null,d=null,f=null,p=!1,m=!1,h=!1,g=!1,_=!1,v=!1,y=1,b=!1,x=``,S=new ResizeObserver(([e])=>{let t=window.google?.ima;if(!f||!t)return;let{width:n,height:r}=e.contentRect;f.resize(n,r,t.ViewMode.NORMAL)});S.observe(i);function C(){d?.contentComplete()}function w(r){g=r,e.classList.toggle(n,r),r||(_=!1,e.classList.remove(t))}function T(){if(p||!m||!h||!u||!d||!l)return;p=!0;let e=window.google?.ima;if(!e)return;u.initialize();let t=new e.AdsRequest;t.adTagUrl=l,d.requestAds(t)}function E(e){l=e,T()}a().then(()=>{if(v)return;let n=window.google?.ima;n&&(u=new n.AdDisplayContainer(c,i),d=new n.AdsLoader(u),m=!0,d.addEventListener(n.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED,a=>{if(v)return;let o=new n.AdsRenderingSettings;o.restoreCustomPlaybackStateOnAdBreakComplete=!0,f=a.getAdsManager(i,o),i.addEventListener(`ended`,C),x=i.currentSrc,f.addEventListener(n.AdEvent.Type.CONTENT_PAUSE_REQUESTED,()=>{i.removeEventListener(`ended`,C),i.ended&&r()&&(b=!0),i.pause(),w(!0),s.onAdStart();let e=f?.getVolume()??1;e>0&&(y=e),s.onAdMuteChange(e===0)}),f.addEventListener(n.AdEvent.Type.CONTENT_RESUME_REQUESTED,()=>{if(i.addEventListener(`ended`,C),w(!1),s.onAdEnd(),b){b=!1,x&&i.currentSrc!==x&&(i.src=x);let e=i.duration;e&&isFinite(e)&&(i.currentTime=e-.5);return}i.ended||i.play().catch(()=>{})}),f.addEventListener(n.AdEvent.Type.PAUSED,()=>{_=!0,e.classList.add(t),s.onAdPauseChange(!0)}),f.addEventListener(n.AdEvent.Type.RESUMED,()=>{_=!1,e.classList.remove(t),s.onAdPauseChange(!1)}),f.addEventListener(n.AdEvent.Type.AD_PROGRESS,()=>{s.onAdProgress(f?.getRemainingTime()??0)}),f.addEventListener(n.AdErrorEvent.Type.AD_ERROR,e=>{w(!1),s.onError(e.getError().getMessage()),i.play().catch(()=>{})});try{f.init(i.clientWidth,i.clientHeight,n.ViewMode.NORMAL),f.start()}catch(e){s.onError(e instanceof Error?e.message:`Ad playback failed to start.`)}}),d.addEventListener(n.AdErrorEvent.Type.AD_ERROR,e=>{s.onError(e.getError().getMessage())}),T())}).catch(e=>s.onError(e.message));function D(){h=!0,T()}function O(){if(!f)return;let e=f.getVolume();e>0?(y=e,f.setVolume(0)):f.setVolume(y||1),s.onAdMuteChange(f.getVolume()===0)}return{isAdPlaying:()=>g,isAdPaused:()=>_,requestAdsOnFirstPlay:D,setAdTagUrl:E,pauseAd:()=>f?.pause(),resumeAd:()=>f?.resume(),toggleAdMute:O,dispose:()=>{v=!0,b=!1,x=``,S.disconnect(),i.removeEventListener(`ended`,C),f?.destroy(),d?.destroy(),c.remove(),e.classList.remove(n,t)}}}export{o as attachAds};
@@ -1 +0,0 @@
1
- import{n as e,t}from"./constants-35ZnLsDv.mjs";import{n,t as r}from"./sourceHelpers-B0tH-grj.mjs";function i(e){let t;try{t=new URL(e)}catch{return null}if(t.hostname!==`players.brightcove.net`)return null;let[,n,r]=t.pathname.split(`/`),i=t.searchParams.get(`videoId`),a=r?.indexOf(`_`)??-1;return!n||a===-1||!i?null:{accountId:n,playerId:r.slice(0,a),embed:r.slice(a+1),videoId:i}}function a(e){for(let t of e?.plugins??[]){let e=t.options?.serverUrl??t.options?.imaOptions?.serverUrl;if(e)return e}return null}const o=r(async(t,n,r,i)=>{let o=await fetch(`${e}/${t}/${n}_${r}/config.json`);if(!o.ok)throw Error(`Brightcove: could not load player config (${o.status})`);let s=await o.json(),c=i??s?.video_cloud?.policy_key;if(!c)throw Error(`Brightcove: policy_key not found in player config`);return{policyKey:c,adTagUrl:a(s)}},(e,t,n)=>`${e}/${t}_${n}`);async function s(e,r,i){let a=await fetch(`${t}/${e}/videos/${r}`,{headers:{Accept:`application/json;pk=${i}`}});if(!a.ok)throw Error(`Brightcove Playback API error: ${a.status}`);let o=await a.json(),s=n(o.sources||[]);if(!s.length)throw Error(`Brightcove: no playable sources found`);return{sources:s.map(e=>({src:e.src,type:e.type})),poster:o.poster??o.thumbnail??null}}async function c(e,t){let n=i(e);if(!n)throw Error(`Brightcove: invalid src — expected a Brightcove embed URL, e.g. "https://players.brightcove.net/{accountId}/{playerId}_{embed}/index.html?videoId={videoId}"`);let{accountId:r,playerId:a,embed:c,videoId:l}=n,{policyKey:u,adTagUrl:d}=await o(r,a,c,t),{sources:f,poster:p}=await s(r,l,u);return{...f[0],poster:p,adTagUrl:d}}export{c as resolveSource};
@@ -1 +0,0 @@
1
- const e=`video-select`,t=`video-toggle`,n=`fullscreen-pending`,r=`fullscreen-pending-done`,i=`player:positions`,a=`player:autoAdvance`,o=`player:audio`,s={muted:!1,volume:1},c=`mlv-tech`,l=`mlv-youtube`,u=`mlv-vimeo`,d=`mlv-dailymotion`,f=`mlv-ad-playing`,p=`mlv-ad-paused`,m=`16:9`,h=`application/x-mpegURL`,g=`application/dash+xml`,_=`video/mp4`,v=[h,_],y=[.5,.75,1,1.25,1.5,2],b=3500,x=.1,S=3e3,C=[[.25,`firstQuartile`],[.5,`midpoint`],[.75,`thirdQuartile`]],w=.1,T=`https://imasdk.googleapis.com/js/sdkloader/ima3.js`,E=`https://player.vimeo.com/api/player.js`,D=`https://cdn.jwplayer.com/v2/media`,O=`https://edge.api.brightcove.com/playback/v1/accounts`,k=`https://players.brightcove.net`;export{t as A,S as C,i as D,a as E,E as O,C as S,o as T,c as _,s as a,x as b,T as c,_ as d,p as f,r as g,n as h,m as i,e as k,D as l,d as m,k as n,h as o,f as p,g as r,b as s,O as t,w as u,u as v,v as w,y as x,l as y};
@@ -1 +0,0 @@
1
- import{m as e}from"./constants-35ZnLsDv.mjs";import{r as t}from"./embedShared-CbArTtuR.mjs";import{t as n}from"./loadScript-CxzeXqTe.mjs";function r(e){let t=e.match(/[?&]video=([a-zA-Z0-9]+)/);return t?t[1]:e.match(/(?:dailymotion\.com\/(?:embed\/)?video\/|dai\.ly\/)([a-zA-Z0-9]+)/)?.[1]??null}function i(i,a){let o=null;return t(i,a,{cssClass:e,connect:async({techId:e,emitter:t,state:i,isDisposed:s,consumeQueuedPlay:c})=>{let l=r(a.src);if(!l){i.errorState={code:4,message:`Could not parse video ID from source URL`},t.trigger(`error`);return}let u=!1;try{let r=await n(`https://geo.dailymotion.com/libs/player.js`,`dailymotion-sdk`).then(()=>window.dailymotion);if(!r||s())return;let d=await r.createPlayer(e,{video:l,params:{autoplay:!!a.autoplay,mute:!!a.muted}});o=d,a.volume!==void 0&&d.setVolume(a.volume);let f=r.events;c(()=>o?.play()),d.on(f.VIDEO_PLAY,()=>{i.paused=!1,t.trigger(`play`),t.trigger(`playing`),!a.autoplay&&!u&&(u=!0,d.pause())}),d.on(f.VIDEO_PLAYING,()=>{i.paused=!1,t.trigger(`play`),t.trigger(`playing`)}),d.on(f.VIDEO_PAUSE,()=>{i.paused=!0,t.trigger(`pause`)}),f.VIDEO_BUFFERING&&d.on(f.VIDEO_BUFFERING,()=>t.trigger(`waiting`)),d.on(f.VIDEO_END,()=>{i.paused=!0,t.trigger(`ended`)}),d.on(f.VIDEO_TIMECHANGE,e=>{i.currentTime=e.videoTime??i.currentTime,i.duration=e.videoDuration??i.duration,t.trigger(`timeupdate`)}),d.on(f.VIDEO_DURATIONCHANGE,e=>{i.duration=e.videoDuration??i.duration,t.trigger(`durationchange`)}),d.on(f.VIDEO_SEEKEND,e=>{i.currentTime=e.videoTime??i.currentTime,t.trigger(`seeked`)}),d.on(f.PLAYER_VOLUMECHANGE,e=>{i.volume=e.playerVolume??i.volume,i.muted=e.playerIsMuted??i.muted,t.trigger(`volumechange`)}),d.on(f.PLAYER_ERROR,()=>t.trigger(`error`)),f.AD_START&&d.on(f.AD_START,()=>{i.paused=!1,t.trigger(`play`),t.trigger(`adstart`)}),f.AD_END&&d.on(f.AD_END,()=>t.trigger(`adend`))}catch(e){i.errorState={code:4,message:e instanceof Error?e.message:`This video could not be played.`},t.trigger(`error`)}},hasPlayer:()=>!!o,play:()=>o?.play(),pause:()=>o?.pause(),seekToSdk:e=>o?.seek(e),volumeToSdk:e=>o?.setVolume(e),muteToSdk:(e,t)=>o?.setMute(t),sdkFullscreenEnter:()=>o?.setFullscreen(!0),sdkFullscreenExit:()=>o?.setFullscreen(!1),destroyPlayer:()=>{let e=o;o=null,e?.destroy?.()}})}export{i as createDailymotionAdapter};
@@ -1 +0,0 @@
1
- import{_ as e,g as t,h as n}from"./constants-35ZnLsDv.mjs";import{n as r,r as i,t as a}from"./platform-Dg9JBh8M.mjs";function o(){let e=new Map;function t(t,n){e.has(t)||e.set(t,new Set),e.get(t)?.add(n)}function n(t,n){e.get(t)?.delete(n)}function r(t,...n){e.get(t)?.forEach(e=>e(...n))}function i(){e.clear()}return{on:t,off:n,trigger:r,dispose:i}}const s={supportsCaptions:()=>!1,getCaptionTracks:()=>[],setCaptionTrack:()=>{},getActiveCaptionTrack:()=>null,supportsQuality:()=>!1,getQualityLevels:()=>[],getCurrentQuality:()=>null,isAutoQuality:()=>!0,setQuality:()=>{},supportsPip:()=>!1,isPipActive:()=>!1,togglePip:()=>{}};let c=0;function l(e){let t=e.querySelector(`iframe`);if(t){t.tabIndex=-1;return}let n=new MutationObserver(()=>{let t=e.querySelector(`iframe`);t&&(t.tabIndex=-1,n.disconnect())});n.observe(e,{childList:!0,subtree:!0})}function u(t,n,r){t.parentElement?.classList.add(n);let i=`${n}-${++c}`,a=document.createElement(`div`);a.id=i,a.className=e,a.style.cssText=`width:100%;height:100%;top:0;left:0;position:absolute`;let o=document.createElement(`div`);return o.style.cssText=`width:100%;height:100%;position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity 0.2s`,o.appendChild(a),t.parentElement?.insertBefore(o,t),r||l(o),{techId:i,wrapper:o}}function d(e,t){e.style.display=`none`,t.style.opacity=`1`,t.style.pointerEvents=``}function f(e,t,n){t.remove(),e.parentElement?.classList.remove(n),e.style.display=``}function p(e){return e.closest(`.player__shell`)}function m(e,t){if(r()&&t()!==!1)return;let n=p(e);n&&i(n)}function h(){let e=new Set;return{schedule(t,n=0){let r=setTimeout(()=>{e.delete(r),t()},n);e.add(r)},clearAll(){e.forEach(clearTimeout),e.clear()}}}function g(e){e.trigger(n);let r=document.createElement(`div`);r.style.cssText=`position:fixed;inset:0;z-index:99999;opacity:0;pointer-events:none`,document.body.appendChild(r);let i=!1;function a(){i||e.trigger(t)}function o(n){i||(i=!0,e.trigger(t),r.remove(),n?.())}return{overlay:r,reveal:a,finish:o}}function _(e,t,n){let i=o(),{techId:c,wrapper:l}=u(e,n.cssClass,t.nativeUi),{schedule:d,clearAll:p}=h(),g={currentTime:0,duration:0,volume:t.volume??1,muted:!1,paused:!0,playQueued:!1,errorState:null},_=!1,v={techId:c,wrapper:l,emitter:i,state:g,schedule:d,isDisposed:()=>_,consumeQueuedPlay(e){g.playQueued&&(g.playQueued=!1,e())}};n.connect(v);function y(){m(e,()=>{if(!n.sdkFullscreenEnter)return!1;n.sdkFullscreenEnter()})}function b(){if(r()&&n.sdkFullscreenExit){n.sdkFullscreenExit();return}a()}return{el:l,play:()=>n.hasPlayer()?Promise.resolve(n.play()):(g.playQueued=!0,Promise.resolve()),pause:()=>n.pause(),paused:()=>g.paused,currentTime:()=>g.currentTime,setCurrentTime:e=>{g.currentTime=e,n.seekToSdk?.(e)},duration:()=>g.duration,volume:()=>g.volume,setVolume:e=>{g.volume=e,n.volumeToSdk(e)},muted:()=>g.muted,setMuted:e=>{g.muted=e,n.muteToSdk(v,e)},playbackRate:()=>1,setPlaybackRate:()=>{},bufferedEnd:()=>g.currentTime,error:()=>g.errorState,setSrc:e=>{(!n.hasPlayer()||g.errorState)&&(t.src=e,g.errorState=null,n.destroyPlayer(),n.connect(v))},supportsPlaybackRate:()=>!1,...s,enterFullscreen:y,exitFullscreen:b,on:i.on,off:i.off,dispose:()=>{_=!0,p(),n.destroyPlayer(),f(e,l,n.cssClass),i.dispose()}}}export{m as a,g as c,h as i,f as l,u as n,p as o,_ as r,d as s,s as t,o as u};
@@ -1 +0,0 @@
1
- import{d as e,l as t,o as n}from"./constants-35ZnLsDv.mjs";import{n as r,t as i}from"./sourceHelpers-B0tH-grj.mjs";function a(e){return e.match(/cdn\.jwplayer\.com\/videos\/([^-]+)/)?.[1]??e.match(/cdn\.jwplayer\.com\/manifests\/([^.]+)/)?.[1]??e.match(/^jwplayer:\/\/([^/]+)$/)?.[1]??null}function o(e){let t=e?.advertising?.schedule;return Array.isArray(t)&&t.length?t[0].tag??null:e?.advertising?.tag??null}const s=i(async e=>{let n=await fetch(`${t}/${e}`);if(!n.ok)throw Error(`JW Platform API error: ${n.status}`);let i=(await n.json()).playlist?.[0];if(!i)throw Error(`JW Platform: empty playlist`);let a=r((i.sources??[]).map(e=>({src:e.file,type:e.type})));if(!a.length)throw Error(`JW Platform: no playable sources found`);return{src:a[0].src,type:a[0].type,poster:i.image??null,adTagUrl:o(i)}});async function c(t){let r=a(t);if(!r)throw Error(`JW Platform: unrecognised source URL: ${t}`);let i=await s(r);if(t.startsWith(`jwplayer://`))return i;let o=/\.mp4(\?|#|$)/.test(t)?e:n;return{...i,src:t,type:o}}export{c as resolveSource};
@@ -1 +0,0 @@
1
- import{w as e}from"./constants-35ZnLsDv.mjs";function t(e,t=(...e)=>String(e[0])){let n={};return async(...r)=>{let i=t(...r);if(n[i])return n[i];let a=await e(...r);return n[i]=a,a}}function n(t){return t.filter(t=>t.src&&e.includes(t.type)).sort((t,n)=>e.indexOf(t.type)-e.indexOf(n.type))}export{n,t};
@@ -1 +0,0 @@
1
- import{O as e,v as t}from"./constants-35ZnLsDv.mjs";import{r as n}from"./embedShared-CbArTtuR.mjs";import{t as r}from"./loadScript-CxzeXqTe.mjs";function i(e){return e.match(/(?:vimeo\.com\/(?:video\/|channels\/[^/]+\/|groups\/[^/]+\/videos\/)?|player\.vimeo\.com\/video\/)(\d+)/)?.[1]??null}function a(a,o){let s=null;return n(a,o,{cssClass:t,connect:async({techId:t,emitter:n,state:a,isDisposed:c,consumeQueuedPlay:l})=>{let u=i(o.src);if(!u)return;try{await r(e,`vimeo`)}catch(e){if(c())return;a.errorState={code:4,message:e instanceof Error?e.message:`The Vimeo player failed to load.`},n.trigger(`error`);return}if(c())return;if(!window.Vimeo){a.errorState={code:4,message:`The Vimeo player failed to load.`},n.trigger(`error`);return}let d={id:Number(u),byline:!1,portrait:!1,title:!1,transparent:!0,controls:!!o.nativeUi,autopause:!1,...o.autoplay!==void 0&&{autoplay:o.autoplay},...o.muted!==void 0&&{muted:o.muted}};s=new window.Vimeo.Player(t,d),o.autoplay&&(a.playQueued=!0),s.ready().then(()=>{o.muted&&s?.setMuted(!0).catch(()=>{}),o.volume!==void 0&&s?.setVolume(o.volume).catch(()=>{}),l(()=>void s?.play().catch(()=>{}))}).catch(e=>{a.errorState={code:4,message:e?.message||`This video is unavailable or cannot be embedded here.`},n.trigger(`error`)}),s.on(`play`,()=>{a.paused=!1,n.trigger(`play`),n.trigger(`playing`)}),s.on(`pause`,()=>{a.paused=!0,n.trigger(`pause`)}),s.on(`ended`,()=>{a.paused=!0,n.trigger(`ended`)});let f=!1;s.on(`timeupdate`,e=>{let{seconds:t,duration:r}=e;a.currentTime=t,a.duration=r,n.trigger(`timeupdate`),r&&!f&&(f=!0,n.trigger(`durationchange`))}),s.on(`loaded`,()=>{f=!1,n.trigger(`durationchange`)}),s.on(`seeked`,e=>{a.currentTime=e.seconds,n.trigger(`seeked`),n.trigger(`timeupdate`)}),s.on(`bufferstart`,()=>n.trigger(`waiting`)),s.on(`bufferend`,()=>n.trigger(`canplay`)),s.on(`volumechange`,e=>{a.volume=e.volume,n.trigger(`volumechange`)}),s.on(`error`,()=>n.trigger(`error`))},hasPlayer:()=>!!s,play:()=>s?.play(),pause:()=>void s?.pause().catch(()=>{}),seekToSdk:e=>void s?.setCurrentTime(e).catch(()=>{}),volumeToSdk:e=>void s?.setVolume(e).catch(()=>{}),muteToSdk:({emitter:e,schedule:t},n)=>{s?.setMuted(n).then(()=>t(()=>e.trigger(`volumechange`),50)).catch(()=>{})},sdkFullscreenEnter:()=>void s?.requestFullscreen().catch(()=>{}),destroyPlayer:()=>{let e=s;s=null,e?.destroy().catch(()=>{})}})}export{a as createVimeoAdapter};
@@ -1 +0,0 @@
1
- import{y as e}from"./constants-35ZnLsDv.mjs";import{t}from"./platform-Dg9JBh8M.mjs";import{a as n,c as r,i,l as a,n as o,t as s,u as c}from"./embedShared-CbArTtuR.mjs";import{t as l}from"./loadScript-CxzeXqTe.mjs";function u(e,t){return t===e.PlayerState.PLAYING||t===e.PlayerState.BUFFERING}function d(e){let t={videoId:null,listId:null},n=e.match(/^.*(youtu\.be\/|v\/|u\/\w\/|embed\/|watch\?v=|shorts\/|&v=)([^#&?]*).*/);n?.[2]?.length===11&&(t.videoId=n[2]);let r=e.match(/[?&]list=([^#&?]+)/);return r?.[1]&&(t.listId=r[1]),t}let f=null,p=null;function m(){return f?Promise.resolve(f):(p||(p=l(`https://www.youtube.com/iframe_api`).then(()=>new Promise((e,t)=>{let n=window.YT;if(!n){t(Error(`The YouTube player failed to load.`));return}n.ready(()=>{f=n,e(n)})})),p.catch(()=>{p=null})),p)}function h(l,p){let h=c(),{techId:g,wrapper:_}=o(l,e,p.nativeUi),v=d(p.src),y=null,b=v.videoId,x=!1,S=!1,C=!1,w=null,T=!1,E=null,D=null,O=!1,k=!1,{schedule:A,clearAll:j}=i(),M=null,N={active:!1,wasPaused:!1,timeBefore:0,catchUpInterval:null};function P(){try{let e=y?.getPlayerResponse()?.adPlacements;return Array.isArray(e)&&e.length>0}catch{return!1}}function F(e){y?.loadVideoById({videoId:e})}function I(e){y?.cueVideoById({videoId:e})}function L(){return v.videoId?(N.wasPaused=!1,x?b===v.videoId?y?.playVideo():(F(v.videoId),b=v.videoId):(h.trigger(`waiting`),S=!0),Promise.resolve()):Promise.resolve()}function R(){N.catchUpInterval&&clearInterval(N.catchUpInterval),N.active=!1,N.wasPaused&&y?.pauseVideo(),h.trigger(`seeked`)}function z(){k=(y?.getAvailablePlaybackRates()??[]).length>1,x=!0,p.muted&&y?.mute(),p.volume!==void 0&&y?.setVolume(p.volume*100),S?L():C&&v.videoId&&(I(v.videoId),b=v.videoId)}function B(e){if(e===w||E!==null)return;w=e;let t=P();t!==T&&(T=t,h.trigger(t?`adstart`:`adend`));let n=window.YT;if(n){switch(e){case-1:h.trigger(`durationchange`),h.trigger(`ratechange`);break;case n.PlayerState.ENDED:h.trigger(`ended`);break;case n.PlayerState.PLAYING:h.trigger(`timeupdate`),h.trigger(`durationchange`),h.trigger(`playing`),h.trigger(`play`),N.active&&R();break;case n.PlayerState.PAUSED:h.trigger(`canplay`),N.active||h.trigger(`pause`);break;case n.PlayerState.BUFFERING:h.trigger(`waiting`);break;case n.PlayerState.CUED:h.trigger(`canplay`)}M&&=(clearInterval(M),null),e===n.PlayerState.PLAYING&&(M=setInterval(()=>h.trigger(`timeupdate`),250))}}function V(){let e={controls:+!!p.nativeUi,modestbranding:1,rel:0,showinfo:0,mute:+!!p.muted,origin:window.location.origin,allowfullscreen:1,fullscreen:1,fs:1,autoplay:0,playsinline:1};b=v.videoId,y=new window.YT.Player(g,{videoId:b??void 0,playerVars:e,events:{onReady:z,onStateChange:e=>B(e.data),onPlaybackRateChange:()=>h.trigger(`ratechange`),onVolumeChange:()=>h.trigger(`volumechange`),onError:e=>{E=e.data,h.trigger(`error`),A(()=>{E=null})}}})}function H(){if(f){V();return}m().then(()=>{O||V()},e=>{O||(D={code:4,message:e instanceof Error?e.message:`The YouTube player failed to load.`},h.trigger(`error`))})}H(),p.autoplay?x?L():S=!0:v.videoId&&(C=!0);function U(){if(!y)return;let e=y.getCurrentTime(),{video_id:t}=y.getVideoData();y.pauseVideo();let{overlay:n,reveal:i,finish:a}=r(h),o=document.createElement(`div`);o.id=`yt-fs-${Math.random().toString(36).slice(2)}`,n.appendChild(o);let s=null,c=()=>{document.removeEventListener(`pointerdown`,l,!0),a(()=>{let t=s?.getCurrentTime()??e;try{s?.destroy()}catch{}y?.seekTo(t,!0),h.trigger(`timeupdate`)})};function l(){c()}s=new window.YT.Player(o.id,{videoId:t,playerVars:{playsinline:0,autoplay:0,controls:1,modestbranding:1,rel:0,start:Math.floor(e)},events:{onReady:t=>{i(),t.target.seekTo(e,!0),t.target.playVideo()},onStateChange:e=>{let t=window.YT;t&&(e.data===t.PlayerState.ENDED?c():e.data===t.PlayerState.PAUSED?(document.removeEventListener(`pointerdown`,l,!0),document.addEventListener(`pointerdown`,l,{capture:!0,once:!0})):(document.removeEventListener(`pointerdown`,l,!0),i()))}}})}function W(){n(l,()=>{if(!y)return!1;U()})}return{el:_,play:L,pause:()=>y?.pauseVideo(),paused:()=>{if(!y)return!0;let e=window.YT;return!e||!u(e,w)},currentTime:()=>x?y?.getCurrentTime()??0:0,setCurrentTime:e=>{if(!x||!y)return;let t=window.YT;t&&w===t.PlayerState.PAUSED&&(N.timeBefore=y.getCurrentTime()),N.active||(N.wasPaused=!t||!u(t,w)),y.seekTo(e,!0),h.trigger(`timeupdate`),N.active=!0,t&&w===t.PlayerState.PAUSED&&N.timeBefore!==e&&(N.catchUpInterval&&clearInterval(N.catchUpInterval),N.catchUpInterval=setInterval(()=>{w!==t.PlayerState.PAUSED||!N.active?N.catchUpInterval&&clearInterval(N.catchUpInterval):y&&y.getCurrentTime()!==N.timeBefore&&(h.trigger(`timeupdate`),R())},250))},duration:()=>x?y?.getDuration()??0:0,volume:()=>x&&y?y.getVolume()/100:1,setVolume:e=>{x&&y?.setVolume(e*100)},muted:()=>x?y?.isMuted()??!1:!1,setMuted:e=>{x&&y&&(e?y.mute():y.unMute(),A(()=>h.trigger(`volumechange`),50))},playbackRate:()=>x?y?.getPlaybackRate()??1:1,setPlaybackRate:e=>{x&&y?.setPlaybackRate(e)},bufferedEnd:()=>!x||!y?.getVideoLoadedFraction?0:y.getVideoLoadedFraction()*y.getDuration(),error:()=>D??(E===null?null:{code:E,message:`This video could not be played.`}),setSrc:e=>{let t=d(e);if(v.videoId=t.videoId,v.listId=t.listId,v.videoId){if(D){D=null,p.autoplay||(C=!0),H();return}x?(F(v.videoId),b=v.videoId):C=!0}},supportsPlaybackRate:()=>k,...s,enterFullscreen:W,exitFullscreen:t,on:h.on,off:h.off,dispose:()=>{if(O=!0,j(),M&&clearInterval(M),N.catchUpInterval&&clearInterval(N.catchUpInterval),y)try{y.stopVideo(),y.destroy()}catch{}y=null,a(l,_,e),h.dispose()}}}export{h as createYoutubeAdapter};