{"version":3,"file":"WithPlayInView.3N9V6Dbv.mjs","names":["useRef","useState","useMemo"],"sources":["https:/framerusercontent.com/modules/axBokZh7cgW6nR4Zp0T0/V3h8gGA092mkwFoz3R5U/WithPlayInView.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{forwardRef,startTransition,useEffect,useMemo,useRef,useState}from\"react\";export function withPlayInView(Component){return /*#__PURE__*/forwardRef(function WithPlayInView(props,ref){const wrapperRef=useRef(null);const configuredVideosRef=useRef(new WeakSet);const nudgedVideosRef=useRef(new WeakSet);const[isInView,setIsInView]=useState(false);const[isHovered,setIsHovered]=useState(false);const[supportsHover,setSupportsHover]=useState(false);useEffect(()=>{if(typeof window!==\"undefined\"&&typeof window.matchMedia===\"function\"){const mediaQuery=window.matchMedia(\"(hover: hover) and (pointer: fine)\");startTransition(()=>setSupportsHover(mediaQuery.matches));const handleChange=event=>{startTransition(()=>setSupportsHover(event.matches));};if(typeof mediaQuery.addEventListener===\"function\"){mediaQuery.addEventListener(\"change\",handleChange);return()=>mediaQuery.removeEventListener(\"change\",handleChange);}mediaQuery.addListener(handleChange);return()=>mediaQuery.removeListener(handleChange);}},[]);useEffect(()=>{const node=wrapperRef.current;if(!node||typeof window===\"undefined\"||typeof IntersectionObserver===\"undefined\")return;const observerOptions=supportsHover?{threshold:.25}:{threshold:0,rootMargin:\"-35% 0px -35% 0px\"};const observer=new IntersectionObserver(entries=>{const entry=entries[0];const nextInView=Boolean(entry?.isIntersecting);startTransition(()=>setIsInView(nextInView));},observerOptions);observer.observe(node);return()=>observer.disconnect();},[supportsHover]);useEffect(()=>{const wrapper=wrapperRef.current;if(!wrapper||typeof window===\"undefined\"||typeof document===\"undefined\")return;const metadataCleanupFns=[];const nudgeFirstFrame=video=>{if(nudgedVideosRef.current.has(video))return;if(video.currentTime!==0){nudgedVideosRef.current.add(video);return;}try{video.currentTime=.001;nudgedVideosRef.current.add(video);}catch{// Ignore seek errors (e.g. if media isn't seekable yet)\n}};const configureVideoElement=video=>{video.muted=true;video.defaultMuted=true;video.playsInline=true;video.setAttribute(\"playsinline\",\"\");video.setAttribute(\"webkit-playsinline\",\"\");video.preload=\"auto\";video.setAttribute(\"preload\",\"auto\");if(!configuredVideosRef.current.has(video)){configuredVideosRef.current.add(video);const onLoadedMetadata=()=>{nudgeFirstFrame(video);};video.addEventListener(\"loadedmetadata\",onLoadedMetadata);metadataCleanupFns.push(()=>{video.removeEventListener(\"loadedmetadata\",onLoadedMetadata);});try{video.load();}catch{// Ignore load errors; browser may block or defer internally\n}}if(video.readyState>=1){nudgeFirstFrame(video);}};const scanForVideo=()=>{const video=wrapper.querySelector(\"video\");if(video instanceof HTMLVideoElement){configureVideoElement(video);return true;}return false;};const foundImmediately=scanForVideo();let attempts=0;const maxAttempts=25;const intervalId=window.setInterval(()=>{attempts+=1;const found=scanForVideo();if(found||attempts>=maxAttempts){window.clearInterval(intervalId);}},120);const mutationObserver=new MutationObserver(()=>{scanForVideo();});mutationObserver.observe(wrapper,{childList:true,subtree:true});if(foundImmediately){window.clearInterval(intervalId);}return()=>{mutationObserver.disconnect();window.clearInterval(intervalId);metadataCleanupFns.forEach(cleanup=>cleanup());};},[props]);const shouldPlay=useMemo(()=>{return supportsHover?isInView&&isHovered:isInView;},[isInView,isHovered,supportsHover]);return /*#__PURE__*/_jsx(\"div\",{ref:wrapperRef,style:{width:\"100%\",height:\"100%\",position:\"relative\"},onMouseEnter:()=>{startTransition(()=>setIsHovered(true));},onMouseLeave:()=>{startTransition(()=>setIsHovered(false));},children:/*#__PURE__*/_jsx(Component,{ref:ref,...props,playing:shouldPlay})});});}\nexport const __FramerMetadata__ = {\"exports\":{\"withPlayInView\":{\"type\":\"reactHoc\",\"name\":\"withPlayInView\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./WithPlayInView.map"],"mappings":"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"}