{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/3gOPxmzYuWxOpdW2sccE/e3RDKfjHK2dPbYz7zvLs/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\";export function ImageCarousel(props){const{richText,arrowImage=\"https://cdn-icons-png.freepik.com/512/1/1122.png\",imageSpacing,heightMode,transitionType,showFirstImageOnly,arrowSize}=props;const[imageSrcs,setImageSrcs]=useState([]);const[currentIndex,setCurrentIndex]=useState(0);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()})},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})]});}ImageCarousel.defaultProps={richText:{},arrowImage:\"https://cdn-icons-png.freepik.com/512/1/1122.png\",imageSpacing:0,heightMode:\"fit\",transitionType:\"easeIn\",showFirstImageOnly:false,arrowSize:\"50px\"};addPropertyControls(ImageCarousel,{richText:{title:\"Rich Text\",// @ts-expect-error \u2013\u00A0Internal\ntype: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\"},arrowSize:{title:\"Arrow Size\",type:ControlType.Number,defaultValue:50,min:10,max:100,unit:\"px\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"ImageCarousel\":{\"type\":\"reactComponent\",\"name\":\"ImageCarousel\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Image_Carousel.map"],
  "mappings": "oGAA8N,SAASA,EAAcC,EAAM,CAAC,GAAK,CAAC,SAAAC,EAAS,WAAAC,EAAW,mDAAmD,aAAAC,EAAa,WAAAC,EAAW,eAAAC,EAAe,mBAAAC,EAAmB,UAAAC,CAAS,EAAEP,EAAW,CAACQ,EAAUC,CAAY,EAAEC,EAAS,CAAC,CAAC,EAAO,CAACC,EAAaC,CAAe,EAAEF,EAAS,CAAC,EAAEG,EAAU,IAAI,CAAC,IAAMC,EAAcC,GAAS,CAAC,IAAMC,EAAO,CAAC,EAAQC,EAAgBF,GAAS,CAAIA,EAAQ,OAAOA,EAAQ,MAAM,UAAgBG,EAAS,QAAQH,EAAQ,MAAM,SAASI,GAAO,CAAI,OAAOA,GAAQ,UAAUA,EAAM,OAAO,MAAOH,EAAO,KAAKG,EAAM,MAAM,GAAG,EAAWA,EAAM,OAAOA,EAAM,MAAM,UAAUF,EAAgBE,CAAK,CAAG,CAAC,CAAG,EAAE,OAAAF,EAAgBF,CAAO,EAASC,CAAO,EAAE,GAAGf,GAAUA,EAAS,OAAO,MAAM,QAAQA,EAAS,MAAM,QAAQ,EAAE,CAAC,IAAMe,EAAOF,EAAcb,CAAQ,EAAEQ,EAAaO,CAAM,EAAG,EAAE,CAACf,CAAQ,CAAC,EAAEY,EAAU,IAAI,CAAIL,EAAU,QAAQG,EAAa,EAAGC,EAAgBJ,EAAU,OAAO,CAAC,EAAWA,EAAU,QAAQG,GAAcH,EAAU,QAAQI,EAAgB,CAAC,CAAG,EAAE,CAACD,EAAaH,EAAU,MAAM,CAAC,EAAE,IAAMY,EAAW,IAAI,CAAKd,GAAoBM,EAAgBS,IAAYA,EAAU,GAAGb,EAAU,MAAM,CAAG,EAAQc,EAAW,IAAI,CAAKhB,GAAoBM,EAAgBS,IAAYA,EAAU,EAAEb,EAAU,QAAQA,EAAU,MAAM,CAAG,EAAQe,EAAc,IAAI,CAAC,OAAOnB,EAAW,CAAC,IAAI,MAAM,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,UAAU,UAAU,gBAAgB,aAAa,EAAE,IAAI,OAAO,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,UAAU,QAAQ,gBAAgB,aAAa,EAAE,IAAI,UAAU,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,UAAU,OAAO,gBAAgB,aAAa,EAAE,QAAQ,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,UAAU,UAAU,gBAAgB,aAAa,CAAE,CAAC,EAAQoB,EAAc,IAAI,CAAC,OAAOnB,EAAe,CAAC,IAAI,SAAS,MAAM,CAAC,KAAK,SAAS,UAAU,IAAI,QAAQ,EAAE,EAAE,IAAI,UAAU,MAAM,CAAC,KAAK,QAAQ,KAAK,UAAU,SAAS,EAAE,EAAE,IAAI,SAAS,MAAM,CAAC,KAAK,QAAQ,KAAK,SAAS,SAAS,EAAE,EAAE,QAAQ,MAAM,CAAC,KAAK,SAAS,UAAU,IAAI,QAAQ,EAAE,CAAE,CAAC,EAAQoB,EAAgBnB,EAAmB,CAACE,EAAU,CAAC,CAAC,EAAEA,EAAU,OAAoBkB,EAAMC,EAAM,CAAC,SAAS,SAAS,SAAS,WAAW,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,gBAAgB,aAAa,EAAE,SAAS,CAAcC,EAAKC,EAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,OAAO,MAAM,GAAG,IAAIJ,EAAgB,UAAU,OAAO,OAAO,cAAc,MAAM,gBAAgB,cAAc,WAAW,IAAItB,EAAa,MAAM,YAAY,IAAIA,EAAa,KAAK,EAAE,QAAQ,CAAC,EAAE,IAAIQ,GAAc,IAAIc,EAAgB,UAAU,EAAE,WAAWD,EAAc,EAAE,SAASC,EAAgB,IAAI,CAACK,EAAIC,IAAqBH,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,QAAQ,IAAIH,EAAgB,aAAatB,OAAkB,OAAO,OAAO,QAAQ,OAAO,eAAe,SAAS,WAAW,SAAS,gBAAgB,cAAc,YAAY,GAAGA,EAAa,MAAM,aAAa,GAAGA,EAAa,KAAK,EAAE,SAAsByB,EAAK,MAAM,CAAC,IAAIE,EAAI,MAAMP,EAAc,CAAC,CAAC,CAAC,EAAEQ,CAAK,CAAC,CAAC,CAAC,EAAE,CAACzB,GAAoBK,IAAe,GAAgBiB,EAAKD,EAAM,CAAC,MAAMpB,EAAU,OAAOA,EAAU,IAAI,MAAM,KAAK,OAAO,WAAW,cAAc,MAAM,CAAC,gBAAgB,OAAOL,KAAc,UAAU,iBAAiB,eAAe,UAAU,iBAAiB,YAAY,mBAAmB,SAAS,OAAO,UAAU,gBAAgB,aAAa,EAAE,MAAMoB,CAAU,CAAC,EAAE,CAAChB,GAAoBK,IAAec,EAAgB,OAAO,GAAgBG,EAAKD,EAAM,CAAC,MAAMpB,EAAU,OAAOA,EAAU,IAAI,MAAM,MAAM,OAAO,WAAW,cAAc,MAAM,CAAC,gBAAgB,OAAOL,KAAc,eAAe,UAAU,iBAAiB,YAAY,mBAAmB,SAAS,OAAO,UAAU,gBAAgB,aAAa,EAAE,MAAMkB,CAAU,CAAC,CAAC,CAAC,CAAC,CAAE,CAACrB,EAAc,aAAa,CAAC,SAAS,CAAC,EAAE,WAAW,mDAAmD,aAAa,EAAE,WAAW,MAAM,eAAe,SAAS,mBAAmB,GAAM,UAAU,MAAM,EAAEiC,EAAoBjC,EAAc,CAAC,SAAS,CAAC,MAAM,YAC79H,KAAKkC,EAAY,QAAQ,EAAE,WAAW,CAAC,MAAM,cAAc,KAAKA,EAAY,MAAM,aAAa,kDAAkD,EAAE,WAAW,CAAC,MAAM,cAAc,KAAKA,EAAY,KAAK,QAAQ,CAAC,MAAM,OAAO,SAAS,EAAE,aAAa,CAAC,MAAM,OAAO,SAAS,EAAE,aAAa,KAAK,EAAE,eAAe,CAAC,MAAM,aAAa,KAAKA,EAAY,KAAK,QAAQ,CAAC,SAAS,UAAU,QAAQ,EAAE,aAAa,CAAC,UAAU,WAAW,QAAQ,EAAE,aAAa,QAAQ,EAAE,mBAAmB,CAAC,MAAM,wBAAwB,KAAKA,EAAY,QAAQ,aAAa,GAAM,aAAa,MAAM,cAAc,IAAI,EAAE,UAAU,CAAC,MAAM,aAAa,KAAKA,EAAY,OAAO,aAAa,GAAG,IAAI,GAAG,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC",
  "names": ["ImageCarousel", "props", "richText", "arrowImage", "imageSpacing", "heightMode", "transitionType", "showFirstImageOnly", "arrowSize", "imageSrcs", "setImageSrcs", "ye", "currentIndex", "setCurrentIndex", "ue", "extractImages", "element", "images", "searchForImages", "j", "child", "handleNext", "prevIndex", "handlePrev", "getImageStyle", "getTransition", "displayedImages", "u", "Frame", "p", "motion", "src", "index", "addPropertyControls", "ControlType"]
}
