| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 | import React, { PureComponent } from 'react';import PropTypes from 'prop-types';import { cssClasses } from '@douyinfe/semi-foundation/card/constants';import cls from 'classnames';const prefixcls = cssClasses.PREFIX;export type Shadows = 'hover' | 'show';export interface MetaProps {    /** Avatar */    avatar?: React.ReactNode;    /** Style class name */    className?: string;    /** Description */    description?: React.ReactNode;    /** Inline style */    style?: React.CSSProperties;    /** Title */    title?: React.ReactNode;}class Meta extends PureComponent<MetaProps> {    static propTypes = {        avatar: PropTypes.node,        className: PropTypes.string,        description: PropTypes.node,        style: PropTypes.object,        title: PropTypes.node    };    render() {        const {            avatar,            className,            description,            style,            title,            ...others        } = this.props;        const metaCls = cls(`${prefixcls}-meta`, className);        const avatarNode = avatar && (            <div className={`${prefixcls}-meta-avatar`}>                {avatar}            </div>        );        const titleNode = title && (            <div className={`${prefixcls}-meta-wrapper-title`}>                {title}            </div>        );        const descriptionNode = description && (            <div className={`${prefixcls}-meta-wrapper-description`}>                {description}            </div>        );        const wrapper = title || description ? (            <div className={`${prefixcls}-meta-wrapper`}>                {titleNode}                {descriptionNode}            </div>        ) : null;        return (            <div {...others} className={metaCls} style={style}>                {avatarNode}                {wrapper}            </div>        );    }}export default Meta;
 |