{"version":3,"file":"EXLABProjectImage.DxLv-5Pa.mjs","names":["useState","useRef"],"sources":["https:/framerusercontent.com/modules/0RLJZtGb5weVQpeXIoiA/1V2mXMPqWXA5pe3UD3ag/EXLABProjectImage.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useRef,useState}from\"react\";import{createPortal}from\"react-dom\";import{addPropertyControls,ControlType,useLocaleInfo}from\"framer\";/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerIntrinsicWidth 600\n * @framerIntrinsicHeight 400\n */export default function EXLABProjectImage({client=\"\",image,fallbackImageUrl=\"\",fit=\"cover\",title=\"\",spaceType=\"\",position=\"center\",sizes=\"(max-width: 809px) 100vw, 50vw\",eager=false,expandable=false,style}){const photo=typeof image===\"string\"?{src:image,srcSet:undefined,alt:undefined}:image?{...image,src:image.src||image.url}:fallbackImageUrl?{src:fallbackImageUrl,srcSet:undefined,alt:undefined}:undefined;const{activeLocale}=useLocaleInfo();const english=activeLocale?.code?.toLowerCase().startsWith(\"en\");const[open,setOpen]=useState(false);const dialog=useRef(null);const trigger=useRef(null);const englishTypes={\"전시 부스\":\"exhibition booth\",\"브랜드 체험 공간\":\"brand experience space\",\"팝업스토어\":\"pop-up space\",\"팬 페스티벌\":\"fan festival\",\"미디어 쇼케이스\":\"media showcase\"};const localType=english?englishTypes[spaceType]||spaceType:spaceType;const suppliedAlt=photo?.alt?.trim()||\"\";const alt=suppliedAlt.includes(\" - EXLAB\")||suppliedAlt.includes(\" - 익스랩 EXLAB\")?suppliedAlt:[client,title||suppliedAlt,english?\"exhibition booth design and build - EXLAB\":\"전시 부스 디자인 및 시공 - 익스랩 EXLAB\"].filter(Boolean).join(\" \");useEffect(()=>{if(!open)return;const element=dialog.current;if(element&&!element.open)element.showModal();return()=>{if(element?.open)element.close();};},[open]);const close=()=>{setOpen(false);trigger.current?.focus();};const picture=/*#__PURE__*/_jsx(\"img\",{src:photo?.src,srcSet:photo?.srcSet,sizes:sizes,alt:alt,loading:eager?\"eager\":\"lazy\",decoding:\"async\",draggable:false,style:{display:\"block\",width:\"100%\",height:\"100%\",objectFit:fit,objectPosition:position,borderRadius:\"inherit\"}});return /*#__PURE__*/_jsxs(\"div\",{style:{...style,position:\"relative\",width:\"100%\",height:\"100%\",overflow:\"hidden\",borderRadius:\"inherit\"},children:[expandable?/*#__PURE__*/_jsx(\"button\",{ref:trigger,type:\"button\",\"aria-haspopup\":\"dialog\",\"aria-label\":(english?\"Enlarge photo: \":\"사진 확대: \")+alt,onClick:()=>setOpen(true),style:{display:\"block\",width:\"100%\",height:\"100%\",padding:0,border:0,background:\"none\",borderRadius:\"inherit\",cursor:\"zoom-in\"},children:picture}):picture,open&&typeof document!==\"undefined\"&&/*#__PURE__*/createPortal(/*#__PURE__*/_jsxs(\"dialog\",{ref:dialog,\"aria-label\":(english?\"Project photo: \":\"프로젝트 사진: \")+title,onKeyDownCapture:event=>{if(event.key===\"Escape\"){event.preventDefault();event.stopPropagation();close();}},onCancel:event=>{event.preventDefault();close();},onClose:()=>setOpen(false),onClick:event=>{if(event.target===event.currentTarget)close();},style:{position:\"fixed\",inset:0,width:\"100vw\",height:\"100dvh\",maxWidth:\"none\",maxHeight:\"none\",margin:0,padding:0,border:0,background:\"rgba(0,0,0,.96)\",color:\"#fff\",overflow:\"hidden\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",alignItems:\"center\",justifyContent:\"center\",width:\"100%\",height:\"100%\",boxSizing:\"border-box\",padding:\"72px 24px 60px\"},onClick:event=>{if(event.target===event.currentTarget)close();},children:/*#__PURE__*/_jsx(\"img\",{src:photo?.src,srcSet:photo?.srcSet,sizes:\"100vw\",alt:alt,style:{display:\"block\",maxWidth:\"100%\",maxHeight:\"100%\",objectFit:\"contain\"}})}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:close,autoFocus:true,\"aria-label\":english?\"Close photo\":\"사진 닫기\",style:{position:\"absolute\",top:16,right:16,width:44,height:44,border:\"1px solid #777\",borderRadius:22,background:\"#151515\",color:\"#fff\",fontSize:28,lineHeight:\"40px\",cursor:\"pointer\"},children:\"\\xd7\"}),/*#__PURE__*/_jsx(\"p\",{style:{position:\"absolute\",bottom:16,left:24,right:24,margin:0,fontFamily:\"Pretendard, sans-serif\",fontSize:14,lineHeight:1.5,textAlign:\"center\"},children:title})]}),document.body)]});}addPropertyControls(EXLABProjectImage,{client:{type:ControlType.String,title:\"Client\",defaultValue:\"\"},fallbackImageUrl:{type:ControlType.String,title:\"Fallback image URL\",defaultValue:\"\"},fit:{type:ControlType.Enum,title:\"Fit\",options:[\"cover\",\"contain\"],defaultValue:\"cover\"},image:{type:ControlType.ResponsiveImage,title:\"Image\"},title:{type:ControlType.String,title:\"Alt from title\",defaultValue:\"\"},spaceType:{type:ControlType.String,title:\"Space type\",defaultValue:\"\"},position:{type:ControlType.String,title:\"Position\",defaultValue:\"center\"},sizes:{type:ControlType.String,title:\"Image sizes\",defaultValue:\"(max-width: 809px) 100vw, 50vw\"},eager:{type:ControlType.Boolean,title:\"Load immediately\",defaultValue:false},expandable:{type:ControlType.Boolean,title:\"Photo lightbox\",defaultValue:false}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"EXLABProjectImage\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"600\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"400\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./EXLABProjectImage.map"],"mappings":"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"}