"use strict";/*! * v-pip v3.2.0 * (c) 2024 Vinayak Kulkarni * @license MIT */Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("vue"),d=t.defineComponent({name:"VPip",props:{videoOptions:{type:Object,required:!1,default:()=>({wrapper:"",src:"",poster:"",class:"",height:"100%",width:"100%"})},buttonOptions:{type:Object,required:!1,default:()=>({wrapper:"",type:"button",class:"",label:"Toggle picture-in-picture"})},wrapper:{type:String,default:"",required:!1}},emits:["video-in-pip","requesting-pip-failure","exiting-pip-failure"],setup(e,{emit:o}){const i=t.reactive({video:null,isPipSupported:!1});t.onMounted(()=>{i.isPipSupported="pictureInPictureEnabled"in document,i.video?.addEventListener("enterpictureinpicture",r),i.video?.addEventListener("leavepictureinpicture",n)}),t.onBeforeUnmount(()=>{i.video?.removeEventListener("enterpictureinpicture",n),i.video?.removeEventListener("leavepictureinpicture",n)});const r=()=>{o("video-in-pip",!0)},n=()=>{o("video-in-pip",!1)};return{state:i,togglePip:()=>{const{pictureInPictureElement:s,exitPictureInPicture:c}=document;!s&&i.video?i.video.requestPictureInPicture().catch(p=>{o("requesting-pip-failure",p)}):c().catch(p=>{o("exiting-pip-failure",p)})}}}}),v=(e,o)=>{const i=e.__vccOpts||e;for(const[r,n]of o)i[r]=n;return i},f=["src","poster","height","width"],g=["type"];function m(e,o,i,r,n,u){return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(e.wrapper)},[t.createElementVNode("div",{class:t.normalizeClass(e.videoOptions.wrapper)},[t.createElementVNode("video",{ref:"video",src:e.videoOptions.src,poster:e.videoOptions.poster,class:t.normalizeClass(e.videoOptions.class),height:e.videoOptions.height,width:e.videoOptions.width,controls:""},null,10,f)],2),t.createElementVNode("div",{class:t.normalizeClass(e.buttonOptions.wrapper)},[e.state.isPipSupported?(t.openBlock(),t.createElementBlock("button",{key:0,type:e.buttonOptions.type,class:t.normalizeClass(e.buttonOptions.class),onClick:o[0]||(o[0]=(...s)=>e.togglePip&&e.togglePip(...s))},t.toDisplayString(e.buttonOptions.label),11,g)):t.createCommentVNode("",!0)],2)],2)}const a=v(d,[["render",m]]);let l=!1;const P=e=>{l||(e.component("VPip",a),l=!0)},O=P;exports.VPip=a;exports.default=O; //# sourceMappingURL=v-pip.cjs.map