{"version":3,"file":"Grain.CDXOe36L.mjs","names":["n"],"sources":["https:/ga.jspm.io/npm:@motionone/utils@10.14.0/dist/index.es.js","https:/ga.jspm.io/npm:@motionone/easing@10.13.1/dist/index.es.js","https:/framerusercontent.com/modules/945Suk3Vl7gvNwsJM0pf/9CyvbpfoMPIaGpPfx836/Grain.js"],"sourcesContent":["function addUniqueItem(t,e){-1===t.indexOf(e)&&t.push(e)}function removeItem(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}const clamp=(t,e,n)=>Math.min(Math.max(n,t),e);const t={duration:.3,delay:0,endDelay:0,repeat:0,easing:\"ease\"};const isNumber=t=>\"number\"===typeof t;const isEasingList=t=>Array.isArray(t)&&!isNumber(t[0]);const wrap=(t,e,n)=>{const o=e-t;return((n-t)%o+o)%o+t};function getEasingForSegment(t,e){return isEasingList(t)?t[wrap(0,t.length,e)]:t}const mix=(t,e,n)=>-n*t+n*e+t;const noop=()=>{};const noopReturn=t=>t;const progress=(t,e,n)=>e-t===0?1:(n-t)/(e-t);function fillOffset(t,e){const n=t[t.length-1];for(let o=1;o<=e;o++){const s=progress(0,e,o);t.push(mix(n,1,s))}}function defaultOffset(t){const e=[0];fillOffset(e,t-1);return e}function interpolate(t,e=defaultOffset(t.length),n=noopReturn){const o=t.length;const s=o-e.length;s>0&&fillOffset(e,s);return s=>{let f=0;for(;f<o-2;f++)if(s<e[f+1])break;let r=clamp(0,1,progress(e[f],e[f+1],s));const c=getEasingForSegment(n,f);r=c(r);return mix(t[f],t[f+1],r)}}const isCubicBezier=t=>Array.isArray(t)&&isNumber(t[0]);const isEasingGenerator=t=>\"object\"===typeof t&&Boolean(t.createAnimation);const isFunction=t=>\"function\"===typeof t;const isString=t=>\"string\"===typeof t;const e={ms:t=>1e3*t,s:t=>t/1e3};\n/*\n  Convert velocity into velocity per second\n\n  @param [number]: Unit per frame\n  @param [number]: Frame duration in ms\n*/function velocityPerSecond(t,e){return e?t*(1e3/e):0}export{addUniqueItem,clamp,defaultOffset,t as defaults,fillOffset,getEasingForSegment,interpolate,isCubicBezier,isEasingGenerator,isEasingList,isFunction,isNumber,isString,mix,noop,noopReturn,progress,removeItem,e as time,velocityPerSecond,wrap};\n\n//# sourceMappingURL=index.es.js.map","import{noopReturn as t,clamp as n}from\"@motionone/utils\";const calcBezier=(t,n,e)=>(((1-3*e+3*n)*t+(3*e-6*n))*t+3*n)*t;const e=1e-7;const i=12;function binarySubdivide(t,n,o,r,c){let u;let a;let s=0;do{a=n+(o-n)/2;u=calcBezier(a,r,c)-t;u>0?o=a:n=a}while(Math.abs(u)>e&&++s<i);return a}function cubicBezier(n,e,i,o){if(n===e&&i===o)return t;const getTForX=t=>binarySubdivide(t,0,1,n,i);return t=>0===t||1===t?t:calcBezier(getTForX(t),e,o)}const steps=(t,e=\"end\")=>i=>{i=\"end\"===e?Math.min(i,.999):Math.max(i,.001);const o=i*t;const r=\"end\"===e?Math.floor(o):Math.ceil(o);return n(0,1,r/t)};export{cubicBezier,steps};\n\n//# sourceMappingURL=index.es.js.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget,motion}from\"framer\";import{steps}from\"@motionone/easing\";/**\n * @framerDisableUnlink\n *\n * @framerIntrinsicWidth 300\n * @framerIntrinsicHeight 300\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function Grain({animate,animationSpeed,opacity,grainSize,style}){const isCanvas=RenderTarget.current()===RenderTarget.canvas;const keyframesX=[\"0%\",\"-5%\",\"-15%\",\"7%\",\"-5%\",\"-15%\",\"15%\",\"0%\",\"3%\",\"-10%\"];const keyframesY=[\"0%\",\"-10%\",\"5%\",\"-25%\",\"25%\",\"10%\",\"0%\",\"15%\",\"35%\",\"10%\"];const containerStyle={background:`url('https://framerusercontent.com/images/rR6HYXBrMmX4cRpXfXUOvpvpB0.png')`,backgroundSize:`${grainSize}px ${grainSize}px`,backgroundRepeat:\"repeat\",position:\"absolute\",inset:isCanvas?0:\"-200%\",width:isCanvas?\"100%\":\"400%\",height:isCanvas?\"100%\":\"400%\",opacity};return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",position:\"relative\",overflow:\"hidden\",...style},children:/*#__PURE__*/_jsx(motion.div,{style:containerStyle,animate:!isCanvas&&animate?{x:keyframesX,y:keyframesY}:undefined,transition:{ease:steps(10,\"start\"),repeat:Infinity,duration:8/animationSpeed}})});}Grain.defaultProps={animate:true,animationSpeed:1,opacity:.25,grainSize:250};addPropertyControls(Grain,{animate:{title:\"Animate\",type:ControlType.Boolean,defaultValue:true},animationSpeed:{title:\"Speed\",type:ControlType.Number,min:.1,max:3,step:.1,defaultValue:1,displayStepper:true,hidden:props=>!props.animate},opacity:{title:\"Opacity\",type:ControlType.Number,step:.01,displayStepper:true,max:1,min:0,defaultValue:.25},grainSize:{title:\"Size\",type:ControlType.Number,min:50,max:550,step:10,defaultValue:250,unit:\"px\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Grain\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"300\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerDisableUnlink\":\"*\",\"framerIntrinsicHeight\":\"300\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Grain.map"],"mappings":"6MAME,SAAS,EAAkB,EAAE,EAAE,CAAC,OAAO,EAAK,IAAI,EAAP,EAAU,CAAC,qBAN2E,GAAO,EAAE,EAAE,IAAI,KAAK,IAAI,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,EAA+V,EAAW,GAAG,EAAmtB,EAAE,CAAC,GAAG,GAAG,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,mBCAzsC,EAAoY,GAAO,EAAE,EAAE,QAAQ,GAAG,CAAC,EAAU,IAAR,MAAU,KAAK,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,IAAI,EAAE,IAAM,EAAE,EAAE,EAA+C,OAAOA,EAAE,EAAE,GAAxC,IAAR,MAAU,KAAK,MAAM,CAAC,EAAE,KAAK,KAAK,CAAC,GAAiB,CAAC,CAAC,KCOxkB,SAAwB,EAAM,CAAC,UAAQ,iBAAe,UAAQ,YAAU,SAAO,CAAC,IAAM,EAAS,EAAa,QAAQ,IAAI,EAAa,OAAa,EAAW,CAAC,KAAK,MAAM,OAAO,KAAK,MAAM,OAAO,MAAM,KAAK,KAAK,MAAM,EAAQ,EAAW,CAAC,KAAK,OAAO,KAAK,OAAO,MAAM,MAAM,KAAK,MAAM,MAAM,KAAK,EAAQ,EAAe,CAAC,WAAW,6EAA6E,eAAe,GAAG,EAAU,KAAK,EAAU,IAAI,iBAAiB,SAAS,SAAS,WAAW,MAAM,EAAS,EAAE,QAAQ,MAAM,EAAS,OAAO,OAAO,OAAO,EAAS,OAAO,OAAO,SAAO,EAAE,OAAoB,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,SAAS,WAAW,SAAS,SAAS,GAAG,CAAK,EAAE,SAAsB,EAAK,EAAO,IAAI,CAAC,MAAM,EAAe,QAAQ,CAAC,GAAU,EAAQ,CAAC,EAAE,EAAW,EAAE,CAAU,EAAE,IAAA,GAAU,WAAW,CAAC,KAAK,EAAM,GAAG,OAAO,EAAE,OAAO,IAAS,SAAS,EAAE,CAAc,CAAC,CAAC,CAAC,CAAC,CAAE,iBAP12B,IAAwE,IAAqC,EAO8vB,EAAM,aAAa,CAAC,QAAQ,GAAK,eAAe,EAAE,QAAQ,IAAI,UAAU,GAAG,EAAE,EAAoB,EAAM,CAAC,QAAQ,CAAC,MAAM,UAAU,KAAK,EAAY,QAAQ,aAAa,EAAI,EAAE,eAAe,CAAC,MAAM,QAAQ,KAAK,EAAY,OAAO,IAAI,GAAG,IAAI,EAAE,KAAK,GAAG,aAAa,EAAE,eAAe,GAAK,OAAO,GAAO,CAAC,EAAM,OAAO,EAAE,QAAQ,CAAC,MAAM,UAAU,KAAK,EAAY,OAAO,KAAK,IAAI,eAAe,GAAK,IAAI,EAAE,IAAI,EAAE,aAAa,GAAG,EAAE,UAAU,CAAC,MAAM,OAAO,KAAK,EAAY,OAAO,IAAI,GAAG,IAAI,IAAI,KAAK,GAAG,aAAa,IAAI,KAAK,IAAI,CAAC,CAAC"}