import React, { PropsWithChildren, ReactNode, CSSProperties } from 'react' import classNames from 'classnames' import { usePrefix } from '../ConfigProvider' import { concat } from '../utils' import { useTimeline } from './hook' export interface TimelineItemProps { /** * 自定义 icon */ icon?: ReactNode label?: ReactNode /** * 小圆点颜色 * @default 'blue' */ color?: 'blue' | 'grey' | 'red' | 'green' className?: string style?: CSSProperties } export default function TimelineItem({ icon, label, children, color = 'blue', className, style }: PropsWithChildren) { const prefix = usePrefix('timeline-item') const { mode, placement, layout } = useTimeline() const itemClassName = classNames(prefix, className, concat(prefix, mode), concat(prefix, layout)) return (
  • {mode === 'left' &&
    {label}
    }
    { icon ||
    }
    {placement === 'top' && mode === 'right' && (
    {label}
    )}
    {children}
    {placement === 'bottom' && mode === 'right' && (
    {label}
    )}
  • ) }