import {Flex, Icon, Text} from '@gravity-ui/uikit'; import {cn} from '../../utils/cn'; import emptyStateIcon from '../../assets/icons/emptyState.svg'; import './EmptyState.scss'; const block = cn('empty-state'); export const EMPTY_STATE_SIZES = { xs: 100, s: 150, m: 230, l: 350, }; export interface EmptyStateProps { title: React.ReactNode; image?: React.ReactNode; description?: React.ReactNode; actions?: React.ReactNode[]; size?: keyof typeof EMPTY_STATE_SIZES; position?: 'left' | 'center'; contentPosition?: 'center' | 'top'; pageTitle?: string; className?: string; } export const EmptyState = ({ image, title, description, actions, size = 'm', position = 'center', contentPosition = 'center', pageTitle, className, }: EmptyStateProps) => { return (
{pageTitle ? {pageTitle} : null}
{image ? ( image ) : ( )}
{title}
{description ? (
{description}
) : null}
{actions ? {actions} : null}
); }; interface EmptyStateWrapperProps extends EmptyStateProps { isEmpty?: boolean; children: React.ReactNode; className?: string; } export function EmptyStateWrapper({isEmpty, children, className, ...rest}: EmptyStateWrapperProps) { if (isEmpty) { return (
); } return children; }