Initial commit

This commit is contained in:
pasketti
2026-04-05 16:14:49 -04:00
commit ebee3a5534
14059 changed files with 2588797 additions and 0 deletions

327
node_modules/react-overlays/lib/Affix.js generated vendored Normal file
View File

@@ -0,0 +1,327 @@
'use strict';
exports.__esModule = true;
var _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; };
var _classnames = require('classnames');
var _classnames2 = _interopRequireDefault(_classnames);
var _height = require('dom-helpers/query/height');
var _height2 = _interopRequireDefault(_height);
var _offset = require('dom-helpers/query/offset');
var _offset2 = _interopRequireDefault(_offset);
var _offsetParent = require('dom-helpers/query/offsetParent');
var _offsetParent2 = _interopRequireDefault(_offsetParent);
var _scrollTop = require('dom-helpers/query/scrollTop');
var _scrollTop2 = _interopRequireDefault(_scrollTop);
var _requestAnimationFrame = require('dom-helpers/util/requestAnimationFrame');
var _requestAnimationFrame2 = _interopRequireDefault(_requestAnimationFrame);
var _propTypes = require('prop-types');
var _propTypes2 = _interopRequireDefault(_propTypes);
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactDom = require('react-dom');
var _reactDom2 = _interopRequireDefault(_reactDom);
var _addEventListener = require('./utils/addEventListener');
var _addEventListener2 = _interopRequireDefault(_addEventListener);
var _getDocumentHeight = require('./utils/getDocumentHeight');
var _getDocumentHeight2 = _interopRequireDefault(_getDocumentHeight);
var _ownerDocument = require('./utils/ownerDocument');
var _ownerDocument2 = _interopRequireDefault(_ownerDocument);
var _ownerWindow = require('./utils/ownerWindow');
var _ownerWindow2 = _interopRequireDefault(_ownerWindow);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _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; }
function _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; }
/**
* The `<Affix/>` component toggles `position: fixed;` on and off, emulating
* the effect found with `position: sticky;`.
*/
var Affix = function (_React$Component) {
_inherits(Affix, _React$Component);
function Affix(props, context) {
_classCallCheck(this, Affix);
var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));
_this.onWindowScroll = function () {
_this.onUpdate();
};
_this.onDocumentClick = function () {
(0, _requestAnimationFrame2.default)(function () {
return _this.onUpdate();
});
};
_this.onUpdate = function () {
if (!_this._isMounted) {
return;
}
var _this$props = _this.props,
offsetTop = _this$props.offsetTop,
viewportOffsetTop = _this$props.viewportOffsetTop;
var scrollTop = (0, _scrollTop2.default)((0, _ownerWindow2.default)(_this));
var positionTopMin = scrollTop + (viewportOffsetTop || 0);
if (positionTopMin <= offsetTop) {
_this.updateState('top', null, null);
return;
}
if (positionTopMin > _this.getPositionTopMax()) {
if (_this.state.affixed === 'bottom') {
_this.updateStateAtBottom();
} else {
// Setting position away from `fixed` can change the offset parent of
// the affix, so we can't calculate the correct position until after
// we've updated its position.
_this.setState({
affixed: 'bottom',
position: 'absolute',
top: null
}, function () {
if (!_this._isMounted) {
return;
}
_this.updateStateAtBottom();
});
}
return;
}
_this.updateState('affix', 'fixed', viewportOffsetTop);
};
_this.getPositionTopMax = function () {
var documentHeight = (0, _getDocumentHeight2.default)((0, _ownerDocument2.default)(_this));
var height = (0, _height2.default)(_reactDom2.default.findDOMNode(_this));
return documentHeight - height - _this.props.offsetBottom;
};
_this.updateState = function (affixed, position, top) {
if (affixed === _this.state.affixed && position === _this.state.position && top === _this.state.top) {
return;
}
var upperName = affixed === 'affix' ? '' : affixed.charAt(0).toUpperCase() + affixed.substr(1);
if (_this.props['onAffix' + upperName]) {
_this.props['onAffix' + upperName]();
}
_this.setState({ affixed: affixed, position: position, top: top }, function () {
if (_this.props['onAffixed' + upperName]) {
_this.props['onAffixed' + upperName]();
}
});
};
_this.updateStateAtBottom = function () {
var positionTopMax = _this.getPositionTopMax();
var offsetParent = (0, _offsetParent2.default)(_reactDom2.default.findDOMNode(_this));
var parentTop = (0, _offset2.default)(offsetParent).top;
_this.updateState('bottom', 'absolute', positionTopMax - parentTop);
};
_this.state = {
affixed: 'top',
position: null,
top: null
};
_this._needPositionUpdate = false;
return _this;
}
Affix.prototype.componentDidMount = function componentDidMount() {
var _this2 = this;
this._isMounted = true;
this._windowScrollListener = (0, _addEventListener2.default)((0, _ownerWindow2.default)(this), 'scroll', function () {
return _this2.onWindowScroll();
});
this._documentClickListener = (0, _addEventListener2.default)((0, _ownerDocument2.default)(this), 'click', function () {
return _this2.onDocumentClick();
});
this.onUpdate();
};
Affix.prototype.componentWillReceiveProps = function componentWillReceiveProps() {
this._needPositionUpdate = true;
};
Affix.prototype.componentDidUpdate = function componentDidUpdate() {
if (this._needPositionUpdate) {
this._needPositionUpdate = false;
this.onUpdate();
}
};
Affix.prototype.componentWillUnmount = function componentWillUnmount() {
this._isMounted = false;
if (this._windowScrollListener) {
this._windowScrollListener.remove();
}
if (this._documentClickListener) {
this._documentClickListener.remove();
}
};
Affix.prototype.render = function render() {
var child = _react2.default.Children.only(this.props.children);
var _child$props = child.props,
className = _child$props.className,
style = _child$props.style;
var _state = this.state,
affixed = _state.affixed,
position = _state.position,
top = _state.top;
var positionStyle = { position: position, top: top };
var affixClassName = void 0;
var affixStyle = void 0;
if (affixed === 'top') {
affixClassName = this.props.topClassName;
affixStyle = this.props.topStyle;
} else if (affixed === 'bottom') {
affixClassName = this.props.bottomClassName;
affixStyle = this.props.bottomStyle;
} else {
affixClassName = this.props.affixClassName;
affixStyle = this.props.affixStyle;
}
return _react2.default.cloneElement(child, {
className: (0, _classnames2.default)(affixClassName, className),
style: _extends({}, positionStyle, affixStyle, style)
});
};
return Affix;
}(_react2.default.Component);
Affix.propTypes = {
/**
* Pixels to offset from top of screen when calculating position
*/
offsetTop: _propTypes2.default.number,
/**
* When affixed, pixels to offset from top of viewport
*/
viewportOffsetTop: _propTypes2.default.number,
/**
* Pixels to offset from bottom of screen when calculating position
*/
offsetBottom: _propTypes2.default.number,
/**
* CSS class or classes to apply when at top
*/
topClassName: _propTypes2.default.string,
/**
* Style to apply when at top
*/
topStyle: _propTypes2.default.object,
/**
* CSS class or classes to apply when affixed
*/
affixClassName: _propTypes2.default.string,
/**
* Style to apply when affixed
*/
affixStyle: _propTypes2.default.object,
/**
* CSS class or classes to apply when at bottom
*/
bottomClassName: _propTypes2.default.string,
/**
* Style to apply when at bottom
*/
bottomStyle: _propTypes2.default.object,
/**
* Callback fired when the right before the `affixStyle` and `affixStyle` props are rendered
*/
onAffix: _propTypes2.default.func,
/**
* Callback fired after the component `affixStyle` and `affixClassName` props have been rendered.
*/
onAffixed: _propTypes2.default.func,
/**
* Callback fired when the right before the `topStyle` and `topClassName` props are rendered
*/
onAffixTop: _propTypes2.default.func,
/**
* Callback fired after the component `topStyle` and `topClassName` props have been rendered.
*/
onAffixedTop: _propTypes2.default.func,
/**
* Callback fired when the right before the `bottomStyle` and `bottomClassName` props are rendered
*/
onAffixBottom: _propTypes2.default.func,
/**
* Callback fired after the component `bottomStyle` and `bottomClassName` props have been rendered.
*/
onAffixedBottom: _propTypes2.default.func
};
Affix.defaultProps = {
offsetTop: 0,
viewportOffsetTop: null,
offsetBottom: 0
};
exports.default = Affix;
module.exports = exports['default'];

256
node_modules/react-overlays/lib/AutoAffix.js generated vendored Normal file
View File

