import * as React from 'react'; import classNames from 'classnames'; import omit from 'omit.js'; import { ConfigContext } from '../config-provider'; export interface TimelineItemProps { prefixCls?: string; className?: string; color?: string; dot?: React.ReactNode; pending?: boolean; position?: string; style?: React.CSSProperties; label?: React.ReactNode; } // for compatibililty // https://github.com/ant-design/ant-design/pull/26832 export interface TimeLineItemProps extends TimelineItemProps { __deprecated_do_not_use_it__?: any; // eslint-disable-line camelcase } const TimelineItem: React.FC = props => { const { getPrefixCls } = React.useContext(ConfigContext); const { prefixCls: customizePrefixCls, className, color, children, pending, dot, label, ...restProps } = props; const prefixCls = getPrefixCls('timeline', customizePrefixCls); const itemClassName = classNames( { [`${prefixCls}-item`]: true, [`${prefixCls}-item-pending`]: pending, }, className, ); const dotClassName = classNames({ [`${prefixCls}-item-head`]: true, [`${prefixCls}-item-head-custom`]: dot, [`${prefixCls}-item-head-${color}`]: true, }); return (
  • {label &&
    {label}
    }
    {dot}
    {children}
  • ); }; TimelineItem.defaultProps = { color: 'blue', pending: false, position: '', }; export default TimelineItem;