{"version":3,"file":"ProjectGalleryVideo.uew8xIca.mjs","names":["useRef","useState","useMemo","startTransition","__esmMin","init_npm_react_18_3_1","te","pe","window","init_ssg_sandbox_shims","ce","init_jsx_runtime","_e","de","init_framer_BL70qLPA","addPropertyControls","ControlType","useIsStaticRenderer","normalizeAsset","input","ProjectGalleryVideo","props","isStaticRenderer","rootRef","videoRef","shouldLoad","setShouldLoad","isInView","setIsInView","hasLoadError","setHasLoadError","reducedMotion","setReducedMotion","resolvedSource","source","resolvedPoster","poster","mediaQuery","onChange","event","node","loadObserver","entries","viewObserver","next","video","autoplay","sharedFill","style","fit","init_ProjectGalleryVideo"],"sources":["https:/framerusercontent.com/modules/QhBvic0U3iGH7i7ABWQS/oT3vnafmFjnqHiNmriak/ProjectGalleryVideo.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{startTransition,useEffect,useMemo,useRef,useState}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";function normalizeAsset(input){if(!input)return\"\";if(typeof input===\"string\")return input;return input.src??input.url??\"\";}/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function ProjectGalleryVideo(props){const{source=\"\",poster,autoplay=true,fit=\"cover\",preload=\"metadata\",style}=props;const isStaticRenderer=useIsStaticRenderer();const rootRef=useRef(null);const videoRef=useRef(null);const[shouldLoad,setShouldLoad]=useState(false);const[isInView,setIsInView]=useState(false);const[hasLoadError,setHasLoadError]=useState(false);const[reducedMotion,setReducedMotion]=useState(false);const resolvedSource=useMemo(()=>normalizeAsset(source),[source]);const resolvedPoster=useMemo(()=>normalizeAsset(poster),[poster]);useEffect(()=>{if(typeof window===\"undefined\"||typeof window.matchMedia!==\"function\")return;const mediaQuery=window.matchMedia(\"(prefers-reduced-motion: reduce)\");startTransition(()=>setReducedMotion(mediaQuery.matches));const onChange=event=>{startTransition(()=>setReducedMotion(event.matches));};if(typeof mediaQuery.addEventListener===\"function\"){mediaQuery.addEventListener(\"change\",onChange);return()=>mediaQuery.removeEventListener(\"change\",onChange);}mediaQuery.addListener(onChange);return()=>mediaQuery.removeListener(onChange);},[]);useEffect(()=>{startTransition(()=>setHasLoadError(false));startTransition(()=>setShouldLoad(false));},[resolvedSource]);useEffect(()=>{if(!resolvedSource)return;if(typeof window===\"undefined\"||typeof IntersectionObserver===\"undefined\"){startTransition(()=>setShouldLoad(true));startTransition(()=>setIsInView(true));return;}const node=rootRef.current;if(!node)return;const loadObserver=new IntersectionObserver(entries=>{const next=entries[0]?.isIntersecting===true;if(next)startTransition(()=>setShouldLoad(true));},{root:null,rootMargin:\"200px\",threshold:0});const viewObserver=new IntersectionObserver(entries=>{const next=entries[0]?.isIntersecting===true;startTransition(()=>setIsInView(next));},{root:null,rootMargin:\"0px\",threshold:.25});loadObserver.observe(node);viewObserver.observe(node);return()=>{loadObserver.disconnect();viewObserver.disconnect();};},[resolvedSource]);useEffect(()=>{const video=videoRef.current;if(!video)return;if(!isInView||isStaticRenderer||hasLoadError){video.pause();return;}if(autoplay&&shouldLoad&&!reducedMotion){void video.play().catch(()=>{});}},[autoplay,hasLoadError,isInView,isStaticRenderer,reducedMotion,shouldLoad]);if(!resolvedSource)return null;if(hasLoadError)return null;const sharedFill={position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",borderRadius:\"inherit\"};return /*#__PURE__*/_jsx(\"div\",{ref:rootRef,style:{position:\"relative\",width:\"100%\",height:\"100%\",borderRadius:12,overflow:\"hidden\",background:\"transparent\",...style},children:isStaticRenderer?resolvedPoster?/*#__PURE__*/_jsx(\"img\",{src:resolvedPoster,alt:\"\",style:{...sharedFill,objectFit:fit,display:\"block\",pointerEvents:\"none\"}}):/*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":true,style:{...sharedFill,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",color:\"rgba(255,255,255,0.9)\",background:\"rgba(0,0,0,0.12)\",fontSize:12,letterSpacing:.2,pointerEvents:\"none\"},children:\"Video\"}):/*#__PURE__*/_jsx(\"video\",{ref:videoRef,controls:false,controlsList:\"nodownload nofullscreen noremoteplayback\",disablePictureInPicture:true,disableRemotePlayback:true,playsInline:true,muted:true,loop:true,tabIndex:-1,preload:preload,poster:resolvedPoster||undefined,src:shouldLoad?resolvedSource:undefined,onError:()=>startTransition(()=>setHasLoadError(true)),style:{...sharedFill,objectFit:fit,display:\"block\",background:\"transparent\",pointerEvents:\"none\"}})});}addPropertyControls(ProjectGalleryVideo,{preload:{type:ControlType.Enum,title:\"Preload\",options:[\"none\",\"metadata\"],defaultValue:\"metadata\"},source:{type:ControlType.File,title:\"Source\",allowedFileTypes:[\"mp4\",\"webm\"]},poster:{type:ControlType.ResponsiveImage,title:\"Poster\"},autoplay:{type:ControlType.Boolean,title:\"Autoplay\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},fit:{type:ControlType.Enum,title:\"Fit\",defaultValue:\"cover\",options:[\"cover\",\"contain\"],optionTitles:[\"Cover\",\"Contain\"],displaySegmentedControl:true}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ProjectGalleryVideo\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ProjectGalleryVideo.map"],"mappings":"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"}