import { InboxIcon, type LucideIcon } from 'lucide-react' import { IconStack } from '@/components/reui/icon-stack' import { IconTile } from '@/components/reui/icon-tile' import { Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, } from '@cdnmanager/ui/components/empty' import { cn } from '@cdnmanager/ui/lib/utils' interface EmptyStateProps { icon?: LucideIcon title: string description?: string action?: React.ReactNode className?: string /** Use IconStack media (empty-state-12). Default true. */ stackedIcon?: boolean /** * Center in available width/height (empty-state-12). * Preview: https://reui.io/preview/base/empty-state-12 * Set false for tight panels/sheets. */ centered?: boolean } /** * 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 */ 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}
) }