import { type ReactNode, type ElementType } from 'react'; import { cn } from '@/lib/utils'; import { Button } from '@/components/ui/button'; interface EmptyStateProps { icon?: ElementType; title: string; description?: string; action?: { label: string; onClick: () => void; }; className?: string; } /** * Centered empty-state pattern with icon, title, description, and optional CTA. * Used when a list or table has no data. */ export function EmptyState({ icon: Icon, title, description, action, className }: EmptyStateProps) { return (
{Icon && (
)}

{title}

{description && (

{description}

)} {action && ( )}
); }