{"version":3,"file":"Image_sequence.CSmarW83.mjs","names":["useState","useRef","_Fragment"],"sources":["https:/framerusercontent.com/modules/D6EQJBO5mfu46zbFr6bc/HFiqXJNdpco57ZszLtGk/Image_sequence.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useState,useRef,useEffect}from\"react\";import{useScroll,useMotionValueEvent}from\"framer-motion\";const VARIANT_LENGTH=91;export const withScrollVariants=Component=>{const variants=Array.from({length:VARIANT_LENGTH},(_,i)=>`Variant ${i}`);return props=>{const[variantIndex,setVariantIndex]=useState(0);const[imagesLoaded,setImagesLoaded]=useState(false);const ref=useRef(null);const{scrollYProgress}=useScroll({target:ref,offset:[\"start 0.8\",\"end 0.3\"]});useEffect(()=>{const imageSources=[];document.querySelectorAll(\"img\").forEach(imgElement=>{imageSources.push(imgElement.src);});const imagePromises=imageSources.map(src=>{return new Promise((resolve,reject)=>{const img=new Image;img.onload=()=>resolve(src);img.onerror=()=>reject(src);img.src=src;});});Promise.all(imagePromises).then(()=>setImagesLoaded(true)).catch(()=>setImagesLoaded(false));},[]);useEffect(()=>{const newVariantIndex=Math.round(scrollYProgress.current*(VARIANT_LENGTH-2))+1;setVariantIndex(newVariantIndex);},[scrollYProgress.current]);useMotionValueEvent(scrollYProgress,\"change\",currentProgress=>{const newVariantIndex=Math.round(scrollYProgress.current*(VARIANT_LENGTH-2))+1;if(newVariantIndex!==variantIndex&&imagesLoaded){setVariantIndex(newVariantIndex);}});return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{style:{display:\"none\"},children:variants.map(variant=>/*#__PURE__*/_jsx(Component,{...props,variant:variant},variant))}),/*#__PURE__*/_jsx(Component,{...props,variant:variants[variantIndex],ref:ref})]});};};\nexport const __FramerMetadata__ = {\"exports\":{\"withScrollVariants\":{\"type\":\"reactHoc\",\"name\":\"withScrollVariants\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Image_sequence.map"],"mappings":"2NAA+E,IAA6C,IAAyD,CAAM,EAAe,GAAgB,EAAmB,GAAW,CAAC,IAAM,EAAS,MAAM,KAAK,CAAC,OAAO,EAAe,EAAE,EAAE,IAAI,WAAW,IAAI,CAAC,MAAO,IAAO,CAAC,GAAK,CAAC,EAAa,GAAiBA,EAAS,EAAE,CAAM,CAAC,EAAa,GAAiBA,EAAS,GAAM,CAAO,EAAIC,EAAO,KAAK,CAAM,CAAC,mBAAiB,EAAU,CAAC,OAAO,EAAI,OAAO,CAAC,YAAY,UAAU,CAAC,CAAC,CAAmxB,OAAlxB,MAAc,CAAC,IAAM,EAAa,EAAE,CAAC,SAAS,iBAAiB,MAAM,CAAC,QAAQ,GAAY,CAAC,EAAa,KAAK,EAAW,IAAI,EAAG,CAAC,IAAM,EAAc,EAAa,IAAI,GAAa,IAAI,SAAS,EAAQ,IAAS,CAAC,IAAM,EAAI,IAAI,MAAM,EAAI,WAAW,EAAQ,EAAI,CAAC,EAAI,YAAY,EAAO,EAAI,CAAC,EAAI,IAAI,GAAM,CAAG,CAAC,QAAQ,IAAI,EAAc,CAAC,SAAS,EAAgB,GAAK,CAAC,CAAC,UAAU,EAAgB,GAAM,CAAC,EAAG,EAAE,CAAC,CAAC,MAAc,CAAgF,EAAzD,KAAK,MAAM,EAAgB,SAAS,EAAe,GAAG,CAAC,EAAkC,EAAG,CAAC,EAAgB,QAAQ,CAAC,CAAC,EAAoB,EAAgB,SAAS,GAAiB,CAAC,IAAM,EAAgB,KAAK,MAAM,EAAgB,SAAS,EAAe,GAAG,CAAC,EAAK,IAAkB,GAAc,GAAc,EAAgB,EAAgB,EAAI,CAAqB,EAAMC,EAAU,CAAC,SAAS,CAAc,EAAK,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,CAAC,SAAS,EAAS,IAAI,GAAsB,EAAK,EAAU,CAAC,GAAG,EAAc,UAAQ,CAAC,EAAQ,CAAC,CAAC,CAAC,CAAc,EAAK,EAAU,CAAC,GAAG,EAAM,QAAQ,EAAS,GAAkB,MAAI,CAAC,CAAC,CAAC,CAAC"}