import { HTMLAttributes, forwardRef } from 'react';
import { cn } from '@/lib/utils';
interface EmptyStateProps extends HTMLAttributes {
icon?: string;
title?: string;
description?: string;
accentColor?: string;
borderColor?: string;
size?: 'sm' | 'md' | 'lg';
}
const EmptyState = forwardRef(
({
className,
icon,
title = "NO DATA",
description,
accentColor,
borderColor,
size = 'md',
...props
}, ref) => {
const sizes = {
sm: {
container: 'py-8',
icon: 'w-8 h-8 text-lg',
title: 'text-xs',
divider: 'w-4 h-0.5'
},
md: {
container: 'py-20',
icon: 'w-16 h-16 text-2xl',
title: 'text-xs',
divider: 'w-8 h-0.5'
},
lg: {
container: 'py-32',
icon: 'w-24 h-24 text-3xl',
title: 'text-sm',
divider: 'w-12 h-0.5'
}
};
const currentSize = sizes[size];
return (
{icon || "📋"}
{title}
{description && (
{description}
)}
);
}
);
EmptyState.displayName = 'EmptyState';
export { EmptyState };