{"version":3,"file":"Dots_1.DocTYMH0.mjs","names":["useRef","useState","useMemo"],"sources":["https:/framerusercontent.com/modules/jzYvnJNCrnFybsbcPmZe/cJTKiqtGyZYpd3EgNHjp/Dots_1.js"],"sourcesContent":["// Interactive dots component that appear in proximity to cursor\n// Clean design with subtle gray dots on customizable background\n// Background grid layer always visible, dots become more visible on hover\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useState,useEffect,useMemo,useRef,startTransition}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";/**\n * Interactive Dots\n *\n * @framerIntrinsicWidth 100\n * @framerIntrinsicHeight 100\n *\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */export default function Grid(props){const{backgroundColor=\"#E8F5A8\",dotColor=\"#9CA3AF\",dotSize=4,spacing=60,proximityRadius=150,maxOpacity=1,backgroundOpacity=.15,gridType=\"dots-lines\",fadeDelay=0,thickness=1.5,hoverDarken=.3,showBackground=false,style}=props;const containerRef=useRef(null);const[mousePos,setMousePos]=useState({x:-1e3,y:-1e3});const[dimensions,setDimensions]=useState({width:800,height:600});const[activeDots,setActiveDots]=useState(new Set);const[fadingDots,setFadingDots]=useState(new Map);const isStatic=useIsStaticRenderer();useEffect(()=>{if(isStatic)return;const updateDimensions=()=>{if(containerRef.current){const rect=containerRef.current.getBoundingClientRect();startTransition(()=>{setDimensions({width:rect.width,height:rect.height});});}};updateDimensions();window.addEventListener(\"resize\",updateDimensions);return()=>{window.removeEventListener(\"resize\",updateDimensions);};},[isStatic]);useEffect(()=>{if(isStatic)return;const handleMouseMove=e=>{if(!containerRef.current)return;const rect=containerRef.current.getBoundingClientRect();startTransition(()=>{setMousePos({x:e.clientX-rect.left,y:e.clientY-rect.top});});};window.addEventListener(\"mousemove\",handleMouseMove);return()=>{window.removeEventListener(\"mousemove\",handleMouseMove);};},[isStatic]);const dots=useMemo(()=>{const dotsArray=[];const cols=Math.ceil(dimensions.width/spacing);const rows=Math.ceil(dimensions.height/spacing);for(let row=0;row<rows;row++){for(let col=0;col<cols;col++){const x=col*spacing+spacing/2;const y=row*spacing+spacing/2;dotsArray.push({x,y,key:`${col}-${row}`});}}return dotsArray;},[dimensions.width,dimensions.height,spacing]);const getOpacity=(dotX,dotY)=>{if(isStatic)return backgroundOpacity;const distance=Math.sqrt(Math.pow(mousePos.x-dotX,2)+Math.pow(mousePos.y-dotY,2));if(distance>proximityRadius)return backgroundOpacity;const hoverOpacity=(1-distance/proximityRadius)*maxOpacity;return Math.max(backgroundOpacity,hoverOpacity);};useEffect(()=>{if(isStatic||fadeDelay===0)return;const newActiveDots=new Set;dots.forEach(dot=>{const distance=Math.sqrt(Math.pow(mousePos.x-dot.x,2)+Math.pow(mousePos.y-dot.y,2));if(distance<=proximityRadius){newActiveDots.add(dot.key);}});// Add newly active dots immediately and remove from fading\nsetActiveDots(newActiveDots);setFadingDots(prev=>{const next=new Map(prev);newActiveDots.forEach(key=>next.delete(key));return next;});// Start fading for dots that are no longer in proximity\nconst dotsToFade=Array.from(activeDots).filter(key=>!newActiveDots.has(key));if(dotsToFade.length>0){const startTime=Date.now();startTransition(()=>{setFadingDots(prev=>{const next=new Map(prev);dotsToFade.forEach(key=>{if(!next.has(key)){next.set(key,startTime);}});return next;});});}},[mousePos,dots,proximityRadius,fadeDelay,isStatic]);// Animation loop for fading dots\nuseEffect(()=>{if(isStatic||fadeDelay===0||fadingDots.size===0)return;let animationFrame;const animate=()=>{const now=Date.now();let hasChanges=false;setFadingDots(prev=>{const next=new Map(prev);prev.forEach((startTime,key)=>{const elapsed=now-startTime;if(elapsed>=fadeDelay){next.delete(key);hasChanges=true;}});return hasChanges?next:prev;});if(fadingDots.size>0){animationFrame=requestAnimationFrame(animate);}};animationFrame=requestAnimationFrame(animate);return()=>{if(animationFrame){cancelAnimationFrame(animationFrame);}};},[fadingDots.size,fadeDelay,isStatic]);const getOpacityWithDelay=(dotX,dotY,dotKey)=>{if(isStatic)return backgroundOpacity;const distance=Math.sqrt(Math.pow(mousePos.x-dotX,2)+Math.pow(mousePos.y-dotY,2));// If within proximity\nif(distance<=proximityRadius){const hoverOpacity=(1-distance/proximityRadius)*maxOpacity;return Math.max(backgroundOpacity,hoverOpacity);}// If fading\nif(fadeDelay>0&&fadingDots.has(dotKey)){const startTime=fadingDots.get(dotKey);const elapsed=Date.now()-startTime;const fadeProgress=Math.min(elapsed/fadeDelay,1);const fadingOpacity=maxOpacity*(1-fadeProgress);return Math.max(backgroundOpacity,fadingOpacity);}return backgroundOpacity;};const getColorWithHover=(dotX,dotY,dotKey)=>{const opacity=fadeDelay>0?getOpacityWithDelay(dotX,dotY,dotKey):getOpacity(dotX,dotY);// If opacity is higher than background, darken the color\nif(opacity>backgroundOpacity){const hoverAmount=(opacity-backgroundOpacity)/(maxOpacity-backgroundOpacity);return{color:dotColor,opacity:opacity+hoverAmount*hoverDarken};}return{color:dotColor,opacity};};return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,style:{...style,position:\"relative\",width:\"100%\",height:\"100%\",minWidth:100,minHeight:100,backgroundColor:showBackground?backgroundColor:\"transparent\",overflow:\"hidden\",pointerEvents:\"none\"},children:[(gridType===\"dots-lines\"||gridType===\"lines\"||gridType===\"plus-lines\")&&/*#__PURE__*/_jsxs(\"svg\",{style:{position:\"absolute\",top:0,left:0,width:\"100%\",height:\"100%\",pointerEvents:\"none\"},children:[Array.from({length:Math.ceil(dimensions.width/spacing)}).map((_,i)=>{const x=i*spacing+spacing/2;return /*#__PURE__*/_jsx(\"line\",{x1:x,y1:0,x2:x,y2:dimensions.height,stroke:dotColor,strokeWidth:1,opacity:backgroundOpacity},`v-${i}`);}),Array.from({length:Math.ceil(dimensions.height/spacing)}).map((_,i)=>{const y=i*spacing+spacing/2;return /*#__PURE__*/_jsx(\"line\",{x1:0,y1:y,x2:dimensions.width,y2:y,stroke:dotColor,strokeWidth:1,opacity:backgroundOpacity},`h-${i}`);})]}),gridType===\"dots-lines\"||gridType===\"dots\"?dots.map(dot=>{const opacity=fadeDelay>0?getOpacityWithDelay(dot.x,dot.y,dot.key):getOpacity(dot.x,dot.y);return /*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:dot.x,top:dot.y,width:dotSize,height:dotSize,borderRadius:\"50%\",backgroundColor:dotColor,opacity,transform:\"translate(-50%, -50%)\",transition:\"opacity 0.2s ease-out\",pointerEvents:\"none\"}},dot.key);}):gridType===\"plus\"||gridType===\"plus-lines\"?dots.map(dot=>{const{color,opacity}=getColorWithHover(dot.x,dot.y,dot.key);const plusSize=dotSize*2;const halfThickness=thickness/2;return /*#__PURE__*/_jsx(\"svg\",{style:{position:\"absolute\",left:dot.x,top:dot.y,width:plusSize,height:plusSize,opacity,transform:\"translate(-50%, -50%)\",transition:\"opacity 0.2s ease-out\",pointerEvents:\"none\"},children:/*#__PURE__*/_jsx(\"path\",{d:`\n                                    M ${plusSize/2-halfThickness} 0\n                                    L ${plusSize/2+halfThickness} 0\n                                    L ${plusSize/2+halfThickness} ${plusSize/2-halfThickness}\n                                    L ${plusSize} ${plusSize/2-halfThickness}\n                                    L ${plusSize} ${plusSize/2+halfThickness}\n                                    L ${plusSize/2+halfThickness} ${plusSize/2+halfThickness}\n                                    L ${plusSize/2+halfThickness} ${plusSize}\n                                    L ${plusSize/2-halfThickness} ${plusSize}\n                                    L ${plusSize/2-halfThickness} ${plusSize/2+halfThickness}\n                                    L 0 ${plusSize/2+halfThickness}\n                                    L 0 ${plusSize/2-halfThickness}\n                                    L ${plusSize/2-halfThickness} ${plusSize/2-halfThickness}\n                                    Z\n                                `,fill:color})},dot.key);}):/*#__PURE__*/_jsxs(\"svg\",{style:{position:\"absolute\",top:0,left:0,width:\"100%\",height:\"100%\",pointerEvents:\"none\"},children:[Array.from({length:Math.ceil(dimensions.width/spacing)}).map((_,i)=>{const x=i*spacing+spacing/2;const opacity=getOpacity(x,mousePos.y);return /*#__PURE__*/_jsx(\"line\",{x1:x,y1:0,x2:x,y2:dimensions.height,stroke:dotColor,strokeWidth:1,opacity:opacity,style:{transition:\"opacity 0.2s ease-out\"}},`v-hover-${i}`);}),Array.from({length:Math.ceil(dimensions.height/spacing)}).map((_,i)=>{const y=i*spacing+spacing/2;const opacity=getOpacity(mousePos.x,y);return /*#__PURE__*/_jsx(\"line\",{x1:0,y1:y,x2:dimensions.width,y2:y,stroke:dotColor,strokeWidth:1,opacity:opacity,style:{transition:\"opacity 0.2s ease-out\"}},`h-hover-${i}`);})]})]});}addPropertyControls(Grid,{gridType:{type:ControlType.Enum,title:\"Grid Type\",options:[\"dots-lines\",\"lines\",\"dots\",\"plus\",\"plus-lines\"],optionTitles:[\"Dots + Lines\",\"Lines\",\"Dots\",\"Plus\",\"Plus + Lines\"],defaultValue:\"dots-lines\"},showBackground:{type:ControlType.Boolean,title:\"Show Background\",defaultValue:false,enabledTitle:\"Yes\",disabledTitle:\"No\"},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#E8F5A8\",hidden:({showBackground})=>!showBackground},dotColor:{type:ControlType.Color,title:\"Color\",defaultValue:\"#9CA3AF\"},dotSize:{type:ControlType.Number,title:\"Element Size\",defaultValue:4,min:.5,step:.1,unit:\"px\",displayStepper:true},spacing:{type:ControlType.Number,title:\"Spacing\",defaultValue:60,min:30,max:500,step:5,unit:\"px\",displayStepper:true},proximityRadius:{type:ControlType.Number,title:\"Proximity Radius\",defaultValue:150,min:50,max:300,step:10,unit:\"px\",displayStepper:true},maxOpacity:{type:ControlType.Number,title:\"Max Opacity\",defaultValue:1,min:0,max:1,step:.1,displayStepper:true},backgroundOpacity:{type:ControlType.Number,title:\"Background Opacity\",defaultValue:.15,min:0,max:1,step:.05,displayStepper:true},fadeDelay:{type:ControlType.Number,title:\"Fade Delay\",defaultValue:0,min:0,max:2e3,step:100,unit:\"ms\",displayStepper:true},thickness:{type:ControlType.Number,title:\"Thickness\",defaultValue:1.5,min:.1,step:.1,unit:\"px\",displayStepper:true},hoverDarken:{type:ControlType.Number,title:\"Hover Darken\",defaultValue:.3,min:0,max:1,step:.05,displayStepper:true}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Grid\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"100\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"100\",\"framerSupportedLayoutHeight\":\"any\",\"framerSupportedLayoutWidth\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Dots_1.map"],"mappings":"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"}