{"version":3,"file":"Dynamic_Image.Cwx0QS8d.mjs","names":["React.forwardRef","React.useState"],"sources":["https:/framerusercontent.com/modules/F2dD1KLCGpUA66De6ZXC/M0bw4rniOeXr8zzdmhMR/g_tfEglJK.js","https:/framerusercontent.com/modules/15N2A4F2RIOfLVxlEGtQ/eNbENjoa4s62niUrzKw7/Dynamic_Image.js"],"sourcesContent":["// Generated by Framer (6ca5d98)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask='url(\\'data:image/svg+xml,<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 1 0 L 1 2 L 9.59 2 L 0 11.59 L 1.41 13 L 11 3.41 L 11 12 L 13 12 L 13 0 Z\" fill=\"var(--esondr, rgb(0,0,0))\" height=\"13px\" id=\"vzQo0tt9J\" transform=\"translate(5.5 5.5)\" width=\"13px\"/></svg>\\') alpha no-repeat center / auto var(--framer-icon-mask-mode, add), var(--framer-icon-mask, none)';const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(motion.div,{...rest,layoutId:layoutId,ref:ref}):/*#__PURE__*/_jsx(\"div\",{...rest,ref:ref});});const getProps=({fill,height,id,width,...props})=>{return{...props,K5AAorpEW:fill??props.K5AAorpEW??\"rgb(0, 0, 0)\"};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,K5AAorpEW,...restProps}=getProps(props);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-9X8zn\",className),layoutId:layoutId,ref:ref,style:{\"--esondr\":K5AAorpEW,...style}});});const css=[`.framer-9X8zn { -webkit-mask: ${mask}; aspect-ratio: 1; background-color: var(--esondr); mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"K5AAorpEW\":\"fill\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Arrow Outward\",\"color\":{\"type\":\"variable\",\"value\":\"esondr\"},\"set\":{\"localId\":\"vectorSet/DnLsXE00W\",\"id\":\"DnLsXE00W\",\"moduleId\":\"JIScivAkNLgXrcOUxHXD\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-9X8zn\");Icon.displayName=\"Arrow Outward\";export default Icon;addPropertyControls(Icon,{K5AAorpEW:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Fill\",type:ControlType.Color}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"true\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerVariables\":\"{\\\"K5AAorpEW\\\":\\\"fill\\\"}\",\"framerContractVersion\":\"1\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicWidth\":\"24\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerVector\":\"{\\\"name\\\":\\\"Arrow Outward\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"esondr\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/DnLsXE00W\\\",\\\"id\\\":\\\"DnLsXE00W\\\",\\\"moduleId\\\":\\\"JIScivAkNLgXrcOUxHXD\\\"}}\",\"framerIntrinsicHeight\":\"24\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// AdvancedEmbedImage.tsx\n// Framer Code Component\n// Paste into Framer > Assets > Code\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";export default function AdvancedEmbedImage(props){const{imageUrl,alt,thumbHash,fallbackImage,shimmer,objectFit,borderRadius,backgroundColor}=props;const[loaded,setLoaded]=React.useState(false);const[failed,setFailed]=React.useState(false);const finalSrc=failed||!imageUrl?.trim()?fallbackImage||\"\":imageUrl;React.useEffect(()=>{setLoaded(false);setFailed(false);},[imageUrl]);return /*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",width:\"100%\",height:\"100%\",overflow:\"hidden\",borderRadius,background:backgroundColor},children:[!loaded&&thumbHash&&/*#__PURE__*/_jsx(\"img\",{src:thumbHash,alt:\"\",\"aria-hidden\":true,style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",objectFit:\"cover\",filter:\"blur(20px)\",transform:\"scale(1.1)\"}}),!loaded&&shimmer&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,overflow:\"hidden\",background:\"linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.18) 50%, rgba(255,255,255,0) 100%)\",animation:\"shimmer 1.5s infinite\"}}),finalSrc&&/*#__PURE__*/_jsx(\"img\",{src:finalSrc,alt:alt,loading:\"lazy\",onLoad:()=>setLoaded(true),onError:()=>{setFailed(true);setLoaded(true);},style:{width:\"100%\",height:\"100%\",objectFit,display:\"block\",opacity:loaded?1:0,transition:\"opacity 250ms ease\"}}),!finalSrc&&/*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",color:\"rgba(255,255,255,0.5)\",fontSize:14,fontFamily:\"Inter\"},children:\"No Image\"}),/*#__PURE__*/_jsx(\"style\",{children:`\n                @keyframes shimmer {\n                    0% {\n                        transform: translateX(-100%);\n                    }\n                    100% {\n                        transform: translateX(100%);\n                    }\n                }\n            `})]});}AdvancedEmbedImage.defaultProps={imageUrl:\"\",alt:\"\",thumbHash:\"\",fallbackImage:\"\",shimmer:true,objectFit:\"cover\",borderRadius:0,backgroundColor:\"#111111\"};addPropertyControls(AdvancedEmbedImage,{imageUrl:{type:ControlType.String,title:\"Image URL\"},alt:{type:ControlType.String,title:\"Alt Text\"},thumbHash:{type:ControlType.Image,title:\"ThumbHash\"},fallbackImage:{type:ControlType.Image,title:\"Fallback\"},shimmer:{type:ControlType.Boolean,title:\"Shimmer\",defaultValue:true},objectFit:{type:ControlType.Enum,title:\"Fit\",options:[\"cover\",\"contain\",\"fill\"],optionTitles:[\"Cover\",\"Contain\",\"Fill\"]},borderRadius:{type:ControlType.Number,title:\"Radius\",min:0,max:100,unit:\"px\"},backgroundColor:{type:ControlType.Color,title:\"Background\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"AdvancedEmbedImage\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Dynamic_Image.map"],"mappings":"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"}