/** * ReUI Empty + IconStack — Frame-friendly (empty-state-14 / empty-state-12). * Preview: https://reui.io/preview/base/empty-state-14 · https://reui.io/preview/base/empty-state-12 * Docs: https://reui.io/docs/components/base/icon-stack */ import { InboxIcon, type LucideIcon } from 'lucide-react' import { IconStack } from '@/components/reui/icon-stack' import { Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, } from '@authportal/ui/components/empty' import { cn } from '@authportal/ui/lib/utils' import type { ReactNode } from 'react' interface EmptyStateProps { icon?: LucideIcon title: string description?: string action?: ReactNode className?: string stackedIcon?: boolean centered?: boolean } export function EmptyState({ icon: Icon = InboxIcon, title, description, action, className, stackedIcon = true, centered = true, }: EmptyStateProps) { const body = ( {stackedIcon ? ( ) : ( )}
{title} {description ? ( {description} ) : null}
{action ? ( {action} ) : null}
) if (!centered) return body return (
{body}
) }