UNPKG

42.7 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
5var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
7Object.defineProperty(exports, "__esModule", {
8 value: true
9});
10exports["default"] = void 0;
11
12var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
14var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
16var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
17
18var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
20var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
22var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
24var _emotion = require("emotion");
25
26var _react = _interopRequireWildcard(require("react"));
27
28var _propTypes = _interopRequireDefault(require("prop-types"));
29
30var _button = _interopRequireDefault(require("@lskjs/button"));
31
32var _helpers = _interopRequireDefault(require("./helpers"));
33
34function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
35
36function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
37
38function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
39
40var helpers = new _helpers["default"]();
41var styleDropdown = /*#__PURE__*/(0, _emotion.css)(process.env.NODE_ENV === "production" ? {
42 name: "16ybbt8-styleDropdown",
43 styles: "background-color:#fff;border:1px solid #9b9b9b;border-radius:2px;padding:5px 10px;margin-top:4px;> ul{margin-bottom:0;};label:styleDropdown;"
44} : {
45 name: "16ybbt8-styleDropdown",
46 styles: "background-color:#fff;border:1px solid #9b9b9b;border-radius:2px;padding:5px 10px;margin-top:4px;> ul{margin-bottom:0;};label:styleDropdown;",
47 map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9BZGRUb0NhbGVuZGFyL0FkZFRvQ2FsZW5kYXIuanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVN5QiIsImZpbGUiOiIuLi8uLi9zcmMvQWRkVG9DYWxlbmRhci9BZGRUb0NhbGVuZGFyLmpzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBDb21wb25lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdlbW90aW9uJztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgQnV0dG9uIGZyb20gJ0Bsc2tqcy9idXR0b24nO1xuXG5pbXBvcnQgSGVscGVyc0NsYXNzIGZyb20gJy4vaGVscGVycyc7XG5cbmNvbnN0IGhlbHBlcnMgPSBuZXcgSGVscGVyc0NsYXNzKCk7XG5cbmNvbnN0IHN0eWxlRHJvcGRvd24gPSBjc3NgXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM5YjliOWI7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIG1hcmdpbi10b3A6IDRweDtcbiAgPiB1bCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuYDtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUmVhY3RBZGRUb0NhbGVuZGFyIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG5cbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgb3B0aW9uc09wZW46IHByb3BzLm9wdGlvbnNPcGVuIHx8IGZhbHNlLFxuICAgICAgaXNDcmFwcHlJRTogZmFsc2UsXG4gICAgfTtcblxuICAgIHRoaXMudG9nZ2xlQ2FsZW5kYXJEcm9wZG93biA9IHRoaXMudG9nZ2xlQ2FsZW5kYXJEcm9wZG93bi5iaW5kKHRoaXMpO1xuICAgIHRoaXMuaGFuZGxlRHJvcGRvd25MaW5rQ2xpY2sgPSB0aGlzLmhhbmRsZURyb3Bkb3duTGlua0NsaWNrLmJpbmQodGhpcyk7XG4gIH1cblxuICBjb21wb25lbnRXaWxsTW91bnQoKSB7XG4gICAgLy8gcG9seWZpbGwgZm9yIHN0YXJ0c1dpdGggdG8gZml4IElFIGJ1Z1xuICAgIGlmICghU3RyaW5nLnByb3RvdHlwZS5zdGFydHNXaXRoKSB7XG4gICAgICBTdHJpbmcucHJvdG90eXBlLnN0YXJ0c1dpdGggPSBmdW5jdGlvbihzZWFyY2hTdHJpbmcsIHBvc2l0aW9uKSB7XG4gICAgICAgIHBvc2l0aW9uID0gcG9zaXRpb24gfHwgMDtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5kZXhPZihzZWFyY2hTdHJpbmcsIHBvc2l0aW9uKSA9PT0gcG9zaXRpb247XG4gICAgICB9O1xuICAgIH1cblxuICAgIGxldCBpc0NyYXBweUlFID0gZmFsc2U7XG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmIHdpbmRvdy5uYXZpZ2F0b3IubXNTYXZlT3JPcGVuQmxvYiAmJiB3aW5kb3cuQmxvYikge1xuICAgICAgaXNDcmFwcHlJRSA9IHRydWU7XG4gICAgfVxuXG4gICAgdGhpcy5zZXRTdGF0ZSh7IGlzQ3JhcHB5SUUgfSk7XG4gIH1cblxuICB0b2dnbGVDYWxlbmRhckRyb3Bkb3duKCkge1xuICAgIGNvbnN0IHNob3dPcHRpb25zID0gIXRoaXMuc3RhdGUub3B0aW9uc09wZW47XG5cbiAgICBpZiAoIWlzVG91Y2hEZXZpY2UoKSkge1xuICAgICAgaWYgKHNob3dPcHRpb25zKSB7XG4gICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy50b2dnbGVDYWxlbmRhckRyb3Bkb3duLCBmYWxzZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMudG9nZ2xlQ2FsZW5kYXJEcm9wZG93bik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5zZXRTdGF0ZSh7IG9wdGlvbnNPcGVuOiBzaG93T3B0aW9ucyB9KTtcbiAgfVxuXG4gIGhhbmRsZURyb3Bkb3duTGlua0NsaWNrKGUpIHtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgY29uc3QgdXJsID0gZS5jdXJyZW50VGFyZ2V0LmdldEF0dHJpYnV0ZSgnaHJlZicpO1xuXG4gICAgaWYgKCFoZWxwZXJzLmlzTW9iaWxlKCkgJiYgKHVybC5zdGFydHNXaXRoKCdkYXRhJykgfHwgdXJsLnN0YXJ0c1dpdGgoJ0JFR0lOJykpKSB7XG4gICAgICBjb25zdCBmaWxlbmFtZSA9ICdkb3dubG9hZC5pY3MnO1xuICAgICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFt1cmxdLCB7IHR5cGU6ICd0ZXh0L2NhbGVuZGFyO2NoYXJzZXQ9dXRmLTgnIH0pO1xuXG4gICAgICBpZiAodGhpcy5zdGF0ZS5pc0NyYXBweUlFKSB7XG4gICAgICAgIHdpbmRvdy5uYXZpZ2F0b3IubXNTYXZlT3JPcGVuQmxvYihibG9iLCBmaWxlbmFtZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIC8vIG1hbnkgYnJvd3NlcnMgZG8gbm90IHByb3Blcmx5IHN1cHBvcnQgZG93bmxvYWRpbmcgZGF0YSBVUklzXG4gICAgICAgICAvLyAoZXZlbiB3aXRoIFwiZG93bmxvYWRcIiBhdHRyaWJ1dGUgaW4gdXNlKSBzbyB0aGlzIHNvbHV0aW9uXG4gICAgICAgICAvLyBlbnN1cmVzIHRoZSBldmVudCB3aWxsIGRvd25sb2FkIGNyb3NzLWJyb3dzZXJcbiAgICAgICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuICAgICAgICBjb25zdCBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgICAgICBsaW5rLmhyZWYgPSB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcbiAgICAgICAgbGluay5zZXRBdHRyaWJ1dGUoJ2Rvd25sb2FkJywgZmlsZW5hbWUpO1xuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmspO1xuICAgICAgICBsaW5rLmNsaWNrKCk7XG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQobGluayk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHdpbmRvdy5vcGVuKHVybCwgJ19ibGFuaycpO1xuICAgIH1cblxuICAgIHRoaXMudG9nZ2xlQ2FsZW5kYXJEcm9wZG93bigpO1xuICB9XG5cbiAgcmVuZGVyRHJvcGRvd24oKSB7XG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG5cbiAgICBjb25zdCBpdGVtcyA9IHRoaXMucHJvcHMubGlzdEl0ZW1zLm1hcChsaXN0SXRlbSA9PiB7XG4gICAgICBjb25zdCBjdXJyZW50SXRlbSA9IE9iamVjdC5rZXlzKGxpc3RJdGVtKVswXTtcbiAgICAgIGNvbnN0IGN1cnJlbnRMYWJlbCA9IGxpc3RJdGVtW2N1cnJlbnRJdGVtXTtcblxuICAgICAgbGV0IGljb24gPSBudWxsO1xuICAgICAgaWYgKHNlbGYucHJvcHMuZGlzcGxheUl0ZW1JY29ucykge1xuICAgICAgICBjb25zdCBjdXJyZW50SWNvbiA9IGN1cnJlbnRJdGVtID09PSAnb3V0bG9vaycgfHwgY3VycmVudEl0ZW0gPT09ICdvdXRsb29rY29tJyA/ICd3aW5kb3dzJyA6IGN1cnJlbnRJdGVtO1xuICAgICAgICBpY29uID0gPGkgY2xhc3NOYW1lPXtgZmEgZmEtJHtjdXJyZW50SWNvbn1gfSAvPjtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPGxpIGtleT17aGVscGVycy5nZXRSYW5kb21LZXkoKX0+XG4gICAgICAgICAgPGFcbiAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7Y3VycmVudEl0ZW19LWxpbmtgfVxuICAgICAgICAgICAgc3R5bGU9e3sgY29sb3I6ICcjNGE0YTRhJyB9fVxuICAgICAgICAgICAgb25DbGljaz17c2VsZi5oYW5kbGVEcm9wZG93bkxpbmtDbGlja31cbiAgICAgICAgICAgIGhyZWY9e2hlbHBlcnMuYnVpbGRVcmwoc2VsZi5wcm9wcy5ldmVudCwgY3VycmVudEl0ZW0sIHNlbGYuc3RhdGUuaXNDcmFwcHlJRSl9XG4gICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge2ljb259XG4gICAgICAgICAgICB7Y3VycmVudExhYmVsfVxuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9saT5cbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlRHJvcGRvd259PlxuICAgICAgICA8dWw+e2l0ZW1zfTwvdWw+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG5cbiAgcmVuZGVyQnV0dG9uKCkge1xuICAgIGxldCB7IGJ1dHRvbkxhYmVsIH0gPSB0aGlzLnByb3BzO1xuICAgIGxldCBidXR0b25JY29uID0gbnVsbDtcbiAgICBjb25zdCB0ZW1wbGF0ZSA9IE9iamVjdC5rZXlzKHRoaXMucHJvcHMuYnV0dG9uVGVtcGxhdGUpO1xuXG4gICAgaWYgKHRlbXBsYXRlWzBdICE9PSAndGV4dE9ubHknKSB7XG4gICAgICBjb25zdCBpY29uUGxhY2VtZW50ID0gdGhpcy5wcm9wcy5idXR0b25UZW1wbGF0ZVt0ZW1wbGF0ZV07XG4gICAgICBjb25zdCBidXR0b25DbGFzc1ByZWZpeCA9XG4gICAgICAgIHRoaXMucHJvcHMuYnV0dG9uSWNvbkNsYXNzID09PSAncmVhY3QtYWRkLXRvLWNhbGVuZGFyX19pY29uLS0nXG4gICAgICAgICAgPyBgJHt0aGlzLnByb3BzLmJ1dHRvbkljb25DbGFzc30ke2ljb25QbGFjZW1lbnR9YFxuICAgICAgICAgIDogdGhpcy5wcm9wcy5idXR0b25JY29uQ2xhc3M7XG4gICAgICBjb25zdCBpY29uUHJlZml4ID0gdGhpcy5wcm9wcy51c2VGb250QXdlc29tZUljb25zID8gJ2ZhIGZhLScgOiAnJztcblxuICAgICAgY29uc3QgbWFpbkJ1dHRvbkljb25DbGFzcyA9XG4gICAgICAgIHRlbXBsYXRlWzBdID09PSAnY2FyZXQnID8gKHRoaXMuc3RhdGUub3B0aW9uc09wZW4gPyAnY2FyZXQtdXAnIDogJ2NhcmV0LWRvd24nKSA6IHRlbXBsYXRlWzBdO1xuXG4gICAgICBjb25zdCBidXR0b25JY29uQ2xhc3MgPSBgJHtidXR0b25DbGFzc1ByZWZpeH0gJHtpY29uUHJlZml4fSR7bWFpbkJ1dHRvbkljb25DbGFzc31gO1xuXG4gICAgICBidXR0b25JY29uID0gPGkgY2xhc3NOYW1lPXtidXR0b25JY29uQ2xhc3N9IC8+O1xuICAgICAgYnV0dG9uTGFiZWwgPVxuICAgICAgICBpY29uUGxhY2VtZW50ID09PSAncmlnaHQnID8gKFxuICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAge2Ake2J1dHRvbkxhYmVsfSBgfVxuICAgICAgICAgICAge2J1dHRvbkljb259XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICApIDogKFxuICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAge2J1dHRvbkljb259XG4gICAgICAgICAgICB7YCAke2J1dHRvbkxhYmVsfWB9XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGJ1dHRvbkNsYXNzID0gdGhpcy5zdGF0ZS5vcHRpb25zT3BlblxuICAgICAgPyBgJHt0aGlzLnByb3BzLmJ1dHRvbkNsYXNzQ2xvc2VkfSAke3RoaXMucHJvcHMuYnV0dG9uQ2xhc3NPcGVufWBcbiAgICAgIDogdGhpcy5wcm9wcy5idXR0b25DbGFzc0Nsb3NlZDtcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17dGhpcy5wcm9wcy5idXR0b25XcmFwcGVyQ2xhc3N9PlxuICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgY29tcG9uZW50Q2xhc3M9XCJhXCJcbiAgICAgICAgICBwYWludD1cInByaW1hcnlcIlxuICAgICAgICAgIHZpZXc9XCJ0ZXh0XCJcbiAgICAgICAgICBib3JkZXJlZFxuICAgICAgICAgIGJsb2NrXG4gICAgICAgICAgY2xhc3NOYW1lPXtidXR0b25DbGFzc31cbiAgICAgICAgICBvbkNsaWNrPXt0aGlzLnRvZ2dsZUNhbGVuZGFyRHJvcGRvd259XG4gICAgICAgID5cbiAgICAgICAgICB7YnV0dG9uTGFiZWx9XG4gICAgICAgIDwvQnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBsZXQgb3B0aW9ucyA9IG51bGw7XG4gICAgaWYgKHRoaXMuc3RhdGUub3B0aW9uc09wZW4pIHtcbiAgICAgIG9wdGlvbnMgPSB0aGlzLnJlbmRlckRyb3Bkb3duKCk7XG4gICAgfVxuXG4gICAgbGV0IGFkZFRvQ2FsZW5kYXJCdG4gPSBudWxsO1xuICAgIGlmICh0aGlzLnByb3BzLmV2ZW50KSB7XG4gICAgICBhZGRUb0NhbGVuZGFyQnRuID0gdGhpcy5yZW5kZXJCdXR0b24oKTtcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBzdHlsZT17eyB3aWR0aDogJzEwMCUnIH19IGNsYXNzTmFtZT17dGhpcy5wcm9wcy5yb290Q2xhc3N9PlxuICAgICAgICB7YWRkVG9DYWxlbmRhckJ0bn1cbiAgICAgICAge29wdGlvbnN9XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG59XG5cblJlYWN0QWRkVG9DYWxlbmRhci5kaXNwbGF5TmFtZSA9ICdBZGQgVG8gQ2FsZW5kYXInO1xuXG5SZWFjdEFkZFRvQ2FsZW5kYXIucHJvcFR5cGVzID0ge1xuICBidXR0b25DbGFzc0Nsb3NlZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgYnV0dG9uQ2xhc3NPcGVuOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBidXR0b25MYWJlbDogUHJvcFR5cGVzLnN0cmluZyxcbiAgYnV0dG9uVGVtcGxhdGU6IFByb3BUeXBlcy5vYmplY3QsXG4gIGJ1dHRvbkljb25DbGFzczogUHJvcFR5cGVzLnN0cmluZyxcbiAgdXNlRm9udEF3ZXNvbWVJY29uczogUHJvcFR5cGVzLmJvb2wsXG4gIGJ1dHRvbldyYXBwZXJDbGFzczogUHJvcFR5cGVzLnN0cmluZyxcbiAgZGlzcGxheUl0ZW1JY29uczogUHJvcFR5cGVzLmJvb2wsXG4gIG9wdGlvbnNPcGVuOiBQcm9wVHlwZXMuYm9vbCxcbiAgZHJvcGRvd25DbGFzczogUHJvcFR5cGVzLnN0cmluZyxcbiAgZXZlbnQ6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgdGl0bGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgZGVzY3JpcHRpb246IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgbG9jYXRpb246IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgc3RhcnRUaW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGVuZFRpbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gIH0pLmlzUmVxdWlyZWQsXG4gIGxpc3RJdGVtczogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLm9iamVjdCksXG4gIHJvb3RDbGFzczogUHJvcFR5cGVzLnN0cmluZyxcbn07XG5cblJlYWN0QWRkVG9DYWxlbmRhci5kZWZhdWx0UHJvcHMgPSB7XG4gIGJ1dHRvbkNsYXNzQ2xvc2VkOiAncmVhY3QtYWRkLXRvLWNhbGVuZGFyX19idXR0b24nLFxuICBidXR0b25DbGFzc09wZW46ICdyZWFjdC1hZGQtdG8tY2FsZW5kYXJfX2J1dHRvbi0tbGlnaHQnLFxuICBidXR0b25MYWJlbDogJ0FkZCB0byBNeSBDYWxlbmRhcicsXG4gIGJ1dHRvblRlbXBsYXRlOiB7IGNhcmV0OiAncmlnaHQnIH0sXG4gIGJ1dHRvbkljb25DbGFzczogJ3JlYWN0LWFkZC10by1jYWxlbmRhcl9faWNvbi0tJyxcbiAgdXNlRm9udEF3ZXNvbWVJY29uczogdHJ1ZSxcbiAgYnV0dG9uV3JhcHBlckNsYXNzOiAncmVhY3QtYWRkLXRvLWNhbGVuZGFyX193cmFwcGVyJyxcbiAgZGlzcGxheUl0ZW1JY29uczogdHJ1ZSxcbiAgb3B0aW9uc09wZW46IGZhbHNlLFxuICBkcm9wZG93bkNsYXNzOiAncmVhY3QtYWRkLXRvLWNhbGVuZGFyX19kcm9wZG93bicsXG4gIGV2ZW50OiB7XG4gICAgdGl0bGU6ICdTYW1wbGUgRXZlbnQnLFxuICAgIGRlc2NyaXB0aW9uOiAnVGhpcyBpcyB0aGUgc2FtcGxlIGV2ZW50IHByb3ZpZGVkIGFzIGFuIGV4YW1wbGUgb25seScsXG4gICAgbG9jYXRpb246ICdQb3J0bGFuZCwgT1InLFxuICAgIHN0YXJ0VGltZTogJzIwMTYtMDktMTZUMjA6MTU6MDAtMDQ6MDAnLFxuICAgIGVuZFRpbWU6ICcyMDE2LTA5LTE2VDIxOjQ1OjAwLTA0OjAwJyxcbiAgfSxcbiAgbGlzdEl0ZW1zOiBbXG4gICAgeyBhcHBsZTogJ0FwcGxlIENhbGVuZGFyJyB9LFxuICAgIHsgZ29vZ2xlOiAnR29vZ2xlJyB9LFxuICAgIHsgb3V0bG9vazogJ091dGxvb2snIH0sXG4gICAgeyBvdXRsb29rY29tOiAnT3V0bG9vay5jb20nIH0sXG4gICAgeyB5YWhvbzogJ1lhaG9vJyB9LFxuICBdLFxuICByb290Q2xhc3M6ICdyZWFjdC1hZGQtdG8tY2FsZW5kYXInLFxufTtcbiJdfQ== */",
48 toString: _EMOTION_STRINGIFIED_CSS_ERROR__
49});
50
51var ReactAddToCalendar = /*#__PURE__*/function (_Component) {
52 (0, _inherits2["default"])(ReactAddToCalendar, _Component);
53
54 var _super = _createSuper(ReactAddToCalendar);
55
56 function ReactAddToCalendar(props) {
57 var _this;
58
59 (0, _classCallCheck2["default"])(this, ReactAddToCalendar);
60 _this = _super.call(this, props);
61 _this.state = {
62 optionsOpen: props.optionsOpen || false,
63 isCrappyIE: false
64 };
65 _this.toggleCalendarDropdown = _this.toggleCalendarDropdown.bind((0, _assertThisInitialized2["default"])(_this));
66 _this.handleDropdownLinkClick = _this.handleDropdownLinkClick.bind((0, _assertThisInitialized2["default"])(_this));
67 return _this;
68 }
69
70 (0, _createClass2["default"])(ReactAddToCalendar, [{
71 key: "componentWillMount",
72 value: function componentWillMount() {
73 // polyfill for startsWith to fix IE bug
74 if (!String.prototype.startsWith) {
75 String.prototype.startsWith = function (searchString, position) {
76 position = position || 0;
77 return this.indexOf(searchString, position) === position;
78 };
79 }
80
81 var isCrappyIE = false;
82
83 if (typeof window !== 'undefined' && window.navigator.msSaveOrOpenBlob && window.Blob) {
84 isCrappyIE = true;
85 }
86
87 this.setState({
88 isCrappyIE: isCrappyIE
89 });
90 }
91 }, {
92 key: "toggleCalendarDropdown",
93 value: function toggleCalendarDropdown() {
94 var showOptions = !this.state.optionsOpen;
95
96 if (!isTouchDevice()) {
97 if (showOptions) {
98 document.addEventListener('click', this.toggleCalendarDropdown, false);
99 } else {
100 document.removeEventListener('click', this.toggleCalendarDropdown);
101 }
102 }
103
104 this.setState({
105 optionsOpen: showOptions
106 });
107 }
108 }, {
109 key: "handleDropdownLinkClick",
110 value: function handleDropdownLinkClick(e) {
111 e.preventDefault();
112 var url = e.currentTarget.getAttribute('href');
113
114 if (!helpers.isMobile() && (url.startsWith('data') || url.startsWith('BEGIN'))) {
115 var filename = 'download.ics';
116 var blob = new Blob([url], {
117 type: 'text/calendar;charset=utf-8'
118 });
119
120 if (this.state.isCrappyIE) {
121 window.navigator.msSaveOrOpenBlob(blob, filename);
122 } else {
123 /** **************************************************************
124 // many browsers do not properly support downloading data URIs
125 // (even with "download" attribute in use) so this solution
126 // ensures the event will download cross-browser
127 *************************************************************** */
128 var link = document.createElement('a');
129 link.href = window.URL.createObjectURL(blob);
130 link.setAttribute('download', filename);
131 document.body.appendChild(link);
132 link.click();
133 document.body.removeChild(link);
134 }
135 } else {
136 window.open(url, '_blank');
137 }
138
139 this.toggleCalendarDropdown();
140 }
141 }, {
142 key: "renderDropdown",
143 value: function renderDropdown() {
144 var self = this;
145 var items = this.props.listItems.map(function (listItem) {
146 var currentItem = Object.keys(listItem)[0];
147 var currentLabel = listItem[currentItem];
148 var icon = null;
149
150 if (self.props.displayItemIcons) {
151 var currentIcon = currentItem === 'outlook' || currentItem === 'outlookcom' ? 'windows' : currentItem;
152 icon = /*#__PURE__*/_react["default"].createElement("i", {
153 className: "fa fa-".concat(currentIcon)
154 });
155 }
156
157 return /*#__PURE__*/_react["default"].createElement("li", {
158 key: helpers.getRandomKey()
159 }, /*#__PURE__*/_react["default"].createElement("a", {
160 className: "".concat(currentItem, "-link"),
161 style: {
162 color: '#4a4a4a'
163 },
164 onClick: self.handleDropdownLinkClick,
165 href: helpers.buildUrl(self.props.event, currentItem, self.state.isCrappyIE),
166 target: "_blank",
167 rel: "noopener noreferrer"
168 }, icon, currentLabel));
169 });
170 return /*#__PURE__*/_react["default"].createElement("div", {
171 className: styleDropdown
172 }, /*#__PURE__*/_react["default"].createElement("ul", null, items));
173 }
174 }, {
175 key: "renderButton",
176 value: function renderButton() {
177 var buttonLabel = this.props.buttonLabel;
178 var buttonIcon = null;
179 var template = Object.keys(this.props.buttonTemplate);
180
181 if (template[0] !== 'textOnly') {
182 var iconPlacement = this.props.buttonTemplate[template];
183 var buttonClassPrefix = this.props.buttonIconClass === 'react-add-to-calendar__icon--' ? "".concat(this.props.buttonIconClass).concat(iconPlacement) : this.props.buttonIconClass;
184 var iconPrefix = this.props.useFontAwesomeIcons ? 'fa fa-' : '';
185 var mainButtonIconClass = template[0] === 'caret' ? this.state.optionsOpen ? 'caret-up' : 'caret-down' : template[0];
186 var buttonIconClass = "".concat(buttonClassPrefix, " ").concat(iconPrefix).concat(mainButtonIconClass);
187 buttonIcon = /*#__PURE__*/_react["default"].createElement("i", {
188 className: buttonIconClass
189 });
190 buttonLabel = iconPlacement === 'right' ? /*#__PURE__*/_react["default"].createElement("span", null, "".concat(buttonLabel, " "), buttonIcon) : /*#__PURE__*/_react["default"].createElement("span", null, buttonIcon, " ".concat(buttonLabel));
191 }
192
193 var buttonClass = this.state.optionsOpen ? "".concat(this.props.buttonClassClosed, " ").concat(this.props.buttonClassOpen) : this.props.buttonClassClosed;
194 return /*#__PURE__*/_react["default"].createElement("div", {
195 className: this.props.buttonWrapperClass
196 }, /*#__PURE__*/_react["default"].createElement(_button["default"], {
197 componentClass: "a",
198 paint: "primary",
199 view: "text",
200 bordered: true,
201 block: true,
202 className: buttonClass,
203 onClick: this.toggleCalendarDropdown
204 }, buttonLabel));
205 }
206 }, {
207 key: "render",
208 value: function render() {
209 var options = null;
210
211 if (this.state.optionsOpen) {
212 options = this.renderDropdown();
213 }
214
215 var addToCalendarBtn = null;
216
217 if (this.props.event) {
218 addToCalendarBtn = this.renderButton();
219 }
220
221 return /*#__PURE__*/_react["default"].createElement("div", {
222 style: {
223 width: '100%'
224 },
225 className: this.props.rootClass
226 }, addToCalendarBtn, options);
227 }
228 }]);
229 return ReactAddToCalendar;
230}(_react.Component);
231
232exports["default"] = ReactAddToCalendar;
233ReactAddToCalendar.displayName = 'Add To Calendar';
234ReactAddToCalendar.propTypes = {
235 buttonClassClosed: _propTypes["default"].string,
236 buttonClassOpen: _propTypes["default"].string,
237 buttonLabel: _propTypes["default"].string,
238 buttonTemplate: _propTypes["default"].object,
239 buttonIconClass: _propTypes["default"].string,
240 useFontAwesomeIcons: _propTypes["default"].bool,
241 buttonWrapperClass: _propTypes["default"].string,
242 displayItemIcons: _propTypes["default"].bool,
243 optionsOpen: _propTypes["default"].bool,
244 dropdownClass: _propTypes["default"].string,
245 event: _propTypes["default"].shape({
246 title: _propTypes["default"].string,
247 description: _propTypes["default"].string,
248 location: _propTypes["default"].string,
249 startTime: _propTypes["default"].string,
250 endTime: _propTypes["default"].string
251 }).isRequired,
252 listItems: _propTypes["default"].arrayOf(_propTypes["default"].object),
253 rootClass: _propTypes["default"].string
254};
255ReactAddToCalendar.defaultProps = {
256 buttonClassClosed: 'react-add-to-calendar__button',
257 buttonClassOpen: 'react-add-to-calendar__button--light',
258 buttonLabel: 'Add to My Calendar',
259 buttonTemplate: {
260 caret: 'right'
261 },
262 buttonIconClass: 'react-add-to-calendar__icon--',
263 useFontAwesomeIcons: true,
264 buttonWrapperClass: 'react-add-to-calendar__wrapper',
265 displayItemIcons: true,
266 optionsOpen: false,
267 dropdownClass: 'react-add-to-calendar__dropdown',
268 event: {
269 title: 'Sample Event',
270 description: 'This is the sample event provided as an example only',
271 location: 'Portland, OR',
272 startTime: '2016-09-16T20:15:00-04:00',
273 endTime: '2016-09-16T21:45:00-04:00'
274 },
275 listItems: [{
276 apple: 'Apple Calendar'
277 }, {
278 google: 'Google'
279 }, {
280 outlook: 'Outlook'
281 }, {
282 outlookcom: 'Outlook.com'
283 }, {
284 yahoo: 'Yahoo'
285 }],
286 rootClass: 'react-add-to-calendar'
287};
288//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9BZGRUb0NhbGVuZGFyL0FkZFRvQ2FsZW5kYXIuanN4Il0sIm5hbWVzIjpbImhlbHBlcnMiLCJIZWxwZXJzQ2xhc3MiLCJzdHlsZURyb3Bkb3duIiwiUmVhY3RBZGRUb0NhbGVuZGFyIiwicHJvcHMiLCJzdGF0ZSIsIm9wdGlvbnNPcGVuIiwiaXNDcmFwcHlJRSIsInRvZ2dsZUNhbGVuZGFyRHJvcGRvd24iLCJiaW5kIiwiaGFuZGxlRHJvcGRvd25MaW5rQ2xpY2siLCJTdHJpbmciLCJwcm90b3R5cGUiLCJzdGFydHNXaXRoIiwic2VhcmNoU3RyaW5nIiwicG9zaXRpb24iLCJpbmRleE9mIiwid2luZG93IiwibmF2aWdhdG9yIiwibXNTYXZlT3JPcGVuQmxvYiIsIkJsb2IiLCJzZXRTdGF0ZSIsInNob3dPcHRpb25zIiwiaXNUb3VjaERldmljZSIsImRvY3VtZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJlIiwicHJldmVudERlZmF1bHQiLCJ1cmwiLCJjdXJyZW50VGFyZ2V0IiwiZ2V0QXR0cmlidXRlIiwiaXNNb2JpbGUiLCJmaWxlbmFtZSIsImJsb2IiLCJ0eXBlIiwibGluayIsImNyZWF0ZUVsZW1lbnQiLCJocmVmIiwiVVJMIiwiY3JlYXRlT2JqZWN0VVJMIiwic2V0QXR0cmlidXRlIiwiYm9keSIsImFwcGVuZENoaWxkIiwiY2xpY2siLCJyZW1vdmVDaGlsZCIsIm9wZW4iLCJzZWxmIiwiaXRlbXMiLCJsaXN0SXRlbXMiLCJtYXAiLCJsaXN0SXRlbSIsImN1cnJlbnRJdGVtIiwiT2JqZWN0Iiwia2V5cyIsImN1cnJlbnRMYWJlbCIsImljb24iLCJkaXNwbGF5SXRlbUljb25zIiwiY3VycmVudEljb24iLCJnZXRSYW5kb21LZXkiLCJjb2xvciIsImJ1aWxkVXJsIiwiZXZlbnQiLCJidXR0b25MYWJlbCIsImJ1dHRvbkljb24iLCJ0ZW1wbGF0ZSIsImJ1dHRvblRlbXBsYXRlIiwiaWNvblBsYWNlbWVudCIsImJ1dHRvbkNsYXNzUHJlZml4IiwiYnV0dG9uSWNvbkNsYXNzIiwiaWNvblByZWZpeCIsInVzZUZvbnRBd2Vzb21lSWNvbnMiLCJtYWluQnV0dG9uSWNvbkNsYXNzIiwiYnV0dG9uQ2xhc3MiLCJidXR0b25DbGFzc0Nsb3NlZCIsImJ1dHRvbkNsYXNzT3BlbiIsImJ1dHRvbldyYXBwZXJDbGFzcyIsIm9wdGlvbnMiLCJyZW5kZXJEcm9wZG93biIsImFkZFRvQ2FsZW5kYXJCdG4iLCJyZW5kZXJCdXR0b24iLCJ3aWR0aCIsInJvb3RDbGFzcyIsIkNvbXBvbmVudCIsImRpc3BsYXlOYW1lIiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwic3RyaW5nIiwib2JqZWN0IiwiYm9vbCIsImRyb3Bkb3duQ2xhc3MiLCJzaGFwZSIsInRpdGxlIiwiZGVzY3JpcHRpb24iLCJsb2NhdGlvbiIsInN0YXJ0VGltZSIsImVuZFRpbWUiLCJpc1JlcXVpcmVkIiwiYXJyYXlPZiIsImRlZmF1bHRQcm9wcyIsImNhcmV0IiwiYXBwbGUiLCJnb29nbGUiLCJvdXRsb29rIiwib3V0bG9va2NvbSIsInlhaG9vIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBRUE7O0FBQ0E7O0FBRUE7Ozs7Ozs7O0FBRUEsSUFBTUEsT0FBTyxHQUFHLElBQUlDLG1CQUFKLEVBQWhCO0FBRUEsSUFBTUMsYUFBYTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFBbkI7O0lBV3FCQyxrQjs7Ozs7QUFDbkIsOEJBQVlDLEtBQVosRUFBbUI7QUFBQTs7QUFBQTtBQUNqQiw4QkFBTUEsS0FBTjtBQUVBLFVBQUtDLEtBQUwsR0FBYTtBQUNYQyxNQUFBQSxXQUFXLEVBQUVGLEtBQUssQ0FBQ0UsV0FBTixJQUFxQixLQUR2QjtBQUVYQyxNQUFBQSxVQUFVLEVBQUU7QUFGRCxLQUFiO0FBS0EsVUFBS0Msc0JBQUwsR0FBOEIsTUFBS0Esc0JBQUwsQ0FBNEJDLElBQTVCLGdEQUE5QjtB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LEdBSmdCO0FBS2hDL0IsRUFBQUEsZUFBZSxFQUFFLCtCQUxlO0FBTWhDRSxFQUFBQSxtQkFBbUIsRUFBRSxJQU5XO0FBT2hDSyxFQUFBQSxrQkFBa0IsRUFBRSxnQ0FQWTtBQVFoQ25CLEVBQUFBLGdCQUFnQixFQUFFLElBUmM7QUFTaENuRCxFQUFBQSxXQUFXLEVBQUUsS0FUbUI7QUFVaENvRixFQUFBQSxhQUFhLEVBQUUsaUNBVmlCO0FBV2hDNUIsRUFBQUEsS0FBSyxFQUFFO0FBQ0w4QixJQUFBQSxLQUFLLEVBQUUsY0FERjtBQUVMQyxJQUFBQSxXQUFXLEVBQUUsc0RBRlI7QUFHTEMsSUFBQUEsUUFBUSxFQUFFLGNBSEw7QUFJTEMsSUFBQUEsU0FBUyxFQUFFLDJCQUpOO0FBS0xDLElBQUFBLE9BQU8sRUFBRTtBQUxKLEdBWHlCO0FBa0JoQy9DLEVBQUFBLFNBQVMsRUFBRSxDQUNUO0FBQUVvRCxJQUFBQSxLQUFLLEVBQUU7QUFBVCxHQURTLEVBRVQ7QUFBRUMsSUFBQUEsTUFBTSxFQUFFO0FBQVYsR0FGUyxFQUdUO0FBQUVDLElBQUFBLE9BQU8sRUFBRTtBQUFYLEdBSFMsRUFJVDtBQUFFQyxJQUFBQSxVQUFVLEVBQUU7QUFBZCxHQUpTLEVBS1Q7QUFBRUMsSUFBQUEsS0FBSyxFQUFFO0FBQVQsR0FMUyxDQWxCcUI7QUF5QmhDdkIsRUFBQUEsU0FBUyxFQUFFO0FBekJxQixDQUFsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBDb21wb25lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdlbW90aW9uJztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgQnV0dG9uIGZyb20gJ0Bsc2tqcy9idXR0b24nO1xuXG5pbXBvcnQgSGVscGVyc0NsYXNzIGZyb20gJy4vaGVscGVycyc7XG5cbmNvbnN0IGhlbHBlcnMgPSBuZXcgSGVscGVyc0NsYXNzKCk7XG5cbmNvbnN0IHN0eWxlRHJvcGRvd24gPSBjc3NgXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM5YjliOWI7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIG1hcmdpbi10b3A6IDRweDtcbiAgPiB1bCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuYDtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUmVhY3RBZGRUb0NhbGVuZGFyIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG5cbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgb3B0aW9uc09wZW46IHByb3BzLm9wdGlvbnNPcGVuIHx8IGZhbHNlLFxuICAgICAgaXNDcmFwcHlJRTogZmFsc2UsXG4gICAgfTtcblxuICAgIHRoaXMudG9nZ2xlQ2FsZW5kYXJEcm9wZG93biA9IHRoaXMudG9nZ2xlQ2FsZW5kYXJEcm9wZG93bi5iaW5kKHRoaXMpO1xuICAgIHRoaXMuaGFuZGxlRHJvcGRvd25MaW5rQ2xpY2sgPSB0aGlzLmhhbmRsZURyb3Bkb3duTGlua0NsaWNrLmJpbmQodGhpcyk7XG4gIH1cblxuICBjb21wb25lbnRXaWxsTW91bnQoKSB7XG4gICAgLy8gcG9seWZpbGwgZm9yIHN0YXJ0c1dpdGggdG8gZml4IElFIGJ1Z1xuICAgIGlmICghU3RyaW5nLnByb3RvdHlwZS5zdGFydHNXaXRoKSB7XG4gICAgICBTdHJpbmcucHJvdG90eXBlLnN0YXJ0c1dpdGggPSBmdW5jdGlvbihzZWFyY2hTdHJpbmcsIHBvc2l0aW9uKSB7XG4gICAgICAgIHBvc2l0aW9uID0gcG9zaXRpb24gfHwgMDtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5kZXhPZihzZWFyY2hTdHJpbmcsIHBvc2l0aW9uKSA9PT0gcG9zaXRpb247XG4gICAgICB9O1xuICAgIH1cblxuICAgIGxldCBpc0NyYXBweUlFID0gZmFsc2U7XG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmIHdpbmRvdy5uYXZpZ2F0b3IubXNTYXZlT3JPcGVuQmxvYiAmJiB3aW5kb3cuQmxvYikge1xuICAgICAgaXNDcmFwcHlJRSA9IHRydWU7XG4gICAgfVxuXG4gICAgdGhpcy5zZXRTdGF0ZSh7IGlzQ3JhcHB5SUUgfSk7XG4gIH1cblxuICB0b2dnbGVDYWxlbmRhckRyb3Bkb3duKCkge1xuICAgIGNvbnN0IHNob3dPcHRpb25zID0gIXRoaXMuc3RhdGUub3B0aW9uc09wZW47XG5cbiAgICBpZiAoIWlzVG91Y2hEZXZpY2UoKSkge1xuICAgICAgaWYgKHNob3dPcHRpb25zKSB7XG4gICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy50b2dnbGVDYWxlbmRhckRyb3Bkb3duLCBmYWxzZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMudG9nZ2xlQ2FsZW5kYXJEcm9wZG93bik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5zZXRTdGF0ZSh7IG9wdGlvbnNPcGVuOiBzaG93T3B0aW9ucyB9KTtcbiAgfVxuXG4gIGhhbmRsZURyb3Bkb3duTGlua0NsaWNrKGUpIHtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgY29uc3QgdXJsID0gZS5jdXJyZW50VGFyZ2V0LmdldEF0dHJpYnV0ZSgnaHJlZicpO1xuXG4gICAgaWYgKCFoZWxwZXJzLmlzTW9iaWxlKCkgJiYgKHVybC5zdGFydHNXaXRoKCdkYXRhJykgfHwgdXJsLnN0YXJ0c1dpdGgoJ0JFR0lOJykpKSB7XG4gICAgICBjb25zdCBmaWxlbmFtZSA9ICdkb3dubG9hZC5pY3MnO1xuICAgICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFt1cmxdLCB7IHR5cGU6ICd0ZXh0L2NhbGVuZGFyO2NoYXJzZXQ9dXRmLTgnIH0pO1xuXG4gICAgICBpZiAodGhpcy5zdGF0ZS5pc0NyYXBweUlFKSB7XG4gICAgICAgIHdpbmRvdy5uYXZpZ2F0b3IubXNTYXZlT3JPcGVuQmxvYihibG9iLCBmaWxlbmFtZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvKiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIC8vIG1hbnkgYnJvd3NlcnMgZG8gbm90IHByb3Blcmx5IHN1cHBvcnQgZG93bmxvYWRpbmcgZGF0YSBVUklzXG4gICAgICAgICAvLyAoZXZlbiB3aXRoIFwiZG93bmxvYWRcIiBhdHRyaWJ1dGUgaW4gdXNlKSBzbyB0aGlzIHNvbHV0aW9uXG4gICAgICAgICAvLyBlbnN1cmVzIHRoZSBldmVudCB3aWxsIGRvd25sb2FkIGNyb3NzLWJyb3dzZXJcbiAgICAgICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuICAgICAgICBjb25zdCBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgICAgICBsaW5rLmhyZWYgPSB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcbiAgICAgICAgbGluay5zZXRBdHRyaWJ1dGUoJ2Rvd25sb2FkJywgZmlsZW5hbWUpO1xuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmspO1xuICAgICAgICBsaW5rLmNsaWNrKCk7XG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQobGluayk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHdpbmRvdy5vcGVuKHVybCwgJ19ibGFuaycpO1xuICAgIH1cblxuICAgIHRoaXMudG9nZ2xlQ2FsZW5kYXJEcm9wZG93bigpO1xuICB9XG5cbiAgcmVuZGVyRHJvcGRvd24oKSB7XG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG5cbiAgICBjb25zdCBpdGVtcyA9IHRoaXMucHJvcHMubGlzdEl0ZW1zLm1hcChsaXN0SXRlbSA9PiB7XG4gICAgICBjb25zdCBjdXJyZW50SXRlbSA9IE9iamVjdC5rZXlzKGxpc3RJdGVtKVswXTtcbiAgICAgIGNvbnN0IGN1cnJlbnRMYWJlbCA9IGxpc3RJdGVtW2N1cnJlbnRJdGVtXTtcblxuICAgICAgbGV0IGljb24gPSBudWxsO1xuICAgICAgaWYgKHNlbGYucHJvcHMuZGlzcGxheUl0ZW1JY29ucykge1xuICAgICAgICBjb25zdCBjdXJyZW50SWNvbiA9IGN1cnJlbnRJdGVtID09PSAnb3V0bG9vaycgfHwgY3VycmVudEl0ZW0gPT09ICdvdXRsb29rY29tJyA/ICd3aW5kb3dzJyA6IGN1cnJlbnRJdGVtO1xuICAgICAgICBpY29uID0gPGkgY2xhc3NOYW1lPXtgZmEgZmEtJHtjdXJyZW50SWNvbn1gfSAvPjtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPGxpIGtleT17aGVscGVycy5nZXRSYW5kb21LZXkoKX0+XG4gICAgICAgICAgPGFcbiAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7Y3VycmVudEl0ZW19LWxpbmtgfVxuICAgICAgICAgICAgc3R5bGU9e3sgY29sb3I6ICcjNGE0YTRhJyB9fVxuICAgICAgICAgICAgb25DbGljaz17c2VsZi5oYW5kbGVEcm9wZG93bkxpbmtDbGlja31cbiAgICAgICAgICAgIGhyZWY9e2hlbHBlcnMuYnVpbGRVcmwoc2VsZi5wcm9wcy5ldmVudCwgY3VycmVudEl0ZW0sIHNlbGYuc3RhdGUuaXNDcmFwcHlJRSl9XG4gICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge2ljb259XG4gICAgICAgICAgICB7Y3VycmVudExhYmVsfVxuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9saT5cbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlRHJvcGRvd259PlxuICAgICAgICA8dWw+e2l0ZW1zfTwvdWw+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG5cbiAgcmVuZGVyQnV0dG9uKCkge1xuICAgIGxldCB7IGJ1dHRvbkxhYmVsIH0gPSB0aGlzLnByb3BzO1xuICAgIGxldCBidXR0b25JY29uID0gbnVsbDtcbiAgICBjb25zdCB0ZW1wbGF0ZSA9IE9iamVjdC5rZXlzKHRoaXMucHJvcHMuYnV0dG9uVGVtcGxhdGUpO1xuXG4gICAgaWYgKHRlbXBsYXRlWzBdICE9PSAndGV4dE9ubHknKSB7XG4gICAgICBjb25zdCBpY29uUGxhY2VtZW50ID0gdGhpcy5wcm9wcy5idXR0b25UZW1wbGF0ZVt0ZW1wbGF0ZV07XG4gICAgICBjb25zdCBidXR0b25DbGFzc1ByZWZpeCA9XG4gICAgICAgIHRoaXMucHJvcHMuYnV0dG9uSWNvbkNsYXNzID09PSAncmVhY3QtYWRkLXRvLWNhbGVuZGFyX19pY29uLS0nXG4gICAgICAgICAgPyBgJHt0aGlzLnByb3BzLmJ1dHRvbkljb25DbGFzc30ke2ljb25QbGFjZW1lbnR9YFxuICAgICAgICAgIDogdGhpcy5wcm9wcy5idXR0b25JY29uQ2xhc3M7XG4gICAgICBjb25zdCBpY29uUHJlZml4ID0gdGhpcy5wcm9wcy51c2VGb250QXdlc29tZUljb25zID8gJ2ZhIGZhLScgOiAnJztcblxuICAgICAgY29uc3QgbWFpbkJ1dHRvbkljb25DbGFzcyA9XG4gICAgICAgIHRlbXBsYXRlWzBdID09PSAnY2FyZXQnID8gKHRoaXMuc3RhdGUub3B0aW9uc09wZW4gPyAnY2FyZXQtdXAnIDogJ2NhcmV0LWRvd24nKSA6IHRlbXBsYXRlWzBdO1xuXG4gICAgICBjb25zdCBidXR0b25JY29uQ2xhc3MgPSBgJHtidXR0b25DbGFzc1ByZWZpeH0gJHtpY29uUHJlZml4fSR7bWFpbkJ1dHRvbkljb25DbGFzc31gO1xuXG4gICAgICBidXR0b25JY29uID0gPGkgY2xhc3NOYW1lPXtidXR0b25JY29uQ2xhc3N9IC8+O1xuICAgICAgYnV0dG9uTGFiZWwgPVxuICAgICAgICBpY29uUGxhY2VtZW50ID09PSAncmlnaHQnID8gKFxuICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAge2Ake2J1dHRvbkxhYmVsfSBgfVxuICAgICAgICAgICAge2J1dHRvbkljb259XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICApIDogKFxuICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAge2J1dHRvbkljb259XG4gICAgICAgICAgICB7YCAke2J1dHRvbkxhYmVsfWB9XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGJ1dHRvbkNsYXNzID0gdGhpcy5zdGF0ZS5vcHRpb25zT3BlblxuICAgICAgPyBgJHt0aGlzLnByb3BzLmJ1dHRvbkNsYXNzQ2xvc2VkfSAke3RoaXMucHJvcHMuYnV0dG9uQ2xhc3NPcGVufWBcbiAgICAgIDogdGhpcy5wcm9wcy5idXR0b25DbGFzc0Nsb3NlZDtcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17dGhpcy5wcm9wcy5idXR0b25XcmFwcGVyQ2xhc3N9PlxuICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgY29tcG9uZW50Q2xhc3M9XCJhXCJcbiAgICAgICAgICBwYWludD1cInByaW1hcnlcIlxuICAgICAgICAgIHZpZXc9XCJ0ZXh0XCJcbiAgICAgICAgICBib3JkZXJlZFxuICAgICAgICAgIGJsb2NrXG4gICAgICAgICAgY2xhc3NOYW1lPXtidXR0b25DbGFzc31cbiAgICAgICAgICBvbkNsaWNrPXt0aGlzLnRvZ2dsZUNhbGVuZGFyRHJvcGRvd259XG4gICAgICAgID5cbiAgICAgICAgICB7YnV0dG9uTGFiZWx9XG4gICAgICAgIDwvQnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBsZXQgb3B0aW9ucyA9IG51bGw7XG4gICAgaWYgKHRoaXMuc3RhdGUub3B0aW9uc09wZW4pIHtcbiAgICAgIG9wdGlvbnMgPSB0aGlzLnJlbmRlckRyb3Bkb3duKCk7XG4gICAgfVxuXG4gICAgbGV0IGFkZFRvQ2FsZW5kYXJCdG4gPSBudWxsO1xuICAgIGlmICh0aGlzLnByb3BzLmV2ZW50KSB7XG4gICAgICBhZGRUb0NhbGVuZGFyQnRuID0gdGhpcy5yZW5kZXJCdXR0b24oKTtcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBzdHlsZT17eyB3aWR0aDogJzEwMCUnIH19IGNsYXNzTmFtZT17dGhpcy5wcm9wcy5yb290Q2xhc3N9PlxuICAgICAgICB7YWRkVG9DYWxlbmRhckJ0bn1cbiAgICAgICAge29wdGlvbnN9XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG59XG5cblJlYWN0QWRkVG9DYWxlbmRhci5kaXNwbGF5TmFtZSA9ICdBZGQgVG8gQ2FsZW5kYXInO1xuXG5SZWFjdEFkZFRvQ2FsZW5kYXIucHJvcFR5cGVzID0ge1xuICBidXR0b25DbGFzc0Nsb3NlZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgYnV0dG9uQ2xhc3NPcGVuOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBidXR0b25MYWJlbDogUHJvcFR5cGVzLnN0cmluZyxcbiAgYnV0dG9uVGVtcGxhdGU6IFByb3BUeXBlcy5vYmplY3QsXG4gIGJ1dHRvbkljb25DbGFzczogUHJvcFR5cGVzLnN0cmluZyxcbiAgdXNlRm9udEF3ZXNvbWVJY29uczogUHJvcFR5cGVzLmJvb2wsXG4gIGJ1dHRvbldyYXBwZXJDbGFzczogUHJvcFR5cGVzLnN0cmluZyxcbiAgZGlzcGxheUl0ZW1JY29uczogUHJvcFR5cGVzLmJvb2wsXG4gIG9wdGlvbnNPcGVuOiBQcm9wVHlwZXMuYm9vbCxcbiAgZHJvcGRvd25DbGFzczogUHJvcFR5cGVzLnN0cmluZyxcbiAgZXZlbnQ6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgdGl0bGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgZGVzY3JpcHRpb246IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgbG9jYXRpb246IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgc3RhcnRUaW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGVuZFRpbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gIH0pLmlzUmVxdWlyZWQsXG4gIGxpc3RJdGVtczogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLm9iamVjdCksXG4gIHJvb3RDbGFzczogUHJvcFR5cGVzLnN0cmluZyxcbn07XG5cblJlYWN0QWRkVG9DYWxlbmRhci5kZWZhdWx0UHJvcHMgPSB7XG4gIGJ1dHRvbkNsYXNzQ2xvc2VkOiAncmVhY3QtYWRkLXRvLWNhbGVuZGFyX19idXR0b24nLFxuICBidXR0b25DbGFzc09wZW46ICdyZWFjdC1hZGQtdG8tY2FsZW5kYXJfX2J1dHRvbi0tbGlnaHQnLFxuICBidXR0b25MYWJlbDogJ0FkZCB0byBNeSBDYWxlbmRhcicsXG4gIGJ1dHRvblRlbXBsYXRlOiB7IGNhcmV0OiAncmlnaHQnIH0sXG4gIGJ1dHRvbkljb25DbGFzczogJ3JlYWN0LWFkZC10by1jYWxlbmRhcl9faWNvbi0tJyxcbiAgdXNlRm9udEF3ZXNvbWVJY29uczogdHJ1ZSxcbiAgYnV0dG9uV3JhcHBlckNsYXNzOiAncmVhY3QtYWRkLXRvLWNhbGVuZGFyX193cmFwcGVyJyxcbiAgZGlzcGxheUl0ZW1JY29uczogdHJ1ZSxcbiAgb3B0aW9uc09wZW46IGZhbHNlLFxuICBkcm9wZG93bkNsYXNzOiAncmVhY3QtYWRkLXRvLWNhbGVuZGFyX19kcm9wZG93bicsXG4gIGV2ZW50OiB7XG4gICAgdGl0bGU6ICdTYW1wbGUgRXZlbnQnLFxuICAgIGRlc2NyaXB0aW9uOiAnVGhpcyBpcyB0aGUgc2FtcGxlIGV2ZW50IHByb3ZpZGVkIGFzIGFuIGV4YW1wbGUgb25seScsXG4gICAgbG9jYXRpb246ICdQb3J0bGFuZCwgT1InLFxuICAgIHN0YXJ0VGltZTogJzIwMTYtMDktMTZUMjA6MTU6MDAtMDQ6MDAnLFxuICAgIGVuZFRpbWU6ICcyMDE2LTA5LTE2VDIxOjQ1OjAwLTA0OjAwJyxcbiAgfSxcbiAgbGlzdEl0ZW1zOiBbXG4gICAgeyBhcHBsZTogJ0FwcGxlIENhbGVuZGFyJyB9LFxuICAgIHsgZ29vZ2xlOiAnR29vZ2xlJyB9LFxuICAgIHsgb3V0bG9vazogJ091dGxvb2snIH0sXG4gICAgeyBvdXRsb29rY29tOiAnT3V0bG9vay5jb20nIH0sXG4gICAgeyB5YWhvbzogJ1lhaG9vJyB9LFxuICBdLFxuICByb290Q2xhc3M6ICdyZWFjdC1hZGQtdG8tY2FsZW5kYXInLFxufTtcbiJdfQ==
289//# sourceMappingURL=AddToCalendar.js.map
\No newline at end of file