{"version":3,"file":"TimedImageRotator.DAWHm3Uh.mjs","names":["useRef","useState","useMemo","useCallback"],"sources":["https:/framerusercontent.com/modules/mgDnGqD1Uw7AcNIv05Zx/Xdfb675W8USdPlyGJbMd/TimedImageRotator.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{useCallback,useEffect,useMemo,useRef,useState,startTransition}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{useInView}from\"framer-motion\";/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */export default function TimedImageRotator(props){const{images,imageUrl1,imageAlt1,imageUrl2,imageAlt2,imageUrl3,imageAlt3,imageUrl4,imageAlt4,imageUrl5,imageAlt5,holdDuration,fadeDuration,fit,backgroundColor,borderRadius,style}=props;const isStatic=useIsStaticRenderer();const containerRef=useRef(null);const isInView=useInView(containerRef,{amount:.35});const[activeIndex,setActiveIndex]=useState(0);const safeImages=useMemo(()=>{const numberedImages=[{src:imageUrl1?.trim()||\"\",alt:imageAlt1?.trim()||\"\",srcSet:undefined},{src:imageUrl2?.trim()||\"\",alt:imageAlt2?.trim()||\"\",srcSet:undefined},{src:imageUrl3?.trim()||\"\",alt:imageAlt3?.trim()||\"\",srcSet:undefined},{src:imageUrl4?.trim()||\"\",alt:imageAlt4?.trim()||\"\",srcSet:undefined},{src:imageUrl5?.trim()||\"\",alt:imageAlt5?.trim()||\"\",srcSet:undefined}];const hasAnyNumberedUrl=numberedImages.some(item=>Boolean(item.src));if(hasAnyNumberedUrl){return numberedImages.filter(item=>Boolean(item.src));}return(images||[]).map(item=>{const preferredUrl=item?.url?.trim();const legacyUrl=item?.image?.src?.trim();const src=preferredUrl||legacyUrl||\"\";const alt=item?.alt?.trim()||item?.image?.alt?.trim()||\"\";return{src,alt,srcSet:item?.image?.srcSet};}).filter(item=>Boolean(item.src));},[images,imageUrl1,imageAlt1,imageUrl2,imageAlt2,imageUrl3,imageAlt3,imageUrl4,imageAlt4,imageUrl5,imageAlt5]);const totalImages=safeImages.length;const advance=useCallback(()=>{if(totalImages<=1)return;startTransition(()=>{setActiveIndex(prev=>(prev+1)%totalImages);});},[totalImages]);useEffect(()=>{if(isStatic||!isInView||totalImages<=1)return;const totalCycleMs=Math.max(.1,holdDuration+fadeDuration)*1e3;if(typeof window===\"undefined\")return;const timeoutId=window.setTimeout(()=>{advance();},totalCycleMs);return()=>{window.clearTimeout(timeoutId);};},[advance,fadeDuration,holdDuration,isInView,isStatic,activeIndex,totalImages]);const transitionDuration=Math.max(.05,fadeDuration);return /*#__PURE__*/_jsx(\"div\",{ref:containerRef,style:{position:\"relative\",width:\"100%\",height:\"100%\",overflow:\"hidden\",backgroundColor,borderRadius,...style},\"aria-live\":\"off\",children:safeImages.map((item,index)=>{const isActive=index===activeIndex;return /*#__PURE__*/_jsx(\"img\",{src:item.src,srcSet:item.srcSet,alt:item.alt,\"aria-hidden\":!isActive,style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",objectFit:fit,opacity:isActive?1:0,transition:isStatic?undefined:`opacity ${transitionDuration}s ease`,pointerEvents:\"none\",userSelect:\"none\"}},`${item.src}-${index}`);})});}addPropertyControls(TimedImageRotator,{imageUrl1:{type:ControlType.String,title:\"URL 1\",defaultValue:\"\",placeholder:\"https://...\"},imageAlt1:{type:ControlType.String,title:\"Alt 1\",defaultValue:\"\"},imageUrl2:{type:ControlType.String,title:\"URL 2\",defaultValue:\"\",placeholder:\"https://...\"},imageAlt2:{type:ControlType.String,title:\"Alt 2\",defaultValue:\"\"},imageUrl3:{type:ControlType.String,title:\"URL 3\",defaultValue:\"\",placeholder:\"https://...\"},imageAlt3:{type:ControlType.String,title:\"Alt 3\",defaultValue:\"\"},imageUrl4:{type:ControlType.String,title:\"URL 4\",defaultValue:\"\",placeholder:\"https://...\"},imageAlt4:{type:ControlType.String,title:\"Alt 4\",defaultValue:\"\"},imageUrl5:{type:ControlType.String,title:\"URL 5\",defaultValue:\"\",placeholder:\"https://...\"},imageAlt5:{type:ControlType.String,title:\"Alt 5\",defaultValue:\"\"},images:{type:ControlType.Array,title:\"Images\",control:{type:ControlType.Object,controls:{url:{type:ControlType.String,title:\"URL\",defaultValue:\"\",placeholder:\"https://...\"},alt:{type:ControlType.String,title:\"Alt\",defaultValue:\"\"}}},defaultValue:[{url:\"https://framerusercontent.com/images/4qPKELfLbe6ANPwakdIIJIu7c4.jpg\",alt:\"Image 4qPKELfL\"},{url:\"https://framerusercontent.com/images/UbfzJaTYxSFRUFNhWMvFy0cbUoY.jpg\",alt:\"Image UbfzJaTY\"},{url:\"https://framerusercontent.com/images/jFoXAv7GHh9x7HbceDBWuW0nwQ.jpg?width=3000&height=2250&kb=690\",alt:\"Image jFoXAv7G\"},{url:\"https://framerusercontent.com/images/ZExgMUMIiIy5osNV5p49aUGPYc.jpg?width=3000&height=2250&kb=640\",alt:\"Image ZExgMUMI\"},{url:\"https://framerusercontent.com/images/M1cRiHoLdjM56kSOXCnjNmmWRys.jpg?width=3000&height=2250&kb=663\",alt:\"Image M1cRiHoL\"}]},holdDuration:{type:ControlType.Number,title:\"Hold\",min:.1,max:20,step:.1,unit:\"s\",defaultValue:2},fadeDuration:{type:ControlType.Number,title:\"Fade\",min:.05,max:10,step:.05,unit:\"s\",defaultValue:.6},fit:{type:ControlType.Enum,title:\"Fit\",options:[\"cover\",\"contain\"],optionTitles:[\"Cover\",\"Contain\"],defaultValue:\"cover\",displaySegmentedControl:true},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#FFFFFF\"},borderRadius:{type:ControlType.BorderRadius,title:\"Radius\",defaultValue:\"0px\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"TimedImageRotator\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any\",\"framerSupportedLayoutWidth\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./TimedImageRotator.map"],"mappings":"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"}