@@ -0,0 +1,256 @@
'use strict';
exports.__esModule = true;
var _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; };
var _offset = require('dom-helpers/query/offset');
var _offset2 = _interopRequireDefault(_offset);
var _requestAnimationFrame = require('dom-helpers/util/requestAnimationFrame');
var _requestAnimationFrame2 = _interopRequireDefault(_requestAnimationFrame);
var _propTypes = require('prop-types');
var _propTypes2 = _interopRequireDefault(_propTypes);
var _componentOrElement = require('prop-types-extra/lib/componentOrElement');
var _componentOrElement2 = _interopRequireDefault(_componentOrElement);
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _Affix = require('./Affix');
var _Affix2 = _interopRequireDefault(_Affix);
var _addEventListener = require('./utils/addEventListener');
var _addEventListener2 = _interopRequireDefault(_addEventListener);
var _getContainer = require('./utils/getContainer');
var _getContainer2 = _interopRequireDefault(_getContainer);
var _getDocumentHeight = require('./utils/getDocumentHeight');
var _getDocumentHeight2 = _interopRequireDefault(_getDocumentHeight);
var _ownerDocument = require('./utils/ownerDocument');
var _ownerDocument2 = _interopRequireDefault(_ownerDocument);
var _ownerWindow = require('./utils/ownerWindow');
var _ownerWindow2 = _interopRequireDefault(_ownerWindow);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _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; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _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; }
function _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; }
var displayName = 'AutoAffix';
var propTypes = _extends({}, _Affix2.default.propTypes, {
/**
* The logical container node or component for determining offset from bottom
* of viewport, or a function that returns it
*/
container: _propTypes2.default.oneOfType([_componentOrElement2.default, _propTypes2.default.func]),
/**
* Automatically set width when affixed
*/
autoWidth: _propTypes2.default.bool
});
// This intentionally doesn't inherit default props from `<Affix>`, so that the
// auto-calculated offsets can apply.
var defaultProps = {
viewportOffsetTop: 0,
autoWidth: true
};
/**
* The `<AutoAffix/>` component wraps `<Affix/>` to automatically calculate
* offsets in many common cases.
*/
var AutoAffix = function (_React$Component) {
_inherits(AutoAffix, _React$Component);
function AutoAffix(props, context) {
_classCallCheck(this, AutoAffix);
var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));
_this.onWindowScroll = function () {
_this.onUpdate();
};
_this.onWindowResize = function () {
if (_this.props.autoWidth) {
(0, _requestAnimationFrame2.default)(function () {
return _this.onUpdate();
});
}
};
_this.onDocumentClick = function () {
(0, _requestAnimationFrame2.default)(function () {
return _this.onUpdate();
});
};
_this.onUpdate = function () {
if (!_this._isMounted) {
return;
}
var _getOffset = (0, _offset2.default)(_this.positioner),
offsetTop = _getOffset.top,
width = _getOffset.width;
var container = (0, _getContainer2.default)(_this.props.container);
var offsetBottom = void 0;
if (container) {
var documentHeight = (0, _getDocumentHeight2.default)((0, _ownerDocument2.default)(_this));
var _getOffset2 = (0, _offset2.default)(container),
top = _getOffset2.top,
height = _getOffset2.height;
offsetBottom = documentHeight - top - height;
} else {
offsetBottom = null;
}
_this.updateState(offsetTop, offsetBottom, width);
};
_this.updateState = function (offsetTop, offsetBottom, width) {
if (offsetTop === _this.state.offsetTop && offsetBottom === _this.state.offsetBottom && width === _this.state.width) {
return;
}
_this.setState({ offsetTop: offsetTop, offsetBottom: offsetBottom, width: width });
};
_this.state = {
offsetTop: null,
offsetBottom: null,
width: null
};
return _this;
}
AutoAffix.prototype.componentDidMount = function componentDidMount() {
var _this2 = this;
this._isMounted = true;
this._windowScrollListener = (0, _addEventListener2.default)((0, _ownerWindow2.default)(this), 'scroll', function () {
return _this2.onWindowScroll();
});
this._windowResizeListener = (0, _addEventListener2.default)((0, _ownerWindow2.default)(this), 'resize', function () {
return _this2.onWindowResize();
});
this._documentClickListener = (0, _addEventListener2.default)((0, _ownerDocument2.default)(this), 'click', function () {
return _this2.onDocumentClick();
});
this.onUpdate();
};
AutoAffix.prototype.componentWillReceiveProps = function componentWillReceiveProps() {
this._needPositionUpdate = true;
};
AutoAffix.prototype.componentDidUpdate = function componentDidUpdate() {
if (this._needPositionUpdate) {
this._needPositionUpdate = false;
this.onUpdate();
}
};
AutoAffix.prototype.componentWillUnmount = function componentWillUnmount() {
this._isMounted = false;
if (this._windowScrollListener) {
this._windowScrollListener.remove();
}
if (this._documentClickListener) {
this._documentClickListener.remove();
}
if (this._windowResizeListener) {
this._windowResizeListener.remove();
}
};
AutoAffix.prototype.render = function render() {
var _this3 = this;
var _props = this.props,
autoWidth = _props.autoWidth,
viewportOffsetTop = _props.viewportOffsetTop,
children = _props.children,
props = _objectWithoutProperties(_props, ['autoWidth', 'viewportOffsetTop', 'children']);
var _state = this.state,
offsetTop = _state.offsetTop,
offsetBottom = _state.offsetBottom,
width = _state.width;
delete props.container;
var effectiveOffsetTop = Math.max(offsetTop, viewportOffsetTop || 0);
var _props2 = this.props,
affixStyle = _props2.affixStyle,
bottomStyle = _props2.bottomStyle;
if (autoWidth) {
affixStyle = _extends({ width: width }, affixStyle);
bottomStyle = _extends({ width: width }, bottomStyle);
}
return _react2.default.createElement(
'div',
null,
_react2.default.createElement('div', { ref: function ref(c) {
_this3.positioner = c;
} }),
_react2.default.createElement(
_Affix2.default,
_extends({}, props, {
offsetTop: effectiveOffsetTop,
viewportOffsetTop: viewportOffsetTop,
offsetBottom: offsetBottom,
affixStyle: affixStyle,
bottomStyle: bottomStyle
}),
children
)
);
};
return AutoAffix;
}(_react2.default.Component);
AutoAffix.displayName = displayName;
AutoAffix.propTypes = propTypes;
AutoAffix.defaultProps = defaultProps;
exports.default = AutoAffix;
module.exports = exports['default'];

136
node_modules/react-overlays/lib/LegacyPortal.js generated vendored Normal file
View File

@@ -0,0 +1,136 @@
'use strict';
exports.__esModule = true;
var _propTypes = require('prop-types');
var _propTypes2 = _interopRequireDefault(_propTypes);
var _componentOrElement = require('prop-types-extra/lib/componentOrElement');
var _componentOrElement2 = _interopRequireDefault(_componentOrElement);
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactDom = require('react-dom');
var _reactDom2 = _interopRequireDefault(_reactDom);
var _getContainer = require('./utils/getContainer');
var _getContainer2 = _interopRequireDefault(_getContainer);
var _ownerDocument = require('./utils/ownerDocument');
var _ownerDocument2 = _interopRequireDefault(_ownerDocument);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _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; }
function _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; }
/**
* The `<Portal/>` component renders its children into a new "subtree" outside of current component hierarchy.
* You can think of it as a declarative `appendChild()`, or jQuery's `$.fn.appendTo()`.
* The children of `<Portal/>` component will be appended to the `container` specified.
*/
var Portal = function (_React$Component) {
_inherits(Portal, _React$Component);
function Portal() {
var _temp, _this, _ret;
_classCallCheck(this, Portal);
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this._mountOverlayTarget = function () {
if (!_this._overlayTarget) {
_this._overlayTarget = document.createElement('div');
_this._portalContainerNode = (0, _getContainer2.default)(_this.props.container, (0, _ownerDocument2.default)(_this).body);
_this._portalContainerNode.appendChild(_this._overlayTarget);
}
}, _this._unmountOverlayTarget = function () {
if (_this._overlayTarget) {
_this._portalContainerNode.removeChild(_this._overlayTarget);
_this._overlayTarget = null;
}
_this._portalContainerNode = null;
}, _this._renderOverlay = function () {
var overlay = !_this.props.children ? null : _react2.default.Children.only(_this.props.children);
// Save reference for future access.
if (overlay !== null) {
_this._mountOverlayTarget();
var initialRender = !_this._overlayInstance;
_this._overlayInstance = _reactDom2.default.unstable_renderSubtreeIntoContainer(_this, overlay, _this._overlayTarget, function () {
if (initialRender && _this.props.onRendered) {
_this.props.onRendered();
}
});
} else {
// Unrender if the component is null for transitions to null
_this._unrenderOverlay();
_this._unmountOverlayTarget();
}
}, _this._unrenderOverlay = function () {
if (_this._overlayTarget) {
_reactDom2.default.unmountComponentAtNode(_this._overlayTarget);
_this._overlayInstance = null;
}
}, _this.getMountNode = function () {
return _this._overlayTarget;
}, _temp), _possibleConstructorReturn(_this, _ret);
}
Portal.prototype.componentDidMount = function componentDidMount() {
this._isMounted = true;
this._renderOverlay();
};
Portal.prototype.componentDidUpdate = function componentDidUpdate() {
this._renderOverlay();
};
Portal.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
if (this._overlayTarget && nextProps.container !== this.props.container) {
this._portalContainerNode.removeChild(this._overlayTarget);
this._portalContainerNode = (0, _getContainer2.default)(nextProps.container, (0, _ownerDocument2.default)(this).body);
this._portalContainerNode.appendChild(this._overlayTarget);
}
};
Portal.prototype.componentWillUnmount = function componentWillUnmount() {
this._isMounted = false;
this._unrenderOverlay();
this._unmountOverlayTarget();
};
Portal.prototype.render = function render() {
return null;
};
return Portal;
}(_react2.default.Component);
Portal.displayName = 'Portal';
Portal.propTypes = {
/**
* A Node, Component instance, or function that returns either. The `container` will have the Portal children
* appended to it.
*/
container: _propTypes2.default.oneOfType([_componentOrElement2.default, _propTypes2.default.func]),
onRendered: _propTypes2.default.func
};
exports.default = Portal;
module.exports = exports['default'];

