{"version":3,"file":"ImageParallaxVerticalNoize.DS0Py2I7.mjs","names":["React.useRef","React.useState"],"sources":["https:/framerusercontent.com/modules/yarku8LTZ02Y0mC0mJOV/T8raSKBY9Yf2EhPNSmLc/ImageParallaxVerticalNoize.js"],"sourcesContent":["// Image parallax component with vertical scroll effect\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{startTransition}from\"react\";/**\n * @framerDisableUnlink\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 400\n */export default function ImageParallaxVerticalNoize(props){const{image={src:\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\",alt:\"Gradient 1 - Blue\"},parallax=200,noizeVisible=true,noizeOpacity=.5,style}=props;const containerRef=React.useRef(null);const[translateY,setTranslateY]=React.useState(0);const[ready,setReady]=React.useState(false);const isStatic=useIsStaticRenderer();React.useEffect(()=>{if(typeof window===\"undefined\"||isStatic){setReady(true);return;}const calculateParallax=()=>{if(!containerRef.current)return;const rect=containerRef.current.getBoundingClientRect();const windowHeight=window.innerHeight;const elementHeight=rect.height;const startPosition=windowHeight-rect.top;const endPosition=-rect.bottom;const totalTravel=windowHeight+elementHeight;let progress=0;if(startPosition>=0&&endPosition<=0){progress=startPosition/totalTravel;}else if(startPosition<0){progress=0;}else if(endPosition>0){progress=1;}startTransition(()=>{setTranslateY(parallax-progress*parallax);setReady(true);});};window.addEventListener(\"scroll\",calculateParallax,{passive:true});calculateParallax();return()=>window.removeEventListener(\"scroll\",calculateParallax);},[parallax,isStatic]);return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,style:{overflow:\"hidden\",position:\"relative\",backgroundColor:\"#ffffff\",width:\"100%\",height:\"100%\",...style},children:[image&&ready&&/*#__PURE__*/_jsx(\"img\",{src:image.src,style:{width:\"100%\",height:isStatic?\"100%\":`calc(100% + ${parallax}px)`,objectFit:\"cover\",transform:isStatic?\"translateY(0px)\":`translateY(${-translateY}px)`,display:\"block\"},alt:image.alt||\"Parallax Image\"}),noizeVisible&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:0,left:0,width:\"100%\",height:isStatic?\"100%\":`calc(100% + ${parallax}px)`,backgroundImage:\"url(https://framerusercontent.com/images/hfyi67pKwBIagdce3cECqq02Do.png)\",backgroundRepeat:\"repeat\",backgroundSize:\"100px 100px\",opacity:noizeOpacity,pointerEvents:\"none\",zIndex:1,transform:isStatic?\"translateY(0px)\":`translateY(${-translateY}px)`,mixBlendMode:\"overlay\"}})]});}addPropertyControls(ImageParallaxVerticalNoize,{image:{type:ControlType.ResponsiveImage,title:\"Image\"},parallax:{type:ControlType.Number,title:\"Parallax Intensity\",defaultValue:200,min:0,max:500,step:10,unit:\"px\"},noizeVisible:{type:ControlType.Boolean,title:\"Noize\",defaultValue:true,enabledTitle:\"Yes\",disabledTitle:\"No\"},noizeOpacity:{type:ControlType.Number,title:\"Noize Opacity\",defaultValue:.5,min:0,max:1,step:.1}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ImageParallaxVerticalNoize\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"400\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"400\",\"framerDisableUnlink\":\"* @framerSupportedLayoutWidth fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ImageParallaxVerticalNoize.map"],"mappings":"uNAOG,SAAwB,EAA2B,EAAM,CAAC,GAAK,CAAC,QAAM,CAAC,IAAI,sEAAsE,IAAI,oBAAoB,CAAC,WAAS,IAAI,eAAa,GAAK,eAAa,GAAG,SAAO,EAAY,EAAaA,EAAa,KAAK,CAAM,CAAC,EAAW,GAAeC,EAAe,EAAE,CAAM,CAAC,EAAM,GAAUA,EAAe,GAAM,CAAO,EAAS,GAAqB,CAA0yB,OAAzyB,MAAoB,CAAC,GAAU,IAAS,QAAa,EAAS,CAAC,EAAS,GAAK,CAAC,OAAQ,IAAM,MAAsB,CAAC,GAAG,CAAC,EAAa,QAAQ,OAAO,IAAM,EAAK,EAAa,QAAQ,uBAAuB,CAAO,EAAa,EAAO,YAAkB,EAAc,EAAK,OAAa,EAAc,EAAa,EAAK,IAAU,EAAY,CAAC,EAAK,OAAa,EAAY,EAAa,EAAkB,EAAS,EAAK,GAAe,GAAG,GAAa,EAAG,EAAS,EAAc,EAAqB,EAAc,EAAG,EAAS,EAAW,EAAY,IAAG,EAAS,GAAG,MAAoB,CAAC,EAAc,EAAS,EAAS,EAAS,CAAC,EAAS,GAAK,EAAG,EAA0F,OAAvF,EAAO,iBAAiB,SAAS,EAAkB,CAAC,QAAQ,GAAK,CAAC,CAAC,GAAmB,KAAW,EAAO,oBAAoB,SAAS,EAAkB,EAAG,CAAC,EAAS,EAAS,CAAC,CAAqB,EAAM,MAAM,CAAC,IAAI,EAAa,MAAM,CAAC,SAAS,SAAS,SAAS,WAAW,gBAAgB,UAAU,MAAM,OAAO,OAAO,OAAO,GAAG,EAAM,CAAC,SAAS,CAAC,GAAO,GAAoB,EAAK,MAAM,CAAC,IAAI,EAAM,IAAI,MAAM,CAAC,MAAM,OAAO,OAAO,EAAS,OAAO,eAAe,EAAS,KAAK,UAAU,QAAQ,UAAU,EAAS,kBAAkB,cAAc,CAAC,EAAW,KAAK,QAAQ,QAAQ,CAAC,IAAI,EAAM,KAAK,iBAAiB,CAAC,CAAC,GAA2B,EAAK,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,IAAI,EAAE,KAAK,EAAE,MAAM,OAAO,OAAO,EAAS,OAAO,eAAe,EAAS,KAAK,gBAAgB,2EAA2E,iBAAiB,SAAS,eAAe,cAAc,QAAQ,EAAa,cAAc,OAAO,OAAO,EAAE,UAAU,EAAS,kBAAkB,cAAc,CAAC,EAAW,KAAK,aAAa,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,sBANr+D,IAA4B,IAAwE,CAMm4D,EAAoB,EAA2B,CAAC,MAAM,CAAC,KAAK,EAAY,gBAAgB,MAAM,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,qBAAqB,aAAa,IAAI,IAAI,EAAE,IAAI,IAAI,KAAK,GAAG,KAAK,KAAK,CAAC,aAAa,CAAC,KAAK,EAAY,QAAQ,MAAM,QAAQ,aAAa,GAAK,aAAa,MAAM,cAAc,KAAK,CAAC,aAAa,CAAC,KAAK,EAAY,OAAO,MAAM,gBAAgB,aAAa,GAAG,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC"}