{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "image-card",
  "title": "Image Card",
  "author": "Poyraz Avsever",
  "description": "Poyraz Soft Glass image-card with semantic states and composable variants.",
  "dependencies": [],
  "registryDependencies": [
    "@poyraz/poyraz-utils",
    "@poyraz/poyraz-theme",
    "@poyraz/card",
    "@poyraz/badge"
  ],
  "files": [
    {
      "path": "registry/poyraz/ui/phase7/blocks/card-templates/image-card.tsx",
      "content": "import * as React from \"react\";\nimport { Badge } from \"@/components/ui/atoms/badge\";\nimport { Card, type CardProps } from \"@/components/ui/atoms/card\";\nimport { cn } from \"@/lib/utils\";\n\nexport interface ImageCardProps extends Omit<CardProps, \"title\"> {\n  image: string;\n  title: string;\n  description?: string;\n  badge?: string;\n  href?: string;\n}\nconst ImageCard = React.forwardRef<HTMLDivElement, ImageCardProps>(\n  ({ badge, className, description, href, image, title, ...props }, ref) => {\n    const content = (\n      <Card\n        ref={ref}\n        variant=\"interactive\"\n        className={cn(\"group relative aspect-[4/3] overflow-hidden\", className)}\n        {...props}\n      >\n        <img\n          src={image}\n          alt=\"\"\n          className=\"absolute inset-0 size-full object-cover transition-transform duration-500 ease-[var(--poyraz-motion-ease-out)] group-hover:scale-105\"\n        />\n        <div className=\"absolute inset-0 bg-gradient-to-t from-overlay via-overlay/20 to-transparent transition-opacity group-hover:opacity-90\" />\n        {badge && <Badge className=\"absolute left-3 top-3 z-10\">{badge}</Badge>}\n        <div className=\"absolute inset-x-0 bottom-0 z-10 p-4 text-primary-foreground\">\n          <h3 className=\"font-semibold leading-tight\">{title}</h3>\n          {description && <p className=\"mt-1 line-clamp-2 text-xs opacity-80\">{description}</p>}\n        </div>\n      </Card>\n    );\n    return href ? (\n      <a href={href} className=\"block text-inherit no-underline\">\n        {content}\n      </a>\n    ) : (\n      content\n    );\n  },\n);\nImageCard.displayName = \"ImageCard\";\nexport { ImageCard };\n",
      "type": "registry:block",
      "target": "@ui/blocks/card-templates/image-card.tsx"
    }
  ],
  "meta": {
    "category": "phase-7-card-block",
    "phase": "beta"
  },
  "type": "registry:block"
}