619
node_modules/react-overlays/lib/Modal.js generated vendored Normal file
View File

@@ -0,0 +1,619 @@
'use strict';
exports.__esModule = true;
var _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; };
var _activeElement = require('dom-helpers/activeElement');
var _activeElement2 = _interopRequireDefault(_activeElement);
var _contains = require('dom-helpers/query/contains');
var _contains2 = _interopRequireDefault(_contains);
var _inDOM = require('dom-helpers/util/inDOM');
var _inDOM2 = _interopRequireDefault(_inDOM);
var _propTypes = require('prop-types');
var _propTypes2 = _interopRequireDefault(_propTypes);
var _componentOrElement = require('prop-types-extra/lib/componentOrElement');
var _componentOrElement2 = _interopRequireDefault(_componentOrElement);
var _deprecated = require('prop-types-extra/lib/deprecated');
var _deprecated2 = _interopRequireDefault(_deprecated);
var _elementType = require('prop-types-extra/lib/elementType');
var _elementType2 = _interopRequireDefault(_elementType);
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactDom = require('react-dom');
var _reactDom2 = _interopRequireDefault(_reactDom);
var _warning = require('warning');
var _warning2 = _interopRequireDefault(_warning);
var _ModalManager = require('./ModalManager');
var _ModalManager2 = _interopRequireDefault(_ModalManager);
var _Portal = require('./Portal');
var _Portal2 = _interopRequireDefault(_Portal);
var _RefHolder = require('./RefHolder');
var _RefHolder2 = _interopRequireDefault(_RefHolder);
var _addEventListener = require('./utils/addEventListener');
var _addEventListener2 = _interopRequireDefault(_addEventListener);
var _addFocusListener = require('./utils/addFocusListener');
var _addFocusListener2 = _interopRequireDefault(_addFocusListener);
var _getContainer = require('./utils/getContainer');
var _getContainer2 = _interopRequireDefault(_getContainer);
var _ownerDocument = require('./utils/ownerDocument');
var _ownerDocument2 = _interopRequireDefault(_ownerDocument);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _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; }
function _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 */
var modalManager = new _ModalManager2.default();
/**
* Love them or hate them, `<Modal/>` provides a solid foundation for creating dialogs, lightboxes, or whatever else.
* The Modal component renders its `children` node in front of a backdrop component.
*
* The Modal offers a few helpful features over using just a `<Portal/>` component and some styles:
*
* - Manages dialog stacking when one-at-a-time just isn't enough.
* - Creates a backdrop, for disabling interaction below the modal.
* - It properly manages focus; moving to the modal content, and keeping it there until the modal is closed.
* - It disables scrolling of the page content while open.
* - Adds the appropriate ARIA roles are automatically.
* - Easily pluggable animations via a `<Transition/>` component.
*
* Note that, in the same way the backdrop element prevents users from clicking or interacting
* with the page content underneath the Modal, Screen readers also need to be signaled to not to
* interact with page content while the Modal is open. To do this, we use a common technique of applying
* the `aria-hidden='true'` attribute to the non-Modal elements in the Modal `container`. This means that for
* a Modal to be truly modal, it should have a `container` that is _outside_ your app's
* React hierarchy (such as the default: document.body).
*/
var Modal = function (_React$Component) {
_inherits(Modal, _React$Component);
function Modal() {
var _temp, _this, _ret;
_classCallCheck(this, Modal);
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _initialiseProps.call(_this), _temp), _possibleConstructorReturn(_this, _ret);
}
Modal.prototype.omitProps = function omitProps(props, propTypes) {
var keys = Object.keys(props);
var newProps = {};
keys.map(function (prop) {
if (!Object.prototype.hasOwnProperty.call(propTypes, prop)) {
newProps[prop] = props[prop];
}
});
return newProps;
};
Modal.prototype.render = function render() {
var _props = this.props,
show = _props.show,
container = _props.container,
children = _props.children,
Transition = _props.transition,
backdrop = _props.backdrop,
className = _props.className,
style = _props.style,
onExit = _props.onExit,
onExiting = _props.onExiting,
onEnter = _props.onEnter,
onEntering = _props.onEntering,
onEntered = _props.onEntered;
var dialog = _react2.default.Children.only(children);
var filteredProps = this.omitProps(this.props, Modal.propTypes);
var mountModal = show || Transition && !this.state.exited;
if (!mountModal) {
return null;
}
var _dialog$props = dialog.props,
role = _dialog$props.role,
tabIndex = _dialog$props.tabIndex;
if (role === undefined || tabIndex === undefined) {
dialog = (0, _react.cloneElement)(dialog, {
role: role === undefined ? 'document' : role,
tabIndex: tabIndex == null ? '-1' : tabIndex
});
}
if (Transition) {
dialog = _react2.default.createElement(
Transition,
{
appear: true,
unmountOnExit: true,
'in': show,
onExit: onExit,
onExiting: onExiting,
onExited: this.handleHidden,
onEnter: onEnter,
onEntering: onEntering,
onEntered: onEntered
},
dialog
);
}
return _react2.default.createElement(
_Portal2.default,
{
ref: this.setMountNode,
container: container,
onRendered: this.onPortalRendered
},
_react2.default.createElement(
'div',
_extends({
ref: this.setModalNodeRef,
role: role || 'dialog'
}, filteredProps, {
style: style,
className: className
}),
backdrop && this.renderBackdrop(),
_react2.default.createElement(
_RefHolder2.default,
{ ref: this.setDialogRef },
dialog
)
)
);
};
Modal.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
if (nextProps.show) {
this.setState({ exited: false });
} else if (!nextProps.transition) {
// Otherwise let handleHidden take care of marking exited.
this.setState({ exited: true });
}
};
Modal.prototype.componentWillUpdate = function componentWillUpdate(nextProps) {
if (!this.props.show && nextProps.show) {
this.checkForFocus();
}
};
Modal.prototype.componentDidMount = function componentDidMount() {
this._isMounted = true;
if (this.props.show) {
this.onShow();
}
};
Modal.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {
var transition = this.props.transition;
if (prevProps.show && !this.props.show && !transition) {
// Otherwise handleHidden will call this.
this.onHide();
} else if (!prevProps.show && this.props.show) {
this.onShow();
}
};
Modal.prototype.componentWillUnmount = function componentWillUnmount() {
var _props2 = this.props,
show = _props2.show,
transition = _props2.transition;
this._isMounted = false;
if (show || transition && !this.state.exited) {
this.onHide();
}
};
Modal.prototype.autoFocus = function autoFocus() {
if (!this.props.autoFocus) {
return;
}
var dialogElement = this.getDialogElement();
var currentActiveElement = (0, _activeElement2.default)((0, _ownerDocument2.default)(this));
if (dialogElement && !(0, _contains2.default)(dialogElement, currentActiveElement)) {
this.lastFocus = currentActiveElement;
if (!dialogElement.hasAttribute('tabIndex')) {
(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".');
dialogElement.setAttribute('tabIndex', -1);
}
dialogElement.focus();
}
};
Modal.prototype.restoreLastFocus = function restoreLastFocus() {
// Support: <=IE11 doesn't support `focus()` on svg elements (RB: #917)
if (this.lastFocus && this.lastFocus.focus) {
this.lastFocus.focus();
this.lastFocus = null;
}
};
Modal.prototype.getDialogElement = function getDialogElement() {
return _reactDom2.default.findDOMNode(this.dialog);
};
Modal.prototype.isTopModal = function isTopModal() {
return this.props.manager.isTopModal(this);
};
return Modal;
}(_react2.default.Component);
Modal.propTypes = _extends({}, _Portal2.default.propTypes, {
/**
* Set the visibility of the Modal
*/
show: _propTypes2.default.bool,
/**
* A Node, Component instance, or function that returns either. The Modal is appended to it's container element.
*
* For the sake of assistive technologies, the container should usually be the document body, so that the rest of the
* page content can be placed behind a virtual backdrop as well as a visual one.
*/
container: _propTypes2.default.oneOfType([_componentOrElement2.default, _propTypes2.default.func]),
/**
* A callback fired when the Modal is opening.
*/
onShow: _propTypes2.default.func,
/**
* A callback fired when either the backdrop is clicked, or the escape key is pressed.
*
* The `onHide` callback only signals intent from the Modal,
* you must actually set the `show` prop to `false` for the Modal to close.
*/
onHide: _propTypes2.default.func,
/**
* Include a backdrop component.
*/
backdrop: _propTypes2.default.oneOfType([_propTypes2.default.bool, _propTypes2.default.oneOf(['static'])]),
/**
* A function that returns a backdrop component. Useful for custom
* backdrop rendering.
*
* ```js
* renderBackdrop={props => <MyBackdrop {...props} />}
* ```
*/
renderBackdrop: _propTypes2.default.func,
/**
* A callback fired when the escape key, if specified in `keyboard`, is pressed.
*/
onEscapeKeyDown: _propTypes2.default.func,
/**
* Support for this function will be deprecated. Please use `onEscapeKeyDown` instead
* A callback fired when the escape key, if specified in `keyboard`, is pressed.
* @deprecated
*/
onEscapeKeyUp: (0, _deprecated2.default)(_propTypes2.default.func, 'Please use onEscapeKeyDown instead for consistency'),
/**
* A callback fired when the backdrop, if specified, is clicked.
*/
onBackdropClick: _propTypes2.default.func,
/**
* A style object for the backdrop component.
*/
backdropStyle: _propTypes2.default.object,
/**
* A css class or classes for the backdrop component.
*/
backdropClassName: _propTypes2.default.string,
/**
* A css class or set of classes applied to the modal container when the modal is open,
* and removed when it is closed.
*/
containerClassName: _propTypes2.default.string,
/**
* Close the modal when escape key is pressed
*/
keyboard: _propTypes2.default.bool,
/**
* A `react-transition-group@2.0.0` `<Transition/>` component used
* to control animations for the dialog component.
*/
transition: _elementType2.default,
/**
* A `react-transition-group@2.0.0` `<Transition/>` component used
* to control animations for the backdrop components.
*/
backdropTransition: _elementType2.default,
/**
* When `true` The modal will automatically shift focus to itself when it opens, and
* replace it to the last focused element when it closes. This also
* works correctly with any Modal children that have the `autoFocus` prop.
*
* Generally this should never be set to `false` as it makes the Modal less
* accessible to assistive technologies, like screen readers.
*/
autoFocus: _propTypes2.default.bool,
/**
* When `true` The modal will prevent focus from leaving the Modal while open.
*
* Generally this should never be set to `false` as it makes the Modal less
* accessible to assistive technologies, like screen readers.
*/
enforceFocus: _propTypes2.default.bool,
/**
* When `true` The modal will restore focus to previously focused element once
* modal is hidden
*/
restoreFocus: _propTypes2.default.bool,
/**
* Callback fired before the Modal transitions in
*/
onEnter: _propTypes2.default.func,
/**
* Callback fired as the Modal begins to transition in
*/
onEntering: _propTypes2.default.func,
/**
* Callback fired after the Modal finishes transitioning in
*/
onEntered: _propTypes2.default.func,
/**
* Callback fired right before the Modal transitions out
*/
onExit: _propTypes2.default.func,
/**
* Callback fired as the Modal begins to transition out
*/
onExiting: _propTypes2.default.func,
/**
* Callback fired after the Modal finishes transitioning out
*/
onExited: _propTypes2.default.func,
/**
* A ModalManager instance used to track and manage the state of open
* Modals. Useful when customizing how modals interact within a container
*/
manager: _propTypes2.default.object.isRequired
});
Modal.defaultProps = {
show: false,
backdrop: true,
keyboard: true,
autoFocus: true,
enforceFocus: true,
restoreFocus: true,
onHide: function onHide() {},
manager: modalManager,
renderBackdrop: function renderBackdrop(props) {
return _react2.default.createElement('div', props);
}
};
var _initialiseProps = function _initialiseProps() {
var _this2 = this;
this.state = { exited: !this.props.show };
this.renderBackdrop = function () {
var _props3 = _this2.props,
backdropStyle = _props3.backdropStyle,
backdropClassName = _props3.backdropClassName,
renderBackdrop = _props3.renderBackdrop,
Transition = _props3.backdropTransition;
var backdropRef = function backdropRef(ref) {
return _this2.backdrop = ref;
};
var backdrop = renderBackdrop({
ref: backdropRef,
style: backdropStyle,
className: backdropClassName,
onClick: _this2.handleBackdropClick
});
if (Transition) {
backdrop = _react2.default.createElement(
Transition,
{
appear: true,
'in': _this2.props.show
},
backdrop
);
}
return backdrop;
};
this.onPortalRendered = function () {
_this2.autoFocus();
if (_this2.props.onShow) {
_this2.props.onShow();
}
};
this.onShow = function () {
var doc = (0, _ownerDocument2.default)(_this2);
var container = (0, _getContainer2.default)(_this2.props.container, doc.body);
_this2.props.manager.add(_this2, container, _this2.props.containerClassName);
_this2._onDocumentKeydownListener = (0, _addEventListener2.default)(doc, 'keydown', _this2.handleDocumentKeyDown);
_this2._onDocumentKeyupListener = (0, _addEventListener2.default)(doc, 'keyup', _this2.handleDocumentKeyUp);
_this2._onFocusinListener = (0, _addFocusListener2.default)(_this2.enforceFocus);
};
this.onHide = function () {
_this2.props.manager.remove(_this2);
_this2._onDocumentKeydownListener.remove();
_this2._onDocumentKeyupListener.remove();
_this2._onFocusinListener.remove();
if (_this2.props.restoreFocus) {
_this2.restoreLastFocus();
}
};
this.setMountNode = function (ref) {
_this2.mountNode = ref ? ref.getMountNode() : ref;
};
this.setModalNodeRef = function (ref) {
_this2.modalNode = ref;
};
this.setDialogRef = function (ref) {
_this2.dialog = ref;
};
this.handleHidden = function () {
_this2.setState({ exited: true });
_this2.onHide();
if (_this2.props.onExited) {
var _props4;
(_props4 = _this2.props).onExited.apply(_props4, arguments);
}
};
this.handleBackdropClick = function (e) {
if (e.target !== e.currentTarget) {
return;
}
if (_this2.props.onBackdropClick) {
_this2.props.onBackdropClick(e);
}
if (_this2.props.backdrop === true) {
_this2.props.onHide();
}
};
this.handleDocumentKeyDown = function (e) {
if (_this2.props.keyboard && e.keyCode === 27 && _this2.isTopModal()) {
if (_this2.props.onEscapeKeyDown) {
_this2.props.onEscapeKeyDown(e);
}
_this2.props.onHide();
}
};
this.handleDocumentKeyUp = function (e) {
if (_this2.props.keyboard && e.keyCode === 27 && _this2.isTopModal()) {
if (_this2.props.onEscapeKeyUp) {
_this2.props.onEscapeKeyUp(e);
}
}
};
this.checkForFocus = function () {
if (_inDOM2.default) {
_this2.lastFocus = (0, _activeElement2.default)();
}
};
this.enforceFocus = function () {
if (!_this2.props.enforceFocus || !_this2._isMounted || !_this2.isTopModal()) {
return;
}
var dialogElement = _this2.getDialogElement();
var currentActiveElement = (0, _activeElement2.default)((0, _ownerDocument2.default)(_this2));
if (dialogElement && !(0, _contains2.default)(dialogElement, currentActiveElement)) {
dialogElement.focus();
}
};
};
Modal.Manager = _ModalManager2.default;
exports.default = Modal;
module.exports = exports['default'];

