{"version":3,"file":"Cursor_follower.cs3vlQuH.mjs","names":["useState","useRef","startTransition"],"sources":["https:/framerusercontent.com/modules/RAY0KRaTHRdFzDBTzuFt/63CtsKfyC6M5WkPsi4x3/Cursor_follower.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useRef,useState,startTransition}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer,RenderTarget}from\"framer\";import{motion,AnimatePresence}from\"framer-motion\";import{createPortal}from\"react-dom\";function Portal({children}){if(typeof document===\"undefined\")return null;return /*#__PURE__*/createPortal(children,document.body);}/**\n * CursorFollower (v1.2.5)\n * @framerDisableUnlink\n * @framerModule\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function CursorFollower(props){const{transition={stiffness:500,damping:40,mass:1},FX,Skew,Stretch,Position,Effects,...rest}=props;const{image={src:\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\",alt:\"Gradient 1 - Blue\"},videoFile=\"https://framerusercontent.com/assets/MLWPbW1dUQawJLhhun3dBwpgJak.mp4\",useVideoUrl=false,videoUrl=\"\",hideOnMobile=\"hide\",style,borderRadius=8,followMode=\"spring\",followAxis=\"both\",lerpFactor=.18,mediaFit=\"contain\",children}=rest;// Position group\nconst size=Position?.size??rest.size??64;const opacity=Position?.opacity??rest.opacity??.9;const offsetX=Position?.offsetX??rest.offsetX??0;const offsetY=Position?.offsetY??rest.offsetY??0;const imageDisplay=Position?.imageDisplay??rest.imageDisplay??\"center\";const scale=Position?.scale??rest.scale??1;const scaleIn=Position?.scaleIn??rest.scaleIn??.1;// Stretch group\nconst enableStretch=Stretch?.enableStretch??rest.enableStretch??\"on\";const stretchStrength=Stretch?.stretchStrength??rest.stretchStrength??.22;const stretchMax=Stretch?.stretchMax??rest.stretchMax??.35;const squashFactor=Stretch?.squashFactor??rest.squashFactor??.35;// Skew group\nconst enableSkew=Skew?.enableSkew??rest.enableSkew??\"on\";const skewStrength=Skew?.skewStrength??rest.skewStrength??140;const skewMax=Skew?.skewMax??rest.skewMax??18;// FX group\nconst effectSmoothing=FX?.effectSmoothing??rest.effectSmoothing??.18;const effectIdleDelay=FX?.effectIdleDelay??rest.effectIdleDelay??70;const effectReturn=FX?.effectReturn??rest.effectReturn??.14;// Effects group (fade / overlay)\nconst overlayZIndex=Effects?.overlayZIndex??rest.overlayZIndex??9e3;const fadeInFrom=Effects?.fadeInFrom??rest.fadeInFrom??0;const fadeInDuration=Effects?.fadeInDuration??rest.fadeInDuration??.18;const fadeOutDuration=Effects?.fadeOutDuration??rest.fadeOutDuration??.18;const isStatic=useIsStaticRenderer();const[pos,setPos]=useState({x:0,y:0});const targetPosRef=useRef({x:0,y:0});const rafPosRef=useRef(0);const[fx,setFx]=useState({sx:1,sy:1,skx:0,sky:0});const effectTargetRef=useRef({sx:1,sy:1,skx:0,sky:0});const rafFxRef=useRef(0);const lastMoveRef=useRef({x:0,y:0,t:0});const[visible,setVisible]=useState(false);const[imgKey,setImgKey]=useState(image.src);const[cursorKey,setCursorKey]=useState(0);const[isVideoReady,setIsVideoReady]=useState(false);const ref=useRef(null);const[containerRect,setContainerRect]=useState({left:0,top:0,width:0,height:0});const clamp=(v,a,b)=>Math.max(a,Math.min(b,v));const lerp=(a,b,t)=>a+(b-a)*t;const hideOnMobileFlag=hideOnMobile===true||hideOnMobile===\"hide\"||hideOnMobile===undefined;const stretchEnabled=enableStretch===true||enableStretch===\"on\";const skewEnabled=enableSkew===true||enableSkew===\"on\";function getAnchorOffset(display,s){if(display===\"center\")return{ax:s/2,ay:s/2};if(display===\"left\")return{ax:s,ay:s/2};if(display===\"right\")return{ax:0,ay:s/2};if(display===\"bottom\")return{ax:s/2,ay:0};return{ax:s/2,ay:s/2};}function applyAxis(next,prev){if(followAxis===\"x\")return{x:next.x,y:prev.y};if(followAxis===\"y\")return{x:prev.x,y:next.y};return next;}const updateRect=()=>{const el=ref.current;if(!el)return;const r=el.getBoundingClientRect();setContainerRect({left:r.left,top:r.top,width:r.width,height:r.height});};useEffect(()=>{updateRect();if(ref.current){const r=ref.current.getBoundingClientRect();const{ax,ay}=getAnchorOffset(imageDisplay,size);const next={x:r.width/2-ax,y:r.height/2-ay};targetPosRef.current=next;lastMoveRef.current={x:next.x,y:next.y,t:performance.now()};startTransition(()=>setPos(next));}// eslint-disable-next-line react-hooks/exhaustive-deps\n},[size,imageDisplay]);useEffect(()=>{if(typeof window===\"undefined\")return;let raf=0;const onAny=()=>{if(raf)cancelAnimationFrame(raf);raf=requestAnimationFrame(()=>updateRect());};window.addEventListener(\"scroll\",onAny,true);window.addEventListener(\"resize\",onAny);let ro=null;if(ref.current&&\"ResizeObserver\"in window){ro=new ResizeObserver(onAny);ro.observe(ref.current);}return()=>{window.removeEventListener(\"scroll\",onAny,true);window.removeEventListener(\"resize\",onAny);if(ro)ro.disconnect();if(raf)cancelAnimationFrame(raf);};// eslint-disable-next-line react-hooks/exhaustive-deps\n},[]);let isMobile=false;if(typeof window!==\"undefined\"&&window.matchMedia){isMobile=window.matchMedia(\"(max-width: 768px)\").matches;}if(hideOnMobileFlag&&isMobile||isStatic||RenderTarget.current()===RenderTarget.thumbnail){return null;}function isHiddenLayer(target){if(!target||typeof window===\"undefined\")return false;let el=target;while(el&&el!==ref.current){const s=window.getComputedStyle(el);if(s.display===\"none\"||s.visibility===\"hidden\"||s.opacity===\"0\")return true;el=el.parentElement;}return false;}function computeClampedPos(e){const el=ref.current;if(!el)return null;const rect=el.getBoundingClientRect();const{ax,ay}=getAnchorOffset(imageDisplay,size);let x=e.clientX-rect.left+offsetX-ax;let y=e.clientY-rect.top+offsetY-ay-20;const minX=Math.min(0,rect.width-size);const maxX=Math.max(0,rect.width-size);const minY=Math.min(0,rect.height-size);const maxY=Math.max(0,rect.height-size);x=clamp(x,minX,maxX);y=clamp(y,minY,maxY);return{x,y};}function updateEffectTargets(nextPos){const now=performance.now();const last=lastMoveRef.current;const dt=Math.max(1,now-last.t);const vx=(nextPos.x-last.x)/dt;const vy=(nextPos.y-last.y)/dt;lastMoveRef.current={x:nextPos.x,y:nextPos.y,t:now};let sx=1,sy=1,skx=0,sky=0;if(stretchEnabled){const speed=Math.hypot(vx,vy);const amt=clamp(speed*stretchStrength,0,stretchMax);if(Math.abs(vx)>=Math.abs(vy)){sx=1+amt;sy=1-amt*squashFactor;}else{sy=1+amt;sx=1-amt*squashFactor;}sx=clamp(sx,.2,3);sy=clamp(sy,.2,3);}if(skewEnabled){skx=clamp(vx*skewStrength,-skewMax,skewMax);sky=clamp(vy*skewStrength,-skewMax,skewMax);}effectTargetRef.current={sx,sy,skx,sky};}function handleMouseMove(e){if(isHiddenLayer(e.target)){setVisible(false);return;}const nextRaw=computeClampedPos(e.nativeEvent??e);if(!nextRaw)return;targetPosRef.current=nextRaw;updateEffectTargets(nextRaw);if(followMode===\"lerp\"){if(!visible)startTransition(()=>setPos(nextRaw));}else if(followMode===\"instant\"){setPos(prev=>applyAxis(nextRaw,prev));}else{startTransition(()=>setPos(prev=>applyAxis(nextRaw,prev)));}setVisible(true);}function handleMouseEnter(e){updateRect();const nextRaw=computeClampedPos(e.nativeEvent??e);if(!nextRaw)return;targetPosRef.current=nextRaw;lastMoveRef.current={x:nextRaw.x,y:nextRaw.y,t:performance.now()};updateEffectTargets(nextRaw);setPos(prev=>applyAxis(nextRaw,prev));setCursorKey(Date.now());setVisible(true);}function handleMouseLeave(){setVisible(false);}useEffect(()=>{if(!visible||followMode!==\"lerp\"){if(rafPosRef.current)cancelAnimationFrame(rafPosRef.current);rafPosRef.current=0;return;}const k=clamp(lerpFactor,.01,.9);const tick=()=>{setPos(prev=>{const t=targetPosRef.current;const next={x:prev.x+(t.x-prev.x)*k,y:prev.y+(t.y-prev.y)*k};return applyAxis(next,prev);});rafPosRef.current=requestAnimationFrame(tick);};rafPosRef.current=requestAnimationFrame(tick);return()=>{if(rafPosRef.current)cancelAnimationFrame(rafPosRef.current);rafPosRef.current=0;};},[visible,followMode,lerpFactor,followAxis]);useEffect(()=>{if(!visible){if(rafFxRef.current)cancelAnimationFrame(rafFxRef.current);rafFxRef.current=0;return;}const smooth=clamp(effectSmoothing,.01,.9);const ret=clamp(effectReturn,.01,.9);const tick=()=>{const now=performance.now();const idle=now-lastMoveRef.current.t>effectIdleDelay;const tgt=effectTargetRef.current;const neutral={sx:1,sy:1,skx:0,sky:0};const aim=idle?neutral:tgt;const t=idle?ret:smooth;setFx(prev=>({sx:lerp(prev.sx,aim.sx,t),sy:lerp(prev.sy,aim.sy,t),skx:lerp(prev.skx,aim.skx,t),sky:lerp(prev.sky,aim.sky,t)}));rafFxRef.current=requestAnimationFrame(tick);};rafFxRef.current=requestAnimationFrame(tick);return()=>{if(rafFxRef.current)cancelAnimationFrame(rafFxRef.current);rafFxRef.current=0;};},[visible,enableSkew,enableStretch,effectSmoothing,effectReturn,effectIdleDelay]);useEffect(()=>setImgKey(image.src),[image.src]);useEffect(()=>startTransition(()=>setIsVideoReady(false)),[videoFile]);const videoSource=useVideoUrl?videoUrl:videoFile;const motionXYTransition=followMode===\"spring\"?{type:\"spring\",stiffness:transition.stiffness,damping:transition.damping,mass:transition.mass}:{type:\"tween\",duration:0};const fadeFrom=clamp(fadeInFrom,0,1);const fadeInT={type:\"tween\",ease:\"easeOut\",duration:clamp(fadeInDuration,0,2)};const fadeOutT={type:\"tween\",ease:\"easeIn\",duration:clamp(fadeOutDuration,0,2)};const safeOverlayZ=clamp(Number(overlayZIndex)||0,0,9999999);return /*#__PURE__*/_jsxs(\"div\",{ref:ref,style:{position:\"relative\",width:\"100%\",height:\"100%\",...style},onMouseMove:handleMouseMove,onMouseLeave:handleMouseLeave,onMouseEnter:handleMouseEnter,children:[children,/*#__PURE__*/_jsx(Portal,{children:/*#__PURE__*/_jsx(\"div\",{style:{position:\"fixed\",left:0,top:0,width:\"100vw\",height:\"100vh\",pointerEvents:\"none\",zIndex:safeOverlayZ},children:/*#__PURE__*/_jsx(AnimatePresence,{children:visible&&/*#__PURE__*/_jsx(motion.div,{initial:{opacity:fadeFrom,x:pos.x,y:pos.y,scale:scaleIn},animate:{opacity,x:pos.x,y:pos.y,scale,scaleX:fx.sx,scaleY:fx.sy,skewX:fx.skx,skewY:fx.sky},exit:{opacity:0,scale:scaleIn,transition:{opacity:fadeOutT,scale:fadeOutT}},style:{position:\"fixed\",left:containerRect.left,top:containerRect.top,width:size,height:size,pointerEvents:\"none\",zIndex:safeOverlayZ,transformOrigin:\"50% 50%\"},transition:{opacity:fadeInT,x:motionXYTransition,y:motionXYTransition,scale:{ease:\"easeOut\",duration:.2},scaleX:{type:\"tween\",duration:0},scaleY:{type:\"tween\",duration:0},skewX:{type:\"tween\",duration:0},skewY:{type:\"tween\",duration:0}},children:/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",width:\"100%\",height:\"100%\"},children:[/*#__PURE__*/_jsx(\"img\",{src:image.src,alt:image.alt||\"\",style:{width:\"100%\",height:\"100%\",objectFit:mediaFit,borderRadius,userSelect:\"none\",pointerEvents:\"none\",display:\"block\"},draggable:false}),videoSource&&/*#__PURE__*/_jsx(\"video\",{src:videoSource,muted:true,autoPlay:true,loop:true,playsInline:true,onCanPlay:()=>startTransition(()=>setIsVideoReady(true)),style:{position:\"absolute\",top:0,left:0,width:\"100%\",height:\"100%\",objectFit:mediaFit,borderRadius,pointerEvents:\"none\",opacity:isVideoReady?1:0,transition:\"opacity 0.2s ease-out\"}})]})},imgKey+\"-\"+cursorKey)})})})]});}// ---------- PROPERTY CONTROLS ----------\naddPropertyControls(CursorFollower,{transition:{type:ControlType.Object,title:\"Transition\",description:\"Spring settings for cursor following\",controls:{stiffness:{type:ControlType.Number,title:\"Stiffness\",defaultValue:500,min:10,max:1e3,step:1},damping:{type:ControlType.Number,title:\"Damping\",defaultValue:40,min:1,max:200,step:1},mass:{type:ControlType.Number,title:\"Mass\",defaultValue:1,min:.1,max:10,step:.1}},defaultValue:{stiffness:500,damping:40,mass:1}},// новый object: Effects\nEffects:{type:ControlType.Object,title:\"Effects\",description:\"Overlay depth and fade timings\",controls:{overlayZIndex:{type:ControlType.Number,title:\"Overlay Z\",defaultValue:9e3,min:0,max:999999,step:1,description:\"Z-index of floating media (portal layer)\"},fadeInFrom:{type:ControlType.Number,title:\"Fade From\",defaultValue:0,min:0,max:1,step:.01,description:\"Start opacity when media appears\"},fadeInDuration:{type:ControlType.Number,title:\"Fade In\",defaultValue:.18,min:0,max:1.5,step:.01,unit:\"s\",description:\"Duration of fade in (seconds)\"},fadeOutDuration:{type:ControlType.Number,title:\"Fade Out\",defaultValue:.18,min:0,max:1.5,step:.01,unit:\"s\",description:\"Duration of fade out (seconds)\"}},defaultValue:{overlayZIndex:9e3,fadeInFrom:0,fadeInDuration:.18,fadeOutDuration:.18}},image:{type:ControlType.ResponsiveImage,title:\"Image\",description:\"Fallback image used in the follower\"},// вернул Corner Radius\nborderRadius:{type:ControlType.Number,title:\"Corner Radius\",defaultValue:8,min:0,max:64,unit:\"px\",description:\"Rounded corners of media\"},videoFile:{type:ControlType.File,title:\"Video\",description:\"Local video file used as follower media\",allowedFileTypes:[\"mp4\",\"webm\",\"mov\"],hidden:({useVideoUrl})=>useVideoUrl},useVideoUrl:{type:ControlType.Boolean,title:\"Video Source\",defaultValue:false,enabledTitle:\"URL\",disabledTitle:\"File\"},videoUrl:{type:ControlType.String,title:\"Video URL\",description:\"Remote video URL (mp4 / webm)\",defaultValue:\"\",placeholder:\"https://example.com/video.mp4\",hidden:({useVideoUrl})=>!useVideoUrl},Position:{type:ControlType.Object,title:\"Position\",description:\"Size, offsets and anchor of follower\",controls:{size:{type:ControlType.Number,title:\"Size\",defaultValue:64,min:16,max:600,unit:\"px\",description:\"Width & height of the follower\"},opacity:{type:ControlType.Number,title:\"Opacity\",defaultValue:.9,min:0,max:1,step:.01,description:\"Final opacity of media\"},offsetX:{type:ControlType.Number,title:\"Offset X\",defaultValue:0,min:-400,max:400,unit:\"px\",description:\"Horizontal offset from cursor\"},offsetY:{type:ControlType.Number,title:\"Offset Y\",defaultValue:0,min:-400,max:400,unit:\"px\",description:\"Vertical offset from cursor\"},imageDisplay:{type:ControlType.Enum,title:\"Image Display\",defaultValue:\"center\",options:[\"center\",\"left\",\"right\",\"bottom\"],optionTitles:[\"Center\",\"Left\",\"Right\",\"Bottom\"],description:\"Anchor point of the media relative to cursor\"},scale:{type:ControlType.Number,title:\"Scale\",defaultValue:1,min:.1,max:2,step:.01,description:\"Target scale while visible\"},scaleIn:{type:ControlType.Number,title:\"Scale In\",defaultValue:.1,min:.01,max:1,step:.01,description:\"Starting scale on appear\"}},defaultValue:{size:64,opacity:.9,offsetX:0,offsetY:0,imageDisplay:\"center\",scale:1,scaleIn:.1}},hideOnMobile:{type:ControlType.Enum,title:\"Hide on Mobile\",defaultValue:\"hide\",options:[\"hide\",\"show\"],optionTitles:[\"Hide\",\"Show\"],description:\"Hide follower for small screens\"},mediaFit:{type:ControlType.Enum,title:\"Media Fit\",defaultValue:\"contain\",options:[\"cover\",\"contain\"],optionTitles:[\"Fill\",\"Fit\"],description:\"How image/video fits into the square\"},followMode:{type:ControlType.Enum,title:\"Follow Mode\",defaultValue:\"spring\",options:[\"spring\",\"instant\",\"lerp\"],optionTitles:[\"Spring\",\"Instant\",\"Lerp\"],description:\"Motion style of follower\"},followAxis:{type:ControlType.Enum,title:\"Follow Axis\",defaultValue:\"both\",options:[\"both\",\"x\",\"y\"],optionTitles:[\"Both\",\"X only\",\"Y only\"],description:\"Limit movement to one axis if needed\"},lerpFactor:{type:ControlType.Number,title:\"Lerp\",defaultValue:.18,min:.01,max:.5,step:.01,hidden:({followMode})=>followMode!==\"lerp\",description:\"Smoothing factor for Lerp mode (higher = faster)\"},Stretch:{type:ControlType.Object,title:\"Stretch\",description:\"Squash & stretch based on cursor speed\",controls:{enableStretch:{type:ControlType.Enum,title:\"Stretch\",defaultValue:\"on\",options:[\"on\",\"off\"],optionTitles:[\"On\",\"Off\"],description:\"Enable stretch distortion\"},stretchStrength:{type:ControlType.Number,title:\"Stretch Power\",defaultValue:.22,min:.01,max:1,step:.01,hidden:({Stretch})=>Stretch?.enableStretch===\"off\",description:\"How strongly media stretches with speed\"},stretchMax:{type:ControlType.Number,title:\"Stretch Max\",defaultValue:.35,min:0,max:1,step:.01,hidden:({Stretch})=>Stretch?.enableStretch===\"off\",description:\"Maximum stretch amount\"},squashFactor:{type:ControlType.Number,title:\"Squash\",defaultValue:.35,min:0,max:1,step:.01,hidden:({Stretch})=>Stretch?.enableStretch===\"off\",description:\"How much the opposite axis squashes\"}},defaultValue:{enableStretch:\"on\",stretchStrength:.22,stretchMax:.35,squashFactor:.35}},Skew:{type:ControlType.Object,title:\"Skew\",description:\"Tilt media depending on cursor velocity\",controls:{enableSkew:{type:ControlType.Enum,title:\"Skew\",defaultValue:\"on\",options:[\"on\",\"off\"],optionTitles:[\"On\",\"Off\"],description:\"Enable skew distortion\"},skewStrength:{type:ControlType.Number,title:\"Skew Power\",defaultValue:140,min:10,max:400,step:1,hidden:({Skew})=>Skew?.enableSkew===\"off\",description:\"How fast skew reacts to velocity\"},skewMax:{type:ControlType.Number,title:\"Skew Max\",defaultValue:18,min:0,max:45,step:1,hidden:({Skew})=>Skew?.enableSkew===\"off\",description:\"Maximum tilt angle\"}},defaultValue:{enableSkew:\"on\",skewStrength:140,skewMax:18}},FX:{type:ControlType.Object,title:\"FX\",description:\"Smoothing and relax behaviour for effects\",controls:{effectSmoothing:{type:ControlType.Number,title:\"Fx Smooth\",defaultValue:.18,min:.01,max:.6,step:.01,description:\"How smoothly stretch/skew follows velocity (lower = snappier)\"},effectIdleDelay:{type:ControlType.Number,title:\"Fx Idle ms\",defaultValue:70,min:0,max:300,step:1,description:\"Delay in ms before effect starts relaxing after stop\"},effectReturn:{type:ControlType.Number,title:\"Fx Return\",defaultValue:.14,min:.01,max:.6,step:.01,description:\"Speed of returning back to neutral (higher = faster)\"}},defaultValue:{effectSmoothing:.18,effectIdleDelay:70,effectReturn:.14}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CursorFollower\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"* @framerModule\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Cursor_follower.map"],"mappings":"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"}