import { useEffect, useCallback } from 'react'; interface ModalOverlayProps { open: boolean; onClose: () => void; width?: string; className?: string; children: React.ReactNode; } export function ModalOverlay({ open, onClose, width = 'max-w-lg', className = '', children }: ModalOverlayProps) { const handleKeyDown = useCallback( (e: KeyboardEvent) => { if (e.key === 'Escape') onClose(); }, [onClose], ); useEffect(() => { if (open) { document.addEventListener('keydown', handleKeyDown); } return () => { document.removeEventListener('keydown', handleKeyDown); }; }, [open, handleKeyDown]); if (!open) return null; return (