import { useEffect } from "react"; export function useEscapeClose(opened: boolean, onClose: () => void) { useEffect(() => { if (!opened) return; const onKeyDown = (e: KeyboardEvent) => { if (e.key === "Escape" && !e.defaultPrevented) onClose(); }; document.addEventListener("keydown", onKeyDown); return () => document.removeEventListener("keydown", onKeyDown); }, [opened, onClose]); }