import React, { useCallback } from 'react'; import { clsx } from 'clsx'; import * as BaseToast from '@radix-ui/react-toast'; import { forwardRef } from '../utils/react'; import { Alert, type AlertProps } from '../alert'; import { Box } from '../box'; import { CloseIcon } from '../icons'; import * as css from './toast.css'; export interface ToastProps extends Omit, css.ToastVariants, AlertProps { closable?: boolean; closeAltText?: string; } export type ToastStatus = AlertProps['status']; export const Toast = forwardRef<'li', ToastProps>(function Toast( { as = 'li', horizontal, vertical, children, className, closable, closeAltText = 'Close', size, status, ...rest }, ref, ) { const containerClass = clsx( className, css.toast({ size, horizontal, vertical }), ); const renderCloseIcon = useCallback( () => ( ), [closeAltText], ); return ( {children} ); });