import cx from 'classnames'; import Portal from '../portal'; import DrawerBackdrop from './components/DrawerBackdrop'; import DrawerContent from './components/DrawerContent'; import { DrawerProps, DrawerSize } from './types'; import { useDrawerExiting } from './hooks/useDrawerExiting'; const drawerSizeWidthMap: Record = { default: '728px', small: '364px', }; export const Drawer: React.FC = ({ onClose, title, children, className, visible, maskClosable, closeOnESC, mask, footer, placement, closeBtn, size, ...rest }) => { let width: string | number = drawerSizeWidthMap[size] || '45%'; if ('width' in rest) { width = rest.width; } const height = 'height' in rest ? rest.height : '45%'; const { exiting, onExited } = useDrawerExiting(visible); return (
{children}
); }; Drawer.defaultProps = { className: '', visible: false, maskClosable: false, closeOnESC: true, mask: true, footer: null, title: null, onClose: () => {}, placement: 'right', closeBtn: true, }; export default Drawer;