{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/UhjBpDWttOSR7OOTHdVR/OcJMJULOwSmGcRX1wvf7/CloudinaryImage.js"],
  "sourcesContent": ["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useState,useEffect,useRef}from\"react\";const unoptimizedURLPattern=/https:\\/\\/res\\.cloudinary\\.com\\/zapier-media\\/image\\/upload\\/v\\d+\\//;function getFileExtension(url){const extension=url.split(\".\").pop().toLowerCase();return extension;}// Helper to generate a low-quality placeholder URL\nfunction getLowQualityUrl(url){if(unoptimizedURLPattern.test(url)){return url.replace(\"/upload/v\",\"/upload/w_50,e_blur:1000,q_10/v\");}return url;}// Helper to generate optimized URL\nfunction getOptimizedUrl(url,quality=\"auto\"){if(unoptimizedURLPattern.test(url)){return url.replace(\"/upload/v\",`/upload/f_auto,q_${quality}/v`);}return url;}export function CloudinaryImage(props){const[isLoaded,setIsLoaded]=useState(!props.lazyLoad);const[isInView,setIsInView]=useState(!props.lazyLoad);const imageRef=useRef(null);const fileType=getFileExtension(props.url);const isVideo=fileType===\"mp4\";const commonStyles={maxWidth:\"100%\",display:\"block\",borderRadius:props.borderRadius,objectFit:props.fit,objectPosition:`${props.horizontalPosition}% ${props.verticalPosition}%`,width:\"100%\",height:\"100%\",transition:\"opacity 0.3s ease-in-out\"};useEffect(()=>{if(!props.lazyLoad||!imageRef.current)return;const observer=new IntersectionObserver(([entry])=>{setIsInView(entry.isIntersecting);},{rootMargin:\"50px\"});observer.observe(imageRef.current);return()=>observer.disconnect();},[props.lazyLoad]);if(isVideo){return /*#__PURE__*/_jsx(\"video\",{ref:imageRef,src:isInView?getOptimizedUrl(props.url):\"\",style:{...commonStyles,opacity:isInView?1:0},autoPlay:props.autoPlay,loop:props.loop,muted:props.muted,controls:props.controls,preload:props.lazyLoad?\"none\":\"auto\",onLoadedData:()=>setIsLoaded(true)});}return /*#__PURE__*/_jsxs(\"div\",{ref:imageRef,style:{position:\"relative\",width:\"100%\",height:\"100%\"},children:[props.lazyLoad&&!isLoaded&&/*#__PURE__*/_jsx(\"img\",{src:getLowQualityUrl(props.url),alt:\"\",style:{...commonStyles,position:\"absolute\",top:0,left:0,filter:\"blur(10px)\"}}),(!props.lazyLoad||isInView)&&/*#__PURE__*/_jsx(\"img\",{src:getOptimizedUrl(props.url),alt:props.alt,style:{...commonStyles,opacity:isLoaded?1:0},loading:props.lazyLoad?\"lazy\":\"eager\",onLoad:()=>setIsLoaded(true)})]});}addPropertyControls(CloudinaryImage,{url:{type:ControlType.String,title:\"URL\"},alt:{type:ControlType.String,title:\"Alt Text\",defaultValue:\"Image\"},lazyLoad:{type:ControlType.Boolean,title:\"Lazy Load\",defaultValue:true},borderRadius:{type:ControlType.BorderRadius},fit:{type:ControlType.Enum,title:\"Fit\",options:[\"fill\",\"contain\",\"cover\",\"none\",\"scale-down\"],optionTitles:[\"Fill\",\"Contain\",\"Cover\",\"None\",\"Scale Down\"],defaultValue:\"cover\"},horizontalPosition:{type:ControlType.Number,title:\"Horizontal Position\",defaultValue:50,min:0,max:100,unit:\"%\"},verticalPosition:{type:ControlType.Number,title:\"Vertical Position\",defaultValue:50,min:0,max:100,unit:\"%\"},// Video-specific controls that only appear for video files\nautoPlay:{type:ControlType.Boolean,title:\"Auto Play\",defaultValue:true,hidden:props=>getFileExtension(props.url)!==\"mp4\"},loop:{type:ControlType.Boolean,title:\"Loop\",defaultValue:true,hidden:props=>getFileExtension(props.url)!==\"mp4\"},muted:{type:ControlType.Boolean,title:\"Muted\",defaultValue:true,hidden:props=>getFileExtension(props.url)!==\"mp4\"},controls:{type:ControlType.Boolean,title:\"Show Controls\",defaultValue:false,hidden:props=>getFileExtension(props.url)!==\"mp4\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"CloudinaryImage\":{\"type\":\"reactComponent\",\"name\":\"CloudinaryImage\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CloudinaryImage.map"],
  "mappings": "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",
  "names": ["unoptimizedURLPattern", "getFileExtension", "url", "getLowQualityUrl", "getOptimizedUrl", "quality", "CloudinaryImage", "props", "isLoaded", "setIsLoaded", "ye", "isInView", "setIsInView", "imageRef", "pe", "isVideo", "commonStyles", "ue", "observer", "entry", "p", "u", "addPropertyControls", "ControlType"]
}
