{"version":3,"file":"BlurGradient.C4oSOY_2.mjs","names":["useRef","direction"],"sources":["https:/framerusercontent.com/modules/94x0fXaDoJS3EKt1apTC/KM39kwwLgpAwxhoV9nRH/ParallaxHover.js","https:/framerusercontent.com/modules/rofp3mS0LNY15cjhHzia/cTjrmFqNFkFWO19DE1xk/BlurGradient.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useRef}from\"react\";import{useMotionValue,useSpring,useInView}from\"framer-motion\";const withIntensity=(Component,maxDistancePercentage,maxOffsetX,maxOffsetY)=>{const SPRING_CONFIG={damping:100,stiffness:400};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);useEffect(()=>{if(!isInView){x.set(0);y.set(0);}},[isInView]);useEffect(()=>{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]);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,1,2e3,2e3);\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=./ParallaxHover.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";/**\n * @framerDisableUnlink\n *\n * @framerIntrinsicWidth 240\n * @framerIntrinsicHeight 240\n *\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */function BlurGradient({blur,borderRadius,direction}){const getGradientDirection=direction=>{switch(direction){case\"toBottom\":return\"to bottom\";case\"toTop\":return\"to top\";case\"toLeft\":return\"to left\";case\"toRight\":return\"to right\";default:return\"to bottom\";}};const blurSteps=[{blur:`${blur/2/2/2/2/2/2/2}px`,gradient:`rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 12.5%, rgba(0, 0, 0, 1) 25%, rgba(0, 0, 0, 0) 37.5%`},{blur:`${blur/2/2/2/2/2/2}px`,gradient:`rgba(0, 0, 0, 0) 12.5%, rgba(0, 0, 0, 1) 25%, rgba(0, 0, 0, 1) 37.5%, rgba(0, 0, 0, 0) 50%`},{blur:`${blur/2/2/2/2/2}px`,gradient:`rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, 1) 37.5%, rgba(0, 0, 0, 1) 50%, rgba(0, 0, 0, 0) 62.5%`},{blur:`${blur/2/2/2/2}px`,gradient:`rgba(0, 0, 0, 0) 37.5%, rgba(0, 0, 0, 1) 50%, rgba(0, 0, 0, 1) 62.5%, rgba(0, 0, 0, 0) 75%`},{blur:`${blur/2/2/2}px`,gradient:`rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 1) 62.5%, rgba(0, 0, 0, 1) 75%, rgba(0, 0, 0, 0) 87.5%`},{blur:`${blur/2/2}px`,gradient:`rgba(0, 0, 0, 0) 62.5%, rgba(0, 0, 0, 1) 75%, rgba(0, 0, 0, 1) 87.5%, rgba(0, 0, 0, 0) 100%`},{blur:`${blur/2}px`,gradient:`rgba(0, 0, 0, 0) 75%, rgba(0, 0, 0, 1) 87.5%, rgba(0, 0, 0, 1) 100%`},{blur:`${blur}px`,gradient:`rgba(0, 0, 0, 0) 87.5%, rgba(0, 0, 0, 1) 100%`}];return /*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",width:\"100%\",height:\"100%\",borderRadius:`${borderRadius}px`},children:blurSteps.map((step,index)=>/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,zIndex:index+1,backdropFilter:`blur(${step.blur})`,WebkitBackdropFilter:`blur(${step.blur})`,maskImage:`linear-gradient(${getGradientDirection(direction)}, ${step.gradient})`,WebkitMaskImage:`linear-gradient(${getGradientDirection(direction)}, ${step.gradient})`,borderRadius:`${borderRadius}px`,pointerEvents:\"none\"}},index))});}BlurGradient.defaultProps={blur:10,borderRadius:0,direction:\"toBottom\"};addPropertyControls(BlurGradient,{blur:{title:\"Blur\",type:ControlType.Number,defaultValue:10,min:0,max:100,step:1,description:\"Large blur values (10<) can impact performance.\"},borderRadius:{title:\"Radius\",type:ControlType.Number,defaultValue:0,min:0,max:100,step:1,description:\"Blur Gradient component's parent frame can't have border radius (it will break the component). If you need corner radius, apply it directly to the Blur Gradient component here.\"},direction:{title:\"Direction\",type:ControlType.SegmentedEnum,options:[\"toBottom\",\"toTop\",\"toLeft\",\"toRight\"],optionTitles:[\"↓\",\"↑\",\"←\",\"→\"],defaultValue:\"toBottom\"}});BlurGradient.displayName=\"Blur Gradient\";export default BlurGradient;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"BlurGradient\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any\",\"framerIntrinsicHeight\":\"240\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"240\",\"framerSupportedLayoutHeight\":\"any\",\"framerDisableUnlink\":\"*\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./BlurGradient.map"],"mappings":"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"}