import * as React from 'react'; import * as PropTypes from 'prop-types'; import RcSteps from 'rc-steps'; import Icon from '../icon'; 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; style?: React.CSSProperties; } export default class Steps extends React.Component { static Step = RcSteps.Step as React.ClassicComponentClass; static defaultProps = { current: 0, }; static propTypes = { prefixCls: PropTypes.string, iconPrefix: PropTypes.string, current: PropTypes.number, }; renderSteps = ({ getPrefixCls }: ConfigConsumerProps) => { const prefixCls = getPrefixCls('steps', this.props.prefixCls); const iconPrefix = getPrefixCls('', this.props.iconPrefix); const icons = { finish: , error: , }; return ; }; render() { return {this.renderSteps}; } }