import { cn } from '../../lib/utils'; import * as ToastPrimitives from '@radix-ui/react-toast'; import { cva } from 'class-variance-authority'; import { X } from 'lucide-react'; import React from 'react'; const ToastProvider = ToastPrimitives.Provider; const ToastViewport = React.forwardRef(({ className, ...props }, ref) => ( )); ToastViewport.displayName = ToastPrimitives.Viewport.displayName; const toastVariants = cva( 'data-[swipe=move]:transition-none group relative pointer-events-auto flex w-full items-center justify-between space-x-4 overflow-hidden rounded-2xl border-0 p-6 pr-8 shadow-2xl transition-all bg-white/80 backdrop-blur-lg ring-2 ring-green-300/40 drop-shadow-xl scale-95 animate-toast-in data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=open]:slide-in-from-bottom-full data-[state=closed]:slide-out-to-right-full', { variants: { variant: { default: 'bg-background border', destructive: 'group destructive border-destructive bg-destructive text-destructive-foreground', }, }, defaultVariants: { variant: 'default', }, }, ); const Toast = React.forwardRef(({ className, variant, ...props }, ref) => { return ( ); }); Toast.displayName = ToastPrimitives.Root.displayName; const ToastAction = React.forwardRef(({ className, ...props }, ref) => ( )); ToastAction.displayName = ToastPrimitives.Action.displayName; const ToastClose = React.forwardRef(({ className, ...props }, ref) => ( )); ToastClose.displayName = ToastPrimitives.Close.displayName; const ToastTitle = React.forwardRef(({ className, ...props }, ref) => ( 🎊 {props.children} )); ToastTitle.displayName = ToastPrimitives.Title.displayName; const ToastDescription = React.forwardRef(({ className, ...props }, ref) => ( ✨ {props.children} )); ToastDescription.displayName = ToastPrimitives.Description.displayName; export { Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, };