{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"toast-01","type":"registry:component","title":"Basic Toast Notifications","description":"Basic toast notification component showcasing simple toast configurations with minimal content. Features three toast types: simple message, with icon, and with description. Perfect for applications requiring straightforward notification experiences with clean, minimal design and basic functionality.","dependencies":["lucide-react","sonner"],"registryDependencies":["button","card","sonner","toast-utils","toast-provider"],"files":[{"path":"src/registry/blocks/application/feedback/toasts/toast-01.tsx","content":"\"use client\";\n\nimport { CheckCircle } from \"lucide-react\";\nimport { toast } from \"sonner\";\nimport { cn } from \"@/registry/lib/utils\";\nimport { Button } from \"@/registry/ui/button\";\nimport { Card, CardContent } from \"@/registry/ui/card\";\n\nexport interface Toast01Props {\n  className?: string;\n}\n\nconst content: {\n  header: {\n    title: string;\n    subtitle: string;\n  };\n  toasts: {\n    basic: {\n      title: string;\n      buttonText: string;\n      description: string;\n    };\n    withIcon: {\n      title: string;\n      buttonText: string;\n      description: string;\n    };\n    withDescription: {\n      title: string;\n      buttonText: string;\n      description: string;\n      toastDescription: string;\n    };\n  };\n} = {\n  header: {\n    title: \"Basic Toasts\",\n    subtitle:\n      \"Simple toast notifications with minimal content and basic configurations\",\n  },\n  toasts: {\n    basic: {\n      title: \"Simple Message\",\n      buttonText: \"Basic Toast\",\n      description: \"A simple toast with just a message\",\n    },\n    withIcon: {\n      title: \"With Icon\",\n      buttonText: \"With Icon\",\n      description: \"Toast with an icon for visual context\",\n    },\n    withDescription: {\n      title: \"With Description\",\n      buttonText: \"With Description\",\n      description: \"Toast with additional description text\",\n      toastDescription: \"Sunday, December 03, 2023 at 9:00 AM\",\n    },\n  },\n};\n\nexport function Toast01({ className }: Toast01Props) {\n  const showBasicToast = () => {\n    toast(\"Event has been created\");\n  };\n\n  const showBasicWithIcon = () => {\n    toast(\"Event has been created\", {\n      icon: <CheckCircle className=\"h-4 w-4\" />,\n    });\n  };\n\n  const showBasicWithDescription = () => {\n    toast(\"Event has been created\", {\n      description: content.toasts.withDescription.toastDescription,\n    });\n  };\n\n  return (\n    <div\n      className={cn(\"w-full max-w-4xl mx-auto\", className)}\n      data-testid=\"basic-toasts-container\"\n    >\n      <div className=\"text-center space-y-2 mb-8\">\n        <h1 className=\"text-3xl font-bold\">{content.header.title}</h1>\n        <p className=\"text-muted-foreground\">{content.header.subtitle}</p>\n      </div>\n\n      <Card>\n        <CardContent className=\"p-6\">\n          <div className=\"space-y-4\">\n            <div\n              className=\"grid grid-cols-1 md:grid-cols-3 gap-4\"\n              data-testid=\"toast-buttons-grid\"\n            >\n              <div className=\"space-y-2\" data-testid=\"basic-toast-section\">\n                <h4 className=\"font-medium\">{content.toasts.basic.title}</h4>\n                <Button\n                  onClick={showBasicToast}\n                  variant=\"outline\"\n                  className=\"w-full bg-transparent\"\n                  data-testid=\"basic-toast-button\"\n                >\n                  {content.toasts.basic.buttonText}\n                </Button>\n                <p className=\"text-sm text-muted-foreground\">\n                  {content.toasts.basic.description}\n                </p>\n              </div>\n\n              <div className=\"space-y-2\" data-testid=\"icon-toast-section\">\n                <h4 className=\"font-medium\">{content.toasts.withIcon.title}</h4>\n                <Button\n                  onClick={showBasicWithIcon}\n                  variant=\"outline\"\n                  className=\"w-full bg-transparent\"\n                  data-testid=\"icon-toast-button\"\n                >\n                  <CheckCircle className=\"mr-2 h-4 w-4\" />\n                  {content.toasts.withIcon.buttonText}\n                </Button>\n                <p className=\"text-sm text-muted-foreground\">\n                  {content.toasts.withIcon.description}\n                </p>\n              </div>\n\n              <div\n                className=\"space-y-2\"\n                data-testid=\"description-toast-section\"\n              >\n                <h4 className=\"font-medium\">\n                  {content.toasts.withDescription.title}\n                </h4>\n                <Button\n                  onClick={showBasicWithDescription}\n                  variant=\"outline\"\n                  className=\"w-full bg-transparent\"\n                  data-testid=\"description-toast-button\"\n                >\n                  {content.toasts.withDescription.buttonText}\n                </Button>\n                <p className=\"text-sm text-muted-foreground\">\n                  {content.toasts.withDescription.description}\n                </p>\n              </div>\n            </div>\n          </div>\n        </CardContent>\n      </Card>\n    </div>\n  );\n}\n","type":"registry:component"},{"path":"src/registry/lib/utils.ts","content":"import { type ClassValue, clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n  return twMerge(clsx(inputs));\n}\n","type":"registry:lib"}]}