@acorex/components 7.1.9 → 7.1.11
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/calendar/src/calendar.class.d.ts +19 -38
- package/calendar/src/calendar.component.d.ts +9 -7
- package/esm2022/calendar/src/calendar-range.component.mjs +14 -14
- package/esm2022/calendar/src/calendar.class.mjs +63 -114
- package/esm2022/calendar/src/calendar.component.mjs +208 -159
- package/esm2022/common/src/components/value-component.class.mjs +2 -1
- package/esm2022/date-picker/src/datepicker.component.mjs +1 -1
- package/fesm2022/acorex-components-calendar.mjs +282 -283
- package/fesm2022/acorex-components-calendar.mjs.map +1 -1
- package/fesm2022/acorex-components-common.mjs +1 -0
- package/fesm2022/acorex-components-common.mjs.map +1 -1
- package/fesm2022/acorex-components-date-picker.mjs +1 -1
- package/fesm2022/acorex-components-date-picker.mjs.map +1 -1
- package/package.json +1 -1
@@ -1,8 +1,8 @@
|
|
1
|
-
import {
|
1
|
+
import { EventEmitter, TemplateRef } from "@angular/core";
|
2
2
|
import { AXItemClickEvent, AXRangeChangedEvent, MXBaseComponent } from "@acorex/components/common";
|
3
|
-
import {
|
3
|
+
import { AXDateTimeRange } from "@acorex/core/dateTime";
|
4
4
|
import * as i0 from "@angular/core";
|
5
|
-
export type AXCalendarViewType = '
|
5
|
+
export type AXCalendarViewType = 'year' | 'month' | 'day';
|
6
6
|
export type AXCalendarViewDepth = AXCalendarViewType;
|
7
7
|
export type AXCalendarDisabledDates = Date[] | ((date: Date) => boolean);
|
8
8
|
export type AXCalendarHolidayDates = Date[] | ((date: Date) => boolean);
|
@@ -21,12 +21,28 @@ export declare class AXCalendarNavigateEvent extends AXRangeChangedEvent<Date> {
|
|
21
21
|
*/
|
22
22
|
export declare class AXCalendarSlotClick extends AXItemClickEvent<Date> {
|
23
23
|
}
|
24
|
+
export interface AXCalendarViewSlot {
|
25
|
+
date: Date;
|
26
|
+
text: string;
|
27
|
+
tooltip: string;
|
28
|
+
today: boolean;
|
29
|
+
selected: boolean;
|
30
|
+
disabled: boolean;
|
31
|
+
cssClass: {
|
32
|
+
[key: string]: boolean;
|
33
|
+
};
|
34
|
+
}
|
35
|
+
export interface AXCalendarView {
|
36
|
+
range: AXDateTimeRange;
|
37
|
+
slots: AXCalendarViewSlot[];
|
38
|
+
}
|
24
39
|
declare const MXCalendarBaseComponent_base: import("polytype").Polytype.ClusteredConstructor<[typeof MXBaseComponent]>;
|
25
40
|
export declare class MXCalendarBaseComponent extends MXCalendarBaseComponent_base {
|
26
41
|
interface: 'calendar' | 'picker';
|
27
42
|
cellTemplate?: TemplateRef<any>;
|
28
43
|
cellClass?: AXCalendarCellCssClass;
|
29
44
|
showNavigation: boolean;
|
45
|
+
count: number;
|
30
46
|
onSlotClick: EventEmitter<AXCalendarSlotClick>;
|
31
47
|
onNavigate: EventEmitter<AXCalendarNavigateEvent>;
|
32
48
|
activeViewChange: EventEmitter<AXCalendarViewType>;
|
@@ -60,41 +76,6 @@ export declare class MXCalendarBaseComponent extends MXCalendarBaseComponent_bas
|
|
60
76
|
static ɵfac: i0.ɵɵFactoryDeclaration<MXCalendarBaseComponent, never>;
|
61
77
|
static ɵprov: i0.ɵɵInjectableDeclaration<MXCalendarBaseComponent>;
|
62
78
|
}
|
63
|
-
export declare class AXCalendarBaseComponent extends AXBaseComponent {
|
64
|
-
constructor(elementRef: ElementRef, cdr: ChangeDetectorRef);
|
65
|
-
onSlotClick: EventEmitter<AXItemClickEvent<Date>>;
|
66
|
-
onNavigate: EventEmitter<AXCalendarNavigateEvent>;
|
67
|
-
activeViewChange: EventEmitter<AXCalendarViewType>;
|
68
|
-
private _activeView;
|
69
|
-
get activeView(): AXCalendarViewType;
|
70
|
-
set activeView(v: AXCalendarViewType);
|
71
|
-
typeChange: EventEmitter<string>;
|
72
|
-
private _type;
|
73
|
-
get type(): string;
|
74
|
-
set type(v: string);
|
75
|
-
depthChange: EventEmitter<AXCalendarViewDepth>;
|
76
|
-
private _depth;
|
77
|
-
get depth(): AXCalendarViewDepth;
|
78
|
-
set depth(v: AXCalendarViewDepth);
|
79
|
-
minChange: EventEmitter<Date>;
|
80
|
-
private _min;
|
81
|
-
get min(): Date;
|
82
|
-
set min(v: Date);
|
83
|
-
maxChange: EventEmitter<Date>;
|
84
|
-
private _max;
|
85
|
-
get max(): Date;
|
86
|
-
set max(v: Date);
|
87
|
-
disabledDatesChange: EventEmitter<AXCalendarDisabledDates>;
|
88
|
-
private _disabledDates;
|
89
|
-
get disabledDates(): AXCalendarDisabledDates;
|
90
|
-
set disabledDates(v: AXCalendarDisabledDates);
|
91
|
-
holidayDatesChange: EventEmitter<AXCalendarHolidayDates>;
|
92
|
-
private _holidayDates;
|
93
|
-
get holidayDates(): AXCalendarHolidayDates;
|
94
|
-
set holidayDates(v: AXCalendarHolidayDates);
|
95
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AXCalendarBaseComponent, never>;
|
96
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<AXCalendarBaseComponent>;
|
97
|
-
}
|
98
79
|
export declare const CALENDAR_INPUTS: string[];
|
99
80
|
export declare const CALENDAR_OUTPUTS: string[];
|
100
81
|
export {};
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { AXDateTime, AXDateTimeRange } from '@acorex/core/dateTime';
|
2
2
|
import { AXClickEvent, AXOptionChangedEvent, MXInteractiveComponent, MXValueComponent } from '@acorex/components/common';
|
3
|
-
import { MXCalendarBaseComponent } from './calendar.class';
|
3
|
+
import { AXCalendarView, AXCalendarViewSlot, AXCalendarViewType, MXCalendarBaseComponent } from './calendar.class';
|
4
4
|
import * as i0 from "@angular/core";
|
5
5
|
declare const AXCalendarComponent_base: import("polytype").Polytype.ClusteredConstructor<[{
|
6
6
|
new (): MXValueComponent<Date>;
|
@@ -9,20 +9,22 @@ declare const AXCalendarComponent_base: import("polytype").Polytype.ClusteredCon
|
|
9
9
|
}, typeof MXInteractiveComponent, typeof MXCalendarBaseComponent]>;
|
10
10
|
export declare class AXCalendarComponent extends AXCalendarComponent_base {
|
11
11
|
get displayRange(): AXDateTimeRange;
|
12
|
+
private _setDisplayRange;
|
12
13
|
protected _today: AXDateTime;
|
13
14
|
private _viewStartDate;
|
14
|
-
|
15
|
-
protected
|
16
|
-
protected _slots: any[];
|
15
|
+
private _footPrint;
|
16
|
+
protected views: AXCalendarView[];
|
17
17
|
protected _dayNames: string[];
|
18
18
|
private _initValues;
|
19
19
|
private _refresh;
|
20
|
+
constructor();
|
20
21
|
protected ngOnInit(): void;
|
22
|
+
protected ngAfterViewInit(): void;
|
21
23
|
render(): void;
|
22
24
|
protected _handlePrevClick(): void;
|
23
25
|
protected _handleNextClick(): void;
|
24
|
-
protected _handleSlotClick(e: MouseEvent, slot:
|
25
|
-
protected _handleNavClick(e: AXClickEvent | any): void;
|
26
|
+
protected _handleSlotClick(e: MouseEvent, slot: AXCalendarViewSlot): void;
|
27
|
+
protected _handleNavClick(e: AXClickEvent | any, view: AXCalendarViewType): void;
|
26
28
|
toggleView(): void;
|
27
29
|
protected _handleOnOptionChanged(e: AXOptionChangedEvent): void;
|
28
30
|
private _handleOnValueChanged;
|
@@ -39,6 +41,6 @@ export declare class AXCalendarComponent extends AXCalendarComponent_base {
|
|
39
41
|
protected isHoliday(date: AXDateTime): boolean;
|
40
42
|
protected isWeekend(date: AXDateTime): boolean;
|
41
43
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXCalendarComponent, never>;
|
42
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AXCalendarComponent, "ax-calendar", never, { "rtl": { "alias": "rtl"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "value": { "alias": "value"; "required": false; }; "name": { "alias": "name"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "depth": { "alias": "depth"; "required": false; }; "activeView": { "alias": "activeView"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "disabledDates": { "alias": "disabledDates"; "required": false; }; "holidayDates": { "alias": "holidayDates"; "required": false; }; "type": { "alias": "type"; "required": false; }; "cellTemplate": { "alias": "cellTemplate"; "required": false; }; "cellClass": { "alias": "cellClass"; "required": false; }; "showNavigation": { "alias": "showNavigation"; "required": false; }; }, { "onOptionChanged": "onOptionChanged"; "valueChange": "valueChange"; "onValueChanged": "onValueChanged"; "onBlur": "onBlur"; "onFocus": "onFocus"; "depthChange": "depthChange"; "typeChange": "typeChange"; "activeViewChange": "activeViewChange"; "disabledDatesChange": "disabledDatesChange"; "holidayDatesChange": "holidayDatesChange"; "onNavigate": "onNavigate"; "onSlotClick": "onSlotClick"; }, never, ["ax-header", "ax-footer"], false, never>;
|
44
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AXCalendarComponent, "ax-calendar", never, { "rtl": { "alias": "rtl"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "value": { "alias": "value"; "required": false; }; "name": { "alias": "name"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "depth": { "alias": "depth"; "required": false; }; "activeView": { "alias": "activeView"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "disabledDates": { "alias": "disabledDates"; "required": false; }; "holidayDates": { "alias": "holidayDates"; "required": false; }; "type": { "alias": "type"; "required": false; }; "cellTemplate": { "alias": "cellTemplate"; "required": false; }; "cellClass": { "alias": "cellClass"; "required": false; }; "showNavigation": { "alias": "showNavigation"; "required": false; }; "count": { "alias": "count"; "required": false; }; }, { "onOptionChanged": "onOptionChanged"; "valueChange": "valueChange"; "onValueChanged": "onValueChanged"; "onBlur": "onBlur"; "onFocus": "onFocus"; "depthChange": "depthChange"; "typeChange": "typeChange"; "activeViewChange": "activeViewChange"; "disabledDatesChange": "disabledDatesChange"; "holidayDatesChange": "holidayDatesChange"; "onNavigate": "onNavigate"; "onSlotClick": "onSlotClick"; "countChange": "countChange"; }, never, ["ax-header", "ax-footer"], false, never>;
|
43
45
|
}
|
44
46
|
export {};
|
@@ -57,20 +57,20 @@ class AXCalendarRangeComponent extends classes((MXValueComponent), MXInteractive
|
|
57
57
|
handlePrevClick() {
|
58
58
|
const view = this._c1.activeView;
|
59
59
|
const d1 = this._c1.displayRange.startTime;
|
60
|
-
if (view == '
|
60
|
+
if (view == 'day' || view == 'month') {
|
61
61
|
this._c1.prev();
|
62
62
|
}
|
63
|
-
else if (view == '
|
63
|
+
else if (view == 'year') {
|
64
64
|
this._c1.navTo(d1.add('year', -20));
|
65
65
|
}
|
66
66
|
}
|
67
67
|
handleNextClick() {
|
68
68
|
const view = this._c1.activeView;
|
69
69
|
const d1 = this._c1.displayRange.startTime;
|
70
|
-
if (view == '
|
70
|
+
if (view == 'day' || view == 'month') {
|
71
71
|
this._c1.next();
|
72
72
|
}
|
73
|
-
else if (view == '
|
73
|
+
else if (view == 'year') {
|
74
74
|
this._c1.navTo(d1.add('year', 20));
|
75
75
|
}
|
76
76
|
}
|
@@ -80,15 +80,15 @@ class AXCalendarRangeComponent extends classes((MXValueComponent), MXInteractive
|
|
80
80
|
_syncNavText() {
|
81
81
|
const view = this._c1.activeView;
|
82
82
|
const d1 = this._c1.displayRange.startTime;
|
83
|
-
if (view == '
|
83
|
+
if (view == 'day') {
|
84
84
|
const d2 = this._c2.displayRange.endTime;
|
85
85
|
this._navText = `${d1.format('MMM yyyy')} - ${d2.format('MMM yyyy')}`;
|
86
86
|
}
|
87
|
-
else if (view == '
|
87
|
+
else if (view == 'month') {
|
88
88
|
const d2 = this._c2.displayRange.endTime;
|
89
89
|
this._navText = `${d1.format('yyyy')} - ${d2.format('yyyy')}`;
|
90
90
|
}
|
91
|
-
else if (view == '
|
91
|
+
else if (view == 'year') {
|
92
92
|
const d2 = this._c2.displayRange.endTime;
|
93
93
|
this._navText = `${d1.format('yyyy')} - ${d2.format('yyyy')}`;
|
94
94
|
}
|
@@ -108,28 +108,28 @@ class AXCalendarRangeComponent extends classes((MXValueComponent), MXInteractive
|
|
108
108
|
_syncNav1() {
|
109
109
|
const view = (this._c2.activeView = this._c1.activeView);
|
110
110
|
const range = this._c1.displayRange;
|
111
|
-
if (view == '
|
111
|
+
if (view == 'day') {
|
112
112
|
this._c2.navTo(range.startTime.add('month', 1));
|
113
113
|
}
|
114
|
-
else if (view == '
|
114
|
+
else if (view == 'month') {
|
115
115
|
this._c2.navTo(range.startTime.add('year', 1));
|
116
116
|
}
|
117
|
-
else if (view == '
|
117
|
+
else if (view == 'year') {
|
118
118
|
this._c2.navTo(range.endTime.add('year', 4));
|
119
119
|
}
|
120
120
|
this._syncNavText();
|
121
121
|
}
|
122
122
|
_syncNav2(e) {
|
123
123
|
const view = this._c2.activeView;
|
124
|
-
if (view == '
|
124
|
+
if (view == 'month') {
|
125
125
|
this._c1.navTo(e.add('month', -1));
|
126
126
|
}
|
127
|
-
else if (view == '
|
127
|
+
else if (view == 'year') {
|
128
128
|
this._c1.navTo(e.startOf('year'));
|
129
129
|
}
|
130
130
|
}
|
131
131
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: AXCalendarRangeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
132
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: AXCalendarRangeComponent, selector: "ax-calendar-range", inputs: { rtl: "rtl", readonly: "readonly", value: "value", name: "name", disabled: "disabled", depth: "depth", activeView: "activeView", min: "min", max: "max", disabledDates: "disabledDates", holidayDates: "holidayDates", type: "type", cellTemplate: "cellTemplate", cellClass: "cellClass", showNavigation: "showNavigation" }, outputs: { onOptionChanged: "onOptionChanged", valueChange: "valueChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus", depthChange: "depthChange", typeChange: "typeChange", activeViewChange: "activeViewChange", disabledDatesChange: "disabledDatesChange", holidayDatesChange: "holidayDatesChange", onNavigate: "onNavigate", onSlotClick: "onSlotClick" }, viewQueries: [{ propertyName: "_c1", first: true, predicate: ["c1"], descendants: true, static: true }, { propertyName: "_c2", first: true, predicate: ["c2"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-calendar-range-header\">\n <ng-content></ng-content>\n <div class=\"ax-calendar-header-range-info\">\n <button [attr.disabled]=\"disabled ? '' : null\" class=\"ax-general-button\" (click)=\"handleNavClick()\">\n {{ _navText }}\n </button>\n </div>\n <div class=\"ax-calendar-header-range-buttons\">\n <button [attr.disabled]=\"disabled ? '' : null\" class=\"ax-general-button ax-button-icon\"\n (click)=\"handlePrevClick()\">\n <i class=\"ax-icon\" [ngClass]=\"{\n 'ax-icon-chevron-left': !rtl,\n 'ax-icon-chevron-right': rtl\n }\"></i>\n </button>\n <button [attr.disabled]=\"disabled ? '' : null\" class=\"ax-general-button ax-button-icon\"\n (click)=\"handleNextClick()\">\n <i class=\"ax-icon\" [ngClass]=\"{\n 'ax-icon-chevron-left': rtl,\n 'ax-icon-chevron-right': !rtl\n }\"></i>\n </button>\n </div>\n</div>\n<div class=\"ax-calendar-range-body\">\n <ax-calendar #c1 style=\"width: 50%;\" [showNavigation]=\"false\" [cellClass]=\"getCellClass\" [type]=\"type\"\n [cellTemplate]=\"cellTemplate\" [min]=\"min\" [max]=\"max\" [readonly]=\"true\" [depth]=\"depth\" (onSlotClick)=\"handleSlotClick($event)\"\n (onNavigate)=\"handleNavigate()\" (activeViewChange)=\"handleActiveViewChange1()\">\n </ax-calendar>\n <ax-calendar #c2 style=\"width: 50%;\" [showNavigation]=\"false\" [cellClass]=\"getCellClass\" [type]=\"type\"\n [cellTemplate]=\"cellTemplate\" [min]=\"min\" [max]=\"max\" [readonly]=\"true\" [depth]=\"depth\" (onSlotClick)=\"handleSlotClick($event)\"\n (activeViewChange)=\"handleActiveViewChange2()\">\n </ax-calendar>\n</div>", styles: [".ax-dark ax-calendar-range{background:rgba(var(--ax-color-on-surface))}.ax-dark ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-between{background-color:rgba(var(--ax-color-primary-800));color:rgba(var(--ax-color-primary-fore))}ax-calendar-range{background:rgba(var(--ax-color-surface));color:rgba(var(--ax-color-text-default));padding:.5rem}ax-calendar-range .ax-calendar-range-header{display:flex;justify-content:space-between;padding-top:.25rem;padding-left:.25rem;padding-right:.25rem}ax-calendar-range .ax-calendar-range-header .ax-calendar-header-range-info{font-weight:500}ax-calendar-range .ax-calendar-range-header .ax-calendar-header-range-buttons{display:flex}ax-calendar-range .ax-calendar-range-body{display:flex;flex-direction:row}ax-calendar-range ax-calendar{margin:0;padding:0}ax-calendar-range ax-calendar .ax-calendar-body{margin-top:0;padding-top:0}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-between{background-color:rgba(var(--ax-color-primary-100));color:rgba(var(--ax-color-primary-500))}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-start,ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-end{background-color:rgba(var(--ax-color-primary-500));color:rgba(var(--ax-color-primary-fore))}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.AXCalendarComponent, selector: "ax-calendar", inputs: ["rtl", "readonly", "value", "name", "disabled", "depth", "activeView", "min", "max", "disabledDates", "holidayDates", "type", "cellTemplate", "cellClass", "showNavigation"], outputs: ["onOptionChanged", "valueChange", "onValueChanged", "onBlur", "onFocus", "depthChange", "typeChange", "activeViewChange", "disabledDatesChange", "holidayDatesChange", "onNavigate", "onSlotClick"] }], encapsulation: i0.ViewEncapsulation.None });
|
132
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: AXCalendarRangeComponent, selector: "ax-calendar-range", inputs: { rtl: "rtl", readonly: "readonly", value: "value", name: "name", disabled: "disabled", depth: "depth", activeView: "activeView", min: "min", max: "max", disabledDates: "disabledDates", holidayDates: "holidayDates", type: "type", cellTemplate: "cellTemplate", cellClass: "cellClass", showNavigation: "showNavigation" }, outputs: { onOptionChanged: "onOptionChanged", valueChange: "valueChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus", depthChange: "depthChange", typeChange: "typeChange", activeViewChange: "activeViewChange", disabledDatesChange: "disabledDatesChange", holidayDatesChange: "holidayDatesChange", onNavigate: "onNavigate", onSlotClick: "onSlotClick" }, viewQueries: [{ propertyName: "_c1", first: true, predicate: ["c1"], descendants: true, static: true }, { propertyName: "_c2", first: true, predicate: ["c2"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-calendar-range-header\">\n <ng-content></ng-content>\n <div class=\"ax-calendar-header-range-info\">\n <button [attr.disabled]=\"disabled ? '' : null\" class=\"ax-general-button\" (click)=\"handleNavClick()\">\n {{ _navText }}\n </button>\n </div>\n <div class=\"ax-calendar-header-range-buttons\">\n <button [attr.disabled]=\"disabled ? '' : null\" class=\"ax-general-button ax-button-icon\"\n (click)=\"handlePrevClick()\">\n <i class=\"ax-icon\" [ngClass]=\"{\n 'ax-icon-chevron-left': !rtl,\n 'ax-icon-chevron-right': rtl\n }\"></i>\n </button>\n <button [attr.disabled]=\"disabled ? '' : null\" class=\"ax-general-button ax-button-icon\"\n (click)=\"handleNextClick()\">\n <i class=\"ax-icon\" [ngClass]=\"{\n 'ax-icon-chevron-left': rtl,\n 'ax-icon-chevron-right': !rtl\n }\"></i>\n </button>\n </div>\n</div>\n<div class=\"ax-calendar-range-body\">\n <ax-calendar #c1 style=\"width: 50%;\" [showNavigation]=\"false\" [cellClass]=\"getCellClass\" [type]=\"type\"\n [cellTemplate]=\"cellTemplate\" [min]=\"min\" [max]=\"max\" [readonly]=\"true\" [depth]=\"depth\" (onSlotClick)=\"handleSlotClick($event)\"\n (onNavigate)=\"handleNavigate()\" (activeViewChange)=\"handleActiveViewChange1()\">\n </ax-calendar>\n <ax-calendar #c2 style=\"width: 50%;\" [showNavigation]=\"false\" [cellClass]=\"getCellClass\" [type]=\"type\"\n [cellTemplate]=\"cellTemplate\" [min]=\"min\" [max]=\"max\" [readonly]=\"true\" [depth]=\"depth\" (onSlotClick)=\"handleSlotClick($event)\"\n (activeViewChange)=\"handleActiveViewChange2()\">\n </ax-calendar>\n</div>", styles: [".ax-dark ax-calendar-range{background:rgba(var(--ax-color-on-surface))}.ax-dark ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-between{background-color:rgba(var(--ax-color-primary-800));color:rgba(var(--ax-color-primary-fore))}ax-calendar-range{background:rgba(var(--ax-color-surface));color:rgba(var(--ax-color-text-default));padding:.5rem}ax-calendar-range .ax-calendar-range-header{display:flex;justify-content:space-between;padding-top:.25rem;padding-left:.25rem;padding-right:.25rem}ax-calendar-range .ax-calendar-range-header .ax-calendar-header-range-info{font-weight:500}ax-calendar-range .ax-calendar-range-header .ax-calendar-header-range-buttons{display:flex}ax-calendar-range .ax-calendar-range-body{display:flex;flex-direction:row}ax-calendar-range ax-calendar{margin:0;padding:0}ax-calendar-range ax-calendar .ax-calendar-body{margin-top:0;padding-top:0}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-between{background-color:rgba(var(--ax-color-primary-100));color:rgba(var(--ax-color-primary-500))}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-start,ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-end{background-color:rgba(var(--ax-color-primary-500));color:rgba(var(--ax-color-primary-fore))}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.AXCalendarComponent, selector: "ax-calendar", inputs: ["rtl", "readonly", "value", "name", "disabled", "depth", "activeView", "min", "max", "disabledDates", "holidayDates", "type", "cellTemplate", "cellClass", "showNavigation", "count"], outputs: ["onOptionChanged", "valueChange", "onValueChanged", "onBlur", "onFocus", "depthChange", "typeChange", "activeViewChange", "disabledDatesChange", "holidayDatesChange", "onNavigate", "onSlotClick", "countChange"] }], encapsulation: i0.ViewEncapsulation.None });
|
133
133
|
}
|
134
134
|
export { AXCalendarRangeComponent };
|
135
135
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: AXCalendarRangeComponent, decorators: [{
|
@@ -171,4 +171,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor
|
|
171
171
|
type: ViewChild,
|
172
172
|
args: ['c2', { static: true }]
|
173
173
|
}] } });
|
174
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItcmFuZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvY2FsZW5kYXIvc3JjL2NhbGVuZGFyLXJhbmdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL2NhbGVuZGFyL3NyYy9jYWxlbmRhci1yYW5nZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVcsc0JBQXNCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RixPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRW5DLE9BQU8sRUFBdUIsdUJBQXVCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7QUFFbkQsTUFxQ2Esd0JBQXlCLFNBQVEsT0FBTyxDQUFDLENBQUEsZ0JBQStCLENBQUEsRUFBRSxzQkFBc0IsRUFBRSx1QkFBdUIsQ0FBQztJQUU3SCxHQUFHLENBQXNCO0lBR3pCLEdBQUcsQ0FBc0I7SUFFakMsUUFBUSxHQUFXLEVBQUUsQ0FBQztJQUV0QjtRQUNFLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ2hELENBQUM7SUFFUyxlQUFlO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELFlBQVksR0FBRyxDQUFDLElBQVUsRUFBRSxFQUFF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Q1YsT0FBTzt3QkFDUCxZQUFZO3dCQUNaLEtBQUs7d0JBQ0wsS0FBSzt3QkFDTCxlQUFlO3dCQUNmLGNBQWM7d0JBQ2QsTUFBTTt3QkFDTixjQUFjO3dCQUNkLFdBQVc7d0JBQ1gsZ0JBQWdCO3FCQUNqQixXQUNRO3dCQUNQLGlCQUFpQjt3QkFDakIsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLFFBQVE7d0JBQ1IsU0FBUzt3QkFDVCxhQUFhO3dCQUNiLFlBQVk7d0JBQ1osa0JBQWtCO3dCQUNsQixxQkFBcUI7d0JBQ3JCLG9CQUFvQjt3QkFDcEIsWUFBWTt3QkFDWixhQUFhO3FCQUNkOzBFQUlPLEdBQUc7c0JBRFYsU0FBUzt1QkFBQyxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUl6QixHQUFHO3NCQURWLFNBQVM7dUJBQUMsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUmFuZ2UsIE1YSW50ZXJhY3RpdmVDb21wb25lbnQsIE1YVmFsdWVDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY2xhc3NlcyB9IGZyb20gJ3BvbHl0eXBlJztcbmltcG9ydCB7IEFYQ2FsZW5kYXJDb21wb25lbnQgfSBmcm9tICcuL2NhbGVuZGFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWENhbGVuZGFyU2xvdENsaWNrLCBNWENhbGVuZGFyQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vY2FsZW5kYXIuY2xhc3MnO1xuaW1wb3J0IHsgQVhEYXRlVGltZSB9IGZyb20gJ0BhY29yZXgvY29yZS9kYXRlVGltZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LWNhbGVuZGFyLXJhbmdlJyxcbiAgdGVtcGxhdGVVcmw6ICdjYWxlbmRhci1yYW5nZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWydjYWxlbmRhci1yYW5nZS5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBpbnB1dHM6IFtcbiAgICAncnRsJyxcbiAgICAncmVhZG9ubHknLFxuICAgICd2YWx1ZScsXG4gICAgJ25hbWUnLFxuICAgICdkaXNhYmxlZCcsXG4gICAgJ2RlcHRoJyxcbiAgICAnYWN0aXZlVmlldycsXG4gICAgJ21pbicsXG4gICAgJ21heCcsXG4gICAgJ2Rpc2FibGVkRGF0ZXMnLFxuICAgICdob2xpZGF5RGF0ZXMnLFxuICAgICd0eXBlJyxcbiAgICAnY2VsbFRlbXBsYXRlJyxcbiAgICAnY2VsbENsYXNzJyxcbiAgICAnc2hvd05hdmlnYXRpb24nLFxuICBdLFxuICBvdXRwdXRzOiBbXG4gICAgJ29uT3B0aW9uQ2hhbmdlZCcsXG4gICAgJ3ZhbHVlQ2hhbmdlJyxcbiAgICAnb25WYWx1ZUNoYW5nZWQnLFxuICAgICdvbkJsdXInLFxuICAgICdvbkZvY3VzJyxcbiAgICAnZGVwdGhDaGFuZ2UnLFxuICAgICd0eXBlQ2hhbmdlJyxcbiAgICAnYWN0aXZlVmlld0NoYW5nZScsXG4gICAgJ2Rpc2FibGVkRGF0ZXNDaGFuZ2UnLFxuICAgICdob2xpZGF5RGF0ZXNDaGFuZ2UnLFxuICAgICdvbk5hdmlnYXRlJyxcbiAgICAnb25TbG90Q2xpY2snLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWENhbGVuZGFyUmFuZ2VDb21wb25lbnQgZXh0ZW5kcyBjbGFzc2VzKE1YVmFsdWVDb21wb25lbnQ8QVhSYW5nZTxEYXRlPj4sIE1YSW50ZXJhY3RpdmVDb21wb25lbnQsIE1YQ2FsZW5kYXJCYXNlQ29tcG9uZW50KSB7XG4gIEBWaWV3Q2hpbGQoJ2MxJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHJpdmF0ZSBfYzE6IEFYQ2FsZW5kYXJDb21wb25lbnQ7XG5cbiAgQFZpZXdDaGlsZCgnYzInLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwcml2YXRlIF9jMjogQVhDYWxlbmRhckNvbXBvbmVudDtcblxuICBfbmF2VGV4dDogc3RyaW5nID0gJyc7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmRlZmF1bHRWYWx1ZSA9IHsgZnJvbTogbnVsbCwgZW5kOiBudWxsIH07XG4gIH1cblxuICBwcm90ZWN0ZWQgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuICAgIHRoaXMuX3N5bmNOYXYxKCk7XG4gIH1cblxuICBnZXRDZWxsQ2xhc3MgPSAoZGF0ZTogRGF0ZSkgPT4ge1xuICAgIGNvbnN0IGQgPSBuZXcgQVhEYXRlVGltZShkYXRlKTtcbiAgICBjb25zdCBmcm9tID0gbmV3IEFYRGF0ZVRpbWUodGhpcy52YWx1ZS5mcm9tKTtcbiAgICBjb25zdCBlbmQgPSBuZXcgQVhEYXRlVGltZSh0aGlzLnZhbHVlLmVuZCk7XG4gICAgaWYgKHRoaXMudmFsdWUuZnJvbSAmJiBkLmVxdWFsKGZyb20sICdkYXknKSkge1xuICAgICAgcmV0dXJuICdheC1yYW5nZS1zdGFydCc7XG4gICAgfVxuICAgIGlmICh0aGlzLnZhbHVlLmVuZCAmJiBkLmVxdWFsKGVuZCwgJ2RheScpKSByZXR1cm4gJ2F4LXJhbmdlLWVuZCc7XG4gICAgaWYgKHRoaXMudmFsdWUuZnJvbSAmJiB0aGlzLnZhbHVlLmVuZCAmJiBkLmNvbXBhcmUoZnJvbSwgJ2RheScpID4gMCAmJiBkLmNvbXBhcmUoZW5kLCAnZGF5JykgPCAwKSByZXR1cm4gJ2F4LXJhbmdlLWJldHdlZW4nO1xuICAgIHJldHVybiBudWxsO1xuICB9O1xuXG4gIHByb3RlY3RlZCBoYW5kbGVTbG90Q2xpY2soZTogQVhDYWxlbmRhclNsb3RDbGljaykge1xuICAgIGlmICh0aGlzLl9jMS5hY3RpdmVWaWV3ID09IHRoaXMuZGVwdGgpIHtcbiAgICAgIGlmICghdGhpcy52YWx1ZS5mcm9tIHx8ICh0aGlzLnZhbHVlLmZyb20gJiYgdGhpcy52YWx1ZS5lbmQpKSB7XG4gICAgICAgIHRoaXMudmFsdWUuZnJvbSA9IGUuaXRlbTtcbiAgICAgICAgdGhpcy52YWx1ZS5lbmQgPSBudWxsO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMudmFsdWUuZnJvbSAmJiBlLml0ZW0gPD0gdGhpcy52YWx1ZS5mcm9tKSB7XG4gICAgICAgIHRoaXMudmFsdWUuZnJvbSA9IGUuaXRlbTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy52YWx1ZS5mcm9tICYmICF0aGlzLnZhbHVlLmVuZCkge1xuICAgICAgICB0aGlzLnZhbHVlLmVuZCA9IGUuaXRlbTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGUuY29tcG9uZW50ID09IHRoaXMuX2MxKSB0aGlzLl9zeW5jTmF2MSgpO1xuICAgICAgaWYgKGUuY29tcG9uZW50ID09IHRoaXMuX2MyKSB7XG4gICAgICAgIHRoaXMuX3N5bmNOYXYyKG5ldyBBWERhdGVUaW1lKGUuaXRlbSkpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLl9jMS5yZW5kZXIoKTtcbiAgICB0aGlzLl9jMi5yZW5kZXIoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVQcmV2Q2xpY2soKSB7XG4gICAgY29uc3QgdmlldyA9IHRoaXMuX2MxLmFjdGl2ZVZpZXc7XG4gICAgY29uc3QgZDEgPSB0aGlzLl9jMS5kaXNwbGF5UmFuZ2Uuc3RhcnRUaW1lO1xuICAgIGlmICh2aWV3ID09ICdkYXlzJyB8fCB2aWV3ID09ICdtb250aHMnKSB7XG4gICAgICB0aGlzLl9jMS5wcmV2KCk7XG4gICAgfSBlbHNlIGlmICh2aWV3ID09ICd5ZWFycycpIHtcbiAgICAgIHRoaXMuX2MxLm5hdlRvKGQxLmFkZCgneWVhcicsIC0yMCkpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVOZXh0Q2xpY2soKSB7XG4gICAgY29uc3QgdmlldyA9IHRoaXMuX2MxLmFjdGl2ZVZpZXc7XG4gICAgY29uc3QgZDEgPSB0aGlzLl9jMS5kaXNwbGF5UmFuZ2Uuc3RhcnRUaW1lO1xuICAgIGlmICh2aWV3ID09ICdkYXlzJyB8fCB2aWV3ID09ICdtb250aHMnKSB7XG4gICAgICB0aGlzLl9jMS5uZXh0KCk7XG4gICAgfSBlbHNlIGlmICh2aWV3ID09ICd5ZWFycycpIHtcbiAgICAgIHRoaXMuX2MxLm5hdlRvKGQxLmFkZCgneWVhcicsIDIwKSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZU5hdkNsaWNrKCkge1xuICAgIHRoaXMuX2MxLnRvZ2dsZVZpZXcoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3N5bmNOYXZUZXh0KCkge1xuICAgIGNvbnN0IHZpZXcgPSB0aGlzLl9jMS5hY3RpdmVWaWV3O1xuICAgIGNvbnN0IGQxID0gdGhpcy5fYzEuZGlzcGxheVJhbmdlLnN0YXJ0VGltZTtcbiAgICBpZiAodmlldyA9PSAnZGF5cycpIHtcbiAgICAgIGNvbnN0IGQyID0gdGhpcy5fYzIuZGlzcGxheVJhbmdlLmVuZFRpbWU7XG4gICAgICB0aGlzLl9uYXZUZXh0ID0gYCR7ZDEuZm9ybWF0KCdNTU0geXl5eScpfSAtICR7ZDIuZm9ybWF0KCdNTU0geXl5eScpfWA7XG4gICAgfSBlbHNlIGlmICh2aWV3ID09ICdtb250aHMnKSB7XG4gICAgICBjb25zdCBkMiA9IHRoaXMuX2MyLmRpc3BsYXlSYW5nZS5lbmRUaW1lO1xuICAgICAgdGhpcy5fbmF2VGV4dCA9IGAke2QxLmZvcm1hdCgneXl5eScpfSAtICR7ZDIuZm9ybWF0KCd5eXl5Jyl9YDtcbiAgICB9IGVsc2UgaWYgKHZpZXcgPT0gJ3llYXJzJykge1xuICAgICAgY29uc3QgZDIgPSB0aGlzLl9jMi5kaXNwbGF5UmFuZ2UuZW5kVGltZTtcbiAgICAgIHRoaXMuX25hdlRleHQgPSBgJHtkMS5mb3JtYXQoJ3l5eXknKX0gLSAke2QyLmZvcm1hdCgneXl5eScpfWA7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZU5hdmlnYXRlKCkge1xuICAgIHRoaXMuX3N5bmNOYXYxKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlQWN0aXZlVmlld0NoYW5nZTEoKSB7XG4gICAgdGhpcy5fYzIuYWN0aXZlVmlldyA9IHRoaXMuX2MxLmFjdGl2ZVZpZXc7XG4gICAgdGhpcy5fc3luY05hdjEoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVBY3RpdmVWaWV3Q2hhbmdlMigpIHtcbiAgICBpZiAodGhpcy5fYzIuYWN0aXZlVmlldyAhPSB0aGlzLl9jMS5hY3RpdmVWaWV3KSB7XG4gICAgICB0aGlzLl9jMS5hY3RpdmVWaWV3ID0gdGhpcy5fYzIuYWN0aXZlVmlldztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zeW5jTmF2MSgpIHtcbiAgICBjb25zdCB2aWV3ID0gKHRoaXMuX2MyLmFjdGl2ZVZpZXcgPSB0aGlzLl9jMS5hY3RpdmVWaWV3KTtcbiAgICBjb25zdCByYW5nZSA9IHRoaXMuX2MxLmRpc3BsYXlSYW5nZTtcbiAgICBpZiAodmlldyA9PSAnZGF5cycpIHtcbiAgICAgIHRoaXMuX2MyLm5hdlRvKHJhbmdlLnN0YXJ0VGltZS5hZGQoJ21vbnRoJywgMSkpO1xuICAgIH0gZWxzZSBpZiAodmlldyA9PSAnbW9udGhzJykge1xuICAgICAgdGhpcy5fYzIubmF2VG8ocmFuZ2Uuc3RhcnRUaW1lLmFkZCgneWVhcicsIDEpKTtcbiAgICB9IGVsc2UgaWYgKHZpZXcgPT0gJ3llYXJzJykge1xuICAgICAgdGhpcy5fYzIubmF2VG8ocmFuZ2UuZW5kVGltZS5hZGQoJ3llYXInLCA0KSk7XG4gICAgfVxuICAgIHRoaXMuX3N5bmNOYXZUZXh0KCk7XG4gIH1cblxuICBwcml2YXRlIF9zeW5jTmF2MihlOiBBWERhdGVUaW1lKSB7XG4gICAgY29uc3QgdmlldyA9IHRoaXMuX2MyLmFjdGl2ZVZpZXc7XG4gICAgaWYgKHZpZXcgPT0gJ21vbnRocycpIHtcbiAgICAgIHRoaXMuX2MxLm5hdlRvKGUuYWRkKCdtb250aCcsIC0xKSk7XG4gICAgfSBlbHNlIGlmICh2aWV3ID09ICd5ZWFycycpIHtcbiAgICAgIHRoaXMuX2MxLm5hdlRvKGUuc3RhcnRPZigneWVhcicpKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci1yYW5nZS1oZWFkZXJcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLWhlYWRlci1yYW5nZS1pbmZvXCI+XG4gICAgICAgIDxidXR0b24gW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWQgPyAnJyA6IG51bGxcIiBjbGFzcz1cImF4LWdlbmVyYWwtYnV0dG9uXCIgKGNsaWNrKT1cImhhbmRsZU5hdkNsaWNrKClcIj5cbiAgICAgICAgICAgIHt7IF9uYXZUZXh0IH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci1oZWFkZXItcmFuZ2UtYnV0dG9uc1wiPlxuICAgICAgICA8YnV0dG9uIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkID8gJycgOiBudWxsXCIgY2xhc3M9XCJheC1nZW5lcmFsLWJ1dHRvbiBheC1idXR0b24taWNvblwiXG4gICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlUHJldkNsaWNrKClcIj5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwiYXgtaWNvblwiIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAnYXgtaWNvbi1jaGV2cm9uLWxlZnQnOiAhcnRsLFxuICAgICAgICAgICAgICAgICdheC1pY29uLWNoZXZyb24tcmlnaHQnOiBydGxcbiAgICAgICAgICAgICAgfVwiPjwvaT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWQgPyAnJyA6IG51bGxcIiBjbGFzcz1cImF4LWdlbmVyYWwtYnV0dG9uIGF4LWJ1dHRvbi1pY29uXCJcbiAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVOZXh0Q2xpY2soKVwiPlxuICAgICAgICAgICAgPGkgY2xhc3M9XCJheC1pY29uXCIgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICdheC1pY29uLWNoZXZyb24tbGVmdCc6IHJ0bCxcbiAgICAgICAgICAgICAgICAnYXgtaWNvbi1jaGV2cm9uLXJpZ2h0JzogIXJ0bFxuICAgICAgICAgICAgICB9XCI+PC9pPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLXJhbmdlLWJvZHlcIj5cbiAgICA8YXgtY2FsZW5kYXIgI2MxIHN0eWxlPVwid2lkdGg6IDUwJTtcIiBbc2hvd05hdmlnYXRpb25dPVwiZmFsc2VcIiBbY2VsbENsYXNzXT1cImdldENlbGxDbGFzc1wiIFt0eXBlXT1cInR5cGVcIlxuICAgICAgICBbY2VsbFRlbXBsYXRlXT1cImNlbGxUZW1wbGF0ZVwiIFttaW5dPVwibWluXCIgW21heF09XCJtYXhcIiBbcmVhZG9ubHldPVwidHJ1ZVwiIFtkZXB0aF09XCJkZXB0aFwiIChvblNsb3RDbGljayk9XCJoYW5kbGVTbG90Q2xpY2soJGV2ZW50KVwiXG4gICAgICAgIChvbk5hdmlnYXRlKT1cImhhbmRsZU5hdmlnYXRlKClcIiAoYWN0aXZlVmlld0NoYW5nZSk9XCJoYW5kbGVBY3RpdmVWaWV3Q2hhbmdlMSgpXCI+XG4gICAgPC9heC1jYWxlbmRhcj5cbiAgICA8YXgtY2FsZW5kYXIgI2MyIHN0eWxlPVwid2lkdGg6IDUwJTtcIiBbc2hvd05hdmlnYXRpb25dPVwiZmFsc2VcIiBbY2VsbENsYXNzXT1cImdldENlbGxDbGFzc1wiIFt0eXBlXT1cInR5cGVcIlxuICAgICAgICBbY2VsbFRlbXBsYXRlXT1cImNlbGxUZW1wbGF0ZVwiIFttaW5dPVwibWluXCIgW21heF09XCJtYXhcIiBbcmVhZG9ubHldPVwidHJ1ZVwiIFtkZXB0aF09XCJkZXB0aFwiIChvblNsb3RDbGljayk9XCJoYW5kbGVTbG90Q2xpY2soJGV2ZW50KVwiXG4gICAgICAgIChhY3RpdmVWaWV3Q2hhbmdlKT1cImhhbmRsZUFjdGl2ZVZpZXdDaGFuZ2UyKClcIj5cbiAgICA8L2F4LWNhbGVuZGFyPlxuPC9kaXY+Il19
|
174
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItcmFuZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvY2FsZW5kYXIvc3JjL2NhbGVuZGFyLXJhbmdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL2NhbGVuZGFyL3NyYy9jYWxlbmRhci1yYW5nZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVcsc0JBQXNCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RixPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRW5DLE9BQU8sRUFBdUIsdUJBQXVCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7QUFFbkQsTUFxQ2Esd0JBQXlCLFNBQVEsT0FBTyxDQUFDLENBQUEsZ0JBQStCLENBQUEsRUFBRSxzQkFBc0IsRUFBRSx1QkFBdUIsQ0FBQztJQUU3SCxHQUFHLENBQXNCO0lBR3pCLEdBQUcsQ0FBc0I7SUFFakMsUUFBUSxHQUFXLEVBQUUsQ0FBQztJQUV0QjtRQUNFLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ2hELENBQUM7SUFFUyxlQUFlO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELFlBQVksR0FBRyxDQUFDLElBQVUsRUFBRSxFQUFF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Q1YsT0FBTzt3QkFDUCxZQUFZO3dCQUNaLEtBQUs7d0JBQ0wsS0FBSzt3QkFDTCxlQUFlO3dCQUNmLGNBQWM7d0JBQ2QsTUFBTTt3QkFDTixjQUFjO3dCQUNkLFdBQVc7d0JBQ1gsZ0JBQWdCO3FCQUNqQixXQUNRO3dCQUNQLGlCQUFpQjt3QkFDakIsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLFFBQVE7d0JBQ1IsU0FBUzt3QkFDVCxhQUFhO3dCQUNiLFlBQVk7d0JBQ1osa0JBQWtCO3dCQUNsQixxQkFBcUI7d0JBQ3JCLG9CQUFvQjt3QkFDcEIsWUFBWTt3QkFDWixhQUFhO3FCQUNkOzBFQUlPLEdBQUc7c0JBRFYsU0FBUzt1QkFBQyxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUl6QixHQUFHO3NCQURWLFNBQVM7dUJBQUMsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUmFuZ2UsIE1YSW50ZXJhY3RpdmVDb21wb25lbnQsIE1YVmFsdWVDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY2xhc3NlcyB9IGZyb20gJ3BvbHl0eXBlJztcbmltcG9ydCB7IEFYQ2FsZW5kYXJDb21wb25lbnQgfSBmcm9tICcuL2NhbGVuZGFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWENhbGVuZGFyU2xvdENsaWNrLCBNWENhbGVuZGFyQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vY2FsZW5kYXIuY2xhc3MnO1xuaW1wb3J0IHsgQVhEYXRlVGltZSB9IGZyb20gJ0BhY29yZXgvY29yZS9kYXRlVGltZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LWNhbGVuZGFyLXJhbmdlJyxcbiAgdGVtcGxhdGVVcmw6ICdjYWxlbmRhci1yYW5nZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWydjYWxlbmRhci1yYW5nZS5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBpbnB1dHM6IFtcbiAgICAncnRsJyxcbiAgICAncmVhZG9ubHknLFxuICAgICd2YWx1ZScsXG4gICAgJ25hbWUnLFxuICAgICdkaXNhYmxlZCcsXG4gICAgJ2RlcHRoJyxcbiAgICAnYWN0aXZlVmlldycsXG4gICAgJ21pbicsXG4gICAgJ21heCcsXG4gICAgJ2Rpc2FibGVkRGF0ZXMnLFxuICAgICdob2xpZGF5RGF0ZXMnLFxuICAgICd0eXBlJyxcbiAgICAnY2VsbFRlbXBsYXRlJyxcbiAgICAnY2VsbENsYXNzJyxcbiAgICAnc2hvd05hdmlnYXRpb24nLFxuICBdLFxuICBvdXRwdXRzOiBbXG4gICAgJ29uT3B0aW9uQ2hhbmdlZCcsXG4gICAgJ3ZhbHVlQ2hhbmdlJyxcbiAgICAnb25WYWx1ZUNoYW5nZWQnLFxuICAgICdvbkJsdXInLFxuICAgICdvbkZvY3VzJyxcbiAgICAnZGVwdGhDaGFuZ2UnLFxuICAgICd0eXBlQ2hhbmdlJyxcbiAgICAnYWN0aXZlVmlld0NoYW5nZScsXG4gICAgJ2Rpc2FibGVkRGF0ZXNDaGFuZ2UnLFxuICAgICdob2xpZGF5RGF0ZXNDaGFuZ2UnLFxuICAgICdvbk5hdmlnYXRlJyxcbiAgICAnb25TbG90Q2xpY2snLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWENhbGVuZGFyUmFuZ2VDb21wb25lbnQgZXh0ZW5kcyBjbGFzc2VzKE1YVmFsdWVDb21wb25lbnQ8QVhSYW5nZTxEYXRlPj4sIE1YSW50ZXJhY3RpdmVDb21wb25lbnQsIE1YQ2FsZW5kYXJCYXNlQ29tcG9uZW50KSB7XG4gIEBWaWV3Q2hpbGQoJ2MxJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHJpdmF0ZSBfYzE6IEFYQ2FsZW5kYXJDb21wb25lbnQ7XG5cbiAgQFZpZXdDaGlsZCgnYzInLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwcml2YXRlIF9jMjogQVhDYWxlbmRhckNvbXBvbmVudDtcblxuICBfbmF2VGV4dDogc3RyaW5nID0gJyc7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmRlZmF1bHRWYWx1ZSA9IHsgZnJvbTogbnVsbCwgZW5kOiBudWxsIH07XG4gIH1cblxuICBwcm90ZWN0ZWQgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuICAgIHRoaXMuX3N5bmNOYXYxKCk7XG4gIH1cblxuICBnZXRDZWxsQ2xhc3MgPSAoZGF0ZTogRGF0ZSkgPT4ge1xuICAgIGNvbnN0IGQgPSBuZXcgQVhEYXRlVGltZShkYXRlKTtcbiAgICBjb25zdCBmcm9tID0gbmV3IEFYRGF0ZVRpbWUodGhpcy52YWx1ZS5mcm9tKTtcbiAgICBjb25zdCBlbmQgPSBuZXcgQVhEYXRlVGltZSh0aGlzLnZhbHVlLmVuZCk7XG4gICAgaWYgKHRoaXMudmFsdWUuZnJvbSAmJiBkLmVxdWFsKGZyb20sICdkYXknKSkge1xuICAgICAgcmV0dXJuICdheC1yYW5nZS1zdGFydCc7XG4gICAgfVxuICAgIGlmICh0aGlzLnZhbHVlLmVuZCAmJiBkLmVxdWFsKGVuZCwgJ2RheScpKSByZXR1cm4gJ2F4LXJhbmdlLWVuZCc7XG4gICAgaWYgKHRoaXMudmFsdWUuZnJvbSAmJiB0aGlzLnZhbHVlLmVuZCAmJiBkLmNvbXBhcmUoZnJvbSwgJ2RheScpID4gMCAmJiBkLmNvbXBhcmUoZW5kLCAnZGF5JykgPCAwKSByZXR1cm4gJ2F4LXJhbmdlLWJldHdlZW4nO1xuICAgIHJldHVybiBudWxsO1xuICB9O1xuXG4gIHByb3RlY3RlZCBoYW5kbGVTbG90Q2xpY2soZTogQVhDYWxlbmRhclNsb3RDbGljaykge1xuICAgIGlmICh0aGlzLl9jMS5hY3RpdmVWaWV3ID09IHRoaXMuZGVwdGgpIHtcbiAgICAgIGlmICghdGhpcy52YWx1ZS5mcm9tIHx8ICh0aGlzLnZhbHVlLmZyb20gJiYgdGhpcy52YWx1ZS5lbmQpKSB7XG4gICAgICAgIHRoaXMudmFsdWUuZnJvbSA9IGUuaXRlbTtcbiAgICAgICAgdGhpcy52YWx1ZS5lbmQgPSBudWxsO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMudmFsdWUuZnJvbSAmJiBlLml0ZW0gPD0gdGhpcy52YWx1ZS5mcm9tKSB7XG4gICAgICAgIHRoaXMudmFsdWUuZnJvbSA9IGUuaXRlbTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy52YWx1ZS5mcm9tICYmICF0aGlzLnZhbHVlLmVuZCkge1xuICAgICAgICB0aGlzLnZhbHVlLmVuZCA9IGUuaXRlbTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGUuY29tcG9uZW50ID09IHRoaXMuX2MxKSB0aGlzLl9zeW5jTmF2MSgpO1xuICAgICAgaWYgKGUuY29tcG9uZW50ID09IHRoaXMuX2MyKSB7XG4gICAgICAgIHRoaXMuX3N5bmNOYXYyKG5ldyBBWERhdGVUaW1lKGUuaXRlbSkpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLl9jMS5yZW5kZXIoKTtcbiAgICB0aGlzLl9jMi5yZW5kZXIoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVQcmV2Q2xpY2soKSB7XG4gICAgY29uc3QgdmlldyA9IHRoaXMuX2MxLmFjdGl2ZVZpZXc7XG4gICAgY29uc3QgZDEgPSB0aGlzLl9jMS5kaXNwbGF5UmFuZ2Uuc3RhcnRUaW1lO1xuICAgIGlmICh2aWV3ID09ICdkYXknIHx8IHZpZXcgPT0gJ21vbnRoJykge1xuICAgICAgdGhpcy5fYzEucHJldigpO1xuICAgIH0gZWxzZSBpZiAodmlldyA9PSAneWVhcicpIHtcbiAgICAgIHRoaXMuX2MxLm5hdlRvKGQxLmFkZCgneWVhcicsIC0yMCkpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVOZXh0Q2xpY2soKSB7XG4gICAgY29uc3QgdmlldyA9IHRoaXMuX2MxLmFjdGl2ZVZpZXc7XG4gICAgY29uc3QgZDEgPSB0aGlzLl9jMS5kaXNwbGF5UmFuZ2Uuc3RhcnRUaW1lO1xuICAgIGlmICh2aWV3ID09ICdkYXknIHx8IHZpZXcgPT0gJ21vbnRoJykge1xuICAgICAgdGhpcy5fYzEubmV4dCgpO1xuICAgIH0gZWxzZSBpZiAodmlldyA9PSAneWVhcicpIHtcbiAgICAgIHRoaXMuX2MxLm5hdlRvKGQxLmFkZCgneWVhcicsIDIwKSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZU5hdkNsaWNrKCkge1xuICAgIHRoaXMuX2MxLnRvZ2dsZVZpZXcoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3N5bmNOYXZUZXh0KCkge1xuICAgIGNvbnN0IHZpZXcgPSB0aGlzLl9jMS5hY3RpdmVWaWV3O1xuICAgIGNvbnN0IGQxID0gdGhpcy5fYzEuZGlzcGxheVJhbmdlLnN0YXJ0VGltZTtcbiAgICBpZiAodmlldyA9PSAnZGF5Jykge1xuICAgICAgY29uc3QgZDIgPSB0aGlzLl9jMi5kaXNwbGF5UmFuZ2UuZW5kVGltZTtcbiAgICAgIHRoaXMuX25hdlRleHQgPSBgJHtkMS5mb3JtYXQoJ01NTSB5eXl5Jyl9IC0gJHtkMi5mb3JtYXQoJ01NTSB5eXl5Jyl9YDtcbiAgICB9IGVsc2UgaWYgKHZpZXcgPT0gJ21vbnRoJykge1xuICAgICAgY29uc3QgZDIgPSB0aGlzLl9jMi5kaXNwbGF5UmFuZ2UuZW5kVGltZTtcbiAgICAgIHRoaXMuX25hdlRleHQgPSBgJHtkMS5mb3JtYXQoJ3l5eXknKX0gLSAke2QyLmZvcm1hdCgneXl5eScpfWA7XG4gICAgfSBlbHNlIGlmICh2aWV3ID09ICd5ZWFyJykge1xuICAgICAgY29uc3QgZDIgPSB0aGlzLl9jMi5kaXNwbGF5UmFuZ2UuZW5kVGltZTtcbiAgICAgIHRoaXMuX25hdlRleHQgPSBgJHtkMS5mb3JtYXQoJ3l5eXknKX0gLSAke2QyLmZvcm1hdCgneXl5eScpfWA7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZU5hdmlnYXRlKCkge1xuICAgIHRoaXMuX3N5bmNOYXYxKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlQWN0aXZlVmlld0NoYW5nZTEoKSB7XG4gICAgdGhpcy5fYzIuYWN0aXZlVmlldyA9IHRoaXMuX2MxLmFjdGl2ZVZpZXc7XG4gICAgdGhpcy5fc3luY05hdjEoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVBY3RpdmVWaWV3Q2hhbmdlMigpIHtcbiAgICBpZiAodGhpcy5fYzIuYWN0aXZlVmlldyAhPSB0aGlzLl9jMS5hY3RpdmVWaWV3KSB7XG4gICAgICB0aGlzLl9jMS5hY3RpdmVWaWV3ID0gdGhpcy5fYzIuYWN0aXZlVmlldztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zeW5jTmF2MSgpIHtcbiAgICBjb25zdCB2aWV3ID0gKHRoaXMuX2MyLmFjdGl2ZVZpZXcgPSB0aGlzLl9jMS5hY3RpdmVWaWV3KTtcbiAgICBjb25zdCByYW5nZSA9IHRoaXMuX2MxLmRpc3BsYXlSYW5nZTtcbiAgICBpZiAodmlldyA9PSAnZGF5Jykge1xuICAgICAgdGhpcy5fYzIubmF2VG8ocmFuZ2Uuc3RhcnRUaW1lLmFkZCgnbW9udGgnLCAxKSk7XG4gICAgfSBlbHNlIGlmICh2aWV3ID09ICdtb250aCcpIHtcbiAgICAgIHRoaXMuX2MyLm5hdlRvKHJhbmdlLnN0YXJ0VGltZS5hZGQoJ3llYXInLCAxKSk7XG4gICAgfSBlbHNlIGlmICh2aWV3ID09ICd5ZWFyJykge1xuICAgICAgdGhpcy5fYzIubmF2VG8ocmFuZ2UuZW5kVGltZS5hZGQoJ3llYXInLCA0KSk7XG4gICAgfVxuICAgIHRoaXMuX3N5bmNOYXZUZXh0KCk7XG4gIH1cblxuICBwcml2YXRlIF9zeW5jTmF2MihlOiBBWERhdGVUaW1lKSB7XG4gICAgY29uc3QgdmlldyA9IHRoaXMuX2MyLmFjdGl2ZVZpZXc7XG4gICAgaWYgKHZpZXcgPT0gJ21vbnRoJykge1xuICAgICAgdGhpcy5fYzEubmF2VG8oZS5hZGQoJ21vbnRoJywgLTEpKTtcbiAgICB9IGVsc2UgaWYgKHZpZXcgPT0gJ3llYXInKSB7XG4gICAgICB0aGlzLl9jMS5uYXZUbyhlLnN0YXJ0T2YoJ3llYXInKSk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYXgtY2FsZW5kYXItcmFuZ2UtaGVhZGVyXCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci1oZWFkZXItcmFuZ2UtaW5mb1wiPlxuICAgICAgICA8YnV0dG9uIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkID8gJycgOiBudWxsXCIgY2xhc3M9XCJheC1nZW5lcmFsLWJ1dHRvblwiIChjbGljayk9XCJoYW5kbGVOYXZDbGljaygpXCI+XG4gICAgICAgICAgICB7eyBfbmF2VGV4dCB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtY2FsZW5kYXItaGVhZGVyLXJhbmdlLWJ1dHRvbnNcIj5cbiAgICAgICAgPGJ1dHRvbiBbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlZCA/ICcnIDogbnVsbFwiIGNsYXNzPVwiYXgtZ2VuZXJhbC1idXR0b24gYXgtYnV0dG9uLWljb25cIlxuICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZVByZXZDbGljaygpXCI+XG4gICAgICAgICAgICA8aSBjbGFzcz1cImF4LWljb25cIiBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgJ2F4LWljb24tY2hldnJvbi1sZWZ0JzogIXJ0bCxcbiAgICAgICAgICAgICAgICAnYXgtaWNvbi1jaGV2cm9uLXJpZ2h0JzogcnRsXG4gICAgICAgICAgICAgIH1cIj48L2k+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkID8gJycgOiBudWxsXCIgY2xhc3M9XCJheC1nZW5lcmFsLWJ1dHRvbiBheC1idXR0b24taWNvblwiXG4gICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlTmV4dENsaWNrKClcIj5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwiYXgtaWNvblwiIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAnYXgtaWNvbi1jaGV2cm9uLWxlZnQnOiBydGwsXG4gICAgICAgICAgICAgICAgJ2F4LWljb24tY2hldnJvbi1yaWdodCc6ICFydGxcbiAgICAgICAgICAgICAgfVwiPjwvaT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci1yYW5nZS1ib2R5XCI+XG4gICAgPGF4LWNhbGVuZGFyICNjMSBzdHlsZT1cIndpZHRoOiA1MCU7XCIgW3Nob3dOYXZpZ2F0aW9uXT1cImZhbHNlXCIgW2NlbGxDbGFzc109XCJnZXRDZWxsQ2xhc3NcIiBbdHlwZV09XCJ0eXBlXCJcbiAgICAgICAgW2NlbGxUZW1wbGF0ZV09XCJjZWxsVGVtcGxhdGVcIiBbbWluXT1cIm1pblwiIFttYXhdPVwibWF4XCIgW3JlYWRvbmx5XT1cInRydWVcIiBbZGVwdGhdPVwiZGVwdGhcIiAob25TbG90Q2xpY2spPVwiaGFuZGxlU2xvdENsaWNrKCRldmVudClcIlxuICAgICAgICAob25OYXZpZ2F0ZSk9XCJoYW5kbGVOYXZpZ2F0ZSgpXCIgKGFjdGl2ZVZpZXdDaGFuZ2UpPVwiaGFuZGxlQWN0aXZlVmlld0NoYW5nZTEoKVwiPlxuICAgIDwvYXgtY2FsZW5kYXI+XG4gICAgPGF4LWNhbGVuZGFyICNjMiBzdHlsZT1cIndpZHRoOiA1MCU7XCIgW3Nob3dOYXZpZ2F0aW9uXT1cImZhbHNlXCIgW2NlbGxDbGFzc109XCJnZXRDZWxsQ2xhc3NcIiBbdHlwZV09XCJ0eXBlXCJcbiAgICAgICAgW2NlbGxUZW1wbGF0ZV09XCJjZWxsVGVtcGxhdGVcIiBbbWluXT1cIm1pblwiIFttYXhdPVwibWF4XCIgW3JlYWRvbmx5XT1cInRydWVcIiBbZGVwdGhdPVwiZGVwdGhcIiAob25TbG90Q2xpY2spPVwiaGFuZGxlU2xvdENsaWNrKCRldmVudClcIlxuICAgICAgICAoYWN0aXZlVmlld0NoYW5nZSk9XCJoYW5kbGVBY3RpdmVWaWV3Q2hhbmdlMigpXCI+XG4gICAgPC9heC1jYWxlbmRhcj5cbjwvZGl2PiJdfQ==
|
@@ -1,7 +1,6 @@
|
|
1
1
|
import { AXConfig } from "@acorex/core/config";
|
2
2
|
import { EventEmitter, Injectable, Input, Output } from "@angular/core";
|
3
3
|
import { AXItemClickEvent, AXRangeChangedEvent, MXBaseComponent } from "@acorex/components/common";
|
4
|
-
import { AXBaseComponent } from "@acorex/components/mixin";
|
5
4
|
import { classes } from "polytype";
|
6
5
|
import * as i0 from "@angular/core";
|
7
6
|
/**
|
@@ -16,15 +15,73 @@ export class AXCalendarNavigateEvent extends AXRangeChangedEvent {
|
|
16
15
|
*/
|
17
16
|
export class AXCalendarSlotClick extends AXItemClickEvent {
|
18
17
|
}
|
18
|
+
// export class AXCalendarView {
|
19
|
+
// private _range: AXDateTimeRange;
|
20
|
+
// private _slots: AXCalendarViewSlot[] = [];
|
21
|
+
// get range(): AXDateTimeRange {
|
22
|
+
// return this.range;
|
23
|
+
// }
|
24
|
+
// get slots(): AXCalendarViewSlot[] {
|
25
|
+
// return this._slots;
|
26
|
+
// }
|
27
|
+
// constructor(
|
28
|
+
// private readonly startDate: AXDateTime,
|
29
|
+
// private readonly view: AXCalendarViewType
|
30
|
+
// ) {
|
31
|
+
// const current = this.startDate;
|
32
|
+
// let textFormat = 'YYYY';
|
33
|
+
// let tooltipFormat = 'YYYY';
|
34
|
+
// switch (this.view) {
|
35
|
+
// case 'year':
|
36
|
+
// let y = current.startOf('year').year;
|
37
|
+
// let min = y - (y % 10);
|
38
|
+
// let max = min + 9;
|
39
|
+
// this._range = new AXDateTimeRange(
|
40
|
+
// AXDateTime.from({
|
41
|
+
// year: min,
|
42
|
+
// month: 1,
|
43
|
+
// date: 1,
|
44
|
+
// calendar: this.startDate.calendar.name(),
|
45
|
+
// }),
|
46
|
+
// AXDateTime.from({
|
47
|
+
// year: max,
|
48
|
+
// month: 12,
|
49
|
+
// date: 28,
|
50
|
+
// calendar: this.startDate.calendar.name(),
|
51
|
+
// })
|
52
|
+
// );
|
53
|
+
// break;
|
54
|
+
// case 'month':
|
55
|
+
// textFormat = 'MMM';
|
56
|
+
// tooltipFormat = 'MMMM YYYY';
|
57
|
+
// this._range = new AXDateTimeRange(
|
58
|
+
// current.startOf('year'),
|
59
|
+
// current.endOf('year').add('day', -1)
|
60
|
+
// );
|
61
|
+
// break;
|
62
|
+
// default:
|
63
|
+
// this._range = new AXDateTimeRange(
|
64
|
+
// current.startOf('month'),
|
65
|
+
// current.endOf('month')
|
66
|
+
// );
|
67
|
+
// }
|
68
|
+
// //
|
69
|
+
// this._slots = this.range.enumurate(view).map(r => ({
|
70
|
+
// date: r.date,
|
71
|
+
// tooltip: r.format()
|
72
|
+
// }));
|
73
|
+
// }
|
74
|
+
// }
|
19
75
|
class MXCalendarBaseComponent extends classes(MXBaseComponent) {
|
20
76
|
interface = 'calendar';
|
21
77
|
cellTemplate;
|
22
78
|
cellClass;
|
23
79
|
showNavigation = true;
|
80
|
+
count = 1;
|
24
81
|
onSlotClick = new EventEmitter();
|
25
82
|
onNavigate = new EventEmitter();
|
26
83
|
activeViewChange = new EventEmitter();
|
27
|
-
_activeView = '
|
84
|
+
_activeView = 'day';
|
28
85
|
get activeView() {
|
29
86
|
return this._activeView;
|
30
87
|
}
|
@@ -52,7 +109,7 @@ class MXCalendarBaseComponent extends classes(MXBaseComponent) {
|
|
52
109
|
});
|
53
110
|
}
|
54
111
|
depthChange = new EventEmitter();
|
55
|
-
_depth = '
|
112
|
+
_depth = 'day';
|
56
113
|
get depth() {
|
57
114
|
return this._depth;
|
58
115
|
}
|
@@ -126,117 +183,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor
|
|
126
183
|
type: Input
|
127
184
|
}], showNavigation: [{
|
128
185
|
type: Input
|
129
|
-
}],
|
130
|
-
type: Output
|
131
|
-
}], onNavigate: [{
|
132
|
-
type: Output
|
133
|
-
}], activeViewChange: [{
|
134
|
-
type: Output
|
135
|
-
}], activeView: [{
|
136
|
-
type: Input
|
137
|
-
}], typeChange: [{
|
138
|
-
type: Output
|
139
|
-
}], type: [{
|
140
|
-
type: Input
|
141
|
-
}], depthChange: [{
|
142
|
-
type: Output
|
143
|
-
}], depth: [{
|
144
|
-
type: Input
|
145
|
-
}], minChange: [{
|
146
|
-
type: Output
|
147
|
-
}], min: [{
|
148
|
-
type: Input
|
149
|
-
}], maxChange: [{
|
150
|
-
type: Output
|
151
|
-
}], max: [{
|
186
|
+
}], count: [{
|
152
187
|
type: Input
|
153
|
-
}],
|
154
|
-
type: Output
|
155
|
-
}], disabledDates: [{
|
156
|
-
type: Input
|
157
|
-
}], holidayDatesChange: [{
|
158
|
-
type: Output
|
159
|
-
}], holidayDates: [{
|
160
|
-
type: Input
|
161
|
-
}] } });
|
162
|
-
class AXCalendarBaseComponent extends AXBaseComponent {
|
163
|
-
constructor(elementRef, cdr) {
|
164
|
-
super(elementRef, cdr);
|
165
|
-
}
|
166
|
-
onSlotClick = new EventEmitter();
|
167
|
-
onNavigate = new EventEmitter();
|
168
|
-
activeViewChange = new EventEmitter();
|
169
|
-
_activeView = 'days';
|
170
|
-
get activeView() {
|
171
|
-
return this._activeView;
|
172
|
-
}
|
173
|
-
set activeView(v) {
|
174
|
-
this._setOption({ name: 'activeView', value: v });
|
175
|
-
}
|
176
|
-
typeChange = new EventEmitter();
|
177
|
-
_type = AXConfig.get(`dateTime.calendar`);
|
178
|
-
get type() {
|
179
|
-
return this._type || AXConfig.get(`dateTime.calendar`);
|
180
|
-
}
|
181
|
-
set type(v) {
|
182
|
-
this._setOption({
|
183
|
-
name: 'type',
|
184
|
-
value: v
|
185
|
-
});
|
186
|
-
}
|
187
|
-
depthChange = new EventEmitter();
|
188
|
-
_depth = 'days';
|
189
|
-
get depth() {
|
190
|
-
return this._depth;
|
191
|
-
}
|
192
|
-
set depth(v) {
|
193
|
-
this._setOption({
|
194
|
-
name: 'depth',
|
195
|
-
value: v,
|
196
|
-
beforeCallback: () => {
|
197
|
-
this._activeView = v;
|
198
|
-
}
|
199
|
-
});
|
200
|
-
}
|
201
|
-
minChange = new EventEmitter();
|
202
|
-
_min;
|
203
|
-
get min() {
|
204
|
-
return this._min;
|
205
|
-
}
|
206
|
-
set min(v) {
|
207
|
-
this._setOption({ name: 'min', value: v });
|
208
|
-
}
|
209
|
-
maxChange = new EventEmitter();
|
210
|
-
_max;
|
211
|
-
get max() {
|
212
|
-
return this._max;
|
213
|
-
}
|
214
|
-
set max(v) {
|
215
|
-
this._setOption({ name: 'max', value: v });
|
216
|
-
}
|
217
|
-
disabledDatesChange = new EventEmitter();
|
218
|
-
_disabledDates;
|
219
|
-
get disabledDates() {
|
220
|
-
return this._disabledDates;
|
221
|
-
}
|
222
|
-
set disabledDates(v) {
|
223
|
-
this._setOption({ name: 'disabledDates', value: v });
|
224
|
-
}
|
225
|
-
holidayDatesChange = new EventEmitter();
|
226
|
-
_holidayDates;
|
227
|
-
get holidayDates() {
|
228
|
-
return this._holidayDates;
|
229
|
-
}
|
230
|
-
set holidayDates(v) {
|
231
|
-
this._setOption({ name: 'holidayDates', value: v });
|
232
|
-
}
|
233
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: AXCalendarBaseComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Injectable });
|
234
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: AXCalendarBaseComponent });
|
235
|
-
}
|
236
|
-
export { AXCalendarBaseComponent };
|
237
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: AXCalendarBaseComponent, decorators: [{
|
238
|
-
type: Injectable
|
239
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { onSlotClick: [{
|
188
|
+
}], onSlotClick: [{
|
240
189
|
type: Output
|
241
190
|
}], onNavigate: [{
|
242
191
|
type: Output
|
@@ -279,4 +228,4 @@ export const CALENDAR_INPUTS = [
|
|
279
228
|
'holidayDates',
|
280
229
|
];
|
281
230
|
export const CALENDAR_OUTPUTS = ['depthChange', 'typeChange', 'disabledDatesChange', 'holidayDatesChange', 'onNavigate'];
|
282
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9jYWxlbmRhci9zcmMvY2FsZW5kYXIuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sRUFBaUMsWUFBWSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNuRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFTbkM7OztFQUdFO0FBQ0YsTUFBTSxPQUFPLHVCQUF3QixTQUFRLG1CQUF5QjtDQUVyRTtBQUVEOzs7RUFHRTtBQUNGLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxnQkFBc0I7Q0FFOUQ7QUFFRCxNQUNhLHVCQUF3QixTQUFRLE9BQU8sQ0FBQyxlQUFlLENBQUM7SUFHakUsU0FBUyxHQUEwQixVQUFVLENBQUM7SUFHOUMsWUFBWSxDQUFvQjtJQUdoQyxTQUFTLENBQTBCO0lBR25DLGNBQWMsR0FBWSxJQUFJLENBQUM7SUFJL0IsV0FBVyxHQUFzQyxJQUFJLFlBQVksRUFBdUIsQ0FBQztJQUd6RixVQUFVLEdBQTBDLElBQUksWUFBWSxFQUEyQixDQUFDO0lBR2hHLGdCQUFnQixHQUFxQyxJQUFJLFlBQVksRUFBc0IsQ0FBQztJQUVwRixXQUFXLEdBQXVCLE1BQU0sQ0FBQztJQUNqRCxJQUNXLFVBQVU7UUFDakIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7SUFDRCxJQUFXLFVBQVUsQ0FBQyxDQUFxQjtRQUN2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QkFBdUI7O1NBQXZCLHVCQUF1QjsyRkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVO2lJQVNQLFdBQVc7c0JBRFYsTUFBTTtnQkFJUCxVQUFVO3NCQURULE1BQU07Z0JBSVAsZ0JBQWdCO3NCQURmLE1BQU07Z0JBS0ksVUFBVTtzQkFEcEIsS0FBSztnQkFVQyxVQUFVO3NCQURoQixNQUFNO2dCQU1JLElBQUk7c0JBRGQsS0FBSztnQkFhTixXQUFXO3NCQURWLE1BQU07Z0JBS0ksS0FBSztzQkFEZixLQUFLO2dCQWVOLFNBQVM7c0JBRFIsTUFBTTtnQkFLSSxHQUFHO3NCQURiLEtBQUs7Z0JBVU4sU0FBUztzQkFEUixNQUFNO2dCQUtJLEdBQUc7c0JBRGIsS0FBSztnQkFTTixtQkFBbUI7c0JBRGxCLE1BQU07Z0JBS0ksYUFBYTtzQkFEdkIsS0FBSztnQkFTTixrQkFBa0I7c0JBRGpCLE1BQU07Z0JBS0ksWUFBWTtzQkFEdEIsS0FBSzs7QUFXVixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUc7SUFDM0IsT0FBTztJQUNQLFlBQVk7SUFDWixLQUFLO0lBQ0wsS0FBSztJQUNMLGVBQWU7SUFDZixNQUFNO0lBQ04sY0FBYztDQUNqQixDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxhQUFhLEVBQUUsWUFBWSxFQUFFLHFCQUFxQixFQUFFLG9CQUFvQixFQUFFLFlBQVksQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhDb25maWcgfSBmcm9tIFwiQGFjb3JleC9jb3JlL2NvbmZpZ1wiO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5qZWN0YWJsZSwgSW5wdXQsIE91dHB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQVhJdGVtQ2xpY2tFdmVudCwgQVhSYW5nZUNoYW5nZWRFdmVudCwgTVhCYXNlQ29tcG9uZW50IH0gZnJvbSBcIkBhY29yZXgvY29tcG9uZW50cy9jb21tb25cIjtcbmltcG9ydCB7IEFYQmFzZUNvbXBvbmVudCB9IGZyb20gXCJAYWNvcmV4L2NvbXBvbmVudHMvbWl4aW5cIjtcbmltcG9ydCB7IGNsYXNzZXMgfSBmcm9tIFwicG9seXR5cGVcIjtcblxuZXhwb3J0IHR5cGUgQVhDYWxlbmRhclZpZXdUeXBlID0gJ3llYXJzJyB8ICdtb250aHMnIHwgJ2RheXMnO1xuZXhwb3J0IHR5cGUgQVhDYWxlbmRhclZpZXdEZXB0aCA9IEFYQ2FsZW5kYXJWaWV3VHlwZTtcbmV4cG9ydCB0eXBlIEFYQ2FsZW5kYXJEaXNhYmxlZERhdGVzID0gRGF0ZVtdIHwgKChkYXRlOiBEYXRlKSA9PiBib29sZWFuKTtcbmV4cG9ydCB0eXBlIEFYQ2FsZW5kYXJIb2xpZGF5RGF0ZXMgPSBEYXRlW10gfCAoKGRhdGU6IERhdGUpID0+IGJvb2xlYW4pO1xuZXhwb3J0IHR5cGUgQVhDYWxlbmRhckNlbGxDc3NDbGFzcyA9IHN0cmluZyB8IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9IHwgKChkYXRlOiBEYXRlKSA9PiBzdHJpbmcpO1xuXG5cbi8qKlxuKiAgQ29udGFpbnMgbmF0aXZlIGV2ZW50XG4qIEBjYXRlZ29yeSBFdmVudHNcbiovXG5leHBvcnQgY2xhc3MgQVhDYWxlbmRhck5hdmlnYXRlRXZlbnQgZXh0ZW5kcyBBWFJhbmdlQ2hhbmdlZEV2ZW50PERhdGU+IHtcblxufVxuXG4vKipcbiogIENvbnRhaW5zIG5hdGl2ZSBldmVudFxuKiBAY2F0ZWdvcnkgRXZlbnRzXG4qL1xuZXhwb3J0IGNsYXNzIEFYQ2FsZW5kYXJTbG90Q2xpY2sgZXh0ZW5kcyBBWEl0ZW1DbGlja0V2ZW50PERhdGU+IHtcblxufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTVhDYWxlbmRhckJhc2VDb21wb25lbnQgZXh0ZW5kcyBjbGFzc2VzKE1YQmFzZUNvbXBvbmVudCkge1xuXG4gICAgQElucHV0KClcbiAgICBpbnRlcmZhY2U6ICdjYWxlbmRhcicgfCAncGlja2VyJyA9ICdjYWxlbmRhcic7XG5cbiAgICBASW5wdXQoKVxuICAgIGNlbGxUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBASW5wdXQoKVxuICAgIGNlbGxDbGFzcz86IEFYQ2FsZW5kYXJDZWxsQ3NzQ2xhc3M7XG5cbiAgICBASW5wdXQoKVxuICAgIHNob3dOYXZpZ2F0aW9uOiBib29sZWFuID0gdHJ1ZTtcblxuXG4gICAgQE91dHB1dCgpXG4gICAgb25TbG90Q2xpY2s6IEV2ZW50RW1pdHRlcjxBWENhbGVuZGFyU2xvdENsaWNrPiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhDYWxlbmRhclNsb3RDbGljaz4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIG9uTmF2aWdhdGU6IEV2ZW50RW1pdHRlcjxBWENhbGVuZGFyTmF2aWdhdGVFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYQ2FsZW5kYXJOYXZpZ2F0ZUV2ZW50PigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgYWN0aXZlVmlld0NoYW5nZTogRXZlbnRFbWl0dGVyPEFYQ2FsZW5kYXJWaWV3VHlwZT4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYQ2FsZW5kYXJWaWV3VHlwZT4oKTtcblxuICAgIHByaXZhdGUgX2FjdGl2ZVZpZXc6IEFYQ2FsZW5kYXJWaWV3VHlwZSA9ICdkYXlzJztcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgYWN0aXZlVmlldygpOiBBWENhbGVuZGFyVmlld1R5cGUge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWN0aXZlVmlldztcbiAgICB9XG4gICAgcHVibGljIHNldCBhY3RpdmVWaWV3KHY6IEFYQ2FsZW5kYXJWaWV3VHlwZSkge1xuICAgICAgICB0aGlzLnNldE9wdGlvbih7XG4gICAgICAgICAgICBuYW1lOiAnYWN0aXZlVmlldycsXG4gICAgICAgICAgICB2YWx1ZTogdixcbiAgICAgICAgICAgIGFmdGVyQ2FsbGJhY2s6ICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgdHlwZUNoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAgIHByaXZhdGUgX3R5cGU6IHN0cmluZyA9IEFYQ29uZmlnLmdldChgZGF0ZVRpbWUuY2FsZW5kYXJgKTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdldCB0eXBlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl90eXBlIHx8IEFYQ29uZmlnLmdldChgZGF0ZVRpbWUuY2FsZW5kYXJgKTtcbiAgICB9XG4gICAgcHVibGljIHNldCB0eXBlKHY6IHN0cmluZykge1xuICAgICAgICB0aGlzLnNldE9wdGlvbih7XG4gICAgICAgICAgICBuYW1lOiAndHlwZScsXG4gICAgICAgICAgICB2YWx1ZTogdixcbiAgICAgICAgICAgIGFmdGVyQ2FsbGJhY2s6ICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG5cbiAgICBAT3V0cHV0KClcbiAgICBkZXB0aENoYW5nZTogRXZlbnRFbWl0dGVyPEFYQ2FsZW5kYXJWaWV3RGVwdGg+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWENhbGVuZGFyVmlld0RlcHRoPigpO1xuXG4gICAgcHJpdmF0ZSBfZGVwdGg6IEFYQ2FsZW5kYXJWaWV3RGVwdGggPSAnZGF5cyc7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZ2V0IGRlcHRoKCk6IEFYQ2FsZW5kYXJWaWV3RGVwdGgge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGVwdGg7XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgZGVwdGgodjogQVhDYWxlbmRhclZpZXdEZXB0aCkge1xuICAgICAgICB0aGlzLnNldE9wdGlvbih7XG4gICAgICAgICAgICBuYW1lOiAnZGVwdGgnLFxuICAgICAgICAgICAgdmFsdWU6IHYsXG4gICAgICAgICAgICBiZWZvcmVDYWxsYmFjazogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlVmlldyA9IHY7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgYWZ0ZXJDYWxsYmFjazogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBAT3V0cHV0KClcbiAgICBtaW5DaGFuZ2U6IEV2ZW50RW1pdHRlcjxEYXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcblxuICAgIHByaXZhdGUgX21pbjogRGF0ZTtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgbWluKCk6IERhdGUge1xuICAgICAgICByZXR1cm4gdGhpcy5fbWluO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IG1pbih2OiBEYXRlKSB7XG4gICAgICAgIHRoaXMuc2V0T3B0aW9uKHtcbiAgICAgICAgICAgIG5hbWU6ICdtaW4nLFxuICAgICAgICAgICAgdmFsdWU6IHYsXG4gICAgICAgICAgICBhZnRlckNhbGxiYWNrOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuXG4gICAgQE91dHB1dCgpXG4gICAgbWF4Q2hhbmdlOiBFdmVudEVtaXR0ZXI8RGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XG5cbiAgICBwcml2YXRlIF9tYXg6IERhdGU7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZ2V0IG1heCgpOiBEYXRlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21heDtcbiAgICB9XG4gICAgcHVibGljIHNldCBtYXgodjogRGF0ZSkge1xuICAgICAgICB0aGlzLnNldE9wdGlvbih7XG4gICAgICAgICAgICBuYW1lOiAnbWF4JyxcbiAgICAgICAgICAgIHZhbHVlOiB2LFxuICAgICAgICAgICAgYWZ0ZXJDYWxsYmFjazogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBAT3V0cHV0KClcbiAgICBkaXNhYmxlZERhdGVzQ2hhbmdlOiBFdmVudEVtaXR0ZXI8QVhDYWxlbmRhckRpc2FibGVkRGF0ZXM+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWENhbGVuZGFyRGlzYWJsZWREYXRlcz4oKTtcblxuICAgIHByaXZhdGUgX2Rpc2FibGVkRGF0ZXM6IEFYQ2FsZW5kYXJEaXNhYmxlZERhdGVzO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdldCBkaXNhYmxlZERhdGVzKCk6IEFYQ2FsZW5kYXJEaXNhYmxlZERhdGVzIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkRGF0ZXM7XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgZGlzYWJsZWREYXRlcyh2OiBBWENhbGVuZGFyRGlzYWJsZWREYXRlcykge1xuICAgICAgICB0aGlzLnNldE9wdGlvbih7IG5hbWU6ICdkaXNhYmxlZERhdGVzJywgdmFsdWU6IHYgfSk7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpXG4gICAgaG9saWRheURhdGVzQ2hhbmdlOiBFdmVudEVtaXR0ZXI8QVhDYWxlbmRhckhvbGlkYXlEYXRlcz4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYQ2FsZW5kYXJIb2xpZGF5RGF0ZXM+KCk7XG5cbiAgICBwcml2YXRlIF9ob2xpZGF5RGF0ZXM6IEFYQ2FsZW5kYXJIb2xpZGF5RGF0ZXM7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZ2V0IGhvbGlkYXlEYXRlcygpOiBBWENhbGVuZGFySG9saWRheURhdGVzIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hvbGlkYXlEYXRlcztcbiAgICB9XG4gICAgcHVibGljIHNldCBob2xpZGF5RGF0ZXModjogQVhDYWxlbmRhckhvbGlkYXlEYXRlcykge1xuICAgICAgICB0aGlzLnNldE9wdGlvbih7IG5hbWU6ICdob2xpZGF5RGF0ZXMnLCB2YWx1ZTogdiB9KTtcbiAgICB9XG59XG5cblxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhDYWxlbmRhckJhc2VDb21wb25lbnQgZXh0ZW5kcyBBWEJhc2VDb21wb25lbnQge1xuXG5cbiAgICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgICAgIHN1cGVyKGVsZW1lbnRSZWYsIGNkcik7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpXG4gICAgb25TbG90Q2xpY2s6IEV2ZW50RW1pdHRlcjxBWEl0ZW1DbGlja0V2ZW50PERhdGU+PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhJdGVtQ2xpY2tFdmVudDxEYXRlPj4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIG9uTmF2aWdhdGU6IEV2ZW50RW1pdHRlcjxBWENhbGVuZGFyTmF2aWdhdGVFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYQ2FsZW5kYXJOYXZpZ2F0ZUV2ZW50PigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgYWN0aXZlVmlld0NoYW5nZTogRXZlbnRFbWl0dGVyPEFYQ2FsZW5kYXJWaWV3VHlwZT4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYQ2FsZW5kYXJWaWV3VHlwZT4oKTtcblxuICAgIHByaXZhdGUgX2FjdGl2ZVZpZXc6IEFYQ2FsZW5kYXJWaWV3VHlwZSA9ICdkYXlzJztcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgYWN0aXZlVmlldygpOiBBWENhbGVuZGFyVmlld1R5cGUge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWN0aXZlVmlldztcbiAgICB9XG4gICAgcHVibGljIHNldCBhY3RpdmVWaWV3KHY6IEFYQ2FsZW5kYXJWaWV3VHlwZSkge1xuICAgICAgICB0aGlzLl9zZXRPcHRpb24oeyBuYW1lOiAnYWN0aXZlVmlldycsIHZhbHVlOiB2IH0pO1xuICAgIH1cblxuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHR5cGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICBwcml2YXRlIF90eXBlOiBzdHJpbmcgPSBBWENvbmZpZy5nZXQoYGRhdGVUaW1lLmNhbGVuZGFyYCk7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgdHlwZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fdHlwZSB8fCBBWENvbmZpZy5nZXQoYGRhdGVUaW1lLmNhbGVuZGFyYCk7XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgdHlwZSh2OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKHtcbiAgICAgICAgICAgIG5hbWU6ICd0eXBlJyxcbiAgICAgICAgICAgIHZhbHVlOiB2XG4gICAgICAgIH0pXG4gICAgfVxuXG5cbiAgICBAT3V0cHV0KClcbiAgICBkZXB0aENoYW5nZTogRXZlbnRFbWl0dGVyPEFYQ2FsZW5kYXJWaWV3RGVwdGg+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWENhbGVuZGFyVmlld0RlcHRoPigpO1xuXG4gICAgcHJpdmF0ZSBfZGVwdGg6IEFYQ2FsZW5kYXJWaWV3RGVwdGggPSAnZGF5cyc7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZ2V0IGRlcHRoKCk6IEFYQ2FsZW5kYXJWaWV3RGVwdGgge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGVwdGg7XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgZGVwdGgodjogQVhDYWxlbmRhclZpZXdEZXB0aCkge1xuICAgICAgICB0aGlzLl9zZXRPcHRpb24oe1xuICAgICAgICAgICAgbmFtZTogJ2RlcHRoJyxcbiAgICAgICAgICAgIHZhbHVlOiB2LFxuICAgICAgICAgICAgYmVmb3JlQ2FsbGJhY2s6ICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9hY3RpdmVWaWV3ID0gdjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpXG4gICAgbWluQ2hhbmdlOiBFdmVudEVtaXR0ZXI8RGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XG5cbiAgICBwcml2YXRlIF9taW46IERhdGU7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZ2V0IG1pbigpOiBEYXRlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21pbjtcbiAgICB9XG4gICAgcHVibGljIHNldCBtaW4odjogRGF0ZSkge1xuICAgICAgICB0aGlzLl9zZXRPcHRpb24oeyBuYW1lOiAnbWluJywgdmFsdWU6IHYgfSk7XG4gICAgfVxuXG5cbiAgICBAT3V0cHV0KClcbiAgICBtYXhDaGFuZ2U6IEV2ZW50RW1pdHRlcjxEYXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcblxuICAgIHByaXZhdGUgX21heDogRGF0ZTtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgbWF4KCk6IERhdGUge1xuICAgICAgICByZXR1cm4gdGhpcy5fbWF4O1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IG1heCh2OiBEYXRlKSB7XG4gICAgICAgIHRoaXMuX3NldE9wdGlvbih7IG5hbWU6ICdtYXgnLCB2YWx1ZTogdiB9KTtcbiAgICB9XG5cbiAgICBAT3V0cHV0KClcbiAgICBkaXNhYmxlZERhdGVzQ2hhbmdlOiBFdmVudEVtaXR0ZXI8QVhDYWxlbmRhckRpc2FibGVkRGF0ZXM+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWENhbGVuZGFyRGlzYWJsZWREYXRlcz4oKTtcblxuICAgIHByaXZhdGUgX2Rpc2FibGVkRGF0ZXM6IEFYQ2FsZW5kYXJEaXNhYmxlZERhdGVzO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdldCBkaXNhYmxlZERhdGVzKCk6IEFYQ2FsZW5kYXJEaXNhYmxlZERhdGVzIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkRGF0ZXM7XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgZGlzYWJsZWREYXRlcyh2OiBBWENhbGVuZGFyRGlzYWJsZWREYXRlcykge1xuICAgICAgICB0aGlzLl9zZXRPcHRpb24oeyBuYW1lOiAnZGlzYWJsZWREYXRlcycsIHZhbHVlOiB2IH0pO1xuICAgIH1cblxuICAgIEBPdXRwdXQoKVxuICAgIGhvbGlkYXlEYXRlc0NoYW5nZTogRXZlbnRFbWl0dGVyPEFYQ2FsZW5kYXJIb2xpZGF5RGF0ZXM+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWENhbGVuZGFySG9saWRheURhdGVzPigpO1xuXG4gICAgcHJpdmF0ZSBfaG9saWRheURhdGVzOiBBWENhbGVuZGFySG9saWRheURhdGVzO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdldCBob2xpZGF5RGF0ZXMoKTogQVhDYWxlbmRhckhvbGlkYXlEYXRlcyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ob2xpZGF5RGF0ZXM7XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgaG9saWRheURhdGVzKHY6IEFYQ2FsZW5kYXJIb2xpZGF5RGF0ZXMpIHtcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKHsgbmFtZTogJ2hvbGlkYXlEYXRlcycsIHZhbHVlOiB2IH0pO1xuICAgIH1cbn1cblxuXG5cbmV4cG9ydCBjb25zdCBDQUxFTkRBUl9JTlBVVFMgPSBbXG4gICAgJ2RlcHRoJyxcbiAgICAnYWN0aXZlVmlldycsXG4gICAgJ21pbicsXG4gICAgJ21heCcsXG4gICAgJ2Rpc2FibGVkRGF0ZXMnLFxuICAgICd0eXBlJyxcbiAgICAnaG9saWRheURhdGVzJyxcbl07XG5leHBvcnQgY29uc3QgQ0FMRU5EQVJfT1VUUFVUUyA9IFsnZGVwdGhDaGFuZ2UnLCAndHlwZUNoYW5nZScsICdkaXNhYmxlZERhdGVzQ2hhbmdlJywgJ2hvbGlkYXlEYXRlc0NoYW5nZScsICdvbk5hdmlnYXRlJ107XG4iXX0=
|
231
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9jYWxlbmRhci9zcmMvY2FsZW5kYXIuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDckYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ25HLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBVW5DOzs7RUFHRTtBQUNGLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxtQkFBeUI7Q0FFckU7QUFFRDs7O0VBR0U7QUFDRixNQUFNLE9BQU8sbUJBQW9CLFNBQVEsZ0JBQXNCO0NBRTlEO0FBZUQsZ0NBQWdDO0FBQ2hDLHVDQUF1QztBQUN2QyxpREFBaUQ7QUFFakQscUNBQXFDO0FBQ3JDLDZCQUE2QjtBQUM3QixRQUFRO0FBRVIsMENBQTBDO0FBQzFDLDhCQUE4QjtBQUM5QixRQUFRO0FBRVIsbUJBQW1CO0FBQ25CLGtEQUFrRDtBQUNsRCxvREFBb0Q7QUFDcEQsVUFBVTtBQUNWLDBDQUEwQztBQUMxQyxtQ0FBbUM7QUFDbkMsc0NBQXNDO0FBQ3RDLCtCQUErQjtBQUMvQiwyQkFBMkI7QUFDM0Isd0RBQXdEO0FBQ3hELDBDQUEwQztBQUMxQyxxQ0FBcUM7QUFDckMscURBQXFEO0FBQ3JELHdDQUF3QztBQUN4QyxxQ0FBcUM7QUFDckMsb0NBQW9DO0FBQ3BDLG1DQUFtQztBQUNuQyxvRUFBb0U7QUFDcEUsMEJBQTBCO0FBQzFCLHdDQUF3QztBQUN4QyxxQ0FBcUM7QUFDckMscUNBQXFDO0FBQ3JDLG9DQUFv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O3VHQS9JUSx1QkFBdUI7MkdBQXZCLHVCQUF1Qjs7U0FBdkIsdUJBQXVCOzJGQUF2Qix1QkFBdUI7a0JBRG5DLFVBQVU7OEJBSVAsU0FBUztzQkFEUixLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUs7Z0JBSU4sY0FBYztzQkFEYixLQUFLO2dCQUlOLEtBQUs7c0JBREosS0FBSztnQkFLTixXQUFXO3NCQURWLE1BQU07Z0JBSVAsVUFBVTtzQkFEVCxNQUFNO2dCQUlQLGdCQUFnQjtzQkFEZixNQUFNO2dCQUtJLFVBQVU7c0JBRHBCLEtBQUs7Z0JBZ0JDLFVBQVU7c0JBRGhCLE1BQU07Z0JBTUksSUFBSTtzQkFEZCxLQUFLO2dCQWdCTixXQUFXO3NCQURWLE1BQU07Z0JBS0ksS0FBSztzQkFEZixLQUFLO2dCQWtCTixTQUFTO3NCQURSLE1BQU07Z0JBS0ksR0FBRztzQkFEYixLQUFLO2dCQWdCTixTQUFTO3NCQURSLE1BQU07Z0JBS0ksR0FBRztzQkFEYixLQUFLO2dCQWVOLG1CQUFtQjtzQkFEbEIsTUFBTTtnQkFLSSxhQUFhO3NCQUR2QixLQUFLO2dCQVNOLGtCQUFrQjtzQkFEakIsTUFBTTtnQkFLSSxZQUFZO3NCQUR0QixLQUFLOztBQWFWLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRztJQUMzQixPQUFPO0lBQ1AsWUFBWTtJQUNaLEtBQUs7SUFDTCxLQUFLO0lBQ0wsZUFBZTtJQUNmLE1BQU07SUFDTixjQUFjO0NBQ2pCLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLGFBQWEsRUFBRSxZQUFZLEVBQUUscUJBQXFCLEVBQUUsb0JBQW9CLEVBQUUsWUFBWSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWENvbmZpZyB9IGZyb20gXCJAYWNvcmV4L2NvcmUvY29uZmlnXCI7XG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdGFibGUsIElucHV0LCBPdXRwdXQsIFRlbXBsYXRlUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFYSXRlbUNsaWNrRXZlbnQsIEFYUmFuZ2VDaGFuZ2VkRXZlbnQsIE1YQmFzZUNvbXBvbmVudCB9IGZyb20gXCJAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uXCI7XG5pbXBvcnQgeyBjbGFzc2VzIH0gZnJvbSBcInBvbHl0eXBlXCI7XG5pbXBvcnQgeyBBWERhdGVUaW1lLCBBWERhdGVUaW1lUmFuZ2UgfSBmcm9tIFwiQGFjb3JleC9jb3JlL2RhdGVUaW1lXCI7XG5cbmV4cG9ydCB0eXBlIEFYQ2FsZW5kYXJWaWV3VHlwZSA9ICd5ZWFyJyB8ICdtb250aCcgfCAnZGF5JztcbmV4cG9ydCB0eXBlIEFYQ2FsZW5kYXJWaWV3RGVwdGggPSBBWENhbGVuZGFyVmlld1R5cGU7XG5leHBvcnQgdHlwZSBBWENhbGVuZGFyRGlzYWJsZWREYXRlcyA9IERhdGVbXSB8ICgoZGF0ZTogRGF0ZSkgPT4gYm9vbGVhbik7XG5leHBvcnQgdHlwZSBBWENhbGVuZGFySG9saWRheURhdGVzID0gRGF0ZVtdIHwgKChkYXRlOiBEYXRlKSA9PiBib29sZWFuKTtcbmV4cG9ydCB0eXBlIEFYQ2FsZW5kYXJDZWxsQ3NzQ2xhc3MgPSBzdHJpbmcgfCB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfSB8ICgoZGF0ZTogRGF0ZSkgPT4gc3RyaW5nKTtcblxuXG4vKipcbiogIENvbnRhaW5zIG5hdGl2ZSBldmVudFxuKiBAY2F0ZWdvcnkgRXZlbnRzXG4qL1xuZXhwb3J0IGNsYXNzIEFYQ2FsZW5kYXJOYXZpZ2F0ZUV2ZW50IGV4dGVuZHMgQVhSYW5nZUNoYW5nZWRFdmVudDxEYXRlPiB7XG5cbn1cblxuLyoqXG4qICBDb250YWlucyBuYXRpdmUgZXZlbnRcbiogQGNhdGVnb3J5IEV2ZW50c1xuKi9cbmV4cG9ydCBjbGFzcyBBWENhbGVuZGFyU2xvdENsaWNrIGV4dGVuZHMgQVhJdGVtQ2xpY2tFdmVudDxEYXRlPiB7XG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWENhbGVuZGFyVmlld1Nsb3Qge1xuICAgIGRhdGU6IERhdGU7XG4gICAgdGV4dDogc3RyaW5nO1xuICAgIHRvb2x0aXA6IHN0cmluZztcbiAgICB0b2RheTogYm9vbGVhbjtcbiAgICBzZWxlY3RlZDogYm9vbGVhbjtcbiAgICBkaXNhYmxlZDogYm9vbGVhbjtcbiAgICBjc3NDbGFzczogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH07XG59XG5leHBvcnQgaW50ZXJmYWNlIEFYQ2FsZW5kYXJWaWV3IHtcbiAgICByYW5nZTogQVhEYXRlVGltZVJhbmdlO1xuICAgIHNsb3RzOiBBWENhbGVuZGFyVmlld1Nsb3RbXTtcbn1cbi8vIGV4cG9ydCBjbGFzcyBBWENhbGVuZGFyVmlldyB7XG4vLyAgICAgcHJpdmF0ZSBfcmFuZ2U6IEFYRGF0ZVRpbWVSYW5nZTtcbi8vICAgICBwcml2YXRlIF9zbG90czogQVhDYWxlbmRhclZpZXdTbG90W10gPSBbXTtcblxuLy8gICAgIGdldCByYW5nZSgpOiBBWERhdGVUaW1lUmFuZ2Uge1xuLy8gICAgICAgICByZXR1cm4gdGhpcy5yYW5nZTtcbi8vICAgICB9XG5cbi8vICAgICBnZXQgc2xvdHMoKTogQVhDYWxlbmRhclZpZXdTbG90W10ge1xuLy8gICAgICAgICByZXR1cm4gdGhpcy5fc2xvdHM7XG4vLyAgICAgfVxuXG4vLyAgICAgY29uc3RydWN0b3IoXG4vLyAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgc3RhcnREYXRlOiBBWERhdGVUaW1lLFxuLy8gICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHZpZXc6IEFYQ2FsZW5kYXJWaWV3VHlwZVxuLy8gICAgICkge1xuLy8gICAgICAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5zdGFydERhdGU7XG4vLyAgICAgICAgIGxldCB0ZXh0Rm9ybWF0ID0gJ1lZWVknO1xuLy8gICAgICAgICBsZXQgdG9vbHRpcEZvcm1hdCA9ICdZWVlZJztcbi8vICAgICAgICAgc3dpdGNoICh0aGlzLnZpZXcpIHtcbi8vICAgICAgICAgICAgIGNhc2UgJ3llYXInOlxuLy8gICAgICAgICAgICAgICAgIGxldCB5ID0gY3VycmVudC5zdGFydE9mKCd5ZWFyJykueWVhcjtcbi8vICAgICAgICAgICAgICAgICBsZXQgbWluID0geSAtICh5ICUgMTApO1xuLy8gICAgICAgICAgICAgICAgIGxldCBtYXggPSBtaW4gKyA5O1xuLy8gICAgICAgICAgICAgICAgIHRoaXMuX3JhbmdlID0gbmV3IEFYRGF0ZVRpbWVSYW5nZShcbi8vICAgICAgICAgICAgICAgICAgICAgQVhEYXRlVGltZS5mcm9tKHtcbi8vICAgICAgICAgICAgICAgICAgICAgICAgIHllYXI6IG1pbixcbi8vICAgICAgICAgICAgICAgICAgICAgICAgIG1vbnRoOiAxLFxuLy8gICAgICAgICAgICAgICAgICAgICAgICAgZGF0ZTogMSxcbi8vICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGVuZGFyOiB0aGlzLnN0YXJ0RGF0ZS5jYWxlbmRhci5uYW1lKCksXG4vLyAgICAgICAgICAgICAgICAgICAgIH0pLFxuLy8gICAgICAgICAgICAgICAgICAgICBBWERhdGVUaW1lLmZyb20oe1xuLy8gICAgICAgICAgICAgICAgICAgICAgICAgeWVhcjogbWF4LFxuLy8gICAgICAgICAgICAgICAgICAgICAgICAgbW9udGg6IDEyLFxuLy8gICAgICAgICAgICAgICAgICAgICAgICAgZGF0ZTogMjgsXG4vLyAgICAgICAgICAgICAgICAgICAgICAgICBjYWxlbmRhcjogdGhpcy5zdGFydERhdGUuY2FsZW5kYXIubmFtZSgpLFxuLy8gICAgICAgICAgICAgICAgICAgICB9KVxuLy8gICAgICAgICAgICAgICAgICk7XG4vLyAgICAgICAgICAgICAgICAgYnJlYWs7XG4vLyAgICAgICAgICAgICBjYXNlICdtb250aCc6XG4vLyAgICAgICAgICAgICAgICAgdGV4dEZvcm1hdCA9ICdNTU0nO1xuLy8gICAgICAgICAgICAgICAgIHRvb2x0aXBGb3JtYXQgPSAnTU1NTSBZWVlZJztcbi8vICAgICAgICAgICAgICAgICB0aGlzLl9yYW5nZSA9IG5ldyBBWERhdGVUaW1lUmFuZ2UoXG4vLyAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQuc3RhcnRPZigneWVhcicpLFxuLy8gICAgICAgICAgICAgICAgICAgICBjdXJyZW50LmVuZE9mKCd5ZWFyJykuYWRkKCdkYXknLCAtMSlcbi8vICAgICAgICAgICAgICAgICApO1xuLy8gICAgICAgICAgICAgICAgIGJyZWFrO1xuLy8gICAgICAgICAgICAgZGVmYXVsdDpcbi8vICAgICAgICAgICAgICAgICB0aGlzLl9yYW5nZSA9IG5ldyBBWERhdGVUaW1lUmFuZ2UoXG4vLyAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQuc3RhcnRPZignbW9udGgnKSxcbi8vICAgICAgICAgICAgICAgICAgICAgY3VycmVudC5lbmRPZignbW9udGgnKVxuLy8gICAgICAgICAgICAgICAgICk7XG4vLyAgICAgICAgIH1cbi8vICAgICAgICAgLy9cbi8vICAgICAgICAgdGhpcy5fc2xvdHMgPSB0aGlzLnJhbmdlLmVudW11cmF0ZSh2aWV3KS5tYXAociA9PiAoe1xuLy8gICAgICAgICAgICAgZGF0ZTogci5kYXRlLFxuLy8gICAgICAgICAgICAgdG9vbHRpcDogci5mb3JtYXQoKVxuXG4vLyAgICAgICAgIH0pKTtcbi8vICAgICB9XG4vLyB9XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNWENhbGVuZGFyQmFzZUNvbXBvbmVudCBleHRlbmRzIGNsYXNzZXMoTVhCYXNlQ29tcG9uZW50KSB7XG5cbiAgICBASW5wdXQoKVxuICAgIGludGVyZmFjZTogJ2NhbGVuZGFyJyB8ICdwaWNrZXInID0gJ2NhbGVuZGFyJztcblxuICAgIEBJbnB1dCgpXG4gICAgY2VsbFRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIEBJbnB1dCgpXG4gICAgY2VsbENsYXNzPzogQVhDYWxlbmRhckNlbGxDc3NDbGFzcztcblxuICAgIEBJbnB1dCgpXG4gICAgc2hvd05hdmlnYXRpb246IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBjb3VudDogbnVtYmVyID0gMTtcblxuXG4gICAgQE91dHB1dCgpXG4gICAgb25TbG90Q2xpY2s6IEV2ZW50RW1pdHRlcjxBWENhbGVuZGFyU2xvdENsaWNrPiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhDYWxlbmRhclNsb3RDbGljaz4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIG9uTmF2aWdhdGU6IEV2ZW50RW1pdHRlcjxBWENhbGVuZGFyTmF2aWdhdGVFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYQ2FsZW5kYXJOYXZpZ2F0ZUV2ZW50PigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgYWN0aXZlVmlld0NoYW5nZTogRXZlbnRFbWl0dGVyPEFYQ2FsZW5kYXJWaWV3VHlwZT4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYQ2FsZW5kYXJWaWV3VHlwZT4oKTtcblxuICAgIHByaXZhdGUgX2FjdGl2ZVZpZXc6IEFYQ2FsZW5kYXJWaWV3VHlwZSA9ICdkYXknO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdldCBhY3RpdmVWaWV3KCk6IEFYQ2FsZW5kYXJWaWV3VHlwZSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hY3RpdmVWaWV3O1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IGFjdGl2ZVZpZXcodjogQVhDYWxlbmRhclZpZXdUeXBlKSB7XG4gICAgICAgIHRoaXMuc2V0T3B0aW9uKHtcbiAgICAgICAgICAgIG5hbWU6ICdhY3RpdmVWaWV3JyxcbiAgICAgICAgICAgIHZhbHVlOiB2LFxuICAgICAgICAgICAgYWZ0ZXJDYWxsYmFjazogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyB0eXBlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gICAgcHJpdmF0ZSBfdHlwZTogc3RyaW5nID0gQVhDb25maWcuZ2V0KGBkYXRlVGltZS5jYWxlbmRhcmApO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZ2V0IHR5cGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3R5cGUgfHwgQVhDb25maWcuZ2V0KGBkYXRlVGltZS5jYWxlbmRhcmApO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IHR5cGUodjogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc2V0T3B0aW9uKHtcbiAgICAgICAgICAgIG5hbWU6ICd0eXBlJyxcbiAgICAgICAgICAgIHZhbHVlOiB2LFxuICAgICAgICAgICAgYWZ0ZXJDYWxsYmFjazogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cblxuICAgIEBPdXRwdXQoKVxuICAgIGRlcHRoQ2hhbmdlOiBFdmVudEVtaXR0ZXI8QVhDYWxlbmRhclZpZXdEZXB0aD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYQ2FsZW5kYXJWaWV3RGVwdGg+KCk7XG5cbiAgICBwcml2YXRlIF9kZXB0aDogQVhDYWxlbmRhclZpZXdEZXB0aCA9ICdkYXknO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdldCBkZXB0aCgpOiBBWENhbGVuZGFyVmlld0RlcHRoIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RlcHRoO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IGRlcHRoKHY6IEFYQ2FsZW5kYXJWaWV3RGVwdGgpIHtcbiAgICAgICAgdGhpcy5zZXRPcHRpb24oe1xuICAgICAgICAgICAgbmFtZTogJ2RlcHRoJyxcbiAgICAgICAgICAgIHZhbHVlOiB2LFxuICAgICAgICAgICAgYmVmb3JlQ2FsbGJhY2s6ICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZVZpZXcgPSB2O1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGFmdGVyQ2FsbGJhY2s6ICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpXG4gICAgbWluQ2hhbmdlOiBFdmVudEVtaXR0ZXI8RGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XG5cbiAgICBwcml2YXRlIF9taW46IERhdGU7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZ2V0IG1pbigpOiBEYXRlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21pbjtcbiAgICB9XG4gICAgcHVibGljIHNldCBtaW4odjogRGF0ZSkge1xuICAgICAgICB0aGlzLnNldE9wdGlvbih7XG4gICAgICAgICAgICBuYW1lOiAnbWluJyxcbiAgICAgICAgICAgIHZhbHVlOiB2LFxuICAgICAgICAgICAgYWZ0ZXJDYWxsYmFjazogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cblxuICAgIEBPdXRwdXQoKVxuICAgIG1heENoYW5nZTogRXZlbnRFbWl0dGVyPERhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xuXG4gICAgcHJpdmF0ZSBfbWF4OiBEYXRlO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdldCBtYXgoKTogRGF0ZSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9tYXg7XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgbWF4KHY6IERhdGUpIHtcbiAgICAgICAgdGhpcy5zZXRPcHRpb24oe1xuICAgICAgICAgICAgbmFtZTogJ21heCcsXG4gICAgICAgICAgICB2YWx1ZTogdixcbiAgICAgICAgICAgIGFmdGVyQ2FsbGJhY2s6ICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpXG4gICAgZGlzYWJsZWREYXRlc0NoYW5nZTogRXZlbnRFbWl0dGVyPEFYQ2FsZW5kYXJEaXNhYmxlZERhdGVzPiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhDYWxlbmRhckRpc2FibGVkRGF0ZXM+KCk7XG5cbiAgICBwcml2YXRlIF9kaXNhYmxlZERhdGVzOiBBWENhbGVuZGFyRGlzYWJsZWREYXRlcztcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgZGlzYWJsZWREYXRlcygpOiBBWENhbGVuZGFyRGlzYWJsZWREYXRlcyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZERhdGVzO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IGRpc2FibGVkRGF0ZXModjogQVhDYWxlbmRhckRpc2FibGVkRGF0ZXMpIHtcbiAgICAgICAgdGhpcy5zZXRPcHRpb24oeyBuYW1lOiAnZGlzYWJsZWREYXRlcycsIHZhbHVlOiB2IH0pO1xuICAgIH1cblxuICAgIEBPdXRwdXQoKVxuICAgIGhvbGlkYXlEYXRlc0NoYW5nZTogRXZlbnRFbWl0dGVyPEFYQ2FsZW5kYXJIb2xpZGF5RGF0ZXM+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWENhbGVuZGFySG9saWRheURhdGVzPigpO1xuXG4gICAgcHJpdmF0ZSBfaG9saWRheURhdGVzOiBBWENhbGVuZGFySG9saWRheURhdGVzO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdldCBob2xpZGF5RGF0ZXMoKTogQVhDYWxlbmRhckhvbGlkYXlEYXRlcyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ob2xpZGF5RGF0ZXM7XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgaG9saWRheURhdGVzKHY6IEFYQ2FsZW5kYXJIb2xpZGF5RGF0ZXMpIHtcbiAgICAgICAgdGhpcy5zZXRPcHRpb24oeyBuYW1lOiAnaG9saWRheURhdGVzJywgdmFsdWU6IHYgfSk7XG4gICAgfVxufVxuXG5cblxuXG5cbmV4cG9ydCBjb25zdCBDQUxFTkRBUl9JTlBVVFMgPSBbXG4gICAgJ2RlcHRoJyxcbiAgICAnYWN0aXZlVmlldycsXG4gICAgJ21pbicsXG4gICAgJ21heCcsXG4gICAgJ2Rpc2FibGVkRGF0ZXMnLFxuICAgICd0eXBlJyxcbiAgICAnaG9saWRheURhdGVzJyxcbl07XG5leHBvcnQgY29uc3QgQ0FMRU5EQVJfT1VUUFVUUyA9IFsnZGVwdGhDaGFuZ2UnLCAndHlwZUNoYW5nZScsICdkaXNhYmxlZERhdGVzQ2hhbmdlJywgJ2hvbGlkYXlEYXRlc0NoYW5nZScsICdvbk5hdmlnYXRlJ107XG4iXX0=
|