{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "empty-state",
  "title": "Empty state",
  "description": "An accessible empty state with a configurable icon, explanation, and action.",
  "dependencies": [
    "lucide-react@^1.46.0"
  ],
  "registryDependencies": [
    "Familis-co/registry/button",
    "Familis-co/registry/empty"
  ],
  "files": [
    {
      "path": "registry/familis/blocks/empty-state/empty-state.tsx",
      "content": "import { FolderPlusIcon, type LucideIcon } from \"lucide-react\"\nimport { Button } from \"@/components/ui/button\"\nimport {\n  Empty,\n  EmptyContent,\n  EmptyDescription,\n  EmptyHeader,\n  EmptyMedia,\n  EmptyTitle,\n} from \"@/components/ui/empty\"\n\nexport interface EmptyStateProps {\n  title: string\n  description: string\n  icon?: LucideIcon\n  action?: { label: string; onClick: () => void; disabled?: boolean }\n}\n\nexport function EmptyState({\n  title,\n  description,\n  icon: Icon = FolderPlusIcon,\n  action,\n}: EmptyStateProps) {\n  return (\n    <Empty>\n      <EmptyHeader>\n        <EmptyMedia variant=\"icon\">\n          <Icon />\n        </EmptyMedia>\n        <EmptyTitle>{title}</EmptyTitle>\n        <EmptyDescription>{description}</EmptyDescription>\n      </EmptyHeader>\n      {action && (\n        <EmptyContent>\n          <Button type=\"button\" onClick={action.onClick} disabled={action.disabled}>\n            {action.label}\n          </Button>\n        </EmptyContent>\n      )}\n    </Empty>\n  )\n}\n",
      "type": "registry:component"
    }
  ],
  "meta": {
    "base": "base",
    "storybookId": "ui-blocks-empty-state--default"
  },
  "type": "registry:block"
}