{"version":3,"file":"BlurGradient.BeDnG3DU.mjs","names":["useRef"],"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":"yQAA0C,IAAoC,IAA8D,EAAO,GAAe,EAAU,EAAsB,EAAW,IAAa,CAAC,IAAM,EAAc,CAAC,QAAQ,IAAI,UAAU,GAAG,EAAE,MAAO,IAAO,CAAC,IAAM,EAAE,EAAe,CAAC,EAAQ,EAAE,EAAe,CAAC,EAAQ,EAAIA,EAAO,IAAI,EAAQ,EAAQ,EAAU,EAAE,CAAa,EAAQ,EAAQ,EAAU,EAAE,CAAa,EAAQ,EAAS,EAAU,CAAG,EAAmsB,OAAjsB,MAAc,CAAK,IAAU,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAG,EAAE,CAAC,CAAQ,CAAC,EAAE,MAAc,CAAC,IAAM,EAAkB,GAAG,CAAC,GAAG,EAAI,SAAS,EAAS,CAAC,IAAM,EAAK,EAAI,QAAQ,sBAAsB,EAAQ,EAAQ,EAAK,KAAK,EAAK,MAAM,EAAQ,EAAQ,EAAK,IAAI,EAAK,OAAO,EAAM,EAAU,EAAE,QAAQ,EAAY,EAAU,EAAE,QAAQ,EAAQ,EAAU,KAAK,IAAI,KAAK,IAAI,EAAU,CAAU,EAAE,CAAC,CAAU,EAAE,EAAU,KAAK,IAAI,KAAK,IAAI,EAAU,CAAU,EAAE,CAAC,CAAU,EAAE,EAAE,IAAe,EAAsB,IAAjC,CAAqC,EAAE,EAAE,IAAe,EAAsB,IAAjC,CAAqC,CAAE,CAAC,EAA2D,OAAzD,SAAS,iBAAiB,YAAY,CAAiB,MAAY,CAAC,SAAS,oBAAoB,YAAY,CAAiB,CAAE,CAAE,EAAE,CAAC,EAAI,EAAS,EAAW,CAAU,CAAC,EAAsB,EAAK,EAAU,CAAC,GAAG,EAAU,MAAI,MAAM,CAAC,EAAE,EAAQ,EAAE,CAAO,CAAC,CAAC,CAAE,CAAE,EAAe,EAAgB,GAAW,EAAc,EAAU,GAAG,IAAI,GAAG,EAAe,EAAe,GAAW,EAAc,EAAU,EAAE,IAAI,GAAG,EAAe,EAAe,GAAW,EAAc,EAAU,EAAE,IAAI,GAAG,KCQx8C,SAAS,EAAa,CAAC,OAAK,eAAa,aAAW,CAAC,IAAM,EAAqB,GAAW,CAAC,OAAO,EAAP,CAAkB,IAAI,WAAW,MAAM,YAAY,IAAI,QAAQ,MAAM,SAAS,IAAI,SAAS,MAAM,UAAU,IAAI,UAAU,MAAM,WAAW,QAAQ,MAAM,WAAY,CAAC,EAAQ,EAAU,CAAC,CAAC,KAAK,GAAG,EAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,SAAS,2FAA2F,EAAE,CAAC,KAAK,GAAG,EAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,SAAS,4FAA4F,EAAE,CAAC,KAAK,GAAG,EAAK,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,SAAS,4FAA4F,EAAE,CAAC,KAAK,GAAG,EAAK,EAAE,EAAE,EAAE,EAAE,IAAI,SAAS,4FAA4F,EAAE,CAAC,KAAK,GAAG,EAAK,EAAE,EAAE,EAAE,IAAI,SAAS,4FAA4F,EAAE,CAAC,KAAK,GAAG,EAAK,EAAE,EAAE,IAAI,SAAS,6FAA6F,EAAE,CAAC,KAAK,GAAG,EAAK,EAAE,IAAI,SAAS,qEAAqE,EAAE,CAAC,KAAK,GAAG,EAAK,IAAI,SAAS,+CAA+C,CAAC,EAAE,OAAoB,EAAK,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,MAAM,OAAO,OAAO,OAAO,aAAa,GAAG,EAAa,GAAG,EAAE,SAAS,EAAU,KAAK,EAAK,IAAqB,EAAK,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,MAAM,EAAE,OAAO,EAAM,EAAE,eAAe,QAAQ,EAAK,KAAK,GAAG,qBAAqB,QAAQ,EAAK,KAAK,GAAG,UAAU,mBAAmB,EAAqB,CAAS,EAAE,IAAI,EAAK,SAAS,GAAG,gBAAgB,mBAAmB,EAAqB,CAAS,EAAE,IAAI,EAAK,SAAS,GAAG,aAAa,GAAG,EAAa,IAAI,cAAc,MAAM,CAAC,EAAE,CAAK,CAAC,CAAC,CAAC,CAAE,iBAR5sD,IAAoD,EAQypD,EAAa,aAAa,CAAC,KAAK,GAAG,aAAa,EAAE,UAAU,UAAU,EAAE,EAAoB,EAAa,CAAC,KAAK,CAAC,MAAM,OAAO,KAAK,EAAY,OAAO,aAAa,GAAG,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,YAAY,iDAAiD,EAAE,aAAa,CAAC,MAAM,SAAS,KAAK,EAAY,OAAO,aAAa,EAAE,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,YAAY,kLAAkL,EAAE,UAAU,CAAC,MAAM,YAAY,KAAK,EAAY,cAAc,QAAQ,CAAC,WAAW,QAAQ,SAAS,SAAS,EAAE,aAAa,CAAC,IAAI,IAAI,IAAI,GAAG,EAAE,aAAa,UAAU,CAAC,CAAC,EAAE,EAAa,YAAY"}