{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/QbIURI1CrWibjjH7k1PR/R2hEb7MAHkvTad2Viz3b/FollowCursor_Prod.js"],
  "sourcesContent": ["import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useEffect,useRef,useMemo}from\"react\";import{useMotionValue,useSpring,animate}from\"framer-motion\";const ALIGNMENT={left:0,top:0,center:.5,right:1,bottom:1};/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n *\n * @framerDisableUnlink\n *\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 200\n */export default function FollowCursor(props){const{smoothing,enabled,horizontalAlignment,verticalAlignment,transition}=props;const isCanvas=RenderTarget.current()===RenderTarget.canvas;const id=generateInstanceId();const movementTransition={damping:100,stiffness:mapRange(smoothing,0,100,2e3,50)};const mouseX=useMotionValue(0);const mouseY=useMotionValue(0);const x=useMotionValue(0);const y=useMotionValue(0);const springX=useSpring(x,movementTransition);const springY=useSpring(y,movementTransition);const ref=useRef(null);const parentRef=useRef(null);const transformRef=useRef(null);const styleRef=useRef(null);const hasSpringRef=useRef(smoothing!==0);const previousXRef=useRef(null);const previousYRef=useRef(null);const previousStyleTransformRef=useRef(null);const isInitializedRef=useRef(false);const previousScrollXRef=useRef(0);const previousScrollYRef=useRef(0);const opacityRef=useRef(1);const currentOpacityRef=useRef(0);useEffect(()=>{const unsubscribeX=mouseX.onChange(v=>x.set(v));const unsubscribeY=mouseY.onChange(v=>y.set(v));return()=>{unsubscribeX();unsubscribeY();};},[mouseX,mouseY,x,y]);useEffect(()=>{hasSpringRef.current=smoothing!==0;},[smoothing]);useEffect(()=>{let animationFrameId;const updateTransform=()=>{if(isCanvas){return;}animationFrameId=requestAnimationFrame(updateTransform);if(!parentRef.current||!styleRef.current){return;}const xValue=(hasSpringRef.current?springX.get():x.get()).toFixed(3);const yValue=(hasSpringRef.current?springY.get():y.get()).toFixed(3);// Get computed styles to capture all existing transforms\nconst computedStyle=window.getComputedStyle(parentRef.current);const transform=calculateTransform(parentRef.current,computedStyle,xValue,yValue,previousXRef.current,previousYRef.current,previousStyleTransformRef.current);const opacity=currentOpacityRef.current*opacityRef.current;transformRef.current=transform;styleRef.current.textContent=`\n\t\t\t\t[data-followcursor=\"${id}\"] { \n\t\t\t\t\ttransform: ${transform} !important;\n\t\t\t\t\t${opacity<.995?`opacity: ${opacity} !important;`:\"\"}\n\t\t\t\t}\n\t\t\t`;previousXRef.current=xValue;previousYRef.current=yValue;previousStyleTransformRef.current=parentRef.current.style.transform;};if(ref.current){const container=ref.current.parentElement;if(container){const parent=container.parentElement;if(parent){parentRef.current=parent;parent.setAttribute(\"data-followcursor\",id);}}}// Start the animation loop\nupdateTransform();// Cleanup function\nreturn()=>{if(animationFrameId){cancelAnimationFrame(animationFrameId);}};},[]);useEffect(()=>{const handleMouseMove=event=>{if(!parentRef.current)return;// When initialized for the first time, animate opacity\nif(!isInitializedRef.current){isInitializedRef.current=true;animate(currentOpacityRef.current,enabled?1:0,{...transition,onUpdate:latest=>{currentOpacityRef.current=latest;}});}// Get the element's position without transforms\nconst computedStyle=window.getComputedStyle(parentRef.current);const matrix=new DOMMatrix(computedStyle.transform);const rect=parentRef.current.getBoundingClientRect();// Subtract the transform translation to get the original position\nconst originalLeft=rect.left-matrix.m41;const originalTop=rect.top-matrix.m42;// Add scroll offsets to mouse position\nconst scrollX=window.pageXOffset||document.documentElement.scrollLeft;const scrollY=window.pageYOffset||document.documentElement.scrollTop;// Update previous scroll positions\npreviousScrollXRef.current=scrollX;previousScrollYRef.current=scrollY;const mouseXPos=event.clientX+scrollX-(originalLeft+scrollX)-ALIGNMENT[horizontalAlignment]*rect.width;const mouseYPos=event.clientY+scrollY-(originalTop+scrollY)-ALIGNMENT[verticalAlignment]*rect.height;mouseX.set(mouseXPos);mouseY.set(mouseYPos);};// Add scroll event handler to update position\nconst handleScroll=()=>{if(!parentRef.current||!isInitializedRef.current)return;const scrollX=window.scrollX||window.pageXOffset||document.documentElement.scrollLeft;const scrollY=window.scrollY||window.pageYOffset||document.documentElement.scrollTop;// Calculate scroll delta\nconst deltaX=scrollX-previousScrollXRef.current;const deltaY=scrollY-previousScrollYRef.current;// Update previous scroll positions\npreviousScrollXRef.current=scrollX;previousScrollYRef.current=scrollY;// Update position using scroll delta\nmouseX.set(mouseX.get()+deltaX);mouseY.set(mouseY.get()+deltaY);};window.addEventListener(\"mousemove\",handleMouseMove);window.addEventListener(\"scroll\",handleScroll);return()=>{window.removeEventListener(\"mousemove\",handleMouseMove);window.removeEventListener(\"scroll\",handleScroll);};},[enabled]);useEffect(()=>{if(!styleRef.current||!parentRef.current)return;const computedStyle=window.getComputedStyle(parentRef.current);opacityRef.current=parseFloat(computedStyle.opacity)||1;animate(currentOpacityRef.current,enabled&&isInitializedRef.current?1:0,{...transition,onUpdate:latest=>{currentOpacityRef.current=latest;}});},[enabled,transition]);return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{...props.style},children:/*#__PURE__*/_jsx(\"style\",{ref:styleRef})});}FollowCursor.displayName=\"Follow Cursor\";addPropertyControls(FollowCursor,{enabled:{type:ControlType.Boolean,defaultValue:true},smoothing:{type:ControlType.Number,defaultValue:0,min:0,max:100,step:1},horizontalAlignment:{type:ControlType.Enum,defaultValue:\"center\",options:[\"left\",\"center\",\"right\"],optionTitles:[\"Left\",\"Center\",\"Right\"],displaySegmentedControl:true,title:\"Alignment\"},verticalAlignment:{type:ControlType.Enum,defaultValue:\"center\",options:[\"top\",\"center\",\"bottom\"],optionTitles:[\"Top\",\"Center\",\"Bottom\"],displaySegmentedControl:true,title:\" \"},transition:{type:ControlType.Transition,defaultValue:{type:\"spring\",duration:.15,bounce:0},description:\"More components at [Framer University](https://frameruni.link/cc).\"}});const CHARACTERS=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\";const generateInstanceId=()=>{const id=useMemo(()=>{let result=\"\";for(let i=0;i<13;i++){result+=CHARACTERS.charAt(Math.floor(Math.random()*CHARACTERS.length));}return result;},[]);return id;};function mapRange(value,fromLow,fromHigh,toLow,toHigh){if(fromLow===fromHigh){return toLow;}const percentage=(value-fromLow)/(fromHigh-fromLow);return toLow+percentage*(toHigh-toLow);}function calculateTransform(element,computedStyle,xValue,yValue,previousX,previousY,previousStyleTransform){xValue=xValue||0;yValue=yValue||0;previousX=previousX||0;previousY=previousY||0;// Get transform\nconst computedTransform=computedStyle.transform;const styleTransform=element.style.transform;// Subtract previous values from current values for a single transform\nconst finalX=xValue-previousX;const finalY=yValue-previousY;const translateTransform=`translate(${finalX}px, ${finalY}px)`;let transform=translateTransform;if(styleTransform&&styleTransform!==\"none\"){if(previousStyleTransform&&previousStyleTransform!==\"none\"){transform=`${translateTransform} ${invertTransform(previousStyleTransform)} ${styleTransform}`;}else{transform=`${translateTransform} ${styleTransform}`;}}return computedTransform&&computedTransform!==\"none\"?`${transform} ${computedTransform}`:transform;}function invertTransform(transformString){const transforms=transformString.match(/\\w+\\([^)]+\\)/g)||[];const invertedTransforms=transforms.reverse().map(transform=>{const[func,valuesString]=transform.match(/(\\w+)\\(([^)]+)\\)/).slice(1);const values=valuesString.split(\",\").map(v=>v.trim());const invertNumber=v=>{const[_,sign,num,unit]=v.match(/^(-?)(\\d*\\.?\\d+)(\\D*)$/);return`${sign?\"\":\"-\"}${num}${unit}`;};switch(func.toLowerCase()){case\"translate\":case\"translate3d\":case\"translatex\":case\"translatey\":case\"translatez\":return`${func}(${values.map(invertNumber).join(\", \")})`;case\"scale\":case\"scale3d\":return`${func}(${values.map(v=>1/parseFloat(v)).join(\", \")})`;case\"scalex\":case\"scaley\":case\"scalez\":return`${func}(${1/parseFloat(values[0])})`;case\"rotate\":case\"rotatex\":case\"rotatey\":case\"rotatez\":return`${func}(${invertNumber(values[0])})`;case\"rotate3d\":const rotateValues=values.map(parseFloat);return`${func}(${rotateValues[0]}, ${rotateValues[1]}, ${rotateValues[2]}, ${invertNumber(values[3])})`;case\"skew\":case\"skewx\":case\"skewy\":return`${func}(${values.map(invertNumber).join(\", \")})`;case\"matrix\":case\"matrix3d\":console.warn(`Inverting ${func} is not supported. Returning original.`);return transform;default:console.warn(`Unknown transform function: ${func}. Returning original.`);return transform;}});return invertedTransforms.join(\" \");}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FollowCursor\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"*\",\"framerIntrinsicWidth\":\"400\",\"framerIntrinsicHeight\":\"200\",\"framerSupportedLayoutWidth\":\"any\",\"framerSupportedLayoutHeight\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FollowCursor_Prod.map"],
  "mappings": "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",
  "names": ["ALIGNMENT", "FollowCursor", "props", "smoothing", "enabled", "horizontalAlignment", "verticalAlignment", "transition", "isCanvas", "RenderTarget", "id", "generateInstanceId", "movementTransition", "mapRange", "mouseX", "useMotionValue", "mouseY", "x", "y", "springX", "useSpring", "springY", "ref", "pe", "parentRef", "transformRef", "styleRef", "hasSpringRef", "previousXRef", "previousYRef", "previousStyleTransformRef", "isInitializedRef", "previousScrollXRef", "previousScrollYRef", "opacityRef", "currentOpacityRef", "ue", "unsubscribeX", "v", "unsubscribeY", "animationFrameId", "updateTransform", "xValue", "yValue", "computedStyle", "window", "transform", "calculateTransform", "opacity", "container", "parent", "handleMouseMove", "event", "animate", "latest", "matrix", "rect", "originalLeft", "originalTop", "scrollX", "scrollY", "mouseXPos", "mouseYPos", "handleScroll", "deltaX", "deltaY", "p", "addPropertyControls", "ControlType", "CHARACTERS", "se", "result", "i", "value", "fromLow", "fromHigh", "toLow", "toHigh", "percentage", "element", "previousX", "previousY", "previousStyleTransform", "computedTransform", "styleTransform", "finalX", "finalY", "translateTransform", "invertTransform", "transformString", "func", "valuesString", "values", "invertNumber", "_", "sign", "num", "unit", "rotateValues"]
}
