{"version":3,"file":"Grain.CebUYoPS.mjs","names":["useState"],"sources":["https:/framerusercontent.com/modules/IZyraZ3BiPWexhtNJYeP/Qf68939pwX7YPV3yiCzT/Grain.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useState,useEffect}from\"react\";/**\n * GRAIN\n *\n * @framerIntrinsicWidth 200\n * @framerIntrinsicHeight 200\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function NoiseGrain(props){const{opacity,blendMode,size=4,type=\"standard\",contrast=100,brightness=100}=props;const[noiseUrl,setNoiseUrl]=useState(\"\");useEffect(()=>{const canvas=document.createElement(\"canvas\");canvas.width=128;canvas.height=128;const ctx=canvas.getContext(\"2d\");if(!ctx)return;const imageData=ctx.createImageData(128,128);const data=imageData.data;let currentSeed=1;const random=()=>{const x=Math.sin(currentSeed++)*1e4;return x-Math.floor(x);};for(let i=0;i<data.length;i+=4){if(type===\"color\"){data[i]=random()*255;data[i+1]=random()*255;data[i+2]=random()*255;}else if(type===\"rough\"){const val=random()>.5?255:0;data[i]=val;data[i+1]=val;data[i+2]=val;}else if(type===\"film\"){const u=1-random();const v=random();const z=Math.sqrt(-2*Math.log(u))*Math.cos(2*Math.PI*v);let val=128+z*64;val=Math.max(0,Math.min(255,val));data[i]=val;data[i+1]=val;data[i+2]=val;}else if(type===\"digital\"){const levels=4;const val=Math.floor(random()*levels)*(255/(levels-1));data[i]=val;data[i+1]=val;data[i+2]=val;}else{const val=random()*255;data[i]=val;data[i+1]=val;data[i+2]=val;}data[i+3]=255;}ctx.putImageData(imageData,0,0);setNoiseUrl(canvas.toDataURL());},[type]);const commonStyle={width:\"100%\",height:\"100%\",position:\"absolute\",top:0,left:0,pointerEvents:\"none\",backgroundImage:`url(${noiseUrl})`,backgroundRepeat:\"repeat\",imageRendering:\"pixelated\",filter:`contrast(${contrast}%) brightness(${brightness}%)`};return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",position:\"absolute\",top:0,left:0,pointerEvents:\"none\",overflow:\"hidden\",zIndex:10,opacity:opacity,mixBlendMode:blendMode},children:/*#__PURE__*/_jsx(\"div\",{style:{...commonStyle,backgroundSize:`${128*size}px`}})});}addPropertyControls(NoiseGrain,{type:{type:ControlType.Enum,title:\"Type\",options:[\"standard\",\"rough\",\"color\",\"film\",\"digital\"],optionTitles:[\"Standard\",\"Rough\",\"Color\",\"Film\",\"Digital\"],defaultValue:\"standard\"},opacity:{type:ControlType.Number,title:\"Opacity\",min:0,max:1,step:.05,defaultValue:.5},blendMode:{type:ControlType.Enum,title:\"Blend Mode\",options:[\"normal\",\"multiply\",\"screen\",\"overlay\",\"darken\",\"lighten\",\"color-dodge\",\"color-burn\",\"hard-light\",\"soft-light\",\"difference\",\"exclusion\",\"hue\",\"saturation\",\"color\",\"luminosity\"],defaultValue:\"overlay\"},size:{type:ControlType.Number,title:\"Size\",min:.1,max:20,step:.1,defaultValue:4,displayStepper:true},contrast:{type:ControlType.Number,title:\"Contrast\",min:0,max:200,defaultValue:100,unit:\"%\"},brightness:{type:ControlType.Number,title:\"Brightness\",min:0,max:200,defaultValue:100,unit:\"%\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"NoiseGrain\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"200\",\"framerIntrinsicWidth\":\"200\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Grain.map"],"mappings":"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"}