{
  "version": 3,
  "sources": ["ssg:https://ga.jspm.io/npm:@motionone/easing@10.13.1/dist/index.es.js", "ssg:https://framerusercontent.com/modules/cKGD16u2MGB7MfqfVXFp/wiztTCbXokZrMicHAmZc/Grain.js"],
  "sourcesContent": ["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\";\nimport { addPropertyControls, ControlType, RenderTarget } from \"framer\";\nimport { motion } from \"framer-motion\";\nimport { steps } from \"@motionone/easing\"; /**\n                                           * @framerIntrinsicWidth 100\n                                           * @framerIntrinsicHeight 100\n                                           * @framerDisableUnlink\n                                           *\n                                           * @framerSupportedLayoutWidth fixed\n                                           * @framerSupportedLayoutHeight fixed\n                                           */\nexport default function Grain(props) {\n  const {\n    opacity,\n    style\n  } = props;\n  const keyframesX = [\"0%\", \"-5%\", \"-15%\", \"7%\", \"-5%\", \"-15%\", \"15%\", \"0%\", \"3%\", \"-10%\"];\n  const keyframesY = [\"0%\", \"-10%\", \"5%\", \"-25%\", \"25%\", \"10%\", \"0%\", \"15%\", \"35%\", \"10%\"];\n  const isCanvas = RenderTarget.current() === RenderTarget.canvas;\n  return /*#__PURE__*/_jsx(\"div\", {\n    style: {\n      width: \"100%\",\n      height: \"100%\",\n      position: \"relative\",\n      overflow: \"hidden\"\n    },\n    children: /*#__PURE__*/_jsx(motion.div, {\n      style: {\n        ...containerStyle,\n        opacity: opacity,\n        inset: isCanvas ? 0 : \"-200%\",\n        width: isCanvas ? \"100%\" : \"400%\",\n        height: isCanvas ? \"100%\" : \"400%\",\n        position: \"absolute\"\n      },\n      animate: !isCanvas && {\n        x: keyframesX,\n        y: keyframesY\n      },\n      transition: {\n        ease: steps(10, \"start\"),\n        repeat: Infinity,\n        duration: 8\n      }\n    })\n  });\n}\n;\nGrain.defaultProps = {\n  opacity: .5\n};\naddPropertyControls(Grain, {\n  opacity: {\n    title: \"Opacity\",\n    type: ControlType.Number,\n    step: .1,\n    displayStepper: true,\n    max: 1,\n    min: 0\n  }\n});\nconst containerStyle = {\n  backgroundSize: \"256px 256px\",\n  backgroundRepeat: \"repeat\",\n  background: \"url('https://framerusercontent.com/images/rR6HYXBrMmX4cRpXfXUOvpvpB0.png')\"\n};\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"default\": {\n      \"type\": \"reactComponent\",\n      \"name\": \"Grain\",\n      \"slots\": [],\n      \"annotations\": {\n        \"framerSupportedLayoutHeight\": \"fixed\",\n        \"framerIntrinsicHeight\": \"100\",\n        \"framerContractVersion\": \"1\",\n        \"framerDisableUnlink\": \"*\",\n        \"framerIntrinsicWidth\": \"100\",\n        \"framerSupportedLayoutWidth\": \"fixed\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};\n//# sourceMappingURL=./Grain.map"],
  "mappings": "gJAAsb,IAAMA,EAAM,CAACC,EAAEC,EAAE,QAAQC,GAAG,CAACA,EAAUD,IAAR,MAAU,KAAK,IAAIC,EAAE,IAAI,EAAE,KAAK,IAAIA,EAAE,IAAI,EAAE,IAAMC,EAAED,EAAEF,EAAQI,EAAUH,IAAR,MAAU,KAAK,MAAME,CAAC,EAAE,KAAK,KAAKA,CAAC,EAAE,OAAOE,EAAE,EAAE,EAAED,EAAEJ,CAAC,CAAC,ECW5jB,SAARM,EAAuBC,EAAO,CACnC,GAAM,CACJ,QAAAC,EACA,MAAAC,CACF,EAAIF,EACEG,EAAa,CAAC,KAAM,MAAO,OAAQ,KAAM,MAAO,OAAQ,MAAO,KAAM,KAAM,MAAM,EACjFC,EAAa,CAAC,KAAM,OAAQ,KAAM,OAAQ,MAAO,MAAO,KAAM,MAAO,MAAO,KAAK,EACjFC,EAAWC,EAAa,QAAQ,IAAMA,EAAa,OACzD,OAAoBC,EAAK,MAAO,CAC9B,MAAO,CACL,MAAO,OACP,OAAQ,OACR,SAAU,WACV,SAAU,QACZ,EACA,SAAuBA,EAAKC,EAAO,IAAK,CACtC,MAAO,CACL,GAAGC,EACH,QAASR,EACT,MAAOI,EAAW,EAAI,QACtB,MAAOA,EAAW,OAAS,OAC3B,OAAQA,EAAW,OAAS,OAC5B,SAAU,UACZ,EACA,QAAS,CAACA,GAAY,CACpB,EAAGF,EACH,EAAGC,CACL,EACA,WAAY,CACV,KAAMM,EAAM,GAAI,OAAO,EACvB,OAAQ,IACR,SAAU,CACZ,CACF,CAAC,CACH,CAAC,CACH,CAEAX,EAAM,aAAe,CACnB,QAAS,EACX,EACAY,EAAoBZ,EAAO,CACzB,QAAS,CACP,MAAO,UACP,KAAMa,EAAY,OAClB,KAAM,GACN,eAAgB,GAChB,IAAK,EACL,IAAK,CACP,CACF,CAAC,EACD,IAAMH,EAAiB,CACrB,eAAgB,cAChB,iBAAkB,SAClB,WAAY,4EACd",
  "names": ["steps", "t", "e", "i", "o", "r", "clamp", "Grain", "props", "opacity", "style", "keyframesX", "keyframesY", "isCanvas", "RenderTarget", "p", "motion", "containerStyle", "steps", "addPropertyControls", "ControlType"]
}
