{
  "name": "status",
  "type": "registry:ui",
  "dependencies": [
    "cn",
    "radix-ui"
  ],
  "files": [
    {
      "path": "ui/status.tsx",
      "type": "registry:ui",
      "content": "import type * as React from \"react\";\n\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"cn\";\nimport { Slot as SlotPrimitive } from \"radix-ui\";\n\nconst statusVariants = cva(\"inline-flex w-fit shrink-0 items-center gap-1.5 overflow-hidden rounded-4xl border px-2.5 py-1 text-xs font-medium whitespace-nowrap transition-colors\", {\n  variants: {\n    variant: {\n      default: \"border-transparent bg-muted text-muted-foreground **:data-[slot=status-indicator]:bg-muted-foreground\",\n      success: \"border-green-500/20 bg-green-500/10 text-green-600 **:data-[slot=status-indicator]:bg-green-600 dark:text-green-400 **:data-[slot=status-indicator]:dark:bg-green-400\",\n      error: \"border-destructive/20 bg-destructive/10 text-destructive **:data-[slot=status-indicator]:bg-destructive\",\n      warning: \"border-orange-500/20 bg-orange-500/10 text-orange-600 **:data-[slot=status-indicator]:bg-orange-600 dark:text-orange-400 **:data-[slot=status-indicator]:dark:bg-orange-400\",\n      info: \"border-blue-500/20 bg-blue-500/10 text-blue-600 **:data-[slot=status-indicator]:bg-blue-600 dark:text-blue-400 **:data-[slot=status-indicator]:dark:bg-blue-400\",\n    },\n  },\n  defaultVariants: {\n    variant: \"default\",\n  },\n});\n\ninterface StatusProps\n  extends VariantProps<typeof statusVariants>, React.ComponentProps<\"div\"> {\n  asChild?: boolean;\n}\n\nfunction Status(props: StatusProps) {\n  const { className, variant = \"default\", asChild, ...rootProps } = props;\n\n  const RootPrimitive = asChild ? SlotPrimitive.Slot : \"div\";\n\n  return (\n    <RootPrimitive\n      data-slot=\"status\"\n      data-variant={variant}\n      {...rootProps}\n      className={cn(statusVariants({ variant }), className)}\n    />\n  );\n}\n\nfunction StatusIndicator(props: React.ComponentProps<\"div\">) {\n  const { className, ...indicatorProps } = props;\n\n  return (\n    <div\n      data-slot=\"status-indicator\"\n      {...indicatorProps}\n      className={cn(\"relative flex size-2 shrink-0 rounded-full before:absolute before:inset-0 before:animate-ping before:rounded-full before:bg-inherit after:absolute after:inset-0.5 after:rounded-full after:bg-inherit\", className)}\n    />\n  );\n}\n\nfunction StatusLabel(props: React.ComponentProps<\"div\">) {\n  const { className, ...labelProps } = props;\n\n  return (\n    <div\n      data-slot=\"status-label\"\n      {...labelProps}\n      className={cn(\"leading-none\", className)}\n    />\n  );\n}\n\nexport { Status, StatusIndicator, StatusLabel, statusVariants };\n",
      "target": ""
    }
  ]
}