{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/p73r7Z82JmXtt3OdTTZb/L6H9C2CYLAsmddNFSpkE/ScrollParallax.js"],
  "sourcesContent": ["import{jsx as _jsx}from\"react/jsx-runtime\";import{useState,useEffect,useRef}from\"react\";import{useMotionValue,useSpring,useInView}from\"framer-motion\";const withIntensity=(Component,maxDistancePercentage,maxOffsetX,maxOffsetY)=>{const SPRING_CONFIG={damping:70,stiffness:300};return props=>{const x=useMotionValue(0);const y=useMotionValue(0);const ref=useRef(null);const springX=useSpring(x,SPRING_CONFIG);const springY=useSpring(y,SPRING_CONFIG);const isInView=useInView(ref);// State to track screen width\nconst[isMobile,setIsMobile]=useState(false);useEffect(()=>{const handleResize=()=>{// Check if the screen width is less than 810px\nsetIsMobile(window.innerWidth<810);};handleResize();window.addEventListener(\"resize\",handleResize);return()=>{window.removeEventListener(\"resize\",handleResize);};},[]);useEffect(()=>{if(!isInView){x.set(0);y.set(0);}},[isInView]);useEffect(()=>{// Disable the parallax effect on mobile (screen width < 810px)\nif(isMobile)return;const calculateDistance=e=>{if(ref.current&&isInView){const rect=ref.current.getBoundingClientRect();const centerX=rect.left+rect.width/2;const centerY=rect.top+rect.height/2;let distanceX=e.clientX-centerX;let distanceY=e.clientY-centerY;distanceX=Math.max(Math.min(distanceX,maxOffsetX),-maxOffsetX);distanceY=Math.max(Math.min(distanceY,maxOffsetY),-maxOffsetY);x.set(distanceX*(maxDistancePercentage/100));y.set(distanceY*(maxDistancePercentage/100));}};document.addEventListener(\"mousemove\",calculateDistance);return()=>{document.removeEventListener(\"mousemove\",calculateDistance);};},[ref,isInView,maxOffsetX,maxOffsetY,isMobile]);return /*#__PURE__*/_jsx(Component,{...props,ref:ref,style:{x:springX,y:springY}});};};export const withIntensity10=Component=>withIntensity(Component,10,400,2e3);export const withIntensity5=Component=>withIntensity(Component,5,2e3,2e3);export const withIntensity1=Component=>withIntensity(Component,2,600,600);\nexport const __FramerMetadata__ = {\"exports\":{\"withIntensity10\":{\"type\":\"reactHoc\",\"name\":\"withIntensity10\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withIntensity1\":{\"type\":\"reactHoc\",\"name\":\"withIntensity1\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withIntensity5\":{\"type\":\"reactHoc\",\"name\":\"withIntensity5\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ScrollParallax.map"],
  "mappings": "8JAAsJ,IAAMA,EAAc,CAACC,EAAUC,EAAsBC,EAAWC,IAAa,CAAC,IAAMC,EAAc,CAAC,QAAQ,GAAG,UAAU,GAAG,EAAE,OAAOC,GAAO,CAAC,IAAMC,EAAEC,EAAe,CAAC,EAAQC,EAAED,EAAe,CAAC,EAAQE,EAAIC,EAAO,IAAI,EAAQC,EAAQC,EAAUN,EAAEF,CAAa,EAAQS,EAAQD,EAAUJ,EAAEJ,CAAa,EAAQU,EAASC,EAAUN,CAAG,EACtd,CAACO,EAASC,CAAW,EAAEC,EAAS,EAAK,EAAE,OAAAC,EAAU,IAAI,CAAC,IAAMC,EAAa,IAAI,CAClFH,EAAYI,EAAO,WAAW,GAAG,CAAE,EAAE,OAAAD,EAAa,EAAEC,EAAO,iBAAiB,SAASD,CAAY,EAAQ,IAAI,CAACC,EAAO,oBAAoB,SAASD,CAAY,CAAE,CAAE,EAAE,CAAC,CAAC,EAAED,EAAU,IAAI,CAAKL,IAAUR,EAAE,IAAI,CAAC,EAAEE,EAAE,IAAI,CAAC,EAAG,EAAE,CAACM,CAAQ,CAAC,EAAEK,EAAU,IAAI,CACpP,GAAGH,EAAS,OAAO,IAAMM,EAAkBC,GAAG,CAAC,GAAGd,EAAI,SAASK,EAAS,CAAC,IAAMU,EAAKf,EAAI,QAAQ,sBAAsB,EAAQgB,EAAQD,EAAK,KAAKA,EAAK,MAAM,EAAQE,EAAQF,EAAK,IAAIA,EAAK,OAAO,EAAMG,EAAUJ,EAAE,QAAQE,EAAYG,EAAUL,EAAE,QAAQG,EAAQC,EAAU,KAAK,IAAI,KAAK,IAAIA,EAAUzB,CAAU,EAAE,CAACA,CAAU,EAAE0B,EAAU,KAAK,IAAI,KAAK,IAAIA,EAAUzB,CAAU,EAAE,CAACA,CAAU,EAAEG,EAAE,IAAIqB,GAAW1B,EAAsB,IAAI,EAAEO,EAAE,IAAIoB,GAAW3B,EAAsB,IAAI,CAAE,CAAC,EAAE,gBAAS,iBAAiB,YAAYqB,CAAiB,EAAQ,IAAI,CAAC,SAAS,oBAAoB,YAAYA,CAAiB,CAAE,CAAE,EAAE,CAACb,EAAIK,EAASZ,EAAWC,EAAWa,CAAQ,CAAC,EAAsBa,EAAK7B,EAAU,CAAC,GAAGK,EAAM,IAAII,EAAI,MAAM,CAAC,EAAEE,EAAQ,EAAEE,CAAO,CAAC,CAAC,CAAE,CAAE,EAA+J,IAAMiB,EAAeC,GAAWC,EAAcD,EAAU,EAAE,IAAI,GAAG",
  "names": ["withIntensity", "Component", "maxDistancePercentage", "maxOffsetX", "maxOffsetY", "SPRING_CONFIG", "props", "x", "useMotionValue", "y", "ref", "pe", "springX", "useSpring", "springY", "isInView", "useInView", "isMobile", "setIsMobile", "ye", "ue", "handleResize", "window", "calculateDistance", "e", "rect", "centerX", "centerY", "distanceX", "distanceY", "p", "withIntensity1", "Component", "withIntensity"]
}