175
node_modules/react-overlays/lib/ModalManager.js generated vendored Normal file
View File

@@ -0,0 +1,175 @@
'use strict';
exports.__esModule = true;
var _class = require('dom-helpers/class');
var _class2 = _interopRequireDefault(_class);
var _style = require('dom-helpers/style');
var _style2 = _interopRequireDefault(_style);
var _scrollbarSize = require('dom-helpers/util/scrollbarSize');
var _scrollbarSize2 = _interopRequireDefault(_scrollbarSize);
var _isOverflowing = require('./utils/isOverflowing');
var _isOverflowing2 = _interopRequireDefault(_isOverflowing);
var _manageAriaHidden = require('./utils/manageAriaHidden');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function findIndexOf(arr, cb) {
var idx = -1;
arr.some(function (d, i) {
if (cb(d, i)) {
idx = i;
return true;
}
});
return idx;
}
function findContainer(data, modal) {
return findIndexOf(data, function (d) {
return d.modals.indexOf(modal) !== -1;
});
}
function setContainerStyle(state, container) {
var style = { overflow: 'hidden' };
// we are only interested in the actual `style` here
// becasue we will override it
state.style = {
overflow: container.style.overflow,
paddingRight: container.style.paddingRight
};
if (state.overflowing) {
// use computed style, here to get the real padding
// to add our scrollbar width
style.paddingRight = parseInt((0, _style2.default)(container, 'paddingRight') || 0, 10) + (0, _scrollbarSize2.default)() + 'px';
}
(0, _style2.default)(container, style);
}
function removeContainerStyle(_ref, container) {
var style = _ref.style;
Object.keys(style).forEach(function (key) {
return container.style[key] = style[key];
});
}
/**
* Proper state managment for containers and the modals in those containers.
*
* @internal Used by the Modal to ensure proper styling of containers.
*/
var ModalManager = function ModalManager() {
var _this = this;
var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
_ref2$hideSiblingNode = _ref2.hideSiblingNodes,
hideSiblingNodes = _ref2$hideSiblingNode === undefined ? true : _ref2$hideSiblingNode,
_ref2$handleContainer = _ref2.handleContainerOverflow,
handleContainerOverflow = _ref2$handleContainer === undefined ? true : _ref2$handleContainer;
_classCallCheck(this, ModalManager);
this.add = function (modal, container, className) {
var modalIdx = _this.modals.indexOf(modal);
var containerIdx = _this.containers.indexOf(container);
if (modalIdx !== -1) {
return modalIdx;
}
modalIdx = _this.modals.length;
_this.modals.push(modal);
if (_this.hideSiblingNodes) {
(0, _manageAriaHidden.hideSiblings)(container, modal.mountNode);
}
if (containerIdx !== -1) {
_this.data[containerIdx].modals.push(modal);
return modalIdx;
}
var data = {
modals: [modal],
//right now only the first modal of a container will have its classes applied
classes: className ? className.split(/\s+/) : [],
overflowing: (0, _isOverflowing2.default)(container)
};
if (_this.handleContainerOverflow) {
setContainerStyle(data, container);
}
data.classes.forEach(_class2.default.addClass.bind(null, container));
_this.containers.push(container);
_this.data.push(data);
return modalIdx;
};
this.remove = function (modal) {
var modalIdx = _this.modals.indexOf(modal);
if (modalIdx === -1) {
return;
}
var containerIdx = findContainer(_this.data, modal);
var data = _this.data[containerIdx];
var container = _this.containers[containerIdx];
data.modals.splice(data.modals.indexOf(modal), 1);
_this.modals.splice(modalIdx, 1);
// if that was the last modal in a container,
// clean up the container
if (data.modals.length === 0) {
data.classes.forEach(_class2.default.removeClass.bind(null, container));
if (_this.handleContainerOverflow) {
removeContainerStyle(data, container);
}
if (_this.hideSiblingNodes) {
(0, _manageAriaHidden.showSiblings)(container, modal.mountNode);
}
_this.containers.splice(containerIdx, 1);
_this.data.splice(containerIdx, 1);
} else if (_this.hideSiblingNodes) {
//otherwise make sure the next top modal is visible to a SR
(0, _manageAriaHidden.ariaHidden)(false, data.modals[data.modals.length - 1].mountNode);
}
};
this.isTopModal = function (modal) {
return !!_this.modals.length && _this.modals[_this.modals.length - 1] === modal;
};
this.hideSiblingNodes = hideSiblingNodes;
this.handleContainerOverflow = handleContainerOverflow;
this.modals = [];
this.containers = [];
this.data = [];
};
exports.default = ModalManager;
module.exports = exports['default'];

