{"version":3,"file":"ProjectModal.DZdYPOma.mjs","names":["React.useState","React.useRef","React.useCallback","_Fragment"],"sources":["https:/framerusercontent.com/modules/zrTrBQQFQ94fj96ak31J/UaOczVSIomc9nyqalCkI/ProjectModal.js"],"sourcesContent":["// User request: Add only code overrides in this file for project-card modal iframe behavior and iframe close messaging, preserving native canvas styling/content and using DOM href interception.\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import*as React from\"react\";import{createPortal}from\"react-dom\";import{RenderTarget}from\"framer\";const PROJECT_MODAL_NAMESPACE=\"project-modal\";const PROJECT_MODAL_CLOSE=`${PROJECT_MODAL_NAMESPACE}:close`;const PROJECT_MODAL_NAVIGATE=`${PROJECT_MODAL_NAMESPACE}:navigate`;const PROJECT_MODAL_FRAME_PREFIX=\"project-modal-frame\";function isModifiedPrimaryClick(event){return event.button!==0||event.metaKey||event.ctrlKey||event.shiftKey||event.altKey;}function isModifiedNativeClick(event){return event.button!==0||event.metaKey||event.ctrlKey||event.shiftKey||event.altKey;}function getAnchorElementFromTarget(target){if(!target)return null;const maybeNode=target;const element=maybeNode.nodeType===1?target:maybeNode.parentElement||null;if(!element||typeof element.closest!==\"function\")return null;const closest=element.closest(\"a[href]\");return closest||null;}function getProjectURLFromDOMTarget(currentTarget,target){if(typeof window===\"undefined\")return null;if(!(currentTarget instanceof Element))return null;const anchorsToTry=[];if(target instanceof Element){const targetAnchor=target.closest(\"a[href]\");if(targetAnchor instanceof HTMLAnchorElement)anchorsToTry.push(targetAnchor);}if(currentTarget instanceof HTMLAnchorElement)anchorsToTry.push(currentTarget);const childAnchor=currentTarget.querySelector(\"a[href]\");if(childAnchor instanceof HTMLAnchorElement)anchorsToTry.push(childAnchor);for(const anchor of anchorsToTry){const rawHref=anchor.getAttribute(\"href\");if(!rawHref)continue;const url=new URL(anchor.href,window.location.href);if(url.origin!==window.location.origin)continue;return url;}return null;}function isCanvasOrStaticRenderTarget(){const target=RenderTarget.current();return target===RenderTarget.canvas||target===RenderTarget.export||target===RenderTarget.thumbnail;}function matchesDetailPath(pathname,prefix){if(!pathname.startsWith(prefix))return false;const slug=pathname.slice(prefix.length);return slug.length>0;}function getSafeParentOrigin(){if(typeof window===\"undefined\")return\"*\";try{if(typeof document!==\"undefined\"&&document.referrer){return new URL(document.referrer).origin;}}catch(_error){// Fallback below.\n}return window.location.origin;}function getCurrentFrameName(){if(typeof window===\"undefined\")return\"\";const frameElement=window.frameElement;if(!frameElement)return\"\";if(typeof frameElement.getAttribute===\"function\"){const attr=frameElement.getAttribute(\"name\");if(attr)return attr;}if(typeof frameElement.name===\"string\")return frameElement.name;return\"\";}function createModalOverride(mode){return function withModal(Component){return /*#__PURE__*/React.forwardRef(function WithModal(props,ref){const[isOpen,setIsOpen]=React.useState(false);const[detailHref,setDetailHref]=React.useState(\"\");const iframeRef=React.useRef(null);const closeButtonRef=React.useRef(null);const overlayRef=React.useRef(null);const previouslyFocusedRef=React.useRef(null);const detachIframeDocListenersRef=React.useRef(null);const closeModal=React.useCallback(()=>{React.startTransition(()=>{setIsOpen(false);setDetailHref(\"\");});},[]);const onCardClickCapture=React.useCallback(event=>{const target=event.target;const isNodeLike=!!target&&typeof target.nodeType===\"number\";const targetNode=isNodeLike?target:null;const overlayElement=overlayRef.current;const currentElement=event.currentTarget;if(overlayElement&&targetNode&&overlayElement.contains(targetNode)){return;}if(currentElement&&targetNode&&typeof currentElement.contains===\"function\"&&!currentElement.contains(targetNode)){return;}if(props.onClickCapture)props.onClickCapture(event);if(isCanvasOrStaticRenderTarget())return;if(event.defaultPrevented||isModifiedPrimaryClick(event))return;const detailURL=getProjectURLFromDOMTarget(event.currentTarget,event.target);if(!detailURL||!matchesDetailPath(detailURL.pathname,mode.cardPathPrefix)){return;}event.preventDefault();event.stopPropagation();if(event.nativeEvent.stopImmediatePropagation){event.nativeEvent.stopImmediatePropagation();}previouslyFocusedRef.current=typeof document!==\"undefined\"?document.activeElement:null;React.startTransition(()=>{setDetailHref(`${detailURL.pathname}${detailURL.search}${detailURL.hash}`);setIsOpen(true);});},[mode.cardPathPrefix,props]);const onIframeLoad=React.useCallback(()=>{const iframe=iframeRef.current;if(!iframe)return;if(detachIframeDocListenersRef.current){detachIframeDocListenersRef.current();detachIframeDocListenersRef.current=null;}try{const contentWindow=iframe.contentWindow;const contentDocument=iframe.contentDocument;if(!contentWindow||!contentDocument)return;const clickHandler=event=>{if(event.defaultPrevented||isModifiedNativeClick(event))return;const anchor=getAnchorElementFromTarget(event.target);if(!anchor||typeof anchor.getAttribute!==\"function\")return;const href=anchor.getAttribute(\"href\");if(!href)return;const url=new URL(href,contentWindow.location.href);if(url.origin===window.location.origin&&url.pathname===\"/home_new\"&&url.hash===mode.closeHash){event.preventDefault();event.stopPropagation();event.stopImmediatePropagation?.();closeModal();return;}if(url.origin===window.location.origin&&url.pathname===\"/home_new\"&&url.hash===\"#contact-dispatch\"){event.preventDefault();event.stopPropagation();event.stopImmediatePropagation?.();closeModal();window.location.assign(`${url.pathname}${url.search}${url.hash}`);}};const keydownHandler=event=>{if(event.key!==\"Escape\")return;event.preventDefault();closeModal();};contentDocument.addEventListener(\"click\",clickHandler,true);contentDocument.addEventListener(\"keydown\",keydownHandler,true);detachIframeDocListenersRef.current=()=>{contentDocument.removeEventListener(\"click\",clickHandler,true);contentDocument.removeEventListener(\"keydown\",keydownHandler,true);};}catch(_error){// Ignore if iframe is not same-origin or not accessible.\n}},[closeModal,mode.closeHash]);React.useEffect(()=>{if(!isOpen||typeof document===\"undefined\")return;const previousOverflow=document.body.style.overflow;document.body.style.overflow=\"hidden\";closeButtonRef.current?.focus();const onKeyDown=event=>{if(event.key===\"Escape\"){event.preventDefault();closeModal();return;}if(event.key!==\"Tab\")return;const root=overlayRef.current;if(!root)return;const focusable=Array.from(root.querySelectorAll('button,[href],input,select,textarea,[tabindex]:not([tabindex=\"-1\"]),iframe')).filter(el=>!el.hasAttribute(\"disabled\"));if(focusable.length===0)return;const active=document.activeElement;const first=focusable[0];const last=focusable[focusable.length-1];if(event.shiftKey){if(!active||active===first||!root.contains(active)){event.preventDefault();last.focus();}}else if(!active||active===last||!root.contains(active)){event.preventDefault();first.focus();}};const onMessage=event=>{if(event.origin!==window.location.origin)return;if(event.source!==iframeRef.current?.contentWindow)return;const data=event.data;if(!data||data.namespace!==PROJECT_MODAL_NAMESPACE)return;if(typeof data.frameName!==\"string\")return;if(data.frameName!==mode.frameName)return;if(data.type===PROJECT_MODAL_CLOSE){closeModal();return;}if(data.type===PROJECT_MODAL_NAVIGATE&&typeof data.href===\"string\"){const navigateURL=new URL(data.href,window.location.href);if(navigateURL.origin===window.location.origin&&navigateURL.pathname===\"/home_new\"&&navigateURL.hash===\"#contact-dispatch\"){closeModal();window.location.assign(`${navigateURL.pathname}${navigateURL.search}${navigateURL.hash}`);}}};document.addEventListener(\"keydown\",onKeyDown);window.addEventListener(\"message\",onMessage);return()=>{document.body.style.overflow=previousOverflow;document.removeEventListener(\"keydown\",onKeyDown);window.removeEventListener(\"message\",onMessage);if(detachIframeDocListenersRef.current){detachIframeDocListenersRef.current();detachIframeDocListenersRef.current=null;}previouslyFocusedRef.current?.focus?.();};},[isOpen,closeModal]);const overlay=isOpen&&typeof document!==\"undefined\"?/*#__PURE__*/createPortal(/*#__PURE__*/_jsxs(\"div\",{ref:overlayRef,role:\"dialog\",\"aria-modal\":\"true\",\"aria-label\":mode.label,style:{position:\"fixed\",inset:0,zIndex:9999,background:\"rgba(0,0,0,0.85)\",backdropFilter:\"blur(8px)\",WebkitBackdropFilter:\"blur(8px)\",padding:\"8px\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},onMouseDown:event=>{if(event.target!==event.currentTarget)return;closeModal();},onClick:event=>{event.stopPropagation();},children:[/*#__PURE__*/_jsx(\"button\",{ref:closeButtonRef,type:\"button\",\"aria-label\":`Close ${mode.label.toLowerCase()}`,onClick:closeModal,style:{position:\"absolute\",top:16,right:16,zIndex:1,border:\"1px solid #2A2A2A\",borderRadius:4,padding:\"10px 12px\",cursor:\"pointer\",color:\"#FFFFFF\",background:\"#111111\",fontFamily:\"JetBrains Mono, monospace\",fontSize:12,lineHeight:\"12px\",textTransform:\"uppercase\"},children:\"Close\"}),/*#__PURE__*/_jsx(\"iframe\",{ref:iframeRef,name:mode.frameName,title:mode.label,src:detailHref,onLoad:onIframeLoad,style:{width:\"min(908px, calc(100vw - 16px))\",height:\"calc(100dvh - 32px)\",border:0,background:\"#0A0A0A\",display:\"block\"}})]}),document.body):null;return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(Component,{ref:ref,...props,onClickCapture:onCardClickCapture}),overlay]});});};}function createModalCloseOverride(){return function withModalClose(Component){return /*#__PURE__*/React.forwardRef(function WithModalClose(props,ref){const requestParentClose=React.useCallback(event=>{if(isCanvasOrStaticRenderTarget())return;if(typeof window===\"undefined\")return;if(window.parent===window)return;if(isModifiedPrimaryClick(event))return;const frameName=getCurrentFrameName();if(!frameName.startsWith(PROJECT_MODAL_FRAME_PREFIX))return;event.preventDefault();event.stopPropagation();window.parent.postMessage({namespace:PROJECT_MODAL_NAMESPACE,type:PROJECT_MODAL_CLOSE,frameName},getSafeParentOrigin());},[]);const onClickCapture=React.useCallback(event=>{if(props.onClickCapture)props.onClickCapture(event);if(event.defaultPrevented)return;requestParentClose(event);},[props,requestParentClose]);const onClick=React.useCallback(event=>{if(props.onClick)props.onClick(event);if(event.defaultPrevented)return;requestParentClose(event);},[props,requestParentClose]);return /*#__PURE__*/_jsx(Component,{ref:ref,...props,onClickCapture:onClickCapture,onClick:onClick});});};}export function withProjectModal(Component){return createModalOverride({cardPathPrefix:\"/projects/\",closeHash:\"#work\",label:\"Project detail\",frameName:`${PROJECT_MODAL_FRAME_PREFIX}:project`})(Component);}export function withProjectModalClose(Component){return createModalCloseOverride()(Component);}export function withArticleModal(Component){return createModalOverride({cardPathPrefix:\"/blog/\",closeHash:\"#insights\",label:\"Article detail\",frameName:`${PROJECT_MODAL_FRAME_PREFIX}:article`})(Component);}export function withArticleModalClose(Component){return createModalCloseOverride()(Component);}\nexport const __FramerMetadata__ = {\"exports\":{\"withArticleModal\":{\"type\":\"reactHoc\",\"name\":\"withArticleModal\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withProjectModalClose\":{\"type\":\"reactHoc\",\"name\":\"withProjectModalClose\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withArticleModalClose\":{\"type\":\"reactHoc\",\"name\":\"withArticleModalClose\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withProjectModal\":{\"type\":\"reactHoc\",\"name\":\"withProjectModal\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ProjectModal.map"],"mappings":"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"}