import * as React from 'react' import { Button, Stack, Text, Title, type MantineSize } from '@mantine/core' import { IconInbox } from '@tabler/icons-react' interface EmptyStateProps { /** Icono a mostrar (default: IconInbox) */ icon?: React.ReactNode /** Título */ title?: string /** Descripción */ description?: string /** Texto del botón de acción */ actionLabel?: string /** Callback del botón */ onAction?: () => void /** Tamaño general */ size?: MantineSize /** Contenido custom debajo de la descripción */ children?: React.ReactNode } function EmptyState({ icon, title = 'No data found', description = 'There are no items to display yet.', actionLabel, onAction, size = 'md', children, }: EmptyStateProps) { const iconSize = size === 'xs' ? 32 : size === 'sm' ? 40 : size === 'lg' ? 64 : size === 'xl' ? 80 : 48 return ( {icon || } {title} {description} {children} {actionLabel && onAction && ( )} ) } export { EmptyState } export type { EmptyStateProps }