{"version":3,"sources":["webpack:///./node_modules/react-overlays/lib/ModalManager.js","webpack:///./node_modules/react-overlays/lib/utils/manageAriaHidden.js","webpack:///./node_modules/react-overlays/lib/LegacyPortal.js","webpack:///./node_modules/react-overlays/lib/RefHolder.js","webpack:///./node_modules/react-overlays/lib/utils/addFocusListener.js","webpack:///./node_modules/react-overlays/lib/Position.js","webpack:///./node_modules/react-overlays/lib/utils/calculatePosition.js","webpack:///./node_modules/react-overlays/lib/utils/ownerDocument.js","webpack:///./node_modules/react-overlays/lib/Modal.js","webpack:///./node_modules/react-overlays/lib/utils/getContainer.js","webpack:///./node_modules/react-overlays/lib/Transition.js","webpack:///./node_modules/react-overlays/lib/RootCloseWrapper.js","webpack:///./node_modules/react-overlays/lib/utils/isOverflowing.js","webpack:///./node_modules/react-overlays/lib/Overlay.js","webpack:///./node_modules/react-overlays/lib/utils/addEventListener.js","webpack:///./node_modules/react-overlays/lib/Portal.js"],"names":["exports","__esModule","_class2","_interopRequireDefault","_style2","_scrollbarSize2","_isOverflowing2","_manageAriaHidden","obj","default","_classCallCheck","instance","Constructor","TypeError","findContainer","data","modal","findIndexOf","arr","cb","idx","some","d","i","modals","indexOf","setContainerStyle","state","container","style","overflow","paddingRight","overflowing","parseInt","removeContainerStyle","_ref","Object","keys","forEach","key","ModalManager","_this","this","_ref2","arguments","length","undefined","_ref2$hideSiblingNode","hideSiblingNodes","_ref2$handleContainer","handleContainerOverflow","add","className","modalIdx","containerIdx","containers","push","hideSiblings","mountNode","classes","split","addClass","bind","remove","splice","removeClass","showSiblings","ariaHidden","isTopModal","module","siblings","node","BLACKLIST","mount","concat","call","children","isHidable","nodeType","tagName","toLowerCase","show","setAttribute","removeAttribute","_propTypes2","_componentOrElement2","_react2","_reactDom2","_getContainer2","_ownerDocument2","_possibleConstructorReturn","self","ReferenceError","Portal","_React$Component","_temp","_len","args","Array","_key","apply","_mountOverlayTarget","_overlayTarget","document","createElement","_portalContainerNode","props","body","appendChild","_unmountOverlayTarget","removeChild","_renderOverlay","overlay","Children","only","initialRender","_overlayInstance","unstable_renderSubtreeIntoContainer","onRendered","_unrenderOverlay","unmountComponentAtNode","getMountNode","_inherits","subClass","superClass","prototype","create","constructor","value","enumerable","writable","configurable","setPrototypeOf","__proto__","componentDidMount","_isMounted","componentDidUpdate","componentWillReceiveProps","nextProps","componentWillUnmount","render","Component","displayName","propTypes","oneOfType","func","RefHolder","addFocusListener","handler","useFocusin","addEventListener","attachEvent","detachEvent","removeEventListener","_extends","assign","target","source","hasOwnProperty","_classnames2","_react","_calculatePosition2","_objectWithoutProperties","Position","context","getTarget","targetElement","findDOMNode","maybeUpdatePosition","placementChanged","shouldUpdatePosition","_lastTarget","updatePosition","positionLeft","positionTop","arrowOffsetLeft","arrowOffsetTop","_needsFlush","prevProps","placement","_props","_state","arrowPosition","containerPadding","child","cloneElement","left","top","setState","number","oneOf","bool","defaultProps","calculatePosition","overlayNode","padding","childOffset","_offset2","_position2","_getOffset2","overlayHeight","height","overlayWidth","width","topDelta","getTopDelta","containerDimensions","getContainerDimensions","containerScroll","scroll","containerHeight","topEdgeOffset","bottomEdgeOffset","Error","leftDelta","getLeftDelta","containerWidth","leftEdgeOffset","rightEdgeOffset","_scrollTop2","containerNode","window","innerWidth","innerHeight","documentElement","_getOffset","componentOrElement","_activeElement2","_contains2","_inDOM2","_deprecated2","_elementType2","_warning2","_ModalManager2","_Portal2","_RefHolder2","_addEventListener2","_addFocusListener2","modalManager","Modal","_initialiseProps","omitProps","newProps","map","prop","Transition","transition","backdrop","dialogTransitionTimeout","onExit","onExiting","onEnter","onEntering","onEntered","dialog","filteredProps","exited","_dialog$props","role","tabIndex","transitionAppear","unmountOnExit","timeout","onExited","handleHidden","ref","setMountNode","onPortalRendered","setModalNodeRef","renderBackdrop","setDialogRef","componentWillUpdate","checkForFocus","onShow","onHide","_props2","autoFocus","dialogElement","getDialogElement","currentActiveElement","lastFocus","hasAttribute","focus","restoreLastFocus","manager","onEscapeKeyDown","onEscapeKeyUp","onBackdropClick","backdropStyle","object","backdropClassName","string","containerClassName","keyboard","backdropTransitionTimeout","enforceFocus","restoreFocus","isRequired","_this2","_props3","backdropRef","onClick","handleBackdropClick","doc","_onDocumentKeydownListener","handleDocumentKeyDown","_onDocumentKeyupListener","handleDocumentKeyUp","_onFocusinListener","modalNode","_props4","e","currentTarget","keyCode","Manager","getContainer","defaultContainer","EXITING","ENTERED","ENTERING","EXITED","UNMOUNTED","_on2","_properties2","transitionEndEvent","end","updateStatus","nextStatus","cancelNextCallback","safeSetState","status","onTransitionEnd","nextCallback","cancel","nextState","callback","setNextCallback","active","event","setTimeout","initialStatus","in","mountOnEnter","childProps","transitionClassName","exitedClassName","enteringClassName","enteredClassName","exitingClassName","noop","RootCloseWrapper","addEventListeners","documentMouseCaptureListener","handleMouseCapture","documentMouseListener","handleMouse","documentKeyupListener","handleKeyUp","removeEventListeners","preventMouseRootClose","isModifiedEvent","metaKey","altKey","ctrlKey","shiftKey","isLeftClickEvent","button","onRootClose","disabled","element","isOverflowing","_isWindow2","isBody","bodyIsOverflowing","fullWidth","documentElementRect","getBoundingClientRect","right","Math","abs","clientWidth","scrollHeight","clientHeight","_Position2","_RootCloseWrapper2","Overlay","_this$props","onHiddenListener","rootClose","propType","capture","_off2","_LegacyPortal2","setContainer","forceUpdate","createPortal"],"mappings":"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","file":"npm.react-overlays-7e9497c0a34fa3b6e181.js","sourcesContent":["'use strict';\n\nexports.__esModule = true;\n\nvar _class = require('dom-helpers/class');\n\nvar _class2 = _interopRequireDefault(_class);\n\nvar _style = require('dom-helpers/style');\n\nvar _style2 = _interopRequireDefault(_style);\n\nvar _scrollbarSize = require('dom-helpers/util/scrollbarSize');\n\nvar _scrollbarSize2 = _interopRequireDefault(_scrollbarSize);\n\nvar _isOverflowing = require('./utils/isOverflowing');\n\nvar _isOverflowing2 = _interopRequireDefault(_isOverflowing);\n\nvar _manageAriaHidden = require('./utils/manageAriaHidden');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction findIndexOf(arr, cb) {\n var idx = -1;\n arr.some(function (d, i) {\n if (cb(d, i)) {\n idx = i;\n return true;\n }\n });\n return idx;\n}\n\nfunction findContainer(data, modal) {\n return findIndexOf(data, function (d) {\n return d.modals.indexOf(modal) !== -1;\n });\n}\n\nfunction setContainerStyle(state, container) {\n var style = { overflow: 'hidden' };\n\n // we are only interested in the actual `style` here\n // becasue we will override it\n state.style = {\n overflow: container.style.overflow,\n paddingRight: container.style.paddingRight\n };\n\n if (state.overflowing) {\n // use computed style, here to get the real padding\n // to add our scrollbar width\n style.paddingRight = parseInt((0, _style2.default)(container, 'paddingRight') || 0, 10) + (0, _scrollbarSize2.default)() + 'px';\n }\n\n (0, _style2.default)(container, style);\n}\n\nfunction removeContainerStyle(_ref, container) {\n var style = _ref.style;\n\n\n Object.keys(style).forEach(function (key) {\n return container.style[key] = style[key];\n });\n}\n/**\n * Proper state managment for containers and the modals in those containers.\n *\n * @internal Used by the Modal to ensure proper styling of containers.\n */\n\nvar ModalManager = function ModalManager() {\n var _this = this;\n\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref2$hideSiblingNode = _ref2.hideSiblingNodes,\n hideSiblingNodes = _ref2$hideSiblingNode === undefined ? true : _ref2$hideSiblingNode,\n _ref2$handleContainer = _ref2.handleContainerOverflow,\n handleContainerOverflow = _ref2$handleContainer === undefined ? true : _ref2$handleContainer;\n\n _classCallCheck(this, ModalManager);\n\n this.add = function (modal, container, className) {\n var modalIdx = _this.modals.indexOf(modal);\n var containerIdx = _this.containers.indexOf(container);\n\n if (modalIdx !== -1) {\n return modalIdx;\n }\n\n modalIdx = _this.modals.length;\n _this.modals.push(modal);\n\n if (_this.hideSiblingNodes) {\n (0, _manageAriaHidden.hideSiblings)(container, modal.mountNode);\n }\n\n if (containerIdx !== -1) {\n _this.data[containerIdx].modals.push(modal);\n return modalIdx;\n }\n\n var data = {\n modals: [modal],\n //right now only the first modal of a container will have its classes applied\n classes: className ? className.split(/\\s+/) : [],\n\n overflowing: (0, _isOverflowing2.default)(container)\n };\n\n if (_this.handleContainerOverflow) {\n setContainerStyle(data, container);\n }\n\n data.classes.forEach(_class2.default.addClass.bind(null, container));\n\n _this.containers.push(container);\n _this.data.push(data);\n\n return modalIdx;\n };\n\n this.remove = function (modal) {\n var modalIdx = _this.modals.indexOf(modal);\n\n if (modalIdx === -1) {\n return;\n }\n\n var containerIdx = findContainer(_this.data, modal);\n var data = _this.data[containerIdx];\n var container = _this.containers[containerIdx];\n\n data.modals.splice(data.modals.indexOf(modal), 1);\n\n _this.modals.splice(modalIdx, 1);\n\n // if that was the last modal in a container,\n // clean up the container\n if (data.modals.length === 0) {\n data.classes.forEach(_class2.default.removeClass.bind(null, container));\n\n if (_this.handleContainerOverflow) {\n removeContainerStyle(data, container);\n }\n\n if (_this.hideSiblingNodes) {\n (0, _manageAriaHidden.showSiblings)(container, modal.mountNode);\n }\n _this.containers.splice(containerIdx, 1);\n _this.data.splice(containerIdx, 1);\n } else if (_this.hideSiblingNodes) {\n //otherwise make sure the next top modal is visible to a SR\n (0, _manageAriaHidden.ariaHidden)(false, data.modals[data.modals.length - 1].mountNode);\n }\n };\n\n this.isTopModal = function (modal) {\n return !!_this.modals.length && _this.modals[_this.modals.length - 1] === modal;\n };\n\n this.hideSiblingNodes = hideSiblingNodes;\n this.handleContainerOverflow = handleContainerOverflow;\n this.modals = [];\n this.containers = [];\n this.data = [];\n};\n\nexports.default = ModalManager;\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\nexports.ariaHidden = ariaHidden;\nexports.hideSiblings = hideSiblings;\nexports.showSiblings = showSiblings;\n\nvar BLACKLIST = ['template', 'script', 'style'];\n\nvar isHidable = function isHidable(_ref) {\n var nodeType = _ref.nodeType,\n tagName = _ref.tagName;\n return nodeType === 1 && BLACKLIST.indexOf(tagName.toLowerCase()) === -1;\n};\n\nvar siblings = function siblings(container, mount, cb) {\n mount = [].concat(mount);\n\n [].forEach.call(container.children, function (node) {\n if (mount.indexOf(node) === -1 && isHidable(node)) {\n cb(node);\n }\n });\n};\n\nfunction ariaHidden(show, node) {\n if (!node) {\n return;\n }\n if (show) {\n node.setAttribute('aria-hidden', 'true');\n } else {\n node.removeAttribute('aria-hidden');\n }\n}\n\nfunction hideSiblings(container, mountNode) {\n siblings(container, mountNode, function (node) {\n return ariaHidden(true, node);\n });\n}\n\nfunction showSiblings(container, mountNode) {\n siblings(container, mountNode, function (node) {\n return ariaHidden(false, node);\n });\n}","'use strict';\n\nexports.__esModule = true;\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _componentOrElement = require('prop-types-extra/lib/componentOrElement');\n\nvar _componentOrElement2 = _interopRequireDefault(_componentOrElement);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _getContainer = require('./utils/getContainer');\n\nvar _getContainer2 = _interopRequireDefault(_getContainer);\n\nvar _ownerDocument = require('./utils/ownerDocument');\n\nvar _ownerDocument2 = _interopRequireDefault(_ownerDocument);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * The `` component renders its children into a new \"subtree\" outside of current component hierarchy.\n * You can think of it as a declarative `appendChild()`, or jQuery's `$.fn.appendTo()`.\n * The children of `` component will be appended to the `container` specified.\n */\nvar Portal = function (_React$Component) {\n _inherits(Portal, _React$Component);\n\n function Portal() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Portal);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this._mountOverlayTarget = function () {\n if (!_this._overlayTarget) {\n _this._overlayTarget = document.createElement('div');\n _this._portalContainerNode = (0, _getContainer2.default)(_this.props.container, (0, _ownerDocument2.default)(_this).body);\n _this._portalContainerNode.appendChild(_this._overlayTarget);\n }\n }, _this._unmountOverlayTarget = function () {\n if (_this._overlayTarget) {\n _this._portalContainerNode.removeChild(_this._overlayTarget);\n _this._overlayTarget = null;\n }\n _this._portalContainerNode = null;\n }, _this._renderOverlay = function () {\n var overlay = !_this.props.children ? null : _react2.default.Children.only(_this.props.children);\n\n // Save reference for future access.\n if (overlay !== null) {\n _this._mountOverlayTarget();\n\n var initialRender = !_this._overlayInstance;\n\n _this._overlayInstance = _reactDom2.default.unstable_renderSubtreeIntoContainer(_this, overlay, _this._overlayTarget, function () {\n if (initialRender && _this.props.onRendered) {\n _this.props.onRendered();\n }\n });\n } else {\n // Unrender if the component is null for transitions to null\n _this._unrenderOverlay();\n _this._unmountOverlayTarget();\n }\n }, _this._unrenderOverlay = function () {\n if (_this._overlayTarget) {\n _reactDom2.default.unmountComponentAtNode(_this._overlayTarget);\n _this._overlayInstance = null;\n }\n }, _this.getMountNode = function () {\n return _this._overlayTarget;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Portal.prototype.componentDidMount = function componentDidMount() {\n this._isMounted = true;\n this._renderOverlay();\n };\n\n Portal.prototype.componentDidUpdate = function componentDidUpdate() {\n this._renderOverlay();\n };\n\n Portal.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (this._overlayTarget && nextProps.container !== this.props.container) {\n this._portalContainerNode.removeChild(this._overlayTarget);\n this._portalContainerNode = (0, _getContainer2.default)(nextProps.container, (0, _ownerDocument2.default)(this).body);\n this._portalContainerNode.appendChild(this._overlayTarget);\n }\n };\n\n Portal.prototype.componentWillUnmount = function componentWillUnmount() {\n this._isMounted = false;\n this._unrenderOverlay();\n this._unmountOverlayTarget();\n };\n\n Portal.prototype.render = function render() {\n return null;\n };\n\n return Portal;\n}(_react2.default.Component);\n\nPortal.displayName = 'Portal';\nPortal.propTypes = {\n /**\n * A Node, Component instance, or function that returns either. The `container` will have the Portal children\n * appended to it.\n */\n container: _propTypes2.default.oneOfType([_componentOrElement2.default, _propTypes2.default.func]),\n\n onRendered: _propTypes2.default.func\n};\nexports.default = Portal;\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar propTypes = {\n children: _propTypes2.default.node\n};\n\n/**\n * Internal helper component to allow attaching a non-conflicting ref to a\n * child element that may not accept refs.\n */\n\nvar RefHolder = function (_React$Component) {\n _inherits(RefHolder, _React$Component);\n\n function RefHolder() {\n _classCallCheck(this, RefHolder);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n RefHolder.prototype.render = function render() {\n return this.props.children;\n };\n\n return RefHolder;\n}(_react2.default.Component);\n\nRefHolder.propTypes = propTypes;\n\nexports.default = RefHolder;\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\nexports.default = addFocusListener;\n/**\n * Firefox doesn't have a focusin event so using capture is easiest way to get bubbling\n * IE8 can't do addEventListener, but does have onfocusin, so we use that in ie8\n *\n * We only allow one Listener at a time to avoid stack overflows\n */\nfunction addFocusListener(handler) {\n var useFocusin = !document.addEventListener;\n var remove = void 0;\n\n if (useFocusin) {\n document.attachEvent('onfocusin', handler);\n remove = function remove() {\n return document.detachEvent('onfocusin', handler);\n };\n } else {\n document.addEventListener('focus', handler, true);\n remove = function remove() {\n return document.removeEventListener('focus', handler, true);\n };\n }\n\n return { remove: remove };\n}\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _componentOrElement = require('prop-types-extra/lib/componentOrElement');\n\nvar _componentOrElement2 = _interopRequireDefault(_componentOrElement);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _calculatePosition = require('./utils/calculatePosition');\n\nvar _calculatePosition2 = _interopRequireDefault(_calculatePosition);\n\nvar _getContainer = require('./utils/getContainer');\n\nvar _getContainer2 = _interopRequireDefault(_getContainer);\n\nvar _ownerDocument = require('./utils/ownerDocument');\n\nvar _ownerDocument2 = _interopRequireDefault(_ownerDocument);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * The Position component calculates the coordinates for its child, to position\n * it relative to a `target` component or node. Useful for creating callouts\n * and tooltips, the Position component injects a `style` props with `left` and\n * `top` values for positioning your component.\n *\n * It also injects \"arrow\" `left`, and `top` values for styling callout arrows\n * for giving your components a sense of directionality.\n */\nvar Position = function (_React$Component) {\n _inherits(Position, _React$Component);\n\n function Position(props, context) {\n _classCallCheck(this, Position);\n\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));\n\n _this.getTarget = function () {\n var target = _this.props.target;\n\n var targetElement = typeof target === 'function' ? target() : target;\n return targetElement && _reactDom2.default.findDOMNode(targetElement) || null;\n };\n\n _this.maybeUpdatePosition = function (placementChanged) {\n var target = _this.getTarget();\n\n if (!_this.props.shouldUpdatePosition && target === _this._lastTarget && !placementChanged) {\n return;\n }\n\n _this.updatePosition(target);\n };\n\n _this.state = {\n positionLeft: 0,\n positionTop: 0,\n arrowOffsetLeft: null,\n arrowOffsetTop: null\n };\n\n _this._needsFlush = false;\n _this._lastTarget = null;\n return _this;\n }\n\n Position.prototype.componentDidMount = function componentDidMount() {\n this.updatePosition(this.getTarget());\n };\n\n Position.prototype.componentWillReceiveProps = function componentWillReceiveProps() {\n this._needsFlush = true;\n };\n\n Position.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {\n if (this._needsFlush) {\n this._needsFlush = false;\n this.maybeUpdatePosition(this.props.placement !== prevProps.placement);\n }\n };\n\n Position.prototype.render = function render() {\n var _props = this.props,\n children = _props.children,\n className = _props.className,\n props = _objectWithoutProperties(_props, ['children', 'className']);\n\n var _state = this.state,\n positionLeft = _state.positionLeft,\n positionTop = _state.positionTop,\n arrowPosition = _objectWithoutProperties(_state, ['positionLeft', 'positionTop']);\n\n // These should not be forwarded to the child.\n\n\n delete props.target;\n delete props.container;\n delete props.containerPadding;\n delete props.shouldUpdatePosition;\n\n var child = _react2.default.Children.only(children);\n return (0, _react.cloneElement)(child, _extends({}, props, arrowPosition, {\n // FIXME: Don't forward `positionLeft` and `positionTop` via both props\n // and `props.style`.\n positionLeft: positionLeft,\n positionTop: positionTop,\n className: (0, _classnames2.default)(className, child.props.className),\n style: _extends({}, child.props.style, {\n left: positionLeft,\n top: positionTop\n })\n }));\n };\n\n Position.prototype.updatePosition = function updatePosition(target) {\n this._lastTarget = target;\n\n if (!target) {\n this.setState({\n positionLeft: 0,\n positionTop: 0,\n arrowOffsetLeft: null,\n arrowOffsetTop: null\n });\n\n return;\n }\n\n var overlay = _reactDom2.default.findDOMNode(this);\n var container = (0, _getContainer2.default)(this.props.container, (0, _ownerDocument2.default)(this).body);\n\n this.setState((0, _calculatePosition2.default)(this.props.placement, overlay, target, container, this.props.containerPadding));\n };\n\n return Position;\n}(_react2.default.Component);\n\nPosition.propTypes = {\n /**\n * A node, element, or function that returns either. The child will be\n * be positioned next to the `target` specified.\n */\n target: _propTypes2.default.oneOfType([_componentOrElement2.default, _propTypes2.default.func]),\n\n /**\n * \"offsetParent\" of the component\n */\n container: _propTypes2.default.oneOfType([_componentOrElement2.default, _propTypes2.default.func]),\n /**\n * Minimum spacing in pixels between container border and component border\n */\n containerPadding: _propTypes2.default.number,\n /**\n * How to position the component relative to the target\n */\n placement: _propTypes2.default.oneOf(['top', 'right', 'bottom', 'left']),\n /**\n * Whether the position should be changed on each update\n */\n shouldUpdatePosition: _propTypes2.default.bool\n};\n\nPosition.displayName = 'Position';\n\nPosition.defaultProps = {\n containerPadding: 0,\n placement: 'right',\n shouldUpdatePosition: false\n};\n\nexports.default = Position;\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\nexports.default = calculatePosition;\n\nvar _offset = require('dom-helpers/query/offset');\n\nvar _offset2 = _interopRequireDefault(_offset);\n\nvar _position = require('dom-helpers/query/position');\n\nvar _position2 = _interopRequireDefault(_position);\n\nvar _scrollTop = require('dom-helpers/query/scrollTop');\n\nvar _scrollTop2 = _interopRequireDefault(_scrollTop);\n\nvar _ownerDocument = require('./ownerDocument');\n\nvar _ownerDocument2 = _interopRequireDefault(_ownerDocument);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction getContainerDimensions(containerNode) {\n var width = void 0,\n height = void 0,\n scroll = void 0;\n\n if (containerNode.tagName === 'BODY') {\n width = window.innerWidth;\n height = window.innerHeight;\n\n scroll = (0, _scrollTop2.default)((0, _ownerDocument2.default)(containerNode).documentElement) || (0, _scrollTop2.default)(containerNode);\n } else {\n var _getOffset = (0, _offset2.default)(containerNode);\n\n width = _getOffset.width;\n height = _getOffset.height;\n\n scroll = (0, _scrollTop2.default)(containerNode);\n }\n\n return { width: width, height: height, scroll: scroll };\n}\n\nfunction getTopDelta(top, overlayHeight, container, padding) {\n var containerDimensions = getContainerDimensions(container);\n var containerScroll = containerDimensions.scroll;\n var containerHeight = containerDimensions.height;\n\n var topEdgeOffset = top - padding - containerScroll;\n var bottomEdgeOffset = top + padding - containerScroll + overlayHeight;\n\n if (topEdgeOffset < 0) {\n return -topEdgeOffset;\n } else if (bottomEdgeOffset > containerHeight) {\n return containerHeight - bottomEdgeOffset;\n } else {\n return 0;\n }\n}\n\nfunction getLeftDelta(left, overlayWidth, container, padding) {\n var containerDimensions = getContainerDimensions(container);\n var containerWidth = containerDimensions.width;\n\n var leftEdgeOffset = left - padding;\n var rightEdgeOffset = left + padding + overlayWidth;\n\n if (leftEdgeOffset < 0) {\n return -leftEdgeOffset;\n } else if (rightEdgeOffset > containerWidth) {\n return containerWidth - rightEdgeOffset;\n }\n\n return 0;\n}\n\nfunction calculatePosition(placement, overlayNode, target, container, padding) {\n var childOffset = container.tagName === 'BODY' ? (0, _offset2.default)(target) : (0, _position2.default)(target, container);\n\n var _getOffset2 = (0, _offset2.default)(overlayNode),\n overlayHeight = _getOffset2.height,\n overlayWidth = _getOffset2.width;\n\n var positionLeft = void 0,\n positionTop = void 0,\n arrowOffsetLeft = void 0,\n arrowOffsetTop = void 0;\n\n if (placement === 'left' || placement === 'right') {\n positionTop = childOffset.top + (childOffset.height - overlayHeight) / 2;\n\n if (placement === 'left') {\n positionLeft = childOffset.left - overlayWidth;\n } else {\n positionLeft = childOffset.left + childOffset.width;\n }\n\n var topDelta = getTopDelta(positionTop, overlayHeight, container, padding);\n\n positionTop += topDelta;\n arrowOffsetTop = 50 * (1 - 2 * topDelta / overlayHeight) + '%';\n arrowOffsetLeft = void 0;\n } else if (placement === 'top' || placement === 'bottom') {\n positionLeft = childOffset.left + (childOffset.width - overlayWidth) / 2;\n\n if (placement === 'top') {\n positionTop = childOffset.top - overlayHeight;\n } else {\n positionTop = childOffset.top + childOffset.height;\n }\n\n var leftDelta = getLeftDelta(positionLeft, overlayWidth, container, padding);\n\n positionLeft += leftDelta;\n arrowOffsetLeft = 50 * (1 - 2 * leftDelta / overlayWidth) + '%';\n arrowOffsetTop = void 0;\n } else {\n throw new Error('calcOverlayPosition(): No such placement of \"' + placement + '\" found.');\n }\n\n return { positionLeft: positionLeft, positionTop: positionTop, arrowOffsetLeft: arrowOffsetLeft, arrowOffsetTop: arrowOffsetTop };\n}\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\n\nexports.default = function (componentOrElement) {\n return (0, _ownerDocument2.default)(_reactDom2.default.findDOMNode(componentOrElement));\n};\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _ownerDocument = require('dom-helpers/ownerDocument');\n\nvar _ownerDocument2 = _interopRequireDefault(_ownerDocument);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _activeElement = require('dom-helpers/activeElement');\n\nvar _activeElement2 = _interopRequireDefault(_activeElement);\n\nvar _contains = require('dom-helpers/query/contains');\n\nvar _contains2 = _interopRequireDefault(_contains);\n\nvar _inDOM = require('dom-helpers/util/inDOM');\n\nvar _inDOM2 = _interopRequireDefault(_inDOM);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _componentOrElement = require('prop-types-extra/lib/componentOrElement');\n\nvar _componentOrElement2 = _interopRequireDefault(_componentOrElement);\n\nvar _deprecated = require('prop-types-extra/lib/deprecated');\n\nvar _deprecated2 = _interopRequireDefault(_deprecated);\n\nvar _elementType = require('prop-types-extra/lib/elementType');\n\nvar _elementType2 = _interopRequireDefault(_elementType);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _ModalManager = require('./ModalManager');\n\nvar _ModalManager2 = _interopRequireDefault(_ModalManager);\n\nvar _Portal = require('./Portal');\n\nvar _Portal2 = _interopRequireDefault(_Portal);\n\nvar _RefHolder = require('./RefHolder');\n\nvar _RefHolder2 = _interopRequireDefault(_RefHolder);\n\nvar _addEventListener = require('./utils/addEventListener');\n\nvar _addEventListener2 = _interopRequireDefault(_addEventListener);\n\nvar _addFocusListener = require('./utils/addFocusListener');\n\nvar _addFocusListener2 = _interopRequireDefault(_addFocusListener);\n\nvar _getContainer = require('./utils/getContainer');\n\nvar _getContainer2 = _interopRequireDefault(_getContainer);\n\nvar _ownerDocument = require('./utils/ownerDocument');\n\nvar _ownerDocument2 = _interopRequireDefault(_ownerDocument);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* eslint-disable react/prop-types */\n\nvar modalManager = new _ModalManager2.default();\n\n/**\n * Love them or hate them, `` provides a solid foundation for creating dialogs, lightboxes, or whatever else.\n * The Modal component renders its `children` node in front of a backdrop component.\n *\n * The Modal offers a few helpful features over using just a `` component and some styles:\n *\n * - Manages dialog stacking when one-at-a-time just isn't enough.\n * - Creates a backdrop, for disabling interaction below the modal.\n * - It properly manages focus; moving to the modal content, and keeping it there until the modal is closed.\n * - It disables scrolling of the page content while open.\n * - Adds the appropriate ARIA roles are automatically.\n * - Easily pluggable animations via a `` component.\n *\n * Note that, in the same way the backdrop element prevents users from clicking or interacting\n * with the page content underneath the Modal, Screen readers also need to be signaled to not to\n * interact with page content while the Modal is open. To do this, we use a common technique of applying\n * the `aria-hidden='true'` attribute to the non-Modal elements in the Modal `container`. This means that for\n * a Modal to be truly modal, it should have a `container` that is _outside_ your app's\n * React hierarchy (such as the default: document.body).\n */\n\nvar Modal = function (_React$Component) {\n _inherits(Modal, _React$Component);\n\n function Modal() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Modal);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _initialiseProps.call(_this), _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Modal.prototype.omitProps = function omitProps(props, propTypes) {\n\n var keys = Object.keys(props);\n var newProps = {};\n keys.map(function (prop) {\n if (!Object.prototype.hasOwnProperty.call(propTypes, prop)) {\n newProps[prop] = props[prop];\n }\n });\n\n return newProps;\n };\n\n Modal.prototype.render = function render() {\n var _props = this.props,\n show = _props.show,\n container = _props.container,\n children = _props.children,\n Transition = _props.transition,\n backdrop = _props.backdrop,\n dialogTransitionTimeout = _props.dialogTransitionTimeout,\n className = _props.className,\n style = _props.style,\n onExit = _props.onExit,\n onExiting = _props.onExiting,\n onEnter = _props.onEnter,\n onEntering = _props.onEntering,\n onEntered = _props.onEntered;\n\n\n var dialog = _react2.default.Children.only(children);\n var filteredProps = this.omitProps(this.props, Modal.propTypes);\n\n var mountModal = show || Transition && !this.state.exited;\n if (!mountModal) {\n return null;\n }\n\n var _dialog$props = dialog.props,\n role = _dialog$props.role,\n tabIndex = _dialog$props.tabIndex;\n\n\n if (role === undefined || tabIndex === undefined) {\n dialog = (0, _react.cloneElement)(dialog, {\n role: role === undefined ? 'document' : role,\n tabIndex: tabIndex == null ? '-1' : tabIndex\n });\n }\n\n if (Transition) {\n dialog = _react2.default.createElement(\n Transition,\n {\n transitionAppear: true,\n unmountOnExit: true,\n 'in': show,\n timeout: dialogTransitionTimeout,\n onExit: onExit,\n onExiting: onExiting,\n onExited: this.handleHidden,\n onEnter: onEnter,\n onEntering: onEntering,\n onEntered: onEntered\n },\n dialog\n );\n }\n\n return _react2.default.createElement(\n _Portal2.default,\n {\n ref: this.setMountNode,\n container: container,\n onRendered: this.onPortalRendered\n },\n _react2.default.createElement(\n 'div',\n _extends({\n ref: this.setModalNodeRef,\n role: role || 'dialog'\n }, filteredProps, {\n style: style,\n className: className\n }),\n backdrop && this.renderBackdrop(),\n _react2.default.createElement(\n _RefHolder2.default,\n { ref: this.setDialogRef },\n dialog\n )\n )\n );\n };\n\n Modal.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (nextProps.show) {\n this.setState({ exited: false });\n } else if (!nextProps.transition) {\n // Otherwise let handleHidden take care of marking exited.\n this.setState({ exited: true });\n }\n };\n\n Modal.prototype.componentWillUpdate = function componentWillUpdate(nextProps) {\n if (!this.props.show && nextProps.show) {\n this.checkForFocus();\n }\n };\n\n Modal.prototype.componentDidMount = function componentDidMount() {\n this._isMounted = true;\n if (this.props.show) {\n this.onShow();\n }\n };\n\n Modal.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {\n var transition = this.props.transition;\n\n\n if (prevProps.show && !this.props.show && !transition) {\n // Otherwise handleHidden will call this.\n this.onHide();\n } else if (!prevProps.show && this.props.show) {\n this.onShow();\n }\n };\n\n Modal.prototype.componentWillUnmount = function componentWillUnmount() {\n var _props2 = this.props,\n show = _props2.show,\n transition = _props2.transition;\n\n\n this._isMounted = false;\n\n if (show || transition && !this.state.exited) {\n this.onHide();\n }\n };\n\n Modal.prototype.autoFocus = function autoFocus() {\n if (!this.props.autoFocus) {\n return;\n }\n\n var dialogElement = this.getDialogElement();\n var currentActiveElement = (0, _activeElement2.default)((0, _ownerDocument2.default)(this));\n\n if (dialogElement && !(0, _contains2.default)(dialogElement, currentActiveElement)) {\n this.lastFocus = currentActiveElement;\n\n if (!dialogElement.hasAttribute('tabIndex')) {\n (0, _warning2.default)(false, 'The modal content node does not accept focus. For the benefit of ' + 'assistive technologies, the tabIndex of the node is being set ' + 'to \"-1\".');\n\n dialogElement.setAttribute('tabIndex', -1);\n }\n\n dialogElement.focus();\n }\n };\n\n Modal.prototype.restoreLastFocus = function restoreLastFocus() {\n // Support: <=IE11 doesn't support `focus()` on svg elements (RB: #917)\n if (this.lastFocus && this.lastFocus.focus) {\n this.lastFocus.focus();\n this.lastFocus = null;\n }\n };\n\n Modal.prototype.getDialogElement = function getDialogElement() {\n return _reactDom2.default.findDOMNode(this.dialog);\n };\n\n Modal.prototype.isTopModal = function isTopModal() {\n return this.props.manager.isTopModal(this);\n };\n\n return Modal;\n}(_react2.default.Component);\n\nModal.propTypes = _extends({}, _Portal2.default.propTypes, {\n\n /**\n * Set the visibility of the Modal\n */\n show: _propTypes2.default.bool,\n\n /**\n * A Node, Component instance, or function that returns either. The Modal is appended to it's container element.\n *\n * For the sake of assistive technologies, the container should usually be the document body, so that the rest of the\n * page content can be placed behind a virtual backdrop as well as a visual one.\n */\n container: _propTypes2.default.oneOfType([_componentOrElement2.default, _propTypes2.default.func]),\n\n /**\n * A callback fired when the Modal is opening.\n */\n onShow: _propTypes2.default.func,\n\n /**\n * A callback fired when either the backdrop is clicked, or the escape key is pressed.\n *\n * The `onHide` callback only signals intent from the Modal,\n * you must actually set the `show` prop to `false` for the Modal to close.\n */\n onHide: _propTypes2.default.func,\n\n /**\n * Include a backdrop component.\n */\n backdrop: _propTypes2.default.oneOfType([_propTypes2.default.bool, _propTypes2.default.oneOf(['static'])]),\n\n /**\n * A function that returns a backdrop component. Useful for custom\n * backdrop rendering.\n *\n * ```js\n * renderBackdrop={props => }\n * ```\n */\n renderBackdrop: _propTypes2.default.func,\n\n /**\n * A callback fired when the escape key, if specified in `keyboard`, is pressed.\n */\n onEscapeKeyDown: _propTypes2.default.func,\n\n /**\n * Support for this function will be deprecated. Please use `onEscapeKeyDown` instead\n * A callback fired when the escape key, if specified in `keyboard`, is pressed.\n * @deprecated\n */\n onEscapeKeyUp: (0, _deprecated2.default)(_propTypes2.default.func, 'Please use onEscapeKeyDown instead for consistency'),\n\n /**\n * A callback fired when the backdrop, if specified, is clicked.\n */\n onBackdropClick: _propTypes2.default.func,\n\n /**\n * A style object for the backdrop component.\n */\n backdropStyle: _propTypes2.default.object,\n\n /**\n * A css class or classes for the backdrop component.\n */\n backdropClassName: _propTypes2.default.string,\n\n /**\n * A css class or set of classes applied to the modal container when the modal is open,\n * and removed when it is closed.\n */\n containerClassName: _propTypes2.default.string,\n\n /**\n * Close the modal when escape key is pressed\n */\n keyboard: _propTypes2.default.bool,\n\n /**\n * A `` component to use for the dialog and backdrop components.\n */\n transition: _elementType2.default,\n\n /**\n * The `timeout` of the dialog transition if specified. This number is used to ensure that\n * transition callbacks are always fired, even if browser transition events are canceled.\n *\n * See the Transition `timeout` prop for more infomation.\n */\n dialogTransitionTimeout: _propTypes2.default.number,\n\n /**\n * The `timeout` of the backdrop transition if specified. This number is used to\n * ensure that transition callbacks are always fired, even if browser transition events are canceled.\n *\n * See the Transition `timeout` prop for more infomation.\n */\n backdropTransitionTimeout: _propTypes2.default.number,\n\n /**\n * When `true` The modal will automatically shift focus to itself when it opens, and\n * replace it to the last focused element when it closes. This also\n * works correctly with any Modal children that have the `autoFocus` prop.\n *\n * Generally this should never be set to `false` as it makes the Modal less\n * accessible to assistive technologies, like screen readers.\n */\n autoFocus: _propTypes2.default.bool,\n\n /**\n * When `true` The modal will prevent focus from leaving the Modal while open.\n *\n * Generally this should never be set to `false` as it makes the Modal less\n * accessible to assistive technologies, like screen readers.\n */\n enforceFocus: _propTypes2.default.bool,\n\n /**\n * When `true` The modal will restore focus to previously focused element once\n * modal is hidden\n */\n restoreFocus: _propTypes2.default.bool,\n\n /**\n * Callback fired before the Modal transitions in\n */\n onEnter: _propTypes2.default.func,\n\n /**\n * Callback fired as the Modal begins to transition in\n */\n onEntering: _propTypes2.default.func,\n\n /**\n * Callback fired after the Modal finishes transitioning in\n */\n onEntered: _propTypes2.default.func,\n\n /**\n * Callback fired right before the Modal transitions out\n */\n onExit: _propTypes2.default.func,\n\n /**\n * Callback fired as the Modal begins to transition out\n */\n onExiting: _propTypes2.default.func,\n\n /**\n * Callback fired after the Modal finishes transitioning out\n */\n onExited: _propTypes2.default.func,\n\n /**\n * A ModalManager instance used to track and manage the state of open\n * Modals. Useful when customizing how modals interact within a container\n */\n manager: _propTypes2.default.object.isRequired\n});\nModal.defaultProps = {\n show: false,\n backdrop: true,\n keyboard: true,\n autoFocus: true,\n enforceFocus: true,\n restoreFocus: true,\n onHide: function onHide() {},\n manager: modalManager,\n renderBackdrop: function renderBackdrop(props) {\n return _react2.default.createElement('div', props);\n }\n};\n\nvar _initialiseProps = function _initialiseProps() {\n var _this2 = this;\n\n this.state = { exited: !this.props.show };\n\n this.renderBackdrop = function () {\n var _props3 = _this2.props,\n backdropStyle = _props3.backdropStyle,\n backdropClassName = _props3.backdropClassName,\n renderBackdrop = _props3.renderBackdrop,\n Transition = _props3.transition,\n backdropTransitionTimeout = _props3.backdropTransitionTimeout;\n\n\n var backdropRef = function backdropRef(ref) {\n return _this2.backdrop = ref;\n };\n\n var backdrop = renderBackdrop({\n ref: backdropRef,\n style: backdropStyle,\n className: backdropClassName,\n onClick: _this2.handleBackdropClick\n });\n\n if (Transition) {\n backdrop = _react2.default.createElement(\n Transition,\n { transitionAppear: true,\n 'in': _this2.props.show,\n timeout: backdropTransitionTimeout\n },\n backdrop\n );\n }\n\n return backdrop;\n };\n\n this.onPortalRendered = function () {\n _this2.autoFocus();\n\n if (_this2.props.onShow) {\n _this2.props.onShow();\n }\n };\n\n this.onShow = function () {\n var doc = (0, _ownerDocument2.default)(_this2);\n var container = (0, _getContainer2.default)(_this2.props.container, doc.body);\n\n _this2.props.manager.add(_this2, container, _this2.props.containerClassName);\n\n _this2._onDocumentKeydownListener = (0, _addEventListener2.default)(doc, 'keydown', _this2.handleDocumentKeyDown);\n\n _this2._onDocumentKeyupListener = (0, _addEventListener2.default)(doc, 'keyup', _this2.handleDocumentKeyUp);\n\n _this2._onFocusinListener = (0, _addFocusListener2.default)(_this2.enforceFocus);\n };\n\n this.onHide = function () {\n _this2.props.manager.remove(_this2);\n\n _this2._onDocumentKeydownListener.remove();\n\n _this2._onDocumentKeyupListener.remove();\n\n _this2._onFocusinListener.remove();\n\n if (_this2.props.restoreFocus) {\n _this2.restoreLastFocus();\n }\n };\n\n this.setMountNode = function (ref) {\n _this2.mountNode = ref ? ref.getMountNode() : ref;\n };\n\n this.setModalNodeRef = function (ref) {\n _this2.modalNode = ref;\n };\n\n this.setDialogRef = function (ref) {\n _this2.dialog = ref;\n };\n\n this.handleHidden = function () {\n _this2.setState({ exited: true });\n _this2.onHide();\n\n if (_this2.props.onExited) {\n var _props4;\n\n (_props4 = _this2.props).onExited.apply(_props4, arguments);\n }\n };\n\n this.handleBackdropClick = function (e) {\n if (e.target !== e.currentTarget) {\n return;\n }\n\n if (_this2.props.onBackdropClick) {\n _this2.props.onBackdropClick(e);\n }\n\n if (_this2.props.backdrop === true) {\n _this2.props.onHide();\n }\n };\n\n this.handleDocumentKeyDown = function (e) {\n if (_this2.props.keyboard && e.keyCode === 27 && _this2.isTopModal()) {\n if (_this2.props.onEscapeKeyDown) {\n _this2.props.onEscapeKeyDown(e);\n }\n\n _this2.props.onHide();\n }\n };\n\n this.handleDocumentKeyUp = function (e) {\n if (_this2.props.keyboard && e.keyCode === 27 && _this2.isTopModal()) {\n if (_this2.props.onEscapeKeyUp) {\n _this2.props.onEscapeKeyUp(e);\n }\n }\n };\n\n this.checkForFocus = function () {\n if (_inDOM2.default) {\n _this2.lastFocus = (0, _activeElement2.default)();\n }\n };\n\n this.enforceFocus = function () {\n if (!_this2.props.enforceFocus || !_this2._isMounted || !_this2.isTopModal()) {\n return;\n }\n\n var dialogElement = _this2.getDialogElement();\n var currentActiveElement = (0, _activeElement2.default)((0, _ownerDocument2.default)(_this2));\n\n if (dialogElement && !(0, _contains2.default)(dialogElement, currentActiveElement)) {\n dialogElement.focus();\n }\n };\n};\n\nModal.Manager = _ModalManager2.default;\n\nexports.default = Modal;\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\nexports.default = getContainer;\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction getContainer(container, defaultContainer) {\n container = typeof container === 'function' ? container() : container;\n return _reactDom2.default.findDOMNode(container) || defaultContainer;\n}\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\nexports.EXITING = exports.ENTERED = exports.ENTERING = exports.EXITED = exports.UNMOUNTED = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _on = require('dom-helpers/events/on');\n\nvar _on2 = _interopRequireDefault(_on);\n\nvar _properties = require('dom-helpers/transition/properties');\n\nvar _properties2 = _interopRequireDefault(_properties);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar transitionEndEvent = _properties2.default.end;\n\nvar UNMOUNTED = exports.UNMOUNTED = 0;\nvar EXITED = exports.EXITED = 1;\nvar ENTERING = exports.ENTERING = 2;\nvar ENTERED = exports.ENTERED = 3;\nvar EXITING = exports.EXITING = 4;\n\n/**\n * The Transition component lets you define and run css transitions with a simple declarative api.\n * It works similar to React's own [CSSTransitionGroup](http://facebook.github.io/react/docs/animation.html#high-level-api-reactcsstransitiongroup)\n * but is specifically optimized for transitioning a single child \"in\" or \"out\".\n *\n * You don't even need to use class based css transitions if you don't want to (but it is easiest).\n * The extensive set of lifecycle callbacks means you have control over\n * the transitioning now at each step of the way.\n */\n\nvar Transition = function (_React$Component) {\n _inherits(Transition, _React$Component);\n\n function Transition(props, context) {\n _classCallCheck(this, Transition);\n\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));\n\n _this.updateStatus = function () {\n if (_this.nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n _this.cancelNextCallback();\n var node = _reactDom2.default.findDOMNode(_this);\n\n if (_this.nextStatus === ENTERING) {\n _this.props.onEnter(node);\n\n _this.safeSetState({ status: ENTERING }, function () {\n _this.props.onEntering(node);\n\n _this.onTransitionEnd(node, function () {\n _this.safeSetState({ status: ENTERED }, function () {\n _this.props.onEntered(node);\n });\n });\n });\n } else {\n _this.props.onExit(node);\n\n _this.safeSetState({ status: EXITING }, function () {\n _this.props.onExiting(node);\n\n _this.onTransitionEnd(node, function () {\n _this.safeSetState({ status: EXITED }, function () {\n _this.props.onExited(node);\n });\n });\n });\n }\n\n _this.nextStatus = null;\n } else if (_this.props.unmountOnExit && _this.state.status === EXITED) {\n _this.setState({ status: UNMOUNTED });\n }\n };\n\n _this.cancelNextCallback = function () {\n if (_this.nextCallback !== null) {\n _this.nextCallback.cancel();\n _this.nextCallback = null;\n }\n };\n\n _this.safeSetState = function (nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n _this.setState(nextState, _this.setNextCallback(callback));\n };\n\n _this.setNextCallback = function (callback) {\n var active = true;\n\n _this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this.nextCallback = null;\n\n callback(event);\n }\n };\n\n _this.nextCallback.cancel = function () {\n active = false;\n };\n\n return _this.nextCallback;\n };\n\n _this.onTransitionEnd = function (node, handler) {\n _this.setNextCallback(handler);\n\n if (node) {\n (0, _on2.default)(node, transitionEndEvent, _this.nextCallback);\n setTimeout(_this.nextCallback, _this.props.timeout);\n } else {\n setTimeout(_this.nextCallback, 0);\n }\n };\n\n var initialStatus = void 0;\n _this.nextStatus = null;\n\n if (props.in) {\n if (props.transitionAppear) {\n initialStatus = EXITED;\n _this.nextStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = { status: initialStatus };\n\n _this.nextCallback = null;\n return _this;\n }\n\n Transition.prototype.componentDidMount = function componentDidMount() {\n this.updateStatus();\n };\n\n Transition.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n var status = this.state.status;\n\n\n if (nextProps.in) {\n if (status === UNMOUNTED) {\n this.setState({ status: EXITED });\n }\n if (status !== ENTERING && status !== ENTERED) {\n this.nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n this.nextStatus = EXITING;\n }\n }\n };\n\n Transition.prototype.componentDidUpdate = function componentDidUpdate() {\n this.updateStatus();\n };\n\n Transition.prototype.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n Transition.prototype.render = function render() {\n var status = this.state.status;\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _props = this.props,\n children = _props.children,\n className = _props.className,\n childProps = _objectWithoutProperties(_props, ['children', 'className']);\n\n Object.keys(Transition.propTypes).forEach(function (key) {\n return delete childProps[key];\n });\n\n var transitionClassName = void 0;\n if (status === EXITED) {\n transitionClassName = this.props.exitedClassName;\n } else if (status === ENTERING) {\n transitionClassName = this.props.enteringClassName;\n } else if (status === ENTERED) {\n transitionClassName = this.props.enteredClassName;\n } else if (status === EXITING) {\n transitionClassName = this.props.exitingClassName;\n }\n\n var child = _react2.default.Children.only(children);\n return _react2.default.cloneElement(child, _extends({}, childProps, {\n className: (0, _classnames2.default)(child.props.className, className, transitionClassName)\n }));\n };\n\n return Transition;\n}(_react2.default.Component);\n\nTransition.propTypes = {\n /**\n * Show the component; triggers the enter or exit animation\n */\n in: _propTypes2.default.bool,\n\n /**\n * Wait until the first \"enter\" transition to mount the component (add it to the DOM)\n */\n mountOnEnter: _propTypes2.default.bool,\n\n /**\n * Unmount the component (remove it from the DOM) when it is not shown\n */\n unmountOnExit: _propTypes2.default.bool,\n\n /**\n * Run the enter animation when the component mounts, if it is initially\n * shown\n */\n transitionAppear: _propTypes2.default.bool,\n\n /**\n * A Timeout for the animation, in milliseconds, to ensure that a node doesn't\n * transition indefinately if the browser transitionEnd events are\n * canceled or interrupted.\n *\n * By default this is set to a high number (5 seconds) as a failsafe. You should consider\n * setting this to the duration of your animation (or a bit above it).\n */\n timeout: _propTypes2.default.number,\n\n /**\n * CSS class or classes applied when the component is exited\n */\n exitedClassName: _propTypes2.default.string,\n /**\n * CSS class or classes applied while the component is exiting\n */\n exitingClassName: _propTypes2.default.string,\n /**\n * CSS class or classes applied when the component is entered\n */\n enteredClassName: _propTypes2.default.string,\n /**\n * CSS class or classes applied while the component is entering\n */\n enteringClassName: _propTypes2.default.string,\n\n /**\n * Callback fired before the \"entering\" classes are applied\n */\n onEnter: _propTypes2.default.func,\n /**\n * Callback fired after the \"entering\" classes are applied\n */\n onEntering: _propTypes2.default.func,\n /**\n * Callback fired after the \"enter\" classes are applied\n */\n onEntered: _propTypes2.default.func,\n /**\n * Callback fired before the \"exiting\" classes are applied\n */\n onExit: _propTypes2.default.func,\n /**\n * Callback fired after the \"exiting\" classes are applied\n */\n onExiting: _propTypes2.default.func,\n /**\n * Callback fired after the \"exited\" classes are applied\n */\n onExited: _propTypes2.default.func\n};\n\n// Name the function so it is clearer in the documentation\nfunction noop() {}\n\nTransition.displayName = 'Transition';\n\nTransition.defaultProps = {\n in: false,\n unmountOnExit: false,\n transitionAppear: false,\n\n timeout: 5000,\n\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\n\nexports.default = Transition;","'use strict';\n\nexports.__esModule = true;\n\nvar _contains = require('dom-helpers/query/contains');\n\nvar _contains2 = _interopRequireDefault(_contains);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _addEventListener = require('./utils/addEventListener');\n\nvar _addEventListener2 = _interopRequireDefault(_addEventListener);\n\nvar _ownerDocument = require('./utils/ownerDocument');\n\nvar _ownerDocument2 = _interopRequireDefault(_ownerDocument);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar escapeKeyCode = 27;\n\nfunction isLeftClickEvent(event) {\n return event.button === 0;\n}\n\nfunction isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\n/**\n * The `` component registers your callback on the document\n * when rendered. Powers the `` component. This is used achieve modal\n * style behavior where your callback is triggered when the user tries to\n * interact with the rest of the document or hits the `esc` key.\n */\n\nvar RootCloseWrapper = function (_React$Component) {\n _inherits(RootCloseWrapper, _React$Component);\n\n function RootCloseWrapper(props, context) {\n _classCallCheck(this, RootCloseWrapper);\n\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));\n\n _this.addEventListeners = function () {\n var event = _this.props.event;\n\n var doc = (0, _ownerDocument2.default)(_this);\n\n // Use capture for this listener so it fires before React's listener, to\n // avoid false positives in the contains() check below if the target DOM\n // element is removed in the React mouse callback.\n _this.documentMouseCaptureListener = (0, _addEventListener2.default)(doc, event, _this.handleMouseCapture, true);\n\n _this.documentMouseListener = (0, _addEventListener2.default)(doc, event, _this.handleMouse);\n\n _this.documentKeyupListener = (0, _addEventListener2.default)(doc, 'keyup', _this.handleKeyUp);\n };\n\n _this.removeEventListeners = function () {\n if (_this.documentMouseCaptureListener) {\n _this.documentMouseCaptureListener.remove();\n }\n\n if (_this.documentMouseListener) {\n _this.documentMouseListener.remove();\n }\n\n if (_this.documentKeyupListener) {\n _this.documentKeyupListener.remove();\n }\n };\n\n _this.handleMouseCapture = function (e) {\n _this.preventMouseRootClose = isModifiedEvent(e) || !isLeftClickEvent(e) || (0, _contains2.default)(_reactDom2.default.findDOMNode(_this), e.target);\n };\n\n _this.handleMouse = function (e) {\n if (!_this.preventMouseRootClose && _this.props.onRootClose) {\n _this.props.onRootClose(e);\n }\n };\n\n _this.handleKeyUp = function (e) {\n if (e.keyCode === escapeKeyCode && _this.props.onRootClose) {\n _this.props.onRootClose(e);\n }\n };\n\n _this.preventMouseRootClose = false;\n return _this;\n }\n\n RootCloseWrapper.prototype.componentDidMount = function componentDidMount() {\n if (!this.props.disabled) {\n this.addEventListeners();\n }\n };\n\n RootCloseWrapper.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {\n if (!this.props.disabled && prevProps.disabled) {\n this.addEventListeners();\n } else if (this.props.disabled && !prevProps.disabled) {\n this.removeEventListeners();\n }\n };\n\n RootCloseWrapper.prototype.componentWillUnmount = function componentWillUnmount() {\n if (!this.props.disabled) {\n this.removeEventListeners();\n }\n };\n\n RootCloseWrapper.prototype.render = function render() {\n return this.props.children;\n };\n\n return RootCloseWrapper;\n}(_react2.default.Component);\n\nRootCloseWrapper.displayName = 'RootCloseWrapper';\n\nRootCloseWrapper.propTypes = {\n /**\n * Callback fired after click or mousedown. Also triggers when user hits `esc`.\n */\n onRootClose: _propTypes2.default.func,\n /**\n * Children to render.\n */\n children: _propTypes2.default.element,\n /**\n * Disable the the RootCloseWrapper, preventing it from triggering `onRootClose`.\n */\n disabled: _propTypes2.default.bool,\n /**\n * Choose which document mouse event to bind to.\n */\n event: _propTypes2.default.oneOf(['click', 'mousedown'])\n};\n\nRootCloseWrapper.defaultProps = {\n event: 'click'\n};\n\nexports.default = RootCloseWrapper;\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\nexports.default = isOverflowing;\n\nvar _isWindow = require('dom-helpers/query/isWindow');\n\nvar _isWindow2 = _interopRequireDefault(_isWindow);\n\nvar _ownerDocument = require('dom-helpers/ownerDocument');\n\nvar _ownerDocument2 = _interopRequireDefault(_ownerDocument);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction isBody(node) {\n return node && node.tagName.toLowerCase() === 'body';\n}\n\nfunction bodyIsOverflowing(node) {\n var doc = (0, _ownerDocument2.default)(node);\n var win = (0, _isWindow2.default)(doc);\n var fullWidth = win.innerWidth;\n\n // Support: ie8, no innerWidth\n if (!fullWidth) {\n var documentElementRect = doc.documentElement.getBoundingClientRect();\n fullWidth = documentElementRect.right - Math.abs(documentElementRect.left);\n }\n\n return doc.body.clientWidth < fullWidth;\n}\n\nfunction isOverflowing(container) {\n var win = (0, _isWindow2.default)(container);\n\n return win || isBody(container) ? bodyIsOverflowing(container) : container.scrollHeight > container.clientHeight;\n}\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _elementType = require('prop-types-extra/lib/elementType');\n\nvar _elementType2 = _interopRequireDefault(_elementType);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _Portal = require('./Portal');\n\nvar _Portal2 = _interopRequireDefault(_Portal);\n\nvar _Position = require('./Position');\n\nvar _Position2 = _interopRequireDefault(_Position);\n\nvar _RootCloseWrapper = require('./RootCloseWrapper');\n\nvar _RootCloseWrapper2 = _interopRequireDefault(_RootCloseWrapper);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * Built on top of `` and ``, the overlay component is great for custom tooltip overlays.\n */\nvar Overlay = function (_React$Component) {\n _inherits(Overlay, _React$Component);\n\n function Overlay(props, context) {\n _classCallCheck(this, Overlay);\n\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));\n\n _this.handleHidden = function () {\n _this.setState({ exited: true });\n\n if (_this.props.onExited) {\n var _this$props;\n\n (_this$props = _this.props).onExited.apply(_this$props, arguments);\n }\n };\n\n _this.state = { exited: !props.show };\n _this.onHiddenListener = _this.handleHidden.bind(_this);\n return _this;\n }\n\n Overlay.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (nextProps.show) {\n this.setState({ exited: false });\n } else if (!nextProps.transition) {\n // Otherwise let handleHidden take care of marking exited.\n this.setState({ exited: true });\n }\n };\n\n Overlay.prototype.render = function render() {\n var _props = this.props,\n container = _props.container,\n containerPadding = _props.containerPadding,\n target = _props.target,\n placement = _props.placement,\n shouldUpdatePosition = _props.shouldUpdatePosition,\n rootClose = _props.rootClose,\n children = _props.children,\n Transition = _props.transition,\n props = _objectWithoutProperties(_props, ['container', 'containerPadding', 'target', 'placement', 'shouldUpdatePosition', 'rootClose', 'children', 'transition']);\n\n // Don't un-render the overlay while it's transitioning out.\n\n\n var mountOverlay = props.show || Transition && !this.state.exited;\n if (!mountOverlay) {\n // Don't bother showing anything if we don't have to.\n return null;\n }\n\n var child = children;\n\n // Position is be inner-most because it adds inline styles into the child,\n // which the other wrappers don't forward correctly.\n child = _react2.default.createElement(\n _Position2.default,\n { container: container, containerPadding: containerPadding, target: target, placement: placement, shouldUpdatePosition: shouldUpdatePosition },\n child\n );\n\n if (Transition) {\n var onExit = props.onExit,\n onExiting = props.onExiting,\n onEnter = props.onEnter,\n onEntering = props.onEntering,\n onEntered = props.onEntered;\n\n // This animates the child node by injecting props, so it must precede\n // anything that adds a wrapping div.\n\n child = _react2.default.createElement(\n Transition,\n {\n 'in': props.show,\n transitionAppear: true,\n onExit: onExit,\n onExiting: onExiting,\n onExited: this.onHiddenListener,\n onEnter: onEnter,\n onEntering: onEntering,\n onEntered: onEntered\n },\n child\n );\n }\n\n // This goes after everything else because it adds a wrapping div.\n if (rootClose) {\n child = _react2.default.createElement(\n _RootCloseWrapper2.default,\n { onRootClose: props.onHide },\n child\n );\n }\n\n return _react2.default.createElement(\n _Portal2.default,\n { container: container },\n child\n );\n };\n\n return Overlay;\n}(_react2.default.Component);\n\nOverlay.propTypes = _extends({}, _Portal2.default.propTypes, _Position2.default.propTypes, {\n\n /**\n * Set the visibility of the Overlay\n */\n show: _propTypes2.default.bool,\n\n /**\n * Specify whether the overlay should trigger `onHide` when the user clicks outside the overlay\n */\n rootClose: _propTypes2.default.bool,\n\n /**\n * A Callback fired by the Overlay when it wishes to be hidden.\n *\n * __required__ when `rootClose` is `true`.\n *\n * @type func\n */\n onHide: function onHide(props) {\n var propType = _propTypes2.default.func;\n if (props.rootClose) {\n propType = propType.isRequired;\n }\n\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return propType.apply(undefined, [props].concat(args));\n },\n\n\n /**\n * A `` component used to animate the overlay changes visibility.\n */\n transition: _elementType2.default,\n\n /**\n * Callback fired before the Overlay transitions in\n */\n onEnter: _propTypes2.default.func,\n\n /**\n * Callback fired as the Overlay begins to transition in\n */\n onEntering: _propTypes2.default.func,\n\n /**\n * Callback fired after the Overlay finishes transitioning in\n */\n onEntered: _propTypes2.default.func,\n\n /**\n * Callback fired right before the Overlay transitions out\n */\n onExit: _propTypes2.default.func,\n\n /**\n * Callback fired as the Overlay begins to transition out\n */\n onExiting: _propTypes2.default.func,\n\n /**\n * Callback fired after the Overlay finishes transitioning out\n */\n onExited: _propTypes2.default.func\n});\n\nexports.default = Overlay;\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\n\nexports.default = function (node, event, handler, capture) {\n (0, _on2.default)(node, event, handler, capture);\n\n return {\n remove: function remove() {\n (0, _off2.default)(node, event, handler, capture);\n }\n };\n};\n\nvar _on = require('dom-helpers/events/on');\n\nvar _on2 = _interopRequireDefault(_on);\n\nvar _off = require('dom-helpers/events/off');\n\nvar _off2 = _interopRequireDefault(_off);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _componentOrElement = require('prop-types-extra/lib/componentOrElement');\n\nvar _componentOrElement2 = _interopRequireDefault(_componentOrElement);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _getContainer = require('./utils/getContainer');\n\nvar _getContainer2 = _interopRequireDefault(_getContainer);\n\nvar _ownerDocument = require('./utils/ownerDocument');\n\nvar _ownerDocument2 = _interopRequireDefault(_ownerDocument);\n\nvar _LegacyPortal = require('./LegacyPortal');\n\nvar _LegacyPortal2 = _interopRequireDefault(_LegacyPortal);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * The `` component renders its children into a new \"subtree\" outside of current component hierarchy.\n * You can think of it as a declarative `appendChild()`, or jQuery's `$.fn.appendTo()`.\n * The children of `` component will be appended to the `container` specified.\n */\nvar Portal = function (_React$Component) {\n _inherits(Portal, _React$Component);\n\n function Portal() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Portal);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.setContainer = function () {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _this.props;\n\n _this._portalContainerNode = (0, _getContainer2.default)(props.container, (0, _ownerDocument2.default)(_this).body);\n }, _this.getMountNode = function () {\n return _this._portalContainerNode;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Portal.prototype.componentDidMount = function componentDidMount() {\n this.setContainer();\n this.forceUpdate(this.props.onRendered);\n };\n\n Portal.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (nextProps.container !== this.props.container) {\n this.setContainer(nextProps);\n }\n };\n\n Portal.prototype.componentWillUnmount = function componentWillUnmount() {\n this._portalContainerNode = null;\n };\n\n Portal.prototype.render = function render() {\n return this.props.children && this._portalContainerNode ? _reactDom2.default.createPortal(this.props.children, this._portalContainerNode) : null;\n };\n\n return Portal;\n}(_react2.default.Component);\n\nPortal.displayName = 'Portal';\nPortal.propTypes = {\n /**\n * A Node, Component instance, or function that returns either. The `container` will have the Portal children\n * appended to it.\n */\n container: _propTypes2.default.oneOfType([_componentOrElement2.default, _propTypes2.default.func]),\n\n onRendered: _propTypes2.default.func\n};\nexports.default = _reactDom2.default.createPortal ? Portal : _LegacyPortal2.default;\nmodule.exports = exports['default'];"],"sourceRoot":""}