223
node_modules/react-overlays/lib/Overlay.js generated vendored Normal file
View File

@@ -0,0 +1,223 @@
'use strict';
exports.__esModule = true;
var _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; };
var _propTypes = require('prop-types');
var _propTypes2 = _interopRequireDefault(_propTypes);
var _elementType = require('prop-types-extra/lib/elementType');
var _elementType2 = _interopRequireDefault(_elementType);
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _Portal = require('./Portal');
var _Portal2 = _interopRequireDefault(_Portal);
var _Position = require('./Position');
var _Position2 = _interopRequireDefault(_Position);
var _RootCloseWrapper = require('./RootCloseWrapper');
var _RootCloseWrapper2 = _interopRequireDefault(_RootCloseWrapper);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _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; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _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; }
function _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; }
/**
* Built on top of `<Position/>` and `<Portal/>`, the overlay component is great for custom tooltip overlays.
*/
var Overlay = function (_React$Component) {
_inherits(Overlay, _React$Component);
function Overlay(props, context) {
_classCallCheck(this, Overlay);
var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));
_this.handleHidden = function () {
_this.setState({ exited: true });
if (_this.props.onExited) {
var _this$props;
(_this$props = _this.props).onExited.apply(_this$props, arguments);
}
};
_this.state = { exited: !props.show };
_this.onHiddenListener = _this.handleHidden.bind(_this);
return _this;
}
Overlay.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
if (nextProps.show) {
this.setState({ exited: false });
} else if (!nextProps.transition) {
// Otherwise let handleHidden take care of marking exited.
this.setState({ exited: true });
}
};
Overlay.prototype.render = function render() {
var _props = this.props,
container = _props.container,
containerPadding = _props.containerPadding,
target = _props.target,
placement = _props.placement,
shouldUpdatePosition = _props.shouldUpdatePosition,
rootClose = _props.rootClose,
children = _props.children,
Transition = _props.transition,
props = _objectWithoutProperties(_props, ['container', 'containerPadding', 'target', 'placement', 'shouldUpdatePosition', 'rootClose', 'children', 'transition']);
// Don't un-render the overlay while it's transitioning out.
var mountOverlay = props.show || Transition && !this.state.exited;
if (!mountOverlay) {
// Don't bother showing anything if we don't have to.
return null;
}
var child = children;
// Position is be inner-most because it adds inline styles into the child,
// which the other wrappers don't forward correctly.
child = _react2.default.createElement(
_Position2.default,
{ container: container, containerPadding: containerPadding, target: target, placement: placement, shouldUpdatePosition: shouldUpdatePosition },
child
);
if (Transition) {
var onExit = props.onExit,
onExiting = props.onExiting,
onEnter = props.onEnter,
onEntering = props.onEntering,
onEntered = props.onEntered;
// This animates the child node by injecting props, so it must precede
// anything that adds a wrapping div.
child = _react2.default.createElement(
Transition,
{
'in': props.show,
appear: true,
onExit: onExit,
onExiting: onExiting,
onExited: this.onHiddenListener,
onEnter: onEnter,
onEntering: onEntering,
onEntered: onEntered
},
child
);
}
// This goes after everything else because it adds a wrapping div.
if (rootClose) {
child = _react2.default.createElement(
_RootCloseWrapper2.default,
{ onRootClose: props.onHide },
child
);
}
return _react2.default.createElement(
_Portal2.default,
{ container: container },
child
);
};
return Overlay;
}(_react2.default.Component);
Overlay.propTypes = _extends({}, _Portal2.default.propTypes, _Position2.default.propTypes, {
/**
* Set the visibility of the Overlay
*/
show: _propTypes2.default.bool,
/**
* Specify whether the overlay should trigger `onHide` when the user clicks outside the overlay
*/
rootClose: _propTypes2.default.bool,
/**
* A Callback fired by the Overlay when it wishes to be hidden.
*
* __required__ when `rootClose` is `true`.
*
* @type func
*/
onHide: function onHide(props) {
var propType = _propTypes2.default.func;
if (props.rootClose) {
propType = propType.isRequired;
}
for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
args[_key - 1] = arguments[_key];
}
return propType.apply(undefined, [props].concat(args));
},
/**
* A `react-transition-group@2.0.0` `<Transition/>` component
* used to animate the overlay as it changes visibility.
*/
transition: _elementType2.default,
/**
* Callback fired before the Overlay transitions in
*/
onEnter: _propTypes2.default.func,
/**
* Callback fired as the Overlay begins to transition in
*/
onEntering: _propTypes2.default.func,
/**
* Callback fired after the Overlay finishes transitioning in
*/
onEntered: _propTypes2.default.func,
/**
* Callback fired right before the Overlay transitions out
*/
onExit: _propTypes2.default.func,
/**
* Callback fired as the Overlay begins to transition out
*/
onExiting: _propTypes2.default.func,
/**
* Callback fired after the Overlay finishes transitioning out
*/
onExited: _propTypes2.default.func
});
exports.default = Overlay;
module.exports = exports['default'];

