diff --git a/lib/components/Modal.js b/lib/components/Modal.js index 2b80d7cc..bb002983 100644 --- a/lib/components/Modal.js +++ b/lib/components/Modal.js @@ -59,6 +59,7 @@ var Modal = module.exports = React.createClass({ componentWillUnmount: function() { ReactDOM.unmountComponentAtNode(this.node); AppElement.removeChild(this.node); + elementClass(document.body).remove('ReactModal__Body--open'); }, renderPortal: function(props) { diff --git a/specs/Modal.spec.js b/specs/Modal.spec.js index 4162bfd4..53670799 100644 --- a/specs/Modal.spec.js +++ b/specs/Modal.spec.js @@ -175,6 +175,13 @@ describe('Modal', function () { unmountModal(); }); + it('removes class from body when unmounted without closing', function() { + var modal = renderModal({isOpen: true}); + equal(document.body.className.indexOf('ReactModal__Body--open') !== -1, true); + unmountModal(); + equal(document.body.className.indexOf('ReactModal__Body--open') !== -1, false); + }); + it('adds --after-open for animations', function() { var modal = renderModal({isOpen: true}); var overlay = document.querySelector('.ReactModal__Overlay');