{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/mxQftAGDajoQvqjR5C9t/a3DPyi0XgTfpRsFscSWV/Magnetic_Hover.js"],
  "sourcesContent": ["import{jsx as _jsx}from\"react/jsx-runtime\";import{useState,useEffect}from\"react\";import{motion,useMotionValue,useSpring}from\"framer-motion\";const settings={damping:150,stiffness:800,maxDistance:2e3,intensity:.1};export const withCursorFollow=Component=>{return props=>{const x=useMotionValue(0);const y=useMotionValue(0);const[componentRef,setComponentRef]=useState(null);const springConfig={damping:settings.damping,stiffness:settings.stiffness};const springX=useSpring(x,springConfig);const springY=useSpring(y,springConfig);useEffect(()=>{const calculateDistance=e=>{if(componentRef){const rect=componentRef.getBoundingClientRect();const centerX=rect.left+rect.width/2;const centerY=rect.top+rect.height/2;const distanceX=e.clientX-centerX;const distanceY=e.clientY-centerY;if(Math.abs(distanceX)<settings.maxDistance&&Math.abs(distanceY)<settings.maxDistance){const proximityFactor=1-Math.max(Math.abs(distanceX),Math.abs(distanceY))/settings.maxDistance;x.set(distanceX*proximityFactor*settings.intensity);y.set(distanceY*proximityFactor*settings.intensity);}else{x.set(0);y.set(0);}}};const handleMouseMove=e=>{calculateDistance(e);};document.addEventListener(\"mousemove\",handleMouseMove);return()=>{document.removeEventListener(\"mousemove\",handleMouseMove);};},[componentRef]);var _props_zIndex;return /*#__PURE__*/_jsx(motion.div,{ref:setComponentRef,style:{x:springX,y:springY,zIndex:(_props_zIndex=props.zIndex)!==null&&_props_zIndex!==void 0?_props_zIndex:2},children:/*#__PURE__*/_jsx(Component,{...props})});};};\nexport const __FramerMetadata__ = {\"exports\":{\"withCursorFollow\":{\"type\":\"reactHoc\",\"name\":\"withCursorFollow\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Magnetic_Hover.map"],
  "mappings": "8GAA4I,IAAMA,EAAS,CAAC,QAAQ,IAAI,UAAU,IAAI,YAAY,IAAI,UAAU,EAAE,EAAeC,EAAiBC,GAAmBC,GAAO,CAAC,IAAMC,EAAEC,EAAe,CAAC,EAAQC,EAAED,EAAe,CAAC,EAAO,CAACE,EAAaC,CAAe,EAAEC,EAAS,IAAI,EAAQC,EAAa,CAAC,QAAQV,EAAS,QAAQ,UAAUA,EAAS,SAAS,EAAQW,EAAQC,EAAUR,EAAEM,CAAY,EAAQG,EAAQD,EAAUN,EAAEI,CAAY,EAAEI,EAAU,IAAI,CAAC,IAAMC,EAAkB,GAAG,CAAC,GAAGR,EAAa,CAAC,IAAMS,EAAKT,EAAa,sBAAsB,EAAQU,EAAQD,EAAK,KAAKA,EAAK,MAAM,EAAQE,EAAQF,EAAK,IAAIA,EAAK,OAAO,EAAQG,EAAU,EAAE,QAAQF,EAAcG,EAAU,EAAE,QAAQF,EAAQ,GAAG,KAAK,IAAIC,CAAS,EAAEnB,EAAS,aAAa,KAAK,IAAIoB,CAAS,EAAEpB,EAAS,YAAY,CAAC,IAAMqB,EAAgB,EAAE,KAAK,IAAI,KAAK,IAAIF,CAAS,EAAE,KAAK,IAAIC,CAAS,CAAC,EAAEpB,EAAS,YAAYI,EAAE,IAAIe,EAAUE,EAAgBrB,EAAS,SAAS,EAAEM,EAAE,IAAIc,EAAUC,EAAgBrB,EAAS,SAAS,OAAQI,EAAE,IAAI,CAAC,EAAEE,EAAE,IAAI,CAAC,EAAI,EAAQgB,EAAgB,GAAG,CAACP,EAAkB,CAAC,CAAE,EAAE,gBAAS,iBAAiB,YAAYO,CAAe,EAAQ,IAAI,CAAC,SAAS,oBAAoB,YAAYA,CAAe,CAAE,CAAE,EAAE,CAACf,CAAY,CAAC,EAAE,IAAIgB,EAAc,OAAoBC,EAAKC,EAAO,IAAI,CAAC,IAAIjB,EAAgB,MAAM,CAAC,EAAEG,EAAQ,EAAEE,EAAQ,QAAQU,EAAcpB,EAAM,UAAU,MAAMoB,IAAgB,OAAOA,EAAc,CAAC,EAAE,SAAsBC,EAAKtB,EAAU,CAAC,GAAGC,CAAK,CAAC,CAAC,CAAC,CAAE",
  "names": ["settings", "withCursorFollow", "Component", "props", "x", "useMotionValue", "y", "componentRef", "setComponentRef", "ye", "springConfig", "springX", "useSpring", "springY", "ue", "calculateDistance", "rect", "centerX", "centerY", "distanceX", "distanceY", "proximityFactor", "handleMouseMove", "_props_zIndex", "p", "motion"]
}
