{"version":3,"file":"LoopVideo.BLD9hi9X.mjs","names":["React.useRef","React.useState"],"sources":["https:/framerusercontent.com/modules/sYYClaDd8Mg3xpYbVyPp/qNNUs8sbcZcmnKefTL0n/LoopVideo.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";export default function LoopVideo(props){const{src,poster,fit,radius}=props;const ref=React.useRef(null);const wrap=React.useRef(null);const[load,setLoad]=React.useState(false);const isCanvas=RenderTarget.current()===RenderTarget.canvas;const[rad,setRad]=React.useState(undefined);React.useLayoutEffect(()=>{let p=wrap.current?wrap.current.parentElement:null;for(let i=0;i<5&&p;i++){const r=getComputedStyle(p).borderRadius;if(r&&r!==\"0px\"){setRad(r);return;}p=p.parentElement;}},[]);React.useEffect(()=>{if(isCanvas||!wrap.current)return;const reduce=window.matchMedia&&window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;if(reduce)return;const io=new IntersectionObserver(entries=>{entries.forEach(e=>{if(e.isIntersecting){setLoad(true);const v=ref.current;if(v)v.play().catch(()=>{});}else{const v=ref.current;if(v)v.pause();}});},{rootMargin:\"200px\"});io.observe(wrap.current);return()=>io.disconnect();},[]);return /*#__PURE__*/_jsxs(\"div\",{ref:wrap,style:{width:\"100%\",height:\"100%\",overflow:\"hidden\",borderRadius:rad||radius,position:\"relative\"},children:[poster?/*#__PURE__*/_jsx(\"img\",{src:poster,alt:\"\",style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",objectFit:fit}}):null,!isCanvas&&load?/*#__PURE__*/_jsx(\"video\",{ref:ref,src:src,poster:poster,muted:true,loop:true,playsInline:true,autoPlay:true,preload:\"auto\",\"aria-hidden\":\"true\",style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",objectFit:fit}}):null]});}addPropertyControls(LoopVideo,{src:{type:ControlType.File,title:\"Video\",allowedFileTypes:[\"mp4\",\"webm\"]},poster:{type:ControlType.Image,title:\"Poster\"},fit:{type:ControlType.Enum,title:\"Fit\",options:[\"cover\",\"contain\"],defaultValue:\"cover\"},radius:{type:ControlType.Number,title:\"Radius\",defaultValue:0,min:0,max:200}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"LoopVideo\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./LoopVideo.map"],"mappings":"2NAAsJ,SAAwB,EAAU,EAAM,CAAC,GAAK,CAAC,MAAI,SAAO,MAAI,UAAQ,EAAY,EAAIA,EAAa,IAAI,EAAQ,EAAKA,EAAa,IAAI,EAAO,CAAC,EAAK,GAASC,EAAe,EAAK,EAAQ,EAAS,EAAa,QAAQ,IAAI,EAAa,OAAY,CAAC,EAAI,GAAQA,EAAe,IAAA,EAAS,EAAooB,OAAloB,MAA0B,CAAC,IAAI,EAAE,EAAK,QAAQ,EAAK,QAAQ,cAAc,KAAK,IAAI,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,IAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,aAAa,GAAG,GAAG,IAAI,MAAM,CAAC,EAAO,CAAC,EAAE,MAAO,CAAC,EAAE,EAAE,aAAc,CAAC,EAAE,CAAC,CAAC,EAAE,MAAoB,CAAiI,GAA7H,GAAU,CAAC,EAAK,SAA4B,EAAO,YAAY,EAAO,WAAW,kCAAkC,CAAC,CAAC,QAAkB,OAAO,IAAM,EAAG,IAAI,qBAAqB,GAAS,CAAC,EAAQ,QAAQ,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC,EAAQ,EAAI,EAAE,IAAM,EAAE,EAAI,QAAW,GAAE,EAAE,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,CAAE,KAAK,CAAC,IAAM,EAAE,EAAI,QAAW,GAAE,EAAE,MAAM,CAAE,CAAC,CAAC,CAAE,EAAE,CAAC,WAAW,OAAO,CAAC,EAA2B,OAAzB,EAAG,QAAQ,EAAK,OAAO,MAAY,EAAG,WAAW,CAAE,EAAE,CAAC,CAAC,EAAsB,EAAM,MAAM,CAAC,IAAI,EAAK,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,SAAS,SAAS,aAAa,GAAK,EAAO,SAAS,UAAU,EAAE,SAAS,CAAC,EAAoB,EAAK,MAAM,CAAC,IAAI,EAAO,IAAI,GAAG,MAAM,CAAC,SAAS,WAAW,MAAM,EAAE,MAAM,OAAO,OAAO,OAAO,UAAU,CAAG,CAAC,CAAC,EAAE,KAAK,CAAC,GAAU,EAAkB,EAAK,QAAQ,CAAK,MAAQ,MAAW,SAAO,MAAM,GAAK,KAAK,GAAK,YAAY,GAAK,SAAS,GAAK,QAAQ,OAAO,cAAc,OAAO,MAAM,CAAC,SAAS,WAAW,MAAM,EAAE,MAAM,OAAO,OAAO,OAAO,UAAU,CAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAE,qBAA7gD,IAA4B,IAAiE,EAAi7C,EAAoB,EAAU,CAAC,IAAI,CAAC,KAAK,EAAY,KAAK,MAAM,QAAQ,iBAAiB,CAAC,MAAM,MAAM,CAAC,EAAE,OAAO,CAAC,KAAK,EAAY,MAAM,MAAM,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAY,KAAK,MAAM,MAAM,QAAQ,CAAC,QAAQ,SAAS,EAAE,aAAa,OAAO,EAAE,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC"}