{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "empty-state",
  "title": "Empty State",
  "description": "A centered placeholder for screens with no content yet.",
  "files": [
    {
      "path": "registry/tealmac/empty-state.tsx",
      "content": "import { type HTMLAttributes, type ReactNode } from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nexport interface EmptyStateProps extends HTMLAttributes<HTMLDivElement> {\n  /** Icon or illustration shown above the title. */\n  icon?: ReactNode\n  title: string\n  description?: string\n  /** Primary action(s), e.g. a button. */\n  action?: ReactNode\n}\n\n/**\n * EmptyState is a centered placeholder for screens with no content yet — an\n * icon, a short title, a line of guidance, and an action to move forward.\n * Treat the empty screen as an invitation to act, not a dead end.\n */\nexport function EmptyState({\n  icon,\n  title,\n  description,\n  action,\n  className,\n  ...props\n}: EmptyStateProps) {\n  return (\n    <div\n      className={cn(\n        \"flex flex-col items-center justify-center rounded-xl border border-dashed px-6 py-12 text-center\",\n        className\n      )}\n      {...props}\n    >\n      {icon && (\n        <div className=\"bg-muted text-muted-foreground mb-4 flex size-12 items-center justify-center rounded-full\">\n          {icon}\n        </div>\n      )}\n      <h3 className=\"text-base font-semibold tracking-tight\">{title}</h3>\n      {description && (\n        <p className=\"text-muted-foreground mt-1 max-w-sm text-sm leading-relaxed\">\n          {description}\n        </p>\n      )}\n      {action && <div className=\"mt-5\">{action}</div>}\n    </div>\n  )\n}\n\nexport default EmptyState\n",
      "type": "registry:ui"
    }
  ],
  "type": "registry:ui"
}