@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
@@ -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};