verben-ng-ui 0.6.4 → 0.6.6
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/esm2022/lib/components/date-picker/date-picker.component.mjs +14 -6
- package/esm2022/lib/components/pop-up/pop-up.component.mjs +4 -2
- package/esm2022/lib/components/verbena-tab/tab-item.component.mjs +68 -0
- package/esm2022/lib/components/verbena-tab/verbena-tab.component.mjs +69 -0
- package/esm2022/lib/components/verbena-tab/verbena-tab.module.mjs +29 -0
- package/esm2022/lib/verbena-switch/verbena-switch.component.mjs +4 -4
- package/esm2022/public-api.mjs +4 -1
- package/fesm2022/verben-ng-ui.mjs +175 -10
- package/fesm2022/verben-ng-ui.mjs.map +1 -1
- package/lib/components/date-picker/date-picker.component.d.ts +4 -2
- package/lib/components/verbena-tab/tab-item.component.d.ts +20 -0
- package/lib/components/verbena-tab/verbena-tab.component.d.ts +18 -0
- package/lib/components/verbena-tab/verbena-tab.module.d.ts +9 -0
- package/package.json +1 -1
- package/public-api.d.ts +3 -0
|
@@ -10,6 +10,8 @@ export class DatePickerComponent {
|
|
|
10
10
|
format = 'MM/DD/YYYY';
|
|
11
11
|
minDate;
|
|
12
12
|
maxDate;
|
|
13
|
+
bgColor = '#fff';
|
|
14
|
+
border = '';
|
|
13
15
|
useDropdowns = true;
|
|
14
16
|
yearPlaceholder = 'Select a year';
|
|
15
17
|
monthPlaceholder = 'Select a month';
|
|
@@ -29,14 +31,16 @@ export class DatePickerComponent {
|
|
|
29
31
|
selectedYear = new Date().getFullYear();
|
|
30
32
|
ngOnChanges() {
|
|
31
33
|
if (this.date) {
|
|
32
|
-
this.
|
|
33
|
-
this.
|
|
34
|
+
const parsedDate = typeof this.date === 'string' ? new Date(this.date) : this.date;
|
|
35
|
+
this.selectedDate = new Date(parsedDate);
|
|
36
|
+
this.tempSelectedDate = new Date(parsedDate);
|
|
34
37
|
this.selectedMonth = this.selectedDate.getMonth();
|
|
35
38
|
this.selectedYear = this.selectedDate.getFullYear();
|
|
36
39
|
}
|
|
37
40
|
}
|
|
38
41
|
get displayDate() {
|
|
39
|
-
|
|
42
|
+
const parsedDate = typeof this.date === 'string' ? new Date(this.date) : this.date;
|
|
43
|
+
return parsedDate ? this.formatDate(parsedDate, this.format) : '';
|
|
40
44
|
}
|
|
41
45
|
toggleCalendar() {
|
|
42
46
|
this.showCalendar = !this.showCalendar;
|
|
@@ -112,11 +116,11 @@ export class DatePickerComponent {
|
|
|
112
116
|
this.showCalendar = false;
|
|
113
117
|
}
|
|
114
118
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: DatePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
115
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.10", type: DatePickerComponent, selector: "app-date-picker", inputs: { placeholder: "placeholder", format: "format", minDate: "minDate", maxDate: "maxDate", useDropdowns: "useDropdowns", yearPlaceholder: "yearPlaceholder", monthPlaceholder: "monthPlaceholder", date: "date" }, outputs: { dateChange: "dateChange" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"date-picker\">\n <input\n type=\"text\"\n [placeholder]=\"placeholder\"\n [value]=\"displayDate\"\n (click)=\"toggleCalendar()\"\n readonly\n />\n\n <div *ngIf=\"showCalendar\" [appOutSideClick]=\"showCalendar\" (outSideClick)=\"showCalendar=false\" class=\"calendar\">\n <div class=\"calendar-header\">\n <ng-container *ngIf=\"!useDropdowns; else dropdowns\">\n <button (click)=\"previousMonth()\">\n <verben-svg [width]=\"20\" [icon]=\"'chevron-left'\"></verben-svg>\n </button>\n <span>{{ months[selectedMonth] }} {{ selectedYear }}</span>\n <button (click)=\"nextMonth()\">\n <verben-svg [width]=\"20\" [icon]=\"'chevron-right'\"></verben-svg>\n </button>\n </ng-container>\n\n <ng-template #dropdowns>\n <verben-drop-down\n [placeholder]=\"yearPlaceholder\"\n (onChange)=\"onDropdownYearChange($event)\"\n [options]=\"yearRange\"\n [(ngModel)]=\"selectedYear\"\n ></verben-drop-down>\n\n <verben-drop-down\n [placeholder]=\"monthPlaceholder\"\n (onChange)=\"onDropdownMonthChange($event)\"\n [options]=\"months\"\n [(ngModel)]=\"selectedMonthString\"\n ></verben-drop-down>\n </ng-template>\n </div>\n\n <div class=\"calendar-body\">\n <div class=\"weekdays\">\n <span *ngFor=\"let day of weekDays\">{{ day }}</span>\n </div>\n <div class=\"dates\">\n <button\n *ngFor=\"let day of getDaysInMonth()\"\n [class.selected]=\"isSelected(day)\"\n (click)=\"selectTemporaryDate(day)\"\n >\n {{ day.getDate() }}\n </button>\n </div>\n </div>\n\n <div class=\"calendar-footer\">\n <button (click)=\"cancel()\">Cancel</button>\n <button (click)=\"confirm()\">OK</button>\n </div>\n </div>\n</div>\n", styles: [".date-picker{position:relative;width:250px}input{width:100%;padding:10px;border:1px solid #ccc;border-radius:4px;cursor:pointer}.calendar{position:absolute;top:100%;left:0;width:fit-content;border:1px solid #ccc;background-color:#fff;z-index:10;border-radius:4px}.calendar-header{display:flex;justify-content:space-between;gap:10px;padding:10px;background-color:#f0f0f0}.weekdays,.dates{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;gap:6px;padding:10px}button{border:none;background:none;cursor:pointer;padding:5px;width:40px;height:40px}button.selected{background-color:#ffe681;color:#000;border-radius:30px}.calendar-footer{display:flex;justify-content:end;gap:20px;padding:4px 10px;color:purple;font-weight:600}\n"], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.SvgComponent, selector: "verben-svg", inputs: ["icon", "width", "height", "fill", "stroke", "type", "size"] }, { kind: "component", type: i4.DropDownComponent, selector: "verben-drop-down", inputs: ["options", "width", "showHorizontalLine", "horizontalLineColor", "optionLabel", "optionSubLabel", "optionValue", "placeholder", "invalidMessage", "errorPosition", "loadMoreCaption", "display", "showClear", "lazyLoad", "selectKey", "styleClass", "group", "multiselect", "filter", "avoidDuplication", "filterBy", "debounceTime", "minChar", "disabled", "required", "load", "asyncLabel", "search"], outputs: ["optionsChange", "onChange", "onClick", "onClear"] }, { kind: "directive", type: i5.OutSideClickDirective, selector: "[appOutSideClick]", inputs: ["appOutSideClick"], outputs: ["outSideClick"] }] });
|
|
119
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.10", type: DatePickerComponent, selector: "app-date-picker", inputs: { placeholder: "placeholder", format: "format", minDate: "minDate", maxDate: "maxDate", bgColor: "bgColor", border: "border", useDropdowns: "useDropdowns", yearPlaceholder: "yearPlaceholder", monthPlaceholder: "monthPlaceholder", date: "date" }, outputs: { dateChange: "dateChange" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"date-picker\">\n <input\n type=\"text\"\n [placeholder]=\"placeholder\"\n [value]=\"displayDate\"\n (click)=\"toggleCalendar()\"\n class=\"w-full block\"\n [style.background-color]=\"bgColor\"\n [style.border]=\"border\"\n readonly\n />\n\n <div *ngIf=\"showCalendar\" [appOutSideClick]=\"showCalendar\" (outSideClick)=\"showCalendar=false\" class=\"calendar\">\n <div class=\"calendar-header\">\n <ng-container *ngIf=\"!useDropdowns; else dropdowns\">\n <button (click)=\"previousMonth()\">\n <verben-svg [width]=\"20\" [icon]=\"'chevron-left'\"></verben-svg>\n </button>\n <span>{{ months[selectedMonth] }} {{ selectedYear }}</span>\n <button (click)=\"nextMonth()\">\n <verben-svg [width]=\"20\" [icon]=\"'chevron-right'\"></verben-svg>\n </button>\n </ng-container>\n\n <ng-template #dropdowns>\n <verben-drop-down\n [placeholder]=\"yearPlaceholder\"\n (onChange)=\"onDropdownYearChange($event)\"\n [options]=\"yearRange\"\n [(ngModel)]=\"selectedYear\"\n ></verben-drop-down>\n\n <verben-drop-down\n [placeholder]=\"monthPlaceholder\"\n (onChange)=\"onDropdownMonthChange($event)\"\n [options]=\"months\"\n [(ngModel)]=\"selectedMonthString\"\n ></verben-drop-down>\n </ng-template>\n </div>\n\n <div class=\"calendar-body\">\n <div class=\"weekdays\">\n <span *ngFor=\"let day of weekDays\">{{ day }}</span>\n </div>\n <div class=\"dates\">\n <button\n *ngFor=\"let day of getDaysInMonth()\"\n [class.selected]=\"isSelected(day)\"\n (click)=\"selectTemporaryDate(day)\"\n >\n {{ day.getDate() }}\n </button>\n </div>\n </div>\n\n <div class=\"calendar-footer\">\n <button (click)=\"cancel()\">Cancel</button>\n <button (click)=\"confirm()\">OK</button>\n </div>\n </div>\n</div>\n", styles: [".date-picker{position:relative;width:250px}input{width:100%;padding:10px;border:1px solid #ccc;border-radius:4px;cursor:pointer}.calendar{position:absolute;top:100%;left:0;width:fit-content;border:1px solid #ccc;background-color:#fff;z-index:10;border-radius:4px}.calendar-header{display:flex;justify-content:space-between;gap:10px;padding:10px;background-color:#f0f0f0}.weekdays,.dates{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;gap:6px;padding:10px}button{border:none;background:none;cursor:pointer;padding:5px;width:40px;height:40px}button.selected{background-color:#ffe681;color:#000;border-radius:30px}.calendar-footer{display:flex;justify-content:end;gap:20px;padding:4px 10px;color:purple;font-weight:600}\n"], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.SvgComponent, selector: "verben-svg", inputs: ["icon", "width", "height", "fill", "stroke", "type", "size"] }, { kind: "component", type: i4.DropDownComponent, selector: "verben-drop-down", inputs: ["options", "width", "showHorizontalLine", "horizontalLineColor", "optionLabel", "optionSubLabel", "optionValue", "placeholder", "invalidMessage", "errorPosition", "loadMoreCaption", "display", "showClear", "lazyLoad", "selectKey", "styleClass", "group", "multiselect", "filter", "avoidDuplication", "filterBy", "debounceTime", "minChar", "disabled", "required", "load", "asyncLabel", "search"], outputs: ["optionsChange", "onChange", "onClick", "onClear"] }, { kind: "directive", type: i5.OutSideClickDirective, selector: "[appOutSideClick]", inputs: ["appOutSideClick"], outputs: ["outSideClick"] }] });
|
|
116
120
|
}
|
|
117
121
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: DatePickerComponent, decorators: [{
|
|
118
122
|
type: Component,
|
|
119
|
-
args: [{ selector: 'app-date-picker', template: "<div class=\"date-picker\">\n <input\n type=\"text\"\n [placeholder]=\"placeholder\"\n [value]=\"displayDate\"\n (click)=\"toggleCalendar()\"\n readonly\n />\n\n <div *ngIf=\"showCalendar\" [appOutSideClick]=\"showCalendar\" (outSideClick)=\"showCalendar=false\" class=\"calendar\">\n <div class=\"calendar-header\">\n <ng-container *ngIf=\"!useDropdowns; else dropdowns\">\n <button (click)=\"previousMonth()\">\n <verben-svg [width]=\"20\" [icon]=\"'chevron-left'\"></verben-svg>\n </button>\n <span>{{ months[selectedMonth] }} {{ selectedYear }}</span>\n <button (click)=\"nextMonth()\">\n <verben-svg [width]=\"20\" [icon]=\"'chevron-right'\"></verben-svg>\n </button>\n </ng-container>\n\n <ng-template #dropdowns>\n <verben-drop-down\n [placeholder]=\"yearPlaceholder\"\n (onChange)=\"onDropdownYearChange($event)\"\n [options]=\"yearRange\"\n [(ngModel)]=\"selectedYear\"\n ></verben-drop-down>\n\n <verben-drop-down\n [placeholder]=\"monthPlaceholder\"\n (onChange)=\"onDropdownMonthChange($event)\"\n [options]=\"months\"\n [(ngModel)]=\"selectedMonthString\"\n ></verben-drop-down>\n </ng-template>\n </div>\n\n <div class=\"calendar-body\">\n <div class=\"weekdays\">\n <span *ngFor=\"let day of weekDays\">{{ day }}</span>\n </div>\n <div class=\"dates\">\n <button\n *ngFor=\"let day of getDaysInMonth()\"\n [class.selected]=\"isSelected(day)\"\n (click)=\"selectTemporaryDate(day)\"\n >\n {{ day.getDate() }}\n </button>\n </div>\n </div>\n\n <div class=\"calendar-footer\">\n <button (click)=\"cancel()\">Cancel</button>\n <button (click)=\"confirm()\">OK</button>\n </div>\n </div>\n</div>\n", styles: [".date-picker{position:relative;width:250px}input{width:100%;padding:10px;border:1px solid #ccc;border-radius:4px;cursor:pointer}.calendar{position:absolute;top:100%;left:0;width:fit-content;border:1px solid #ccc;background-color:#fff;z-index:10;border-radius:4px}.calendar-header{display:flex;justify-content:space-between;gap:10px;padding:10px;background-color:#f0f0f0}.weekdays,.dates{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;gap:6px;padding:10px}button{border:none;background:none;cursor:pointer;padding:5px;width:40px;height:40px}button.selected{background-color:#ffe681;color:#000;border-radius:30px}.calendar-footer{display:flex;justify-content:end;gap:20px;padding:4px 10px;color:purple;font-weight:600}\n"] }]
|
|
123
|
+
args: [{ selector: 'app-date-picker', template: "<div class=\"date-picker\">\n <input\n type=\"text\"\n [placeholder]=\"placeholder\"\n [value]=\"displayDate\"\n (click)=\"toggleCalendar()\"\n class=\"w-full block\"\n [style.background-color]=\"bgColor\"\n [style.border]=\"border\"\n readonly\n />\n\n <div *ngIf=\"showCalendar\" [appOutSideClick]=\"showCalendar\" (outSideClick)=\"showCalendar=false\" class=\"calendar\">\n <div class=\"calendar-header\">\n <ng-container *ngIf=\"!useDropdowns; else dropdowns\">\n <button (click)=\"previousMonth()\">\n <verben-svg [width]=\"20\" [icon]=\"'chevron-left'\"></verben-svg>\n </button>\n <span>{{ months[selectedMonth] }} {{ selectedYear }}</span>\n <button (click)=\"nextMonth()\">\n <verben-svg [width]=\"20\" [icon]=\"'chevron-right'\"></verben-svg>\n </button>\n </ng-container>\n\n <ng-template #dropdowns>\n <verben-drop-down\n [placeholder]=\"yearPlaceholder\"\n (onChange)=\"onDropdownYearChange($event)\"\n [options]=\"yearRange\"\n [(ngModel)]=\"selectedYear\"\n ></verben-drop-down>\n\n <verben-drop-down\n [placeholder]=\"monthPlaceholder\"\n (onChange)=\"onDropdownMonthChange($event)\"\n [options]=\"months\"\n [(ngModel)]=\"selectedMonthString\"\n ></verben-drop-down>\n </ng-template>\n </div>\n\n <div class=\"calendar-body\">\n <div class=\"weekdays\">\n <span *ngFor=\"let day of weekDays\">{{ day }}</span>\n </div>\n <div class=\"dates\">\n <button\n *ngFor=\"let day of getDaysInMonth()\"\n [class.selected]=\"isSelected(day)\"\n (click)=\"selectTemporaryDate(day)\"\n >\n {{ day.getDate() }}\n </button>\n </div>\n </div>\n\n <div class=\"calendar-footer\">\n <button (click)=\"cancel()\">Cancel</button>\n <button (click)=\"confirm()\">OK</button>\n </div>\n </div>\n</div>\n", styles: [".date-picker{position:relative;width:250px}input{width:100%;padding:10px;border:1px solid #ccc;border-radius:4px;cursor:pointer}.calendar{position:absolute;top:100%;left:0;width:fit-content;border:1px solid #ccc;background-color:#fff;z-index:10;border-radius:4px}.calendar-header{display:flex;justify-content:space-between;gap:10px;padding:10px;background-color:#f0f0f0}.weekdays,.dates{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;gap:6px;padding:10px}button{border:none;background:none;cursor:pointer;padding:5px;width:40px;height:40px}button.selected{background-color:#ffe681;color:#000;border-radius:30px}.calendar-footer{display:flex;justify-content:end;gap:20px;padding:4px 10px;color:purple;font-weight:600}\n"] }]
|
|
120
124
|
}], propDecorators: { placeholder: [{
|
|
121
125
|
type: Input
|
|
122
126
|
}], format: [{
|
|
@@ -125,6 +129,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImpo
|
|
|
125
129
|
type: Input
|
|
126
130
|
}], maxDate: [{
|
|
127
131
|
type: Input
|
|
132
|
+
}], bgColor: [{
|
|
133
|
+
type: Input
|
|
134
|
+
}], border: [{
|
|
135
|
+
type: Input
|
|
128
136
|
}], useDropdowns: [{
|
|
129
137
|
type: Input
|
|
130
138
|
}], yearPlaceholder: [{
|
|
@@ -136,4 +144,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImpo
|
|
|
136
144
|
}], dateChange: [{
|
|
137
145
|
type: Output
|
|
138
146
|
}] } });
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLW5nLXVpL3NyYy9saWIvY29tcG9uZW50cy9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tbmctdWkvc3JjL2xpYi9jb21wb25lbnRzL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7QUFRdkUsTUFBTSxPQUFPLG1CQUFtQjtJQUNyQixXQUFXLEdBQUcsYUFBYSxDQUFDO0lBQzVCLE1BQU0sR0FBRyxZQUFZLENBQUM7SUFDdEIsT0FBTyxDQUFRO0lBQ2YsT0FBTyxDQUFRO0lBQ2YsWUFBWSxHQUFZLElBQUksQ0FBQztJQUM3QixlQUFlLEdBQVcsZUFBZSxDQUFDO0lBQzFDLGdCQUFnQixHQUFXLGdCQUFnQixDQUFDO0lBQzVDLElBQUksR0FBZ0IsSUFBSSxDQUFDLENBQUMsMEJBQTBCO0lBQ25ELFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDLENBQUMsb0JBQW9CO0lBRXJFLFlBQVksR0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO0lBQ2hDLGdCQUFnQixHQUFTLElBQUksSUFBSSxFQUFFLENBQUM7SUFDcEMsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUVyQixRQUFRLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM3RCxNQUFNLEdBQUc7UUFDUCxTQUFTLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVB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RyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDSSxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERyb3Bkb3duQ2hhbmdlRXZlbnQgfSBmcm9tICcuLi9kcm9wLWRvd24vRHJvcGRvd25DaGFuZ2VFdmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1kYXRlLXBpY2tlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RhdGUtcGlja2VyLmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRGF0ZVBpY2tlckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJ1NlbGVjdCBkYXRlJztcbiAgQElucHV0KCkgZm9ybWF0ID0gJ01NL0REL1lZWVknO1xuICBASW5wdXQoKSBtaW5EYXRlPzogRGF0ZTtcbiAgQElucHV0KCkgbWF4RGF0ZT86IERhdGU7XG4gIEBJbnB1dCgpIHVzZURyb3Bkb3duczogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIHllYXJQbGFjZWhvbGRlcjogc3RyaW5nID0gJ1NlbGVjdCBhIHllYXInO1xuICBASW5wdXQoKSBtb250aFBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnU2VsZWN0IGEgbW9udGgnO1xuICBASW5wdXQoKSBkYXRlOiBEYXRlIHwgbnVsbCA9IG51bGw7IC8vIFR3by13YXkgYmluZGluZyBzdXBwb3J0XG4gIEBPdXRwdXQoKSBkYXRlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpOyAvLyBFbWl0IGRhdGUgY2hhbmdlc1xuXG4gIHNlbGVjdGVkRGF0ZTogRGF0ZSA9IG5ldyBEYXRlKCk7XG4gIHRlbXBTZWxlY3RlZERhdGU6IERhdGUgPSBuZXcgRGF0ZSgpO1xuICBzaG93Q2FsZW5kYXIgPSBmYWxzZTtcblxuICB3ZWVrRGF5cyA9IFsnU3VuJywgJ01vbicsICdUdWUnLCAnV2VkJywgJ1RodScsICdGcmknLCAnU2F0J107XG4gIG1vbnRocyA9IFtcbiAgICAnSmFudWFyeScsICdGZWJydWFyeScsICdNYXJjaCcsICdBcHJpbCcsICdNYXknLCAnSnVuZScsXG4gICAgJ0p1bHknLCAnQXVndXN0JywgJ1NlcHRlbWJlcicsICdPY3RvYmVyJywgJ05vdmVtYmVyJywgJ0RlY2VtYmVyJ1xuICBdO1xuXG4gIHllYXJSYW5nZTogbnVtYmVyW10gPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiBuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCkgLSAxOTYwICsgMSB9LCAoXywgaSkgPT4gMTk2MCArIGkpO1xuICBcbiAgc2VsZWN0ZWRNb250aDogbnVtYmVyID0gMTtcbiAgc2VsZWN0ZWRNb250aFN0cmluZzpzdHJpbmc9JydcbiAgc2VsZWN0ZWRZZWFyOiBudW1iZXIgPSBuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCk7XG5cbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgaWYgKHRoaXMuZGF0ZSkge1xuICAgICAgdGhpcy5zZWxlY3RlZERhdGUgPSBuZXcgRGF0ZSh0aGlzLmRhdGUpO1xuICAgICAgdGhpcy50ZW1wU2VsZWN0ZWREYXRlID0gbmV3IERhdGUodGhpcy5kYXRlKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRNb250aCA9IHRoaXMuc2VsZWN0ZWREYXRlLmdldE1vbnRoKCk7XG4gICAgICB0aGlzLnNlbGVjdGVkWWVhciA9IHRoaXMuc2VsZWN0ZWREYXRlLmdldEZ1bGxZZWFyKCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGRpc3BsYXlEYXRlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZGF0ZSA/IHRoaXMuZm9ybWF0RGF0ZSh0aGlzLmRhdGUsIHRoaXMuZm9ybWF0KSA6ICcnO1xuICB9XG5cbiAgdG9nZ2xlQ2FsZW5kYXIoKSB7XG4gICAgdGhpcy5zaG93Q2FsZW5kYXIgPSAhdGhpcy5zaG93Q2FsZW5kYXI7XG4gICAgdGhpcy50ZW1wU2VsZWN0ZWREYXRlID0gbmV3IERhdGUodGhpcy5kYXRlIHx8IG5ldyBEYXRlKCkpO1xuICAgIHRoaXMuc2VsZWN0ZWRNb250aCA9IHRoaXMudGVtcFNlbGVjdGVkRGF0ZS5nZXRNb250aCgpO1xuICAgIHRoaXMuc2VsZWN0ZWRNb250aFN0cmluZz10aGlzLm1vbnRoc1t0aGlzLnNlbGVjdGVkTW9udGhdXG4gICAgdGhpcy5zZWxlY3RlZFllYXIgPSB0aGlzLnRlbXBTZWxlY3RlZERhdGUuZ2V0RnVsbFllYXIoKTtcbiAgfVxuXG4gIHByZXZpb3VzTW9udGgoKSB7XG4gICAgdGhpcy5zZWxlY3RlZE1vbnRoLS07XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRNb250aCA8IDApIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRNb250aCA9IDExO1xuICAgICAgdGhpcy5zZWxlY3RlZFllYXItLTtcbiAgICB9XG4gICAgdGhpcy51cGRhdGVUZW1wU2VsZWN0ZWREYXRlKCk7XG4gIH1cblxuICBuZXh0TW9udGgoKSB7XG4gICAgdGhpcy5zZWxlY3RlZE1vbnRoKys7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRNb250aCA+IDExKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkTW9udGggPSAwO1xuICAgICAgdGhpcy5zZWxlY3RlZFllYXIrKztcbiAgICB9XG4gICAgdGhpcy51cGRhdGVUZW1wU2VsZWN0ZWREYXRlKCk7XG4gIH1cblxuICBvbkRyb3Bkb3duWWVhckNoYW5nZShldmVudDogRHJvcGRvd25DaGFuZ2VFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRZZWFyID0gZXZlbnQudmFsdWU7XG4gICAgdGhpcy51cGRhdGVUZW1wU2VsZWN0ZWREYXRlKCk7XG4gIH1cblxuICBvbkRyb3Bkb3duTW9udGhDaGFuZ2UoZXZlbnQ6IERyb3Bkb3duQ2hhbmdlRXZlbnQpOiB2b2lkIHtcbiAgIFxuICAgIHRoaXMuc2VsZWN0ZWRNb250aCA9IHRoaXMubW9udGhzLmluZGV4T2YoZXZlbnQudmFsdWUpXG4gICAgdGhpcy51cGRhdGVUZW1wU2VsZWN0ZWREYXRlKCk7XG4gIH1cblxuICB1cGRhdGVUZW1wU2VsZWN0ZWREYXRlKCkge1xuICAgIHRoaXMudGVtcFNlbGVjdGVkRGF0ZS5zZXRNb250aCh0aGlzLnNlbGVjdGVkTW9udGgpO1xuICAgIHRoaXMudGVtcFNlbGVjdGVkRGF0ZS5zZXRGdWxsWWVhcih0aGlzLnNlbGVjdGVkWWVhcik7XG4gIH1cblxuICBnZXREYXlzSW5Nb250aCgpOiBEYXRlW10ge1xuICAgIGNvbnN0IGRheXM6IERhdGVbXSA9IFtdO1xuICAgIGNvbnN0IHllYXIgPSB0aGlzLnNlbGVjdGVkWWVhcjtcbiAgICBjb25zdCBtb250aCA9IHRoaXMuc2VsZWN0ZWRNb250aDtcbiAgXG4gICAgY29uc3QgdG90YWxEYXlzID0gbmV3IERhdGUoeWVhciwgbW9udGggKyAxLCAwKS5nZXREYXRlKCk7IC8vIEdldCBsYXN0IGRheSBvZiB0aGUgbW9udGhcbiAgXG4gICAgZm9yIChsZXQgaSA9IDE7IGkgPD0gdG90YWxEYXlzOyBpKyspIHtcbiAgICAgIGRheXMucHVzaChuZXcgRGF0ZSh5ZWFyLCBtb250aCwgaSkpO1xuICAgIH1cbiAgXG4gICAgcmV0dXJuIGRheXM7XG4gIH1cbiAgXG5cbiAgc2VsZWN0VGVtcG9yYXJ5RGF0ZShkYXk6IERhdGUpIHtcbiAgICB0aGlzLnRlbXBTZWxlY3RlZERhdGUgPSBkYXk7XG4gIH1cblxuICBpc1NlbGVjdGVkKGRheTogRGF0ZSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICBkYXkuZ2V0RGF0ZSgpID09PSB0aGlzLnRlbXBTZWxlY3RlZERhdGUuZ2V0RGF0ZSgpICYmXG4gICAgICBkYXkuZ2V0TW9udGgoKSA9PT0gdGhpcy50ZW1wU2VsZWN0ZWREYXRlLmdldE1vbnRoKCkgJiZcbiAgICAgIGRheS5nZXRGdWxsWWVhcigpID09PSB0aGlzLnRlbXBTZWxlY3RlZERhdGUuZ2V0RnVsbFllYXIoKVxuICAgICk7XG4gIH1cblxuICBmb3JtYXREYXRlKGRhdGU6IERhdGUsIGZvcm1hdDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBkYXkgPSBkYXRlLmdldERhdGUoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyk7XG4gICAgY29uc3QgbW9udGggPSAoZGF0ZS5nZXRNb250aCgpICsgMSkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpO1xuICAgIGNvbnN0IHllYXIgPSBkYXRlLmdldEZ1bGxZZWFyKCk7XG5cbiAgICBzd2l0Y2ggKGZvcm1hdCkge1xuICAgICAgY2FzZSAnREQvTU0vWVlZWSc6XG4gICAgICAgIHJldHVybiBgJHtkYXl9LyR7bW9udGh9LyR7eWVhcn1gO1xuICAgICAgY2FzZSAnTU0vREQvWVlZWSc6XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gYCR7bW9udGh9LyR7ZGF5fS8ke3llYXJ9YDtcbiAgICB9XG4gIH1cblxuICBjb25maXJtKCkge1xuICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gbmV3IERhdGUodGhpcy50ZW1wU2VsZWN0ZWREYXRlKTtcbiAgICB0aGlzLmRhdGVDaGFuZ2UuZW1pdCh0aGlzLnNlbGVjdGVkRGF0ZSk7IC8vIEVtaXQgY2hhbmdlXG4gICAgdGhpcy5zaG93Q2FsZW5kYXIgPSBmYWxzZTtcbiAgfVxuXG4gIGNhbmNlbCgpIHtcbiAgICB0aGlzLnNob3dDYWxlbmRhciA9IGZhbHNlO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZGF0ZS1waWNrZXJcIj5cbiAgPGlucHV0XG4gICAgdHlwZT1cInRleHRcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgW3ZhbHVlXT1cImRpc3BsYXlEYXRlXCJcbiAgICAoY2xpY2spPVwidG9nZ2xlQ2FsZW5kYXIoKVwiXG4gICAgcmVhZG9ubHlcbiAgLz5cblxuICA8ZGl2ICpuZ0lmPVwic2hvd0NhbGVuZGFyXCIgW2FwcE91dFNpZGVDbGlja109XCJzaG93Q2FsZW5kYXJcIiAob3V0U2lkZUNsaWNrKT1cInNob3dDYWxlbmRhcj1mYWxzZVwiIGNsYXNzPVwiY2FsZW5kYXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY2FsZW5kYXItaGVhZGVyXCI+XG4gICAgICA8bmctY29udGFpbmVyICAqbmdJZj1cIiF1c2VEcm9wZG93bnM7IGVsc2UgZHJvcGRvd25zXCI+XG4gICAgICAgIDxidXR0b24gKGNsaWNrKT1cInByZXZpb3VzTW9udGgoKVwiPlxuICAgICAgICAgIDx2ZXJiZW4tc3ZnIFt3aWR0aF09XCIyMFwiIFtpY29uXT1cIidjaGV2cm9uLWxlZnQnXCI+PC92ZXJiZW4tc3ZnPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPHNwYW4+e3sgbW9udGhzW3NlbGVjdGVkTW9udGhdIH19IHt7IHNlbGVjdGVkWWVhciB9fTwvc3Bhbj5cbiAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwibmV4dE1vbnRoKClcIj5cbiAgICAgICAgICA8dmVyYmVuLXN2ZyBbd2lkdGhdPVwiMjBcIiBbaWNvbl09XCInY2hldnJvbi1yaWdodCdcIj48L3ZlcmJlbi1zdmc+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjZHJvcGRvd25zPlxuICAgICAgICA8dmVyYmVuLWRyb3AtZG93blxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJ5ZWFyUGxhY2Vob2xkZXJcIlxuICAgICAgICAgIChvbkNoYW5nZSk9XCJvbkRyb3Bkb3duWWVhckNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICBbb3B0aW9uc109XCJ5ZWFyUmFuZ2VcIlxuICAgICAgICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWRZZWFyXCJcbiAgICAgICAgPjwvdmVyYmVuLWRyb3AtZG93bj5cblxuICAgICAgICA8dmVyYmVuLWRyb3AtZG93blxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJtb250aFBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAob25DaGFuZ2UpPVwib25Ecm9wZG93bk1vbnRoQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgIFtvcHRpb25zXT1cIm1vbnRoc1wiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZE1vbnRoU3RyaW5nXCJcbiAgICAgICAgPjwvdmVyYmVuLWRyb3AtZG93bj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiY2FsZW5kYXItYm9keVwiPlxuICAgICAgPGRpdiBjbGFzcz1cIndlZWtkYXlzXCI+XG4gICAgICAgIDxzcGFuICpuZ0Zvcj1cImxldCBkYXkgb2Ygd2Vla0RheXNcIj57eyBkYXkgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkYXRlc1wiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGRheSBvZiBnZXREYXlzSW5Nb250aCgpXCJcbiAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwiaXNTZWxlY3RlZChkYXkpXCJcbiAgICAgICAgICAoY2xpY2spPVwic2VsZWN0VGVtcG9yYXJ5RGF0ZShkYXkpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGRheS5nZXREYXRlKCkgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJjYWxlbmRhci1mb290ZXJcIj5cbiAgICAgIDxidXR0b24gKGNsaWNrKT1cImNhbmNlbCgpXCI+Q2FuY2VsPC9idXR0b24+XG4gICAgICA8YnV0dG9uIChjbGljayk9XCJjb25maXJtKClcIj5PSzwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
147
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLW5nLXVpL3NyYy9saWIvY29tcG9uZW50cy9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tbmctdWkvc3JjL2xpYi9jb21wb25lbnRzL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7QUFRdkUsTUFBTSxPQUFPLG1CQUFtQjtJQUNyQixXQUFXLEdBQUcsYUFBYSxDQUFDO0lBQzVCLE1BQU0sR0FBRyxZQUFZLENBQUM7SUFDdEIsT0FBTyxDQUFRO0lBQ2YsT0FBTyxDQUFRO0lBQ2YsT0FBTyxHQUFVLE1BQU0sQ0FBQTtJQUNyQixNQUFNLEdBQVUsRUFBRSxDQUFBO0lBQ3BCLFlBQVksR0FBWSxJQUFJLENBQUM7SUFDN0IsZUFBZSxHQUFXLGVBQWUsQ0FBQztJQUMxQyxnQkFBZ0IsR0FBVyxnQkFBZ0IsQ0FBQztJQUM1QyxJQUFJLEdBQXVCLElBQUksQ0FBQyxDQUFDLDBCQUEwQjtJQUMxRCxVQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQyxDQUFDLG9CQUFvQjtJQUVyRSxZQUFZLEdBQVMsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUNoQyxnQkFBZ0IsR0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO0lBQ3BDLFlBQVksR0FBRyxLQUFLLENBQUM7SUFFckIsUUFBUSxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDN0Qs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QUNwRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxjQUFjO1FBQ3ZELElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7SUFDNUIsQ0FBQzt3R0F4SVUsbUJBQW1COzRGQUFuQixtQkFBbUIsaVhDUmhDLCs5REE4REE7OzRGRHREYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsaUJBQWlCOzhCQUtsQixXQUFXO3NCQUFuQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDSyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0MsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0ksVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEcm9wZG93bkNoYW5nZUV2ZW50IH0gZnJvbSAnLi4vZHJvcC1kb3duL0Ryb3Bkb3duQ2hhbmdlRXZlbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZGF0ZS1waWNrZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0ZS1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXRlLXBpY2tlci5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIERhdGVQaWNrZXJDb21wb25lbnQge1xuICBASW5wdXQoKSBwbGFjZWhvbGRlciA9ICdTZWxlY3QgZGF0ZSc7XG4gIEBJbnB1dCgpIGZvcm1hdCA9ICdNTS9ERC9ZWVlZJztcbiAgQElucHV0KCkgbWluRGF0ZT86IERhdGU7XG4gIEBJbnB1dCgpIG1heERhdGU/OiBEYXRlO1xuICBASW5wdXQoKSBiZ0NvbG9yPzogc3RyaW5nPScjZmZmJ1xuICAgIEBJbnB1dCgpIGJvcmRlcj86IHN0cmluZz0nJ1xuICBASW5wdXQoKSB1c2VEcm9wZG93bnM6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSB5ZWFyUGxhY2Vob2xkZXI6IHN0cmluZyA9ICdTZWxlY3QgYSB5ZWFyJztcbiAgQElucHV0KCkgbW9udGhQbGFjZWhvbGRlcjogc3RyaW5nID0gJ1NlbGVjdCBhIG1vbnRoJztcbiAgQElucHV0KCkgZGF0ZTogRGF0ZSB8IG51bGx8c3RyaW5nID0gbnVsbDsgLy8gVHdvLXdheSBiaW5kaW5nIHN1cHBvcnRcbiAgQE91dHB1dCgpIGRhdGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7IC8vIEVtaXQgZGF0ZSBjaGFuZ2VzXG5cbiAgc2VsZWN0ZWREYXRlOiBEYXRlID0gbmV3IERhdGUoKTtcbiAgdGVtcFNlbGVjdGVkRGF0ZTogRGF0ZSA9IG5ldyBEYXRlKCk7XG4gIHNob3dDYWxlbmRhciA9IGZhbHNlO1xuXG4gIHdlZWtEYXlzID0gWydTdW4nLCAnTW9uJywgJ1R1ZScsICdXZWQnLCAnVGh1JywgJ0ZyaScsICdTYXQnXTtcbiAgbW9udGhzID0gW1xuICAgICdKYW51YXJ5JywgJ0ZlYnJ1YXJ5JywgJ01hcmNoJywgJ0FwcmlsJywgJ01heScsICdKdW5lJyxcbiAgICAnSnVseScsICdBdWd1c3QnLCAnU2VwdGVtYmVyJywgJ09jdG9iZXInLCAnTm92ZW1iZXInLCAnRGVjZW1iZXInXG4gIF07XG5cbiAgeWVhclJhbmdlOiBudW1iZXJbXSA9IEFycmF5LmZyb20oeyBsZW5ndGg6IG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKSAtIDE5NjAgKyAxIH0sIChfLCBpKSA9PiAxOTYwICsgaSk7XG4gIFxuICBzZWxlY3RlZE1vbnRoOiBudW1iZXIgPSAxO1xuICBzZWxlY3RlZE1vbnRoU3RyaW5nOnN0cmluZz0nJ1xuICBzZWxlY3RlZFllYXI6IG51bWJlciA9IG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKTtcblxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICBpZiAodGhpcy5kYXRlKSB7XG4gICAgICBjb25zdCBwYXJzZWREYXRlID0gdHlwZW9mIHRoaXMuZGF0ZSA9PT0gJ3N0cmluZycgPyBuZXcgRGF0ZSh0aGlzLmRhdGUpIDogdGhpcy5kYXRlO1xuICAgICAgdGhpcy5zZWxlY3RlZERhdGUgPSBuZXcgRGF0ZShwYXJzZWREYXRlKTtcbiAgICAgIHRoaXMudGVtcFNlbGVjdGVkRGF0ZSA9IG5ldyBEYXRlKHBhcnNlZERhdGUpO1xuICAgICAgdGhpcy5zZWxlY3RlZE1vbnRoID0gdGhpcy5zZWxlY3RlZERhdGUuZ2V0TW9udGgoKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRZZWFyID0gdGhpcy5zZWxlY3RlZERhdGUuZ2V0RnVsbFllYXIoKTtcbiAgICB9XG4gIH1cbiAgXG4gIGdldCBkaXNwbGF5RGF0ZSgpOiBzdHJpbmcge1xuICAgIGNvbnN0IHBhcnNlZERhdGUgPSB0eXBlb2YgdGhpcy5kYXRlID09PSAnc3RyaW5nJyA/IG5ldyBEYXRlKHRoaXMuZGF0ZSkgOiB0aGlzLmRhdGU7XG4gICAgcmV0dXJuIHBhcnNlZERhdGUgPyB0aGlzLmZvcm1hdERhdGUocGFyc2VkRGF0ZSwgdGhpcy5mb3JtYXQpIDogJyc7XG4gIH1cbiAgXG5cbiAgdG9nZ2xlQ2FsZW5kYXIoKSB7XG4gICAgdGhpcy5zaG93Q2FsZW5kYXIgPSAhdGhpcy5zaG93Q2FsZW5kYXI7XG4gICAgdGhpcy50ZW1wU2VsZWN0ZWREYXRlID0gbmV3IERhdGUodGhpcy5kYXRlIHx8IG5ldyBEYXRlKCkpO1xuICAgIHRoaXMuc2VsZWN0ZWRNb250aCA9IHRoaXMudGVtcFNlbGVjdGVkRGF0ZS5nZXRNb250aCgpO1xuICAgIHRoaXMuc2VsZWN0ZWRNb250aFN0cmluZz10aGlzLm1vbnRoc1t0aGlzLnNlbGVjdGVkTW9udGhdXG4gICAgdGhpcy5zZWxlY3RlZFllYXIgPSB0aGlzLnRlbXBTZWxlY3RlZERhdGUuZ2V0RnVsbFllYXIoKTtcbiAgfVxuXG4gIHByZXZpb3VzTW9udGgoKSB7XG4gICAgdGhpcy5zZWxlY3RlZE1vbnRoLS07XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRNb250aCA8IDApIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRNb250aCA9IDExO1xuICAgICAgdGhpcy5zZWxlY3RlZFllYXItLTtcbiAgICB9XG4gICAgdGhpcy51cGRhdGVUZW1wU2VsZWN0ZWREYXRlKCk7XG4gIH1cblxuICBuZXh0TW9udGgoKSB7XG4gICAgdGhpcy5zZWxlY3RlZE1vbnRoKys7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRNb250aCA+IDExKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkTW9udGggPSAwO1xuICAgICAgdGhpcy5zZWxlY3RlZFllYXIrKztcbiAgICB9XG4gICAgdGhpcy51cGRhdGVUZW1wU2VsZWN0ZWREYXRlKCk7XG4gIH1cblxuICBvbkRyb3Bkb3duWWVhckNoYW5nZShldmVudDogRHJvcGRvd25DaGFuZ2VFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRZZWFyID0gZXZlbnQudmFsdWU7XG4gICAgdGhpcy51cGRhdGVUZW1wU2VsZWN0ZWREYXRlKCk7XG4gIH1cblxuICBvbkRyb3Bkb3duTW9udGhDaGFuZ2UoZXZlbnQ6IERyb3Bkb3duQ2hhbmdlRXZlbnQpOiB2b2lkIHtcbiAgIFxuICAgIHRoaXMuc2VsZWN0ZWRNb250aCA9IHRoaXMubW9udGhzLmluZGV4T2YoZXZlbnQudmFsdWUpXG4gICAgdGhpcy51cGRhdGVUZW1wU2VsZWN0ZWREYXRlKCk7XG4gIH1cblxuICB1cGRhdGVUZW1wU2VsZWN0ZWREYXRlKCkge1xuICAgIHRoaXMudGVtcFNlbGVjdGVkRGF0ZS5zZXRNb250aCh0aGlzLnNlbGVjdGVkTW9udGgpO1xuICAgIHRoaXMudGVtcFNlbGVjdGVkRGF0ZS5zZXRGdWxsWWVhcih0aGlzLnNlbGVjdGVkWWVhcik7XG4gIH1cblxuICBnZXREYXlzSW5Nb250aCgpOiBEYXRlW10ge1xuICAgIGNvbnN0IGRheXM6IERhdGVbXSA9IFtdO1xuICAgIGNvbnN0IHllYXIgPSB0aGlzLnNlbGVjdGVkWWVhcjtcbiAgICBjb25zdCBtb250aCA9IHRoaXMuc2VsZWN0ZWRNb250aDtcbiAgXG4gICAgY29uc3QgdG90YWxEYXlzID0gbmV3IERhdGUoeWVhciwgbW9udGggKyAxLCAwKS5nZXREYXRlKCk7IC8vIEdldCBsYXN0IGRheSBvZiB0aGUgbW9udGhcbiAgXG4gICAgZm9yIChsZXQgaSA9IDE7IGkgPD0gdG90YWxEYXlzOyBpKyspIHtcbiAgICAgIGRheXMucHVzaChuZXcgRGF0ZSh5ZWFyLCBtb250aCwgaSkpO1xuICAgIH1cbiAgXG4gICAgcmV0dXJuIGRheXM7XG4gIH1cbiAgXG5cbiAgc2VsZWN0VGVtcG9yYXJ5RGF0ZShkYXk6IERhdGUpIHtcbiAgICB0aGlzLnRlbXBTZWxlY3RlZERhdGUgPSBkYXk7XG4gIH1cblxuICBpc1NlbGVjdGVkKGRheTogRGF0ZSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICBkYXkuZ2V0RGF0ZSgpID09PSB0aGlzLnRlbXBTZWxlY3RlZERhdGUuZ2V0RGF0ZSgpICYmXG4gICAgICBkYXkuZ2V0TW9udGgoKSA9PT0gdGhpcy50ZW1wU2VsZWN0ZWREYXRlLmdldE1vbnRoKCkgJiZcbiAgICAgIGRheS5nZXRGdWxsWWVhcigpID09PSB0aGlzLnRlbXBTZWxlY3RlZERhdGUuZ2V0RnVsbFllYXIoKVxuICAgICk7XG4gIH1cblxuICBmb3JtYXREYXRlKGRhdGU6IERhdGUsIGZvcm1hdDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBkYXkgPSBkYXRlLmdldERhdGUoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyk7XG4gICAgY29uc3QgbW9udGggPSAoZGF0ZS5nZXRNb250aCgpICsgMSkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpO1xuICAgIGNvbnN0IHllYXIgPSBkYXRlLmdldEZ1bGxZZWFyKCk7XG5cbiAgICBzd2l0Y2ggKGZvcm1hdCkge1xuICAgICAgY2FzZSAnREQvTU0vWVlZWSc6XG4gICAgICAgIHJldHVybiBgJHtkYXl9LyR7bW9udGh9LyR7eWVhcn1gO1xuICAgICAgY2FzZSAnTU0vREQvWVlZWSc6XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gYCR7bW9udGh9LyR7ZGF5fS8ke3llYXJ9YDtcbiAgICB9XG4gIH1cblxuICBjb25maXJtKCkge1xuICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gbmV3IERhdGUodGhpcy50ZW1wU2VsZWN0ZWREYXRlKTtcbiAgICB0aGlzLmRhdGVDaGFuZ2UuZW1pdCh0aGlzLnNlbGVjdGVkRGF0ZSk7IC8vIEVtaXQgY2hhbmdlXG4gICAgdGhpcy5zaG93Q2FsZW5kYXIgPSBmYWxzZTtcbiAgfVxuXG4gIGNhbmNlbCgpIHtcbiAgICB0aGlzLnNob3dDYWxlbmRhciA9IGZhbHNlO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZGF0ZS1waWNrZXJcIj5cbiAgPGlucHV0XG4gICAgdHlwZT1cInRleHRcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgW3ZhbHVlXT1cImRpc3BsYXlEYXRlXCJcbiAgICAoY2xpY2spPVwidG9nZ2xlQ2FsZW5kYXIoKVwiXG4gICAgY2xhc3M9XCJ3LWZ1bGwgYmxvY2tcIlxuICAgIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cImJnQ29sb3JcIlxuICAgIFtzdHlsZS5ib3JkZXJdPVwiYm9yZGVyXCJcbiAgICByZWFkb25seVxuICAvPlxuXG4gIDxkaXYgKm5nSWY9XCJzaG93Q2FsZW5kYXJcIiBbYXBwT3V0U2lkZUNsaWNrXT1cInNob3dDYWxlbmRhclwiIChvdXRTaWRlQ2xpY2spPVwic2hvd0NhbGVuZGFyPWZhbHNlXCIgY2xhc3M9XCJjYWxlbmRhclwiPlxuICAgIDxkaXYgY2xhc3M9XCJjYWxlbmRhci1oZWFkZXJcIj5cbiAgICAgIDxuZy1jb250YWluZXIgICpuZ0lmPVwiIXVzZURyb3Bkb3duczsgZWxzZSBkcm9wZG93bnNcIj5cbiAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwicHJldmlvdXNNb250aCgpXCI+XG4gICAgICAgICAgPHZlcmJlbi1zdmcgW3dpZHRoXT1cIjIwXCIgW2ljb25dPVwiJ2NoZXZyb24tbGVmdCdcIj48L3ZlcmJlbi1zdmc+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8c3Bhbj57eyBtb250aHNbc2VsZWN0ZWRNb250aF0gfX0ge3sgc2VsZWN0ZWRZZWFyIH19PC9zcGFuPlxuICAgICAgICA8YnV0dG9uIChjbGljayk9XCJuZXh0TW9udGgoKVwiPlxuICAgICAgICAgIDx2ZXJiZW4tc3ZnIFt3aWR0aF09XCIyMFwiIFtpY29uXT1cIidjaGV2cm9uLXJpZ2h0J1wiPjwvdmVyYmVuLXN2Zz5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPG5nLXRlbXBsYXRlICNkcm9wZG93bnM+XG4gICAgICAgIDx2ZXJiZW4tZHJvcC1kb3duXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInllYXJQbGFjZWhvbGRlclwiXG4gICAgICAgICAgKG9uQ2hhbmdlKT1cIm9uRHJvcGRvd25ZZWFyQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgIFtvcHRpb25zXT1cInllYXJSYW5nZVwiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFllYXJcIlxuICAgICAgICA+PC92ZXJiZW4tZHJvcC1kb3duPlxuXG4gICAgICAgIDx2ZXJiZW4tZHJvcC1kb3duXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIm1vbnRoUGxhY2Vob2xkZXJcIlxuICAgICAgICAgIChvbkNoYW5nZSk9XCJvbkRyb3Bkb3duTW9udGhDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgW29wdGlvbnNdPVwibW9udGhzXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkTW9udGhTdHJpbmdcIlxuICAgICAgICA+PC92ZXJiZW4tZHJvcC1kb3duPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJjYWxlbmRhci1ib2R5XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwid2Vla2RheXNcIj5cbiAgICAgICAgPHNwYW4gKm5nRm9yPVwibGV0IGRheSBvZiB3ZWVrRGF5c1wiPnt7IGRheSB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImRhdGVzXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAqbmdGb3I9XCJsZXQgZGF5IG9mIGdldERheXNJbk1vbnRoKClcIlxuICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJpc1NlbGVjdGVkKGRheSlcIlxuICAgICAgICAgIChjbGljayk9XCJzZWxlY3RUZW1wb3JhcnlEYXRlKGRheSlcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgZGF5LmdldERhdGUoKSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImNhbGVuZGFyLWZvb3RlclwiPlxuICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiY2FuY2VsKClcIj5DYW5jZWw8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gKGNsaWNrKT1cImNvbmZpcm0oKVwiPk9LPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -51,10 +51,12 @@ export class VerbenPopUpComponent {
|
|
|
51
51
|
}
|
|
52
52
|
onClickOutside(targetElement) {
|
|
53
53
|
const clickedInside = this.elementRef.nativeElement.contains(targetElement);
|
|
54
|
+
const isInsidePane = targetElement.closest('.cdk-overlay-pane') !== null;
|
|
54
55
|
if (!clickedInside &&
|
|
55
56
|
this.dropdownOpen &&
|
|
56
57
|
this.expansion &&
|
|
57
|
-
!this.expansion.nativeElement.contains(targetElement)
|
|
58
|
+
!this.expansion.nativeElement.contains(targetElement) &&
|
|
59
|
+
!isInsidePane) {
|
|
58
60
|
this.dropdownOpen = false;
|
|
59
61
|
this.dropdownOpenChange.emit(this.dropdownOpen);
|
|
60
62
|
}
|
|
@@ -176,4 +178,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImpo
|
|
|
176
178
|
type: HostListener,
|
|
177
179
|
args: ['document:click', ['$event.target']]
|
|
178
180
|
}] } });
|
|
179
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wLXVwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi1uZy11aS9zcmMvbGliL2NvbXBvbmVudHMvcG9wLXVwL3BvcC11cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tbmctdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvcC11cC9wb3AtdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBSVosU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDOzs7O0FBT3ZCLE1BQU0sT0FBTyxvQkFBb0I7SUFlWDtJQUFnQztJQWQzQyxZQUFZLEdBQVksS0FBSyxDQUFDO0lBQzdCLGtCQUFrQixHQUMxQixJQUFJLFlBQVksRUFBVyxDQUFDO0lBQ3JCLGFBQWEsR0FBVyxFQUFFLENBQUM7SUFDM0IsS0FBSyxHQUFXLE9BQU8sQ0FBQztJQUN4QixZQUFZLEdBQThCLEVBQUUsQ0FBQztJQUM3QyxVQUFVLEdBQVcsRUFBRSxDQUFDO0lBQ3hCLE1BQU0sR0FBVyxFQUFFLENBQUM7SUFDcEIsWUFBWSxHQUFXLEVBQUUsQ0FBQztJQUMxQixnQkFBZ0IsR0FBWSxJQUFJLENBQUM7SUFDaEMsS0FBSyxHQUF3QixJQUFJLFlBQVksRUFBRSxDQUFDO0lBRTFELFNBQVMsQ0FBYztJQUV2QixZQUFvQixVQUFzQixFQUFVLFFBQW1CO1FBQW5ELGVBQVUsR0FBVixVQUFVLENBQVk7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFXO0lBQUcsQ0FBQztJQUUzRSxjQUFjO1FBQ1osSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDdkMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMs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TSxFQUFFLEtBQUssRUFBRTtnQkF5Q3pDLGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBIb3N0TGlzdGVuZXIsXG4gIEVsZW1lbnRSZWYsXG4gIFJlbmRlcmVyMixcbiAgQWZ0ZXJWaWV3Q2hlY2tlZCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmVyYmVuLXBvcC1VcCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wb3AtdXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wb3AtdXAuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBWZXJiZW5Qb3BVcENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0NoZWNrZWQge1xuICBASW5wdXQoKSBkcm9wZG93bk9wZW46IGJvb2xlYW4gPSBmYWxzZTtcbiAgQE91dHB1dCgpIGRyb3Bkb3duT3BlbkNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBJbnB1dCgpIGRyb3Bkb3duV2lkdGg6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBjb2xvcjogc3RyaW5nID0gJ2JsYWNrJztcbiAgQElucHV0KCkgY3VzdG9tU3R5bGVzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge307XG4gIEBJbnB1dCgpIHBvcFVwQ2xhc3M6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBib3JkZXI6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBib3JkZXJSYWRpdXM6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBlbmFibGVNb3VzZUxlYXZlOiBib29sZWFuID0gdHJ1ZTtcbiAgQE91dHB1dCgpIGNsb3NlOiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAVmlld0NoaWxkKCdleHBhbnNpb24nLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgZXhwYW5zaW9uITogRWxlbWVudFJlZjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge31cblxuICB0b2dnbGVEcm9wZG93bigpIHtcbiAgICB0aGlzLmRyb3Bkb3duT3BlbiA9ICF0aGlzLmRyb3Bkb3duT3BlbjtcbiAgICB0aGlzLmRyb3Bkb3duT3BlbkNoYW5nZS5lbWl0KHRoaXMuZHJvcGRvd25PcGVuKTtcblxuICAgIC8vIGlmICh0aGlzLmRyb3Bkb3duT3Blbikge1xuICAgIC8vICAgdGhpcy5zZXREcm9wZG93blBvc2l0aW9uKCk7XG4gICAgLy8gfVxuICB9XG5cbiAgb25Nb3VzZU91dCgpIHtcbiAgICBpZiAodGhpcy5lbmFibGVNb3VzZUxlYXZlKSB7XG4gICAgICB0aGlzLmNsb3NlLmVtaXQoKTtcbiAgICAgIHRoaXMuZHJvcGRvd25PcGVuID0gZmFsc2U7XG4gICAgICB0aGlzLmRyb3Bkb3duT3BlbkNoYW5nZS5lbWl0KHRoaXMuZHJvcGRvd25PcGVuKTtcbiAgICB9XG4gIH1cblxuICBvbkNsb3NlKCkge1xuICAgIHRoaXMuY2xvc2UuZW1pdCgpO1xuICB9XG5cbiAgZ2V0IGRyb3Bkb3duU3R5bGVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICB3aWR0aDogdGhpcy5kcm9wZG93bldpZHRoLFxuICAgICAgYm9yZGVyOiB0aGlzLmJvcmRlcixcbiAgICAgIGJvcmRlclJhZGl1czogdGhpcy5ib3JkZXJSYWRpdXMsXG4gICAgfTtcbiAgfVxuXG4gIGdldCB5b3VyU3R5bGVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICAuLi50aGlzLmN1c3RvbVN0eWxlcyxcbiAgICB9O1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudC50YXJnZXQnXSlcbiAgb25DbGlja091dHNpZGUodGFyZ2V0RWxlbWVudDogSFRNTEVsZW1lbnQpIHtcbiAgICBjb25zdCBjbGlja2VkSW5zaWRlID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0RWxlbWVudCk7XG4gICAgaWYgKFxuICAgICAgIWNsaWNrZWRJbnNpZGUgJiZcbiAgICAgIHRoaXMuZHJvcGRvd25PcGVuICYmXG4gICAgICB0aGlzLmV4cGFuc2lvbiAmJlxuICAgICAgIXRoaXMuZXhwYW5zaW9uLm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0RWxlbWVudClcbiAgICApIHtcbiAgICAgIHRoaXMuZHJvcGRvd25PcGVuID0gZmFsc2U7XG4gICAgICB0aGlzLmRyb3Bkb3duT3BlbkNoYW5nZS5lbWl0KHRoaXMuZHJvcGRvd25PcGVuKTtcbiAgICB9XG4gIH1cblxuICAvLyBwcml2YXRlIHNldERyb3Bkb3duUG9zaXRpb24oKTogdm9pZCB7XG4gIC8vICAgY29uc3QgZHJvcGRvd24gPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuZHJvcGRvd24tbWVudScpO1xuICAvLyAgIGNvbnN0IGRyb3Bkb3duUmVjdCA9IGRyb3Bkb3duLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAvLyAgIGNvbnN0IHBhcmVudFJlY3QgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgLy8gICBjb25zdCB2aWV3cG9ydEhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcbiAgLy8gICBjb25zdCB2aWV3cG9ydFdpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XG5cbiAgLy8gICBjb25zb2xlLmxvZygnRHJvcGRvd24gUmVjdDonLCBkcm9wZG93blJlY3QpO1xuICAvLyAgIGNvbnNvbGUubG9nKCdQYXJlbnQgUmVjdDonLCBwYXJlbnRSZWN0KTtcbiAgLy8gICBjb25zb2xlLmxvZygnVmlld3BvcnQ6JywgeyB3aWR0aDogdmlld3BvcnRXaWR0aCwgaGVpZ2h0OiB2aWV3cG9ydEhlaWdodCB9KTtcblxuICAvLyAgIC8vIENoZWNrIHZlcnRpY2FsIHNwYWNlXG4gIC8vICAgaWYgKHZpZXdwb3J0SGVpZ2h0IC0gcGFyZW50UmVjdC5ib3R0b20gPCBkcm9wZG93blJlY3QuaGVpZ2h0KSB7XG4gIC8vICAgICAvLyBQb3NpdGlvbiBhYm92ZVxuICAvLyAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkcm9wZG93biwgJ3RvcCcsICdhdXRvJyk7XG4gIC8vICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRyb3Bkb3duLCAnYm90dG9tJywgYCR7cGFyZW50UmVjdC5oZWlnaHR9cHhgKTtcbiAgLy8gICB9IGVsc2Uge1xuICAvLyAgICAgLy8gUG9zaXRpb24gYmVsb3dcbiAgLy8gICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZHJvcGRvd24sICd0b3AnLCBgJHtwYXJlbnRSZWN0LmhlaWdodH1weGApO1xuICAvLyAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkcm9wZG93biwgJ2JvdHRvbScsICdhdXRvJyk7XG4gIC8vICAgfVxuXG4gIC8vICAgLy8gQ2hlY2sgaG9yaXpvbnRhbCBzcGFjZVxuICAvLyAgIGlmIChwYXJlbnRSZWN0LmxlZnQgKyBkcm9wZG93blJlY3Qud2lkdGggPiB2aWV3cG9ydFdpZHRoKSB7XG4gIC8vICAgICAvLyBQb3NpdGlvbiB0byB0aGUgbGVmdFxuICAvLyAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkcm9wZG93biwgJ2xlZnQnLCAnYXV0bycpO1xuICAvLyAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkcm9wZG93biwgJ3JpZ2h0JywgJzAnKTtcbiAgLy8gICB9IGVsc2UgaWYgKHBhcmVudFJlY3QucmlnaHQgLSBkcm9wZG93blJlY3Qud2lkdGggPCAwKSB7XG4gIC8vICAgICAvLyBQb3NpdGlvbiB0byB0aGUgcmlnaHRcbiAgLy8gICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZHJvcGRvd24sICdsZWZ0JywgJzAnKTtcbiAgLy8gICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZHJvcGRvd24sICdyaWdodCcsICdhdXRvJyk7XG4gIC8vICAgfSBlbHNlIHtcbiAgLy8gICAgIC8vIERlZmF1bHQgYWxpZ25tZW50XG4gIC8vICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRyb3Bkb3duLCAnbGVmdCcsICcwJyk7XG4gIC8vICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRyb3Bkb3duLCAncmlnaHQnLCAnYXV0bycpO1xuICAvLyAgIH1cbiAgLy8gfVxuXG4gIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpIHtcbiAgICAvLyBpZiAodGhpcy5kcm9wZG93bk9wZW4pIHtcbiAgICAvLyAgIHRoaXMuc2V0RHJvcGRvd25Qb3NpdGlvbigpO1xuICAgIC8vIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0RHJvcGRvd25Qb3NpdGlvbigpOiB2b2lkIHtcbiAgICBjb25zdCBkcm9wZG93biA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAnLmRyb3Bkb3duLWNvbnRhaW5lciA+IGRpdidcbiAgICApO1xuICAgIC8vIGNvbnN0IHRyaWdnZXJFbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignZHJvcGRvd24tbWVudScpXG5cbiAgICBpZiAoIWRyb3Bkb3duKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ0Ryb3Bkb3duIGVsZW1lbnQgbm90IGZvdW5kLicpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGRyb3Bkb3duUmVjdCA9IGRyb3Bkb3duLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IHBhcmVudFJlY3QgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCB2aWV3cG9ydEhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcbiAgICBjb25zdCB2aWV3cG9ydFdpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XG5cbiAgICBjb25zb2xlLmxvZygnRHJvcGRvd24gUmVjdDonLCBkcm9wZG93blJlY3QpO1xuICAgIGNvbnNvbGUubG9nKCdQYXJlbnQgUmVjdDonLCBwYXJlbnRSZWN0KTtcbiAgICBjb25zb2xlLmxvZygnVmlld3BvcnQ6JywgeyB3aWR0aDogdmlld3BvcnRXaWR0aCwgaGVpZ2h0OiB2aWV3cG9ydEhlaWdodCB9KTtcblxuICAgIC8vIFZlcnRpY2FsIFBvc2l0aW9uaW5nXG4gICAgaWYgKHZpZXdwb3J0SGVpZ2h0IC0gcGFyZW50UmVjdC5ib3R0b20gPCBkcm9wZG93blJlY3QuaGVpZ2h0KSB7XG4gICAgICAvLyBOb3QgZW5vdWdoIHNwYWNlIGJlbG93LCBwb3NpdGlvbiBhYm92ZVxuICAgICAgY29uc29sZS5sb2coJ25vdCBlbm91Z2ggc3BhY2UgYmVsb3cnKTtcbiAgICAgIGNvbnN0IHRvcFBvc2l0aW9uID0gcGFyZW50UmVjdC50b3AgLSBkcm9wZG93blJlY3QuaGVpZ2h0O1xuICAgICAgY29uc29sZS5sb2coJ3RvcCBwb3M6JywgdG9wUG9zaXRpb24pO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkcm9wZG93biwgJ3RvcCcsIGBhdXRvYCk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRyb3Bkb3duLCAnYm90dG9tJywgJzE1cHgnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gRW5vdWdoIHNwYWNlIGJlbG93LCBwb3NpdGlvbiBiZWxvd1xuICAgICAgY29uc29sZS5sb2coJ0Vub3VnaCBzcGFjZSBiZWxvdycpO1xuICAgICAgY29uc3QgdG9wUG9zaXRpb24gPSBwYXJlbnRSZWN0LmJvdHRvbTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZHJvcGRvd24sICd0b3AnLCBgMjBweGApO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkcm9wZG93biwgJ2JvdHRvbScsICdhdXRvJyk7XG4gICAgfVxuXG4gICAgLy8gSG9yaXpvbnRhbCBQb3NpdGlvbmluZ1xuICAgIGlmIChwYXJlbnRSZWN0LmxlZnQgKyBkcm9wZG93blJlY3Qud2lkdGggPiB2aWV3cG9ydFdpZHRoKSB7XG4gICAgICBjb25zb2xlLmxvZygnbm90IEVub3VnaCBzcGFjZSByaWdodCcpO1xuICAgICAgY29uc3QgbGVmdFBvc2l0aW9uID0gdmlld3BvcnRXaWR0aCAtIGRyb3Bkb3duUmVjdC53aWR0aCAtIDEwO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkcm9wZG93biwgJ2xlZnQnLCBgYXV0b2ApO1xuICAgICAgLy8gdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkcm9wZG93biwgJ2xlZnQnLCBgJHtNYXRoLm1heChsZWZ0UG9zaXRpb24sIDApfXB4YCk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRyb3Bkb3duLCAncmlnaHQnLCAnMTBweCcpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmxvZygnRW5vdWdoIHNwYWNlIHJpZ2h0Jyk7XG4gICAgICBjb25zdCBsZWZ0UG9zaXRpb24gPSBwYXJlbnRSZWN0LmxlZnQ7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRyb3Bkb3duLCAnbGVmdCcsIGAkezEwfXB4YCk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRyb3Bkb3duLCAncmlnaHQnLCAnYXV0bycpO1xuICAgIH1cbiAgfVxufVxuIiwiPHNwYW4gY2xhc3M9XCJyZWxhdGl2ZSBkcm9wZG93bi1jb250YWluZXJcIiBbbmdTdHlsZV09XCJkcm9wZG93blN0eWxlc1wiPlxuICA8c3BhbiAoY2xpY2spPVwidG9nZ2xlRHJvcGRvd24oKVwiIGNka092ZXJsYXlPcmlnaW4gI3RyaWdnZXI9XCJjZGtPdmVybGF5T3JpZ2luXCIgY2xhc3M9XCJkcm9wZG93bi1tZW51XCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2Ryb3Bkb3duLXRyaWdnZXJdXCI+PC9uZy1jb250ZW50PlxuICA8L3NwYW4+XG5cbiAgPG5nLXRlbXBsYXRlIGNka0Nvbm5lY3RlZE92ZXJsYXkgW2Nka0Nvbm5lY3RlZE92ZXJsYXlMb2NrUG9zaXRpb25dPVwiZmFsc2VcIiBbY2RrQ29ubmVjdGVkT3ZlcmxheU9yaWdpbl09XCJ0cmlnZ2VyXCJcbiAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9uc109XCJbXG4gIHtcbiAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgIG92ZXJsYXlZOiAndG9wJ1xuICB9LFxuICB7XG4gICAgb3JpZ2luWDogJ2VuZCcsXG4gICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgb3ZlcmxheVg6ICdlbmQnLFxuICAgIG92ZXJsYXlZOiAndG9wJ1xuICB9LFxuICB7XG4gICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICBvdmVybGF5WTogJ2JvdHRvbSdcbiAgfSxcbiAge1xuICAgIG9yaWdpblg6ICdlbmQnLFxuICAgIG9yaWdpblk6ICd0b3AnLFxuICAgIG92ZXJsYXlYOiAnZW5kJyxcbiAgICBvdmVybGF5WTogJ2JvdHRvbSdcbiAgfVxuXVwiIFtjZGtDb25uZWN0ZWRPdmVybGF5T3Blbl09XCJkcm9wZG93bk9wZW5cIiAoZGV0YWNoKT1cImRyb3Bkb3duT3BlbiA9IGZhbHNlXCI+XG4gICAgPGRpdiAjZXhwYW5zaW9uIChtb3VzZWxlYXZlKT1cIm9uTW91c2VPdXQoKVwiIFthdHRyLmFyaWEtaGlkZGVuXT1cIiFkcm9wZG93bk9wZW5cIiBjbGFzcz1cInt7cG9wVXBDbGFzc319XCJcbiAgICAgIFtuZ1N0eWxlXT1cInlvdXJTdHlsZXNcIj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltkcm9wZG93bi1jb250ZW50XVwiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvc3Bhbj5cbiJdfQ==
|
|
181
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wLXVwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi1uZy11aS9zcmMvbGliL2NvbXBvbmVudHMvcG9wLXVwL3BvcC11cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tbmctdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvcC11cC9wb3AtdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBSVosU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDOzs7O0FBT3ZCLE1BQU0sT0FBTyxvQkFBb0I7SUFlWDtJQUFnQztJQWQzQyxZQUFZLEdBQVksS0FBSyxDQUFDO0lBQzdCLGtCQUFrQixHQUMxQixJQUFJLFlBQVksRUFBVyxDQUFDO0lBQ3JCLGFBQWEsR0FBVyxFQUFFLENBQUM7SUFDM0IsS0FBSyxHQUFXLE9BQU8sQ0FBQztJQUN4QixZQUFZLEdBQThCLEVBQUUsQ0FBQztJQUM3QyxVQUFVLEdBQVcsRUFBRSxDQUFDO0lBQ3hCLE1BQU0sR0FBVyxFQUFFLENBQUM7SUFDcEIsWUFBWSxHQUFXLEVBQUUsQ0FBQztJQUMxQixnQkFBZ0IsR0FBWSxJQUFJLENBQUM7SUFDaEMsS0FBSyxHQUF3QixJQUFJLFlBQVksRUFBRSxDQUFDO0lBRTFELFNBQVMsQ0FBYztJQUV2QixZQUFvQixVQUFzQixFQUFVLFFBQW1CO1FBQW5ELGVBQVUsR0FBVixVQUFVLENBQVk7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFXO0lBQUcsQ0FBQztJQUUzRSxjQUFjO1FBQ1osSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDdkMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMs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Z0I7c0JBQXhCLEtBQUs7Z0JBQ0ksS0FBSztzQkFBZCxNQUFNO2dCQUVQLFNBQVM7c0JBRFIsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQXlDekMsY0FBYztzQkFEYixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEhvc3RMaXN0ZW5lcixcbiAgRWxlbWVudFJlZixcbiAgUmVuZGVyZXIyLFxuICBBZnRlclZpZXdDaGVja2VkLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2ZXJiZW4tcG9wLVVwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BvcC11cC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BvcC11cC5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFZlcmJlblBvcFVwQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3Q2hlY2tlZCB7XG4gIEBJbnB1dCgpIGRyb3Bkb3duT3BlbjogYm9vbGVhbiA9IGZhbHNlO1xuICBAT3V0cHV0KCkgZHJvcGRvd25PcGVuQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQElucHV0KCkgZHJvcGRvd25XaWR0aDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGNvbG9yOiBzdHJpbmcgPSAnYmxhY2snO1xuICBASW5wdXQoKSBjdXN0b21TdHlsZXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcbiAgQElucHV0KCkgcG9wVXBDbGFzczogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGJvcmRlcjogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGJvcmRlclJhZGl1czogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGVuYWJsZU1vdXNlTGVhdmU6IGJvb2xlYW4gPSB0cnVlO1xuICBAT3V0cHV0KCkgY2xvc2U6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBWaWV3Q2hpbGQoJ2V4cGFuc2lvbicsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBleHBhbnNpb24hOiBFbGVtZW50UmVmO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7fVxuXG4gIHRvZ2dsZURyb3Bkb3duKCkge1xuICAgIHRoaXMuZHJvcGRvd25PcGVuID0gIXRoaXMuZHJvcGRvd25PcGVuO1xuICAgIHRoaXMuZHJvcGRvd25PcGVuQ2hhbmdlLmVtaXQodGhpcy5kcm9wZG93bk9wZW4pO1xuXG4gICAgLy8gaWYgKHRoaXMuZHJvcGRvd25PcGVuKSB7XG4gICAgLy8gICB0aGlzLnNldERyb3Bkb3duUG9zaXRpb24oKTtcbiAgICAvLyB9XG4gIH1cblxuICBvbk1vdXNlT3V0KCkge1xuICAgIGlmICh0aGlzLmVuYWJsZU1vdXNlTGVhdmUpIHtcbiAgICAgIHRoaXMuY2xvc2UuZW1pdCgpO1xuICAgICAgdGhpcy5kcm9wZG93bk9wZW4gPSBmYWxzZTtcbiAgICAgIHRoaXMuZHJvcGRvd25PcGVuQ2hhbmdlLmVtaXQodGhpcy5kcm9wZG93bk9wZW4pO1xuICAgIH1cbiAgfVxuXG4gIG9uQ2xvc2UoKSB7XG4gICAgdGhpcy5jbG9zZS5lbWl0KCk7XG4gIH1cblxuICBnZXQgZHJvcGRvd25TdHlsZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHdpZHRoOiB0aGlzLmRyb3Bkb3duV2lkdGgsXG4gICAgICBib3JkZXI6IHRoaXMuYm9yZGVyLFxuICAgICAgYm9yZGVyUmFkaXVzOiB0aGlzLmJvcmRlclJhZGl1cyxcbiAgICB9O1xuICB9XG5cbiAgZ2V0IHlvdXJTdHlsZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnRoaXMuY3VzdG9tU3R5bGVzLFxuICAgIH07XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50LnRhcmdldCddKVxuICBvbkNsaWNrT3V0c2lkZSh0YXJnZXRFbGVtZW50OiBIVE1MRWxlbWVudCkge1xuICAgIGNvbnN0IGNsaWNrZWRJbnNpZGUgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyh0YXJnZXRFbGVtZW50KTtcbiAgICBjb25zdCBpc0luc2lkZVBhbmUgPSB0YXJnZXRFbGVtZW50LmNsb3Nlc3QoJy5jZGstb3ZlcmxheS1wYW5lJykgIT09IG51bGw7XG4gICAgaWYgKFxuICAgICAgIWNsaWNrZWRJbnNpZGUgJiZcbiAgICAgIHRoaXMuZHJvcGRvd25PcGVuICYmXG4gICAgICB0aGlzLmV4cGFuc2lvbiAmJlxuICAgICAgIXRoaXMuZXhwYW5zaW9uLm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0RWxlbWVudCkgJiZcbiAgICAgICFpc0luc2lkZVBhbmVcbiAgICApIHtcbiAgICAgIHRoaXMuZHJvcGRvd25PcGVuID0gZmFsc2U7XG4gICAgICB0aGlzLmRyb3Bkb3duT3BlbkNoYW5nZS5lbWl0KHRoaXMuZHJvcGRvd25PcGVuKTtcbiAgICB9XG4gIH1cblxuICAvLyBwcml2YXRlIHNldERyb3Bkb3duUG9zaXRpb24oKTogdm9pZCB7XG4gIC8vICAgY29uc3QgZHJvcGRvd24gPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuZHJvcGRvd24tbWVudScpO1xuICAvLyAgIGNvbnN0IGRyb3Bkb3duUmVjdCA9IGRyb3Bkb3duLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAvLyAgIGNvbnN0IHBhcmVudFJlY3QgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgLy8gICBjb25zdCB2aWV3cG9ydEhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcbiAgLy8gICBjb25zdCB2aWV3cG9ydFdpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XG5cbiAgLy8gICBjb25zb2xlLmxvZygnRHJvcGRvd24gUmVjdDonLCBkcm9wZG93blJlY3QpO1xuICAvLyAgIGNvbnNvbGUubG9nKCdQYXJlbnQgUmVjdDonLCBwYXJlbnRSZWN0KTtcbiAgLy8gICBjb25zb2xlLmxvZygnVmlld3BvcnQ6JywgeyB3aWR0aDogdmlld3BvcnRXaWR0aCwgaGVpZ2h0OiB2aWV3cG9ydEhlaWdodCB9KTtcblxuICAvLyAgIC8vIENoZWNrIHZlcnRpY2FsIHNwYWNlXG4gIC8vICAgaWYgKHZpZXdwb3J0SGVpZ2h0IC0gcGFyZW50UmVjdC5ib3R0b20gPCBkcm9wZG93blJlY3QuaGVpZ2h0KSB7XG4gIC8vICAgICAvLyBQb3NpdGlvbiBhYm92ZVxuICAvLyAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkcm9wZG93biwgJ3RvcCcsICdhdXRvJyk7XG4gIC8vICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRyb3Bkb3duLCAnYm90dG9tJywgYCR7cGFyZW50UmVjdC5oZWlnaHR9cHhgKTtcbiAgLy8gICB9IGVsc2Uge1xuICAvLyAgICAgLy8gUG9zaXRpb24gYmVsb3dcbiAgLy8gICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZHJvcGRvd24sICd0b3AnLCBgJHtwYXJlbnRSZWN0LmhlaWdodH1weGApO1xuICAvLyAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkcm9wZG93biwgJ2JvdHRvbScsICdhdXRvJyk7XG4gIC8vICAgfVxuXG4gIC8vICAgLy8gQ2hlY2sgaG9yaXpvbnRhbCBzcGFjZVxuICAvLyAgIGlmIChwYXJlbnRSZWN0LmxlZnQgKyBkcm9wZG93blJlY3Qud2lkdGggPiB2aWV3cG9ydFdpZHRoKSB7XG4gIC8vICAgICAvLyBQb3NpdGlvbiB0byB0aGUgbGVmdFxuICAvLyAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkcm9wZG93biwgJ2xlZnQnLCAnYXV0bycpO1xuICAvLyAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkcm9wZG93biwgJ3JpZ2h0JywgJzAnKTtcbiAgLy8gICB9IGVsc2UgaWYgKHBhcmVudFJlY3QucmlnaHQgLSBkcm9wZG93blJlY3Qud2lkdGggPCAwKSB7XG4gIC8vICAgICAvLyBQb3NpdGlvbiB0byB0aGUgcmlnaHRcbiAgLy8gICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZHJvcGRvd24sICdsZWZ0JywgJzAnKTtcbiAgLy8gICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZHJvcGRvd24sICdyaWdodCcsICdhdXRvJyk7XG4gIC8vICAgfSBlbHNlIHtcbiAgLy8gICAgIC8vIERlZmF1bHQgYWxpZ25tZW50XG4gIC8vICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRyb3Bkb3duLCAnbGVmdCcsICcwJyk7XG4gIC8vICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRyb3Bkb3duLCAncmlnaHQnLCAnYXV0bycpO1xuICAvLyAgIH1cbiAgLy8gfVxuXG4gIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpIHtcbiAgICAvLyBpZiAodGhpcy5kcm9wZG93bk9wZW4pIHtcbiAgICAvLyAgIHRoaXMuc2V0RHJvcGRvd25Qb3NpdGlvbigpO1xuICAgIC8vIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0RHJvcGRvd25Qb3NpdGlvbigpOiB2b2lkIHtcbiAgICBjb25zdCBkcm9wZG93biA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAnLmRyb3Bkb3duLWNvbnRhaW5lciA+IGRpdidcbiAgICApO1xuICAgIC8vIGNvbnN0IHRyaWdnZXJFbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignZHJvcGRvd24tbWVudScpXG5cbiAgICBpZiAoIWRyb3Bkb3duKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ0Ryb3Bkb3duIGVsZW1lbnQgbm90IGZvdW5kLicpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGRyb3Bkb3duUmVjdCA9IGRyb3Bkb3duLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IHBhcmVudFJlY3QgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCB2aWV3cG9ydEhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcbiAgICBjb25zdCB2aWV3cG9ydFdpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XG5cbiAgICBjb25zb2xlLmxvZygnRHJvcGRvd24gUmVjdDonLCBkcm9wZG93blJlY3QpO1xuICAgIGNvbnNvbGUubG9nKCdQYXJlbnQgUmVjdDonLCBwYXJlbnRSZWN0KTtcbiAgICBjb25zb2xlLmxvZygnVmlld3BvcnQ6JywgeyB3aWR0aDogdmlld3BvcnRXaWR0aCwgaGVpZ2h0OiB2aWV3cG9ydEhlaWdodCB9KTtcblxuICAgIC8vIFZlcnRpY2FsIFBvc2l0aW9uaW5nXG4gICAgaWYgKHZpZXdwb3J0SGVpZ2h0IC0gcGFyZW50UmVjdC5ib3R0b20gPCBkcm9wZG93blJlY3QuaGVpZ2h0KSB7XG4gICAgICAvLyBOb3QgZW5vdWdoIHNwYWNlIGJlbG93LCBwb3NpdGlvbiBhYm92ZVxuICAgICAgY29uc29sZS5sb2coJ25vdCBlbm91Z2ggc3BhY2UgYmVsb3cnKTtcbiAgICAgIGNvbnN0IHRvcFBvc2l0aW9uID0gcGFyZW50UmVjdC50b3AgLSBkcm9wZG93blJlY3QuaGVpZ2h0O1xuICAgICAgY29uc29sZS5sb2coJ3RvcCBwb3M6JywgdG9wUG9zaXRpb24pO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkcm9wZG93biwgJ3RvcCcsIGBhdXRvYCk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRyb3Bkb3duLCAnYm90dG9tJywgJzE1cHgnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gRW5vdWdoIHNwYWNlIGJlbG93LCBwb3NpdGlvbiBiZWxvd1xuICAgICAgY29uc29sZS5sb2coJ0Vub3VnaCBzcGFjZSBiZWxvdycpO1xuICAgICAgY29uc3QgdG9wUG9zaXRpb24gPSBwYXJlbnRSZWN0LmJvdHRvbTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZHJvcGRvd24sICd0b3AnLCBgMjBweGApO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkcm9wZG93biwgJ2JvdHRvbScsICdhdXRvJyk7XG4gICAgfVxuXG4gICAgLy8gSG9yaXpvbnRhbCBQb3NpdGlvbmluZ1xuICAgIGlmIChwYXJlbnRSZWN0LmxlZnQgKyBkcm9wZG93blJlY3Qud2lkdGggPiB2aWV3cG9ydFdpZHRoKSB7XG4gICAgICBjb25zb2xlLmxvZygnbm90IEVub3VnaCBzcGFjZSByaWdodCcpO1xuICAgICAgY29uc3QgbGVmdFBvc2l0aW9uID0gdmlld3BvcnRXaWR0aCAtIGRyb3Bkb3duUmVjdC53aWR0aCAtIDEwO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkcm9wZG93biwgJ2xlZnQnLCBgYXV0b2ApO1xuICAgICAgLy8gdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkcm9wZG93biwgJ2xlZnQnLCBgJHtNYXRoLm1heChsZWZ0UG9zaXRpb24sIDApfXB4YCk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRyb3Bkb3duLCAncmlnaHQnLCAnMTBweCcpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmxvZygnRW5vdWdoIHNwYWNlIHJpZ2h0Jyk7XG4gICAgICBjb25zdCBsZWZ0UG9zaXRpb24gPSBwYXJlbnRSZWN0LmxlZnQ7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRyb3Bkb3duLCAnbGVmdCcsIGAkezEwfXB4YCk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRyb3Bkb3duLCAncmlnaHQnLCAnYXV0bycpO1xuICAgIH1cbiAgfVxufVxuIiwiPHNwYW4gY2xhc3M9XCJyZWxhdGl2ZSBkcm9wZG93bi1jb250YWluZXJcIiBbbmdTdHlsZV09XCJkcm9wZG93blN0eWxlc1wiPlxuICA8c3BhbiAoY2xpY2spPVwidG9nZ2xlRHJvcGRvd24oKVwiIGNka092ZXJsYXlPcmlnaW4gI3RyaWdnZXI9XCJjZGtPdmVybGF5T3JpZ2luXCIgY2xhc3M9XCJkcm9wZG93bi1tZW51XCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2Ryb3Bkb3duLXRyaWdnZXJdXCI+PC9uZy1jb250ZW50PlxuICA8L3NwYW4+XG5cbiAgPG5nLXRlbXBsYXRlIGNka0Nvbm5lY3RlZE92ZXJsYXkgW2Nka0Nvbm5lY3RlZE92ZXJsYXlMb2NrUG9zaXRpb25dPVwiZmFsc2VcIiBbY2RrQ29ubmVjdGVkT3ZlcmxheU9yaWdpbl09XCJ0cmlnZ2VyXCJcbiAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9uc109XCJbXG4gIHtcbiAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgIG92ZXJsYXlZOiAndG9wJ1xuICB9LFxuICB7XG4gICAgb3JpZ2luWDogJ2VuZCcsXG4gICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgb3ZlcmxheVg6ICdlbmQnLFxuICAgIG92ZXJsYXlZOiAndG9wJ1xuICB9LFxuICB7XG4gICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICBvdmVybGF5WTogJ2JvdHRvbSdcbiAgfSxcbiAge1xuICAgIG9yaWdpblg6ICdlbmQnLFxuICAgIG9yaWdpblk6ICd0b3AnLFxuICAgIG92ZXJsYXlYOiAnZW5kJyxcbiAgICBvdmVybGF5WTogJ2JvdHRvbSdcbiAgfVxuXVwiIFtjZGtDb25uZWN0ZWRPdmVybGF5T3Blbl09XCJkcm9wZG93bk9wZW5cIiAoZGV0YWNoKT1cImRyb3Bkb3duT3BlbiA9IGZhbHNlXCI+XG4gICAgPGRpdiAjZXhwYW5zaW9uIChtb3VzZWxlYXZlKT1cIm9uTW91c2VPdXQoKVwiIFthdHRyLmFyaWEtaGlkZGVuXT1cIiFkcm9wZG93bk9wZW5cIiBjbGFzcz1cInt7cG9wVXBDbGFzc319XCJcbiAgICAgIFtuZ1N0eWxlXT1cInlvdXJTdHlsZXNcIj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltkcm9wZG93bi1jb250ZW50XVwiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvc3Bhbj5cbiJdfQ==
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { Component, Input, ViewChild, Output, EventEmitter } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class TabItemComponent {
|
|
4
|
+
title = '';
|
|
5
|
+
id = '';
|
|
6
|
+
set active(value) {
|
|
7
|
+
if (this._active !== value) {
|
|
8
|
+
this._active = value;
|
|
9
|
+
this.activeChange.emit(value);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
get active() {
|
|
13
|
+
return this._active;
|
|
14
|
+
}
|
|
15
|
+
activeChange = new EventEmitter();
|
|
16
|
+
disabled = false;
|
|
17
|
+
tabColor = ''; // Tab background color
|
|
18
|
+
activeTabBgColor = ''; // Active tab background color
|
|
19
|
+
textColor = ''; // Tab text color
|
|
20
|
+
hoverColor = ''; // Hover color
|
|
21
|
+
badgeCount = null;
|
|
22
|
+
badgeColor = '#ff4081'; // Badge background color
|
|
23
|
+
content;
|
|
24
|
+
_active = false;
|
|
25
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: TabItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
26
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.10", type: TabItemComponent, selector: "lib-tab-item", inputs: { title: "title", id: "id", active: "active", disabled: "disabled", tabColor: "tabColor", activeTabBgColor: "activeTabBgColor", textColor: "textColor", hoverColor: "hoverColor", badgeCount: "badgeCount", badgeColor: "badgeColor" }, outputs: { activeChange: "activeChange" }, viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true, static: true }], ngImport: i0, template: `
|
|
27
|
+
<ng-template #content>
|
|
28
|
+
<ng-content></ng-content>
|
|
29
|
+
</ng-template>
|
|
30
|
+
`, isInline: true });
|
|
31
|
+
}
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: TabItemComponent, decorators: [{
|
|
33
|
+
type: Component,
|
|
34
|
+
args: [{
|
|
35
|
+
selector: 'lib-tab-item',
|
|
36
|
+
template: `
|
|
37
|
+
<ng-template #content>
|
|
38
|
+
<ng-content></ng-content>
|
|
39
|
+
</ng-template>
|
|
40
|
+
`
|
|
41
|
+
}]
|
|
42
|
+
}], propDecorators: { title: [{
|
|
43
|
+
type: Input
|
|
44
|
+
}], id: [{
|
|
45
|
+
type: Input
|
|
46
|
+
}], active: [{
|
|
47
|
+
type: Input
|
|
48
|
+
}], activeChange: [{
|
|
49
|
+
type: Output
|
|
50
|
+
}], disabled: [{
|
|
51
|
+
type: Input
|
|
52
|
+
}], tabColor: [{
|
|
53
|
+
type: Input
|
|
54
|
+
}], activeTabBgColor: [{
|
|
55
|
+
type: Input
|
|
56
|
+
}], textColor: [{
|
|
57
|
+
type: Input
|
|
58
|
+
}], hoverColor: [{
|
|
59
|
+
type: Input
|
|
60
|
+
}], badgeCount: [{
|
|
61
|
+
type: Input
|
|
62
|
+
}], badgeColor: [{
|
|
63
|
+
type: Input
|
|
64
|
+
}], content: [{
|
|
65
|
+
type: ViewChild,
|
|
66
|
+
args: ['content', { static: true }]
|
|
67
|
+
}] } });
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLW5nLXVpL3NyYy9saWIvY29tcG9uZW50cy92ZXJiZW5hLXRhYi90YWItaXRlbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWUsU0FBUyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBVS9GLE1BQU0sT0FBTyxnQkFBZ0I7SUFDbEIsS0FBSyxHQUFXLEVBQUUsQ0FBQztJQUNuQixFQUFFLEdBQVcsRUFBRSxDQUFDO0lBQ3pCLElBQ0ksTUFBTSxDQUFDLEtBQWM7UUFDdkIsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLENBQUM7SUFDSCxDQUFDO0lBQ0QsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFUyxZQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUU1QyxRQUFRLEdBQVksS0FBSyxDQUFDO0lBQzFCLFFBQVEsR0FBVyxFQUFFLENBQUMsQ0FBQyx1QkFBdUI7SUFDOUMsZ0JBQWdCLEdBQVcsRUFBRSxDQUFDLENBQUMsOEJBQThCO0lBQzdELFNBQVMsR0FBVyxFQUFFLENBQUMsQ0FBQyxpQkFBaUI7SUFDekMsVUFBVSxHQUFXLEVBQUUsQ0FBQyxDQUFDLGNBQWM7SUFDdkMsVUFBVSxHQUFrQixJQUFJLENBQUM7SUFDakMsVUFBVSxHQUFXLFNBQVMsQ0FBQyxDQUFDLHlCQUF5QjtJQUUxQixPQUFPLENBQW9CO0lBRTNELE9BQU8sR0FBWSxLQUFLLENBQUM7d0dBMUJ0QixnQkFBZ0I7NEZBQWhCLGdCQUFnQixpY0FOakI7Ozs7R0FJVDs7NEZBRVUsZ0JBQWdCO2tCQVI1QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxjQUFjO29CQUN4QixRQUFRLEVBQUU7Ozs7R0FJVDtpQkFDRjs4QkFFVSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csRUFBRTtzQkFBVixLQUFLO2dCQUVGLE1BQU07c0JBRFQsS0FBSztnQkFXSSxZQUFZO3NCQUFyQixNQUFNO2dCQUVFLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFFa0MsT0FBTztzQkFBOUMsU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLXRhYi1pdGVtJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bmctdGVtcGxhdGUgI2NvbnRlbnQ+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgYFxufSlcbmV4cG9ydCBjbGFzcyBUYWJJdGVtQ29tcG9uZW50IHtcbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBpZDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIFxuICBzZXQgYWN0aXZlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKHRoaXMuX2FjdGl2ZSAhPT0gdmFsdWUpIHtcbiAgICAgIHRoaXMuX2FjdGl2ZSA9IHZhbHVlO1xuICAgICAgdGhpcy5hY3RpdmVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgfVxuICB9XG4gIGdldCBhY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZTtcbiAgfVxuXG4gIEBPdXRwdXQoKSBhY3RpdmVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgdGFiQ29sb3I6IHN0cmluZyA9ICcnOyAvLyBUYWIgYmFja2dyb3VuZCBjb2xvclxuICBASW5wdXQoKSBhY3RpdmVUYWJCZ0NvbG9yOiBzdHJpbmcgPSAnJzsgLy8gQWN0aXZlIHRhYiBiYWNrZ3JvdW5kIGNvbG9yXG4gIEBJbnB1dCgpIHRleHRDb2xvcjogc3RyaW5nID0gJyc7IC8vIFRhYiB0ZXh0IGNvbG9yXG4gIEBJbnB1dCgpIGhvdmVyQ29sb3I6IHN0cmluZyA9ICcnOyAvLyBIb3ZlciBjb2xvclxuICBASW5wdXQoKSBiYWRnZUNvdW50OiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgYmFkZ2VDb2xvcjogc3RyaW5nID0gJyNmZjQwODEnOyAvLyBCYWRnZSBiYWNrZ3JvdW5kIGNvbG9yXG5cbiAgQFZpZXdDaGlsZCgnY29udGVudCcsIHsgc3RhdGljOiB0cnVlIH0pIGNvbnRlbnQhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIHByaXZhdGUgX2FjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xufVxuIl19
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { Component, ContentChildren, Output, EventEmitter, Input } from '@angular/core';
|
|
2
|
+
import { TabItemComponent } from './tab-item.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
export class VerbenaTabComponent {
|
|
6
|
+
cdr;
|
|
7
|
+
tabs;
|
|
8
|
+
tabChange = new EventEmitter();
|
|
9
|
+
backgroundColor = ''; // Global background color
|
|
10
|
+
activeTabBgColor = ''; // Global active tab background
|
|
11
|
+
textColor = ''; // Global text color
|
|
12
|
+
hoverColor = ''; // Global hover color
|
|
13
|
+
activeTab = null;
|
|
14
|
+
constructor(cdr) {
|
|
15
|
+
this.cdr = cdr;
|
|
16
|
+
}
|
|
17
|
+
ngAfterContentInit() {
|
|
18
|
+
if (this.tabs.length && !this.tabs.find(tab => tab.active)) {
|
|
19
|
+
this.selectTab(this.tabs.first);
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
const activeTab = this.tabs.find(tab => tab.active);
|
|
23
|
+
if (activeTab) {
|
|
24
|
+
this.selectTab(activeTab);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
this.tabs.changes.subscribe(() => {
|
|
28
|
+
if (!this.activeTab || !this.tabs.find(tab => tab === this.activeTab)) {
|
|
29
|
+
if (this.tabs.length) {
|
|
30
|
+
this.selectTab(this.tabs.first);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
this.activeTab = null;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
this.cdr.markForCheck();
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
selectTab(tab) {
|
|
40
|
+
if (tab.disabled)
|
|
41
|
+
return;
|
|
42
|
+
if (this.activeTab) {
|
|
43
|
+
this.activeTab.active = false;
|
|
44
|
+
}
|
|
45
|
+
this.activeTab = tab;
|
|
46
|
+
tab.active = true;
|
|
47
|
+
this.tabChange.emit(tab);
|
|
48
|
+
}
|
|
49
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: VerbenaTabComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
50
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.10", type: VerbenaTabComponent, selector: "verbena-tab", inputs: { backgroundColor: "backgroundColor", activeTabBgColor: "activeTabBgColor", textColor: "textColor", hoverColor: "hoverColor" }, outputs: { tabChange: "tabChange" }, queries: [{ propertyName: "tabs", predicate: TabItemComponent }], ngImport: i0, template: "<div \n class=\"tab-container\" \n [ngStyle]=\"{'background-color': backgroundColor}\"\n>\n <div class=\"tab-header\">\n <div \n *ngFor=\"let tab of tabs\" \n class=\"tab-item\" \n [ngClass]=\"{'active': tab.active, 'disabled': tab.disabled}\"\n [ngStyle]=\"{\n 'background-color': tab.active ? (tab.activeTabBgColor || activeTabBgColor) : tab.tabColor,\n 'color': tab.textColor || textColor,\n 'border-color': !tab.tabColor? activeTabBgColor : tab.tabColor\n }\"\n (click)=\"!tab.disabled && selectTab(tab)\"\n >\n {{ tab.title }}\n <span \n class=\"tab-badge\" \n *ngIf=\"tab.badgeCount !== null\"\n [ngStyle]=\"{'background-color': tab.badgeColor}\"\n >\n {{ tab.badgeCount }}\n </span>\n </div>\n </div>\n <div class=\"tab-content\" *ngIf=\"activeTab\" [ngStyle]=\"{'background-color': !activeTab.tabColor? activeTabBgColor : activeTab.tabColor}\">\n <ng-container [ngTemplateOutlet]=\"activeTab.content\"></ng-container>\n </div>\n</div>\n", styles: [".tab-container{display:flex;flex-direction:column;width:100%}.tab-header{display:flex;border-bottom:1px solid #ddd;background-color:#f8f8f8}.tab-item{padding:12px 16px;cursor:pointer;transition:all .3s ease;border-top-left-radius:4px;border-top-right-radius:4px;-webkit-user-select:none;user-select:none}.tab-item:hover:not(.active):not(.disabled){background-color:#eaeaea}.tab-item.active{border-bottom:2px solid #FFE681;background-color:#fff;color:#ffe681;font-weight:500}.tab-item.disabled{color:#999;cursor:not-allowed}.tab-content{padding:16px;background-color:#fff}.tab-content{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.tab-container{display:flex;flex-direction:column;border:1px solid #ddd;border-radius:5px;overflow:hidden}.tab-header{display:flex;border-bottom:1px solid #ccc}.tab-item{padding:10px 15px;cursor:pointer;transition:all .3s ease-in-out}.tab-item:hover{filter:brightness(90%)}.tab-item.active{font-weight:700}.tab-item.disabled{cursor:not-allowed;opacity:.5}.tab-content{padding:15px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
|
|
51
|
+
}
|
|
52
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: VerbenaTabComponent, decorators: [{
|
|
53
|
+
type: Component,
|
|
54
|
+
args: [{ selector: 'verbena-tab', template: "<div \n class=\"tab-container\" \n [ngStyle]=\"{'background-color': backgroundColor}\"\n>\n <div class=\"tab-header\">\n <div \n *ngFor=\"let tab of tabs\" \n class=\"tab-item\" \n [ngClass]=\"{'active': tab.active, 'disabled': tab.disabled}\"\n [ngStyle]=\"{\n 'background-color': tab.active ? (tab.activeTabBgColor || activeTabBgColor) : tab.tabColor,\n 'color': tab.textColor || textColor,\n 'border-color': !tab.tabColor? activeTabBgColor : tab.tabColor\n }\"\n (click)=\"!tab.disabled && selectTab(tab)\"\n >\n {{ tab.title }}\n <span \n class=\"tab-badge\" \n *ngIf=\"tab.badgeCount !== null\"\n [ngStyle]=\"{'background-color': tab.badgeColor}\"\n >\n {{ tab.badgeCount }}\n </span>\n </div>\n </div>\n <div class=\"tab-content\" *ngIf=\"activeTab\" [ngStyle]=\"{'background-color': !activeTab.tabColor? activeTabBgColor : activeTab.tabColor}\">\n <ng-container [ngTemplateOutlet]=\"activeTab.content\"></ng-container>\n </div>\n</div>\n", styles: [".tab-container{display:flex;flex-direction:column;width:100%}.tab-header{display:flex;border-bottom:1px solid #ddd;background-color:#f8f8f8}.tab-item{padding:12px 16px;cursor:pointer;transition:all .3s ease;border-top-left-radius:4px;border-top-right-radius:4px;-webkit-user-select:none;user-select:none}.tab-item:hover:not(.active):not(.disabled){background-color:#eaeaea}.tab-item.active{border-bottom:2px solid #FFE681;background-color:#fff;color:#ffe681;font-weight:500}.tab-item.disabled{color:#999;cursor:not-allowed}.tab-content{padding:16px;background-color:#fff}.tab-content{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.tab-container{display:flex;flex-direction:column;border:1px solid #ddd;border-radius:5px;overflow:hidden}.tab-header{display:flex;border-bottom:1px solid #ccc}.tab-item{padding:10px 15px;cursor:pointer;transition:all .3s ease-in-out}.tab-item:hover{filter:brightness(90%)}.tab-item.active{font-weight:700}.tab-item.disabled{cursor:not-allowed;opacity:.5}.tab-content{padding:15px}\n"] }]
|
|
55
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { tabs: [{
|
|
56
|
+
type: ContentChildren,
|
|
57
|
+
args: [TabItemComponent]
|
|
58
|
+
}], tabChange: [{
|
|
59
|
+
type: Output
|
|
60
|
+
}], backgroundColor: [{
|
|
61
|
+
type: Input
|
|
62
|
+
}], activeTabBgColor: [{
|
|
63
|
+
type: Input
|
|
64
|
+
}], textColor: [{
|
|
65
|
+
type: Input
|
|
66
|
+
}], hoverColor: [{
|
|
67
|
+
type: Input
|
|
68
|
+
}] } });
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyYmVuYS10YWIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLW5nLXVpL3NyYy9saWIvY29tcG9uZW50cy92ZXJiZW5hLXRhYi92ZXJiZW5hLXRhYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tbmctdWkvc3JjL2xpYi9jb21wb25lbnRzL3ZlcmJlbmEtdGFiL3ZlcmJlbmEtdGFiLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUErQixNQUFNLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDeEksT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQU94RCxNQUFNLE9BQU8sbUJBQW1CO0lBV1Y7SUFWZSxJQUFJLENBQStCO0lBQzVELFNBQVMsR0FBRyxJQUFJLFlBQVksRUFBb0IsQ0FBQztJQUVsRCxlQUFlLEdBQVcsRUFBRSxDQUFDLENBQUMsMEJBQTBCO0lBQ3hELGdCQUFnQixHQUFXLEVBQUUsQ0FBQyxDQUFDLCtCQUErQjtJQUM5RCxTQUFTLEdBQVcsRUFBRSxDQUFDLENBQUMsb0JBQW9CO0lBQzVDLFVBQVUsR0FBVyxFQUFFLENBQUMsQ0FBQyxxQkFBcUI7SUFFdkQsU0FBUyxHQUE0QixJQUFJLENBQUM7SUFFMUMsWUFBb0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7SUFBRyxDQUFDO0lBRTlDLGtCQUFrQjtRQUNoQixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUMzRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEMsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNwRCxJQUFJLFNBQVMsRUFBRSxDQUFDO2dCQUNkLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDNUIsQ0FBQztRQUNILENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQy9CLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3RFLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDckIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNsQyxDQUFDO3FCQUFNLENBQUM7b0JBQ04sSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7Z0JBQ3hCLENBQUM7WUFDSCxDQUFDO1lBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxTQUFTLENBQUMsR0FBcUI7UUFDN0IsSUFBSSxHQUFHLENBQUMsUUFBUTtZQUFFLE9BQU87UUFFekIsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ2hDLENBQUM7UUFFRCxJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQztRQUNyQixHQUFHLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMzQixDQUFDO3dHQTdDVSxtQkFBbUI7NEZBQW5CLG1CQUFtQixxUEFDYixnQkFBZ0IsNkJDVG5DLHVpQ0E4QkE7OzRGRHRCYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsYUFBYTtzRkFLWSxJQUFJO3NCQUF0QyxlQUFlO3VCQUFDLGdCQUFnQjtnQkFDdkIsU0FBUztzQkFBbEIsTUFBTTtnQkFFRSxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgUXVlcnlMaXN0LCBBZnRlckNvbnRlbnRJbml0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUYWJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi90YWItaXRlbS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2ZXJiZW5hLXRhYicsXG4gIHRlbXBsYXRlVXJsOiAnLi92ZXJiZW5hLXRhYi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3ZlcmJlbmEtdGFiLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBWZXJiZW5hVGFiQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gIEBDb250ZW50Q2hpbGRyZW4oVGFiSXRlbUNvbXBvbmVudCkgdGFicyE6IFF1ZXJ5TGlzdDxUYWJJdGVtQ29tcG9uZW50PjtcbiAgQE91dHB1dCgpIHRhYkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VGFiSXRlbUNvbXBvbmVudD4oKTtcblxuICBASW5wdXQoKSBiYWNrZ3JvdW5kQ29sb3I6IHN0cmluZyA9ICcnOyAvLyBHbG9iYWwgYmFja2dyb3VuZCBjb2xvclxuICBASW5wdXQoKSBhY3RpdmVUYWJCZ0NvbG9yOiBzdHJpbmcgPSAnJzsgLy8gR2xvYmFsIGFjdGl2ZSB0YWIgYmFja2dyb3VuZFxuICBASW5wdXQoKSB0ZXh0Q29sb3I6IHN0cmluZyA9ICcnOyAvLyBHbG9iYWwgdGV4dCBjb2xvclxuICBASW5wdXQoKSBob3ZlckNvbG9yOiBzdHJpbmcgPSAnJzsgLy8gR2xvYmFsIGhvdmVyIGNvbG9yXG5cbiAgYWN0aXZlVGFiOiBUYWJJdGVtQ29tcG9uZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICBpZiAodGhpcy50YWJzLmxlbmd0aCAmJiAhdGhpcy50YWJzLmZpbmQodGFiID0+IHRhYi5hY3RpdmUpKSB7XG4gICAgICB0aGlzLnNlbGVjdFRhYih0aGlzLnRhYnMuZmlyc3QpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBhY3RpdmVUYWIgPSB0aGlzLnRhYnMuZmluZCh0YWIgPT4gdGFiLmFjdGl2ZSk7XG4gICAgICBpZiAoYWN0aXZlVGFiKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0VGFiKGFjdGl2ZVRhYik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy50YWJzLmNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGlmICghdGhpcy5hY3RpdmVUYWIgfHwgIXRoaXMudGFicy5maW5kKHRhYiA9PiB0YWIgPT09IHRoaXMuYWN0aXZlVGFiKSkge1xuICAgICAgICBpZiAodGhpcy50YWJzLmxlbmd0aCkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0VGFiKHRoaXMudGFicy5maXJzdCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5hY3RpdmVUYWIgPSBudWxsO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcbiAgfVxuXG4gIHNlbGVjdFRhYih0YWI6IFRhYkl0ZW1Db21wb25lbnQpIHtcbiAgICBpZiAodGFiLmRpc2FibGVkKSByZXR1cm47XG5cbiAgICBpZiAodGhpcy5hY3RpdmVUYWIpIHtcbiAgICAgIHRoaXMuYWN0aXZlVGFiLmFjdGl2ZSA9IGZhbHNlO1xuICAgIH1cblxuICAgIHRoaXMuYWN0aXZlVGFiID0gdGFiO1xuICAgIHRhYi5hY3RpdmUgPSB0cnVlO1xuICAgIHRoaXMudGFiQ2hhbmdlLmVtaXQodGFiKTtcbiAgfVxufVxuIiwiPGRpdiBcbiAgY2xhc3M9XCJ0YWItY29udGFpbmVyXCIgXG4gIFtuZ1N0eWxlXT1cInsnYmFja2dyb3VuZC1jb2xvcic6IGJhY2tncm91bmRDb2xvcn1cIlxuPlxuICA8ZGl2IGNsYXNzPVwidGFiLWhlYWRlclwiPlxuICAgIDxkaXYgXG4gICAgICAqbmdGb3I9XCJsZXQgdGFiIG9mIHRhYnNcIiBcbiAgICAgIGNsYXNzPVwidGFiLWl0ZW1cIiBcbiAgICAgIFtuZ0NsYXNzXT1cInsnYWN0aXZlJzogdGFiLmFjdGl2ZSwgJ2Rpc2FibGVkJzogdGFiLmRpc2FibGVkfVwiXG4gICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgICdiYWNrZ3JvdW5kLWNvbG9yJzogdGFiLmFjdGl2ZSA/ICh0YWIuYWN0aXZlVGFiQmdDb2xvciB8fCBhY3RpdmVUYWJCZ0NvbG9yKSA6IHRhYi50YWJDb2xvcixcbiAgICAgICAgJ2NvbG9yJzogdGFiLnRleHRDb2xvciB8fCB0ZXh0Q29sb3IsXG4gICAgICAgICdib3JkZXItY29sb3InOiAhdGFiLnRhYkNvbG9yPyBhY3RpdmVUYWJCZ0NvbG9yIDogdGFiLnRhYkNvbG9yXG4gICAgICB9XCJcbiAgICAgIChjbGljayk9XCIhdGFiLmRpc2FibGVkICYmIHNlbGVjdFRhYih0YWIpXCJcbiAgICA+XG4gICAgICB7eyB0YWIudGl0bGUgfX1cbiAgICAgIDxzcGFuIFxuICAgICAgICBjbGFzcz1cInRhYi1iYWRnZVwiIFxuICAgICAgICAqbmdJZj1cInRhYi5iYWRnZUNvdW50ICE9PSBudWxsXCJcbiAgICAgICAgW25nU3R5bGVdPVwieydiYWNrZ3JvdW5kLWNvbG9yJzogdGFiLmJhZGdlQ29sb3J9XCJcbiAgICAgID5cbiAgICAgICAge3sgdGFiLmJhZGdlQ291bnQgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJ0YWItY29udGVudFwiICpuZ0lmPVwiYWN0aXZlVGFiXCIgW25nU3R5bGVdPVwieydiYWNrZ3JvdW5kLWNvbG9yJzogIWFjdGl2ZVRhYi50YWJDb2xvcj8gYWN0aXZlVGFiQmdDb2xvciA6IGFjdGl2ZVRhYi50YWJDb2xvcn1cIj5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImFjdGl2ZVRhYi5jb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { VerbenaTabComponent } from './verbena-tab.component';
|
|
4
|
+
import { TabItemComponent } from './tab-item.component';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class VerbenaTabModule {
|
|
7
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: VerbenaTabModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
8
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.10", ngImport: i0, type: VerbenaTabModule, declarations: [VerbenaTabComponent,
|
|
9
|
+
TabItemComponent], imports: [CommonModule], exports: [VerbenaTabComponent,
|
|
10
|
+
TabItemComponent] });
|
|
11
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: VerbenaTabModule, imports: [CommonModule] });
|
|
12
|
+
}
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: VerbenaTabModule, decorators: [{
|
|
14
|
+
type: NgModule,
|
|
15
|
+
args: [{
|
|
16
|
+
declarations: [
|
|
17
|
+
VerbenaTabComponent,
|
|
18
|
+
TabItemComponent
|
|
19
|
+
],
|
|
20
|
+
imports: [
|
|
21
|
+
CommonModule
|
|
22
|
+
],
|
|
23
|
+
exports: [
|
|
24
|
+
VerbenaTabComponent,
|
|
25
|
+
TabItemComponent
|
|
26
|
+
]
|
|
27
|
+
}]
|
|
28
|
+
}] });
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyYmVuYS10YWIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLW5nLXVpL3NyYy9saWIvY29tcG9uZW50cy92ZXJiZW5hLXRhYi92ZXJiZW5hLXRhYi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBZXhELE1BQU0sT0FBTyxnQkFBZ0I7d0dBQWhCLGdCQUFnQjt5R0FBaEIsZ0JBQWdCLGlCQVh6QixtQkFBbUI7WUFDbkIsZ0JBQWdCLGFBR2hCLFlBQVksYUFHWixtQkFBbUI7WUFDbkIsZ0JBQWdCO3lHQUdQLGdCQUFnQixZQVB6QixZQUFZOzs0RkFPSCxnQkFBZ0I7a0JBYjVCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLG1CQUFtQjt3QkFDbkIsZ0JBQWdCO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTtxQkFDYjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsbUJBQW1CO3dCQUNuQixnQkFBZ0I7cUJBQ2pCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBWZXJiZW5hVGFiQ29tcG9uZW50IH0gZnJvbSAnLi92ZXJiZW5hLXRhYi5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFiSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vdGFiLWl0ZW0uY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgVmVyYmVuYVRhYkNvbXBvbmVudCxcbiAgICBUYWJJdGVtQ29tcG9uZW50XG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFZlcmJlbmFUYWJDb21wb25lbnQsXG4gICAgVGFiSXRlbUNvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFZlcmJlbmFUYWJNb2R1bGUgeyB9Il19
|
|
@@ -10,7 +10,7 @@ export class VerbenaSwitchComponent {
|
|
|
10
10
|
onColor = '#4caf50'; // Default on color
|
|
11
11
|
onText = 'On'; // Text for ON state
|
|
12
12
|
offText = 'Off'; // Text for OFF state
|
|
13
|
-
width = '
|
|
13
|
+
width = '80px'; // Width of the switch
|
|
14
14
|
height = '30px'; // Height of the switch
|
|
15
15
|
customStyles = ''; // Accepts user-defined class for extra styling
|
|
16
16
|
change = new EventEmitter();
|
|
@@ -58,7 +58,7 @@ export class VerbenaSwitchComponent {
|
|
|
58
58
|
useExisting: forwardRef(() => VerbenaSwitchComponent),
|
|
59
59
|
multi: true
|
|
60
60
|
}
|
|
61
|
-
], ngImport: i0, template: "<div class=\"switch\"\n [ngClass]=\"{'disabled': disabled}\"\n [ngStyle]=\"{ 'width': width, 'height': height }\"\n (click)=\"toggleSwitch()\">\n
|
|
61
|
+
], ngImport: i0, template: "<div class=\"switch\"\n [ngClass]=\"{'disabled': disabled}\"\n [ngStyle]=\"{ 'width': width, 'height': height }\"\n (click)=\"toggleSwitch()\">\n <input type=\"checkbox\" [checked]=\"checked\" class=\"check\" (change)=\"onChangeEvent($event)\" [disabled]=\"disabled\" />\n <span class=\"slider\" \n [ngStyle]=\"{ 'background-color': checked ? onColor : offColor }\">\n <span class=\"slider-label\">{{ checked ? onText : offText }}</span>\n <span class=\"slider-knob\"></span>\n </span>\n</div>", styles: [".switch{display:inline-flex;align-items:center;cursor:pointer;position:relative;-webkit-user-select:none;user-select:none}.slider{position:relative;display:flex;align-items:center;width:100%;height:100%;background-color:#ccc;border-radius:34px;transition:background-color .2s ease;padding:0}.slider-label{position:absolute;color:#fff;font-size:12px;z-index:1;pointer-events:none;transition:all .2s ease}.slider-knob{position:absolute;height:24px;width:24px;background-color:#fff;border-radius:50%;transition:all .2s ease;top:50%;margin:0 2px;transform:translateY(-50%)}.slider-label{right:2%;padding:10px}input:checked+.slider .slider-label{left:2%}input:checked+.slider .slider-knob{right:0%}input:checked+.slider{background-color:#4caf50}.check{display:none}.disabled{cursor:not-allowed;opacity:.5}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
|
|
62
62
|
}
|
|
63
63
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: VerbenaSwitchComponent, decorators: [{
|
|
64
64
|
type: Component,
|
|
@@ -68,7 +68,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImpo
|
|
|
68
68
|
useExisting: forwardRef(() => VerbenaSwitchComponent),
|
|
69
69
|
multi: true
|
|
70
70
|
}
|
|
71
|
-
], template: "<div class=\"switch\"\n [ngClass]=\"{'disabled': disabled}\"\n [ngStyle]=\"{ 'width': width, 'height': height }\"\n (click)=\"toggleSwitch()\">\n
|
|
71
|
+
], template: "<div class=\"switch\"\n [ngClass]=\"{'disabled': disabled}\"\n [ngStyle]=\"{ 'width': width, 'height': height }\"\n (click)=\"toggleSwitch()\">\n <input type=\"checkbox\" [checked]=\"checked\" class=\"check\" (change)=\"onChangeEvent($event)\" [disabled]=\"disabled\" />\n <span class=\"slider\" \n [ngStyle]=\"{ 'background-color': checked ? onColor : offColor }\">\n <span class=\"slider-label\">{{ checked ? onText : offText }}</span>\n <span class=\"slider-knob\"></span>\n </span>\n</div>", styles: [".switch{display:inline-flex;align-items:center;cursor:pointer;position:relative;-webkit-user-select:none;user-select:none}.slider{position:relative;display:flex;align-items:center;width:100%;height:100%;background-color:#ccc;border-radius:34px;transition:background-color .2s ease;padding:0}.slider-label{position:absolute;color:#fff;font-size:12px;z-index:1;pointer-events:none;transition:all .2s ease}.slider-knob{position:absolute;height:24px;width:24px;background-color:#fff;border-radius:50%;transition:all .2s ease;top:50%;margin:0 2px;transform:translateY(-50%)}.slider-label{right:2%;padding:10px}input:checked+.slider .slider-label{left:2%}input:checked+.slider .slider-knob{right:0%}input:checked+.slider{background-color:#4caf50}.check{display:none}.disabled{cursor:not-allowed;opacity:.5}\n"] }]
|
|
72
72
|
}], propDecorators: { label: [{
|
|
73
73
|
type: Input
|
|
74
74
|
}], checked: [{
|
|
@@ -92,4 +92,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImpo
|
|
|
92
92
|
}], change: [{
|
|
93
93
|
type: Output
|
|
94
94
|
}] } });
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyYmVuYS1zd2l0Y2guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLW5nLXVpL3NyYy9saWIvdmVyYmVuYS1zd2l0Y2gvdmVyYmVuYS1zd2l0Y2guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLW5nLXVpL3NyYy9saWIvdmVyYmVuYS1zd2l0Y2gvdmVyYmVuYS1zd2l0Y2guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFjekUsTUFBTSxPQUFPLHNCQUFzQjtJQUN4QixLQUFLLEdBQVcsRUFBRSxDQUFDO0lBQ25CLE9BQU8sR0FBWSxLQUFLLENBQUM7SUFDekIsUUFBUSxHQUFZLEtBQUssQ0FBQztJQUMxQixRQUFRLEdBQVcsTUFBTSxDQUFDLENBQUMsb0JBQW9CO0lBQy9DLE9BQU8sR0FBVyxTQUFTLENBQUMsQ0FBQyxtQkFBbUI7SUFDaEQsTUFBTSxHQUFXLElBQUksQ0FBQyxDQUFDLG9CQUFvQjtJQUMzQyxPQUFPLEdBQVcsS0FBSyxDQUFDLENBQUMscUJBQXFCO0lBQzlDLEtBQUssR0FBVyxNQUFNLENBQUMsQ0FBQyxzQkFBc0I7SUFDOUMsTUFBTSxHQUFXLE1BQU0sQ0FBQyxDQUFDLHVCQUF1QjtJQUNoRCxZQUFZLEdBQVcsRUFBRSxDQUFDLENBQUMsK0NBQStDO0lBRXpFLE1BQU0sR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBRS9DLDJDQUEyQztJQUNwQyxRQUFRLEdBQTZCLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQUVyRCxpREFBaUQ7SUFDekMsU0FBUyxHQUFlLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQUV6QywyQ0FBMkM7SUFDM0MsWUFBWTtRQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDN0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pDLENBQUM7SUFDSCxDQUFDO0lBRUQseURBQXlEO0lBQ3pELFVBQVUsQ0FBQyxLQUFjO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxxRkFBcUY7SUFDckYsZ0JBQWdCLENBQUMsRUFBNEI7UUFDM0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGtGQUFrRjtJQUNsRixpQkFBaUIsQ0FBQyxFQUFjO1FBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCwrQ0FBK0M7SUFDL0MsZ0JBQWdCLENBQUMsVUFBbUI7UUFDbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7SUFDN0IsQ0FBQztJQUVELHVEQUF1RDtJQUN2RCxhQUFhLENBQUMsS0FBWTtRQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ25CLE1BQU0sT0FBTyxHQUFJLEtBQUssQ0FBQyxNQUEyQixDQUFDLE9BQU8sQ0FBQztZQUMzRCxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztZQUN2QixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsNENBQTRDO1lBQ3BFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsd0JBQXdCO1FBQ3JELENBQUM7SUFDSCxDQUFDO3dHQXpEVSxzQkFBc0I7NEZBQXRCLHNCQUFzQiw4UkFSdEI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHNCQUFzQixDQUFDO2dCQUNyRCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsMEJDYkgsMmhCQVVNOzs0RkRLTyxzQkFBc0I7a0JBWmxDLFNBQVM7K0JBQ0UsZ0JBQWdCLGFBR2Y7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsdUJBQXVCLENBQUM7NEJBQ3JELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzhCQUdRLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFSSxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2ZXJiZW5hLXN3aXRjaCcsXG4gIHRlbXBsYXRlVXJsOiAnLi92ZXJiZW5hLXN3aXRjaC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3ZlcmJlbmEtc3dpdGNoLmNvbXBvbmVudC5jc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBWZXJiZW5hU3dpdGNoQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFZlcmJlbmFTd2l0Y2hDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgY2hlY2tlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBvZmZDb2xvcjogc3RyaW5nID0gJyNjY2MnOyAvLyBEZWZhdWx0IG9mZiBjb2xvclxuICBASW5wdXQoKSBvbkNvbG9yOiBzdHJpbmcgPSAnIzRjYWY1MCc7IC8vIERlZmF1bHQgb24gY29sb3JcbiAgQElucHV0KCkgb25UZXh0OiBzdHJpbmcgPSAnT24nOyAvLyBUZXh0IGZvciBPTiBzdGF0ZVxuICBASW5wdXQoKSBvZmZUZXh0OiBzdHJpbmcgPSAnT2ZmJzsgLy8gVGV4dCBmb3IgT0ZGIHN0YXRlXG4gIEBJbnB1dCgpIHdpZHRoOiBzdHJpbmcgPSAnODBweCc7IC8vIFdpZHRoIG9mIHRoZSBzd2l0Y2hcbiAgQElucHV0KCkgaGVpZ2h0OiBzdHJpbmcgPSAnMzBweCc7IC8vIEhlaWdodCBvZiB0aGUgc3dpdGNoXG4gIEBJbnB1dCgpIGN1c3RvbVN0eWxlczogc3RyaW5nID0gJyc7IC8vIEFjY2VwdHMgdXNlci1kZWZpbmVkIGNsYXNzIGZvciBleHRyYSBzdHlsaW5nXG5cbiAgQE91dHB1dCgpIGNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAvLyBGdW5jdGlvbiB0byBjYWxsIHdoZW4gdGhlIHRvZ2dsZSBjaGFuZ2VzXG4gIHB1YmxpYyBvbkNoYW5nZTogKHZhbHVlOiBib29sZWFuKSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgLy8gRnVuY3Rpb24gdG8gY2FsbCB3aGVuIHRoZSBjb21wb25lbnQgaXMgdG91Y2hlZFxuICBwcml2YXRlIG9uVG91Y2hlZDogKCkgPT4gdm9pZCA9ICgpID0+IHt9O1xuXG4gIC8vIFRvZ2dsZSBmdW5jdGlvbiB0byBoYW5kbGUgc3dpdGNoIGNoYW5nZXNcbiAgdG9nZ2xlU3dpdGNoKCkge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5jaGVja2VkID0gIXRoaXMuY2hlY2tlZDtcbiAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5jaGVja2VkKTtcbiAgICAgIHRoaXMuY2hhbmdlLmVtaXQodGhpcy5jaGVja2VkKTtcbiAgICB9XG4gIH1cblxuICAvLyBDb250cm9sVmFsdWVBY2Nlc3NvcjogV3JpdGUgYSBuZXcgdmFsdWUgdG8gdGhlIGVsZW1lbnRcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuY2hlY2tlZCA9IHZhbHVlO1xuICB9XG5cbiAgLy8gQ29udHJvbFZhbHVlQWNjZXNzb3I6IFNldCB0aGUgZnVuY3Rpb24gdG8gYmUgY2FsbGVkIHdoZW4gdGhlIGNvbnRyb2wgdmFsdWUgY2hhbmdlc1xuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IGJvb2xlYW4pID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICAvLyBDb250cm9sVmFsdWVBY2Nlc3NvcjogU2V0IHRoZSBmdW5jdGlvbiB0byBiZSBjYWxsZWQgd2hlbiB0aGUgY29udHJvbCBpcyB0b3VjaGVkXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIC8vIENvbnRyb2xWYWx1ZUFjY2Vzc29yOiBTZXQgdGhlIGRpc2FibGVkIHN0YXRlXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cbiAgLy8gTWV0aG9kIHRvIGhhbmRsZSBpbnB1dCBjaGFuZ2UgZGlyZWN0bHkgZnJvbSB0ZW1wbGF0ZVxuICBvbkNoYW5nZUV2ZW50KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgY29uc3QgY2hlY2tlZCA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkuY2hlY2tlZDtcbiAgICAgIHRoaXMuY2hlY2tlZCA9IGNoZWNrZWQ7XG4gICAgICB0aGlzLm9uQ2hhbmdlKGNoZWNrZWQpOyAvLyBDYWxsIHRoZSBvbkNoYW5nZSBmdW5jdGlvbiB3aXRoIGEgYm9vbGVhblxuICAgICAgdGhpcy5jaGFuZ2UuZW1pdChjaGVja2VkKTsgLy8gRW1pdCB0aGUgY2hhbmdlIGV2ZW50XG4gICAgfVxuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJzd2l0Y2hcIlxuICAgICBbbmdDbGFzc109XCJ7J2Rpc2FibGVkJzogZGlzYWJsZWR9XCJcbiAgICAgW25nU3R5bGVdPVwieyAnd2lkdGgnOiB3aWR0aCwgJ2hlaWdodCc6IGhlaWdodCB9XCJcbiAgICAgKGNsaWNrKT1cInRvZ2dsZVN3aXRjaCgpXCI+XG4gICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIFtjaGVja2VkXT1cImNoZWNrZWRcIiBjbGFzcz1cImNoZWNrXCIgKGNoYW5nZSk9XCJvbkNoYW5nZUV2ZW50KCRldmVudClcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiAvPlxuICAgIDxzcGFuIGNsYXNzPVwic2xpZGVyXCIgXG4gICAgICAgICAgW25nU3R5bGVdPVwieyAnYmFja2dyb3VuZC1jb2xvcic6IGNoZWNrZWQgPyBvbkNvbG9yIDogb2ZmQ29sb3IgfVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInNsaWRlci1sYWJlbFwiPnt7IGNoZWNrZWQgPyBvblRleHQgOiBvZmZUZXh0IH19PC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInNsaWRlci1rbm9iXCI+PC9zcGFuPlxuICAgIDwvc3Bhbj5cbjwvZGl2PiJdfQ==
|