{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "alert",
  "title": "Alert",
  "description": "A shadcn-style alert component built with Ark UI primitives.",
  "dependencies": ["@ark-ui/react", "class-variance-authority"],
  "files": [
    {
      "path": "src/components/ui/alert.tsx",
      "content": "\"use client\";\n\nimport { ark } from \"@ark-ui/react/factory\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport type { ComponentProps, ReactElement } from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst alertVariants = cva(\n  \"relative grid w-full items-start gap-x-2 gap-y-0.5 rounded-xl border px-3.5 py-3 text-card-foreground text-sm has-[>svg]:has-data-[slot=alert-action]:grid-cols-[--spacing(4)_1fr_auto] has-[>svg]:grid-cols-[--spacing(4)_1fr] has-data-[slot=alert-action]:grid-cols-[1fr_auto] has-[>svg]:gap-x-2 [&>svg]:h-lh [&>svg]:w-4\",\n  {\n    defaultVariants: {\n      variant: \"default\",\n    },\n    variants: {\n      variant: {\n        default:\n          \"bg-transparent dark:bg-input/32 [&>svg]:text-muted-foreground\",\n        error:\n          \"border-destructive/32 bg-destructive/4 [&>svg]:text-destructive\",\n        info: \"border-info/32 bg-info/4 [&>svg]:text-info\",\n        success: \"border-success/32 bg-success/4 [&>svg]:text-success\",\n        warning: \"border-warning/32 bg-warning/4 [&>svg]:text-warning\",\n      },\n    },\n  },\n);\n\nexport const Alert = ({\n  className,\n  variant,\n  ...props\n}: ComponentProps<typeof ark.div> &\n  VariantProps<typeof alertVariants>): ReactElement => (\n  <ark.div\n    className={cn(alertVariants({ variant }), className)}\n    data-slot=\"alert\"\n    role=\"alert\"\n    {...props}\n  />\n);\n\nexport const AlertTitle = ({\n  className,\n  ...props\n}: ComponentProps<typeof ark.div>): ReactElement => (\n  <ark.div\n    className={cn(\"font-medium [svg~&]:col-start-2\", className)}\n    data-slot=\"alert-title\"\n    {...props}\n  />\n);\n\nexport const AlertDescription = ({\n  className,\n  ...props\n}: ComponentProps<typeof ark.div>): ReactElement => (\n  <ark.div\n    className={cn(\n      \"flex flex-col gap-2.5 text-muted-foreground [svg~&]:col-start-2\",\n      className,\n    )}\n    data-slot=\"alert-description\"\n    {...props}\n  />\n);\n\nexport const AlertAction = ({\n  className,\n  ...props\n}: ComponentProps<typeof ark.div>): ReactElement => (\n  <ark.div\n    className={cn(\n      \"flex gap-1 max-sm:col-start-2 max-sm:mt-2 sm:row-start-1 sm:row-end-3 sm:self-center sm:[[data-slot=alert-description]~&]:col-start-2 sm:[[data-slot=alert-title]~&]:col-start-2 sm:[svg~&]:col-start-2 sm:[svg~[data-slot=alert-description]~&]:col-start-3 sm:[svg~[data-slot=alert-title]~&]:col-start-3\",\n      className,\n    )}\n    data-slot=\"alert-action\"\n    {...props}\n  />\n);\n",
      "type": "registry:ui",
      "target": "src/components/ui/alert.tsx"
    }
  ],
  "cssVars": {
    "theme": {
      "--color-destructive-foreground": "var(--destructive-foreground)",
      "--color-info": "var(--info)",
      "--color-info-foreground": "var(--info-foreground)",
      "--color-success": "var(--success)",
      "--color-success-foreground": "var(--success-foreground)",
      "--color-warning": "var(--warning)",
      "--color-warning-foreground": "var(--warning-foreground)"
    },
    "light": {
      "--destructive-foreground": "var(--color-red-400)",
      "--info": "var(--color-blue-500)",
      "--info-foreground": "var(--color-blue-700)",
      "--success": "var(--color-emerald-500)",
      "--success-foreground": "var(--color-emerald-700)",
      "--warning": "var(--color-amber-500)",
      "--warning-foreground": "var(--color-amber-700)"
    },
    "dark": {
      "--destructive-foreground": "var(--color-red-400)",
      "--info": "var(--color-blue-500)",
      "--info-foreground": "var(--color-blue-400)",
      "--success": "var(--color-emerald-500)",
      "--success-foreground": "var(--color-emerald-400)",
      "--warning": "var(--color-amber-500)",
      "--warning-foreground": "var(--color-amber-400)"
    }
  },
  "type": "registry:ui"
}
