{"version":3,"file":"CursorFollow.DPRQcvbf.mjs","names":["__legacyOverrideHOC_DataObserverContext","_jsx"],"sources":["https:/framerusercontent.com/modules/pc0FBPGDC9YtqiGiOK75/gGJaVuvEyLYNyGue7tqB/CursorFollow.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{motionValue}from\"framer\";import{useEffect}from\"react\";import{useSpring,useTransform}from\"framer-motion\";// shared value\nexport const cursorY=motionValue(0);// 👉 Apply to PAGE / SECTION\nlet isTracking=false;export function TrackGlobalCursor(){useEffect(()=>{if(isTracking)return;isTracking=true;function handleMove(e){cursorY.set(e.clientY);}window.addEventListener(\"mousemove\",handleMove);return()=>{window.removeEventListener(\"mousemove\",handleMove);isTracking=false;};},[]);return{};}// 👉 Reusable logic\nfunction useFollowY(){const progress=useTransform(cursorY,v=>{if(typeof window===\"undefined\")return 0;return Math.min(1,Math.max(0,v/window.innerHeight));});const mapped=useTransform(progress,p=>{const range=500;let value=(p-.25)*range;const maxUp=-50;const maxDown=360;return Math.max(maxUp,Math.min(maxDown,value));});return useSpring(mapped,{stiffness:500,damping:60,mass:1});}// 👉 Apply to IMAGE\nexport function FollowGlobalY(){const smoothY=useFollowY();return{style:{position:\"fixed\",left:\"75vw\",top:\"25vh\",bottom:\"auto\",zIndex:9999,pointerEvents:\"none\",y:smoothY}};}import{useContext as __legacyOverrideHOC_useContext}from\"react\";import{DataObserverContext as __legacyOverrideHOC_DataObserverContext}from\"framer\";export function withTrackGlobalCursor(C){return props=>{__legacyOverrideHOC_useContext(__legacyOverrideHOC_DataObserverContext);return _jsx(C,{...props,...TrackGlobalCursor(props)});};}withTrackGlobalCursor.displayName=\"TrackGlobalCursor\";export function withFollowGlobalY(C){return props=>{__legacyOverrideHOC_useContext(__legacyOverrideHOC_DataObserverContext);return _jsx(C,{...props,...FollowGlobalY(props)});};}withFollowGlobalY.displayName=\"FollowGlobalY\";\nexport const __FramerMetadata__ = {\"exports\":{\"TrackGlobalCursor\":{\"type\":\"override\",\"name\":\"TrackGlobalCursor\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"FollowGlobalY\":{\"type\":\"override\",\"name\":\"FollowGlobalY\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"cursorY\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withFollowGlobalY\":{\"type\":\"reactHoc\",\"name\":\"withFollowGlobalY\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withTrackGlobalCursor\":{\"type\":\"reactHoc\",\"name\":\"withTrackGlobalCursor\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CursorFollow.map"],"mappings":"kPAEqB,SAAgB,GAAmB,CAA2O,OAA1O,MAAc,CAAC,GAAG,EAAW,OAAO,EAAW,GAAK,SAAS,EAAW,EAAE,CAAC,EAAQ,IAAI,EAAE,OAAO,CAAE,CAAiD,OAAhD,EAAO,iBAAiB,YAAY,CAAU,MAAY,CAAC,EAAO,oBAAoB,YAAY,CAAU,EAAE,EAAW,EAAM,CAAE,EAAE,CAAC,CAAC,EAAQ,CAAC,CAAE,CAC5S,SAAS,GAAY,CAA2S,OAAO,EAA7J,EAArI,EAAa,EAAQ,GAAc,IAAS,OAAmB,EAAS,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,EAAE,EAAO,WAAW,CAAC,CAAsC,EAAE,GAAG,CAAiB,IAAI,GAAO,EAAE,KAAK,IAAwC,OAAO,KAAK,IAAI,IAAM,KAAK,IAAI,IAAQ,CAAK,CAAC,CAAE,CAAyB,EAAE,CAAC,UAAU,IAAI,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAE,CAC3X,SAAgB,GAAe,CAA4B,MAAM,CAAC,MAAM,CAAC,SAAS,QAAQ,KAAK,OAAO,IAAI,OAAO,OAAO,OAAO,OAAO,KAAK,cAAc,OAAO,EAAlH,EAA0H,CAAC,CAAC,CAAE,CAAoJ,SAAgB,EAAsB,EAAE,CAAC,MAAO,KAAQ,EAA+BA,CAAuC,EAASC,EAAK,EAAE,CAAC,GAAG,EAAM,GAAG,EAAkB,CAAK,CAAC,CAAC,EAAI,CAAuD,SAAgB,EAAkB,EAAE,CAAC,MAAO,KAAQ,EAA+BD,CAAuC,EAASC,EAAK,EAAE,CAAC,GAAG,EAAM,GAAG,EAAc,CAAK,CAAC,CAAC,EAAI,yBAJrrB,IAAgC,IAA6B,IAAkD,EAC5I,EAAQ,EAAY,CAAC,EAC9B,EAAW,GAE0e,EAAsB,YAAY,oBAAqM,EAAkB,YAAY"}