import React, { FC, HTMLAttributes, ReactNode } from 'react'; import { classNames } from '../../lib/classNames'; import { hasReactNode } from '../../lib/utils'; import Title from '../Typography/Title/Title'; import Headline from '../Typography/Headline/Headline'; import { HasRootRef } from '../../types'; export interface PlaceholderProps extends HTMLAttributes, HasRootRef { /** * Иконка */ icon?: ReactNode; /** * Заголовок плейсхолдера */ header?: ReactNode; /** * Кнопка действия */ action?: ReactNode; /** * Растягивает плейсхолдер на весь экран, но в таком случае на экране должен быть только плейсхолдер */ stretched?: boolean; } const Placeholder: FC = (props: PlaceholderProps) => { const { className, icon, header, action, children, stretched, getRootRef, ...restProps } = props; return ( {hasReactNode(icon) && {icon}} {hasReactNode(header) && {header}} {hasReactNode(children) && {children}} {hasReactNode(action) && {action}} ); }; export default Placeholder;