100
node_modules/react-overlays/lib/Portal.js generated vendored Normal file
View File

@@ -0,0 +1,100 @@
'use strict';
exports.__esModule = true;
var _propTypes = require('prop-types');
var _propTypes2 = _interopRequireDefault(_propTypes);
var _componentOrElement = require('prop-types-extra/lib/componentOrElement');
var _componentOrElement2 = _interopRequireDefault(_componentOrElement);
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactDom = require('react-dom');
var _reactDom2 = _interopRequireDefault(_reactDom);
var _getContainer = require('./utils/getContainer');
var _getContainer2 = _interopRequireDefault(_getContainer);
var _ownerDocument = require('./utils/ownerDocument');
var _ownerDocument2 = _interopRequireDefault(_ownerDocument);
var _LegacyPortal = require('./LegacyPortal');
var _LegacyPortal2 = _interopRequireDefault(_LegacyPortal);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _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; }
function _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; }
/**
* The `<Portal/>` component renders its children into a new "subtree" outside of current component hierarchy.
* You can think of it as a declarative `appendChild()`, or jQuery's `$.fn.appendTo()`.
* The children of `<Portal/>` component will be appended to the `container` specified.
*/
var Portal = function (_React$Component) {
_inherits(Portal, _React$Component);
function Portal() {
var _temp, _this, _ret;
_classCallCheck(this, Portal);
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.setContainer = function () {
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _this.props;
_this._portalContainerNode = (0, _getContainer2.default)(props.container, (0, _ownerDocument2.default)(_this).body);
}, _this.getMountNode = function () {
return _this._portalContainerNode;
}, _temp), _possibleConstructorReturn(_this, _ret);
}
Portal.prototype.componentDidMount = function componentDidMount() {
this.setContainer();
this.forceUpdate(this.props.onRendered);
};
Portal.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
if (nextProps.container !== this.props.container) {
this.setContainer(nextProps);
}
};
Portal.prototype.componentWillUnmount = function componentWillUnmount() {
this._portalContainerNode = null;
};
Portal.prototype.render = function render() {
return this.props.children && this._portalContainerNode ? _reactDom2.default.createPortal(this.props.children, this._portalContainerNode) : null;
};
return Portal;
}(_react2.default.Component);
Portal.displayName = 'Portal';
Portal.propTypes = {
/**
* A Node, Component instance, or function that returns either. The `container` will have the Portal children
* appended to it.
*/
container: _propTypes2.default.oneOfType([_componentOrElement2.default, _propTypes2.default.func]),
onRendered: _propTypes2.default.func
};
exports.default = _reactDom2.default.createPortal ? Portal : _LegacyPortal2.default;
module.exports = exports['default'];

200
node_modules/react-overlays/lib/Position.js generated vendored Normal file
View File

@@ -0,0 +1,200 @@
'use strict';
exports.__esModule = true;
var _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; };
var _classnames = require('classnames');
var _classnames2 = _interopRequireDefault(_classnames);
var _propTypes = require('prop-types');
var _propTypes2 = _interopRequireDefault(_propTypes);
var _componentOrElement = require('prop-types-extra/lib/componentOrElement');
var _componentOrElement2 = _interopRequireDefault(_componentOrElement);
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactDom = require('react-dom');
var _reactDom2 = _interopRequireDefault(_reactDom);
var _calculatePosition = require('./utils/calculatePosition');
var _calculatePosition2 = _interopRequireDefault(_calculatePosition);
var _getContainer = require('./utils/getContainer');
var _getContainer2 = _interopRequireDefault(_getContainer);
var _ownerDocument = require('./utils/ownerDocument');
var _ownerDocument2 = _interopRequireDefault(_ownerDocument);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _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; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _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; }
function _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; }
/**
* The Position component calculates the coordinates for its child, to position
* it relative to a `target` component or node. Useful for creating callouts
* and tooltips, the Position component injects a `style` props with `left` and
* `top` values for positioning your component.
*
* It also injects "arrow" `left`, and `top` values for styling callout arrows
* for giving your components a sense of directionality.
*/
var Position = function (_React$Component) {
_inherits(Position, _React$Component);
function Position(props, context) {
_classCallCheck(this, Position);
var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));
_this.getTarget = function () {
var target = _this.props.target;
var targetElement = typeof target === 'function' ? target() : target;
return targetElement && _reactDom2.default.findDOMNode(targetElement) || null;
};
_this.maybeUpdatePosition = function (placementChanged) {
var target = _this.getTarget();
if (!_this.props.shouldUpdatePosition && target === _this._lastTarget && !placementChanged) {
return;
}
_this.updatePosition(target);
};
_this.state = {
positionLeft: 0,
positionTop: 0,
arrowOffsetLeft: null,
arrowOffsetTop: null
};
_this._needsFlush = false;
_this._lastTarget = null;
return _this;
}
Position.prototype.componentDidMount = function componentDidMount() {
this.updatePosition(this.getTarget());
};
Position.prototype.componentWillReceiveProps = function componentWillReceiveProps() {
this._needsFlush = true;
};
Position.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {
if (this._needsFlush) {
this._needsFlush = false;
this.maybeUpdatePosition(this.props.placement !== prevProps.placement);
}
};
Position.prototype.render = function render() {
var _props = this.props,
children = _props.children,
className = _props.className,
props = _objectWithoutProperties(_props, ['children', 'className']);
var _state = this.state,
positionLeft = _state.positionLeft,
positionTop = _state.positionTop,
arrowPosition = _objectWithoutProperties(_state, ['positionLeft', 'positionTop']);
// These should not be forwarded to the child.
delete props.target;
delete props.container;
delete props.containerPadding;
delete props.shouldUpdatePosition;
var child = _react2.default.Children.only(children);
return (0, _react.cloneElement)(child, _extends({}, props, arrowPosition, {
// FIXME: Don't forward `positionLeft` and `positionTop` via both props
// and `props.style`.
positionLeft: positionLeft,
positionTop: positionTop,
className: (0, _classnames2.default)(className, child.props.className),
style: _extends({}, child.props.style, {
left: positionLeft,
top: positionTop
})
}));
};
Position.prototype.updatePosition = function updatePosition(target) {
this._lastTarget = target;
if (!target) {
this.setState({
positionLeft: 0,
positionTop: 0,
arrowOffsetLeft: null,
arrowOffsetTop: null
});
return;
}
var overlay = _reactDom2.default.findDOMNode(this);
var container = (0, _getContainer2.default)(this.props.container, (0, _ownerDocument2.default)(this).body);
this.setState((0, _calculatePosition2.default)(this.props.placement, overlay, target, container, this.props.containerPadding));
};
return Position;
}(_react2.default.Component);
Position.propTypes = {
/**
* A node, element, or function that returns either. The child will be
* be positioned next to the `target` specified.
*/
target: _propTypes2.default.oneOfType([_componentOrElement2.default, _propTypes2.default.func]),
/**
* "offsetParent" of the component
*/
container: _propTypes2.default.oneOfType([_componentOrElement2.default, _propTypes2.default.func]),
/**
* Minimum spacing in pixels between container border and component border
*/
containerPadding: _propTypes2.default.number,
/**
* How to position the component relative to the target
*/
placement: _propTypes2.default.oneOf(['top', 'right', 'bottom', 'left']),
/**
* Whether the position should be changed on each update
*/
shouldUpdatePosition: _propTypes2.default.bool
};
Position.displayName = 'Position';
Position.defaultProps = {
containerPadding: 0,
placement: 'right',
shouldUpdatePosition: false
};
exports.default = Position;
module.exports = exports['default'];

