"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("vue"),u=require("@vue-youtube/shared"),S=a=>({playerVars:a.playerVars??{},cookie:a.cookie??!0,height:a.height??720,width:a.width??1280}),E=()=>{const a=l.inject(u.PROVIDE_KEY);if(!a)throw new Error("You may forget to apply app.use(manager). See https://vue-youtube.github.io/docs/usage/manager.html for more information");return a},q=a=>{const y={install(i){var n;i.provide(u.PROVIDE_KEY,y),(n=this._state.options.deferLoading)!=null&&n.enabled||this._insert()},register(i,n){var f;const s=i.id||`vue-youtube-${this._state.counter++}`,c=this._state.players.get(s);if(c!==void 0){c({factory:this._state.factory,id:s});return}this._state.factory===void 0?(this._state.backlog.set(s,n),(f=this._state.options.deferLoading)!=null&&f.enabled&&this._state.options.deferLoading.autoLoad&&this._insert()):n({factory:this._state.factory,id:s})},load(){this._state.factory===void 0&&this._insert()},_insert(){var s;const i=document.createElement("script");i.src="https://www.youtube.com/player_api";const n=document.querySelectorAll("script")[0];(s=n.parentNode)==null||s.insertBefore(i,n),window.onYouTubeIframeAPIReady=()=>{this._state.factory=window.YT;for(const[c,f]of this._state.backlog.entries())this._state.backlog.delete(c),this._state.players.set(c,f),f({factory:this._state.factory,id:c})}},_state:{backlog:new Map,players:new Map,options:a||{deferLoading:{enabled:!1,autoLoad:!1}},factory:void 0,counter:1}};return y},N=(a,b,v={})=>{const{playerVars:y,cookie:i,height:n,width:s}=S(v),c=i?u.HOST_COOKIE:u.HOST_NO_COOKIE,f=E(),w=new Array,_=new Array,C=new Array,m=new Array,k=new Array,P=new Array,o=l.shallowRef(),O=l.ref(a),d=l.ref(!1),p=l.ref(!1),g=(e,t)=>{for(const h of t)h(e)},A=(...e)=>{w.push(...e)},I=(...e)=>{_.push(...e)},M=(...e)=>{C.push(...e)},L=(...e)=>{m.push(...e)},R=(...e)=>{k.push(...e)},V=(...e)=>{P.push(...e)},j=()=>{var t,h,r;const e=(t=o.value)==null?void 0:t.getPlayerState();if(e&&e===u.PlayerState.PLAYING){(h=o.value)==null||h.pauseVideo();return}(r=o.value)==null||r.playVideo()},T=()=>{var e,t;if((e=o.value)!=null&&e.isMuted()){o.value.unMute();return}(t=o.value)==null||t.mute()},Y=()=>{var e,t;if(d.value){(e=o.value)==null||e.setShuffle(!1),d.value=!1;return}(t=o.value)==null||t.setShuffle(!0),d.value=!0},D=()=>{var e,t;if(p.value){(e=o.value)==null||e.setLoop(!1),p.value=!1;return}(t=o.value)==null||t.setLoop(!0),p.value=!0},K=l.watch(O,e=>{var t;(t=o.value)==null||t.loadVideoById(e)});return l.onMounted(()=>{const e=u.unrefElement(b);e&&f.register(e,({factory:t,id:h})=>{e.id=h,o.value=new t.Player(h,{videoId:l.unref(O),playerVars:y,height:n,width:s,host:c,events:{onPlaybackQualityChange:r=>{g(r,w)},onPlaybackRateChange:r=>{g(r,_)},onStateChange:r=>{g(r,C)},onApiChange:r=>{g(r,m)},onError:r=>{g(r,k)},onReady:r=>{g(r,P)}}})})}),l.onUnmounted(()=>{var e;(e=o.value)==null||e.destroy(),K()}),{instance:o,togglePlay:j,toggleMute:T,toggleLoop:D,toggleShuffle:Y,onPlaybackQualityChange:A,onPlaybackRateChange:I,onStateChange:M,onApiChange:L,onError:R,onReady:V}};exports.createManager=q;exports.injectManager=E;exports.usePlayer=N;exports.withConfigDefaults=S;Object.keys(u).forEach(a=>{a!=="default"&&!Object.prototype.hasOwnProperty.call(exports,a)&&Object.defineProperty(exports,a,{enumerable:!0,get:()=>u[a]})});