{"version":3,"file":"GridCounter.d80M_N6F.mjs","names":["useRef","useState","useMemo"],"sources":["https:/framerusercontent.com/modules/R5yDwQeZV5bSGqUkHRTb/OptG77TzCIizRPBnYzW6/GridCounter.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{useRef,useEffect,useState,useMemo,startTransition}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";// Character sets for different display modes\nconst CHAR_SETS={hex:\"0123456789ABCDEF\".split(\"\"),binary:\"01\".split(\"\"),ascii:\" .'`^\\\",:;Il!i><~+_-?][}{1)(|\\\\/tfjrxnuvczXYUJCLQ0OZmwqpdbkhao*#MW&8%B@$\".split(\"\"),dotSquare:[\"■\"],dotRound:[\"●\"]};const DOT_SETS=new Set([\"dotSquare\",\"dotRound\"]);// Wave functions for different animation modes\nconst WAVE_FNS={wave:(t,r,c,rows,cols,spd,spread)=>{const phase=t*spd+(r+c)*spread;return(Math.sin(phase)+1)*.5;},ripple:(t,r,c,rows,cols,spd,spread)=>{const cx=cols*.5;const cy=rows*.5;const dist=Math.sqrt((c-cx)**2+(r-cy)**2);const phase=t*spd-dist*spread;return(Math.sin(phase)+1)*.5;},diagonal:(t,r,c,rows,cols,spd,spread)=>{const phase=t*spd+(r-c)*spread;return(Math.sin(phase)+1)*.5;},pulse:(t,r,c,rows,cols,spd,spread)=>{const phase=t*spd;return(Math.sin(phase)+1)*.5;}};// Optimized color parsing with caching\nconst colorCache=new Map;function parseColor(colorStr){if(colorCache.has(colorStr)){return colorCache.get(colorStr);}let result=[0,0,0];if(typeof document===\"undefined\"){colorCache.set(colorStr,result);return result;}// Handle CSS variables and computed colors\nif(colorStr.includes(\"var(\")||colorStr.startsWith(\"rgb\")||colorStr.startsWith(\"hsl\")){const div=document.createElement(\"div\");div.style.color=colorStr;document.body.appendChild(div);const computed=window.getComputedStyle(div).color;document.body.removeChild(div);const match=computed.match(/rgba?\\((\\d+),\\s*(\\d+),\\s*(\\d+)/);if(match){result=[parseInt(match[1]),parseInt(match[2]),parseInt(match[3])];}}else if(colorStr.startsWith(\"#\")){const hex=colorStr.slice(1);if(hex.length===3){result=[parseInt(hex[0]+hex[0],16),parseInt(hex[1]+hex[1],16),parseInt(hex[2]+hex[2],16)];}else if(hex.length===6){result=[parseInt(hex.slice(0,2),16),parseInt(hex.slice(2,4),16),parseInt(hex.slice(4,6),16)];}}colorCache.set(colorStr,result);return result;}function rgbaStr(r,g,b,a){return`rgba(${r},${g},${b},${a})`;}function calculateScale(t,r,c,rows,cols,scaleSpeed,scaleIntensity){const phase=t*scaleSpeed+(r+c)*.1;const wave=(Math.sin(phase)+1)*.5;return 1+wave*scaleIntensity*.01;}/**\n * GridAnimator - Optimized animated grid component\n *\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */export default function GridAnimator(props){const{color,bgColor,enableBgColor,size,gap,character,dotModulation,mode,speed,intensity,frequency,enableScale,scaleSpeed,scaleIntensity,minOpacity,maxOpacity,enableHover,hoverRadius,hoverIntensity,style}=props;const canvasRef=useRef(null);const rafRef=useRef(null);const tRef=useRef(0);const isStatic=useIsStaticRenderer();const containerRef=useRef(null);const[dimensions,setDimensions]=useState({width:800,height:800});const mouseRef=useRef(null);// Measure container size\nuseEffect(()=>{if(typeof window===\"undefined\"||!containerRef.current)return;const observer=new ResizeObserver(entries=>{for(const entry of entries){const{width,height}=entry.contentRect;startTransition(()=>{setDimensions({width:Math.max(1,Math.floor(width)),height:Math.max(1,Math.floor(height))});});}});observer.observe(containerRef.current);return()=>observer.disconnect();},[]);const{width,height}=dimensions;// Memoize parsed colors\nconst[fgR,fgG,fgB]=useMemo(()=>parseColor(color),[color]);const[bgR,bgG,bgB]=useMemo(()=>enableBgColor&&bgColor?parseColor(bgColor):[0,0,0],[bgColor,enableBgColor]);// Memoize character set and wave function\nconst chars=useMemo(()=>CHAR_SETS[character]??CHAR_SETS.hex,[character]);const charsLen=chars.length;const isDot=useMemo(()=>DOT_SETS.has(character),[character]);const isRound=character===\"dotRound\";const waveFn=useMemo(()=>WAVE_FNS[mode]??WAVE_FNS.wave,[mode]);// Memoize animation parameters\nconst animParams=useMemo(()=>({spread:intensity*.01*frequency,cycleSpd:intensity*.08+.5}),[intensity,frequency]);useEffect(()=>{if(typeof window===\"undefined\")return;const canvas=canvasRef.current;if(!canvas)return;const ctx=canvas.getContext(\"2d\",{alpha:true,desynchronized:true,willReadFrequently:false});if(!ctx)return;const dpr=Math.min(window.devicePixelRatio||1,2);canvas.width=width*dpr;canvas.height=height*dpr;ctx.scale(dpr,dpr);// Pre-calculate grid dimensions\nconst cs=Math.max(1,size);const gapSize=Math.max(0,gap);const cellWithGap=cs+gapSize;const cols=Math.ceil(width/cellWithGap);const rows=Math.ceil(height/cellWithGap);const totalWidth=cols*cellWithGap-gapSize;const totalHeight=rows*cellWithGap-gapSize;const offsetX=(width-totalWidth)/2;const offsetY=(height-totalHeight)/2;const half=cs*.5;let running=true;// Set font once outside the loop\nif(!isDot){ctx.font=`bold ${Math.max(4,~~(cs*.6))}px monospace`;ctx.textAlign=\"center\";ctx.textBaseline=\"middle\";}function draw(){if(!running)return;const t=tRef.current;tRef.current+=.016*speed;ctx.clearRect(0,0,width,height);// Only fill background if enabled\nif(enableBgColor&&bgColor){ctx.fillStyle=`rgb(${bgR},${bgG},${bgB})`;ctx.fillRect(0,0,width,height);}// Get mouse position once per frame\nconst mouse=mouseRef.current;const hasHover=enableHover&&mouse!==null;for(let r=0;r<rows;r++){for(let c=0;c<cols;c++){const x=c*cellWithGap+half+offsetX;const y=r*cellWithGap+half+offsetY;const wave=waveFn(t,r,c,rows,cols,speed*2,animParams.spread);let alpha;let sf=1;// Character index calculation\nconst phase=Math.floor(t*animParams.cycleSpd+r*.5+c*.3);const cIdx=((phase+r*7+c*13)%charsLen+charsLen)%charsLen;// Calculate scale if enabled\nlet scale=1;if(enableScale){scale=calculateScale(t,r,c,rows,cols,scaleSpeed,scaleIntensity);}// Calculate hover effect if enabled\nlet hoverEffect=0;if(hasHover){const dx=x-mouse.x;const dy=y-mouse.y;const dist=Math.sqrt(dx*dx+dy*dy);const maxDist=hoverRadius;if(dist<maxDist){// Smooth falloff from center\nhoverEffect=(1-dist/maxDist)*hoverIntensity;}}// Map wave (0-1) to opacity range (minOpacity-maxOpacity)\nalpha=minOpacity+wave*(maxOpacity-minOpacity);// Apply hover effect to alpha and scale\nif(hoverEffect>0){alpha=Math.min(1,alpha+hoverEffect*.5);scale*=1+hoverEffect*.3;}if(isDot){if(dotModulation===\"size\"){sf=.15+wave*.85;alpha=maxOpacity;if(hoverEffect>0){sf*=1+hoverEffect*.3;alpha=Math.min(1,alpha+hoverEffect*.3);}}else if(dotModulation===\"both\"){sf=.2+wave*.8;alpha=minOpacity+wave*(maxOpacity-minOpacity);if(hoverEffect>0){sf*=1+hoverEffect*.3;alpha=Math.min(1,alpha+hoverEffect*.5);}}else if(hoverEffect>0){// opacity mode with hover\nalpha=Math.min(1,alpha+hoverEffect*.5);}}else if(wave>.75){const highlightAlpha=(wave-.75)*.25;ctx.fillStyle=rgbaStr(fgR,fgG,fgB,highlightAlpha*maxOpacity);ctx.fillRect(c*cellWithGap+offsetX+1,r*cellWithGap+offsetY+1,cs-2,cs-2);}// Skip rendering if alpha is too low (performance optimization)\nif(alpha<.02)continue;ctx.fillStyle=rgbaStr(fgR,fgG,fgB,Math.min(1,alpha));if(isRound){const rad=half*.78*sf*scale;if(rad<.4)continue;ctx.beginPath();ctx.arc(x,y,rad,0,6.2832);ctx.fill();}else if(isDot){const s=cs*.78*sf*scale;if(s<.4)continue;ctx.fillRect(x-s*.5,y-s*.5,s,s);}else{// Apply scale transformation for text\nif(scale!==1){ctx.save();ctx.translate(x,y);ctx.scale(scale,scale);ctx.fillText(chars[cIdx<0?0:cIdx>=charsLen?charsLen-1:cIdx],0,0);ctx.restore();}else{ctx.fillText(chars[cIdx<0?0:cIdx>=charsLen?charsLen-1:cIdx],x,y);}}}}if(!isStatic){rafRef.current=requestAnimationFrame(draw);}}tRef.current=0;rafRef.current=requestAnimationFrame(draw);return()=>{running=false;if(rafRef.current)cancelAnimationFrame(rafRef.current);};},[color,bgColor,enableBgColor,size,gap,character,dotModulation,mode,speed,intensity,frequency,minOpacity,maxOpacity,width,height,isStatic,fgR,fgG,fgB,bgR,bgG,bgB,chars,charsLen,isDot,isRound,waveFn,animParams,enableScale,scaleSpeed,scaleIntensity,enableHover,hoverRadius,hoverIntensity]);// Mouse move handler for hover effect\nconst handleMouseMove=useMemo(()=>e=>{if(!enableHover||!containerRef.current)return;const rect=containerRef.current.getBoundingClientRect();mouseRef.current={x:e.clientX-rect.left,y:e.clientY-rect.top};},[enableHover]);const handleMouseLeave=useMemo(()=>()=>{mouseRef.current=null;},[]);return /*#__PURE__*/_jsx(\"div\",{ref:containerRef,style:{width:\"100%\",height:\"100%\",overflow:\"hidden\",position:\"relative\",isolation:\"isolate\"},onMouseMove:handleMouseMove,onMouseLeave:handleMouseLeave,children:/*#__PURE__*/_jsx(\"canvas\",{ref:canvasRef,style:{width:\"100%\",height:\"100%\",display:\"block\",objectFit:\"fill\"}})});}addPropertyControls(GridAnimator,{color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#0099FF\"},enableBgColor:{type:ControlType.Boolean,title:\"Background\",defaultValue:false,enabledTitle:\"Custom\",disabledTitle:\"None\"},bgColor:{type:ControlType.Color,title:\" \",defaultValue:\"#000000\",hidden:({enableBgColor})=>!enableBgColor},size:{type:ControlType.Number,title:\"Size\",defaultValue:20,min:4,max:100,step:1},gap:{type:ControlType.Number,title:\"Gap\",defaultValue:4,min:0,max:50,step:1},character:{type:ControlType.Enum,title:\"Character\",options:[\"hex\",\"binary\",\"ascii\",\"dotSquare\",\"dotRound\"],optionTitles:[\"Hex\",\"Binary\",\"ASCII Portrait\",\"Square\",\"Round\"],defaultValue:\"hex\",displaySegmentedControl:false},dotModulation:{type:ControlType.Enum,title:\"Modulation\",options:[\"opacity\",\"size\",\"both\"],optionTitles:[\"Opacity\",\"Size\",\"Both\"],defaultValue:\"opacity\",displaySegmentedControl:true,hidden:({character})=>!DOT_SETS.has(character)},mode:{type:ControlType.Enum,title:\"Mode\",options:[\"wave\",\"ripple\",\"diagonal\",\"pulse\"],optionTitles:[\"Wave\",\"Ripple\",\"Diagonal\",\"Pulse\"],defaultValue:\"wave\",displaySegmentedControl:false},speed:{type:ControlType.Number,title:\"Speed\",defaultValue:1,min:.1,max:5,step:.1},intensity:{type:ControlType.Number,title:\"Intensity\",defaultValue:50,min:0,max:100,step:1},frequency:{type:ControlType.Number,title:\"Frequency\",defaultValue:1,min:.1,max:5,step:.1},minOpacity:{type:ControlType.Number,title:\"Min Opacity\",defaultValue:.1,min:0,max:1,step:.05},maxOpacity:{type:ControlType.Number,title:\"Max Opacity\",defaultValue:1,min:0,max:1,step:.05},enableScale:{type:ControlType.Boolean,title:\"Scale Effect\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\"},scaleSpeed:{type:ControlType.Number,title:\"Scale Speed\",defaultValue:1,min:.1,max:5,step:.1,hidden:({enableScale})=>!enableScale},scaleIntensity:{type:ControlType.Number,title:\"Scale Intensity\",defaultValue:20,min:0,max:100,step:1,hidden:({enableScale})=>!enableScale},enableHover:{type:ControlType.Boolean,title:\"Hover Effect\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\"},hoverRadius:{type:ControlType.Number,title:\"Hover Radius\",defaultValue:100,min:20,max:300,step:10,hidden:({enableHover})=>!enableHover},hoverIntensity:{type:ControlType.Number,title:\"Hover Intensity\",defaultValue:.5,min:0,max:1,step:.05,hidden:({enableHover})=>!enableHover}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"GridAnimator\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any\",\"framerSupportedLayoutWidth\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./GridCounter.map"],"mappings":"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"}