{"version":3,"file":"BrowserLeaveMessage.CGAddv8X.mjs","names":["useRef"],"sources":["https:/framerusercontent.com/modules/KIlR1f1khUWiPe75VAQl/Of5SUE1rtIYmPV54ssLK/BrowserLeaveMessage.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useEffect,useRef}from\"react\";/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n * @framerIntrinsicWidth 1\n * @framerIntrinsicHeight 1\n */export default function BrowserLeaveMessage(props){const{message=\"Are you sure you want to leave?\",enabled=true,debugMode=false}=props;const handlerRef=useRef(null);useEffect(()=>{if(typeof window===\"undefined\")return;if(handlerRef.current){window.removeEventListener(\"beforeunload\",handlerRef.current);handlerRef.current=null;}if(!enabled)return;const handleBeforeUnload=e=>{e.preventDefault();e.returnValue=message;return message;};handlerRef.current=handleBeforeUnload;window.addEventListener(\"beforeunload\",handleBeforeUnload);return()=>{if(handlerRef.current){window.removeEventListener(\"beforeunload\",handlerRef.current);handlerRef.current=null;}};},[message,enabled]);const isCanvas=RenderTarget.current()===RenderTarget.canvas;if(isCanvas){return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",backgroundColor:debugMode?\"rgba(255, 0, 0, 0.2)\":\"transparent\",border:debugMode?\"1px dashed red\":\"none\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",fontSize:10,fontFamily:\"system-ui, -apple-system, sans-serif\",color:debugMode?\"#FF0000\":\"transparent\",userSelect:\"none\"},children:debugMode?\"Leave Message\":\"\"});}return /*#__PURE__*/_jsx(\"div\",{style:{position:\"fixed\",width:\"1px\",height:\"1px\",opacity:0,pointerEvents:\"none\",userSelect:\"none\",zIndex:-9999},\"aria-hidden\":\"true\"});}addPropertyControls(BrowserLeaveMessage,{message:{type:ControlType.String,title:\"Leave Message\",defaultValue:\"Are you sure you want to leave?\",placeholder:\"Enter custom message\",description:\"The message shown when user tries to leave the page\"},enabled:{type:ControlType.Boolean,title:\"Enabled\",defaultValue:true,enabledTitle:\"Active\",disabledTitle:\"Inactive\",description:\"Toggle the leave message on/off\"},debugMode:{type:ControlType.Boolean,title:\"Debug Mode\",defaultValue:false,enabledTitle:\"Show\",disabledTitle:\"Hide\",description:\"Show component outline in canvas for positioning\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"BrowserLeaveMessage\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"1\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerIntrinsicWidth\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./BrowserLeaveMessage.map"],"mappings":"sMAKG,SAAwB,EAAoB,EAAM,CAAC,GAAK,CAAC,UAAQ,kCAAkC,UAAQ,GAAK,YAAU,IAAO,EAAY,EAAWA,EAAO,IAAI,EAAg9B,OAA98B,MAAc,CAAqJ,GAA1I,IAAS,SAAmB,AAAqF,EAAW,WAAzE,EAAO,oBAAoB,eAAe,EAAW,OAAO,EAAqB,MAAS,CAAC,GAAQ,OAAO,IAAM,EAAmB,IAAI,EAAE,eAAe,EAAE,EAAE,YAAY,EAAe,GAA2G,MAAjG,GAAW,QAAQ,EAAmB,EAAO,iBAAiB,eAAe,CAAkB,MAAY,CAAC,AAAqF,EAAW,WAAzE,EAAO,oBAAoB,eAAe,EAAW,OAAO,EAAqB,KAAM,CAAE,EAAE,CAAC,EAAQ,CAAO,CAAC,EAAiB,EAAa,QAAQ,IAAI,EAAa,OAAwC,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,gBAAgB,EAAU,uBAAuB,cAAc,OAAO,EAAU,iBAAiB,OAAO,QAAQ,OAAO,WAAW,SAAS,eAAe,SAAS,SAAS,GAAG,WAAW,uCAAuC,MAAM,EAAU,UAAU,cAAc,WAAW,MAAM,EAAE,SAAS,EAAU,gBAAgB,EAAE,CAAC,EAAuB,EAAK,MAAM,CAAC,MAAM,CAAC,SAAS,QAAQ,MAAM,MAAM,OAAO,MAAM,QAAQ,EAAE,cAAc,OAAO,WAAW,OAAO,OAAO,KAAK,EAAE,cAAc,MAAM,CAAC,CAAE,qBALnvC,IAAiE,IAAoC,EAK+oC,EAAoB,EAAoB,CAAC,QAAQ,CAAC,KAAK,EAAY,OAAO,MAAM,gBAAgB,aAAa,kCAAkC,YAAY,uBAAuB,YAAY,qDAAqD,EAAE,QAAQ,CAAC,KAAK,EAAY,QAAQ,MAAM,UAAU,aAAa,GAAK,aAAa,SAAS,cAAc,WAAW,YAAY,iCAAiC,EAAE,UAAU,CAAC,KAAK,EAAY,QAAQ,MAAM,aAAa,aAAa,GAAM,aAAa,OAAO,cAAc,OAAO,YAAY,kDAAkD,CAAC,CAAC"}