{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "project-card",
  "title": "Project card",
  "description": "A project summary with status and a navigation link. Works with any React router.",
  "dependencies": [
    "lucide-react@^1.46.0"
  ],
  "registryDependencies": [
    "Familis-co/registry/button",
    "Familis-co/registry/card",
    "Familis-co/registry/badge"
  ],
  "files": [
    {
      "path": "registry/familis/blocks/project-card/project-card.tsx",
      "content": "import { ArrowUpRightIcon } from \"lucide-react\"\nimport { Badge } from \"@/components/ui/badge\"\nimport { buttonVariants } from \"@/components/ui/button\"\nimport {\n  Card,\n  CardContent,\n  CardDescription,\n  CardFooter,\n  CardHeader,\n  CardTitle,\n} from \"@/components/ui/card\"\n\nexport interface ProjectCardProps {\n  title: string\n  description: string\n  href: string\n  status?: \"active\" | \"draft\" | \"archived\"\n  detail?: string\n  linkLabel?: string\n}\n\nconst statuses = {\n  active: { label: \"Active\", variant: \"default\" },\n  draft: { label: \"Draft\", variant: \"secondary\" },\n  archived: { label: \"Archived\", variant: \"outline\" },\n} as const\n\nexport function ProjectCard({\n  title,\n  description,\n  href,\n  status = \"active\",\n  detail,\n  linkLabel = \"View project\",\n}: ProjectCardProps) {\n  const currentStatus = statuses[status]\n\n  return (\n    <Card className=\"w-full\">\n      <CardHeader>\n        <div className=\"flex items-start justify-between gap-4\">\n          <CardTitle>{title}</CardTitle>\n          <Badge variant={currentStatus.variant}>{currentStatus.label}</Badge>\n        </div>\n        <CardDescription>{description}</CardDescription>\n      </CardHeader>\n      <CardContent>\n        <p className=\"text-sm text-muted-foreground\">\n          {detail ?? \"Everything your team needs, in one place.\"}\n        </p>\n      </CardContent>\n      <CardFooter>\n        <a\n          href={href}\n          aria-label={`${linkLabel}: ${title}`}\n          className={buttonVariants({ variant: \"outline\", size: \"sm\" })}\n        >\n          {linkLabel}\n          <ArrowUpRightIcon data-icon=\"inline-end\" />\n        </a>\n      </CardFooter>\n    </Card>\n  )\n}\n",
      "type": "registry:component"
    }
  ],
  "meta": {
    "base": "base",
    "storybookId": "ui-blocks-project-card--active"
  },
  "type": "registry:block"
}