import { View, ViewStyle } from 'react-native';
import { Text } from '../Text/Text';
import { Icon } from '../Icon/Icon';
export type EmptyStateProps = {
/** Icon name (Ionicons/SF Symbol) or emoji */
icon?: string;
/** Emoji to display instead of icon */
emoji?: string;
/** Icon size */
iconSize?: number;
/** Icon color */
iconColor?: string;
/** Title text */
title: string;
/** Description text */
description: string;
/** Title color */
titleColor?: string;
/** Description color */
descriptionColor?: string;
/** Container padding */
padding?: number;
/** Additional container styles */
style?: ViewStyle;
/** Additional content below description */
children?: React.ReactNode;
};
/**
* Empty state component for displaying when there's no content.
*
* @example
* ```tsx
*
*
*
* ```
*/
export function EmptyState({
icon,
emoji,
iconSize = 60,
iconColor = '#9CA3AF',
title,
description,
titleColor = '#1F2937',
descriptionColor = '#6B7280',
padding = 32,
style,
children,
}: EmptyStateProps) {
return (
{/* Icon or Emoji */}
{emoji ? (
{emoji}
) : icon ? (
) : null}
{/* Title */}
{title}
{/* Description */}
{description}
{/* Optional children (e.g., action button) */}
{children && {children}}
);
}