{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "empty-state",
  "title": "Empty State",
  "registryDependencies": [
    "https://ui.hotfix.jobs/r/tokens.json",
    "https://ui.hotfix.jobs/r/utils.json"
  ],
  "files": [
    {
      "path": "registry/components/ui/empty-state.tsx",
      "content": "\"use client\";\n\nimport type * as React from \"react\";\nimport { cn } from \"@/lib/utils\";\n\nexport interface EmptyStateProps\n  extends Omit<React.HTMLAttributes<HTMLDivElement>, \"title\"> {\n  title: React.ReactNode;\n  description?: React.ReactNode;\n  icon?: React.ReactNode;\n  /** Primary CTA, typically a `<Button>`. */\n  action?: React.ReactNode;\n  /** Additional slots rendered below the primary action. */\n  children?: React.ReactNode;\n}\n\n/** EmptyState: \"no results\" / \"no data yet\" placeholder. */\nexport function EmptyState({\n  title,\n  description,\n  icon,\n  action,\n  children,\n  className,\n  ...props\n}: EmptyStateProps): React.ReactElement {\n  return (\n    <div\n      data-slot=\"empty-state\"\n      className={cn(\n        \"flex flex-col items-center justify-center px-6 py-14 text-center\",\n        className,\n      )}\n      {...props}\n    >\n      {icon && (\n        <div\n          aria-hidden\n          className=\"mb-3 flex items-center justify-center text-ink-muted [&_svg]:size-8\"\n          data-slot=\"empty-state-icon\"\n        >\n          {icon}\n        </div>\n      )}\n      <h3\n        className=\"text-regular text-ink-muted\"\n        data-slot=\"empty-state-title\"\n      >\n        {title}\n      </h3>\n      {description && (\n        <p\n          className=\"mt-1.5 max-w-md text-small text-ink-subtle\"\n          data-slot=\"empty-state-description\"\n        >\n          {description}\n        </p>\n      )}\n      {action && (\n        <div className=\"mt-6\" data-slot=\"empty-state-action\">\n          {action}\n        </div>\n      )}\n      {children && (\n        <div className=\"mt-6 flex flex-col items-center gap-2 w-full\" data-slot=\"empty-state-extras\">\n          {children}\n        </div>\n      )}\n    </div>\n  );\n}\n",
      "type": "registry:ui",
      "target": "components/ui/empty-state.tsx"
    }
  ],
  "type": "registry:ui"
}