{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/j6q60aDGhhk3ddqFTfxA/1s0d4rshMeFqRsreRnZa/mLCTghXYp.js", "ssg:https://framerusercontent.com/modules/9bBX7V2ghaJtcJQT1W82/IWwlcnO7AMnXJbZZmBqy/AspectRatioImage.js"],
  "sourcesContent": ["// Generated by Framer (915daba)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"CUSTOM;Helvetica Neue Bold\"]);export const fonts=[{explicitInter:true,fonts:[{family:\"Helvetica Neue Bold\",source:\"custom\",url:\"https://framerusercontent.com/assets/mYRv3yStgRwdSpkitvIDdG0K1DY.woff2\"}]}];export const css=['.framer-POelS .framer-styles-preset-hy86wt:not(.rich-text-wrapper), .framer-POelS .framer-styles-preset-hy86wt.rich-text-wrapper h2 { --framer-font-family: \"Helvetica Neue Bold\", \"Helvetica Neue Bold Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 72px; --framer-font-style: normal; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-letter-spacing: -2.16px; --framer-line-height: 1em; --framer-paragraph-spacing: 40px; --framer-text-alignment: start; --framer-text-color: var(--token-9b041f7e-161b-40f4-a363-c8ecd5d0492c, #232323); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }','@media (max-width: 1279px) and (min-width: 820px) { .framer-POelS .framer-styles-preset-hy86wt:not(.rich-text-wrapper), .framer-POelS .framer-styles-preset-hy86wt.rich-text-wrapper h2 { --framer-font-family: \"Helvetica Neue Bold\", \"Helvetica Neue Bold Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 56px; --framer-font-style: normal; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-letter-spacing: -1.68px; --framer-line-height: 1em; --framer-paragraph-spacing: 40px; --framer-text-alignment: start; --framer-text-color: var(--token-9b041f7e-161b-40f4-a363-c8ecd5d0492c, #232323); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }','@media (max-width: 819px) and (min-width: 0px) { .framer-POelS .framer-styles-preset-hy86wt:not(.rich-text-wrapper), .framer-POelS .framer-styles-preset-hy86wt.rich-text-wrapper h2 { --framer-font-family: \"Helvetica Neue Bold\", \"Helvetica Neue Bold Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 40px; --framer-font-style: normal; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-letter-spacing: -0.4px; --framer-line-height: 1em; --framer-paragraph-spacing: 40px; --framer-text-alignment: start; --framer-text-color: var(--token-9b041f7e-161b-40f4-a363-c8ecd5d0492c, #232323); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }'];export const className=\"framer-POelS\";\nexport const __FramerMetadata__ = {\"exports\":{\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}", "import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";/**\n * AspectRatioImage Component\n * Displays an image with a maintained aspect ratio that scales properly in Framer\n */export default function AspectRatioImage(props){const{image,aspectRatioPreset,customRatioWidth,customRatioHeight,objectFit,borderRadius,borderWidth,borderColor,borderStyle,shadow}=props;// Parse the aspect ratio from the preset\nconst getAspectRatio=()=>{if(aspectRatioPreset===\"custom\"){return customRatioWidth/customRatioHeight;}// Parse the preset string (e.g., \"16:9\" -> 16/9)\nconst[width,height]=aspectRatioPreset.split(\":\").map(Number);return width/height;};const ratio=getAspectRatio();// Container style - fills the Framer frame\nconst containerStyle={width:\"100%\",height:\"100%\",position:\"relative\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",borderRadius,boxShadow:shadow,border:borderWidth?`${borderWidth}px ${borderStyle} ${borderColor}`:\"none\",overflow:\"hidden\"};// Calculate the inner container size to maintain aspect ratio\nconst getInnerContainerStyle=()=>{// Use CSS aspect-ratio for modern browsers, with fallback\nreturn{width:\"100%\",height:\"100%\",position:\"relative\",aspectRatio:ratio,maxWidth:\"100%\",maxHeight:\"100%\"};};// Image style - fills the aspect ratio container\nconst imageStyle={width:\"100%\",height:\"100%\",objectFit,objectPosition:\"center\"};// Placeholder style\nconst placeholderStyle={width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",backgroundColor:\"#f0f0f0\",color:\"#888888\",fontFamily:\"sans-serif\",fontSize:\"14px\"};return /*#__PURE__*/_jsx(\"div\",{style:containerStyle,children:/*#__PURE__*/_jsx(\"div\",{style:getInnerContainerStyle(),children:image?/*#__PURE__*/_jsx(\"img\",{src:image,style:imageStyle,alt:\"Aspect ratio controlled image\"}):/*#__PURE__*/_jsx(\"div\",{style:placeholderStyle,children:aspectRatioPreset===\"custom\"?`${customRatioWidth}:${customRatioHeight}`:aspectRatioPreset})})});}// Default properties\nAspectRatioImage.defaultProps={aspectRatioPreset:\"1:1\",customRatioWidth:1,customRatioHeight:1,objectFit:\"cover\",borderRadius:0,borderWidth:0,borderColor:\"#000000\",borderStyle:\"solid\",shadow:\"none\"};// Property controls for Framer\naddPropertyControls(AspectRatioImage,{image:{type:ControlType.Image,title:\"Image\"},aspectRatioPreset:{type:ControlType.Enum,title:\"Aspect Ratio\",options:[\"1:1\",\"16:9\",\"4:3\",\"3:2\",\"5:4\",\"2:1\",\"9:16\",\"custom\"],optionTitles:[\"1:1 (Square)\",\"16:9 (Widescreen)\",\"4:3 (Standard)\",\"3:2 (Classic)\",\"5:4 (Medium Format)\",\"2:1 (Panorama)\",\"9:16 (Portrait)\",\"Custom\"],defaultValue:\"1:1\"},customRatioWidth:{type:ControlType.Number,title:\"Width Ratio\",defaultValue:1,min:1,step:1,displayStepper:true,hidden(props){return props.aspectRatioPreset!==\"custom\";}},customRatioHeight:{type:ControlType.Number,title:\"Height Ratio\",defaultValue:1,min:1,step:1,displayStepper:true,hidden(props){return props.aspectRatioPreset!==\"custom\";}},objectFit:{type:ControlType.Enum,title:\"Object Fit\",options:[\"cover\",\"contain\",\"fill\",\"none\"],optionTitles:[\"Cover\",\"Contain\",\"Fill\",\"None\"],defaultValue:\"cover\"},borderRadius:{type:ControlType.Number,title:\"Border Radius\",defaultValue:0,min:0,max:100,step:1,displayStepper:true,unit:\"px\"},borderWidth:{type:ControlType.Number,title:\"Border Width\",defaultValue:0,min:0,max:20,step:1,displayStepper:true,unit:\"px\"},borderColor:{type:ControlType.Color,title:\"Border Color\",defaultValue:\"#000000\",hidden(props){return props.borderWidth===0;}},borderStyle:{type:ControlType.Enum,title:\"Border Style\",options:[\"solid\",\"dashed\",\"dotted\"],optionTitles:[\"Solid\",\"Dashed\",\"Dotted\"],defaultValue:\"solid\",hidden(props){return props.borderWidth===0;}},shadow:{type:ControlType.String,title:\"Box Shadow\",defaultValue:\"none\",placeholder:\"0px 4px 8px rgba(0, 0, 0, 0.1)\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"AspectRatioImage\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./AspectRatioImage.map"],
  "mappings": "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",
  "names": ["fontStore", "fonts", "css", "className", "AspectRatioImage", "props", "image", "aspectRatioPreset", "customRatioWidth", "customRatioHeight", "objectFit", "borderRadius", "borderWidth", "borderColor", "borderStyle", "shadow", "ratio", "width", "height", "containerStyle", "getInnerContainerStyle", "imageStyle", "placeholderStyle", "p", "addPropertyControls", "ControlType"]
}
