@i-novus/n2o-components 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +0 -0
- package/lib/display/Alerts/Alert.d.ts +2 -0
- package/lib/display/Alerts/Alert.js +121 -0
- package/lib/display/Alerts/AlertSection.d.ts +18 -0
- package/lib/display/Alerts/AlertSection.js +64 -0
- package/lib/display/Alerts/AlertWrapper.d.ts +6 -0
- package/lib/display/Alerts/AlertWrapper.js +39 -0
- package/lib/display/Alerts/DefaultAlert.d.ts +6 -0
- package/lib/display/Alerts/DefaultAlert.js +125 -0
- package/lib/display/Alerts/LoaderAlert.d.ts +5 -0
- package/lib/display/Alerts/LoaderAlert.js +36 -0
- package/lib/display/Alerts/types.d.ts +49 -0
- package/lib/display/Alerts/types.js +24 -0
- package/lib/display/Alerts/utils.d.ts +15 -0
- package/lib/display/Alerts/utils.js +102 -0
- package/lib/display/Badge/Badge.d.ts +16 -0
- package/lib/display/Badge/Badge.js +77 -0
- package/lib/display/Badge/enums.d.ts +9 -0
- package/lib/display/Badge/enums.js +23 -0
- package/lib/display/Badge/utils.d.ts +9 -0
- package/lib/display/Badge/utils.js +49 -0
- package/lib/display/Block.d.ts +369 -0
- package/lib/display/Block.js +38 -0
- package/lib/display/CodeViewer/CodeViewer.d.ts +13 -0
- package/lib/display/CodeViewer/CodeViewer.js +96 -0
- package/lib/display/Drawer/Drawer.d.ts +25 -0
- package/lib/display/Drawer/Drawer.js +99 -0
- package/lib/display/DropdownCustomItem.d.ts +7 -0
- package/lib/display/DropdownCustomItem.js +23 -0
- package/lib/display/Filter/Buttons.d.ts +11 -0
- package/lib/display/Filter/Buttons.js +42 -0
- package/lib/display/Filter/Filter.d.ts +8 -0
- package/lib/display/Filter/Filter.js +38 -0
- package/lib/display/HelpPopover.d.ts +16 -0
- package/lib/display/HelpPopover.js +104 -0
- package/lib/display/Html.d.ts +8 -0
- package/lib/display/Html.js +29 -0
- package/lib/display/Icon/Icon.d.ts +11 -0
- package/lib/display/Icon/Icon.js +42 -0
- package/lib/display/Image/Image.d.ts +30 -0
- package/lib/display/Image/Image.js +93 -0
- package/lib/display/Image/ImageInfo.d.ts +7 -0
- package/lib/display/Image/ImageInfo.js +23 -0
- package/lib/display/InputIcon.d.ts +13 -0
- package/lib/display/InputIcon.js +33 -0
- package/lib/display/NavItemImage/NavItemImage.d.ts +9 -0
- package/lib/display/NavItemImage/NavItemImage.js +35 -0
- package/lib/display/OutputList.d.ts +12 -0
- package/lib/display/OutputList.js +46 -0
- package/lib/display/OutputListItem.d.ts +10 -0
- package/lib/display/OutputListItem.js +58 -0
- package/lib/display/OutputText.d.ts +15 -0
- package/lib/display/OutputText.js +170 -0
- package/lib/display/Pagination/Pagination.d.ts +2 -0
- package/lib/display/Pagination/Pagination.js +273 -0
- package/lib/display/Pagination/PaginationButton.d.ts +13 -0
- package/lib/display/Pagination/PaginationButton.js +53 -0
- package/lib/display/Pagination/types.d.ts +62 -0
- package/lib/display/Pagination/types.js +36 -0
- package/lib/display/PopoverConfirm/PopoverConfirm.d.ts +30 -0
- package/lib/display/PopoverConfirm/PopoverConfirm.js +87 -0
- package/lib/display/ProgressControl/ProgressControl.d.ts +17 -0
- package/lib/display/ProgressControl/ProgressControl.js +68 -0
- package/lib/display/Slider.d.ts +23 -0
- package/lib/display/Slider.js +107 -0
- package/lib/display/Status.d.ts +9 -0
- package/lib/display/Status.js +40 -0
- package/lib/display/StatusText/StatusText.d.ts +10 -0
- package/lib/display/StatusText/StatusText.js +35 -0
- package/lib/display/StatusText/types.d.ts +18 -0
- package/lib/display/StatusText/types.js +19 -0
- package/lib/display/StatusText/utils.d.ts +3 -0
- package/lib/display/StatusText/utils.js +29 -0
- package/lib/display/Text.d.ts +12 -0
- package/lib/display/Text.js +38 -0
- package/lib/display/Typography/Base.d.ts +32 -0
- package/lib/display/Typography/Base.js +259 -0
- package/lib/display/Typography/ContentEditable.d.ts +15 -0
- package/lib/display/Typography/ContentEditable.js +86 -0
- package/lib/display/Typography/Paragraph.d.ts +4 -0
- package/lib/display/Typography/Paragraph.js +23 -0
- package/lib/display/Typography/Text.d.ts +9 -0
- package/lib/display/Typography/Text.js +37 -0
- package/lib/display/Typography/Title.d.ts +7 -0
- package/lib/display/Typography/Title.js +28 -0
- package/lib/display/Typography/utils.d.ts +13 -0
- package/lib/display/Typography/utils.js +75 -0
- package/lib/helpers/HelpPopover.d.ts +9 -0
- package/lib/helpers/HelpPopover.js +46 -0
- package/lib/helpers/withRightPlaceholder.d.ts +9 -0
- package/lib/helpers/withRightPlaceholder.js +35 -0
- package/lib/inputs/Checkbox/Checkbox.d.ts +29 -0
- package/lib/inputs/Checkbox/Checkbox.js +117 -0
- package/lib/inputs/Checkbox/CheckboxControl.d.ts +7 -0
- package/lib/inputs/Checkbox/CheckboxControl.js +33 -0
- package/lib/inputs/CheckboxGroup/CheckboxGroup.d.ts +11 -0
- package/lib/inputs/CheckboxGroup/CheckboxGroup.js +84 -0
- package/lib/inputs/CodeEditor/CodeEditor.d.ts +21 -0
- package/lib/inputs/CodeEditor/CodeEditor.js +85 -0
- package/lib/inputs/DatePicker/Calendar.d.ts +65 -0
- package/lib/inputs/DatePicker/Calendar.js +556 -0
- package/lib/inputs/DatePicker/CalendarHeader.d.ts +26 -0
- package/lib/inputs/DatePicker/CalendarHeader.js +213 -0
- package/lib/inputs/DatePicker/Clock.d.ts +10 -0
- package/lib/inputs/DatePicker/Clock.js +45 -0
- package/lib/inputs/DatePicker/DateInput.d.ts +44 -0
- package/lib/inputs/DatePicker/DateInput.js +262 -0
- package/lib/inputs/DatePicker/DateInputGroup.d.ts +20 -0
- package/lib/inputs/DatePicker/DateInputGroup.js +77 -0
- package/lib/inputs/DatePicker/DateInterval.d.ts +24 -0
- package/lib/inputs/DatePicker/DateInterval.js +92 -0
- package/lib/inputs/DatePicker/DatePicker.d.ts +22 -0
- package/lib/inputs/DatePicker/DatePicker.js +36 -0
- package/lib/inputs/DatePicker/DateTimeControl.d.ts +98 -0
- package/lib/inputs/DatePicker/DateTimeControl.js +452 -0
- package/lib/inputs/DatePicker/Day.d.ts +14 -0
- package/lib/inputs/DatePicker/Day.js +50 -0
- package/lib/inputs/DatePicker/PopUp.d.ts +19 -0
- package/lib/inputs/DatePicker/PopUp.js +71 -0
- package/lib/inputs/DatePicker/types.d.ts +31 -0
- package/lib/inputs/DatePicker/types.js +25 -0
- package/lib/inputs/DatePicker/utils.d.ts +39 -0
- package/lib/inputs/DatePicker/utils.js +304 -0
- package/lib/inputs/Input.d.ts +51 -0
- package/lib/inputs/Input.js +200 -0
- package/lib/inputs/InputMask/InputMask.d.ts +23 -0
- package/lib/inputs/InputMask/InputMask.js +310 -0
- package/lib/inputs/InputMoney/InputMoney.d.ts +101 -0
- package/lib/inputs/InputMoney/InputMoney.js +258 -0
- package/lib/inputs/InputNumber/InputNumber.d.ts +29 -0
- package/lib/inputs/InputNumber/InputNumber.js +316 -0
- package/lib/inputs/InputNumber/index.d.ts +1 -0
- package/lib/inputs/InputNumber/index.js +14 -0
- package/lib/inputs/InputNumber/types.d.ts +18 -0
- package/lib/inputs/InputNumber/types.js +14 -0
- package/lib/inputs/InputNumber/utils.d.ts +6 -0
- package/lib/inputs/InputNumber/utils.js +86 -0
- package/lib/inputs/InputPassword/InputPassword.d.ts +10 -0
- package/lib/inputs/InputPassword/InputPassword.js +81 -0
- package/lib/inputs/InputSelect/InputAddon.d.ts +17 -0
- package/lib/inputs/InputSelect/InputAddon.js +31 -0
- package/lib/inputs/InputSelect/InputContent.d.ts +63 -0
- package/lib/inputs/InputSelect/InputContent.js +188 -0
- package/lib/inputs/InputSelect/InputSelect.d.ts +296 -0
- package/lib/inputs/InputSelect/InputSelect.js +795 -0
- package/lib/inputs/InputSelect/InputSelectGroup.d.ts +43 -0
- package/lib/inputs/InputSelect/InputSelectGroup.js +113 -0
- package/lib/inputs/InputSelect/PopupItems.d.ts +55 -0
- package/lib/inputs/InputSelect/PopupItems.js +357 -0
- package/lib/inputs/InputSelect/PopupList.d.ts +82 -0
- package/lib/inputs/InputSelect/PopupList.js +138 -0
- package/lib/inputs/InputSelect/SelectedItems.d.ts +17 -0
- package/lib/inputs/InputSelect/SelectedItems.js +125 -0
- package/lib/inputs/InputSelect/constants.d.ts +4 -0
- package/lib/inputs/InputSelect/constants.js +15 -0
- package/lib/inputs/InputSelect/types.d.ts +16 -0
- package/lib/inputs/InputSelect/types.js +16 -0
- package/lib/inputs/InputSelect/utils.d.ts +9 -0
- package/lib/inputs/InputSelect/utils.js +142 -0
- package/lib/inputs/InputSelectTree/InputSelectTree.d.ts +114 -0
- package/lib/inputs/InputSelectTree/InputSelectTree.js +466 -0
- package/lib/inputs/InputSelectTree/TreeSelectNode.d.ts +36 -0
- package/lib/inputs/InputSelectTree/TreeSelectNode.js +63 -0
- package/lib/inputs/InputSelectTree/allProps.d.ts +123 -0
- package/lib/inputs/InputSelectTree/allProps.js +48 -0
- package/lib/inputs/InputSelectTree/until.d.ts +4 -0
- package/lib/inputs/InputSelectTree/until.js +83 -0
- package/lib/inputs/InputText.d.ts +41 -0
- package/lib/inputs/InputText.js +170 -0
- package/lib/inputs/NumberPicker/NumberPicker.d.ts +15 -0
- package/lib/inputs/NumberPicker/NumberPicker.js +129 -0
- package/lib/inputs/NumberPicker/NumberPickerButton.d.ts +8 -0
- package/lib/inputs/NumberPicker/NumberPickerButton.js +64 -0
- package/lib/inputs/NumberPicker/index.d.ts +1 -0
- package/lib/inputs/NumberPicker/index.js +14 -0
- package/lib/inputs/NumberPicker/utils.d.ts +2 -0
- package/lib/inputs/NumberPicker/utils.js +31 -0
- package/lib/inputs/RadioGroup/default/Group.d.ts +15 -0
- package/lib/inputs/RadioGroup/default/Group.js +63 -0
- package/lib/inputs/RadioGroup/default/Input.d.ts +17 -0
- package/lib/inputs/RadioGroup/default/Input.js +77 -0
- package/lib/inputs/RadioGroup/tabs/Group.d.ts +3 -0
- package/lib/inputs/RadioGroup/tabs/Group.js +24 -0
- package/lib/inputs/RadioGroup/tabs/Input.d.ts +3 -0
- package/lib/inputs/RadioGroup/tabs/Input.js +21 -0
- package/lib/inputs/Rating/Rating.d.ts +30 -0
- package/lib/inputs/Rating/Rating.js +212 -0
- package/lib/inputs/Select/Popup.d.ts +31 -0
- package/lib/inputs/Select/Popup.js +131 -0
- package/lib/inputs/Select/Select.d.ts +225 -0
- package/lib/inputs/Select/Select.js +705 -0
- package/lib/inputs/Select/SelectInput.d.ts +19 -0
- package/lib/inputs/Select/SelectInput.js +85 -0
- package/lib/inputs/Select/utils.d.ts +1 -0
- package/lib/inputs/Select/utils.js +28 -0
- package/lib/inputs/Switch/Switch.d.ts +11 -0
- package/lib/inputs/Switch/Switch.js +41 -0
- package/lib/inputs/TextArea.d.ts +12 -0
- package/lib/inputs/TextArea.js +54 -0
- package/lib/inputs/TextEditor/TextEditor.d.ts +11 -0
- package/lib/inputs/TextEditor/TextEditor.js +89 -0
- package/lib/inputs/TimePicker/TimePicker.d.ts +50 -0
- package/lib/inputs/TimePicker/TimePicker.js +398 -0
- package/lib/inputs/utils.d.ts +5 -0
- package/lib/inputs/utils.js +39 -0
- package/lib/layouts/ScrollContainer.d.ts +218 -0
- package/lib/layouts/ScrollContainer.js +128 -0
- package/lib/layouts/Spinner/CoverSpinner.d.ts +29 -0
- package/lib/layouts/Spinner/CoverSpinner.js +153 -0
- package/lib/layouts/Spinner/InlineSpinner.d.ts +5 -0
- package/lib/layouts/Spinner/InlineSpinner.js +27 -0
- package/lib/layouts/Spinner/Spinner.d.ts +31 -0
- package/lib/layouts/Spinner/Spinner.js +178 -0
- package/lib/styles/components/Calendar.scss +125 -0
- package/lib/styles/components/CalendarHeader.scss +75 -0
- package/lib/styles/components/DateInputGroup.scss +39 -0
- package/lib/styles/components/DatePicker.scss +18 -0
- package/lib/styles/components/Day.scss +29 -0
- package/lib/styles/components/OutputList.scss +14 -0
- package/lib/styles/components/OutputText.scss +50 -0
- package/lib/styles/controls/CodeEditor.scss +4 -0
- package/lib/styles/controls/InputNumber.scss +36 -0
- package/lib/styles/controls/InputPassword.scss +17 -0
- package/lib/styles/controls/InputText.scss +59 -0
- package/lib/styles/controls/NumberPicker.scss +36 -0
- package/lib/styles/controls/ProgressControl.scss +3 -0
- package/lib/styles/controls/Slider.scss +32 -0
- package/lib/styles/controls/Switch.scss +105 -0
- package/lib/styles/controls/TextEditor.scss +23 -0
- package/lib/styles/controls/TimePicker.scss +32 -0
- package/lib/styles/n2o/variables.scss +328 -0
- package/lib/styles/theme/variables.scss +81 -0
- package/lib/styles/variables.scss +10 -0
- package/lib/types.d.ts +25 -0
- package/lib/types.js +6 -0
- package/lib/utils/id.d.ts +3 -0
- package/lib/utils/id.js +46 -0
- package/lib/utils/isEmptyModel.d.ts +1 -0
- package/lib/utils/isEmptyModel.js +21 -0
- package/lib/utils/parseFormatter.js +153 -0
- package/package.json +196 -0
|
@@ -0,0 +1,556 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.Calendar = void 0;
|
|
9
|
+
|
|
10
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
|
|
12
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
+
|
|
14
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
+
|
|
16
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
17
|
+
|
|
18
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
19
|
+
|
|
20
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
21
|
+
|
|
22
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
23
|
+
|
|
24
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
25
|
+
|
|
26
|
+
var _react = _interopRequireDefault(require("react"));
|
|
27
|
+
|
|
28
|
+
var _isNull = _interopRequireDefault(require("lodash/isNull"));
|
|
29
|
+
|
|
30
|
+
var _moment = _interopRequireDefault(require("moment/moment"));
|
|
31
|
+
|
|
32
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
33
|
+
|
|
34
|
+
var _Day = require("./Day");
|
|
35
|
+
|
|
36
|
+
var _CalendarHeader = require("./CalendarHeader");
|
|
37
|
+
|
|
38
|
+
var _utils = require("./utils");
|
|
39
|
+
|
|
40
|
+
var _DateTimeControl = require("./DateTimeControl");
|
|
41
|
+
|
|
42
|
+
var _types = require("./types");
|
|
43
|
+
|
|
44
|
+
require("../../styles/components/Calendar.scss");
|
|
45
|
+
|
|
46
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
47
|
+
|
|
48
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
49
|
+
|
|
50
|
+
function _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); }; }
|
|
51
|
+
|
|
52
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
53
|
+
|
|
54
|
+
var Calendar = /*#__PURE__*/function (_React$Component) {
|
|
55
|
+
(0, _inherits2["default"])(Calendar, _React$Component);
|
|
56
|
+
|
|
57
|
+
var _super = _createSuper(Calendar);
|
|
58
|
+
|
|
59
|
+
function Calendar(props) {
|
|
60
|
+
var _this;
|
|
61
|
+
|
|
62
|
+
(0, _classCallCheck2["default"])(this, Calendar);
|
|
63
|
+
_this = _super.call(this, props);
|
|
64
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "hourRef", null);
|
|
65
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "minuteRef", null);
|
|
66
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "secondRef", null);
|
|
67
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeCalendarType", function (type) {
|
|
68
|
+
_this.setState({
|
|
69
|
+
calendarType: type
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "setHourRef", function (el) {
|
|
73
|
+
_this.hourRef = el;
|
|
74
|
+
});
|
|
75
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "setMinuteRef", function (el) {
|
|
76
|
+
_this.minuteRef = el;
|
|
77
|
+
});
|
|
78
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "setSecondRef", function (el) {
|
|
79
|
+
_this.secondRef = el;
|
|
80
|
+
});
|
|
81
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "prevMonth", function () {
|
|
82
|
+
var displayesMonth = _this.state.displayesMonth;
|
|
83
|
+
|
|
84
|
+
_this.setState({
|
|
85
|
+
displayesMonth: displayesMonth.subtract(1, 'months')
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "nextMonth", function () {
|
|
89
|
+
var displayesMonth = _this.state.displayesMonth;
|
|
90
|
+
|
|
91
|
+
_this.setState({
|
|
92
|
+
displayesMonth: displayesMonth.add(1, 'months')
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "prevYear", function () {
|
|
96
|
+
var displayesMonth = _this.state.displayesMonth;
|
|
97
|
+
|
|
98
|
+
_this.setState({
|
|
99
|
+
displayesMonth: displayesMonth.subtract(1, 'years')
|
|
100
|
+
});
|
|
101
|
+
});
|
|
102
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "nextYear", function () {
|
|
103
|
+
var displayesMonth = _this.state.displayesMonth;
|
|
104
|
+
|
|
105
|
+
_this.setState({
|
|
106
|
+
displayesMonth: displayesMonth.add(1, 'years')
|
|
107
|
+
});
|
|
108
|
+
});
|
|
109
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "nextDecade", function () {
|
|
110
|
+
var displayesMonth = _this.state.displayesMonth;
|
|
111
|
+
|
|
112
|
+
_this.setState({
|
|
113
|
+
displayesMonth: displayesMonth.add(10, 'years')
|
|
114
|
+
});
|
|
115
|
+
});
|
|
116
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "prevDecade", function () {
|
|
117
|
+
var displayesMonth = _this.state.displayesMonth;
|
|
118
|
+
|
|
119
|
+
_this.setState({
|
|
120
|
+
displayesMonth: displayesMonth.subtract(10, 'years')
|
|
121
|
+
});
|
|
122
|
+
});
|
|
123
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onItemClick", function (itemType, item, i) {
|
|
124
|
+
if (itemType === 'month-item') {
|
|
125
|
+
_this.setDate('month', i);
|
|
126
|
+
} else {
|
|
127
|
+
_this.setDate('year', item);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
_this.changeCalendarType(_types.CalendarType.BY_DAYS);
|
|
131
|
+
});
|
|
132
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "setTimeUnit", function (value, unit) {
|
|
133
|
+
var tempTimeObj = _this.state.tempTimeObj;
|
|
134
|
+
|
|
135
|
+
_this.setState({
|
|
136
|
+
tempTimeObj: _objectSpread(_objectSpread({}, tempTimeObj), {}, (0, _defineProperty2["default"])({}, unit, value))
|
|
137
|
+
});
|
|
138
|
+
});
|
|
139
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "setTime", function () {
|
|
140
|
+
var _this$props = _this.props,
|
|
141
|
+
value = _this$props.value,
|
|
142
|
+
inputName = _this$props.inputName,
|
|
143
|
+
markTimeAsSet = _this$props.markTimeAsSet,
|
|
144
|
+
select = _this$props.select;
|
|
145
|
+
var tempTimeObj = _this.state.tempTimeObj;
|
|
146
|
+
|
|
147
|
+
var _ref = tempTimeObj || {},
|
|
148
|
+
hours = _ref.hours,
|
|
149
|
+
minutes = _ref.minutes,
|
|
150
|
+
seconds = _ref.seconds;
|
|
151
|
+
|
|
152
|
+
var copyValue = value || (0, _moment["default"])();
|
|
153
|
+
|
|
154
|
+
_this.changeCalendarType(_types.CalendarType.BY_DAYS);
|
|
155
|
+
|
|
156
|
+
markTimeAsSet(inputName);
|
|
157
|
+
select((0, _utils.addTime)(copyValue.clone().startOf('day'), hours, minutes, seconds), inputName, false);
|
|
158
|
+
});
|
|
159
|
+
_this.state = {
|
|
160
|
+
displayesMonth: props.value ? props.value.clone().startOf('month') : (0, _moment["default"])().startOf('month'),
|
|
161
|
+
calendarType: _types.CalendarType.BY_DAYS,
|
|
162
|
+
tempTimeObj: props.value ? (0, _utils.objFromTime)(props.value) : props.time
|
|
163
|
+
};
|
|
164
|
+
return _this;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
(0, _createClass2["default"])(Calendar, [{
|
|
168
|
+
key: "componentWillReceiveProps",
|
|
169
|
+
value: // eslint-disable-next-line react/no-deprecated
|
|
170
|
+
function componentWillReceiveProps(props) {
|
|
171
|
+
if (props.value) {
|
|
172
|
+
this.setState({
|
|
173
|
+
displayesMonth: props.value ? props.value.clone().startOf('month') : (0, _moment["default"])().startOf('month'),
|
|
174
|
+
tempTimeObj: props.value ? (0, _utils.objFromTime)(props.value) : props.time
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
}, {
|
|
179
|
+
key: "renderHeader",
|
|
180
|
+
value: function renderHeader() {
|
|
181
|
+
var _this$state = this.state,
|
|
182
|
+
displayesMonth = _this$state.displayesMonth,
|
|
183
|
+
calendarType = _this$state.calendarType;
|
|
184
|
+
var _this$props2 = this.props,
|
|
185
|
+
_this$props2$locale = _this$props2.locale,
|
|
186
|
+
locale = _this$props2$locale === void 0 ? 'ru' : _this$props2$locale,
|
|
187
|
+
t = _this$props2.t;
|
|
188
|
+
var nextMonth = this.nextMonth,
|
|
189
|
+
nextYear = this.nextYear,
|
|
190
|
+
prevMonth = this.prevMonth,
|
|
191
|
+
prevYear = this.prevYear,
|
|
192
|
+
nextDecade = this.nextDecade,
|
|
193
|
+
prevDecade = this.prevDecade,
|
|
194
|
+
changeCalendarType = this.changeCalendarType;
|
|
195
|
+
return /*#__PURE__*/_react["default"].createElement(_CalendarHeader.CalendarHeader, {
|
|
196
|
+
nextMonth: nextMonth,
|
|
197
|
+
nextYear: nextYear,
|
|
198
|
+
prevMonth: prevMonth,
|
|
199
|
+
prevYear: prevYear,
|
|
200
|
+
nextDecade: nextDecade,
|
|
201
|
+
prevDecade: prevDecade,
|
|
202
|
+
displayesMonth: displayesMonth,
|
|
203
|
+
locale: locale,
|
|
204
|
+
calendarType: calendarType,
|
|
205
|
+
changeCalendarType: changeCalendarType,
|
|
206
|
+
t: t
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
}, {
|
|
210
|
+
key: "setDate",
|
|
211
|
+
value: function setDate(unit, value) {
|
|
212
|
+
var displayesMonth = this.state.displayesMonth;
|
|
213
|
+
this.setState({
|
|
214
|
+
displayesMonth: displayesMonth.set(unit, Number(value))
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
}, {
|
|
218
|
+
key: "renderNameOfDays",
|
|
219
|
+
value: function renderNameOfDays() {
|
|
220
|
+
var _this$props$locale = this.props.locale,
|
|
221
|
+
locale = _this$props$locale === void 0 ? 'ru' : _this$props$locale;
|
|
222
|
+
var nameOfDays = locale === 'ru' ? ['Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб', 'Вс'] : ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'];
|
|
223
|
+
return /*#__PURE__*/_react["default"].createElement("tr", null, nameOfDays.map(function (day, i) {
|
|
224
|
+
return (
|
|
225
|
+
/*#__PURE__*/
|
|
226
|
+
// eslint-disable-next-line react/no-array-index-key
|
|
227
|
+
_react["default"].createElement("td", {
|
|
228
|
+
key: i
|
|
229
|
+
}, day)
|
|
230
|
+
);
|
|
231
|
+
}));
|
|
232
|
+
}
|
|
233
|
+
}, {
|
|
234
|
+
key: "renderWeeks",
|
|
235
|
+
value: function renderWeeks() {
|
|
236
|
+
var _this2 = this;
|
|
237
|
+
|
|
238
|
+
var _this$state2 = this.state,
|
|
239
|
+
displayesMonth = _this$state2.displayesMonth,
|
|
240
|
+
tempTimeObj = _this$state2.tempTimeObj;
|
|
241
|
+
|
|
242
|
+
var _ref2 = tempTimeObj || {},
|
|
243
|
+
hours = _ref2.hours,
|
|
244
|
+
minutes = _ref2.minutes,
|
|
245
|
+
seconds = _ref2.seconds;
|
|
246
|
+
|
|
247
|
+
var firstDay = (0, _utils.addTime)(displayesMonth.clone().startOf('isoWeek'), hours, minutes, seconds);
|
|
248
|
+
return (0, _utils.weeks)(firstDay).map(function (week, i) {
|
|
249
|
+
return _this2.renderWeek(week, i);
|
|
250
|
+
});
|
|
251
|
+
}
|
|
252
|
+
}, {
|
|
253
|
+
key: "renderWeek",
|
|
254
|
+
value: function renderWeek(week, i) {
|
|
255
|
+
var _this3 = this;
|
|
256
|
+
|
|
257
|
+
return /*#__PURE__*/_react["default"].createElement("tr", {
|
|
258
|
+
key: i
|
|
259
|
+
}, week.map(function (day, i) {
|
|
260
|
+
return _this3.renderDay(day, i);
|
|
261
|
+
}));
|
|
262
|
+
} // eslint-disable-next-line complexity
|
|
263
|
+
|
|
264
|
+
}, {
|
|
265
|
+
key: "renderDay",
|
|
266
|
+
value: function renderDay(day, i) {
|
|
267
|
+
var _this$props3 = this.props,
|
|
268
|
+
min = _this$props3.min,
|
|
269
|
+
max = _this$props3.max,
|
|
270
|
+
value = _this$props3.value,
|
|
271
|
+
select = _this$props3.select,
|
|
272
|
+
inputName = _this$props3.inputName,
|
|
273
|
+
type = _this$props3.type,
|
|
274
|
+
index = _this$props3.index,
|
|
275
|
+
values = _this$props3.values,
|
|
276
|
+
dateFormat = _this$props3.dateFormat;
|
|
277
|
+
var disabled = false;
|
|
278
|
+
|
|
279
|
+
if (min && max) {
|
|
280
|
+
disabled = day.isBefore(min) || day.isAfter(max);
|
|
281
|
+
} else if (min) {
|
|
282
|
+
disabled = day.isBefore(min);
|
|
283
|
+
} else if (max) {
|
|
284
|
+
disabled = day.isAfter(max);
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
if (type === _DateTimeControl.ControlType.DATE_INTERVAL) {
|
|
288
|
+
var begin = values.begin;
|
|
289
|
+
|
|
290
|
+
var disableDaysBefore = function disableDaysBefore(range) {
|
|
291
|
+
return day.isBefore(range);
|
|
292
|
+
};
|
|
293
|
+
|
|
294
|
+
var disableDaysAfter = function disableDaysAfter(range) {
|
|
295
|
+
return day.isAfter(range);
|
|
296
|
+
};
|
|
297
|
+
|
|
298
|
+
var disabledDaysBeyondTheScopeMinMax = disableDaysBefore(min) || disableDaysAfter(max);
|
|
299
|
+
var disabledDaysBeyondTheScopeBeginMax = disableDaysBefore(begin) || disableDaysAfter(max); // eslint-disable-next-line no-unused-vars,no-return-assign, @typescript-eslint/no-unused-vars
|
|
300
|
+
|
|
301
|
+
var rangeMinMax = function rangeMinMax(disabledDays) {
|
|
302
|
+
return disabledDays = disabledDaysBeyondTheScopeMinMax;
|
|
303
|
+
}; // если не выбрана дата(begin) || min or max
|
|
304
|
+
|
|
305
|
+
|
|
306
|
+
var hasMinOrMaxAndNullBegin = (0, _isNull["default"])(begin) && (min || max) || (0, _isNull["default"])(begin) && min && max; // если hasMinOrMaxAndNullBegin, устанавливаем default range (min or max)
|
|
307
|
+
|
|
308
|
+
if (hasMinOrMaxAndNullBegin) {
|
|
309
|
+
rangeMinMax(disabled);
|
|
310
|
+
} else if (min && max) {
|
|
311
|
+
disabled = index === 0 ? disabledDaysBeyondTheScopeMinMax : disabledDaysBeyondTheScopeBeginMax;
|
|
312
|
+
} else if (min) {
|
|
313
|
+
disabled = index === 0 ? disableDaysBefore(min) : index === 1 && disableDaysBefore(begin);
|
|
314
|
+
} else if (max) {
|
|
315
|
+
disabled = index === 0 ? disableDaysAfter(max) : index === 1 && disableDaysAfter(begin);
|
|
316
|
+
} else {
|
|
317
|
+
// не указан range (min, max)
|
|
318
|
+
disabled = index === 1 && disableDaysBefore(begin);
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
var displayesMonth = this.state.displayesMonth;
|
|
323
|
+
var otherMonth = (0, _utils.isDateFromNextMonth)(day, displayesMonth) || (0, _utils.isDateFromPrevMonth)(day, displayesMonth);
|
|
324
|
+
var selected = day.isSame(value);
|
|
325
|
+
var current = day.format('DD.MM.YYYY') === (0, _moment["default"])().format('DD.MM.YYYY');
|
|
326
|
+
var props = {
|
|
327
|
+
day: day,
|
|
328
|
+
otherMonth: otherMonth,
|
|
329
|
+
selected: selected,
|
|
330
|
+
disabled: disabled,
|
|
331
|
+
select: select,
|
|
332
|
+
inputName: inputName,
|
|
333
|
+
current: current,
|
|
334
|
+
dateFormat: dateFormat
|
|
335
|
+
};
|
|
336
|
+
return /*#__PURE__*/_react["default"].createElement(_Day.Day, (0, _extends2["default"])({
|
|
337
|
+
key: i
|
|
338
|
+
}, props));
|
|
339
|
+
}
|
|
340
|
+
}, {
|
|
341
|
+
key: "renderTime",
|
|
342
|
+
value: function renderTime() {
|
|
343
|
+
var _this$props4 = this.props,
|
|
344
|
+
value = _this$props4.value,
|
|
345
|
+
hasDefaultTime = _this$props4.hasDefaultTime,
|
|
346
|
+
timeFormat = _this$props4.timeFormat,
|
|
347
|
+
t = _this$props4.t;
|
|
348
|
+
|
|
349
|
+
if (hasDefaultTime) {
|
|
350
|
+
if (value) {
|
|
351
|
+
return value.format(timeFormat);
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
return '00:00:00';
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
if (t) {
|
|
358
|
+
return t('chooseTime');
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
return null;
|
|
362
|
+
}
|
|
363
|
+
}, {
|
|
364
|
+
key: "renderByDays",
|
|
365
|
+
value: function renderByDays() {
|
|
366
|
+
var _this4 = this;
|
|
367
|
+
|
|
368
|
+
var timeFormat = this.props.timeFormat;
|
|
369
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("table", {
|
|
370
|
+
className: "n2o-calendar-table"
|
|
371
|
+
}, /*#__PURE__*/_react["default"].createElement("thead", null, this.renderNameOfDays()), /*#__PURE__*/_react["default"].createElement("tbody", null, this.renderWeeks())), timeFormat && /*#__PURE__*/_react["default"].createElement("a", {
|
|
372
|
+
className: "n2o-calendar-time-container",
|
|
373
|
+
href: "/test",
|
|
374
|
+
onClick: function onClick(e) {
|
|
375
|
+
e.preventDefault();
|
|
376
|
+
|
|
377
|
+
_this4.changeCalendarType(_types.CalendarType.TIME_PICKER);
|
|
378
|
+
}
|
|
379
|
+
}, this.renderTime()));
|
|
380
|
+
}
|
|
381
|
+
}, {
|
|
382
|
+
key: "renderByMonths",
|
|
383
|
+
value: function renderByMonths() {
|
|
384
|
+
var _this$props$locale2 = this.props.locale,
|
|
385
|
+
locale = _this$props$locale2 === void 0 ? 'ru' : _this$props$locale2;
|
|
386
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
387
|
+
className: "n2o-calendar-body"
|
|
388
|
+
}, this.renderList(_moment["default"].localeData(locale).months(), 'month-item'));
|
|
389
|
+
}
|
|
390
|
+
}, {
|
|
391
|
+
key: "renderList",
|
|
392
|
+
value: function renderList(list, className) {
|
|
393
|
+
var _this5 = this;
|
|
394
|
+
|
|
395
|
+
var value = this.props.value;
|
|
396
|
+
|
|
397
|
+
var isActive = function isActive(className, item, i) {
|
|
398
|
+
if (!value) {
|
|
399
|
+
return false;
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
if (className !== 'month-item') {
|
|
403
|
+
return item === value.year();
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
return i === value.month();
|
|
407
|
+
};
|
|
408
|
+
|
|
409
|
+
var isOtherDecade = function isOtherDecade(i) {
|
|
410
|
+
return className === 'year-item' && (i === 0 || i === 11);
|
|
411
|
+
};
|
|
412
|
+
|
|
413
|
+
return list.map(function (item, i) {
|
|
414
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
415
|
+
className: (0, _classnames["default"])('n2o-calendar-body-item', className, {
|
|
416
|
+
active: isActive(className, item, i),
|
|
417
|
+
'other-decade': isOtherDecade(i)
|
|
418
|
+
}),
|
|
419
|
+
onClick: function onClick() {
|
|
420
|
+
return _this5.onItemClick(className, item, i);
|
|
421
|
+
}
|
|
422
|
+
}, item);
|
|
423
|
+
});
|
|
424
|
+
}
|
|
425
|
+
}, {
|
|
426
|
+
key: "renderByYears",
|
|
427
|
+
value: function renderByYears() {
|
|
428
|
+
var displayesMonth = this.state.displayesMonth;
|
|
429
|
+
var decadeStart = parseInt(String(Number(displayesMonth.format('YYYY')) / 10), 10) * 10;
|
|
430
|
+
var years = Array.from(new Array(12), function (val, index) {
|
|
431
|
+
return decadeStart + index - 1;
|
|
432
|
+
});
|
|
433
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
434
|
+
className: "n2o-calendar-body"
|
|
435
|
+
}, this.renderList(years, 'year-item'));
|
|
436
|
+
}
|
|
437
|
+
}, {
|
|
438
|
+
key: "componentDidUpdate",
|
|
439
|
+
value: function componentDidUpdate() {
|
|
440
|
+
var calendarType = this.state.calendarType;
|
|
441
|
+
|
|
442
|
+
if (calendarType === _types.CalendarType.TIME_PICKER) {
|
|
443
|
+
if (this.minuteRef) {
|
|
444
|
+
this.minuteRef.scrollIntoView();
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
if (this.secondRef) {
|
|
448
|
+
this.secondRef.scrollIntoView();
|
|
449
|
+
}
|
|
450
|
+
|
|
451
|
+
if (this.hourRef) {
|
|
452
|
+
this.hourRef.scrollIntoView();
|
|
453
|
+
}
|
|
454
|
+
}
|
|
455
|
+
}
|
|
456
|
+
}, {
|
|
457
|
+
key: "renderTimePicker",
|
|
458
|
+
value: function renderTimePicker() {
|
|
459
|
+
var _this6 = this;
|
|
460
|
+
|
|
461
|
+
var tempTimeObj = this.state.tempTimeObj;
|
|
462
|
+
|
|
463
|
+
var _ref3 = tempTimeObj || {},
|
|
464
|
+
minutes = _ref3.minutes,
|
|
465
|
+
seconds = _ref3.seconds,
|
|
466
|
+
hours = _ref3.hours;
|
|
467
|
+
/* eslint-disable react/jsx-one-expression-per-line */
|
|
468
|
+
|
|
469
|
+
|
|
470
|
+
return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
471
|
+
className: "n2o-calendar-timepicker"
|
|
472
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
473
|
+
className: "n2o-calendar-picker hour-picker"
|
|
474
|
+
}, Array.from(new Array(24), function (val, index) {
|
|
475
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
476
|
+
className: (0, _classnames["default"])('n2o-calendar-time-unit', {
|
|
477
|
+
active: index === hours
|
|
478
|
+
}),
|
|
479
|
+
onClick: function onClick() {
|
|
480
|
+
return _this6.setTimeUnit(index, 'hours');
|
|
481
|
+
},
|
|
482
|
+
ref: index === hours ? _this6.setHourRef : null
|
|
483
|
+
}, index);
|
|
484
|
+
})), /*#__PURE__*/_react["default"].createElement("div", {
|
|
485
|
+
className: "n2o-calendar-picker minute-picker"
|
|
486
|
+
}, Array.from(new Array(60), function (val, index) {
|
|
487
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
488
|
+
className: (0, _classnames["default"])('n2o-calendar-time-unit', {
|
|
489
|
+
active: index === minutes
|
|
490
|
+
}),
|
|
491
|
+
ref: index === minutes ? _this6.setMinuteRef : null,
|
|
492
|
+
onClick: function onClick() {
|
|
493
|
+
return _this6.setTimeUnit(index, 'minutes');
|
|
494
|
+
}
|
|
495
|
+
}, index);
|
|
496
|
+
})), /*#__PURE__*/_react["default"].createElement("div", {
|
|
497
|
+
className: "n2o-calendar-picker second-picker"
|
|
498
|
+
}, Array.from(new Array(60), function (val, index) {
|
|
499
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
500
|
+
className: (0, _classnames["default"])('n2o-calendar-time-unit', {
|
|
501
|
+
active: index === seconds
|
|
502
|
+
}),
|
|
503
|
+
ref: index === seconds ? _this6.setSecondRef : null,
|
|
504
|
+
onClick: function onClick() {
|
|
505
|
+
return _this6.setTimeUnit(index, 'seconds');
|
|
506
|
+
}
|
|
507
|
+
}, index);
|
|
508
|
+
}))), /*#__PURE__*/_react["default"].createElement("div", {
|
|
509
|
+
className: "n2o-calendar-time-buttons"
|
|
510
|
+
}, /*#__PURE__*/_react["default"].createElement("button", {
|
|
511
|
+
type: "button",
|
|
512
|
+
className: "btn btn-secondary btn-sm",
|
|
513
|
+
onClick: function onClick() {
|
|
514
|
+
return _this6.changeCalendarType(_types.CalendarType.BY_DAYS);
|
|
515
|
+
}
|
|
516
|
+
}, ' ', "\u041D\u0430\u0437\u0430\u0434"), /*#__PURE__*/_react["default"].createElement("button", {
|
|
517
|
+
className: "btn btn-primary btn-sm",
|
|
518
|
+
onClick: this.setTime,
|
|
519
|
+
type: "button"
|
|
520
|
+
}, ' ', "\u0412\u044B\u0431\u0440\u0430\u0442\u044C")));
|
|
521
|
+
}
|
|
522
|
+
}, {
|
|
523
|
+
key: "renderBody",
|
|
524
|
+
value: function renderBody(type) {
|
|
525
|
+
switch (type) {
|
|
526
|
+
case _types.CalendarType.BY_MONTHS:
|
|
527
|
+
return this.renderByMonths();
|
|
528
|
+
|
|
529
|
+
case _types.CalendarType.BY_YEARS:
|
|
530
|
+
return this.renderByYears();
|
|
531
|
+
|
|
532
|
+
case _types.CalendarType.TIME_PICKER:
|
|
533
|
+
return this.renderTimePicker();
|
|
534
|
+
|
|
535
|
+
case _types.CalendarType.BY_DAYS:
|
|
536
|
+
default:
|
|
537
|
+
return this.renderByDays();
|
|
538
|
+
}
|
|
539
|
+
}
|
|
540
|
+
}, {
|
|
541
|
+
key: "render",
|
|
542
|
+
value: function render() {
|
|
543
|
+
var calendarType = this.state.calendarType;
|
|
544
|
+
var timeFormat = this.props.timeFormat;
|
|
545
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
546
|
+
className: (0, _classnames["default"])('n2o-calendar', {
|
|
547
|
+
time: timeFormat
|
|
548
|
+
})
|
|
549
|
+
}, this.renderHeader(), this.renderBody(calendarType));
|
|
550
|
+
}
|
|
551
|
+
}]);
|
|
552
|
+
return Calendar;
|
|
553
|
+
}(_react["default"].Component);
|
|
554
|
+
|
|
555
|
+
exports.Calendar = Calendar;
|
|
556
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbnB1dHMvRGF0ZVBpY2tlci9DYWxlbmRhci50c3giXSwibmFtZXMiOlsiQ2FsZW5kYXIiLCJwcm9wcyIsInR5cGUiLCJzZXRTdGF0ZSIsImNhbGVuZGFyVHlwZSIsImVsIiwiaG91clJlZiIsIm1pbnV0ZVJlZiIsInNlY29uZFJlZiIsImRpc3BsYXllc01vbnRoIiwic3RhdGUiLCJzdWJ0cmFjdCIsImFkZCIsIml0ZW1UeXBlIiwiaXRlbSIsImkiLCJzZXREYXRlIiwiY2hhbmdlQ2FsZW5kYXJUeXBlIiwiQ2FsZW5kYXJUeXBlIiwiQllfREFZUyIsInZhbHVlIiwidW5pdCIsInRlbXBUaW1lT2JqIiwiaW5wdXROYW1lIiwibWFya1RpbWVBc1NldCIsInNlbGVjdCIsImhvdXJzIiwibWludXRlcyIsInNlY29uZHMiLCJjb3B5VmFsdWUiLCJjbG9uZSIsInN0YXJ0T2YiLCJ0aW1lIiwibG9jYWxlIiwidCIsIm5leHRNb250aCIsIm5leHRZZWFyIiwicHJldk1vbnRoIiwicHJldlllYXIiLCJuZXh0RGVjYWRlIiwicHJldkRlY2FkZSIsInNldCIsIk51bWJlciIsIm5hbWVPZkRheXMiLCJtYXAiLCJkYXkiLCJmaXJzdERheSIsIndlZWsiLCJyZW5kZXJXZWVrIiwicmVuZGVyRGF5IiwibWluIiwibWF4IiwiaW5kZXgiLCJ2YWx1ZXMiLCJkYXRlRm9ybWF0IiwiZGlzYWJsZWQiLCJpc0JlZm9yZSIsImlzQWZ0ZXIiLCJDb250cm9sVHlwZSIsIkRBVEVfSU5URVJWQUwiLCJiZWdpbiIsImRpc2FibGVEYXlzQmVmb3JlIiwicmFuZ2UiLCJkaXNhYmxlRGF5c0FmdGVyIiwiZGlzYWJsZWREYXlzQmV5b25kVGhlU2NvcGVNaW5NYXgiLCJkaXNhYmxlZERheXNCZXlvbmRUaGVTY29wZUJlZ2luTWF4IiwicmFuZ2VNaW5NYXgiLCJkaXNhYmxlZERheXMiLCJoYXNNaW5Pck1heEFuZE51bGxCZWdpbiIsIm90aGVyTW9udGgiLCJzZWxlY3RlZCIsImlzU2FtZSIsImN1cnJlbnQiLCJmb3JtYXQiLCJoYXNEZWZhdWx0VGltZSIsInRpbWVGb3JtYXQiLCJyZW5kZXJOYW1lT2ZEYXlzIiwicmVuZGVyV2Vla3MiLCJlIiwicHJldmVudERlZmF1bHQiLCJUSU1FX1BJQ0tFUiIsInJlbmRlclRpbWUiLCJyZW5kZXJMaXN0IiwibW9tZW50IiwibG9jYWxlRGF0YSIsIm1vbnRocyIsImxpc3QiLCJjbGFzc05hbWUiLCJpc0FjdGl2ZSIsInllYXIiLCJtb250aCIsImlzT3RoZXJEZWNhZGUiLCJhY3RpdmUiLCJvbkl0ZW1DbGljayIsImRlY2FkZVN0YXJ0IiwicGFyc2VJbnQiLCJTdHJpbmciLCJ5ZWFycyIsIkFycmF5IiwiZnJvbSIsInZhbCIsInNjcm9sbEludG9WaWV3Iiwic2V0VGltZVVuaXQiLCJzZXRIb3VyUmVmIiwic2V0TWludXRlUmVmIiwic2V0U2Vjb25kUmVmIiwic2V0VGltZSIsIkJZX01PTlRIUyIsInJlbmRlckJ5TW9udGhzIiwiQllfWUVBUlMiLCJyZW5kZXJCeVllYXJzIiwicmVuZGVyVGltZVBpY2tlciIsInJlbmRlckJ5RGF5cyIsInJlbmRlckhlYWRlciIsInJlbmRlckJvZHkiLCJSZWFjdCIsIkNvbXBvbmVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQU1BOztBQUNBOztBQUVBOzs7Ozs7Ozs7O0lBNkJhQSxROzs7OztBQU9ULG9CQUFZQyxLQUFaLEVBQWtDO0FBQUE7O0FBQUE7QUFDOUIsOEJBQU1BLEtBQU47QUFEOEIsZ0dBTk8sSUFNUDtBQUFBLGtHQUpTLElBSVQ7QUFBQSxrR0FGUyxJQUVUO0FBQUEsMkdBV2IsVUFBQ0MsSUFBRCxFQUF3QjtBQUN6QyxZQUFLQyxRQUFMLENBQWM7QUFBRUMsUUFBQUEsWUFBWSxFQUFFRjtBQUFoQixPQUFkO0FBQ0gsS0FiaUM7QUFBQSxtR0EyQnJCLFVBQUNHLEVBQUQsRUFBd0I7QUFD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b3J0IGlzTnVsbCBmcm9tICdsb2Rhc2gvaXNOdWxsJ1xuaW1wb3J0IG1vbWVudCwgeyBNb21lbnQsIE1vbWVudElucHV0LCB1bml0T2ZUaW1lIH0gZnJvbSAnbW9tZW50L21vbWVudCdcbmltcG9ydCBjeCBmcm9tICdjbGFzc25hbWVzJ1xuXG5pbXBvcnQgeyBEYXkgfSBmcm9tICcuL0RheSdcbmltcG9ydCB7IENhbGVuZGFySGVhZGVyIH0gZnJvbSAnLi9DYWxlbmRhckhlYWRlcidcbmltcG9ydCB7XG4gICAgd2Vla3MsXG4gICAgaXNEYXRlRnJvbVByZXZNb250aCxcbiAgICBpc0RhdGVGcm9tTmV4dE1vbnRoLFxuICAgIGFkZFRpbWUsIG9iakZyb21UaW1lLFxufSBmcm9tICcuL3V0aWxzJ1xuaW1wb3J0IHsgQ29udHJvbFR5cGUgfSBmcm9tICcuL0RhdGVUaW1lQ29udHJvbCdcbmltcG9ydCB7IENhbGVuZGFyVHlwZSwgVGltZSB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCAnLi4vLi4vc3R5bGVzL2NvbXBvbmVudHMvQ2FsZW5kYXIuc2NzcydcblxudHlwZSBDYWxlbmRhclByb3BzID0ge1xuICAgIGF1dG8/OiBib29sZWFuLFxuICAgIGRhdGVGb3JtYXQ6IHN0cmluZyxcbiAgICBoYXNEZWZhdWx0VGltZT86IGJvb2xlYW4sXG4gICAgaW5kZXg6IG51bWJlcixcbiAgICBpbnB1dE5hbWU6IHN0cmluZyxcbiAgICBsb2NhbGU6ICdlbicgfCAncnUnLFxuICAgIG1hcmtUaW1lQXNTZXQoc3RyOiBzdHJpbmcpOiB2b2lkLFxuICAgIG1heD86IE1vbWVudCB8IERhdGUgfCBzdHJpbmcsXG4gICAgbWluPzogTW9tZW50IHwgRGF0ZSB8IHN0cmluZyxcbiAgICBzZWxlY3QoZGF5OiBNb21lbnQsIG5hbWU6IHN0cmluZywgdHlwZT86IGJvb2xlYW4pOiB2b2lkLFxuICAgIHNldFBsYWNlbWVudD8oKTogdm9pZCxcbiAgICBzZXRWaXNpYmlsaXR5PygpOiB2b2lkLFxuICAgIHQoa2V5OiBzdHJpbmcpOiBSZWFjdE5vZGUsXG4gICAgdGltZTogVGltZSxcbiAgICB0aW1lRm9ybWF0Pzogc3RyaW5nLFxuICAgIHR5cGU/OiBzdHJpbmcsXG4gICAgdmFsdWU6IE1vbWVudCB8IG51bGwsXG4gICAgdmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCBNb21lbnRJbnB1dD5cbn1cblxudHlwZSBDYWxlbmRhclN0YXRlID0ge1xuICAgIGNhbGVuZGFyVHlwZTogQ2FsZW5kYXJUeXBlLFxuICAgIGRpc3BsYXllc01vbnRoOiBNb21lbnQsXG4gICAgdGVtcFRpbWVPYmo6IFRpbWVcbn1cblxuZXhwb3J0IGNsYXNzIENhbGVuZGFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PENhbGVuZGFyUHJvcHMsIENhbGVuZGFyU3RhdGU+IHtcbiAgICBwcml2YXRlIGhvdXJSZWY6IEhUTUxEaXZFbGVtZW50IHwgbnVsbCA9IG51bGxcblxuICAgIHByaXZhdGUgbWludXRlUmVmOiBIVE1MRGl2RWxlbWVudCB8IG51bGwgPSBudWxsXG5cbiAgICBwcml2YXRlIHNlY29uZFJlZjogSFRNTERpdkVsZW1lbnQgfCBudWxsID0gbnVsbFxuXG4gICAgY29uc3RydWN0b3IocHJvcHM6IENhbGVuZGFyUHJvcHMpIHtcbiAgICAgICAgc3VwZXIocHJvcHMpXG4gICAgICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICAgICAgICBkaXNwbGF5ZXNNb250aDogcHJvcHMudmFsdWVcbiAgICAgICAgICAgICAgICA/IHByb3BzLnZhbHVlLmNsb25lKCkuc3RhcnRPZignbW9udGgnKVxuICAgICAgICAgICAgICAgIDogbW9tZW50KCkuc3RhcnRPZignbW9udGgnKSxcbiAgICAgICAgICAgIGNhbGVuZGFyVHlwZTogQ2FsZW5kYXJUeXBlLkJZX0RBWVMsXG4gICAgICAgICAgICB0ZW1wVGltZU9iajogcHJvcHMudmFsdWUgPyBvYmpGcm9tVGltZShwcm9wcy52YWx1ZSkgOiBwcm9wcy50aW1lLFxuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2hhbmdlQ2FsZW5kYXJUeXBlID0gKHR5cGU6IENhbGVuZGFyVHlwZSkgPT4ge1xuICAgICAgICB0aGlzLnNldFN0YXRlKHsgY2FsZW5kYXJUeXBlOiB0eXBlIH0pXG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L25vLWRlcHJlY2F0ZWRcbiAgICBjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKHByb3BzOiBDYWxlbmRhclByb3BzKSB7XG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAgICAgZGlzcGxheWVzTW9udGg6IHByb3BzLnZhbHVlXG4gICAgICAgICAgICAgICAgICAgID8gcHJvcHMudmFsdWUuY2xvbmUoKS5zdGFydE9mKCdtb250aCcpXG4gICAgICAgICAgICAgICAgICAgIDogbW9tZW50KCkuc3RhcnRPZignbW9udGgnKSxcbiAgICAgICAgICAgICAgICB0ZW1wVGltZU9iajogcHJvcHMudmFsdWUgPyBvYmpGcm9tVGltZShwcm9wcy52YWx1ZSkgOiBwcm9wcy50aW1lLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNldEhvdXJSZWYgPSAoZWw6IEhUTUxEaXZFbGVtZW50KSA9PiB7XG4gICAgICAgIHRoaXMuaG91clJlZiA9IGVsXG4gICAgfVxuXG4gICAgc2V0TWludXRlUmVmID0gKGVsOiBIVE1MRGl2RWxlbWVudCkgPT4ge1xuICAgICAgICB0aGlzLm1pbnV0ZVJlZiA9IGVsXG4gICAgfVxuXG4gICAgc2V0U2Vjb25kUmVmID0gKGVsOiBIVE1MRGl2RWxlbWVudCkgPT4ge1xuICAgICAgICB0aGlzLnNlY29uZFJlZiA9IGVsXG4gICAgfVxuXG4gICAgcmVuZGVySGVhZGVyKCkge1xuICAgICAgICBjb25zdCB7IGRpc3BsYXllc01vbnRoLCBjYWxlbmRhclR5cGUgfSA9IHRoaXMuc3RhdGVcbiAgICAgICAgY29uc3QgeyBsb2NhbGUgPSAncnUnLCB0IH0gPSB0aGlzLnByb3BzXG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgIG5leHRNb250aCxcbiAgICAgICAgICAgIG5leHRZZWFyLFxuICAgICAgICAgICAgcHJldk1vbnRoLFxuICAgICAgICAgICAgcHJldlllYXIsXG4gICAgICAgICAgICBuZXh0RGVjYWRlLFxuICAgICAgICAgICAgcHJldkRlY2FkZSxcbiAgICAgICAgICAgIGNoYW5nZUNhbGVuZGFyVHlwZSxcbiAgICAgICAgfSA9IHRoaXNcblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPENhbGVuZGFySGVhZGVyXG4gICAgICAgICAgICAgICAgbmV4dE1vbnRoPXtuZXh0TW9udGh9XG4gICAgICAgICAgICAgICAgbmV4dFllYXI9e25leHRZZWFyfVxuICAgICAgICAgICAgICAgIHByZXZNb250aD17cHJldk1vbnRofVxuICAgICAgICAgICAgICAgIHByZXZZZWFyPXtwcmV2WWVhcn1cbiAgICAgICAgICAgICAgICBuZXh0RGVjYWRlPXtuZXh0RGVjYWRlfVxuICAgICAgICAgICAgICAgIHByZXZEZWNhZGU9e3ByZXZEZWNhZGV9XG4gICAgICAgICAgICAgICAgZGlzcGxheWVzTW9udGg9e2Rpc3BsYXllc01vbnRofVxuICAgICAgICAgICAgICAgIGxvY2FsZT17bG9jYWxlfVxuICAgICAgICAgICAgICAgIGNhbGVuZGFyVHlwZT17Y2FsZW5kYXJUeXBlfVxuICAgICAgICAgICAgICAgIGNoYW5nZUNhbGVuZGFyVHlwZT17Y2hhbmdlQ2FsZW5kYXJUeXBlfVxuICAgICAgICAgICAgICAgIHQ9e3R9XG4gICAgICAgICAgICAvPlxuICAgICAgICApXG4gICAgfVxuXG4gICAgcHJldk1vbnRoID0gKCkgPT4ge1xuICAgICAgICBjb25zdCB7IGRpc3BsYXllc01vbnRoIH0gPSB0aGlzLnN0YXRlXG5cbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGRpc3BsYXllc01vbnRoOiBkaXNwbGF5ZXNNb250aC5zdWJ0cmFjdCgxLCAnbW9udGhzJykgfSlcbiAgICB9XG5cbiAgICBuZXh0TW9udGggPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgZGlzcGxheWVzTW9udGggfSA9IHRoaXMuc3RhdGVcblxuICAgICAgICB0aGlzLnNldFN0YXRlKHsgZGlzcGxheWVzTW9udGg6IGRpc3BsYXllc01vbnRoLmFkZCgxLCAnbW9udGhzJykgfSlcbiAgICB9XG5cbiAgICBwcmV2WWVhciA9ICgpID0+IHtcbiAgICAgICAgY29uc3QgeyBkaXNwbGF5ZXNNb250aCB9ID0gdGhpcy5zdGF0ZVxuXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoeyBkaXNwbGF5ZXNNb250aDogZGlzcGxheWVzTW9udGguc3VidHJhY3QoMSwgJ3llYXJzJykgfSlcbiAgICB9XG5cbiAgICBuZXh0WWVhciA9ICgpID0+IHtcbiAgICAgICAgY29uc3QgeyBkaXNwbGF5ZXNNb250aCB9ID0gdGhpcy5zdGF0ZVxuXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoeyBkaXNwbGF5ZXNNb250aDogZGlzcGxheWVzTW9udGguYWRkKDEsICd5ZWFycycpIH0pXG4gICAgfVxuXG4gICAgbmV4dERlY2FkZSA9ICgpID0+IHtcbiAgICAgICAgY29uc3QgeyBkaXNwbGF5ZXNNb250aCB9ID0gdGhpcy5zdGF0ZVxuXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoeyBkaXNwbGF5ZXNNb250aDogZGlzcGxheWVzTW9udGguYWRkKDEwLCAneWVhcnMnKSB9KVxuICAgIH1cblxuICAgIHByZXZEZWNhZGUgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgZGlzcGxheWVzTW9udGggfSA9IHRoaXMuc3RhdGVcblxuICAgICAgICB0aGlzLnNldFN0YXRlKHsgZGlzcGxheWVzTW9udGg6IGRpc3BsYXllc01vbnRoLnN1YnRyYWN0KDEwLCAneWVhcnMnKSB9KVxuICAgIH1cblxuICAgIHNldERhdGUodW5pdDogc3RyaW5nLCB2YWx1ZTogbnVtYmVyIHwgc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IHsgZGlzcGxheWVzTW9udGggfSA9IHRoaXMuc3RhdGVcblxuICAgICAgICB0aGlzLnNldFN0YXRlKHsgZGlzcGxheWVzTW9udGg6IGRpc3BsYXllc01vbnRoLnNldCh1bml0IGFzIHVuaXRPZlRpbWUuQWxsLCBOdW1iZXIodmFsdWUpKSB9KVxuICAgIH1cblxuICAgIHJlbmRlck5hbWVPZkRheXMoKSB7XG4gICAgICAgIGNvbnN0IHsgbG9jYWxlID0gJ3J1JyB9ID0gdGhpcy5wcm9wc1xuICAgICAgICBjb25zdCBuYW1lT2ZEYXlzID0gbG9jYWxlID09PSAncnUnXG4gICAgICAgICAgICA/IFsn0J/QvScsICfQktGCJywgJ9Ch0YAnLCAn0KfRgicsICfQn9GCJywgJ9Ch0LEnLCAn0JLRgSddXG4gICAgICAgICAgICA6IFsnTW8nLCAnVHUnLCAnV2UnLCAnVGgnLCAnRnInLCAnU2EnLCAnU3UnXVxuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAge25hbWVPZkRheXMubWFwKChkYXksIGkpID0+IChcbiAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L25vLWFycmF5LWluZGV4LWtleVxuICAgICAgICAgICAgICAgICAgICA8dGQga2V5PXtpfT57ZGF5fTwvdGQ+XG4gICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICA8L3RyPlxuICAgICAgICApXG4gICAgfVxuXG4gICAgcmVuZGVyV2Vla3MoKSB7XG4gICAgICAgIGNvbnN0IHsgZGlzcGxheWVzTW9udGgsIHRlbXBUaW1lT2JqIH0gPSB0aGlzLnN0YXRlXG4gICAgICAgIGNvbnN0IHsgaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMgfSA9IHRlbXBUaW1lT2JqIHx8IHt9XG4gICAgICAgIGNvbnN0IGZpcnN0RGF5ID0gYWRkVGltZShcbiAgICAgICAgICAgIGRpc3BsYXllc01vbnRoLmNsb25lKCkuc3RhcnRPZignaXNvV2VlaycpLFxuICAgICAgICAgICAgaG91cnMsXG4gICAgICAgICAgICBtaW51dGVzLFxuICAgICAgICAgICAgc2Vjb25kcyxcbiAgICAgICAgKVxuXG4gICAgICAgIHJldHVybiB3ZWVrcyhmaXJzdERheSkubWFwKCh3ZWVrLCBpKSA9PiB0aGlzLnJlbmRlcldlZWsod2VlaywgaSkpXG4gICAgfVxuXG4gICAgcmVuZGVyV2Vlayh3ZWVrOiBNb21lbnRbXSwgaTogbnVtYmVyKSB7XG4gICAgICAgIHJldHVybiA8dHIga2V5PXtpfT57d2Vlay5tYXAoKGRheSwgaSkgPT4gdGhpcy5yZW5kZXJEYXkoZGF5LCBpKSl9PC90cj5cbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY29tcGxleGl0eVxuICAgIHJlbmRlckRheShkYXk6IE1vbWVudCwgaTogbnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgIG1pbixcbiAgICAgICAgICAgIG1heCxcbiAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgc2VsZWN0LFxuICAgICAgICAgICAgaW5wdXROYW1lLFxuICAgICAgICAgICAgdHlwZSxcbiAgICAgICAgICAgIGluZGV4LFxuICAgICAgICAgICAgdmFsdWVzLFxuICAgICAgICAgICAgZGF0ZUZvcm1hdCxcbiAgICAgICAgfSA9IHRoaXMucHJvcHNcblxuICAgICAgICBsZXQgZGlzYWJsZWQgPSBmYWxzZVxuXG4gICAgICAgIGlmIChtaW4gJiYgbWF4KSB7XG4gICAgICAgICAgICBkaXNhYmxlZCA9IGRheS5pc0JlZm9yZShtaW4pIHx8IGRheS5pc0FmdGVyKG1heClcbiAgICAgICAgfSBlbHNlIGlmIChtaW4pIHtcbiAgICAgICAgICAgIGRpc2FibGVkID0gZGF5LmlzQmVmb3JlKG1pbilcbiAgICAgICAgfSBlbHNlIGlmIChtYXgpIHtcbiAgICAgICAgICAgIGRpc2FibGVkID0gZGF5LmlzQWZ0ZXIobWF4KVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHR5cGUgPT09IENvbnRyb2xUeXBlLkRBVEVfSU5URVJWQUwpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgYmVnaW4gfSA9IHZhbHVlc1xuXG4gICAgICAgICAgICBjb25zdCBkaXNhYmxlRGF5c0JlZm9yZSA9IChyYW5nZTogTW9tZW50SW5wdXQpID0+IGRheS5pc0JlZm9yZShyYW5nZSlcbiAgICAgICAgICAgIGNvbnN0IGRpc2FibGVEYXlzQWZ0ZXIgPSAocmFuZ2U6IE1vbWVudElucHV0KSA9PiBkYXkuaXNBZnRlcihyYW5nZSlcblxuICAgICAgICAgICAgY29uc3QgZGlzYWJsZWREYXlzQmV5b25kVGhlU2NvcGVNaW5NYXggPSBkaXNhYmxlRGF5c0JlZm9yZShtaW4pIHx8IGRpc2FibGVEYXlzQWZ0ZXIobWF4KVxuICAgICAgICAgICAgY29uc3QgZGlzYWJsZWREYXlzQmV5b25kVGhlU2NvcGVCZWdpbk1heCA9IGRpc2FibGVEYXlzQmVmb3JlKGJlZ2luKSB8fCBkaXNhYmxlRGF5c0FmdGVyKG1heClcblxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzLG5vLXJldHVybi1hc3NpZ24sIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgICAgICAgICAgY29uc3QgcmFuZ2VNaW5NYXggPSAoZGlzYWJsZWREYXlzOiBib29sZWFuKSA9PiAoZGlzYWJsZWREYXlzID0gZGlzYWJsZWREYXlzQmV5b25kVGhlU2NvcGVNaW5NYXgpXG5cbiAgICAgICAgICAgIC8vINC10YHQu9C4INC90LUg0LLRi9Cx0YDQsNC90LAg0LTQsNGC0LAoYmVnaW4pIHx8ICBtaW4gb3IgbWF4XG4gICAgICAgICAgICBjb25zdCBoYXNNaW5Pck1heEFuZE51bGxCZWdpbiA9IChpc051bGwoYmVnaW4pICYmIChtaW4gfHwgbWF4KSkgfHwgKGlzTnVsbChiZWdpbikgJiYgKG1pbiAmJiBtYXgpKVxuXG4gICAgICAgICAgICAvLyDQtdGB0LvQuCBoYXNNaW5Pck1heEFuZE51bGxCZWdpbiwg0YPRgdGC0LDQvdCw0LLQu9C40LLQsNC10LwgZGVmYXVsdCByYW5nZSAobWluIG9yIG1heClcbiAgICAgICAgICAgIGlmIChoYXNNaW5Pck1heEFuZE51bGxCZWdpbikge1xuICAgICAgICAgICAgICAgIHJhbmdlTWluTWF4KGRpc2FibGVkKVxuICAgICAgICAgICAgfSBlbHNlIGlmIChtaW4gJiYgbWF4KSB7XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQgPSBpbmRleCA9PT0gMFxuICAgICAgICAgICAgICAgICAgICA/IGRpc2FibGVkRGF5c0JleW9uZFRoZVNjb3BlTWluTWF4XG4gICAgICAgICAgICAgICAgICAgIDogZGlzYWJsZWREYXlzQmV5b25kVGhlU2NvcGVCZWdpbk1heFxuICAgICAgICAgICAgfSBlbHNlIGlmIChtaW4pIHtcbiAgICAgICAgICAgICAgICBkaXNhYmxlZCA9IGluZGV4ID09PSAwXG4gICAgICAgICAgICAgICAgICAgID8gZGlzYWJsZURheXNCZWZvcmUobWluKVxuICAgICAgICAgICAgICAgICAgICA6IGluZGV4ID09PSAxICYmIGRpc2FibGVEYXlzQmVmb3JlKGJlZ2luKVxuICAgICAgICAgICAgfSBlbHNlIGlmIChtYXgpIHtcbiAgICAgICAgICAgICAgICBkaXNhYmxlZCA9IGluZGV4ID09PSAwXG4gICAgICAgICAgICAgICAgICAgID8gZGlzYWJsZURheXNBZnRlcihtYXgpXG4gICAgICAgICAgICAgICAgICAgIDogaW5kZXggPT09IDEgJiYgZGlzYWJsZURheXNBZnRlcihiZWdpbilcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8g0L3QtSDRg9C60LDQt9Cw0L0gcmFuZ2UgKG1pbiwgbWF4KVxuICAgICAgICAgICAgICAgIGRpc2FibGVkID0gaW5kZXggPT09IDEgJiYgZGlzYWJsZURheXNCZWZvcmUoYmVnaW4pXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7IGRpc3BsYXllc01vbnRoIH0gPSB0aGlzLnN0YXRlXG4gICAgICAgIGNvbnN0IG90aGVyTW9udGggPSBpc0RhdGVGcm9tTmV4dE1vbnRoKGRheSwgZGlzcGxheWVzTW9udGgpIHx8XG4gICAgICAgICAgICBpc0RhdGVGcm9tUHJldk1vbnRoKGRheSwgZGlzcGxheWVzTW9udGgpXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkID0gZGF5LmlzU2FtZSh2YWx1ZSlcbiAgICAgICAgY29uc3QgY3VycmVudCA9IGRheS5mb3JtYXQoJ0RELk1NLllZWVknKSA9PT0gbW9tZW50KCkuZm9ybWF0KCdERC5NTS5ZWVlZJylcbiAgICAgICAgY29uc3QgcHJvcHMgPSB7XG4gICAgICAgICAgICBkYXksXG4gICAgICAgICAgICBvdGhlck1vbnRoLFxuICAgICAgICAgICAgc2VsZWN0ZWQsXG4gICAgICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgICAgIHNlbGVjdCxcbiAgICAgICAgICAgIGlucHV0TmFtZSxcbiAgICAgICAgICAgIGN1cnJlbnQsXG4gICAgICAgICAgICBkYXRlRm9ybWF0LFxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIDxEYXkga2V5PXtpfSB7Li4ucHJvcHN9IC8+XG4gICAgfVxuXG4gICAgcmVuZGVyVGltZSgpIHtcbiAgICAgICAgY29uc3QgeyB2YWx1ZSwgaGFzRGVmYXVsdFRpbWUsIHRpbWVGb3JtYXQsIHQgfSA9IHRoaXMucHJvcHNcblxuICAgICAgICBpZiAoaGFzRGVmYXVsdFRpbWUpIHtcbiAgICAgICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZS5mb3JtYXQodGltZUZvcm1hdClcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuICcwMDowMDowMCdcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0KSB7XG4gICAgICAgICAgICByZXR1cm4gdCgnY2hvb3NlVGltZScpXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbFxuICAgIH1cblxuICAgIHJlbmRlckJ5RGF5cygpIHtcbiAgICAgICAgY29uc3QgeyB0aW1lRm9ybWF0IH0gPSB0aGlzLnByb3BzXG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzTmFtZT1cIm4yby1jYWxlbmRhci10YWJsZVwiPlxuICAgICAgICAgICAgICAgICAgICA8dGhlYWQ+e3RoaXMucmVuZGVyTmFtZU9mRGF5cygpfTwvdGhlYWQ+XG4gICAgICAgICAgICAgICAgICAgIDx0Ym9keT57dGhpcy5yZW5kZXJXZWVrcygpfTwvdGJvZHk+XG4gICAgICAgICAgICAgICAgPC90YWJsZT5cbiAgICAgICAgICAgICAgICB7dGltZUZvcm1hdCAmJiAoXG4gICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJuMm8tY2FsZW5kYXItdGltZS1jb250YWluZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj1cIi90ZXN0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eyhlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VDYWxlbmRhclR5cGUoQ2FsZW5kYXJUeXBlLlRJTUVfUElDS0VSKVxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAge3RoaXMucmVuZGVyVGltZSgpfVxuICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvPlxuICAgICAgICApXG4gICAgfVxuXG4gICAgcmVuZGVyQnlNb250aHMoKSB7XG4gICAgICAgIGNvbnN0IHsgbG9jYWxlID0gJ3J1JyB9ID0gdGhpcy5wcm9wc1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm4yby1jYWxlbmRhci1ib2R5XCI+XG4gICAgICAgICAgICAgICAge3RoaXMucmVuZGVyTGlzdChtb21lbnQubG9jYWxlRGF0YShsb2NhbGUpLm1vbnRocygpLCAnbW9udGgtaXRlbScpfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIClcbiAgICB9XG5cbiAgICBvbkl0ZW1DbGljayA9IChpdGVtVHlwZTogc3RyaW5nLCBpdGVtOiBzdHJpbmcgfCBudW1iZXIsIGk6IG51bWJlcikgPT4ge1xuICAgICAgICBpZiAoaXRlbVR5cGUgPT09ICdtb250aC1pdGVtJykge1xuICAgICAgICAgICAgdGhpcy5zZXREYXRlKCdtb250aCcsIGkpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNldERhdGUoJ3llYXInLCBpdGVtKVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuY2hhbmdlQ2FsZW5kYXJUeXBlKENhbGVuZGFyVHlwZS5CWV9EQVlTKVxuICAgIH1cblxuICAgIHJlbmRlckxpc3QobGlzdDogQXJyYXk8c3RyaW5nIHwgbnVtYmVyPiwgY2xhc3NOYW1lOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gdGhpcy5wcm9wc1xuXG4gICAgICAgIGNvbnN0IGlzQWN0aXZlID0gKGNsYXNzTmFtZTogc3RyaW5nLCBpdGVtOiBzdHJpbmcgfCBudW1iZXIsIGk6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgaWYgKCF2YWx1ZSkgeyByZXR1cm4gZmFsc2UgfVxuICAgICAgICAgICAgaWYgKGNsYXNzTmFtZSAhPT0gJ21vbnRoLWl0ZW0nKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW0gPT09IHZhbHVlLnllYXIoKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gaSA9PT0gdmFsdWUubW9udGgoKVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGlzT3RoZXJEZWNhZGUgPSAoaTogbnVtYmVyKSA9PiBjbGFzc05hbWUgPT09ICd5ZWFyLWl0ZW0nICYmIChpID09PSAwIHx8IGkgPT09IDExKVxuXG4gICAgICAgIHJldHVybiBsaXN0Lm1hcCgoaXRlbSwgaSkgPT4gKFxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y3goJ24yby1jYWxlbmRhci1ib2R5LWl0ZW0nLCBjbGFzc05hbWUsIHtcbiAgICAgICAgICAgICAgICAgICAgYWN0aXZlOiBpc0FjdGl2ZShjbGFzc05hbWUsIGl0ZW0sIGkpLFxuICAgICAgICAgICAgICAgICAgICAnb3RoZXItZGVjYWRlJzogaXNPdGhlckRlY2FkZShpKSxcbiAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB0aGlzLm9uSXRlbUNsaWNrKGNsYXNzTmFtZSwgaXRlbSwgaSl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2l0ZW19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKSlcbiAgICB9XG5cbiAgICByZW5kZXJCeVllYXJzKCkge1xuICAgICAgICBjb25zdCB7IGRpc3BsYXllc01vbnRoIH0gPSB0aGlzLnN0YXRlXG4gICAgICAgIGNvbnN0IGRlY2FkZVN0YXJ0ID0gcGFyc2VJbnQoU3RyaW5nKE51bWJlcihkaXNwbGF5ZXNNb250aC5mb3JtYXQoJ1lZWVknKSkgLyAxMCksIDEwKSAqIDEwXG4gICAgICAgIGNvbnN0IHllYXJzID0gQXJyYXkuZnJvbShcbiAgICAgICAgICAgIG5ldyBBcnJheSgxMiksXG4gICAgICAgICAgICAodmFsLCBpbmRleCkgPT4gZGVjYWRlU3RhcnQgKyBpbmRleCAtIDEsXG4gICAgICAgIClcblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJuMm8tY2FsZW5kYXItYm9keVwiPlxuICAgICAgICAgICAgICAgIHt0aGlzLnJlbmRlckxpc3QoeWVhcnMsICd5ZWFyLWl0ZW0nKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICApXG4gICAgfVxuXG4gICAgY29tcG9uZW50RGlkVXBkYXRlKCkge1xuICAgICAgICBjb25zdCB7IGNhbGVuZGFyVHlwZSB9ID0gdGhpcy5zdGF0ZVxuXG4gICAgICAgIGlmIChjYWxlbmRhclR5cGUgPT09IENhbGVuZGFyVHlwZS5USU1FX1BJQ0tFUikge1xuICAgICAgICAgICAgaWYgKHRoaXMubWludXRlUmVmKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5taW51dGVSZWYuc2Nyb2xsSW50b1ZpZXcoKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMuc2Vjb25kUmVmKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWNvbmRSZWYuc2Nyb2xsSW50b1ZpZXcoKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMuaG91clJlZikge1xuICAgICAgICAgICAgICAgIHRoaXMuaG91clJlZi5zY3JvbGxJbnRvVmlldygpXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZXRUaW1lVW5pdCA9ICh2YWx1ZTogbnVtYmVyLCB1bml0OiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgeyB0ZW1wVGltZU9iaiB9ID0gdGhpcy5zdGF0ZVxuXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgICAgdGVtcFRpbWVPYmo6IHsgLi4udGVtcFRpbWVPYmosIFt1bml0XTogdmFsdWUgfSxcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICBzZXRUaW1lID0gKCkgPT4ge1xuICAgICAgICBjb25zdCB7IHZhbHVlLCBpbnB1dE5hbWUsIG1hcmtUaW1lQXNTZXQsIHNlbGVjdCB9ID0gdGhpcy5wcm9wc1xuICAgICAgICBjb25zdCB7IHRlbXBUaW1lT2JqIH0gPSB0aGlzLnN0YXRlXG4gICAgICAgIGNvbnN0IHsgaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMgfSA9IHRlbXBUaW1lT2JqIHx8IHt9XG4gICAgICAgIGNvbnN0IGNvcHlWYWx1ZSA9IHZhbHVlIHx8IG1vbWVudCgpXG5cbiAgICAgICAgdGhpcy5jaGFuZ2VDYWxlbmRhclR5cGUoQ2FsZW5kYXJUeXBlLkJZX0RBWVMpXG4gICAgICAgIG1hcmtUaW1lQXNTZXQoaW5wdXROYW1lKVxuXG4gICAgICAgIHNlbGVjdChcbiAgICAgICAgICAgIGFkZFRpbWUoY29weVZhbHVlLmNsb25lKCkuc3RhcnRPZignZGF5JyksIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzKSxcbiAgICAgICAgICAgIGlucHV0TmFtZSxcbiAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICApXG4gICAgfVxuXG4gICAgcmVuZGVyVGltZVBpY2tlcigpIHtcbiAgICAgICAgY29uc3QgeyB0ZW1wVGltZU9iaiB9ID0gdGhpcy5zdGF0ZVxuICAgICAgICBjb25zdCB7IG1pbnV0ZXMsIHNlY29uZHMsIGhvdXJzIH0gPSB0ZW1wVGltZU9iaiB8fCB7fVxuXG4gICAgICAgIC8qIGVzbGludC1kaXNhYmxlIHJlYWN0L2pzeC1vbmUtZXhwcmVzc2lvbi1wZXItbGluZSAqL1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm4yby1jYWxlbmRhci10aW1lcGlja2VyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibjJvLWNhbGVuZGFyLXBpY2tlciBob3VyLXBpY2tlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge0FycmF5LmZyb20obmV3IEFycmF5KDI0KSwgKHZhbCwgaW5kZXgpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y3goJ24yby1jYWxlbmRhci10aW1lLXVuaXQnLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmU6IGluZGV4ID09PSBob3VycyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHRoaXMuc2V0VGltZVVuaXQoaW5kZXgsICdob3VycycpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWY9e2luZGV4ID09PSBob3VycyA/IHRoaXMuc2V0SG91clJlZiA6IG51bGx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibjJvLWNhbGVuZGFyLXBpY2tlciBtaW51dGUtcGlja2VyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7QXJyYXkuZnJvbShuZXcgQXJyYXkoNjApLCAodmFsLCBpbmRleCkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjeCgnbjJvLWNhbGVuZGFyLXRpbWUtdW5pdCcsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZTogaW5kZXggPT09IG1pbnV0ZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWY9e2luZGV4ID09PSBtaW51dGVzID8gdGhpcy5zZXRNaW51dGVSZWYgOiBudWxsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB0aGlzLnNldFRpbWVVbml0KGluZGV4LCAnbWludXRlcycpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm4yby1jYWxlbmRhci1waWNrZXIgc2Vjb25kLXBpY2tlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge0FycmF5LmZyb20obmV3IEFycmF5KDYwKSwgKHZhbCwgaW5kZXgpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y3goJ24yby1jYWxlbmRhci10aW1lLXVuaXQnLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmU6IGluZGV4ID09PSBzZWNvbmRzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXtpbmRleCA9PT0gc2Vjb25kcyA/IHRoaXMuc2V0U2Vjb25kUmVmIDogbnVsbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gdGhpcy5zZXRUaW1lVW5pdChpbmRleCwgJ3NlY29uZHMnKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm4yby1jYWxlbmRhci10aW1lLWJ1dHRvbnNcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJidG4gYnRuLXNlY29uZGFyeSBidG4tc21cIlxuICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gdGhpcy5jaGFuZ2VDYWxlbmRhclR5cGUoQ2FsZW5kYXJUeXBlLkJZX0RBWVMpfVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICB7JyAnfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICDQndCw0LfQsNC0XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzTmFtZT1cImJ0biBidG4tcHJpbWFyeSBidG4tc21cIiBvbkNsaWNrPXt0aGlzLnNldFRpbWV9IHR5cGU9XCJidXR0b25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHsnICd9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgINCS0YvQsdGA0LDRgtGMXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIClcbiAgICB9XG5cbiAgICByZW5kZXJCb2R5KHR5cGU6IHN0cmluZykge1xuICAgICAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgQ2FsZW5kYXJUeXBlLkJZX01PTlRIUzpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5yZW5kZXJCeU1vbnRocygpXG4gICAgICAgICAgICBjYXNlIENhbGVuZGFyVHlwZS5CWV9ZRUFSUzpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5yZW5kZXJCeVllYXJzKClcbiAgICAgICAgICAgIGNhc2UgQ2FsZW5kYXJUeXBlLlRJTUVfUElDS0VSOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnJlbmRlclRpbWVQaWNrZXIoKVxuICAgICAgICAgICAgY2FzZSBDYWxlbmRhclR5cGUuQllfREFZUzpcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucmVuZGVyQnlEYXlzKClcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgY29uc3QgeyBjYWxlbmRhclR5cGUgfSA9IHRoaXMuc3RhdGVcbiAgICAgICAgY29uc3QgeyB0aW1lRm9ybWF0IH0gPSB0aGlzLnByb3BzXG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2N4KCduMm8tY2FsZW5kYXInLCB7XG4gICAgICAgICAgICAgICAgICAgIHRpbWU6IHRpbWVGb3JtYXQsXG4gICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3RoaXMucmVuZGVySGVhZGVyKCl9XG4gICAgICAgICAgICAgICAge3RoaXMucmVuZGVyQm9keShjYWxlbmRhclR5cGUpfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIClcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import React, { ReactNode } from 'react';
|
|
2
|
+
import type { Moment } from 'moment';
|
|
3
|
+
import 'moment/locale/ru';
|
|
4
|
+
import { CalendarType } from './types';
|
|
5
|
+
import '../../styles/components/CalendarHeader.scss';
|
|
6
|
+
declare type CalendarHeaderProps = {
|
|
7
|
+
calendarType: CalendarType;
|
|
8
|
+
changeCalendarType(type?: CalendarType): void;
|
|
9
|
+
displayesMonth: Moment;
|
|
10
|
+
locale: string;
|
|
11
|
+
nextDecade(): void;
|
|
12
|
+
nextMonth(): void;
|
|
13
|
+
nextYear(): void;
|
|
14
|
+
prevDecade(): void;
|
|
15
|
+
prevMonth(): void;
|
|
16
|
+
prevYear(): void;
|
|
17
|
+
t(str: string): ReactNode;
|
|
18
|
+
};
|
|
19
|
+
export declare class CalendarHeader extends React.Component<CalendarHeaderProps> {
|
|
20
|
+
renderHeaderValue(displayesMonth: Moment, locale: string, type?: CalendarType): string | JSX.Element | null;
|
|
21
|
+
static nextType: (type: CalendarType) => CalendarType.BY_MONTHS | CalendarType.BY_YEARS | CalendarType.TIME_PICKER | undefined;
|
|
22
|
+
nextView: (type: CalendarType) => void;
|
|
23
|
+
prevView: (type: CalendarType) => void;
|
|
24
|
+
render(): JSX.Element;
|
|
25
|
+
}
|
|
26
|
+
export {};
|