{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/njajludza9a1uwDUFdCU/XrLtDjzCDjVDp0byUXUi/Hover.js"],
  "sourcesContent": ["import{jsx as _jsx}from\"react/jsx-runtime\";import{useMotionValue,useSpring}from\"framer-motion\";import{useEffect,useRef}from\"react\";export function withMagneticHover({smoothness=180,snapbackSpeed=1e3,moveScale=4,sensitivity=50,power=2}){const posX=useMotionValue(0);const posY=useMotionValue(0);const springX=useSpring(posX,{damping:smoothness,stiffness:snapbackSpeed});const springY=useSpring(posY,{damping:smoothness,stiffness:snapbackSpeed});const elementRef=useRef(null);useEffect(()=>{const handleMouseMovement=e=>{if(!elementRef.current)return;const element=elementRef.current;const bounds=element.getBoundingClientRect();const centerX=bounds.left+bounds.width/2;const centerY=bounds.top+bounds.height/2;const offsetX=e.clientX-centerX;const offsetY=e.clientY-centerY;const isCursorNear=e.clientX>bounds.left-sensitivity&&e.clientX<bounds.right+sensitivity&&e.clientY>bounds.top-sensitivity&&e.clientY<bounds.bottom+sensitivity;if(isCursorNear){const adjustedX=offsetX/bounds.width*moveScale*power;const adjustedY=offsetY/bounds.height*moveScale*power;posX.set(adjustedX);posY.set(adjustedY);}else{posX.set(0);posY.set(0);}};window.addEventListener(\"mousemove\",handleMouseMovement);return()=>{window.removeEventListener(\"mousemove\",handleMouseMovement);};},[smoothness,snapbackSpeed,moveScale,sensitivity,power,posX,posY]);return{ref:elementRef,style:{x:springX,y:springY}};}import{useContext as __legacyOverrideHOC_useContext}from\"react\";import{DataObserverContext as __legacyOverrideHOC_DataObserverContext}from\"framer\";export function withwithMagneticHover(C){return props=>{__legacyOverrideHOC_useContext(__legacyOverrideHOC_DataObserverContext);return _jsx(C,{...props,...withMagneticHover(props)});};}withwithMagneticHover.displayName=\"withMagneticHover\";\nexport const __FramerMetadata__ = {\"exports\":{\"withwithMagneticHover\":{\"type\":\"reactHoc\",\"name\":\"withwithMagneticHover\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withMagneticHover\":{\"type\":\"override\",\"name\":\"withMagneticHover\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Hover.map"],
  "mappings": "yIAAAA,IAA0I,SAASC,EAAkB,CAAC,WAAAC,EAAW,IAAI,cAAAC,EAAc,IAAI,UAAAC,EAAU,EAAE,YAAAC,EAAY,GAAG,MAAAC,EAAM,CAAC,EAAE,CAAC,IAAMC,EAAKC,EAAe,CAAC,EAAQC,EAAKD,EAAe,CAAC,EAAQE,EAAQC,EAAUJ,EAAK,CAAC,QAAQL,EAAW,UAAUC,CAAa,CAAC,EAAQS,EAAQD,EAAUF,EAAK,CAAC,QAAQP,EAAW,UAAUC,CAAa,CAAC,EAAQU,EAAWC,EAAO,IAAI,EAAE,OAAAC,EAAU,IAAI,CAAC,IAAMC,EAAoBC,GAAG,CAAC,GAAG,CAACJ,EAAW,QAAQ,OAAwC,IAAMK,EAAzBL,EAAW,QAA6B,sBAAsB,EAAQM,EAAQD,EAAO,KAAKA,EAAO,MAAM,EAAQE,EAAQF,EAAO,IAAIA,EAAO,OAAO,EAAQG,EAAQJ,EAAE,QAAQE,EAAcG,EAAQL,EAAE,QAAQG,EAAwK,GAA7IH,EAAE,QAAQC,EAAO,KAAKb,GAAaY,EAAE,QAAQC,EAAO,MAAMb,GAAaY,EAAE,QAAQC,EAAO,IAAIb,GAAaY,EAAE,QAAQC,EAAO,OAAOb,EAA4B,CAAC,IAAMkB,EAAUF,EAAQH,EAAO,MAAMd,EAAUE,EAAYkB,EAAUF,EAAQJ,EAAO,OAAOd,EAAUE,EAAMC,EAAK,IAAIgB,CAAS,EAAEd,EAAK,IAAIe,CAAS,CAAE,MAAMjB,EAAK,IAAI,CAAC,EAAEE,EAAK,IAAI,CAAC,CAAG,EAAE,cAAO,iBAAiB,YAAYO,CAAmB,EAAQ,IAAI,CAAC,OAAO,oBAAoB,YAAYA,CAAmB,CAAE,CAAE,EAAE,CAACd,EAAWC,EAAcC,EAAUC,EAAYC,EAAMC,EAAKE,CAAI,CAAC,EAAQ,CAAC,IAAII,EAAW,MAAM,CAAC,EAAEH,EAAQ,EAAEE,CAAO,CAAC,CAAE,CAA2J,SAASa,EAAsBC,EAAE,CAAC,OAAOC,IAAQC,EAA+BC,CAAuC,EAAS,EAAKH,EAAE,CAAC,GAAGC,EAAM,GAAG1B,EAAkB0B,CAAK,CAAC,CAAC,EAAI,CAACF,EAAsB,YAAY",
  "names": ["init_ssg_sandbox_shims", "withMagneticHover", "smoothness", "snapbackSpeed", "moveScale", "sensitivity", "power", "posX", "useMotionValue", "posY", "springX", "useSpring", "springY", "elementRef", "pe", "ue", "handleMouseMovement", "e", "bounds", "centerX", "centerY", "offsetX", "offsetY", "adjustedX", "adjustedY", "withwithMagneticHover", "C", "props", "re", "DataObserverContext"]
}
