{"version":3,"file":"EditableImageCarousel.BWHbE97R.mjs","names":["React.useRef","React.useState","React.useMemo","React.useCallback","_Fragment"],"sources":["https:/framerusercontent.com/modules/buqsbhHeeg7UAxoVYtqM/aHg3CzdXjFNV1WVXqtNw/EditableImageCarousel.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{motion,useInView}from\"framer-motion\";/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export default function EditableImageCarousel(props){const{images=[\"https://framerusercontent.com/images/f9RiWoNpmlCMqVRIHz8l8wYfeI.jpg\"],aspectRatio=\"16 / 9\",fit=\"contain\",cornerRadius=0,autoplay=false,autoplayInterval=4,navigationVisibility=\"dots\",showArrows=true,surfaceColor=\"rgba(255,255,255,0.06)\",controlColor=\"#FFFFFF\",inactiveControlColor=\"rgba(255,255,255,0.35)\",style}=props;const isStatic=useIsStaticRenderer();const containerRef=React.useRef(null);const isInView=useInView(containerRef,{once:false,amount:.45});const[currentIndex,setCurrentIndex]=React.useState(0);const safeImages=React.useMemo(()=>{const fallback=[\"https://framerusercontent.com/images/f9RiWoNpmlCMqVRIHz8l8wYfeI.jpg\"];const sourceList=images&&images.length>0?images:fallback;return sourceList.map((item,index)=>{if(typeof item===\"string\"){return{src:item,alt:`Carousel image ${index+1}`};}const src=item?.src??\"\";if(!src)return null;return{src,alt:item.alt?.trim()||`Carousel image ${index+1}`};}).filter(item=>Boolean(item?.src));},[images]);const totalSlides=safeImages.length;const goToIndex=React.useCallback(nextIndex=>{if(totalSlides<=0)return;const wrappedIndex=(nextIndex+totalSlides)%totalSlides;React.startTransition(()=>setCurrentIndex(wrappedIndex));},[totalSlides]);const goNext=React.useCallback(()=>{goToIndex(currentIndex+1);},[currentIndex,goToIndex]);const goPrevious=React.useCallback(()=>{goToIndex(currentIndex-1);},[currentIndex,goToIndex]);React.useEffect(()=>{if(!autoplay||totalSlides<=1||isStatic||!isInView)return;const timer=window.setInterval(()=>{React.startTransition(()=>setCurrentIndex(prev=>(prev+1)%totalSlides));},autoplayInterval*1e3);return()=>window.clearInterval(timer);},[autoplay,autoplayInterval,totalSlides,isStatic,isInView]);const onDragEnd=React.useCallback((_event,info)=>{const swipePower=Math.abs(info.offset.x)*Math.abs(info.velocity.x);if(info.offset.x<-50||info.velocity.x<-500&&swipePower>8e3){goNext();}else if(info.offset.x>50||info.velocity.x>500&&swipePower>8e3){goPrevious();}},[goNext,goPrevious]);const showDots=navigationVisibility===\"dots\"||navigationVisibility===\"both\";const showCount=navigationVisibility===\"count\"||navigationVisibility===\"both\";return /*#__PURE__*/_jsxs(\"section\",{ref:containerRef,style:{position:\"relative\",width:\"100%\",background:surfaceColor,borderRadius:cornerRadius,overflow:\"hidden\",padding:0,...style},\"aria-roledescription\":\"carousel\",\"aria-label\":\"Image carousel\",children:[/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",width:\"100%\",aspectRatio,overflow:\"hidden\"},children:[/*#__PURE__*/_jsx(motion.div,{drag:totalSlides>1?\"x\":false,dragConstraints:{left:0,right:0},dragElastic:.12,onDragEnd:onDragEnd,style:{display:\"flex\",width:`${totalSlides*100}%`,height:\"100%\",willChange:\"transform\"},animate:isStatic?{x:`${-currentIndex*(100/totalSlides)}%`}:{x:`${-currentIndex*(100/totalSlides)}%`},transition:{type:\"spring\",stiffness:320,damping:34,mass:.9},children:safeImages.map((image,index)=>/*#__PURE__*/_jsx(\"div\",{style:{width:`${100/totalSlides}%`,height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",background:\"transparent\"},children:/*#__PURE__*/_jsx(\"img\",{src:image.src,alt:image.alt||`Carousel image ${index+1}`,style:{width:\"100%\",height:\"100%\",objectFit:fit,objectPosition:\"center\",userSelect:\"none\"},draggable:false})},`${image.src??\"image\"}-${index}`))}),showArrows&&totalSlides>1&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:goPrevious,\"aria-label\":\"Previous image\",style:{position:\"absolute\",left:10,top:\"50%\",transform:\"translateY(-50%)\",border:\"none\",background:\"rgba(0,0,0,0.35)\",color:controlColor,width:28,height:28,borderRadius:999,cursor:\"pointer\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",fontSize:14,lineHeight:1},children:\"‹\"}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:goNext,\"aria-label\":\"Next image\",style:{position:\"absolute\",right:10,top:\"50%\",transform:\"translateY(-50%)\",border:\"none\",background:\"rgba(0,0,0,0.35)\",color:controlColor,width:28,height:28,borderRadius:999,cursor:\"pointer\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",fontSize:14,lineHeight:1},children:\"›\"})]})]}),(showDots||showCount)&&totalSlides>1&&/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",bottom:10,left:\"50%\",transform:\"translateX(-50%)\",display:\"flex\",alignItems:\"center\",gap:8,padding:\"4px 8px\",borderRadius:999,background:\"rgba(0,0,0,0.28)\",backdropFilter:\"blur(2px)\"},children:[showDots&&/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:6},children:safeImages.map((_,index)=>/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:()=>goToIndex(index),\"aria-label\":`Go to image ${index+1}`,\"aria-current\":index===currentIndex,style:{width:6,height:6,borderRadius:999,border:\"none\",background:index===currentIndex?controlColor:inactiveControlColor,cursor:\"pointer\",padding:0}},`dot-${index}`))}),showCount&&/*#__PURE__*/_jsxs(\"span\",{style:{color:controlColor,fontSize:11,lineHeight:1,letterSpacing:\"0.02em\",whiteSpace:\"nowrap\",minWidth:\"max-content\"},children:[currentIndex+1,\" / \",totalSlides]})]})]});}addPropertyControls(EditableImageCarousel,{images:{type:ControlType.Array,title:\"Images\",control:{type:ControlType.Image},defaultValue:[\"https://framerusercontent.com/images/f9RiWoNpmlCMqVRIHz8l8wYfeI.jpg\",\"https://framerusercontent.com/images/2uTNEj5aTl2K3NJaEFWMbnrA.jpg\"]},aspectRatio:{type:ControlType.Enum,title:\"Aspect\",options:[\"16 / 9\",\"4 / 3\",\"3 / 2\",\"1 / 1\",\"21 / 9\"],optionTitles:[\"16:9\",\"4:3\",\"3:2\",\"1:1\",\"21:9\"],defaultValue:\"16 / 9\"},fit:{type:ControlType.Enum,title:\"Fit\",options:[\"contain\",\"cover\"],optionTitles:[\"Contain\",\"Cover\"],defaultValue:\"contain\",displaySegmentedControl:true},cornerRadius:{type:ControlType.Number,title:\"Radius\",defaultValue:0,min:0,max:64,step:1,unit:\"px\"},autoplay:{type:ControlType.Boolean,title:\"Autoplay\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\"},autoplayInterval:{type:ControlType.Number,title:\"Interval\",defaultValue:4,min:1,max:12,step:.5,unit:\"s\",hidden:props=>!props.autoplay},navigationVisibility:{type:ControlType.Enum,title:\"Navigation\",options:[\"none\",\"dots\",\"count\",\"both\"],optionTitles:[\"None\",\"Dots\",\"Count\",\"Both\"],defaultValue:\"dots\"},showArrows:{type:ControlType.Boolean,title:\"Arrows\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},surfaceColor:{type:ControlType.Color,title:\"Surface\",defaultValue:\"#FFFFFF\"},controlColor:{type:ControlType.Color,title:\"Active\",defaultValue:\"#000000\"},inactiveControlColor:{type:ControlType.Color,title:\"Inactive\",defaultValue:\"#CCCCCC\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"EditableImageCarousel\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"auto\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./EditableImageCarousel.map"],"mappings":"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"}