{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "empty-state",
  "title": "Empty State",
  "description": "What to show when there is nothing yet.",
  "registryDependencies": [
    "utils"
  ],
  "files": [
    {
      "path": "registry/default/empty-state/empty-state.tsx",
      "content": "import * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nexport type EmptyStateProps = Omit<\n  React.HTMLAttributes<HTMLDivElement>,\n  \"title\"\n> & {\n  title: React.ReactNode\n  description?: React.ReactNode\n  icon?: React.ReactNode\n  /** Controls placed under the description, such as a primary action. */\n  actions?: React.ReactNode\n  size?: \"sm\" | \"md\"\n}\n\nexport function EmptyState({\n  title,\n  description,\n  icon,\n  actions,\n  size = \"md\",\n  children,\n  className,\n  ...rootProps\n}: EmptyStateProps) {\n  return (\n    <div\n      data-slot=\"empty-state\"\n      className={cn(\n        \"border-border/70 flex flex-col items-center justify-center rounded-[calc(var(--radius)+0.15rem)] border border-dashed text-center\",\n        size === \"sm\" ? \"gap-2 px-4 py-8\" : \"gap-3 px-6 py-14\",\n        className\n      )}\n      {...rootProps}\n    >\n      {icon ? (\n        <span\n          aria-hidden=\"true\"\n          className=\"border-border bg-muted/60 text-muted-foreground mb-1 flex size-11 items-center justify-center rounded-full border\"\n        >\n          {icon}\n        </span>\n      ) : null}\n\n      <p className=\"text-foreground text-sm font-medium\">{title}</p>\n\n      {description ? (\n        <p className=\"text-muted-foreground max-w-[42ch] text-sm leading-relaxed\">\n          {description}\n        </p>\n      ) : null}\n\n      {actions ? (\n        <div className=\"mt-2 flex flex-wrap items-center justify-center gap-2\">\n          {actions}\n        </div>\n      ) : null}\n\n      {children}\n    </div>\n  )\n}\n",
      "type": "registry:ui"
    }
  ],
  "categories": [
    "empty",
    "block",
    "layout"
  ],
  "type": "registry:ui"
}