import * as ToastPrimitive from "@radix-ui/react-toast"; import { forwardRef, type ComponentPropsWithoutRef, type ElementRef } from "react"; import { toastActionVariants, toastCloseVariants, toastVariants, toastViewportVariants } from "./toast.variants"; import { cn } from "../lib/cn"; import type { VariantProps } from "../lib/cva"; import { createDataAttributes, createSlot } from "../lib/contracts"; import { CloseIcon } from "../lib/icons"; export const ToastProvider = ToastPrimitive.Provider; export const ToastViewport = forwardRef< ElementRef, ComponentPropsWithoutRef >(function ToastViewport({ className, ...props }, ref) { return ( ); }); export type ToastProps = ComponentPropsWithoutRef & VariantProps; export const Toast = forwardRef< ElementRef, ToastProps >(function Toast({ className, variant, ...props }, ref) { return ( ); }); export const ToastTitle = forwardRef< ElementRef, ComponentPropsWithoutRef >(function ToastTitle({ className, ...props }, ref) { return ( ); }); export const ToastDescription = forwardRef< ElementRef, ComponentPropsWithoutRef >(function ToastDescription({ className, ...props }, ref) { return ( ); }); export const ToastAction = forwardRef< ElementRef, ComponentPropsWithoutRef >(function ToastAction({ className, ...props }, ref) { return ( ); }); export const ToastClose = forwardRef< ElementRef, ComponentPropsWithoutRef >(function ToastClose({ children, className, ...props }, ref) { return ( {children ?? ( )} ); });