{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/6SFQOOr7pyMlZBzgKSs8/m2QVSRgfdp6eWmcFy5IG/Image_carousel.js", "ssg:https://framerusercontent.com/modules/acyfryoLnzUc8ncOZ9er/M7ov47nGdDCzTZIajiaM/Light_box.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", "import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useState,useEffect}from\"react\";export function CMSContentImageLightboxWithSmoothTransition(Component){return props=>{const[lightboxDisplay,setLightboxDisplay]=useState(false);const[selectedImage,setSelectedImage]=useState(\"\");const[opacity,setOpacity]=useState(0);const handleImageClick=src=>{setSelectedImage(src);setLightboxDisplay(true);};useEffect(()=>{if(lightboxDisplay){setTimeout(()=>setOpacity(1),10);}},[lightboxDisplay]);const closeLightbox=()=>{setOpacity(0);setTimeout(()=>setLightboxDisplay(false),300);};return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(Component,{...props,onClick:e=>{if(e.target.tagName===\"IMG\"){handleImageClick(e.target.src);}},style:{cursor:\"pointer\"}}),/*#__PURE__*/_jsx(\"style\",{children:`\n                    .${props.className} img {\n                        cursor: zoom-in;\n                    }\n                    .lightbox-backdrop {\n                        position: fixed;\n                        top: 0;\n                        left: 0;\n                        width: 100vw;\n                        height: 100vh;\n                        background-color: rgba(0, 0, 0, 0.8);\n                        display: flex;\n                        align-items: center;\n                        justify-content: center;\n                        z-index: 1000;\n                        opacity: 0;\n                        transition: opacity 0.3s ease;\n                    }\n                    .lightbox-image {\n                        max-height: 90%;\n                        max-width: 90%;\n                    }\n                `}),lightboxDisplay&&/*#__PURE__*/_jsx(\"div\",{className:\"lightbox-backdrop\",onClick:closeLightbox,style:{opacity:opacity},children:/*#__PURE__*/_jsx(\"img\",{src:selectedImage,className:\"lightbox-image\",alt:\"Fullscreen\"})})]});};}\nexport const __FramerMetadata__ = {\"exports\":{\"CMSContentImageLightboxWithSmoothTransition\":{\"type\":\"reactHoc\",\"name\":\"CMSContentImageLightboxWithSmoothTransition\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Light_box.map"],
  "mappings": "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",
  "names": ["Lightbox", "src", "onClose", "ue", "Ha", "p", "e", "RichTextCarousel", "props", "richText", "arrowImage", "imageSpacing", "heightMode", "transitionType", "showFirstImageOnly", "arrowSize", "enableLightbox", "imageSrcs", "setImageSrcs", "ye", "currentIndex", "setCurrentIndex", "lightboxSrc", "setLightboxSrc", "extractImages", "element", "images", "searchForImages", "j", "child", "handleNext", "prevIndex", "handlePrev", "getImageStyle", "getTransition", "displayedImages", "u", "Frame", "motion", "index", "addPropertyControls", "ControlType", "CMSContentImageLightboxWithSmoothTransition", "Component", "props", "lightboxDisplay", "setLightboxDisplay", "ye", "selectedImage", "setSelectedImage", "opacity", "setOpacity", "handleImageClick", "src", "ue", "closeLightbox", "u", "l", "p", "e"]
}
