{"version":3,"file":"shared-lib.BqlknrER.mjs","names":["useRef"],"sources":["https:/framerusercontent.com/modules/ag5xLZasGdszx17rMYjB/MJYQCu7vnz3hWPdcXeI4/Noise.js","https:/framerusercontent.com/modules/hqAX1AABGZwacsLPnmfQ/Fgcc3cFClvEfBPlghCGA/siteMetadata.js"],"sourcesContent":["// Animated noise overlay component with configurable grain pattern\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{useRef,useEffect}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function Noise(props){const{patternSize=250,patternAlpha=15,borderRadius=0,blendMode=\"multiply\"}=props;const grainRef=useRef(null);const isStatic=useIsStaticRenderer();useEffect(()=>{if(isStatic)return;const canvas=grainRef.current;if(!canvas)return;const ctx=canvas.getContext(\"2d\",{alpha:true});if(!ctx)return;let frame=0;let animationId;const canvasSize=1024;const resize=()=>{if(!canvas)return;canvas.width=canvasSize;canvas.height=canvasSize;};const drawGrain=()=>{const imageData=ctx.createImageData(canvasSize,canvasSize);const data=imageData.data;for(let i=0;i<data.length;i+=4){const value=Math.random()*255;data[i]=value;data[i+1]=value;data[i+2]=value;data[i+3]=patternAlpha;}ctx.putImageData(imageData,0,0);};const loop=()=>{drawGrain();animationId=window.requestAnimationFrame(loop);};resize();loop();return()=>{if(typeof window!==\"undefined\"){window.cancelAnimationFrame(animationId);}};},[patternSize,patternAlpha,isStatic]);// Static preview for canvas/export\nuseEffect(()=>{if(!isStatic)return;const canvas=grainRef.current;if(!canvas)return;const ctx=canvas.getContext(\"2d\",{alpha:true});if(!ctx)return;const canvasSize=1024;canvas.width=canvasSize;canvas.height=canvasSize;const imageData=ctx.createImageData(canvasSize,canvasSize);const data=imageData.data;for(let i=0;i<data.length;i+=4){const value=Math.random()*255;data[i]=value;data[i+1]=value;data[i+2]=value;data[i+3]=patternAlpha;}ctx.putImageData(imageData,0,0);},[patternAlpha,isStatic]);return /*#__PURE__*/_jsx(\"canvas\",{ref:grainRef,style:{position:\"absolute\",top:0,left:0,width:\"100%\",height:\"100%\",pointerEvents:\"none\",imageRendering:\"pixelated\",borderRadius:`${borderRadius}px`,mixBlendMode:blendMode,...props.style}});}addPropertyControls(Noise,{patternSize:{type:ControlType.Number,title:\"Pattern Size\",defaultValue:100,min:10,max:100,step:5,unit:\"%\"},patternAlpha:{type:ControlType.Number,title:\"Opacity\",defaultValue:15,min:1,max:255,step:1},borderRadius:{type:ControlType.Number,title:\"Border Radius\",defaultValue:8,min:0,max:100,step:1},blendMode:{type:ControlType.Enum,title:\"Blend Mode\",defaultValue:\"multiply\",options:[\"multiply\",\"overlay\",\"screen\",\"soft-light\"],optionTitles:[\"Multiply\",\"Overlay\",\"Screen\",\"Soft Light\"]}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Noise\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"fixed\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Noise.map","// Generated by Framer (0f5ea8b)\nexport default function metadata(params,activeLocale){return{description:\"Modern freelance portfolio template for designers offering branding, UI UX, web design, and motion graphics. Perfect for creatives building high-converting websites.\",favicon:\"https://framerusercontent.com/assets/14Qv1vxvDooHA0V56a1yOHHPamc.png\",robots:\"max-image-preview:large\",socialImage:\"https://framerusercontent.com/assets/vj9OAPw9cT4YhTgZtGsvfGzOg.png\",title:\"Moniccaa Krishnan - Welcome\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"uMAIG,SAAwB,EAAM,EAAM,CAAC,GAAK,CAAC,cAAY,IAAI,eAAa,GAAG,eAAa,EAAE,YAAU,YAAY,EAAY,EAASA,EAAO,KAAK,CAAO,EAAS,GAAqB,CACmT,OADlT,MAAc,CAAC,GAAG,EAAS,OAAO,IAAM,EAAO,EAAS,QAAQ,GAAG,CAAC,EAAO,OAAO,IAAM,EAAI,EAAO,WAAW,KAAK,CAAC,MAAM,GAAK,CAAC,CAAC,GAAG,CAAC,EAAI,OAAmB,IAAI,EAAkB,EAAW,KAAW,MAAW,CAAK,IAAc,EAAO,MAAM,EAAW,EAAO,OAAO,IAAmB,MAAc,CAAC,IAAM,EAAU,EAAI,gBAAgB,EAAW,EAAW,CAAO,EAAK,EAAU,KAAK,IAAI,IAAI,EAAE,EAAE,EAAE,EAAK,OAAO,GAAG,EAAE,CAAC,IAAM,EAAM,KAAK,QAAQ,CAAC,IAAI,EAAK,GAAG,EAAM,EAAK,EAAE,GAAG,EAAM,EAAK,EAAE,GAAG,EAAM,EAAK,EAAE,GAAG,EAAc,EAAI,aAAa,EAAU,EAAE,EAAE,EAAS,MAAS,CAAC,GAAW,CAAC,EAAY,EAAO,sBAAsB,EAAK,EAAmB,OAAhB,GAAQ,CAAC,GAAM,KAAW,CAAW,IAAS,QAAa,EAAO,qBAAqB,EAAY,GAAM,CAAC,EAAY,EAAa,EAAS,CAAC,CAC77B,MAAc,CAAC,GAAG,CAAC,EAAS,OAAO,IAAM,EAAO,EAAS,QAAQ,GAAG,CAAC,EAAO,OAAO,IAAM,EAAI,EAAO,WAAW,KAAK,CAAC,MAAM,GAAK,CAAC,CAAC,GAAG,CAAC,EAAI,OAAO,IAAM,EAAW,KAAK,EAAO,MAAM,EAAW,EAAO,OAAO,EAAW,IAAM,EAAU,EAAI,gBAAgB,EAAW,EAAW,CAAO,EAAK,EAAU,KAAK,IAAI,IAAI,EAAE,EAAE,EAAE,EAAK,OAAO,GAAG,EAAE,CAAC,IAAM,EAAM,KAAK,QAAQ,CAAC,IAAI,EAAK,GAAG,EAAM,EAAK,EAAE,GAAG,EAAM,EAAK,EAAE,GAAG,EAAM,EAAK,EAAE,GAAG,EAAc,EAAI,aAAa,EAAU,EAAE,EAAE,EAAG,CAAC,EAAa,EAAS,CAAC,CAAqB,EAAK,SAAS,CAAC,IAAI,EAAS,MAAM,CAAC,SAAS,WAAW,IAAI,EAAE,KAAK,EAAE,MAAM,OAAO,OAAO,OAAO,cAAc,OAAO,eAAe,YAAY,aAAa,GAAG,EAAa,IAAI,aAAa,EAAU,GAAG,EAAM,MAAM,CAAC,CAAC,sBAJ7qB,IAAoC,IAAwE,CAImkB,EAAoB,EAAM,CAAC,YAAY,CAAC,KAAK,EAAY,OAAO,MAAM,eAAe,aAAa,IAAI,IAAI,GAAG,IAAI,IAAI,KAAK,EAAE,KAAK,IAAI,CAAC,aAAa,CAAC,KAAK,EAAY,OAAO,MAAM,UAAU,aAAa,GAAG,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,CAAC,aAAa,CAAC,KAAK,EAAY,OAAO,MAAM,gBAAgB,aAAa,EAAE,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,KAAK,EAAY,KAAK,MAAM,aAAa,aAAa,WAAW,QAAQ,CAAC,WAAW,UAAU,SAAS,aAAa,CAAC,aAAa,CAAC,WAAW,UAAU,SAAS,aAAa,CAAC,CAAC,CAAC,ICJ1tC,SAAwB,EAAS,EAAO,EAAa,CAAC,MAAM,CAAC,YAAY,wKAAwK,QAAQ,uEAAuE,OAAO,0BAA0B,YAAY,qEAAqE,MAAM,8BAA8B"}