{"version":3,"file":"ImageSlideshow.CLhjdrry.mjs","names":["useMemo","useState","useRef","_Fragment"],"sources":["https:/framerusercontent.com/modules/vTeI8QusFYsODAG9GzF7/RcyCCIlJxyC7tHSzXzBB/ImageSlideshow.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useState,useEffect,useRef,useMemo}from\"react\";import{addPropertyControls,ControlType}from\"framer\";import{motion}from\"framer-motion\";/**\n * Image Slideshow\n *\n * @framerIntrinsicWidth 800\n * @framerIntrinsicHeight 450\n *\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */export default function ImageSlideshow(props){const{image01,image02,image03,image04,image05,image06,image01Visible,image02Visible,image03Visible,image04Visible,image05Visible,image06Visible,borderRadius,dotSize,showDots,showArrows,autoplay,autoplayInterval}=props;// Filter out empty images to create the valid slide list\nconst slides=useMemo(()=>{const allImages=[{img:image01,visible:image01Visible},{img:image02,visible:image02Visible},{img:image03,visible:image03Visible},{img:image04,visible:image04Visible},{img:image05,visible:image05Visible},{img:image06,visible:image06Visible}];return allImages.filter(item=>item.visible&&item.img&&item.img.src&&item.img.src!==\"\").map(item=>item.img);},[image01,image02,image03,image04,image05,image06,image01Visible,image02Visible,image03Visible,image04Visible,image05Visible,image06Visible]);const[currentIndex,setCurrentIndex]=useState(0);const[width,setWidth]=useState(0);const[isHovered,setIsHovered]=useState(false);const containerRef=useRef(null);const autoplayTimerRef=useRef(null);// Measure width for drag constraints\nuseEffect(()=>{if(containerRef.current){setWidth(containerRef.current.offsetWidth);}const handleResize=()=>{if(containerRef.current){setWidth(containerRef.current.offsetWidth);}};window.addEventListener(\"resize\",handleResize);return()=>window.removeEventListener(\"resize\",handleResize);},[]);// Reset index if slides change and index is out of bounds\nuseEffect(()=>{if(currentIndex>=slides.length&&slides.length>0){setCurrentIndex(0);}},[slides.length,currentIndex]);// Autoplay logic\nuseEffect(()=>{if(!autoplay||slides.length<=1||isHovered){if(autoplayTimerRef.current){clearInterval(autoplayTimerRef.current);autoplayTimerRef.current=null;}return;}autoplayTimerRef.current=setInterval(()=>{setCurrentIndex(prev=>(prev+1)%slides.length);},autoplayInterval);return()=>{if(autoplayTimerRef.current){clearInterval(autoplayTimerRef.current);}};},[autoplay,slides.length,isHovered,autoplayInterval]);const handleDragEnd=(e,{offset,velocity})=>{const swipe=Math.abs(offset.x)>50||Math.abs(velocity.x)>500;if(swipe){if(offset.x>0&&currentIndex>0){setCurrentIndex(currentIndex-1);}else if(offset.x<0&&currentIndex<slides.length-1){setCurrentIndex(currentIndex+1);}}};const goToSlide=index=>{setCurrentIndex(index);};const goToPrev=()=>{setCurrentIndex(prev=>prev>0?prev-1:slides.length-1);};const goToNext=()=>{setCurrentIndex(prev=>(prev+1)%slides.length);};// If no images are set, show a placeholder state in canvas\nif(slides.length===0){return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",backgroundColor:\"#f0f0f0\",color:\"#888\",borderRadius:borderRadius},children:\"Connect images via properties\"});}return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,onMouseEnter:()=>setIsHovered(true),onMouseLeave:()=>setIsHovered(false),style:{width:\"100%\",height:\"100%\",position:\"relative\",overflow:\"hidden\",borderRadius:borderRadius,display:\"flex\",flexDirection:\"column\"},children:[/*#__PURE__*/_jsx(motion.div,{style:{display:\"flex\",width:`${slides.length*100}%`,height:\"100%\",cursor:\"grab\"},animate:{x:`-${currentIndex*100/slides.length}%`},transition:{type:\"spring\",stiffness:400,damping:40},drag:\"x\",dragConstraints:{left:-((slides.length-1)*width),right:0},dragElastic:.1,onDragEnd:handleDragEnd,whileTap:{cursor:\"grabbing\"},children:slides.map((slide,index)=>/*#__PURE__*/_jsx(\"div\",{style:{width:`${100/slides.length}%`,height:\"100%\",position:\"relative\"},children:/*#__PURE__*/_jsx(\"img\",{src:slide.src,srcSet:slide.srcSet,alt:slide.alt||`Slide ${index+1}`,style:{width:\"100%\",height:\"100%\",objectFit:\"cover\",pointerEvents:\"none\",userSelect:\"none\"}})},index))}),showArrows&&slides.length>1&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(motion.button,{onClick:goToPrev,initial:{opacity:.5},animate:{opacity:isHovered?1:.5},whileHover:{opacity:1,scale:1.1},style:{position:\"absolute\",left:20,top:\"46%\",transform:\"translateY(-50)\",width:30,height:30,borderRadius:\"50%\",backgroundColor:\"rgba(255, 255, 255, 0.9)\",border:\"none\",cursor:\"pointer\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",zIndex:10,boxShadow:\"0 2px 8px rgba(0,0,0,0.2)\"},\"aria-label\":\"Previous slide\",children:/*#__PURE__*/_jsx(\"svg\",{width:\"20\",height:\"20\",viewBox:\"0 0 20 20\",fill:\"none\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M12 4L6 10L12 16\",stroke:\"#000\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})})}),/*#__PURE__*/_jsx(motion.button,{onClick:goToNext,initial:{opacity:.5},animate:{opacity:isHovered?1:.5},whileHover:{opacity:1,scale:1.1},style:{position:\"absolute\",right:20,top:\"46%\",transform:\"translateY(-50)\",width:30,height:30,borderRadius:\"50%\",backgroundColor:\"rgba(255, 255, 255, 0.9)\",border:\"none\",cursor:\"pointer\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",zIndex:10,boxShadow:\"0 2px 8px rgba(0,0,0,0.2)\"},\"aria-label\":\"Next slide\",children:/*#__PURE__*/_jsx(\"svg\",{width:\"20\",height:\"20\",viewBox:\"0 0 20 20\",fill:\"none\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M8 4L14 10L8 16\",stroke:\"#000\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})})})]}),showDots&&slides.length>1&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",bottom:20,left:0,right:0,display:\"flex\",justifyContent:\"center\",gap:10,zIndex:10,pointerEvents:\"none\"},children:slides.map((_,index)=>/*#__PURE__*/_jsx(motion.button,{onClick:()=>goToSlide(index),initial:false,animate:{backgroundColor:\"#FFFFFF\",scale:currentIndex===index?1.2:1,opacity:currentIndex===index?1:.3},style:{width:dotSize,height:dotSize,borderRadius:\"50%\",border:\"none\",cursor:\"pointer\",padding:0,pointerEvents:\"auto\",boxShadow:\"0 2px 4px rgba(0,0,0,0.2)\"},\"aria-label\":`Go to slide ${index+1}`},index))})]});}addPropertyControls(ImageSlideshow,{image01:{type:ControlType.ResponsiveImage,title:\"Image 01\"},image02:{type:ControlType.ResponsiveImage,title:\"Image 02\"},image03:{type:ControlType.ResponsiveImage,title:\"Image 03\"},image04:{type:ControlType.ResponsiveImage,title:\"Image 04\"},image05:{type:ControlType.ResponsiveImage,title:\"Image 05\"},image06:{type:ControlType.ResponsiveImage,title:\"Image 06\"},image01Visible:{type:ControlType.Boolean,title:\"Image 01 Visible\",defaultValue:true},image02Visible:{type:ControlType.Boolean,title:\"Image 02 Visible\",defaultValue:true},image03Visible:{type:ControlType.Boolean,title:\"Image 03 Visible\",defaultValue:true},image04Visible:{type:ControlType.Boolean,title:\"Image 04 Visible\",defaultValue:true},image05Visible:{type:ControlType.Boolean,title:\"Image 05 Visible\",defaultValue:true},image06Visible:{type:ControlType.Boolean,title:\"Image 06 Visible\",defaultValue:true},showDots:{type:ControlType.Boolean,title:\"Show Dots\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},showArrows:{type:ControlType.Boolean,title:\"Show Arrows\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},autoplay:{type:ControlType.Boolean,title:\"Autoplay\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},autoplayInterval:{type:ControlType.Number,title:\"Interval (ms)\",defaultValue:5e3,min:1e3,max:1e4,step:500,hidden:({autoplay})=>!autoplay},borderRadius:{type:ControlType.Number,title:\"Radius\",defaultValue:0,min:0,max:100},dotSize:{type:ControlType.Number,title:\"Dot Size\",defaultValue:8,min:4,max:20,hidden:({showDots})=>!showDots}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ImageSlideshow\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"800\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any\",\"framerIntrinsicHeight\":\"450\",\"framerSupportedLayoutHeight\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ImageSlideshow.map"],"mappings":"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"}