{"version":3,"file":"ModalControl.TpRYNckk.mjs","names":["useState","__legacyOverrideHOC_DataObserverContext","_jsx"],"sources":["https:/framerusercontent.com/modules/2tuIF0YTxIOaP8uzWRpP/s0j2Sg20o1rTY5ADtxli/ModalControl.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{Data}from\"framer\";import{useEffect,useState}from\"react\";// 전역 상태\nconst modalState=Data({visible:true});export function ModalLogic(){// ✅ 상태 변화 감지용 렌더 트리거\nconst[,forceUpdate]=useState(0);useEffect(()=>{const onKeyDown=e=>{if(e.key===\"Escape\"){modalState.visible=false;forceUpdate(Math.random())// 🔁 강제 리렌더링\n;}};window.addEventListener(\"keydown\",onKeyDown);return()=>window.removeEventListener(\"keydown\",onKeyDown);},[]);// ✅ 상태가 바뀔 때 다시 렌더되도록 setInterval로 감지\nuseEffect(()=>{const interval=setInterval(()=>{forceUpdate(Math.random());},100);return()=>clearInterval(interval);},[]);return{style:{position:\"fixed\",top:0,left:0,width:\"100%\",height:\"100vh\",background:\"rgba(0, 0, 0, 0.7)\",zIndex:1e3,display:modalState.visible?\"flex\":\"none\",justifyContent:\"center\",alignItems:\"center\"}};}export function OpenModal(){return{onClick:()=>{modalState.visible=true;}};}export function CloseModal(){return{onClick:()=>{modalState.visible=false;// ❌ 여기서는 forceUpdate 불가 → ModalLogic이 다시 렌더돼야 함\n}};}import{useContext as __legacyOverrideHOC_useContext}from\"react\";import{DataObserverContext as __legacyOverrideHOC_DataObserverContext}from\"framer\";export function withModalLogic(C){return props=>{__legacyOverrideHOC_useContext(__legacyOverrideHOC_DataObserverContext);return _jsx(C,{...props,...ModalLogic(props)});};}withModalLogic.displayName=\"ModalLogic\";export function withOpenModal(C){return props=>{__legacyOverrideHOC_useContext(__legacyOverrideHOC_DataObserverContext);return _jsx(C,{...props,...OpenModal(props)});};}withOpenModal.displayName=\"OpenModal\";export function withCloseModal(C){return props=>{__legacyOverrideHOC_useContext(__legacyOverrideHOC_DataObserverContext);return _jsx(C,{...props,...CloseModal(props)});};}withCloseModal.displayName=\"CloseModal\";\nexport const __FramerMetadata__ = {\"exports\":{\"withCloseModal\":{\"type\":\"reactHoc\",\"name\":\"withCloseModal\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"CloseModal\":{\"type\":\"override\",\"name\":\"CloseModal\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ModalLogic\":{\"type\":\"override\",\"name\":\"ModalLogic\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withOpenModal\":{\"type\":\"reactHoc\",\"name\":\"withOpenModal\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"OpenModal\":{\"type\":\"override\",\"name\":\"OpenModal\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withModalLogic\":{\"type\":\"reactHoc\",\"name\":\"withModalLogic\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ModalControl.map"],"mappings":"mTACsC,SAAgB,GAAY,CAClE,GAAK,EAAE,GAAaA,EAAS,EAAE,CAE0F,OAFzF,MAAc,CAAC,IAAM,EAAU,GAAG,CAAI,EAAE,MAAM,WAAU,EAAW,QAAQ,GAAM,EAAY,KAAK,QAAQ,CAAC,GAC1F,OAA7C,EAAO,iBAAiB,UAAU,EAAU,KAAW,EAAO,oBAAoB,UAAU,EAAU,EAAG,EAAE,CAAC,CAChH,MAAc,CAAC,IAAM,EAAS,gBAAgB,CAAC,EAAY,KAAK,QAAQ,CAAC,EAAG,IAAI,CAAC,UAAU,cAAc,EAAS,EAAG,EAAE,CAAC,CAAO,CAAC,MAAM,CAAC,SAAS,QAAQ,IAAI,EAAE,KAAK,EAAE,MAAM,OAAO,OAAO,QAAQ,WAAW,qBAAqB,OAAO,IAAI,QAAQ,EAAW,QAAQ,OAAO,OAAO,eAAe,SAAS,WAAW,SAAS,CAAC,CAAE,SAAgB,GAAW,CAAC,MAAM,CAAC,YAAY,CAAC,EAAW,QAAQ,IAAO,CAAE,SAAgB,GAAY,CAAC,MAAM,CAAC,YAAY,CAAC,EAAW,QAAQ,IACld,CAAqJ,SAAgB,EAAe,EAAE,CAAC,MAAO,KAAQ,EAA+BC,EAAwC,CAAQC,EAAK,EAAE,CAAC,GAAG,EAAM,GAAG,EAAW,EAAM,CAAC,CAAC,EAA4C,SAAgB,EAAc,EAAE,CAAC,MAAO,KAAQ,EAA+BD,EAAwC,CAAQC,EAAK,EAAE,CAAC,GAAG,EAAM,GAAG,EAAU,EAAM,CAAC,CAAC,EAA0C,SAAgB,EAAe,EAAE,CAAC,MAAO,KAAQ,EAA+BD,EAAwC,CAAQC,EAAK,EAAE,CAAC,GAAG,EAAM,GAAG,EAAW,EAAM,CAAC,CAAC,yBALrrB,IAAyB,IAAsC,CACpG,EAAW,EAAK,CAAC,QAAQ,GAAK,CAAC,CAI6R,EAAe,YAAY,aAAsL,EAAc,YAAY,YAAuL,EAAe,YAAY"}