{"version":3,"file":"Image_carousel.B6EcXMUp.mjs","names":["useState"],"sources":["https:/framerusercontent.com/modules/6SFQOOr7pyMlZBzgKSs8/m2QVSRgfdp6eWmcFy5IG/Image_carousel.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{Frame,addPropertyControls,ControlType}from\"framer\";import{useEffect,useState}from\"react\";import{motion}from\"framer-motion\";import ReactDOM from\"react-dom\";const Lightbox=({src,onClose})=>{useEffect(()=>{document.body.style.overflow=\"hidden\";return()=>{document.body.style.overflow=\"unset\";};},[]);return /*#__PURE__*/ReactDOM.createPortal(/*#__PURE__*/_jsx(\"div\",{style:{position:\"fixed\",top:0,left:0,width:\"100%\",height:\"100%\",backgroundColor:\"rgba(0, 0, 0, 0.8)\",zIndex:9999999,display:\"flex\",justifyContent:\"center\",alignItems:\"center\"},onClick:onClose,children:/*#__PURE__*/_jsx(\"img\",{src:src,style:{maxWidth:\"90%\",maxHeight:\"90%\",objectFit:\"contain\"},onClick:e=>e.stopPropagation()})}),document.body);};/**\n * @framerDisableUnlink\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerIntrinsicWidth 600\n * @framerIntrinsicHeight 600\n */export default function RichTextCarousel(props){const{richText,arrowImage=\"https://cdn-icons-png.freepik.com/512/1/1122.png\",imageSpacing,heightMode,transitionType,showFirstImageOnly,arrowSize,enableLightbox}=props;const[imageSrcs,setImageSrcs]=useState([]);const[currentIndex,setCurrentIndex]=useState(0);const[lightboxSrc,setLightboxSrc]=useState(null);useEffect(()=>{const extractImages=element=>{const images=[];const searchForImages=element=>{if(element.props&&element.props.children){React.Children.forEach(element.props.children,child=>{if(typeof child===\"object\"&&child.type===\"img\"){images.push(child.props.src);}else if(child.props&&child.props.children){searchForImages(child);}});}};searchForImages(element);return images;};if(richText&&richText.props&&Array.isArray(richText.props.children)){const images=extractImages(richText);setImageSrcs(images);}},[richText]);useEffect(()=>{if(imageSrcs.length&&currentIndex<0){setCurrentIndex(imageSrcs.length-1);}else if(imageSrcs.length&&currentIndex>=imageSrcs.length){setCurrentIndex(0);}},[currentIndex,imageSrcs.length]);const handleNext=()=>{if(!showFirstImageOnly){setCurrentIndex(prevIndex=>(prevIndex+1)%imageSrcs.length);}};const handlePrev=()=>{if(!showFirstImageOnly){setCurrentIndex(prevIndex=>(prevIndex-1+imageSrcs.length)%imageSrcs.length);}};const getImageStyle=()=>{switch(heightMode){case\"fit\":return{width:\"100%\",height:\"auto\",objectFit:\"contain\",backgroundColor:\"transparent\"};case\"fill\":return{width:\"100%\",height:\"100%\",objectFit:\"cover\",backgroundColor:\"transparent\"};case\"stretch\":return{width:\"100%\",height:\"100%\",objectFit:\"fill\",backgroundColor:\"transparent\"};default:return{width:\"100%\",height:\"auto\",objectFit:\"contain\",backgroundColor:\"transparent\"};}};const getTransition=()=>{switch(transitionType){case\"easeIn\":return{type:\"spring\",stiffness:100,damping:10};case\"easeOut\":return{type:\"tween\",ease:\"easeOut\",duration:.5};case\"linear\":return{type:\"tween\",ease:\"linear\",duration:.5};default:return{type:\"spring\",stiffness:100,damping:10};}};const displayedImages=showFirstImageOnly?[imageSrcs[0]]:imageSrcs;return /*#__PURE__*/_jsxs(Frame,{overflow:\"hidden\",position:\"relative\",style:{width:\"100%\",height:\"100%\",backgroundColor:\"transparent\"},children:[/*#__PURE__*/_jsx(motion.div,{style:{display:\"flex\",width:`${100*displayedImages.length}%`,height:\"100%\",flexDirection:\"row\",backgroundColor:\"transparent\",marginLeft:`-${imageSpacing/2}px`,marginRight:`-${imageSpacing/2}px`},animate:{x:`-${currentIndex*(100/displayedImages.length)}%`},transition:getTransition(),children:displayedImages.map((src,index)=>/*#__PURE__*/_jsx(\"div\",{style:{width:`calc(${100/displayedImages.length}% - ${imageSpacing}px)`,height:\"100%\",display:\"flex\",justifyContent:\"center\",alignItems:\"center\",backgroundColor:\"transparent\",paddingLeft:`${imageSpacing/2}px`,paddingRight:`${imageSpacing/2}px`},children:/*#__PURE__*/_jsx(\"img\",{src:src,style:{...getImageStyle(),cursor:enableLightbox?\"pointer\":\"default\"},onClick:()=>{if(enableLightbox){setLightboxSrc(src);}}})},index))}),!showFirstImageOnly&&currentIndex!==0&&/*#__PURE__*/_jsx(Frame,{width:arrowSize,height:arrowSize,top:\"50%\",left:\"16px\",background:\"transparent\",style:{backgroundImage:`url(${arrowImage})`,transform:\"rotate(180deg)\",backgroundSize:\"contain\",backgroundRepeat:\"no-repeat\",backgroundPosition:\"center\",cursor:\"pointer\",backgroundColor:\"transparent\"},onTap:handlePrev}),!showFirstImageOnly&&currentIndex!==displayedImages.length-1&&/*#__PURE__*/_jsx(Frame,{width:arrowSize,height:arrowSize,top:\"50%\",right:\"16px\",background:\"transparent\",style:{backgroundImage:`url(${arrowImage})`,backgroundSize:\"contain\",backgroundRepeat:\"no-repeat\",backgroundPosition:\"center\",cursor:\"pointer\",backgroundColor:\"transparent\"},onTap:handleNext}),enableLightbox&&lightboxSrc&&/*#__PURE__*/_jsx(Lightbox,{src:lightboxSrc,onClose:()=>setLightboxSrc(null)})]});}RichTextCarousel.defaultProps={richText:{},arrowImage:\"https://cdn-icons-png.freepik.com/512/1/1122.png\",imageSpacing:0,heightMode:\"fit\",transitionType:\"easeIn\",showFirstImageOnly:false,arrowSize:50,enableLightbox:true};addPropertyControls(RichTextCarousel,{richText:{title:\"Rich Text\",type:ControlType.RichText},arrowImage:{title:\"Arrow Image\",type:ControlType.Image,defaultValue:\"https://cdn-icons-png.freepik.com/512/1/1122.png\"},heightMode:{title:\"Height Mode\",type:ControlType.Enum,options:[\"fit\",\"fill\",\"stretch\"],optionTitles:[\"Fit\",\"Fill\",\"Stretch\"],defaultValue:\"fit\"},transitionType:{title:\"Transition\",type:ControlType.Enum,options:[\"easeIn\",\"easeOut\",\"linear\"],optionTitles:[\"Ease In\",\"Ease Out\",\"Linear\"],defaultValue:\"easeIn\"},showFirstImageOnly:{title:\"Show First Image Only\",type:ControlType.Boolean,defaultValue:false,enabledTitle:\"Yes\",disabledTitle:\"No\"},enableLightbox:{title:\"Lightbox\",type:ControlType.Boolean,defaultValue:true,enabledTitle:\"Yes\",disabledTitle:\"No\"},arrowSize:{title:\"Arrow Size\",type:ControlType.Number,defaultValue:50,min:10,max:100,unit:\"px\",description:\"v1.3 \\n [via SegmentUI](https://www.segmentUI.com)\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"RichTextCarousel\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"600\",\"framerIntrinsicHeight\":\"600\",\"framerDisableUnlink\":\"*\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Image_carousel.map"],"mappings":"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"}