{"version":3,"file":"Examples.B46OKpKB.mjs","names":["useRef","useState"],"sources":["https:/framerusercontent.com/modules/hs8BW9ZcxdaQf8iqnDEZ/zrgSLoicjum1yO7Burxj/Examples.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useRef,useState}from\"react\";import{useInView}from\"framer-motion\";import{addPropertyControls,ControlType}from\"framer\";export function ResetVideoOnView({videoUrl,autoPlay=true,muted=true,borderRadius=12}){const videoRef=useRef(null);const wrapperRef=useRef(null);const isInView=useInView(wrapperRef,{once:false,margin:\"-20% 0px\"});const[hasLooped,setHasLooped]=useState(false);// Reset & play when back in view\nuseEffect(()=>{const video=videoRef.current;if(!video)return;if(isInView){video.currentTime=0;video.play();setHasLooped(false);}else{video.pause();}},[isInView]);// Loop when video ends (but only if in view)\nuseEffect(()=>{const video=videoRef.current;if(!video)return;const handleEnded=()=>{if(isInView){setHasLooped(true);video.currentTime=0;video.play();}};video.addEventListener(\"ended\",handleEnded);return()=>video.removeEventListener(\"ended\",handleEnded);},[isInView]);return /*#__PURE__*/_jsx(\"div\",{ref:wrapperRef,style:{width:\"100%\"},children:/*#__PURE__*/_jsx(\"video\",{ref:videoRef,src:videoUrl,muted:muted,playsInline:true,autoPlay:false,controls:false,style:{width:\"100%\",borderRadius:`${borderRadius}px`,display:\"block\"}})});}// Property panel controls for Framer\naddPropertyControls(ResetVideoOnView,{videoUrl:{type:ControlType.String,title:\"Video URL\",defaultValue:\"https://your-video-url.mp4\"},autoPlay:{type:ControlType.Boolean,title:\"Auto Play\",defaultValue:true},muted:{type:ControlType.Boolean,title:\"Muted\",defaultValue:true},borderRadius:{type:ControlType.Number,title:\"Corner Radius\",min:0,max:100,defaultValue:12}});\nexport const __FramerMetadata__ = {\"exports\":{\"ResetVideoOnView\":{\"type\":\"reactComponent\",\"name\":\"ResetVideoOnView\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Examples.map"],"mappings":"oOAAiL,SAAgB,EAAiB,CAAC,WAAS,WAAS,GAAK,QAAM,GAAK,eAAa,IAAI,CAAC,IAAM,EAASA,EAAO,KAAK,CAAO,EAAWA,EAAO,KAAK,CAAO,EAAS,EAAU,EAAW,CAAC,KAAK,GAAM,OAAO,WAAW,CAAC,CAAM,CAAC,EAAU,GAAcC,EAAS,GAAM,CAEvK,OAD3Q,MAAc,CAAC,IAAM,EAAM,EAAS,QAAY,IAAgB,GAAU,EAAM,YAAY,EAAE,EAAM,MAAM,CAAC,EAAa,GAAM,EAAO,EAAM,OAAO,GAAI,CAAC,EAAS,CAAC,CACjK,MAAc,CAAC,IAAM,EAAM,EAAS,QAAQ,GAAG,CAAC,EAAM,OAAO,IAAM,MAAgB,CAAI,IAAU,EAAa,GAAK,CAAC,EAAM,YAAY,EAAE,EAAM,MAAM,GAAgD,OAA5C,EAAM,iBAAiB,QAAQ,EAAY,KAAW,EAAM,oBAAoB,QAAQ,EAAY,EAAG,CAAC,EAAS,CAAC,CAAqB,EAAK,MAAM,CAAC,IAAI,EAAW,MAAM,CAAC,MAAM,OAAO,CAAC,SAAsB,EAAK,QAAQ,CAAC,IAAI,EAAS,IAAI,EAAe,QAAM,YAAY,GAAK,SAAS,GAAM,SAAS,GAAM,MAAM,CAAC,MAAM,OAAO,aAAa,GAAG,EAAa,IAAI,QAAQ,QAAQ,CAAC,CAAC,CAAC,CAAC,kBAFte,IAA6C,IAAqC,IAAoD,CAGjL,EAAoB,EAAiB,CAAC,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,YAAY,aAAa,6BAA6B,CAAC,SAAS,CAAC,KAAK,EAAY,QAAQ,MAAM,YAAY,aAAa,GAAK,CAAC,MAAM,CAAC,KAAK,EAAY,QAAQ,MAAM,QAAQ,aAAa,GAAK,CAAC,aAAa,CAAC,KAAK,EAAY,OAAO,MAAM,gBAAgB,IAAI,EAAE,IAAI,IAAI,aAAa,GAAG,CAAC,CAAC"}