import * as React from 'react'; import RcSteps from 'rc-steps'; import CheckOutlined from '@ant-design/icons/CheckOutlined'; import CloseOutlined from '@ant-design/icons/CloseOutlined'; import classNames from 'classnames'; import { ConfigConsumer, ConfigConsumerProps } from '../config-provider'; export interface StepsProps { type?: 'default' | 'navigation'; className?: string; current?: number; direction?: 'horizontal' | 'vertical'; iconPrefix?: string; initial?: number; labelPlacement?: 'horizontal' | 'vertical'; prefixCls?: string; progressDot?: boolean | Function; size?: 'default' | 'small'; status?: 'wait' | 'process' | 'finish' | 'error'; style?: React.CSSProperties; onChange?: (current: number) => void; } export interface StepProps { className?: string; description?: React.ReactNode; icon?: React.ReactNode; onClick?: React.MouseEventHandler; status?: 'wait' | 'process' | 'finish' | 'error'; disabled?: boolean; title?: React.ReactNode; subTitle?: React.ReactNode; style?: React.CSSProperties; } export default class Steps extends React.Component { static Step = RcSteps.Step as React.ClassicComponentClass; static defaultProps = { current: 0, }; renderSteps = ({ getPrefixCls, direction }: ConfigConsumerProps) => { const prefixCls = getPrefixCls('steps', this.props.prefixCls); const iconPrefix = getPrefixCls('', this.props.iconPrefix); const className = classNames(this.props.className, { [`${prefixCls}-rtl`]: direction === 'rtl', }); const icons = { finish: , error: , }; return ( ); }; render() { return {this.renderSteps}; } }