Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

react-menu-list

Package Overview
Dependencies
Maintainers
1
Versions
50
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-menu-list - npm Package Compare versions

Comparing version 5.0.1 to 6.0.0

.editorconfig

12

CHANGELOG.md

@@ -0,1 +1,13 @@

## 6.0.0 (2018-10-31)
### Breaking Changes
* react-menu-list now requires React v16.6.0 or above.
* The component passed to the optional MenuButton prop `ButtonComponent` must support a `domRef` prop which is passed as a ref to the button's DOM element.
* The `open` method of MenuButton and SubMenuItem no longer takes a callback as a parameter. It returns a Promise now instead.
### Improvements
* No longer uses any deprecated APIs (legacy Context API, lifecycle methods,
and ReactDOM.findDOMNode).
* Added TypeScript type definitions.
## 5.0.1 (2018-05-15)

@@ -2,0 +14,0 @@

78

js/Dropdown.js

@@ -1,68 +0,56 @@

'use strict';
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _createClass2 = require('babel-runtime/helpers/createClass');
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _createClass3 = _interopRequireDefault(_createClass2);
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _react = _interopRequireDefault(require("react"));
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _propTypes = _interopRequireDefault(require("prop-types"));
var _inherits2 = require('babel-runtime/helpers/inherits');
var Dropdown =
/*#__PURE__*/
function (_React$Component) {
(0, _inherits2.default)(Dropdown, _React$Component);
var _inherits3 = _interopRequireDefault(_inherits2);
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _propTypes = require('prop-types');
var _propTypes2 = _interopRequireDefault(_propTypes);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var Dropdown = function (_React$Component) {
(0, _inherits3.default)(Dropdown, _React$Component);
function Dropdown() {
(0, _classCallCheck3.default)(this, Dropdown);
return (0, _possibleConstructorReturn3.default)(this, (Dropdown.__proto__ || (0, _getPrototypeOf2.default)(Dropdown)).apply(this, arguments));
(0, _classCallCheck2.default)(this, Dropdown);
return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(Dropdown).apply(this, arguments));
}
(0, _createClass3.default)(Dropdown, [{
key: 'render',
(0, _createClass2.default)(Dropdown, [{
key: "render",
value: function render() {
return _react2.default.createElement(
'div',
{ style: {
background: 'white',
border: '1px solid rgba(0,0,0,.2)',
boxShadow: '0 2px 4px rgba(0,0,0,0.2)',
padding: '6px 0'
} },
this.props.children
);
return _react.default.createElement("div", {
style: {
background: 'white',
border: '1px solid rgba(0,0,0,.2)',
boxShadow: '0 2px 4px rgba(0,0,0,0.2)',
padding: '6px 0'
}
}, this.props.children);
}
}]);
return Dropdown;
}(_react2.default.Component);
}(_react.default.Component);
Dropdown.propTypes = {
children: _propTypes2.default.node
};
exports.default = Dropdown;
module.exports = exports['default'];
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9Ecm9wZG93bi5qcyJdLCJuYW1lcyI6WyJEcm9wZG93biIsImJhY2tncm91bmQiLCJib3JkZXIiLCJib3hTaGFkb3ciLCJwYWRkaW5nIiwicHJvcHMiLCJjaGlsZHJlbiIsIlJlYWN0IiwiQ29tcG9uZW50IiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwibm9kZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQTs7OztBQUVBOzs7Ozs7SUFNcUJBLFE7Ozs7Ozs7Ozs7NkJBS1Y7QUFDUCxhQUNFO0FBQUE7QUFBQSxVQUFLLE9BQU87QUFDVkMsd0JBQVksT0FERjtBQUVWQyxvQkFBUSwwQkFGRTtBQUdWQyx1QkFBVywyQkFIRDtBQUlWQyxxQkFBUztBQUpDLFdBQVo7QUFNRyxhQUFLQyxLQUFMLENBQVdDO0FBTmQsT0FERjtBQVVEOzs7RUFoQm1DQyxnQkFBTUMsUzs7QUFBdkJSLFEsQ0FDWlMsUyxHQUFZO0FBQ2pCSCxZQUFVSSxvQkFBVUM7QUFESCxDO2tCQURBWCxRIiwiZmlsZSI6IkRyb3Bkb3duLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyogQGZsb3cgKi9cblxuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB0eXBlIHtOb2RlIGFzIFJlYWN0Tm9kZX0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcblxudHlwZSBQcm9wcyA9IHtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEcm9wZG93biBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxQcm9wcz4ge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGNoaWxkcmVuOiBQcm9wVHlwZXMubm9kZVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBzdHlsZT17e1xuICAgICAgICBiYWNrZ3JvdW5kOiAnd2hpdGUnLFxuICAgICAgICBib3JkZXI6ICcxcHggc29saWQgcmdiYSgwLDAsMCwuMiknLFxuICAgICAgICBib3hTaGFkb3c6ICcwIDJweCA0cHggcmdiYSgwLDAsMCwwLjIpJyxcbiAgICAgICAgcGFkZGluZzogJzZweCAwJ1xuICAgICAgfX0+XG4gICAgICAgIHt0aGlzLnByb3BzLmNoaWxkcmVufVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxufVxuIl19
(0, _defineProperty2.default)(Dropdown, "propTypes", {
children: _propTypes.default.node
});
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9Ecm9wZG93bi5qcyJdLCJuYW1lcyI6WyJEcm9wZG93biIsImJhY2tncm91bmQiLCJib3JkZXIiLCJib3hTaGFkb3ciLCJwYWRkaW5nIiwicHJvcHMiLCJjaGlsZHJlbiIsIlJlYWN0IiwiQ29tcG9uZW50IiwiUHJvcFR5cGVzIiwibm9kZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUE7O0FBRUE7O0lBTXFCQSxROzs7Ozs7Ozs7Ozs7NkJBS1Y7QUFDUCxhQUNFO0FBQUssUUFBQSxLQUFLLEVBQUU7QUFDVkMsVUFBQUEsVUFBVSxFQUFFLE9BREY7QUFFVkMsVUFBQUEsTUFBTSxFQUFFLDBCQUZFO0FBR1ZDLFVBQUFBLFNBQVMsRUFBRSwyQkFIRDtBQUlWQyxVQUFBQSxPQUFPLEVBQUU7QUFKQztBQUFaLFNBTUcsS0FBS0MsS0FBTCxDQUFXQyxRQU5kLENBREY7QUFVRDs7O0VBaEJtQ0MsZUFBTUMsUzs7OzhCQUF2QlIsUSxlQUNBO0FBQ2pCTSxFQUFBQSxRQUFRLEVBQUVHLG1CQUFVQztBQURILEMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBAZmxvdyAqL1xuXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHR5cGUge05vZGUgYXMgUmVhY3ROb2RlfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG50eXBlIFByb3BzID0ge1xuICBjaGlsZHJlbj86IFJlYWN0Tm9kZTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIERyb3Bkb3duIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PFByb3BzPiB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgY2hpbGRyZW46IFByb3BUeXBlcy5ub2RlXG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IHN0eWxlPXt7XG4gICAgICAgIGJhY2tncm91bmQ6ICd3aGl0ZScsXG4gICAgICAgIGJvcmRlcjogJzFweCBzb2xpZCByZ2JhKDAsMCwwLC4yKScsXG4gICAgICAgIGJveFNoYWRvdzogJzAgMnB4IDRweCByZ2JhKDAsMCwwLDAuMiknLFxuICAgICAgICBwYWRkaW5nOiAnNnB4IDAnXG4gICAgICB9fT5cbiAgICAgICAge3RoaXMucHJvcHMuY2hpbGRyZW59XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG59XG4iXX0=

@@ -1,37 +0,35 @@

'use strict';
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _inherits2 = require('babel-runtime/helpers/inherits');
var _MenuEvent2 = _interopRequireDefault(require("./MenuEvent"));
var _inherits3 = _interopRequireDefault(_inherits2);
var ChosenEvent =
/*#__PURE__*/
function (_MenuEvent) {
(0, _inherits2.default)(ChosenEvent, _MenuEvent);
var _MenuEvent2 = require('./MenuEvent');
var _MenuEvent3 = _interopRequireDefault(_MenuEvent2);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var ChosenEvent = function (_MenuEvent) {
(0, _inherits3.default)(ChosenEvent, _MenuEvent);
function ChosenEvent(type, byKeyboard) {
(0, _classCallCheck3.default)(this, ChosenEvent);
var _this;
var _this = (0, _possibleConstructorReturn3.default)(this, (ChosenEvent.__proto__ || (0, _getPrototypeOf2.default)(ChosenEvent)).call(this, type));
(0, _classCallCheck2.default)(this, ChosenEvent);
_this = (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(ChosenEvent).call(this, type));
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), "byKeyboard", void 0);
_this.byKeyboard = byKeyboard;

@@ -42,6 +40,5 @@ return _this;

return ChosenEvent;
}(_MenuEvent3.default);
}(_MenuEvent2.default);
exports.default = ChosenEvent;
module.exports = exports['default'];
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ldmVudHMvQ2hvc2VuRXZlbnQuanMiXSwibmFtZXMiOlsiQ2hvc2VuRXZlbnQiLCJ0eXBlIiwiYnlLZXlib2FyZCIsIk1lbnVFdmVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBOzs7Ozs7SUFFcUJBLFc7OztBQUduQix1QkFBWUMsSUFBWixFQUEwQkMsVUFBMUIsRUFBK0M7QUFBQTs7QUFBQSxnSkFDdkNELElBRHVDOztBQUU3QyxVQUFLQyxVQUFMLEdBQWtCQSxVQUFsQjtBQUY2QztBQUc5Qzs7O0VBTnNDQyxtQjs7a0JBQXBCSCxXIiwiZmlsZSI6IkNob3NlbkV2ZW50LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyogQGZsb3cgKi9cblxuaW1wb3J0IE1lbnVFdmVudCBmcm9tICcuL01lbnVFdmVudCc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENob3NlbkV2ZW50IGV4dGVuZHMgTWVudUV2ZW50IHtcbiAgYnlLZXlib2FyZDogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3Rvcih0eXBlOiBzdHJpbmcsIGJ5S2V5Ym9hcmQ6IGJvb2xlYW4pIHtcbiAgICBzdXBlcih0eXBlKTtcbiAgICB0aGlzLmJ5S2V5Ym9hcmQgPSBieUtleWJvYXJkO1xuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ldmVudHMvQ2hvc2VuRXZlbnQuanMiXSwibmFtZXMiOlsiQ2hvc2VuRXZlbnQiLCJ0eXBlIiwiYnlLZXlib2FyZCIsIk1lbnVFdmVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUE7O0lBRXFCQSxXOzs7OztBQUduQix1QkFBWUMsSUFBWixFQUEwQkMsVUFBMUIsRUFBK0M7QUFBQTs7QUFBQTtBQUM3QyxpSEFBTUQsSUFBTjtBQUQ2QztBQUU3QyxVQUFLQyxVQUFMLEdBQWtCQSxVQUFsQjtBQUY2QztBQUc5Qzs7O0VBTnNDQyxtQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIEBmbG93ICovXG5cbmltcG9ydCBNZW51RXZlbnQgZnJvbSAnLi9NZW51RXZlbnQnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDaG9zZW5FdmVudCBleHRlbmRzIE1lbnVFdmVudCB7XG4gIGJ5S2V5Ym9hcmQ6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IodHlwZTogc3RyaW5nLCBieUtleWJvYXJkOiBib29sZWFuKSB7XG4gICAgc3VwZXIodHlwZSk7XG4gICAgdGhpcy5ieUtleWJvYXJkID0gYnlLZXlib2FyZDtcbiAgfVxufVxuIl19
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _classCallCheck2 = require("babel-runtime/helpers/classCallCheck");
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _createClass2 = require("babel-runtime/helpers/createClass");
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _createClass3 = _interopRequireDefault(_createClass2);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var MenuEvent = function () {
var MenuEvent =
/*#__PURE__*/
function () {
function MenuEvent(type) {
(0, _classCallCheck3.default)(this, MenuEvent);
this.cancelBubble = false;
this.defaultPrevented = false;
(0, _classCallCheck2.default)(this, MenuEvent);
(0, _defineProperty2.default)(this, "type", void 0);
(0, _defineProperty2.default)(this, "cancelBubble", false);
(0, _defineProperty2.default)(this, "defaultPrevented", false);
this.type = type;
}
(0, _createClass3.default)(MenuEvent, [{
(0, _createClass2.default)(MenuEvent, [{
key: "stopPropagation",

@@ -41,3 +42,2 @@ value: function stopPropagation() {

exports.default = MenuEvent;
module.exports = exports["default"];
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ldmVudHMvTWVudUV2ZW50LmpzIl0sIm5hbWVzIjpbIk1lbnVFdmVudCIsInR5cGUiLCJjYW5jZWxCdWJibGUiLCJkZWZhdWx0UHJldmVudGVkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0lBRXFCQSxTO0FBS25CLHFCQUFZQyxJQUFaLEVBQTBCO0FBQUE7QUFBQSxTQUgxQkMsWUFHMEIsR0FIRixLQUdFO0FBQUEsU0FGMUJDLGdCQUUwQixHQUZFLEtBRUY7O0FBQ3hCLFNBQUtGLElBQUwsR0FBWUEsSUFBWjtBQUNEOzs7O3NDQUVpQjtBQUNoQixXQUFLQyxZQUFMLEdBQW9CLElBQXBCO0FBQ0Q7OztxQ0FFZ0I7QUFDZixXQUFLQyxnQkFBTCxHQUF3QixJQUF4QjtBQUNEOzs7OztrQkFma0JILFMiLCJmaWxlIjoiTWVudUV2ZW50LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyogQGZsb3cgKi9cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTWVudUV2ZW50IHtcbiAgdHlwZTogc3RyaW5nO1xuICBjYW5jZWxCdWJibGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgZGVmYXVsdFByZXZlbnRlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHR5cGU6IHN0cmluZykge1xuICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gIH1cblxuICBzdG9wUHJvcGFnYXRpb24oKSB7XG4gICAgdGhpcy5jYW5jZWxCdWJibGUgPSB0cnVlO1xuICB9XG5cbiAgcHJldmVudERlZmF1bHQoKSB7XG4gICAgdGhpcy5kZWZhdWx0UHJldmVudGVkID0gdHJ1ZTtcbiAgfVxufVxuIl19
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ldmVudHMvTWVudUV2ZW50LmpzIl0sIm5hbWVzIjpbIk1lbnVFdmVudCIsInR5cGUiLCJjYW5jZWxCdWJibGUiLCJkZWZhdWx0UHJldmVudGVkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7SUFFcUJBLFM7OztBQUtuQixxQkFBWUMsSUFBWixFQUEwQjtBQUFBO0FBQUE7QUFBQSx3REFIRixLQUdFO0FBQUEsNERBRkUsS0FFRjtBQUN4QixTQUFLQSxJQUFMLEdBQVlBLElBQVo7QUFDRDs7OztzQ0FFaUI7QUFDaEIsV0FBS0MsWUFBTCxHQUFvQixJQUFwQjtBQUNEOzs7cUNBRWdCO0FBQ2YsV0FBS0MsZ0JBQUwsR0FBd0IsSUFBeEI7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbIi8qIEBmbG93ICovXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE1lbnVFdmVudCB7XG4gIHR5cGU6IHN0cmluZztcbiAgY2FuY2VsQnViYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIGRlZmF1bHRQcmV2ZW50ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcih0eXBlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnR5cGUgPSB0eXBlO1xuICB9XG5cbiAgc3RvcFByb3BhZ2F0aW9uKCkge1xuICAgIHRoaXMuY2FuY2VsQnViYmxlID0gdHJ1ZTtcbiAgfVxuXG4gIHByZXZlbnREZWZhdWx0KCkge1xuICAgIHRoaXMuZGVmYXVsdFByZXZlbnRlZCA9IHRydWU7XG4gIH1cbn1cbiJdfQ==

@@ -1,62 +0,56 @@

'use strict';
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
var _MenuList = require('./MenuList');
Object.defineProperty(exports, 'MenuList', {
Object.defineProperty(exports, "MenuList", {
enumerable: true,
get: function get() {
return _interopRequireDefault(_MenuList).default;
return _MenuList.default;
}
});
var _MenuItem = require('./MenuItem');
Object.defineProperty(exports, 'MenuItem', {
Object.defineProperty(exports, "MenuItem", {
enumerable: true,
get: function get() {
return _interopRequireDefault(_MenuItem).default;
return _MenuItem.default;
}
});
var _MenuListInspector = require('./MenuListInspector');
Object.defineProperty(exports, 'MenuListInspector', {
Object.defineProperty(exports, "MenuListInspector", {
enumerable: true,
get: function get() {
return _interopRequireDefault(_MenuListInspector).default;
return _MenuListInspector.default;
}
});
var _Dropdown = require('./Dropdown');
Object.defineProperty(exports, 'Dropdown', {
Object.defineProperty(exports, "Dropdown", {
enumerable: true,
get: function get() {
return _interopRequireDefault(_Dropdown).default;
return _Dropdown.default;
}
});
var _MenuButton = require('./MenuButton');
Object.defineProperty(exports, 'MenuButton', {
Object.defineProperty(exports, "MenuButton", {
enumerable: true,
get: function get() {
return _interopRequireDefault(_MenuButton).default;
return _MenuButton.default;
}
});
var _SubMenuItem = require('./SubMenuItem');
Object.defineProperty(exports, 'SubMenuItem', {
Object.defineProperty(exports, "SubMenuItem", {
enumerable: true,
get: function get() {
return _interopRequireDefault(_SubMenuItem).default;
return _SubMenuItem.default;
}
});
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJkZWZhdWx0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs2Q0FFUUEsTzs7Ozs7Ozs7OzZDQUNBQSxPOzs7Ozs7Ozs7c0RBQ0FBLE87Ozs7Ozs7Ozs2Q0FDQUEsTzs7Ozs7Ozs7OytDQUNBQSxPOzs7Ozs7Ozs7Z0RBQ0FBLE8iLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBAZmxvdyAqL1xuXG5leHBvcnQge2RlZmF1bHQgYXMgTWVudUxpc3R9IGZyb20gJy4vTWVudUxpc3QnO1xuZXhwb3J0IHtkZWZhdWx0IGFzIE1lbnVJdGVtfSBmcm9tICcuL01lbnVJdGVtJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBNZW51TGlzdEluc3BlY3Rvcn0gZnJvbSAnLi9NZW51TGlzdEluc3BlY3Rvcic7XG5leHBvcnQge2RlZmF1bHQgYXMgRHJvcGRvd259IGZyb20gJy4vRHJvcGRvd24nO1xuZXhwb3J0IHtkZWZhdWx0IGFzIE1lbnVCdXR0b259IGZyb20gJy4vTWVudUJ1dHRvbic7XG5leHBvcnQge2RlZmF1bHQgYXMgU3ViTWVudUl0ZW19IGZyb20gJy4vU3ViTWVudUl0ZW0nO1xuIl19
var _MenuList = _interopRequireDefault(require("./MenuList"));
var _MenuItem = _interopRequireDefault(require("./MenuItem"));
var _MenuListInspector = _interopRequireDefault(require("./MenuListInspector"));
var _Dropdown = _interopRequireDefault(require("./Dropdown"));
var _MenuButton = _interopRequireDefault(require("./MenuButton"));
var _SubMenuItem = _interopRequireDefault(require("./SubMenuItem"));
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBIiwic291cmNlc0NvbnRlbnQiOlsiLyogQGZsb3cgKi9cblxuZXhwb3J0IHtkZWZhdWx0IGFzIE1lbnVMaXN0fSBmcm9tICcuL01lbnVMaXN0JztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBNZW51SXRlbX0gZnJvbSAnLi9NZW51SXRlbSc7XG5leHBvcnQge2RlZmF1bHQgYXMgTWVudUxpc3RJbnNwZWN0b3J9IGZyb20gJy4vTWVudUxpc3RJbnNwZWN0b3InO1xuZXhwb3J0IHtkZWZhdWx0IGFzIERyb3Bkb3dufSBmcm9tICcuL0Ryb3Bkb3duJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBNZW51QnV0dG9ufSBmcm9tICcuL01lbnVCdXR0b24nO1xuZXhwb3J0IHtkZWZhdWx0IGFzIFN1Yk1lbnVJdGVtfSBmcm9tICcuL1N1Yk1lbnVJdGVtJztcbmV4cG9ydCB0eXBlIHtGbG9hdEFuY2hvck9wdGlvbnN9IGZyb20gJy4vU3ViTWVudUl0ZW0nO1xuIl19

@@ -1,3 +0,5 @@

'use strict';
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {

@@ -8,10 +10,6 @@ value: true

var _kefir = require('kefir');
var _kefir = _interopRequireDefault(require("kefir"));
var _kefir2 = _interopRequireDefault(_kefir);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function fromEventsCapture(target, eventName) {
return _kefir2.default.stream(function (emitter) {
return _kefir.default.stream(function (emitter) {
target.addEventListener(eventName, emitter.emit, true);

@@ -23,4 +21,2 @@ return function () {

}
module.exports = exports['default'];
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvZnJvbUV2ZW50c0NhcHR1cmUuanMiXSwibmFtZXMiOlsiZnJvbUV2ZW50c0NhcHR1cmUiLCJ0YXJnZXQiLCJldmVudE5hbWUiLCJLZWZpciIsInN0cmVhbSIsImFkZEV2ZW50TGlzdGVuZXIiLCJlbWl0dGVyIiwiZW1pdCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiXSwibWFwcGluZ3MiOiI7Ozs7O2tCQUl3QkEsaUI7O0FBRnhCOzs7Ozs7QUFFZSxTQUFTQSxpQkFBVCxDQUEyQkMsTUFBM0IsRUFBZ0RDLFNBQWhELEVBQTZGO0FBQzFHLFNBQU9DLGdCQUFNQyxNQUFOLENBQWEsbUJBQVc7QUFDN0JILFdBQU9JLGdCQUFQLENBQXdCSCxTQUF4QixFQUFtQ0ksUUFBUUMsSUFBM0MsRUFBaUQsSUFBakQ7QUFDQSxXQUFPLFlBQU07QUFDWE4sYUFBT08sbUJBQVAsQ0FBMkJOLFNBQTNCLEVBQXNDSSxRQUFRQyxJQUE5QyxFQUFvRCxJQUFwRDtBQUNELEtBRkQ7QUFHRCxHQUxNLENBQVA7QUFNRCIsImZpbGUiOiJmcm9tRXZlbnRzQ2FwdHVyZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIEBmbG93ICovXG5cbmltcG9ydCBLZWZpciBmcm9tICdrZWZpcic7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGZyb21FdmVudHNDYXB0dXJlKHRhcmdldDogRXZlbnRUYXJnZXQsIGV2ZW50TmFtZTogc3RyaW5nKTogS2VmaXIuT2JzZXJ2YWJsZTxPYmplY3Q+IHtcbiAgcmV0dXJuIEtlZmlyLnN0cmVhbShlbWl0dGVyID0+IHtcbiAgICB0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsIGVtaXR0ZXIuZW1pdCwgdHJ1ZSk7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIHRhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwgZW1pdHRlci5lbWl0LCB0cnVlKTtcbiAgICB9O1xuICB9KTtcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvZnJvbUV2ZW50c0NhcHR1cmUuanMiXSwibmFtZXMiOlsiZnJvbUV2ZW50c0NhcHR1cmUiLCJ0YXJnZXQiLCJldmVudE5hbWUiLCJLZWZpciIsInN0cmVhbSIsImVtaXR0ZXIiLCJhZGRFdmVudExpc3RlbmVyIiwiZW1pdCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUVBOztBQUVlLFNBQVNBLGlCQUFULENBQTJCQyxNQUEzQixFQUFnREMsU0FBaEQsRUFBNkY7QUFDMUcsU0FBT0MsZUFBTUMsTUFBTixDQUFhLFVBQUFDLE9BQU8sRUFBSTtBQUM3QkosSUFBQUEsTUFBTSxDQUFDSyxnQkFBUCxDQUF3QkosU0FBeEIsRUFBbUNHLE9BQU8sQ0FBQ0UsSUFBM0MsRUFBaUQsSUFBakQ7QUFDQSxXQUFPLFlBQU07QUFDWE4sTUFBQUEsTUFBTSxDQUFDTyxtQkFBUCxDQUEyQk4sU0FBM0IsRUFBc0NHLE9BQU8sQ0FBQ0UsSUFBOUMsRUFBb0QsSUFBcEQ7QUFDRCxLQUZEO0FBR0QsR0FMTSxDQUFQO0FBTUQiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBAZmxvdyAqL1xuXG5pbXBvcnQgS2VmaXIgZnJvbSAna2VmaXInO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBmcm9tRXZlbnRzQ2FwdHVyZSh0YXJnZXQ6IEV2ZW50VGFyZ2V0LCBldmVudE5hbWU6IHN0cmluZyk6IEtlZmlyLk9ic2VydmFibGU8T2JqZWN0PiB7XG4gIHJldHVybiBLZWZpci5zdHJlYW0oZW1pdHRlciA9PiB7XG4gICAgdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCBlbWl0dGVyLmVtaXQsIHRydWUpO1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICB0YXJnZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsIGVtaXR0ZXIuZW1pdCwgdHJ1ZSk7XG4gICAgfTtcbiAgfSk7XG59XG4iXX0=

@@ -7,2 +7,3 @@ "use strict";

exports.default = pointRectDistance;
function pointRectDistance(px, py, rx, ry, rwidth, rheight) {

@@ -13,3 +14,2 @@ var cx = Math.max(Math.min(px, rx + rwidth), rx);

}
module.exports = exports["default"];
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcG9pbnRSZWN0RGlzdGFuY2UuanMiXSwibmFtZXMiOlsicG9pbnRSZWN0RGlzdGFuY2UiLCJweCIsInB5IiwicngiLCJyeSIsInJ3aWR0aCIsInJoZWlnaHQiLCJjeCIsIk1hdGgiLCJtYXgiLCJtaW4iLCJjeSIsInNxcnQiXSwibWFwcGluZ3MiOiI7Ozs7O2tCQUV3QkEsaUI7QUFBVCxTQUFTQSxpQkFBVCxDQUNiQyxFQURhLEVBQ0RDLEVBREMsRUFDV0MsRUFEWCxFQUN1QkMsRUFEdkIsRUFDbUNDLE1BRG5DLEVBQ21EQyxPQURuRCxFQUVMO0FBQ1IsTUFBTUMsS0FBS0MsS0FBS0MsR0FBTCxDQUFTRCxLQUFLRSxHQUFMLENBQVNULEVBQVQsRUFBYUUsS0FBR0UsTUFBaEIsQ0FBVCxFQUFrQ0YsRUFBbEMsQ0FBWDtBQUNBLE1BQU1RLEtBQUtILEtBQUtDLEdBQUwsQ0FBU0QsS0FBS0UsR0FBTCxDQUFTUixFQUFULEVBQWFFLEtBQUdFLE9BQWhCLENBQVQsRUFBbUNGLEVBQW5DLENBQVg7QUFDQSxTQUFPSSxLQUFLSSxJQUFMLENBQVUsQ0FBQ1gsS0FBR00sRUFBSixLQUFTTixLQUFHTSxFQUFaLElBQWtCLENBQUNMLEtBQUdTLEVBQUosS0FBU1QsS0FBR1MsRUFBWixDQUE1QixDQUFQO0FBQ0QiLCJmaWxlIjoicG9pbnRSZWN0RGlzdGFuY2UuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBAZmxvdyAqL1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBwb2ludFJlY3REaXN0YW5jZShcbiAgcHg6IG51bWJlciwgcHk6IG51bWJlciwgcng6IG51bWJlciwgcnk6IG51bWJlciwgcndpZHRoOiBudW1iZXIsIHJoZWlnaHQ6IG51bWJlclxuKTogbnVtYmVyIHtcbiAgY29uc3QgY3ggPSBNYXRoLm1heChNYXRoLm1pbihweCwgcngrcndpZHRoKSwgcngpO1xuICBjb25zdCBjeSA9IE1hdGgubWF4KE1hdGgubWluKHB5LCByeStyaGVpZ2h0KSwgcnkpO1xuICByZXR1cm4gTWF0aC5zcXJ0KChweC1jeCkqKHB4LWN4KSArIChweS1jeSkqKHB5LWN5KSk7XG59XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcG9pbnRSZWN0RGlzdGFuY2UuanMiXSwibmFtZXMiOlsicG9pbnRSZWN0RGlzdGFuY2UiLCJweCIsInB5IiwicngiLCJyeSIsInJ3aWR0aCIsInJoZWlnaHQiLCJjeCIsIk1hdGgiLCJtYXgiLCJtaW4iLCJjeSIsInNxcnQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFFZSxTQUFTQSxpQkFBVCxDQUNiQyxFQURhLEVBQ0RDLEVBREMsRUFDV0MsRUFEWCxFQUN1QkMsRUFEdkIsRUFDbUNDLE1BRG5DLEVBQ21EQyxPQURuRCxFQUVMO0FBQ1IsTUFBTUMsRUFBRSxHQUFHQyxJQUFJLENBQUNDLEdBQUwsQ0FBU0QsSUFBSSxDQUFDRSxHQUFMLENBQVNULEVBQVQsRUFBYUUsRUFBRSxHQUFDRSxNQUFoQixDQUFULEVBQWtDRixFQUFsQyxDQUFYO0FBQ0EsTUFBTVEsRUFBRSxHQUFHSCxJQUFJLENBQUNDLEdBQUwsQ0FBU0QsSUFBSSxDQUFDRSxHQUFMLENBQVNSLEVBQVQsRUFBYUUsRUFBRSxHQUFDRSxPQUFoQixDQUFULEVBQW1DRixFQUFuQyxDQUFYO0FBQ0EsU0FBT0ksSUFBSSxDQUFDSSxJQUFMLENBQVUsQ0FBQ1gsRUFBRSxHQUFDTSxFQUFKLEtBQVNOLEVBQUUsR0FBQ00sRUFBWixJQUFrQixDQUFDTCxFQUFFLEdBQUNTLEVBQUosS0FBU1QsRUFBRSxHQUFDUyxFQUFaLENBQTVCLENBQVA7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbIi8qIEBmbG93ICovXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHBvaW50UmVjdERpc3RhbmNlKFxuICBweDogbnVtYmVyLCBweTogbnVtYmVyLCByeDogbnVtYmVyLCByeTogbnVtYmVyLCByd2lkdGg6IG51bWJlciwgcmhlaWdodDogbnVtYmVyXG4pOiBudW1iZXIge1xuICBjb25zdCBjeCA9IE1hdGgubWF4KE1hdGgubWluKHB4LCByeCtyd2lkdGgpLCByeCk7XG4gIGNvbnN0IGN5ID0gTWF0aC5tYXgoTWF0aC5taW4ocHksIHJ5K3JoZWlnaHQpLCByeSk7XG4gIHJldHVybiBNYXRoLnNxcnQoKHB4LWN4KSoocHgtY3gpICsgKHB5LWN5KSoocHktY3kpKTtcbn1cbiJdfQ==

@@ -1,104 +0,83 @@

'use strict';
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _extends2 = require('babel-runtime/helpers/extends');
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _extends3 = _interopRequireDefault(_extends2);
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _getIterator2 = require('babel-runtime/core-js/get-iterator');
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread"));
var _getIterator3 = _interopRequireDefault(_getIterator2);
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _getPrototypeOf3 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _createClass2 = require('babel-runtime/helpers/createClass');
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
var _createClass3 = _interopRequireDefault(_createClass2);
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _react = _interopRequireDefault(require("react"));
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _propTypes = _interopRequireDefault(require("prop-types"));
var _inherits2 = require('babel-runtime/helpers/inherits');
var _reactFloatAnchor = _interopRequireDefault(require("react-float-anchor"));
var _inherits3 = _interopRequireDefault(_inherits2);
var _kefir = _interopRequireDefault(require("kefir"));
var _react = require('react');
var _kefirBus = _interopRequireDefault(require("kefir-bus"));
var _react2 = _interopRequireDefault(_react);
var _fromEventsCapture = _interopRequireDefault(require("./lib/fromEventsCapture"));
var _reactDom = require('react-dom');
var _setRef = _interopRequireDefault(require("./lib/setRef"));
var _propTypes = require('prop-types');
var _MenuListInspector = _interopRequireDefault(require("./MenuListInspector"));
var _propTypes2 = _interopRequireDefault(_propTypes);
var MenuButton =
/*#__PURE__*/
function (_React$Component) {
(0, _inherits2.default)(MenuButton, _React$Component);
var _reactFloatAnchor = require('react-float-anchor');
var _reactFloatAnchor2 = _interopRequireDefault(_reactFloatAnchor);
var _kefir = require('kefir');
var _kefir2 = _interopRequireDefault(_kefir);
var _kefirBus = require('kefir-bus');
var _kefirBus2 = _interopRequireDefault(_kefirBus);
var _fromEventsCapture = require('./lib/fromEventsCapture');
var _fromEventsCapture2 = _interopRequireDefault(_fromEventsCapture);
var _MenuListInspector = require('./MenuListInspector');
var _MenuListInspector2 = _interopRequireDefault(_MenuListInspector);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/* eslint-disable react/no-find-dom-node */
var MenuButton = function (_React$Component) {
(0, _inherits3.default)(MenuButton, _React$Component);
function MenuButton() {
var _ref;
var _getPrototypeOf2;
var _temp, _this, _ret;
var _this;
(0, _classCallCheck3.default)(this, MenuButton);
(0, _classCallCheck2.default)(this, MenuButton);
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = MenuButton.__proto__ || (0, _getPrototypeOf2.default)(MenuButton)).call.apply(_ref, [this].concat(args))), _this), _this.state = {
_this = (0, _possibleConstructorReturn2.default)(this, (_getPrototypeOf2 = (0, _getPrototypeOf3.default)(MenuButton)).call.apply(_getPrototypeOf2, [this].concat(args)));
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), "state", {
opened: false
}, _this._onClose = (0, _kefirBus2.default)(), _temp), (0, _possibleConstructorReturn3.default)(_this, _ret);
});
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), "_floatAnchorRef", _react.default.createRef());
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), "_anchorEl", null);
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), "_onClose", (0, _kefirBus.default)());
return _this;
}
(0, _createClass3.default)(MenuButton, [{
key: 'open',
value: function open(callback) {
(0, _createClass2.default)(MenuButton, [{
key: "open",
value: function open() {
var _this2 = this;
if (this.state.opened) return;
if (this.props.onWillOpen) this.props.onWillOpen();
this.setState({ opened: true }, function () {
if (_this2.props.onDidOpen) _this2.props.onDidOpen();
if (callback) callback();
});
if (this.state.opened) return Promise.resolve();
if (this.props.onWillOpen) this.props.onWillOpen(); // Clicking outside of the dropdown or pressing escape should close the
// dropdown.
// Clicking outside of the dropdown or pressing escape should close the
// dropdown.
_kefir2.default.merge([_kefir2.default.merge([(0, _fromEventsCapture2.default)(window, 'click'), (0, _fromEventsCapture2.default)(window, 'focus')]).filter(function (e) {
var el = (0, _reactDom.findDOMNode)(_this2);
_kefir.default.merge([_kefir.default.merge([(0, _fromEventsCapture.default)(window, 'click'), (0, _fromEventsCapture.default)(window, 'focus')]).filter(function (e) {
var el = _this2._anchorEl;
var _iteratorNormalCompletion = true;

@@ -109,5 +88,4 @@ var _didIteratorError = false;

try {
for (var _iterator = (0, _getIterator3.default)(_reactFloatAnchor2.default.parentNodes(e.target)), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
for (var _iterator = _reactFloatAnchor.default.parentNodes(e.target)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
var node = _step.value;
if (node === el) return false;

@@ -120,3 +98,3 @@ }

try {
if (!_iteratorNormalCompletion && _iterator.return) {
if (!_iteratorNormalCompletion && _iterator.return != null) {
_iterator.return();

@@ -132,3 +110,3 @@ }

return true;
}), _kefir2.default.fromEvents(window, 'keydown').filter(function (e) {
}), _kefir.default.fromEvents(window, 'keydown').filter(function (e) {
return e.key ? e.key === 'Escape' : e.which === 27;

@@ -141,13 +119,25 @@ }).map(function (e) {

});
return new Promise(function (resolve) {
_this2.setState({
opened: true
}, function () {
if (_this2.props.onDidOpen) _this2.props.onDidOpen();
resolve();
});
});
}
}, {
key: 'close',
key: "close",
value: function close() {
if (!this.state.opened) return;
if (this.props.onWillClose) this.props.onWillClose();
this.setState({ opened: false });
this.setState({
opened: false
});
this._onClose.emit();
}
}, {
key: 'toggle',
key: "toggle",
value: function toggle() {

@@ -161,8 +151,10 @@ if (this.state.opened) {

}, {
key: 'reposition',
key: "reposition",
value: function reposition() {
this._floatAnchor.reposition();
var floatAnchor = this._floatAnchorRef.current;
if (!floatAnchor) throw new Error();
floatAnchor.reposition();
}
}, {
key: '_itemChosen',
key: "_itemChosen",
value: function _itemChosen() {

@@ -172,3 +164,3 @@ this.close();

}, {
key: 'componentWillUnmount',
key: "componentWillUnmount",
value: function componentWillUnmount() {

@@ -178,38 +170,39 @@ this._onClose.emit();

}, {
key: 'render',
key: "render",
value: function render() {
var _this3 = this;
var _props = this.props,
children = _props.children,
menu = _props.menu,
positionOptions = _props.positionOptions,
menuZIndex = _props.menuZIndex,
disabled = _props.disabled,
title = _props.title,
ButtonComponent = _props.ButtonComponent;
var _this$props = this.props,
children = _this$props.children,
menu = _this$props.menu,
positionOptions = _this$props.positionOptions,
menuZIndex = _this$props.menuZIndex,
disabled = _this$props.disabled,
title = _this$props.title,
ButtonComponent = _this$props.ButtonComponent;
var opened = this.state.opened;
var style = this.props.style;
var className = this.props.className;
if (opened) {
if (this.props.openedStyle) {
style = (0, _extends3.default)({}, style, this.props.openedStyle);
style = (0, _objectSpread2.default)({}, style, this.props.openedStyle);
}
if (this.props.openedClassName) {
className = (className || '') + ' ' + this.props.openedClassName;
className = "".concat(className || '', " ").concat(this.props.openedClassName);
}
}
return _react2.default.createElement(_reactFloatAnchor2.default, {
ref: function ref(el) {
if (el) _this3._floatAnchor = el;
},
return _react.default.createElement(_reactFloatAnchor.default, {
ref: this._floatAnchorRef,
options: positionOptions,
zIndex: menuZIndex,
anchor: _react2.default.createElement(
ButtonComponent,
{
type: 'button',
anchor: function anchor(anchorRef) {
return _react.default.createElement(ButtonComponent, {
domRef: function domRef(el) {
_this3._anchorEl = el;
(0, _setRef.default)(anchorRef, el);
},
type: "button",
className: className,

@@ -219,2 +212,3 @@ style: style,

if (e.button !== 0) return;
_this3.toggle();

@@ -227,16 +221,13 @@ },

},
'aria-haspopup': true,
'aria-expanded': opened,
"aria-haspopup": true,
"aria-expanded": opened,
disabled: disabled,
title: title
},
children
),
float: !opened ? null : _react2.default.createElement(
_MenuListInspector2.default,
{ onItemChosen: function onItemChosen() {
return _this3._itemChosen();
} },
menu
)
}, children);
},
float: !opened ? null : _react.default.createElement(_MenuListInspector.default, {
onItemChosen: function onItemChosen() {
return _this3._itemChosen();
}
}, menu)
});

@@ -246,28 +237,34 @@ }

return MenuButton;
}(_react2.default.Component);
}(_react.default.Component);
MenuButton.propTypes = {
className: _propTypes2.default.string,
style: _propTypes2.default.object,
disabled: _propTypes2.default.bool,
title: _propTypes2.default.string,
openedClassName: _propTypes2.default.string,
openedStyle: _propTypes2.default.object,
positionOptions: _propTypes2.default.object,
menuZIndex: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]),
ButtonComponent: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.func]),
children: _propTypes2.default.node,
menu: _propTypes2.default.element,
onWillOpen: _propTypes2.default.func,
onDidOpen: _propTypes2.default.func,
onWillClose: _propTypes2.default.func
};
MenuButton.defaultProps = {
positionOptions: { position: 'bottom', hAlign: 'left' },
ButtonComponent: 'button'
};
exports.default = MenuButton;
module.exports = exports['default'];
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9NZW51QnV0dG9uLmpzIl0sIm5hbWVzIjpbIk1lbnVCdXR0b24iLCJzdGF0ZSIsIm9wZW5lZCIsIl9vbkNsb3NlIiwiY2FsbGJhY2siLCJwcm9wcyIsIm9uV2lsbE9wZW4iLCJzZXRTdGF0ZSIsIm9uRGlkT3BlbiIsIktlZmlyIiwibWVyZ2UiLCJ3aW5kb3ciLCJmaWx0ZXIiLCJlbCIsIkZsb2F0QW5jaG9yIiwicGFyZW50Tm9kZXMiLCJlIiwidGFyZ2V0Iiwibm9kZSIsImZyb21FdmVudHMiLCJrZXkiLCJ3aGljaCIsIm1hcCIsInByZXZlbnREZWZhdWx0Iiwic3RvcFByb3BhZ2F0aW9uIiwidGFrZVVudGlsQnkiLCJvblZhbHVlIiwiY2xvc2UiLCJvbldpbGxDbG9zZSIsImVtaXQiLCJvcGVuIiwiX2Zsb2F0QW5jaG9yIiwicmVwb3NpdGlvbiIsImNoaWxkcmVuIiwibWVudSIsInBvc2l0aW9uT3B0aW9ucyIsIm1lbnVaSW5kZXgiLCJkaXNhYmxlZCIsInRpdGxlIiwiQnV0dG9uQ29tcG9uZW50Iiwic3R5bGUiLCJjbGFzc05hbWUiLCJvcGVuZWRTdHlsZSIsIm9wZW5lZENsYXNzTmFtZSIsImJ1dHRvbiIsInRvZ2dsZSIsIl9pdGVtQ2hvc2VuIiwiUmVhY3QiLCJDb21wb25lbnQiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJzdHJpbmciLCJvYmplY3QiLCJib29sIiwib25lT2ZUeXBlIiwibnVtYmVyIiwiZnVuYyIsImVsZW1lbnQiLCJkZWZhdWx0UHJvcHMiLCJwb3NpdGlvbiIsImhBbGlnbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUdBOzs7O0FBRUE7O0FBQ0E7Ozs7QUFDQTs7OztBQUVBOzs7O0FBQ0E7Ozs7QUFFQTs7OztBQUNBOzs7Ozs7QUFaQTs7SUFvQ3FCQSxVOzs7Ozs7Ozs7Ozs7OztvTkF5Qm5CQyxLLEdBQWU7QUFDYkMsY0FBUTtBQURLLEssUUFLZkMsUSxHQUFzQix5Qjs7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QlIsYUFBV1Msb0JBQVVDLE1BREo7QUFFakJYLFNBQU9VLG9CQUFVRSxNQUZBO0FBR2pCZixZQUFVYSxvQkFBVUcsSUFISDtBQUlqQmYsU0FBT1ksb0JBQVVDLE1BSkE7QUFLakJSLG1CQUFpQk8sb0JBQVVDLE1BTFY7QUFNakJULGVBQWFRLG9CQUFVRSxNQU5OOztBQVFqQmpCLG1CQUFpQmUsb0JBQVVFLE1BUlY7QUFTakJoQixjQUFZYyxvQkFBVUksU0FBVixDQUFvQixDQUFDSixvQkFBVUMsTUFBWCxFQUFtQkQsb0JBQVVLLE1BQTdCLENBQXBCLENBVEs7QUFVakJoQixtQkFBaUJXLG9CQUFVSSxTQUFWLENBQW9CLENBQUNKLG9CQUFVQyxNQUFYLEVBQW1CRCxvQkFBVU0sSUFBN0IsQ0FBcEIsQ0FWQTs7QUFZakJ2QixZQUFVaUIsb0JBQVVoQyxJQVpIO0FBYWpCZ0IsUUFBTWdCLG9CQUFVTyxPQWJDO0FBY2pCbkQsY0FBWTRDLG9CQUFVTSxJQWRMO0FBZWpCaEQsYUFBVzBDLG9CQUFVTSxJQWZKO0FBZ0JqQjVCLGVBQWFzQixvQkFBVU07QUFoQk4sQztBQURBeEQsVSxDQW9CWjBELFksR0FBZTtBQUNwQnZCLG1CQUFpQixFQUFDd0IsVUFBUyxRQUFWLEVBQW9CQyxRQUFPLE1BQTNCLEVBREc7QUFFcEJyQixtQkFBaUI7QUFGRyxDO2tCQXBCSHZDLFUiLCJmaWxlIjoiTWVudUJ1dHRvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIEBmbG93ICovXG4vKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9uby1maW5kLWRvbS1ub2RlICovXG5cbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdHlwZSB7Tm9kZSBhcyBSZWFjdE5vZGUsIEVsZW1lbnQgYXMgUmVhY3RFbGVtZW50LCBFbGVtZW50VHlwZSBhcyBSZWFjdEVsZW1lbnRUeXBlfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQge2ZpbmRET01Ob2RlfSBmcm9tICdyZWFjdC1kb20nO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBGbG9hdEFuY2hvciBmcm9tICdyZWFjdC1mbG9hdC1hbmNob3InO1xuaW1wb3J0IHR5cGUge09wdGlvbnMgYXMgRmxvYXRBbmNob3JPcHRpb25zfSBmcm9tICdyZWFjdC1mbG9hdC1hbmNob3InO1xuaW1wb3J0IEtlZmlyIGZyb20gJ2tlZmlyJztcbmltcG9ydCBrZWZpckJ1cyBmcm9tICdrZWZpci1idXMnO1xuaW1wb3J0IHR5cGUge0J1c30gZnJvbSAna2VmaXItYnVzJztcbmltcG9ydCBmcm9tRXZlbnRzQ2FwdHVyZSBmcm9tICcuL2xpYi9mcm9tRXZlbnRzQ2FwdHVyZSc7XG5pbXBvcnQgTWVudUxpc3RJbnNwZWN0b3IgZnJvbSAnLi9NZW51TGlzdEluc3BlY3Rvcic7XG5cbnR5cGUgU3RhdGUgPSB7XG4gIG9wZW5lZDogYm9vbGVhbjtcbn07XG5leHBvcnQgdHlwZSBQcm9wcyA9IHtcbiAgY2xhc3NOYW1lPzogP3N0cmluZztcbiAgc3R5bGU/OiA/T2JqZWN0O1xuICBkaXNhYmxlZD86ID9ib29sZWFuO1xuICB0aXRsZT86ID9zdHJpbmc7XG4gIG9wZW5lZENsYXNzTmFtZT86ID9zdHJpbmc7XG4gIG9wZW5lZFN0eWxlPzogP09iamVjdDtcblxuICBwb3NpdGlvbk9wdGlvbnM6IEZsb2F0QW5jaG9yT3B0aW9ucztcbiAgbWVudVpJbmRleD86ID9zdHJpbmd8bnVtYmVyO1xuICBCdXR0b25Db21wb25lbnQ6IFJlYWN0RWxlbWVudFR5cGU7XG5cbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG4gIG1lbnU/OiA/UmVhY3RFbGVtZW50PGFueT47XG4gIG9uV2lsbE9wZW4/OiA/KCkgPT4gdm9pZDtcbiAgb25EaWRPcGVuPzogPygpID0+IHZvaWQ7XG4gIG9uV2lsbENsb3NlPzogPygpID0+IHZvaWQ7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBNZW51QnV0dG9uIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PFByb3BzLCBTdGF0ZT4ge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBzdHlsZTogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBkaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgdGl0bGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb3BlbmVkQ2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIG9wZW5lZFN0eWxlOiBQcm9wVHlwZXMub2JqZWN0LFxuXG4gICAgcG9zaXRpb25PcHRpb25zOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIG1lbnVaSW5kZXg6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5zdHJpbmcsIFByb3BUeXBlcy5udW1iZXJdKSxcbiAgICBCdXR0b25Db21wb25lbnQ6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5zdHJpbmcsIFByb3BUeXBlcy5mdW5jXSksXG5cbiAgICBjaGlsZHJlbjogUHJvcFR5cGVzLm5vZGUsXG4gICAgbWVudTogUHJvcFR5cGVzLmVsZW1lbnQsXG4gICAgb25XaWxsT3BlbjogUHJvcFR5cGVzLmZ1bmMsXG4gICAgb25EaWRPcGVuOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvbldpbGxDbG9zZTogUHJvcFR5cGVzLmZ1bmNcbiAgfTtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIHBvc2l0aW9uT3B0aW9uczoge3Bvc2l0aW9uOidib3R0b20nLCBoQWxpZ246J2xlZnQnfSxcbiAgICBCdXR0b25Db21wb25lbnQ6ICdidXR0b24nXG4gIH07XG5cbiAgc3RhdGU6IFN0YXRlID0ge1xuICAgIG9wZW5lZDogZmFsc2VcbiAgfTtcblxuICBfZmxvYXRBbmNob3I6IEZsb2F0QW5jaG9yO1xuICBfb25DbG9zZTogQnVzPHZvaWQ+ID0ga2VmaXJCdXMoKTtcblxuICBvcGVuKGNhbGxiYWNrPzogKCkgPT4gYW55KSB7XG4gICAgaWYgKHRoaXMuc3RhdGUub3BlbmVkKSByZXR1cm47XG4gICAgaWYgKHRoaXMucHJvcHMub25XaWxsT3BlbikgdGhpcy5wcm9wcy5vbldpbGxPcGVuKCk7XG4gICAgdGhpcy5zZXRTdGF0ZSh7b3BlbmVkOiB0cnVlfSwgKCkgPT4ge1xuICAgICAgaWYgKHRoaXMucHJvcHMub25EaWRPcGVuKSB0aGlzLnByb3BzLm9uRGlkT3BlbigpO1xuICAgICAgaWYgKGNhbGxiYWNrKSBjYWxsYmFjaygpO1xuICAgIH0pO1xuXG4gICAgLy8gQ2xpY2tpbmcgb3V0c2lkZSBvZiB0aGUgZHJvcGRvd24gb3IgcHJlc3NpbmcgZXNjYXBlIHNob3VsZCBjbG9zZSB0aGVcbiAgICAvLyBkcm9wZG93bi5cbiAgICBLZWZpci5tZXJnZShbXG4gICAgICBLZWZpci5tZXJnZShbXG4gICAgICAgIGZyb21FdmVudHNDYXB0dXJlKHdpbmRvdywgJ2NsaWNrJyksXG4gICAgICAgIGZyb21FdmVudHNDYXB0dXJlKHdpbmRvdywgJ2ZvY3VzJylcbiAgICAgIF0pXG4gICAgICAgIC5maWx0ZXIoZSA9PiB7XG4gICAgICAgICAgY29uc3QgZWwgPSBmaW5kRE9NTm9kZSh0aGlzKTtcbiAgICAgICAgICBmb3IgKGxldCBub2RlIG9mIEZsb2F0QW5jaG9yLnBhcmVudE5vZGVzKGUudGFyZ2V0KSkge1xuICAgICAgICAgICAgaWYgKG5vZGUgPT09IGVsKSByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9KSxcbiAgICAgIEtlZmlyLmZyb21FdmVudHMod2luZG93LCAna2V5ZG93bicpXG4gICAgICAgIC5maWx0ZXIoZSA9PiBlLmtleSA/IGUua2V5ID09PSAnRXNjYXBlJyA6IGUud2hpY2ggPT09IDI3KVxuICAgICAgICAubWFwKGUgPT4ge1xuICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB9KVxuICAgIF0pXG4gICAgICAudGFrZVVudGlsQnkodGhpcy5fb25DbG9zZSlcbiAgICAgIC5vblZhbHVlKCgpID0+IHtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgfSk7XG4gIH1cblxuICBjbG9zZSgpIHtcbiAgICBpZiAoIXRoaXMuc3RhdGUub3BlbmVkKSByZXR1cm47XG4gICAgaWYgKHRoaXMucHJvcHMub25XaWxsQ2xvc2UpIHRoaXMucHJvcHMub25XaWxsQ2xvc2UoKTtcbiAgICB0aGlzLnNldFN0YXRlKHtvcGVuZWQ6IGZhbHNlfSk7XG4gICAgdGhpcy5fb25DbG9zZS5lbWl0KCk7XG4gIH1cblxuICB0b2dnbGUoKSB7XG4gICAgaWYgKHRoaXMuc3RhdGUub3BlbmVkKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub3BlbigpO1xuICAgIH1cbiAgfVxuXG4gIHJlcG9zaXRpb24oKSB7XG4gICAgdGhpcy5fZmxvYXRBbmNob3IucmVwb3NpdGlvbigpO1xuICB9XG5cbiAgX2l0ZW1DaG9zZW4oKSB7XG4gICAgdGhpcy5jbG9zZSgpO1xuICB9XG5cbiAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgdGhpcy5fb25DbG9zZS5lbWl0KCk7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgY2hpbGRyZW4sIG1lbnUsXG4gICAgICBwb3NpdGlvbk9wdGlvbnMsIG1lbnVaSW5kZXgsXG4gICAgICBkaXNhYmxlZCwgdGl0bGUsIEJ1dHRvbkNvbXBvbmVudFxuICAgIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHtvcGVuZWR9ID0gdGhpcy5zdGF0ZTtcblxuICAgIGxldCBzdHlsZSA9IHRoaXMucHJvcHMuc3R5bGU7XG4gICAgbGV0IGNsYXNzTmFtZSA9IHRoaXMucHJvcHMuY2xhc3NOYW1lO1xuICAgIGlmIChvcGVuZWQpIHtcbiAgICAgIGlmICh0aGlzLnByb3BzLm9wZW5lZFN0eWxlKSB7XG4gICAgICAgIHN0eWxlID0gey4uLnN0eWxlLCAuLi50aGlzLnByb3BzLm9wZW5lZFN0eWxlfTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnByb3BzLm9wZW5lZENsYXNzTmFtZSkge1xuICAgICAgICBjbGFzc05hbWUgPSBgJHtjbGFzc05hbWV8fCcnfSAke3RoaXMucHJvcHMub3BlbmVkQ2xhc3NOYW1lfWA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxGbG9hdEFuY2hvclxuICAgICAgICByZWY9e2VsID0+IHtcbiAgICAgICAgICBpZiAoZWwpIHRoaXMuX2Zsb2F0QW5jaG9yID0gZWw7XG4gICAgICAgIH19XG4gICAgICAgIG9wdGlvbnM9e3Bvc2l0aW9uT3B0aW9uc31cbiAgICAgICAgekluZGV4PXttZW51WkluZGV4fVxuICAgICAgICBhbmNob3I9e1xuICAgICAgICAgIDxCdXR0b25Db21wb25lbnRcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgICBzdHlsZT17c3R5bGV9XG4gICAgICAgICAgICBvbk1vdXNlRG93bj17ZSA9PiB7XG4gICAgICAgICAgICAgIGlmIChlLmJ1dHRvbiAhPT0gMCkgcmV0dXJuO1xuICAgICAgICAgICAgICB0aGlzLnRvZ2dsZSgpO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIG9uS2V5UHJlc3M9e2U9PntcbiAgICAgICAgICAgICAgaWYgKGUua2V5ID09PSAnRW50ZXInIHx8IGUua2V5ID09PSAnICcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRvZ2dsZSgpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgYXJpYS1oYXNwb3B1cD17dHJ1ZX1cbiAgICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9e29wZW5lZH1cbiAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgIHRpdGxlPXt0aXRsZX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgPC9CdXR0b25Db21wb25lbnQ+XG4gICAgICAgIH1cbiAgICAgICAgZmxvYXQ9e1xuICAgICAgICAgICFvcGVuZWQgPyBudWxsIDpcbiAgICAgICAgICAgIDxNZW51TGlzdEluc3BlY3RvciBvbkl0ZW1DaG9zZW49eygpID0+IHRoaXMuX2l0ZW1DaG9zZW4oKX0+XG4gICAgICAgICAgICAgIHttZW51fVxuICAgICAgICAgICAgPC9NZW51TGlzdEluc3BlY3Rvcj5cbiAgICAgICAgfVxuICAgICAgLz5cbiAgICApO1xuICB9XG59XG4iXX0=
(0, _defineProperty2.default)(MenuButton, "propTypes", {
className: _propTypes.default.string,
style: _propTypes.default.object,
disabled: _propTypes.default.bool,
title: _propTypes.default.string,
openedClassName: _propTypes.default.string,
openedStyle: _propTypes.default.object,
positionOptions: _propTypes.default.object,
menuZIndex: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
ButtonComponent: _propTypes.default.func,
children: _propTypes.default.node,
menu: _propTypes.default.element,
onWillOpen: _propTypes.default.func,
onDidOpen: _propTypes.default.func,
onWillClose: _propTypes.default.func
});
(0, _defineProperty2.default)(MenuButton, "defaultProps", {
positionOptions: {
position: 'bottom',
hAlign: 'left'
},
ButtonComponent: function ButtonComponent(_ref) {
var domRef = _ref.domRef,
props = (0, _objectWithoutProperties2.default)(_ref, ["domRef"]);
return _react.default.createElement("button", (0, _extends2.default)({
ref: domRef
}, props));
}
});
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9NZW51QnV0dG9uLmpzIl0sIm5hbWVzIjpbIk1lbnVCdXR0b24iLCJvcGVuZWQiLCJSZWFjdCIsImNyZWF0ZVJlZiIsInN0YXRlIiwiUHJvbWlzZSIsInJlc29sdmUiLCJwcm9wcyIsIm9uV2lsbE9wZW4iLCJLZWZpciIsIm1lcmdlIiwid2luZG93IiwiZmlsdGVyIiwiZSIsImVsIiwiX2FuY2hvckVsIiwiRmxvYXRBbmNob3IiLCJwYXJlbnROb2RlcyIsInRhcmdldCIsIm5vZGUiLCJmcm9tRXZlbnRzIiwia2V5Iiwid2hpY2giLCJtYXAiLCJwcmV2ZW50RGVmYXVsdCIsInN0b3BQcm9wYWdhdGlvbiIsInRha2VVbnRpbEJ5IiwiX29uQ2xvc2UiLCJvblZhbHVlIiwiY2xvc2UiLCJzZXRTdGF0ZSIsIm9uRGlkT3BlbiIsIm9uV2lsbENsb3NlIiwiZW1pdCIsIm9wZW4iLCJmbG9hdEFuY2hvciIsIl9mbG9hdEFuY2hvclJlZiIsImN1cnJlbnQiLCJFcnJvciIsInJlcG9zaXRpb24iLCJjaGlsZHJlbiIsIm1lbnUiLCJwb3NpdGlvbk9wdGlvbnMiLCJtZW51WkluZGV4IiwiZGlzYWJsZWQiLCJ0aXRsZSIsIkJ1dHRvbkNvbXBvbmVudCIsInN0eWxlIiwiY2xhc3NOYW1lIiwib3BlbmVkU3R5bGUiLCJvcGVuZWRDbGFzc05hbWUiLCJhbmNob3JSZWYiLCJidXR0b24iLCJ0b2dnbGUiLCJfaXRlbUNob3NlbiIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsInN0cmluZyIsIm9iamVjdCIsImJvb2wiLCJvbmVPZlR5cGUiLCJudW1iZXIiLCJmdW5jIiwiZWxlbWVudCIsInBvc2l0aW9uIiwiaEFsaWduIiwiZG9tUmVmIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBOztBQUVBOztBQUNBOztBQUVBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztJQXdCcUJBLFU7Ozs7Ozs7Ozs7Ozs7Ozs7OzhIQXlCSjtBQUNiQyxN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O0FBUWpCaEIsRUFBQUEsZUFBZSxFQUFFYyxtQkFBVUUsTUFSVjtBQVNqQmYsRUFBQUEsVUFBVSxFQUFFYSxtQkFBVUksU0FBVixDQUFvQixDQUFDSixtQkFBVUMsTUFBWCxFQUFtQkQsbUJBQVVLLE1BQTdCLENBQXBCLENBVEs7QUFVakJmLEVBQUFBLGVBQWUsRUFBRVUsbUJBQVVNLElBVlY7QUFZakJ0QixFQUFBQSxRQUFRLEVBQUVnQixtQkFBVXJDLElBWkg7QUFhakJzQixFQUFBQSxJQUFJLEVBQUVlLG1CQUFVTyxPQWJDO0FBY2pCdkQsRUFBQUEsVUFBVSxFQUFFZ0QsbUJBQVVNLElBZEw7QUFlakIvQixFQUFBQSxTQUFTLEVBQUV5QixtQkFBVU0sSUFmSjtBQWdCakI5QixFQUFBQSxXQUFXLEVBQUV3QixtQkFBVU07QUFoQk4sQzs4QkFEQTlELFUsa0JBb0JHO0FBQ3BCMEMsRUFBQUEsZUFBZSxFQUFFO0FBQUNzQixJQUFBQSxRQUFRLEVBQUMsUUFBVjtBQUFvQkMsSUFBQUEsTUFBTSxFQUFDO0FBQTNCLEdBREc7QUFFcEJuQixFQUFBQSxlQUFlLEVBQUU7QUFBQSxRQUFFb0IsTUFBRixRQUFFQSxNQUFGO0FBQUEsUUFBYTNELEtBQWI7QUFBQSxXQUFnQztBQUFRLE1BQUEsR0FBRyxFQUFFMkQ7QUFBYixPQUF5QjNELEtBQXpCLEVBQWhDO0FBQUE7QUFGRyxDIiwic291cmNlc0NvbnRlbnQiOlsiLyogQGZsb3cgKi9cblxuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB0eXBlIHtOb2RlIGFzIFJlYWN0Tm9kZSwgRWxlbWVudFR5cGUgYXMgUmVhY3RFbGVtZW50VHlwZX0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBGbG9hdEFuY2hvciBmcm9tICdyZWFjdC1mbG9hdC1hbmNob3InO1xuaW1wb3J0IHR5cGUge09wdGlvbnMgYXMgRmxvYXRBbmNob3JPcHRpb25zfSBmcm9tICdyZWFjdC1mbG9hdC1hbmNob3InO1xuaW1wb3J0IEtlZmlyIGZyb20gJ2tlZmlyJztcbmltcG9ydCBrZWZpckJ1cyBmcm9tICdrZWZpci1idXMnO1xuaW1wb3J0IHR5cGUge0J1c30gZnJvbSAna2VmaXItYnVzJztcbmltcG9ydCBmcm9tRXZlbnRzQ2FwdHVyZSBmcm9tICcuL2xpYi9mcm9tRXZlbnRzQ2FwdHVyZSc7XG5pbXBvcnQgc2V0UmVmIGZyb20gJy4vbGliL3NldFJlZic7XG5pbXBvcnQgTWVudUxpc3RJbnNwZWN0b3IgZnJvbSAnLi9NZW51TGlzdEluc3BlY3Rvcic7XG5cbnR5cGUgU3RhdGUgPSB7XG4gIG9wZW5lZDogYm9vbGVhbjtcbn07XG5leHBvcnQgdHlwZSBQcm9wcyA9IHtcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICBzdHlsZT86IE9iamVjdDtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICB0aXRsZT86IHN0cmluZztcbiAgb3BlbmVkQ2xhc3NOYW1lPzogc3RyaW5nO1xuICBvcGVuZWRTdHlsZT86IE9iamVjdDtcblxuICBwb3NpdGlvbk9wdGlvbnM6IEZsb2F0QW5jaG9yT3B0aW9ucztcbiAgbWVudVpJbmRleD86IHN0cmluZ3xudW1iZXI7XG4gIEJ1dHRvbkNvbXBvbmVudDogUmVhY3RFbGVtZW50VHlwZTtcblxuICBjaGlsZHJlbj86IFJlYWN0Tm9kZTtcbiAgbWVudTogUmVhY3ROb2RlO1xuICBvbldpbGxPcGVuPzogKCkgPT4gdm9pZDtcbiAgb25EaWRPcGVuPzogKCkgPT4gdm9pZDtcbiAgb25XaWxsQ2xvc2U/OiAoKSA9PiB2b2lkO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTWVudUJ1dHRvbiBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxQcm9wcywgU3RhdGU+IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgc3R5bGU6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgZGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIHRpdGxlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIG9wZW5lZENsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvcGVuZWRTdHlsZTogUHJvcFR5cGVzLm9iamVjdCxcblxuICAgIHBvc2l0aW9uT3B0aW9uczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBtZW51WkluZGV4OiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuc3RyaW5nLCBQcm9wVHlwZXMubnVtYmVyXSksXG4gICAgQnV0dG9uQ29tcG9uZW50OiBQcm9wVHlwZXMuZnVuYyxcblxuICAgIGNoaWxkcmVuOiBQcm9wVHlwZXMubm9kZSxcbiAgICBtZW51OiBQcm9wVHlwZXMuZWxlbWVudCxcbiAgICBvbldpbGxPcGVuOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvbkRpZE9wZW46IFByb3BUeXBlcy5mdW5jLFxuICAgIG9uV2lsbENsb3NlOiBQcm9wVHlwZXMuZnVuY1xuICB9O1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgcG9zaXRpb25PcHRpb25zOiB7cG9zaXRpb246J2JvdHRvbScsIGhBbGlnbjonbGVmdCd9LFxuICAgIEJ1dHRvbkNvbXBvbmVudDogKHtkb21SZWYsIC4uLnByb3BzfTogT2JqZWN0KSA9PiA8YnV0dG9uIHJlZj17ZG9tUmVmfSB7Li4ucHJvcHN9IC8+XG4gIH07XG5cbiAgc3RhdGU6IFN0YXRlID0ge1xuICAgIG9wZW5lZDogZmFsc2VcbiAgfTtcblxuICBfZmxvYXRBbmNob3JSZWYgPSBSZWFjdC5jcmVhdGVSZWY8Q2xhc3M8RmxvYXRBbmNob3I+PigpO1xuICBfYW5jaG9yRWw6ID9IVE1MRWxlbWVudCA9IG51bGw7XG4gIF9vbkNsb3NlOiBCdXM8dm9pZD4gPSBrZWZpckJ1cygpO1xuXG4gIG9wZW4oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMuc3RhdGUub3BlbmVkKSByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgaWYgKHRoaXMucHJvcHMub25XaWxsT3BlbikgdGhpcy5wcm9wcy5vbldpbGxPcGVuKCk7XG5cbiAgICAvLyBDbGlja2luZyBvdXRzaWRlIG9mIHRoZSBkcm9wZG93biBvciBwcmVzc2luZyBlc2NhcGUgc2hvdWxkIGNsb3NlIHRoZVxuICAgIC8vIGRyb3Bkb3duLlxuICAgIEtlZmlyLm1lcmdlKFtcbiAgICAgIEtlZmlyLm1lcmdlKFtcbiAgICAgICAgZnJvbUV2ZW50c0NhcHR1cmUod2luZG93LCAnY2xpY2snKSxcbiAgICAgICAgZnJvbUV2ZW50c0NhcHR1cmUod2luZG93LCAnZm9jdXMnKVxuICAgICAgXSlcbiAgICAgICAgLmZpbHRlcihlID0+IHtcbiAgICAgICAgICBjb25zdCBlbCA9IHRoaXMuX2FuY2hvckVsO1xuICAgICAgICAgIGZvciAobGV0IG5vZGUgb2YgRmxvYXRBbmNob3IucGFyZW50Tm9kZXMoZS50YXJnZXQpKSB7XG4gICAgICAgICAgICBpZiAobm9kZSA9PT0gZWwpIHJldHVybiBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0pLFxuICAgICAgS2VmaXIuZnJvbUV2ZW50cyh3aW5kb3csICdrZXlkb3duJylcbiAgICAgICAgLmZpbHRlcihlID0+IGUua2V5ID8gZS5rZXkgPT09ICdFc2NhcGUnIDogZS53aGljaCA9PT0gMjcpXG4gICAgICAgIC5tYXAoZSA9PiB7XG4gICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIH0pXG4gICAgXSlcbiAgICAgIC50YWtlVW50aWxCeSh0aGlzLl9vbkNsb3NlKVxuICAgICAgLm9uVmFsdWUoKCkgPT4ge1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICB9KTtcblxuICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoe29wZW5lZDogdHJ1ZX0sICgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMucHJvcHMub25EaWRPcGVuKSB0aGlzLnByb3BzLm9uRGlkT3BlbigpO1xuICAgICAgICByZXNvbHZlKCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIGlmICghdGhpcy5zdGF0ZS5vcGVuZWQpIHJldHVybjtcbiAgICBpZiAodGhpcy5wcm9wcy5vbldpbGxDbG9zZSkgdGhpcy5wcm9wcy5vbldpbGxDbG9zZSgpO1xuICAgIHRoaXMuc2V0U3RhdGUoe29wZW5lZDogZmFsc2V9KTtcbiAgICB0aGlzLl9vbkNsb3NlLmVtaXQoKTtcbiAgfVxuXG4gIHRvZ2dsZSgpIHtcbiAgICBpZiAodGhpcy5zdGF0ZS5vcGVuZWQpIHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vcGVuKCk7XG4gICAgfVxuICB9XG5cbiAgcmVwb3NpdGlvbigpIHtcbiAgICBjb25zdCBmbG9hdEFuY2hvciA9IHRoaXMuX2Zsb2F0QW5jaG9yUmVmLmN1cnJlbnQ7XG4gICAgaWYgKCFmbG9hdEFuY2hvcikgdGhyb3cgbmV3IEVycm9yKCk7XG4gICAgZmxvYXRBbmNob3IucmVwb3NpdGlvbigpO1xuICB9XG5cbiAgX2l0ZW1DaG9zZW4oKSB7XG4gICAgdGhpcy5jbG9zZSgpO1xuICB9XG5cbiAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgdGhpcy5fb25DbG9zZS5lbWl0KCk7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgY2hpbGRyZW4sIG1lbnUsXG4gICAgICBwb3NpdGlvbk9wdGlvbnMsIG1lbnVaSW5kZXgsXG4gICAgICBkaXNhYmxlZCwgdGl0bGUsIEJ1dHRvbkNvbXBvbmVudFxuICAgIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHtvcGVuZWR9ID0gdGhpcy5zdGF0ZTtcblxuICAgIGxldCBzdHlsZSA9IHRoaXMucHJvcHMuc3R5bGU7XG4gICAgbGV0IGNsYXNzTmFtZSA9IHRoaXMucHJvcHMuY2xhc3NOYW1lO1xuICAgIGlmIChvcGVuZWQpIHtcbiAgICAgIGlmICh0aGlzLnByb3BzLm9wZW5lZFN0eWxlKSB7XG4gICAgICAgIHN0eWxlID0gey4uLnN0eWxlLCAuLi50aGlzLnByb3BzLm9wZW5lZFN0eWxlfTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnByb3BzLm9wZW5lZENsYXNzTmFtZSkge1xuICAgICAgICBjbGFzc05hbWUgPSBgJHtjbGFzc05hbWV8fCcnfSAke3RoaXMucHJvcHMub3BlbmVkQ2xhc3NOYW1lfWA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxGbG9hdEFuY2hvclxuICAgICAgICByZWY9e3RoaXMuX2Zsb2F0QW5jaG9yUmVmfVxuICAgICAgICBvcHRpb25zPXtwb3NpdGlvbk9wdGlvbnN9XG4gICAgICAgIHpJbmRleD17bWVudVpJbmRleH1cbiAgICAgICAgYW5jaG9yPXthbmNob3JSZWYgPT5cbiAgICAgICAgICA8QnV0dG9uQ29tcG9uZW50XG4gICAgICAgICAgICBkb21SZWY9e2VsID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5fYW5jaG9yRWwgPSBlbDtcbiAgICAgICAgICAgICAgc2V0UmVmKGFuY2hvclJlZiwgZWwpO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgICBzdHlsZT17c3R5bGV9XG4gICAgICAgICAgICBvbk1vdXNlRG93bj17ZSA9PiB7XG4gICAgICAgICAgICAgIGlmIChlLmJ1dHRvbiAhPT0gMCkgcmV0dXJuO1xuICAgICAgICAgICAgICB0aGlzLnRvZ2dsZSgpO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIG9uS2V5UHJlc3M9e2U9PntcbiAgICAgICAgICAgICAgaWYgKGUua2V5ID09PSAnRW50ZXInIHx8IGUua2V5ID09PSAnICcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRvZ2dsZSgpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgYXJpYS1oYXNwb3B1cD17dHJ1ZX1cbiAgICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9e29wZW5lZH1cbiAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgIHRpdGxlPXt0aXRsZX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgPC9CdXR0b25Db21wb25lbnQ+XG4gICAgICAgIH1cbiAgICAgICAgZmxvYXQ9e1xuICAgICAgICAgICFvcGVuZWQgPyBudWxsIDpcbiAgICAgICAgICAgIDxNZW51TGlzdEluc3BlY3RvciBvbkl0ZW1DaG9zZW49eygpID0+IHRoaXMuX2l0ZW1DaG9zZW4oKX0+XG4gICAgICAgICAgICAgIHttZW51fVxuICAgICAgICAgICAgPC9NZW51TGlzdEluc3BlY3Rvcj5cbiAgICAgICAgfVxuICAgICAgLz5cbiAgICApO1xuICB9XG59XG4iXX0=

@@ -1,68 +0,70 @@

'use strict';
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _extends2 = require('babel-runtime/helpers/extends');
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread"));
var _extends3 = _interopRequireDefault(_extends2);
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _getPrototypeOf3 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _createClass2 = require('babel-runtime/helpers/createClass');
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
var _createClass3 = _interopRequireDefault(_createClass2);
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _react = _interopRequireDefault(require("react"));
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _propTypes = _interopRequireDefault(require("prop-types"));
var _inherits2 = require('babel-runtime/helpers/inherits');
var _ChosenEvent = _interopRequireDefault(require("./events/ChosenEvent"));
var _inherits3 = _interopRequireDefault(_inherits2);
var _MenuList = require("./MenuList");
var _react = require('react');
var _setRef = _interopRequireDefault(require("./lib/setRef"));
var _react2 = _interopRequireDefault(_react);
var MenuItem =
/*#__PURE__*/
function (_React$Component) {
(0, _inherits2.default)(MenuItem, _React$Component);
var _propTypes = require('prop-types');
var _propTypes2 = _interopRequireDefault(_propTypes);
var _ChosenEvent = require('./events/ChosenEvent');
var _ChosenEvent2 = _interopRequireDefault(_ChosenEvent);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var MenuItem = function (_React$Component) {
(0, _inherits3.default)(MenuItem, _React$Component);
function MenuItem() {
var _ref;
var _getPrototypeOf2;
var _temp, _this, _ret;
var _this;
(0, _classCallCheck3.default)(this, MenuItem);
(0, _classCallCheck2.default)(this, MenuItem);
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = MenuItem.__proto__ || (0, _getPrototypeOf2.default)(MenuItem)).call.apply(_ref, [this].concat(args))), _this), _this.state = {
_this = (0, _possibleConstructorReturn2.default)(this, (_getPrototypeOf2 = (0, _getPrototypeOf3.default)(MenuItem)).call.apply(_getPrototypeOf2, [this].concat(args)));
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), "_menuListHandle", void 0);
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), "state", {
highlighted: false
}, _this._elSetter = function (el) {
});
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), "_el", void 0);
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), "_elSetter", function (el) {
_this._el = el;
}, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret);
if (_this.props.domRef) {
(0, _setRef.default)(_this.props.domRef, el);
}
});
return _this;
}
(0, _createClass3.default)(MenuItem, [{
key: 'hasHighlight',
(0, _createClass2.default)(MenuItem, [{
key: "hasHighlight",
value: function hasHighlight() {

@@ -72,3 +74,3 @@ return this.state.highlighted;

}, {
key: 'takeKeyboard',
key: "takeKeyboard",
value: function takeKeyboard() {

@@ -78,3 +80,3 @@ this._menuListHandle.takeKeyboard();

}, {
key: 'releaseKeyboard',
key: "releaseKeyboard",
value: function releaseKeyboard() {

@@ -84,3 +86,3 @@ this._menuListHandle.releaseKeyboard();

}, {
key: 'lockHighlight',
key: "lockHighlight",
value: function lockHighlight() {

@@ -90,8 +92,6 @@ this._menuListHandle.lockHighlight();

}, {
key: 'unlockHighlight',
key: "unlockHighlight",
value: function unlockHighlight() {
this._menuListHandle.unlockHighlight();
}
// byKeyboard forces focus immediately and scrolls the item into view.
} // byKeyboard forces focus immediately and scrolls the item into view.
// With it false, the highlight might be delayed depending on mouse movement

@@ -101,3 +101,3 @@ // and won't cause anything to scroll.

}, {
key: 'highlight',
key: "highlight",
value: function highlight() {

@@ -109,3 +109,3 @@ var byKeyboard = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;

}, {
key: 'unhighlight',
key: "unhighlight",
value: function unhighlight() {

@@ -115,3 +115,3 @@ this._menuListHandle.unhighlight();

}, {
key: 'moveCursor',
key: "moveCursor",
value: function moveCursor(direction, prevCursorLocation) {

@@ -121,3 +121,3 @@ this._menuListHandle.moveCursor(direction, prevCursorLocation);

}, {
key: 'componentDidMount',
key: "componentDidMount",
value: function componentDidMount() {

@@ -129,8 +129,11 @@ var _this2 = this;

this._menuListHandle = this.context.menuList.registerItem(this.props, {
this._menuListHandle = this.context.registerItem(this.props, {
notifyHighlighted: function notifyHighlighted(highlighted, byKeyboard, direction, prevCursorLocation) {
_this2.setState({ highlighted: highlighted }, function () {
_this2.setState({
highlighted: highlighted
}, function () {
if (highlighted && byKeyboard) {
var _el = _this2._el;
/*:: if (!el) throw new Error(); */
if (typeof _el.scrollIntoViewIfNeeded === 'function') {

@@ -143,4 +146,9 @@ _el.scrollIntoViewIfNeeded();

});
if (_this2.props.onHighlightChange) {
_this2.props.onHighlightChange(highlighted, { byKeyboard: byKeyboard, prevCursorLocation: prevCursorLocation, direction: direction });
_this2.props.onHighlightChange(highlighted, {
byKeyboard: byKeyboard == null ? undefined : byKeyboard,
prevCursorLocation: prevCursorLocation == null ? undefined : prevCursorLocation,
direction: direction == null ? undefined : direction
});
}

@@ -154,5 +162,7 @@ },

break;
case 'left':
if (_this2.props.onLeftPushed) _this2.props.onLeftPushed(event);
break;
case 'right':

@@ -166,3 +176,3 @@ if (_this2.props.onRightPushed) _this2.props.onRightPushed(event);

}, {
key: 'componentWillUnmount',
key: "componentWillUnmount",
value: function componentWillUnmount() {

@@ -172,78 +182,68 @@ this._menuListHandle.unregister();

}, {
key: 'componentWillReceiveProps',
value: function componentWillReceiveProps(newProps) {
this._menuListHandle.updateProps(newProps);
key: "componentDidUpdate",
value: function componentDidUpdate() {
this._menuListHandle.updateProps(this.props);
}
}, {
key: 'render',
key: "render",
value: function render() {
var _this3 = this;
var _props = this.props,
children = _props.children,
onMouseLeave = _props.onMouseLeave;
var _this$props = this.props,
children = _this$props.children,
onMouseLeave = _this$props.onMouseLeave;
var highlighted = this.state.highlighted;
var style = this.props.style;
var className = this.props.className;
if (highlighted) {
if (this.props.highlightedStyle) {
style = (0, _extends3.default)({}, style, this.props.highlightedStyle);
style = (0, _objectSpread2.default)({}, style, this.props.highlightedStyle);
}
if (this.props.highlightedClassName) {
className = (className || '') + ' ' + this.props.highlightedClassName;
className = "".concat(className || '', " ").concat(this.props.highlightedClassName);
}
}
return _react2.default.createElement(
'div',
{
ref: this._elSetter,
style: style,
className: className,
onClick: function onClick() {
return _this3._menuListHandle.itemChosen();
},
onMouseEnter: function onMouseEnter() {
return _this3.highlight(false);
},
onMouseLeave: onMouseLeave || function () {
return _this3.unhighlight();
},
role: 'menuitem',
'aria-haspopup': this.props['aria-haspopup'],
'aria-expanded': this.props['aria-expanded']
return _react.default.createElement("div", {
ref: this._elSetter,
style: style,
className: className,
onClick: function onClick() {
return _this3._menuListHandle.itemChosen();
},
children
);
onMouseEnter: function onMouseEnter() {
return _this3.highlight(false);
},
onMouseLeave: onMouseLeave || function () {
return _this3.unhighlight();
},
role: "menuitem",
"aria-haspopup": this.props['aria-haspopup'],
"aria-expanded": this.props['aria-expanded']
}, children);
}
}]);
return MenuItem;
}(_react2.default.Component);
}(_react.default.Component);
MenuItem.propTypes = {
onItemChosen: _propTypes2.default.func,
onHighlightChange: _propTypes2.default.func,
onLeftPushed: _propTypes2.default.func,
onRightPushed: _propTypes2.default.func,
className: _propTypes2.default.string,
style: _propTypes2.default.object,
highlightedClassName: _propTypes2.default.string,
highlightedStyle: _propTypes2.default.object,
index: _propTypes2.default.number,
onMouseLeave: _propTypes2.default.func,
children: _propTypes2.default.node,
'aria-haspopup': _propTypes2.default.bool,
'aria-expanded': _propTypes2.default.bool
};
MenuItem.contextTypes = {
menuList: _propTypes2.default.object
};
exports.default = MenuItem;
module.exports = exports['default'];
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9NZW51SXRlbS5qcyJdLCJuYW1lcyI6WyJNZW51SXRlbSIsInN0YXRlIiwiaGlnaGxpZ2h0ZWQiLCJfZWxTZXR0ZXIiLCJlbCIsIl9lbCIsIl9tZW51TGlzdEhhbmRsZSIsInRha2VLZXlib2FyZCIsInJlbGVhc2VLZXlib2FyZCIsImxvY2tIaWdobGlnaHQiLCJ1bmxvY2tIaWdobGlnaHQiLCJieUtleWJvYXJkIiwiaGlnaGxpZ2h0IiwidW5oaWdobGlnaHQiLCJkaXJlY3Rpb24iLCJwcmV2Q3Vyc29yTG9jYXRpb24iLCJtb3ZlQ3Vyc29yIiwiY29udGV4dCIsIm1lbnVMaXN0IiwicmVnaXN0ZXJJdGVtIiwicHJvcHMiLCJub3RpZnlIaWdobGlnaHRlZCIsInNldFN0YXRlIiwic2Nyb2xsSW50b1ZpZXdJZk5lZWRlZCIsInNjcm9sbEludG9WaWV3Iiwib25IaWdobGlnaHRDaGFuZ2UiLCJub3RpZnlFdmVudCIsImV2ZW50IiwidHlwZSIsIm9uSXRlbUNob3NlbiIsIm9uTGVmdFB1c2hlZCIsIm9uUmlnaHRQdXNoZWQiLCJ1bnJlZ2lzdGVyIiwibmV3UHJvcHMiLCJ1cGRhdGVQcm9wcyIsImNoaWxkcmVuIiwib25Nb3VzZUxlYXZlIiwic3R5bGUiLCJjbGFzc05hbWUiLCJoaWdobGlnaHRlZFN0eWxlIiwiaGlnaGxpZ2h0ZWRDbGFzc05hbWUiLCJpdGVtQ2hvc2VuIiwiUmVhY3QiLCJDb21wb25lbnQiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJmdW5jIiwic3RyaW5nIiwib2JqZWN0IiwiaW5kZXgiLCJudW1iZXIiLCJub2RlIiwiYm9vbCIsImNvbnRleHRUeXBlcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUE7Ozs7QUFFQTs7OztBQUdBOzs7Ozs7SUE0QnFCQSxROzs7Ozs7Ozs7Ozs7OztnTkFFbkJDLEssR0FBUTtBQUNOQyxtQkFBYTtBQURQLEssUUE0QlJDLFMsR0FBWSxVQUFDQyxFQUFELEVB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akJSLG9CQUFrQk0sb0JBQVVHLE1BVFg7O0FBV2pCQyxTQUFPSixvQkFBVUssTUFYQTtBQVlqQmQsZ0JBQWNTLG9CQUFVQyxJQVpQOztBQWNqQlgsWUFBVVUsb0JBQVVNLElBZEg7O0FBZ0JqQixtQkFBaUJOLG9CQUFVTyxJQWhCVjtBQWlCakIsbUJBQWlCUCxvQkFBVU87QUFqQlYsQztBQUxBcEQsUSxDQXlCWnFELFksR0FBZTtBQUNwQm5DLFlBQVUyQixvQkFBVUc7QUFEQSxDO2tCQXpCSGhELFEiLCJmaWxlIjoiTWVudUl0ZW0uanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBAZmxvdyAqL1xuXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHR5cGUge05vZGUgYXMgUmVhY3ROb2RlfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG5pbXBvcnQgdHlwZSBNZW51RXZlbnQgZnJvbSAnLi9ldmVudHMvTWVudUV2ZW50JztcbmltcG9ydCBDaG9zZW5FdmVudCBmcm9tICcuL2V2ZW50cy9DaG9zZW5FdmVudCc7XG5pbXBvcnQgdHlwZSB7TWVudUxpc3RDb250ZXh0LCBNZW51TGlzdEhhbmRsZX0gZnJvbSAnLi9NZW51TGlzdCc7XG5pbXBvcnQgdHlwZSB7RGlyZWN0aW9uLCBSZWN0fSBmcm9tICcuL3R5cGVzJztcblxudHlwZSBTdGF0ZSA9IHtcbiAgaGlnaGxpZ2h0ZWQ6IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBQcm9wcyA9IHtcbiAgb25JdGVtQ2hvc2VuPzogPyhldmVudDogQ2hvc2VuRXZlbnQpID0+IHZvaWQ7XG4gIG9uTGVmdFB1c2hlZD86ID8oZXZlbnQ6IE1lbnVFdmVudCkgPT4gdm9pZDtcbiAgb25SaWdodFB1c2hlZD86ID8oZXZlbnQ6IE1lbnVFdmVudCkgPT4gdm9pZDtcbiAgb25IaWdobGlnaHRDaGFuZ2U/OiA/KGhpZ2hsaWdodGVkOiBib29sZWFuLCBkZXRhaWxzOiB7YnlLZXlib2FyZDogP2Jvb2xlYW4sIHByZXZDdXJzb3JMb2NhdGlvbjogP1JlY3QsIGRpcmVjdGlvbjogP0RpcmVjdGlvbn0pID0+IHZvaWQ7XG5cbiAgY2xhc3NOYW1lPzogP3N0cmluZztcbiAgc3R5bGU/OiA/T2JqZWN0O1xuICBoaWdobGlnaHRlZENsYXNzTmFtZT86ID9zdHJpbmc7XG4gIGhpZ2hsaWdodGVkU3R5bGU/OiA/T2JqZWN0O1xuXG4gIGluZGV4PzogP251bWJlcjtcbiAgb25Nb3VzZUxlYXZlPzogP0Z1bmN0aW9uO1xuXG4gIGNoaWxkcmVuPzogUmVhY3ROb2RlO1xuXG4gICdhcmlhLWhhc3BvcHVwJz86ID9ib29sZWFuO1xuICAnYXJpYS1leHBhbmRlZCc/OiA/Ym9vbGVhbjtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE1lbnVJdGVtIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PFByb3BzLCBTdGF0ZT4ge1xuICBfbWVudUxpc3RIYW5kbGU6IE1lbnVMaXN0SGFuZGxlO1xuICBzdGF0ZSA9IHtcbiAgICBoaWdobGlnaHRlZDogZmFsc2VcbiAgfTtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBvbkl0ZW1DaG9zZW46IFByb3BUeXBlcy5mdW5jLFxuICAgIG9uSGlnaGxpZ2h0Q2hhbmdlOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvbkxlZnRQdXNoZWQ6IFByb3BUeXBlcy5mdW5jLFxuICAgIG9uUmlnaHRQdXNoZWQ6IFByb3BUeXBlcy5mdW5jLFxuXG4gICAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIHN0eWxlOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGhpZ2hsaWdodGVkQ2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGhpZ2hsaWdodGVkU3R5bGU6IFByb3BUeXBlcy5vYmplY3QsXG5cbiAgICBpbmRleDogUHJvcFR5cGVzLm51bWJlcixcbiAgICBvbk1vdXNlTGVhdmU6IFByb3BUeXBlcy5mdW5jLFxuXG4gICAgY2hpbGRyZW46IFByb3BUeXBlcy5ub2RlLFxuXG4gICAgJ2FyaWEtaGFzcG9wdXAnOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAnYXJpYS1leHBhbmRlZCc6IFByb3BUeXBlcy5ib29sXG4gIH07XG5cbiAgc3RhdGljIGNvbnRleHRUeXBlcyA9IHtcbiAgICBtZW51TGlzdDogUHJvcFR5cGVzLm9iamVjdFxuICB9O1xuXG4gIF9lbDogP0hUTUxFbGVtZW50O1xuICBfZWxTZXR0ZXIgPSAoZWw6ID9IVE1MRWxlbWVudCkgPT4ge1xuICAgIHRoaXMuX2VsID0gZWw7XG4gIH07XG5cbiAgaGFzSGlnaGxpZ2h0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlLmhpZ2hsaWdodGVkO1xuICB9XG5cbiAgdGFrZUtleWJvYXJkKCkge1xuICAgIHRoaXMuX21lbnVMaXN0SGFuZGxlLnRha2VLZXlib2FyZCgpO1xuICB9XG5cbiAgcmVsZWFzZUtleWJvYXJkKCkge1xuICAgIHRoaXMuX21lbnVMaXN0SGFuZGxlLnJlbGVhc2VLZXlib2FyZCgpO1xuICB9XG5cbiAgbG9ja0hpZ2hsaWdodCgpIHtcbiAgICB0aGlzLl9tZW51TGlzdEhhbmRsZS5sb2NrSGlnaGxpZ2h0KCk7XG4gIH1cblxuICB1bmxvY2tIaWdobGlnaHQoKSB7XG4gICAgdGhpcy5fbWVudUxpc3RIYW5kbGUudW5sb2NrSGlnaGxpZ2h0KCk7XG4gIH1cblxuICAvLyBieUtleWJvYXJkIGZvcmNlcyBmb2N1cyBpbW1lZGlhdGVseSBhbmQgc2Nyb2xscyB0aGUgaXRlbSBpbnRvIHZpZXcuXG4gIC8vIFdpdGggaXQgZmFsc2UsIHRoZSBoaWdobGlnaHQgbWlnaHQgYmUgZGVsYXllZCBkZXBlbmRpbmcgb24gbW91c2UgbW92ZW1lbnRcbiAgLy8gYW5kIHdvbid0IGNhdXNlIGFueXRoaW5nIHRvIHNjcm9sbC5cbiAgaGlnaGxpZ2h0KGJ5S2V5Ym9hcmQ6IGJvb2xlYW49dHJ1ZSkge1xuICAgIHRoaXMuX21lbnVMaXN0SGFuZGxlLmhpZ2hsaWdodChieUtleWJvYXJkKTtcbiAgfVxuXG4gIHVuaGlnaGxpZ2h0KCkge1xuICAgIHRoaXMuX21lbnVMaXN0SGFuZGxlLnVuaGlnaGxpZ2h0KCk7XG4gIH1cblxuICBtb3ZlQ3Vyc29yKGRpcmVjdGlvbjogRGlyZWN0aW9uLCBwcmV2Q3Vyc29yTG9jYXRpb246ID9SZWN0KSB7XG4gICAgdGhpcy5fbWVudUxpc3RIYW5kbGUubW92ZUN1cnNvcihkaXJlY3Rpb24sIHByZXZDdXJzb3JMb2NhdGlvbik7XG4gIH1cblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCBlbCA9IHRoaXMuX2VsO1xuICAgIC8qOjogaWYgKCFlbCkgdGhyb3cgbmV3IEVycm9yKCk7ICovXG5cbiAgICB0aGlzLl9tZW51TGlzdEhhbmRsZSA9ICh0aGlzLmNvbnRleHQubWVudUxpc3Q6TWVudUxpc3RDb250ZXh0KS5yZWdpc3Rlckl0ZW0odGhpcy5wcm9wcywge1xuICAgICAgbm90aWZ5SGlnaGxpZ2h0ZWQ6IChoaWdobGlnaHRlZDogYm9vbGVhbiwgYnlLZXlib2FyZDogP2Jvb2xlYW4sIGRpcmVjdGlvbjogP0RpcmVjdGlvbiwgcHJldkN1cnNvckxvY2F0aW9uOiA/UmVjdCkgPT4ge1xuICAgICAgICB0aGlzLnNldFN0YXRlKHtoaWdobGlnaHRlZH0sICgpID0+IHtcbiAgICAgICAgICBpZiAoaGlnaGxpZ2h0ZWQgJiYgYnlLZXlib2FyZCkge1xuICAgICAgICAgICAgY29uc3QgZWwgPSB0aGlzLl9lbDtcbiAgICAgICAgICAgIC8qOjogaWYgKCFlbCkgdGhyb3cgbmV3IEVycm9yKCk7ICovXG4gICAgICAgICAgICBpZiAodHlwZW9mIChlbDogYW55KS5zY3JvbGxJbnRvVmlld0lmTmVlZGVkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgIChlbDogYW55KS5zY3JvbGxJbnRvVmlld0lmTmVlZGVkKCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGVsLnNjcm9sbEludG9WaWV3KSB7XG4gICAgICAgICAgICAgIGVsLnNjcm9sbEludG9WaWV3KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKHRoaXMucHJvcHMub25IaWdobGlnaHRDaGFuZ2UpIHtcbiAgICAgICAgICB0aGlzLnByb3BzLm9uSGlnaGxpZ2h0Q2hhbmdlKGhpZ2hsaWdodGVkLCB7YnlLZXlib2FyZCwgcHJldkN1cnNvckxvY2F0aW9uLCBkaXJlY3Rpb259KTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIG5vdGlmeUV2ZW50OiAoZXZlbnQ6IE1lbnVFdmVudCkgPT4ge1xuICAgICAgICBzd2l0Y2ggKGV2ZW50LnR5cGUpIHtcbiAgICAgICAgY2FzZSAnY2hvc2VuJzpcbiAgICAgICAgICAvKjo6IGlmICghKGV2ZW50IGluc3RhbmNlb2YgQ2hvc2VuRXZlbnQpKSB0aHJvdyBuZXcgRXJyb3IoKTsgKi9cbiAgICAgICAgICBpZiAodGhpcy5wcm9wcy5vbkl0ZW1DaG9zZW4pIHRoaXMucHJvcHMub25JdGVtQ2hvc2VuKGV2ZW50KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnbGVmdCc6XG4gICAgICAgICAgaWYgKHRoaXMucHJvcHMub25MZWZ0UHVzaGVkKSB0aGlzLnByb3BzLm9uTGVmdFB1c2hlZChldmVudCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3JpZ2h0JzpcbiAgICAgICAgICBpZiAodGhpcy5wcm9wcy5vblJpZ2h0UHVzaGVkKSB0aGlzLnByb3BzLm9uUmlnaHRQdXNoZWQoZXZlbnQpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSwgZWwpO1xuICB9XG5cbiAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgdGhpcy5fbWVudUxpc3RIYW5kbGUudW5yZWdpc3RlcigpO1xuICB9XG5cbiAgY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyhuZXdQcm9wczogUHJvcHMpIHtcbiAgICB0aGlzLl9tZW51TGlzdEhhbmRsZS51cGRhdGVQcm9wcyhuZXdQcm9wcyk7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge2NoaWxkcmVuLCBvbk1vdXNlTGVhdmV9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7aGlnaGxpZ2h0ZWR9ID0gdGhpcy5zdGF0ZTtcblxuICAgIGxldCBzdHlsZSA9IHRoaXMucHJvcHMuc3R5bGU7XG4gICAgbGV0IGNsYXNzTmFtZSA9IHRoaXMucHJvcHMuY2xhc3NOYW1lO1xuICAgIGlmIChoaWdobGlnaHRlZCkge1xuICAgICAgaWYgKHRoaXMucHJvcHMuaGlnaGxpZ2h0ZWRTdHlsZSkge1xuICAgICAgICBzdHlsZSA9IHsuLi5zdHlsZSwgLi4udGhpcy5wcm9wcy5oaWdobGlnaHRlZFN0eWxlfTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnByb3BzLmhpZ2hsaWdodGVkQ2xhc3NOYW1lKSB7XG4gICAgICAgIGNsYXNzTmFtZSA9IGAke2NsYXNzTmFtZXx8Jyd9ICR7dGhpcy5wcm9wcy5oaWdobGlnaHRlZENsYXNzTmFtZX1gO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2XG4gICAgICAgIHJlZj17dGhpcy5fZWxTZXR0ZXJ9XG4gICAgICAgIHN0eWxlPXtzdHlsZX1cbiAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgIG9uQ2xpY2s9eygpPT50aGlzLl9tZW51TGlzdEhhbmRsZS5pdGVtQ2hvc2VuKCl9XG4gICAgICAgIG9uTW91c2VFbnRlcj17KCkgPT4gdGhpcy5oaWdobGlnaHQoZmFsc2UpfVxuICAgICAgICBvbk1vdXNlTGVhdmU9e29uTW91c2VMZWF2ZSB8fCAoKCkgPT4gdGhpcy51bmhpZ2hsaWdodCgpKX1cbiAgICAgICAgcm9sZT1cIm1lbnVpdGVtXCJcbiAgICAgICAgYXJpYS1oYXNwb3B1cD17dGhpcy5wcm9wc1snYXJpYS1oYXNwb3B1cCddfVxuICAgICAgICBhcmlhLWV4cGFuZGVkPXt0aGlzLnByb3BzWydhcmlhLWV4cGFuZGVkJ119XG4gICAgICA+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbn1cbiJdfQ==
(0, _defineProperty2.default)(MenuItem, "propTypes", {
onItemChosen: _propTypes.default.func,
onHighlightChange: _propTypes.default.func,
onLeftPushed: _propTypes.default.func,
onRightPushed: _propTypes.default.func,
className: _propTypes.default.string,
style: _propTypes.default.object,
highlightedClassName: _propTypes.default.string,
highlightedStyle: _propTypes.default.object,
index: _propTypes.default.number,
onMouseLeave: _propTypes.default.func,
children: _propTypes.default.node,
domRef: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.func]),
'aria-haspopup': _propTypes.default.bool,
'aria-expanded': _propTypes.default.bool
});
(0, _defineProperty2.default)(MenuItem, "contextType", _MenuList.MenuListContext);
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9NZW51SXRlbS5qcyJdLCJuYW1lcyI6WyJNZW51SXRlbSIsImhpZ2hsaWdodGVkIiwiZWwiLCJfZWwiLCJwcm9wcyIsImRvbVJlZiIsInN0YXRlIiwiX21lbnVMaXN0SGFuZGxlIiwidGFrZUtleWJvYXJkIiwicmVsZWFzZUtleWJvYXJkIiwibG9ja0hpZ2hsaWdodCIsInVubG9ja0hpZ2hsaWdodCIsImJ5S2V5Ym9hcmQiLCJoaWdobGlnaHQiLCJ1bmhpZ2hsaWdodCIsImRpcmVjdGlvbiIsInByZXZDdXJzb3JMb2NhdGlvbiIsIm1vdmVDdXJzb3IiLCJjb250ZXh0IiwicmVnaXN0ZXJJdGVtIiwibm90aWZ5SGlnaGxpZ2h0ZWQiLCJzZXRTdGF0ZSIsInNjcm9sbEludG9WaWV3SWZOZWVkZWQiLCJzY3JvbGxJbnRvVmlldyIsIm9uSGlnaGxpZ2h0Q2hhbmdlIiwidW5kZWZpbmVkIiwibm90aWZ5RXZlbnQiLCJldmVudCIsInR5cGUiLCJvbkl0ZW1DaG9zZW4iLCJvbkxlZnRQdXNoZWQiLCJvblJpZ2h0UHVzaGVkIiwidW5yZWdpc3RlciIsInVwZGF0ZVByb3BzIiwiY2hpbGRyZW4iLCJvbk1vdXNlTGVhdmUiLCJzdHlsZSIsImNsYXNzTmFtZSIsImhpZ2hsaWdodGVkU3R5bGUiLCJoaWdobGlnaHRlZENsYXNzTmFtZSIsIl9lbFNldHRlciIsIml0ZW1DaG9zZW4iLCJSZWFjdCIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsImZ1bmMiLCJzdHJpbmciLCJvYmplY3QiLCJpbmRleCIsIm51bWJlciIsIm5vZGUiLCJvbmVPZlR5cGUiLCJib29sIiwiTWVudUxpc3RDb250ZXh0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUE7O0FBRUE7O0FBR0E7O0FBQ0E7O0FBRUE7O0lBNkJxQkEsUTs7Ozs7Ozs7Ozs7Ozs7Ozs7OzhIQUVYO0FBQ05DLE1BQUFBLFdBQVcsRUFBRTtBQURQLEs7O2tJQStCSSxVQUFDQyxFQUFELEVB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LCJzb3VyY2VzQ29udGVudCI6WyIvKiBAZmxvdyAqL1xuXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHR5cGUge1JlZiBhcyBSZWFjdFJlZiwgTm9kZSBhcyBSZWFjdE5vZGV9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5cbmltcG9ydCB0eXBlIE1lbnVFdmVudCBmcm9tICcuL2V2ZW50cy9NZW51RXZlbnQnO1xuaW1wb3J0IENob3NlbkV2ZW50IGZyb20gJy4vZXZlbnRzL0Nob3NlbkV2ZW50JztcbmltcG9ydCB7TWVudUxpc3RDb250ZXh0fSBmcm9tICcuL01lbnVMaXN0JztcbmltcG9ydCB0eXBlIHtNZW51TGlzdENvbnRleHRWYWx1ZSwgTWVudUxpc3RIYW5kbGV9IGZyb20gJy4vTWVudUxpc3QnO1xuaW1wb3J0IHNldFJlZiBmcm9tICcuL2xpYi9zZXRSZWYnO1xuaW1wb3J0IHR5cGUge0RpcmVjdGlvbiwgUmVjdH0gZnJvbSAnLi90eXBlcyc7XG5cbnR5cGUgU3RhdGUgPSB7XG4gIGhpZ2hsaWdodGVkOiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgUHJvcHMgPSB7XG4gIG9uSXRlbUNob3Nlbj86IChldmVudDogQ2hvc2VuRXZlbnQpID0+IHZvaWQ7XG4gIG9uTGVmdFB1c2hlZD86IChldmVudDogTWVudUV2ZW50KSA9PiB2b2lkO1xuICBvblJpZ2h0UHVzaGVkPzogKGV2ZW50OiBNZW51RXZlbnQpID0+IHZvaWQ7XG4gIG9uSGlnaGxpZ2h0Q2hhbmdlPzogKGhpZ2hsaWdodGVkOiBib29sZWFuLCBkZXRhaWxzOiB7YnlLZXlib2FyZD86IGJvb2xlYW4sIHByZXZDdXJzb3JMb2NhdGlvbj86IFJlY3QsIGRpcmVjdGlvbj86IERpcmVjdGlvbn0pID0+IHZvaWQ7XG5cbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICBzdHlsZT86IE9iamVjdDtcbiAgaGlnaGxpZ2h0ZWRDbGFzc05hbWU/OiBzdHJpbmc7XG4gIGhpZ2hsaWdodGVkU3R5bGU/OiBPYmplY3Q7XG5cbiAgaW5kZXg/OiBudW1iZXI7XG4gIG9uTW91c2VMZWF2ZT86IChldmVudDogTW91c2VFdmVudCkgPT4gdm9pZDtcblxuICBjaGlsZHJlbj86IFJlYWN0Tm9kZTtcblxuICBkb21SZWY/OiBSZWFjdFJlZjwnZGl2Jz47XG5cbiAgJ2FyaWEtaGFzcG9wdXAnPzogYm9vbGVhbjtcbiAgJ2FyaWEtZXhwYW5kZWQnPzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE1lbnVJdGVtIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PFByb3BzLCBTdGF0ZT4ge1xuICBfbWVudUxpc3RIYW5kbGU6IE1lbnVMaXN0SGFuZGxlO1xuICBzdGF0ZSA9IHtcbiAgICBoaWdobGlnaHRlZDogZmFsc2VcbiAgfTtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBvbkl0ZW1DaG9zZW46IFByb3BUeXBlcy5mdW5jLFxuICAgIG9uSGlnaGxpZ2h0Q2hhbmdlOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvbkxlZnRQdXNoZWQ6IFByb3BUeXBlcy5mdW5jLFxuICAgIG9uUmlnaHRQdXNoZWQ6IFByb3BUeXBlcy5mdW5jLFxuXG4gICAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIHN0eWxlOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGhpZ2hsaWdodGVkQ2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGhpZ2hsaWdodGVkU3R5bGU6IFByb3BUeXBlcy5vYmplY3QsXG5cbiAgICBpbmRleDogUHJvcFR5cGVzLm51bWJlcixcbiAgICBvbk1vdXNlTGVhdmU6IFByb3BUeXBlcy5mdW5jLFxuXG4gICAgY2hpbGRyZW46IFByb3BUeXBlcy5ub2RlLFxuXG4gICAgZG9tUmVmOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtcbiAgICAgIFByb3BUeXBlcy5vYmplY3QsXG4gICAgICBQcm9wVHlwZXMuZnVuY1xuICAgIF0pLFxuXG4gICAgJ2FyaWEtaGFzcG9wdXAnOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAnYXJpYS1leHBhbmRlZCc6IFByb3BUeXBlcy5ib29sXG4gIH07XG5cbiAgc3RhdGljIGNvbnRleHRUeXBlID0gTWVudUxpc3RDb250ZXh0O1xuXG4gIF9lbDogP0hUTUxEaXZFbGVtZW50O1xuICBfZWxTZXR0ZXIgPSAoZWw6ID9IVE1MRGl2RWxlbWVudCkgPT4ge1xuICAgIHRoaXMuX2VsID0gZWw7XG5cbiAgICBpZiAodGhpcy5wcm9wcy5kb21SZWYpIHtcbiAgICAgIHNldFJlZih0aGlzLnByb3BzLmRvbVJlZiwgZWwpO1xuICAgIH1cbiAgfTtcblxuICBoYXNIaWdobGlnaHQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuaGlnaGxpZ2h0ZWQ7XG4gIH1cblxuICB0YWtlS2V5Ym9hcmQoKSB7XG4gICAgdGhpcy5fbWVudUxpc3RIYW5kbGUudGFrZUtleWJvYXJkKCk7XG4gIH1cblxuICByZWxlYXNlS2V5Ym9hcmQoKSB7XG4gICAgdGhpcy5fbWVudUxpc3RIYW5kbGUucmVsZWFzZUtleWJvYXJkKCk7XG4gIH1cblxuICBsb2NrSGlnaGxpZ2h0KCkge1xuICAgIHRoaXMuX21lbnVMaXN0SGFuZGxlLmxvY2tIaWdobGlnaHQoKTtcbiAgfVxuXG4gIHVubG9ja0hpZ2hsaWdodCgpIHtcbiAgICB0aGlzLl9tZW51TGlzdEhhbmRsZS51bmxvY2tIaWdobGlnaHQoKTtcbiAgfVxuXG4gIC8vIGJ5S2V5Ym9hcmQgZm9yY2VzIGZvY3VzIGltbWVkaWF0ZWx5IGFuZCBzY3JvbGxzIHRoZSBpdGVtIGludG8gdmlldy5cbiAgLy8gV2l0aCBpdCBmYWxzZSwgdGhlIGhpZ2hsaWdodCBtaWdodCBiZSBkZWxheWVkIGRlcGVuZGluZyBvbiBtb3VzZSBtb3ZlbWVudFxuICAvLyBhbmQgd29uJ3QgY2F1c2UgYW55dGhpbmcgdG8gc2Nyb2xsLlxuICBoaWdobGlnaHQoYnlLZXlib2FyZDogYm9vbGVhbj10cnVlKSB7XG4gICAgdGhpcy5fbWVudUxpc3RIYW5kbGUuaGlnaGxpZ2h0KGJ5S2V5Ym9hcmQpO1xuICB9XG5cbiAgdW5oaWdobGlnaHQoKSB7XG4gICAgdGhpcy5fbWVudUxpc3RIYW5kbGUudW5oaWdobGlnaHQoKTtcbiAgfVxuXG4gIG1vdmVDdXJzb3IoZGlyZWN0aW9uOiBEaXJlY3Rpb24sIHByZXZDdXJzb3JMb2NhdGlvbjogP1JlY3QpIHtcbiAgICB0aGlzLl9tZW51TGlzdEhhbmRsZS5tb3ZlQ3Vyc29yKGRpcmVjdGlvbiwgcHJldkN1cnNvckxvY2F0aW9uKTtcbiAgfVxuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IGVsID0gdGhpcy5fZWw7XG4gICAgLyo6OiBpZiAoIWVsKSB0aHJvdyBuZXcgRXJyb3IoKTsgKi9cblxuICAgIHRoaXMuX21lbnVMaXN0SGFuZGxlID0gKHRoaXMuY29udGV4dDogTWVudUxpc3RDb250ZXh0VmFsdWUpLnJlZ2lzdGVySXRlbSh0aGlzLnByb3BzLCB7XG4gICAgICBub3RpZnlIaWdobGlnaHRlZDogKGhpZ2hsaWdodGVkOiBib29sZWFuLCBieUtleWJvYXJkOiA/Ym9vbGVhbiwgZGlyZWN0aW9uOiA/RGlyZWN0aW9uLCBwcmV2Q3Vyc29yTG9jYXRpb246ID9SZWN0KSA9PiB7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe2hpZ2hsaWdodGVkfSwgKCkgPT4ge1xuICAgICAgICAgIGlmIChoaWdobGlnaHRlZCAmJiBieUtleWJvYXJkKSB7XG4gICAgICAgICAgICBjb25zdCBlbCA9IHRoaXMuX2VsO1xuICAgICAgICAgICAgLyo6OiBpZiAoIWVsKSB0aHJvdyBuZXcgRXJyb3IoKTsgKi9cbiAgICAgICAgICAgIGlmICh0eXBlb2YgKGVsOiBhbnkpLnNjcm9sbEludG9WaWV3SWZOZWVkZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgKGVsOiBhbnkpLnNjcm9sbEludG9WaWV3SWZOZWVkZWQoKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZWwuc2Nyb2xsSW50b1ZpZXcpIHtcbiAgICAgICAgICAgICAgZWwuc2Nyb2xsSW50b1ZpZXcoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAodGhpcy5wcm9wcy5vbkhpZ2hsaWdodENoYW5nZSkge1xuICAgICAgICAgIHRoaXMucHJvcHMub25IaWdobGlnaHRDaGFuZ2UoaGlnaGxpZ2h0ZWQsIHtcbiAgICAgICAgICAgIGJ5S2V5Ym9hcmQ6IGJ5S2V5Ym9hcmQgPT0gbnVsbCA/IHVuZGVmaW5lZCA6IGJ5S2V5Ym9hcmQsXG4gICAgICAgICAgICBwcmV2Q3Vyc29yTG9jYXRpb246IHByZXZDdXJzb3JMb2NhdGlvbiA9PSBudWxsID8gdW5kZWZpbmVkIDogcHJldkN1cnNvckxvY2F0aW9uLFxuICAgICAgICAgICAgZGlyZWN0aW9uOiBkaXJlY3Rpb24gPT0gbnVsbCA/IHVuZGVmaW5lZCA6IGRpcmVjdGlvblxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgbm90aWZ5RXZlbnQ6IChldmVudDogTWVudUV2ZW50KSA9PiB7XG4gICAgICAgIHN3aXRjaCAoZXZlbnQudHlwZSkge1xuICAgICAgICBjYXNlICdjaG9zZW4nOlxuICAgICAgICAgIC8qOjogaWYgKCEoZXZlbnQgaW5zdGFuY2VvZiBDaG9zZW5FdmVudCkpIHRocm93IG5ldyBFcnJvcigpOyAqL1xuICAgICAgICAgIGlmICh0aGlzLnByb3BzLm9uSXRlbUNob3NlbikgdGhpcy5wcm9wcy5vbkl0ZW1DaG9zZW4oZXZlbnQpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdsZWZ0JzpcbiAgICAgICAgICBpZiAodGhpcy5wcm9wcy5vbkxlZnRQdXNoZWQpIHRoaXMucHJvcHMub25MZWZ0UHVzaGVkKGV2ZW50KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAncmlnaHQnOlxuICAgICAgICAgIGlmICh0aGlzLnByb3BzLm9uUmlnaHRQdXNoZWQpIHRoaXMucHJvcHMub25SaWdodFB1c2hlZChldmVudCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LCBlbCk7XG4gIH1cblxuICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICB0aGlzLl9tZW51TGlzdEhhbmRsZS51bnJlZ2lzdGVyKCk7XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUoKSB7XG4gICAgdGhpcy5fbWVudUxpc3RIYW5kbGUudXBkYXRlUHJvcHModGhpcy5wcm9wcyk7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge2NoaWxkcmVuLCBvbk1vdXNlTGVhdmV9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7aGlnaGxpZ2h0ZWR9ID0gdGhpcy5zdGF0ZTtcblxuICAgIGxldCBzdHlsZSA9IHRoaXMucHJvcHMuc3R5bGU7XG4gICAgbGV0IGNsYXNzTmFtZSA9IHRoaXMucHJvcHMuY2xhc3NOYW1lO1xuICAgIGlmIChoaWdobGlnaHRlZCkge1xuICAgICAgaWYgKHRoaXMucHJvcHMuaGlnaGxpZ2h0ZWRTdHlsZSkge1xuICAgICAgICBzdHlsZSA9IHsuLi5zdHlsZSwgLi4udGhpcy5wcm9wcy5oaWdobGlnaHRlZFN0eWxlfTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnByb3BzLmhpZ2hsaWdodGVkQ2xhc3NOYW1lKSB7XG4gICAgICAgIGNsYXNzTmFtZSA9IGAke2NsYXNzTmFtZXx8Jyd9ICR7dGhpcy5wcm9wcy5oaWdobGlnaHRlZENsYXNzTmFtZX1gO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2XG4gICAgICAgIHJlZj17dGhpcy5fZWxTZXR0ZXJ9XG4gICAgICAgIHN0eWxlPXtzdHlsZX1cbiAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgIG9uQ2xpY2s9eygpPT50aGlzLl9tZW51TGlzdEhhbmRsZS5pdGVtQ2hvc2VuKCl9XG4gICAgICAgIG9uTW91c2VFbnRlcj17KCkgPT4gdGhpcy5oaWdobGlnaHQoZmFsc2UpfVxuICAgICAgICBvbk1vdXNlTGVhdmU9e29uTW91c2VMZWF2ZSB8fCAoKCkgPT4gdGhpcy51bmhpZ2hsaWdodCgpKX1cbiAgICAgICAgcm9sZT1cIm1lbnVpdGVtXCJcbiAgICAgICAgYXJpYS1oYXNwb3B1cD17dGhpcy5wcm9wc1snYXJpYS1oYXNwb3B1cCddfVxuICAgICAgICBhcmlhLWV4cGFuZGVkPXt0aGlzLnByb3BzWydhcmlhLWV4cGFuZGVkJ119XG4gICAgICA+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbn1cbiJdfQ==

@@ -1,235 +0,234 @@

'use strict';
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.MenuListContext = void 0;
var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _getPrototypeOf3 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _createClass2 = require('babel-runtime/helpers/createClass');
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _createClass3 = _interopRequireDefault(_createClass2);
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _react = _interopRequireDefault(require("react"));
var _inherits2 = require('babel-runtime/helpers/inherits');
var _propTypes = _interopRequireDefault(require("prop-types"));
var _inherits3 = _interopRequireDefault(_inherits2);
var _kefir = _interopRequireDefault(require("kefir"));
var _react = require('react');
var _kefirStopper = _interopRequireDefault(require("kefir-stopper"));
var _react2 = _interopRequireDefault(_react);
var _arrayFindIndex = _interopRequireDefault(require("array-find-index"));
var _propTypes = require('prop-types');
var _fromEventsCapture = _interopRequireDefault(require("./lib/fromEventsCapture"));
var _propTypes2 = _interopRequireDefault(_propTypes);
var _MenuEvent = _interopRequireDefault(require("./events/MenuEvent"));
var _kefir = require('kefir');
var _ChosenEvent = _interopRequireDefault(require("./events/ChosenEvent"));
var _kefir2 = _interopRequireDefault(_kefir);
var _MenuListInspector = require("./MenuListInspector");
var _kefirStopper = require('kefir-stopper');
var MenuListContext = _react.default.createContext(null);
var _kefirStopper2 = _interopRequireDefault(_kefirStopper);
exports.MenuListContext = MenuListContext;
var _arrayFindIndex = require('array-find-index');
var MenuList =
/*#__PURE__*/
function (_React$Component) {
(0, _inherits2.default)(MenuList, _React$Component);
var _arrayFindIndex2 = _interopRequireDefault(_arrayFindIndex);
function MenuList() {
var _getPrototypeOf2;
var _fromEventsCapture = require('./lib/fromEventsCapture');
var _this;
var _fromEventsCapture2 = _interopRequireDefault(_fromEventsCapture);
(0, _classCallCheck2.default)(this, MenuList);
var _MenuEvent = require('./events/MenuEvent');
for (var _len = arguments.length, args = new Array(_len), _key2 = 0; _key2 < _len; _key2++) {
args[_key2] = arguments[_key2];
}
var _MenuEvent2 = _interopRequireDefault(_MenuEvent);
_this = (0, _possibleConstructorReturn2.default)(this, (_getPrototypeOf2 = (0, _getPrototypeOf3.default)(MenuList)).call.apply(_getPrototypeOf2, [this].concat(args)));
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), "_stopper", (0, _kefirStopper.default)());
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), "_listItems", []);
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), "_naturalHighlightedIndex", void 0);
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), "_lockedHighlightedIndex", void 0);
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), "_keyboardTakenByIndex", void 0);
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), "_elRef", _react.default.createRef());
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), "_menuListContext", {
registerItem: function registerItem(props, control, el) {
var item = {
props: props,
control: control,
el: el
};
var _ChosenEvent = require('./events/ChosenEvent');
var register = function register() {
var i = -1;
var _ChosenEvent2 = _interopRequireDefault(_ChosenEvent);
if (item.props.index == null) {
i = (0, _arrayFindIndex.default)(_this._listItems, function (_item) {
return (item.el.compareDocumentPosition(_item.el) & Node.DOCUMENT_POSITION_PRECEDING) === 0;
});
} else {
i = (0, _arrayFindIndex.default)(_this._listItems, function (_item) {
return _item.props.index != null && item.props.index < _item.props.index;
});
}
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
if (i < 0) {
_this._listItems.push(item);
} else {
_this._listItems.splice(i, 0, item);
// This type of object is given to a MenuItem to talk to the MenuList.
if (_this._naturalHighlightedIndex != null && i <= _this._naturalHighlightedIndex) {
_this._naturalHighlightedIndex++;
}
if (_this._lockedHighlightedIndex != null && i <= _this._lockedHighlightedIndex) {
_this._lockedHighlightedIndex++;
}
// This type of object is given to a MenuList to talk to a MenuItem.
if (_this._keyboardTakenByIndex != null && i <= _this._keyboardTakenByIndex) {
_this._keyboardTakenByIndex++;
}
}
};
register();
var menuListHandle = {
highlight: function highlight(byKeyboard) {
var i = _this._listItems.indexOf(item);
// This is the type of the object that MenuList gives as context to its
// descendants.
var MenuList = function (_React$Component) {
(0, _inherits3.default)(MenuList, _React$Component);
if (i < 0) throw new Error('Already unregistered MenuItem');
function MenuList() {
var _ref;
_this._naturalHighlight(i, byKeyboard);
},
unhighlight: function unhighlight() {
var i = _this._listItems.indexOf(item);
var _temp, _this, _ret;
if (i < 0) throw new Error('Already unregistered MenuItem');
(0, _classCallCheck3.default)(this, MenuList);
if (_this._naturalHighlightedIndex === i) {
_this._naturalHighlight(null, false);
}
},
itemChosen: function itemChosen() {
_this._dispatchEvent(control, new _ChosenEvent.default('chosen', false));
},
takeKeyboard: function takeKeyboard() {
var i = _this._listItems.indexOf(item);
for (var _len = arguments.length, args = Array(_len), _key2 = 0; _key2 < _len; _key2++) {
args[_key2] = arguments[_key2];
}
if (i < 0) throw new Error('Already unregistered MenuItem');
_this._keyboardTakenByIndex = i;
},
releaseKeyboard: function releaseKeyboard() {
var i = _this._listItems.indexOf(item);
return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = MenuList.__proto__ || (0, _getPrototypeOf2.default)(MenuList)).call.apply(_ref, [this].concat(args))), _this), _this._stopper = (0, _kefirStopper2.default)(), _this._listItems = [], _this._elSetter = function (el) {
_this._el = el;
}, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret);
}
if (i < 0) throw new Error('Already unregistered MenuItem');
// The natural highlight is where the highlight would be if no lock is active.
if (_this._keyboardTakenByIndex === i) {
_this._keyboardTakenByIndex = null;
}
},
lockHighlight: function lockHighlight() {
var i = _this._listItems.indexOf(item);
if (i < 0) throw new Error('Already unregistered MenuItem');
(0, _createClass3.default)(MenuList, [{
key: '_getVisibleHighlightedIndex',
value: function _getVisibleHighlightedIndex() {
return this._lockedHighlightedIndex != null ? this._lockedHighlightedIndex : this._naturalHighlightedIndex;
}
}, {
key: 'getChildContext',
value: function getChildContext() {
var _this2 = this;
_this._lockHighlight(i);
},
unlockHighlight: function unlockHighlight() {
var i = _this._listItems.indexOf(item);
var menuList = {
registerItem: function registerItem(props, control, el) {
var item = { props: props, control: control, el: el };
if (i < 0) throw new Error('Already unregistered MenuItem');
var register = function register() {
var i = -1;
if (item.props.index == null) {
i = (0, _arrayFindIndex2.default)(_this2._listItems, function (_item) {
return (item.el.compareDocumentPosition(_item.el) & Node.DOCUMENT_POSITION_PRECEDING) === 0;
});
} else {
i = (0, _arrayFindIndex2.default)(_this2._listItems, function (_item) {
return _item.props.index != null && item.props.index < _item.props.index;
});
if (_this._lockedHighlightedIndex === i) {
_this._lockHighlight(null);
}
if (i < 0) {
_this2._listItems.push(item);
},
moveCursor: function moveCursor(direction, prevCursorLocation) {
_this.moveCursor(direction, prevCursorLocation);
},
updateProps: function updateProps(newProps) {
if (item.props.index !== newProps.index) {
var oldIndex = _this._listItems.indexOf(item);
var isNaturalHighlightIndex = _this._naturalHighlightedIndex === oldIndex;
var isLockedHighlightIndex = _this._lockedHighlightedIndex === oldIndex;
var isKeyboardTakenByIndex = _this._keyboardTakenByIndex === oldIndex;
menuListHandle.unregister();
props = newProps;
item.props = newProps;
register();
if (isNaturalHighlightIndex || isLockedHighlightIndex || isKeyboardTakenByIndex) {
var newIndex = _this._listItems.indexOf(item);
if (isNaturalHighlightIndex) _this._naturalHighlightedIndex = newIndex;
if (isLockedHighlightIndex) _this._lockedHighlightedIndex = newIndex;
if (isKeyboardTakenByIndex) _this._keyboardTakenByIndex = newIndex;
}
} else {
_this2._listItems.splice(i, 0, item);
if (_this2._naturalHighlightedIndex != null && i <= _this2._naturalHighlightedIndex) {
_this2._naturalHighlightedIndex++;
}
if (_this2._lockedHighlightedIndex != null && i <= _this2._lockedHighlightedIndex) {
_this2._lockedHighlightedIndex++;
}
if (_this2._keyboardTakenByIndex != null && i <= _this2._keyboardTakenByIndex) {
_this2._keyboardTakenByIndex++;
}
props = newProps;
item.props = newProps;
}
};
},
unregister: function unregister() {
var i = _this._listItems.indexOf(item);
register();
if (i < 0) throw new Error('Already unregistered MenuItem');
var menuListHandle = {
highlight: function highlight(byKeyboard) {
var i = _this2._listItems.indexOf(item);
if (i < 0) throw new Error('Already unregistered MenuItem');
_this2._naturalHighlight(i, byKeyboard);
},
unhighlight: function unhighlight() {
var i = _this2._listItems.indexOf(item);
if (i < 0) throw new Error('Already unregistered MenuItem');
if (_this2._naturalHighlightedIndex === i) {
_this2._naturalHighlight(null, false);
}
},
itemChosen: function itemChosen() {
_this2._dispatchEvent(control, new _ChosenEvent2.default('chosen', false));
},
takeKeyboard: function takeKeyboard() {
var i = _this2._listItems.indexOf(item);
if (i < 0) throw new Error('Already unregistered MenuItem');
_this2._keyboardTakenByIndex = i;
},
releaseKeyboard: function releaseKeyboard() {
var i = _this2._listItems.indexOf(item);
if (i < 0) throw new Error('Already unregistered MenuItem');
if (_this2._keyboardTakenByIndex === i) {
_this2._keyboardTakenByIndex = null;
}
},
lockHighlight: function lockHighlight() {
var i = _this2._listItems.indexOf(item);
if (i < 0) throw new Error('Already unregistered MenuItem');
_this2._lockHighlight(i);
},
unlockHighlight: function unlockHighlight() {
var i = _this2._listItems.indexOf(item);
if (i < 0) throw new Error('Already unregistered MenuItem');
if (_this2._lockedHighlightedIndex === i) {
_this2._lockHighlight(null);
}
},
moveCursor: function moveCursor(direction, prevCursorLocation) {
_this2.moveCursor(direction, prevCursorLocation);
},
updateProps: function updateProps(newProps) {
if (item.props.index !== newProps.index) {
var oldIndex = _this2._listItems.indexOf(item);
var isNaturalHighlightIndex = _this2._naturalHighlightedIndex === oldIndex;
var isLockedHighlightIndex = _this2._lockedHighlightedIndex === oldIndex;
var isKeyboardTakenByIndex = _this2._keyboardTakenByIndex === oldIndex;
if (i === _this._naturalHighlightedIndex) {
_this._naturalHighlightedIndex = null;
} else if (_this._naturalHighlightedIndex != null && i < _this._naturalHighlightedIndex) {
_this._naturalHighlightedIndex--;
}
menuListHandle.unregister();
props = newProps;
item.props = newProps;
register();
if (i === _this._lockedHighlightedIndex) {
_this._lockedHighlightedIndex = null;
} else if (_this._lockedHighlightedIndex != null && i < _this._lockedHighlightedIndex) {
_this._lockedHighlightedIndex--;
}
if (isNaturalHighlightIndex || isLockedHighlightIndex || isKeyboardTakenByIndex) {
var newIndex = _this2._listItems.indexOf(item);
if (isNaturalHighlightIndex) _this2._naturalHighlightedIndex = newIndex;
if (isLockedHighlightIndex) _this2._lockedHighlightedIndex = newIndex;
if (isKeyboardTakenByIndex) _this2._keyboardTakenByIndex = newIndex;
}
} else {
props = newProps;
item.props = newProps;
}
},
unregister: function unregister() {
var i = _this2._listItems.indexOf(item);
if (i < 0) throw new Error('Already unregistered MenuItem');
if (i === _this2._naturalHighlightedIndex) {
_this2._naturalHighlightedIndex = null;
} else if (_this2._naturalHighlightedIndex != null && i < _this2._naturalHighlightedIndex) {
_this2._naturalHighlightedIndex--;
}
if (i === _this2._lockedHighlightedIndex) {
_this2._lockedHighlightedIndex = null;
} else if (_this2._lockedHighlightedIndex != null && i < _this2._lockedHighlightedIndex) {
_this2._lockedHighlightedIndex--;
}
if (i === _this2._keyboardTakenByIndex) {
_this2._keyboardTakenByIndex = null;
} else if (_this2._keyboardTakenByIndex != null && i < _this2._keyboardTakenByIndex) {
_this2._keyboardTakenByIndex--;
}
_this2._listItems.splice(i, 1);
if (i === _this._keyboardTakenByIndex) {
_this._keyboardTakenByIndex = null;
} else if (_this._keyboardTakenByIndex != null && i < _this._keyboardTakenByIndex) {
_this._keyboardTakenByIndex--;
}
};
return menuListHandle;
}
};
return { menuList: menuList };
_this._listItems.splice(i, 1);
}
};
return menuListHandle;
}
});
return _this;
}
(0, _createClass2.default)(MenuList, [{
key: "_getVisibleHighlightedIndex",
value: function _getVisibleHighlightedIndex() {
return this._lockedHighlightedIndex != null ? this._lockedHighlightedIndex : this._naturalHighlightedIndex;
}
}, {
key: '_parentCtx',
key: "_parentCtx",
value: function _parentCtx() {
return this.context.menuListInspector;
return this.context;
}
}, {
key: 'componentDidMount',
key: "componentDidMount",
value: function componentDidMount() {
var _this3 = this;
var _this2 = this;

@@ -239,17 +238,19 @@ var isEnterOrArrowKey = function isEnterOrArrowKey(e) {

};
var el = this._el;
var el = this._elRef.current;
/*:: if (!el) throw new Error(); */
// The only things that should receive keydown/keypress events before us
// are our children. This allows a MenuItem to contain a text input
// which selectively stops propagation on key events for example.
_kefir2.default.merge([_kefir2.default.fromEvents(window, 'keydown').filter(isEnterOrArrowKey).filter(function (e) {
_kefir.default.merge([_kefir.default.fromEvents(window, 'keydown').filter(isEnterOrArrowKey).filter(function (e) {
return el.contains(e.target);
}), (0, _fromEventsCapture2.default)(window, 'keydown').filter(isEnterOrArrowKey).filter(function (e) {
}), (0, _fromEventsCapture.default)(window, 'keydown').filter(isEnterOrArrowKey).filter(function (e) {
return !el.contains(e.target);
})]).takeUntilBy(this._stopper).onValue(function (event) {
return _this3._key(event);
return _this2._key(event);
});
var parentCtx = this._parentCtx();
if (parentCtx) {

@@ -260,3 +261,3 @@ parentCtx.registerMenuList(this);

}, {
key: 'componentWillUnmount',
key: "componentWillUnmount",
value: function componentWillUnmount() {

@@ -266,2 +267,3 @@ this._stopper.destroy();

var parentCtx = this._parentCtx();
if (parentCtx) {

@@ -272,3 +274,3 @@ parentCtx.unregisterMenuList(this);

}, {
key: '_naturalHighlight',
key: "_naturalHighlight",
value: function _naturalHighlight(index, byKeyboard, direction, prevCursorLocation) {

@@ -280,3 +282,5 @@ var visibleHighlightedIndex = this._getVisibleHighlightedIndex();

}
this._naturalHighlightedIndex = index;
if (this._lockedHighlightedIndex == null) {

@@ -286,2 +290,3 @@ if (index != null) {

}
if (visibleHighlightedIndex != null && visibleHighlightedIndex != index) {

@@ -293,8 +298,12 @@ this._listItems[visibleHighlightedIndex].control.notifyHighlighted(false);

}, {
key: '_lockHighlight',
key: "_lockHighlight",
value: function _lockHighlight(index) {
if (index === this._lockedHighlightedIndex) return;
var visibleHighlightedIndex = this._getVisibleHighlightedIndex();
this._lockedHighlightedIndex = index;
var newVisibleHighlightedIndex = this._getVisibleHighlightedIndex();
if (visibleHighlightedIndex != null && newVisibleHighlightedIndex == null) {

@@ -308,2 +317,3 @@ // When unlocking, prefer to keep the current selection over de-selecting

}
if (newVisibleHighlightedIndex != null) {

@@ -317,3 +327,3 @@ this._listItems[newVisibleHighlightedIndex].control.notifyHighlighted(true, false);

}, {
key: '_dispatchEvent',
key: "_dispatchEvent",
value: function _dispatchEvent(control, event) {

@@ -324,2 +334,3 @@ if (control) {

}
switch (event.type) {

@@ -334,5 +345,7 @@ case 'chosen':

// break;
case 'left':
if (this.props.onLeftPushed) this.props.onLeftPushed(event);
break;
case 'right':

@@ -342,4 +355,7 @@ if (this.props.onRightPushed) this.props.onRightPushed(event);

}
if (event.cancelBubble) return;
var parentCtx = this._parentCtx();
if (parentCtx) {

@@ -350,3 +366,3 @@ parentCtx.dispatchEvent(event);

}, {
key: '_key',
key: "_key",
value: function _key(event) {

@@ -357,8 +373,7 @@ if (this._keyboardTakenByIndex != null || this._listItems.length === 0) {

var visibleHighlightedIndex = this._getVisibleHighlightedIndex();
// enter, left, right activate for the current visibly selected item.
var visibleHighlightedIndex = this._getVisibleHighlightedIndex(); // enter, left, right activate for the current visibly selected item.
// up and down de-activate any locks in place, so that they act from the last
// naturally-selected item.
var mEvent = null;

@@ -370,19 +385,25 @@

if (visibleHighlightedIndex != null) {
mEvent = new _ChosenEvent2.default('chosen', true);
mEvent = new _ChosenEvent.default('chosen', true);
event.preventDefault();
event.stopPropagation();
}
break;
case 37:
//left
if (visibleHighlightedIndex != null) {
mEvent = new _MenuEvent2.default('left');
mEvent = new _MenuEvent.default('left');
}
break;
case 39:
//right
if (visibleHighlightedIndex != null) {
mEvent = new _MenuEvent2.default('right');
mEvent = new _MenuEvent.default('right');
}
break;
case 38:

@@ -394,2 +415,3 @@ //up

break;
case 40:

@@ -405,3 +427,5 @@ //down

var _control = visibleHighlightedIndex == null ? null : this._listItems[visibleHighlightedIndex].control;
this._dispatchEvent(_control, mEvent);
if (mEvent.defaultPrevented) event.preventDefault();

@@ -412,3 +436,3 @@ if (mEvent.defaultPrevented || mEvent.cancelBubble) event.stopPropagation();

}, {
key: 'moveCursor',
key: "moveCursor",
value: function moveCursor(direction, prevCursorLocation) {

@@ -424,3 +448,5 @@ if (this._listItems.length == 0) return;

}
break;
case 'down':

@@ -432,2 +458,3 @@ if (this._naturalHighlightedIndex == null || this._naturalHighlightedIndex == this._listItems.length - 1) {

}
break;

@@ -437,3 +464,3 @@ }

}, {
key: 'hasHighlight',
key: "hasHighlight",
value: function hasHighlight() {

@@ -443,28 +470,23 @@ return this._getVisibleHighlightedIndex() != null;

}, {
key: 'render',
key: "render",
value: function render() {
return _react2.default.createElement(
'div',
{ role: 'menu', ref: this._elSetter },
this.props.children
);
return _react.default.createElement("div", {
role: "menu",
ref: this._elRef
}, _react.default.createElement(MenuListContext.Provider, {
value: this._menuListContext
}, this.props.children));
}
}]);
return MenuList;
}(_react2.default.Component);
}(_react.default.Component);
MenuList.propTypes = {
onItemChosen: _propTypes2.default.func,
onLeftPushed: _propTypes2.default.func,
onRightPushed: _propTypes2.default.func,
children: _propTypes2.default.node
};
MenuList.childContextTypes = {
menuList: _propTypes2.default.object
};
MenuList.contextTypes = {
menuListInspector: _propTypes2.default.object
};
exports.default = MenuList;
module.exports = exports['default'];
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9NZW51TGlzdC5qcyJdLCJuYW1lcyI6WyJNZW51TGlzdCIsIl9zdG9wcGVyIiwiX2xpc3RJdGVtcyIsIl9lbFNldHRlciIsImVsIiwiX2VsIiwiX2xvY2tlZEhpZ2hsaWdodGVkSW5kZXgiLCJfbmF0dXJhbEhpZ2hsaWdodGVkSW5kZXgiLCJtZW51TGlzdCIsInJlZ2lzdGVySXRlbSIsInByb3BzIiwiY29udHJvbCIsIml0ZW0iLCJyZWdpc3RlciIsImkiLCJpbmRleCIsImNvbXBhcmVEb2N1bWVudFBvc2l0aW9uIiwiX2l0ZW0iLCJOb2RlIiwiRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HIiwicHVzaCIsInNwbGljZSIsIl9rZXlib2FyZFRha2VuQnlJbmRleCIsIm1lbnVMaXN0SGFuZGxlIiwiaGlnaGxpZ2h0IiwiYnlLZXlib2FyZCIsImluZGV4T2YiLCJFcnJvciIsIl9uYXR1cmFsSGlnaGxpZ2h0IiwidW5oaWdobGlnaHQiLCJpdGVtQ2hvc2VuIiwiX2Rpc3BhdGNoRXZlbnQiLCJDaG9zZW5FdmVudCIsInRha2VLZXlib2FyZCIsInJlbGVhc2VLZXlib2FyZCIsImxvY2tIaWdobGlnaHQiLCJfbG9ja0hpZ2hsaWdodCIsInVubG9ja0hpZ2hsaWdodCIsIm1vdmVDdXJzb3IiLCJkaXJlY3Rpb24iLCJwcmV2Q3Vyc29yTG9jYXRpb24iLCJ1cGRhdGVQcm9wcyIsIm5ld1Byb3BzIiwib2xkSW5kZXgiLCJpc05hdHVyYWxIaWdobGlnaHRJbmRleCIsImlzTG9ja2VkSGlnaGxpZ2h0SW5kZXgiLCJpc0tleWJvYXJkVGFrZW5CeUluZGV4IiwidW5yZWdpc3RlciIsIm5ld0luZGV4IiwiY29udGV4dCIsIm1lbnVMaXN0SW5zcGVjdG9yIiwiaXNFbnRlck9yQXJyb3dLZXkiLCJlIiwid2hpY2giLCJLZWZpciIsIm1lcmdlIiwiZnJvbUV2ZW50cyIsIndpbmRvdyIsImZpbHRlciIsImNvbnRhaW5zIiwidGFyZ2V0IiwidGFrZVVudGlsQnkiLCJvblZhbHVlIiwiX2tleSIsImV2ZW50IiwicGFyZW50Q3R4IiwiX3BhcmVudEN0eCIsInJlZ2lzdGVyTWVudUxpc3QiLCJkZXN0cm95IiwidW5yZWdpc3Rlck1lbnVMaXN0IiwidmlzaWJsZUhpZ2hsaWdodGVkSW5kZXgiLCJfZ2V0VmlzaWJsZUhpZ2hsaWdodGVkSW5kZXgiLCJub3RpZnlIaWdobGlnaHRlZCIsIm5ld1Zpc2libGVIaWdobGlnaHRlZEluZGV4Iiwibm90aWZ5RXZlbnQiLCJjYW5jZWxCdWJibGUiLCJ0eXBlIiwib25JdGVtQ2hvc2VuIiwib25MZWZ0UHVzaGVkIiwib25SaWdodFB1c2hlZCIsImRpc3BhdGNoRXZlbnQiLCJsZW5ndGgiLCJtRXZlbnQiLCJwcmV2ZW50RGVmYXVsdCIsInN0b3BQcm9wYWdhdGlvbiIsIk1lbnVFdmVudCIsImRlZmF1bHRQcmV2ZW50ZWQiLCJjaGlsZHJlbiIsIlJlYWN0IiwiQ29tcG9uZW50IiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwiZnVuYyIsIm5vZGUiLCJjaGlsZENvbnRleHRUeXBlcyIsIm9iamVjdCIsImNvbnRleHRUeXBlcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQTs7OztBQUVBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFFQTs7OztBQUNBOzs7Ozs7QUFLQTs7O0FBY0E7OztBQVdBO0FBQ0E7SUFnQnFCQSxROzs7Ozs7Ozs7Ozs7OztnTkFRbkJDLFEsR0FBVyw2QixRQUNYQyxVLEdBR0ssRSxRQVFMQyxTLEdBQVksVUFBQ0MsRUFBRCxFQUFzQjtBQUNoQyxZQUFLQyxHQUFMLEdBQVdELEVBQVg7QUFDRCxLOzs7QUFSRDs7Ozs7a0RBVXVDO0FBQ3JDLGFBQU8sS0FBS0UsdUJBQUwsSUFBZ0MsSUFBaEMsR0FDTCxLQUFLQSx1QkFEQSxHQUMwQixLQUFLQyx3QkFEdEM7QUFFRDs7O3NDQVV5QjtBQUFBOztBQUN4QixVQUFNQyxXQUE0QjtBQUNoQ0Msc0JBQWMsc0JBQUNDLEtBQUQs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QXlFQyxrQkFBekU7QUFDRDtBQUNEO0FBQ0YsYUFBSyxNQUFMO0FBQ0UsY0FBSSxLQUFLakMsd0JBQUwsSUFBaUMsSUFBakMsSUFBeUMsS0FBS0Esd0JBQUwsSUFBaUMsS0FBS0wsVUFBTCxDQUFnQitFLE1BQWhCLEdBQXVCLENBQXJHLEVBQXdHO0FBQ3RHLGlCQUFLckQsaUJBQUwsQ0FBdUIsQ0FBdkIsRUFBMEIsSUFBMUIsRUFBZ0NXLFNBQWhDLEVBQTJDQyxrQkFBM0M7QUFDRCxXQUZELE1BRU87QUFDTCxpQkFBS1osaUJBQUwsQ0FBdUIsS0FBS3JCLHdCQUFMLEdBQThCLENBQXJELEVBQXdELElBQXhELEVBQThEZ0MsU0FBOUQsRUFBeUVDLGtCQUF6RTtBQUNEO0FBQ0Q7QUFkRjtBQWdCRDs7O21DQUV1QjtBQUN0QixhQUFPLEtBQUsrQiwyQkFBTCxNQUFzQyxJQUE3QztBQUNEOzs7NkJBRVE7QUFDUCxhQUNFO0FBQUE7QUFBQSxVQUFLLE1BQUssTUFBVixFQUFpQixLQUFLLEtBQUtwRSxTQUEzQjtBQUNHLGFBQUtPLEtBQUwsQ0FBVzZFO0FBRGQsT0FERjtBQUtEOzs7RUFqV21DQyxnQkFBTUMsUzs7QUFBdkJ6RixRLENBQ1owRixTLEdBQVk7QUFDakJiLGdCQUFjYyxvQkFBVUMsSUFEUDtBQUVqQmQsZ0JBQWNhLG9CQUFVQyxJQUZQO0FBR2pCYixpQkFBZVksb0JBQVVDLElBSFI7QUFJakJMLFlBQVVJLG9CQUFVRTtBQUpILEM7QUFEQTdGLFEsQ0E2Qlo4RixpQixHQUFvQjtBQUN6QnRGLFlBQVVtRixvQkFBVUk7QUFESyxDO0FBN0JSL0YsUSxDQWlDWmdHLFksR0FBZTtBQUNwQjlDLHFCQUFtQnlDLG9CQUFVSTtBQURULEM7a0JBakNIL0YsUSIsImZpbGUiOiJNZW51TGlzdC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIEBmbG93ICovXG5cbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdHlwZSB7Tm9kZSBhcyBSZWFjdE5vZGV9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgS2VmaXIgZnJvbSAna2VmaXInO1xuaW1wb3J0IGtlZmlyU3RvcHBlciBmcm9tICdrZWZpci1zdG9wcGVyJztcbmltcG9ydCBmaW5kSW5kZXggZnJvbSAnYXJyYXktZmluZC1pbmRleCc7XG5pbXBvcnQgZnJvbUV2ZW50c0NhcHR1cmUgZnJvbSAnLi9saWIvZnJvbUV2ZW50c0NhcHR1cmUnO1xuXG5pbXBvcnQgTWVudUV2ZW50IGZyb20gJy4vZXZlbnRzL01lbnVFdmVudCc7XG5pbXBvcnQgQ2hvc2VuRXZlbnQgZnJvbSAnLi9ldmVudHMvQ2hvc2VuRXZlbnQnO1xuaW1wb3J0IHR5cGUge1Byb3BzIGFzIE1lbnVJdGVtUHJvcHN9IGZyb20gJy4vTWVudUl0ZW0nO1xuaW1wb3J0IHR5cGUge01lbnVMaXN0SW5zcGVjdG9yQ29udGV4dH0gZnJvbSAnLi9NZW51TGlzdEluc3BlY3Rvcic7XG5pbXBvcnQgdHlwZSB7RGlyZWN0aW9uLCBSZWN0fSBmcm9tICcuL3R5cGVzJztcblxuLy8gVGhpcyB0eXBlIG9mIG9iamVjdCBpcyBnaXZlbiB0byBhIE1lbnVJdGVtIHRvIHRhbGsgdG8gdGhlIE1lbnVMaXN0LlxuZXhwb3J0IHR5cGUgTWVudUxpc3RIYW5kbGUgPSB7XG4gIGhpZ2hsaWdodChieUtleWJvYXJkOiBib29sZWFuKTogdm9pZDtcbiAgdW5oaWdobGlnaHQoKTogdm9pZDtcbiAgbW92ZUN1cnNvcihkaXJlY3Rpb246IERpcmVjdGlvbiwgcHJldkN1cnNvckxvY2F0aW9uOiA/UmVjdCk6IHZvaWQ7XG4gIGl0ZW1DaG9zZW4oKTogdm9pZDtcbiAgdGFrZUtleWJvYXJkKCk6IHZvaWQ7XG4gIHJlbGVhc2VLZXlib2FyZCgpOiB2b2lkO1xuICBsb2NrSGlnaGxpZ2h0KCk6IHZvaWQ7XG4gIHVubG9ja0hpZ2hsaWdodCgpOiB2b2lkO1xuICB1cGRhdGVQcm9wcyhwcm9wczogTWVudUl0ZW1Qcm9wcyk6IHZvaWQ7XG4gIHVucmVnaXN0ZXIoKTogdm9pZDtcbn07XG5cbi8vIFRoaXMgdHlwZSBvZiBvYmplY3QgaXMgZ2l2ZW4gdG8gYSBNZW51TGlzdCB0byB0YWxrIHRvIGEgTWVudUl0ZW0uXG5leHBvcnQgdHlwZSBNZW51SXRlbUNvbnRyb2wgPSB7XG4gIG5vdGlmeUhpZ2hsaWdodGVkKFxuICAgIGhpZ2hsaWdodGVkOiBib29sZWFuLFxuICAgIGJ5S2V5Ym9hcmQ6ID9ib29sZWFuLFxuICAgIGRpcmVjdGlvbjogP0RpcmVjdGlvbixcbiAgICBwcmV2Q3Vyc29yTG9jYXRpb246ID9SZWN0XG4gICk6IHZvaWQ7XG4gIG5vdGlmeUV2ZW50KGV2ZW50OiBNZW51RXZlbnQpOiB2b2lkO1xufTtcblxuLy8gVGhpcyBpcyB0aGUgdHlwZSBvZiB0aGUgb2JqZWN0IHRoYXQgTWVudUxpc3QgZ2l2ZXMgYXMgY29udGV4dCB0byBpdHNcbi8vIGRlc2NlbmRhbnRzLlxuZXhwb3J0IHR5cGUgTWVudUxpc3RDb250ZXh0ID0ge1xuICByZWdpc3Rlckl0ZW0oXG4gICAgcHJvcHM6IE1lbnVJdGVtUHJvcHMsXG4gICAgY29udHJvbDogTWVudUl0ZW1Db250cm9sLFxuICAgIGVsOiBIVE1MRWxlbWVudFxuICApOiBNZW51TGlzdEhhbmRsZTtcbn07XG5cbmV4cG9ydCB0eXBlIFByb3BzID0ge1xuICBvbkl0ZW1DaG9zZW4/OiA/KGV2ZW50OiBDaG9zZW5FdmVudCkgPT4gdm9pZDtcbiAgb25MZWZ0UHVzaGVkPzogPyhldmVudDogTWVudUV2ZW50KSA9PiB2b2lkO1xuICBvblJpZ2h0UHVzaGVkPzogPyhldmVudDogTWVudUV2ZW50KSA9PiB2b2lkO1xuICBjaGlsZHJlbj86IFJlYWN0Tm9kZTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE1lbnVMaXN0IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PFByb3BzPiB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgb25JdGVtQ2hvc2VuOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvbkxlZnRQdXNoZWQ6IFByb3BUeXBlcy5mdW5jLFxuICAgIG9uUmlnaHRQdXNoZWQ6IFByb3BUeXBlcy5mdW5jLFxuICAgIGNoaWxkcmVuOiBQcm9wVHlwZXMubm9kZVxuICB9O1xuXG4gIF9zdG9wcGVyID0ga2VmaXJTdG9wcGVyKCk7XG4gIF9saXN0SXRlbXM6IEFycmF5PHtcbiAgICBwcm9wczogTWVudUl0ZW1Qcm9wcztcbiAgICBjb250cm9sOiBNZW51SXRlbUNvbnRyb2w7XG4gIH0+ID0gW107XG5cbiAgLy8gVGhlIG5hdHVyYWwgaGlnaGxpZ2h0IGlzIHdoZXJlIHRoZSBoaWdobGlnaHQgd291bGQgYmUgaWYgbm8gbG9jayBpcyBhY3RpdmUuXG4gIF9uYXR1cmFsSGlnaGxpZ2h0ZWRJbmRleDogP251bWJlcjtcbiAgX2xvY2tlZEhpZ2hsaWdodGVkSW5kZXg6ID9udW1iZXI7XG4gIF9rZXlib2FyZFRha2VuQnlJbmRleDogP251bWJlcjtcblxuICBfZWw6ID9IVE1MRWxlbWVudDtcbiAgX2VsU2V0dGVyID0gKGVsOiA/SFRNTEVsZW1lbnQpID0+IHtcbiAgICB0aGlzLl9lbCA9IGVsO1xuICB9O1xuXG4gIF9nZXRWaXNpYmxlSGlnaGxpZ2h0ZWRJbmRleCgpOiA/bnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fbG9ja2VkSGlnaGxpZ2h0ZWRJbmRleCAhPSBudWxsID9cbiAgICAgIHRoaXMuX2xvY2tlZEhpZ2hsaWdodGVkSW5kZXggOiB0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0ZWRJbmRleDtcbiAgfVxuXG4gIHN0YXRpYyBjaGlsZENvbnRleHRUeXBlcyA9IHtcbiAgICBtZW51TGlzdDogUHJvcFR5cGVzLm9iamVjdFxuICB9O1xuXG4gIHN0YXRpYyBjb250ZXh0VHlwZXMgPSB7XG4gICAgbWVudUxpc3RJbnNwZWN0b3I6IFByb3BUeXBlcy5vYmplY3RcbiAgfTtcblxuICBnZXRDaGlsZENvbnRleHQoKTogT2JqZWN0IHtcbiAgICBjb25zdCBtZW51TGlzdDogTWVudUxpc3RDb250ZXh0ID0ge1xuICAgICAgcmVnaXN0ZXJJdGVtOiAocHJvcHMsIGNvbnRyb2wsIGVsKSA9PiB7XG4gICAgICAgIGNvbnN0IGl0ZW0gPSB7cHJvcHMsIGNvbnRyb2wsIGVsfTtcblxuICAgICAgICBjb25zdCByZWdpc3RlciA9ICgpID0+IHtcbiAgICAgICAgICBsZXQgaSA9IC0xO1xuICAgICAgICAgIGlmIChpdGVtLnByb3BzLmluZGV4ID09IG51bGwpIHtcbiAgICAgICAgICAgIGkgPSBmaW5kSW5kZXgoXG4gICAgICAgICAgICAgIHRoaXMuX2xpc3RJdGVtcyxcbiAgICAgICAgICAgICAgX2l0ZW0gPT5cbiAgICAgICAgICAgICAgICAoaXRlbS5lbC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihfaXRlbS5lbCkmTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcpID09PSAwXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpID0gZmluZEluZGV4KFxuICAgICAgICAgICAgICB0aGlzLl9saXN0SXRlbXMsXG4gICAgICAgICAgICAgIF9pdGVtID0+IF9pdGVtLnByb3BzLmluZGV4ICE9IG51bGwgJiYgaXRlbS5wcm9wcy5pbmRleCA8IF9pdGVtLnByb3BzLmluZGV4XG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoaSA8IDApIHtcbiAgICAgICAgICAgIHRoaXMuX2xpc3RJdGVtcy5wdXNoKGl0ZW0pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9saXN0SXRlbXMuc3BsaWNlKGksIDAsIGl0ZW0pO1xuICAgICAgICAgICAgaWYgKHRoaXMuX25hdHVyYWxIaWdobGlnaHRlZEluZGV4ICE9IG51bGwgJiYgaSA8PSB0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0ZWRJbmRleCkge1xuICAgICAgICAgICAgICB0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0ZWRJbmRleCsrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMuX2xvY2tlZEhpZ2hsaWdodGVkSW5kZXggIT0gbnVsbCAmJiBpIDw9IHRoaXMuX2xvY2tlZEhpZ2hsaWdodGVkSW5kZXgpIHtcbiAgICAgICAgICAgICAgdGhpcy5fbG9ja2VkSGlnaGxpZ2h0ZWRJbmRleCsrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMuX2tleWJvYXJkVGFrZW5CeUluZGV4ICE9IG51bGwgJiYgaSA8PSB0aGlzLl9rZXlib2FyZFRha2VuQnlJbmRleCkge1xuICAgICAgICAgICAgICB0aGlzLl9rZXlib2FyZFRha2VuQnlJbmRleCsrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfTtcblxuICAgICAgICByZWdpc3RlcigpO1xuXG4gICAgICAgIGNvbnN0IG1lbnVMaXN0SGFuZGxlOiBNZW51TGlzdEhhbmRsZSA9IHtcbiAgICAgICAgICBoaWdobGlnaHQ6IChieUtleWJvYXJkOiBib29sZWFuKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpID0gdGhpcy5fbGlzdEl0ZW1zLmluZGV4T2YoaXRlbSk7XG4gICAgICAgICAgICBpZiAoaSA8IDApIHRocm93IG5ldyBFcnJvcignQWxyZWFkeSB1bnJlZ2lzdGVyZWQgTWVudUl0ZW0nKTtcbiAgICAgICAgICAgIHRoaXMuX25hdHVyYWxIaWdobGlnaHQoaSwgYnlLZXlib2FyZCk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICB1bmhpZ2hsaWdodDogKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgaSA9IHRoaXMuX2xpc3RJdGVtcy5pbmRleE9mKGl0ZW0pO1xuICAgICAgICAgICAgaWYgKGkgPCAwKSB0aHJvdyBuZXcgRXJyb3IoJ0FscmVhZHkgdW5yZWdpc3RlcmVkIE1lbnVJdGVtJyk7XG4gICAgICAgICAgICBpZiAodGhpcy5fbmF0dXJhbEhpZ2hsaWdodGVkSW5kZXggPT09IGkpIHtcbiAgICAgICAgICAgICAgdGhpcy5fbmF0dXJhbEhpZ2hsaWdodChudWxsLCBmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICBpdGVtQ2hvc2VuOiAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9kaXNwYXRjaEV2ZW50KGNvbnRyb2wsIG5ldyBDaG9zZW5FdmVudCgnY2hvc2VuJywgZmFsc2UpKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIHRha2VLZXlib2FyZDogKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgaSA9IHRoaXMuX2xpc3RJdGVtcy5pbmRleE9mKGl0ZW0pO1xuICAgICAgICAgICAgaWYgKGkgPCAwKSB0aHJvdyBuZXcgRXJyb3IoJ0FscmVhZHkgdW5yZWdpc3RlcmVkIE1lbnVJdGVtJyk7XG4gICAgICAgICAgICB0aGlzLl9rZXlib2FyZFRha2VuQnlJbmRleCA9IGk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICByZWxlYXNlS2V5Ym9hcmQ6ICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGkgPSB0aGlzLl9saXN0SXRlbXMuaW5kZXhPZihpdGVtKTtcbiAgICAgICAgICAgIGlmIChpIDwgMCkgdGhyb3cgbmV3IEVycm9yKCdBbHJlYWR5IHVucmVnaXN0ZXJlZCBNZW51SXRlbScpO1xuICAgICAgICAgICAgaWYgKHRoaXMuX2tleWJvYXJkVGFrZW5CeUluZGV4ID09PSBpKSB7XG4gICAgICAgICAgICAgIHRoaXMuX2tleWJvYXJkVGFrZW5CeUluZGV4ID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIGxvY2tIaWdobGlnaHQ6ICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGkgPSB0aGlzLl9saXN0SXRlbXMuaW5kZXhPZihpdGVtKTtcbiAgICAgICAgICAgIGlmIChpIDwgMCkgdGhyb3cgbmV3IEVycm9yKCdBbHJlYWR5IHVucmVnaXN0ZXJlZCBNZW51SXRlbScpO1xuICAgICAgICAgICAgdGhpcy5fbG9ja0hpZ2hsaWdodChpKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIHVubG9ja0hpZ2hsaWdodDogKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgaSA9IHRoaXMuX2xpc3RJdGVtcy5pbmRleE9mKGl0ZW0pO1xuICAgICAgICAgICAgaWYgKGkgPCAwKSB0aHJvdyBuZXcgRXJyb3IoJ0FscmVhZHkgdW5yZWdpc3RlcmVkIE1lbnVJdGVtJyk7XG4gICAgICAgICAgICBpZiAodGhpcy5fbG9ja2VkSGlnaGxpZ2h0ZWRJbmRleCA9PT0gaSkge1xuICAgICAgICAgICAgICB0aGlzLl9sb2NrSGlnaGxpZ2h0KG51bGwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgbW92ZUN1cnNvcjogKGRpcmVjdGlvbjogRGlyZWN0aW9uLCBwcmV2Q3Vyc29yTG9jYXRpb246ID9SZWN0KSA9PiB7XG4gICAgICAgICAgICB0aGlzLm1vdmVDdXJzb3IoZGlyZWN0aW9uLCBwcmV2Q3Vyc29yTG9jYXRpb24pO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgdXBkYXRlUHJvcHM6IChuZXdQcm9wczogTWVudUl0ZW1Qcm9wcykgPT4ge1xuICAgICAgICAgICAgaWYgKGl0ZW0ucHJvcHMuaW5kZXggIT09IG5ld1Byb3BzLmluZGV4KSB7XG4gICAgICAgICAgICAgIGNvbnN0IG9sZEluZGV4ID0gdGhpcy5fbGlzdEl0ZW1zLmluZGV4T2YoaXRlbSk7XG4gICAgICAgICAgICAgIGNvbnN0IGlzTmF0dXJhbEhpZ2hsaWdodEluZGV4ID0gdGhpcy5fbmF0dXJhbEhpZ2hsaWdodGVkSW5kZXggPT09IG9sZEluZGV4O1xuICAgICAgICAgICAgICBjb25zdCBpc0xvY2tlZEhpZ2hsaWdodEluZGV4ID0gdGhpcy5fbG9ja2VkSGlnaGxpZ2h0ZWRJbmRleCA9PT0gb2xkSW5kZXg7XG4gICAgICAgICAgICAgIGNvbnN0IGlzS2V5Ym9hcmRUYWtlbkJ5SW5kZXggPSB0aGlzLl9rZXlib2FyZFRha2VuQnlJbmRleCA9PT0gb2xkSW5kZXg7XG5cbiAgICAgICAgICAgICAgbWVudUxpc3RIYW5kbGUudW5yZWdpc3RlcigpO1xuICAgICAgICAgICAgICBwcm9wcyA9IG5ld1Byb3BzO1xuICAgICAgICAgICAgICBpdGVtLnByb3BzID0gbmV3UHJvcHM7XG4gICAgICAgICAgICAgIHJlZ2lzdGVyKCk7XG5cbiAgICAgICAgICAgICAgaWYgKGlzTmF0dXJhbEhpZ2hsaWdodEluZGV4IHx8IGlzTG9ja2VkSGlnaGxpZ2h0SW5kZXggfHwgaXNLZXlib2FyZFRha2VuQnlJbmRleCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5ld0luZGV4ID0gdGhpcy5fbGlzdEl0ZW1zLmluZGV4T2YoaXRlbSk7XG4gICAgICAgICAgICAgICAgaWYgKGlzTmF0dXJhbEhpZ2hsaWdodEluZGV4KSB0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0ZWRJbmRleCA9IG5ld0luZGV4O1xuICAgICAgICAgICAgICAgIGlmIChpc0xvY2tlZEhpZ2hsaWdodEluZGV4KSB0aGlzLl9sb2NrZWRIaWdobGlnaHRlZEluZGV4ID0gbmV3SW5kZXg7XG4gICAgICAgICAgICAgICAgaWYgKGlzS2V5Ym9hcmRUYWtlbkJ5SW5kZXgpIHRoaXMuX2tleWJvYXJkVGFrZW5CeUluZGV4ID0gbmV3SW5kZXg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHByb3BzID0gbmV3UHJvcHM7XG4gICAgICAgICAgICAgIGl0ZW0ucHJvcHMgPSBuZXdQcm9wcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIHVucmVnaXN0ZXI6ICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGkgPSB0aGlzLl9saXN0SXRlbXMuaW5kZXhPZihpdGVtKTtcbiAgICAgICAgICAgIGlmIChpIDwgMCkgdGhyb3cgbmV3IEVycm9yKCdBbHJlYWR5IHVucmVnaXN0ZXJlZCBNZW51SXRlbScpO1xuICAgICAgICAgICAgaWYgKGkgPT09IHRoaXMuX25hdHVyYWxIaWdobGlnaHRlZEluZGV4KSB7XG4gICAgICAgICAgICAgIHRoaXMuX25hdHVyYWxIaWdobGlnaHRlZEluZGV4ID0gbnVsbDtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5fbmF0dXJhbEhpZ2hsaWdodGVkSW5kZXggIT0gbnVsbCAmJiBpIDwgdGhpcy5fbmF0dXJhbEhpZ2hsaWdodGVkSW5kZXgpIHtcbiAgICAgICAgICAgICAgdGhpcy5fbmF0dXJhbEhpZ2hsaWdodGVkSW5kZXgtLTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpID09PSB0aGlzLl9sb2NrZWRIaWdobGlnaHRlZEluZGV4KSB7XG4gICAgICAgICAgICAgIHRoaXMuX2xvY2tlZEhpZ2hsaWdodGVkSW5kZXggPSBudWxsO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLl9sb2NrZWRIaWdobGlnaHRlZEluZGV4ICE9IG51bGwgJiYgaSA8IHRoaXMuX2xvY2tlZEhpZ2hsaWdodGVkSW5kZXgpIHtcbiAgICAgICAgICAgICAgdGhpcy5fbG9ja2VkSGlnaGxpZ2h0ZWRJbmRleC0tO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGkgPT09IHRoaXMuX2tleWJvYXJkVGFrZW5CeUluZGV4KSB7XG4gICAgICAgICAgICAgIHRoaXMuX2tleWJvYXJkVGFrZW5CeUluZGV4ID0gbnVsbDtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5fa2V5Ym9hcmRUYWtlbkJ5SW5kZXggIT0gbnVsbCAmJiBpIDwgdGhpcy5fa2V5Ym9hcmRUYWtlbkJ5SW5kZXgpIHtcbiAgICAgICAgICAgICAgdGhpcy5fa2V5Ym9hcmRUYWtlbkJ5SW5kZXgtLTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuX2xpc3RJdGVtcy5zcGxpY2UoaSwgMSk7XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gbWVudUxpc3RIYW5kbGU7XG4gICAgICB9XG4gICAgfTtcbiAgICByZXR1cm4ge21lbnVMaXN0fTtcbiAgfVxuXG4gIF9wYXJlbnRDdHgoKTogP01lbnVMaXN0SW5zcGVjdG9yQ29udGV4dCB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dC5tZW51TGlzdEluc3BlY3RvcjtcbiAgfVxuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IGlzRW50ZXJPckFycm93S2V5ID0gZSA9PlxuICAgICAgKGUud2hpY2ggPT09IDEzKSB8fCAoMzcgPD0gZS53aGljaCAmJiBlLndoaWNoIDw9IDQwKTtcbiAgICBjb25zdCBlbCA9IHRoaXMuX2VsO1xuICAgIC8qOjogaWYgKCFlbCkgdGhyb3cgbmV3IEVycm9yKCk7ICovXG5cbiAgICAvLyBUaGUgb25seSB0aGluZ3MgdGhhdCBzaG91bGQgcmVjZWl2ZSBrZXlkb3duL2tleXByZXNzIGV2ZW50cyBiZWZvcmUgdXNcbiAgICAvLyBhcmUgb3VyIGNoaWxkcmVuLiBUaGlzIGFsbG93cyBhIE1lbnVJdGVtIHRvIGNvbnRhaW4gYSB0ZXh0IGlucHV0XG4gICAgLy8gd2hpY2ggc2VsZWN0aXZlbHkgc3RvcHMgcHJvcGFnYXRpb24gb24ga2V5IGV2ZW50cyBmb3IgZXhhbXBsZS5cbiAgICBLZWZpci5tZXJnZShbXG4gICAgICBLZWZpci5mcm9tRXZlbnRzKHdpbmRvdywgJ2tleWRvd24nKS5maWx0ZXIoaXNFbnRlck9yQXJyb3dLZXkpXG4gICAgICAgIC5maWx0ZXIoZSA9PiBlbC5jb250YWlucyhlLnRhcmdldCkpLFxuICAgICAgZnJvbUV2ZW50c0NhcHR1cmUod2luZG93LCAna2V5ZG93bicpLmZpbHRlcihpc0VudGVyT3JBcnJvd0tleSlcbiAgICAgICAgLmZpbHRlcihlID0+ICFlbC5jb250YWlucyhlLnRhcmdldCkpXG4gICAgXSlcbiAgICAgIC50YWtlVW50aWxCeSh0aGlzLl9zdG9wcGVyKVxuICAgICAgLm9uVmFsdWUoZXZlbnQgPT4gdGhpcy5fa2V5KGV2ZW50KSk7XG5cbiAgICBjb25zdCBwYXJlbnRDdHggPSB0aGlzLl9wYXJlbnRDdHgoKTtcbiAgICBpZiAocGFyZW50Q3R4KSB7XG4gICAgICBwYXJlbnRDdHgucmVnaXN0ZXJNZW51TGlzdCh0aGlzKTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICB0aGlzLl9zdG9wcGVyLmRlc3Ryb3koKTtcblxuICAgIGNvbnN0IHBhcmVudEN0eCA9IHRoaXMuX3BhcmVudEN0eCgpO1xuICAgIGlmIChwYXJlbnRDdHgpIHtcbiAgICAgIHBhcmVudEN0eC51bnJlZ2lzdGVyTWVudUxpc3QodGhpcyk7XG4gICAgfVxuICB9XG5cbiAgX25hdHVyYWxIaWdobGlnaHQoaW5kZXg6ID9udW1iZXIsIGJ5S2V5Ym9hcmQ6IGJvb2xlYW4sIGRpcmVjdGlvbjogP0RpcmVjdGlvbiwgcHJldkN1cnNvckxvY2F0aW9uOiA/UmVjdCkge1xuICAgIGNvbnN0IHZpc2libGVIaWdobGlnaHRlZEluZGV4ID0gdGhpcy5fZ2V0VmlzaWJsZUhpZ2hsaWdodGVkSW5kZXgoKTtcblxuICAgIGlmICh0aGlzLl9sb2NrZWRIaWdobGlnaHRlZEluZGV4ICE9IG51bGwgJiYgYnlLZXlib2FyZCkge1xuICAgICAgdGhpcy5fbG9ja2VkSGlnaGxpZ2h0ZWRJbmRleCA9IG51bGw7XG4gICAgfVxuICAgIHRoaXMuX25hdHVyYWxIaWdobGlnaHRlZEluZGV4ID0gaW5kZXg7XG4gICAgaWYgKHRoaXMuX2xvY2tlZEhpZ2hsaWdodGVkSW5kZXggPT0gbnVsbCkge1xuICAgICAgaWYgKGluZGV4ICE9IG51bGwpIHtcbiAgICAgICAgdGhpcy5fbGlzdEl0ZW1zW2luZGV4XS5jb250cm9sLm5vdGlmeUhpZ2hsaWdodGVkKHRydWUsIGJ5S2V5Ym9hcmQsIGRpcmVjdGlvbiwgcHJldkN1cnNvckxvY2F0aW9uKTtcbiAgICAgIH1cbiAgICAgIGlmICh2aXNpYmxlSGlnaGxpZ2h0ZWRJbmRleCAhPSBudWxsICYmIHZpc2libGVIaWdobGlnaHRlZEluZGV4ICE9IGluZGV4KSB7XG4gICAgICAgIHRoaXMuX2xpc3RJdGVtc1t2aXNpYmxlSGlnaGxpZ2h0ZWRJbmRleF0uY29udHJvbC5ub3RpZnlIaWdobGlnaHRlZChmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgX2xvY2tIaWdobGlnaHQoaW5kZXg6ID9udW1iZXIpIHtcbiAgICBpZiAoaW5kZXggPT09IHRoaXMuX2xvY2tlZEhpZ2hsaWdodGVkSW5kZXgpIHJldHVybjtcbiAgICBjb25zdCB2aXNpYmxlSGlnaGxpZ2h0ZWRJbmRleCA9IHRoaXMuX2dldFZpc2libGVIaWdobGlnaHRlZEluZGV4KCk7XG4gICAgdGhpcy5fbG9ja2VkSGlnaGxpZ2h0ZWRJbmRleCA9IGluZGV4O1xuICAgIGNvbnN0IG5ld1Zpc2libGVIaWdobGlnaHRlZEluZGV4ID0gdGhpcy5fZ2V0VmlzaWJsZUhpZ2hsaWdodGVkSW5kZXgoKTtcbiAgICBpZiAodmlzaWJsZUhpZ2hsaWdodGVkSW5kZXggIT0gbnVsbCAmJiBuZXdWaXNpYmxlSGlnaGxpZ2h0ZWRJbmRleCA9PSBudWxsKSB7XG4gICAgICAvLyBXaGVuIHVubG9ja2luZywgcHJlZmVyIHRvIGtlZXAgdGhlIGN1cnJlbnQgc2VsZWN0aW9uIG92ZXIgZGUtc2VsZWN0aW5nXG4gICAgICAvLyBldmVyeXRoaW5nLlxuICAgICAgdGhpcy5fbmF0dXJhbEhpZ2hsaWdodGVkSW5kZXggPSB2aXNpYmxlSGlnaGxpZ2h0ZWRJbmRleDtcbiAgICB9IGVsc2UgaWYgKHZpc2libGVIaWdobGlnaHRlZEluZGV4ICE9IG5ld1Zpc2libGVIaWdobGlnaHRlZEluZGV4KSB7XG4gICAgICBpZiAodmlzaWJsZUhpZ2hsaWdodGVkSW5kZXggIT0gbnVsbCkge1xuICAgICAgICB0aGlzLl9saXN0SXRlbXNbdmlzaWJsZUhpZ2hsaWdodGVkSW5kZXhdLmNvbnRyb2wubm90aWZ5SGlnaGxpZ2h0ZWQoZmFsc2UpO1xuICAgICAgfVxuICAgICAgaWYgKG5ld1Zpc2libGVIaWdobGlnaHRlZEluZGV4ICE9IG51bGwpIHtcbiAgICAgICAgdGhpcy5fbGlzdEl0ZW1zW25ld1Zpc2libGVIaWdobGlnaHRlZEluZGV4XS5jb250cm9sLm5vdGlmeUhpZ2hsaWdodGVkKHRydWUsIGZhbHNlKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5fbmF0dXJhbEhpZ2hsaWdodGVkSW5kZXggIT0gbnVsbCkge1xuICAgICAgICB0aGlzLl9saXN0SXRlbXNbdGhpcy5fbmF0dXJhbEhpZ2hsaWdodGVkSW5kZXhdLmNvbnRyb2wubm90aWZ5SGlnaGxpZ2h0ZWQodHJ1ZSwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIF9kaXNwYXRjaEV2ZW50KGNvbnRyb2w6ID9NZW51SXRlbUNvbnRyb2wsIGV2ZW50OiBNZW51RXZlbnQpIHtcbiAgICBpZiAoY29udHJvbCkge1xuICAgICAgY29udHJvbC5ub3RpZnlFdmVudChldmVudCk7XG4gICAgICBpZiAoZXZlbnQuY2FuY2VsQnViYmxlKSByZXR1cm47XG4gICAgfVxuICAgIHN3aXRjaCAoZXZlbnQudHlwZSkge1xuICAgIGNhc2UgJ2Nob3Nlbic6XG4gICAgICAvKjo6IGlmICghKGV2ZW50IGluc3RhbmNlb2YgQ2hvc2VuRXZlbnQpKSB0aHJvdyBuZXcgRXJyb3IoKTsgKi9cbiAgICAgIGlmICh0aGlzLnByb3BzLm9uSXRlbUNob3NlbikgdGhpcy5wcm9wcy5vbkl0ZW1DaG9zZW4oZXZlbnQpO1xuICAgICAgYnJlYWs7XG4gICAgLy8gY2FzZSAndXAnOlxuICAgIC8vICAgYnJlYWs7XG4gICAgLy8gY2FzZSAnZG93bic6XG4gICAgLy8gICBicmVhaztcbiAgICBjYXNlICdsZWZ0JzpcbiAgICAgIGlmICh0aGlzLnByb3BzLm9uTGVmdFB1c2hlZCkgdGhpcy5wcm9wcy5vbkxlZnRQdXNoZWQoZXZlbnQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAncmlnaHQnOlxuICAgICAgaWYgKHRoaXMucHJvcHMub25SaWdodFB1c2hlZCkgdGhpcy5wcm9wcy5vblJpZ2h0UHVzaGVkKGV2ZW50KTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBpZiAoZXZlbnQuY2FuY2VsQnViYmxlKSByZXR1cm47XG4gICAgY29uc3QgcGFyZW50Q3R4ID0gdGhpcy5fcGFyZW50Q3R4KCk7XG4gICAgaWYgKHBhcmVudEN0eCkge1xuICAgICAgcGFyZW50Q3R4LmRpc3BhdGNoRXZlbnQoZXZlbnQpO1xuICAgIH1cbiAgfVxuXG4gIF9rZXkoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAodGhpcy5fa2V5Ym9hcmRUYWtlbkJ5SW5kZXggIT0gbnVsbCB8fCB0aGlzLl9saXN0SXRlbXMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgdmlzaWJsZUhpZ2hsaWdodGVkSW5kZXggPSB0aGlzLl9nZXRWaXNpYmxlSGlnaGxpZ2h0ZWRJbmRleCgpO1xuXG4gICAgLy8gZW50ZXIsIGxlZnQsIHJpZ2h0IGFjdGl2YXRlIGZvciB0aGUgY3VycmVudCB2aXNpYmx5IHNlbGVjdGVkIGl0ZW0uXG4gICAgLy8gdXAgYW5kIGRvd24gZGUtYWN0aXZhdGUgYW55IGxvY2tzIGluIHBsYWNlLCBzbyB0aGF0IHRoZXkgYWN0IGZyb20gdGhlIGxhc3RcbiAgICAvLyBuYXR1cmFsbHktc2VsZWN0ZWQgaXRlbS5cblxuICAgIGxldCBtRXZlbnQgPSBudWxsO1xuXG4gICAgc3dpdGNoIChldmVudC53aGljaCkge1xuICAgIGNhc2UgMTM6IC8vZW50ZXJcbiAgICAgIGlmICh2aXNpYmxlSGlnaGxpZ2h0ZWRJbmRleCAhPSBudWxsKSB7XG4gICAgICAgIG1FdmVudCA9IG5ldyBDaG9zZW5FdmVudCgnY2hvc2VuJywgdHJ1ZSk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgfVxuICAgICAgYnJlYWs7XG4gICAgY2FzZSAzNzogLy9sZWZ0XG4gICAgICBpZiAodmlzaWJsZUhpZ2hsaWdodGVkSW5kZXggIT0gbnVsbCkge1xuICAgICAgICBtRXZlbnQgPSBuZXcgTWVudUV2ZW50KCdsZWZ0Jyk7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBjYXNlIDM5OiAvL3JpZ2h0XG4gICAgICBpZiAodmlzaWJsZUhpZ2hsaWdodGVkSW5kZXggIT0gbnVsbCkge1xuICAgICAgICBtRXZlbnQgPSBuZXcgTWVudUV2ZW50KCdyaWdodCcpO1xuICAgICAgfVxuICAgICAgYnJlYWs7XG4gICAgY2FzZSAzODogLy91cFxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgdGhpcy5tb3ZlQ3Vyc29yKCd1cCcpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSA0MDogLy9kb3duXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICB0aGlzLm1vdmVDdXJzb3IoJ2Rvd24nKTtcbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGlmIChtRXZlbnQpIHtcbiAgICAgIGNvbnN0IGNvbnRyb2wgPSB2aXNpYmxlSGlnaGxpZ2h0ZWRJbmRleCA9PSBudWxsID8gbnVsbCA6XG4gICAgICAgIHRoaXMuX2xpc3RJdGVtc1t2aXNpYmxlSGlnaGxpZ2h0ZWRJbmRleF0uY29udHJvbDtcbiAgICAgIHRoaXMuX2Rpc3BhdGNoRXZlbnQoY29udHJvbCwgbUV2ZW50KTtcbiAgICAgIGlmIChtRXZlbnQuZGVmYXVsdFByZXZlbnRlZCkgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGlmIChtRXZlbnQuZGVmYXVsdFByZXZlbnRlZCB8fCBtRXZlbnQuY2FuY2VsQnViYmxlKSBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG4gIH1cblxuICBtb3ZlQ3Vyc29yKGRpcmVjdGlvbjogRGlyZWN0aW9uLCBwcmV2Q3Vyc29yTG9jYXRpb246ID9SZWN0KSB7XG4gICAgaWYgKHRoaXMuX2xpc3RJdGVtcy5sZW5ndGggPT0gMCkgcmV0dXJuO1xuXG4gICAgc3dpdGNoIChkaXJlY3Rpb24pIHtcbiAgICBjYXNlICd1cCc6XG4gICAgICBpZiAodGhpcy5fbmF0dXJhbEhpZ2hsaWdodGVkSW5kZXggPT0gbnVsbCB8fCB0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0ZWRJbmRleCA9PSAwKSB7XG4gICAgICAgIHRoaXMuX25hdHVyYWxIaWdobGlnaHQodGhpcy5fbGlzdEl0ZW1zLmxlbmd0aC0xLCB0cnVlLCBkaXJlY3Rpb24sIHByZXZDdXJzb3JMb2NhdGlvbik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0KHRoaXMuX25hdHVyYWxIaWdobGlnaHRlZEluZGV4LTEsIHRydWUsIGRpcmVjdGlvbiwgcHJldkN1cnNvckxvY2F0aW9uKTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ2Rvd24nOlxuICAgICAgaWYgKHRoaXMuX25hdHVyYWxIaWdobGlnaHRlZEluZGV4ID09IG51bGwgfHwgdGhpcy5fbmF0dXJhbEhpZ2hsaWdodGVkSW5kZXggPT0gdGhpcy5fbGlzdEl0ZW1zLmxlbmd0aC0xKSB7XG4gICAgICAgIHRoaXMuX25hdHVyYWxIaWdobGlnaHQoMCwgdHJ1ZSwgZGlyZWN0aW9uLCBwcmV2Q3Vyc29yTG9jYXRpb24pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fbmF0dXJhbEhpZ2hsaWdodCh0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0ZWRJbmRleCsxLCB0cnVlLCBkaXJlY3Rpb24sIHByZXZDdXJzb3JMb2NhdGlvbik7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBoYXNIaWdobGlnaHQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2dldFZpc2libGVIaWdobGlnaHRlZEluZGV4KCkgIT0gbnVsbDtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiByb2xlPVwibWVudVwiIHJlZj17dGhpcy5fZWxTZXR0ZXJ9PlxuICAgICAgICB7dGhpcy5wcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbn1cbiJdfQ==
(0, _defineProperty2.default)(MenuList, "propTypes", {
onItemChosen: _propTypes.default.func,
onLeftPushed: _propTypes.default.func,
onRightPushed: _propTypes.default.func,
children: _propTypes.default.node
});
(0, _defineProperty2.default)(MenuList, "contextType", _MenuListInspector.MenuListInspectorContext);
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9NZW51TGlzdC5qcyJdLCJuYW1lcyI6WyJNZW51TGlzdENvbnRleHQiLCJSZWFjdCIsImNyZWF0ZUNvbnRleHQiLCJNZW51TGlzdCIsImNyZWF0ZVJlZiIsInJlZ2lzdGVySXRlbSIsInByb3BzIiwiY29udHJvbCIsImVsIiwiaXRlbSIsInJlZ2lzdGVyIiwiaSIsImluZGV4IiwiX2xpc3RJdGVtcyIsIl9pdGVtIiwiY29tcGFyZURvY3VtZW50UG9zaXRpb24iLCJOb2RlIiwiRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HIiwicHVzaCIsInNwbGljZSIsIl9uYXR1cmFsSGlnaGxpZ2h0ZWRJbmRleCIsIl9sb2NrZWRIaWdobGlnaHRlZEluZGV4IiwiX2tleWJvYXJkVGFrZW5CeUluZGV4IiwibWVudUxpc3RIYW5kbGUiLCJoaWdobGlnaHQiLCJieUtleWJvYXJkIiwiaW5kZXhPZiIsIkVycm9yIiwiX25hdHVyYWxIaWdobGlnaHQiLCJ1bmhpZ2hsaWdodCIsIml0ZW1DaG9zZW4iLCJfZGlzcGF0Y2hFdmVudCIsIkNob3NlbkV2ZW50IiwidGFrZUtleWJvYXJkIiwicmVsZWFzZUtleWJvYXJkIiwibG9ja0hpZ2hsaWdodCIsIl9sb2NrSGlnaGxpZ2h0IiwidW5sb2NrSGlnaGxpZ2h0IiwibW92ZUN1cnNvciIsImRpcmVjdGlvbiIsInByZXZDdXJzb3JMb2NhdGlvbiIsInVwZGF0ZVByb3BzIiwibmV3UHJvcHMiLCJvbGRJbmRleCIsImlzTmF0dXJhbEhpZ2hsaWdodEluZGV4IiwiaXNMb2NrZWRIaWdobGlnaHRJbmRleCIsImlzS2V5Ym9hcmRUYWtlbkJ5SW5kZXgiLCJ1bnJlZ2lzdGVyIiwibmV3SW5kZXgiLCJjb250ZXh0IiwiaXNFbnRlck9yQXJyb3dLZXkiLCJlIiwid2hpY2giLCJfZWxSZWYiLCJjdXJyZW50IiwiS2VmaXIiLCJtZXJnZSIsImZyb21FdmVudHMiLCJ3aW5kb3ciLCJmaWx0ZXIiLCJjb250YWlucyIsInRhcmdldCIsInRha2VVbnRpbEJ5IiwiX3N0b3BwZXIiLCJvblZhbHVlIiwiZXZlbnQiLCJfa2V5IiwicGFyZW50Q3R4IiwiX3BhcmVudEN0eCIsInJlZ2lzdGVyTWVudUxpc3QiLCJkZXN0cm95IiwidW5yZWdpc3Rlck1lbnVMaXN0IiwidmlzaWJsZUhpZ2hsaWdodGVkSW5kZXgiLCJfZ2V0VmlzaWJsZUhpZ2hsaWdodGVkSW5kZXgiLCJub3RpZnlIaWdobGlnaHRlZCIsIm5ld1Zpc2libGVIaWdobGlnaHRlZEluZGV4Iiwibm90aWZ5RXZlbnQiLCJjYW5jZWxCdWJibGUiLCJ0eXBlIiwib25JdGVtQ2hvc2VuIiwib25MZWZ0UHVzaGVkIiwib25SaWdodFB1c2hlZCIsImRpc3BhdGNoRXZlbnQiLCJsZW5ndGgiLCJtRXZlbnQiLCJwcmV2ZW50RGVmYXVsdCIsInN0b3BQcm9wYWdhdGlvbiIsIk1lbnVFdmVudCIsImRlZmF1bHRQcmV2ZW50ZWQiLCJfbWVudUxpc3RDb250ZXh0IiwiY2hpbGRyZW4iLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJmdW5jIiwibm9kZSIsIk1lbnVMaXN0SW5zcGVjdG9yQ29udGV4dCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFFQTs7QUF1Q08sSUFBTUEsZUFBZSxHQUFHQyxlQUFNQyxhQUFOLENBQTJDLElBQTNDLENBQXhCOzs7O0lBU2NDLFE7Ozs7Ozs7Ozs7Ozs7Ozs7O2lJQVFSLDRCO21JQUlOLEU7Ozs7K0hBT0lGLGVBQU1HLFNBQU4sRTt5SUFTZ0M7QUFDdkNDLE1BQUFBLFlBQVksRUFBRSxzQkFBQ0MsS0FBRCxFQUFRQyxPQUFSLEVBQWlCQyxFQUFqQixFQUF3QjtBQUNwQyxZQUFNQyxJQUFJLEdBQUc7QUFBQ0gsVUFBQUEsS0FBSyxFQUFMQSxLQUFEO0FBQVFDLFVBQUFBLE9BQU8sRUFBUEEsT0FBUjtBQUFpQkMsVUFBQUEsRUFBRSxFQUFGQTtBQUFqQixTQUFiOztB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QyxLQUFLUCxVQUFMLENBQWdCc0UsTUFBaEIsR0FBdUIsQ0FBckcsRUFBd0c7QUFDdEcsaUJBQUt2RCxpQkFBTCxDQUF1QixDQUF2QixFQUEwQixJQUExQixFQUFnQ1csU0FBaEMsRUFBMkNDLGtCQUEzQztBQUNELFdBRkQsTUFFTztBQUNMLGlCQUFLWixpQkFBTCxDQUF1QixLQUFLUix3QkFBTCxHQUE4QixDQUFyRCxFQUF3RCxJQUF4RCxFQUE4RG1CLFNBQTlELEVBQXlFQyxrQkFBekU7QUFDRDs7QUFDRDtBQWRGO0FBZ0JEOzs7bUNBRXVCO0FBQ3RCLGFBQU8sS0FBS2lDLDJCQUFMLE1BQXNDLElBQTdDO0FBQ0Q7Ozs2QkFFUTtBQUNQLGFBQ0U7QUFBSyxRQUFBLElBQUksRUFBQyxNQUFWO0FBQWlCLFFBQUEsR0FBRyxFQUFFLEtBQUtwQjtBQUEzQixTQUNFLDZCQUFDLGVBQUQsQ0FBaUIsUUFBakI7QUFBMEIsUUFBQSxLQUFLLEVBQUUsS0FBS29DO0FBQXRDLFNBQ0csS0FBS25GLEtBQUwsQ0FBV29GLFFBRGQsQ0FERixDQURGO0FBT0Q7OztFQXZWbUN6RixlQUFNMEYsUzs7OzhCQUF2QnhGLFEsZUFDQTtBQUNqQjRFLEVBQUFBLFlBQVksRUFBRWEsbUJBQVVDLElBRFA7QUFFakJiLEVBQUFBLFlBQVksRUFBRVksbUJBQVVDLElBRlA7QUFHakJaLEVBQUFBLGFBQWEsRUFBRVcsbUJBQVVDLElBSFI7QUFJakJILEVBQUFBLFFBQVEsRUFBRUUsbUJBQVVFO0FBSkgsQzs4QkFEQTNGLFEsaUJBMEJFNEYsMkMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBAZmxvdyAqL1xuXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHR5cGUge05vZGUgYXMgUmVhY3ROb2RlfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IEtlZmlyIGZyb20gJ2tlZmlyJztcbmltcG9ydCBrZWZpclN0b3BwZXIgZnJvbSAna2VmaXItc3RvcHBlcic7XG5pbXBvcnQgZmluZEluZGV4IGZyb20gJ2FycmF5LWZpbmQtaW5kZXgnO1xuaW1wb3J0IGZyb21FdmVudHNDYXB0dXJlIGZyb20gJy4vbGliL2Zyb21FdmVudHNDYXB0dXJlJztcblxuaW1wb3J0IE1lbnVFdmVudCBmcm9tICcuL2V2ZW50cy9NZW51RXZlbnQnO1xuaW1wb3J0IENob3NlbkV2ZW50IGZyb20gJy4vZXZlbnRzL0Nob3NlbkV2ZW50JztcbmltcG9ydCB0eXBlIHtQcm9wcyBhcyBNZW51SXRlbVByb3BzfSBmcm9tICcuL01lbnVJdGVtJztcbmltcG9ydCB7TWVudUxpc3RJbnNwZWN0b3JDb250ZXh0fSBmcm9tICcuL01lbnVMaXN0SW5zcGVjdG9yJztcbmltcG9ydCB0eXBlIHtNZW51TGlzdEluc3BlY3RvckNvbnRleHRWYWx1ZX0gZnJvbSAnLi9NZW51TGlzdEluc3BlY3Rvcic7XG5pbXBvcnQgdHlwZSB7RGlyZWN0aW9uLCBSZWN0fSBmcm9tICcuL3R5cGVzJztcblxuLy8gVGhpcyB0eXBlIG9mIG9iamVjdCBpcyBnaXZlbiB0byBhIE1lbnVJdGVtIHRvIHRhbGsgdG8gdGhlIE1lbnVMaXN0LlxuZXhwb3J0IHR5cGUgTWVudUxpc3RIYW5kbGUgPSB7XG4gIGhpZ2hsaWdodChieUtleWJvYXJkOiBib29sZWFuKTogdm9pZDtcbiAgdW5oaWdobGlnaHQoKTogdm9pZDtcbiAgbW92ZUN1cnNvcihkaXJlY3Rpb246IERpcmVjdGlvbiwgcHJldkN1cnNvckxvY2F0aW9uOiA/UmVjdCk6IHZvaWQ7XG4gIGl0ZW1DaG9zZW4oKTogdm9pZDtcbiAgdGFrZUtleWJvYXJkKCk6IHZvaWQ7XG4gIHJlbGVhc2VLZXlib2FyZCgpOiB2b2lkO1xuICBsb2NrSGlnaGxpZ2h0KCk6IHZvaWQ7XG4gIHVubG9ja0hpZ2hsaWdodCgpOiB2b2lkO1xuICB1cGRhdGVQcm9wcyhwcm9wczogTWVudUl0ZW1Qcm9wcyk6IHZvaWQ7XG4gIHVucmVnaXN0ZXIoKTogdm9pZDtcbn07XG5cbi8vIFRoaXMgdHlwZSBvZiBvYmplY3QgaXMgZ2l2ZW4gdG8gYSBNZW51TGlzdCB0byB0YWxrIHRvIGEgTWVudUl0ZW0uXG5leHBvcnQgdHlwZSBNZW51SXRlbUNvbnRyb2wgPSB7XG4gIG5vdGlmeUhpZ2hsaWdodGVkKFxuICAgIGhpZ2hsaWdodGVkOiBib29sZWFuLFxuICAgIGJ5S2V5Ym9hcmQ6ID9ib29sZWFuLFxuICAgIGRpcmVjdGlvbjogP0RpcmVjdGlvbixcbiAgICBwcmV2Q3Vyc29yTG9jYXRpb246ID9SZWN0XG4gICk6IHZvaWQ7XG4gIG5vdGlmeUV2ZW50KGV2ZW50OiBNZW51RXZlbnQpOiB2b2lkO1xufTtcblxuLy8gVGhpcyBpcyB0aGUgdHlwZSBvZiB0aGUgb2JqZWN0IHRoYXQgTWVudUxpc3QgZ2l2ZXMgYXMgY29udGV4dCB0byBpdHNcbi8vIGRlc2NlbmRhbnRzLlxuZXhwb3J0IHR5cGUgTWVudUxpc3RDb250ZXh0VmFsdWUgPSB7XG4gIHJlZ2lzdGVySXRlbShcbiAgICBwcm9wczogTWVudUl0ZW1Qcm9wcyxcbiAgICBjb250cm9sOiBNZW51SXRlbUNvbnRyb2wsXG4gICAgZWw6IEhUTUxFbGVtZW50XG4gICk6IE1lbnVMaXN0SGFuZGxlO1xufTtcblxuZXhwb3J0IGNvbnN0IE1lbnVMaXN0Q29udGV4dCA9IFJlYWN0LmNyZWF0ZUNvbnRleHQ8P01lbnVMaXN0Q29udGV4dFZhbHVlPihudWxsKTtcblxuZXhwb3J0IHR5cGUgUHJvcHMgPSB7XG4gIG9uSXRlbUNob3Nlbj86IChldmVudDogQ2hvc2VuRXZlbnQpID0+IHZvaWQ7XG4gIG9uTGVmdFB1c2hlZD86IChldmVudDogTWVudUV2ZW50KSA9PiB2b2lkO1xuICBvblJpZ2h0UHVzaGVkPzogKGV2ZW50OiBNZW51RXZlbnQpID0+IHZvaWQ7XG4gIGNoaWxkcmVuPzogUmVhY3ROb2RlO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTWVudUxpc3QgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQ8UHJvcHM+IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBvbkl0ZW1DaG9zZW46IFByb3BUeXBlcy5mdW5jLFxuICAgIG9uTGVmdFB1c2hlZDogUHJvcFR5cGVzLmZ1bmMsXG4gICAgb25SaWdodFB1c2hlZDogUHJvcFR5cGVzLmZ1bmMsXG4gICAgY2hpbGRyZW46IFByb3BUeXBlcy5ub2RlXG4gIH07XG5cbiAgX3N0b3BwZXIgPSBrZWZpclN0b3BwZXIoKTtcbiAgX2xpc3RJdGVtczogQXJyYXk8e1xuICAgIHByb3BzOiBNZW51SXRlbVByb3BzO1xuICAgIGNvbnRyb2w6IE1lbnVJdGVtQ29udHJvbDtcbiAgfT4gPSBbXTtcblxuICAvLyBUaGUgbmF0dXJhbCBoaWdobGlnaHQgaXMgd2hlcmUgdGhlIGhpZ2hsaWdodCB3b3VsZCBiZSBpZiBubyBsb2NrIGlzIGFjdGl2ZS5cbiAgX25hdHVyYWxIaWdobGlnaHRlZEluZGV4OiA/bnVtYmVyO1xuICBfbG9ja2VkSGlnaGxpZ2h0ZWRJbmRleDogP251bWJlcjtcbiAgX2tleWJvYXJkVGFrZW5CeUluZGV4OiA/bnVtYmVyO1xuXG4gIF9lbFJlZiA9IFJlYWN0LmNyZWF0ZVJlZjwnZGl2Jz4oKTtcblxuICBfZ2V0VmlzaWJsZUhpZ2hsaWdodGVkSW5kZXgoKTogP251bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2xvY2tlZEhpZ2hsaWdodGVkSW5kZXggIT0gbnVsbCA/XG4gICAgICB0aGlzLl9sb2NrZWRIaWdobGlnaHRlZEluZGV4IDogdGhpcy5fbmF0dXJhbEhpZ2hsaWdodGVkSW5kZXg7XG4gIH1cblxuICBzdGF0aWMgY29udGV4dFR5cGUgPSBNZW51TGlzdEluc3BlY3RvckNvbnRleHQ7XG5cbiAgX21lbnVMaXN0Q29udGV4dDogTWVudUxpc3RDb250ZXh0VmFsdWUgPSB7XG4gICAgcmVnaXN0ZXJJdGVtOiAocHJvcHMsIGNvbnRyb2wsIGVsKSA9PiB7XG4gICAgICBjb25zdCBpdGVtID0ge3Byb3BzLCBjb250cm9sLCBlbH07XG5cbiAgICAgIGNvbnN0IHJlZ2lzdGVyID0gKCkgPT4ge1xuICAgICAgICBsZXQgaSA9IC0xO1xuICAgICAgICBpZiAoaXRlbS5wcm9wcy5pbmRleCA9PSBudWxsKSB7XG4gICAgICAgICAgaSA9IGZpbmRJbmRleChcbiAgICAgICAgICAgIHRoaXMuX2xpc3RJdGVtcyxcbiAgICAgICAgICAgIF9pdGVtID0+XG4gICAgICAgICAgICAgIChpdGVtLmVsLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKF9pdGVtLmVsKSZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORykgPT09IDBcbiAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGkgPSBmaW5kSW5kZXgoXG4gICAgICAgICAgICB0aGlzLl9saXN0SXRlbXMsXG4gICAgICAgICAgICBfaXRlbSA9PiBfaXRlbS5wcm9wcy5pbmRleCAhPSBudWxsICYmIGl0ZW0ucHJvcHMuaW5kZXggPCBfaXRlbS5wcm9wcy5pbmRleFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGkgPCAwKSB7XG4gICAgICAgICAgdGhpcy5fbGlzdEl0ZW1zLnB1c2goaXRlbSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5fbGlzdEl0ZW1zLnNwbGljZShpLCAwLCBpdGVtKTtcbiAgICAgICAgICBpZiAodGhpcy5fbmF0dXJhbEhpZ2hsaWdodGVkSW5kZXggIT0gbnVsbCAmJiBpIDw9IHRoaXMuX25hdHVyYWxIaWdobGlnaHRlZEluZGV4KSB7XG4gICAgICAgICAgICB0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0ZWRJbmRleCsrO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodGhpcy5fbG9ja2VkSGlnaGxpZ2h0ZWRJbmRleCAhPSBudWxsICYmIGkgPD0gdGhpcy5fbG9ja2VkSGlnaGxpZ2h0ZWRJbmRleCkge1xuICAgICAgICAgICAgdGhpcy5fbG9ja2VkSGlnaGxpZ2h0ZWRJbmRleCsrO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodGhpcy5fa2V5Ym9hcmRUYWtlbkJ5SW5kZXggIT0gbnVsbCAmJiBpIDw9IHRoaXMuX2tleWJvYXJkVGFrZW5CeUluZGV4KSB7XG4gICAgICAgICAgICB0aGlzLl9rZXlib2FyZFRha2VuQnlJbmRleCsrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAgcmVnaXN0ZXIoKTtcblxuICAgICAgY29uc3QgbWVudUxpc3RIYW5kbGU6IE1lbnVMaXN0SGFuZGxlID0ge1xuICAgICAgICBoaWdobGlnaHQ6IChieUtleWJvYXJkOiBib29sZWFuKSA9PiB7XG4gICAgICAgICAgY29uc3QgaSA9IHRoaXMuX2xpc3RJdGVtcy5pbmRleE9mKGl0ZW0pO1xuICAgICAgICAgIGlmIChpIDwgMCkgdGhyb3cgbmV3IEVycm9yKCdBbHJlYWR5IHVucmVnaXN0ZXJlZCBNZW51SXRlbScpO1xuICAgICAgICAgIHRoaXMuX25hdHVyYWxIaWdobGlnaHQoaSwgYnlLZXlib2FyZCk7XG4gICAgICAgIH0sXG4gICAgICAgIHVuaGlnaGxpZ2h0OiAoKSA9PiB7XG4gICAgICAgICAgY29uc3QgaSA9IHRoaXMuX2xpc3RJdGVtcy5pbmRleE9mKGl0ZW0pO1xuICAgICAgICAgIGlmIChpIDwgMCkgdGhyb3cgbmV3IEVycm9yKCdBbHJlYWR5IHVucmVnaXN0ZXJlZCBNZW51SXRlbScpO1xuICAgICAgICAgIGlmICh0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0ZWRJbmRleCA9PT0gaSkge1xuICAgICAgICAgICAgdGhpcy5fbmF0dXJhbEhpZ2hsaWdodChudWxsLCBmYWxzZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBpdGVtQ2hvc2VuOiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5fZGlzcGF0Y2hFdmVudChjb250cm9sLCBuZXcgQ2hvc2VuRXZlbnQoJ2Nob3NlbicsIGZhbHNlKSk7XG4gICAgICAgIH0sXG4gICAgICAgIHRha2VLZXlib2FyZDogKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGkgPSB0aGlzLl9saXN0SXRlbXMuaW5kZXhPZihpdGVtKTtcbiAgICAgICAgICBpZiAoaSA8IDApIHRocm93IG5ldyBFcnJvcignQWxyZWFkeSB1bnJlZ2lzdGVyZWQgTWVudUl0ZW0nKTtcbiAgICAgICAgICB0aGlzLl9rZXlib2FyZFRha2VuQnlJbmRleCA9IGk7XG4gICAgICAgIH0sXG4gICAgICAgIHJlbGVhc2VLZXlib2FyZDogKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGkgPSB0aGlzLl9saXN0SXRlbXMuaW5kZXhPZihpdGVtKTtcbiAgICAgICAgICBpZiAoaSA8IDApIHRocm93IG5ldyBFcnJvcignQWxyZWFkeSB1bnJlZ2lzdGVyZWQgTWVudUl0ZW0nKTtcbiAgICAgICAgICBpZiAodGhpcy5fa2V5Ym9hcmRUYWtlbkJ5SW5kZXggPT09IGkpIHtcbiAgICAgICAgICAgIHRoaXMuX2tleWJvYXJkVGFrZW5CeUluZGV4ID0gbnVsbDtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGxvY2tIaWdobGlnaHQ6ICgpID0+IHtcbiAgICAgICAgICBjb25zdCBpID0gdGhpcy5fbGlzdEl0ZW1zLmluZGV4T2YoaXRlbSk7XG4gICAgICAgICAgaWYgKGkgPCAwKSB0aHJvdyBuZXcgRXJyb3IoJ0FscmVhZHkgdW5yZWdpc3RlcmVkIE1lbnVJdGVtJyk7XG4gICAgICAgICAgdGhpcy5fbG9ja0hpZ2hsaWdodChpKTtcbiAgICAgICAgfSxcbiAgICAgICAgdW5sb2NrSGlnaGxpZ2h0OiAoKSA9PiB7XG4gICAgICAgICAgY29uc3QgaSA9IHRoaXMuX2xpc3RJdGVtcy5pbmRleE9mKGl0ZW0pO1xuICAgICAgICAgIGlmIChpIDwgMCkgdGhyb3cgbmV3IEVycm9yKCdBbHJlYWR5IHVucmVnaXN0ZXJlZCBNZW51SXRlbScpO1xuICAgICAgICAgIGlmICh0aGlzLl9sb2NrZWRIaWdobGlnaHRlZEluZGV4ID09PSBpKSB7XG4gICAgICAgICAgICB0aGlzLl9sb2NrSGlnaGxpZ2h0KG51bGwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgbW92ZUN1cnNvcjogKGRpcmVjdGlvbjogRGlyZWN0aW9uLCBwcmV2Q3Vyc29yTG9jYXRpb246ID9SZWN0KSA9PiB7XG4gICAgICAgICAgdGhpcy5tb3ZlQ3Vyc29yKGRpcmVjdGlvbiwgcHJldkN1cnNvckxvY2F0aW9uKTtcbiAgICAgICAgfSxcbiAgICAgICAgdXBkYXRlUHJvcHM6IChuZXdQcm9wczogTWVudUl0ZW1Qcm9wcykgPT4ge1xuICAgICAgICAgIGlmIChpdGVtLnByb3BzLmluZGV4ICE9PSBuZXdQcm9wcy5pbmRleCkge1xuICAgICAgICAgICAgY29uc3Qgb2xkSW5kZXggPSB0aGlzLl9saXN0SXRlbXMuaW5kZXhPZihpdGVtKTtcbiAgICAgICAgICAgIGNvbnN0IGlzTmF0dXJhbEhpZ2hsaWdodEluZGV4ID0gdGhpcy5fbmF0dXJhbEhpZ2hsaWdodGVkSW5kZXggPT09IG9sZEluZGV4O1xuICAgICAgICAgICAgY29uc3QgaXNMb2NrZWRIaWdobGlnaHRJbmRleCA9IHRoaXMuX2xvY2tlZEhpZ2hsaWdodGVkSW5kZXggPT09IG9sZEluZGV4O1xuICAgICAgICAgICAgY29uc3QgaXNLZXlib2FyZFRha2VuQnlJbmRleCA9IHRoaXMuX2tleWJvYXJkVGFrZW5CeUluZGV4ID09PSBvbGRJbmRleDtcblxuICAgICAgICAgICAgbWVudUxpc3RIYW5kbGUudW5yZWdpc3RlcigpO1xuICAgICAgICAgICAgcHJvcHMgPSBuZXdQcm9wcztcbiAgICAgICAgICAgIGl0ZW0ucHJvcHMgPSBuZXdQcm9wcztcbiAgICAgICAgICAgIHJlZ2lzdGVyKCk7XG5cbiAgICAgICAgICAgIGlmIChpc05hdHVyYWxIaWdobGlnaHRJbmRleCB8fCBpc0xvY2tlZEhpZ2hsaWdodEluZGV4IHx8IGlzS2V5Ym9hcmRUYWtlbkJ5SW5kZXgpIHtcbiAgICAgICAgICAgICAgY29uc3QgbmV3SW5kZXggPSB0aGlzLl9saXN0SXRlbXMuaW5kZXhPZihpdGVtKTtcbiAgICAgICAgICAgICAgaWYgKGlzTmF0dXJhbEhpZ2hsaWdodEluZGV4KSB0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0ZWRJbmRleCA9IG5ld0luZGV4O1xuICAgICAgICAgICAgICBpZiAoaXNMb2NrZWRIaWdobGlnaHRJbmRleCkgdGhpcy5fbG9ja2VkSGlnaGxpZ2h0ZWRJbmRleCA9IG5ld0luZGV4O1xuICAgICAgICAgICAgICBpZiAoaXNLZXlib2FyZFRha2VuQnlJbmRleCkgdGhpcy5fa2V5Ym9hcmRUYWtlbkJ5SW5kZXggPSBuZXdJbmRleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcHJvcHMgPSBuZXdQcm9wcztcbiAgICAgICAgICAgIGl0ZW0ucHJvcHMgPSBuZXdQcm9wcztcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHVucmVnaXN0ZXI6ICgpID0+IHtcbiAgICAgICAgICBjb25zdCBpID0gdGhpcy5fbGlzdEl0ZW1zLmluZGV4T2YoaXRlbSk7XG4gICAgICAgICAgaWYgKGkgPCAwKSB0aHJvdyBuZXcgRXJyb3IoJ0FscmVhZHkgdW5yZWdpc3RlcmVkIE1lbnVJdGVtJyk7XG4gICAgICAgICAgaWYgKGkgPT09IHRoaXMuX25hdHVyYWxIaWdobGlnaHRlZEluZGV4KSB7XG4gICAgICAgICAgICB0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0ZWRJbmRleCA9IG51bGw7XG4gICAgICAgICAgfSBlbHNlIGlmICh0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0ZWRJbmRleCAhPSBudWxsICYmIGkgPCB0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0ZWRJbmRleCkge1xuICAgICAgICAgICAgdGhpcy5fbmF0dXJhbEhpZ2hsaWdodGVkSW5kZXgtLTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGkgPT09IHRoaXMuX2xvY2tlZEhpZ2hsaWdodGVkSW5kZXgpIHtcbiAgICAgICAgICAgIHRoaXMuX2xvY2tlZEhpZ2hsaWdodGVkSW5kZXggPSBudWxsO1xuICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5fbG9ja2VkSGlnaGxpZ2h0ZWRJbmRleCAhPSBudWxsICYmIGkgPCB0aGlzLl9sb2NrZWRIaWdobGlnaHRlZEluZGV4KSB7XG4gICAgICAgICAgICB0aGlzLl9sb2NrZWRIaWdobGlnaHRlZEluZGV4LS07XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChpID09PSB0aGlzLl9rZXlib2FyZFRha2VuQnlJbmRleCkge1xuICAgICAgICAgICAgdGhpcy5fa2V5Ym9hcmRUYWtlbkJ5SW5kZXggPSBudWxsO1xuICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5fa2V5Ym9hcmRUYWtlbkJ5SW5kZXggIT0gbnVsbCAmJiBpIDwgdGhpcy5fa2V5Ym9hcmRUYWtlbkJ5SW5kZXgpIHtcbiAgICAgICAgICAgIHRoaXMuX2tleWJvYXJkVGFrZW5CeUluZGV4LS07XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuX2xpc3RJdGVtcy5zcGxpY2UoaSwgMSk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICByZXR1cm4gbWVudUxpc3RIYW5kbGU7XG4gICAgfVxuICB9O1xuXG4gIF9wYXJlbnRDdHgoKTogP01lbnVMaXN0SW5zcGVjdG9yQ29udGV4dFZhbHVlIHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0O1xuICB9XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgY29uc3QgaXNFbnRlck9yQXJyb3dLZXkgPSBlID0+XG4gICAgICAoZS53aGljaCA9PT0gMTMpIHx8ICgzNyA8PSBlLndoaWNoICYmIGUud2hpY2ggPD0gNDApO1xuICAgIGNvbnN0IGVsID0gdGhpcy5fZWxSZWYuY3VycmVudDtcbiAgICAvKjo6IGlmICghZWwpIHRocm93IG5ldyBFcnJvcigpOyAqL1xuXG4gICAgLy8gVGhlIG9ubHkgdGhpbmdzIHRoYXQgc2hvdWxkIHJlY2VpdmUga2V5ZG93bi9rZXlwcmVzcyBldmVudHMgYmVmb3JlIHVzXG4gICAgLy8gYXJlIG91ciBjaGlsZHJlbi4gVGhpcyBhbGxvd3MgYSBNZW51SXRlbSB0byBjb250YWluIGEgdGV4dCBpbnB1dFxuICAgIC8vIHdoaWNoIHNlbGVjdGl2ZWx5IHN0b3BzIHByb3BhZ2F0aW9uIG9uIGtleSBldmVudHMgZm9yIGV4YW1wbGUuXG4gICAgS2VmaXIubWVyZ2UoW1xuICAgICAgS2VmaXIuZnJvbUV2ZW50cyh3aW5kb3csICdrZXlkb3duJykuZmlsdGVyKGlzRW50ZXJPckFycm93S2V5KVxuICAgICAgICAuZmlsdGVyKGUgPT4gZWwuY29udGFpbnMoZS50YXJnZXQpKSxcbiAgICAgIGZyb21FdmVudHNDYXB0dXJlKHdpbmRvdywgJ2tleWRvd24nKS5maWx0ZXIoaXNFbnRlck9yQXJyb3dLZXkpXG4gICAgICAgIC5maWx0ZXIoZSA9PiAhZWwuY29udGFpbnMoZS50YXJnZXQpKVxuICAgIF0pXG4gICAgICAudGFrZVVudGlsQnkodGhpcy5fc3RvcHBlcilcbiAgICAgIC5vblZhbHVlKGV2ZW50ID0+IHRoaXMuX2tleShldmVudCkpO1xuXG4gICAgY29uc3QgcGFyZW50Q3R4ID0gdGhpcy5fcGFyZW50Q3R4KCk7XG4gICAgaWYgKHBhcmVudEN0eCkge1xuICAgICAgcGFyZW50Q3R4LnJlZ2lzdGVyTWVudUxpc3QodGhpcyk7XG4gICAgfVxuICB9XG5cbiAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgdGhpcy5fc3RvcHBlci5kZXN0cm95KCk7XG5cbiAgICBjb25zdCBwYXJlbnRDdHggPSB0aGlzLl9wYXJlbnRDdHgoKTtcbiAgICBpZiAocGFyZW50Q3R4KSB7XG4gICAgICBwYXJlbnRDdHgudW5yZWdpc3Rlck1lbnVMaXN0KHRoaXMpO1xuICAgIH1cbiAgfVxuXG4gIF9uYXR1cmFsSGlnaGxpZ2h0KGluZGV4OiA/bnVtYmVyLCBieUtleWJvYXJkOiBib29sZWFuLCBkaXJlY3Rpb246ID9EaXJlY3Rpb24sIHByZXZDdXJzb3JMb2NhdGlvbjogP1JlY3QpIHtcbiAgICBjb25zdCB2aXNpYmxlSGlnaGxpZ2h0ZWRJbmRleCA9IHRoaXMuX2dldFZpc2libGVIaWdobGlnaHRlZEluZGV4KCk7XG5cbiAgICBpZiAodGhpcy5fbG9ja2VkSGlnaGxpZ2h0ZWRJbmRleCAhPSBudWxsICYmIGJ5S2V5Ym9hcmQpIHtcbiAgICAgIHRoaXMuX2xvY2tlZEhpZ2hsaWdodGVkSW5kZXggPSBudWxsO1xuICAgIH1cbiAgICB0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0ZWRJbmRleCA9IGluZGV4O1xuICAgIGlmICh0aGlzLl9sb2NrZWRIaWdobGlnaHRlZEluZGV4ID09IG51bGwpIHtcbiAgICAgIGlmIChpbmRleCAhPSBudWxsKSB7XG4gICAgICAgIHRoaXMuX2xpc3RJdGVtc1tpbmRleF0uY29udHJvbC5ub3RpZnlIaWdobGlnaHRlZCh0cnVlLCBieUtleWJvYXJkLCBkaXJlY3Rpb24sIHByZXZDdXJzb3JMb2NhdGlvbik7XG4gICAgICB9XG4gICAgICBpZiAodmlzaWJsZUhpZ2hsaWdodGVkSW5kZXggIT0gbnVsbCAmJiB2aXNpYmxlSGlnaGxpZ2h0ZWRJbmRleCAhPSBpbmRleCkge1xuICAgICAgICB0aGlzLl9saXN0SXRlbXNbdmlzaWJsZUhpZ2hsaWdodGVkSW5kZXhdLmNvbnRyb2wubm90aWZ5SGlnaGxpZ2h0ZWQoZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIF9sb2NrSGlnaGxpZ2h0KGluZGV4OiA/bnVtYmVyKSB7XG4gICAgaWYgKGluZGV4ID09PSB0aGlzLl9sb2NrZWRIaWdobGlnaHRlZEluZGV4KSByZXR1cm47XG4gICAgY29uc3QgdmlzaWJsZUhpZ2hsaWdodGVkSW5kZXggPSB0aGlzLl9nZXRWaXNpYmxlSGlnaGxpZ2h0ZWRJbmRleCgpO1xuICAgIHRoaXMuX2xvY2tlZEhpZ2hsaWdodGVkSW5kZXggPSBpbmRleDtcbiAgICBjb25zdCBuZXdWaXNpYmxlSGlnaGxpZ2h0ZWRJbmRleCA9IHRoaXMuX2dldFZpc2libGVIaWdobGlnaHRlZEluZGV4KCk7XG4gICAgaWYgKHZpc2libGVIaWdobGlnaHRlZEluZGV4ICE9IG51bGwgJiYgbmV3VmlzaWJsZUhpZ2hsaWdodGVkSW5kZXggPT0gbnVsbCkge1xuICAgICAgLy8gV2hlbiB1bmxvY2tpbmcsIHByZWZlciB0byBrZWVwIHRoZSBjdXJyZW50IHNlbGVjdGlvbiBvdmVyIGRlLXNlbGVjdGluZ1xuICAgICAgLy8gZXZlcnl0aGluZy5cbiAgICAgIHRoaXMuX25hdHVyYWxIaWdobGlnaHRlZEluZGV4ID0gdmlzaWJsZUhpZ2hsaWdodGVkSW5kZXg7XG4gICAgfSBlbHNlIGlmICh2aXNpYmxlSGlnaGxpZ2h0ZWRJbmRleCAhPSBuZXdWaXNpYmxlSGlnaGxpZ2h0ZWRJbmRleCkge1xuICAgICAgaWYgKHZpc2libGVIaWdobGlnaHRlZEluZGV4ICE9IG51bGwpIHtcbiAgICAgICAgdGhpcy5fbGlzdEl0ZW1zW3Zpc2libGVIaWdobGlnaHRlZEluZGV4XS5jb250cm9sLm5vdGlmeUhpZ2hsaWdodGVkKGZhbHNlKTtcbiAgICAgIH1cbiAgICAgIGlmIChuZXdWaXNpYmxlSGlnaGxpZ2h0ZWRJbmRleCAhPSBudWxsKSB7XG4gICAgICAgIHRoaXMuX2xpc3RJdGVtc1tuZXdWaXNpYmxlSGlnaGxpZ2h0ZWRJbmRleF0uY29udHJvbC5ub3RpZnlIaWdobGlnaHRlZCh0cnVlLCBmYWxzZSk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuX25hdHVyYWxIaWdobGlnaHRlZEluZGV4ICE9IG51bGwpIHtcbiAgICAgICAgdGhpcy5fbGlzdEl0ZW1zW3RoaXMuX25hdHVyYWxIaWdobGlnaHRlZEluZGV4XS5jb250cm9sLm5vdGlmeUhpZ2hsaWdodGVkKHRydWUsIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBfZGlzcGF0Y2hFdmVudChjb250cm9sOiA/TWVudUl0ZW1Db250cm9sLCBldmVudDogTWVudUV2ZW50KSB7XG4gICAgaWYgKGNvbnRyb2wpIHtcbiAgICAgIGNvbnRyb2wubm90aWZ5RXZlbnQoZXZlbnQpO1xuICAgICAgaWYgKGV2ZW50LmNhbmNlbEJ1YmJsZSkgcmV0dXJuO1xuICAgIH1cbiAgICBzd2l0Y2ggKGV2ZW50LnR5cGUpIHtcbiAgICBjYXNlICdjaG9zZW4nOlxuICAgICAgLyo6OiBpZiAoIShldmVudCBpbnN0YW5jZW9mIENob3NlbkV2ZW50KSkgdGhyb3cgbmV3IEVycm9yKCk7ICovXG4gICAgICBpZiAodGhpcy5wcm9wcy5vbkl0ZW1DaG9zZW4pIHRoaXMucHJvcHMub25JdGVtQ2hvc2VuKGV2ZW50KTtcbiAgICAgIGJyZWFrO1xuICAgIC8vIGNhc2UgJ3VwJzpcbiAgICAvLyAgIGJyZWFrO1xuICAgIC8vIGNhc2UgJ2Rvd24nOlxuICAgIC8vICAgYnJlYWs7XG4gICAgY2FzZSAnbGVmdCc6XG4gICAgICBpZiAodGhpcy5wcm9wcy5vbkxlZnRQdXNoZWQpIHRoaXMucHJvcHMub25MZWZ0UHVzaGVkKGV2ZW50KTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ3JpZ2h0JzpcbiAgICAgIGlmICh0aGlzLnByb3BzLm9uUmlnaHRQdXNoZWQpIHRoaXMucHJvcHMub25SaWdodFB1c2hlZChldmVudCk7XG4gICAgICBicmVhaztcbiAgICB9XG4gICAgaWYgKGV2ZW50LmNhbmNlbEJ1YmJsZSkgcmV0dXJuO1xuICAgIGNvbnN0IHBhcmVudEN0eCA9IHRoaXMuX3BhcmVudEN0eCgpO1xuICAgIGlmIChwYXJlbnRDdHgpIHtcbiAgICAgIHBhcmVudEN0eC5kaXNwYXRjaEV2ZW50KGV2ZW50KTtcbiAgICB9XG4gIH1cblxuICBfa2V5KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKHRoaXMuX2tleWJvYXJkVGFrZW5CeUluZGV4ICE9IG51bGwgfHwgdGhpcy5fbGlzdEl0ZW1zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHZpc2libGVIaWdobGlnaHRlZEluZGV4ID0gdGhpcy5fZ2V0VmlzaWJsZUhpZ2hsaWdodGVkSW5kZXgoKTtcblxuICAgIC8vIGVudGVyLCBsZWZ0LCByaWdodCBhY3RpdmF0ZSBmb3IgdGhlIGN1cnJlbnQgdmlzaWJseSBzZWxlY3RlZCBpdGVtLlxuICAgIC8vIHVwIGFuZCBkb3duIGRlLWFjdGl2YXRlIGFueSBsb2NrcyBpbiBwbGFjZSwgc28gdGhhdCB0aGV5IGFjdCBmcm9tIHRoZSBsYXN0XG4gICAgLy8gbmF0dXJhbGx5LXNlbGVjdGVkIGl0ZW0uXG5cbiAgICBsZXQgbUV2ZW50ID0gbnVsbDtcblxuICAgIHN3aXRjaCAoZXZlbnQud2hpY2gpIHtcbiAgICBjYXNlIDEzOiAvL2VudGVyXG4gICAgICBpZiAodmlzaWJsZUhpZ2hsaWdodGVkSW5kZXggIT0gbnVsbCkge1xuICAgICAgICBtRXZlbnQgPSBuZXcgQ2hvc2VuRXZlbnQoJ2Nob3NlbicsIHRydWUpO1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgMzc6IC8vbGVmdFxuICAgICAgaWYgKHZpc2libGVIaWdobGlnaHRlZEluZGV4ICE9IG51bGwpIHtcbiAgICAgICAgbUV2ZW50ID0gbmV3IE1lbnVFdmVudCgnbGVmdCcpO1xuICAgICAgfVxuICAgICAgYnJlYWs7XG4gICAgY2FzZSAzOTogLy9yaWdodFxuICAgICAgaWYgKHZpc2libGVIaWdobGlnaHRlZEluZGV4ICE9IG51bGwpIHtcbiAgICAgICAgbUV2ZW50ID0gbmV3IE1lbnVFdmVudCgncmlnaHQnKTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgMzg6IC8vdXBcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIHRoaXMubW92ZUN1cnNvcigndXAnKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgNDA6IC8vZG93blxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgdGhpcy5tb3ZlQ3Vyc29yKCdkb3duJyk7XG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICBpZiAobUV2ZW50KSB7XG4gICAgICBjb25zdCBjb250cm9sID0gdmlzaWJsZUhpZ2hsaWdodGVkSW5kZXggPT0gbnVsbCA/IG51bGwgOlxuICAgICAgICB0aGlzLl9saXN0SXRlbXNbdmlzaWJsZUhpZ2hsaWdodGVkSW5kZXhdLmNvbnRyb2w7XG4gICAgICB0aGlzLl9kaXNwYXRjaEV2ZW50KGNvbnRyb2wsIG1FdmVudCk7XG4gICAgICBpZiAobUV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBpZiAobUV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQgfHwgbUV2ZW50LmNhbmNlbEJ1YmJsZSkgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgbW92ZUN1cnNvcihkaXJlY3Rpb246IERpcmVjdGlvbiwgcHJldkN1cnNvckxvY2F0aW9uOiA/UmVjdCkge1xuICAgIGlmICh0aGlzLl9saXN0SXRlbXMubGVuZ3RoID09IDApIHJldHVybjtcblxuICAgIHN3aXRjaCAoZGlyZWN0aW9uKSB7XG4gICAgY2FzZSAndXAnOlxuICAgICAgaWYgKHRoaXMuX25hdHVyYWxIaWdobGlnaHRlZEluZGV4ID09IG51bGwgfHwgdGhpcy5fbmF0dXJhbEhpZ2hsaWdodGVkSW5kZXggPT0gMCkge1xuICAgICAgICB0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0KHRoaXMuX2xpc3RJdGVtcy5sZW5ndGgtMSwgdHJ1ZSwgZGlyZWN0aW9uLCBwcmV2Q3Vyc29yTG9jYXRpb24pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fbmF0dXJhbEhpZ2hsaWdodCh0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0ZWRJbmRleC0xLCB0cnVlLCBkaXJlY3Rpb24sIHByZXZDdXJzb3JMb2NhdGlvbik7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBjYXNlICdkb3duJzpcbiAgICAgIGlmICh0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0ZWRJbmRleCA9PSBudWxsIHx8IHRoaXMuX25hdHVyYWxIaWdobGlnaHRlZEluZGV4ID09IHRoaXMuX2xpc3RJdGVtcy5sZW5ndGgtMSkge1xuICAgICAgICB0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0KDAsIHRydWUsIGRpcmVjdGlvbiwgcHJldkN1cnNvckxvY2F0aW9uKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX25hdHVyYWxIaWdobGlnaHQodGhpcy5fbmF0dXJhbEhpZ2hsaWdodGVkSW5kZXgrMSwgdHJ1ZSwgZGlyZWN0aW9uLCBwcmV2Q3Vyc29yTG9jYXRpb24pO1xuICAgICAgfVxuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgaGFzSGlnaGxpZ2h0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9nZXRWaXNpYmxlSGlnaGxpZ2h0ZWRJbmRleCgpICE9IG51bGw7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgcm9sZT1cIm1lbnVcIiByZWY9e3RoaXMuX2VsUmVmfT5cbiAgICAgICAgPE1lbnVMaXN0Q29udGV4dC5Qcm92aWRlciB2YWx1ZT17dGhpcy5fbWVudUxpc3RDb250ZXh0fT5cbiAgICAgICAgICB7dGhpcy5wcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgPC9NZW51TGlzdENvbnRleHQuUHJvdmlkZXI+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG59XG4iXX0=

@@ -1,106 +0,105 @@

'use strict';
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.MenuListInspectorContext = void 0;
var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _getPrototypeOf3 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _createClass2 = require('babel-runtime/helpers/createClass');
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _createClass3 = _interopRequireDefault(_createClass2);
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _react = _interopRequireDefault(require("react"));
var _inherits2 = require('babel-runtime/helpers/inherits');
var _propTypes = _interopRequireDefault(require("prop-types"));
var _inherits3 = _interopRequireDefault(_inherits2);
var _ChosenEvent = _interopRequireDefault(require("./events/ChosenEvent"));
var _react = require('react');
var MenuListInspectorContext = _react.default.createContext(null);
var _react2 = _interopRequireDefault(_react);
exports.MenuListInspectorContext = MenuListInspectorContext;
var _propTypes = require('prop-types');
var MenuListInspector =
/*#__PURE__*/
function (_React$Component) {
(0, _inherits2.default)(MenuListInspector, _React$Component);
var _propTypes2 = _interopRequireDefault(_propTypes);
function MenuListInspector() {
var _getPrototypeOf2;
var _ChosenEvent = require('./events/ChosenEvent');
var _this;
var _ChosenEvent2 = _interopRequireDefault(_ChosenEvent);
(0, _classCallCheck2.default)(this, MenuListInspector);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
var MenuListInspector = function (_React$Component) {
(0, _inherits3.default)(MenuListInspector, _React$Component);
_this = (0, _possibleConstructorReturn2.default)(this, (_getPrototypeOf2 = (0, _getPrototypeOf3.default)(MenuListInspector)).call.apply(_getPrototypeOf2, [this].concat(args)));
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), "_descendantMenuLists", []);
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), "_menuListInspectorContext", {
registerMenuList: function registerMenuList(menuList) {
_this._descendantMenuLists.push(menuList);
},
unregisterMenuList: function unregisterMenuList(menuList) {
var i = _this._descendantMenuLists.indexOf(menuList);
function MenuListInspector() {
var _ref;
if (i < 0) throw new Error('MenuList not registered');
var _temp, _this, _ret;
_this._descendantMenuLists.splice(i, 1);
},
dispatchEvent: function dispatchEvent(event) {
switch (event.type) {
case 'chosen':
/*:: if (!(event instanceof ChosenEvent)) throw new Error(); */
if (_this.props.onItemChosen) _this.props.onItemChosen(event);
break;
(0, _classCallCheck3.default)(this, MenuListInspector);
case 'left':
if (_this.props.onLeftPushed) _this.props.onLeftPushed(event);
break;
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
case 'right':
if (_this.props.onRightPushed) _this.props.onRightPushed(event);
break;
}
return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = MenuListInspector.__proto__ || (0, _getPrototypeOf2.default)(MenuListInspector)).call.apply(_ref, [this].concat(args))), _this), _this._descendantMenuLists = [], _temp), (0, _possibleConstructorReturn3.default)(_this, _ret);
if (event.cancelBubble) return;
var parentCtx = _this._parentCtx();
if (parentCtx) {
parentCtx.dispatchEvent(event);
}
}
});
return _this;
}
(0, _createClass3.default)(MenuListInspector, [{
key: '_parentCtx',
(0, _createClass2.default)(MenuListInspector, [{
key: "_parentCtx",
value: function _parentCtx() {
return this.context.menuListInspector;
return this.context;
}
}, {
key: 'getChildContext',
value: function getChildContext() {
var _this2 = this;
var menuListInspector = {
registerMenuList: function registerMenuList(menuList) {
_this2._descendantMenuLists.push(menuList);
},
unregisterMenuList: function unregisterMenuList(menuList) {
var i = _this2._descendantMenuLists.indexOf(menuList);
if (i < 0) throw new Error('MenuList not registered');
_this2._descendantMenuLists.splice(i, 1);
},
dispatchEvent: function dispatchEvent(event) {
switch (event.type) {
case 'chosen':
/*:: if (!(event instanceof ChosenEvent)) throw new Error(); */
if (_this2.props.onItemChosen) _this2.props.onItemChosen(event);
break;
case 'left':
if (_this2.props.onLeftPushed) _this2.props.onLeftPushed(event);
break;
case 'right':
if (_this2.props.onRightPushed) _this2.props.onRightPushed(event);
break;
}
if (event.cancelBubble) return;
var parentCtx = _this2._parentCtx();
if (parentCtx) {
parentCtx.dispatchEvent(event);
}
}
};
return { menuListInspector: menuListInspector };
}
}, {
key: 'moveCursor',
key: "moveCursor",
value: function moveCursor(direction, prevCursorLocation) {
var menuList = this._descendantMenuLists[0];
if (!menuList) {
return false;
}
menuList.moveCursor(direction, prevCursorLocation);

@@ -110,3 +109,3 @@ return true;

}, {
key: 'hasHighlight',
key: "hasHighlight",
value: function hasHighlight() {

@@ -118,28 +117,24 @@ for (var i = 0, len = this._descendantMenuLists.length; i < len; i++) {

}
return false;
}
}, {
key: 'render',
key: "render",
value: function render() {
return this.props.children;
return _react.default.createElement(MenuListInspectorContext.Provider, {
value: this._menuListInspectorContext
}, this.props.children);
}
}]);
return MenuListInspector;
}(_react2.default.Component);
}(_react.default.Component);
MenuListInspector.propTypes = {
onItemChosen: _propTypes2.default.func,
onLeftPushed: _propTypes2.default.func,
onRightPushed: _propTypes2.default.func,
children: _propTypes2.default.element
};
MenuListInspector.childContextTypes = {
menuListInspector: _propTypes2.default.object
};
MenuListInspector.contextTypes = {
menuListInspector: _propTypes2.default.object
};
exports.default = MenuListInspector;
module.exports = exports['default'];
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9NZW51TGlzdEluc3BlY3Rvci5qcyJdLCJuYW1lcyI6WyJNZW51TGlzdEluc3BlY3RvciIsIl9kZXNjZW5kYW50TWVudUxpc3RzIiwiY29udGV4dCIsIm1lbnVMaXN0SW5zcGVjdG9yIiwicmVnaXN0ZXJNZW51TGlzdCIsIm1lbnVMaXN0IiwicHVzaCIsInVucmVnaXN0ZXJNZW51TGlzdCIsImkiLCJpbmRleE9mIiwiRXJyb3IiLCJzcGxpY2UiLCJkaXNwYXRjaEV2ZW50IiwiZXZlbnQiLCJ0eXBlIiwicHJvcHMiLCJvbkl0ZW1DaG9zZW4iLCJvbkxlZnRQdXNoZWQiLCJvblJpZ2h0UHVzaGVkIiwiY2FuY2VsQnViYmxlIiwicGFyZW50Q3R4IiwiX3BhcmVudEN0eCIsImRpcmVjdGlvbiIsInByZXZDdXJzb3JMb2NhdGlvbiIsIm1vdmVDdXJzb3IiLCJsZW4iLCJsZW5ndGgiLCJoYXNIaWdobGlnaHQiLCJjaGlsZHJlbiIsIlJlYWN0IiwiQ29tcG9uZW50IiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwiZnVuYyIsImVsZW1lbnQiLCJjaGlsZENvbnRleHRUeXBlcyIsIm9iamVjdCIsImNvbnRleHRUeXBlcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQTs7OztBQUVBOzs7O0FBR0E7Ozs7OztJQWdCcUJBLGlCOzs7Ozs7Ozs7Ozs7OztrT0FpQm5CQyxvQixHQUF3QyxFOzs7OztpQ0FFQTtBQUN0QyxhQUFPLEtBQUtDLE9BQUwsQ0FBYUMsaUJBQXBCO0FBQ0Q7OztzQ0FFeUI7QUFBQTs7QUFDeEIsVUFBTUEsb0JBQThDO0FBQ2xEQywwQkFBa0IsMEJBQUNDLFFBQUQsRUFBd0I7QUFDeEMsaUJBQUtKLG9CQUFMLENBQTBCSyxJQUExQixDQUErQkQsUUFBL0I7QUFDRCxTQUhpRDtBQUlsREUsNEJBQW9CLDRCQUFDRixRQUFELEVBQXdCO0FBQzFDLGNBQU1HLElBQUksT0FBS1Asb0JBQUwsQ0FBMEJRLE9BQTFCLENBQWtDSixRQUFsQyxDQUFWO0FBQ0EsY0FBSUcsSUFBSSxDQUFSLEVBQVcsTUFBTSxJQUFJRSxLQUFKLENBQVUseUJBQVYsQ0FBTjtBQUNYLGlCQUFLVCxvQkFBTCxDQUEwQlUsTUFBMUIsQ0FBaUNILENBQWpDLEVBQW9DLENBQXBDO0FBQ0QsU0FSaUQ7QUFTbERJLHVCQUFlLHVCQUFDQyxLQUFELEVBQXNCO0FBQ25DLGtCQUFRQSxNQUFNQyxJQUFkO0FBQ0EsaUJBQUssUUFBTDtBQUNFO0FBQ0Esa0JBQUksT0FBS0MsS0FBTCxDQUFXQyxZQUFmLEVBQTZCLE9BQUtELEtBQUwsQ0FBV0MsWUFBWCxDQUF3QkgsS0FBeEI7QUFDN0I7QUFDRixpQkFBSyxNQUFMO0FBQ0Usa0JBQUksT0FBS0UsS0FBTCxDQUFXRSxZQUFmLEVBQTZCLE9BQUtGLEtBQUwsQ0FBV0UsWUFBWCxDQUF3QkosS0FBeEI7QUFDN0I7QUFDRixpQkFBSyxPQUFMO0FBQ0Usa0JBQUksT0FBS0UsS0FBTCxDQUFXRyxhQUFmLEVBQThCLE9BQUtILEtBQUwsQ0FBV0csYUFBWCxDQUF5QkwsS0FBekI7QUFDOUI7QUFWRjtBQVlBLGNBQUlBLE1BQU1NLFlBQVYsRUFBd0I7QUFDeEIsY0FBTUMsWUFBWSxPQUFLQyxVQUFMLEVBQWxCO0FBQ0EsY0FBSUQsU0FBSixFQUFlO0FBQ2JBLHNCQUFVUixhQUFWLENBQXdCQyxLQUF4QjtBQUNEO0FBQ0Y7QUEzQmlELE9BQXBEO0FBNkJBLGFBQU8sRUFBQ1Ysb0NBQUQsRUFBUDtBQUNEOzs7K0JBRVVtQixTLEVBQXNCQyxrQixFQUFvQztBQUNuRSxVQUFNbEIsV0FBVyxLQUFLSixvQkFBTCxDQUEwQixDQUExQixDQUFqQjtBQUNBLFVBQUksQ0FBQ0ksUUFBTCxFQUFlO0FBQ2IsZUFBTyxLQUFQO0FBQ0Q7QUFDREEsZUFBU21CLFVBQVQsQ0FBb0JGLFNBQXBCLEVBQStCQyxrQkFBL0I7QUFDQSxhQUFPLElBQVA7QUFDRDs7O21DQUV1QjtBQUN0QixXQUFLLElBQUlmLElBQUUsQ0FBTixFQUFTaUIsTUFBSSxLQUFLeEIsb0JBQUwsQ0FBMEJ5QixNQUE1QyxFQUFvRGxCLElBQUVpQixHQUF0RCxFQUEyRGpCLEdBQTNELEVBQWdFO0FBQzlELFlBQUksS0FBS1Asb0JBQUwsQ0FBMEJPLENBQTFCLEVBQTZCbUIsWUFBN0IsRUFBSixFQUFpRDtBQUMvQyxpQkFBTyxJQUFQO0FBQ0Q7QUFDRjtBQUNELGFBQU8sS0FBUDtBQUNEOzs7NkJBRVE7QUFDUCxhQUFPLEtBQUtaLEtBQUwsQ0FBV2EsUUFBbEI7QUFDRDs7O0VBNUU0Q0MsZ0JBQU1DLFM7O0FBQWhDOUIsaUIsQ0FDWitCLFMsR0FBWTtBQUNqQmYsZ0JBQWNnQixvQkFBVUMsSUFEUDtBQUVqQmhCLGdCQUFjZSxvQkFBVUMsSUFGUDtBQUdqQmYsaUJBQWVjLG9CQUFVQyxJQUhSOztBQUtqQkwsWUFBVUksb0JBQVVFO0FBTEgsQztBQURBbEMsaUIsQ0FTWm1DLGlCLEdBQW9CO0FBQ3pCaEMscUJBQW1CNkIsb0JBQVVJO0FBREosQztBQVRScEMsaUIsQ0FhWnFDLFksR0FBZTtBQUNwQmxDLHFCQUFtQjZCLG9CQUFVSTtBQURULEM7a0JBYkhwQyxpQiIsImZpbGUiOiJNZW51TGlzdEluc3BlY3Rvci5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIEBmbG93ICovXG5cbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdHlwZSB7Tm9kZSBhcyBSZWFjdE5vZGV9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgdHlwZSBNZW51TGlzdCBmcm9tICcuL01lbnVMaXN0JztcbmltcG9ydCB0eXBlIE1lbnVFdmVudCBmcm9tICcuL2V2ZW50cy9NZW51RXZlbnQnO1xuaW1wb3J0IENob3NlbkV2ZW50IGZyb20gJy4vZXZlbnRzL0Nob3NlbkV2ZW50JztcbmltcG9ydCB0eXBlIHtEaXJlY3Rpb24sIFJlY3R9IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgdHlwZSBNZW51TGlzdEluc3BlY3RvckNvbnRleHQgPSB7XG4gIHJlZ2lzdGVyTWVudUxpc3QobWVudUxpc3Q6IE1lbnVMaXN0KTogdm9pZDtcbiAgdW5yZWdpc3Rlck1lbnVMaXN0KG1lbnVMaXN0OiBNZW51TGlzdCk6IHZvaWQ7XG4gIGRpc3BhdGNoRXZlbnQoZXZlbnQ6IE1lbnVFdmVudCk6IHZvaWQ7XG59O1xuXG5leHBvcnQgdHlwZSBQcm9wcyA9IHtcbiAgb25JdGVtQ2hvc2VuPzogPyhldmVudDogQ2hvc2VuRXZlbnQpID0+IHZvaWQ7XG4gIG9uTGVmdFB1c2hlZD86ID8oZXZlbnQ6IE1lbnVFdmVudCkgPT4gdm9pZDtcbiAgb25SaWdodFB1c2hlZD86ID8oZXZlbnQ6IE1lbnVFdmVudCkgPT4gdm9pZDtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBNZW51TGlzdEluc3BlY3RvciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxQcm9wcz4ge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIG9uSXRlbUNob3NlbjogUHJvcFR5cGVzLmZ1bmMsXG4gICAgb25MZWZ0UHVzaGVkOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvblJpZ2h0UHVzaGVkOiBQcm9wVHlwZXMuZnVuYyxcblxuICAgIGNoaWxkcmVuOiBQcm9wVHlwZXMuZWxlbWVudFxuICB9O1xuXG4gIHN0YXRpYyBjaGlsZENvbnRleHRUeXBlcyA9IHtcbiAgICBtZW51TGlzdEluc3BlY3RvcjogUHJvcFR5cGVzLm9iamVjdFxuICB9O1xuXG4gIHN0YXRpYyBjb250ZXh0VHlwZXMgPSB7XG4gICAgbWVudUxpc3RJbnNwZWN0b3I6IFByb3BUeXBlcy5vYmplY3RcbiAgfTtcblxuICBfZGVzY2VuZGFudE1lbnVMaXN0czogQXJyYXk8TWVudUxpc3Q+ID0gW107XG5cbiAgX3BhcmVudEN0eCgpOiA/TWVudUxpc3RJbnNwZWN0b3JDb250ZXh0IHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0Lm1lbnVMaXN0SW5zcGVjdG9yO1xuICB9XG5cbiAgZ2V0Q2hpbGRDb250ZXh0KCk6IE9iamVjdCB7XG4gICAgY29uc3QgbWVudUxpc3RJbnNwZWN0b3I6IE1lbnVMaXN0SW5zcGVjdG9yQ29udGV4dCA9IHtcbiAgICAgIHJlZ2lzdGVyTWVudUxpc3Q6IChtZW51TGlzdDogTWVudUxpc3QpID0+IHtcbiAgICAgICAgdGhpcy5fZGVzY2VuZGFudE1lbnVMaXN0cy5wdXNoKG1lbnVMaXN0KTtcbiAgICAgIH0sXG4gICAgICB1bnJlZ2lzdGVyTWVudUxpc3Q6IChtZW51TGlzdDogTWVudUxpc3QpID0+IHtcbiAgICAgICAgY29uc3QgaSA9IHRoaXMuX2Rlc2NlbmRhbnRNZW51TGlzdHMuaW5kZXhPZihtZW51TGlzdCk7XG4gICAgICAgIGlmIChpIDwgMCkgdGhyb3cgbmV3IEVycm9yKCdNZW51TGlzdCBub3QgcmVnaXN0ZXJlZCcpO1xuICAgICAgICB0aGlzLl9kZXNjZW5kYW50TWVudUxpc3RzLnNwbGljZShpLCAxKTtcbiAgICAgIH0sXG4gICAgICBkaXNwYXRjaEV2ZW50OiAoZXZlbnQ6IE1lbnVFdmVudCkgPT4ge1xuICAgICAgICBzd2l0Y2ggKGV2ZW50LnR5cGUpIHtcbiAgICAgICAgY2FzZSAnY2hvc2VuJzpcbiAgICAgICAgICAvKjo6IGlmICghKGV2ZW50IGluc3RhbmNlb2YgQ2hvc2VuRXZlbnQpKSB0aHJvdyBuZXcgRXJyb3IoKTsgKi9cbiAgICAgICAgICBpZiAodGhpcy5wcm9wcy5vbkl0ZW1DaG9zZW4pIHRoaXMucHJvcHMub25JdGVtQ2hvc2VuKGV2ZW50KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnbGVmdCc6XG4gICAgICAgICAgaWYgKHRoaXMucHJvcHMub25MZWZ0UHVzaGVkKSB0aGlzLnByb3BzLm9uTGVmdFB1c2hlZChldmVudCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3JpZ2h0JzpcbiAgICAgICAgICBpZiAodGhpcy5wcm9wcy5vblJpZ2h0UHVzaGVkKSB0aGlzLnByb3BzLm9uUmlnaHRQdXNoZWQoZXZlbnQpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGlmIChldmVudC5jYW5jZWxCdWJibGUpIHJldHVybjtcbiAgICAgICAgY29uc3QgcGFyZW50Q3R4ID0gdGhpcy5fcGFyZW50Q3R4KCk7XG4gICAgICAgIGlmIChwYXJlbnRDdHgpIHtcbiAgICAgICAgICBwYXJlbnRDdHguZGlzcGF0Y2hFdmVudChldmVudCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICAgIHJldHVybiB7bWVudUxpc3RJbnNwZWN0b3J9O1xuICB9XG5cbiAgbW92ZUN1cnNvcihkaXJlY3Rpb246IERpcmVjdGlvbiwgcHJldkN1cnNvckxvY2F0aW9uOiA/UmVjdCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IG1lbnVMaXN0ID0gdGhpcy5fZGVzY2VuZGFudE1lbnVMaXN0c1swXTtcbiAgICBpZiAoIW1lbnVMaXN0KSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIG1lbnVMaXN0Lm1vdmVDdXJzb3IoZGlyZWN0aW9uLCBwcmV2Q3Vyc29yTG9jYXRpb24pO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgaGFzSGlnaGxpZ2h0KCk6IGJvb2xlYW4ge1xuICAgIGZvciAobGV0IGk9MCwgbGVuPXRoaXMuX2Rlc2NlbmRhbnRNZW51TGlzdHMubGVuZ3RoOyBpPGxlbjsgaSsrKSB7XG4gICAgICBpZiAodGhpcy5fZGVzY2VuZGFudE1lbnVMaXN0c1tpXS5oYXNIaWdobGlnaHQoKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmNoaWxkcmVuO1xuICB9XG59XG4iXX0=
(0, _defineProperty2.default)(MenuListInspector, "propTypes", {
onItemChosen: _propTypes.default.func,
onLeftPushed: _propTypes.default.func,
onRightPushed: _propTypes.default.func,
children: _propTypes.default.element
});
(0, _defineProperty2.default)(MenuListInspector, "contextType", MenuListInspectorContext);
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9NZW51TGlzdEluc3BlY3Rvci5qcyJdLCJuYW1lcyI6WyJNZW51TGlzdEluc3BlY3RvckNvbnRleHQiLCJSZWFjdCIsImNyZWF0ZUNvbnRleHQiLCJNZW51TGlzdEluc3BlY3RvciIsInJlZ2lzdGVyTWVudUxpc3QiLCJtZW51TGlzdCIsIl9kZXNjZW5kYW50TWVudUxpc3RzIiwicHVzaCIsInVucmVnaXN0ZXJNZW51TGlzdCIsImkiLCJpbmRleE9mIiwiRXJyb3IiLCJzcGxpY2UiLCJkaXNwYXRjaEV2ZW50IiwiZXZlbnQiLCJ0eXBlIiwicHJvcHMiLCJvbkl0ZW1DaG9zZW4iLCJvbkxlZnRQdXNoZWQiLCJvblJpZ2h0UHVzaGVkIiwiY2FuY2VsQnViYmxlIiwicGFyZW50Q3R4IiwiX3BhcmVudEN0eCIsImNvbnRleHQiLCJkaXJlY3Rpb24iLCJwcmV2Q3Vyc29yTG9jYXRpb24iLCJtb3ZlQ3Vyc29yIiwibGVuIiwibGVuZ3RoIiwiaGFzSGlnaGxpZ2h0IiwiX21lbnVMaXN0SW5zcGVjdG9yQ29udGV4dCIsImNoaWxkcmVuIiwiQ29tcG9uZW50IiwiUHJvcFR5cGVzIiwiZnVuYyIsImVsZW1lbnQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUE7O0FBRUE7O0FBR0E7O0FBU08sSUFBTUEsd0JBQXdCLEdBQUdDLGVBQU1DLGFBQU4sQ0FBb0QsSUFBcEQsQ0FBakM7Ozs7SUFTY0MsaUI7Ozs7Ozs7Ozs7Ozs7Ozs7OzZJQVdxQixFO2tKQU1tQjtBQUN6REMsTUFBQUEsZ0JBQWdCLEVBQUUsMEJBQUNDLFFBQUQsRUFBd0I7QUFDeEMsY0FBS0Msb0JBQUwsQ0FBMEJDLElBQTFCLENBQStCRixRQUEvQjtBQUNELE9BSHdEO0FBSXpERyxNQUFBQSxrQkFBa0IsRUFBRSw0QkFBQ0gsUUFBRCxFQUF3QjtBQUMxQyxZQUFNSSxDQUFDLEdBQUcsTUFBS0gsb0JBQUwsQ0FBMEJJLE9BQTFCLENBQWtDTCxRQUFsQyxDQUFWOztBQUNBLFlBQUlJLENBQUMsR0FBRyxDQUFSLEVBQVcsTUFBTSxJQUFJRSxLQUFKLENBQVUseUJBQVYsQ0FBTjs7QUFDWCxjQUFLTCxvQkFBTCxDQUEwQk0sTUFBMUIsQ0FBaUNILENBQWpDLEVBQW9DLENBQXBDO0FBQ0QsT0FSd0Q7QUFTekRJLE1BQUFBLGFBQWEsRUFBRSx1QkFBQ0MsS0FBRCxFQUFzQjtBQUNuQyxnQkFBUUEsS0FBSyxDQUFDQyxJQUFkO0FBQ0EsZUFBSyxRQUFMO0FBQ0U7QUFDQSxnQkFBSSxNQUFLQyxLQUFMLENBQVdDLFlBQWYsRUFBNkIsTUFBS0QsS0FBTCxDQUFXQyxZQUFYLENBQXdCSCxLQUF4QjtBQUM3Qjs7QUFDRixlQUFLLE1BQUw7QUFDRSxnQkFBSSxNQUFLRSxLQUFMLENBQVdFLFlBQWYsRUFBNkIsTUFBS0YsS0FBTCxDQUFXRSxZQUFYLENBQXdCSixLQUF4QjtBQUM3Qjs7QUFDRixlQUFLLE9BQUw7QUFDRSxnQkFBSSxNQUFLRSxLQUFMLENBQVdHLGFBQWYsRUFBOEIsTUFBS0gsS0FBTCxDQUFXRyxhQUFYLENBQXlCTCxLQUF6QjtBQUM5QjtBQVZGOztBQVlBLFlBQUlBLEtBQUssQ0FBQ00sWUFBVixFQUF3Qjs7QUFDeEIsWUFBTUMsU0FBUyxHQUFHLE1BQUtDLFVBQUwsRUFBbEI7O0FBQ0EsWUFBSUQsU0FBSixFQUFlO0FBQ2JBLFVBQUFBLFNBQVMsQ0FBQ1IsYUFBVixDQUF3QkMsS0FBeEI7QUFDRDtBQUNGO0FBM0J3RCxLOzs7Ozs7aUNBSmQ7QUFDM0MsYUFBTyxLQUFLUyxPQUFaO0FBQ0Q7OzsrQkFnQ1VDLFMsRUFBc0JDLGtCLEVBQW9DO0FBQ25FLFVBQU1wQixRQUFRLEdBQUcsS0FBS0Msb0JBQUwsQ0FBMEIsQ0FBMUIsQ0FBakI7O0FBQ0EsVUFBSSxDQUFDRCxRQUFMLEVBQWU7QUFDYixlQUFPLEtBQVA7QUFDRDs7QUFDREEsTUFBQUEsUUFBUSxDQUFDcUIsVUFBVCxDQUFvQkYsU0FBcEIsRUFBK0JDLGtCQUEvQjtBQUNBLGFBQU8sSUFBUDtBQUNEOzs7bUNBRXVCO0FBQ3RCLFdBQUssSUFBSWhCLENBQUMsR0FBQyxDQUFOLEVBQVNrQixHQUFHLEdBQUMsS0FBS3JCLG9CQUFMLENBQTBCc0IsTUFBNUMsRUFBb0RuQixDQUFDLEdBQUNrQixHQUF0RCxFQUEyRGxCLENBQUMsRUFBNUQsRUFBZ0U7QUFDOUQsWUFBSSxLQUFLSCxvQkFBTCxDQUEwQkcsQ0FBMUIsRUFBNkJvQixZQUE3QixFQUFKLEVBQWlEO0FBQy9DLGlCQUFPLElBQVA7QUFDRDtBQUNGOztBQUNELGFBQU8sS0FBUDtBQUNEOzs7NkJBRVE7QUFDUCxhQUNFLDZCQUFDLHdCQUFELENBQTBCLFFBQTFCO0FBQW1DLFFBQUEsS0FBSyxFQUFFLEtBQUtDO0FBQS9DLFNBQ0csS0FBS2QsS0FBTCxDQUFXZSxRQURkLENBREY7QUFLRDs7O0VBdkU0QzlCLGVBQU0rQixTOzs7OEJBQWhDN0IsaUIsZUFDQTtBQUNqQmMsRUFBQUEsWUFBWSxFQUFFZ0IsbUJBQVVDLElBRFA7QUFFakJoQixFQUFBQSxZQUFZLEVBQUVlLG1CQUFVQyxJQUZQO0FBR2pCZixFQUFBQSxhQUFhLEVBQUVjLG1CQUFVQyxJQUhSO0FBS2pCSCxFQUFBQSxRQUFRLEVBQUVFLG1CQUFVRTtBQUxILEM7OEJBREFoQyxpQixpQkFTRUgsd0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBAZmxvdyAqL1xuXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHR5cGUge05vZGUgYXMgUmVhY3ROb2RlfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHR5cGUgTWVudUxpc3QgZnJvbSAnLi9NZW51TGlzdCc7XG5pbXBvcnQgdHlwZSBNZW51RXZlbnQgZnJvbSAnLi9ldmVudHMvTWVudUV2ZW50JztcbmltcG9ydCBDaG9zZW5FdmVudCBmcm9tICcuL2V2ZW50cy9DaG9zZW5FdmVudCc7XG5pbXBvcnQgdHlwZSB7RGlyZWN0aW9uLCBSZWN0fSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IHR5cGUgTWVudUxpc3RJbnNwZWN0b3JDb250ZXh0VmFsdWUgPSB7XG4gIHJlZ2lzdGVyTWVudUxpc3QobWVudUxpc3Q6IE1lbnVMaXN0KTogdm9pZDtcbiAgdW5yZWdpc3Rlck1lbnVMaXN0KG1lbnVMaXN0OiBNZW51TGlzdCk6IHZvaWQ7XG4gIGRpc3BhdGNoRXZlbnQoZXZlbnQ6IE1lbnVFdmVudCk6IHZvaWQ7XG59O1xuXG5leHBvcnQgY29uc3QgTWVudUxpc3RJbnNwZWN0b3JDb250ZXh0ID0gUmVhY3QuY3JlYXRlQ29udGV4dDw/TWVudUxpc3RJbnNwZWN0b3JDb250ZXh0VmFsdWU+KG51bGwpO1xuXG5leHBvcnQgdHlwZSBQcm9wcyA9IHtcbiAgb25JdGVtQ2hvc2VuPzogKGV2ZW50OiBDaG9zZW5FdmVudCkgPT4gdm9pZDtcbiAgb25MZWZ0UHVzaGVkPzogKGV2ZW50OiBNZW51RXZlbnQpID0+IHZvaWQ7XG4gIG9uUmlnaHRQdXNoZWQ/OiAoZXZlbnQ6IE1lbnVFdmVudCkgPT4gdm9pZDtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE1lbnVMaXN0SW5zcGVjdG9yIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PFByb3BzPiB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgb25JdGVtQ2hvc2VuOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvbkxlZnRQdXNoZWQ6IFByb3BUeXBlcy5mdW5jLFxuICAgIG9uUmlnaHRQdXNoZWQ6IFByb3BUeXBlcy5mdW5jLFxuXG4gICAgY2hpbGRyZW46IFByb3BUeXBlcy5lbGVtZW50XG4gIH07XG5cbiAgc3RhdGljIGNvbnRleHRUeXBlID0gTWVudUxpc3RJbnNwZWN0b3JDb250ZXh0O1xuXG4gIF9kZXNjZW5kYW50TWVudUxpc3RzOiBBcnJheTxNZW51TGlzdD4gPSBbXTtcblxuICBfcGFyZW50Q3R4KCk6ID9NZW51TGlzdEluc3BlY3RvckNvbnRleHRWYWx1ZSB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dDtcbiAgfVxuXG4gIF9tZW51TGlzdEluc3BlY3RvckNvbnRleHQ6IE1lbnVMaXN0SW5zcGVjdG9yQ29udGV4dFZhbHVlID0ge1xuICAgIHJlZ2lzdGVyTWVudUxpc3Q6IChtZW51TGlzdDogTWVudUxpc3QpID0+IHtcbiAgICAgIHRoaXMuX2Rlc2NlbmRhbnRNZW51TGlzdHMucHVzaChtZW51TGlzdCk7XG4gICAgfSxcbiAgICB1bnJlZ2lzdGVyTWVudUxpc3Q6IChtZW51TGlzdDogTWVudUxpc3QpID0+IHtcbiAgICAgIGNvbnN0IGkgPSB0aGlzLl9kZXNjZW5kYW50TWVudUxpc3RzLmluZGV4T2YobWVudUxpc3QpO1xuICAgICAgaWYgKGkgPCAwKSB0aHJvdyBuZXcgRXJyb3IoJ01lbnVMaXN0IG5vdCByZWdpc3RlcmVkJyk7XG4gICAgICB0aGlzLl9kZXNjZW5kYW50TWVudUxpc3RzLnNwbGljZShpLCAxKTtcbiAgICB9LFxuICAgIGRpc3BhdGNoRXZlbnQ6IChldmVudDogTWVudUV2ZW50KSA9PiB7XG4gICAgICBzd2l0Y2ggKGV2ZW50LnR5cGUpIHtcbiAgICAgIGNhc2UgJ2Nob3Nlbic6XG4gICAgICAgIC8qOjogaWYgKCEoZXZlbnQgaW5zdGFuY2VvZiBDaG9zZW5FdmVudCkpIHRocm93IG5ldyBFcnJvcigpOyAqL1xuICAgICAgICBpZiAodGhpcy5wcm9wcy5vbkl0ZW1DaG9zZW4pIHRoaXMucHJvcHMub25JdGVtQ2hvc2VuKGV2ZW50KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdsZWZ0JzpcbiAgICAgICAgaWYgKHRoaXMucHJvcHMub25MZWZ0UHVzaGVkKSB0aGlzLnByb3BzLm9uTGVmdFB1c2hlZChldmVudCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAncmlnaHQnOlxuICAgICAgICBpZiAodGhpcy5wcm9wcy5vblJpZ2h0UHVzaGVkKSB0aGlzLnByb3BzLm9uUmlnaHRQdXNoZWQoZXZlbnQpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGlmIChldmVudC5jYW5jZWxCdWJibGUpIHJldHVybjtcbiAgICAgIGNvbnN0IHBhcmVudEN0eCA9IHRoaXMuX3BhcmVudEN0eCgpO1xuICAgICAgaWYgKHBhcmVudEN0eCkge1xuICAgICAgICBwYXJlbnRDdHguZGlzcGF0Y2hFdmVudChldmVudCk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIG1vdmVDdXJzb3IoZGlyZWN0aW9uOiBEaXJlY3Rpb24sIHByZXZDdXJzb3JMb2NhdGlvbjogP1JlY3QpOiBib29sZWFuIHtcbiAgICBjb25zdCBtZW51TGlzdCA9IHRoaXMuX2Rlc2NlbmRhbnRNZW51TGlzdHNbMF07XG4gICAgaWYgKCFtZW51TGlzdCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBtZW51TGlzdC5tb3ZlQ3Vyc29yKGRpcmVjdGlvbiwgcHJldkN1cnNvckxvY2F0aW9uKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGhhc0hpZ2hsaWdodCgpOiBib29sZWFuIHtcbiAgICBmb3IgKGxldCBpPTAsIGxlbj10aGlzLl9kZXNjZW5kYW50TWVudUxpc3RzLmxlbmd0aDsgaTxsZW47IGkrKykge1xuICAgICAgaWYgKHRoaXMuX2Rlc2NlbmRhbnRNZW51TGlzdHNbaV0uaGFzSGlnaGxpZ2h0KCkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPE1lbnVMaXN0SW5zcGVjdG9yQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17dGhpcy5fbWVudUxpc3RJbnNwZWN0b3JDb250ZXh0fT5cbiAgICAgICAge3RoaXMucHJvcHMuY2hpbGRyZW59XG4gICAgICA8L01lbnVMaXN0SW5zcGVjdG9yQ29udGV4dC5Qcm92aWRlcj5cbiAgICApO1xuICB9XG59XG4iXX0=

@@ -1,90 +0,75 @@

'use strict';
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _extends2 = require('babel-runtime/helpers/extends');
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread"));
var _extends3 = _interopRequireDefault(_extends2);
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _getPrototypeOf3 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _createClass2 = require('babel-runtime/helpers/createClass');
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
var _createClass3 = _interopRequireDefault(_createClass2);
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _kefir = _interopRequireDefault(require("kefir"));
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _kefirBus = _interopRequireDefault(require("kefir-bus"));
var _inherits2 = require('babel-runtime/helpers/inherits');
var _kefirStopper = _interopRequireDefault(require("kefir-stopper"));
var _inherits3 = _interopRequireDefault(_inherits2);
var _react = _interopRequireDefault(require("react"));
var _kefir = require('kefir');
var _propTypes = _interopRequireDefault(require("prop-types"));
var _kefir2 = _interopRequireDefault(_kefir);
var _pointRectDistance = _interopRequireDefault(require("./lib/pointRectDistance"));
var _kefirBus = require('kefir-bus');
var _MenuListInspector = _interopRequireDefault(require("./MenuListInspector"));
var _kefirBus2 = _interopRequireDefault(_kefirBus);
var _reactFloatAnchor = _interopRequireDefault(require("react-float-anchor"));
var _kefirStopper = require('kefir-stopper');
var _MenuItem = _interopRequireDefault(require("./MenuItem"));
var _kefirStopper2 = _interopRequireDefault(_kefirStopper);
var SubMenuItem =
/*#__PURE__*/
function (_React$Component) {
(0, _inherits2.default)(SubMenuItem, _React$Component);
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _propTypes = require('prop-types');
var _propTypes2 = _interopRequireDefault(_propTypes);
var _pointRectDistance = require('./lib/pointRectDistance');
var _pointRectDistance2 = _interopRequireDefault(_pointRectDistance);
var _MenuListInspector = require('./MenuListInspector');
var _MenuListInspector2 = _interopRequireDefault(_MenuListInspector);
var _reactFloatAnchor = require('react-float-anchor');
var _reactFloatAnchor2 = _interopRequireDefault(_reactFloatAnchor);
var _MenuItem = require('./MenuItem');
var _MenuItem2 = _interopRequireDefault(_MenuItem);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var SubMenuItem = function (_React$Component) {
(0, _inherits3.default)(SubMenuItem, _React$Component);
function SubMenuItem() {
var _ref;
var _getPrototypeOf2;
var _temp, _this, _ret;
var _this;
(0, _classCallCheck3.default)(this, SubMenuItem);
(0, _classCallCheck2.default)(this, SubMenuItem);
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = SubMenuItem.__proto__ || (0, _getPrototypeOf2.default)(SubMenuItem)).call.apply(_ref, [this].concat(args))), _this), _this.state = {
_this = (0, _possibleConstructorReturn2.default)(this, (_getPrototypeOf2 = (0, _getPrototypeOf3.default)(SubMenuItem)).call.apply(_getPrototypeOf2, [this].concat(args)));
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), "state", {
opened: false
}, _this._resetMouseLeaveWatcher = (0, _kefirBus2.default)(), _this._stopper = (0, _kefirStopper2.default)(), _temp), (0, _possibleConstructorReturn3.default)(_this, _ret);
});
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), "_menuItemRef", _react.default.createRef());
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), "_floatAnchorRef", _react.default.createRef());
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), "_menuInspectorRef", _react.default.createRef());
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), "_menuContainerRef", _react.default.createRef());
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), "_resetMouseLeaveWatcher", (0, _kefirBus.default)());
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), "_stopper", (0, _kefirStopper.default)());
return _this;
}
(0, _createClass3.default)(SubMenuItem, [{
key: 'componentWillUnmount',
(0, _createClass2.default)(SubMenuItem, [{
key: "componentWillUnmount",
value: function componentWillUnmount() {

@@ -94,26 +79,36 @@ this._stopper.destroy();

}, {
key: 'open',
value: function open(callback) {
key: "open",
value: function open() {
var _this2 = this;
this._menuItem.lockHighlight();
if (this.state.opened) return;
var menuItem = this._menuItemRef.current;
if (!menuItem) throw new Error();
menuItem.lockHighlight();
if (this.state.opened) return Promise.resolve();
if (this.props.onWillOpen) this.props.onWillOpen();
this.setState({ opened: true }, function () {
if (_this2.props.onDidOpen) _this2.props.onDidOpen();
if (callback) callback();
menuItem.takeKeyboard();
return new Promise(function (resolve) {
_this2.setState({
opened: true
}, function () {
if (_this2.props.onDidOpen) _this2.props.onDidOpen();
resolve();
});
});
this._menuItem.takeKeyboard();
}
}, {
key: 'close',
key: "close",
value: function close() {
var menuItem = this._menuItemRef.current;
if (!menuItem) throw new Error();
if (!this.state.opened) return;
if (this.props.onWillClose) this.props.onWillClose();
this.setState({ opened: false });
this._menuItem.releaseKeyboard();
this._menuItem.unlockHighlight();
this.setState({
opened: false
});
menuItem.releaseKeyboard();
menuItem.unlockHighlight();
}
}, {
key: 'toggle',
key: "toggle",
value: function toggle() {

@@ -127,30 +122,39 @@ if (this.state.opened) {

}, {
key: 'reposition',
key: "reposition",
value: function reposition() {
this._floatAnchor.reposition();
var floatAnchor = this._floatAnchorRef.current;
if (!floatAnchor) throw new Error();
floatAnchor.reposition();
}
}, {
key: 'hasHighlight',
key: "hasHighlight",
value: function hasHighlight() {
return this._menuItem.hasHighlight();
var menuItem = this._menuItemRef.current;
if (!menuItem) throw new Error();
return menuItem.hasHighlight();
}
}, {
key: 'highlight',
key: "highlight",
value: function highlight() {
var byKeyboard = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
this._menuItem.highlight(byKeyboard);
var menuItem = this._menuItemRef.current;
if (!menuItem) throw new Error();
menuItem.highlight(byKeyboard);
}
}, {
key: 'unhighlight',
key: "unhighlight",
value: function unhighlight() {
this._menuItem.unhighlight();
var menuItem = this._menuItemRef.current;
if (!menuItem) throw new Error();
menuItem.unhighlight();
}
}, {
key: 'moveCursor',
key: "moveCursor",
value: function moveCursor(direction, prevCursorLocation) {
this._menuItem.moveCursor(direction, prevCursorLocation);
var menuItem = this._menuItemRef.current;
if (!menuItem) throw new Error();
menuItem.moveCursor(direction, prevCursorLocation);
}
}, {
key: '_onHighlightChange',
key: "_onHighlightChange",
value: function _onHighlightChange(highlighted, event) {

@@ -164,3 +168,3 @@ var _this3 = this;

_kefir2.default.later(OPEN_DELAY).takeUntilBy(this._resetMouseLeaveWatcher).takeUntilBy(this._stopper).onValue(function () {
_kefir.default.later(OPEN_DELAY).takeUntilBy(this._resetMouseLeaveWatcher).takeUntilBy(this._stopper).onValue(function () {
_this3.open();

@@ -173,15 +177,17 @@ });

}, {
key: '_onMouseLeaveItem',
key: "_onMouseLeaveItem",
value: function _onMouseLeaveItem(event) {
var _this4 = this;
var menuItem = this._menuItemRef.current;
var menuContainer = this._menuContainerRef.current;
if (!menuItem || !menuContainer) throw new Error();
if (!this.state.opened) {
this._menuItem.unhighlight();
menuItem.unhighlight();
return;
}
} // If the mouse isn't going toward the menu, then unhighlight ourself.
// If the mouse isn't going toward the menu, then unhighlight ourself.
var menuRect = this._menuContainer.getBoundingClientRect();
var menuRect = menuContainer.getBoundingClientRect();
var startTime = Date.now();

@@ -192,85 +198,88 @@ var startX = event.pageX,

function getDistance(x, y) {
return (0, _pointRectDistance2.default)(x, y, menuRect.left, menuRect.top, menuRect.right - menuRect.width, menuRect.bottom - menuRect.top);
return (0, _pointRectDistance.default)(x, y, menuRect.left, menuRect.top, menuRect.right - menuRect.width, menuRect.bottom - menuRect.top);
}
var startDistance = getDistance(startX, startY);
var lastCoords = { pageX: startX, pageY: startY };
// pixels per second the user must be moving the mouse toward the menu for
var lastCoords = {
pageX: startX,
pageY: startY
}; // pixels per second the user must be moving the mouse toward the menu for
// the menu to stay open.
var MIN_SPEED = 60;
// ms before the menu will close if the user hasn't reached it yet, no
var MIN_SPEED = 60; // ms before the menu will close if the user hasn't reached it yet, no
// matter how they're moving the cursor toward it.
var MAX_TIME = 750;
// ms to offset start time, to set maxDistance back a little so it's not so
var MAX_TIME = 750; // ms to offset start time, to set maxDistance back a little so it's not so
// unforgiving at the very start.
var LEAD_TIME = 50;
// Listen to mouse moves, find the first event not going towards the menu,
var LEAD_TIME = 50; // Listen to mouse moves, find the first event not going towards the menu,
// and end it there. Or end after a timer.
_kefir2.default.fromEvents(window, 'mousemove').bufferBy(_kefir2.default.interval(60, null)).map(function (events) {
_kefir.default.fromEvents(window, 'mousemove').bufferBy(_kefir.default.interval(60, null)).map(function (events) {
if (events.length) {
var last = events[events.length - 1];
lastCoords = { pageX: last.pageX, pageY: last.pageY };
lastCoords = {
pageX: last.pageX,
pageY: last.pageY
};
}
return lastCoords;
}).filter(function (_ref2) {
var pageX = _ref2.pageX,
pageY = _ref2.pageY;
}).filter(function (_ref) {
var pageX = _ref.pageX,
pageY = _ref.pageY;
var distance = getDistance(pageX, pageY);
var maxDistance = startDistance - (Date.now() - startTime - LEAD_TIME) / 1000 * MIN_SPEED;
return distance > maxDistance;
}).merge(_kefir2.default.later(MAX_TIME * 1000)).take(1).takeUntilBy(this._resetMouseLeaveWatcher).takeUntilBy(this._stopper).onValue(function () {
}).merge(_kefir.default.later(MAX_TIME * 1000)).take(1).takeUntilBy(this._resetMouseLeaveWatcher).takeUntilBy(this._stopper).onValue(function () {
_this4.close();
_this4._menuItem.unhighlight();
menuItem.unhighlight();
});
}
}, {
key: '_mouseEnterMenu',
key: "_mouseEnterMenu",
value: function _mouseEnterMenu() {
var menuItem = this._menuItemRef.current;
if (!menuItem) throw new Error();
this._resetMouseLeaveWatcher.emit(null);
this._menuItem.unlockHighlight();
menuItem.unlockHighlight();
}
}, {
key: 'render',
key: "render",
value: function render() {
var _this5 = this;
var _props = this.props,
index = _props.index,
highlightedStyle = _props.highlightedStyle,
highlightedClassName = _props.highlightedClassName,
positionOptions = _props.positionOptions,
menuZIndex = _props.menuZIndex,
children = _props.children,
menu = _props.menu;
var _this$props = this.props,
index = _this$props.index,
highlightedStyle = _this$props.highlightedStyle,
highlightedClassName = _this$props.highlightedClassName,
positionOptions = _this$props.positionOptions,
menuZIndex = _this$props.menuZIndex,
children = _this$props.children,
menu = _this$props.menu;
var opened = this.state.opened;
var style = this.props.style;
var className = this.props.className;
if (opened) {
if (this.props.openedStyle) {
style = (0, _extends3.default)({}, style, this.props.openedStyle);
style = (0, _objectSpread2.default)({}, style, this.props.openedStyle);
}
if (this.props.openedClassName) {
className = (className || '') + ' ' + this.props.openedClassName;
className = "".concat(className || '', " ").concat(this.props.openedClassName);
}
}
return _react2.default.createElement(_reactFloatAnchor2.default, {
ref: function ref(el) {
if (el) _this5._floatAnchor = el;
},
return _react.default.createElement(_reactFloatAnchor.default, {
ref: this._floatAnchorRef,
options: positionOptions,
zIndex: menuZIndex,
anchor: _react2.default.createElement(
_MenuItem2.default,
{
ref: function ref(el) {
if (el) _this5._menuItem = el;
},
anchor: function anchor(anchorRef) {
return _react.default.createElement(_MenuItem.default, {
ref: _this5._menuItemRef,
domRef: anchorRef,
index: index,

@@ -291,4 +300,8 @@ style: style,

e.preventDefault();
_this5.open();
_this5._menuInspector.moveCursor('down');
var menuInspector = _this5._menuInspectorRef.current;
if (!menuInspector) throw new Error();
menuInspector.moveCursor('down');
}

@@ -299,37 +312,29 @@ },

e.preventDefault();
_this5.open();
if (e.byKeyboard) {
_this5._menuInspector.moveCursor('down');
var menuInspector = _this5._menuInspectorRef.current;
if (!menuInspector) throw new Error();
menuInspector.moveCursor('down');
}
},
'aria-haspopup': true,
'aria-expanded': opened
},
children
),
float: !opened ? null : _react2.default.createElement(
_MenuListInspector2.default,
{
ref: function ref(el) {
if (el) _this5._menuInspector = el;
},
onLeftPushed: function onLeftPushed(e) {
e.stopPropagation();
e.preventDefault();
_this5.close();
}
},
_react2.default.createElement(
'div',
{
ref: function ref(el) {
if (el) _this5._menuContainer = el;
},
onMouseEnter: function onMouseEnter() {
return _this5._mouseEnterMenu();
}
},
menu
)
)
"aria-haspopup": true,
"aria-expanded": opened
}, children);
},
float: !opened ? null : _react.default.createElement(_MenuListInspector.default, {
ref: this._menuInspectorRef,
onLeftPushed: function onLeftPushed(e) {
e.stopPropagation();
e.preventDefault();
_this5.close();
}
}, _react.default.createElement("div", {
ref: this._menuContainerRef,
onMouseEnter: function onMouseEnter() {
return _this5._mouseEnterMenu();
}
}, menu))
});

@@ -339,32 +344,30 @@ }

return SubMenuItem;
}(_react2.default.Component);
}(_react.default.Component);
SubMenuItem.propTypes = {
menu: _propTypes2.default.node,
positionOptions: _propTypes2.default.object,
menuZIndex: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]),
onWillOpen: _propTypes2.default.func,
onDidOpen: _propTypes2.default.func,
onWillClose: _propTypes2.default.func,
className: _propTypes2.default.string,
style: _propTypes2.default.object,
highlightedClassName: _propTypes2.default.string,
highlightedStyle: _propTypes2.default.object,
index: _propTypes2.default.number,
openedClassName: _propTypes2.default.string,
openedStyle: _propTypes2.default.object,
onItemChosen: _propTypes2.default.func,
onHighlightChange: _propTypes2.default.func,
children: _propTypes2.default.node
};
SubMenuItem.defaultProps = {
positionOptions: { position: 'right', vAlign: 'top', hAlign: 'left' }
};
exports.default = SubMenuItem;
module.exports = exports['default'];
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9TdWJNZW51SXRlbS5qcyJdLCJuYW1lcyI6WyJTdWJNZW51SXRlbSIsInN0YXRlIiwib3BlbmVkIiwiX3Jlc2V0TW91c2VMZWF2ZVdhdGNoZXIiLCJfc3RvcHBlciIsImRlc3Ryb3kiLCJjYWxsYmFjayIsIl9tZW51SXRlbSIsImxvY2tIaWdobGlnaHQiLCJwcm9wcyIsIm9uV2lsbE9wZW4iLCJzZXRTdGF0ZSIsIm9uRGlkT3BlbiIsInRha2VLZXlib2FyZCIsIm9uV2lsbENsb3NlIiwicmVsZWFzZUtleWJvYXJkIiwidW5sb2NrSGlnaGxpZ2h0IiwiY2xvc2UiLCJvcGVuIiwiX2Zsb2F0QW5jaG9yIiwicmVwb3NpdGlvbiIsImhhc0hpZ2hsaWdodCIsImJ5S2V5Ym9hcmQiLCJoaWdobGlnaHQiLCJ1bmhpZ2hsaWdodCIsImRpcmVjdGlvbiIsInByZXZDdXJzb3JMb2NhdGlvbiIsIm1vdmVDdXJzb3IiLCJoaWdobGlnaHRlZCIsImV2ZW50IiwiZW1pdCIsIk9QRU5fREVMQVkiLCJLZWZpciIsImxhdGVyIiwidGFrZVVudGlsQnkiLCJvblZhbHVlIiwibWVudVJlY3QiLCJfbWVudUNvbnRhaW5lciIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsInN0YXJ0VGltZSIsIkRhdGUiLCJub3ciLCJzdGFydFgiLCJwYWdlWCIsInN0YXJ0WSIsInBhZ2VZIiwiZ2V0RGlzdGFuY2UiLCJ4IiwieSIsImxlZnQiLCJ0b3AiLCJyaWdodCIsIndpZHRoIiwiYm90dG9tIiwic3RhcnREaXN0YW5jZSIsImxhc3RDb29yZHMiLCJNSU5fU1BFRUQiLCJNQVhfVElNRSIsIkxFQURfVElNRSIsImZyb21FdmVudHMiLCJ3aW5kb3ciLCJidWZmZXJCeSIsImludGVydmFsIiwibWFwIiwiZXZlbnRzIiwibGVuZ3RoIiwibGFzdCIsImZpbHRlciIsImRpc3RhbmNlIiwibWF4RGlzdGFuY2UiLCJtZXJnZSIsInRha2UiLCJpbmRleCIsImhpZ2hsaWdodGVkU3R5bGUiLCJoaWdobGlnaHRlZENsYXNzTmFtZSIsInBvc2l0aW9uT3B0aW9ucyIsIm1lbnVaSW5kZXgiLCJjaGlsZHJlbiIsIm1lbnUiLCJzdHlsZSIsImNsYXNzTmFtZSIsIm9wZW5lZFN0eWxlIiwib3BlbmVkQ2xhc3NOYW1lIiwiZWwiLCJoIiwiZSIsIl9vbkhpZ2hsaWdodENoYW5nZSIsIl9vbk1vdXNlTGVhdmVJdGVtIiwic3RvcFByb3BhZ2F0aW9uIiwicHJldmVudERlZmF1bHQiLCJfbWVudUluc3BlY3RvciIsIl9tb3VzZUVudGVyTWVudSIsIlJlYWN0IiwiQ29tcG9uZW50IiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwibm9kZSIsIm9iamVjdCIsIm9uZU9mVHlwZSIsInN0cmluZyIsIm51bWJlciIsImZ1bmMiLCJvbkl0ZW1DaG9zZW4iLCJvbkhpZ2hsaWdodENoYW5nZSIsImRlZmF1bHRQcm9wcyIsInBvc2l0aW9uIiwidkFsaWduIiwiaEFsaWduIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQTs7OztBQUNBOzs7O0FBRUE7Ozs7QUFDQTs7OztBQUVBOzs7O0FBQ0E7Ozs7QUFFQTs7OztBQUNBOzs7O0FBRUE7Ozs7OztJQWtDcUJBLFc7Ozs7Ozs7Ozs7Ozs7O3NOQTZCbkJDLEssR0FBZTtBQUNiQyxjQUFRO0FBREssSyxRQVFmQyx1QixHQUFxQyx5QixRQUNyQ0MsUSxHQUFXLDZCOzs7OzsyQ0FFWTtBQUNyQixXQUFLQSxRQUFMLENBQWNDLE9BQWQ7QUFDRDs7O3lCQUVJQyxRLEVBQXNCO0FBQUE7O0FBQ3pCLFdBQUtDLFNBQUwsQ0FBZUMsYUFBZjtBQUNBLFVBQUksS0FBS1AsS0FBTCxDQUFXQyxNQUFmLEVBQXVCO0FBQ3ZCLFVBQUksS0FBS08sS0FBTCxDQUFXQyxVQUFmLEVBQTJCLEtBQUtELEtBQUwsQ0FBV0MsVUFBWDtBQUMzQixXQUFLQyxRQUFMLENBQWMsRUFBQ1QsUUFBUSxJQUFULEVBQWQsRUFBOEIsWUFBTTtBQUNsQyxZQUFJLE9BQUtPLEtBQUwsQ0FB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QU1HYjtBQU5IO0FBVkY7QUExQ04sUUFERjtBQWlFRDs7O0VBOVBzQ2MsZ0JBQU1DLFM7O0FBQTFCN0YsVyxDQUNaOEYsUyxHQUFZO0FBQ2pCaEIsUUFBTWlCLG9CQUFVQyxJQURDO0FBRWpCckIsbUJBQWlCb0Isb0JBQVVFLE1BRlY7QUFHakJyQixjQUFZbUIsb0JBQVVHLFNBQVYsQ0FBb0IsQ0FBQ0gsb0JBQVVJLE1BQVgsRUFBbUJKLG9CQUFVSyxNQUE3QixDQUFwQixDQUhLOztBQUtqQjFGLGNBQVlxRixvQkFBVU0sSUFMTDtBQU1qQnpGLGFBQVdtRixvQkFBVU0sSUFOSjtBQU9qQnZGLGVBQWFpRixvQkFBVU0sSUFQTjs7QUFTakJyQixhQUFXZSxvQkFBVUksTUFUSjtBQVVqQnBCLFNBQU9nQixvQkFBVUUsTUFWQTtBQVdqQnZCLHdCQUFzQnFCLG9CQUFVSSxNQVhmO0FBWWpCMUIsb0JBQWtCc0Isb0JBQVVFLE1BWlg7QUFhakJ6QixTQUFPdUIsb0JBQVVLLE1BYkE7O0FBZWpCbEIsbUJBQWlCYSxvQkFBVUksTUFmVjtBQWdCakJsQixlQUFhYyxvQkFBVUUsTUFoQk47O0FBa0JqQkssZ0JBQWNQLG9CQUFVTSxJQWxCUDtBQW1CakJFLHFCQUFtQlIsb0JBQVVNLElBbkJaOztBQXFCakJ4QixZQUFVa0Isb0JBQVVDO0FBckJILEM7QUFEQWhHLFcsQ0F5Qlp3RyxZLEdBQWU7QUFDcEI3QixtQkFBaUIsRUFBQzhCLFVBQVMsT0FBVixFQUFtQkMsUUFBTyxLQUExQixFQUFpQ0MsUUFBUSxNQUF6QztBQURHLEM7a0JBekJIM0csVyIsImZpbGUiOiJTdWJNZW51SXRlbS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIEBmbG93ICovXG5cbmltcG9ydCBLZWZpciBmcm9tICdrZWZpcic7XG5pbXBvcnQga2VmaXJCdXMgZnJvbSAna2VmaXItYnVzJztcbmltcG9ydCB0eXBlIHtCdXN9IGZyb20gJ2tlZmlyLWJ1cyc7XG5pbXBvcnQga2VmaXJTdG9wcGVyIGZyb20gJ2tlZmlyLXN0b3BwZXInO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB0eXBlIHtOb2RlIGFzIFJlYWN0Tm9kZSwgRWxlbWVudCBhcyBSZWFjdEVsZW1lbnR9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgcG9pbnRSZWN0RGlzdGFuY2UgZnJvbSAnLi9saWIvcG9pbnRSZWN0RGlzdGFuY2UnO1xuXG5pbXBvcnQgTWVudUxpc3RJbnNwZWN0b3IgZnJvbSAnLi9NZW51TGlzdEluc3BlY3Rvcic7XG5pbXBvcnQgRmxvYXRBbmNob3IgZnJvbSAncmVhY3QtZmxvYXQtYW5jaG9yJztcbmltcG9ydCB0eXBlIHtPcHRpb25zIGFzIEZsb2F0QW5jaG9yT3B0aW9uc30gZnJvbSAncmVhY3QtZmxvYXQtYW5jaG9yJztcbmltcG9ydCBNZW51SXRlbSBmcm9tICcuL01lbnVJdGVtJztcblxuaW1wb3J0IHR5cGUge0RpcmVjdGlvbiwgUmVjdH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgdHlwZSBNZW51RXZlbnQgZnJvbSAnLi9ldmVudHMvTWVudUV2ZW50JztcbmltcG9ydCB0eXBlIENob3NlbkV2ZW50IGZyb20gJy4vZXZlbnRzL0Nob3NlbkV2ZW50JztcblxudHlwZSBTdGF0ZSA9IHtcbiAgb3BlbmVkOiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgUHJvcHMgPSB7XG4gIG1lbnU/OiBSZWFjdEVsZW1lbnQ8YW55PjtcbiAgcG9zaXRpb25PcHRpb25zOiBGbG9hdEFuY2hvck9wdGlvbnM7XG4gIG1lbnVaSW5kZXg/OiA/c3RyaW5nfG51bWJlcjtcblxuICBvbldpbGxPcGVuPzogPygpID0+IHZvaWQ7XG4gIG9uRGlkT3Blbj86ID8oKSA9PiB2b2lkO1xuICBvbldpbGxDbG9zZT86ID8oKSA9PiB2b2lkO1xuXG4gIGNsYXNzTmFtZT86ID9zdHJpbmc7XG4gIHN0eWxlPzogP09iamVjdDtcbiAgaGlnaGxpZ2h0ZWRDbGFzc05hbWU/OiA/c3RyaW5nO1xuICBoaWdobGlnaHRlZFN0eWxlPzogP09iamVjdDtcbiAgaW5kZXg/OiA/bnVtYmVyO1xuXG4gIG9wZW5lZENsYXNzTmFtZT86ID9zdHJpbmc7XG4gIG9wZW5lZFN0eWxlPzogP09iamVjdDtcblxuICBvbkl0ZW1DaG9zZW4/OiA/KGV2ZW50OiBDaG9zZW5FdmVudCkgPT4gdm9pZDtcbiAgb25IaWdobGlnaHRDaGFuZ2U/OiA/KGhpZ2hsaWdodGVkOiBib29sZWFuLCBkZXRhaWxzOiB7YnlLZXlib2FyZDogP2Jvb2xlYW4sIHByZXZDdXJzb3JMb2NhdGlvbjogP1JlY3QsIGRpcmVjdGlvbjogP0RpcmVjdGlvbn0pID0+IHZvaWQ7XG5cbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTdWJNZW51SXRlbSBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxQcm9wcywgU3RhdGU+IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBtZW51OiBQcm9wVHlwZXMubm9kZSxcbiAgICBwb3NpdGlvbk9wdGlvbnM6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbWVudVpJbmRleDogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLnN0cmluZywgUHJvcFR5cGVzLm51bWJlcl0pLFxuXG4gICAgb25XaWxsT3BlbjogUHJvcFR5cGVzLmZ1bmMsXG4gICAgb25EaWRPcGVuOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvbldpbGxDbG9zZTogUHJvcFR5cGVzLmZ1bmMsXG5cbiAgICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgc3R5bGU6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGlnaGxpZ2h0ZWRDbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgaGlnaGxpZ2h0ZWRTdHlsZTogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBpbmRleDogUHJvcFR5cGVzLm51bWJlcixcblxuICAgIG9wZW5lZENsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvcGVuZWRTdHlsZTogUHJvcFR5cGVzLm9iamVjdCxcblxuICAgIG9uSXRlbUNob3NlbjogUHJvcFR5cGVzLmZ1bmMsXG4gICAgb25IaWdobGlnaHRDaGFuZ2U6IFByb3BUeXBlcy5mdW5jLFxuXG4gICAgY2hpbGRyZW46IFByb3BUeXBlcy5ub2RlXG4gIH07XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBwb3NpdGlvbk9wdGlvbnM6IHtwb3NpdGlvbjoncmlnaHQnLCB2QWxpZ246J3RvcCcsIGhBbGlnbjogJ2xlZnQnfVxuICB9O1xuXG4gIHN0YXRlOiBTdGF0ZSA9IHtcbiAgICBvcGVuZWQ6IGZhbHNlXG4gIH07XG5cbiAgX21lbnVJdGVtOiBNZW51SXRlbTtcbiAgX21lbnVJbnNwZWN0b3I6IE1lbnVMaXN0SW5zcGVjdG9yO1xuICBfbWVudUNvbnRhaW5lcjogSFRNTEVsZW1lbnQ7XG4gIF9mbG9hdEFuY2hvcjogRmxvYXRBbmNob3I7XG4gIF9yZXNldE1vdXNlTGVhdmVXYXRjaGVyOiBCdXM8bnVsbD4gPSBrZWZpckJ1cygpO1xuICBfc3RvcHBlciA9IGtlZmlyU3RvcHBlcigpO1xuXG4gIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuICAgIHRoaXMuX3N0b3BwZXIuZGVzdHJveSgpO1xuICB9XG5cbiAgb3BlbihjYWxsYmFjaz86ICgpID0+IGFueSkge1xuICAgIHRoaXMuX21lbnVJdGVtLmxvY2tIaWdobGlnaHQoKTtcbiAgICBpZiAodGhpcy5zdGF0ZS5vcGVuZWQpIHJldHVybjtcbiAgICBpZiAodGhpcy5wcm9wcy5vbldpbGxPcGVuKSB0aGlzLnByb3BzLm9uV2lsbE9wZW4oKTtcbiAgICB0aGlzLnNldFN0YXRlKHtvcGVuZWQ6IHRydWV9LCAoKSA9PiB7XG4gICAgICBpZiAodGhpcy5wcm9wcy5vbkRpZE9wZW4pIHRoaXMucHJvcHMub25EaWRPcGVuKCk7XG4gICAgICBpZiAoY2FsbGJhY2spIGNhbGxiYWNrKCk7XG4gICAgfSk7XG4gICAgdGhpcy5fbWVudUl0ZW0udGFrZUtleWJvYXJkKCk7XG4gIH1cblxuICBjbG9zZSgpIHtcbiAgICBpZiAoIXRoaXMuc3RhdGUub3BlbmVkKSByZXR1cm47XG4gICAgaWYgKHRoaXMucHJvcHMub25XaWxsQ2xvc2UpIHRoaXMucHJvcHMub25XaWxsQ2xvc2UoKTtcbiAgICB0aGlzLnNldFN0YXRlKHtvcGVuZWQ6IGZhbHNlfSk7XG4gICAgdGhpcy5fbWVudUl0ZW0ucmVsZWFzZUtleWJvYXJkKCk7XG4gICAgdGhpcy5fbWVudUl0ZW0udW5sb2NrSGlnaGxpZ2h0KCk7XG4gIH1cblxuICB0b2dnbGUoKSB7XG4gICAgaWYgKHRoaXMuc3RhdGUub3BlbmVkKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub3BlbigpO1xuICAgIH1cbiAgfVxuXG4gIHJlcG9zaXRpb24oKSB7XG4gICAgdGhpcy5fZmxvYXRBbmNob3IucmVwb3NpdGlvbigpO1xuICB9XG5cbiAgaGFzSGlnaGxpZ2h0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9tZW51SXRlbS5oYXNIaWdobGlnaHQoKTtcbiAgfVxuXG4gIGhpZ2hsaWdodChieUtleWJvYXJkOiBib29sZWFuPXRydWUpIHtcbiAgICB0aGlzLl9tZW51SXRlbS5oaWdobGlnaHQoYnlLZXlib2FyZCk7XG4gIH1cblxuICB1bmhpZ2hsaWdodCgpIHtcbiAgICB0aGlzLl9tZW51SXRlbS51bmhpZ2hsaWdodCgpO1xuICB9XG5cbiAgbW92ZUN1cnNvcihkaXJlY3Rpb246IERpcmVjdGlvbiwgcHJldkN1cnNvckxvY2F0aW9uOiA/UmVjdCkge1xuICAgIHRoaXMuX21lbnVJdGVtLm1vdmVDdXJzb3IoZGlyZWN0aW9uLCBwcmV2Q3Vyc29yTG9jYXRpb24pO1xuICB9XG5cbiAgX29uSGlnaGxpZ2h0Q2hhbmdlKGhpZ2hsaWdodGVkOiBib29sZWFuLCBldmVudDogT2JqZWN0KSB7XG4gICAgdGhpcy5fcmVzZXRNb3VzZUxlYXZlV2F0Y2hlci5lbWl0KG51bGwpO1xuXG4gICAgaWYgKGhpZ2hsaWdodGVkICYmICFldmVudC5ieUtleWJvYXJkKSB7XG4gICAgICBjb25zdCBPUEVOX0RFTEFZID0gMjAwO1xuXG4gICAgICBLZWZpci5sYXRlcihPUEVOX0RFTEFZKVxuICAgICAgICAudGFrZVVudGlsQnkodGhpcy5fcmVzZXRNb3VzZUxlYXZlV2F0Y2hlcilcbiAgICAgICAgLnRha2VVbnRpbEJ5KHRoaXMuX3N0b3BwZXIpXG4gICAgICAgIC5vblZhbHVlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIGlmICghaGlnaGxpZ2h0ZWQpIHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICBfb25Nb3VzZUxlYXZlSXRlbShldmVudDogT2JqZWN0KSB7XG4gICAgaWYgKCF0aGlzLnN0YXRlLm9wZW5lZCkge1xuICAgICAgdGhpcy5fbWVudUl0ZW0udW5oaWdobGlnaHQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBJZiB0aGUgbW91c2UgaXNuJ3QgZ29pbmcgdG93YXJkIHRoZSBtZW51LCB0aGVuIHVuaGlnaGxpZ2h0IG91cnNlbGYuXG5cbiAgICBjb25zdCBtZW51UmVjdCA9IHRoaXMuX21lbnVDb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICBjb25zdCBzdGFydFRpbWUgPSBEYXRlLm5vdygpO1xuICAgIGNvbnN0IHN0YXJ0WCA9IGV2ZW50LnBhZ2VYLCBzdGFydFkgPSBldmVudC5wYWdlWTtcblxuICAgIGZ1bmN0aW9uIGdldERpc3RhbmNlKHgsIHkpIHtcbiAgICAgIHJldHVybiBwb2ludFJlY3REaXN0YW5jZSh4LCB5LCBtZW51UmVjdC5sZWZ0LCBtZW51UmVjdC50b3AsIG1lbnVSZWN0LnJpZ2h0LW1lbnVSZWN0LndpZHRoLCBtZW51UmVjdC5ib3R0b20tbWVudVJlY3QudG9wKTtcbiAgICB9XG5cbiAgICBjb25zdCBzdGFydERpc3RhbmNlID0gZ2V0RGlzdGFuY2Uoc3RhcnRYLCBzdGFydFkpO1xuICAgIGxldCBsYXN0Q29vcmRzID0ge3BhZ2VYOiBzdGFydFgsIHBhZ2VZOiBzdGFydFl9O1xuXG4gICAgLy8gcGl4ZWxzIHBlciBzZWNvbmQgdGhlIHVzZXIgbXVzdCBiZSBtb3ZpbmcgdGhlIG1vdXNlIHRvd2FyZCB0aGUgbWVudSBmb3JcbiAgICAvLyB0aGUgbWVudSB0byBzdGF5IG9wZW4uXG4gICAgY29uc3QgTUlOX1NQRUVEID0gNjA7XG5cbiAgICAvLyBtcyBiZWZvcmUgdGhlIG1lbnUgd2lsbCBjbG9zZSBpZiB0aGUgdXNlciBoYXNuJ3QgcmVhY2hlZCBpdCB5ZXQsIG5vXG4gICAgLy8gbWF0dGVyIGhvdyB0aGV5J3JlIG1vdmluZyB0aGUgY3Vyc29yIHRvd2FyZCBpdC5cbiAgICBjb25zdCBNQVhfVElNRSA9IDc1MDtcblxuICAgIC8vIG1zIHRvIG9mZnNldCBzdGFydCB0aW1lLCB0byBzZXQgbWF4RGlzdGFuY2UgYmFjayBhIGxpdHRsZSBzbyBpdCdzIG5vdCBzb1xuICAgIC8vIHVuZm9yZ2l2aW5nIGF0IHRoZSB2ZXJ5IHN0YXJ0LlxuICAgIGNvbnN0IExFQURfVElNRSA9IDUwO1xuXG4gICAgLy8gTGlzdGVuIHRvIG1vdXNlIG1vdmVzLCBmaW5kIHRoZSBmaXJzdCBldmVudCBub3QgZ29pbmcgdG93YXJkcyB0aGUgbWVudSxcbiAgICAvLyBhbmQgZW5kIGl0IHRoZXJlLiBPciBlbmQgYWZ0ZXIgYSB0aW1lci5cbiAgICBLZWZpci5mcm9tRXZlbnRzKHdpbmRvdywgJ21vdXNlbW92ZScpXG4gICAgICAuYnVmZmVyQnkoS2VmaXIuaW50ZXJ2YWwoNjAsIG51bGwpKVxuICAgICAgLm1hcChldmVudHMgPT4ge1xuICAgICAgICBpZiAoZXZlbnRzLmxlbmd0aCkge1xuICAgICAgICAgIGNvbnN0IGxhc3QgPSBldmVudHNbZXZlbnRzLmxlbmd0aC0xXTtcbiAgICAgICAgICBsYXN0Q29vcmRzID0ge3BhZ2VYOiBsYXN0LnBhZ2VYLCBwYWdlWTogbGFzdC5wYWdlWX07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGxhc3RDb29yZHM7XG4gICAgICB9KVxuICAgICAgLmZpbHRlcigoe3BhZ2VYLCBwYWdlWX0pID0+IHtcbiAgICAgICAgY29uc3QgZGlzdGFuY2UgPSBnZXREaXN0YW5jZShwYWdlWCwgcGFnZVkpO1xuICAgICAgICBjb25zdCBtYXhEaXN0YW5jZSA9IHN0YXJ0RGlzdGFuY2UgLSAoRGF0ZS5ub3coKS1zdGFydFRpbWUtTEVBRF9USU1FKS8xMDAwICogTUlOX1NQRUVEO1xuICAgICAgICByZXR1cm4gZGlzdGFuY2UgPiBtYXhEaXN0YW5jZTtcbiAgICAgIH0pXG4gICAgICAubWVyZ2UoS2VmaXIubGF0ZXIoTUFYX1RJTUUqMTAwMCkpXG4gICAgICAudGFrZSgxKVxuICAgICAgLnRha2VVbnRpbEJ5KHRoaXMuX3Jlc2V0TW91c2VMZWF2ZVdhdGNoZXIpXG4gICAgICAudGFrZVVudGlsQnkodGhpcy5fc3RvcHBlcilcbiAgICAgIC5vblZhbHVlKCgpID0+IHtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICB0aGlzLl9tZW51SXRlbS51bmhpZ2hsaWdodCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBfbW91c2VFbnRlck1lbnUoKSB7XG4gICAgdGhpcy5fcmVzZXRNb3VzZUxlYXZlV2F0Y2hlci5lbWl0KG51bGwpO1xuICAgIHRoaXMuX21lbnVJdGVtLnVubG9ja0hpZ2hsaWdodCgpO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtcbiAgICAgIGluZGV4LCBoaWdobGlnaHRlZFN0eWxlLCBoaWdobGlnaHRlZENsYXNzTmFtZSxcbiAgICAgIHBvc2l0aW9uT3B0aW9ucywgbWVudVpJbmRleCwgY2hpbGRyZW4sIG1lbnVcbiAgICB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7b3BlbmVkfSA9IHRoaXMuc3RhdGU7XG5cbiAgICBsZXQgc3R5bGUgPSB0aGlzLnByb3BzLnN0eWxlO1xuICAgIGxldCBjbGFzc05hbWUgPSB0aGlzLnByb3BzLmNsYXNzTmFtZTtcbiAgICBpZiAob3BlbmVkKSB7XG4gICAgICBpZiAodGhpcy5wcm9wcy5vcGVuZWRTdHlsZSkge1xuICAgICAgICBzdHlsZSA9IHsuLi5zdHlsZSwgLi4udGhpcy5wcm9wcy5vcGVuZWRTdHlsZX07XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5wcm9wcy5vcGVuZWRDbGFzc05hbWUpIHtcbiAgICAgICAgY2xhc3NOYW1lID0gYCR7Y2xhc3NOYW1lfHwnJ30gJHt0aGlzLnByb3BzLm9wZW5lZENsYXNzTmFtZX1gO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICA8RmxvYXRBbmNob3JcbiAgICAgICAgcmVmPXtlbCA9PiB7XG4gICAgICAgICAgaWYgKGVsKSB0aGlzLl9mbG9hdEFuY2hvciA9IGVsO1xuICAgICAgICB9fVxuICAgICAgICBvcHRpb25zPXtwb3NpdGlvbk9wdGlvbnN9XG4gICAgICAgIHpJbmRleD17bWVudVpJbmRleH1cbiAgICAgICAgYW5jaG9yPXtcbiAgICAgICAgICA8TWVudUl0ZW1cbiAgICAgICAgICAgIHJlZj17ZWwgPT4ge1xuICAgICAgICAgICAgICBpZiAoZWwpIHRoaXMuX21lbnVJdGVtID0gZWw7XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgaW5kZXg9e2luZGV4fVxuICAgICAgICAgICAgc3R5bGU9e3N0eWxlfVxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgICBoaWdobGlnaHRlZFN0eWxlPXtoaWdobGlnaHRlZFN0eWxlfVxuICAgICAgICAgICAgaGlnaGxpZ2h0ZWRDbGFzc05hbWU9e2hpZ2hsaWdodGVkQ2xhc3NOYW1lfVxuICAgICAgICAgICAgb25IaWdobGlnaHRDaGFuZ2U9eyhoLGUpID0+IHRoaXMuX29uSGlnaGxpZ2h0Q2hhbmdlKGgsZSl9XG4gICAgICAgICAgICBvbk1vdXNlTGVhdmU9e2UgPT4gdGhpcy5fb25Nb3VzZUxlYXZlSXRlbShlKX1cbiAgICAgICAgICAgIG9uUmlnaHRQdXNoZWQ9eyhlOiBNZW51RXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgaWYgKCF0aGlzLnN0YXRlLm9wZW5lZCkge1xuICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIHRoaXMub3BlbigpO1xuICAgICAgICAgICAgICAgIHRoaXMuX21lbnVJbnNwZWN0b3IubW92ZUN1cnNvcignZG93bicpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgb25JdGVtQ2hvc2VuPXsoZTogQ2hvc2VuRXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgICAgICAgICAgaWYgKGUuYnlLZXlib2FyZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX21lbnVJbnNwZWN0b3IubW92ZUN1cnNvcignZG93bicpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgYXJpYS1oYXNwb3B1cD17dHJ1ZX1cbiAgICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9e29wZW5lZH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgPC9NZW51SXRlbT5cbiAgICAgICAgfVxuICAgICAgICBmbG9hdD17XG4gICAgICAgICAgIW9wZW5lZCA/IG51bGwgOlxuICAgICAgICAgICAgPE1lbnVMaXN0SW5zcGVjdG9yXG4gICAgICAgICAgICAgIHJlZj17ZWwgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChlbCkgdGhpcy5fbWVudUluc3BlY3RvciA9IGVsO1xuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBvbkxlZnRQdXNoZWQ9e2UgPT4ge1xuICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIHJlZj17ZWwgPT4ge1xuICAgICAgICAgICAgICAgICAgaWYgKGVsKSB0aGlzLl9tZW51Q29udGFpbmVyID0gZWw7XG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICBvbk1vdXNlRW50ZXI9eygpPT50aGlzLl9tb3VzZUVudGVyTWVudSgpfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge21lbnV9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9NZW51TGlzdEluc3BlY3Rvcj5cbiAgICAgICAgfVxuICAgICAgLz5cbiAgICApO1xuICB9XG59XG4iXX0=
(0, _defineProperty2.default)(SubMenuItem, "propTypes", {
menu: _propTypes.default.node,
positionOptions: _propTypes.default.object,
menuZIndex: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
onWillOpen: _propTypes.default.func,
onDidOpen: _propTypes.default.func,
onWillClose: _propTypes.default.func,
className: _propTypes.default.string,
style: _propTypes.default.object,
highlightedClassName: _propTypes.default.string,
highlightedStyle: _propTypes.default.object,
index: _propTypes.default.number,
openedClassName: _propTypes.default.string,
openedStyle: _propTypes.default.object,
onItemChosen: _propTypes.default.func,
onHighlightChange: _propTypes.default.func,
children: _propTypes.default.node
});
(0, _defineProperty2.default)(SubMenuItem, "defaultProps", {
positionOptions: {
position: 'right',
vAlign: 'top',
hAlign: 'left'
}
});
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9TdWJNZW51SXRlbS5qcyJdLCJuYW1lcyI6WyJTdWJNZW51SXRlbSIsIm9wZW5lZCIsIlJlYWN0IiwiY3JlYXRlUmVmIiwiX3N0b3BwZXIiLCJkZXN0cm95IiwibWVudUl0ZW0iLCJfbWVudUl0ZW1SZWYiLCJjdXJyZW50IiwiRXJyb3IiLCJsb2NrSGlnaGxpZ2h0Iiwic3RhdGUiLCJQcm9taXNlIiwicmVzb2x2ZSIsInByb3BzIiwib25XaWxsT3BlbiIsInRha2VLZXlib2FyZCIsInNldFN0YXRlIiwib25EaWRPcGVuIiwib25XaWxsQ2xvc2UiLCJyZWxlYXNlS2V5Ym9hcmQiLCJ1bmxvY2tIaWdobGlnaHQiLCJjbG9zZSIsIm9wZW4iLCJmbG9hdEFuY2hvciIsIl9mbG9hdEFuY2hvclJlZiIsInJlcG9zaXRpb24iLCJoYXNIaWdobGlnaHQiLCJieUtleWJvYXJkIiwiaGlnaGxpZ2h0IiwidW5oaWdobGlnaHQiLCJkaXJlY3Rpb24iLCJwcmV2Q3Vyc29yTG9jYXRpb24iLCJtb3ZlQ3Vyc29yIiwiaGlnaGxpZ2h0ZWQiLCJldmVudCIsIl9yZXNldE1vdXNlTGVhdmVXYXRjaGVyIiwiZW1pdCIsIk9QRU5fREVMQVkiLCJLZWZpciIsImxhdGVyIiwidGFrZVVudGlsQnkiLCJvblZhbHVlIiwibWVudUNvbnRhaW5lciIsIl9tZW51Q29udGFpbmVyUmVmIiwibWVudVJlY3QiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJzdGFydFRpbWUiLCJEYXRlIiwibm93Iiwic3RhcnRYIiwicGFnZVgiLCJzdGFydFkiLCJwYWdlWSIsImdldERpc3RhbmNlIiwieCIsInkiLCJsZWZ0IiwidG9wIiwicmlnaHQiLCJ3aWR0aCIsImJvdHRvbSIsInN0YXJ0RGlzdGFuY2UiLCJsYXN0Q29vcmRzIiwiTUlOX1NQRUVEIiwiTUFYX1RJTUUiLCJMRUFEX1RJTUUiLCJmcm9tRXZlbnRzIiwid2luZG93IiwiYnVmZmVyQnkiLCJpbnRlcnZhbCIsIm1hcCIsImV2ZW50cyIsImxlbmd0aCIsImxhc3QiLCJmaWx0ZXIiLCJkaXN0YW5jZSIsIm1heERpc3RhbmNlIiwibWVyZ2UiLCJ0YWtlIiwiaW5kZXgiLCJoaWdobGlnaHRlZFN0eWxlIiwiaGlnaGxpZ2h0ZWRDbGFzc05hbWUiLCJwb3NpdGlvbk9wdGlvbnMiLCJtZW51WkluZGV4IiwiY2hpbGRyZW4iLCJtZW51Iiwic3R5bGUiLCJjbGFzc05hbWUiLCJvcGVuZWRTdHlsZSIsIm9wZW5lZENsYXNzTmFtZSIsImFuY2hvclJlZiIsImgiLCJlIiwiX29uSGlnaGxpZ2h0Q2hhbmdlIiwiX29uTW91c2VMZWF2ZUl0ZW0iLCJzdG9wUHJvcGFnYXRpb24iLCJwcmV2ZW50RGVmYXVsdCIsIm1lbnVJbnNwZWN0b3IiLCJfbWVudUluc3BlY3RvclJlZiIsIl9tb3VzZUVudGVyTWVudSIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsIm5vZGUiLCJvYmplY3QiLCJvbmVPZlR5cGUiLCJzdHJpbmciLCJudW1iZXIiLCJmdW5jIiwib25JdGVtQ2hvc2VuIiwib25IaWdobGlnaHRDaGFuZ2UiLCJwb3NpdGlvbiIsInZBbGlnbiIsImhBbGlnbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBOztBQUNBOztBQUVBOztBQUNBOztBQUVBOztBQUNBOztBQUVBOztBQUNBOztBQUdBOztJQWtDcUJBLFc7Ozs7Ozs7Ozs7Ozs7Ozs7OzhIQTZCSjtBQUNiQyxNQUFBQSxNQUFNLEVBQUU7QUFESyxLO3FJQUlBQyxlQUFNQyxTQUFOLEU7d0lBQ0dELGVBQU1DLFNBQU4sRTswSUFDRUQsZUFBTUMsU0FBTixFOzBJQUNBRCxlQUFNQyxTQUFOLEU7Z0pBQ2lCLHdCO2lJQUMxQiw0Qjs7Ozs7OzJDQUVZO0FBQ3JCLFdBQUtDLFFBQUwsQ0FBY0MsT0FBZDtBQUNEOzs7MkJBRXFCO0FBQUE7O0FBQ3BCLFVBQU1DLFFBQVEsR0FBRyxLQUFLQyxZQUFMLENBQWtCQyxPQUFuQztBQUNBLFVBQUksQ0FBQ0YsUUFBTCxFQUFlLE1BQU0sSUFB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QUFBaUNDLElBQUFBLE1BQU0sRUFBRTtBQUF6QztBQURHLEMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBAZmxvdyAqL1xuXG5pbXBvcnQgS2VmaXIgZnJvbSAna2VmaXInO1xuaW1wb3J0IGtlZmlyQnVzIGZyb20gJ2tlZmlyLWJ1cyc7XG5pbXBvcnQgdHlwZSB7QnVzfSBmcm9tICdrZWZpci1idXMnO1xuaW1wb3J0IGtlZmlyU3RvcHBlciBmcm9tICdrZWZpci1zdG9wcGVyJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdHlwZSB7Tm9kZSBhcyBSZWFjdE5vZGV9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgcG9pbnRSZWN0RGlzdGFuY2UgZnJvbSAnLi9saWIvcG9pbnRSZWN0RGlzdGFuY2UnO1xuXG5pbXBvcnQgTWVudUxpc3RJbnNwZWN0b3IgZnJvbSAnLi9NZW51TGlzdEluc3BlY3Rvcic7XG5pbXBvcnQgRmxvYXRBbmNob3IgZnJvbSAncmVhY3QtZmxvYXQtYW5jaG9yJztcbmltcG9ydCB0eXBlIHtPcHRpb25zIGFzIEZsb2F0QW5jaG9yT3B0aW9uc30gZnJvbSAncmVhY3QtZmxvYXQtYW5jaG9yJztcbmV4cG9ydCB0eXBlIHtPcHRpb25zIGFzIEZsb2F0QW5jaG9yT3B0aW9uc30gZnJvbSAncmVhY3QtZmxvYXQtYW5jaG9yJztcbmltcG9ydCBNZW51SXRlbSBmcm9tICcuL01lbnVJdGVtJztcblxuaW1wb3J0IHR5cGUge0RpcmVjdGlvbiwgUmVjdH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgdHlwZSBNZW51RXZlbnQgZnJvbSAnLi9ldmVudHMvTWVudUV2ZW50JztcbmltcG9ydCB0eXBlIENob3NlbkV2ZW50IGZyb20gJy4vZXZlbnRzL0Nob3NlbkV2ZW50JztcblxudHlwZSBTdGF0ZSA9IHtcbiAgb3BlbmVkOiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgUHJvcHMgPSB7XG4gIG1lbnU6IFJlYWN0Tm9kZTtcbiAgcG9zaXRpb25PcHRpb25zOiBGbG9hdEFuY2hvck9wdGlvbnM7XG4gIG1lbnVaSW5kZXg/OiBzdHJpbmd8bnVtYmVyO1xuXG4gIG9uV2lsbE9wZW4/OiAoKSA9PiB2b2lkO1xuICBvbkRpZE9wZW4/OiAoKSA9PiB2b2lkO1xuICBvbldpbGxDbG9zZT86ICgpID0+IHZvaWQ7XG5cbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICBzdHlsZT86IE9iamVjdDtcbiAgaGlnaGxpZ2h0ZWRDbGFzc05hbWU/OiBzdHJpbmc7XG4gIGhpZ2hsaWdodGVkU3R5bGU/OiBPYmplY3Q7XG4gIGluZGV4PzogbnVtYmVyO1xuXG4gIG9wZW5lZENsYXNzTmFtZT86IHN0cmluZztcbiAgb3BlbmVkU3R5bGU/OiBPYmplY3Q7XG5cbiAgb25JdGVtQ2hvc2VuPzogKGV2ZW50OiBDaG9zZW5FdmVudCkgPT4gdm9pZDtcbiAgb25IaWdobGlnaHRDaGFuZ2U/OiAoaGlnaGxpZ2h0ZWQ6IGJvb2xlYW4sIGRldGFpbHM6IHtieUtleWJvYXJkPzogYm9vbGVhbiwgcHJldkN1cnNvckxvY2F0aW9uPzogUmVjdCwgZGlyZWN0aW9uPzogRGlyZWN0aW9ufSkgPT4gdm9pZDtcblxuICBjaGlsZHJlbj86IFJlYWN0Tm9kZTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFN1Yk1lbnVJdGVtIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PFByb3BzLCBTdGF0ZT4ge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIG1lbnU6IFByb3BUeXBlcy5ub2RlLFxuICAgIHBvc2l0aW9uT3B0aW9uczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBtZW51WkluZGV4OiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuc3RyaW5nLCBQcm9wVHlwZXMubnVtYmVyXSksXG5cbiAgICBvbldpbGxPcGVuOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvbkRpZE9wZW46IFByb3BUeXBlcy5mdW5jLFxuICAgIG9uV2lsbENsb3NlOiBQcm9wVHlwZXMuZnVuYyxcblxuICAgIGNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBzdHlsZTogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBoaWdobGlnaHRlZENsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBoaWdobGlnaHRlZFN0eWxlOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGluZGV4OiBQcm9wVHlwZXMubnVtYmVyLFxuXG4gICAgb3BlbmVkQ2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIG9wZW5lZFN0eWxlOiBQcm9wVHlwZXMub2JqZWN0LFxuXG4gICAgb25JdGVtQ2hvc2VuOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvbkhpZ2hsaWdodENoYW5nZTogUHJvcFR5cGVzLmZ1bmMsXG5cbiAgICBjaGlsZHJlbjogUHJvcFR5cGVzLm5vZGVcbiAgfTtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIHBvc2l0aW9uT3B0aW9uczoge3Bvc2l0aW9uOidyaWdodCcsIHZBbGlnbjondG9wJywgaEFsaWduOiAnbGVmdCd9XG4gIH07XG5cbiAgc3RhdGU6IFN0YXRlID0ge1xuICAgIG9wZW5lZDogZmFsc2VcbiAgfTtcblxuICBfbWVudUl0ZW1SZWYgPSBSZWFjdC5jcmVhdGVSZWY8Q2xhc3M8TWVudUl0ZW0+PigpO1xuICBfZmxvYXRBbmNob3JSZWYgPSBSZWFjdC5jcmVhdGVSZWY8Q2xhc3M8RmxvYXRBbmNob3I+PigpO1xuICBfbWVudUluc3BlY3RvclJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxDbGFzczxNZW51TGlzdEluc3BlY3Rvcj4+KCk7XG4gIF9tZW51Q29udGFpbmVyUmVmID0gUmVhY3QuY3JlYXRlUmVmPCdkaXYnPigpO1xuICBfcmVzZXRNb3VzZUxlYXZlV2F0Y2hlcjogQnVzPG51bGw+ID0ga2VmaXJCdXMoKTtcbiAgX3N0b3BwZXIgPSBrZWZpclN0b3BwZXIoKTtcblxuICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICB0aGlzLl9zdG9wcGVyLmRlc3Ryb3koKTtcbiAgfVxuXG4gIG9wZW4oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgbWVudUl0ZW0gPSB0aGlzLl9tZW51SXRlbVJlZi5jdXJyZW50O1xuICAgIGlmICghbWVudUl0ZW0pIHRocm93IG5ldyBFcnJvcigpO1xuXG4gICAgbWVudUl0ZW0ubG9ja0hpZ2hsaWdodCgpO1xuICAgIGlmICh0aGlzLnN0YXRlLm9wZW5lZCkgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICAgIGlmICh0aGlzLnByb3BzLm9uV2lsbE9wZW4pIHRoaXMucHJvcHMub25XaWxsT3BlbigpO1xuICAgIG1lbnVJdGVtLnRha2VLZXlib2FyZCgpO1xuICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoe29wZW5lZDogdHJ1ZX0sICgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMucHJvcHMub25EaWRPcGVuKSB0aGlzLnByb3BzLm9uRGlkT3BlbigpO1xuICAgICAgICByZXNvbHZlKCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIGNvbnN0IG1lbnVJdGVtID0gdGhpcy5fbWVudUl0ZW1SZWYuY3VycmVudDtcbiAgICBpZiAoIW1lbnVJdGVtKSB0aHJvdyBuZXcgRXJyb3IoKTtcblxuICAgIGlmICghdGhpcy5zdGF0ZS5vcGVuZWQpIHJldHVybjtcbiAgICBpZiAodGhpcy5wcm9wcy5vbldpbGxDbG9zZSkgdGhpcy5wcm9wcy5vbldpbGxDbG9zZSgpO1xuICAgIHRoaXMuc2V0U3RhdGUoe29wZW5lZDogZmFsc2V9KTtcbiAgICBtZW51SXRlbS5yZWxlYXNlS2V5Ym9hcmQoKTtcbiAgICBtZW51SXRlbS51bmxvY2tIaWdobGlnaHQoKTtcbiAgfVxuXG4gIHRvZ2dsZSgpIHtcbiAgICBpZiAodGhpcy5zdGF0ZS5vcGVuZWQpIHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vcGVuKCk7XG4gICAgfVxuICB9XG5cbiAgcmVwb3NpdGlvbigpIHtcbiAgICBjb25zdCBmbG9hdEFuY2hvciA9IHRoaXMuX2Zsb2F0QW5jaG9yUmVmLmN1cnJlbnQ7XG4gICAgaWYgKCFmbG9hdEFuY2hvcikgdGhyb3cgbmV3IEVycm9yKCk7XG5cbiAgICBmbG9hdEFuY2hvci5yZXBvc2l0aW9uKCk7XG4gIH1cblxuICBoYXNIaWdobGlnaHQoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgbWVudUl0ZW0gPSB0aGlzLl9tZW51SXRlbVJlZi5jdXJyZW50O1xuICAgIGlmICghbWVudUl0ZW0pIHRocm93IG5ldyBFcnJvcigpO1xuXG4gICAgcmV0dXJuIG1lbnVJdGVtLmhhc0hpZ2hsaWdodCgpO1xuICB9XG5cbiAgaGlnaGxpZ2h0KGJ5S2V5Ym9hcmQ6IGJvb2xlYW49dHJ1ZSkge1xuICAgIGNvbnN0IG1lbnVJdGVtID0gdGhpcy5fbWVudUl0ZW1SZWYuY3VycmVudDtcbiAgICBpZiAoIW1lbnVJdGVtKSB0aHJvdyBuZXcgRXJyb3IoKTtcblxuICAgIG1lbnVJdGVtLmhpZ2hsaWdodChieUtleWJvYXJkKTtcbiAgfVxuXG4gIHVuaGlnaGxpZ2h0KCkge1xuICAgIGNvbnN0IG1lbnVJdGVtID0gdGhpcy5fbWVudUl0ZW1SZWYuY3VycmVudDtcbiAgICBpZiAoIW1lbnVJdGVtKSB0aHJvdyBuZXcgRXJyb3IoKTtcblxuICAgIG1lbnVJdGVtLnVuaGlnaGxpZ2h0KCk7XG4gIH1cblxuICBtb3ZlQ3Vyc29yKGRpcmVjdGlvbjogRGlyZWN0aW9uLCBwcmV2Q3Vyc29yTG9jYXRpb246ID9SZWN0KSB7XG4gICAgY29uc3QgbWVudUl0ZW0gPSB0aGlzLl9tZW51SXRlbVJlZi5jdXJyZW50O1xuICAgIGlmICghbWVudUl0ZW0pIHRocm93IG5ldyBFcnJvcigpO1xuXG4gICAgbWVudUl0ZW0ubW92ZUN1cnNvcihkaXJlY3Rpb24sIHByZXZDdXJzb3JMb2NhdGlvbik7XG4gIH1cblxuICBfb25IaWdobGlnaHRDaGFuZ2UoaGlnaGxpZ2h0ZWQ6IGJvb2xlYW4sIGV2ZW50OiBPYmplY3QpIHtcbiAgICB0aGlzLl9yZXNldE1vdXNlTGVhdmVXYXRjaGVyLmVtaXQobnVsbCk7XG5cbiAgICBpZiAoaGlnaGxpZ2h0ZWQgJiYgIWV2ZW50LmJ5S2V5Ym9hcmQpIHtcbiAgICAgIGNvbnN0IE9QRU5fREVMQVkgPSAyMDA7XG5cbiAgICAgIEtlZmlyLmxhdGVyKE9QRU5fREVMQVkpXG4gICAgICAgIC50YWtlVW50aWxCeSh0aGlzLl9yZXNldE1vdXNlTGVhdmVXYXRjaGVyKVxuICAgICAgICAudGFrZVVudGlsQnkodGhpcy5fc3RvcHBlcilcbiAgICAgICAgLm9uVmFsdWUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMub3BlbigpO1xuICAgICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKCFoaWdobGlnaHRlZCkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIF9vbk1vdXNlTGVhdmVJdGVtKGV2ZW50OiBPYmplY3QpIHtcbiAgICBjb25zdCBtZW51SXRlbSA9IHRoaXMuX21lbnVJdGVtUmVmLmN1cnJlbnQ7XG4gICAgY29uc3QgbWVudUNvbnRhaW5lciA9IHRoaXMuX21lbnVDb250YWluZXJSZWYuY3VycmVudDtcbiAgICBpZiAoIW1lbnVJdGVtIHx8ICFtZW51Q29udGFpbmVyKSB0aHJvdyBuZXcgRXJyb3IoKTtcblxuICAgIGlmICghdGhpcy5zdGF0ZS5vcGVuZWQpIHtcbiAgICAgIG1lbnVJdGVtLnVuaGlnaGxpZ2h0KCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gSWYgdGhlIG1vdXNlIGlzbid0IGdvaW5nIHRvd2FyZCB0aGUgbWVudSwgdGhlbiB1bmhpZ2hsaWdodCBvdXJzZWxmLlxuXG4gICAgY29uc3QgbWVudVJlY3QgPSBtZW51Q29udGFpbmVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgY29uc3Qgc3RhcnRUaW1lID0gRGF0ZS5ub3coKTtcbiAgICBjb25zdCBzdGFydFggPSBldmVudC5wYWdlWCwgc3RhcnRZID0gZXZlbnQucGFnZVk7XG5cbiAgICBmdW5jdGlvbiBnZXREaXN0YW5jZSh4LCB5KSB7XG4gICAgICByZXR1cm4gcG9pbnRSZWN0RGlzdGFuY2UoeCwgeSwgbWVudVJlY3QubGVmdCwgbWVudVJlY3QudG9wLCBtZW51UmVjdC5yaWdodC1tZW51UmVjdC53aWR0aCwgbWVudVJlY3QuYm90dG9tLW1lbnVSZWN0LnRvcCk7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RhcnREaXN0YW5jZSA9IGdldERpc3RhbmNlKHN0YXJ0WCwgc3RhcnRZKTtcbiAgICBsZXQgbGFzdENvb3JkcyA9IHtwYWdlWDogc3RhcnRYLCBwYWdlWTogc3RhcnRZfTtcblxuICAgIC8vIHBpeGVscyBwZXIgc2Vjb25kIHRoZSB1c2VyIG11c3QgYmUgbW92aW5nIHRoZSBtb3VzZSB0b3dhcmQgdGhlIG1lbnUgZm9yXG4gICAgLy8gdGhlIG1lbnUgdG8gc3RheSBvcGVuLlxuICAgIGNvbnN0IE1JTl9TUEVFRCA9IDYwO1xuXG4gICAgLy8gbXMgYmVmb3JlIHRoZSBtZW51IHdpbGwgY2xvc2UgaWYgdGhlIHVzZXIgaGFzbid0IHJlYWNoZWQgaXQgeWV0LCBub1xuICAgIC8vIG1hdHRlciBob3cgdGhleSdyZSBtb3ZpbmcgdGhlIGN1cnNvciB0b3dhcmQgaXQuXG4gICAgY29uc3QgTUFYX1RJTUUgPSA3NTA7XG5cbiAgICAvLyBtcyB0byBvZmZzZXQgc3RhcnQgdGltZSwgdG8gc2V0IG1heERpc3RhbmNlIGJhY2sgYSBsaXR0bGUgc28gaXQncyBub3Qgc29cbiAgICAvLyB1bmZvcmdpdmluZyBhdCB0aGUgdmVyeSBzdGFydC5cbiAgICBjb25zdCBMRUFEX1RJTUUgPSA1MDtcblxuICAgIC8vIExpc3RlbiB0byBtb3VzZSBtb3ZlcywgZmluZCB0aGUgZmlyc3QgZXZlbnQgbm90IGdvaW5nIHRvd2FyZHMgdGhlIG1lbnUsXG4gICAgLy8gYW5kIGVuZCBpdCB0aGVyZS4gT3IgZW5kIGFmdGVyIGEgdGltZXIuXG4gICAgS2VmaXIuZnJvbUV2ZW50cyh3aW5kb3csICdtb3VzZW1vdmUnKVxuICAgICAgLmJ1ZmZlckJ5KEtlZmlyLmludGVydmFsKDYwLCBudWxsKSlcbiAgICAgIC5tYXAoZXZlbnRzID0+IHtcbiAgICAgICAgaWYgKGV2ZW50cy5sZW5ndGgpIHtcbiAgICAgICAgICBjb25zdCBsYXN0ID0gZXZlbnRzW2V2ZW50cy5sZW5ndGgtMV07XG4gICAgICAgICAgbGFzdENvb3JkcyA9IHtwYWdlWDogbGFzdC5wYWdlWCwgcGFnZVk6IGxhc3QucGFnZVl9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBsYXN0Q29vcmRzO1xuICAgICAgfSlcbiAgICAgIC5maWx0ZXIoKHtwYWdlWCwgcGFnZVl9KSA9PiB7XG4gICAgICAgIGNvbnN0IGRpc3RhbmNlID0gZ2V0RGlzdGFuY2UocGFnZVgsIHBhZ2VZKTtcbiAgICAgICAgY29uc3QgbWF4RGlzdGFuY2UgPSBzdGFydERpc3RhbmNlIC0gKERhdGUubm93KCktc3RhcnRUaW1lLUxFQURfVElNRSkvMTAwMCAqIE1JTl9TUEVFRDtcbiAgICAgICAgcmV0dXJuIGRpc3RhbmNlID4gbWF4RGlzdGFuY2U7XG4gICAgICB9KVxuICAgICAgLm1lcmdlKEtlZmlyLmxhdGVyKE1BWF9USU1FKjEwMDApKVxuICAgICAgLnRha2UoMSlcbiAgICAgIC50YWtlVW50aWxCeSh0aGlzLl9yZXNldE1vdXNlTGVhdmVXYXRjaGVyKVxuICAgICAgLnRha2VVbnRpbEJ5KHRoaXMuX3N0b3BwZXIpXG4gICAgICAub25WYWx1ZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgbWVudUl0ZW0udW5oaWdobGlnaHQoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgX21vdXNlRW50ZXJNZW51KCkge1xuICAgIGNvbnN0IG1lbnVJdGVtID0gdGhpcy5fbWVudUl0ZW1SZWYuY3VycmVudDtcbiAgICBpZiAoIW1lbnVJdGVtKSB0aHJvdyBuZXcgRXJyb3IoKTtcblxuICAgIHRoaXMuX3Jlc2V0TW91c2VMZWF2ZVdhdGNoZXIuZW1pdChudWxsKTtcbiAgICBtZW51SXRlbS51bmxvY2tIaWdobGlnaHQoKTtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICBpbmRleCwgaGlnaGxpZ2h0ZWRTdHlsZSwgaGlnaGxpZ2h0ZWRDbGFzc05hbWUsXG4gICAgICBwb3NpdGlvbk9wdGlvbnMsIG1lbnVaSW5kZXgsIGNoaWxkcmVuLCBtZW51XG4gICAgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3Qge29wZW5lZH0gPSB0aGlzLnN0YXRlO1xuXG4gICAgbGV0IHN0eWxlID0gdGhpcy5wcm9wcy5zdHlsZTtcbiAgICBsZXQgY2xhc3NOYW1lID0gdGhpcy5wcm9wcy5jbGFzc05hbWU7XG4gICAgaWYgKG9wZW5lZCkge1xuICAgICAgaWYgKHRoaXMucHJvcHMub3BlbmVkU3R5bGUpIHtcbiAgICAgICAgc3R5bGUgPSB7Li4uc3R5bGUsIC4uLnRoaXMucHJvcHMub3BlbmVkU3R5bGV9O1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMucHJvcHMub3BlbmVkQ2xhc3NOYW1lKSB7XG4gICAgICAgIGNsYXNzTmFtZSA9IGAke2NsYXNzTmFtZXx8Jyd9ICR7dGhpcy5wcm9wcy5vcGVuZWRDbGFzc05hbWV9YDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPEZsb2F0QW5jaG9yXG4gICAgICAgIHJlZj17dGhpcy5fZmxvYXRBbmNob3JSZWZ9XG4gICAgICAgIG9wdGlvbnM9e3Bvc2l0aW9uT3B0aW9uc31cbiAgICAgICAgekluZGV4PXttZW51WkluZGV4fVxuICAgICAgICBhbmNob3I9e2FuY2hvclJlZiA9PlxuICAgICAgICAgIDxNZW51SXRlbVxuICAgICAgICAgICAgcmVmPXt0aGlzLl9tZW51SXRlbVJlZn1cbiAgICAgICAgICAgIGRvbVJlZj17YW5jaG9yUmVmfVxuICAgICAgICAgICAgaW5kZXg9e2luZGV4fVxuICAgICAgICAgICAgc3R5bGU9e3N0eWxlfVxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgICBoaWdobGlnaHRlZFN0eWxlPXtoaWdobGlnaHRlZFN0eWxlfVxuICAgICAgICAgICAgaGlnaGxpZ2h0ZWRDbGFzc05hbWU9e2hpZ2hsaWdodGVkQ2xhc3NOYW1lfVxuICAgICAgICAgICAgb25IaWdobGlnaHRDaGFuZ2U9eyhoLGUpID0+IHRoaXMuX29uSGlnaGxpZ2h0Q2hhbmdlKGgsZSl9XG4gICAgICAgICAgICBvbk1vdXNlTGVhdmU9e2UgPT4gdGhpcy5fb25Nb3VzZUxlYXZlSXRlbShlKX1cbiAgICAgICAgICAgIG9uUmlnaHRQdXNoZWQ9eyhlOiBNZW51RXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgaWYgKCF0aGlzLnN0YXRlLm9wZW5lZCkge1xuICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIHRoaXMub3BlbigpO1xuICAgICAgICAgICAgICAgIGNvbnN0IG1lbnVJbnNwZWN0b3IgPSB0aGlzLl9tZW51SW5zcGVjdG9yUmVmLmN1cnJlbnQ7XG4gICAgICAgICAgICAgICAgaWYgKCFtZW51SW5zcGVjdG9yKSB0aHJvdyBuZXcgRXJyb3IoKTtcbiAgICAgICAgICAgICAgICBtZW51SW5zcGVjdG9yLm1vdmVDdXJzb3IoJ2Rvd24nKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIG9uSXRlbUNob3Nlbj17KGU6IENob3NlbkV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgdGhpcy5vcGVuKCk7XG4gICAgICAgICAgICAgIGlmIChlLmJ5S2V5Ym9hcmQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBtZW51SW5zcGVjdG9yID0gdGhpcy5fbWVudUluc3BlY3RvclJlZi5jdXJyZW50O1xuICAgICAgICAgICAgICAgIGlmICghbWVudUluc3BlY3RvcikgdGhyb3cgbmV3IEVycm9yKCk7XG4gICAgICAgICAgICAgICAgbWVudUluc3BlY3Rvci5tb3ZlQ3Vyc29yKCdkb3duJyk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBhcmlhLWhhc3BvcHVwPXt0cnVlfVxuICAgICAgICAgICAgYXJpYS1leHBhbmRlZD17b3BlbmVkfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICA8L01lbnVJdGVtPlxuICAgICAgICB9XG4gICAgICAgIGZsb2F0PXtcbiAgICAgICAgICAhb3BlbmVkID8gbnVsbCA6XG4gICAgICAgICAgICA8TWVudUxpc3RJbnNwZWN0b3JcbiAgICAgICAgICAgICAgcmVmPXt0aGlzLl9tZW51SW5zcGVjdG9yUmVmfVxuICAgICAgICAgICAgICBvbkxlZnRQdXNoZWQ9e2UgPT4ge1xuICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIHJlZj17dGhpcy5fbWVudUNvbnRhaW5lclJlZn1cbiAgICAgICAgICAgICAgICBvbk1vdXNlRW50ZXI9eygpPT50aGlzLl9tb3VzZUVudGVyTWVudSgpfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge21lbnV9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9NZW51TGlzdEluc3BlY3Rvcj5cbiAgICAgICAgfVxuICAgICAgLz5cbiAgICApO1xuICB9XG59XG4iXX0=

@@ -1,2 +0,2 @@

'use strict';
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJ0eXBlcy5qcyIsInNvdXJjZXNDb250ZW50IjpbXX0=
"use strict";
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbXX0=
{
"name": "react-menu-list",
"version": "5.0.1",
"version": "6.0.0",
"description": "React component for menu lists and submenus",
"main": "js/index.js",
"sideEffects": false,
"scripts": {
"prepare": "rimraf js/ && babel -s inline -d js/ src/ && flow-copy-source -v src js",
"prepare": "rimraf js && babel -s inline -d js/ src/ --ignore '**/*.test.js' && flow-copy-source -v src js --ignore '**/*.test.*'",
"example-build": "cross-env NODE_ENV=development browserify -t babelify -do example/bundle.js example/main.js",
"example-watch": "cross-env NODE_ENV=development-hmr watchify -v -p browserify-hmr -t babelify -do example/bundle.js example/main.js",
"example-watch": "cross-env NODE_ENV=development watchify -v -t babelify -do example/bundle.js example/main.js",
"example-build-prod": "cross-env NODE_ENV=production browserify -t babelify -do example/bundle.js example/main.js",
"test": "npm run lint && npm run flow_check && jest",
"test": "yarn run lint && yarn run flow_check && jest && tsc",
"flow_check": "flow check",

@@ -33,32 +34,33 @@ "lint": "eslint .",

"devDependencies": {
"babel-cli": "^6.18.0",
"babel-core": "^6.26.3",
"babel-eslint": "^8.0.1",
"babel-jest": "^22.4.3",
"babel-plugin-add-module-exports": "^0.2.1",
"babel-plugin-transform-runtime": "^6.15.0",
"babel-preset-es2015": "^6.18.0",
"babel-preset-react": "^6.16.0",
"babel-preset-react-hmre": "^1.1.1",
"babel-preset-stage-2": "^6.18.0",
"babel-register": "^6.18.0",
"babelify": "^8.0.0",
"@babel/cli": "^7.0.0",
"@babel/core": "^7.0.0",
"@babel/plugin-proposal-class-properties": "^7.0.0",
"@babel/plugin-transform-runtime": "^7.0.0",
"@babel/preset-env": "^7.0.0",
"@babel/preset-flow": "^7.0.0",
"@babel/preset-react": "^7.0.0",
"@babel/register": "^7.0.0",
"@types/react": "^16.4.18",
"babel-core": "^7.0.0-bridge.0",
"babel-eslint": "^10.0.1",
"babel-jest": "^23.4.2",
"babelify": "^10.0.0",
"browserify": "^16.2.2",
"browserify-hmr": "^0.3.1",
"cross-env": "^5.0.1",
"eslint": "^4.8.0",
"eslint-plugin-flowtype": "^2.37.0",
"eslint": "^5.8.0",
"eslint-plugin-flowtype": "^3.1.4",
"eslint-plugin-react": "^7.4.0",
"flow-bin": "^0.72.0",
"flow-copy-source": "^1.0.1",
"jest": "^22.4.3",
"react": "^16.0.0",
"react-dom": "^16.0.0",
"react-test-renderer": "^16.0.0",
"flow-bin": "^0.85.0",
"flow-copy-source": "^2.0.2",
"jest": "^23.6.0",
"react": "^16.6.0",
"react-dom": "^16.6.0",
"react-test-renderer": "^16.6.0",
"rimraf": "^2.6.1",
"typescript": "^3.1.4",
"watchify": "^3.7.0"
},
"dependencies": {
"@babel/runtime": "^7.0.0",
"array-find-index": "1.0.2",
"babel-runtime": "^6.23.0",
"kefir": "^3.5.1",

@@ -68,8 +70,8 @@ "kefir-bus": "^2.2.0",

"prop-types": "^15.6.0",
"react-float-anchor": "^2.0.1"
"react-float-anchor": "^3.0.0"
},
"peerDependencies": {
"react": "^16.0.0",
"react-dom": "^16.0.0"
"react": "^16.6.0",
"react-dom": "^16.6.0"
}
}

@@ -35,9 +35,3 @@ # react-menu-list

yarn example-build
```
You can build the example with live editing enabled (using
[react-transform-hmr](https://github.com/gaearon/react-transform-hmr) and
[browserify-hmr](https://github.com/AgentME/browserify-hmr)) by running:
```
# or use this to auto-rebuild on changes:
yarn example-watch

@@ -113,2 +107,4 @@ ```

this.
* `domRef`: Optional prop which is passed as the `ref` value to the MenuItem's
div element.

@@ -165,3 +161,3 @@ A MenuItem has the following public methods:

* `open(callback?: Function)`
* `open(): Promise<void>`
* `close()`

@@ -215,7 +211,8 @@ * `toggle()`

* `ButtonComponent`: Optional prop that allows a different component to be used
instead of an html `<button>`.
instead of an html `<button>`. The component passed here must support a
`domRef` prop which is passed as a ref to the button's DOM element.
A MenuButton has the following public methods:
* `open(callback?: Function)`
* `open(): Promise<void>`
* `close()`

@@ -253,3 +250,4 @@ * `toggle()`

[Flow](https://flowtype.org/) type declarations for this module are included!
If you are using Flow, they won't require any configuration to use.
Both [TypeScript](https://www.typescriptlang.org/) and
[Flow](https://flowtype.org/) type definitions for this module are included!
The type definitions won't require any configuration to use.

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc