{"version":3,"file":"PixelGradientPattern.DoHvVRzK.mjs","names":["React.useRef","React.useMemo","React.useCallback"],"sources":["https:/framerusercontent.com/modules/uBXp6HDGnfrPCKhjlikF/zs4sPGouhR4FPK8v0X6j/PixelGradientPattern.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";import{useInView}from\"framer-motion\";function bucketKey(col,row){return`${col}:${row}`;}const SVG_VIEWBOX_SIZE=1e3;const MAX_SHAPES=4e3;const clamp01=v=>Math.max(0,Math.min(1,v));const lerp=(a,b,t)=>a+(b-a)*t;function hash2D(x,y){const s=Math.sin(x*127.1+y*311.7)*43758.5453123;return s-Math.floor(s);}function hslToRgb(h,s,l){const hue=(h%360+360)%360;const sat=clamp01(s);const lig=clamp01(l);const c=(1-Math.abs(2*lig-1))*sat;const hp=hue/60;const x=c*(1-Math.abs(hp%2-1));let r1=0;let g1=0;let b1=0;if(hp>=0&&hp<1){r1=c;g1=x;}else if(hp<2){r1=x;g1=c;}else if(hp<3){g1=c;b1=x;}else if(hp<4){g1=x;b1=c;}else if(hp<5){r1=x;b1=c;}else{r1=c;b1=x;}const m=lig-c/2;return{r:Math.round(clamp01(r1+m)*255),g:Math.round(clamp01(g1+m)*255),b:Math.round(clamp01(b1+m)*255)};}function parseColor(input){const value=input.trim();if(/^#([0-9a-f]{3})$/i.test(value)){const h=value.slice(1);return{r:parseInt(h[0]+h[0],16),g:parseInt(h[1]+h[1],16),b:parseInt(h[2]+h[2],16)};}if(/^#([0-9a-f]{6})$/i.test(value)){const h=value.slice(1);return{r:parseInt(h.slice(0,2),16),g:parseInt(h.slice(2,4),16),b:parseInt(h.slice(4,6),16)};}const rgbMatch=value.match(/^rgba?\\((.+)\\)$/i);if(rgbMatch){const parts=rgbMatch[1].split(\",\").map(p=>p.trim());if(parts.length>=3){const r=Number(parts[0]);const g=Number(parts[1]);const b=Number(parts[2]);if(Number.isFinite(r)&&Number.isFinite(g)&&Number.isFinite(b)){return{r:Math.round(clamp01(r/255)*255),g:Math.round(clamp01(g/255)*255),b:Math.round(clamp01(b/255)*255)};}}}const hslMatch=value.match(/^hsla?\\((.+)\\)$/i);if(hslMatch){const parts=hslMatch[1].split(\",\").map(p=>p.trim());if(parts.length>=3){const h=Number(parts[0]);const sRaw=parts[1].replace(\"%\",\"\");const lRaw=parts[2].replace(\"%\",\"\");const s=Number(sRaw)/100;const l=Number(lRaw)/100;if(Number.isFinite(h)&&Number.isFinite(s)&&Number.isFinite(l)){return hslToRgb(h,s,l);}}}return{r:0,g:0,b:0};}function toSvgFill(r,g,b,a){if(!Number.isFinite(r)||!Number.isFinite(g)||!Number.isFinite(b)||!Number.isFinite(a)){return\"rgba(255,0,0,1)\";}const rr=Math.round(clamp01(r/255)*255);const gg=Math.round(clamp01(g/255)*255);const bb=Math.round(clamp01(b/255)*255);const aa=clamp01(a);return`rgba(${rr}, ${gg}, ${bb}, ${aa})`;}function srgbToLinear(c){const v=c/255;return v<=.04045?v/12.92:Math.pow((v+.055)/1.055,2.4);}function linearToSrgb(c){const v=c<=.0031308?12.92*c:1.055*Math.pow(c,1/2.4)-.055;return Math.round(clamp01(v)*255);}function rgbToOklab(rgb){const r=srgbToLinear(rgb.r);const g=srgbToLinear(rgb.g);const b=srgbToLinear(rgb.b);const l=.4122214708*r+.5363325363*g+.0514459929*b;const m=.2119034982*r+.6806995451*g+.1073969566*b;const s=.0883024619*r+.2817188376*g+.6299787005*b;const l_=Math.cbrt(l);const m_=Math.cbrt(m);const s_=Math.cbrt(s);return{l:.2104542553*l_+.793617785*m_-.0040720468*s_,a:1.9779984951*l_-2.428592205*m_+.4505937099*s_,b:.0259040371*l_+.7827717662*m_-.808675766*s_};}function oklabToRgb(lab){const l_=lab.l+.3963377774*lab.a+.2158037573*lab.b;const m_=lab.l-.1055613458*lab.a-.0638541728*lab.b;const s_=lab.l-.0894841775*lab.a-1.291485548*lab.b;const l=l_*l_*l_;const m=m_*m_*m_;const s=s_*s_*s_;const rLin=4.0767416621*l-3.3077115913*m+.2309699292*s;const gLin=-1.2684380046*l+2.6097574011*m-.3413193965*s;const bLin=-.0041960863*l-.7034186147*m+1.707614701*s;return{r:linearToSrgb(rLin),g:linearToSrgb(gLin),b:linearToSrgb(bLin)};}function sampleStops(t,stops,mixSpace){if(stops.length===0)return{r:0,g:0,b:0};if(stops.length===1)return stops[0];const p=clamp01(t)*(stops.length-1);const i=Math.min(stops.length-2,Math.floor(p));const f=p-i;const c1=stops[i];const c2=stops[i+1];if(mixSpace===\"RGB\"){return{r:Math.round(lerp(c1.r,c2.r,f)),g:Math.round(lerp(c1.g,c2.g,f)),b:Math.round(lerp(c1.b,c2.b,f))};}const l1=rgbToOklab(c1);const l2=rgbToOklab(c2);return oklabToRgb({l:lerp(l1.l,l2.l,f),a:lerp(l1.a,l2.a,f),b:lerp(l1.b,l2.b,f)});}function sampleStopsOklab(t,labs){if(labs.length===0)return{r:0,g:0,b:0};if(labs.length===1)return oklabToRgb(labs[0]);const p=clamp01(t)*(labs.length-1);const i=Math.min(labs.length-2,Math.floor(p));const f=p-i;const c1=labs[i];const c2=labs[i+1];return oklabToRgb({l:lerp(c1.l,c2.l,f),a:lerp(c1.a,c2.a,f),b:lerp(c1.b,c2.b,f)});}function applyRepeatMode(v,repeatType){if(repeatType===\"None\")return clamp01(v);if(repeatType===\"Repeat\")return(v%1+1)%1;const m=(v%2+2)%2;return m<=1?m:2-m;}/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function PixelGradientPattern(props){const{gradientShape=\"Linear\",angle=35,colorStops=[\"#000000\",\"#14b8a6\",\"#FFFFFF\"],offset=50,repeatType=\"Mirror\",repeatFrequency=8,scatter=0,mixSpace=\"OKLab\",shape=\"Rectangle\",size=5,stretch=200,gap=6,colorTrim=2,averageColor=100,dissolveMode=\"None\",dissolve=0,falloff=0,fallIn=0,backgroundColor=\"#000000\",grainAmount=0,grainSize=4,grainSpeed=0,hoverEffect=\"Ripple\",baseOpacity=40,hoverOpacity=80,spotlightRadius=35,edgeSoftness=50,transitionSpeed=.3,rippleEnabled=true,rippleAmount=20,rippleRadius=12,rippleStrength=18,rippleSpeed=.8,rippleDuration=.6,style}=props;const containerRef=React.useRef(null);const hoverLayerRef=React.useRef(null);const rippleNodeRefs=React.useRef([]);const grainCanvasRef=React.useRef(null);const grainBufferRef=React.useRef(null);const grainBufferCtxRef=React.useRef(null);const grainImageDataRef=React.useRef(null);const grainSizeRef=React.useRef({width:0,height:0,pixelWidth:0,pixelHeight:0});const pointerTargetRef=React.useRef({x:.5,y:.5});const pointerCurrentRef=React.useRef({x:.5,y:.5});const containerRectRef=React.useRef({left:0,top:0,width:0,height:0});const hoverTargetRef=React.useRef(0);const hoverCurrentRef=React.useRef(0);const rafRef=React.useRef(0);const lastTickRef=React.useRef(0);const lastSpotRef=React.useRef({x:-1,y:-1,opacity:-1});const activeRippleIndicesRef=React.useRef(new Set);const isInView=useInView(containerRef,{amount:.05});const parsedStops=React.useMemo(()=>{const safe=colorStops.length>0?colorStops:[\"#000000\",\"#14b8a6\",\"#FFFFFF\"];return safe.map(parseColor);},[colorStops]);const resolvedCenter=React.useMemo(()=>({x:.5,y:.5}),[]);const parsedStopsOklab=React.useMemo(()=>parsedStops.map(rgbToOklab),[parsedStops]);const shapes=React.useMemo(()=>{try{const safeRepeatFrequency=Number.isFinite(repeatFrequency)?Math.max(1e-4,repeatFrequency):1;const safeSize=Number.isFinite(size)?Math.max(1,size):5;const safeStretch=Number.isFinite(stretch)?Math.max(1,stretch):200;const safeGap=Number.isFinite(gap)?Math.max(0,gap):6;const barW=shape===\"Rectangle\"?safeSize*(safeStretch/100):safeSize;const barH=safeSize;const unitScale=4;const drawW=Math.max(1,barW*unitScale);const drawH=Math.max(1,barH*unitScale);let stepX=Math.max(1,(barW+safeGap)*unitScale);let stepY=Math.max(1,(barH+safeGap)*unitScale);let cols=Math.max(1,Math.ceil(SVG_VIEWBOX_SIZE/stepX)+1);let rows=Math.max(1,Math.ceil(SVG_VIEWBOX_SIZE/stepY)+1);const naiveTotal=cols*rows;if(naiveTotal>MAX_SHAPES){const scaleFactor=Math.sqrt(naiveTotal/MAX_SHAPES);stepX*=scaleFactor;stepY*=scaleFactor;cols=Math.max(1,Math.ceil(SVG_VIEWBOX_SIZE/stepX)+1);rows=Math.max(1,Math.ceil(SVG_VIEWBOX_SIZE/stepY)+1);}const scatterN=scatter/100;const dissolveN=dissolve/100;const falloffN=falloff/100;const fallInN=fallIn/100;const avgN=averageColor/100;const trimStrength=Math.max(0,colorTrim);const trimSteps=trimStrength<=0?0:Math.max(2,Math.round(trimStrength*8));const animatedAngleRad=angle*Math.PI/180;const dirX=Math.cos(animatedAngleRad);const dirY=Math.sin(animatedAngleRad);const offsetNorm=offset/100;const centerX=resolvedCenter.x;const centerY=resolvedCenter.y;const invMaxDist=1/Math.sqrt(.5*.5+.5*.5);const nodes=[];for(let r=0;r<rows;r++){for(let c=0;c<cols;c++){const x=c*stepX;const y=r*stepY;if(x>SVG_VIEWBOX_SIZE||y>SVG_VIEWBOX_SIZE)continue;const u=x/SVG_VIEWBOX_SIZE;const v=y/SVG_VIEWBOX_SIZE;const dx=u-centerX;const dy=v-centerY;let tBase=0;if(gradientShape===\"Linear\")tBase=dx*dirX+dy*dirY+.5;else if(gradientShape===\"Radial\")tBase=Math.sqrt(dx*dx+dy*dy)*invMaxDist;else if(gradientShape===\"Angular\")tBase=Math.atan2(dy,dx)/(Math.PI*2)+.5;else tBase=Math.max(Math.abs(dx),Math.abs(dy))*2;const jitter=(hash2D(c+13.2,r+91.7)-.5)*scatterN;const repeated=applyRepeatMode((tBase+jitter)*safeRepeatFrequency+offsetNorm,repeatType);let tTrimmed=repeated;if(trimSteps>0)tTrimmed=Math.round(repeated*(trimSteps-1))/(trimSteps-1);const smooth=mixSpace===\"OKLab\"?sampleStopsOklab(repeated,parsedStopsOklab):sampleStops(repeated,parsedStops,mixSpace);const trimmed=mixSpace===\"OKLab\"?sampleStopsOklab(tTrimmed,parsedStopsOklab):sampleStops(tTrimmed,parsedStops,mixSpace);const finalColor={r:Math.round(lerp(smooth.r,trimmed.r,avgN)),g:Math.round(lerp(smooth.g,trimmed.g,avgN)),b:Math.round(lerp(smooth.b,trimmed.b,avgN))};const distFromCenter=clamp01(Math.sqrt(dx*dx+dy*dy)*invMaxDist);let alpha=1;if(dissolveMode===\"Dropout\"&&dissolveN>0){if(hash2D(c+7.7,r+3.3)<dissolveN)continue;}else if(dissolveMode===\"Fade\"&&dissolveN>0){alpha*=clamp01(1-distFromCenter*dissolveN);}if(falloffN>0){alpha*=clamp01(1-distFromCenter*falloffN);}if(fallInN>0){const centerWeight=clamp01(1-distFromCenter);alpha=clamp01(alpha+(1-alpha)*centerWeight*fallInN);}if(alpha<=.001)continue;let brightness=1;if(fallInN>0){const centerWeight=clamp01(1-distFromCenter);brightness*=clamp01(1-centerWeight*fallInN*.45);}const br=finalColor.r*brightness;const bg=finalColor.g*brightness;const bb=finalColor.b*brightness;nodes.push({key:`${r}-${c}`,x,y,fill:toSvgFill(br,bg,bb,alpha),type:shape===\"Circle\"?\"circle\":\"rect\"});}}return{nodes,drawW,drawH};}catch(error){console.error(\"PixelGradientPattern shape generation error\",error);return{nodes:[],drawW:8,drawH:8};}},[angle,averageColor,colorTrim,dissolve,dissolveMode,falloff,fallIn,gap,gradientShape,mixSpace,offset,parsedStops,parsedStopsOklab,repeatFrequency,repeatType,resolvedCenter.x,resolvedCenter.y,scatter,shape,size,stretch]);const baseOpacityValue=clamp01(baseOpacity/100);const radiusPct=Math.max(10,Math.min(100,spotlightRadius));const softnessN=clamp01(edgeSoftness/100);const innerStop=Math.max(0,radiusPct*(1-softnessN));const outerStop=radiusPct;const transitionDuration=Math.max(.05,transitionSpeed);const isSpotlightMode=hoverEffect===\"Spotlight Reveal\";const isRippleMode=hoverEffect===\"Ripple\";const rippleAmountN=clamp01(rippleAmount/100);const rippleStrengthN=clamp01(rippleStrength/100);const rippleRadiusPx=Math.max(12,Math.max(2,Math.min(40,rippleRadius))/100*SVG_VIEWBOX_SIZE);const rippleDurationClamped=Math.max(.1,Math.min(1.5,rippleDuration));const ripplePoints=React.useMemo(()=>shapes.nodes.map(node=>({x:node.type===\"circle\"?node.x+shapes.drawH/2:node.x+shapes.drawW/2,y:node.y+shapes.drawH/2})),[shapes]);const rippleIndex=React.useMemo(()=>{const cellSize=Math.max(24,rippleRadiusPx);const buckets=new Map;for(let i=0;i<ripplePoints.length;i++){const p=ripplePoints[i];const col=Math.floor(p.x/cellSize);const row=Math.floor(p.y/cellSize);const key=bucketKey(col,row);const list=buckets.get(key);if(list)list.push(i);else buckets.set(key,[i]);}return{buckets,cellSize};},[ripplePoints,rippleRadiusPx]);const drawGrain=React.useCallback(()=>{if(typeof window===\"undefined\"||grainAmount<=0)return;const canvas=grainCanvasRef.current;if(!canvas)return;const rect=containerRectRef.current;const width=Math.max(1,Math.round(rect.width));const height=Math.max(1,Math.round(rect.height));if(width<=1||height<=1)return;const dpr=window.devicePixelRatio||1;const pixelWidth=Math.max(1,Math.round(width*dpr));const pixelHeight=Math.max(1,Math.round(height*dpr));if(canvas.width!==pixelWidth||canvas.height!==pixelHeight){canvas.width=pixelWidth;canvas.height=pixelHeight;canvas.style.width=`${width}px`;canvas.style.height=`${height}px`;}const ctx=canvas.getContext(\"2d\");if(!ctx)return;const clampedGrainSize=Math.max(1,Math.min(20,grainSize));const sampleScale=1/clampedGrainSize;const bufferWidth=Math.max(32,Math.round(pixelWidth*sampleScale));const bufferHeight=Math.max(32,Math.round(pixelHeight*sampleScale));const needsBufferReset=!grainBufferRef.current||grainSizeRef.current.width!==bufferWidth||grainSizeRef.current.height!==bufferHeight;if(needsBufferReset){grainBufferRef.current=document.createElement(\"canvas\");grainBufferRef.current.width=bufferWidth;grainBufferRef.current.height=bufferHeight;grainBufferCtxRef.current=grainBufferRef.current.getContext(\"2d\");grainImageDataRef.current=null;grainSizeRef.current.width=bufferWidth;grainSizeRef.current.height=bufferHeight;}const buffer=grainBufferRef.current;const bufferCtx=grainBufferCtxRef.current;if(!bufferCtx)return;const currentData=grainImageDataRef.current;const imageData=currentData&&currentData.width===buffer.width&&currentData.height===buffer.height?currentData:bufferCtx.createImageData(buffer.width,buffer.height);grainImageDataRef.current=imageData;const data=imageData.data;for(let i=0;i<data.length;i+=4){const v=Math.floor(Math.random()*256);data[i]=v;data[i+1]=v;data[i+2]=v;data[i+3]=255;}bufferCtx.putImageData(imageData,0,0);ctx.clearRect(0,0,pixelWidth,pixelHeight);ctx.imageSmoothingEnabled=false;ctx.drawImage(buffer,0,0,pixelWidth,pixelHeight);},[grainAmount,grainSize]);React.useEffect(()=>{if(typeof window===\"undefined\"||grainAmount<=0)return;let animationFrameId=0;let resizeRaf=0;const canvas=grainCanvasRef.current;const container=containerRef.current;if(!canvas||!container)return;const updateContainerRect=()=>{const rect=container.getBoundingClientRect();containerRectRef.current={left:rect.left,top:rect.top,width:rect.width,height:rect.height};};const onResize=()=>{if(resizeRaf)window.cancelAnimationFrame(resizeRaf);resizeRaf=window.requestAnimationFrame(()=>{updateContainerRect();drawGrain();});};updateContainerRect();drawGrain();let resizeObserver=null;if(typeof ResizeObserver!==\"undefined\"){resizeObserver=new ResizeObserver(onResize);resizeObserver.observe(container);}else{window.addEventListener(\"resize\",onResize);}if(grainSpeed>0&&isInView){const fps=Math.max(1,Math.min(60,grainSpeed));const frameDuration=1e3/fps;let lastTime=0;const animate=time=>{if(!lastTime||time-lastTime>=frameDuration){lastTime=time;drawGrain();}animationFrameId=window.requestAnimationFrame(animate);};animationFrameId=window.requestAnimationFrame(animate);}return()=>{if(animationFrameId)window.cancelAnimationFrame(animationFrameId);if(resizeRaf)window.cancelAnimationFrame(resizeRaf);if(resizeObserver)resizeObserver.disconnect();else window.removeEventListener(\"resize\",onResize);};},[drawGrain,grainAmount,grainSpeed,isInView]);React.useEffect(()=>{if(typeof window===\"undefined\")return;let mounted=true;const step=time=>{if(!mounted)return;const dt=lastTickRef.current?Math.min(.08,(time-lastTickRef.current)/1e3):1/60;lastTickRef.current=time;const response=Math.max(.01,transitionSpeed);const follow=1-Math.exp(-8*dt/response);pointerCurrentRef.current.x=pointerCurrentRef.current.x+(pointerTargetRef.current.x-pointerCurrentRef.current.x)*follow;pointerCurrentRef.current.y=pointerCurrentRef.current.y+(pointerTargetRef.current.y-pointerCurrentRef.current.y)*follow;hoverCurrentRef.current=hoverCurrentRef.current+(hoverTargetRef.current-hoverCurrentRef.current)*follow;const layer=hoverLayerRef.current;if(layer&&isSpotlightMode){const x=clamp01(pointerCurrentRef.current.x)*100;const y=clamp01(pointerCurrentRef.current.y)*100;const baseN=clamp01(baseOpacity/100);const hoverN=clamp01(hoverOpacity/100);const revealDelta=Math.max(0,hoverN-baseN);const nextOpacity=revealDelta*clamp01(hoverCurrentRef.current);if(Math.abs(lastSpotRef.current.x-x)>.1){layer.style.setProperty(\"--spot-x\",`${x}%`);lastSpotRef.current.x=x;}if(Math.abs(lastSpotRef.current.y-y)>.1){layer.style.setProperty(\"--spot-y\",`${y}%`);lastSpotRef.current.y=y;}if(Math.abs(lastSpotRef.current.opacity-nextOpacity)>.002){layer.style.opacity=`${nextOpacity}`;lastSpotRef.current.opacity=nextOpacity;}}else if(layer&&Math.abs(lastSpotRef.current.opacity)>.002){layer.style.opacity=\"0\";lastSpotRef.current.opacity=0;}if(isRippleMode&&rippleEnabled&&rippleAmountN>0&&rippleStrengthN>0&&hoverCurrentRef.current>.001&&isInView){const nowSeconds=time/1e3;const pointerX=clamp01(pointerCurrentRef.current.x)*SVG_VIEWBOX_SIZE;const pointerY=clamp01(pointerCurrentRef.current.y)*SVG_VIEWBOX_SIZE;const radius=rippleRadiusPx;const radiusSq=radius*radius;const cellRadius=Math.ceil(radius/rippleIndex.cellSize);const pointerCol=Math.floor(pointerX/rippleIndex.cellSize);const pointerRow=Math.floor(pointerY/rippleIndex.cellSize);const sigma=.07+.12*(rippleDurationClamped/1.5);const phase=nowSeconds*Math.max(.1,rippleSpeed)%1;const hoverMix=clamp01(hoverCurrentRef.current);const nextActive=new Set;for(let row=pointerRow-cellRadius;row<=pointerRow+cellRadius;row++){for(let col=pointerCol-cellRadius;col<=pointerCol+cellRadius;col++){const bucket=rippleIndex.buckets.get(bucketKey(col,row));if(!bucket)continue;for(let i=0;i<bucket.length;i++){const index=bucket[i];const point=ripplePoints[index];const dx=point.x-pointerX;const dy=point.y-pointerY;const d2=dx*dx+dy*dy;if(d2>radiusSq)continue;const dist=Math.sqrt(d2);const distN=dist/radius;const falloff=Math.pow(1-distN,2);const ring=Math.exp(-Math.pow(distN-phase,2)/(2*sigma*sigma));const ambient=.2*falloff;const wave=(ring+ambient)*falloff*hoverMix*rippleAmountN;const effect=clamp01(wave);if(effect<=.001)continue;const node=rippleNodeRefs.current[index];if(!node)continue;const scale=1+effect*rippleStrengthN*.22;node.style.filter=`brightness(${1+effect*rippleStrengthN*.5})`;node.setAttribute(\"transform\",`translate(${point.x} ${point.y}) scale(${scale}) translate(${-point.x} ${-point.y})`);nextActive.add(index);}}}activeRippleIndicesRef.current.forEach(index=>{if(nextActive.has(index))return;const node=rippleNodeRefs.current[index];if(!node)return;node.style.opacity=\"\";node.style.filter=\"\";node.setAttribute(\"transform\",\"\");});activeRippleIndicesRef.current=nextActive;}else if(activeRippleIndicesRef.current.size>0){activeRippleIndicesRef.current.forEach(index=>{const node=rippleNodeRefs.current[index];if(!node)return;node.style.opacity=\"\";node.style.filter=\"\";node.setAttribute(\"transform\",\"\");});activeRippleIndicesRef.current.clear();}rafRef.current=window.requestAnimationFrame(step);};rafRef.current=window.requestAnimationFrame(step);return()=>{mounted=false;if(rafRef.current)window.cancelAnimationFrame(rafRef.current);};},[baseOpacity,hoverOpacity,isRippleMode,isInView,isSpotlightMode,hoverEffect,rippleAmountN,rippleDurationClamped,rippleEnabled,rippleIndex,ripplePoints,rippleRadiusPx,rippleSpeed,rippleStrengthN,transitionSpeed]);const updatePointerTarget=React.useCallback(event=>{const rect=containerRectRef.current;if(rect.width<=0||rect.height<=0)return;pointerTargetRef.current={x:clamp01((event.clientX-rect.left)/rect.width),y:clamp01((event.clientY-rect.top)/rect.height)};},[]);const handlePointerEnter=React.useCallback(event=>{const rect=event.currentTarget.getBoundingClientRect();containerRectRef.current={left:rect.left,top:rect.top,width:rect.width,height:rect.height};updatePointerTarget(event);hoverTargetRef.current=1;},[updatePointerTarget]);const handlePointerMove=React.useCallback(event=>{updatePointerTarget(event);},[updatePointerTarget]);const handlePointerLeave=React.useCallback(()=>{hoverTargetRef.current=0;},[]);const baseShapeElements=React.useMemo(()=>shapes.nodes.map((node,index)=>node.type===\"circle\"?/*#__PURE__*/_jsx(\"circle\",{ref:el=>{rippleNodeRefs.current[index]=el;},cx:node.x+shapes.drawH/2,cy:node.y+shapes.drawH/2,r:shapes.drawH/2,fill:node.fill},node.key):/*#__PURE__*/_jsx(\"rect\",{ref:el=>{rippleNodeRefs.current[index]=el;},x:node.x,y:node.y,width:shapes.drawW,height:shapes.drawH,fill:node.fill},node.key)),[shapes]);const hoverShapeElements=React.useMemo(()=>shapes.nodes.map(node=>node.type===\"circle\"?/*#__PURE__*/_jsx(\"circle\",{cx:node.x+shapes.drawH/2,cy:node.y+shapes.drawH/2,r:shapes.drawH/2,fill:node.fill},`hover-${node.key}`):/*#__PURE__*/_jsx(\"rect\",{x:node.x,y:node.y,width:shapes.drawW,height:shapes.drawH,fill:node.fill},`hover-${node.key}`)),[shapes]);try{return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,onPointerEnter:handlePointerEnter,onPointerMove:handlePointerMove,onPointerLeave:handlePointerLeave,style:{position:\"relative\",width:\"100%\",height:\"100%\",overflow:\"hidden\",backgroundColor,...style},children:[/*#__PURE__*/_jsxs(\"svg\",{width:\"100%\",height:\"100%\",viewBox:`0 0 ${SVG_VIEWBOX_SIZE} ${SVG_VIEWBOX_SIZE}`,preserveAspectRatio:\"none\",style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",display:\"block\",opacity:isSpotlightMode?baseOpacityValue:1},\"aria-hidden\":true,children:[shapes.nodes.length===0?/*#__PURE__*/_jsx(\"rect\",{x:0,y:0,width:SVG_VIEWBOX_SIZE,height:SVG_VIEWBOX_SIZE,fill:\"red\"}):null,baseShapeElements]}),isSpotlightMode?/*#__PURE__*/_jsx(\"div\",{ref:hoverLayerRef,\"aria-hidden\":true,style:{position:\"absolute\",inset:0,pointerEvents:\"none\",opacity:0,transition:`opacity ${transitionDuration}s linear`,WebkitMaskImage:`radial-gradient(circle at var(--spot-x, 50%) var(--spot-y, 50%), rgba(0,0,0,1) 0%, rgba(0,0,0,1) ${innerStop}%, rgba(0,0,0,0) ${outerStop}%)`,maskImage:`radial-gradient(circle at var(--spot-x, 50%) var(--spot-y, 50%), rgba(0,0,0,1) 0%, rgba(0,0,0,1) ${innerStop}%, rgba(0,0,0,0) ${outerStop}%)`,willChange:\"opacity, mask-image, -webkit-mask-image\"},children:/*#__PURE__*/_jsxs(\"svg\",{width:\"100%\",height:\"100%\",viewBox:`0 0 ${SVG_VIEWBOX_SIZE} ${SVG_VIEWBOX_SIZE}`,preserveAspectRatio:\"none\",style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",display:\"block\"},\"aria-hidden\":true,children:[shapes.nodes.length===0?/*#__PURE__*/_jsx(\"rect\",{x:0,y:0,width:SVG_VIEWBOX_SIZE,height:SVG_VIEWBOX_SIZE,fill:\"red\"}):null,hoverShapeElements]})}):null,grainAmount>0?/*#__PURE__*/_jsx(\"canvas\",{ref:grainCanvasRef,\"aria-hidden\":true,style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",pointerEvents:\"none\",mixBlendMode:\"overlay\",opacity:clamp01(grainAmount/100)}}):null]});}catch(error){console.error(\"PixelGradientPattern render error\",error);return /*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",width:\"100%\",height:\"100%\",backgroundColor,...style}});}}addPropertyControls(PixelGradientPattern,{gradientShape:{type:ControlType.Enum,title:\"Gradient\",options:[\"Linear\",\"Radial\",\"Angular\",\"Diamond\"],optionTitles:[\"Linear\",\"Radial\",\"Angular\",\"Diamond\"],defaultValue:\"Linear\"},angle:{type:ControlType.Number,title:\"Angle\",defaultValue:35,min:0,max:360,step:1,unit:\"deg\",hidden:p=>p.gradientShape!==\"Linear\"},colorStops:{type:ControlType.Array,title:\"Colors\",control:{type:ControlType.Color},defaultValue:[\"#000000\",\"#14b8a6\",\"#FFFFFF\"],maxCount:8},offset:{type:ControlType.Number,title:\"Offset\",defaultValue:50,min:0,max:100,step:1,unit:\"%\"},repeatType:{type:ControlType.Enum,title:\"Repeat\",options:[\"None\",\"Repeat\",\"Mirror\"],optionTitles:[\"None\",\"Repeat\",\"Mirror\"],defaultValue:\"Mirror\"},repeatFrequency:{type:ControlType.Number,title:\"Frequency\",defaultValue:8,min:1,max:30,step:1},scatter:{type:ControlType.Number,title:\"Scatter\",defaultValue:0,min:0,max:100,step:1,unit:\"%\"},mixSpace:{type:ControlType.Enum,title:\"Mix Space\",options:[\"RGB\",\"OKLab\"],optionTitles:[\"RGB\",\"OKLab\"],defaultValue:\"OKLab\"},shape:{type:ControlType.Enum,title:\"Shape\",options:[\"Rectangle\",\"Circle\"],optionTitles:[\"Rectangle\",\"Circle\"],defaultValue:\"Rectangle\"},size:{type:ControlType.Number,title:\"Size\",defaultValue:5,min:1,max:50,step:1},stretch:{type:ControlType.Number,title:\"Stretch\",defaultValue:200,min:50,max:1e3,step:1,unit:\"%\",hidden:p=>p.shape!==\"Rectangle\"},gap:{type:ControlType.Number,title:\"Gap\",defaultValue:6,min:0,max:40,step:1},colorTrim:{type:ControlType.Number,title:\"Color Trim\",defaultValue:2,min:0,max:10,step:.1},averageColor:{type:ControlType.Number,title:\"Average\",defaultValue:100,min:0,max:100,step:1,unit:\"%\"},dissolveMode:{type:ControlType.Enum,title:\"Dissolve\",options:[\"None\",\"Dropout\",\"Fade\"],optionTitles:[\"None\",\"Dropout\",\"Fade\"],defaultValue:\"None\"},dissolve:{type:ControlType.Number,title:\"Amount\",defaultValue:0,min:0,max:100,step:1,unit:\"%\",hidden:p=>p.dissolveMode===\"None\"},falloff:{type:ControlType.Number,title:\"Falloff\",defaultValue:0,min:0,max:100,step:1,unit:\"%\"},fallIn:{type:ControlType.Number,title:\"Fall In\",defaultValue:0,min:0,max:100,step:1,unit:\"%\"},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#000000\"},grainAmount:{type:ControlType.Number,title:\"Grain\",defaultValue:0,min:0,max:100,step:1},grainSize:{type:ControlType.Number,title:\"Grain Size\",defaultValue:4,min:1,max:20,step:1,hidden:p=>(p.grainAmount??0)<=0},grainSpeed:{type:ControlType.Number,title:\"Grain Animation\",defaultValue:0,min:0,max:60,step:1,hidden:p=>(p.grainAmount??0)<=0},hoverEffect:{type:ControlType.Enum,title:\"Hover Effect\",options:[\"None\",\"Spotlight Reveal\",\"Ripple\"],optionTitles:[\"None\",\"Spotlight Reveal\",\"Ripple\"],defaultValue:\"Ripple\"},baseOpacity:{type:ControlType.Number,title:\"Hover Reveal • Base Opacity\",defaultValue:40,min:0,max:100,step:1,unit:\"%\",hidden:p=>p.hoverEffect!==\"Spotlight Reveal\"},hoverOpacity:{type:ControlType.Number,title:\"Hover Reveal • Hover Opacity\",defaultValue:80,min:0,max:100,step:1,unit:\"%\",hidden:p=>p.hoverEffect!==\"Spotlight Reveal\"},spotlightRadius:{type:ControlType.Number,title:\"Hover Reveal • Spotlight Radius\",defaultValue:35,min:10,max:100,step:1,unit:\"%\",hidden:p=>p.hoverEffect!==\"Spotlight Reveal\"},edgeSoftness:{type:ControlType.Number,title:\"Hover Reveal • Edge Softness\",defaultValue:50,min:0,max:100,step:1,hidden:p=>p.hoverEffect!==\"Spotlight Reveal\"},transitionSpeed:{type:ControlType.Number,title:\"Hover Reveal • Transition Speed\",defaultValue:.3,min:.05,max:1.5,step:.05,unit:\"s\",hidden:p=>p.hoverEffect!==\"Spotlight Reveal\"},rippleEnabled:{type:ControlType.Boolean,title:\"Ripple • Enabled\",defaultValue:true,hidden:p=>p.hoverEffect!==\"Ripple\"},rippleAmount:{type:ControlType.Number,title:\"Ripple • Amount\",defaultValue:20,min:0,max:100,step:1,unit:\"%\",hidden:p=>p.hoverEffect!==\"Ripple\"||!p.rippleEnabled},rippleRadius:{type:ControlType.Number,title:\"Ripple • Radius\",defaultValue:12,min:2,max:40,step:1,unit:\"%\",hidden:p=>p.hoverEffect!==\"Ripple\"||!p.rippleEnabled},rippleStrength:{type:ControlType.Number,title:\"Ripple • Strength\",defaultValue:18,min:0,max:100,step:1,unit:\"%\",hidden:p=>p.hoverEffect!==\"Ripple\"||!p.rippleEnabled},rippleSpeed:{type:ControlType.Number,title:\"Ripple • Speed\",defaultValue:.8,min:.1,max:3,step:.1,hidden:p=>p.hoverEffect!==\"Ripple\"||!p.rippleEnabled},rippleDuration:{type:ControlType.Number,title:\"Ripple • Duration\",defaultValue:.6,min:.1,max:1.5,step:.05,unit:\"s\",hidden:p=>p.hoverEffect!==\"Ripple\"||!p.rippleEnabled}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"PixelGradientPattern\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./PixelGradientPattern.map"],"mappings":"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"}