{"version":3,"file":"Neural_Network_Background.DeP46rYv.mjs","names":["useRef","p"],"sources":["https:/framerusercontent.com/modules/qLXaJZdxcyXEUTXMW8oS/f58apNlIauqqIcQ0C04F/Neural_Network_Background.js"],"sourcesContent":["// Get Started: https://www.framer.com/developers\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useEffect,useRef}from\"react\";/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 400\n * @framerDisableUnlink\n */export default function NeuralNetworkBackground(props){const{nodeCount=50,connectionDistance=150,nodeColor=\"#00D9FF\",connectionColor=\"#00D9FF\",nodeSize=4,connectionWidth=1,animationSpeed=1,pulseSpeed=2,mouseInteraction=true,mouseRadius=200,showPulses=true,pulseIntensity=\"medium\",backgroundColor=\"#0A0A0F\",nodeOpacity=.8,connectionOpacity=.3,movementSpeed=.5,glowEffect=true,waveEffect=true,waveSpeed=3}=props;const canvasRef=useRef(null);const nodesRef=useRef([]);const pulsesRef=useRef([]);const mouseRef=useRef({x:-9999,y:-9999});const animationRef=useRef(null);const timeRef=useRef(0);const lastPulseTimeRef=useRef(Date.now());const lastFrameTimeRef=useRef(Date.now());// Keep latest props accessible inside the animation loop without restarting it\nconst propsRef=useRef(props);useEffect(()=>{propsRef.current=props;});useEffect(()=>{const canvas=canvasRef.current;if(!canvas)return;const ctx=canvas.getContext(\"2d\");// ── Spawn nodes spread across the full canvas ──────────────────────\nconst spawnNodes=(w,h)=>{const p=propsRef.current;const nodes=[];for(let i=0;i<p.nodeCount;i++){nodes.push({x:Math.random()*w,y:Math.random()*h,vx:(Math.random()-.5)*p.movementSpeed,vy:(Math.random()-.5)*p.movementSpeed,baseSize:p.nodeSize,currentSize:p.nodeSize,active:false,activationTime:0});}nodesRef.current=nodes;pulsesRef.current=[];};// ── Size canvas; spawn nodes only once we have real dimensions ─────\nlet initialized=false;const sizeCanvas=()=>{const w=canvas.offsetWidth;const h=canvas.offsetHeight;if(w>0&&h>0){canvas.width=w;canvas.height=h;if(!initialized){initialized=true;spawnNodes(w,h);}}};sizeCanvas();const ro=new ResizeObserver(sizeCanvas);ro.observe(canvas);if(canvas.parentElement)ro.observe(canvas.parentElement);// ── Pulse creator ──────────────────────────────────────────────────\nconst createPulse=()=>{const p=propsRef.current;if(!p.showPulses||nodesRef.current.length<2)return;const fromNode=nodesRef.current[Math.floor(Math.random()*nodesRef.current.length)];const connected=nodesRef.current.filter(n=>{if(n===fromNode)return false;const dx=n.x-fromNode.x;const dy=n.y-fromNode.y;return Math.sqrt(dx*dx+dy*dy)<p.connectionDistance;});if(connected.length===0)return;const toNode=connected[Math.floor(Math.random()*connected.length)];const intensityMap={subtle:.5,medium:1,strong:1.5,extreme:2.5};pulsesRef.current.push({from:{x:fromNode.x,y:fromNode.y},to:{x:toNode.x,y:toNode.y},progress:0,speed:.02/p.pulseSpeed*(intensityMap[p.pulseIntensity]??1),fromNode,toNode});fromNode.active=true;fromNode.activationTime=Date.now();};// ── Main animation loop ────────────────────────────────────────────\nconst animate=()=>{const p=propsRef.current;const now=Date.now();const delta=Math.min(now-lastFrameTimeRef.current,100);lastFrameTimeRef.current=now;const dt=delta/16.67;ctx.clearRect(0,0,canvas.width,canvas.height);timeRef.current+=.016*p.animationSpeed*dt;// Update nodes\nnodesRef.current.forEach((node,index)=>{if(p.waveEffect){node.x+=Math.sin(timeRef.current*p.waveSpeed+index*.5)*.2*dt;node.y+=Math.cos(timeRef.current*p.waveSpeed+index*.3)*.2*dt;}node.x+=node.vx*p.animationSpeed*dt;node.y+=node.vy*p.animationSpeed*dt;if(node.x<0||node.x>canvas.width)node.vx*=-1;if(node.y<0||node.y>canvas.height)node.vy*=-1;if(p.mouseInteraction){const dx=mouseRef.current.x-node.x;const dy=mouseRef.current.y-node.y;const dist=Math.sqrt(dx*dx+dy*dy);if(dist<p.mouseRadius&&dist>0){const force=(p.mouseRadius-dist)/p.mouseRadius;node.x-=dx/dist*force*2*dt;node.y-=dy/dist*force*2*dt;}}if(node.active){const elapsed=now-node.activationTime;if(elapsed>500){node.active=false;node.currentSize=node.baseSize;}else{node.currentSize=node.baseSize+node.baseSize*2*(1-elapsed/500);}}else{node.currentSize=node.baseSize;}});// Draw connections\nctx.strokeStyle=p.connectionColor;ctx.lineWidth=p.connectionWidth;nodesRef.current.forEach((n1,i)=>{nodesRef.current.slice(i+1).forEach(n2=>{const dx=n2.x-n1.x;const dy=n2.y-n1.y;const dist=Math.sqrt(dx*dx+dy*dy);if(dist<p.connectionDistance){ctx.globalAlpha=(1-dist/p.connectionDistance)*p.connectionOpacity;ctx.beginPath();ctx.moveTo(n1.x,n1.y);ctx.lineTo(n2.x,n2.y);ctx.stroke();}});});// Update & draw pulses\npulsesRef.current=pulsesRef.current.filter(pulse=>{pulse.progress+=pulse.speed*dt;if(pulse.progress>=1){pulse.toNode.active=true;pulse.toNode.activationTime=now;return false;}const x=pulse.from.x+(pulse.to.x-pulse.from.x)*pulse.progress;const y=pulse.from.y+(pulse.to.y-pulse.from.y)*pulse.progress;ctx.globalAlpha=1;const g=ctx.createRadialGradient(x,y,0,x,y,p.nodeSize*3);g.addColorStop(0,p.nodeColor);g.addColorStop(1,\"transparent\");ctx.fillStyle=g;ctx.beginPath();ctx.arc(x,y,p.nodeSize*3,0,Math.PI*2);ctx.fill();return true;});// Spawn new pulses\nif(p.showPulses&&now-lastPulseTimeRef.current>1e3/p.pulseSpeed){createPulse();lastPulseTimeRef.current=now;}// Draw nodes\nnodesRef.current.forEach(node=>{if(p.glowEffect){const glowSize=node.active?node.currentSize*3:node.currentSize*1.5;const g=ctx.createRadialGradient(node.x,node.y,0,node.x,node.y,glowSize);g.addColorStop(0,p.nodeColor);g.addColorStop(1,\"transparent\");ctx.globalAlpha=p.nodeOpacity;ctx.fillStyle=g;ctx.beginPath();ctx.arc(node.x,node.y,glowSize,0,Math.PI*2);ctx.fill();}ctx.globalAlpha=p.nodeOpacity;ctx.fillStyle=p.nodeColor;ctx.beginPath();ctx.arc(node.x,node.y,node.currentSize,0,Math.PI*2);ctx.fill();});ctx.globalAlpha=1;animationRef.current=requestAnimationFrame(animate);};// ── Visibility API: pause/resume on tab switch ─────────────────────\nconst startLoop=()=>{if(animationRef.current)cancelAnimationFrame(animationRef.current);lastFrameTimeRef.current=Date.now();animationRef.current=requestAnimationFrame(animate);};const stopLoop=()=>{if(animationRef.current){cancelAnimationFrame(animationRef.current);animationRef.current=null;}};const onVisibility=()=>document.hidden?stopLoop():startLoop();document.addEventListener(\"visibilitychange\",onVisibility);startLoop();return()=>{stopLoop();ro.disconnect();document.removeEventListener(\"visibilitychange\",onVisibility);};},[])// runs once — all prop reads go through propsRef\n;const handleMouseMove=e=>{const rect=canvasRef.current?.getBoundingClientRect();if(rect)mouseRef.current={x:e.clientX-rect.left,y:e.clientY-rect.top};};const handleMouseLeave=()=>{mouseRef.current={x:-9999,y:-9999};};return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",backgroundColor,position:\"relative\",overflow:\"hidden\"},onMouseMove:handleMouseMove,onMouseLeave:handleMouseLeave,children:/*#__PURE__*/_jsx(\"canvas\",{ref:canvasRef,style:{width:\"100%\",height:\"100%\",display:\"block\"}})});}addPropertyControls(NeuralNetworkBackground,{nodeCount:{title:\"Node Count\",type:ControlType.Number,min:10,max:200,step:10,defaultValue:50,displayStepper:true},connectionDistance:{title:\"Connection Distance\",type:ControlType.Number,min:50,max:300,step:10,defaultValue:150,displayStepper:true},nodeColor:{title:\"Node Color\",type:ControlType.Color,defaultValue:\"#00D9FF\"},connectionColor:{title:\"Connection Color\",type:ControlType.Color,defaultValue:\"#00D9FF\"},nodeSize:{title:\"Node Size\",type:ControlType.Number,min:2,max:10,step:1,defaultValue:4,displayStepper:true},connectionWidth:{title:\"Connection Width\",type:ControlType.Number,min:.5,max:4,step:.5,defaultValue:1,displayStepper:true},nodeOpacity:{title:\"Node Opacity\",type:ControlType.Number,min:0,max:1,step:.1,defaultValue:.8,displayStepper:true},connectionOpacity:{title:\"Connection Opacity\",type:ControlType.Number,min:0,max:1,step:.1,defaultValue:.3,displayStepper:true},movementSpeed:{title:\"Movement Speed\",type:ControlType.Number,min:.1,max:2,step:.1,defaultValue:.5,displayStepper:true},animationSpeed:{title:\"Animation Speed\",type:ControlType.Number,min:.1,max:3,step:.1,defaultValue:1,displayStepper:true},showPulses:{title:\"Show Pulses\",type:ControlType.Boolean,defaultValue:true},pulseSpeed:{title:\"Pulse Frequency\",type:ControlType.Number,min:.5,max:5,step:.5,defaultValue:2,displayStepper:true,hidden:props=>!props.showPulses},pulseIntensity:{title:\"Pulse Intensity\",type:ControlType.Enum,options:[\"subtle\",\"medium\",\"strong\",\"extreme\"],optionTitles:[\"Subtle\",\"Medium\",\"Strong\",\"Extreme\"],defaultValue:\"medium\",hidden:props=>!props.showPulses},glowEffect:{title:\"Glow Effect\",type:ControlType.Boolean,defaultValue:true},waveEffect:{title:\"Wave Effect\",type:ControlType.Boolean,defaultValue:true},waveSpeed:{title:\"Wave Speed\",type:ControlType.Number,min:.5,max:5,step:.5,defaultValue:3,displayStepper:true,hidden:props=>!props.waveEffect},mouseInteraction:{title:\"Mouse Interaction\",type:ControlType.Boolean,defaultValue:true},mouseRadius:{title:\"Mouse Radius\",type:ControlType.Number,min:50,max:400,step:50,defaultValue:200,displayStepper:true,hidden:props=>!props.mouseInteraction},backgroundColor:{title:\"Background Color\",type:ControlType.Color,defaultValue:\"#0A0A0F\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"NeuralNetworkBackground\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"400\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerDisableUnlink\":\"\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"400\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Neural_Network_Background.map"],"mappings":"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"}