{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"alert","type":"registry:ui","title":"Alert","description":"","dependencies":["class-variance-authority","cn"],"registryDependencies":[],"files":[{"path":"alert.tsx","type":"registry:ui","content":"import { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"cn\"\n\nconst alertVariants = cva(\n  [\n    \"relative w-full text-sm border has-[>svg]:grid-cols-[calc(var(--spacing)*3)_1fr] grid-cols-[0_1fr] grid gap-y-0.5 items-center [&>svg:not([class*=size-])]:size-4\",\n    \"has-[>[data-slot=alert-title]+[data-slot=alert-description]]:[&_[data-slot=alert-action]]:sm:row-end-3\",\n    \"has-[>[data-slot=alert-title]+[data-slot=alert-description]]:items-start\",\n    \"has-[>[data-slot=alert-title]+[data-slot=alert-description]]:[&_svg]:translate-y-0.5\",\n    \"rounded-lg\",\n    \"px-3\",\n    \"py-2.5\",\n    \"has-[>svg]:gap-x-2.5\",\n  ],\n  {\n    variants: {\n      variant: {\n        default: \"bg-card text-card-foreground\",\n        destructive:\n          \"border-destructive/30 bg-destructive/4 [&>svg]:text-destructive\",\n        info: \"border-info/30 bg-info/4 [&>svg]:text-info\",\n        success: \"border-success/30 bg-success/4 [&>svg]:text-success\",\n        warning: \"border-warning/30 bg-warning/4 [&>svg]:text-warning\",\n        invert:\n          \"border-invert bg-invert text-invert-foreground [&_[data-slot=alert-description]]:text-invert-foreground/70\",\n      },\n    },\n    defaultVariants: {\n      variant: \"default\",\n    },\n  }\n)\n\nfunction Alert({\n  className,\n  variant,\n  ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof alertVariants>) {\n  return (\n    <div\n      data-slot=\"alert\"\n      role=\"alert\"\n      className={cn(alertVariants({ variant }), className)}\n      {...props}\n    />\n  )\n}\n\nfunction AlertTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n  return (\n    <div\n      data-slot=\"alert-title\"\n      className={cn(\n        \"col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight\",\n        className\n      )}\n      {...props}\n    />\n  )\n}\n\nfunction AlertDescription({\n  className,\n  ...props\n}: React.ComponentProps<\"div\">) {\n  return (\n    <div\n      data-slot=\"alert-description\"\n      className={cn(\n        \"text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed\",\n        className\n      )}\n      {...props}\n    />\n  )\n}\n\nfunction AlertAction({ className, ...props }: React.ComponentProps<\"div\">) {\n  return (\n    <div\n      data-slot=\"alert-action\"\n      className={cn(\n        \"flex gap-1.5 max-sm:col-start-2 max-sm:mt-2 max-sm:justify-start sm:col-start-3 sm:row-start-1 sm:justify-end sm:self-center\",\n        className\n      )}\n      {...props}\n    />\n  )\n}\n\nexport { Alert, AlertTitle, AlertDescription, AlertAction }","target":"components/reui/alert.tsx"}],"cssVars":{"light":{"destructive-foreground":"var(--color-red-800)","success":"var(--color-emerald-500)","success-foreground":"var(--color-emerald-900)","info":"var(--color-violet-500)","info-foreground":"var(--color-violet-900)","warning":"var(--color-yellow-500)","warning-foreground":"var(--color-yellow-900)","invert":"var(--color-zinc-900)","invert-foreground":"var(--color-zinc-50)"},"dark":{"destructive-foreground":"var(--color-red-600)","success":"var(--color-emerald-500)","success-foreground":"var(--color-emerald-600)","info":"var(--color-violet-500)","info-foreground":"var(--color-violet-600)","warning":"var(--color-yellow-500)","warning-foreground":"var(--color-yellow-600)","invert":"var(--color-zinc-700)","invert-foreground":"var(--color-zinc-50)"}}}