{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/aFxgcRN1U8OOQcaOyEIy/9ULEd2344I1UtvSa9otI/Remote_image.js"],
  "sourcesContent": ["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useState}from\"react\";/**\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n */export default function Remote_image(props){const[attempt,setAttempt]=useState(0);const[imageError,setImageError]=useState(false);const[loading,setLoading]=useState(true);// Determine slug: original or with underscores\nconst currentSlug=(()=>{const original=props.slug||\"\";if(attempt===0)return original;if(original.includes(\"-\"))return original.replace(/-/g,\"_\");if(original.includes(\"_\"))return original.replace(/_/g,\"-\");return original// if neither, just repeat (won\u2019t help, but harmless)\n;})();const imgSource=prepare(props.image,currentSlug,props.routeSlugs,props.folder,props.useThumbnail);const handleImageError=()=>{const original=props.slug||\"\";const canRetry=attempt===0&&(original.includes(\"-\")||original.includes(\"_\"));if(canRetry){setAttempt(1);}else{setImageError(true);}};const onLoaded=()=>setLoading(false);const spinnerStyle={border:\"3px solid transparent\",borderTop:\"3px solid #BBBBBB\",borderRadius:\"50%\",width:\"40px\",height:\"40px\",animation:loading?\"spin 1s linear infinite\":\"none\",position:\"absolute\",top:\"50%\",left:\"50%\",transform:\"translate(-50%, -50%)\"};const spinnerAnimation=`\n    @keyframes spin {\n      0% { transform: rotate(0deg); }\n      100% { transform: rotate(360deg); }\n    }`;return /*#__PURE__*/_jsxs(\"div\",{style:{width:props.width||\"auto\",height:props.height||\"auto\",borderRadius:props.roundCorners?props.cornerRadius||\"25px\":\"0px\",display:\"flex\",justifyContent:\"center\",alignItems:\"center\",overflow:\"hidden\",position:\"relative\"},children:[/*#__PURE__*/_jsx(\"style\",{children:spinnerAnimation}),loading&&/*#__PURE__*/_jsx(\"div\",{style:spinnerStyle}),/*#__PURE__*/_jsx(\"img\",{src:imgSource,onError:handleImageError,onLoad:onLoaded,style:{width:props.needsWidth?\"100%\":undefined,height:\"100%\",objectFit:\"contain\",borderRadius:props.roundCorners?props.cornerRadius||\"25px\":\"0px\",opacity:imageError?0:1}})]});}function prepare(link,slug,routeSlugs,folder,useThumbnail){if(!slug){slug=routeSlugs.slice(1,-1).split(\",\")[0].trim();}if(slug.startsWith(\"ru/\")){slug=slug.substring(3);}// Clean up trailing slashes (like iOS logic)\nconst cleanUrl=(()=>{try{const trimmed=link.trim();if(trimmed.endsWith(\"/\")&&!trimmed.includes(\"selcdn\")){return trimmed.slice(0,-1);}return trimmed;}catch{return link;}})();const filename=(()=>{try{let base=\"\";if(cleanUrl.startsWith(\"http\")){const url=new URL(cleanUrl);const lastComponent=url.pathname.split(\"/\").pop()||\"\";base=lastComponent.replace(/\\.[^/.]+$/,\"\");}else{const lastComponent=cleanUrl.split(\"/\").pop()||\"\";base=lastComponent.replace(/\\.[^/.]+$/,\"\");}return base+(useThumbnail?\"_thumbnail\":\"_regular\");}catch{return\"image\"+(useThumbnail?\"_thumbnail\":\"_regular\");}})();const folderPath=folder?`${folder}/`:\"\";return`https://d2v34uqyvfxwo4.cloudfront.net/${folderPath}${slug}/${filename}.jpg`;}function encodeFilename(name){return name.replace(/ /g,\"+\").split(\"\").map(char=>{const safe=/[a-zA-Z0-9()_\\-+]/.test(char);return safe?char:encodeURIComponent(char);}).join(\"\");}addPropertyControls(Remote_image,{image:{type:ControlType.String},height:{type:ControlType.String},width:{type:ControlType.String},slug:{type:ControlType.String},routeSlugs:{type:ControlType.String},folder:{type:ControlType.String},useThumbnail:{type:ControlType.Boolean},roundCorners:{type:ControlType.Boolean},cornerRadius:{type:ControlType.String},needsWidth:{type:ControlType.Boolean}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Remote_image\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"auto\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Remote_image.map"],
  "mappings": "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",
  "names": ["Remote_image", "props", "attempt", "setAttempt", "ye", "imageError", "setImageError", "loading", "setLoading", "currentSlug", "original", "imgSource", "prepare", "handleImageError", "onLoaded", "spinnerStyle", "u", "p", "link", "slug", "routeSlugs", "folder", "useThumbnail", "cleanUrl", "trimmed", "filename", "base", "addPropertyControls", "Remote_image", "ControlType"]
}
