import * as React from 'react'; import styles from './Drawer.module.scss'; import { Icon } from '../../shared/ui/Icon/Icon'; interface IDrawerProps { title: string; onClose: () => void; children: React.ReactNode; } // Выезжающая справа панель: открывается по клику на строку таблицы заявок, // внутри — заявка в режиме просмотра/согласования. Закрывается крестиком, // кликом по затемнению и клавишей Esc. export const Drawer: React.FC = ({ title, onClose, children }) => { React.useEffect(() => { const onKeyDown = (e: KeyboardEvent): void => { if (e.key === 'Escape') onClose(); }; window.addEventListener('keydown', onKeyDown); return () => window.removeEventListener('keydown', onKeyDown); }, [onClose]); return (
{/* Затемнение — не кнопка (внутри панели свои интерактивные элементы), поэтому клик обрабатываем на этом слое напрямую. */} ); };