import { Component } from 'react'; import cx from 'classnames'; import Placeholder from '../placeholder'; import isNil from '../utils/isNil'; export interface ICardProps { type?: 'normal' | 'nested'; title?: React.ReactNode; action?: React.ReactNode; style?: React.CSSProperties; bodyStyle?: React.CSSProperties; loading?: boolean; className?: string; } export class Card extends Component { static defaultProps = { type: 'normal', style: {}, bodyStyle: {}, loading: false, className: '', }; render() { const { title, action, type, loading, style, children, className, bodyStyle, } = this.props; const isValidTitle = !isNil(title); const isValidAction = !isNil(action); return (
{(isValidTitle || isValidAction) && (
{isValidTitle && (

{title}

)} {isValidAction && (
{action}
)}
)}
{loading ? : children}
); } } export default Card;