{"version":3,"file":"Magic_Button.BWCkhO2D.mjs","names":["useState","useRef"],"sources":["https:/framerusercontent.com/modules/aFcirbpYXv7XttNGflIh/tDQi45LrX45jceC1OFqR/Magic_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:400};const MAX_DISTANCE=.5;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=./Magic_Button.map"],"mappings":"sNAA2C,IAA6C,IAA2D,CAAM,EAAc,CAAC,QAAQ,IAAI,UAAU,IAAI,CAAO,EAAa,GAAgB,EAAW,GAAmB,GAAO,CAAC,GAAK,CAAC,EAAU,GAAcA,EAAS,GAAM,CAAO,EAAE,EAAe,EAAE,CAAO,EAAE,EAAe,EAAE,CAAO,EAAIC,EAAO,KAAK,CAAO,EAAQ,EAAU,EAAE,EAAc,CAAO,EAAQ,EAAU,EAAE,EAAc,CAAof,OAAnf,MAAc,CAAC,IAAM,EAAkB,GAAG,CAAC,GAAG,EAAI,QAAQ,CAAC,IAAM,EAAK,EAAI,QAAQ,uBAAuB,CAAO,EAAQ,EAAK,KAAK,EAAK,MAAM,EAAQ,EAAQ,EAAK,IAAI,EAAK,OAAO,EAAQ,EAAU,EAAE,QAAQ,EAAc,EAAU,EAAE,QAAQ,EAAW,GAAW,EAAE,IAAI,EAAU,EAAa,CAAC,EAAE,IAAI,EAAU,EAAa,GAAO,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,IAA8D,OAAzD,SAAS,iBAAiB,YAAY,EAAkB,KAAW,CAAC,SAAS,oBAAoB,YAAY,EAAkB,GAAK,CAAC,EAAI,EAAU,CAAC,CAAqB,EAAK,EAAO,IAAI,CAAK,MAAI,iBAAiB,EAAa,GAAK,CAAC,iBAAiB,EAAa,GAAM,CAAC,MAAM,CAAC,EAAE,EAAQ,EAAE,EAAQ,OAAO,EAAM,QAAQ,OAAO,CAAC,SAAsB,EAAK,EAAU,CAAC,GAAG,EAAM,CAAC,CAAC,CAAC"}