{"version":3,"file":"WithProjectInteractions.BzlFaUtf.mjs","names":["useId"],"sources":["https:/framerusercontent.com/modules/f0aO8Cmf3Ys1ptTqKxUm/J1Z1yHySnmV4DU45HCXz/WithProjectInteractions.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{forwardRef,useEffect,useId}from\"react\";import{RenderTarget}from\"framer\";export function withProjectInteractions(Component){return /*#__PURE__*/forwardRef(function ProjectGallery(props,ref){const id=useId().replace(/[^a-zA-Z0-9]/g,\"\");useEffect(()=>{if(RenderTarget.current()===RenderTarget.canvas)return;let options={cursorEnabled:true,catCursorSize:16,cursorColor:\"#217AFF\",cursorHoverScale:1.5,projectHoverOpacity:.7,projectHoverDuration:260};try{options={...options,...JSON.parse(document.querySelector(\"[data-eve-settings]\")?.getAttribute(\"data-eve-settings\")||\"{}\")};}catch{}const style=document.createElement(\"style\");const root='[data-project-interactions=\"'+id+'\"]';const card=root+' [aria-label=\"Portfolio project card\"]';const info=card+' [aria-label=\"Project information\"]';style.textContent=`\n${card} > div:first-child > div {opacity:1!important;transition:opacity ${options.projectHoverDuration}ms ease!important}\n@media(hover:hover) and (pointer:fine){\n${card}:hover > div:first-child > div {opacity:${options.projectHoverOpacity}!important}\nhtml[data-eve-cursor-active=\"true\"],html[data-eve-cursor-active=\"true\"] body,html[data-eve-cursor-active=\"true\"] body * {cursor:none!important}\n}\n${card}:focus-visible {outline:2px solid ${options.cursorColor}!important;outline-offset:6px!important}\n${card}:focus-visible > div:first-child > div {opacity:${options.projectHoverOpacity}!important}\n@media(prefers-reduced-motion:reduce){${card} > div:first-child > div{transition:none!important}}\n`;document.head.appendChild(style);const cursor=document.createElement(\"div\");cursor.setAttribute(\"data-eve-cursor\",\"pixel-cat\");cursor.setAttribute(\"aria-hidden\",\"true\");cursor.style.cssText=\"position:fixed;left:0;top:0;width:0;height:0;pointer-events:none;z-index:2147483647;opacity:0;\";const circle=document.createElement(\"div\");circle.style.cssText=\"position:absolute;left:0;top:0;pointer-events:none;transform:translate(-50%,-50%);\";circle.style.height=options.catCursorSize+\"px\";circle.style.width=options.catCursorSize*28/18+\"px\";const swimmer=document.createElement(\"div\");swimmer.style.cssText=\"width:100%;height:100%;transform-origin:50% 50%;\";swimmer.innerHTML='<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"-1 -1 28 18\" shape-rendering=\"crispEdges\"><g fill=\"#111111\" stroke=\"#ffffff\" stroke-opacity=\".65\" stroke-width=\".35\" stroke-linejoin=\"miter\"><path d=\"M9 5H11V4H12V3H13V2H14V1H15V0H16V1H17V3H18V4H20V3H21V2H22V1H23V0H24V1H25V9H26V14H25V15H24V16H11V15H9V14H7V7H8V6H9Z\"/><path class=\"cat-tail\" d=\"M8 11H6V10H1V11H0V14H3V13H6V14H9V12H8Z\"/></g><path fill=\"white\" d=\"M13 4H14V3H15V2H16V4H15V5H13ZM22 3H23V2H24V5H23V4H22ZM14 11H17V12H14ZM21 11H24V12H21Z\"/></svg>';const svg=swimmer.querySelector(\"svg\");svg.style.cssText=\"width:100%;height:100%;overflow:visible;display:block;filter:drop-shadow(0 1px 1px #0003)\";circle.appendChild(swimmer);cursor.appendChild(circle);let heading=0,facing=1,speed=0,lastMove=0,frame=0;const animate=now=>{const moving=now-lastMove<120;speed*=moving?.96:.86;const amount=reduced.matches?0:Math.min(speed/8,1);const bob=Math.sin(now/130)*.65*amount;swimmer.style.transform=\"translateY(\"+bob+\"px) rotate(\"+heading+\"deg) scaleX(\"+facing+\")\";const tail=swimmer.querySelector(\".cat-tail\");tail.style.transformOrigin=\"8px 12px\";tail.style.transform=\"rotate(\"+Math.sin(now/100)*9*amount+\"deg)\";frame=requestAnimationFrame(animate);};frame=requestAnimationFrame(animate);document.body.appendChild(cursor);const fine=window.matchMedia(\"(hover:hover) and (pointer:fine)\");const reduced=window.matchMedia(\"(prefers-reduced-motion:reduce)\");let x=0,y=0,inside=false;const hide=()=>{inside=false;cursor.style.opacity=\"0\";document.documentElement.removeAttribute(\"data-eve-cursor-active\");};const update=target=>{const editable=target?.closest('input,textarea,select,[contenteditable=\"true\"]');if(!options.cursorEnabled||!fine.matches||editable||!inside){cursor.style.opacity=\"0\";document.documentElement.removeAttribute(\"data-eve-cursor-active\");return;}document.documentElement.setAttribute(\"data-eve-cursor-active\",\"true\");cursor.style.opacity=\"1\";const interactive=target?.closest('[aria-label=\"Portfolio project card\"],a,button,[role=\"button\"]');circle.style.transition=reduced.matches?\"none\":\"transform 180ms ease\";circle.style.transform=\"translate(-50%,-50%) scale(\"+(interactive?options.cursorHoverScale:1)+\")\";};const move=event=>{if(event.pointerType!==\"mouse\"){hide();return;}const dx=event.clientX-x,dy=event.clientY-y;const distance=Math.hypot(dx,dy);if(inside&&distance>.6){if(Math.abs(dx)>.6)facing=dx<0?-1:1;const tilt=Math.atan2(dy,Math.max(Math.abs(dx),1))*180/Math.PI;const angle=Math.max(-25,Math.min(25,tilt*facing));heading+=(angle-heading)*.35;speed=Math.min(distance,15);lastMove=performance.now();}x=event.clientX;y=event.clientY;inside=true;cursor.style.transform=\"translate3d(\"+x+\"px,\"+y+\"px,0)\";update(event.target instanceof Element?event.target:null);};const scroll=()=>update(document.elementFromPoint(x,y));const visibility=()=>{if(document.hidden)hide();};document.addEventListener(\"pointermove\",move,{passive:true});document.addEventListener(\"pointerleave\",hide);document.addEventListener(\"scroll\",scroll,{capture:true,passive:true});window.addEventListener(\"blur\",hide);document.addEventListener(\"visibilitychange\",visibility);fine.addEventListener(\"change\",hide);return()=>{document.removeEventListener(\"pointermove\",move);document.removeEventListener(\"pointerleave\",hide);document.removeEventListener(\"scroll\",scroll,true);window.removeEventListener(\"blur\",hide);document.removeEventListener(\"visibilitychange\",visibility);fine.removeEventListener(\"change\",hide);cancelAnimationFrame(frame);hide();cursor.remove();style.remove();};},[id]);return /*#__PURE__*/_jsx(Component,{...props,ref:ref,\"data-project-interactions\":id});});}\nexport const __FramerMetadata__ = {\"exports\":{\"withProjectInteractions\":{\"type\":\"reactHoc\",\"name\":\"withProjectInteractions\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./WithProjectInteractions.map"],"mappings":"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"}