import { ReactNode, useCallback } from 'react'; import * as Dialog from '@radix-ui/react-dialog'; import { Scrollable } from './Scrollable'; import { cn } from '../libs'; import { memo } from '../utils'; export interface ModalProps { isOpen: boolean; onClose: () => void; className?: string; children?: ReactNode; } const Component = ({ isOpen, onClose, className, children }: ModalProps) => { const onOpenChange = useCallback( (open: boolean) => { if (open) return; onClose(); }, [onClose] ); return ( {children} ); }; export const Modal = memo(Component);