import { useEffect } from "react"; interface SlideOutPanelProps { isOpen: boolean; onClose: () => void; title: string; children: React.ReactNode; } export function SlideOutPanel({ isOpen, onClose, title, children, }: SlideOutPanelProps) { // Close on Escape key useEffect(() => { function handleKeyDown(e: KeyboardEvent) { if (e.key === "Escape") onClose(); } if (isOpen) { document.addEventListener("keydown", handleKeyDown); return () => document.removeEventListener("keydown", handleKeyDown); } }, [isOpen, onClose]); return ( <> {/* Backdrop */}
{/* Panel */}