Skip to content

Commit a783308

Browse files
DanielleHuismaneddywashere
authored andcommitted
feat(Modal): Pass through props in Modal (#254)
1 parent 72d9a0d commit a783308

1 file changed

Lines changed: 18 additions & 6 deletions

File tree

src/Modal.js

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import React, { PropTypes } from 'react';
22
import ReactDOM from 'react-dom';
33
import classNames from 'classnames';
4+
import omit from 'lodash.omit';
45
import TransitionGroup from 'react-addons-transition-group';
56
import Fade from './Fade';
67
import {
@@ -161,9 +162,19 @@ class Modal extends React.Component {
161162
}
162163

163164
renderChildren() {
165+
const {
166+
className,
167+
cssModule,
168+
isOpen,
169+
size,
170+
backdrop,
171+
children,
172+
...attributes
173+
} = omit(this.props, ['toggle', 'keyboard', 'onEnter', 'onExit', 'zIndex']);
174+
164175
return (
165176
<TransitionGroup component="div">
166-
{this.props.isOpen && (
177+
{isOpen && (
167178
<Fade
168179
key="modal-dialog"
169180
onEnter={this.onEnter}
@@ -178,19 +189,20 @@ class Modal extends React.Component {
178189
tabIndex="-1"
179190
>
180191
<div
181-
className={mapToCssModules(classNames('modal-dialog', this.props.className, {
182-
[`modal-${this.props.size}`]: this.props.size
183-
}), this.props.cssModule)}
192+
className={mapToCssModules(classNames('modal-dialog', className, {
193+
[`modal-${size}`]: size
194+
}), cssModule)}
184195
role="document"
185196
ref={(c) => (this._dialog = c)}
197+
{...attributes}
186198
>
187199
<div className="modal-content">
188-
{this.props.children}
200+
{children}
189201
</div>
190202
</div>
191203
</Fade>
192204
)}
193-
{this.props.isOpen && this.props.backdrop && (
205+
{isOpen && backdrop && (
194206
<Fade
195207
key="modal-backdrop"
196208
transitionAppearTimeout={150}

0 commit comments

Comments
 (0)