49
node_modules/react-overlays/lib/RefHolder.js generated vendored Normal file
View File

@@ -0,0 +1,49 @@
'use strict';
exports.__esModule = true;
var _propTypes = require('prop-types');
var _propTypes2 = _interopRequireDefault(_propTypes);
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _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; }
function _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; }
var propTypes = {
children: _propTypes2.default.node
};
/**
* Internal helper component to allow attaching a non-conflicting ref to a
* child element that may not accept refs.
*/
var RefHolder = function (_React$Component) {
_inherits(RefHolder, _React$Component);
function RefHolder() {
_classCallCheck(this, RefHolder);
return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));
}
RefHolder.prototype.render = function render() {
return this.props.children;
};
return RefHolder;
}(_react2.default.Component);
RefHolder.propTypes = propTypes;
exports.default = RefHolder;
module.exports = exports['default'];

164
node_modules/react-overlays/lib/RootCloseWrapper.js generated vendored Normal file
View File

@@ -0,0 +1,164 @@
'use strict';
exports.__esModule = true;
var _contains = require('dom-helpers/query/contains');
var _contains2 = _interopRequireDefault(_contains);
var _propTypes = require('prop-types');
var _propTypes2 = _interopRequireDefault(_propTypes);
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactDom = require('react-dom');
var _reactDom2 = _interopRequireDefault(_reactDom);
var _addEventListener = require('./utils/addEventListener');
var _addEventListener2 = _interopRequireDefault(_addEventListener);
var _ownerDocument = require('./utils/ownerDocument');
var _ownerDocument2 = _interopRequireDefault(_ownerDocument);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _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; }
function _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; }
var escapeKeyCode = 27;
function isLeftClickEvent(event) {
return event.button === 0;
}
function isModifiedEvent(event) {
return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);
}
/**
* The `<RootCloseWrapper/>` component registers your callback on the document
* when rendered. Powers the `<Overlay/>` component. This is used achieve modal
* style behavior where your callback is triggered when the user tries to
* interact with the rest of the document or hits the `esc` key.
*/
var RootCloseWrapper = function (_React$Component) {
_inherits(RootCloseWrapper, _React$Component);
function RootCloseWrapper(props, context) {
_classCallCheck(this, RootCloseWrapper);
var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));
_this.addEventListeners = function () {
var event = _this.props.event;
var doc = (0, _ownerDocument2.default)(_this);
// Use capture for this listener so it fires before React's listener, to
// avoid false positives in the contains() check below if the target DOM
// element is removed in the React mouse callback.
_this.documentMouseCaptureListener = (0, _addEventListener2.default)(doc, event, _this.handleMouseCapture, true);
_this.documentMouseListener = (0, _addEventListener2.default)(doc, event, _this.handleMouse);
_this.documentKeyupListener = (0, _addEventListener2.default)(doc, 'keyup', _this.handleKeyUp);
};
_this.removeEventListeners = function () {
if (_this.documentMouseCaptureListener) {
_this.documentMouseCaptureListener.remove();
}
if (_this.documentMouseListener) {
_this.documentMouseListener.remove();
}
if (_this.documentKeyupListener) {
_this.documentKeyupListener.remove();
}
};
_this.handleMouseCapture = function (e) {
_this.preventMouseRootClose = isModifiedEvent(e) || !isLeftClickEvent(e) || (0, _contains2.default)(_reactDom2.default.findDOMNode(_this), e.target);
};
_this.handleMouse = function (e) {
if (!_this.preventMouseRootClose && _this.props.onRootClose) {
_this.props.onRootClose(e);
}
};
_this.handleKeyUp = function (e) {
if (e.keyCode === escapeKeyCode && _this.props.onRootClose) {
_this.props.onRootClose(e);
}
};
_this.preventMouseRootClose = false;
return _this;
}
RootCloseWrapper.prototype.componentDidMount = function componentDidMount() {
if (!this.props.disabled) {
this.addEventListeners();
}
};
RootCloseWrapper.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {
if (!this.props.disabled && prevProps.disabled) {
this.addEventListeners();
} else if (this.props.disabled && !prevProps.disabled) {
this.removeEventListeners();
}
};
RootCloseWrapper.prototype.componentWillUnmount = function componentWillUnmount() {
if (!this.props.disabled) {
this.removeEventListeners();
}
};
RootCloseWrapper.prototype.render = function render() {
return this.props.children;
};
return RootCloseWrapper;
}(_react2.default.Component);
RootCloseWrapper.displayName = 'RootCloseWrapper';
RootCloseWrapper.propTypes = {
/**
* Callback fired after click or mousedown. Also triggers when user hits `esc`.
*/
onRootClose: _propTypes2.default.func,
/**
* Children to render.
*/
children: _propTypes2.default.element,
/**
* Disable the the RootCloseWrapper, preventing it from triggering `onRootClose`.
*/
disabled: _propTypes2.default.bool,
/**
* Choose which document mouse event to bind to.
*/
event: _propTypes2.default.oneOf(['click', 'mousedown'])
};
RootCloseWrapper.defaultProps = {
event: 'click'
};
exports.default = RootCloseWrapper;
module.exports = exports['default'];

42
node_modules/react-overlays/lib/index.js generated vendored Normal file
View File

@@ -0,0 +1,42 @@
'use strict';
exports.__esModule = true;
exports.RootCloseWrapper = exports.Position = exports.Portal = exports.Overlay = exports.Modal = exports.AutoAffix = exports.Affix = undefined;
var _Affix2 = require('./Affix');
var _Affix3 = _interopRequireDefault(_Affix2);
var _AutoAffix2 = require('./AutoAffix');
var _AutoAffix3 = _interopRequireDefault(_AutoAffix2);
var _Modal2 = require('./Modal');
var _Modal3 = _interopRequireDefault(_Modal2);
var _Overlay2 = require('./Overlay');
var _Overlay3 = _interopRequireDefault(_Overlay2);
var _Portal2 = require('./Portal');
var _Portal3 = _interopRequireDefault(_Portal2);
var _Position2 = require('./Position');
var _Position3 = _interopRequireDefault(_Position2);
var _RootCloseWrapper2 = require('./RootCloseWrapper');
var _RootCloseWrapper3 = _interopRequireDefault(_RootCloseWrapper2);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.Affix = _Affix3.default;
exports.AutoAffix = _AutoAffix3.default;
exports.Modal = _Modal3.default;
exports.Overlay = _Overlay3.default;
exports.Portal = _Portal3.default;
exports.Position = _Position3.default;
exports.RootCloseWrapper = _RootCloseWrapper3.default;

View File

@@ -0,0 +1,25 @@
'use strict';
exports.__esModule = true;
exports.default = function (node, event, handler, capture) {
(0, _on2.default)(node, event, handler, capture);
return {
remove: function remove() {
(0, _off2.default)(node, event, handler, capture);
}
};
};
var _on = require('dom-helpers/events/on');
var _on2 = _interopRequireDefault(_on);
var _off = require('dom-helpers/events/off');
var _off2 = _interopRequireDefault(_off);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
module.exports = exports['default'];

View File

@@ -0,0 +1,29 @@
'use strict';
exports.__esModule = true;
exports.default = addFocusListener;
/**
* Firefox doesn't have a focusin event so using capture is easiest way to get bubbling
* IE8 can't do addEventListener, but does have onfocusin, so we use that in ie8
*
* We only allow one Listener at a time to avoid stack overflows
*/
function addFocusListener(handler) {
var useFocusin = !document.addEventListener;
var remove = void 0;
if (useFocusin) {
document.attachEvent('onfocusin', handler);
remove = function remove() {
return document.detachEvent('onfocusin', handler);
};
} else {
document.addEventListener('focus', handler, true);
remove = function remove() {
return document.removeEventListener('focus', handler, true);
};
}
return { remove: remove };
}
module.exports = exports['default'];

View File

