@@ -28,6 +28,7 @@ export interface StepProps {
2828 iconRender ?: StepsProps [ 'iconRender' ] ;
2929 icon ?: React . ReactNode ;
3030 itemRender ?: StepsProps [ 'itemRender' ] ;
31+ itemWrapperRender ?: StepsProps [ 'itemWrapperRender' ] ;
3132
3233 // Event
3334 onClick ?: ( index : number ) => void ;
@@ -50,6 +51,7 @@ export default function Step(props: StepProps) {
5051 // render
5152 itemRender,
5253 iconRender,
54+ itemWrapperRender,
5355
5456 // events
5557 onClick,
@@ -122,6 +124,30 @@ export default function Step(props: StepProps) {
122124 classNames . item ,
123125 ) ;
124126
127+ const wrapperNode = (
128+ < div className = { `${ itemCls } -wrapper` } { ...accessibilityProps } >
129+ < div className = { `${ itemCls } -icon` } > { iconRender ?.( renderInfo ) } </ div >
130+ < div className = { `${ itemCls } -section` } >
131+ < div className = { `${ itemCls } -header` } >
132+ < div className = { `${ itemCls } -title` } > { title } </ div >
133+ { subTitle && (
134+ < div
135+ title = { typeof subTitle === 'string' ? subTitle : undefined }
136+ className = { `${ itemCls } -subtitle` }
137+ >
138+ { subTitle }
139+ </ div >
140+ ) }
141+
142+ { ! last && (
143+ < Rail prefixCls = { itemCls } classNames = { classNames } styles = { styles } status = { nextStatus } />
144+ ) }
145+ </ div >
146+ { mergedContent && < div className = { `${ itemCls } -description` } > { mergedContent } </ div > }
147+ </ div >
148+ </ div >
149+ ) ;
150+
125151 let stepNode : React . ReactNode = (
126152 < div
127153 { ...restItemProps }
@@ -131,32 +157,7 @@ export default function Step(props: StepProps) {
131157 ...style ,
132158 } }
133159 >
134- < div className = { `${ itemCls } -wrapper` } { ...accessibilityProps } >
135- < div className = { `${ itemCls } -icon` } > { iconRender ?.( renderInfo ) } </ div >
136- < div className = { `${ itemCls } -section` } >
137- < div className = { `${ itemCls } -header` } >
138- < div className = { `${ itemCls } -title` } > { title } </ div >
139- { subTitle && (
140- < div
141- title = { typeof subTitle === 'string' ? subTitle : undefined }
142- className = { `${ itemCls } -subtitle` }
143- >
144- { subTitle }
145- </ div >
146- ) }
147-
148- { ! last && (
149- < Rail
150- prefixCls = { itemCls }
151- classNames = { classNames }
152- styles = { styles }
153- status = { nextStatus }
154- />
155- ) }
156- </ div >
157- { mergedContent && < div className = { `${ itemCls } -description` } > { mergedContent } </ div > }
158- </ div >
159- </ div >
160+ { itemWrapperRender ? itemWrapperRender ( wrapperNode ) : wrapperNode }
160161 </ div >
161162 ) ;
162163
0 commit comments