{"version":3,"file":"Image_Slideshow_Vertical.tpIPmfKm.mjs","names":["React.useMemo","React.useRef","React.useState"],"sources":["https:/framerusercontent.com/modules/aJzo77F76UE1eJ4LdPpn/JslSOrUQfyxdwKNVk5dw/Image_Slideshow_Vertical.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";function isValidImage(value){if(typeof value!==\"string\")return false;const trimmed=value.trim();if(!trimmed)return false;if(trimmed===\"undefined\")return false;if(trimmed===\"null\")return false;if(trimmed===\"missing\")return false;if(trimmed.includes(\"Missing\"))return false;if(trimmed.includes(\"undefined\"))return false;if(trimmed.includes(\"null\"))return false;return true;}function repeatImages(images,minimumSlides){if(images.length===0)return[];const repeated=[];while(repeated.length<minimumSlides){repeated.push(...images);}return repeated;}export default function VerticalAutoSlideshow(props){const{desktopImageWidth,tabletImageWidth,mobileImageWidth,gap,radius,imageFit,scrollSpeed,direction,pauseOnHover,backgroundColor,showShadow,shadowColor,showBorder,borderColor,borderWidth}=props;const images=React.useMemo(()=>{return[props.image1,props.image2,props.image3,props.image4,props.image5,props.image6,props.image7,props.image8,props.image9,props.image10,props.image11,props.image12,props.image13,props.image14,props.image15].filter(isValidImage);},[props.image1,props.image2,props.image3,props.image4,props.image5,props.image6,props.image7,props.image8,props.image9,props.image10,props.image11,props.image12,props.image13,props.image14,props.image15]);const wrapperRef=React.useRef(null);const trackRef=React.useRef(null);const groupRef=React.useRef(null);const offsetRef=React.useRef(0);const lastTimeRef=React.useRef(null);const pausedRef=React.useRef(false);const[width,setWidth]=React.useState(1200);React.useEffect(()=>{if(!wrapperRef.current)return;const observer=new ResizeObserver(([entry])=>{setWidth(entry.contentRect.width);});observer.observe(wrapperRef.current);return()=>observer.disconnect();},[]);const isMobile=width<=480;const isTablet=width<=820&&width>480;const imageWidth=isMobile?mobileImageWidth:isTablet?tabletImageWidth:desktopImageWidth;const imageHeight=imageWidth*1.333333;const minimumSlides=8;const slides=React.useMemo(()=>{return repeatImages(images,minimumSlides);},[images]);React.useEffect(()=>{if(!trackRef.current||slides.length<=1)return;let frame=0;const animate=time=>{if(lastTimeRef.current===null)lastTimeRef.current=time;const delta=(time-lastTimeRef.current)/1e3;lastTimeRef.current=time;const groupWidth=groupRef.current?.offsetWidth||0;const loopWidth=groupWidth+gap;if(!pausedRef.current&&loopWidth>0){const movement=scrollSpeed*delta;if(direction===\"left\"){offsetRef.current-=movement;if(Math.abs(offsetRef.current)>=loopWidth){offsetRef.current=0;}}else{offsetRef.current+=movement;if(offsetRef.current>=0){offsetRef.current=-loopWidth;}}trackRef.current.style.transform=`translate3d(${offsetRef.current}px, 0, 0)`;}frame=requestAnimationFrame(animate);};if(direction===\"right\"){const groupWidth=groupRef.current?.offsetWidth||0;offsetRef.current=-(groupWidth+gap);}else{offsetRef.current=0;}frame=requestAnimationFrame(animate);return()=>{cancelAnimationFrame(frame);lastTimeRef.current=null;};},[slides.length,imageWidth,gap,scrollSpeed,direction]);if(images.length<2){return null;}return /*#__PURE__*/_jsx(\"div\",{ref:wrapperRef,onMouseEnter:()=>{if(pauseOnHover)pausedRef.current=true;},onMouseLeave:()=>{pausedRef.current=false;},style:{width:\"100%\",height:imageHeight,overflow:\"hidden\",position:\"relative\",background:backgroundColor},children:/*#__PURE__*/_jsxs(\"div\",{ref:trackRef,style:{display:\"flex\",gap,width:\"max-content\",willChange:\"transform\"},children:[/*#__PURE__*/_jsx(SlideGroup,{ref:groupRef,images:slides,imageWidth:imageWidth,imageHeight:imageHeight,gap:gap,radius:radius,imageFit:imageFit,showShadow:showShadow,shadowColor:shadowColor,showBorder:showBorder,borderColor:borderColor,borderWidth:borderWidth}),/*#__PURE__*/_jsx(SlideGroup,{images:slides,imageWidth:imageWidth,imageHeight:imageHeight,gap:gap,radius:radius,imageFit:imageFit,showShadow:showShadow,shadowColor:shadowColor,showBorder:showBorder,borderColor:borderColor,borderWidth:borderWidth})]})});}const SlideGroup=/*#__PURE__*/React.forwardRef(function SlideGroup({images,imageWidth,imageHeight,gap,radius,imageFit,showShadow,shadowColor,showBorder,borderColor,borderWidth},ref){return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{display:\"flex\",gap,flex:\"0 0 auto\"},children:images.map((image,index)=>/*#__PURE__*/_jsx(\"div\",{style:{width:imageWidth,height:imageHeight,flex:\"0 0 auto\",overflow:\"hidden\",borderRadius:radius,background:\"linear-gradient(135deg, #d9e1e4 0%, #83959d 100%)\",boxShadow:showShadow?`0 18px 40px ${shadowColor}`:\"none\",border:showBorder?`${borderWidth}px solid ${borderColor}`:\"none\",boxSizing:\"border-box\"},children:/*#__PURE__*/_jsx(\"img\",{src:image,draggable:false,style:{width:\"100%\",height:\"100%\",objectFit:imageFit,display:\"block\",userSelect:\"none\"}})},`${image}-${index}`))});});VerticalAutoSlideshow.defaultProps={image1:\"\",image2:\"\",image3:\"\",image4:\"\",image5:\"\",image6:\"\",image7:\"\",image8:\"\",image9:\"\",image10:\"\",image11:\"\",image12:\"\",image13:\"\",image14:\"\",image15:\"\",desktopImageWidth:360,tabletImageWidth:280,mobileImageWidth:210,gap:20,radius:8,imageFit:\"cover\",scrollSpeed:36,direction:\"left\",pauseOnHover:true,backgroundColor:\"transparent\",showShadow:false,shadowColor:\"rgba(0, 0, 0, 0.22)\",showBorder:false,borderColor:\"#FFFFFF\",borderWidth:1};addPropertyControls(VerticalAutoSlideshow,{image1:{type:ControlType.Image,title:\"Image 1\"},image2:{type:ControlType.Image,title:\"Image 2\"},image3:{type:ControlType.Image,title:\"Image 3\"},image4:{type:ControlType.Image,title:\"Image 4\"},image5:{type:ControlType.Image,title:\"Image 5\"},image6:{type:ControlType.Image,title:\"Image 6\"},image7:{type:ControlType.Image,title:\"Image 7\"},image8:{type:ControlType.Image,title:\"Image 8\"},image9:{type:ControlType.Image,title:\"Image 9\"},image10:{type:ControlType.Image,title:\"Image 10\"},image11:{type:ControlType.Image,title:\"Image 11\"},image12:{type:ControlType.Image,title:\"Image 12\"},image13:{type:ControlType.Image,title:\"Image 13\"},image14:{type:ControlType.Image,title:\"Image 14\"},image15:{type:ControlType.Image,title:\"Image 15\"},desktopImageWidth:{type:ControlType.Number,title:\"Desktop W\",defaultValue:360,min:120,max:700,step:10},tabletImageWidth:{type:ControlType.Number,title:\"Tablet W\",defaultValue:280,min:100,max:520,step:10},mobileImageWidth:{type:ControlType.Number,title:\"Mobile W\",defaultValue:210,min:80,max:360,step:10},gap:{type:ControlType.Number,title:\"Gap\",defaultValue:20,min:0,max:80,step:1},radius:{type:ControlType.Number,title:\"Radius\",defaultValue:8,min:0,max:80,step:1},imageFit:{type:ControlType.Enum,title:\"Image Fit\",defaultValue:\"cover\",options:[\"cover\",\"contain\"],optionTitles:[\"Cover\",\"Contain\"]},scrollSpeed:{type:ControlType.Number,title:\"Speed\",defaultValue:36,min:5,max:160,step:1},direction:{type:ControlType.Enum,title:\"Direction\",defaultValue:\"left\",options:[\"left\",\"right\"],optionTitles:[\"Left\",\"Right\"]},pauseOnHover:{type:ControlType.Boolean,title:\"Pause Hover\",defaultValue:true},backgroundColor:{type:ControlType.Color,title:\"BG\",defaultValue:\"transparent\"},showShadow:{type:ControlType.Boolean,title:\"Shadow\",defaultValue:false},shadowColor:{type:ControlType.Color,title:\"Shadow Color\",defaultValue:\"rgba(0, 0, 0, 0.22)\",hidden:({showShadow})=>!showShadow},showBorder:{type:ControlType.Boolean,title:\"Border\",defaultValue:false},borderColor:{type:ControlType.Color,title:\"Border Color\",defaultValue:\"#FFFFFF\",hidden:({showBorder})=>!showBorder},borderWidth:{type:ControlType.Number,title:\"Border W\",defaultValue:1,min:1,max:8,step:1,hidden:({showBorder})=>!showBorder}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"VerticalAutoSlideshow\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Image_Slideshow_Vertical.map"],"mappings":"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"}