import { X } from 'lucide-react'; import { ReactNode } from 'react'; import { Box } from './Box'; import { IconButton } from './IconButton'; import { Surface } from './Surface'; import { Text } from './Text'; export interface ToastProps { children: ReactNode; title?: string; onClose: () => void; icon?: ReactNode; intent?: 'primary' | 'success' | 'warning' | 'critical'; isVisible: boolean; isExiting: boolean; progress?: number; } export const Toast = ({ children, title, onClose, icon, intent = 'primary', isVisible, isExiting, progress }: ToastProps) => { const intentColors = { primary: 'var(--ui-color-intent-primary)', success: 'var(--ui-color-intent-success)', warning: 'var(--ui-color-intent-warning)', critical: 'var(--ui-color-intent-critical)', }; return ( {progress !== undefined && ( )} {icon && ( {icon} )} {title && {title}} {children} ); };