@munsonlabs/video-player 0.2.8 → 0.2.10

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.
@@ -1 +0,0 @@
1
- import{n as e}from"./platform-Dg9JBh8M.mjs";import{t}from"./loadScript-CxzeXqTe.mjs";const n=`mlv-ad-playing`,r=`mlv-ad-paused`;function i(){return window.google?.ima?Promise.resolve():t(`https://imasdk.googleapis.com/js/sdkloader/ima3.js`,`ima`)}function a(t,a,o,s){let c=document.createElement(`div`);c.className=`ima-ad-container`,t.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(a);function C(){d?.contentComplete()}function w(e){g=e,t.classList.toggle(n,e),e||(_=!1,t.classList.remove(r))}function T(){if(p||!m||!h||!u||!d||!l)return;let e=window.google?.ima;if(!e)return;p=!0,u.initialize();let t=new e.AdsRequest;t.adTagUrl=l,d.requestAds(t)}function E(e){l=e,T()}i().then(()=>{if(v)return;let n=window.google?.ima;n&&(u=new n.AdDisplayContainer(c,a),d=new n.AdsLoader(u),m=!0,d.addEventListener(n.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED,i=>{if(v)return;let o=new n.AdsRenderingSettings;o.restoreCustomPlaybackStateOnAdBreakComplete=!0,f=i.getAdsManager(a,o),a.addEventListener(`ended`,C),x=a.currentSrc,f.addEventListener(n.AdEvent.Type.CONTENT_PAUSE_REQUESTED,()=>{a.removeEventListener(`ended`,C),a.ended&&e()&&(b=!0),a.pause(),w(!0),s.onAdStart();let t=f?.getVolume()??1;t>0&&(y=t),s.onAdMuteChange(t===0)}),f.addEventListener(n.AdEvent.Type.CONTENT_RESUME_REQUESTED,()=>{if(a.addEventListener(`ended`,C),w(!1),s.onAdEnd(),b){b=!1,x&&a.currentSrc!==x&&(a.src=x);let e=a.duration;e&&isFinite(e)&&(a.currentTime=e-.5);return}a.ended||a.play().catch(()=>{})}),f.addEventListener(n.AdEvent.Type.PAUSED,()=>{_=!0,t.classList.add(r),s.onAdPauseChange(!0)}),f.addEventListener(n.AdEvent.Type.RESUMED,()=>{_=!1,t.classList.remove(r),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()),a.play().catch(()=>{})});try{f.init(a.clientWidth,a.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=>{f||(p=!1),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(),a.removeEventListener(`ended`,C),f?.destroy(),d?.destroy(),c.remove(),t.classList.remove(n,r)}}}export{a as attachAds};
@@ -1 +0,0 @@
1
- import{a as e,n as t}from"./embedShared-R2ohosIo.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:`mlv-dailymotion`,connect:async({techId:t,emitter:i,state:s,isDisposed:c,consumeQueuedPlay:l})=>{let u=r(a.src);if(!u){s.errorState={code:4,message:`Could not parse video ID from source URL`},i.trigger(`error`);return}let d=!1;try{let r=await n(`https://geo.dailymotion.com/libs/player.js`,`dailymotion-sdk`).then(()=>window.dailymotion);if(!r||c())return;let f=await r.createPlayer(t,{video:u,params:{autoplay:!!a.autoplay,mute:!!a.muted}});if(c()){f.destroy?.();return}o=f,a.volume!==void 0&&f.setVolume(a.volume);let p=r.events;l(()=>o?.play()),f.on(p.VIDEO_PLAY,()=>{s.paused=!1,i.trigger(`play`),i.trigger(`playing`),!a.autoplay&&!d&&(d=!0,f.pause())}),f.on(p.VIDEO_PLAYING,()=>{s.paused=!1,i.trigger(`play`),i.trigger(`playing`)}),f.on(p.VIDEO_PAUSE,()=>{s.paused=!0,i.trigger(`pause`)}),p.VIDEO_BUFFERING&&f.on(p.VIDEO_BUFFERING,()=>i.trigger(`waiting`)),f.on(p.VIDEO_END,()=>{s.paused=!0,i.trigger(`ended`)}),f.on(p.VIDEO_TIMECHANGE,e=>{s.currentTime=e.videoTime??s.currentTime,s.duration=e.videoDuration??s.duration,i.trigger(`timeupdate`)}),f.on(p.VIDEO_DURATIONCHANGE,e=>{s.duration=e.videoDuration??s.duration,i.trigger(`durationchange`)}),f.on(p.VIDEO_SEEKEND,e=>{s.currentTime=e.videoTime??s.currentTime,i.trigger(`seeked`)}),f.on(p.PLAYER_VOLUMECHANGE,e=>{s.volume=e.playerVolume??s.volume,s.muted=e.playerIsMuted??s.muted,i.trigger(`volumechange`)}),f.on(p.PLAYER_ERROR,t=>{e(s,i,t?.error?.message,`This video could not be played.`)}),p.AD_START&&f.on(p.AD_START,()=>{s.paused=!1,i.trigger(`play`),i.trigger(`adstart`)}),p.AD_END&&f.on(p.AD_END,()=>i.trigger(`adend`))}catch(e){s.errorState={code:4,message:e instanceof Error?e.message:`This video could not be played.`},i.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{i as e,l as t,r as n}from"./constants-Buc1xZvW.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}}function s(e){return e.closest(`.${t}`)}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}),u.set(e,n)}const u=new WeakMap;function d(e,t,n){e.parentElement?.classList.add(t);let r=`${t}-${++c}`,i=document.createElement(`div`);i.id=r,i.className=`mlv-tech`,i.style.cssText=`width:100%;height:100%;top:0;left:0;position:absolute`;let a=document.createElement(`div`);return a.style.cssText=`width:100%;height:100%;position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity 0.2s`,a.appendChild(i),e.parentElement?.insertBefore(a,e),n||l(a),{techId:r,wrapper:a}}function f(e,t){e.style.display=`none`,t.style.opacity=`1`,t.style.pointerEvents=``}function p(e,t,n){u.get(t)?.disconnect(),u.delete(t),t.remove(),e.parentElement?.classList.remove(n),e.style.display=``}function m(e,t){if(r()&&t()!==!1)return;let n=s(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(t){t.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,a=!1;function o(){i||a||(a=!0,t.trigger(e))}function s(n){i||(i=!0,t.trigger(e),r.remove(),n?.())}return{overlay:r,reveal:o,finish:s}}function _(e,t,n,r){e.errorState={code:4,message:n||r},t.trigger(`error`)}function v(e,t,n){let i=o(),{techId:s,wrapper:c}=d(e,n.cssClass,t.nativeUi),{schedule:l,clearAll:u}=h(),g={currentTime:0,duration:0,volume:t.volume??1,muted:!1,paused:!0,playQueued:!1,errorState:null},_=!1,v={techId:s,wrapper:c,emitter:i,state:g,schedule:l,isDisposed:()=>_,consumeQueuedPlay(e){g.playQueued&&(g.playQueued=!1,e())}};n.connect(v);function y(){g.errorState=null,n.destroyPlayer(),n.connect(v)}function b(){m(e,()=>{if(!n.sdkFullscreenEnter)return!1;n.sdkFullscreenEnter()})}function x(){if(r()&&n.sdkFullscreenExit){n.sdkFullscreenExit();return}a()}return{el:c,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,reveal:e=>f(e,c),load:e=>{t.src=e,y()},retry:y,supportsPlaybackRate:()=>!1,enterFullscreen:b,exitFullscreen:x,on:i.on,off:i.off,dispose:()=>{_=!0,u(),n.destroyPlayer(),p(e,c,n.cssClass),i.dispose()}}}export{_ as a,p as c,m as i,s as l,v as n,f as o,h as r,g as s,d as t,o as u};
@@ -1 +0,0 @@
1
- import{a as e,n as t}from"./embedShared-R2ohosIo.mjs";import{t as n}from"./loadScript-CxzeXqTe.mjs";function r(e){return e.match(/(?:vimeo\.com\/(?:video\/|channels\/[^/]+\/|groups\/[^/]+\/videos\/)?|player\.vimeo\.com\/video\/)(\d+)/)?.[1]??null}function i(i,a){let o=null;return t(i,a,{cssClass:`mlv-vimeo`,connect:async({techId:t,emitter:i,state:s,isDisposed:c,consumeQueuedPlay:l})=>{let u=r(a.src);if(!u)return;try{await n(`https://player.vimeo.com/api/player.js`,`vimeo`)}catch(e){if(c())return;s.errorState={code:4,message:e instanceof Error?e.message:`The Vimeo player failed to load.`},i.trigger(`error`);return}if(c())return;if(!window.Vimeo){s.errorState={code:4,message:`The Vimeo player failed to load.`},i.trigger(`error`);return}let d={id:Number(u),byline:!1,portrait:!1,title:!1,transparent:!0,controls:!!a.nativeUi,autopause:!1,...a.autoplay!==void 0&&{autoplay:a.autoplay},...a.muted!==void 0&&{muted:a.muted}};o=new window.Vimeo.Player(t,d),a.autoplay&&(s.playQueued=!0),o.ready().then(()=>{a.muted&&o?.setMuted(!0).catch(()=>{}),a.volume!==void 0&&o?.setVolume(a.volume).catch(()=>{}),l(()=>void o?.play().catch(()=>{}))}).catch(t=>{e(s,i,t?.message,`This video is unavailable or cannot be embedded here.`)}),o.on(`play`,()=>{s.paused=!1,i.trigger(`play`),i.trigger(`playing`)}),o.on(`pause`,()=>{s.paused=!0,i.trigger(`pause`)}),o.on(`ended`,()=>{s.paused=!0,i.trigger(`ended`)});let f=!1;o.on(`timeupdate`,e=>{let{seconds:t,duration:n}=e;s.currentTime=t,s.duration=n,i.trigger(`timeupdate`),n&&!f&&(f=!0,i.trigger(`durationchange`))}),o.on(`loaded`,()=>{f=!1,i.trigger(`durationchange`)}),o.on(`seeked`,e=>{s.currentTime=e.seconds,i.trigger(`seeked`),i.trigger(`timeupdate`)}),o.on(`bufferstart`,()=>i.trigger(`waiting`)),o.on(`bufferend`,()=>i.trigger(`canplay`)),o.on(`volumechange`,e=>{s.volume=e.volume,i.trigger(`volumechange`)}),o.on(`error`,t=>{let n=t?.message;e(s,i,n,`This video is unavailable or cannot be embedded here.`)})},hasPlayer:()=>!!o,play:()=>o?.play(),pause:()=>void o?.pause().catch(()=>{}),seekToSdk:e=>void o?.setCurrentTime(e).catch(()=>{}),volumeToSdk:e=>void o?.setVolume(e).catch(()=>{}),muteToSdk:({emitter:e,schedule:t},n)=>{o?.setMuted(n).then(()=>t(()=>e.trigger(`volumechange`),50)).catch(()=>{})},sdkFullscreenEnter:()=>void o?.requestFullscreen().catch(()=>{}),destroyPlayer:()=>{let e=o;o=null,e?.destroy().catch(()=>{})}})}export{i as createVimeoAdapter};
@@ -1 +0,0 @@
1
- import{c as e,i as t,o as n,r,s as i,t as a,u as o}from"./embedShared-R2ohosIo.mjs";import{t as s}from"./platform-Dg9JBh8M.mjs";import{t as c}from"./loadScript-CxzeXqTe.mjs";const l=`mlv-youtube`;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=c(`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(c,p){let h=o(),{techId:g,wrapper:_}=a(c,l,p.nativeUi),v=d(p.src),y=null,b=null,x=v.videoId,S=!1,C=!1,w=!1,T=null,E=!1,D=null,O=null,k=!1,A=!1,{schedule:j,clearAll:M}=r(),N=null,P={active:!1,wasPaused:!1,timeBefore:0,catchUpInterval:null};function F(){try{let e=y?.getPlayerResponse()?.adPlacements;return Array.isArray(e)&&e.length>0}catch{return!1}}function I(e){y?.loadVideoById({videoId:e})}function L(e){y?.cueVideoById({videoId:e})}function R(){return v.videoId?(P.wasPaused=!1,S?x===v.videoId?y?.playVideo():(I(v.videoId),x=v.videoId):(h.trigger(`waiting`),C=!0),Promise.resolve()):Promise.resolve()}function z(){P.catchUpInterval&&clearInterval(P.catchUpInterval),P.active=!1,P.wasPaused&&y?.pauseVideo(),h.trigger(`seeked`)}function B(){A=(y?.getAvailablePlaybackRates()??[]).length>1,S=!0,p.muted&&y?.mute(),p.volume!==void 0&&y?.setVolume(p.volume*100),C?R():w&&v.videoId&&(L(v.videoId),x=v.videoId)}function V(e){if(e===T||D!==null)return;T=e;let t=F();t!==E&&(E=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`),P.active&&z();break;case n.PlayerState.PAUSED:h.trigger(`canplay`),P.active||h.trigger(`pause`);break;case n.PlayerState.BUFFERING:h.trigger(`waiting`);break;case n.PlayerState.CUED:h.trigger(`canplay`)}N&&=(clearInterval(N),null),e===n.PlayerState.PLAYING&&(N=setInterval(()=>h.trigger(`timeupdate`),250))}}function H(){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};x=v.videoId,y=new window.YT.Player(g,{videoId:x??void 0,playerVars:e,events:{onReady:B,onStateChange:e=>V(e.data),onPlaybackRateChange:()=>h.trigger(`ratechange`),onVolumeChange:()=>h.trigger(`volumechange`),onError:e=>{D=e.data,h.trigger(`error`),j(()=>{D=null})}}})}function U(){if(f){H();return}m().then(()=>{k||H()},e=>{k||(O={code:4,message:e instanceof Error?e.message:`The YouTube player failed to load.`},h.trigger(`error`))})}U(),p.autoplay?S?R():C=!0:v.videoId&&(w=!0);function W(){if(v.videoId){if(O){O=null,p.autoplay||(w=!0),U();return}if(S){I(v.videoId),x=v.videoId;return}w=!0}}function G(){if(!y)return;b?.();let e=y.getCurrentTime(),{video_id:t}=y.getVideoData();y.pauseVideo();let{overlay:n,reveal:r,finish:a}=i(h),o=document.createElement(`div`);o.id=`yt-fs-${Math.random().toString(36).slice(2)}`,n.appendChild(o);let s=null,c=()=>{b=null,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()}b=c,s=new window.YT.Player(o.id,{videoId:t,playerVars:{playsinline:0,autoplay:0,controls:1,modestbranding:1,rel:0,start:Math.floor(e)},events:{onReady:t=>{r(),t.target.seekTo(e,!0),t.target.playVideo()},onStateChange:e=>{let t=window.YT;t&&(e.data===t.PlayerState.ENDED?c():e.data===t.PlayerState.PAUSED?(document.removeEventListener(`pointerdown`,l,!0),document.addEventListener(`pointerdown`,l,{capture:!0,once:!0})):(document.removeEventListener(`pointerdown`,l,!0),r()))}}})}function K(){t(c,()=>{if(!y)return!1;G()})}return{el:_,play:R,pause:()=>y?.pauseVideo(),paused:()=>{if(!y)return!0;let e=window.YT;return!e||!u(e,T)},currentTime:()=>S?y?.getCurrentTime()??0:0,setCurrentTime:e=>{if(!S||!y)return;let t=window.YT;t&&T===t.PlayerState.PAUSED&&(P.timeBefore=y.getCurrentTime()),P.active||(P.wasPaused=!t||!u(t,T)),y.seekTo(e,!0),h.trigger(`timeupdate`),P.active=!0,t&&T===t.PlayerState.PAUSED&&P.timeBefore!==e&&(P.catchUpInterval&&clearInterval(P.catchUpInterval),P.catchUpInterval=setInterval(()=>{T!==t.PlayerState.PAUSED||!P.active?P.catchUpInterval&&clearInterval(P.catchUpInterval):y&&y.getCurrentTime()!==P.timeBefore&&(h.trigger(`timeupdate`),z())},250))},duration:()=>S?y?.getDuration()??0:0,volume:()=>S&&y?y.getVolume()/100:1,setVolume:e=>{S&&y?.setVolume(e*100)},muted:()=>S?y?.isMuted()??!1:!1,setMuted:e=>{S&&y&&(e?y.mute():y.unMute(),j(()=>h.trigger(`volumechange`),50))},playbackRate:()=>S?y?.getPlaybackRate()??1:1,setPlaybackRate:e=>{S&&y?.setPlaybackRate(e)},bufferedEnd:()=>!S||!y?.getVideoLoadedFraction?0:y.getVideoLoadedFraction()*y.getDuration(),error:()=>O??(D===null?null:{code:D,message:`This video could not be played.`}),reveal:e=>n(e,_),load:e=>{let t=d(e);v.videoId=t.videoId,v.listId=t.listId,v.videoId&&W()},retry:W,supportsPlaybackRate:()=>A,enterFullscreen:K,exitFullscreen:s,on:h.on,off:h.off,dispose:()=>{if(k=!0,b?.(),M(),N&&clearInterval(N),P.catchUpInterval&&clearInterval(P.catchUpInterval),y)try{y.stopVideo(),y.destroy()}catch{}y=null,e(c,_,l),h.dispose()}}}export{h as createYoutubeAdapter};
@@ -1 +0,0 @@
1
- import{n as e}from"./platform-Dg9JBh8M.mjs";import{t}from"./loadScript-CxzeXqTe.mjs";const n=`mlv-ad-playing`,r=`mlv-ad-paused`;function i(){return window.google?.ima?Promise.resolve():t(`https://imasdk.googleapis.com/js/sdkloader/ima3.js`,`ima`)}function a(t,a,o,s){let c=document.createElement(`div`);c.className=`ima-ad-container`,t.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(a);function C(){d?.contentComplete()}function w(e){g=e,t.classList.toggle(n,e),e||(_=!1,t.classList.remove(r))}function T(){if(p||!m||!h||!u||!d||!l)return;let e=window.google?.ima;if(!e)return;p=!0,u.initialize();let t=new e.AdsRequest;t.adTagUrl=l,d.requestAds(t)}function E(e){l=e,T()}i().then(()=>{if(v)return;let n=window.google?.ima;n&&(u=new n.AdDisplayContainer(c,a),d=new n.AdsLoader(u),m=!0,d.addEventListener(n.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED,i=>{if(v)return;let o=new n.AdsRenderingSettings;o.restoreCustomPlaybackStateOnAdBreakComplete=!0,f=i.getAdsManager(a,o),a.addEventListener(`ended`,C),x=a.currentSrc,f.addEventListener(n.AdEvent.Type.CONTENT_PAUSE_REQUESTED,()=>{a.removeEventListener(`ended`,C),a.ended&&e()&&(b=!0),a.pause(),w(!0),s.onAdStart();let t=f?.getVolume()??1;t>0&&(y=t),s.onAdMuteChange(t===0)}),f.addEventListener(n.AdEvent.Type.CONTENT_RESUME_REQUESTED,()=>{if(a.addEventListener(`ended`,C),w(!1),s.onAdEnd(),b){b=!1,x&&a.currentSrc!==x&&(a.src=x);let e=a.duration;e&&isFinite(e)&&(a.currentTime=e-.5);return}a.ended||a.play().catch(()=>{})}),f.addEventListener(n.AdEvent.Type.PAUSED,()=>{_=!0,t.classList.add(r),s.onAdPauseChange(!0)}),f.addEventListener(n.AdEvent.Type.RESUMED,()=>{_=!1,t.classList.remove(r),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()),a.play().catch(()=>{})});try{f.init(a.clientWidth,a.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=>{f||(p=!1),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(),a.removeEventListener(`ended`,C),f?.destroy(),d?.destroy(),c.remove(),t.classList.remove(n,r)}}}export{a as attachAds};
@@ -1 +0,0 @@
1
- import{a as e,n as t}from"./embedShared-R2ohosIo.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:`mlv-dailymotion`,connect:async({techId:t,emitter:i,state:s,isDisposed:c,consumeQueuedPlay:l})=>{let u=r(a.src);if(!u){s.errorState={code:4,message:`Could not parse video ID from source URL`},i.trigger(`error`);return}let d=!1;try{let r=await n(`https://geo.dailymotion.com/libs/player.js`,`dailymotion-sdk`).then(()=>window.dailymotion);if(!r||c())return;let f=await r.createPlayer(t,{video:u,params:{autoplay:!!a.autoplay,mute:!!a.muted}});if(c()){f.destroy?.();return}o=f,a.volume!==void 0&&f.setVolume(a.volume);let p=r.events;l(()=>o?.play()),f.on(p.VIDEO_PLAY,()=>{s.paused=!1,i.trigger(`play`),i.trigger(`playing`),!a.autoplay&&!d&&(d=!0,f.pause())}),f.on(p.VIDEO_PLAYING,()=>{s.paused=!1,i.trigger(`play`),i.trigger(`playing`)}),f.on(p.VIDEO_PAUSE,()=>{s.paused=!0,i.trigger(`pause`)}),p.VIDEO_BUFFERING&&f.on(p.VIDEO_BUFFERING,()=>i.trigger(`waiting`)),f.on(p.VIDEO_END,()=>{s.paused=!0,i.trigger(`ended`)}),f.on(p.VIDEO_TIMECHANGE,e=>{s.currentTime=e.videoTime??s.currentTime,s.duration=e.videoDuration??s.duration,i.trigger(`timeupdate`)}),f.on(p.VIDEO_DURATIONCHANGE,e=>{s.duration=e.videoDuration??s.duration,i.trigger(`durationchange`)}),f.on(p.VIDEO_SEEKEND,e=>{s.currentTime=e.videoTime??s.currentTime,i.trigger(`seeked`)}),f.on(p.PLAYER_VOLUMECHANGE,e=>{s.volume=e.playerVolume??s.volume,s.muted=e.playerIsMuted??s.muted,i.trigger(`volumechange`)}),f.on(p.PLAYER_ERROR,t=>{e(s,i,t?.error?.message,`This video could not be played.`)}),p.AD_START&&f.on(p.AD_START,()=>{s.paused=!1,i.trigger(`play`),i.trigger(`adstart`)}),p.AD_END&&f.on(p.AD_END,()=>i.trigger(`adend`))}catch(e){s.errorState={code:4,message:e instanceof Error?e.message:`This video could not be played.`},i.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{i as e,l as t,r as n}from"./constants-Buc1xZvW.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}}function s(e){return e.closest(`.${t}`)}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}),u.set(e,n)}const u=new WeakMap;function d(e,t,n){e.parentElement?.classList.add(t);let r=`${t}-${++c}`,i=document.createElement(`div`);i.id=r,i.className=`mlv-tech`,i.style.cssText=`width:100%;height:100%;top:0;left:0;position:absolute`;let a=document.createElement(`div`);return a.style.cssText=`width:100%;height:100%;position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity 0.2s`,a.appendChild(i),e.parentElement?.insertBefore(a,e),n||l(a),{techId:r,wrapper:a}}function f(e,t){e.style.display=`none`,t.style.opacity=`1`,t.style.pointerEvents=``}function p(e,t,n){u.get(t)?.disconnect(),u.delete(t),t.remove(),e.parentElement?.classList.remove(n),e.style.display=``}function m(e,t){if(r()&&t()!==!1)return;let n=s(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(t){t.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,a=!1;function o(){i||a||(a=!0,t.trigger(e))}function s(n){i||(i=!0,t.trigger(e),r.remove(),n?.())}return{overlay:r,reveal:o,finish:s}}function _(e,t,n,r){e.errorState={code:4,message:n||r},t.trigger(`error`)}function v(e,t,n){let i=o(),{techId:s,wrapper:c}=d(e,n.cssClass,t.nativeUi),{schedule:l,clearAll:u}=h(),g={currentTime:0,duration:0,volume:t.volume??1,muted:!1,paused:!0,playQueued:!1,errorState:null},_=!1,v={techId:s,wrapper:c,emitter:i,state:g,schedule:l,isDisposed:()=>_,consumeQueuedPlay(e){g.playQueued&&(g.playQueued=!1,e())}};n.connect(v);function y(){g.errorState=null,n.destroyPlayer(),n.connect(v)}function b(){m(e,()=>{if(!n.sdkFullscreenEnter)return!1;n.sdkFullscreenEnter()})}function x(){if(r()&&n.sdkFullscreenExit){n.sdkFullscreenExit();return}a()}return{el:c,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,reveal:e=>f(e,c),load:e=>{t.src=e,y()},retry:y,supportsPlaybackRate:()=>!1,enterFullscreen:b,exitFullscreen:x,on:i.on,off:i.off,dispose:()=>{_=!0,u(),n.destroyPlayer(),p(e,c,n.cssClass),i.dispose()}}}export{_ as a,p as c,m as i,s as l,v as n,f as o,h as r,g as s,d as t,o as u};
@@ -1 +0,0 @@
1
- import{a as e,n as t}from"./embedShared-R2ohosIo.mjs";import{t as n}from"./loadScript-CxzeXqTe.mjs";function r(e){return e.match(/(?:vimeo\.com\/(?:video\/|channels\/[^/]+\/|groups\/[^/]+\/videos\/)?|player\.vimeo\.com\/video\/)(\d+)/)?.[1]??null}function i(i,a){let o=null;return t(i,a,{cssClass:`mlv-vimeo`,connect:async({techId:t,emitter:i,state:s,isDisposed:c,consumeQueuedPlay:l})=>{let u=r(a.src);if(!u)return;try{await n(`https://player.vimeo.com/api/player.js`,`vimeo`)}catch(e){if(c())return;s.errorState={code:4,message:e instanceof Error?e.message:`The Vimeo player failed to load.`},i.trigger(`error`);return}if(c())return;if(!window.Vimeo){s.errorState={code:4,message:`The Vimeo player failed to load.`},i.trigger(`error`);return}let d={id:Number(u),byline:!1,portrait:!1,title:!1,transparent:!0,controls:!!a.nativeUi,autopause:!1,...a.autoplay!==void 0&&{autoplay:a.autoplay},...a.muted!==void 0&&{muted:a.muted}};o=new window.Vimeo.Player(t,d),a.autoplay&&(s.playQueued=!0),o.ready().then(()=>{a.muted&&o?.setMuted(!0).catch(()=>{}),a.volume!==void 0&&o?.setVolume(a.volume).catch(()=>{}),l(()=>void o?.play().catch(()=>{}))}).catch(t=>{e(s,i,t?.message,`This video is unavailable or cannot be embedded here.`)}),o.on(`play`,()=>{s.paused=!1,i.trigger(`play`),i.trigger(`playing`)}),o.on(`pause`,()=>{s.paused=!0,i.trigger(`pause`)}),o.on(`ended`,()=>{s.paused=!0,i.trigger(`ended`)});let f=!1;o.on(`timeupdate`,e=>{let{seconds:t,duration:n}=e;s.currentTime=t,s.duration=n,i.trigger(`timeupdate`),n&&!f&&(f=!0,i.trigger(`durationchange`))}),o.on(`loaded`,()=>{f=!1,i.trigger(`durationchange`)}),o.on(`seeked`,e=>{s.currentTime=e.seconds,i.trigger(`seeked`),i.trigger(`timeupdate`)}),o.on(`bufferstart`,()=>i.trigger(`waiting`)),o.on(`bufferend`,()=>i.trigger(`canplay`)),o.on(`volumechange`,e=>{s.volume=e.volume,i.trigger(`volumechange`)}),o.on(`error`,t=>{let n=t?.message;e(s,i,n,`This video is unavailable or cannot be embedded here.`)})},hasPlayer:()=>!!o,play:()=>o?.play(),pause:()=>void o?.pause().catch(()=>{}),seekToSdk:e=>void o?.setCurrentTime(e).catch(()=>{}),volumeToSdk:e=>void o?.setVolume(e).catch(()=>{}),muteToSdk:({emitter:e,schedule:t},n)=>{o?.setMuted(n).then(()=>t(()=>e.trigger(`volumechange`),50)).catch(()=>{})},sdkFullscreenEnter:()=>void o?.requestFullscreen().catch(()=>{}),destroyPlayer:()=>{let e=o;o=null,e?.destroy().catch(()=>{})}})}export{i as createVimeoAdapter};
@@ -1 +0,0 @@
1
- import{c as e,i as t,o as n,r,s as i,t as a,u as o}from"./embedShared-R2ohosIo.mjs";import{t as s}from"./platform-Dg9JBh8M.mjs";import{t as c}from"./loadScript-CxzeXqTe.mjs";const l=`mlv-youtube`;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=c(`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(c,p){let h=o(),{techId:g,wrapper:_}=a(c,l,p.nativeUi),v=d(p.src),y=null,b=null,x=v.videoId,S=!1,C=!1,w=!1,T=null,E=!1,D=null,O=null,k=!1,A=!1,{schedule:j,clearAll:M}=r(),N=null,P={active:!1,wasPaused:!1,timeBefore:0,catchUpInterval:null};function F(){try{let e=y?.getPlayerResponse()?.adPlacements;return Array.isArray(e)&&e.length>0}catch{return!1}}function I(e){y?.loadVideoById({videoId:e})}function L(e){y?.cueVideoById({videoId:e})}function R(){return v.videoId?(P.wasPaused=!1,S?x===v.videoId?y?.playVideo():(I(v.videoId),x=v.videoId):(h.trigger(`waiting`),C=!0),Promise.resolve()):Promise.resolve()}function z(){P.catchUpInterval&&clearInterval(P.catchUpInterval),P.active=!1,P.wasPaused&&y?.pauseVideo(),h.trigger(`seeked`)}function B(){A=(y?.getAvailablePlaybackRates()??[]).length>1,S=!0,p.muted&&y?.mute(),p.volume!==void 0&&y?.setVolume(p.volume*100),C?R():w&&v.videoId&&(L(v.videoId),x=v.videoId)}function V(e){if(e===T||D!==null)return;T=e;let t=F();t!==E&&(E=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`),P.active&&z();break;case n.PlayerState.PAUSED:h.trigger(`canplay`),P.active||h.trigger(`pause`);break;case n.PlayerState.BUFFERING:h.trigger(`waiting`);break;case n.PlayerState.CUED:h.trigger(`canplay`)}N&&=(clearInterval(N),null),e===n.PlayerState.PLAYING&&(N=setInterval(()=>h.trigger(`timeupdate`),250))}}function H(){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};x=v.videoId,y=new window.YT.Player(g,{videoId:x??void 0,playerVars:e,events:{onReady:B,onStateChange:e=>V(e.data),onPlaybackRateChange:()=>h.trigger(`ratechange`),onVolumeChange:()=>h.trigger(`volumechange`),onError:e=>{D=e.data,h.trigger(`error`),j(()=>{D=null})}}})}function U(){if(f){H();return}m().then(()=>{k||H()},e=>{k||(O={code:4,message:e instanceof Error?e.message:`The YouTube player failed to load.`},h.trigger(`error`))})}U(),p.autoplay?S?R():C=!0:v.videoId&&(w=!0);function W(){if(v.videoId){if(O){O=null,p.autoplay||(w=!0),U();return}if(S){I(v.videoId),x=v.videoId;return}w=!0}}function G(){if(!y)return;b?.();let e=y.getCurrentTime(),{video_id:t}=y.getVideoData();y.pauseVideo();let{overlay:n,reveal:r,finish:a}=i(h),o=document.createElement(`div`);o.id=`yt-fs-${Math.random().toString(36).slice(2)}`,n.appendChild(o);let s=null,c=()=>{b=null,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()}b=c,s=new window.YT.Player(o.id,{videoId:t,playerVars:{playsinline:0,autoplay:0,controls:1,modestbranding:1,rel:0,start:Math.floor(e)},events:{onReady:t=>{r(),t.target.seekTo(e,!0),t.target.playVideo()},onStateChange:e=>{let t=window.YT;t&&(e.data===t.PlayerState.ENDED?c():e.data===t.PlayerState.PAUSED?(document.removeEventListener(`pointerdown`,l,!0),document.addEventListener(`pointerdown`,l,{capture:!0,once:!0})):(document.removeEventListener(`pointerdown`,l,!0),r()))}}})}function K(){t(c,()=>{if(!y)return!1;G()})}return{el:_,play:R,pause:()=>y?.pauseVideo(),paused:()=>{if(!y)return!0;let e=window.YT;return!e||!u(e,T)},currentTime:()=>S?y?.getCurrentTime()??0:0,setCurrentTime:e=>{if(!S||!y)return;let t=window.YT;t&&T===t.PlayerState.PAUSED&&(P.timeBefore=y.getCurrentTime()),P.active||(P.wasPaused=!t||!u(t,T)),y.seekTo(e,!0),h.trigger(`timeupdate`),P.active=!0,t&&T===t.PlayerState.PAUSED&&P.timeBefore!==e&&(P.catchUpInterval&&clearInterval(P.catchUpInterval),P.catchUpInterval=setInterval(()=>{T!==t.PlayerState.PAUSED||!P.active?P.catchUpInterval&&clearInterval(P.catchUpInterval):y&&y.getCurrentTime()!==P.timeBefore&&(h.trigger(`timeupdate`),z())},250))},duration:()=>S?y?.getDuration()??0:0,volume:()=>S&&y?y.getVolume()/100:1,setVolume:e=>{S&&y?.setVolume(e*100)},muted:()=>S?y?.isMuted()??!1:!1,setMuted:e=>{S&&y&&(e?y.mute():y.unMute(),j(()=>h.trigger(`volumechange`),50))},playbackRate:()=>S?y?.getPlaybackRate()??1:1,setPlaybackRate:e=>{S&&y?.setPlaybackRate(e)},bufferedEnd:()=>!S||!y?.getVideoLoadedFraction?0:y.getVideoLoadedFraction()*y.getDuration(),error:()=>O??(D===null?null:{code:D,message:`This video could not be played.`}),reveal:e=>n(e,_),load:e=>{let t=d(e);v.videoId=t.videoId,v.listId=t.listId,v.videoId&&W()},retry:W,supportsPlaybackRate:()=>A,enterFullscreen:K,exitFullscreen:s,on:h.on,off:h.off,dispose:()=>{if(k=!0,b?.(),M(),N&&clearInterval(N),P.catchUpInterval&&clearInterval(P.catchUpInterval),y)try{y.stopVideo(),y.destroy()}catch{}y=null,e(c,_,l),h.dispose()}}}export{h as createYoutubeAdapter};