{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/UReHrXtriQV5PIfT8Es8/AMq4IaGaSyhyuZHhBoeN/MagneticCursor.js"],
  "sourcesContent": ["import{jsx as _jsx}from\"react/jsx-runtime\";import{useMotionValue,useSpring}from\"framer-motion\";import{useEffect,useRef}from\"react\";// Code override provided by Eleveight Supply. All rights reserved 2024.\nexport function Followcursor({damping=100,stiffness=1e3,effectRange=2,intensity=5,actionableArea=30}){const x=useMotionValue(0);const y=useMotionValue(0);const springX=useSpring(x,{damping,stiffness});const springY=useSpring(y,{damping,stiffness});const ref=useRef(null);useEffect(()=>{const handleMouseMove=event=>{if(!ref.current)return;const element=ref.current;const rect=element.getBoundingClientRect();const mouseX=event.clientX;const mouseY=event.clientY;const isWithinBounds=mouseX>=rect.left-actionableArea&&mouseX<=rect.right+actionableArea&&mouseY>=rect.top-actionableArea&&mouseY<=rect.bottom+actionableArea;if(isWithinBounds){const displacementX=mouseX-(rect.left+rect.width/2);const displacementY=mouseY-(rect.top+rect.height/2);const normalizedX=displacementX/(rect.width/2)*effectRange*intensity;const normalizedY=displacementY/(rect.height/2)*effectRange*intensity;x.set(normalizedX);y.set(normalizedY);}else{x.set(0);y.set(0);}};window.addEventListener(\"mousemove\",handleMouseMove);return()=>{window.removeEventListener(\"mousemove\",handleMouseMove);};},[effectRange,intensity,actionableArea,x,y,damping,stiffness]);return{ref:ref,style:{x:springX,y:springY}};}import{useContext as __legacyOverrideHOC_useContext}from\"react\";import{DataObserverContext as __legacyOverrideHOC_DataObserverContext}from\"framer\";export function withFollowcursor(C){return props=>{__legacyOverrideHOC_useContext(__legacyOverrideHOC_DataObserverContext);return _jsx(C,{...props,...Followcursor(props)});};}withFollowcursor.displayName=\"Followcursor\";\nexport const __FramerMetadata__ = {\"exports\":{\"Followcursor\":{\"type\":\"override\",\"name\":\"Followcursor\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withFollowcursor\":{\"type\":\"reactHoc\",\"name\":\"withFollowcursor\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./MagneticCursor.map"],
  "mappings": "8JACO,SAASA,EAAa,CAAC,QAAAC,EAAQ,IAAI,UAAAC,EAAU,IAAI,YAAAC,EAAY,EAAE,UAAAC,EAAU,EAAE,eAAAC,EAAe,EAAE,EAAE,CAAC,IAAMC,EAAEC,EAAe,CAAC,EAAQC,EAAED,EAAe,CAAC,EAAQE,EAAQC,EAAUJ,EAAE,CAAC,QAAAL,EAAQ,UAAAC,CAAS,CAAC,EAAQS,EAAQD,EAAUF,EAAE,CAAC,QAAAP,EAAQ,UAAAC,CAAS,CAAC,EAAQU,EAAIC,EAAO,IAAI,EAAE,OAAAC,EAAU,IAAI,CAAC,IAAMC,EAAgBC,GAAO,CAAC,GAAG,CAACJ,EAAI,QAAQ,OAAiC,IAAMK,EAAlBL,EAAI,QAA2B,sBAAsB,EAAQM,EAAOF,EAAM,QAAcG,EAAOH,EAAM,QAAsK,GAAzIE,GAAQD,EAAK,KAAKZ,GAAgBa,GAAQD,EAAK,MAAMZ,GAAgBc,GAAQF,EAAK,IAAIZ,GAAgBc,GAAQF,EAAK,OAAOZ,EAAiC,CAAC,IAAMe,EAAcF,GAAQD,EAAK,KAAKA,EAAK,MAAM,GAASI,EAAcF,GAAQF,EAAK,IAAIA,EAAK,OAAO,GAASK,EAAYF,GAAeH,EAAK,MAAM,GAAGd,EAAYC,EAAgBmB,EAAYF,GAAeJ,EAAK,OAAO,GAAGd,EAAYC,EAAUE,EAAE,IAAIgB,CAAW,EAAEd,EAAE,IAAIe,CAAW,CAAE,MAAMjB,EAAE,IAAI,CAAC,EAAEE,EAAE,IAAI,CAAC,CAAG,EAAE,OAAAgB,EAAO,iBAAiB,YAAYT,CAAe,EAAQ,IAAI,CAACS,EAAO,oBAAoB,YAAYT,CAAe,CAAE,CAAE,EAAE,CAACZ,EAAYC,EAAUC,EAAeC,EAAEE,EAAEP,EAAQC,CAAS,CAAC,EAAQ,CAAC,IAAIU,EAAI,MAAM,CAAC,EAAEH,EAAQE,CAAS,CAAC,CAAE,CAA2J,SAASc,EAAiBC,EAAE,CAAC,OAAOC,IAAQC,EAA+BC,CAAuC,EAASC,EAAKJ,EAAE,CAAC,GAAGC,EAAM,GAAG3B,EAAa2B,CAAK,CAAC,CAAC,EAAI,CAACF,EAAiB,YAAY",
  "names": ["Followcursor", "damping", "stiffness", "effectRange", "intensity", "actionableArea", "x", "useMotionValue", "y", "springX", "useSpring", "springY", "ref", "pe", "ue", "handleMouseMove", "event", "rect", "mouseX", "mouseY", "displacementX", "displacementY", "normalizedX", "normalizedY", "window", "withFollowcursor", "C", "props", "re", "DataObserverContext", "p"]
}
