import React, { ReactNode, CSSProperties } from 'react'; import classNames from 'classnames'; import { BaseProps } from '../_utils/props'; export interface EmptyProps extends BaseProps { image?: string | ReactNode; imageStyle?: CSSProperties; description?: boolean | string | React.ReactNode; descStyle?: CSSProperties; children?: React.ReactNode; } const Empty = (props: EmptyProps) => { const { prefixCls = 'ty-empty', description = 'No Data', image, imageStyle, descStyle, className, style, children, } = props; const cls = classNames(prefixCls, className); const renderImage = (): ReactNode => { if (React.isValidElement(image)) { return image; } else if (typeof image === 'string') { return empty; } else { return ( {/* tslint:disable-next-line:max-line-length */} {/* tslint:disable-next-line:max-line-length */} ); } }; return (
{renderImage()}
{typeof description === 'boolean' && !description ? null : (

{description}

)} {children &&
{children}
}
); }; export default Empty;