{"version":3,"file":"Custom_Gradient.CbGTo9ML.mjs","names":["useRef","useState"],"sources":["https:/framerusercontent.com/modules/7714OuMzlkv2ruaZ8Y34/m08BdP3aCzJHxgCBfL8D/Custom_Gradient.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{useState,useEffect,useRef}from\"react\";import{addPropertyControls,ControlType}from\"framer\";export function DynamicGradient(props){const{width,height,colors,gradientSize,cursorTrackingSpeed,damping}=props;const containerRef=useRef(null);const[isDesktop,setIsDesktop]=useState(false);const[mousePosition,setMousePosition]=useState({x:0,y:0});const[gradientPosition,setGradientPosition]=useState({x:0,y:0});useEffect(()=>{const handleResize=()=>{setIsDesktop(window.innerWidth>=1024);};handleResize()// Initial check\n;window.addEventListener(\"resize\",handleResize);return()=>window.removeEventListener(\"resize\",handleResize);},[]);useEffect(()=>{if(!isDesktop)return;const container=containerRef.current;if(!container)return;const handleMouseMove=event=>{const rect=container.getBoundingClientRect();const x=event.clientX-rect.left;const y=event.clientY-rect.top;setMousePosition({x,y});};container.addEventListener(\"mousemove\",handleMouseMove);return()=>container.removeEventListener(\"mousemove\",handleMouseMove);},[isDesktop]);useEffect(()=>{if(!isDesktop)return;let animationFrameId;const animate=()=>{setGradientPosition(prev=>({x:prev.x+(mousePosition.x-prev.x)/damping,y:prev.y+(mousePosition.y-prev.y)/damping}));animationFrameId=requestAnimationFrame(animate);};animationFrameId=requestAnimationFrame(animate);return()=>cancelAnimationFrame(animationFrameId);},[mousePosition,damping,isDesktop]);const gradientStyle=isDesktop?{position:\"absolute\",width:\"100%\",height:\"100%\",background:`radial-gradient(circle ${gradientSize}px at ${gradientPosition.x}px ${gradientPosition.y}px, ${colors.join(\", \")})`,transition:`background ${cursorTrackingSpeed}ms ease`}:{};return /*#__PURE__*/_jsx(\"div\",{ref:containerRef,style:{width:width,height:height,position:\"relative\",overflow:\"hidden\"},children:isDesktop&&/*#__PURE__*/_jsx(\"div\",{style:gradientStyle})});}DynamicGradient.defaultProps={width:900,height:500,colors:[\"#ff0000\",\"#00ff00\",\"#0000ff\",\"#ffff00\"],gradientSize:400,cursorTrackingSpeed:100,damping:10};addPropertyControls(DynamicGradient,{width:{type:ControlType.Number,title:\"Width\"},height:{type:ControlType.Number,title:\"Height\"},colors:{type:ControlType.Array,title:\"Colors\",control:{type:ControlType.Color}},gradientSize:{type:ControlType.Number,title:\"Gradient Size\"},cursorTrackingSpeed:{type:ControlType.Number,title:\"Tracking Speed\"},damping:{type:ControlType.Number,title:\"Damping\",min:1,max:100}});\nexport const __FramerMetadata__ = {\"exports\":{\"DynamicGradient\":{\"type\":\"reactComponent\",\"name\":\"DynamicGradient\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Custom_Gradient.map"],"mappings":"sMAA4I,SAAgB,EAAgB,EAAM,CAAC,GAAK,CAAC,QAAM,SAAO,SAAO,eAAa,sBAAoB,WAAS,EAAY,EAAaA,EAAO,KAAK,CAAM,CAAC,EAAU,GAAcC,EAAS,GAAM,CAAM,CAAC,EAAc,GAAkBA,EAAS,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAM,CAAC,EAAiB,GAAqBA,EAAS,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,MAAc,CAAC,IAAM,MAAiB,CAAC,EAAa,EAAO,YAAY,KAAK,EACje,OADoe,GAAc,CACjiB,EAAO,iBAAiB,SAAS,EAAa,KAAW,EAAO,oBAAoB,SAAS,EAAa,EAAG,EAAE,CAAC,CAAC,MAAc,CAAC,GAAG,CAAC,EAAU,OAAO,IAAM,EAAU,EAAa,QAAQ,GAAG,CAAC,EAAU,OAAO,IAAM,EAAgB,GAAO,CAAC,IAAM,EAAK,EAAU,uBAAuB,CAAgE,EAAiB,CAAC,EAAzE,EAAM,QAAQ,EAAK,KAAwD,EAA3C,EAAM,QAAQ,EAAK,IAA0B,CAAC,EAA2D,OAAxD,EAAU,iBAAiB,YAAY,EAAgB,KAAW,EAAU,oBAAoB,YAAY,EAAgB,EAAG,CAAC,EAAU,CAAC,CAAC,MAAc,CAAC,GAAG,CAAC,EAAU,OAAO,IAAI,EAAuB,MAAY,CAAC,EAAoB,IAAO,CAAC,EAAE,EAAK,GAAG,EAAc,EAAE,EAAK,GAAG,EAAQ,EAAE,EAAK,GAAG,EAAc,EAAE,EAAK,GAAG,EAAQ,EAAE,CAAC,EAAiB,sBAAsB,EAAQ,EAAmD,MAAhD,GAAiB,sBAAsB,EAAQ,KAAW,qBAAqB,EAAiB,EAAG,CAAC,EAAc,EAAQ,EAAU,CAAC,CAAC,IAAM,EAAc,EAAU,CAAC,SAAS,WAAW,MAAM,OAAO,OAAO,OAAO,WAAW,0BAA0B,EAAa,QAAQ,EAAiB,EAAE,KAAK,EAAiB,EAAE,MAAM,EAAO,KAAK,KAAK,CAAC,GAAG,WAAW,cAAc,EAAoB,SAAS,CAAC,EAAE,CAAC,OAAoB,EAAK,MAAM,CAAC,IAAI,EAAa,MAAM,CAAO,QAAa,SAAO,SAAS,WAAW,SAAS,SAAS,CAAC,SAAS,GAAwB,EAAK,MAAM,CAAC,MAAM,EAAc,CAAC,CAAC,CAAC,sBADjxC,IAA6C,IAAoD,CACkrC,EAAgB,aAAa,CAAC,MAAM,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,UAAU,UAAU,UAAU,CAAC,aAAa,IAAI,oBAAoB,IAAI,QAAQ,GAAG,CAAC,EAAoB,EAAgB,CAAC,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,CAAC,OAAO,CAAC,KAAK,EAAY,MAAM,MAAM,SAAS,QAAQ,CAAC,KAAK,EAAY,MAAM,CAAC,CAAC,aAAa,CAAC,KAAK,EAAY,OAAO,MAAM,gBAAgB,CAAC,oBAAoB,CAAC,KAAK,EAAY,OAAO,MAAM,iBAAiB,CAAC,QAAQ,CAAC,KAAK,EAAY,OAAO,MAAM,UAAU,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC"}