{"$schema":"https://ui.shadcn.com/schema/registry-item.json","author":"Eduardo Calvo <edu@smoothui.dev>","css":{},"dependencies":[],"description":"Empty state layout for SmoothUI — title, description, and optional action.","devDependencies":[],"files":[{"content":"\"use client\";\n\nimport { cn } from \"@/lib/utils\";\nimport type { ComponentProps, ReactNode } from \"react\";\n\nexport interface EmptyProps extends Omit<ComponentProps<\"div\">, \"title\"> {\n  /** Optional action (button / link) below the copy */\n  action?: ReactNode;\n  /** Supporting sentence */\n  description?: ReactNode;\n  /** Optional illustration or icon above the title */\n  icon?: ReactNode;\n  /** Primary empty-state heading */\n  title: ReactNode;\n}\n\n/**\n * SmoothUI Empty — first-run / no-results state. SmoothUI-owned.\n */\nexport default function Empty({\n  action,\n  className,\n  description,\n  icon,\n  title,\n  ...props\n}: EmptyProps) {\n  return (\n    <div\n      className={cn(\n        \"flex w-full flex-col items-center justify-center gap-3 px-6 py-12 text-center\",\n        className\n      )}\n      data-slot=\"empty\"\n      {...props}\n    >\n      {icon ? (\n        <div\n          aria-hidden\n          className=\"mb-1 flex size-12 items-center justify-center rounded-full bg-foreground/5 text-muted-foreground [&_svg]:size-5\"\n          data-slot=\"empty-icon\"\n        >\n          {icon}\n        </div>\n      ) : null}\n      <div className=\"flex max-w-sm flex-col gap-1.5\">\n        <h3\n          className=\"font-medium text-base text-foreground leading-snug\"\n          data-slot=\"empty-title\"\n        >\n          {title}\n        </h3>\n        {description ? (\n          <p\n            className=\"text-muted-foreground text-sm leading-relaxed\"\n            data-slot=\"empty-description\"\n          >\n            {description}\n          </p>\n        ) : null}\n      </div>\n      {action ? (\n        <div className=\"mt-1\" data-slot=\"empty-action\">\n          {action}\n        </div>\n      ) : null}\n    </div>\n  );\n}\n","path":"index.tsx","target":"components/smoothui/empty/index.tsx","type":"registry:ui"}],"name":"empty","registryDependencies":[],"title":"Empty","type":"registry:ui"}