keevo-components 1.5.174 → 1.5.176
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/esm2020/lib/api/components/error/error.component.mjs +3 -3
- package/esm2020/lib/inputs/radio-group/radio-group.component.mjs +4 -3
- package/esm2020/lib/login/login.component.mjs +26 -23
- package/esm2020/lib/menu/menu.component.mjs +13 -3
- package/fesm2015/keevo-components.mjs +33 -24
- package/fesm2015/keevo-components.mjs.map +1 -1
- package/fesm2020/keevo-components.mjs +33 -24
- package/fesm2020/keevo-components.mjs.map +1 -1
- package/lib/login/login.component.d.ts +11 -14
- package/lib/menu/menu.component.d.ts +5 -0
- package/package.json +1 -1
|
@@ -13,14 +13,14 @@ export class ErrorComponent {
|
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
15
|
ErrorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
16
|
-
ErrorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: ErrorComponent, selector: "kv-error", inputs: { formControl: "formControl", setHasError: ["hasError", "setHasError"] }, ngImport: i0, template: "<small id=\"error-message\" class=\"p-error block\" style=\"height:
|
|
16
|
+
ErrorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: ErrorComponent, selector: "kv-error", inputs: { formControl: "formControl", setHasError: ["hasError", "setHasError"] }, ngImport: i0, template: "<small id=\"error-message\" class=\"p-error block\" style=\"height: 0px !important;\" >\r\n <ng-content *ngIf=\"hasError\"></ng-content>\r\n</small>\r\n", styles: ["#error-message{left:1px;font-size:.8rem!important;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol!important}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
17
17
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ErrorComponent, decorators: [{
|
|
18
18
|
type: Component,
|
|
19
|
-
args: [{ selector: 'kv-error', template: "<small id=\"error-message\" class=\"p-error block\" style=\"height:
|
|
19
|
+
args: [{ selector: 'kv-error', template: "<small id=\"error-message\" class=\"p-error block\" style=\"height: 0px !important;\" >\r\n <ng-content *ngIf=\"hasError\"></ng-content>\r\n</small>\r\n", styles: ["#error-message{left:1px;font-size:.8rem!important;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol!important}\n"] }]
|
|
20
20
|
}], ctorParameters: function () { return []; }, propDecorators: { formControl: [{
|
|
21
21
|
type: Input
|
|
22
22
|
}], setHasError: [{
|
|
23
23
|
type: Input,
|
|
24
24
|
args: ['hasError']
|
|
25
25
|
}] } });
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2FwaS9jb21wb25lbnRzL2Vycm9yL2Vycm9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9hcGkvY29tcG9uZW50cy9lcnJvci9lcnJvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVEvRCxNQUFNLE9BQU8sY0FBYztJQUt6QixJQUF1QixXQUFXLENBQUMsS0FBMEI7UUFDM0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUFBLENBQUM7SUFJRjtRQVhPLGFBQVEsR0FBd0IsS0FBSyxDQUFDO1FBUzdDLGNBQVMsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUUvQyxDQUFDOzsyR0FaTixjQUFjOytGQUFkLGNBQWMsa0lDUjNCLDJKQUdBOzJGREthLGNBQWM7a0JBTDFCLFNBQVM7K0JBQ0UsVUFBVTswRUFPWCxXQUFXO3NCQUFuQixLQUFLO2dCQUVpQixXQUFXO3NCQUFqQyxLQUFLO3VCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2t2LWVycm9yJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZXJyb3IuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2Vycm9yLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEVycm9yQ29tcG9uZW50IHtcclxuICBwdWJsaWMgaGFzRXJyb3I6IGJvb2xlYW4gfCB1bmRlZmluZWQgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgZm9ybUNvbnRyb2whOiBGb3JtQ29udHJvbDtcclxuXHJcbiAgQElucHV0KCdoYXNFcnJvcicpIHNldCBzZXRIYXNFcnJvcih2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xyXG4gICAgdGhpcy5oYXNFcnJvciA9IHZhbHVlO1xyXG4gICAgdGhpcy5lbWl0RXJyb3IuZW1pdCh2YWx1ZSk7XHJcbiAgfTtcclxuXHJcbiAgZW1pdEVycm9yOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2FwaS9jb21wb25lbnRzL2Vycm9yL2Vycm9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9hcGkvY29tcG9uZW50cy9lcnJvci9lcnJvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVEvRCxNQUFNLE9BQU8sY0FBYztJQUt6QixJQUF1QixXQUFXLENBQUMsS0FBMEI7UUFDM0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUFBLENBQUM7SUFJRjtRQVhPLGFBQVEsR0FBd0IsS0FBSyxDQUFDO1FBUzdDLGNBQVMsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUUvQyxDQUFDOzsyR0FaTixjQUFjOytGQUFkLGNBQWMsa0lDUjNCLDJKQUdBOzJGREthLGNBQWM7a0JBTDFCLFNBQVM7K0JBQ0UsVUFBVTswRUFPWCxXQUFXO3NCQUFuQixLQUFLO2dCQUVpQixXQUFXO3NCQUFqQyxLQUFLO3VCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2t2LWVycm9yJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZXJyb3IuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2Vycm9yLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEVycm9yQ29tcG9uZW50IHtcclxuICBwdWJsaWMgaGFzRXJyb3I6IGJvb2xlYW4gfCB1bmRlZmluZWQgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgZm9ybUNvbnRyb2whOiBGb3JtQ29udHJvbDtcclxuXHJcbiAgQElucHV0KCdoYXNFcnJvcicpIHNldCBzZXRIYXNFcnJvcih2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xyXG4gICAgdGhpcy5oYXNFcnJvciA9IHZhbHVlO1xyXG4gICAgdGhpcy5lbWl0RXJyb3IuZW1pdCh2YWx1ZSk7XHJcbiAgfTtcclxuXHJcbiAgZW1pdEVycm9yOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcbn1cclxuIiwiPHNtYWxsIGlkPVwiZXJyb3ItbWVzc2FnZVwiIGNsYXNzPVwicC1lcnJvciBibG9ja1wiIHN0eWxlPVwiaGVpZ2h0OiAwcHggIWltcG9ydGFudDtcIiA+XHJcbiAgPG5nLWNvbnRlbnQgKm5nSWY9XCJoYXNFcnJvclwiPjwvbmctY29udGVudD5cclxuPC9zbWFsbD5cclxuIl19
|
|
@@ -7,6 +7,7 @@ import * as i2 from "@angular/common";
|
|
|
7
7
|
import * as i3 from "@angular/forms";
|
|
8
8
|
import * as i4 from "../../api/components/error/error.component";
|
|
9
9
|
import * as i5 from "primeng/radiobutton";
|
|
10
|
+
import * as i6 from "../../label/label.component";
|
|
10
11
|
export class RadioGroupComponent extends BaseComponentInput {
|
|
11
12
|
constructor(componentService) {
|
|
12
13
|
super(componentService);
|
|
@@ -36,10 +37,10 @@ export class RadioGroupComponent extends BaseComponentInput {
|
|
|
36
37
|
}
|
|
37
38
|
}
|
|
38
39
|
RadioGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RadioGroupComponent, deps: [{ token: i1.ComponentService }], target: i0.ɵɵFactoryTarget.Component });
|
|
39
|
-
RadioGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: RadioGroupComponent, selector: "kv-radio-group", inputs: { options: "options", optionValueDefault: "optionValueDefault", vertical: "vertical" }, outputs: { onSelectedOption: "onSelectedOption" }, providers: ComponentProviders(RadioGroupComponent), usesInheritance: true, ngImport: i0, template: "<div [class.vertical-radio-group]=\"vertical\">\r\n <div class=\"option\" *ngFor=\"let option of options\">\r\n <p-radioButton
|
|
40
|
+
RadioGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: RadioGroupComponent, selector: "kv-radio-group", inputs: { options: "options", optionValueDefault: "optionValueDefault", vertical: "vertical" }, outputs: { onSelectedOption: "onSelectedOption" }, providers: ComponentProviders(RadioGroupComponent), usesInheritance: true, ngImport: i0, template: "<kv-label [label]=\"label\" />\r\n<div [class.vertical-radio-group]=\"vertical\">\r\n <div class=\"option\" *ngFor=\"let option of options; let isFirst = first\">\r\n <p-radioButton\r\n [inputId]=\"option.id\"\r\n name=\"option\"\r\n [value]=\"option\"\r\n [(ngModel)]=\"selectedOpt\"\r\n (onClick)=\"selectedOption($event)\"\r\n [disabled]=\"disabled\"\r\n [class.ml-3]=\"!isFirst && !vertical\"\r\n >\r\n </p-radioButton>\r\n <label [for]=\"option.id\" class=\"radio-option-label\">\r\n {{ option.description }}</label\r\n >\r\n </div>\r\n <kv-error [hasError]=\"hasControlError()\">{{ erroMessage() }}</kv-error>\r\n</div>\r\n", styles: [".option{display:inline-block;margin:0;height:35px;padding-top:.75rem}.vertical-radio-group{display:flex;flex-direction:column}.radio-option-label{font-size:1rem}\n", "label{font-family:Roboto,Arial,Helvetica,sans-serif}:host ::ng-deep .inputs{height:35px}*{margin:0}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.ErrorComponent, selector: "kv-error", inputs: ["formControl", "hasError"] }, { kind: "component", type: i5.RadioButton, selector: "p-radioButton", inputs: ["value", "formControlName", "name", "disabled", "label", "tabindex", "inputId", "ariaLabelledBy", "ariaLabel", "style", "styleClass", "labelStyleClass"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: i6.LabelComponent, selector: "kv-label", inputs: ["componentId", "label"] }] });
|
|
40
41
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: RadioGroupComponent, decorators: [{
|
|
41
42
|
type: Component,
|
|
42
|
-
args: [{ selector: 'kv-radio-group', providers: ComponentProviders(RadioGroupComponent), template: "<div [class.vertical-radio-group]=\"vertical\">\r\n <div class=\"option\" *ngFor=\"let option of options\">\r\n <p-radioButton
|
|
43
|
+
args: [{ selector: 'kv-radio-group', providers: ComponentProviders(RadioGroupComponent), template: "<kv-label [label]=\"label\" />\r\n<div [class.vertical-radio-group]=\"vertical\">\r\n <div class=\"option\" *ngFor=\"let option of options; let isFirst = first\">\r\n <p-radioButton\r\n [inputId]=\"option.id\"\r\n name=\"option\"\r\n [value]=\"option\"\r\n [(ngModel)]=\"selectedOpt\"\r\n (onClick)=\"selectedOption($event)\"\r\n [disabled]=\"disabled\"\r\n [class.ml-3]=\"!isFirst && !vertical\"\r\n >\r\n </p-radioButton>\r\n <label [for]=\"option.id\" class=\"radio-option-label\">\r\n {{ option.description }}</label\r\n >\r\n </div>\r\n <kv-error [hasError]=\"hasControlError()\">{{ erroMessage() }}</kv-error>\r\n</div>\r\n", styles: [".option{display:inline-block;margin:0;height:35px;padding-top:.75rem}.vertical-radio-group{display:flex;flex-direction:column}.radio-option-label{font-size:1rem}\n", "label{font-family:Roboto,Arial,Helvetica,sans-serif}:host ::ng-deep .inputs{height:35px}*{margin:0}\n"] }]
|
|
43
44
|
}], ctorParameters: function () { return [{ type: i1.ComponentService }]; }, propDecorators: { options: [{
|
|
44
45
|
type: Input
|
|
45
46
|
}], optionValueDefault: [{
|
|
@@ -49,4 +50,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
|
|
|
49
50
|
}], vertical: [{
|
|
50
51
|
type: Input
|
|
51
52
|
}] } });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2lucHV0cy9yYWRpby1ncm91cC9yYWRpby1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZWV2by1jb21wb25lbnRzL3NyYy9saWIvaW5wdXRzL3JhZGlvLWdyb3VwL3JhZGlvLWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVcsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFFcEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7Ozs7Ozs7O0FBUzNFLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxrQkFBdUI7SUFlOUQsWUFBWSxnQkFBa0M7UUFDNUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFkakIsWUFBTyxHQUFVO1lBQ3hCLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFDO1lBQzVCLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFDO1NBQzdCLENBQUM7UUFJUSxxQkFBZ0IsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUUxRCxhQUFRLEdBQVksS0FBSyxDQUFDO1FBRW5DLGdCQUFXLEdBQVEsSUFBSSxDQUFDO0lBSXhCLENBQUM7SUFFUSxRQUFRO1FBQ2YsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxJQUFJLENBQUMsa0JBQWtCLElBQUksU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUM3RCxJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7WUFDeEUsSUFBSSxJQUFJO2dCQUFFLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1NBQ25DO0lBQ0gsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFVO1FBQ3ZCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM3QyxDQUFDOztnSEFwQ1UsbUJBQW1CO29HQUFuQixtQkFBbUIsNExBRm5CLGtCQUFrQixDQUFDLG1CQUFtQixDQUFDLGlEQ1ZwRCxpckJBbUJBOzJGRFBhLG1CQUFtQjtrQkFOL0IsU0FBUzsrQkFDRSxnQkFBZ0IsYUFHZixrQkFBa0IscUJBQXFCO3VHQUl6QyxPQUFPO3NCQUFmLEtBQUs7Z0JBS0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUVJLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFFRSxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBEb0NoZWNrLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50SW5wdXQgfSBmcm9tICcuLi8uLi9hcGkvYmFzZS1jb21wb25lbnRzL2Jhc2UtY29tcG9uZW50LWlucHV0JztcclxuaW1wb3J0IHsgQ29tcG9uZW50U2VydmljZSB9IGZyb20gJy4uLy4uL2FwaS9zZXJ2aWNlcy9jb21wb25lbnQuc2VydmljZSc7XHJcbmltcG9ydCB7IENvbXBvbmVudFByb3ZpZGVycyB9IGZyb20gJy4uLy4uL2FwaS9oZWxwZXJzL2NvbXBvbmVudC1wcm92aWRlcnMnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAna3YtcmFkaW8tZ3JvdXAnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9yYWRpby1ncm91cC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcmFkaW8tZ3JvdXAuY29tcG9uZW50LnNjc3MnLCAnLi4vLi4vc3R5bGVzLWNvbXBvbmVudHMuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogQ29tcG9uZW50UHJvdmlkZXJzKFJhZGlvR3JvdXBDb21wb25lbnQpLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmFkaW9Hcm91cENvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnRJbnB1dDxhbnk+IGltcGxlbWVudHMgT25Jbml0LCBEb0NoZWNrIHtcclxuXHJcbiAgQElucHV0KCkgb3B0aW9uczogYW55W10gPSBbXHJcbiAgICB7IGlkOiAwLCBkZXNjcmlwdGlvbjogJ07Do28nfSxcclxuICAgIHsgaWQ6IDEsIGRlc2NyaXB0aW9uOiAnU2ltJ30sXHJcbiAgXTtcclxuXHJcbiAgQElucHV0KCkgb3B0aW9uVmFsdWVEZWZhdWx0ITogYW55XHJcblxyXG4gIEBPdXRwdXQoKSBvblNlbGVjdGVkT3B0aW9uOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQElucHV0KCkgdmVydGljYWw6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgc2VsZWN0ZWRPcHQ6IGFueSA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGNvbXBvbmVudFNlcnZpY2U6IENvbXBvbmVudFNlcnZpY2UpIHtcclxuICAgIHN1cGVyKGNvbXBvbmVudFNlcnZpY2UpO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkRGVmYXVsdCgpO1xyXG4gIH1cclxuXHJcbiAgbmdEb0NoZWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZERlZmF1bHQoKTtcclxuICB9XHJcblxyXG4gIHNlbGVjdGVkRGVmYXVsdCgpIHtcclxuICAgIGlmICh0aGlzLm9wdGlvblZhbHVlRGVmYXVsdCAhPSB1bmRlZmluZWQgJiYgIXRoaXMuc2VsZWN0ZWRPcHQpIHtcclxuICAgICAgbGV0IGl0ZW0gPSB0aGlzLm9wdGlvbnMuZmluZChvcHQgPT4gb3B0LmlkID09PSB0aGlzLm9wdGlvblZhbHVlRGVmYXVsdCk7XHJcbiAgICAgIGlmIChpdGVtKSB0aGlzLnNlbGVjdGVkT3B0ID0gaXRlbTsgICAgICBcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNlbGVjdGVkT3B0aW9uKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMub25TZWxlY3RlZE9wdGlvbi5lbWl0KGV2ZW50LnZhbHVlLmlkKTtcclxuICB9XHJcbn1cclxuIiwiPGt2LWxhYmVsIFtsYWJlbF09XCJsYWJlbFwiIC8+XHJcbjxkaXYgW2NsYXNzLnZlcnRpY2FsLXJhZGlvLWdyb3VwXT1cInZlcnRpY2FsXCI+XHJcbiAgPGRpdiBjbGFzcz1cIm9wdGlvblwiICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uczsgbGV0IGlzRmlyc3QgPSBmaXJzdFwiPlxyXG4gICAgPHAtcmFkaW9CdXR0b25cclxuICAgICAgW2lucHV0SWRdPVwib3B0aW9uLmlkXCJcclxuICAgICAgbmFtZT1cIm9wdGlvblwiXHJcbiAgICAgIFt2YWx1ZV09XCJvcHRpb25cIlxyXG4gICAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkT3B0XCJcclxuICAgICAgKG9uQ2xpY2spPVwic2VsZWN0ZWRPcHRpb24oJGV2ZW50KVwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgIFtjbGFzcy5tbC0zXT1cIiFpc0ZpcnN0ICYmICF2ZXJ0aWNhbFwiXHJcbiAgICA+XHJcbiAgICA8L3AtcmFkaW9CdXR0b24+XHJcbiAgICA8bGFiZWwgW2Zvcl09XCJvcHRpb24uaWRcIiBjbGFzcz1cInJhZGlvLW9wdGlvbi1sYWJlbFwiPlxyXG4gICAgICB7eyBvcHRpb24uZGVzY3JpcHRpb24gfX08L2xhYmVsXHJcbiAgICA+XHJcbiAgPC9kaXY+XHJcbiAgPGt2LWVycm9yIFtoYXNFcnJvcl09XCJoYXNDb250cm9sRXJyb3IoKVwiPnt7IGVycm9NZXNzYWdlKCkgfX08L2t2LWVycm9yPlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -1,41 +1,44 @@
|
|
|
1
1
|
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { BaseComponentCrudForm } from '../api/base-components/base-component-crud-form';
|
|
3
|
+
import { KeevoValidators } from '../../public-api';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "
|
|
5
|
-
import * as i2 from "../
|
|
6
|
-
import * as i3 from "
|
|
5
|
+
import * as i1 from "primeng/dynamicdialog";
|
|
6
|
+
import * as i2 from "../api/services/notification.service";
|
|
7
|
+
import * as i3 from "@angular/router";
|
|
8
|
+
import * as i4 from "@angular/forms";
|
|
9
|
+
import * as i5 from "../inputs/input-password/input-password.component";
|
|
10
|
+
import * as i6 from "../inputs/input-text/input-text.component";
|
|
7
11
|
/**
|
|
8
12
|
* Componente de login personalizado.
|
|
9
13
|
* Este componente permite que os usuários façam login no sistema utilizando o estilo padrão dos sistemas Keevo.
|
|
10
14
|
*/
|
|
11
|
-
export class LoginComponent {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
* @param formBuilder O construtor de formulários do Angular.
|
|
15
|
-
*/
|
|
16
|
-
constructor(formBuilder) {
|
|
15
|
+
export class LoginComponent extends BaseComponentCrudForm {
|
|
16
|
+
constructor(dialogService, notificationService, activatedRoute, dynamicDialogRef, dynamicDialogConfig, router, formBuilder) {
|
|
17
|
+
super(dialogService, notificationService, activatedRoute, dynamicDialogRef, dynamicDialogConfig, router);
|
|
17
18
|
this.formBuilder = formBuilder;
|
|
18
19
|
/** Evento emitido quando o usuário faz login. */
|
|
19
20
|
this.onLogin = new EventEmitter();
|
|
20
21
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
senha: ['', Validators.required]
|
|
22
|
+
configureForm() {
|
|
23
|
+
this.formGroup = this.formBuilder.group({
|
|
24
|
+
usuario: ['', KeevoValidators.required('Campo obrigatório')],
|
|
25
|
+
senha: ['', KeevoValidators.required('Campo obrigatório')]
|
|
26
26
|
});
|
|
27
27
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
loadForm(id) {
|
|
29
|
+
}
|
|
30
|
+
save() {
|
|
31
|
+
if (this.validateForm()) {
|
|
32
|
+
this.onLogin.emit(this.formGroup.value);
|
|
33
|
+
}
|
|
31
34
|
}
|
|
32
35
|
}
|
|
33
|
-
LoginComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: LoginComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
|
|
34
|
-
LoginComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: LoginComponent, selector: "kv-login", inputs: { Background: "Background", SystemLogo: "SystemLogo", SystemColorPrimary: "SystemColorPrimary", SystemColorSecondary: "SystemColorSecondary" }, outputs: { onLogin: "onLogin" }, ngImport: i0, template: "<div id=\"kvLogin-container\"\r\n class=\"flex justify-content-center align-items-center flex-column h-screen \" \r\n [style.background-image]=\"'url(' + Background + ')'\">\r\n\r\n <!-- CARD PRINCIPAL -->\r\n <div [formGroup]=\"
|
|
36
|
+
LoginComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: LoginComponent, deps: [{ token: i1.DialogService }, { token: i2.NotificationService }, { token: i3.ActivatedRoute }, { token: i1.DynamicDialogRef }, { token: i1.DynamicDialogConfig }, { token: i3.Router }, { token: i4.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
|
|
37
|
+
LoginComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: LoginComponent, selector: "kv-login", inputs: { Background: "Background", SystemLogo: "SystemLogo", SystemColorPrimary: "SystemColorPrimary", SystemColorSecondary: "SystemColorSecondary" }, outputs: { onLogin: "onLogin" }, usesInheritance: true, ngImport: i0, template: "<div id=\"kvLogin-container\"\r\n class=\"flex justify-content-center align-items-center flex-column h-screen \" \r\n [style.background-image]=\"'url(' + Background + ')'\">\r\n\r\n <!-- CARD PRINCIPAL -->\r\n <div [formGroup]=\" formGroup\"\r\n class=\"flex flex-column align-items-center justify-content-between bg-white border-round-xl \"\r\n [style.width.rem]=\"19\" [style.height.px]=\"435\"\r\n (keydown.enter)=\"save()\">\r\n\r\n <!-- LOGO DO SISTEMA -->\r\n <div class=\"flex flex-row align-items-center justify-content-center p-3 mt-2\">\r\n <img alt=\"Logo do Sistema\" [style.height.rem]=\"4\" [src]=\"SystemLogo\" />\r\n </div>\r\n\r\n <!-- INFORMA\u00C7\u00D5ES CENTRAIS -->\r\n <div class=\" grid formgrid p-fluid gap-2 p-3\">\r\n\r\n <div class=\" w-full \" class=\"mb-2\">\r\n <img [style.height.rem]=\"2.5\" class=\"ml-2\" alt=\"keepass\" src=\"https://work-assets.keevo.com.br/img/keepass-logo.png\" />\r\n </div>\r\n\r\n <kv-input-text componentId=\"usuario\" label=\"CPF ou Email\" formControlName=\"usuario\" class=\"field col-12\">\r\n </kv-input-text>\r\n\r\n <kv-input-password componentId=\"senha\" label=\"Senha\" [toggleMask]=\"true\" formControlName=\"senha\"\r\n [required]=\"true\" class=\"field col-12\">\r\n </kv-input-password>\r\n\r\n <div class=\"flex w-full justify-content-end mb-2\" id=\"kvLogin-esqueceu-senha\">\r\n <a href=\"https://keepass.seg.br/redefinirsenha\" target=\"_blank\" style=\"font-size: smaller;\" [style.color]=\"SystemColorPrimary\">\r\n Esqueceu a senha?\r\n </a>\r\n </div>\r\n\r\n </div>\r\n\r\n <button \r\n id=\"kvLogin-login-button\" \r\n [style.background-color]=\"SystemColorPrimary\" \r\n [style.color]=\"'white'\" \r\n class=\"w-full \" \r\n (click)=\"save()\"\r\n [style.height.px]=\"50\"\r\n ><strong>Login</strong></button>\r\n </div>\r\n\r\n <div id=\"kvLogin-cadastro\">\r\n <p [style.color]=\"SystemColorSecondary\">\r\n N\u00E3o possui um Evopass? \r\n <a href=\"https://keepass.seg.br/cadastrar\" target=\"_blank\" [style.color]=\"SystemColorSecondary\" >\r\n Cadastre-se\r\n </a>\r\n </p>\r\n </div>\r\n\r\n <div class=\"flex justify-content-center align-items-center mt-5\">\r\n <img src=\"https://work-assets.keevo.com.br/img/keevo-logo.png\" [style.height.rem]=\"4\" />\r\n </div>\r\n\r\n</div>", styles: ["#kvLogin-container{font-family:Roboto,Helvetica Neue,sans-serif!important;background:no-repeat center;background-size:cover}#kvLogin-esqueceu-senha{position:relative;bottom:.5rem;padding-right:10px}#kvLogin-esqueceu-senha a,#kvLogin-cadastro a{text-decoration:none;font-weight:500;cursor:pointer;gap:3px;transition:text-shadow .2s ease-in-out}#kvLogin-esqueceu-senha a:hover,#kvLogin-cadastro a:hover{text-shadow:0 0 2px rgba(158,158,158,.692)}#kvLogin-login-button{width:100%;height:3rem!important;border-radius:0 0 10px 10px;border:none;cursor:pointer;font-size:14px;transition:all ease-in .2s;-webkit-transition:all ease-in .2s;-moz-transition:all ease-in .2s;-ms-transition:all ease-in .2s;-o-transition:all ease-in .2s}#kvLogin-login-button:hover{opacity:.9}\n"], dependencies: [{ kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5.InputPasswordComponent, selector: "kv-input-password", inputs: ["feedback", "mediumRegex", "strongRegex", "toggleMask"] }, { kind: "component", type: i6.InputTextComponent, selector: "kv-input-text" }] });
|
|
35
38
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: LoginComponent, decorators: [{
|
|
36
39
|
type: Component,
|
|
37
|
-
args: [{ selector: 'kv-login', template: "<div id=\"kvLogin-container\"\r\n class=\"flex justify-content-center align-items-center flex-column h-screen \" \r\n [style.background-image]=\"'url(' + Background + ')'\">\r\n\r\n <!-- CARD PRINCIPAL -->\r\n <div [formGroup]=\"
|
|
38
|
-
}], ctorParameters: function () { return [{ type: i1.FormBuilder }]; }, propDecorators: { Background: [{
|
|
40
|
+
args: [{ selector: 'kv-login', template: "<div id=\"kvLogin-container\"\r\n class=\"flex justify-content-center align-items-center flex-column h-screen \" \r\n [style.background-image]=\"'url(' + Background + ')'\">\r\n\r\n <!-- CARD PRINCIPAL -->\r\n <div [formGroup]=\" formGroup\"\r\n class=\"flex flex-column align-items-center justify-content-between bg-white border-round-xl \"\r\n [style.width.rem]=\"19\" [style.height.px]=\"435\"\r\n (keydown.enter)=\"save()\">\r\n\r\n <!-- LOGO DO SISTEMA -->\r\n <div class=\"flex flex-row align-items-center justify-content-center p-3 mt-2\">\r\n <img alt=\"Logo do Sistema\" [style.height.rem]=\"4\" [src]=\"SystemLogo\" />\r\n </div>\r\n\r\n <!-- INFORMA\u00C7\u00D5ES CENTRAIS -->\r\n <div class=\" grid formgrid p-fluid gap-2 p-3\">\r\n\r\n <div class=\" w-full \" class=\"mb-2\">\r\n <img [style.height.rem]=\"2.5\" class=\"ml-2\" alt=\"keepass\" src=\"https://work-assets.keevo.com.br/img/keepass-logo.png\" />\r\n </div>\r\n\r\n <kv-input-text componentId=\"usuario\" label=\"CPF ou Email\" formControlName=\"usuario\" class=\"field col-12\">\r\n </kv-input-text>\r\n\r\n <kv-input-password componentId=\"senha\" label=\"Senha\" [toggleMask]=\"true\" formControlName=\"senha\"\r\n [required]=\"true\" class=\"field col-12\">\r\n </kv-input-password>\r\n\r\n <div class=\"flex w-full justify-content-end mb-2\" id=\"kvLogin-esqueceu-senha\">\r\n <a href=\"https://keepass.seg.br/redefinirsenha\" target=\"_blank\" style=\"font-size: smaller;\" [style.color]=\"SystemColorPrimary\">\r\n Esqueceu a senha?\r\n </a>\r\n </div>\r\n\r\n </div>\r\n\r\n <button \r\n id=\"kvLogin-login-button\" \r\n [style.background-color]=\"SystemColorPrimary\" \r\n [style.color]=\"'white'\" \r\n class=\"w-full \" \r\n (click)=\"save()\"\r\n [style.height.px]=\"50\"\r\n ><strong>Login</strong></button>\r\n </div>\r\n\r\n <div id=\"kvLogin-cadastro\">\r\n <p [style.color]=\"SystemColorSecondary\">\r\n N\u00E3o possui um Evopass? \r\n <a href=\"https://keepass.seg.br/cadastrar\" target=\"_blank\" [style.color]=\"SystemColorSecondary\" >\r\n Cadastre-se\r\n </a>\r\n </p>\r\n </div>\r\n\r\n <div class=\"flex justify-content-center align-items-center mt-5\">\r\n <img src=\"https://work-assets.keevo.com.br/img/keevo-logo.png\" [style.height.rem]=\"4\" />\r\n </div>\r\n\r\n</div>", styles: ["#kvLogin-container{font-family:Roboto,Helvetica Neue,sans-serif!important;background:no-repeat center;background-size:cover}#kvLogin-esqueceu-senha{position:relative;bottom:.5rem;padding-right:10px}#kvLogin-esqueceu-senha a,#kvLogin-cadastro a{text-decoration:none;font-weight:500;cursor:pointer;gap:3px;transition:text-shadow .2s ease-in-out}#kvLogin-esqueceu-senha a:hover,#kvLogin-cadastro a:hover{text-shadow:0 0 2px rgba(158,158,158,.692)}#kvLogin-login-button{width:100%;height:3rem!important;border-radius:0 0 10px 10px;border:none;cursor:pointer;font-size:14px;transition:all ease-in .2s;-webkit-transition:all ease-in .2s;-moz-transition:all ease-in .2s;-ms-transition:all ease-in .2s;-o-transition:all ease-in .2s}#kvLogin-login-button:hover{opacity:.9}\n"] }]
|
|
41
|
+
}], ctorParameters: function () { return [{ type: i1.DialogService }, { type: i2.NotificationService }, { type: i3.ActivatedRoute }, { type: i1.DynamicDialogRef }, { type: i1.DynamicDialogConfig }, { type: i3.Router }, { type: i4.FormBuilder }]; }, propDecorators: { Background: [{
|
|
39
42
|
type: Input
|
|
40
43
|
}], SystemLogo: [{
|
|
41
44
|
type: Input
|
|
@@ -46,4 +49,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
|
|
|
46
49
|
}], onLogin: [{
|
|
47
50
|
type: Output
|
|
48
51
|
}] } });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2xvZ2luL2xvZ2luLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9sb2dpbi9sb2dpbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9FLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBSXhGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7Ozs7QUFFbkQ7OztHQUdHO0FBTUgsTUFBTSxPQUFPLGNBQWUsU0FBUSxxQkFBcUI7SUFhdkQsWUFDRSxhQUE0QixFQUM1QixtQkFBd0MsRUFDeEMsY0FBOEIsRUFDOUIsZ0JBQWtDLEVBQ2xDLG1CQUF3QyxFQUN4QyxNQUFjLEVBQ04sV0FBd0I7UUFDaEMsS0FBSyxDQUNILGFBQWEsRUFDYixtQkFBbUIsRUFDbkIsY0FBYyxFQUNkLGdCQUFnQixFQUNoQixtQkFBbUIsRUFDbkIsTUFBTSxDQUNQLENBQUE7UUFSTyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQVZsQyxpREFBaUQ7UUFDdkMsWUFBTyxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO0lBa0IvRCxDQUFDO0lBRVEsYUFBYTtRQUNwQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO1lBQ3RDLE9BQU8sRUFBRSxDQUFDLEVBQUUsRUFBRSxlQUFlLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDNUQsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLGVBQWUsQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsQ0FBQztTQUMzRCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRVEsUUFBUSxDQUFDLEVBQU87SUFFekIsQ0FBQztJQUVRLElBQUk7UUFDWCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFBRTtZQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3pDO0lBQ0gsQ0FBQzs7MkdBOUNVLGNBQWM7K0ZBQWQsY0FBYyxnUUNqQjNCLHFvRkE0RE07MkZEM0NPLGNBQWM7a0JBTDFCLFNBQVM7K0JBQ0UsVUFBVTttUkFPWCxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsa0JBQWtCO3NCQUExQixLQUFLO2dCQUVHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFFSSxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1CdWlsZGVyLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50Q3J1ZEZvcm0gfSBmcm9tICcuLi9hcGkvYmFzZS1jb21wb25lbnRzL2Jhc2UtY29tcG9uZW50LWNydWQtZm9ybSc7XHJcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UsIER5bmFtaWNEaWFsb2dDb25maWcsIER5bmFtaWNEaWFsb2dSZWYgfSBmcm9tICdwcmltZW5nL2R5bmFtaWNkaWFsb2cnO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vYXBpL3NlcnZpY2VzL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEtlZXZvVmFsaWRhdG9ycyB9IGZyb20gJy4uLy4uL3B1YmxpYy1hcGknO1xyXG5cclxuLyoqXHJcbiAqIENvbXBvbmVudGUgZGUgbG9naW4gcGVyc29uYWxpemFkby5cclxuICogRXN0ZSBjb21wb25lbnRlIHBlcm1pdGUgcXVlIG9zIHVzdcOhcmlvcyBmYcOnYW0gbG9naW4gbm8gc2lzdGVtYSB1dGlsaXphbmRvIG8gZXN0aWxvIHBhZHLDo28gZG9zIHNpc3RlbWFzIEtlZXZvLlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdrdi1sb2dpbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xvZ2luLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9sb2dpbi5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMb2dpbkNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnRDcnVkRm9ybSB7XHJcblxyXG4gIC8qKiBVUkwgZGEgaW1hZ2VtIGRlIGZ1bmRvIGRvIGNvbXBvbmVudGUuICovXHJcbiAgQElucHV0KCkgQmFja2dyb3VuZCE6IGFueTtcclxuICAvKiogVVJMIGRvIGxvZ28gZG8gc2lzdGVtYS4gKi9cclxuICBASW5wdXQoKSBTeXN0ZW1Mb2dvITogYW55O1xyXG4gIC8qKiBDb3IgcHJpbcOhcmlhIGRvIHNpc3RlbWEuICovXHJcbiAgQElucHV0KCkgU3lzdGVtQ29sb3JQcmltYXJ5ITogc3RyaW5nO1xyXG4gIC8qKiBDb3Igc2VjdW5kw6FyaWEgZG8gc2lzdGVtYS4gKi9cclxuICBASW5wdXQoKSBTeXN0ZW1Db2xvclNlY29uZGFyeSE6IHN0cmluZztcclxuICAvKiogRXZlbnRvIGVtaXRpZG8gcXVhbmRvIG8gdXN1w6FyaW8gZmF6IGxvZ2luLiAqL1xyXG4gIEBPdXRwdXQoKSBvbkxvZ2luOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXHJcbiAgICBub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlLFxyXG4gICAgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgZHluYW1pY0RpYWxvZ1JlZjogRHluYW1pY0RpYWxvZ1JlZixcclxuICAgIGR5bmFtaWNEaWFsb2dDb25maWc6IER5bmFtaWNEaWFsb2dDb25maWcsXHJcbiAgICByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyKSB7XHJcbiAgICBzdXBlcihcclxuICAgICAgZGlhbG9nU2VydmljZSxcclxuICAgICAgbm90aWZpY2F0aW9uU2VydmljZSxcclxuICAgICAgYWN0aXZhdGVkUm91dGUsXHJcbiAgICAgIGR5bmFtaWNEaWFsb2dSZWYsXHJcbiAgICAgIGR5bmFtaWNEaWFsb2dDb25maWcsXHJcbiAgICAgIHJvdXRlclxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgY29uZmlndXJlRm9ybSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybUdyb3VwID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XHJcbiAgICAgIHVzdWFyaW86IFsnJywgS2Vldm9WYWxpZGF0b3JzLnJlcXVpcmVkKCdDYW1wbyBvYnJpZ2F0w7NyaW8nKV0sXHJcbiAgICAgIHNlbmhhOiBbJycsIEtlZXZvVmFsaWRhdG9ycy5yZXF1aXJlZCgnQ2FtcG8gb2JyaWdhdMOzcmlvJyldXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIGxvYWRGb3JtKGlkOiBhbnkpOiB2b2lkIHtcclxuXHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBzYXZlKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMudmFsaWRhdGVGb3JtKCkpIHtcclxuICAgICAgdGhpcy5vbkxvZ2luLmVtaXQodGhpcy5mb3JtR3JvdXAudmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGlkPVwia3ZMb2dpbi1jb250YWluZXJcIlxyXG4gICAgY2xhc3M9XCJmbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uIGgtc2NyZWVuIFwiIFxyXG4gICAgW3N0eWxlLmJhY2tncm91bmQtaW1hZ2VdPVwiJ3VybCgnICsgQmFja2dyb3VuZCArICcpJ1wiPlxyXG5cclxuICAgIDwhLS0gQ0FSRCBQUklOQ0lQQUwgLS0+XHJcbiAgICA8ZGl2IFtmb3JtR3JvdXBdPVwiIGZvcm1Hcm91cFwiXHJcbiAgICAgICAgY2xhc3M9XCJmbGV4IGZsZXgtY29sdW1uIGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBiZy13aGl0ZSBib3JkZXItcm91bmQteGwgXCJcclxuICAgICAgICBbc3R5bGUud2lkdGgucmVtXT1cIjE5XCIgW3N0eWxlLmhlaWdodC5weF09XCI0MzVcIlxyXG4gICAgICAgIChrZXlkb3duLmVudGVyKT1cInNhdmUoKVwiPlxyXG5cclxuICAgICAgICA8IS0tIExPR08gRE8gU0lTVEVNQSAtLT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBwLTMgbXQtMlwiPlxyXG4gICAgICAgICAgICA8aW1nIGFsdD1cIkxvZ28gZG8gU2lzdGVtYVwiIFtzdHlsZS5oZWlnaHQucmVtXT1cIjRcIiBbc3JjXT1cIlN5c3RlbUxvZ29cIiAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8IS0tIElORk9STUHDh8OVRVMgQ0VOVFJBSVMgLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIiBncmlkIGZvcm1ncmlkIHAtZmx1aWQgZ2FwLTIgcC0zXCI+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiIHctZnVsbCBcIiBjbGFzcz1cIm1iLTJcIj5cclxuICAgICAgICAgICAgICAgIDxpbWcgW3N0eWxlLmhlaWdodC5yZW1dPVwiMi41XCIgY2xhc3M9XCJtbC0yXCIgYWx0PVwia2VlcGFzc1wiIHNyYz1cImh0dHBzOi8vd29yay1hc3NldHMua2Vldm8uY29tLmJyL2ltZy9rZWVwYXNzLWxvZ28ucG5nXCIgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8a3YtaW5wdXQtdGV4dCBjb21wb25lbnRJZD1cInVzdWFyaW9cIiBsYWJlbD1cIkNQRiBvdSBFbWFpbFwiIGZvcm1Db250cm9sTmFtZT1cInVzdWFyaW9cIiBjbGFzcz1cImZpZWxkIGNvbC0xMlwiPlxyXG4gICAgICAgICAgICA8L2t2LWlucHV0LXRleHQ+XHJcblxyXG4gICAgICAgICAgICA8a3YtaW5wdXQtcGFzc3dvcmQgY29tcG9uZW50SWQ9XCJzZW5oYVwiIGxhYmVsPVwiU2VuaGFcIiBbdG9nZ2xlTWFza109XCJ0cnVlXCIgZm9ybUNvbnRyb2xOYW1lPVwic2VuaGFcIlxyXG4gICAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cInRydWVcIiBjbGFzcz1cImZpZWxkIGNvbC0xMlwiPlxyXG4gICAgICAgICAgICA8L2t2LWlucHV0LXBhc3N3b3JkPlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggdy1mdWxsIGp1c3RpZnktY29udGVudC1lbmQgbWItMlwiIGlkPVwia3ZMb2dpbi1lc3F1ZWNldS1zZW5oYVwiPlxyXG4gICAgICAgICAgICAgICAgPGEgaHJlZj1cImh0dHBzOi8va2VlcGFzcy5zZWcuYnIvcmVkZWZpbmlyc2VuaGFcIiB0YXJnZXQ9XCJfYmxhbmtcIiBzdHlsZT1cImZvbnQtc2l6ZTogc21hbGxlcjtcIiBbc3R5bGUuY29sb3JdPVwiU3lzdGVtQ29sb3JQcmltYXJ5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgRXNxdWVjZXUgYSBzZW5oYT9cclxuICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8YnV0dG9uIFxyXG4gICAgICAgICAgICBpZD1cImt2TG9naW4tbG9naW4tYnV0dG9uXCIgXHJcbiAgICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cIlN5c3RlbUNvbG9yUHJpbWFyeVwiIFxyXG4gICAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiJ3doaXRlJ1wiIFxyXG4gICAgICAgICAgICBjbGFzcz1cInctZnVsbCBcIiBcclxuICAgICAgICAgICAgKGNsaWNrKT1cInNhdmUoKVwiXHJcbiAgICAgICAgICAgIFtzdHlsZS5oZWlnaHQucHhdPVwiNTBcIlxyXG4gICAgICAgID48c3Ryb25nPkxvZ2luPC9zdHJvbmc+PC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGlkPVwia3ZMb2dpbi1jYWRhc3Ryb1wiPlxyXG4gICAgICAgIDxwIFtzdHlsZS5jb2xvcl09XCJTeXN0ZW1Db2xvclNlY29uZGFyeVwiPlxyXG4gICAgICAgICAgICBOw6NvIHBvc3N1aSB1bSBFdm9wYXNzPyBcclxuICAgICAgICAgICAgPGEgaHJlZj1cImh0dHBzOi8va2VlcGFzcy5zZWcuYnIvY2FkYXN0cmFyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgW3N0eWxlLmNvbG9yXT1cIlN5c3RlbUNvbG9yU2Vjb25kYXJ5XCIgPlxyXG4gICAgICAgICAgICAgICAgQ2FkYXN0cmUtc2VcclxuICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgIDwvcD5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIG10LTVcIj5cclxuICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vd29yay1hc3NldHMua2Vldm8uY29tLmJyL2ltZy9rZWV2by1sb2dvLnBuZ1wiIFtzdHlsZS5oZWlnaHQucmVtXT1cIjRcIiAvPlxyXG4gICAgPC9kaXY+XHJcblxyXG48L2Rpdj4iXX0=
|