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

22
node_modules/react-overlays/LICENSE generated vendored Normal file
View File

@@ -0,0 +1,22 @@
The MIT License (MIT)
Copyright (c) 2015 react-bootstrap
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

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'];

71
node_modules/react-overlays/package.json generated vendored Normal file
View File

@@ -0,0 +1,71 @@
{
"name": "react-overlays",
"version": "0.8.3",
"description": "Utilities for creating robust overlay components",
"author": "Jason Quense <monastic.panic@gmail.com>",
"repository": "react-bootstrap/react-overlays",
"license": "MIT",
"main": "lib/index.js",
"files": [
"lib"
],
"dependencies": {
"classnames": "^2.2.5",
"dom-helpers": "^3.2.1",
"prop-types": "^15.5.10",
"prop-types-extra": "^1.0.1",
"react-transition-group": "^2.2.0",
"warning": "^3.0.0"
},
"peerDependencies": {
"react": "^0.14.9 || >=15.3.0",
"react-dom": "^0.14.9 || >=15.3.0"
},
"devDependencies": {
"@monastic.panic/component-playground": "^3.2.2",
"babel-cli": "^6.26.0",
"babel-core": "^6.26.0",
"babel-eslint": "^7.2.3",
"babel-loader": "^7.1.2",
"babel-plugin-add-module-exports": "^0.2.1",
"babel-plugin-istanbul": "^4.1.5",
"babel-preset-env": "^1.6.0",
"babel-preset-react": "^6.24.1",
"babel-preset-stage-1": "^6.24.1",
"chai": "^4.1.2",
"codecov": "^2.3.0",
"component-metadata-loader": "^3.0.1",
"cross-env": "^5.0.5",
"css-loader": "^0.28.7",
"eslint": "^4.7.2",
"eslint-plugin-mocha": "^4.11.0",
"eslint-plugin-react": "^7.3.0",
"jquery": "^3.2.1",
"karma": "^1.7.1",
"karma-chrome-launcher": "^2.2.0",
"karma-coverage": "^1.1.1",
"karma-mocha": "^1.3.0",
"karma-mocha-reporter": "^2.2.4",
"karma-sinon-chai": "^1.3.2",
"karma-sourcemap-loader": "^0.3.7",
"karma-webpack": "^2.0.4",
"less": "^2.7.2",
"less-loader": "^4.0.5",
"lodash": "^4.17.4",
"mocha": "^3.5.3",
"node-libs-browser": "^2.0.0",
"raw-loader": "^0.5.1",
"react": "^16.0.0",
"react-bootstrap": "^0.31.3",
"react-dom": "^16.0.0",
"release-script": "^1.0.2",
"rimraf": "^2.6.2",
"simulant": "^0.2.2",
"sinon": "^2.4.1",
"sinon-chai": "^2.13.0",
"style-loader": "^0.18.2",
"teaspoon": "^6.6.0",
"webpack": "^3.6.0",
"webpack-dev-server": "^2.8.2"
}
}