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

react-dropdown-select

Package Overview
Dependencies
Maintainers
1
Versions
120
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-dropdown-select - npm Package Compare versions

Comparing version 1.3.2 to 1.3.3

6

dist/components/Dropdown.js

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

dropdownGap: parentProps.dropdownGap,
dropdownHeight: parentProps.dropdownHeight,
className: "react-dropdown-select-dropdown"

@@ -60,4 +61,7 @@ }, parentProps.dropdownRenderer ? parentProps.dropdownRenderer(parentProps, parentState, parentMethods) : _react.default.createElement(_react.default.Fragment, null, parentMethods.searchResults().length === 0 ? _react.default.createElement(_NoData.default, {

return selectBounds.width;
}, "px;padding:0;display:flex;flex-direction:column;background:#fff;border-radius:2px;box-shadow:0 0 10px 0 #0000003b;max-height:300px;overflow:auto;:focus{outline:none;}}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL0Ryb3Bkb3duLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQStDMkIiLCJmaWxlIjoiLi4vLi4vc3JjL2NvbXBvbmVudHMvRHJvcGRvd24uanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuXG5pbXBvcnQgTm9EYXRhIGZyb20gJy4vTm9EYXRhJztcbmltcG9ydCBJdGVtIGZyb20gJy4vSXRlbSc7XG5cbmNvbnN0IERyb3Bkb3duID0gKHsgcGFyZW50UHJvcHMsIHBhcmVudFN0YXRlLCBwYXJlbnRNZXRob2RzIH0pID0+IChcbiAgPERyb3BEb3duXG4gICAgdGFiSW5kZXg9XCItMVwiXG4gICAgYXJpYS1leHBhbmRlZD1cInRydWVcIlxuICAgIHJvbGU9XCJsaXN0XCJcbiAgICBvcGVuT25Ub3A9e3BhcmVudFByb3BzLm9wZW5PblRvcH1cbiAgICBzZWxlY3RCb3VuZHM9e3BhcmVudFN0YXRlLnNlbGVjdEJvdW5kc31cbiAgICBkcm9wZG93bkdhcD17cGFyZW50UHJvcHMuZHJvcGRvd25HYXB9XG4gICAgY2xhc3NOYW1lPVwicmVhY3QtZHJvcGRvd24tc2VsZWN0LWRyb3Bkb3duXCI+XG4gICAge3BhcmVudFByb3BzLmRyb3Bkb3duUmVuZGVyZXIgPyAoXG4gICAgICBwYXJlbnRQcm9wcy5kcm9wZG93blJlbmRlcmVyKHBhcmVudFByb3BzLCBwYXJlbnRTdGF0ZSwgcGFyZW50TWV0aG9kcylcbiAgICApIDogKFxuICAgICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAgICB7cGFyZW50TWV0aG9kcy5zZWFyY2hSZXN1bHRzKCkubGVuZ3RoID09PSAwID8gKFxuICAgICAgICAgIDxOb0RhdGFcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cInJlYWN0LWRyb3Bkb3duLXNlbGVjdC1uby1kYXRhXCJcbiAgICAgICAgICAgIHBhcmVudFN0YXRlPXtwYXJlbnRTdGF0ZX1cbiAgICAgICAgICAgIHBhcmVudFByb3BzPXtwYXJlbnRQcm9wc31cbiAgICAgICAgICAgIHBhcmVudE1ldGhvZHM9e3BhcmVudE1ldGhvZHN9XG4gICAgICAgICAgLz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICBwYXJlbnRNZXRob2RzXG4gICAgICAgICAgICAuc2VhcmNoUmVzdWx0cygpXG4gICAgICAgICAgICAubWFwKChpdGVtLCBpdGVtSW5kZXgpID0+IChcbiAgICAgICAgICAgICAgPEl0ZW1cbiAgICAgICAgICAgICAgICBrZXk9e2l0ZW1bcGFyZW50UHJvcHMudmFsdWVGaWVsZF19XG4gICAgICAgICAgICAgICAgaXRlbT17aXRlbX1cbiAgICAgICAgICAgICAgICBpdGVtSW5kZXg9e2l0ZW1JbmRleH1cbiAgICAgICAgICAgICAgICBwYXJlbnRTdGF0ZT17cGFyZW50U3RhdGV9XG4gICAgICAgICAgICAgICAgcGFyZW50UHJvcHM9e3BhcmVudFByb3BzfVxuICAgICAgICAgICAgICAgIHBhcmVudE1ldGhvZHM9e3BhcmVudE1ldGhvZHN9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApKVxuICAgICAgICApfVxuICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICApfVxuICA8L0Ryb3BEb3duPlxuKTtcblxuRHJvcGRvd24ucHJvcFR5cGVzID0ge307XG5cbmNvbnN0IERyb3BEb3duID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICAkeyh7IHNlbGVjdEJvdW5kcywgZHJvcGRvd25HYXAsIG9wZW5PblRvcH0pID0+IG9wZW5PblRvcCBcbiAgPyBgYm90dG9tOiAke3NlbGVjdEJvdW5kcy5oZWlnaHQgKyAyICsgZHJvcGRvd25HYXB9cHhgIFxuICA6IGB0b3A6ICR7c2VsZWN0Qm91bmRzLmhlaWdodCArIDIgKyBkcm9wZG93bkdhcH1weGB9O1xuICBsZWZ0OiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICB3aWR0aDogJHsoeyBzZWxlY3RCb3VuZHMgfSkgPT4gc2VsZWN0Qm91bmRzLndpZHRofXB4O1xuICBwYWRkaW5nOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGJveC1zaGFkb3c6IDAgMCAxMHB4IDAgIzAwMDAwMDNiO1xuICBtYXgtaGVpZ2h0OiAzMDBweDtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIFxuICA6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cbn1cbmA7XG5cbmV4cG9ydCBkZWZhdWx0IERyb3Bkb3duO1xuIl19 */"));
}, "px;padding:0;display:flex;flex-direction:column;background:#fff;border-radius:2px;box-shadow:0 0 10px 0 #0000003b;max-height:", function (_ref4) {
var dropdownHeight = _ref4.dropdownHeight;
return dropdownHeight;
}, ";overflow:auto;:focus{outline:none;}}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL0Ryb3Bkb3duLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdEMkIiLCJmaWxlIjoiLi4vLi4vc3JjL2NvbXBvbmVudHMvRHJvcGRvd24uanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuXG5pbXBvcnQgTm9EYXRhIGZyb20gJy4vTm9EYXRhJztcbmltcG9ydCBJdGVtIGZyb20gJy4vSXRlbSc7XG5cbmNvbnN0IERyb3Bkb3duID0gKHsgcGFyZW50UHJvcHMsIHBhcmVudFN0YXRlLCBwYXJlbnRNZXRob2RzIH0pID0+IChcbiAgPERyb3BEb3duXG4gICAgdGFiSW5kZXg9XCItMVwiXG4gICAgYXJpYS1leHBhbmRlZD1cInRydWVcIlxuICAgIHJvbGU9XCJsaXN0XCJcbiAgICBvcGVuT25Ub3A9e3BhcmVudFByb3BzLm9wZW5PblRvcH1cbiAgICBzZWxlY3RCb3VuZHM9e3BhcmVudFN0YXRlLnNlbGVjdEJvdW5kc31cbiAgICBkcm9wZG93bkdhcD17cGFyZW50UHJvcHMuZHJvcGRvd25HYXB9XG4gICAgZHJvcGRvd25IZWlnaHQ9e3BhcmVudFByb3BzLmRyb3Bkb3duSGVpZ2h0fVxuICAgIGNsYXNzTmFtZT1cInJlYWN0LWRyb3Bkb3duLXNlbGVjdC1kcm9wZG93blwiPlxuICAgIHtwYXJlbnRQcm9wcy5kcm9wZG93blJlbmRlcmVyID8gKFxuICAgICAgcGFyZW50UHJvcHMuZHJvcGRvd25SZW5kZXJlcihwYXJlbnRQcm9wcywgcGFyZW50U3RhdGUsIHBhcmVudE1ldGhvZHMpXG4gICAgKSA6IChcbiAgICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgICAge3BhcmVudE1ldGhvZHMuc2VhcmNoUmVzdWx0cygpLmxlbmd0aCA9PT0gMCA/IChcbiAgICAgICAgICA8Tm9EYXRhXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJyZWFjdC1kcm9wZG93bi1zZWxlY3Qtbm8tZGF0YVwiXG4gICAgICAgICAgICBwYXJlbnRTdGF0ZT17cGFyZW50U3RhdGV9XG4gICAgICAgICAgICBwYXJlbnRQcm9wcz17cGFyZW50UHJvcHN9XG4gICAgICAgICAgICBwYXJlbnRNZXRob2RzPXtwYXJlbnRNZXRob2RzfVxuICAgICAgICAgIC8+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgcGFyZW50TWV0aG9kc1xuICAgICAgICAgICAgLnNlYXJjaFJlc3VsdHMoKVxuICAgICAgICAgICAgLm1hcCgoaXRlbSwgaXRlbUluZGV4KSA9PiAoXG4gICAgICAgICAgICAgIDxJdGVtXG4gICAgICAgICAgICAgICAga2V5PXtpdGVtW3BhcmVudFByb3BzLnZhbHVlRmllbGRdfVxuICAgICAgICAgICAgICAgIGl0ZW09e2l0ZW19XG4gICAgICAgICAgICAgICAgaXRlbUluZGV4PXtpdGVtSW5kZXh9XG4gICAgICAgICAgICAgICAgcGFyZW50U3RhdGU9e3BhcmVudFN0YXRlfVxuICAgICAgICAgICAgICAgIHBhcmVudFByb3BzPXtwYXJlbnRQcm9wc31cbiAgICAgICAgICAgICAgICBwYXJlbnRNZXRob2RzPXtwYXJlbnRNZXRob2RzfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSlcbiAgICAgICAgKX1cbiAgICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICAgKX1cbiAgPC9Ecm9wRG93bj5cbik7XG5cbkRyb3Bkb3duLnByb3BUeXBlcyA9IHt9O1xuXG5jb25zdCBEcm9wRG93biA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgJHsoeyBzZWxlY3RCb3VuZHMsIGRyb3Bkb3duR2FwLCBvcGVuT25Ub3B9KSA9PiBvcGVuT25Ub3AgXG4gID8gYGJvdHRvbTogJHtzZWxlY3RCb3VuZHMuaGVpZ2h0ICsgMiArIGRyb3Bkb3duR2FwfXB4YCBcbiAgOiBgdG9wOiAke3NlbGVjdEJvdW5kcy5oZWlnaHQgKyAyICsgZHJvcGRvd25HYXB9cHhgfTtcbiAgbGVmdDogMDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgd2lkdGg6ICR7KHsgc2VsZWN0Qm91bmRzIH0pID0+IHNlbGVjdEJvdW5kcy53aWR0aH1weDtcbiAgcGFkZGluZzogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBib3gtc2hhZG93OiAwIDAgMTBweCAwICMwMDAwMDAzYjtcbiAgbWF4LWhlaWdodDogJHsoeyBkcm9wZG93bkhlaWdodCB9KSA9PiBkcm9wZG93bkhlaWdodH07XG4gIG92ZXJmbG93OiBhdXRvO1xuICBcbiAgOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG59XG5gO1xuXG5leHBvcnQgZGVmYXVsdCBEcm9wZG93bjtcbiJdfQ== */"));
var _default = Dropdown;
exports.default = _default;

3

dist/index.js

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

openOnTop: false,
dropdownHeight: '300px',
onDropdownOpen: function onDropdownOpen() {

@@ -493,4 +494,4 @@ return undefined;

return color;
}, "3c;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5WHNDIiwiZmlsZSI6Ii4uL3NyYy9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IENsaWNrT3V0SGFuZGxlciBmcm9tICdyZWFjdC1vbmNsaWNrb3V0JztcblxuaW1wb3J0IENvbnRlbnQgZnJvbSAnLi9jb21wb25lbnRzL0NvbnRlbnQnO1xuaW1wb3J0IERyb3Bkb3duIGZyb20gJy4vY29tcG9uZW50cy9Ecm9wZG93bic7XG5pbXBvcnQgTG9hZGluZyBmcm9tICcuL2NvbXBvbmVudHMvTG9hZGluZyc7XG5pbXBvcnQgQ2xlYXIgZnJvbSAnLi9jb21wb25lbnRzL0NsZWFyJztcbmltcG9ydCBTZXBhcmF0b3IgZnJvbSAnLi9jb21wb25lbnRzL1NlcGFyYXRvcic7XG5pbXBvcnQgRHJvcGRvd25IYW5kbGUgZnJvbSAnLi9jb21wb25lbnRzL0Ryb3Bkb3duSGFuZGxlJztcblxuY29uc3QgZGVib3VuY2UgPSAoZm4sIGRlbGF5ID0gMCkgPT4ge1xuICBsZXQgdGltZXJJZDtcblxuICByZXR1cm4gKC4uLmFyZ3MpID0+IHtcbiAgICBpZiAodGltZXJJZCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRpbWVySWQpO1xuICAgIH1cbiAgICB0aW1lcklkID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBmbiguLi5hcmdzKTtcbiAgICAgIHRpbWVySWQgPSBudWxsO1xuICAgIH0sIGRlbGF5KTtcbiAgfTtcbn07XG5cbmV4cG9ydCBjbGFzcyBTZWxlY3QgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIG9uQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHJvcGRvd25DbG9zZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgb25Ecm9wZG93bk9wZW46IFByb3BUeXBlcy5mdW5jLFxuICAgIG9uQ2xlYXJBbGw6IFByb3BUeXBlcy5mdW5jLFxuICAgIG9uU2VsZWN0QWxsOiBQcm9wVHlwZXMuZnVuYyxcbiAgICB2YWx1ZXM6IFByb3BUeXBlcy5hcnJheSxcbiAgICBvcHRpb25zOiBQcm9wVHlwZXMuYXJyYXkuaXNSZXF1aXJlZCxcbiAgICBrZWVwT3BlbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgZHJvcGRvd25HYXA6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgbXVsdGk6IFByb3BUeXBlcy5ib29sLFxuICAgIHBsYWNlaG9sZGVyOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGFkZFBsYWNlaG9sZGVyOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGRpc2FibGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgbG9hZGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgY2xlYXJhYmxlOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBzZXBhcmF0b3I6IFByb3BUeXBlcy5ib29sLFxuICAgIGRyb3Bkb3duSGFuZGxlOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBzZWFyY2hCeTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjbG9zZU9uU2Nyb2xsOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBvcGVuT25Ub3A6IFByb3BUeXBlcy5ib29sLFxuICAgIHN0eWxlOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGNvbnRlbnRSZW5kZXJlcjogUHJvcFR5cGVzLmZ1bmMsXG4gICAgZHJvcGRvd25SZW5kZXJlcjogUHJvcFR5cGVzLmZ1bmMsXG4gICAgaXRlbVJlbmRlcmVyOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBub0RhdGFSZW5kZXJlcjogUHJvcFR5cGVzLmZ1bmMsXG4gICAgb3B0aW9uUmVuZGVyZXI6IFByb3BUeXBlcy5mdW5jLFxuICAgIGlucHV0UmVuZGVyZXI6IFByb3BUeXBlcy5mdW5jLFxuICAgIGxvYWRpbmdSZW5kZXJlcjogUHJvcFR5cGVzLmZ1bmMsXG4gICAgY2xlYXJSZW5kZXJlcjogUHJvcFR5cGVzLmZ1bmMsXG4gICAgc2VwYXJhdG9yUmVuZGVyZXI6IFByb3BUeXBlcy5mdW5jLFxuICAgIGRyb3Bkb3duSGFuZGxlUmVuZGVyZXI6IFByb3BUeXBlcy5mdW5jXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG5cbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgZHJvcGRvd246IGZhbHNlLFxuICAgICAgdmFsdWVzOiBwcm9wcy52YWx1ZXMsXG4gICAgICBzZWFyY2g6ICcnLFxuICAgICAgc2VsZWN0Qm91bmRzOiB7fVxuICAgIH07XG5cbiAgICB0aGlzLm1ldGhvZHMgPSB7XG4gICAgICByZW1vdmVJdGVtOiB0aGlzLnJlbW92ZUl0ZW0sXG4gICAgICBkcm9wRG93bjogdGhpcy5kcm9wRG93bixcbiAgICAgIGFkZEl0ZW06IHRoaXMuYWRkSXRlbSxcbiAgICAgIHNldFNlYXJjaDogdGhpcy5zZXRTZWFyY2gsXG4gICAgICBnZXRJbnB1dFNpemU6IHRoaXMuZ2V0SW5wdXRTaXplLFxuICAgICAgdG9nZ2xlU2VsZWN0QWxsOiB0aGlzLnRvZ2dsZVNlbGVjdEFsbCxcbiAgICAgIGNsZWFyQWxsOiB0aGlzLmNsZWFyQWxsLFxuICAgICAgc2VsZWN0QWxsOiB0aGlzLnNlbGVjdEFsbCxcbiAgICAgIHNlYXJjaFJlc3VsdHM6IHRoaXMuc2VhcmNoUmVzdWx0cyxcbiAgICAgIGdldFNlbGVjdFJlZjogdGhpcy5nZXRTZWxlY3RSZWYsXG4gICAgICBpc1NlbGVjdGVkOiB0aGlzLmlzU2VsZWN0ZWQsXG4gICAgICBnZXRTZWxlY3RCb3VuZHM6IHRoaXMuZ2V0U2VsZWN0Qm91bmRzLFxuICAgICAgYXJlQWxsU2VsZWN0ZWQ6IHRoaXMuYXJlQWxsU2VsZWN0ZWQsXG4gICAgICBoYW5kbGVLZXlEb3duOiB0aGlzLmhhbmRsZUtleURvd24sXG4gICAgICBhY3RpdmVDdXJzb3JJdGVtOiB0aGlzLmFjdGl2ZUN1cnNvckl0ZW1cbiAgICB9O1xuXG4gICAgdGhpcy5zZWxlY3QgPSBSZWFjdC5jcmVhdGVSZWYoKTtcbiAgfVxuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCBkZWJvdW5jZSh0aGlzLnVwZGF0ZVNlbGVjdEJvdW5kcykpO1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBkZWJvdW5jZSh0aGlzLm9uU2Nyb2xsKSk7XG5cbiAgICB0aGlzLnByb3BzLm9uQ2hhbmdlKHRoaXMuc3RhdGUudmFsdWVzKTtcblxuICAgIHRoaXMuZHJvcERvd24oJ2Nsb3NlJyk7XG5cbiAgICBpZiAodGhpcy5zZWxlY3QpIHtcbiAgICAgIHRoaXMudXBkYXRlU2VsZWN0Qm91bmRzKCk7XG4gICAgfVxuICB9XG5cbiAgY29tcG9uZW50RGlkVXBkYXRlKHByZXZQcm9wcywgcHJldlN0YXRlKSB7XG4gICAgaWYgKHByZXZTdGF0ZS52YWx1ZXMgIT09IHRoaXMuc3RhdGUudmFsdWVzKSB7XG4gICAgICB0aGlzLnByb3BzLm9uQ2hhbmdlKHRoaXMuc3RhdGUudmFsdWVzKTtcbiAgICAgIHRoaXMudXBkYXRlU2VsZWN0Qm91bmRzKCk7XG4gICAgfVxuXG4gICAgaWYgKHByZXZTdGF0ZS52YWx1ZXMgIT09IHRoaXMuc3RhdGUudmFsdWVzICYmIHRoaXMucHJvcHMuY2xvc2VPblNlbGVjdCkge1xuICAgICAgdGhpcy5kcm9wRG93bignY2xvc2UnKTtcbiAgICB9XG5cbiAgICBpZiAocHJldlByb3BzLm11bHRpICE9PSB0aGlzLnByb3BzLm11bHRpKSB7XG4gICAgICB0aGlzLnVwZGF0ZVNlbGVjdEJvdW5kcygpO1xuICAgIH1cblxuICAgIGlmIChwcmV2U3RhdGUuZHJvcGRvd24gJiYgcHJldlN0YXRlLmRyb3Bkb3duICE9PSB0aGlzLnN0YXRlLmRyb3Bkb3duKSB7XG4gICAgICB0aGlzLm9uRHJvcGRvd25DbG9zZSgpO1xuICAgIH1cblxuICAgIGlmICghcHJldlN0YXRlLmRyb3Bkb3duICYmIHByZXZTdGF0ZS5kcm9wZG93biAhPT0gdGhpcy5zdGF0ZS5kcm9wZG93bikge1xuICAgICAgdGhpcy5wcm9wcy5vbkRyb3Bkb3duT3BlbigpO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFxuICAgICAgJ3Jlc2l6ZScsXG4gICAgICBkZWJvdW5jZSh0aGlzLnVwZGF0ZVNlbGVjdEJvdW5kcywgdGhpcy5wcm9wcy5kZWJvdW5jZURlbGF5KVxuICAgICk7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGRlYm91bmNlKHRoaXMub25TY3JvbGwsIHRoaXMucHJvcHMuZGVib3VuY2VEZWxheSkpO1xuICB9XG5cbiAgb25Ecm9wZG93bkNsb3NlID0gKCkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoeyBjdXJzb3I6IG51bGwgfSk7XG4gICAgdGhpcy5wcm9wcy5vbkRyb3Bkb3duQ2xvc2UoKTtcbiAgfTtcblxuICBvblNjcm9sbCA9ICgpID0+IHtcbiAgICBpZiAodGhpcy5wcm9wcy5jbG9zZU9uU2Nyb2xsKSB7XG4gICAgICB0aGlzLmRyb3BEb3duKCdjbG9zZScpO1xuICAgIH1cblxuICAgIHRoaXMudXBkYXRlU2VsZWN0Qm91bmRzKCk7XG4gIH07XG5cbiAgdXBkYXRlU2VsZWN0Qm91bmRzID0gKCkgPT5cbiAgICB0aGlzLnNlbGVjdC5jdXJyZW50ICYmXG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBzZWxlY3RCb3VuZHM6IHRoaXMuc2VsZWN0LmN1cnJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgICB9KTtcblxuICBnZXRTZWxlY3RCb3VuZHMgPSAoKSA9PiB0aGlzLnN0YXRlLnNlbGVjdEJvdW5kcztcblxuICBkcm9wRG93biA9IChhY3Rpb24gPSAndG9nZ2xlJykgPT4ge1xuICAgIGlmICh0aGlzLnByb3BzLmtlZXBPcGVuKSB7XG4gICAgICByZXR1cm4gdGhpcy5zZXRTdGF0ZSh7IGRyb3Bkb3duOiB0cnVlIH0pO1xuICAgIH1cblxuICAgIGlmIChhY3Rpb24gPT09ICdjbG9zZScpIHtcbiAgICAgIHRoaXMuc2VsZWN0LmN1cnJlbnQuYmx1cigpO1xuICAgICAgcmV0dXJuIHRoaXMuc2V0U3RhdGUoeyBkcm9wZG93bjogZmFsc2UsIHNlYXJjaDogJycgfSk7XG4gICAgfVxuXG4gICAgaWYgKGFjdGlvbiA9PT0gJ29wZW4nKSB7XG4gICAgICByZXR1cm4gdGhpcy5zZXRTdGF0ZSh7IGRyb3Bkb3duOiB0cnVlIH0pO1xuICAgIH1cblxuICAgIGlmIChhY3Rpb24gPT09ICd0b2dnbGUnKSB7XG4gICAgICB0aGlzLnNlbGVjdC5jdXJyZW50LmZvY3VzKCk7XG4gICAgICByZXR1cm4gdGhpcy5zZXRTdGF0ZSh7IGRyb3Bkb3duOiAhdGhpcy5zdGF0ZS5kcm9wZG93biB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH07XG5cbiAgZ2V0U2VsZWN0UmVmID0gKCkgPT4gdGhpcy5zZWxlY3QuY3VycmVudDtcblxuICBhZGRJdGVtID0gKGl0ZW0pID0+IHtcbiAgICBpZiAodGhpcy5wcm9wcy5tdWx0aSkge1xuICAgICAgaWYgKHRoaXMuc3RhdGUudmFsdWVzLmluZGV4T2YoaXRlbSkgIT09IC0xKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnJlbW92ZUl0ZW0obnVsbCwgaXRlbSwgZmFsc2UpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgdmFsdWVzOiBbLi4udGhpcy5zdGF0ZS52YWx1ZXMsIGl0ZW1dXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgIHZhbHVlczogW2l0ZW1dLFxuICAgICAgICBkcm9wZG93bjogZmFsc2UsXG4gICAgICAgIHNlYXJjaDogJydcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9O1xuXG4gIHJlbW92ZUl0ZW0gPSAoZXZlbnQsIGl0ZW0sIGNsb3NlID0gZmFsc2UpID0+IHtcbiAgICBpZiAoZXZlbnQgJiYgY2xvc2UpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIHRoaXMuZHJvcERvd24oJ2Nsb3NlJyk7XG4gICAgfVxuXG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICB2YWx1ZXM6IHRoaXMuc3RhdGUudmFsdWVzLmZpbHRlcihcbiAgICAgICAgKHZhbHVlcykgPT4gdmFsdWVzW3RoaXMucHJvcHMudmFsdWVGaWVsZF0gIT09IGl0ZW1bdGhpcy5wcm9wcy52YWx1ZUZpZWxkXVxuICAgICAgKVxuICAgIH0pO1xuICB9O1xuXG4gIHNldFNlYXJjaCA9IChldmVudCkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgY3Vyc29yOiBudWxsXG4gICAgfSk7XG5cbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIHNlYXJjaDogZXZlbnQudGFyZ2V0LnZhbHVlXG4gICAgfSk7XG4gIH07XG5cbiAgZ2V0SW5wdXRTaXplID0gKCkgPT4ge1xuICAgIGlmICh0aGlzLnN0YXRlLnNlYXJjaCkge1xuICAgICAgcmV0dXJuIHRoaXMuc3RhdGUuc2VhcmNoLmxlbmd0aDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zdGF0ZS52YWx1ZXMubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMuYWRkUGxhY2Vob2xkZXIubGVuZ3RoO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnByb3BzLnBsYWNlaG9sZGVyLmxlbmd0aDtcbiAgfTtcblxuICB0b2dnbGVTZWxlY3RBbGwgPSAoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgdmFsdWVzOiB0aGlzLnN0YXRlLnZhbHVlcy5sZW5ndGggPT09IDAgPyB0aGlzLnNlbGVjdEFsbCgpIDogdGhpcy5jbGVhckFsbCgpXG4gICAgfSk7XG4gIH07XG5cbiAgY2xlYXJBbGwgPSAoKSA9PiB7XG4gICAgdGhpcy5wcm9wcy5vbkNsZWFyQWxsKCk7XG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICB2YWx1ZXM6IFtdXG4gICAgfSk7XG4gIH07XG5cbiAgc2VsZWN0QWxsID0gKCkgPT4ge1xuICAgIHRoaXMucHJvcHMub25TZWxlY3RBbGwoKTtcbiAgICByZXR1cm4gdGhpcy5zZXRTdGF0ZSh7XG4gICAgICB2YWx1ZXM6IHRoaXMucHJvcHMub3B0aW9ucy5maWx0ZXIoKG9wdGlvbikgPT4gIW9wdGlvbi5kaXNhYmxlZClcbiAgICB9KTtcbiAgfTtcblxuICBpc1NlbGVjdGVkID0gKG9wdGlvbikgPT4gdGhpcy5zdGF0ZS52YWx1ZXMuaW5kZXhPZihvcHRpb24pICE9PSAtMTtcblxuICBhcmVBbGxTZWxlY3RlZCA9ICgpID0+XG4gICAgdGhpcy5zdGF0ZS52YWx1ZXMubGVuZ3RoID09PSB0aGlzLnByb3BzLm9wdGlvbnMuZmlsdGVyKChvcHRpb24pID0+ICFvcHRpb24uZGlzYWJsZWQpLmxlbmd0aDtcblxuICBzZWFyY2hSZXN1bHRzID0gKCkgPT4ge1xuICAgIGNvbnN0IHJlZ2V4cCA9IG5ldyBSZWdFeHAodGhpcy5zdGF0ZS5zZWFyY2gsICdpJyk7XG5cbiAgICByZXR1cm4gdGhpcy5wcm9wcy5vcHRpb25zLmZpbHRlcigoaXRlbSkgPT5cbiAgICAgIHJlZ2V4cC50ZXN0KGl0ZW1bdGhpcy5wcm9wcy5zZWFyY2hCeV0gfHwgaXRlbVtbdGhpcy5wcm9wcy5sYWJlbEZpZWxkXV0pXG4gICAgKTtcbiAgfTtcblxuICBhY3RpdmVDdXJzb3JJdGVtID0gKGFjdGl2ZUN1cnNvckl0ZW0pID0+XG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBhY3RpdmVDdXJzb3JJdGVtXG4gICAgfSk7XG5cbiAgaGFuZGxlS2V5RG93biA9IChldmVudCkgPT4ge1xuICAgIGNvbnN0IHsgY3Vyc29yIH0gPSB0aGlzLnN0YXRlO1xuXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgIHRoaXMuZHJvcERvd24oJ2Nsb3NlJyk7XG4gICAgfVxuXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgIXRoaXMuc3RhdGUuYWN0aXZlQ3Vyc29ySXRlbS5kaXNhYmxlZCAmJiB0aGlzLmFkZEl0ZW0odGhpcy5zdGF0ZS5hY3RpdmVDdXJzb3JJdGVtKTtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dVcCcgJiYgY3Vyc29yID4gMCkge1xuICAgICAgdGhpcy5zZXRTdGF0ZSgocHJldlN0YXRlKSA9PiAoe1xuICAgICAgICBjdXJzb3I6IHByZXZTdGF0ZS5jdXJzb3IgLSAxXG4gICAgICB9KSk7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dEb3duJyAmJiBjdXJzb3IgPCB0aGlzLnNlYXJjaFJlc3VsdHMoKS5sZW5ndGggKyAxKSB7XG4gICAgICB0aGlzLnNldFN0YXRlKChwcmV2U3RhdGUpID0+ICh7XG4gICAgICAgIGN1cnNvcjogcHJldlN0YXRlLmN1cnNvciArIDFcbiAgICAgIH0pKTtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPENsaWNrT3V0SGFuZGxlciBvbkNsaWNrT3V0PXsoKSA9PiB0aGlzLmRyb3BEb3duKCdjbG9zZScpfT5cbiAgICAgICAgPFJlYWN0RHJvcGRvd25TZWxlY3RcbiAgICAgICAgICBvbktleURvd249e3RoaXMuaGFuZGxlS2V5RG93bn1cbiAgICAgICAgICB0YWJJbmRleD1cIjBcIlxuICAgICAgICAgIHN0eWxlPXt0aGlzLnByb3BzLnN0eWxlfVxuICAgICAgICAgIHJlZj17dGhpcy5zZWxlY3R9XG4gICAgICAgICAgZGlzYWJsZWQ9e3RoaXMucHJvcHMuZGlzYWJsZWR9XG4gICAgICAgICAgY2xhc3NOYW1lPXt0aGlzLnByb3BzLmNsYXNzTmFtZX1cbiAgICAgICAgICBjb2xvcj17dGhpcy5wcm9wcy5jb2xvcn0+XG4gICAgICAgICAgPENvbnRlbnQgcGFyZW50UHJvcHM9e3RoaXMucHJvcHN9IHBhcmVudFN0YXRlPXt0aGlzLnN0YXRlfSBwYXJlbnRNZXRob2RzPXt0aGlzLm1ldGhvZHN9IC8+XG5cbiAgICAgICAgICB7dGhpcy5wcm9wcy5sb2FkaW5nICYmIDxMb2FkaW5nIHBhcmVudFByb3BzPXt0aGlzLnByb3BzfSAvPn1cblxuICAgICAgICAgIHt0aGlzLnByb3BzLmNsZWFyYWJsZSAmJiAoXG4gICAgICAgICAgICA8Q2xlYXIgcGFyZW50UHJvcHM9e3RoaXMucHJvcHN9IHBhcmVudFN0YXRlPXt0aGlzLnN0YXRlfSBwYXJlbnRNZXRob2RzPXt0aGlzLm1ldGhvZHN9IC8+XG4gICAgICAgICAgKX1cblxuICAgICAgICAgIHt0aGlzLnByb3BzLnNlcGFyYXRvciAmJiAoXG4gICAgICAgICAgICA8U2VwYXJhdG9yXG4gICAgICAgICAgICAgIHBhcmVudFByb3BzPXt0aGlzLnByb3BzfVxuICAgICAgICAgICAgICBwYXJlbnRTdGF0ZT17dGhpcy5zdGF0ZX1cbiAgICAgICAgICAgICAgcGFyZW50TWV0aG9kcz17dGhpcy5tZXRob2RzfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuXG4gICAgICAgICAge3RoaXMucHJvcHMuZHJvcGRvd25IYW5kbGUgJiYgKFxuICAgICAgICAgICAgPERyb3Bkb3duSGFuZGxlXG4gICAgICAgICAgICAgIG9uQ0xpY2s9eygpID0+IHRoaXMuc2VsZWN0LmN1cnJlbnQuZm9jdXMoKX1cbiAgICAgICAgICAgICAgcGFyZW50UHJvcHM9e3RoaXMucHJvcHN9XG4gICAgICAgICAgICAgIHBhcmVudFN0YXRlPXt0aGlzLnN0YXRlfVxuICAgICAgICAgICAgICBwYXJlbnRNZXRob2RzPXt0aGlzLm1ldGhvZHN9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG5cbiAgICAgICAgICB7dGhpcy5zdGF0ZS5kcm9wZG93biAmJiAoXG4gICAgICAgICAgICA8RHJvcGRvd25cbiAgICAgICAgICAgICAgcGFyZW50UHJvcHM9e3RoaXMucHJvcHN9XG4gICAgICAgICAgICAgIHBhcmVudFN0YXRlPXt0aGlzLnN0YXRlfVxuICAgICAgICAgICAgICBwYXJlbnRNZXRob2RzPXt0aGlzLm1ldGhvZHN9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvUmVhY3REcm9wZG93blNlbGVjdD5cbiAgICAgIDwvQ2xpY2tPdXRIYW5kbGVyPlxuICAgICk7XG4gIH1cbn1cblxuU2VsZWN0LmRlZmF1bHRQcm9wcyA9IHtcbiAgYWRkUGxhY2Vob2xkZXI6ICcrJyxcbiAgcGxhY2Vob2xkZXI6ICdTZWxlY3QuLi4nLFxuICB2YWx1ZXM6IFtdLFxuICBvcHRpb25zOiBbXSxcbiAgbXVsdGk6IGZhbHNlLFxuICBkaXNhYmxlZDogZmFsc2UsXG4gIHNlYXJjaEJ5OiAnbGFiZWwnLFxuICBjbGVhcmFibGU6IHRydWUsXG4gIGRyb3Bkb3duSGFuZGxlOiB0cnVlLFxuICBzZXBhcmF0b3I6IHRydWUsXG4gIGtlZXBPcGVuOiB1bmRlZmluZWQsXG4gIG5vRGF0YUxhYmVsOiAnTm8gZGF0YScsXG4gIGRyb3Bkb3duR2FwOiA1LFxuICBjbG9zZU9uU2Nyb2xsOiBmYWxzZSxcbiAgZGVib3VuY2VEZWxheTogMCxcbiAgbGFiZWxGaWVsZDogJ2xhYmVsJyxcbiAgdmFsdWVGaWVsZDogJ3ZhbHVlJyxcbiAgY29sb3I6ICcjMDA3NEQ5JyxcbiAga2VlcFNlbGVjdGVkSW5MaXN0OiB0cnVlLFxuICBjbG9zZU9uU2VsZWN0OiBmYWxzZSxcbiAgb3Blbk9uVG9wOiBmYWxzZSxcbiAgb25Ecm9wZG93bk9wZW46ICgpID0+IHVuZGVmaW5lZCxcbiAgb25Ecm9wZG93bkNsb3NlOiAoKSA9PiB1bmRlZmluZWQsXG4gIG9uQ2xlYXJBbGw6ICgpID0+IHVuZGVmaW5lZCxcbiAgb25TZWxlY3RBbGw6ICgpID0+IHVuZGVmaW5lZFxufTtcblxuY29uc3QgUmVhY3REcm9wZG93blNlbGVjdCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgcGFkZGluZzogMnB4IDVweDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWluLWhlaWdodDogMzZweDtcbiAgJHsoeyBkaXNhYmxlZCB9KSA9PlxuICAgIGRpc2FibGVkID8gJ2N1cnNvcjogbm90LWFsbG93ZWQ7cG9pbnRlci1ldmVudHM6IG5vbmU7b3BhY2l0eTogMC4zOycgOiAncG9pbnRlci1ldmVudHM6IGFsbDsnfVxuXG4gIDpob3ZlciwgXG4gIDpmb2N1cy13aXRoaW4ge1xuICAgIGJvcmRlci1jb2xvcjogJHsoeyBjb2xvciB9KSA9PiBjb2xvcn07XG4gIH1cblxuICA6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgM3B4ICR7KHsgY29sb3IgfSkgPT4gY29sb3J9M2M7XG4gIH1cbmA7XG5cbmV4cG9ydCBkZWZhdWx0IFNlbGVjdDtcbiJdfQ== */"));
}, "3c;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEwWHNDIiwiZmlsZSI6Ii4uL3NyYy9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IENsaWNrT3V0SGFuZGxlciBmcm9tICdyZWFjdC1vbmNsaWNrb3V0JztcblxuaW1wb3J0IENvbnRlbnQgZnJvbSAnLi9jb21wb25lbnRzL0NvbnRlbnQnO1xuaW1wb3J0IERyb3Bkb3duIGZyb20gJy4vY29tcG9uZW50cy9Ecm9wZG93bic7XG5pbXBvcnQgTG9hZGluZyBmcm9tICcuL2NvbXBvbmVudHMvTG9hZGluZyc7XG5pbXBvcnQgQ2xlYXIgZnJvbSAnLi9jb21wb25lbnRzL0NsZWFyJztcbmltcG9ydCBTZXBhcmF0b3IgZnJvbSAnLi9jb21wb25lbnRzL1NlcGFyYXRvcic7XG5pbXBvcnQgRHJvcGRvd25IYW5kbGUgZnJvbSAnLi9jb21wb25lbnRzL0Ryb3Bkb3duSGFuZGxlJztcblxuY29uc3QgZGVib3VuY2UgPSAoZm4sIGRlbGF5ID0gMCkgPT4ge1xuICBsZXQgdGltZXJJZDtcblxuICByZXR1cm4gKC4uLmFyZ3MpID0+IHtcbiAgICBpZiAodGltZXJJZCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRpbWVySWQpO1xuICAgIH1cbiAgICB0aW1lcklkID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBmbiguLi5hcmdzKTtcbiAgICAgIHRpbWVySWQgPSBudWxsO1xuICAgIH0sIGRlbGF5KTtcbiAgfTtcbn07XG5cbmV4cG9ydCBjbGFzcyBTZWxlY3QgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIG9uQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uRHJvcGRvd25DbG9zZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgb25Ecm9wZG93bk9wZW46IFByb3BUeXBlcy5mdW5jLFxuICAgIG9uQ2xlYXJBbGw6IFByb3BUeXBlcy5mdW5jLFxuICAgIG9uU2VsZWN0QWxsOiBQcm9wVHlwZXMuZnVuYyxcbiAgICB2YWx1ZXM6IFByb3BUeXBlcy5hcnJheSxcbiAgICBvcHRpb25zOiBQcm9wVHlwZXMuYXJyYXkuaXNSZXF1aXJlZCxcbiAgICBrZWVwT3BlbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgZHJvcGRvd25HYXA6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgbXVsdGk6IFByb3BUeXBlcy5ib29sLFxuICAgIHBsYWNlaG9sZGVyOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGFkZFBsYWNlaG9sZGVyOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGRpc2FibGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgbG9hZGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgY2xlYXJhYmxlOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBzZXBhcmF0b3I6IFByb3BUeXBlcy5ib29sLFxuICAgIGRyb3Bkb3duSGFuZGxlOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBzZWFyY2hCeTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjbG9zZU9uU2Nyb2xsOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBvcGVuT25Ub3A6IFByb3BUeXBlcy5ib29sLFxuICAgIHN0eWxlOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGNvbnRlbnRSZW5kZXJlcjogUHJvcFR5cGVzLmZ1bmMsXG4gICAgZHJvcGRvd25SZW5kZXJlcjogUHJvcFR5cGVzLmZ1bmMsXG4gICAgaXRlbVJlbmRlcmVyOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBub0RhdGFSZW5kZXJlcjogUHJvcFR5cGVzLmZ1bmMsXG4gICAgb3B0aW9uUmVuZGVyZXI6IFByb3BUeXBlcy5mdW5jLFxuICAgIGlucHV0UmVuZGVyZXI6IFByb3BUeXBlcy5mdW5jLFxuICAgIGxvYWRpbmdSZW5kZXJlcjogUHJvcFR5cGVzLmZ1bmMsXG4gICAgY2xlYXJSZW5kZXJlcjogUHJvcFR5cGVzLmZ1bmMsXG4gICAgc2VwYXJhdG9yUmVuZGVyZXI6IFByb3BUeXBlcy5mdW5jLFxuICAgIGRyb3Bkb3duSGFuZGxlUmVuZGVyZXI6IFByb3BUeXBlcy5mdW5jXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG5cbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgZHJvcGRvd246IGZhbHNlLFxuICAgICAgdmFsdWVzOiBwcm9wcy52YWx1ZXMsXG4gICAgICBzZWFyY2g6ICcnLFxuICAgICAgc2VsZWN0Qm91bmRzOiB7fVxuICAgIH07XG5cbiAgICB0aGlzLm1ldGhvZHMgPSB7XG4gICAgICByZW1vdmVJdGVtOiB0aGlzLnJlbW92ZUl0ZW0sXG4gICAgICBkcm9wRG93bjogdGhpcy5kcm9wRG93bixcbiAgICAgIGFkZEl0ZW06IHRoaXMuYWRkSXRlbSxcbiAgICAgIHNldFNlYXJjaDogdGhpcy5zZXRTZWFyY2gsXG4gICAgICBnZXRJbnB1dFNpemU6IHRoaXMuZ2V0SW5wdXRTaXplLFxuICAgICAgdG9nZ2xlU2VsZWN0QWxsOiB0aGlzLnRvZ2dsZVNlbGVjdEFsbCxcbiAgICAgIGNsZWFyQWxsOiB0aGlzLmNsZWFyQWxsLFxuICAgICAgc2VsZWN0QWxsOiB0aGlzLnNlbGVjdEFsbCxcbiAgICAgIHNlYXJjaFJlc3VsdHM6IHRoaXMuc2VhcmNoUmVzdWx0cyxcbiAgICAgIGdldFNlbGVjdFJlZjogdGhpcy5nZXRTZWxlY3RSZWYsXG4gICAgICBpc1NlbGVjdGVkOiB0aGlzLmlzU2VsZWN0ZWQsXG4gICAgICBnZXRTZWxlY3RCb3VuZHM6IHRoaXMuZ2V0U2VsZWN0Qm91bmRzLFxuICAgICAgYXJlQWxsU2VsZWN0ZWQ6IHRoaXMuYXJlQWxsU2VsZWN0ZWQsXG4gICAgICBoYW5kbGVLZXlEb3duOiB0aGlzLmhhbmRsZUtleURvd24sXG4gICAgICBhY3RpdmVDdXJzb3JJdGVtOiB0aGlzLmFjdGl2ZUN1cnNvckl0ZW1cbiAgICB9O1xuXG4gICAgdGhpcy5zZWxlY3QgPSBSZWFjdC5jcmVhdGVSZWYoKTtcbiAgfVxuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCBkZWJvdW5jZSh0aGlzLnVwZGF0ZVNlbGVjdEJvdW5kcykpO1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBkZWJvdW5jZSh0aGlzLm9uU2Nyb2xsKSk7XG5cbiAgICB0aGlzLnByb3BzLm9uQ2hhbmdlKHRoaXMuc3RhdGUudmFsdWVzKTtcblxuICAgIHRoaXMuZHJvcERvd24oJ2Nsb3NlJyk7XG5cbiAgICBpZiAodGhpcy5zZWxlY3QpIHtcbiAgICAgIHRoaXMudXBkYXRlU2VsZWN0Qm91bmRzKCk7XG4gICAgfVxuICB9XG5cbiAgY29tcG9uZW50RGlkVXBkYXRlKHByZXZQcm9wcywgcHJldlN0YXRlKSB7XG4gICAgaWYgKHByZXZTdGF0ZS52YWx1ZXMgIT09IHRoaXMuc3RhdGUudmFsdWVzKSB7XG4gICAgICB0aGlzLnByb3BzLm9uQ2hhbmdlKHRoaXMuc3RhdGUudmFsdWVzKTtcbiAgICAgIHRoaXMudXBkYXRlU2VsZWN0Qm91bmRzKCk7XG4gICAgfVxuXG4gICAgaWYgKHByZXZTdGF0ZS52YWx1ZXMgIT09IHRoaXMuc3RhdGUudmFsdWVzICYmIHRoaXMucHJvcHMuY2xvc2VPblNlbGVjdCkge1xuICAgICAgdGhpcy5kcm9wRG93bignY2xvc2UnKTtcbiAgICB9XG5cbiAgICBpZiAocHJldlByb3BzLm11bHRpICE9PSB0aGlzLnByb3BzLm11bHRpKSB7XG4gICAgICB0aGlzLnVwZGF0ZVNlbGVjdEJvdW5kcygpO1xuICAgIH1cblxuICAgIGlmIChwcmV2U3RhdGUuZHJvcGRvd24gJiYgcHJldlN0YXRlLmRyb3Bkb3duICE9PSB0aGlzLnN0YXRlLmRyb3Bkb3duKSB7XG4gICAgICB0aGlzLm9uRHJvcGRvd25DbG9zZSgpO1xuICAgIH1cblxuICAgIGlmICghcHJldlN0YXRlLmRyb3Bkb3duICYmIHByZXZTdGF0ZS5kcm9wZG93biAhPT0gdGhpcy5zdGF0ZS5kcm9wZG93bikge1xuICAgICAgdGhpcy5wcm9wcy5vbkRyb3Bkb3duT3BlbigpO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFxuICAgICAgJ3Jlc2l6ZScsXG4gICAgICBkZWJvdW5jZSh0aGlzLnVwZGF0ZVNlbGVjdEJvdW5kcywgdGhpcy5wcm9wcy5kZWJvdW5jZURlbGF5KVxuICAgICk7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGRlYm91bmNlKHRoaXMub25TY3JvbGwsIHRoaXMucHJvcHMuZGVib3VuY2VEZWxheSkpO1xuICB9XG5cbiAgb25Ecm9wZG93bkNsb3NlID0gKCkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoeyBjdXJzb3I6IG51bGwgfSk7XG4gICAgdGhpcy5wcm9wcy5vbkRyb3Bkb3duQ2xvc2UoKTtcbiAgfTtcblxuICBvblNjcm9sbCA9ICgpID0+IHtcbiAgICBpZiAodGhpcy5wcm9wcy5jbG9zZU9uU2Nyb2xsKSB7XG4gICAgICB0aGlzLmRyb3BEb3duKCdjbG9zZScpO1xuICAgIH1cblxuICAgIHRoaXMudXBkYXRlU2VsZWN0Qm91bmRzKCk7XG4gIH07XG5cbiAgdXBkYXRlU2VsZWN0Qm91bmRzID0gKCkgPT5cbiAgICB0aGlzLnNlbGVjdC5jdXJyZW50ICYmXG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBzZWxlY3RCb3VuZHM6IHRoaXMuc2VsZWN0LmN1cnJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgICB9KTtcblxuICBnZXRTZWxlY3RCb3VuZHMgPSAoKSA9PiB0aGlzLnN0YXRlLnNlbGVjdEJvdW5kcztcblxuICBkcm9wRG93biA9IChhY3Rpb24gPSAndG9nZ2xlJykgPT4ge1xuICAgIGlmICh0aGlzLnByb3BzLmtlZXBPcGVuKSB7XG4gICAgICByZXR1cm4gdGhpcy5zZXRTdGF0ZSh7IGRyb3Bkb3duOiB0cnVlIH0pO1xuICAgIH1cblxuICAgIGlmIChhY3Rpb24gPT09ICdjbG9zZScpIHtcbiAgICAgIHRoaXMuc2VsZWN0LmN1cnJlbnQuYmx1cigpO1xuICAgICAgcmV0dXJuIHRoaXMuc2V0U3RhdGUoeyBkcm9wZG93bjogZmFsc2UsIHNlYXJjaDogJycgfSk7XG4gICAgfVxuXG4gICAgaWYgKGFjdGlvbiA9PT0gJ29wZW4nKSB7XG4gICAgICByZXR1cm4gdGhpcy5zZXRTdGF0ZSh7IGRyb3Bkb3duOiB0cnVlIH0pO1xuICAgIH1cblxuICAgIGlmIChhY3Rpb24gPT09ICd0b2dnbGUnKSB7XG4gICAgICB0aGlzLnNlbGVjdC5jdXJyZW50LmZvY3VzKCk7XG4gICAgICByZXR1cm4gdGhpcy5zZXRTdGF0ZSh7IGRyb3Bkb3duOiAhdGhpcy5zdGF0ZS5kcm9wZG93biB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH07XG5cbiAgZ2V0U2VsZWN0UmVmID0gKCkgPT4gdGhpcy5zZWxlY3QuY3VycmVudDtcblxuICBhZGRJdGVtID0gKGl0ZW0pID0+IHtcbiAgICBpZiAodGhpcy5wcm9wcy5tdWx0aSkge1xuICAgICAgaWYgKHRoaXMuc3RhdGUudmFsdWVzLmluZGV4T2YoaXRlbSkgIT09IC0xKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnJlbW92ZUl0ZW0obnVsbCwgaXRlbSwgZmFsc2UpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgdmFsdWVzOiBbLi4udGhpcy5zdGF0ZS52YWx1ZXMsIGl0ZW1dXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgIHZhbHVlczogW2l0ZW1dLFxuICAgICAgICBkcm9wZG93bjogZmFsc2UsXG4gICAgICAgIHNlYXJjaDogJydcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9O1xuXG4gIHJlbW92ZUl0ZW0gPSAoZXZlbnQsIGl0ZW0sIGNsb3NlID0gZmFsc2UpID0+IHtcbiAgICBpZiAoZXZlbnQgJiYgY2xvc2UpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIHRoaXMuZHJvcERvd24oJ2Nsb3NlJyk7XG4gICAgfVxuXG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICB2YWx1ZXM6IHRoaXMuc3RhdGUudmFsdWVzLmZpbHRlcihcbiAgICAgICAgKHZhbHVlcykgPT4gdmFsdWVzW3RoaXMucHJvcHMudmFsdWVGaWVsZF0gIT09IGl0ZW1bdGhpcy5wcm9wcy52YWx1ZUZpZWxkXVxuICAgICAgKVxuICAgIH0pO1xuICB9O1xuXG4gIHNldFNlYXJjaCA9IChldmVudCkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgY3Vyc29yOiBudWxsXG4gICAgfSk7XG5cbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIHNlYXJjaDogZXZlbnQudGFyZ2V0LnZhbHVlXG4gICAgfSk7XG4gIH07XG5cbiAgZ2V0SW5wdXRTaXplID0gKCkgPT4ge1xuICAgIGlmICh0aGlzLnN0YXRlLnNlYXJjaCkge1xuICAgICAgcmV0dXJuIHRoaXMuc3RhdGUuc2VhcmNoLmxlbmd0aDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zdGF0ZS52YWx1ZXMubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMuYWRkUGxhY2Vob2xkZXIubGVuZ3RoO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnByb3BzLnBsYWNlaG9sZGVyLmxlbmd0aDtcbiAgfTtcblxuICB0b2dnbGVTZWxlY3RBbGwgPSAoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgdmFsdWVzOiB0aGlzLnN0YXRlLnZhbHVlcy5sZW5ndGggPT09IDAgPyB0aGlzLnNlbGVjdEFsbCgpIDogdGhpcy5jbGVhckFsbCgpXG4gICAgfSk7XG4gIH07XG5cbiAgY2xlYXJBbGwgPSAoKSA9PiB7XG4gICAgdGhpcy5wcm9wcy5vbkNsZWFyQWxsKCk7XG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICB2YWx1ZXM6IFtdXG4gICAgfSk7XG4gIH07XG5cbiAgc2VsZWN0QWxsID0gKCkgPT4ge1xuICAgIHRoaXMucHJvcHMub25TZWxlY3RBbGwoKTtcbiAgICByZXR1cm4gdGhpcy5zZXRTdGF0ZSh7XG4gICAgICB2YWx1ZXM6IHRoaXMucHJvcHMub3B0aW9ucy5maWx0ZXIoKG9wdGlvbikgPT4gIW9wdGlvbi5kaXNhYmxlZClcbiAgICB9KTtcbiAgfTtcblxuICBpc1NlbGVjdGVkID0gKG9wdGlvbikgPT4gdGhpcy5zdGF0ZS52YWx1ZXMuaW5kZXhPZihvcHRpb24pICE9PSAtMTtcblxuICBhcmVBbGxTZWxlY3RlZCA9ICgpID0+XG4gICAgdGhpcy5zdGF0ZS52YWx1ZXMubGVuZ3RoID09PSB0aGlzLnByb3BzLm9wdGlvbnMuZmlsdGVyKChvcHRpb24pID0+ICFvcHRpb24uZGlzYWJsZWQpLmxlbmd0aDtcblxuICBzZWFyY2hSZXN1bHRzID0gKCkgPT4ge1xuICAgIGNvbnN0IHJlZ2V4cCA9IG5ldyBSZWdFeHAodGhpcy5zdGF0ZS5zZWFyY2gsICdpJyk7XG5cbiAgICByZXR1cm4gdGhpcy5wcm9wcy5vcHRpb25zLmZpbHRlcigoaXRlbSkgPT5cbiAgICAgIHJlZ2V4cC50ZXN0KGl0ZW1bdGhpcy5wcm9wcy5zZWFyY2hCeV0gfHwgaXRlbVtbdGhpcy5wcm9wcy5sYWJlbEZpZWxkXV0pXG4gICAgKTtcbiAgfTtcblxuICBhY3RpdmVDdXJzb3JJdGVtID0gKGFjdGl2ZUN1cnNvckl0ZW0pID0+XG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBhY3RpdmVDdXJzb3JJdGVtXG4gICAgfSk7XG5cbiAgaGFuZGxlS2V5RG93biA9IChldmVudCkgPT4ge1xuICAgIGNvbnN0IHsgY3Vyc29yIH0gPSB0aGlzLnN0YXRlO1xuXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgIHRoaXMuZHJvcERvd24oJ2Nsb3NlJyk7XG4gICAgfVxuXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgIXRoaXMuc3RhdGUuYWN0aXZlQ3Vyc29ySXRlbS5kaXNhYmxlZCAmJiB0aGlzLmFkZEl0ZW0odGhpcy5zdGF0ZS5hY3RpdmVDdXJzb3JJdGVtKTtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dVcCcgJiYgY3Vyc29yID4gMCkge1xuICAgICAgdGhpcy5zZXRTdGF0ZSgocHJldlN0YXRlKSA9PiAoe1xuICAgICAgICBjdXJzb3I6IHByZXZTdGF0ZS5jdXJzb3IgLSAxXG4gICAgICB9KSk7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dEb3duJyAmJiBjdXJzb3IgPCB0aGlzLnNlYXJjaFJlc3VsdHMoKS5sZW5ndGggKyAxKSB7XG4gICAgICB0aGlzLnNldFN0YXRlKChwcmV2U3RhdGUpID0+ICh7XG4gICAgICAgIGN1cnNvcjogcHJldlN0YXRlLmN1cnNvciArIDFcbiAgICAgIH0pKTtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPENsaWNrT3V0SGFuZGxlciBvbkNsaWNrT3V0PXsoKSA9PiB0aGlzLmRyb3BEb3duKCdjbG9zZScpfT5cbiAgICAgICAgPFJlYWN0RHJvcGRvd25TZWxlY3RcbiAgICAgICAgICBvbktleURvd249e3RoaXMuaGFuZGxlS2V5RG93bn1cbiAgICAgICAgICB0YWJJbmRleD1cIjBcIlxuICAgICAgICAgIHN0eWxlPXt0aGlzLnByb3BzLnN0eWxlfVxuICAgICAgICAgIHJlZj17dGhpcy5zZWxlY3R9XG4gICAgICAgICAgZGlzYWJsZWQ9e3RoaXMucHJvcHMuZGlzYWJsZWR9XG4gICAgICAgICAgY2xhc3NOYW1lPXt0aGlzLnByb3BzLmNsYXNzTmFtZX1cbiAgICAgICAgICBjb2xvcj17dGhpcy5wcm9wcy5jb2xvcn0+XG4gICAgICAgICAgPENvbnRlbnQgcGFyZW50UHJvcHM9e3RoaXMucHJvcHN9IHBhcmVudFN0YXRlPXt0aGlzLnN0YXRlfSBwYXJlbnRNZXRob2RzPXt0aGlzLm1ldGhvZHN9IC8+XG5cbiAgICAgICAgICB7dGhpcy5wcm9wcy5sb2FkaW5nICYmIDxMb2FkaW5nIHBhcmVudFByb3BzPXt0aGlzLnByb3BzfSAvPn1cblxuICAgICAgICAgIHt0aGlzLnByb3BzLmNsZWFyYWJsZSAmJiAoXG4gICAgICAgICAgICA8Q2xlYXIgcGFyZW50UHJvcHM9e3RoaXMucHJvcHN9IHBhcmVudFN0YXRlPXt0aGlzLnN0YXRlfSBwYXJlbnRNZXRob2RzPXt0aGlzLm1ldGhvZHN9IC8+XG4gICAgICAgICAgKX1cblxuICAgICAgICAgIHt0aGlzLnByb3BzLnNlcGFyYXRvciAmJiAoXG4gICAgICAgICAgICA8U2VwYXJhdG9yXG4gICAgICAgICAgICAgIHBhcmVudFByb3BzPXt0aGlzLnByb3BzfVxuICAgICAgICAgICAgICBwYXJlbnRTdGF0ZT17dGhpcy5zdGF0ZX1cbiAgICAgICAgICAgICAgcGFyZW50TWV0aG9kcz17dGhpcy5tZXRob2RzfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuXG4gICAgICAgICAge3RoaXMucHJvcHMuZHJvcGRvd25IYW5kbGUgJiYgKFxuICAgICAgICAgICAgPERyb3Bkb3duSGFuZGxlXG4gICAgICAgICAgICAgIG9uQ0xpY2s9eygpID0+IHRoaXMuc2VsZWN0LmN1cnJlbnQuZm9jdXMoKX1cbiAgICAgICAgICAgICAgcGFyZW50UHJvcHM9e3RoaXMucHJvcHN9XG4gICAgICAgICAgICAgIHBhcmVudFN0YXRlPXt0aGlzLnN0YXRlfVxuICAgICAgICAgICAgICBwYXJlbnRNZXRob2RzPXt0aGlzLm1ldGhvZHN9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG5cbiAgICAgICAgICB7dGhpcy5zdGF0ZS5kcm9wZG93biAmJiAoXG4gICAgICAgICAgICA8RHJvcGRvd25cbiAgICAgICAgICAgICAgcGFyZW50UHJvcHM9e3RoaXMucHJvcHN9XG4gICAgICAgICAgICAgIHBhcmVudFN0YXRlPXt0aGlzLnN0YXRlfVxuICAgICAgICAgICAgICBwYXJlbnRNZXRob2RzPXt0aGlzLm1ldGhvZHN9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvUmVhY3REcm9wZG93blNlbGVjdD5cbiAgICAgIDwvQ2xpY2tPdXRIYW5kbGVyPlxuICAgICk7XG4gIH1cbn1cblxuU2VsZWN0LmRlZmF1bHRQcm9wcyA9IHtcbiAgYWRkUGxhY2Vob2xkZXI6ICcrJyxcbiAgcGxhY2Vob2xkZXI6ICdTZWxlY3QuLi4nLFxuICB2YWx1ZXM6IFtdLFxuICBvcHRpb25zOiBbXSxcbiAgbXVsdGk6IGZhbHNlLFxuICBkaXNhYmxlZDogZmFsc2UsXG4gIHNlYXJjaEJ5OiAnbGFiZWwnLFxuICBjbGVhcmFibGU6IHRydWUsXG4gIGRyb3Bkb3duSGFuZGxlOiB0cnVlLFxuICBzZXBhcmF0b3I6IHRydWUsXG4gIGtlZXBPcGVuOiB1bmRlZmluZWQsXG4gIG5vRGF0YUxhYmVsOiAnTm8gZGF0YScsXG4gIGRyb3Bkb3duR2FwOiA1LFxuICBjbG9zZU9uU2Nyb2xsOiBmYWxzZSxcbiAgZGVib3VuY2VEZWxheTogMCxcbiAgbGFiZWxGaWVsZDogJ2xhYmVsJyxcbiAgdmFsdWVGaWVsZDogJ3ZhbHVlJyxcbiAgY29sb3I6ICcjMDA3NEQ5JyxcbiAga2VlcFNlbGVjdGVkSW5MaXN0OiB0cnVlLFxuICBjbG9zZU9uU2VsZWN0OiBmYWxzZSxcbiAgb3Blbk9uVG9wOiBmYWxzZSxcbiAgZHJvcGRvd25IZWlnaHQ6ICczMDBweCcsXG4gIG9uRHJvcGRvd25PcGVuOiAoKSA9PiB1bmRlZmluZWQsXG4gIG9uRHJvcGRvd25DbG9zZTogKCkgPT4gdW5kZWZpbmVkLFxuICBvbkNsZWFyQWxsOiAoKSA9PiB1bmRlZmluZWQsXG4gIG9uU2VsZWN0QWxsOiAoKSA9PiB1bmRlZmluZWRcbn07XG5cbmNvbnN0IFJlYWN0RHJvcGRvd25TZWxlY3QgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIHBhZGRpbmc6IDJweCA1cHg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6IDM2cHg7XG4gICR7KHsgZGlzYWJsZWQgfSkgPT5cbiAgICBkaXNhYmxlZCA/ICdjdXJzb3I6IG5vdC1hbGxvd2VkO3BvaW50ZXItZXZlbnRzOiBub25lO29wYWNpdHk6IDAuMzsnIDogJ3BvaW50ZXItZXZlbnRzOiBhbGw7J31cblxuICA6aG92ZXIsIFxuICA6Zm9jdXMtd2l0aGluIHtcbiAgICBib3JkZXItY29sb3I6ICR7KHsgY29sb3IgfSkgPT4gY29sb3J9O1xuICB9XG5cbiAgOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCAkeyh7IGNvbG9yIH0pID0+IGNvbG9yfTNjO1xuICB9XG5gO1xuXG5leHBvcnQgZGVmYXVsdCBTZWxlY3Q7XG4iXX0= */"));
var _default = Select;
exports.default = _default;
{
"name": "react-dropdown-select",
"version": "1.3.2",
"version": "1.3.3",
"description": "Customizable dropdown select for react",

@@ -5,0 +5,0 @@ "main": "dist/index.js",

# react-dropdown-select
Customisable dropdown select for react

@@ -15,11 +16,8 @@

```import Select from "react-dropdown-select";```
`import Select from "react-dropdown-select";`
and use as:
```jsx
<Select
options={options}
onChange={(values) => this.setValues(values)}
/>
<Select options={options} onChange={(values) => this.setValues(values)} />
```

@@ -34,44 +32,46 @@

### Preview
> https://sanusart.github.io/react-dropdown-select
| Props | Type | Default | Description |
|------------------------|--------|-------------|---------------------------------------------------------------------------------------------|
| **Component props** ||||
| values | array | [] | Selected values |
| options | array | [] | Available options, (option with key `disabled: true` will be disabled) |
| keepOpen | bool | false | If true, dropdown will always stay open (good for debugging) |
| dropdownGap | number | 5 | Gap between select element and dropdown |
| multi | bool | false | If true - will act as multi-select, if false - only one option will be selected at the time |
| placeholder | string | "Select..." | Placeholder shown where there are no selected values |
| addPlaceholder | string | "+" | Secondary placeholder on search field if any value selected |
| disabled | bool | false | Disable select and all interactions |
| style | object | {} | style object to pass to sselect |
| className | string | | CSS class attribute to pass to sselect |
| loading | bool | false | loading indicator |
| clearable | bool | true | Clear all indicator |
| separator | bool | true | Separator line between close all and dropdown handle |
| dropdownHandle | bool | true | dropdown handle to open/close dropdown |
| searchBy | string | label | search by object property in values |
| labelField | string | "label" | field in data to use for label |
| valueField | string | "value" | field in data to use for value |
| color | string | "#0074D9" | base color to use in component, also can be overwritten via CSS |
| closeOnScroll | bool | false | If true, scrolling the page will close the dropdown |
| closeOnSelect | bool | false | If true, selecting option will close the dropdown |
| openOnTop | bool | false | If true, dropdown will open on top of the select |
| keepSelectedInList | bool | true | If false, selected item will not appear in a list |
| **Callback props** ||||
| onChange | func | | On values change callback, returns array of values objects |
| onDropdownClose | func | | fires upon dropdown close |
| onDropdownOpen | func | | fires upon dropdown open |
| onClearAll | func | | fires upon clearing all values (via custom renderers) |
| onSelectAll | func | | fires upon selecting all values (via custom renderers) |
| [contentRenderer](https://sanusart.github.io/react-dropdown-select/prop/content-renderer) | func | | Overrides internal content component (the contents of the select component) |
| [itemRenderer](https://sanusart.github.io/react-dropdown-select/prop/item-renderer) | func | | Overrides internal item in a dropdown |
| [noDataRenderer](https://sanusart.github.io/react-dropdown-select/prop/no-data-renderer) | func | | Overrides internal "no data" (shown where search has no results) |
| [optionRenderer](https://sanusart.github.io/react-dropdown-select/prop/option-renderer) | func | | Overrides internal option (the pillow with an "x") on the select content |
| [inputRenderer](https://sanusart.github.io/react-dropdown-select/prop/input-renderer) | func | | Overrides internal input text |
| [loadingRenderer](https://sanusart.github.io/react-dropdown-select/prop/loading-renderer) | func | | Overrides internal loading |
| [clearRenderer](https://sanusart.github.io/react-dropdown-select/prop/clear-renderer) | func | | Overrides internal clear button |
| [separatorRenderer](https://sanusart.github.io/react-dropdown-select/prop/separator-renderer) | func | | Overrides internal separator |
| [dropdownRenderer](https://sanusart.github.io/react-dropdown-select/prop/dropdown-renderer) | func | | Overrides internal dropdown component |
> https://sanusart.github.io/react-dropdown-select/demo
| Props | Type | Default | Description |
| -------------------------------------------------------------------------------------------------------- | ------ | ----------- | ------------------------------------------------------------------------------------------- |
| **Component props** | | | |
| values | array | [] | Selected values |
| options | array | [] | Available options, (option with key `disabled: true` will be disabled) |
| keepOpen | bool | false | If true, dropdown will always stay open (good for debugging) |
| dropdownGap | number | 5 | Gap between select element and dropdown |
| multi | bool | false | If true - will act as multi-select, if false - only one option will be selected at the time |
| placeholder | string | "Select..." | Placeholder shown where there are no selected values |
| addPlaceholder | string | "+" | Secondary placeholder on search field if any value selected |
| disabled | bool | false | Disable select and all interactions |
| style | object | {} | style object to pass to sselect |
| className | string | | CSS class attribute to pass to sselect |
| loading | bool | false | loading indicator |
| clearable | bool | true | Clear all indicator |
| separator | bool | true | Separator line between close all and dropdown handle |
| dropdownHandle | bool | true | dropdown handle to open/close dropdown |
| dropdownHeight | string | "300px" | min-height of a dropdown |
| searchBy | string | label | search by object property in values |
| labelField | string | "label" | field in data to use for label |
| valueField | string | "value" | field in data to use for value |
| color | string | "#0074D9" | base color to use in component, also can be overwritten via CSS |
| closeOnScroll | bool | false | If true, scrolling the page will close the dropdown |
| closeOnSelect | bool | false | If true, selecting option will close the dropdown |
| [openOnTop](https://sanusart.github.io/react-dropdown-select/prop/open-on-top) | bool | false | If true, dropdown will open on top of the select |
| keepSelectedInList | bool | true | If false, selected item will not appear in a list |
| **Callback props** | | | |
| onChange | func | | On values change callback, returns array of values objects |
| onDropdownClose | func | | fires upon dropdown close |
| onDropdownOpen | func | | fires upon dropdown open |
| onClearAll | func | | fires upon clearing all values (via custom renderers) |
| onSelectAll | func | | fires upon selecting all values (via custom renderers) |
| [contentRenderer](https://sanusart.github.io/react-dropdown-select/prop/content-renderer) | func | | Overrides internal content component (the contents of the select component) |
| [itemRenderer](https://sanusart.github.io/react-dropdown-select/prop/item-renderer) | func | | Overrides internal item in a dropdown |
| [noDataRenderer](https://sanusart.github.io/react-dropdown-select/prop/no-data-renderer) | func | | Overrides internal "no data" (shown where search has no results) |
| [optionRenderer](https://sanusart.github.io/react-dropdown-select/prop/option-renderer) | func | | Overrides internal option (the pillow with an "x") on the select content |
| [inputRenderer](https://sanusart.github.io/react-dropdown-select/prop/input-renderer) | func | | Overrides internal input text |
| [loadingRenderer](https://sanusart.github.io/react-dropdown-select/prop/loading-renderer) | func | | Overrides internal loading |
| [clearRenderer](https://sanusart.github.io/react-dropdown-select/prop/clear-renderer) | func | | Overrides internal clear button |
| [separatorRenderer](https://sanusart.github.io/react-dropdown-select/prop/separator-renderer) | func | | Overrides internal separator |
| [dropdownRenderer](https://sanusart.github.io/react-dropdown-select/prop/dropdown-renderer) | func | | Overrides internal dropdown component |
| [dropdownHandleRenderer](https://sanusart.github.io/react-dropdown-select/prop/dropdown-handle-renderer) | func | | Overrides internal dropdown handle |
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