{"version":3,"file":"HighResolutionPhoto.DudC2kWf.mjs","names":["useMemo"],"sources":["https:/framerusercontent.com/modules/ce7bi0UDuQfKP9crfMDk/thLMFLvLQrrMNFcAs2jx/HighResolutionPhoto.js"],"sourcesContent":["// User request: Create HighResolutionPhoto.tsx Framer React component for displaying original-resolution authentic photos. Expose image ControlType.ResponsiveImage accepts CMS object/string, alt ControlType.String, fit enum cover/contain default cover, position string default center. Render semantic img with resolved image.src or string ONLY (no srcSet to prevent lowres CMS thumbnails), loading lazy decoding async style width/height100% objectFit objectPosition. Root supports fixed/any sizing applies Framer style, overflow hidden, width/height100%. No dependencies. Empty image neutral nonzero fallback. Preserve supplied URL exact; do not rewrite src. Return component ID and control keys. This is to fix native CMS background seeming pixelated on 1048x480 campus photo from original4032px upload. Staff image stays CMS-bound. Do not alter other code files.\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{useMemo}from\"react\";import{addPropertyControls,ControlType}from\"framer\";/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function HighResolutionPhoto(props){const{image,alt,fit,imagePosition,position,style}=props;const resolvedFit=useMemo(()=>{return String(fit||\"cover\").toLowerCase()===\"contain\"?\"contain\":\"cover\";},[fit]);const resolvedSrc=useMemo(()=>{if(typeof image===\"string\")return image;return image?.src||\"\";},[image]);const resolvedAlt=useMemo(()=>{const manual=(alt||\"\").trim();if(manual.length>0)return manual;if(typeof image!==\"string\")return image?.alt||\"\";return\"\";},[alt,image]);const resolvedObjectPosition=useMemo(()=>{const fallback=\"center\";const layoutKeywords=new Set([\"static\",\"relative\",\"absolute\",\"fixed\",\"sticky\",\"inherit\",\"initial\",\"unset\",\"revert\"]);const candidate=String(imagePosition||position||\"\").trim().toLowerCase();if(!candidate||layoutKeywords.has(candidate))return fallback;return imagePosition||position||fallback;},[imagePosition,position]);const hasImage=resolvedSrc.trim().length>0;return /*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",width:\"100%\",height:\"100%\",overflow:\"hidden\",background:\"transparent\",...style},children:hasImage?/*#__PURE__*/_jsx(\"img\",{src:resolvedSrc,alt:resolvedAlt,loading:\"lazy\",decoding:\"async\",style:{width:\"100%\",height:\"100%\",objectFit:resolvedFit,objectPosition:resolvedObjectPosition,display:\"block\"}}):/*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":\"true\",style:{width:\"100%\",height:\"100%\",minHeight:24,background:\"#F5F5F5\"}})});}addPropertyControls(HighResolutionPhoto,{image:{type:ControlType.ResponsiveImage,title:\"Image\"},alt:{type:ControlType.String,title:\"Alt\",defaultValue:\"\"},fit:{type:ControlType.Enum,title:\"Fit\",options:[\"cover\",\"contain\"],optionTitles:[\"Cover\",\"Contain\"],defaultValue:\"cover\",displaySegmentedControl:true},position:{type:ControlType.String,title:\"Position\",defaultValue:\"center\"},imagePosition:{type:ControlType.String,title:\"Image Position\",defaultValue:\"\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"HighResolutionPhoto\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./HighResolutionPhoto.map"],"mappings":"0KAIG,SAAwB,EAAoB,EAAM,CAAC,GAAK,CAAC,QAAM,MAAI,MAAI,gBAAc,WAAS,SAAO,EAAY,EAAYA,MAAoB,OAAO,GAAK,OAAO,CAAC,CAAC,YAAY,IAAI,UAAU,UAAU,QAAU,CAAC,CAAG,CAAC,EAAQ,EAAYA,MAAgB,OAAO,GAAQ,SAAgB,EAAa,GAAO,KAAK,GAAK,CAAC,CAAK,CAAC,EAAQ,EAAYA,MAAY,CAAC,IAAM,GAAQ,GAAK,GAAA,CAAI,KAAK,EAAoF,OAA/E,EAAO,OAAO,EAAS,EAAU,OAAO,GAAQ,SAAqC,GAArB,GAAO,KAAK,EAAY,EAAE,CAAC,EAAI,CAAK,CAAC,EAAQ,EAAuBA,MAAY,CAAC,IAAM,EAAS,SAAe,EAAe,IAAI,IAAI,CAAC,SAAS,WAAW,WAAW,QAAQ,SAAS,UAAU,UAAU,QAAQ,QAAQ,CAAC,EAAQ,EAAU,OAAO,GAAe,GAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY,EAA+D,MAA1D,CAAC,GAAW,EAAe,IAAI,CAAS,EAAS,EAAgB,GAAe,GAAU,CAAS,EAAE,CAAC,EAAc,CAAQ,CAAC,EAAQ,EAAS,EAAY,KAAK,CAAC,CAAC,OAAO,EAAE,OAAoB,EAAK,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,MAAM,OAAO,OAAO,OAAO,SAAS,SAAS,WAAW,cAAc,GAAG,CAAK,EAAE,SAAS,EAAsB,EAAK,MAAM,CAAC,IAAI,EAAY,IAAI,EAAY,QAAQ,OAAO,SAAS,QAAQ,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,UAAU,EAAY,eAAe,EAAuB,QAAQ,OAAO,CAAC,CAAC,EAAe,EAAK,MAAM,CAAC,cAAc,OAAO,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,UAAU,GAAG,WAAW,SAAS,CAAC,CAAC,CAAC,CAAC,CAAE,iBAH90C,IAA2B,IAAoD,EAGgwC,EAAoB,EAAoB,CAAC,MAAM,CAAC,KAAK,EAAY,gBAAgB,MAAM,OAAO,EAAE,IAAI,CAAC,KAAK,EAAY,OAAO,MAAM,MAAM,aAAa,EAAE,EAAE,IAAI,CAAC,KAAK,EAAY,KAAK,MAAM,MAAM,QAAQ,CAAC,QAAQ,SAAS,EAAE,aAAa,CAAC,QAAQ,SAAS,EAAE,aAAa,QAAQ,wBAAwB,EAAI,EAAE,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,WAAW,aAAa,QAAQ,EAAE,cAAc,CAAC,KAAK,EAAY,OAAO,MAAM,iBAAiB,aAAa,EAAE,CAAC,CAAC"}