@@ -0,0 +1,125 @@
'use strict';
exports.__esModule = true;
exports.default = calculatePosition;
var _offset = require('dom-helpers/query/offset');
var _offset2 = _interopRequireDefault(_offset);
var _position = require('dom-helpers/query/position');
var _position2 = _interopRequireDefault(_position);
var _scrollTop = require('dom-helpers/query/scrollTop');
var _scrollTop2 = _interopRequireDefault(_scrollTop);
var _ownerDocument = require('./ownerDocument');
var _ownerDocument2 = _interopRequireDefault(_ownerDocument);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function getContainerDimensions(containerNode) {
var width = void 0,
height = void 0,
scroll = void 0;
if (containerNode.tagName === 'BODY') {
width = window.innerWidth;
height = window.innerHeight;
scroll = (0, _scrollTop2.default)((0, _ownerDocument2.default)(containerNode).documentElement) || (0, _scrollTop2.default)(containerNode);
} else {
var _getOffset = (0, _offset2.default)(containerNode);
width = _getOffset.width;
height = _getOffset.height;
scroll = (0, _scrollTop2.default)(containerNode);
}
return { width: width, height: height, scroll: scroll };
}
function getTopDelta(top, overlayHeight, container, padding) {
var containerDimensions = getContainerDimensions(container);
var containerScroll = containerDimensions.scroll;
var containerHeight = containerDimensions.height;
var topEdgeOffset = top - padding - containerScroll;
var bottomEdgeOffset = top + padding - containerScroll + overlayHeight;
if (topEdgeOffset < 0) {
return -topEdgeOffset;
} else if (bottomEdgeOffset > containerHeight) {
return containerHeight - bottomEdgeOffset;
} else {
return 0;
}
}
function getLeftDelta(left, overlayWidth, container, padding) {
var containerDimensions = getContainerDimensions(container);
var containerWidth = containerDimensions.width;
var leftEdgeOffset = left - padding;
var rightEdgeOffset = left + padding + overlayWidth;
if (leftEdgeOffset < 0) {
return -leftEdgeOffset;
} else if (rightEdgeOffset > containerWidth) {
return containerWidth - rightEdgeOffset;
}
return 0;
}
function calculatePosition(placement, overlayNode, target, container, padding) {
var childOffset = container.tagName === 'BODY' ? (0, _offset2.default)(target) : (0, _position2.default)(target, container);
var _getOffset2 = (0, _offset2.default)(overlayNode),
overlayHeight = _getOffset2.height,
overlayWidth = _getOffset2.width;
var positionLeft = void 0,
positionTop = void 0,
arrowOffsetLeft = void 0,
arrowOffsetTop = void 0;
if (placement === 'left' || placement === 'right') {
positionTop = childOffset.top + (childOffset.height - overlayHeight) / 2;
if (placement === 'left') {
positionLeft = childOffset.left - overlayWidth;
} else {
positionLeft = childOffset.left + childOffset.width;
}
var topDelta = getTopDelta(positionTop, overlayHeight, container, padding);
positionTop += topDelta;
arrowOffsetTop = 50 * (1 - 2 * topDelta / overlayHeight) + '%';
arrowOffsetLeft = void 0;
} else if (placement === 'top' || placement === 'bottom') {
positionLeft = childOffset.left + (childOffset.width - overlayWidth) / 2;
if (placement === 'top') {
positionTop = childOffset.top - overlayHeight;
} else {
positionTop = childOffset.top + childOffset.height;
}
var leftDelta = getLeftDelta(positionLeft, overlayWidth, container, padding);
positionLeft += leftDelta;
arrowOffsetLeft = 50 * (1 - 2 * leftDelta / overlayWidth) + '%';
arrowOffsetTop = void 0;
} else {
throw new Error('calcOverlayPosition(): No such placement of "' + placement + '" found.');
}
return { positionLeft: positionLeft, positionTop: positionTop, arrowOffsetLeft: arrowOffsetLeft, arrowOffsetTop: arrowOffsetTop };
}
module.exports = exports['default'];

View File

@@ -0,0 +1,41 @@
'use strict';
exports.__esModule = true;
/**
* Safe chained function
*
* Will only create a new function if needed,
* otherwise will pass back existing functions or null.
*
* @param {function} functions to chain
* @returns {function|null}
*/
function createChainedFunction() {
for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) {
funcs[_key] = arguments[_key];
}
return funcs.filter(function (f) {
return f != null;
}).reduce(function (acc, f) {
if (typeof f !== 'function') {
throw new Error('Invalid Argument Type, must only provide functions, undefined, or null.');
}
if (acc === null) {
return f;
}
return function chainedFunction() {
for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
args[_key2] = arguments[_key2];
}
acc.apply(this, args);
f.apply(this, args);
};
}, null);
}
exports.default = createChainedFunction;
module.exports = exports['default'];

16
node_modules/react-overlays/lib/utils/getContainer.js generated vendored Normal file
View File

@@ -0,0 +1,16 @@
'use strict';
exports.__esModule = true;
exports.default = getContainer;
var _reactDom = require('react-dom');
var _reactDom2 = _interopRequireDefault(_reactDom);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function getContainer(container, defaultContainer) {
container = typeof container === 'function' ? container() : container;
return _reactDom2.default.findDOMNode(container) || defaultContainer;
}
module.exports = exports['default'];

View File

@@ -0,0 +1,13 @@
"use strict";
exports.__esModule = true;
exports.default = function (doc) {
return Math.max(doc.documentElement.offsetHeight || 0, doc.height || 0, doc.body.scrollHeight || 0, doc.body.offsetHeight || 0);
};
module.exports = exports["default"]; /**
* Get the height of the document
*
* @returns {documentHeight: number}
*/

39
node_modules/react-overlays/lib/utils/isOverflowing.js generated vendored Normal file
View File

@@ -0,0 +1,39 @@
'use strict';
exports.__esModule = true;
exports.default = isOverflowing;
var _isWindow = require('dom-helpers/query/isWindow');
var _isWindow2 = _interopRequireDefault(_isWindow);
var _ownerDocument = require('dom-helpers/ownerDocument');
var _ownerDocument2 = _interopRequireDefault(_ownerDocument);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function isBody(node) {
return node && node.tagName.toLowerCase() === 'body';
}
function bodyIsOverflowing(node) {
var doc = (0, _ownerDocument2.default)(node);
var win = (0, _isWindow2.default)(doc);
var fullWidth = win.innerWidth;
// Support: ie8, no innerWidth
if (!fullWidth) {
var documentElementRect = doc.documentElement.getBoundingClientRect();
fullWidth = documentElementRect.right - Math.abs(documentElementRect.left);
}
return doc.body.clientWidth < fullWidth;
}
function isOverflowing(container) {
var win = (0, _isWindow2.default)(container);
return win || isBody(container) ? bodyIsOverflowing(container) : container.scrollHeight > container.clientHeight;
}
module.exports = exports['default'];

View File

@@ -0,0 +1,47 @@
'use strict';
exports.__esModule = true;
exports.ariaHidden = ariaHidden;
exports.hideSiblings = hideSiblings;
exports.showSiblings = showSiblings;
var BLACKLIST = ['template', 'script', 'style'];
var isHidable = function isHidable(_ref) {
var nodeType = _ref.nodeType,
tagName = _ref.tagName;
return nodeType === 1 && BLACKLIST.indexOf(tagName.toLowerCase()) === -1;
};
var siblings = function siblings(container, mount, cb) {
mount = [].concat(mount);
[].forEach.call(container.children, function (node) {
if (mount.indexOf(node) === -1 && isHidable(node)) {
cb(node);
}
});
};
function ariaHidden(show, node) {
if (!node) {
return;
}
if (show) {
node.setAttribute('aria-hidden', 'true');
} else {
node.removeAttribute('aria-hidden');
}
}
function hideSiblings(container, mountNode) {
siblings(container, mountNode, function (node) {
return ariaHidden(true, node);
});
}
function showSiblings(container, mountNode) {
siblings(container, mountNode, function (node) {
return ariaHidden(false, node);
});
}

19
node_modules/react-overlays/lib/utils/ownerDocument.js generated vendored Normal file
View File

@@ -0,0 +1,19 @@
'use strict';
exports.__esModule = true;
exports.default = function (componentOrElement) {
return (0, _ownerDocument2.default)(_reactDom2.default.findDOMNode(componentOrElement));
};
var _reactDom = require('react-dom');
var _reactDom2 = _interopRequireDefault(_reactDom);
var _ownerDocument = require('dom-helpers/ownerDocument');
var _ownerDocument2 = _interopRequireDefault(_ownerDocument);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
module.exports = exports['default'];

19
node_modules/react-overlays/lib/utils/ownerWindow.js generated vendored Normal file
View File

@@ -0,0 +1,19 @@
'use strict';
exports.__esModule = true;
exports.default = function (componentOrElement) {
return (0, _ownerWindow2.default)(_reactDom2.default.findDOMNode(componentOrElement));
};
var _reactDom = require('react-dom');
var _reactDom2 = _interopRequireDefault(_reactDom);
var _ownerWindow = require('dom-helpers/ownerWindow');
var _ownerWindow2 = _interopRequireDefault(_ownerWindow);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
module.exports = exports['default'];