{"version":3,"file":"shared-lib.H74R2ASK.mjs","names":[],"sources":["https:/framerusercontent.com/modules/owIUt4Od3sz4H5XdDK3U/6SdAQ7IJd9JjaVh1zzjO/PauseOtherEmbedsOnPlay.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{forwardRef,useEffect}from\"react\";/*\nUser request:\nCreate a Framer code override export named PauseOtherEmbedsOnPlay. It must be an override, not a code component.\nThe override will be applied to top-level page breakpoint frames or large wrapper frames and must not change layout, styling, or props visually.\nBehavior: only one embedded video should play at a time across the site. When any Vimeo, YouTube, or native HTML video starts playing,\npause all other currently playing embeds. Use browser runtime logic only with SSR safety. Support Framer Vimeo/YouTube embeds when possible\nvia postMessage events and iframe scanning. Clean up listeners on unmount and keep wrapped component props/ref handling intact.\n*/const VIDEO_IFRAME_PATTERNS=[\"vimeo.com\",\"player.vimeo.com\",\"youtube.com\",\"youtube-nocookie.com\",\"youtu.be\"];function getVideoIframes(doc){const iframes=Array.from(doc.querySelectorAll(\"iframe\"));return iframes.filter(iframe=>{const src=(iframe.getAttribute(\"src\")||\"\").toLowerCase();return VIDEO_IFRAME_PATTERNS.some(pattern=>src.includes(pattern));});}function getProvider(iframe){const src=(iframe.getAttribute(\"src\")||\"\").toLowerCase();if(src.includes(\"vimeo.com\")||src.includes(\"player.vimeo.com\"))return\"vimeo\";if(src.includes(\"youtube.com\")||src.includes(\"youtube-nocookie.com\")||src.includes(\"youtu.be\")){return\"youtube\";}return null;}function findIframeByWindow(doc,source){if(!source||typeof source===\"string\")return null;const iframes=getVideoIframes(doc);for(const iframe of iframes){if(iframe.contentWindow===source)return iframe;}return null;}function pauseIframe(iframe){const targetWindow=iframe.contentWindow;if(!targetWindow)return;const provider=getProvider(iframe);if(provider===\"vimeo\"){targetWindow.postMessage({method:\"pause\"},\"*\");}else if(provider===\"youtube\"){targetWindow.postMessage(JSON.stringify({event:\"command\",func:\"pauseVideo\",args:[]}),\"*\");}}function pauseOthers(doc,activeIframe,activeVideo){const iframes=getVideoIframes(doc);for(const iframe of iframes){if(activeIframe&&iframe===activeIframe)continue;pauseIframe(iframe);}const videos=Array.from(doc.querySelectorAll(\"video\"));for(const video of videos){if(activeVideo&&video===activeVideo)continue;if(!video.paused){video.pause();}}}function isIframePlayMessage(data){let parsed=data;if(typeof data===\"string\"){try{parsed=JSON.parse(data);}catch{return{isPlay:false,provider:null};}}if(!parsed||typeof parsed!==\"object\")return{isPlay:false,provider:null};const eventName=String(parsed.event??\"\");const method=String(parsed.method??\"\");const info=parsed.info;const isVimeoPlay=eventName.toLowerCase()===\"play\"||method.toLowerCase()===\"play\"||eventName.toLowerCase()===\"playing\";const isYouTubePlay=eventName===\"onStateChange\"&&(info===1||info===\"1\")||eventName===\"infoDelivery\"&&parsed.info&&(parsed.info.playerState===1||parsed.info.playerState===\"1\");if(isVimeoPlay)return{isPlay:true,provider:\"vimeo\"};if(isYouTubePlay)return{isPlay:true,provider:\"youtube\"};return{isPlay:false,provider:null};}export function PauseOtherEmbedsOnPlay(Component){return /*#__PURE__*/forwardRef(function PauseOtherEmbedsOnPlayOverride(props,ref){useEffect(()=>{if(typeof window===\"undefined\"||typeof document===\"undefined\")return;const doc=document;const onNativePlay=event=>{const target=event.target;if(!(target instanceof HTMLVideoElement))return;pauseOthers(doc,null,target);};const onMessage=event=>{const{isPlay}=isIframePlayMessage(event.data);if(!isPlay)return;const activeIframe=findIframeByWindow(doc,event.source);if(!activeIframe)return;pauseOthers(doc,activeIframe,null);};doc.addEventListener(\"play\",onNativePlay,true);window.addEventListener(\"message\",onMessage);return()=>{doc.removeEventListener(\"play\",onNativePlay,true);window.removeEventListener(\"message\",onMessage);};},[]);return /*#__PURE__*/_jsx(Component,{ref:ref,...props});});}\nexport const __FramerMetadata__ = {\"exports\":{\"PauseOtherEmbedsOnPlay\":{\"type\":\"reactHoc\",\"name\":\"PauseOtherEmbedsOnPlay\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./PauseOtherEmbedsOnPlay.map"],"mappings":"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"}