react-modal
Advanced tools
Comparing version 1.3.0 to 1.4.0
@@ -0,1 +1,8 @@ | ||
v1.4.0 - Thu, 30 Jun 2016 19:12:02 GMT | ||
-------------------------------------- | ||
- [13bd46e](../../commit/13bd46e) [fixed] clear the delayed close timer when modal opens again. (#189) | ||
- [70d91eb](../../commit/70d91eb) [fixed] Add missing envify npm dependency. Closes #193 (#194) | ||
v1.3.0 - Tue, 17 May 2016 16:04:50 GMT | ||
@@ -2,0 +9,0 @@ -------------------------------------- |
@@ -314,11 +314,16 @@ (function webpackUniversalModuleDefinition(root, factory) { | ||
open: function open() { | ||
focusManager.setupScopedFocus(this.node); | ||
focusManager.markForFocusLater(); | ||
this.setState({ isOpen: true }, function () { | ||
this.setState({ afterOpen: true }); | ||
if (this.state.afterOpen && this.state.beforeClose) { | ||
clearTimeout(this.closeTimer); | ||
this.setState({ beforeClose: false }); | ||
} else { | ||
focusManager.setupScopedFocus(this.node); | ||
focusManager.markForFocusLater(); | ||
this.setState({ isOpen: true }, function () { | ||
this.setState({ afterOpen: true }); | ||
if (this.props.isOpen && this.props.onAfterOpen) { | ||
this.props.onAfterOpen(); | ||
} | ||
}.bind(this)); | ||
if (this.props.isOpen && this.props.onAfterOpen) { | ||
this.props.onAfterOpen(); | ||
} | ||
}.bind(this)); | ||
} | ||
}, | ||
@@ -343,4 +348,5 @@ | ||
this.setState({ | ||
afterOpen: false, | ||
beforeClose: false | ||
beforeClose: false, | ||
isOpen: false, | ||
afterOpen: false | ||
}, this.afterClose); | ||
@@ -347,0 +353,0 @@ }, |
@@ -1,2 +0,2 @@ | ||
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("react-dom")):"function"==typeof define&&define.amd?define(["react","react-dom"],t):"object"==typeof exports?exports.ReactModal=t(require("react"),require("react-dom")):e.ReactModal=t(e.react,e["react-dom"])}(this,function(e,t){return function(e){function t(o){if(n[o])return n[o].exports;var r=n[o]={exports:{},id:o,loaded:!1};return e[o].call(r.exports,r,r.exports,t),r.loaded=!0,r.exports}var n={};return t.m=e,t.c=n,t.p="/",t(0)}([function(e,t,n){"use strict";e.exports=n(1)},function(e,t,n){"use strict";var o=n(2),r=n(3),i=n(4),u=o.createFactory(n(5)),s=n(20),c=n(21),a=n(3).unstable_renderSubtreeIntoContainer,l=n(9),f=i.canUseDOM?window.HTMLElement:{},p=i.canUseDOM?document.body:{appendChild:function(){}},d=o.createClass({displayName:"Modal",statics:{setAppElement:function(e){p=s.setElement(e)},injectCSS:function(){console.warn("React-Modal: injectCSS has been deprecated and no longer has any effect. It will be removed in a later version")}},propTypes:{isOpen:o.PropTypes.bool.isRequired,style:o.PropTypes.shape({content:o.PropTypes.object,overlay:o.PropTypes.object}),appElement:o.PropTypes.instanceOf(f),onAfterOpen:o.PropTypes.func,onRequestClose:o.PropTypes.func,closeTimeoutMS:o.PropTypes.number,ariaHideApp:o.PropTypes.bool,shouldCloseOnOverlayClick:o.PropTypes.bool},getDefaultProps:function(){return{isOpen:!1,ariaHideApp:!0,closeTimeoutMS:0,shouldCloseOnOverlayClick:!0}},componentDidMount:function(){this.node=document.createElement("div"),this.node.className="ReactModalPortal",document.body.appendChild(this.node),this.renderPortal(this.props)},componentWillReceiveProps:function(e){this.renderPortal(e)},componentWillUnmount:function(){r.unmountComponentAtNode(this.node),document.body.removeChild(this.node),c(document.body).remove("ReactModal__Body--open")},renderPortal:function(e){e.isOpen?c(document.body).add("ReactModal__Body--open"):c(document.body).remove("ReactModal__Body--open"),e.ariaHideApp&&s.toggle(e.isOpen,e.appElement),this.portal=a(this,u(l({},e,{defaultStyles:d.defaultStyles})),this.node)},render:function(){return o.DOM.noscript()}});d.defaultStyles={overlay:{position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(255, 255, 255, 0.75)"},content:{position:"absolute",top:"40px",left:"40px",right:"40px",bottom:"40px",border:"1px solid #ccc",background:"#fff",overflow:"auto",WebkitOverflowScrolling:"touch",borderRadius:"4px",outline:"none",padding:"20px"}},e.exports=d},function(t,n){t.exports=e},function(e,n){e.exports=t},function(e,t,n){var o;/*! | ||
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("react-dom")):"function"==typeof define&&define.amd?define(["react","react-dom"],t):"object"==typeof exports?exports.ReactModal=t(require("react"),require("react-dom")):e.ReactModal=t(e.react,e["react-dom"])}(this,function(e,t){return function(e){function t(o){if(n[o])return n[o].exports;var r=n[o]={exports:{},id:o,loaded:!1};return e[o].call(r.exports,r,r.exports,t),r.loaded=!0,r.exports}var n={};return t.m=e,t.c=n,t.p="/",t(0)}([function(e,t,n){"use strict";e.exports=n(1)},function(e,t,n){"use strict";var o=n(2),r=n(3),i=n(4),s=o.createFactory(n(5)),u=n(20),c=n(21),a=n(3).unstable_renderSubtreeIntoContainer,l=n(9),f=i.canUseDOM?window.HTMLElement:{},p=i.canUseDOM?document.body:{appendChild:function(){}},d=o.createClass({displayName:"Modal",statics:{setAppElement:function(e){p=u.setElement(e)},injectCSS:function(){console.warn("React-Modal: injectCSS has been deprecated and no longer has any effect. It will be removed in a later version")}},propTypes:{isOpen:o.PropTypes.bool.isRequired,style:o.PropTypes.shape({content:o.PropTypes.object,overlay:o.PropTypes.object}),appElement:o.PropTypes.instanceOf(f),onAfterOpen:o.PropTypes.func,onRequestClose:o.PropTypes.func,closeTimeoutMS:o.PropTypes.number,ariaHideApp:o.PropTypes.bool,shouldCloseOnOverlayClick:o.PropTypes.bool},getDefaultProps:function(){return{isOpen:!1,ariaHideApp:!0,closeTimeoutMS:0,shouldCloseOnOverlayClick:!0}},componentDidMount:function(){this.node=document.createElement("div"),this.node.className="ReactModalPortal",document.body.appendChild(this.node),this.renderPortal(this.props)},componentWillReceiveProps:function(e){this.renderPortal(e)},componentWillUnmount:function(){r.unmountComponentAtNode(this.node),document.body.removeChild(this.node),c(document.body).remove("ReactModal__Body--open")},renderPortal:function(e){e.isOpen?c(document.body).add("ReactModal__Body--open"):c(document.body).remove("ReactModal__Body--open"),e.ariaHideApp&&u.toggle(e.isOpen,e.appElement),this.portal=a(this,s(l({},e,{defaultStyles:d.defaultStyles})),this.node)},render:function(){return o.DOM.noscript()}});d.defaultStyles={overlay:{position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(255, 255, 255, 0.75)"},content:{position:"absolute",top:"40px",left:"40px",right:"40px",bottom:"40px",border:"1px solid #ccc",background:"#fff",overflow:"auto",WebkitOverflowScrolling:"touch",borderRadius:"4px",outline:"none",padding:"20px"}},e.exports=d},function(t,n){t.exports=e},function(e,n){e.exports=t},function(e,t,n){var o;/*! | ||
Copyright (c) 2015 Jed Watson. | ||
@@ -6,3 +6,3 @@ Based on code that is Copyright 2013-2015, Facebook, Inc. | ||
*/ | ||
!function(){"use strict";var r=!("undefined"==typeof window||!window.document||!window.document.createElement),i={canUseDOM:r,canUseWorkers:"undefined"!=typeof Worker,canUseEventListeners:r&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:r&&!!window.screen};o=function(){return i}.call(t,n,t,e),!(void 0!==o&&(e.exports=o))}()},function(e,t,n){"use strict";var o=n(2),r=o.DOM.div,i=n(6),u=n(8),s=n(9),c={overlay:{base:"ReactModal__Overlay",afterOpen:"ReactModal__Overlay--after-open",beforeClose:"ReactModal__Overlay--before-close"},content:{base:"ReactModal__Content",afterOpen:"ReactModal__Content--after-open",beforeClose:"ReactModal__Content--before-close"}};e.exports=o.createClass({displayName:"ModalPortal",getDefaultProps:function(){return{style:{overlay:{},content:{}}}},getInitialState:function(){return{afterOpen:!1,beforeClose:!1}},componentDidMount:function(){this.props.isOpen&&(this.setFocusAfterRender(!0),this.open())},componentWillUnmount:function(){clearTimeout(this.closeTimer)},componentWillReceiveProps:function(e){!this.props.isOpen&&e.isOpen?(this.setFocusAfterRender(!0),this.open()):this.props.isOpen&&!e.isOpen&&this.close()},componentDidUpdate:function(){this.focusAfterRender&&(this.focusContent(),this.setFocusAfterRender(!1))},setFocusAfterRender:function(e){this.focusAfterRender=e},open:function(){i.setupScopedFocus(this.node),i.markForFocusLater(),this.setState({isOpen:!0},function(){this.setState({afterOpen:!0}),this.props.isOpen&&this.props.onAfterOpen&&this.props.onAfterOpen()}.bind(this))},close:function(){this.ownerHandlesClose()&&(this.props.closeTimeoutMS>0?this.closeWithTimeout():this.closeWithoutTimeout())},focusContent:function(){this.refs.content.focus()},closeWithTimeout:function(){this.setState({beforeClose:!0},function(){this.closeTimer=setTimeout(this.closeWithoutTimeout,this.props.closeTimeoutMS)}.bind(this))},closeWithoutTimeout:function(){this.setState({afterOpen:!1,beforeClose:!1},this.afterClose)},afterClose:function(){i.returnFocus(),i.teardownScopedFocus()},handleKeyDown:function(e){9==e.keyCode&&u(this.refs.content,e),27==e.keyCode&&(e.preventDefault(),this.requestClose(e))},handleOverlayClick:function(e){for(var t=e.target;t;){if(t===this.refs.content)return;t=t.parentNode}this.props.shouldCloseOnOverlayClick&&(this.ownerHandlesClose()?this.requestClose(e):this.focusContent())},requestClose:function(e){this.ownerHandlesClose()&&this.props.onRequestClose(e)},ownerHandlesClose:function(){return this.props.onRequestClose},shouldBeClosed:function(){return!this.props.isOpen&&!this.state.beforeClose},buildClassName:function(e,t){var n=c[e].base;return this.state.afterOpen&&(n+=" "+c[e].afterOpen),this.state.beforeClose&&(n+=" "+c[e].beforeClose),t?n+" "+t:n},render:function(){var e=this.props.className?{}:this.props.defaultStyles.content,t=this.props.overlayClassName?{}:this.props.defaultStyles.overlay;return this.shouldBeClosed()?r():r({ref:"overlay",className:this.buildClassName("overlay",this.props.overlayClassName),style:s({},t,this.props.style.overlay||{}),onClick:this.handleOverlayClick},r({ref:"content",style:s({},e,this.props.style.content||{}),className:this.buildClassName("content",this.props.className),tabIndex:"-1",onKeyDown:this.handleKeyDown},this.props.children))}})},function(e,t,n){"use strict";function o(e){c=!0}function r(e){if(c){if(c=!1,!u)return;setTimeout(function(){if(!u.contains(document.activeElement)){var e=i(u)[0]||u;e.focus()}},0)}}var i=n(7),u=null,s=null,c=!1;t.markForFocusLater=function(){s=document.activeElement},t.returnFocus=function(){try{s.focus()}catch(e){console.warn("You tried to return focus to "+s+" but it is not in the DOM anymore")}s=null},t.setupScopedFocus=function(e){u=e,window.addEventListener?(window.addEventListener("blur",o,!1),document.addEventListener("focus",r,!0)):(window.attachEvent("onBlur",o),document.attachEvent("onFocus",r))},t.teardownScopedFocus=function(){u=null,window.addEventListener?(window.removeEventListener("blur",o),document.removeEventListener("focus",r)):(window.detachEvent("onBlur",o),document.detachEvent("onFocus",r))}},function(e,t){"use strict";/*! | ||
!function(){"use strict";var r=!("undefined"==typeof window||!window.document||!window.document.createElement),i={canUseDOM:r,canUseWorkers:"undefined"!=typeof Worker,canUseEventListeners:r&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:r&&!!window.screen};o=function(){return i}.call(t,n,t,e),!(void 0!==o&&(e.exports=o))}()},function(e,t,n){"use strict";var o=n(2),r=o.DOM.div,i=n(6),s=n(8),u=n(9),c={overlay:{base:"ReactModal__Overlay",afterOpen:"ReactModal__Overlay--after-open",beforeClose:"ReactModal__Overlay--before-close"},content:{base:"ReactModal__Content",afterOpen:"ReactModal__Content--after-open",beforeClose:"ReactModal__Content--before-close"}};e.exports=o.createClass({displayName:"ModalPortal",getDefaultProps:function(){return{style:{overlay:{},content:{}}}},getInitialState:function(){return{afterOpen:!1,beforeClose:!1}},componentDidMount:function(){this.props.isOpen&&(this.setFocusAfterRender(!0),this.open())},componentWillUnmount:function(){clearTimeout(this.closeTimer)},componentWillReceiveProps:function(e){!this.props.isOpen&&e.isOpen?(this.setFocusAfterRender(!0),this.open()):this.props.isOpen&&!e.isOpen&&this.close()},componentDidUpdate:function(){this.focusAfterRender&&(this.focusContent(),this.setFocusAfterRender(!1))},setFocusAfterRender:function(e){this.focusAfterRender=e},open:function(){this.state.afterOpen&&this.state.beforeClose?(clearTimeout(this.closeTimer),this.setState({beforeClose:!1})):(i.setupScopedFocus(this.node),i.markForFocusLater(),this.setState({isOpen:!0},function(){this.setState({afterOpen:!0}),this.props.isOpen&&this.props.onAfterOpen&&this.props.onAfterOpen()}.bind(this)))},close:function(){this.ownerHandlesClose()&&(this.props.closeTimeoutMS>0?this.closeWithTimeout():this.closeWithoutTimeout())},focusContent:function(){this.refs.content.focus()},closeWithTimeout:function(){this.setState({beforeClose:!0},function(){this.closeTimer=setTimeout(this.closeWithoutTimeout,this.props.closeTimeoutMS)}.bind(this))},closeWithoutTimeout:function(){this.setState({beforeClose:!1,isOpen:!1,afterOpen:!1},this.afterClose)},afterClose:function(){i.returnFocus(),i.teardownScopedFocus()},handleKeyDown:function(e){9==e.keyCode&&s(this.refs.content,e),27==e.keyCode&&(e.preventDefault(),this.requestClose(e))},handleOverlayClick:function(e){for(var t=e.target;t;){if(t===this.refs.content)return;t=t.parentNode}this.props.shouldCloseOnOverlayClick&&(this.ownerHandlesClose()?this.requestClose(e):this.focusContent())},requestClose:function(e){this.ownerHandlesClose()&&this.props.onRequestClose(e)},ownerHandlesClose:function(){return this.props.onRequestClose},shouldBeClosed:function(){return!this.props.isOpen&&!this.state.beforeClose},buildClassName:function(e,t){var n=c[e].base;return this.state.afterOpen&&(n+=" "+c[e].afterOpen),this.state.beforeClose&&(n+=" "+c[e].beforeClose),t?n+" "+t:n},render:function(){var e=this.props.className?{}:this.props.defaultStyles.content,t=this.props.overlayClassName?{}:this.props.defaultStyles.overlay;return this.shouldBeClosed()?r():r({ref:"overlay",className:this.buildClassName("overlay",this.props.overlayClassName),style:u({},t,this.props.style.overlay||{}),onClick:this.handleOverlayClick},r({ref:"content",style:u({},e,this.props.style.content||{}),className:this.buildClassName("content",this.props.className),tabIndex:"-1",onKeyDown:this.handleKeyDown},this.props.children))}})},function(e,t,n){"use strict";function o(e){c=!0}function r(e){if(c){if(c=!1,!s)return;setTimeout(function(){if(!s.contains(document.activeElement)){var e=i(s)[0]||s;e.focus()}},0)}}var i=n(7),s=null,u=null,c=!1;t.markForFocusLater=function(){u=document.activeElement},t.returnFocus=function(){try{u.focus()}catch(e){console.warn("You tried to return focus to "+u+" but it is not in the DOM anymore")}u=null},t.setupScopedFocus=function(e){s=e,window.addEventListener?(window.addEventListener("blur",o,!1),document.addEventListener("focus",r,!0)):(window.attachEvent("onBlur",o),document.attachEvent("onFocus",r))},t.teardownScopedFocus=function(){s=null,window.addEventListener?(window.removeEventListener("blur",o),document.removeEventListener("focus",r)):(window.detachEvent("onBlur",o),document.detachEvent("onFocus",r))}},function(e,t){"use strict";/*! | ||
* Adapted from jQuery UI core | ||
@@ -18,2 +18,2 @@ * | ||
*/ | ||
function n(e,t){var n=e.nodeName.toLowerCase();return(/input|select|textarea|button|object/.test(n)?!e.disabled:"a"===n?e.href||t:t)&&r(e)}function o(e){return e.offsetWidth<=0&&e.offsetHeight<=0||"none"===e.style.display}function r(e){for(;e&&e!==document.body;){if(o(e))return!1;e=e.parentNode}return!0}function i(e){var t=e.getAttribute("tabindex");null===t&&(t=void 0);var o=isNaN(t);return(o||t>=0)&&n(e,!o)}function u(e){return[].slice.call(e.querySelectorAll("*"),0).filter(function(e){return i(e)})}e.exports=u},function(e,t,n){"use strict";var o=n(7);e.exports=function(e,t){var n=o(e);if(!n.length)return void t.preventDefault();var r=n[t.shiftKey?0:n.length-1],i=r===document.activeElement||e===document.activeElement;if(i){t.preventDefault();var u=n[t.shiftKey?n.length-1:0];u.focus()}}},function(e,t,n){function o(e,t,n){for(var o=-1,r=u(t),i=r.length;++o<i;){var s=r[o],c=e[s],a=n(c,t[s],s,e,t);(a===a?a===c:c!==c)&&(void 0!==c||s in e)||(e[s]=a)}return e}var r=n(10),i=n(16),u=n(12),s=i(function(e,t,n){return n?o(e,t,n):r(e,t)});e.exports=s},function(e,t,n){function o(e,t){return null==t?e:r(t,i(t),e)}var r=n(11),i=n(12);e.exports=o},function(e,t){function n(e,t,n){n||(n={});for(var o=-1,r=t.length;++o<r;){var i=t[o];n[i]=e[i]}return n}e.exports=n},function(e,t,n){function o(e){return function(t){return null==t?void 0:t[e]}}function r(e){return null!=e&&u(b(e))}function i(e,t){return e="number"==typeof e||d.test(e)?+e:-1,t=null==t?m:t,e>-1&&e%1==0&&t>e}function u(e){return"number"==typeof e&&e>-1&&e%1==0&&m>=e}function s(e){for(var t=a(e),n=t.length,o=n&&e.length,r=!!o&&u(o)&&(p(e)||f(e)),s=-1,c=[];++s<n;){var l=t[s];(r&&i(l,o)||v.call(e,l))&&c.push(l)}return c}function c(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function a(e){if(null==e)return[];c(e)||(e=Object(e));var t=e.length;t=t&&u(t)&&(p(e)||f(e))&&t||0;for(var n=e.constructor,o=-1,r="function"==typeof n&&n.prototype===e,s=Array(t),a=t>0;++o<t;)s[o]=o+"";for(var l in e)a&&i(l,t)||"constructor"==l&&(r||!v.call(e,l))||s.push(l);return s}var l=n(13),f=n(14),p=n(15),d=/^\d+$/,h=Object.prototype,v=h.hasOwnProperty,y=l(Object,"keys"),m=9007199254740991,b=o("length"),w=y?function(e){var t=null==e?void 0:e.constructor;return"function"==typeof t&&t.prototype===e||"function"!=typeof e&&r(e)?s(e):c(e)?y(e):[]}:s;e.exports=w},function(e,t){function n(e){return!!e&&"object"==typeof e}function o(e,t){var n=null==e?void 0:e[t];return u(n)?n:void 0}function r(e){return i(e)&&p.call(e)==s}function i(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function u(e){return null==e?!1:r(e)?d.test(l.call(e)):n(e)&&c.test(e)}var s="[object Function]",c=/^\[object .+?Constructor\]$/,a=Object.prototype,l=Function.prototype.toString,f=a.hasOwnProperty,p=a.toString,d=RegExp("^"+l.call(f).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=o},function(e,t){function n(e){return function(t){return null==t?void 0:t[e]}}function o(e){return i(e)&&v.call(e,"callee")&&(!m.call(e,"callee")||y.call(e)==f)}function r(e){return null!=e&&s(b(e))&&!u(e)}function i(e){return a(e)&&r(e)}function u(e){var t=c(e)?y.call(e):"";return t==p||t==d}function s(e){return"number"==typeof e&&e>-1&&e%1==0&&l>=e}function c(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function a(e){return!!e&&"object"==typeof e}var l=9007199254740991,f="[object Arguments]",p="[object Function]",d="[object GeneratorFunction]",h=Object.prototype,v=h.hasOwnProperty,y=h.toString,m=h.propertyIsEnumerable,b=n("length");e.exports=o},function(e,t){function n(e){return!!e&&"object"==typeof e}function o(e,t){var n=null==e?void 0:e[t];return s(n)?n:void 0}function r(e){return"number"==typeof e&&e>-1&&e%1==0&&m>=e}function i(e){return u(e)&&h.call(e)==a}function u(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function s(e){return null==e?!1:i(e)?v.test(p.call(e)):n(e)&&l.test(e)}var c="[object Array]",a="[object Function]",l=/^\[object .+?Constructor\]$/,f=Object.prototype,p=Function.prototype.toString,d=f.hasOwnProperty,h=f.toString,v=RegExp("^"+p.call(d).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),y=o(Array,"isArray"),m=9007199254740991,b=y||function(e){return n(e)&&r(e.length)&&h.call(e)==c};e.exports=b},function(e,t,n){function o(e){return u(function(t,n){var o=-1,u=null==t?0:n.length,s=u>2?n[u-2]:void 0,c=u>2?n[2]:void 0,a=u>1?n[u-1]:void 0;for("function"==typeof s?(s=r(s,a,5),u-=2):(s="function"==typeof a?a:void 0,u-=s?1:0),c&&i(n[0],n[1],c)&&(s=3>u?void 0:s,u=1);++o<u;){var l=n[o];l&&e(t,l,s)}return t})}var r=n(17),i=n(18),u=n(19);e.exports=o},function(e,t){function n(e,t,n){if("function"!=typeof e)return o;if(void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 3:return function(n,o,r){return e.call(t,n,o,r)};case 4:return function(n,o,r,i){return e.call(t,n,o,r,i)};case 5:return function(n,o,r,i,u){return e.call(t,n,o,r,i,u)}}return function(){return e.apply(t,arguments)}}function o(e){return e}e.exports=n},function(e,t){function n(e){return function(t){return null==t?void 0:t[e]}}function o(e){return null!=e&&u(l(e))}function r(e,t){return e="number"==typeof e||c.test(e)?+e:-1,t=null==t?a:t,e>-1&&e%1==0&&t>e}function i(e,t,n){if(!s(n))return!1;var i=typeof t;if("number"==i?o(n)&&r(t,n.length):"string"==i&&t in n){var u=n[t];return e===e?e===u:u!==u}return!1}function u(e){return"number"==typeof e&&e>-1&&e%1==0&&a>=e}function s(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}var c=/^\d+$/,a=9007199254740991,l=n("length");e.exports=i},function(e,t){function n(e,t){if("function"!=typeof e)throw new TypeError(o);return t=r(void 0===t?e.length-1:+t||0,0),function(){for(var n=arguments,o=-1,i=r(n.length-t,0),u=Array(i);++o<i;)u[o]=n[t+o];switch(t){case 0:return e.call(this,u);case 1:return e.call(this,n[0],u);case 2:return e.call(this,n[0],n[1],u)}var s=Array(t+1);for(o=-1;++o<t;)s[o]=n[o];return s[t]=u,e.apply(this,s)}}var o="Expected a function",r=Math.max;e.exports=n},function(e,t){"use strict";function n(e){if("string"==typeof e){var t=document.querySelectorAll(e);e="length"in t?t[0]:t}return c=e||c}function o(e){u(e),(e||c).setAttribute("aria-hidden","true")}function r(e){u(e),(e||c).removeAttribute("aria-hidden")}function i(e,t){e?o(t):r(t)}function u(e){if(!e&&!c)throw new Error("react-modal: You must set an element with `Modal.setAppElement(el)` to make this accessible")}function s(){c=document.body}var c="undefined"!=typeof document?document.body:null;t.toggle=i,t.setElement=n,t.show=r,t.hide=o,t.resetForTesting=s},function(e,t){function n(e,t){if(e.indexOf)return e.indexOf(t);for(var n=0,o=e.length;o>n;n++)if(e[n]===t)return n;return-1}function o(e){if(!(this instanceof o))return new o(e);e||(e={}),e.nodeType&&(e={el:e}),this.opts=e,this.el=e.el||document.body,"object"!=typeof this.el&&(this.el=document.querySelector(this.el))}e.exports=function(e){return new o(e)},o.prototype.add=function(e){var t=this.el;if(t){if(""===t.className)return t.className=e;var o=t.className.split(" ");return n(o,e)>-1?o:(o.push(e),t.className=o.join(" "),o)}},o.prototype.remove=function(e){var t=this.el;if(t&&""!==t.className){var o=t.className.split(" "),r=n(o,e);return r>-1&&o.splice(r,1),t.className=o.join(" "),o}},o.prototype.has=function(e){var t=this.el;if(t){var o=t.className.split(" ");return n(o,e)>-1}},o.prototype.toggle=function(e){var t=this.el;t&&(this.has(e)?this.remove(e):this.add(e))}}])}); | ||
function n(e,t){var n=e.nodeName.toLowerCase();return(/input|select|textarea|button|object/.test(n)?!e.disabled:"a"===n?e.href||t:t)&&r(e)}function o(e){return e.offsetWidth<=0&&e.offsetHeight<=0||"none"===e.style.display}function r(e){for(;e&&e!==document.body;){if(o(e))return!1;e=e.parentNode}return!0}function i(e){var t=e.getAttribute("tabindex");null===t&&(t=void 0);var o=isNaN(t);return(o||t>=0)&&n(e,!o)}function s(e){return[].slice.call(e.querySelectorAll("*"),0).filter(function(e){return i(e)})}e.exports=s},function(e,t,n){"use strict";var o=n(7);e.exports=function(e,t){var n=o(e);if(!n.length)return void t.preventDefault();var r=n[t.shiftKey?0:n.length-1],i=r===document.activeElement||e===document.activeElement;if(i){t.preventDefault();var s=n[t.shiftKey?n.length-1:0];s.focus()}}},function(e,t,n){function o(e,t,n){for(var o=-1,r=s(t),i=r.length;++o<i;){var u=r[o],c=e[u],a=n(c,t[u],u,e,t);(a===a?a===c:c!==c)&&(void 0!==c||u in e)||(e[u]=a)}return e}var r=n(10),i=n(16),s=n(12),u=i(function(e,t,n){return n?o(e,t,n):r(e,t)});e.exports=u},function(e,t,n){function o(e,t){return null==t?e:r(t,i(t),e)}var r=n(11),i=n(12);e.exports=o},function(e,t){function n(e,t,n){n||(n={});for(var o=-1,r=t.length;++o<r;){var i=t[o];n[i]=e[i]}return n}e.exports=n},function(e,t,n){function o(e){return function(t){return null==t?void 0:t[e]}}function r(e){return null!=e&&s(b(e))}function i(e,t){return e="number"==typeof e||d.test(e)?+e:-1,t=null==t?m:t,e>-1&&e%1==0&&t>e}function s(e){return"number"==typeof e&&e>-1&&e%1==0&&m>=e}function u(e){for(var t=a(e),n=t.length,o=n&&e.length,r=!!o&&s(o)&&(p(e)||f(e)),u=-1,c=[];++u<n;){var l=t[u];(r&&i(l,o)||v.call(e,l))&&c.push(l)}return c}function c(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function a(e){if(null==e)return[];c(e)||(e=Object(e));var t=e.length;t=t&&s(t)&&(p(e)||f(e))&&t||0;for(var n=e.constructor,o=-1,r="function"==typeof n&&n.prototype===e,u=Array(t),a=t>0;++o<t;)u[o]=o+"";for(var l in e)a&&i(l,t)||"constructor"==l&&(r||!v.call(e,l))||u.push(l);return u}var l=n(13),f=n(14),p=n(15),d=/^\d+$/,h=Object.prototype,v=h.hasOwnProperty,y=l(Object,"keys"),m=9007199254740991,b=o("length"),C=y?function(e){var t=null==e?void 0:e.constructor;return"function"==typeof t&&t.prototype===e||"function"!=typeof e&&r(e)?u(e):c(e)?y(e):[]}:u;e.exports=C},function(e,t){function n(e){return!!e&&"object"==typeof e}function o(e,t){var n=null==e?void 0:e[t];return s(n)?n:void 0}function r(e){return i(e)&&p.call(e)==u}function i(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function s(e){return null==e?!1:r(e)?d.test(l.call(e)):n(e)&&c.test(e)}var u="[object Function]",c=/^\[object .+?Constructor\]$/,a=Object.prototype,l=Function.prototype.toString,f=a.hasOwnProperty,p=a.toString,d=RegExp("^"+l.call(f).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=o},function(e,t){function n(e){return function(t){return null==t?void 0:t[e]}}function o(e){return i(e)&&v.call(e,"callee")&&(!m.call(e,"callee")||y.call(e)==f)}function r(e){return null!=e&&u(b(e))&&!s(e)}function i(e){return a(e)&&r(e)}function s(e){var t=c(e)?y.call(e):"";return t==p||t==d}function u(e){return"number"==typeof e&&e>-1&&e%1==0&&l>=e}function c(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function a(e){return!!e&&"object"==typeof e}var l=9007199254740991,f="[object Arguments]",p="[object Function]",d="[object GeneratorFunction]",h=Object.prototype,v=h.hasOwnProperty,y=h.toString,m=h.propertyIsEnumerable,b=n("length");e.exports=o},function(e,t){function n(e){return!!e&&"object"==typeof e}function o(e,t){var n=null==e?void 0:e[t];return u(n)?n:void 0}function r(e){return"number"==typeof e&&e>-1&&e%1==0&&m>=e}function i(e){return s(e)&&h.call(e)==a}function s(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function u(e){return null==e?!1:i(e)?v.test(p.call(e)):n(e)&&l.test(e)}var c="[object Array]",a="[object Function]",l=/^\[object .+?Constructor\]$/,f=Object.prototype,p=Function.prototype.toString,d=f.hasOwnProperty,h=f.toString,v=RegExp("^"+p.call(d).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),y=o(Array,"isArray"),m=9007199254740991,b=y||function(e){return n(e)&&r(e.length)&&h.call(e)==c};e.exports=b},function(e,t,n){function o(e){return s(function(t,n){var o=-1,s=null==t?0:n.length,u=s>2?n[s-2]:void 0,c=s>2?n[2]:void 0,a=s>1?n[s-1]:void 0;for("function"==typeof u?(u=r(u,a,5),s-=2):(u="function"==typeof a?a:void 0,s-=u?1:0),c&&i(n[0],n[1],c)&&(u=3>s?void 0:u,s=1);++o<s;){var l=n[o];l&&e(t,l,u)}return t})}var r=n(17),i=n(18),s=n(19);e.exports=o},function(e,t){function n(e,t,n){if("function"!=typeof e)return o;if(void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 3:return function(n,o,r){return e.call(t,n,o,r)};case 4:return function(n,o,r,i){return e.call(t,n,o,r,i)};case 5:return function(n,o,r,i,s){return e.call(t,n,o,r,i,s)}}return function(){return e.apply(t,arguments)}}function o(e){return e}e.exports=n},function(e,t){function n(e){return function(t){return null==t?void 0:t[e]}}function o(e){return null!=e&&s(l(e))}function r(e,t){return e="number"==typeof e||c.test(e)?+e:-1,t=null==t?a:t,e>-1&&e%1==0&&t>e}function i(e,t,n){if(!u(n))return!1;var i=typeof t;if("number"==i?o(n)&&r(t,n.length):"string"==i&&t in n){var s=n[t];return e===e?e===s:s!==s}return!1}function s(e){return"number"==typeof e&&e>-1&&e%1==0&&a>=e}function u(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}var c=/^\d+$/,a=9007199254740991,l=n("length");e.exports=i},function(e,t){function n(e,t){if("function"!=typeof e)throw new TypeError(o);return t=r(void 0===t?e.length-1:+t||0,0),function(){for(var n=arguments,o=-1,i=r(n.length-t,0),s=Array(i);++o<i;)s[o]=n[t+o];switch(t){case 0:return e.call(this,s);case 1:return e.call(this,n[0],s);case 2:return e.call(this,n[0],n[1],s)}var u=Array(t+1);for(o=-1;++o<t;)u[o]=n[o];return u[t]=s,e.apply(this,u)}}var o="Expected a function",r=Math.max;e.exports=n},function(e,t){"use strict";function n(e){if("string"==typeof e){var t=document.querySelectorAll(e);e="length"in t?t[0]:t}return c=e||c}function o(e){s(e),(e||c).setAttribute("aria-hidden","true")}function r(e){s(e),(e||c).removeAttribute("aria-hidden")}function i(e,t){e?o(t):r(t)}function s(e){if(!e&&!c)throw new Error("react-modal: You must set an element with `Modal.setAppElement(el)` to make this accessible")}function u(){c=document.body}var c="undefined"!=typeof document?document.body:null;t.toggle=i,t.setElement=n,t.show=r,t.hide=o,t.resetForTesting=u},function(e,t){function n(e,t){if(e.indexOf)return e.indexOf(t);for(var n=0,o=e.length;o>n;n++)if(e[n]===t)return n;return-1}function o(e){if(!(this instanceof o))return new o(e);e||(e={}),e.nodeType&&(e={el:e}),this.opts=e,this.el=e.el||document.body,"object"!=typeof this.el&&(this.el=document.querySelector(this.el))}e.exports=function(e){return new o(e)},o.prototype.add=function(e){var t=this.el;if(t){if(""===t.className)return t.className=e;var o=t.className.split(" ");return n(o,e)>-1?o:(o.push(e),t.className=o.join(" "),o)}},o.prototype.remove=function(e){var t=this.el;if(t&&""!==t.className){var o=t.className.split(" "),r=n(o,e);return r>-1&&o.splice(r,1),t.className=o.join(" "),o}},o.prototype.has=function(e){var t=this.el;if(t){var o=t.className.split(" ");return n(o,e)>-1}},o.prototype.toggle=function(e){var t=this.el;t&&(this.has(e)?this.remove(e):this.add(e))}}])}); |
@@ -75,11 +75,16 @@ var React = require('react'); | ||
open: function() { | ||
focusManager.setupScopedFocus(this.node); | ||
focusManager.markForFocusLater(); | ||
this.setState({isOpen: true}, function() { | ||
this.setState({afterOpen: true}); | ||
if (this.state.afterOpen && this.state.beforeClose) { | ||
clearTimeout(this.closeTimer); | ||
this.setState({ beforeClose: false }); | ||
} else { | ||
focusManager.setupScopedFocus(this.node); | ||
focusManager.markForFocusLater(); | ||
this.setState({isOpen: true}, function() { | ||
this.setState({afterOpen: true}); | ||
if (this.props.isOpen && this.props.onAfterOpen) { | ||
this.props.onAfterOpen(); | ||
} | ||
}.bind(this)); | ||
if (this.props.isOpen && this.props.onAfterOpen) { | ||
this.props.onAfterOpen(); | ||
} | ||
}.bind(this)); | ||
} | ||
}, | ||
@@ -108,4 +113,5 @@ | ||
this.setState({ | ||
beforeClose: false, | ||
isOpen: false, | ||
afterOpen: false, | ||
beforeClose: false | ||
}, this.afterClose); | ||
@@ -112,0 +118,0 @@ }, |
{ | ||
"name": "react-modal", | ||
"version": "1.3.0", | ||
"version": "1.4.0", | ||
"description": "Accessible modal dialog component for React.JS", | ||
@@ -28,2 +28,3 @@ "main": "./lib/index", | ||
"babel-preset-react": "^6.5.0", | ||
"envify": "^3.4.1", | ||
"expect": "1.10.0", | ||
@@ -30,0 +31,0 @@ "karma": "^0.13.22", |
107291
2302
22