{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "toast",
  "type": "registry:component",
  "title": "Toast",
  "description": "Temporary notification messages with action support.",
  "dependencies": [
    "@vllnt/ui@^0.2.1"
  ],
  "registryDependencies": [],
  "files": [
    {
      "path": "registry/default/toast/toast.tsx",
      "content": "\"use client\";\n\nimport * as React from \"react\";\n\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"@vllnt/ui\";\n\nexport type ToastProps = {\n  variant?: \"default\" | \"destructive\";\n} & React.HTMLAttributes<HTMLDivElement>;\n\nexport type ToastActionElement = {} & React.ReactElement;\n\nconst toastVariants = cva(\n  \"group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full\",\n  {\n    defaultVariants: {\n      variant: \"default\",\n    },\n    variants: {\n      variant: {\n        default: \"border bg-background text-foreground\",\n        destructive:\n          \"destructive border-destructive bg-destructive text-destructive-foreground\",\n      },\n    },\n  },\n);\n\nconst Toast = React.forwardRef<\n  HTMLDivElement,\n  ToastProps & VariantProps<typeof toastVariants>\n>(({ className, variant, ...props }, reference) => (\n  <div\n    className={cn(toastVariants({ variant }), className)}\n    ref={reference}\n    {...props}\n  />\n));\nToast.displayName = \"Toast\";\n\nconst ToastAction = React.forwardRef<\n  HTMLButtonElement,\n  React.ComponentPropsWithoutRef<\"button\"> & { altText?: string }\n>(({ altText, className, ...props }, reference) => (\n  <button\n    className={cn(\n      \"inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors hover:bg-secondary focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive\",\n      className,\n    )}\n    ref={reference}\n    type=\"button\"\n    {...props}\n  />\n));\nToastAction.displayName = \"ToastAction\";\n\nconst ToastClose = React.forwardRef<\n  HTMLButtonElement,\n  React.ComponentPropsWithoutRef<\"button\">\n>(({ className, ...props }, reference) => (\n  <button\n    className={cn(\n      \"absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600\",\n      className,\n    )}\n    data-toast-close=\"true\"\n    ref={reference}\n    type=\"button\"\n    {...props}\n  >\n    <span className=\"sr-only\">Close</span>✕\n  </button>\n));\nToastClose.displayName = \"ToastClose\";\n\nconst ToastTitle = React.forwardRef<\n  HTMLDivElement,\n  React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, reference) => (\n  <div\n    className={cn(\"text-sm font-semibold\", className)}\n    ref={reference}\n    {...props}\n  />\n));\nToastTitle.displayName = \"ToastTitle\";\n\nconst ToastDescription = React.forwardRef<\n  HTMLDivElement,\n  React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, reference) => (\n  <div\n    className={cn(\"text-sm opacity-90\", className)}\n    ref={reference}\n    {...props}\n  />\n));\nToastDescription.displayName = \"ToastDescription\";\n\nexport { Toast, ToastAction, ToastClose, ToastDescription, ToastTitle };\n",
      "type": "registry:component"
    }
  ],
  "version": "0.2.1",
  "stability": "stable"
}
