@@ -33,8 +33,14 @@ const propTypes = {
3333 PropTypes . number ,
3434 PropTypes . string ,
3535 ] ) ,
36- modalTransitionTimeout : PropTypes . number ,
3736 backdropTransitionTimeout : PropTypes . number ,
37+ backdropTransitionAppearTimeout : PropTypes . number ,
38+ backdropTransitionEnterTimeout : PropTypes . number ,
39+ backdropTransitionLeaveTimeout : PropTypes . number ,
40+ modalTransitionTimeout : PropTypes . number ,
41+ modalTransitionAppearTimeout : PropTypes . number ,
42+ modalTransitionEnterTimeout : PropTypes . number ,
43+ modalTransitionLeaveTimeout : PropTypes . number ,
3844} ;
3945
4046const defaultProps = {
@@ -231,9 +237,21 @@ class Modal extends React.Component {
231237 key = "modal-dialog"
232238 onEnter = { this . onEnter }
233239 onLeave = { this . onExit }
234- transitionAppearTimeout = { modalTransitionTimeout }
235- transitionEnterTimeout = { modalTransitionTimeout }
236- transitionLeaveTimeout = { modalTransitionTimeout }
240+ transitionAppearTimeout = {
241+ typeof this . props . modalTransitionAppearTimeout === 'number'
242+ ? this . props . modalTransitionAppearTimeout
243+ : modalTransitionTimeout
244+ }
245+ transitionEnterTimeout = {
246+ typeof this . props . modalTransitionEnterTimeout === 'number'
247+ ? this . props . modalTransitionEnterTimeout
248+ : modalTransitionTimeout
249+ }
250+ transitionLeaveTimeout = {
251+ typeof this . props . modalTransitionLeaveTimeout === 'number'
252+ ? this . props . modalTransitionLeaveTimeout
253+ : modalTransitionTimeout
254+ }
237255 className = { mapToCssModules ( classNames ( 'modal' , modalClassName ) , cssModule ) }
238256 { ...modalAttributes }
239257 >
@@ -243,9 +261,21 @@ class Modal extends React.Component {
243261 { isOpen && backdrop && (
244262 < Fade
245263 key = "modal-backdrop"
246- transitionAppearTimeout = { backdropTransitionTimeout }
247- transitionEnterTimeout = { backdropTransitionTimeout }
248- transitionLeaveTimeout = { backdropTransitionTimeout }
264+ transitionAppearTimeout = {
265+ typeof this . props . backdropTransitionAppearTimeout === 'number'
266+ ? this . props . backdropTransitionAppearTimeout
267+ : backdropTransitionTimeout
268+ }
269+ transitionEnterTimeout = {
270+ typeof this . props . backdropTransitionEnterTimeout === 'number'
271+ ? this . props . backdropTransitionEnterTimeout
272+ : backdropTransitionTimeout
273+ }
274+ transitionLeaveTimeout = {
275+ typeof this . props . backdropTransitionLeaveTimeout === 'number'
276+ ? this . props . backdropTransitionLeaveTimeout
277+ : backdropTransitionTimeout
278+ }
249279 className = { mapToCssModules ( classNames ( 'modal-backdrop' , backdropClassName ) , cssModule ) }
250280 />
251281 ) }
0 commit comments