@@ -24,6 +24,10 @@ const propTypes = {
2424 onExit : PropTypes . func ,
2525 children : PropTypes . node ,
2626 className : PropTypes . string ,
27+ wrapClassName : PropTypes . string ,
28+ modalClassName : PropTypes . string ,
29+ backdropClassName : PropTypes . string ,
30+ contentClassName : PropTypes . string ,
2731 cssModule : PropTypes . object ,
2832 zIndex : PropTypes . oneOfType ( [
2933 PropTypes . number ,
@@ -164,6 +168,10 @@ class Modal extends React.Component {
164168 renderChildren ( ) {
165169 const {
166170 className,
171+ wrapClassName,
172+ modalClassName,
173+ backdropClassName,
174+ contentClassName,
167175 cssModule,
168176 isOpen,
169177 size,
@@ -173,7 +181,7 @@ class Modal extends React.Component {
173181 } = omit ( this . props , [ 'toggle' , 'keyboard' , 'onEnter' , 'onExit' , 'zIndex' ] ) ;
174182
175183 return (
176- < TransitionGroup component = "div" >
184+ < TransitionGroup component = "div" className = { mapToCssModules ( wrapClassName ) } >
177185 { isOpen && (
178186 < Fade
179187 key = "modal-dialog"
@@ -184,7 +192,7 @@ class Modal extends React.Component {
184192 transitionLeaveTimeout = { 300 }
185193 onClickCapture = { this . handleBackdropClick }
186194 onKeyUp = { this . handleEscape }
187- className = { mapToCssModules ( 'modal' , cssModule ) }
195+ className = { mapToCssModules ( classNames ( 'modal' , modalClassName ) , cssModule ) }
188196 style = { { display : 'block' } }
189197 tabIndex = "-1"
190198 >
@@ -196,7 +204,7 @@ class Modal extends React.Component {
196204 ref = { ( c ) => ( this . _dialog = c ) }
197205 { ...attributes }
198206 >
199- < div className = { mapToCssModules ( 'modal-content' , cssModule ) } >
207+ < div className = { mapToCssModules ( classNames ( 'modal-content' , contentClassName ) , cssModule ) } >
200208 { children }
201209 </ div >
202210 </ div >
@@ -208,7 +216,7 @@ class Modal extends React.Component {
208216 transitionAppearTimeout = { 150 }
209217 transitionEnterTimeout = { 150 }
210218 transitionLeaveTimeout = { 150 }
211- className = { mapToCssModules ( 'modal-backdrop' , cssModule ) }
219+ className = { mapToCssModules ( classNames ( 'modal-backdrop' , backdropClassName ) , cssModule ) }
212220 />
213221 ) }
214222 </ TransitionGroup >
0 commit comments