{"version":3,"file":"Overlay.BQYuQu5b.mjs","names":["useState"],"sources":["https:/framerusercontent.com/modules/AiSozbxBNyaPD0wc4JTN/kX1H4BqVMqnkASzNvWcl/Overlay.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{useState}from\"react\";/**\n * Full Viewport Overlay with Dismiss\n *\n * Click on the background to dismiss the overlay\n * Add this to your overlay background element\n *\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */export function FullViewportOverlayDismiss(Component){return props=>{const[isVisible,setIsVisible]=useState(true);const handleBackgroundClick=e=>{// Only dismiss if clicking directly on the background (not on children)\nif(e.target===e.currentTarget){setIsVisible(false);// Optional: Add a callback if provided\nif(props.onDismiss){props.onDismiss();}}};if(!isVisible)return null;return /*#__PURE__*/_jsx(Component,{...props,onClick:handleBackgroundClick,style:{...props.style,position:\"fixed\",top:0,left:0,width:\"100vw\",height:\"100vh\",margin:0,padding:0,cursor:\"default\"}});};}/**\n * Full Viewport Overlay with Dismiss and Center Content\n *\n * Centers the form/content and dismisses on background click\n */export function FullViewportOverlayCenterDismiss(Component){return props=>{const[isVisible,setIsVisible]=useState(true);const handleBackgroundClick=e=>{if(e.target===e.currentTarget){setIsVisible(false);if(props.onDismiss){props.onDismiss();}}};if(!isVisible)return null;return /*#__PURE__*/_jsx(Component,{...props,onClick:handleBackgroundClick,style:{...props.style,position:\"fixed\",top:0,left:0,width:\"100vw\",height:\"100vh\",margin:0,padding:0,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",cursor:\"default\"}});};}/**\n * Prevent Click Propagation (for form content)\n *\n * Apply this to your form/modal content to prevent dismissal\n * when clicking inside the form\n */export function PreventDismiss(Component){return props=>{const handleClick=e=>{e.stopPropagation();};return /*#__PURE__*/_jsx(Component,{...props,onClick:handleClick,style:{...props.style,cursor:\"default\"}});};}/**\n * Full Viewport Overlay with Animation\n *\n * Includes fade-out animation when dismissing\n */export function FullViewportOverlayAnimatedDismiss(Component){return props=>{const[isVisible,setIsVisible]=useState(true);const[isAnimating,setIsAnimating]=useState(false);const handleBackgroundClick=e=>{if(e.target===e.currentTarget){setIsAnimating(true);setTimeout(()=>{setIsVisible(false);if(props.onDismiss){props.onDismiss();}},200)// Match animation duration\n;}};if(!isVisible)return null;return /*#__PURE__*/_jsx(Component,{...props,onClick:handleBackgroundClick,style:{...props.style,position:\"fixed\",top:0,left:0,width:\"100vw\",height:\"100vh\",margin:0,padding:0,cursor:\"default\",opacity:isAnimating?0:1,transition:\"opacity 0.2s ease-out\"}});};}\nexport const __FramerMetadata__ = {\"exports\":{\"PreventDismiss\":{\"type\":\"reactHoc\",\"name\":\"PreventDismiss\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"FullViewportOverlayDismiss\":{\"type\":\"reactHoc\",\"name\":\"FullViewportOverlayDismiss\",\"annotations\":{\"framerSupportedLayoutHeight\":\"any\",\"framerSupportedLayoutWidth\":\"any\",\"framerContractVersion\":\"1\"}},\"FullViewportOverlayCenterDismiss\":{\"type\":\"reactHoc\",\"name\":\"FullViewportOverlayCenterDismiss\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"FullViewportOverlayAnimatedDismiss\":{\"type\":\"reactHoc\",\"name\":\"FullViewportOverlayAnimatedDismiss\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Overlay.map"],"mappings":"kHAQG,SAAgB,EAA2B,EAAU,CAAC,MAAO,IAAO,CAAC,GAAK,CAAC,EAAU,GAAcA,EAAS,GAAK,CAAO,EAAsB,GAAG,CACjJ,EAAE,SAAS,EAAE,gBAAe,EAAa,GAAM,CAC/C,EAAM,WAAW,EAAM,WAAW,GAA+B,OAAtB,EAA0C,EAAK,EAAU,CAAC,GAAG,EAAM,QAAQ,EAAsB,MAAM,CAAC,GAAG,EAAM,MAAM,SAAS,QAAQ,IAAI,EAAE,KAAK,EAAE,MAAM,QAAQ,OAAO,QAAQ,OAAO,EAAE,QAAQ,EAAE,OAAO,UAAU,CAAC,CAAC,CAAvM,uBAVpB,IAA4B"}