{"version":3,"file":"Magnetic_Button.ClMM9jPD.mjs","names":["useState","useRef"],"sources":["https:/framerusercontent.com/modules/F9mBp0pxXU07dplpUeKh/UPr8gMHomm5BU6XW57Ga/Magnetic_Button.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{useState,useEffect,useRef}from\"react\";import{motion,useMotionValue,useSpring}from\"framer-motion\";const SPRING_CONFIG={damping:100,stiffness:200};const MAX_DISTANCE=.3;export const withMagnet=Component=>{return props=>{const[isHovered,setIsHovered]=useState(false);const x=useMotionValue(0);const y=useMotionValue(0);const ref=useRef(null);const springX=useSpring(x,SPRING_CONFIG);const springY=useSpring(y,SPRING_CONFIG);useEffect(()=>{const calculateDistance=e=>{if(ref.current){const rect=ref.current.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(isHovered){x.set(distanceX*MAX_DISTANCE);y.set(distanceY*MAX_DISTANCE);}else{x.set(0);y.set(0);}}};document.addEventListener(\"mousemove\",calculateDistance);return()=>{document.removeEventListener(\"mousemove\",calculateDistance);};},[ref,isHovered]);return /*#__PURE__*/_jsx(motion.div,{ref:ref,onMouseEnter:()=>setIsHovered(true),onMouseLeave:()=>setIsHovered(false),style:{x:springX,y:springY,height:props.height||\"auto\"},children:/*#__PURE__*/_jsx(Component,{...props})});};};\nexport const __FramerMetadata__ = {\"exports\":{\"withMagnet\":{\"type\":\"reactHoc\",\"name\":\"withMagnet\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Magnetic_Button.map"],"mappings":"sNAA0C,IAA6C,IAA2D,EAAO,EAAc,CAAC,QAAQ,IAAI,UAAU,GAAG,EAAQ,EAAa,GAAgB,EAAW,GAAmB,GAAO,CAAC,GAAK,CAAC,EAAU,GAAcA,EAAS,EAAK,EAAQ,EAAE,EAAe,CAAC,EAAQ,EAAE,EAAe,CAAC,EAAQ,EAAIC,EAAO,IAAI,EAAQ,EAAQ,EAAU,EAAE,CAAa,EAAQ,EAAQ,EAAU,EAAE,CAAa,EAAqf,OAAnf,MAAc,CAAC,IAAM,EAAkB,GAAG,CAAC,GAAG,EAAI,QAAQ,CAAC,IAAM,EAAK,EAAI,QAAQ,sBAAsB,EAAQ,EAAQ,EAAK,KAAK,EAAK,MAAM,EAAQ,EAAQ,EAAK,IAAI,EAAK,OAAO,EAAQ,EAAU,EAAE,QAAQ,EAAc,EAAU,EAAE,QAAQ,EAAW,GAAW,EAAE,IAAI,EAAU,CAAY,EAAE,EAAE,IAAI,EAAU,CAAY,IAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAG,CAAC,EAA2D,OAAzD,SAAS,iBAAiB,YAAY,CAAiB,MAAY,CAAC,SAAS,oBAAoB,YAAY,CAAiB,CAAE,CAAE,EAAE,CAAC,EAAI,CAAS,CAAC,EAAsB,EAAK,EAAO,IAAI,CAAK,MAAI,iBAAiB,EAAa,EAAI,EAAE,iBAAiB,EAAa,EAAK,EAAE,MAAM,CAAC,EAAE,EAAQ,EAAE,EAAQ,OAAO,EAAM,QAAQ,MAAM,EAAE,SAAsB,EAAK,EAAU,CAAC,GAAG,CAAK,CAAC,CAAC,CAAC,CAAE"}