// shadcn Toast — minimal CSS-driven; appears bottom-right when the // `[data-state="open"]` attribute is on the root. Apps set + clear // the attribute via tiny client JS or via form-redirect query // params (`?toast=saved`). Sonner is the canonical shadcn dep — // drop in when richer behaviour matters. import type { HTMLAttributes, ReactNode } from 'react' import { cn } from '../cn' interface ToastProps extends HTMLAttributes { readonly variant?: 'default' | 'destructive' | 'success' } const variantClasses = { default: 'bg-card text-card-foreground border', destructive: 'bg-destructive text-white border-destructive', success: 'bg-emerald-600 text-white border-emerald-600', } as const export const Toast = ({ variant = 'default', className, children, ...props }: ToastProps): ReactNode => (
{children}
) export const ToastTitle = ({ className, ...props }: HTMLAttributes): ReactNode => (

) export const ToastDescription = ({ className, ...props }: HTMLAttributes): ReactNode => (

)