@leanix/components 0.4.163 → 0.4.165
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/forms-ui/components/input/input.component.mjs +11 -7
- package/esm2022/lib/forms-ui/components/single-select/single-select.component.mjs +3 -3
- package/esm2022/lib/forms-ui/forms-ui.module.mjs +2 -1
- package/fesm2022/leanix-components.mjs +13 -9
- package/fesm2022/leanix-components.mjs.map +1 -1
- package/package.json +1 -1
@@ -1,4 +1,5 @@
|
|
1
1
|
import { Component, HostBinding, Input, Optional } from '@angular/core';
|
2
|
+
import { ReactiveFormsModule } from '@angular/forms';
|
2
3
|
import { Subject } from 'rxjs';
|
3
4
|
import { startWith, takeUntil } from 'rxjs/operators';
|
4
5
|
import * as i0 from "@angular/core";
|
@@ -11,23 +12,26 @@ export class InputComponent {
|
|
11
12
|
this.destroyed$ = new Subject();
|
12
13
|
}
|
13
14
|
ngOnInit() {
|
14
|
-
if (this.ngControl)
|
15
|
-
|
16
|
-
|
15
|
+
if (!this.ngControl)
|
16
|
+
return;
|
17
|
+
this.ngControl.statusChanges?.pipe(startWith(null), takeUntil(this.destroyed$)).subscribe(() => this.updateStatus());
|
17
18
|
}
|
18
19
|
updateStatus() {
|
19
|
-
|
20
|
+
const isInvalid = this.ngControl?.invalid;
|
21
|
+
const isTouched = this.ngControl?.touched;
|
22
|
+
const isDirty = this.ngControl?.dirty;
|
23
|
+
this.error = !!(isInvalid && (isTouched || isDirty));
|
20
24
|
this.disabled = !!this.ngControl?.disabled;
|
21
25
|
}
|
22
26
|
ngOnDestroy() {
|
23
27
|
this.destroyed$.next();
|
24
28
|
}
|
25
29
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: InputComponent, deps: [{ token: i1.NgControl, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
26
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: InputComponent, isStandalone: true, selector: "input[lx-input]", inputs: { error: "error", disabled: "disabled" }, host: { properties: { "class.error": "this.error", "class.disabled": "this.disabled" } }, ngImport: i0, template: ``, isInline: true, styles: [":host{height:32px;padding:8px;border-radius:3px;border:solid 1px #99a5bb;outline:0;color:#2a303d}:host:focus{border-color:#59f}:host.error{border-color:#f96464}:host.disabled{background-color:#f0f2f5;color:#61779d}\n"] }); }
|
30
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: InputComponent, isStandalone: true, selector: "input[lx-input]", inputs: { error: "error", disabled: "disabled" }, host: { properties: { "class.error": "this.error", "class.disabled": "this.disabled" } }, ngImport: i0, template: ``, isInline: true, styles: [":host{height:32px;padding:8px;border-radius:3px;border:solid 1px #99a5bb;outline:0;color:#2a303d}:host:focus{border-color:#59f}:host.error{border-color:#f96464}:host.disabled{background-color:#f0f2f5;color:#61779d}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }] }); }
|
27
31
|
}
|
28
32
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: InputComponent, decorators: [{
|
29
33
|
type: Component,
|
30
|
-
args: [{ selector: 'input[lx-input]', template: ``, standalone: true, styles: [":host{height:32px;padding:8px;border-radius:3px;border:solid 1px #99a5bb;outline:0;color:#2a303d}:host:focus{border-color:#59f}:host.error{border-color:#f96464}:host.disabled{background-color:#f0f2f5;color:#61779d}\n"] }]
|
34
|
+
args: [{ selector: 'input[lx-input]', template: ``, standalone: true, imports: [ReactiveFormsModule], styles: [":host{height:32px;padding:8px;border-radius:3px;border:solid 1px #99a5bb;outline:0;color:#2a303d}:host:focus{border-color:#59f}:host.error{border-color:#f96464}:host.disabled{background-color:#f0f2f5;color:#61779d}\n"] }]
|
31
35
|
}], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
|
32
36
|
type: Optional
|
33
37
|
}] }], propDecorators: { error: [{
|
@@ -41,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
|
|
41
45
|
type: HostBinding,
|
42
46
|
args: ['class.disabled']
|
43
47
|
}] } });
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvZm9ybXMtdWkvY29tcG9uZW50cy9pbnB1dC9pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFxQixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFhLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFVdEQsTUFBTSxPQUFPLGNBQWM7SUFNekIsWUFBK0IsU0FBcUI7UUFBckIsY0FBUyxHQUFULFNBQVMsQ0FBWTtRQUxmLFVBQUssR0FBRyxLQUFLLENBQUM7UUFDWCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpELGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBRWMsQ0FBQztJQUV4RCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTztRQUU1QixJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDdkgsQ0FBQztJQUVPLFlBQVk7UUFDbEIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUM7UUFDMUMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUM7UUFDMUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUM7UUFFdEMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLElBQUksQ0FBQyxTQUFTLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQztJQUM3QyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekIsQ0FBQzs4R0F6QlUsY0FBYztrR0FBZCxjQUFjLHVOQUpmLEVBQUUsaVNBRUYsbUJBQW1COzsyRkFFbEIsY0FBYztrQkFSMUIsU0FBUzsrQkFFRSxpQkFBaUIsWUFFakIsRUFBRSxjQUNBLElBQUksV0FDUCxDQUFDLG1CQUFtQixDQUFDOzswQkFRakIsUUFBUTt5Q0FMZ0IsS0FBSztzQkFBekMsS0FBSzs7c0JBQUksV0FBVzt1QkFBQyxhQUFhO2dCQUNLLFFBQVE7c0JBQS9DLEtBQUs7O3NCQUFJLFdBQVc7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdDb250cm9sLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc3RhcnRXaXRoLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogJ2lucHV0W2x4LWlucHV0XScsXG4gIHN0eWxlVXJsczogWydpbnB1dC5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZTogYGAsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtSZWFjdGl2ZUZvcm1zTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgQEhvc3RCaW5kaW5nKCdjbGFzcy5lcnJvcicpIGVycm9yID0gZmFsc2U7XG4gIEBJbnB1dCgpIEBIb3N0QmluZGluZygnY2xhc3MuZGlzYWJsZWQnKSBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gIHByaXZhdGUgZGVzdHJveWVkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgcHVibGljIG5nQ29udHJvbD86IE5nQ29udHJvbCkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAoIXRoaXMubmdDb250cm9sKSByZXR1cm47XG5cbiAgICB0aGlzLm5nQ29udHJvbC5zdGF0dXNDaGFuZ2VzPy5waXBlKHN0YXJ0V2l0aChudWxsKSwgdGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJCkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnVwZGF0ZVN0YXR1cygpKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlU3RhdHVzKCkge1xuICAgIGNvbnN0IGlzSW52YWxpZCA9IHRoaXMubmdDb250cm9sPy5pbnZhbGlkO1xuICAgIGNvbnN0IGlzVG91Y2hlZCA9IHRoaXMubmdDb250cm9sPy50b3VjaGVkO1xuICAgIGNvbnN0IGlzRGlydHkgPSB0aGlzLm5nQ29udHJvbD8uZGlydHk7XG5cbiAgICB0aGlzLmVycm9yID0gISEoaXNJbnZhbGlkICYmIChpc1RvdWNoZWQgfHwgaXNEaXJ0eSkpO1xuICAgIHRoaXMuZGlzYWJsZWQgPSAhIXRoaXMubmdDb250cm9sPy5kaXNhYmxlZDtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveWVkJC5uZXh0KCk7XG4gIH1cbn1cbiJdfQ==
|
@@ -227,7 +227,7 @@ export class SingleSelectComponent extends BaseSelectDirective {
|
|
227
227
|
multi: true,
|
228
228
|
useExisting: forwardRef(() => SingleSelectComponent)
|
229
229
|
}
|
230
|
-
], queries: [{ propertyName: "explicitDropdown", first: true, predicate: SelectDropdownDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "explicitSelectedOption", first: true, predicate: SelectedOptionDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "dropdownComponent", first: true, predicate: BasicDropdownComponent, descendants: true }], viewQueries: [{ propertyName: "implicitSelectedOption", first: true, predicate: ["selectedOption"], descendants: true, static: true }, { propertyName: "implicitDropdown", first: true, predicate: ["dropdown"], descendants: true, static: true }, { propertyName: "queryInput", first: true, predicate: ["queryInput"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"dropdownOpen\" class=\"backdrop\" (click)=\"handleBackdropClick($event)\"></div>\n<div\n [lxMarkInvalid]=\"markInvalid\"\n class=\"selectContainer {{ padding }}Padding\"\n [class.open]=\"dropdownOpen\"\n [class.top]=\"(dropdownDirection$ | async) === 'TOP'\"\n [class.bottom]=\"(dropdownDirection$ | async) === 'BOTTOM'\"\n [class.disabled]=\"disabled\"\n [class.grayBackground]=\"selectionBackground === 'gray'\"\n [class.defaultSize]=\"size === 'default'\"\n [class.smallSize]=\"size === 'small'\"\n [class.select2Size]=\"size === 'select2'\"\n [class.largeSize]=\"size === 'large'\"\n [style.cursor]=\"cursorStyle\"\n [class.focused]=\"isInputFocused\"\n [class.focusedVisible]=\"isInputFocusedViaTab\"\n (click)=\"handleClick($event.target === toggle)\"\n>\n <div class=\"selectionContainer\">\n <div class=\"inputContainer\">\n <div *ngIf=\"!selection && selection !== 0 && !queryInput?.value\" class=\"placeholder\" [attr.title]=\"placeholder\">\n {{ placeholder }}\n </div>\n <div\n *ngIf=\"!allowQuery || !queryInput?.value\"\n class=\"selection\"\n [class.lowerOpacity]=\"allowQuery && !queryInput?.value && dropdownOpen\"\n [class.lightgrayColor]=\"!allowQuery && dropdownOpen\"\n (click)=\"$event.stopPropagation(); focus()\"\n >\n <ng-container *ngTemplateOutlet=\"selectedOptionTmpl\"></ng-container>\n </div>\n <input\n #queryInput\n class=\"queryInput\"\n type=\"text\"\n [id]=\"inputId\"\n [attr.required]=\"required ? 'true' : null\"\n [class.isHidden]=\"!allowQuery\"\n (keydown.enter)=\"$event.preventDefault()\"\n (focus)=\"isInputFocused = true\"\n (blur)=\"isInputFocused = false; isInputFocusedViaTab = false; blur.emit($event)\"\n (keyup.tab)=\"focusedViaTab()\"\n (keyup.shift.tab)=\"focusedViaTab()\"\n [tabIndex]=\"disabled ? -1 : tabIndex\"\n [formControl]=\"queryControl\"\n [readOnly]=\"!allowQuery\"\n />\n </div>\n <div class=\"iconContainer\">\n <i *ngIf=\"(selection || selection === 0) && allowClear && !disabled\" class=\"far fa-times\" (click)=\"removeSelection()\"></i>\n <i #toggle class=\"fas fa-angle-down\" aria-hidden=\"true\"></i>\n </div>\n </div>\n <div class=\"optionsContainer\" [style.width]=\"dropdownWidth\" #optionsContainer>\n <ng-container *ngIf=\"dropdownOpen\">\n <ng-container *ngTemplateOutlet=\"dropdownTmpl\"></ng-container>\n </ng-container>\n </div>\n</div>\n\n<ng-template #selectedOption>\n <ng-content select=\".selectedOption\"></ng-content>\n</ng-template>\n<ng-template #dropdown>\n <ng-content select=\".dropdownComponent\"></ng-content>\n</ng-template>\n", styles: [":host ::ng-deep .selectedOption{overflow:hidden;text-overflow:ellipsis}.selectContainer{position:relative;height:auto;padding:0;box-sizing:border-box;background:#fff;border:1px solid #99a5bb;box-shadow:inset 0 1px 1px #00000012;border-radius:3px}.selectContainer.grayBackground{background:#eaedf1;border-color:#eaedf1;box-shadow:none}.selectContainer.open{z-index:1049;background:#fff;border:1px solid #e1e5eb}.selectContainer.open.bottom{box-shadow:0 6px 6px #21252933;border-bottom-color:#fff;border-bottom-left-radius:0;border-bottom-right-radius:0}.selectContainer.open.bottom .optionsContainer{border-bottom:solid 1px #e1e5eb;border-left:solid 1px #e1e5eb;border-right:solid 1px #e1e5eb;box-shadow:0 6px 6px #21252933;top:100%;border-top:0;border-top-left-radius:0;border-top-right-radius:0}.selectContainer.open.top{box-shadow:0 -4px 6px #21252933;border-top:0;border-top-left-radius:0;border-top-right-radius:0}.selectContainer.open.top .optionsContainer{border-bottom:solid 1px #e1e5eb;border-left:solid 1px #e1e5eb;border-right:solid 1px #e1e5eb;box-shadow:0 -4px 6px #21252933;margin-bottom:0;border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0;top:none;bottom:100%}.selectContainer:not(.open).focused{outline:0;border:1px solid #5599ff}.selectContainer:not(.open).focusedVisible{outline:1px auto Highlight;outline:1px auto -webkit-focus-ring-color}.selectContainer.disabled{background-color:#eaedf1;cursor:not-allowed!important}.selectContainer.defaultPadding .selectionContainer{padding-left:12px}.selectContainer.narrowPadding .selectionContainer{padding-left:4px}.selectContainer .lightgrayColor{color:#8594ad}.selectionContainer{display:flex}.inputContainer{flex:1;position:relative;white-space:nowrap}.queryInput{width:100%;appearance:none;border:0;padding-left:0;background:transparent;position:relative;cursor:inherit}.queryInput::-ms-clear{display:none}.queryInput:focus{outline:0}.queryInput.isHidden{opacity:0}.placeholder{position:absolute;width:100%;text-align:left;color:#8594ad;overflow:hidden;word-break:break-all;white-space:nowrap;text-overflow:ellipsis}.iconContainer{display:flex;align-items:center;text-align:center}.iconContainer .far,.iconContainer .fas{width:10px;cursor:pointer}.disabled .iconContainer .far,.disabled .iconContainer .fas{cursor:inherit;color:#8594ad}.iconContainer .fa-angle-down{margin:0 12px}.iconContainer .fa-times{margin-left:4px}.selection{width:100%;position:absolute;display:flex;align-items:center}.selection.lowerOpacity{opacity:.7}.backdrop{position:fixed;inset:0;z-index:1048}.optionsContainer{position:absolute;left:-1px;right:-1px;padding:0;border-radius:3px;background:#fff;z-index:1001}.defaultSize .inputContainer,.defaultSize .queryInput,.defaultSize .selection,.defaultSize .iconContainer{height:29px}.defaultSize .inputContainer{line-height:29px}.defaultSize .selectionContainer{min-height:29px}.smallSize .inputContainer,.smallSize .queryInput,.smallSize .selection,.smallSize .iconContainer{height:22px}.smallSize .inputContainer{line-height:22px}.smallSize .selectionContainer{min-height:22px}.select2Size .inputContainer,.select2Size .queryInput,.select2Size .selection,.select2Size .iconContainer{height:26px}.select2Size .inputContainer{line-height:26px}.select2Size .selectionContainer{min-height:26px}.largeSize .inputContainer,.largeSize .queryInput,.largeSize .selection,.largeSize .iconContainer{height:40px}.largeSize .inputContainer{line-height:40px}.largeSize .selectionContainer{min-height:40px}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: MarkInvalidDirective, selector: "[lxMarkInvalid]", inputs: ["lxMarkInvalid"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
|
230
|
+
], queries: [{ propertyName: "explicitDropdown", first: true, predicate: SelectDropdownDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "explicitSelectedOption", first: true, predicate: SelectedOptionDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "dropdownComponent", first: true, predicate: BasicDropdownComponent, descendants: true }], viewQueries: [{ propertyName: "implicitSelectedOption", first: true, predicate: ["selectedOption"], descendants: true, static: true }, { propertyName: "implicitDropdown", first: true, predicate: ["dropdown"], descendants: true, static: true }, { propertyName: "queryInput", first: true, predicate: ["queryInput"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"dropdownOpen\" class=\"backdrop\" (click)=\"handleBackdropClick($event)\"></div>\n<div\n [lxMarkInvalid]=\"markInvalid\"\n class=\"selectContainer {{ padding }}Padding\"\n [class.open]=\"dropdownOpen\"\n [class.top]=\"(dropdownDirection$ | async) === 'TOP'\"\n [class.bottom]=\"(dropdownDirection$ | async) === 'BOTTOM'\"\n [class.disabled]=\"disabled\"\n [class.grayBackground]=\"selectionBackground === 'gray'\"\n [class.defaultSize]=\"size === 'default'\"\n [class.smallSize]=\"size === 'small'\"\n [class.select2Size]=\"size === 'select2'\"\n [class.largeSize]=\"size === 'large'\"\n [style.cursor]=\"cursorStyle\"\n [class.focused]=\"isInputFocused\"\n [class.focusedVisible]=\"isInputFocusedViaTab\"\n (click)=\"handleClick($event.target === toggle)\"\n>\n <div class=\"selectionContainer\">\n <div class=\"inputContainer\">\n <div *ngIf=\"!selection && selection !== 0 && !queryInput?.value\" class=\"placeholder\" [attr.title]=\"placeholder\">\n {{ placeholder }}\n </div>\n <div\n *ngIf=\"!allowQuery || !queryInput?.value\"\n class=\"selection\"\n [class.lowerOpacity]=\"allowQuery && !queryInput?.value && dropdownOpen\"\n [class.lightgrayColor]=\"!allowQuery && dropdownOpen\"\n (click)=\"$event.stopPropagation(); focus()\"\n >\n <ng-container *ngTemplateOutlet=\"selectedOptionTmpl\"></ng-container>\n </div>\n <input\n #queryInput\n class=\"queryInput\"\n type=\"text\"\n [attr.id]=\"inputId\"\n [attr.required]=\"required ? 'true' : null\"\n [class.isHidden]=\"!allowQuery\"\n (keydown.enter)=\"$event.preventDefault()\"\n (focus)=\"isInputFocused = true\"\n (blur)=\"isInputFocused = false; isInputFocusedViaTab = false; blur.emit($event)\"\n (keyup.tab)=\"focusedViaTab()\"\n (keyup.shift.tab)=\"focusedViaTab()\"\n [tabIndex]=\"disabled ? -1 : tabIndex\"\n [formControl]=\"queryControl\"\n [readOnly]=\"!allowQuery\"\n />\n </div>\n <div class=\"iconContainer\">\n <i *ngIf=\"(selection || selection === 0) && allowClear && !disabled\" class=\"far fa-times\" (click)=\"removeSelection()\"></i>\n <i #toggle class=\"fas fa-angle-down\" aria-hidden=\"true\"></i>\n </div>\n </div>\n <div class=\"optionsContainer\" [style.width]=\"dropdownWidth\" #optionsContainer>\n <ng-container *ngIf=\"dropdownOpen\">\n <ng-container *ngTemplateOutlet=\"dropdownTmpl\"></ng-container>\n </ng-container>\n </div>\n</div>\n\n<ng-template #selectedOption>\n <ng-content select=\".selectedOption\"></ng-content>\n</ng-template>\n<ng-template #dropdown>\n <ng-content select=\".dropdownComponent\"></ng-content>\n</ng-template>\n", styles: [":host ::ng-deep .selectedOption{overflow:hidden;text-overflow:ellipsis}.selectContainer{position:relative;height:auto;padding:0;box-sizing:border-box;background:#fff;border:1px solid #99a5bb;box-shadow:inset 0 1px 1px #00000012;border-radius:3px}.selectContainer.grayBackground{background:#eaedf1;border-color:#eaedf1;box-shadow:none}.selectContainer.open{z-index:1049;background:#fff;border:1px solid #e1e5eb}.selectContainer.open.bottom{box-shadow:0 6px 6px #21252933;border-bottom-color:#fff;border-bottom-left-radius:0;border-bottom-right-radius:0}.selectContainer.open.bottom .optionsContainer{border-bottom:solid 1px #e1e5eb;border-left:solid 1px #e1e5eb;border-right:solid 1px #e1e5eb;box-shadow:0 6px 6px #21252933;top:100%;border-top:0;border-top-left-radius:0;border-top-right-radius:0}.selectContainer.open.top{box-shadow:0 -4px 6px #21252933;border-top:0;border-top-left-radius:0;border-top-right-radius:0}.selectContainer.open.top .optionsContainer{border-bottom:solid 1px #e1e5eb;border-left:solid 1px #e1e5eb;border-right:solid 1px #e1e5eb;box-shadow:0 -4px 6px #21252933;margin-bottom:0;border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0;top:none;bottom:100%}.selectContainer:not(.open).focused{outline:0;border:1px solid #5599ff}.selectContainer:not(.open).focusedVisible{outline:1px auto Highlight;outline:1px auto -webkit-focus-ring-color}.selectContainer.disabled{background-color:#eaedf1;cursor:not-allowed!important}.selectContainer.defaultPadding .selectionContainer{padding-left:12px}.selectContainer.narrowPadding .selectionContainer{padding-left:4px}.selectContainer .lightgrayColor{color:#8594ad}.selectionContainer{display:flex}.inputContainer{flex:1;position:relative;white-space:nowrap}.queryInput{width:100%;appearance:none;border:0;padding-left:0;background:transparent;position:relative;cursor:inherit}.queryInput::-ms-clear{display:none}.queryInput:focus{outline:0}.queryInput.isHidden{opacity:0}.placeholder{position:absolute;width:100%;text-align:left;color:#8594ad;overflow:hidden;word-break:break-all;white-space:nowrap;text-overflow:ellipsis}.iconContainer{display:flex;align-items:center;text-align:center}.iconContainer .far,.iconContainer .fas{width:10px;cursor:pointer}.disabled .iconContainer .far,.disabled .iconContainer .fas{cursor:inherit;color:#8594ad}.iconContainer .fa-angle-down{margin:0 12px}.iconContainer .fa-times{margin-left:4px}.selection{width:100%;position:absolute;display:flex;align-items:center}.selection.lowerOpacity{opacity:.7}.backdrop{position:fixed;inset:0;z-index:1048}.optionsContainer{position:absolute;left:-1px;right:-1px;padding:0;border-radius:3px;background:#fff;z-index:1001}.defaultSize .inputContainer,.defaultSize .queryInput,.defaultSize .selection,.defaultSize .iconContainer{height:29px}.defaultSize .inputContainer{line-height:29px}.defaultSize .selectionContainer{min-height:29px}.smallSize .inputContainer,.smallSize .queryInput,.smallSize .selection,.smallSize .iconContainer{height:22px}.smallSize .inputContainer{line-height:22px}.smallSize .selectionContainer{min-height:22px}.select2Size .inputContainer,.select2Size .queryInput,.select2Size .selection,.select2Size .iconContainer{height:26px}.select2Size .inputContainer{line-height:26px}.select2Size .selectionContainer{min-height:26px}.largeSize .inputContainer,.largeSize .queryInput,.largeSize .selection,.largeSize .iconContainer{height:40px}.largeSize .inputContainer{line-height:40px}.largeSize .selectionContainer{min-height:40px}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: MarkInvalidDirective, selector: "[lxMarkInvalid]", inputs: ["lxMarkInvalid"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
|
231
231
|
}
|
232
232
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SingleSelectComponent, decorators: [{
|
233
233
|
type: Component,
|
@@ -237,7 +237,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
|
|
237
237
|
multi: true,
|
238
238
|
useExisting: forwardRef(() => SingleSelectComponent)
|
239
239
|
}
|
240
|
-
], standalone: true, imports: [NgIf, MarkInvalidDirective, NgTemplateOutlet, FormsModule, ReactiveFormsModule, AsyncPipe], template: "<div *ngIf=\"dropdownOpen\" class=\"backdrop\" (click)=\"handleBackdropClick($event)\"></div>\n<div\n [lxMarkInvalid]=\"markInvalid\"\n class=\"selectContainer {{ padding }}Padding\"\n [class.open]=\"dropdownOpen\"\n [class.top]=\"(dropdownDirection$ | async) === 'TOP'\"\n [class.bottom]=\"(dropdownDirection$ | async) === 'BOTTOM'\"\n [class.disabled]=\"disabled\"\n [class.grayBackground]=\"selectionBackground === 'gray'\"\n [class.defaultSize]=\"size === 'default'\"\n [class.smallSize]=\"size === 'small'\"\n [class.select2Size]=\"size === 'select2'\"\n [class.largeSize]=\"size === 'large'\"\n [style.cursor]=\"cursorStyle\"\n [class.focused]=\"isInputFocused\"\n [class.focusedVisible]=\"isInputFocusedViaTab\"\n (click)=\"handleClick($event.target === toggle)\"\n>\n <div class=\"selectionContainer\">\n <div class=\"inputContainer\">\n <div *ngIf=\"!selection && selection !== 0 && !queryInput?.value\" class=\"placeholder\" [attr.title]=\"placeholder\">\n {{ placeholder }}\n </div>\n <div\n *ngIf=\"!allowQuery || !queryInput?.value\"\n class=\"selection\"\n [class.lowerOpacity]=\"allowQuery && !queryInput?.value && dropdownOpen\"\n [class.lightgrayColor]=\"!allowQuery && dropdownOpen\"\n (click)=\"$event.stopPropagation(); focus()\"\n >\n <ng-container *ngTemplateOutlet=\"selectedOptionTmpl\"></ng-container>\n </div>\n <input\n #queryInput\n class=\"queryInput\"\n type=\"text\"\n [id]=\"inputId\"\n [attr.required]=\"required ? 'true' : null\"\n [class.isHidden]=\"!allowQuery\"\n (keydown.enter)=\"$event.preventDefault()\"\n (focus)=\"isInputFocused = true\"\n (blur)=\"isInputFocused = false; isInputFocusedViaTab = false; blur.emit($event)\"\n (keyup.tab)=\"focusedViaTab()\"\n (keyup.shift.tab)=\"focusedViaTab()\"\n [tabIndex]=\"disabled ? -1 : tabIndex\"\n [formControl]=\"queryControl\"\n [readOnly]=\"!allowQuery\"\n />\n </div>\n <div class=\"iconContainer\">\n <i *ngIf=\"(selection || selection === 0) && allowClear && !disabled\" class=\"far fa-times\" (click)=\"removeSelection()\"></i>\n <i #toggle class=\"fas fa-angle-down\" aria-hidden=\"true\"></i>\n </div>\n </div>\n <div class=\"optionsContainer\" [style.width]=\"dropdownWidth\" #optionsContainer>\n <ng-container *ngIf=\"dropdownOpen\">\n <ng-container *ngTemplateOutlet=\"dropdownTmpl\"></ng-container>\n </ng-container>\n </div>\n</div>\n\n<ng-template #selectedOption>\n <ng-content select=\".selectedOption\"></ng-content>\n</ng-template>\n<ng-template #dropdown>\n <ng-content select=\".dropdownComponent\"></ng-content>\n</ng-template>\n", styles: [":host ::ng-deep .selectedOption{overflow:hidden;text-overflow:ellipsis}.selectContainer{position:relative;height:auto;padding:0;box-sizing:border-box;background:#fff;border:1px solid #99a5bb;box-shadow:inset 0 1px 1px #00000012;border-radius:3px}.selectContainer.grayBackground{background:#eaedf1;border-color:#eaedf1;box-shadow:none}.selectContainer.open{z-index:1049;background:#fff;border:1px solid #e1e5eb}.selectContainer.open.bottom{box-shadow:0 6px 6px #21252933;border-bottom-color:#fff;border-bottom-left-radius:0;border-bottom-right-radius:0}.selectContainer.open.bottom .optionsContainer{border-bottom:solid 1px #e1e5eb;border-left:solid 1px #e1e5eb;border-right:solid 1px #e1e5eb;box-shadow:0 6px 6px #21252933;top:100%;border-top:0;border-top-left-radius:0;border-top-right-radius:0}.selectContainer.open.top{box-shadow:0 -4px 6px #21252933;border-top:0;border-top-left-radius:0;border-top-right-radius:0}.selectContainer.open.top .optionsContainer{border-bottom:solid 1px #e1e5eb;border-left:solid 1px #e1e5eb;border-right:solid 1px #e1e5eb;box-shadow:0 -4px 6px #21252933;margin-bottom:0;border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0;top:none;bottom:100%}.selectContainer:not(.open).focused{outline:0;border:1px solid #5599ff}.selectContainer:not(.open).focusedVisible{outline:1px auto Highlight;outline:1px auto -webkit-focus-ring-color}.selectContainer.disabled{background-color:#eaedf1;cursor:not-allowed!important}.selectContainer.defaultPadding .selectionContainer{padding-left:12px}.selectContainer.narrowPadding .selectionContainer{padding-left:4px}.selectContainer .lightgrayColor{color:#8594ad}.selectionContainer{display:flex}.inputContainer{flex:1;position:relative;white-space:nowrap}.queryInput{width:100%;appearance:none;border:0;padding-left:0;background:transparent;position:relative;cursor:inherit}.queryInput::-ms-clear{display:none}.queryInput:focus{outline:0}.queryInput.isHidden{opacity:0}.placeholder{position:absolute;width:100%;text-align:left;color:#8594ad;overflow:hidden;word-break:break-all;white-space:nowrap;text-overflow:ellipsis}.iconContainer{display:flex;align-items:center;text-align:center}.iconContainer .far,.iconContainer .fas{width:10px;cursor:pointer}.disabled .iconContainer .far,.disabled .iconContainer .fas{cursor:inherit;color:#8594ad}.iconContainer .fa-angle-down{margin:0 12px}.iconContainer .fa-times{margin-left:4px}.selection{width:100%;position:absolute;display:flex;align-items:center}.selection.lowerOpacity{opacity:.7}.backdrop{position:fixed;inset:0;z-index:1048}.optionsContainer{position:absolute;left:-1px;right:-1px;padding:0;border-radius:3px;background:#fff;z-index:1001}.defaultSize .inputContainer,.defaultSize .queryInput,.defaultSize .selection,.defaultSize .iconContainer{height:29px}.defaultSize .inputContainer{line-height:29px}.defaultSize .selectionContainer{min-height:29px}.smallSize .inputContainer,.smallSize .queryInput,.smallSize .selection,.smallSize .iconContainer{height:22px}.smallSize .inputContainer{line-height:22px}.smallSize .selectionContainer{min-height:22px}.select2Size .inputContainer,.select2Size .queryInput,.select2Size .selection,.select2Size .iconContainer{height:26px}.select2Size .inputContainer{line-height:26px}.select2Size .selectionContainer{min-height:26px}.largeSize .inputContainer,.largeSize .queryInput,.largeSize .selection,.largeSize .iconContainer{height:40px}.largeSize .inputContainer{line-height:40px}.largeSize .selectionContainer{min-height:40px}\n"] }]
|
240
|
+
], standalone: true, imports: [NgIf, MarkInvalidDirective, NgTemplateOutlet, FormsModule, ReactiveFormsModule, AsyncPipe], template: "<div *ngIf=\"dropdownOpen\" class=\"backdrop\" (click)=\"handleBackdropClick($event)\"></div>\n<div\n [lxMarkInvalid]=\"markInvalid\"\n class=\"selectContainer {{ padding }}Padding\"\n [class.open]=\"dropdownOpen\"\n [class.top]=\"(dropdownDirection$ | async) === 'TOP'\"\n [class.bottom]=\"(dropdownDirection$ | async) === 'BOTTOM'\"\n [class.disabled]=\"disabled\"\n [class.grayBackground]=\"selectionBackground === 'gray'\"\n [class.defaultSize]=\"size === 'default'\"\n [class.smallSize]=\"size === 'small'\"\n [class.select2Size]=\"size === 'select2'\"\n [class.largeSize]=\"size === 'large'\"\n [style.cursor]=\"cursorStyle\"\n [class.focused]=\"isInputFocused\"\n [class.focusedVisible]=\"isInputFocusedViaTab\"\n (click)=\"handleClick($event.target === toggle)\"\n>\n <div class=\"selectionContainer\">\n <div class=\"inputContainer\">\n <div *ngIf=\"!selection && selection !== 0 && !queryInput?.value\" class=\"placeholder\" [attr.title]=\"placeholder\">\n {{ placeholder }}\n </div>\n <div\n *ngIf=\"!allowQuery || !queryInput?.value\"\n class=\"selection\"\n [class.lowerOpacity]=\"allowQuery && !queryInput?.value && dropdownOpen\"\n [class.lightgrayColor]=\"!allowQuery && dropdownOpen\"\n (click)=\"$event.stopPropagation(); focus()\"\n >\n <ng-container *ngTemplateOutlet=\"selectedOptionTmpl\"></ng-container>\n </div>\n <input\n #queryInput\n class=\"queryInput\"\n type=\"text\"\n [attr.id]=\"inputId\"\n [attr.required]=\"required ? 'true' : null\"\n [class.isHidden]=\"!allowQuery\"\n (keydown.enter)=\"$event.preventDefault()\"\n (focus)=\"isInputFocused = true\"\n (blur)=\"isInputFocused = false; isInputFocusedViaTab = false; blur.emit($event)\"\n (keyup.tab)=\"focusedViaTab()\"\n (keyup.shift.tab)=\"focusedViaTab()\"\n [tabIndex]=\"disabled ? -1 : tabIndex\"\n [formControl]=\"queryControl\"\n [readOnly]=\"!allowQuery\"\n />\n </div>\n <div class=\"iconContainer\">\n <i *ngIf=\"(selection || selection === 0) && allowClear && !disabled\" class=\"far fa-times\" (click)=\"removeSelection()\"></i>\n <i #toggle class=\"fas fa-angle-down\" aria-hidden=\"true\"></i>\n </div>\n </div>\n <div class=\"optionsContainer\" [style.width]=\"dropdownWidth\" #optionsContainer>\n <ng-container *ngIf=\"dropdownOpen\">\n <ng-container *ngTemplateOutlet=\"dropdownTmpl\"></ng-container>\n </ng-container>\n </div>\n</div>\n\n<ng-template #selectedOption>\n <ng-content select=\".selectedOption\"></ng-content>\n</ng-template>\n<ng-template #dropdown>\n <ng-content select=\".dropdownComponent\"></ng-content>\n</ng-template>\n", styles: [":host ::ng-deep .selectedOption{overflow:hidden;text-overflow:ellipsis}.selectContainer{position:relative;height:auto;padding:0;box-sizing:border-box;background:#fff;border:1px solid #99a5bb;box-shadow:inset 0 1px 1px #00000012;border-radius:3px}.selectContainer.grayBackground{background:#eaedf1;border-color:#eaedf1;box-shadow:none}.selectContainer.open{z-index:1049;background:#fff;border:1px solid #e1e5eb}.selectContainer.open.bottom{box-shadow:0 6px 6px #21252933;border-bottom-color:#fff;border-bottom-left-radius:0;border-bottom-right-radius:0}.selectContainer.open.bottom .optionsContainer{border-bottom:solid 1px #e1e5eb;border-left:solid 1px #e1e5eb;border-right:solid 1px #e1e5eb;box-shadow:0 6px 6px #21252933;top:100%;border-top:0;border-top-left-radius:0;border-top-right-radius:0}.selectContainer.open.top{box-shadow:0 -4px 6px #21252933;border-top:0;border-top-left-radius:0;border-top-right-radius:0}.selectContainer.open.top .optionsContainer{border-bottom:solid 1px #e1e5eb;border-left:solid 1px #e1e5eb;border-right:solid 1px #e1e5eb;box-shadow:0 -4px 6px #21252933;margin-bottom:0;border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0;top:none;bottom:100%}.selectContainer:not(.open).focused{outline:0;border:1px solid #5599ff}.selectContainer:not(.open).focusedVisible{outline:1px auto Highlight;outline:1px auto -webkit-focus-ring-color}.selectContainer.disabled{background-color:#eaedf1;cursor:not-allowed!important}.selectContainer.defaultPadding .selectionContainer{padding-left:12px}.selectContainer.narrowPadding .selectionContainer{padding-left:4px}.selectContainer .lightgrayColor{color:#8594ad}.selectionContainer{display:flex}.inputContainer{flex:1;position:relative;white-space:nowrap}.queryInput{width:100%;appearance:none;border:0;padding-left:0;background:transparent;position:relative;cursor:inherit}.queryInput::-ms-clear{display:none}.queryInput:focus{outline:0}.queryInput.isHidden{opacity:0}.placeholder{position:absolute;width:100%;text-align:left;color:#8594ad;overflow:hidden;word-break:break-all;white-space:nowrap;text-overflow:ellipsis}.iconContainer{display:flex;align-items:center;text-align:center}.iconContainer .far,.iconContainer .fas{width:10px;cursor:pointer}.disabled .iconContainer .far,.disabled .iconContainer .fas{cursor:inherit;color:#8594ad}.iconContainer .fa-angle-down{margin:0 12px}.iconContainer .fa-times{margin-left:4px}.selection{width:100%;position:absolute;display:flex;align-items:center}.selection.lowerOpacity{opacity:.7}.backdrop{position:fixed;inset:0;z-index:1048}.optionsContainer{position:absolute;left:-1px;right:-1px;padding:0;border-radius:3px;background:#fff;z-index:1001}.defaultSize .inputContainer,.defaultSize .queryInput,.defaultSize .selection,.defaultSize .iconContainer{height:29px}.defaultSize .inputContainer{line-height:29px}.defaultSize .selectionContainer{min-height:29px}.smallSize .inputContainer,.smallSize .queryInput,.smallSize .selection,.smallSize .iconContainer{height:22px}.smallSize .inputContainer{line-height:22px}.smallSize .selectionContainer{min-height:22px}.select2Size .inputContainer,.select2Size .queryInput,.select2Size .selection,.select2Size .iconContainer{height:26px}.select2Size .inputContainer{line-height:26px}.select2Size .selectionContainer{min-height:26px}.largeSize .inputContainer,.largeSize .queryInput,.largeSize .selection,.largeSize .iconContainer{height:40px}.largeSize .inputContainer{line-height:40px}.largeSize .selectionContainer{min-height:40px}\n"] }]
|
241
241
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { selection: [{
|
242
242
|
type: Input
|
243
243
|
}], selectionBackground: [{
|
@@ -282,4 +282,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
|
|
282
282
|
type: ViewChild,
|
283
283
|
args: ['queryInput', { static: true }]
|
284
284
|
}] } });
|
285
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL3NpbmdsZS1zZWxlY3Qvc2luZ2xlLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL3NpbmdsZS1zZWxlY3Qvc2luZ2xlLXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BFLE9BQU8sRUFHTCxTQUFTLEVBQ1QsWUFBWSxFQUVaLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLFVBQVUsRUFDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNHLE9BQU8sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDckYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0s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c0JBQXhCLE1BQU07Z0JBQ0csSUFBSTtzQkFBYixNQUFNO2dCQUVxRSxnQkFBZ0I7c0JBQTNGLFlBQVk7dUJBQUMsdUJBQXVCLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ0Usc0JBQXNCO3NCQUFqRyxZQUFZO3VCQUFDLHVCQUF1QixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNULGlCQUFpQjtzQkFBakYsWUFBWTt1QkFBQyxzQkFBc0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBRVIsc0JBQXNCO3NCQUFwRSxTQUFTO3VCQUFDLGdCQUFnQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDSixnQkFBZ0I7c0JBQXhELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFVOUIsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRXFDLFVBQVU7c0JBQXBELFNBQVM7dUJBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSwgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBib29sZWFuQXR0cmlidXRlLFxuICBmb3J3YXJkUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1zTW9kdWxlLCBOR19WQUxVRV9BQ0NFU1NPUiwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGdldCwgaW5jbHVkZXMsIGlzRXF1YWwgfSBmcm9tICdsb2Rhc2gvZnAnO1xuaW1wb3J0IHsgU3ViamVjdCwgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBtYXAsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTWFya0ludmFsaWREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL21hcmstaW52YWxpZC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU2VsZWN0RHJvcGRvd25EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3NlbGVjdC1kcm9wZG93bi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU2VsZWN0ZWRPcHRpb25EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3NlbGVjdGVkLW9wdGlvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQVJST1dfTEVGVCwgQVJST1dfUklHSFQsIEJBQ0tTUEFDRSwgRVNDQVBFLCBUQUIgfSBmcm9tICcuLi8uLi9oZWxwZXJzL2tleS1jb2Rlcy5jb25zdGFudHMnO1xuaW1wb3J0IHsgZ2V0S2V5Ym9hcmROYXZpZ2F0aW9uRXZlbnRzIH0gZnJvbSAnLi4vLi4vaGVscGVycy9rZXlib2FyZC1uYXZpZ2F0aW9uLmhlbHBlcnMnO1xuaW1wb3J0IHsgQmFzZVNlbGVjdERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL21vZGVscy9iYXNlLXNlbGVjdC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU2luZ2xlU2VsZWN0UGFkZGluZyB9IGZyb20gJy4uLy4uL21vZGVscy9zaW5nbGUtc2VsZWN0LXBhZGRpbmcuaW50ZXJmYWNlJztcbmltcG9ydCB7IEJhc2ljRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuLi9iYXNpYy1kcm9wZG93bi9iYXNpYy1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgS2V5Ym9hcmRTZWxlY3RBY3Rpb24gfSBmcm9tICcuLi9rZXlib2FyZC1zZWxlY3QuZGlyZWN0aXZlJztcblxuZXhwb3J0IHR5cGUgU2luZ2xlU2VsZWN0U2l6ZSA9ICdkZWZhdWx0JyB8ICdzbWFsbCcgfCAnc2VsZWN0MicgfCAnbGFyZ2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdseC1zaW5nbGUtc2VsZWN0JyxcbiAgdGVtcGxhdGVVcmw6ICdzaW5nbGUtc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ3NpbmdsZS1zZWxlY3QuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNpbmdsZVNlbGVjdENvbXBvbmVudClcbiAgICB9XG4gIF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0lmLCBNYXJrSW52YWxpZERpcmVjdGl2ZSwgTmdUZW1wbGF0ZU91dGxldCwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIEFzeW5jUGlwZV1cbn0pXG5leHBvcnQgY2xhc3MgU2luZ2xlU2VsZWN0Q29tcG9uZW50IGV4dGVuZHMgQmFzZVNlbGVjdERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBwdWJsaWMgc3RhdGljIGNhbGN1bGF0ZU5ld0N1cnNvclBvc3Rpb25PbktleWJvYXJkTmF2aWdhdGlvbihjdXJzb3JQb3NpdGlvbjogbnVtYmVyLCBrZXlDb2RlOiBudW1iZXIpIHtcbiAgICBzd2l0Y2ggKGtleUNvZGUpIHtcbiAgICAgIGNhc2UgQVJST1dfTEVGVDpcbiAgICAgICAgY3Vyc29yUG9zaXRpb24tLTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIEFSUk9XX1JJR0hUOlxuICAgICAgICBjdXJzb3JQb3NpdGlvbisrO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gICAgcmV0dXJuIGN1cnNvclBvc2l0aW9uO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnZXRLZXlib2FyZFNlbGVjdEFjdGlvbihjdXJzb3JQb3NpdGlvbjogbnVtYmVyLCBrZXlDb2RlOiBudW1iZXIpOiBLZXlib2FyZFNlbGVjdEFjdGlvbiB8IG51bGwge1xuICAgIGlmIChjdXJzb3JQb3NpdGlvbiA8PSAtMSAmJiBrZXlDb2RlID09PSBBUlJPV19SSUdIVCkge1xuICAgICAgcmV0dXJuIEtleWJvYXJkU2VsZWN0QWN0aW9uLk5FWFQ7XG4gICAgfVxuICAgIGlmIChjdXJzb3JQb3NpdGlvbiA9PT0gLTEgJiYga2V5Q29kZSA9PT0gQVJST1dfTEVGVCkge1xuICAgICAgcmV0dXJuIEtleWJvYXJkU2VsZWN0QWN0aW9uLkxBU1Q7XG4gICAgfVxuICAgIGlmIChjdXJzb3JQb3NpdGlvbiA8IC0xICYmIGtleUNvZGUgPT09IEFSUk9XX0xFRlQpIHtcbiAgICAgIHJldHVybiBLZXlib2FyZFNlbGVjdEFjdGlvbi5QUkVWO1xuICAgIH1cbiAgICBpZiAoY3Vyc29yUG9zaXRpb24gPD0gLTEgJiYga2V5Q29kZSA9PT0gQkFDS1NQQUNFKSB7XG4gICAgICByZXR1cm4gS2V5Ym9hcmRTZWxlY3RBY3Rpb24uRVhFQ1VURTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBASW5wdXQoKSBzZWxlY3Rpb246IGFueTtcbiAgQElucHV0KCkgc2VsZWN0aW9uQmFja2dyb3VuZDogJ3doaXRlJyB8ICdncmF5JyA9ICd3aGl0ZSc7XG4gIEBJbnB1dCgpIHNpemU6IFNpbmdsZVNlbGVjdFNpemUgPSAnZGVmYXVsdCc7XG4gIEBJbnB1dCgpIGRyb3Bkb3duV2lkdGhTY2FsZTogJzF4JyB8ICcxLjV4JyB8ICcyeCcgPSAnMXgnO1xuICBASW5wdXQoKSBwYWRkaW5nPzogU2luZ2xlU2VsZWN0UGFkZGluZyA9ICdkZWZhdWx0JztcbiAgQElucHV0KCkgaW5wdXRJZD86IHN0cmluZztcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHJlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIHNlbGVjdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgYmx1ciA9IG5ldyBFdmVudEVtaXR0ZXI8Rm9jdXNFdmVudD4oKTtcblxuICBAQ29udGVudENoaWxkKFNlbGVjdERyb3Bkb3duRGlyZWN0aXZlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IHRydWUgfSkgZXhwbGljaXREcm9wZG93bj86IFRlbXBsYXRlUmVmPGFueT47XG4gIEBDb250ZW50Q2hpbGQoU2VsZWN0ZWRPcHRpb25EaXJlY3RpdmUsIHsgcmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogdHJ1ZSB9KSBleHBsaWNpdFNlbGVjdGVkT3B0aW9uPzogVGVtcGxhdGVSZWY8YW55PjtcbiAgQENvbnRlbnRDaGlsZChCYXNpY0Ryb3Bkb3duQ29tcG9uZW50LCB7IHN0YXRpYzogZmFsc2UgfSkgcHJpdmF0ZSBkcm9wZG93bkNvbXBvbmVudD86IEJhc2ljRHJvcGRvd25Db21wb25lbnQ7XG5cbiAgQFZpZXdDaGlsZCgnc2VsZWN0ZWRPcHRpb24nLCB7IHN0YXRpYzogdHJ1ZSB9KSBpbXBsaWNpdFNlbGVjdGVkT3B0aW9uITogVGVtcGxhdGVSZWY8YW55PjtcbiAgQFZpZXdDaGlsZCgnZHJvcGRvd24nLCB7IHN0YXRpYzogdHJ1ZSB9KSBpbXBsaWNpdERyb3Bkb3duITogVGVtcGxhdGVSZWY8YW55PjtcblxuICBnZXQgc2VsZWN0ZWRPcHRpb25UbXBsKCkge1xuICAgIHJldHVybiB0aGlzLmV4cGxpY2l0U2VsZWN0ZWRPcHRpb24gfHwgdGhpcy5pbXBsaWNpdFNlbGVjdGVkT3B0aW9uO1xuICB9XG5cbiAgZ2V0IGRyb3Bkb3duVG1wbCgpIHtcbiAgICByZXR1cm4gdGhpcy5leHBsaWNpdERyb3Bkb3duIHx8IHRoaXMuaW1wbGljaXREcm9wZG93bjtcbiAgfVxuXG4gIEBJbnB1dCgpIGFsbG93Q2xlYXIgPSB0cnVlO1xuICBASW5wdXQoKSB0YWJJbmRleDogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgbWFya0ludmFsaWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKCdxdWVyeUlucHV0JywgeyBzdGF0aWM6IHRydWUgfSkgcXVlcnlJbnB1dCE6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgb3ZlcnJpZGUgcmVhZG9ubHkgZGVzdHJveWVkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIGlzSW5wdXRGb2N1c2VkVmlhVGFiID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgZ2V0IGN1cnNvclN0eWxlKCkge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm4gJ2RlZmF1bHQnO1xuICAgIH0gZWxzZSBpZiAodGhpcy5hbGxvd1F1ZXJ5KSB7XG4gICAgICByZXR1cm4gJ3RleHQnO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gJ3BvaW50ZXInO1xuICAgIH1cbiAgfVxuXG4gIGdldCBkcm9wZG93bldpZHRoKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgc3dpdGNoICh0aGlzLmRyb3Bkb3duV2lkdGhTY2FsZSkge1xuICAgICAgY2FzZSAnMXgnOlxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgY2FzZSAnMS41eCc6XG4gICAgICAgIHJldHVybiAnMTUwJSc7XG4gICAgICBjYXNlICcyeCc6XG4gICAgICAgIHJldHVybiAnMjAwJSc7XG4gICAgfVxuICB9XG5cbiAgcmVzZXRJbnB1dCgpIHtcbiAgICB0aGlzLnF1ZXJ5Q29udHJvbC5yZXNldCgnJywgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICB9XG5cbiAgZm9jdXMoKSB7XG4gICAgdGhpcy5xdWVyeUlucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgfVxuXG4gIGZvY3VzQW5kT3BlbigpIHtcbiAgICB0aGlzLnF1ZXJ5SW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIHRoaXMub3Blbi5uZXh0KHRydWUpO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKSB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB0aGlzLmRlc3Ryb3llZCQubmV4dCgpO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuICAgIHRoaXMub3BlblxuICAgICAgLnBpcGUoXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgIGZpbHRlcigob3BlbikgPT4gb3BlbiAmJiAhIXRoaXMuZHJvcGRvd25Db21wb25lbnQpLFxuICAgICAgICBtYXAoKCkgPT4gdGhpcy5zZWxlY3Rpb24pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoc2VsZWN0aW9uKSA9PiB7XG4gICAgICAgIGlmIChzZWxlY3Rpb24pIHtcbiAgICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuZGV0ZXJtaW5lSGlnaGxpZ2h0SW5kZXgodGhpcy5kcm9wZG93bkNvbXBvbmVudCEub3B0aW9ucywgc2VsZWN0aW9uLCB0aGlzLmRyb3Bkb3duQ29tcG9uZW50IS5pdGVtS2V5KTtcbiAgICAgICAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgICAgICAgdGhpcy5kcm9wZG93bkNvbXBvbmVudCEuc2VsZWN0KGluZGV4KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RGaXJzdE9wdGlvbigpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdEZpcnN0T3B0aW9uKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgLy8ga2V5Ym9hcmQgZXZlbnQgaGFuZGxpbmdcbiAgICBjb25zdCBzb3VyY2VFbGVtZW50ID0gdGhpcy5xdWVyeUlucHV0Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgLy8gaGFuZGxlIGtleWJvYXJkIG5hdmlnYXRpb24gZm9yIHRoZSBzZWxlY3Rpb25cbiAgICBmcm9tRXZlbnQ8S2V5Ym9hcmRFdmVudD4oc291cmNlRWxlbWVudCwgJ2tleWRvd24nKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoZXZlbnQpID0+IHRoaXMubWFwVG9FdmVudFNldChldmVudCwgc291cmNlRWxlbWVudCwgdGhpcy52aXJ0dWFsQ3Vyc29yUG9zaXRpb24pKSxcbiAgICAgICAgdGFwKChldmVudFNldCkgPT4ge1xuICAgICAgICAgIGlmICghdGhpcy5hbGxvd1F1ZXJ5ICYmIGV2ZW50U2V0LmV2ZW50LmtleUNvZGUgIT09IEJBQ0tTUEFDRSkge1xuICAgICAgICAgICAgLy8gYWRkaXRpb25hbCBjaGVjayBmb3IgZXZlbi5jb2RlIGZvciB1c2VyRXZlbnQgQVBJIGNvbXBhdGliaWxpdHlcbiAgICAgICAgICAgIGlmIChldmVudFNldC5ldmVudC5rZXlDb2RlICE9PSBUQUIgJiYgZXZlbnRTZXQuZXZlbnQuY29kZSAhPT0gJ1RhYicpIHtcbiAgICAgICAgICAgICAgLy8gaWYgcXVlcnlpbmcgaXMgZGlzYWJsZWQsIG9ubHkgdGhlIHRhYiBrZXkgcHJlc3MgZXZlbnQgd2lsbCBiZSBwcm9wYWdhdGVkLCBzbyB0aGF0IHlvdSBjYW4gc3RpbGwgZGVmb2N1cy5cbiAgICAgICAgICAgICAgZXZlbnRTZXQuZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgZXZlbnRTZXQudmlydHVhbEN1cnNvclBvc2l0aW9uID09PSAwICYmXG4gICAgICAgICAgICBldmVudFNldC5pbnB1dEN1cnNvclBvc2l0aW9uID09PSAwICYmXG4gICAgICAgICAgICBldmVudFNldC5ldmVudC5rZXlDb2RlID09PSBCQUNLU1BBQ0UgJiZcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uICYmXG4gICAgICAgICAgICB0aGlzLmFsbG93Q2xlYXJcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMucmVtb3ZlU2VsZWN0aW9uKCk7XG4gICAgICAgICAgICBldmVudFNldC5pbnB1dEN1cnNvclBvc2l0aW9uID0gdW5kZWZpbmVkOyAvLyBzZXQgdG8gbnVsbCB0byBwcmV2ZW50IGNvbnRpbnVpbmcgaW4gdGhlIHN0cmVhbVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodHlwZW9mIGV2ZW50U2V0LmlucHV0Q3Vyc29yUG9zaXRpb24gPT09ICdudW1iZXInICYmIGV2ZW50U2V0LmlucHV0Q3Vyc29yUG9zaXRpb24gPiAwKSB7XG4gICAgICAgICAgICB0aGlzLnZpcnR1YWxDdXJzb3JQb3NpdGlvbiA9IDA7XG4gICAgICAgICAgfSBlbHNlIGlmIChldmVudFNldC52aXJ0dWFsQ3Vyc29yUG9zaXRpb24gPT09IC0xICYmIGV2ZW50U2V0LmV2ZW50LmtleUNvZGUgPT09IEFSUk9XX1JJR0hUKSB7XG4gICAgICAgICAgICBldmVudFNldC5ldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb25LZXlib2FyZFNlbGVjdEFjdGlvbiQubmV4dChLZXlib2FyZFNlbGVjdEFjdGlvbi5VTlNFTEVDVCk7XG4gICAgICAgICAgICB0aGlzLnZpcnR1YWxDdXJzb3JQb3NpdGlvbiA9IDA7XG4gICAgICAgICAgICBldmVudFNldC5pbnB1dEN1cnNvclBvc2l0aW9uID0gdW5kZWZpbmVkOyAvLyBzZXQgdG8gbnVsbCB0byBwcmV2ZW50IGNvbnRpbnVpbmcgaW4gdGhlIHN0cmVhbVxuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIGZpbHRlcigoZXZlbnRTZXQpID0+IHRoaXMuYWxsb3dRdWVyeSAmJiBldmVudFNldC5pbnB1dEN1cnNvclBvc2l0aW9uID09PSAwKSxcbiAgICAgICAgbWFwKChldmVudFNldCkgPT4gZXZlbnRTZXQuZXZlbnQpLFxuICAgICAgICBmaWx0ZXIoKGV2ZW50KSA9PiBpbmNsdWRlcyhldmVudC5rZXlDb2RlLCBbQVJST1dfUklHSFQsIEFSUk9XX0xFRlQsIEJBQ0tTUEFDRV0pKSxcbiAgICAgICAgbWFwKChldmVudCkgPT4ge1xuICAgICAgICAgIHRoaXMudmlydHVhbEN1cnNvclBvc2l0aW9uID0gU2luZ2xlU2VsZWN0Q29tcG9uZW50LmNhbGN1bGF0ZU5ld0N1cnNvclBvc3Rpb25PbktleWJvYXJkTmF2aWdhdGlvbihcbiAgICAgICAgICAgIHRoaXMudmlydHVhbEN1cnNvclBvc2l0aW9uLFxuICAgICAgICAgICAgZXZlbnQua2V5Q29kZVxuICAgICAgICAgICk7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGN1cnNvclBvc2l0aW9uOiB0aGlzLnZpcnR1YWxDdXJzb3JQb3NpdGlvbixcbiAgICAgICAgICAgIGV2ZW50XG4gICAgICAgICAgfTtcbiAgICAgICAgfSksXG4gICAgICAgIG1hcCgocG9zaXRpb25TZXQpID0+IHtcbiAgICAgICAgICBjb25zdCBhY3Rpb24gPSBTaW5nbGVTZWxlY3RDb21wb25lbnQuZ2V0S2V5Ym9hcmRTZWxlY3RBY3Rpb24ocG9zaXRpb25TZXQuY3Vyc29yUG9zaXRpb24sIHBvc2l0aW9uU2V0LmV2ZW50LmtleUNvZGUpO1xuICAgICAgICAgIGlmIChhY3Rpb24gPT09IEtleWJvYXJkU2VsZWN0QWN0aW9uLk5FWFQpIHtcbiAgICAgICAgICAgIC8vIHByZXZlbnQgY3Vyc29yIGZyb20gbW92aW5nIGluIHRoZSBpbnB1dCBmaWVsZCwgd2hpbGUgd2UgYXJlIHN0aWxsIGluIHRoZSBzZWxlY3Rpb24gaXRlbXNcbiAgICAgICAgICAgIHBvc2l0aW9uU2V0LmV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBhY3Rpb247XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSh0aGlzLnNlbGVjdGlvbktleWJvYXJkU2VsZWN0QWN0aW9uJCk7XG5cbiAgICBjb25zdCBrZXlib2FyZEV2ZW50cyA9IGdldEtleWJvYXJkTmF2aWdhdGlvbkV2ZW50cyhzb3VyY2VFbGVtZW50LCB0aGlzLmRlc3Ryb3llZCQpO1xuXG4gICAga2V5Ym9hcmRFdmVudHMudmVydGljYWxOYXZpZ2F0aW9uJC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH0pO1xuXG4gICAga2V5Ym9hcmRFdmVudHMuY2xvc2UkLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgIGlmIChldmVudC5rZXlDb2RlID09PSBFU0NBUEUgJiYgdGhpcy5kcm9wZG93bk9wZW4pIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICB9XG4gICAgICB0aGlzLm9wZW4ubmV4dChmYWxzZSk7XG4gICAgfSk7XG5cbiAgICBrZXlib2FyZEV2ZW50cy5kcm9wZG93bktleWJvYXJkRXZlbnQkLnN1YnNjcmliZSh0aGlzLm9wdGlvbnNLZXlib2FyZFNlbGVjdEFjdGlvbiQpO1xuXG4gICAga2V5Ym9hcmRFdmVudHMuZW50ZXIkLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9wZW4ubmV4dCghdGhpcy5kcm9wZG93bk9wZW4pKTtcbiAgICBrZXlib2FyZEV2ZW50cy5zcGFjZSQucGlwZShmaWx0ZXIoKCkgPT4gIXRoaXMuYWxsb3dRdWVyeSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5kcm9wZG93bk9wZW4pIHtcbiAgICAgICAgdGhpcy5vcHRpb25zS2V5Ym9hcmRTZWxlY3RBY3Rpb24kLm5leHQoS2V5Ym9hcmRTZWxlY3RBY3Rpb24uRVhFQ1VURSk7XG4gICAgICB9XG4gICAgICB0aGlzLm9wZW4ubmV4dCghdGhpcy5kcm9wZG93bk9wZW4pO1xuICAgIH0pO1xuXG4gICAga2V5Ym9hcmRFdmVudHMub3Blbk9uQXJyb3dEb3duJC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vcGVuLm5leHQodHJ1ZSkpO1xuICB9XG5cbiAgc2VsZWN0T3B0aW9uKG9wdGlvbjogYW55KSB7XG4gICAgdGhpcy5zZWxlY3Rpb24gPSBvcHRpb247XG5cbiAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZS5lbWl0KG9wdGlvbik7XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2Uob3B0aW9uKTtcblxuICAgIHRoaXMucmVzZXRTZWxlY3RTdGF0ZSgpO1xuXG4gICAgLy8gVGhpcyB0aW1lb3V0IG1ha2VzIHN1cmUgdGhhdCB0aGUgZHJvcGRvd24gd2lsbCBiZSBjbG9zZWQgYXQgdGhlIGVuZFxuICAgIC8vIG9mIGFsbCB0aGUgY2FsbGJhY2tzIGluIHRoZSBvcGVuIHN1YnNjcmlwdGlvbnMuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLm9wZW4ubmV4dChmYWxzZSk7XG4gICAgfSk7XG4gIH1cblxuICByZW1vdmVTZWxlY3Rpb24oKSB7XG4gICAgdGhpcy5zZWxlY3Rpb24gPSBudWxsO1xuICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZS5lbWl0KHRoaXMuc2VsZWN0aW9uKTtcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLnNlbGVjdGlvbik7XG5cbiAgICB0aGlzLnJlc2V0U2VsZWN0U3RhdGUoKTtcbiAgfVxuXG4gIHByb3BhZ2F0ZUNoYW5nZShfdmFsdWU6IGFueSkge31cblxuICB3cml0ZVZhbHVlKG5ld1NlbGVjdGlvbjogYW55KSB7XG4gICAgdGhpcy5zZWxlY3Rpb24gPSBuZXdTZWxlY3Rpb247XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChfZm46IGFueSkge31cblxuICBmb2N1c2VkVmlhVGFiKCkge1xuICAgIHRoaXMuaXNJbnB1dEZvY3VzZWRWaWFUYWIgPSB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSBkZXRlcm1pbmVIaWdobGlnaHRJbmRleChvcHRpb25zOiBhbnlbXSwgc2VsZWN0aW9uOiBhbnksIGl0ZW1LZXk/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gaXRlbUtleVxuICAgICAgPyBvcHRpb25zLmZpbmRJbmRleCgob3B0aW9uKSA9PiBpc0VxdWFsKGdldChpdGVtS2V5LCBzZWxlY3Rpb24pLCBnZXQoaXRlbUtleSwgb3B0aW9uKSkgfHwgaXNFcXVhbChzZWxlY3Rpb24sIGdldChpdGVtS2V5LCBvcHRpb24pKSlcbiAgICAgIDogb3B0aW9ucy5maW5kSW5kZXgoKG9wdGlvbikgPT4gaXNFcXVhbChzZWxlY3Rpb24sIG9wdGlvbikpO1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiZHJvcGRvd25PcGVuXCIgY2xhc3M9XCJiYWNrZHJvcFwiIChjbGljayk9XCJoYW5kbGVCYWNrZHJvcENsaWNrKCRldmVudClcIj48L2Rpdj5cbjxkaXZcbiAgW2x4TWFya0ludmFsaWRdPVwibWFya0ludmFsaWRcIlxuICBjbGFzcz1cInNlbGVjdENvbnRhaW5lciB7eyBwYWRkaW5nIH19UGFkZGluZ1wiXG4gIFtjbGFzcy5vcGVuXT1cImRyb3Bkb3duT3BlblwiXG4gIFtjbGFzcy50b3BdPVwiKGRyb3Bkb3duRGlyZWN0aW9uJCB8IGFzeW5jKSA9PT0gJ1RPUCdcIlxuICBbY2xhc3MuYm90dG9tXT1cIihkcm9wZG93bkRpcmVjdGlvbiQgfCBhc3luYykgPT09ICdCT1RUT00nXCJcbiAgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgW2NsYXNzLmdyYXlCYWNrZ3JvdW5kXT1cInNlbGVjdGlvbkJhY2tncm91bmQgPT09ICdncmF5J1wiXG4gIFtjbGFzcy5kZWZhdWx0U2l6ZV09XCJzaXplID09PSAnZGVmYXVsdCdcIlxuICBbY2xhc3Muc21hbGxTaXplXT1cInNpemUgPT09ICdzbWFsbCdcIlxuICBbY2xhc3Muc2VsZWN0MlNpemVdPVwic2l6ZSA9PT0gJ3NlbGVjdDInXCJcbiAgW2NsYXNzLmxhcmdlU2l6ZV09XCJzaXplID09PSAnbGFyZ2UnXCJcbiAgW3N0eWxlLmN1cnNvcl09XCJjdXJzb3JTdHlsZVwiXG4gIFtjbGFzcy5mb2N1c2VkXT1cImlzSW5wdXRGb2N1c2VkXCJcbiAgW2NsYXNzLmZvY3VzZWRWaXNpYmxlXT1cImlzSW5wdXRGb2N1c2VkVmlhVGFiXCJcbiAgKGNsaWNrKT1cImhhbmRsZUNsaWNrKCRldmVudC50YXJnZXQgPT09IHRvZ2dsZSlcIlxuPlxuICA8ZGl2IGNsYXNzPVwic2VsZWN0aW9uQ29udGFpbmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImlucHV0Q29udGFpbmVyXCI+XG4gICAgICA8ZGl2ICpuZ0lmPVwiIXNlbGVjdGlvbiAmJiBzZWxlY3Rpb24gIT09IDAgJiYgIXF1ZXJ5SW5wdXQ/LnZhbHVlXCIgY2xhc3M9XCJwbGFjZWhvbGRlclwiIFthdHRyLnRpdGxlXT1cInBsYWNlaG9sZGVyXCI+XG4gICAgICAgIHt7IHBsYWNlaG9sZGVyIH19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCIhYWxsb3dRdWVyeSB8fCAhcXVlcnlJbnB1dD8udmFsdWVcIlxuICAgICAgICBjbGFzcz1cInNlbGVjdGlvblwiXG4gICAgICAgIFtjbGFzcy5sb3dlck9wYWNpdHldPVwiYWxsb3dRdWVyeSAmJiAhcXVlcnlJbnB1dD8udmFsdWUgJiYgZHJvcGRvd25PcGVuXCJcbiAgICAgICAgW2NsYXNzLmxpZ2h0Z3JheUNvbG9yXT1cIiFhbGxvd1F1ZXJ5ICYmIGRyb3Bkb3duT3BlblwiXG4gICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IGZvY3VzKClcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic2VsZWN0ZWRPcHRpb25UbXBsXCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxpbnB1dFxuICAgICAgICAjcXVlcnlJbnB1dFxuICAgICAgICBjbGFzcz1cInF1ZXJ5SW5wdXRcIlxuICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgIFtpZF09XCJpbnB1dElkXCJcbiAgICAgICAgW2F0dHIucmVxdWlyZWRdPVwicmVxdWlyZWQgPyAndHJ1ZScgOiBudWxsXCJcbiAgICAgICAgW2NsYXNzLmlzSGlkZGVuXT1cIiFhbGxvd1F1ZXJ5XCJcbiAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIlxuICAgICAgICAoZm9jdXMpPVwiaXNJbnB1dEZvY3VzZWQgPSB0cnVlXCJcbiAgICAgICAgKGJsdXIpPVwiaXNJbnB1dEZvY3VzZWQgPSBmYWxzZTsgaXNJbnB1dEZvY3VzZWRWaWFUYWIgPSBmYWxzZTsgYmx1ci5lbWl0KCRldmVudClcIlxuICAgICAgICAoa2V5dXAudGFiKT1cImZvY3VzZWRWaWFUYWIoKVwiXG4gICAgICAgIChrZXl1cC5zaGlmdC50YWIpPVwiZm9jdXNlZFZpYVRhYigpXCJcbiAgICAgICAgW3RhYkluZGV4XT1cImRpc2FibGVkID8gLTEgOiB0YWJJbmRleFwiXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJxdWVyeUNvbnRyb2xcIlxuICAgICAgICBbcmVhZE9ubHldPVwiIWFsbG93UXVlcnlcIlxuICAgICAgLz5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiaWNvbkNvbnRhaW5lclwiPlxuICAgICAgPGkgKm5nSWY9XCIoc2VsZWN0aW9uIHx8IHNlbGVjdGlvbiA9PT0gMCkgJiYgYWxsb3dDbGVhciAmJiAhZGlzYWJsZWRcIiBjbGFzcz1cImZhciBmYS10aW1lc1wiIChjbGljayk9XCJyZW1vdmVTZWxlY3Rpb24oKVwiPjwvaT5cbiAgICAgIDxpICN0b2dnbGUgY2xhc3M9XCJmYXMgZmEtYW5nbGUtZG93blwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJvcHRpb25zQ29udGFpbmVyXCIgW3N0eWxlLndpZHRoXT1cImRyb3Bkb3duV2lkdGhcIiAjb3B0aW9uc0NvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZHJvcGRvd25PcGVuXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZHJvcGRvd25UbXBsXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjc2VsZWN0ZWRPcHRpb24+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIi5zZWxlY3RlZE9wdGlvblwiPjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI2Ryb3Bkb3duPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCIuZHJvcGRvd25Db21wb25lbnRcIj48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuIl19
|
285
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL3NpbmdsZS1zZWxlY3Qvc2luZ2xlLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL3NpbmdsZS1zZWxlY3Qvc2luZ2xlLXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BFLE9BQU8sRUFHTCxTQUFTLEVBQ1QsWUFBWSxFQUVaLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLFVBQVUsRUFDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNHLE9BQU8sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDckYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0s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c0JBQXhCLE1BQU07Z0JBQ0csSUFBSTtzQkFBYixNQUFNO2dCQUVxRSxnQkFBZ0I7c0JBQTNGLFlBQVk7dUJBQUMsdUJBQXVCLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ0Usc0JBQXNCO3NCQUFqRyxZQUFZO3VCQUFDLHVCQUF1QixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNULGlCQUFpQjtzQkFBakYsWUFBWTt1QkFBQyxzQkFBc0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBRVIsc0JBQXNCO3NCQUFwRSxTQUFTO3VCQUFDLGdCQUFnQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDSixnQkFBZ0I7c0JBQXhELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFVOUIsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRXFDLFVBQVU7c0JBQXBELFNBQVM7dUJBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSwgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBib29sZWFuQXR0cmlidXRlLFxuICBmb3J3YXJkUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1zTW9kdWxlLCBOR19WQUxVRV9BQ0NFU1NPUiwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGdldCwgaW5jbHVkZXMsIGlzRXF1YWwgfSBmcm9tICdsb2Rhc2gvZnAnO1xuaW1wb3J0IHsgU3ViamVjdCwgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBtYXAsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTWFya0ludmFsaWREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL21hcmstaW52YWxpZC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU2VsZWN0RHJvcGRvd25EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3NlbGVjdC1kcm9wZG93bi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU2VsZWN0ZWRPcHRpb25EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3NlbGVjdGVkLW9wdGlvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQVJST1dfTEVGVCwgQVJST1dfUklHSFQsIEJBQ0tTUEFDRSwgRVNDQVBFLCBUQUIgfSBmcm9tICcuLi8uLi9oZWxwZXJzL2tleS1jb2Rlcy5jb25zdGFudHMnO1xuaW1wb3J0IHsgZ2V0S2V5Ym9hcmROYXZpZ2F0aW9uRXZlbnRzIH0gZnJvbSAnLi4vLi4vaGVscGVycy9rZXlib2FyZC1uYXZpZ2F0aW9uLmhlbHBlcnMnO1xuaW1wb3J0IHsgQmFzZVNlbGVjdERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL21vZGVscy9iYXNlLXNlbGVjdC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU2luZ2xlU2VsZWN0UGFkZGluZyB9IGZyb20gJy4uLy4uL21vZGVscy9zaW5nbGUtc2VsZWN0LXBhZGRpbmcuaW50ZXJmYWNlJztcbmltcG9ydCB7IEJhc2ljRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuLi9iYXNpYy1kcm9wZG93bi9iYXNpYy1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgS2V5Ym9hcmRTZWxlY3RBY3Rpb24gfSBmcm9tICcuLi9rZXlib2FyZC1zZWxlY3QuZGlyZWN0aXZlJztcblxuZXhwb3J0IHR5cGUgU2luZ2xlU2VsZWN0U2l6ZSA9ICdkZWZhdWx0JyB8ICdzbWFsbCcgfCAnc2VsZWN0MicgfCAnbGFyZ2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdseC1zaW5nbGUtc2VsZWN0JyxcbiAgdGVtcGxhdGVVcmw6ICdzaW5nbGUtc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ3NpbmdsZS1zZWxlY3QuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNpbmdsZVNlbGVjdENvbXBvbmVudClcbiAgICB9XG4gIF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0lmLCBNYXJrSW52YWxpZERpcmVjdGl2ZSwgTmdUZW1wbGF0ZU91dGxldCwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIEFzeW5jUGlwZV1cbn0pXG5leHBvcnQgY2xhc3MgU2luZ2xlU2VsZWN0Q29tcG9uZW50IGV4dGVuZHMgQmFzZVNlbGVjdERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBwdWJsaWMgc3RhdGljIGNhbGN1bGF0ZU5ld0N1cnNvclBvc3Rpb25PbktleWJvYXJkTmF2aWdhdGlvbihjdXJzb3JQb3NpdGlvbjogbnVtYmVyLCBrZXlDb2RlOiBudW1iZXIpIHtcbiAgICBzd2l0Y2ggKGtleUNvZGUpIHtcbiAgICAgIGNhc2UgQVJST1dfTEVGVDpcbiAgICAgICAgY3Vyc29yUG9zaXRpb24tLTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIEFSUk9XX1JJR0hUOlxuICAgICAgICBjdXJzb3JQb3NpdGlvbisrO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gICAgcmV0dXJuIGN1cnNvclBvc2l0aW9uO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnZXRLZXlib2FyZFNlbGVjdEFjdGlvbihjdXJzb3JQb3NpdGlvbjogbnVtYmVyLCBrZXlDb2RlOiBudW1iZXIpOiBLZXlib2FyZFNlbGVjdEFjdGlvbiB8IG51bGwge1xuICAgIGlmIChjdXJzb3JQb3NpdGlvbiA8PSAtMSAmJiBrZXlDb2RlID09PSBBUlJPV19SSUdIVCkge1xuICAgICAgcmV0dXJuIEtleWJvYXJkU2VsZWN0QWN0aW9uLk5FWFQ7XG4gICAgfVxuICAgIGlmIChjdXJzb3JQb3NpdGlvbiA9PT0gLTEgJiYga2V5Q29kZSA9PT0gQVJST1dfTEVGVCkge1xuICAgICAgcmV0dXJuIEtleWJvYXJkU2VsZWN0QWN0aW9uLkxBU1Q7XG4gICAgfVxuICAgIGlmIChjdXJzb3JQb3NpdGlvbiA8IC0xICYmIGtleUNvZGUgPT09IEFSUk9XX0xFRlQpIHtcbiAgICAgIHJldHVybiBLZXlib2FyZFNlbGVjdEFjdGlvbi5QUkVWO1xuICAgIH1cbiAgICBpZiAoY3Vyc29yUG9zaXRpb24gPD0gLTEgJiYga2V5Q29kZSA9PT0gQkFDS1NQQUNFKSB7XG4gICAgICByZXR1cm4gS2V5Ym9hcmRTZWxlY3RBY3Rpb24uRVhFQ1VURTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBASW5wdXQoKSBzZWxlY3Rpb246IGFueTtcbiAgQElucHV0KCkgc2VsZWN0aW9uQmFja2dyb3VuZDogJ3doaXRlJyB8ICdncmF5JyA9ICd3aGl0ZSc7XG4gIEBJbnB1dCgpIHNpemU6IFNpbmdsZVNlbGVjdFNpemUgPSAnZGVmYXVsdCc7XG4gIEBJbnB1dCgpIGRyb3Bkb3duV2lkdGhTY2FsZTogJzF4JyB8ICcxLjV4JyB8ICcyeCcgPSAnMXgnO1xuICBASW5wdXQoKSBwYWRkaW5nPzogU2luZ2xlU2VsZWN0UGFkZGluZyA9ICdkZWZhdWx0JztcbiAgQElucHV0KCkgaW5wdXRJZD86IHN0cmluZztcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHJlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIHNlbGVjdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgYmx1ciA9IG5ldyBFdmVudEVtaXR0ZXI8Rm9jdXNFdmVudD4oKTtcblxuICBAQ29udGVudENoaWxkKFNlbGVjdERyb3Bkb3duRGlyZWN0aXZlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IHRydWUgfSkgZXhwbGljaXREcm9wZG93bj86IFRlbXBsYXRlUmVmPGFueT47XG4gIEBDb250ZW50Q2hpbGQoU2VsZWN0ZWRPcHRpb25EaXJlY3RpdmUsIHsgcmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogdHJ1ZSB9KSBleHBsaWNpdFNlbGVjdGVkT3B0aW9uPzogVGVtcGxhdGVSZWY8YW55PjtcbiAgQENvbnRlbnRDaGlsZChCYXNpY0Ryb3Bkb3duQ29tcG9uZW50LCB7IHN0YXRpYzogZmFsc2UgfSkgcHJpdmF0ZSBkcm9wZG93bkNvbXBvbmVudD86IEJhc2ljRHJvcGRvd25Db21wb25lbnQ7XG5cbiAgQFZpZXdDaGlsZCgnc2VsZWN0ZWRPcHRpb24nLCB7IHN0YXRpYzogdHJ1ZSB9KSBpbXBsaWNpdFNlbGVjdGVkT3B0aW9uITogVGVtcGxhdGVSZWY8YW55PjtcbiAgQFZpZXdDaGlsZCgnZHJvcGRvd24nLCB7IHN0YXRpYzogdHJ1ZSB9KSBpbXBsaWNpdERyb3Bkb3duITogVGVtcGxhdGVSZWY8YW55PjtcblxuICBnZXQgc2VsZWN0ZWRPcHRpb25UbXBsKCkge1xuICAgIHJldHVybiB0aGlzLmV4cGxpY2l0U2VsZWN0ZWRPcHRpb24gfHwgdGhpcy5pbXBsaWNpdFNlbGVjdGVkT3B0aW9uO1xuICB9XG5cbiAgZ2V0IGRyb3Bkb3duVG1wbCgpIHtcbiAgICByZXR1cm4gdGhpcy5leHBsaWNpdERyb3Bkb3duIHx8IHRoaXMuaW1wbGljaXREcm9wZG93bjtcbiAgfVxuXG4gIEBJbnB1dCgpIGFsbG93Q2xlYXIgPSB0cnVlO1xuICBASW5wdXQoKSB0YWJJbmRleDogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgbWFya0ludmFsaWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKCdxdWVyeUlucHV0JywgeyBzdGF0aWM6IHRydWUgfSkgcXVlcnlJbnB1dCE6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgb3ZlcnJpZGUgcmVhZG9ubHkgZGVzdHJveWVkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIGlzSW5wdXRGb2N1c2VkVmlhVGFiID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgZ2V0IGN1cnNvclN0eWxlKCkge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm4gJ2RlZmF1bHQnO1xuICAgIH0gZWxzZSBpZiAodGhpcy5hbGxvd1F1ZXJ5KSB7XG4gICAgICByZXR1cm4gJ3RleHQnO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gJ3BvaW50ZXInO1xuICAgIH1cbiAgfVxuXG4gIGdldCBkcm9wZG93bldpZHRoKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgc3dpdGNoICh0aGlzLmRyb3Bkb3duV2lkdGhTY2FsZSkge1xuICAgICAgY2FzZSAnMXgnOlxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgY2FzZSAnMS41eCc6XG4gICAgICAgIHJldHVybiAnMTUwJSc7XG4gICAgICBjYXNlICcyeCc6XG4gICAgICAgIHJldHVybiAnMjAwJSc7XG4gICAgfVxuICB9XG5cbiAgcmVzZXRJbnB1dCgpIHtcbiAgICB0aGlzLnF1ZXJ5Q29udHJvbC5yZXNldCgnJywgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICB9XG5cbiAgZm9jdXMoKSB7XG4gICAgdGhpcy5xdWVyeUlucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgfVxuXG4gIGZvY3VzQW5kT3BlbigpIHtcbiAgICB0aGlzLnF1ZXJ5SW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIHRoaXMub3Blbi5uZXh0KHRydWUpO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKSB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB0aGlzLmRlc3Ryb3llZCQubmV4dCgpO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuICAgIHRoaXMub3BlblxuICAgICAgLnBpcGUoXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgIGZpbHRlcigob3BlbikgPT4gb3BlbiAmJiAhIXRoaXMuZHJvcGRvd25Db21wb25lbnQpLFxuICAgICAgICBtYXAoKCkgPT4gdGhpcy5zZWxlY3Rpb24pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoc2VsZWN0aW9uKSA9PiB7XG4gICAgICAgIGlmIChzZWxlY3Rpb24pIHtcbiAgICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuZGV0ZXJtaW5lSGlnaGxpZ2h0SW5kZXgodGhpcy5kcm9wZG93bkNvbXBvbmVudCEub3B0aW9ucywgc2VsZWN0aW9uLCB0aGlzLmRyb3Bkb3duQ29tcG9uZW50IS5pdGVtS2V5KTtcbiAgICAgICAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgICAgICAgdGhpcy5kcm9wZG93bkNvbXBvbmVudCEuc2VsZWN0KGluZGV4KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RGaXJzdE9wdGlvbigpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdEZpcnN0T3B0aW9uKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgLy8ga2V5Ym9hcmQgZXZlbnQgaGFuZGxpbmdcbiAgICBjb25zdCBzb3VyY2VFbGVtZW50ID0gdGhpcy5xdWVyeUlucHV0Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgLy8gaGFuZGxlIGtleWJvYXJkIG5hdmlnYXRpb24gZm9yIHRoZSBzZWxlY3Rpb25cbiAgICBmcm9tRXZlbnQ8S2V5Ym9hcmRFdmVudD4oc291cmNlRWxlbWVudCwgJ2tleWRvd24nKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoZXZlbnQpID0+IHRoaXMubWFwVG9FdmVudFNldChldmVudCwgc291cmNlRWxlbWVudCwgdGhpcy52aXJ0dWFsQ3Vyc29yUG9zaXRpb24pKSxcbiAgICAgICAgdGFwKChldmVudFNldCkgPT4ge1xuICAgICAgICAgIGlmICghdGhpcy5hbGxvd1F1ZXJ5ICYmIGV2ZW50U2V0LmV2ZW50LmtleUNvZGUgIT09IEJBQ0tTUEFDRSkge1xuICAgICAgICAgICAgLy8gYWRkaXRpb25hbCBjaGVjayBmb3IgZXZlbi5jb2RlIGZvciB1c2VyRXZlbnQgQVBJIGNvbXBhdGliaWxpdHlcbiAgICAgICAgICAgIGlmIChldmVudFNldC5ldmVudC5rZXlDb2RlICE9PSBUQUIgJiYgZXZlbnRTZXQuZXZlbnQuY29kZSAhPT0gJ1RhYicpIHtcbiAgICAgICAgICAgICAgLy8gaWYgcXVlcnlpbmcgaXMgZGlzYWJsZWQsIG9ubHkgdGhlIHRhYiBrZXkgcHJlc3MgZXZlbnQgd2lsbCBiZSBwcm9wYWdhdGVkLCBzbyB0aGF0IHlvdSBjYW4gc3RpbGwgZGVmb2N1cy5cbiAgICAgICAgICAgICAgZXZlbnRTZXQuZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgZXZlbnRTZXQudmlydHVhbEN1cnNvclBvc2l0aW9uID09PSAwICYmXG4gICAgICAgICAgICBldmVudFNldC5pbnB1dEN1cnNvclBvc2l0aW9uID09PSAwICYmXG4gICAgICAgICAgICBldmVudFNldC5ldmVudC5rZXlDb2RlID09PSBCQUNLU1BBQ0UgJiZcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uICYmXG4gICAgICAgICAgICB0aGlzLmFsbG93Q2xlYXJcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMucmVtb3ZlU2VsZWN0aW9uKCk7XG4gICAgICAgICAgICBldmVudFNldC5pbnB1dEN1cnNvclBvc2l0aW9uID0gdW5kZWZpbmVkOyAvLyBzZXQgdG8gbnVsbCB0byBwcmV2ZW50IGNvbnRpbnVpbmcgaW4gdGhlIHN0cmVhbVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodHlwZW9mIGV2ZW50U2V0LmlucHV0Q3Vyc29yUG9zaXRpb24gPT09ICdudW1iZXInICYmIGV2ZW50U2V0LmlucHV0Q3Vyc29yUG9zaXRpb24gPiAwKSB7XG4gICAgICAgICAgICB0aGlzLnZpcnR1YWxDdXJzb3JQb3NpdGlvbiA9IDA7XG4gICAgICAgICAgfSBlbHNlIGlmIChldmVudFNldC52aXJ0dWFsQ3Vyc29yUG9zaXRpb24gPT09IC0xICYmIGV2ZW50U2V0LmV2ZW50LmtleUNvZGUgPT09IEFSUk9XX1JJR0hUKSB7XG4gICAgICAgICAgICBldmVudFNldC5ldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb25LZXlib2FyZFNlbGVjdEFjdGlvbiQubmV4dChLZXlib2FyZFNlbGVjdEFjdGlvbi5VTlNFTEVDVCk7XG4gICAgICAgICAgICB0aGlzLnZpcnR1YWxDdXJzb3JQb3NpdGlvbiA9IDA7XG4gICAgICAgICAgICBldmVudFNldC5pbnB1dEN1cnNvclBvc2l0aW9uID0gdW5kZWZpbmVkOyAvLyBzZXQgdG8gbnVsbCB0byBwcmV2ZW50IGNvbnRpbnVpbmcgaW4gdGhlIHN0cmVhbVxuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIGZpbHRlcigoZXZlbnRTZXQpID0+IHRoaXMuYWxsb3dRdWVyeSAmJiBldmVudFNldC5pbnB1dEN1cnNvclBvc2l0aW9uID09PSAwKSxcbiAgICAgICAgbWFwKChldmVudFNldCkgPT4gZXZlbnRTZXQuZXZlbnQpLFxuICAgICAgICBmaWx0ZXIoKGV2ZW50KSA9PiBpbmNsdWRlcyhldmVudC5rZXlDb2RlLCBbQVJST1dfUklHSFQsIEFSUk9XX0xFRlQsIEJBQ0tTUEFDRV0pKSxcbiAgICAgICAgbWFwKChldmVudCkgPT4ge1xuICAgICAgICAgIHRoaXMudmlydHVhbEN1cnNvclBvc2l0aW9uID0gU2luZ2xlU2VsZWN0Q29tcG9uZW50LmNhbGN1bGF0ZU5ld0N1cnNvclBvc3Rpb25PbktleWJvYXJkTmF2aWdhdGlvbihcbiAgICAgICAgICAgIHRoaXMudmlydHVhbEN1cnNvclBvc2l0aW9uLFxuICAgICAgICAgICAgZXZlbnQua2V5Q29kZVxuICAgICAgICAgICk7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGN1cnNvclBvc2l0aW9uOiB0aGlzLnZpcnR1YWxDdXJzb3JQb3NpdGlvbixcbiAgICAgICAgICAgIGV2ZW50XG4gICAgICAgICAgfTtcbiAgICAgICAgfSksXG4gICAgICAgIG1hcCgocG9zaXRpb25TZXQpID0+IHtcbiAgICAgICAgICBjb25zdCBhY3Rpb24gPSBTaW5nbGVTZWxlY3RDb21wb25lbnQuZ2V0S2V5Ym9hcmRTZWxlY3RBY3Rpb24ocG9zaXRpb25TZXQuY3Vyc29yUG9zaXRpb24sIHBvc2l0aW9uU2V0LmV2ZW50LmtleUNvZGUpO1xuICAgICAgICAgIGlmIChhY3Rpb24gPT09IEtleWJvYXJkU2VsZWN0QWN0aW9uLk5FWFQpIHtcbiAgICAgICAgICAgIC8vIHByZXZlbnQgY3Vyc29yIGZyb20gbW92aW5nIGluIHRoZSBpbnB1dCBmaWVsZCwgd2hpbGUgd2UgYXJlIHN0aWxsIGluIHRoZSBzZWxlY3Rpb24gaXRlbXNcbiAgICAgICAgICAgIHBvc2l0aW9uU2V0LmV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBhY3Rpb247XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSh0aGlzLnNlbGVjdGlvbktleWJvYXJkU2VsZWN0QWN0aW9uJCk7XG5cbiAgICBjb25zdCBrZXlib2FyZEV2ZW50cyA9IGdldEtleWJvYXJkTmF2aWdhdGlvbkV2ZW50cyhzb3VyY2VFbGVtZW50LCB0aGlzLmRlc3Ryb3llZCQpO1xuXG4gICAga2V5Ym9hcmRFdmVudHMudmVydGljYWxOYXZpZ2F0aW9uJC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH0pO1xuXG4gICAga2V5Ym9hcmRFdmVudHMuY2xvc2UkLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgIGlmIChldmVudC5rZXlDb2RlID09PSBFU0NBUEUgJiYgdGhpcy5kcm9wZG93bk9wZW4pIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICB9XG4gICAgICB0aGlzLm9wZW4ubmV4dChmYWxzZSk7XG4gICAgfSk7XG5cbiAgICBrZXlib2FyZEV2ZW50cy5kcm9wZG93bktleWJvYXJkRXZlbnQkLnN1YnNjcmliZSh0aGlzLm9wdGlvbnNLZXlib2FyZFNlbGVjdEFjdGlvbiQpO1xuXG4gICAga2V5Ym9hcmRFdmVudHMuZW50ZXIkLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9wZW4ubmV4dCghdGhpcy5kcm9wZG93bk9wZW4pKTtcbiAgICBrZXlib2FyZEV2ZW50cy5zcGFjZSQucGlwZShmaWx0ZXIoKCkgPT4gIXRoaXMuYWxsb3dRdWVyeSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5kcm9wZG93bk9wZW4pIHtcbiAgICAgICAgdGhpcy5vcHRpb25zS2V5Ym9hcmRTZWxlY3RBY3Rpb24kLm5leHQoS2V5Ym9hcmRTZWxlY3RBY3Rpb24uRVhFQ1VURSk7XG4gICAgICB9XG4gICAgICB0aGlzLm9wZW4ubmV4dCghdGhpcy5kcm9wZG93bk9wZW4pO1xuICAgIH0pO1xuXG4gICAga2V5Ym9hcmRFdmVudHMub3Blbk9uQXJyb3dEb3duJC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vcGVuLm5leHQodHJ1ZSkpO1xuICB9XG5cbiAgc2VsZWN0T3B0aW9uKG9wdGlvbjogYW55KSB7XG4gICAgdGhpcy5zZWxlY3Rpb24gPSBvcHRpb247XG5cbiAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZS5lbWl0KG9wdGlvbik7XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2Uob3B0aW9uKTtcblxuICAgIHRoaXMucmVzZXRTZWxlY3RTdGF0ZSgpO1xuXG4gICAgLy8gVGhpcyB0aW1lb3V0IG1ha2VzIHN1cmUgdGhhdCB0aGUgZHJvcGRvd24gd2lsbCBiZSBjbG9zZWQgYXQgdGhlIGVuZFxuICAgIC8vIG9mIGFsbCB0aGUgY2FsbGJhY2tzIGluIHRoZSBvcGVuIHN1YnNjcmlwdGlvbnMuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLm9wZW4ubmV4dChmYWxzZSk7XG4gICAgfSk7XG4gIH1cblxuICByZW1vdmVTZWxlY3Rpb24oKSB7XG4gICAgdGhpcy5zZWxlY3Rpb24gPSBudWxsO1xuICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZS5lbWl0KHRoaXMuc2VsZWN0aW9uKTtcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLnNlbGVjdGlvbik7XG5cbiAgICB0aGlzLnJlc2V0U2VsZWN0U3RhdGUoKTtcbiAgfVxuXG4gIHByb3BhZ2F0ZUNoYW5nZShfdmFsdWU6IGFueSkge31cblxuICB3cml0ZVZhbHVlKG5ld1NlbGVjdGlvbjogYW55KSB7XG4gICAgdGhpcy5zZWxlY3Rpb24gPSBuZXdTZWxlY3Rpb247XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChfZm46IGFueSkge31cblxuICBmb2N1c2VkVmlhVGFiKCkge1xuICAgIHRoaXMuaXNJbnB1dEZvY3VzZWRWaWFUYWIgPSB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSBkZXRlcm1pbmVIaWdobGlnaHRJbmRleChvcHRpb25zOiBhbnlbXSwgc2VsZWN0aW9uOiBhbnksIGl0ZW1LZXk/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gaXRlbUtleVxuICAgICAgPyBvcHRpb25zLmZpbmRJbmRleCgob3B0aW9uKSA9PiBpc0VxdWFsKGdldChpdGVtS2V5LCBzZWxlY3Rpb24pLCBnZXQoaXRlbUtleSwgb3B0aW9uKSkgfHwgaXNFcXVhbChzZWxlY3Rpb24sIGdldChpdGVtS2V5LCBvcHRpb24pKSlcbiAgICAgIDogb3B0aW9ucy5maW5kSW5kZXgoKG9wdGlvbikgPT4gaXNFcXVhbChzZWxlY3Rpb24sIG9wdGlvbikpO1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiZHJvcGRvd25PcGVuXCIgY2xhc3M9XCJiYWNrZHJvcFwiIChjbGljayk9XCJoYW5kbGVCYWNrZHJvcENsaWNrKCRldmVudClcIj48L2Rpdj5cbjxkaXZcbiAgW2x4TWFya0ludmFsaWRdPVwibWFya0ludmFsaWRcIlxuICBjbGFzcz1cInNlbGVjdENvbnRhaW5lciB7eyBwYWRkaW5nIH19UGFkZGluZ1wiXG4gIFtjbGFzcy5vcGVuXT1cImRyb3Bkb3duT3BlblwiXG4gIFtjbGFzcy50b3BdPVwiKGRyb3Bkb3duRGlyZWN0aW9uJCB8IGFzeW5jKSA9PT0gJ1RPUCdcIlxuICBbY2xhc3MuYm90dG9tXT1cIihkcm9wZG93bkRpcmVjdGlvbiQgfCBhc3luYykgPT09ICdCT1RUT00nXCJcbiAgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgW2NsYXNzLmdyYXlCYWNrZ3JvdW5kXT1cInNlbGVjdGlvbkJhY2tncm91bmQgPT09ICdncmF5J1wiXG4gIFtjbGFzcy5kZWZhdWx0U2l6ZV09XCJzaXplID09PSAnZGVmYXVsdCdcIlxuICBbY2xhc3Muc21hbGxTaXplXT1cInNpemUgPT09ICdzbWFsbCdcIlxuICBbY2xhc3Muc2VsZWN0MlNpemVdPVwic2l6ZSA9PT0gJ3NlbGVjdDInXCJcbiAgW2NsYXNzLmxhcmdlU2l6ZV09XCJzaXplID09PSAnbGFyZ2UnXCJcbiAgW3N0eWxlLmN1cnNvcl09XCJjdXJzb3JTdHlsZVwiXG4gIFtjbGFzcy5mb2N1c2VkXT1cImlzSW5wdXRGb2N1c2VkXCJcbiAgW2NsYXNzLmZvY3VzZWRWaXNpYmxlXT1cImlzSW5wdXRGb2N1c2VkVmlhVGFiXCJcbiAgKGNsaWNrKT1cImhhbmRsZUNsaWNrKCRldmVudC50YXJnZXQgPT09IHRvZ2dsZSlcIlxuPlxuICA8ZGl2IGNsYXNzPVwic2VsZWN0aW9uQ29udGFpbmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImlucHV0Q29udGFpbmVyXCI+XG4gICAgICA8ZGl2ICpuZ0lmPVwiIXNlbGVjdGlvbiAmJiBzZWxlY3Rpb24gIT09IDAgJiYgIXF1ZXJ5SW5wdXQ/LnZhbHVlXCIgY2xhc3M9XCJwbGFjZWhvbGRlclwiIFthdHRyLnRpdGxlXT1cInBsYWNlaG9sZGVyXCI+XG4gICAgICAgIHt7IHBsYWNlaG9sZGVyIH19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCIhYWxsb3dRdWVyeSB8fCAhcXVlcnlJbnB1dD8udmFsdWVcIlxuICAgICAgICBjbGFzcz1cInNlbGVjdGlvblwiXG4gICAgICAgIFtjbGFzcy5sb3dlck9wYWNpdHldPVwiYWxsb3dRdWVyeSAmJiAhcXVlcnlJbnB1dD8udmFsdWUgJiYgZHJvcGRvd25PcGVuXCJcbiAgICAgICAgW2NsYXNzLmxpZ2h0Z3JheUNvbG9yXT1cIiFhbGxvd1F1ZXJ5ICYmIGRyb3Bkb3duT3BlblwiXG4gICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IGZvY3VzKClcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic2VsZWN0ZWRPcHRpb25UbXBsXCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxpbnB1dFxuICAgICAgICAjcXVlcnlJbnB1dFxuICAgICAgICBjbGFzcz1cInF1ZXJ5SW5wdXRcIlxuICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgIFthdHRyLmlkXT1cImlucHV0SWRcIlxuICAgICAgICBbYXR0ci5yZXF1aXJlZF09XCJyZXF1aXJlZCA/ICd0cnVlJyA6IG51bGxcIlxuICAgICAgICBbY2xhc3MuaXNIaWRkZW5dPVwiIWFsbG93UXVlcnlcIlxuICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKVwiXG4gICAgICAgIChmb2N1cyk9XCJpc0lucHV0Rm9jdXNlZCA9IHRydWVcIlxuICAgICAgICAoYmx1cik9XCJpc0lucHV0Rm9jdXNlZCA9IGZhbHNlOyBpc0lucHV0Rm9jdXNlZFZpYVRhYiA9IGZhbHNlOyBibHVyLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgIChrZXl1cC50YWIpPVwiZm9jdXNlZFZpYVRhYigpXCJcbiAgICAgICAgKGtleXVwLnNoaWZ0LnRhYik9XCJmb2N1c2VkVmlhVGFiKClcIlxuICAgICAgICBbdGFiSW5kZXhdPVwiZGlzYWJsZWQgPyAtMSA6IHRhYkluZGV4XCJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cInF1ZXJ5Q29udHJvbFwiXG4gICAgICAgIFtyZWFkT25seV09XCIhYWxsb3dRdWVyeVwiXG4gICAgICAvPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJpY29uQ29udGFpbmVyXCI+XG4gICAgICA8aSAqbmdJZj1cIihzZWxlY3Rpb24gfHwgc2VsZWN0aW9uID09PSAwKSAmJiBhbGxvd0NsZWFyICYmICFkaXNhYmxlZFwiIGNsYXNzPVwiZmFyIGZhLXRpbWVzXCIgKGNsaWNrKT1cInJlbW92ZVNlbGVjdGlvbigpXCI+PC9pPlxuICAgICAgPGkgI3RvZ2dsZSBjbGFzcz1cImZhcyBmYS1hbmdsZS1kb3duXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIm9wdGlvbnNDb250YWluZXJcIiBbc3R5bGUud2lkdGhdPVwiZHJvcGRvd25XaWR0aFwiICNvcHRpb25zQ29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkcm9wZG93bk9wZW5cIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkcm9wZG93blRtcGxcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNzZWxlY3RlZE9wdGlvbj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiLnNlbGVjdGVkT3B0aW9uXCI+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjZHJvcGRvd24+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIi5kcm9wZG93bkNvbXBvbmVudFwiPjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
@@ -165,6 +165,7 @@ export class LxFormsModule {
|
|
165
165
|
SingleSelectComponent,
|
166
166
|
SelectListComponent,
|
167
167
|
SortingDropdownComponent,
|
168
|
+
InputComponent,
|
168
169
|
ErrorMessageComponent, LxDragAndDropListModule] }); }
|
169
170
|
}
|
170
171
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: LxFormsModule, decorators: [{
|
@@ -270,4 +271,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
|
|
270
271
|
]
|
271
272
|
}]
|
272
273
|
}] });
|
273
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybXMtdWkubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvZm9ybXMtdWkvZm9ybXMtdWkubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUM1RyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUM5RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUMvRyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSwwRUFBMEUsQ0FBQztBQUMxSCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNyRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN4RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUMxRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsa0JB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b2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvY2xpcGJvYXJkJztcbmltcG9ydCB7IE92ZXJsYXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBJbmZpbml0ZVNjcm9sbE1vZHVsZSB9IGZyb20gJ25neC1pbmZpbml0ZS1zY3JvbGwnO1xuaW1wb3J0IHsgQmFzaWNEcm9wZG93bkl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYmFzaWMtZHJvcGRvd24taXRlbS9iYXNpYy1kcm9wZG93bi1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXNpY0Ryb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Jhc2ljLWRyb3Bkb3duL2Jhc2ljLWRyb3Bkb3duLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCcmVhZGNydW1iQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2RrT3B0aW9uc0Ryb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Nkay1vcHRpb25zLWRyb3Bkb3duL2Nkay1vcHRpb25zLWRyb3Bkb3duLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDZGtPcHRpb25zU3ViRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2RrLW9wdGlvbnMtc3ViLWRyb3Bkb3duL2Nkay1vcHRpb25zLXN1Yi1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29weUJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb3B5LWJ1dHRvbi9jb3B5LWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ3VycmVuY3lJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jdXJyZW5jeS9jdXJyZW5jeS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ3VycmVuY3lTeW1ib2xDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY3VycmVuY3kvY3VycmVuY3ktc3ltYm9sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRlSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZGF0ZS1pbnB1dC9kYXRlLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRlcGlja2VyVWlNb2R1bGUgfSBmcm9tICcuL2NvbXBvbmVudHMvZGF0ZS1waWNrZXItdWkvZGF0ZXBpY2tlci11aS5tb2R1bGUnO1xuaW1wb3J0IHsgTHhEcmFnQW5kRHJvcExpc3RNb2R1bGUgfSBmcm9tICcuL2NvbXBvbmVudHMvZHJhZy1hbmQtZHJvcC1saXN0L2RyYWctYW5kLWRyb3AtbGlzdC5tb2R1bGUnO1xuaW1wb3J0IHsgRXJyb3JNZXNzYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Vycm9yLW1lc3NhZ2UvZXJyb3ItbWVzc2FnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRXhwYW5kZWREcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9leHBhbmRlZC1kcm9wZG93bi9leHBhbmRlZC1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybUVycm9yQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0tZXJyb3IvZm9ybS1lcnJvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9pY29uL2ljb24uY29tcG9uZW50JztcbmltcG9ydCB7IElucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2lucHV0L2lucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNdWx0aVNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9tdWx0aS1zZWxlY3QvbXVsdGktc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPcHRpb25Hcm91cERyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL29wdGlvbi1ncm91cC1kcm9wZG93bi9vcHRpb24tZ3JvdXAtZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IE9wdGlvbkdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL29wdGlvbi1ncm91cC9vcHRpb24tZ3JvdXAuY29tcG9uZW50JztcbmltcG9ydCB7IE9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9vcHRpb24vb3B0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPcHRpb25zRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvb3B0aW9ucy1kcm9wZG93bi9vcHRpb25zLWRyb3Bkb3duLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPcHRpb25zU3ViRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvb3B0aW9ucy1zdWItZHJvcGRvd24vb3B0aW9ucy1zdWItZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IFBpY2tlck9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9waWNrZXItb3B0aW9uL3BpY2tlci1vcHRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IFBpY2tlclRyaWdnZXJEaXJlY3RpdmUgfSBmcm9tICcuL2NvbXBvbmVudHMvcGlja2VyL3BpY2tlci10cmlnZ2VyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGlja2VyL3BpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGlsbEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGlsbC1pdGVtL3BpbGwtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGlsbExpc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGlsbC1saXN0L3BpbGwtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVzcG9uc2l2ZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Jlc3BvbnNpdmUtaW5wdXQvcmVzcG9uc2l2ZS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VsZWN0TGlzdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zZWxlY3QtbGlzdC9zZWxlY3QtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2luZ2xlU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NpbmdsZS1zZWxlY3Qvc2luZ2xlLXNlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2xpZGVyVG9nZ2xlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NsaWRlci10b2dnbGUvc2xpZGVyLXRvZ2dsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU29ydGluZ0Ryb3Bkb3duVHJpZ2dlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zb3J0aW5nLWRyb3Bkb3duLXRyaWdnZXIvc29ydGluZy1kcm9wZG93bi10cmlnZ2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTb3J0aW5nRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc29ydGluZy1kcm9wZG93bi9zb3J0aW5nLWRyb3Bkb3duLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb250ZW50ZWRpdGFibGVEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvY29udGVudGVkaXRhYmxlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGb3JtRXJyb3JEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZm9ybS1lcnJvci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRm9ybVN1Ym1pdERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9mb3JtLXN1Ym1pdC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgS2V5Ym9hcmRBY3Rpb25Tb3VyY2VEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMva2V5Ym9hcmQtYWN0aW9uLXNvdXJjZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTWFya0ludmFsaWREaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvbWFyay1pbnZhbGlkLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTZWxlY3REcm9wZG93bkRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9zZWxlY3QtZHJvcGRvd24uZGlyZWN0aXZlJztcbmltcG9ydCB7IFNlbGVjdGFibGVJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3NlbGVjdGFibGUtaXRlbS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU2VsZWN0ZWRPcHRpb25EaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvc2VsZWN0ZWQtb3B0aW9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGaWx0ZXJTZWxlY3Rpb25QaXBlIH0gZnJvbSAnLi9waXBlcy9maWx0ZXItc2VsZWN0aW9uLnBpcGUnO1xuaW1wb3J0IHsgRmlsdGVyVGVybVBpcGUgfSBmcm9tICcuL3BpcGVzL2ZpbHRlci10ZXJtLnBpcGUnO1xuaW1wb3J0IHsgRm9ybWF0TnVtYmVyUGlwZSB9IGZyb20gJy4vcGlwZXMvZm9ybWF0LW51bWJlci5waXBlJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZS5mb3JDaGlsZCgpLFxuICAgIERhdGVwaWNrZXJVaU1vZHVsZS5mb3JSb290KCksXG4gICAgSW5maW5pdGVTY3JvbGxNb2R1bGUsXG4gICAgQ2xpcGJvYXJkTW9kdWxlLFxuICAgIE92ZXJsYXlNb2R1bGUsXG4gICAgTHhEcmFnQW5kRHJvcExpc3RNb2R1bGUsXG4gICAgQmFzaWNEcm9wZG93bkNvbXBvbmVudCxcbiAgICBFeHBhbmRlZERyb3Bkb3duQ29tcG9uZW50LFxuICAgIEJhc2ljRHJvcGRvd25JdGVtQ29tcG9uZW50LFxuICAgIEJyZWFkY3J1bWJDb21wb25lbnQsXG4gICAgQ29weUJ1dHRvbkNvbXBvbmVudCxcbiAgICBDdXJyZW5jeUlucHV0Q29tcG9uZW50LFxuICAgIEN1cnJlbmN5U3ltYm9sQ29tcG9uZW50LFxuICAgIERhdGVJbnB1dENvbXBvbmVudCxcbiAgICBGaWx0ZXJTZWxlY3Rpb25QaXBlLFxuICAgIEZpbHRlclRlcm1QaXBlLFxuICAgIEZvcm1FcnJvckNvbXBvbmVudCxcbiAgICBJY29uQ29tcG9uZW50LFxuICAgIEtleWJvYXJkQWN0aW9uU291cmNlRGlyZWN0aXZlLFxuICAgIE1hcmtJbnZhbGlkRGlyZWN0aXZlLFxuICAgIE11bHRpU2VsZWN0Q29tcG9uZW50LFxuICAgIE9wdGlvbkNvbXBvbmVudCxcbiAgICBPcHRpb25Hcm91cENvbXBvbmVudCxcbiAgICBPcHRpb25Hcm91cERyb3Bkb3duQ29tcG9uZW50LFxuICAgIE9wdGlvbnNEcm9wZG93bkNvbXBvbmVudCxcbiAgICBPcHRpb25zU3ViRHJvcGRvd25Db21wb25lbnQsXG4gICAgQ2RrT3B0aW9uc0Ryb3Bkb3duQ29tcG9uZW50LFxuICAgIENka09wdGlvbnNTdWJEcm9wZG93bkNvbXBvbmVudCxcbiAgICBQaWNrZXJDb21wb25lbnQsXG4gICAgUGlja2VyT3B0aW9uQ29tcG9uZW50LFxuICAgIFBpY2tlclRyaWdnZXJEaXJlY3RpdmUsXG4gICAgUGlsbExpc3RDb21wb25lbnQsXG4gICAgUGlsbEl0ZW1Db21wb25lbnQsXG4gICAgUmVzcG9uc2l2ZUlucHV0Q29tcG9uZW50LFxuICAgIFNlbGVjdGFibGVJdGVtRGlyZWN0aXZlLFxuICAgIFNlbGVjdGVkT3B0aW9uRGlyZWN0aXZlLFxuICAgIFNlbGVjdERyb3Bkb3duRGlyZWN0aXZlLFxuICAgIFNpbmdsZVNlbGVjdENvbXBvbmVudCxcbiAgICBTZWxlY3RMaXN0Q29tcG9uZW50LFxuICAgIFNsaWRlclRvZ2dsZUNvbXBvbmVudCxcbiAgICBTb3J0aW5nRHJvcGRvd25Db21wb25lbnQsXG4gICAgU29ydGluZ0Ryb3Bkb3duVHJpZ2dlckNvbXBvbmVudCxcbiAgICBJbnB1dENvbXBvbmVudCxcbiAgICBGb3JtYXROdW1iZXJQaXBlLFxuICAgIEZvcm1FcnJvckRpcmVjdGl2ZSxcbiAgICBFcnJvck1lc3NhZ2VDb21wb25lbnQsXG4gICAgRm9ybVN1Ym1pdERpcmVjdGl2ZSxcbiAgICBDb250ZW50ZWRpdGFibGVEaXJlY3RpdmVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEJhc2ljRHJvcGRvd25Db21wb25lbnQsXG4gICAgRXhwYW5kZWREcm9wZG93bkNvbXBvbmVudCxcbiAgICBCYXNpY0Ryb3Bkb3duSXRlbUNvbXBvbmVudCxcbiAgICBCcmVhZGNydW1iQ29tcG9uZW50LFxuICAgIENvcHlCdXR0b25Db21wb25lbnQsXG4gICAgQ3VycmVuY3lJbnB1dENvbXBvbmVudCxcbiAgICBDdXJyZW5jeVN5bWJvbENvbXBvbmVudCxcbiAgICBEYXRlSW5wdXRDb21wb25lbnQsXG4gICAgRmlsdGVyU2VsZWN0aW9uUGlwZSxcbiAgICBGaWx0ZXJUZXJtUGlwZSxcbiAgICBGb3JtRXJyb3JDb21wb25lbnQsXG4gICAgSWNvbkNvbXBvbmVudCxcbiAgICBLZXlib2FyZEFjdGlvblNvdXJjZURpcmVjdGl2ZSxcbiAgICBNYXJrSW52YWxpZERpcmVjdGl2ZSxcbiAgICBNdWx0aVNlbGVjdENvbXBvbmVudCxcbiAgICBPcHRpb25Db21wb25lbnQsXG4gICAgT3B0aW9uR3JvdXBDb21wb25lbnQsXG4gICAgT3B0aW9uR3JvdXBEcm9wZG93bkNvbXBvbmVudCxcbiAgICBPcHRpb25zRHJvcGRvd25Db21wb25lbnQsXG4gICAgT3B0aW9uc1N1YkRyb3Bkb3duQ29tcG9uZW50LFxuICAgIENka09wdGlvbnNEcm9wZG93bkNvbXBvbmVudCxcbiAgICBDZGtPcHRpb25zU3ViRHJvcGRvd25Db21wb25lbnQsXG4gICAgUGlja2VyQ29tcG9uZW50LFxuICAgIFBpY2tlck9wdGlvbkNvbXBvbmVudCxcbiAgICBQaWNrZXJUcmlnZ2VyRGlyZWN0aXZlLFxuICAgIFBpbGxMaXN0Q29tcG9uZW50LFxuICAgIFBpbGxJdGVtQ29tcG9uZW50LFxuICAgIFJlc3BvbnNpdmVJbnB1dENvbXBvbmVudCxcbiAgICBTZWxlY3RhYmxlSXRlbURpcmVjdGl2ZSxcbiAgICBTZWxlY3REcm9wZG93bkRpcmVjdGl2ZSxcbiAgICBTZWxlY3RlZE9wdGlvbkRpcmVjdGl2ZSxcbiAgICBTZWxlY3RMaXN0Q29tcG9uZW50LFxuICAgIFNpbmdsZVNlbGVjdENvbXBvbmVudCxcbiAgICBTbGlkZXJUb2dnbGVDb21wb25lbnQsXG4gICAgU29ydGluZ0Ryb3Bkb3duQ29tcG9uZW50LFxuICAgIFNvcnRpbmdEcm9wZG93blRyaWdnZXJDb21wb25lbnQsXG4gICAgRm9ybWF0TnVtYmVyUGlwZSxcbiAgICBGb3JtRXJyb3JEaXJlY3RpdmUsXG4gICAgRm9ybVN1Ym1pdERpcmVjdGl2ZSxcbiAgICBFcnJvck1lc3NhZ2VDb21wb25lbnQsXG4gICAgTHhEcmFnQW5kRHJvcExpc3RNb2R1bGUsXG4gICAgQ29udGVudGVkaXRhYmxlRGlyZWN0aXZlLFxuICAgIElucHV0Q29tcG9uZW50XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTHhGb3Jtc01vZHVsZSB7fVxuIl19
|
274
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybXMtdWkubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvZm9ybXMtdWkvZm9ybXMtdWkubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUM1RyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUM5RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUMvRyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSwwRUFBMEUsQ0FBQztBQUMxSCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNyRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN4RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUMxRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsa0JB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Q2xpcGJvYXJkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NsaXBib2FyZCc7XG5pbXBvcnQgeyBPdmVybGF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgSW5maW5pdGVTY3JvbGxNb2R1bGUgfSBmcm9tICduZ3gtaW5maW5pdGUtc2Nyb2xsJztcbmltcG9ydCB7IEJhc2ljRHJvcGRvd25JdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Jhc2ljLWRyb3Bkb3duLWl0ZW0vYmFzaWMtZHJvcGRvd24taXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFzaWNEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9iYXNpYy1kcm9wZG93bi9iYXNpYy1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnJlYWRjcnVtYkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9icmVhZGNydW1iL2JyZWFkY3J1bWIuY29tcG9uZW50JztcbmltcG9ydCB7IENka09wdGlvbnNEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jZGstb3B0aW9ucy1kcm9wZG93bi9jZGstb3B0aW9ucy1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2RrT3B0aW9uc1N1YkRyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Nkay1vcHRpb25zLXN1Yi1kcm9wZG93bi9jZGstb3B0aW9ucy1zdWItZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IENvcHlCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29weS1idXR0b24vY29weS1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IEN1cnJlbmN5SW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY3VycmVuY3kvY3VycmVuY3ktaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEN1cnJlbmN5U3ltYm9sQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2N1cnJlbmN5L2N1cnJlbmN5LXN5bWJvbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0ZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RhdGUtaW5wdXQvZGF0ZS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0ZXBpY2tlclVpTW9kdWxlIH0gZnJvbSAnLi9jb21wb25lbnRzL2RhdGUtcGlja2VyLXVpL2RhdGVwaWNrZXItdWkubW9kdWxlJztcbmltcG9ydCB7IEx4RHJhZ0FuZERyb3BMaXN0TW9kdWxlIH0gZnJvbSAnLi9jb21wb25lbnRzL2RyYWctYW5kLWRyb3AtbGlzdC9kcmFnLWFuZC1kcm9wLWxpc3QubW9kdWxlJztcbmltcG9ydCB7IEVycm9yTWVzc2FnZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9lcnJvci1tZXNzYWdlL2Vycm9yLW1lc3NhZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IEV4cGFuZGVkRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZXhwYW5kZWQtZHJvcGRvd24vZXhwYW5kZWQtZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1FcnJvckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mb3JtLWVycm9yL2Zvcm0tZXJyb3IuY29tcG9uZW50JztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvaWNvbi9pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9pbnB1dC9pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTXVsdGlTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbXVsdGktc2VsZWN0L211bHRpLXNlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3B0aW9uR3JvdXBEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9vcHRpb24tZ3JvdXAtZHJvcGRvd24vb3B0aW9uLWdyb3VwLWRyb3Bkb3duLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPcHRpb25Hcm91cENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9vcHRpb24tZ3JvdXAvb3B0aW9uLWdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPcHRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvb3B0aW9uL29wdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3B0aW9uc0Ryb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL29wdGlvbnMtZHJvcGRvd24vb3B0aW9ucy1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3B0aW9uc1N1YkRyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL29wdGlvbnMtc3ViLWRyb3Bkb3duL29wdGlvbnMtc3ViLWRyb3Bkb3duLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQaWNrZXJPcHRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGlja2VyLW9wdGlvbi9waWNrZXItb3B0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQaWNrZXJUcmlnZ2VyRGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb25lbnRzL3BpY2tlci9waWNrZXItdHJpZ2dlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BpY2tlci9waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFBpbGxJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BpbGwtaXRlbS9waWxsLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFBpbGxMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BpbGwtbGlzdC9waWxsLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IFJlc3BvbnNpdmVJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9yZXNwb25zaXZlLWlucHV0L3Jlc3BvbnNpdmUtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IFNlbGVjdExpc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2VsZWN0LWxpc3Qvc2VsZWN0LWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IFNpbmdsZVNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zaW5nbGUtc2VsZWN0L3NpbmdsZS1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IFNsaWRlclRvZ2dsZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zbGlkZXItdG9nZ2xlL3NsaWRlci10b2dnbGUuY29tcG9uZW50JztcbmltcG9ydCB7IFNvcnRpbmdEcm9wZG93blRyaWdnZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc29ydGluZy1kcm9wZG93bi10cmlnZ2VyL3NvcnRpbmctZHJvcGRvd24tdHJpZ2dlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU29ydGluZ0Ryb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NvcnRpbmctZHJvcGRvd24vc29ydGluZy1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29udGVudGVkaXRhYmxlRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2NvbnRlbnRlZGl0YWJsZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRm9ybUVycm9yRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2Zvcm0tZXJyb3IuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZvcm1TdWJtaXREaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZm9ybS1zdWJtaXQuZGlyZWN0aXZlJztcbmltcG9ydCB7IEtleWJvYXJkQWN0aW9uU291cmNlRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2tleWJvYXJkLWFjdGlvbi1zb3VyY2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IE1hcmtJbnZhbGlkRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL21hcmstaW52YWxpZC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU2VsZWN0RHJvcGRvd25EaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvc2VsZWN0LWRyb3Bkb3duLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTZWxlY3RhYmxlSXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9zZWxlY3RhYmxlLWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7IFNlbGVjdGVkT3B0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3NlbGVjdGVkLW9wdGlvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRmlsdGVyU2VsZWN0aW9uUGlwZSB9IGZyb20gJy4vcGlwZXMvZmlsdGVyLXNlbGVjdGlvbi5waXBlJztcbmltcG9ydCB7IEZpbHRlclRlcm1QaXBlIH0gZnJvbSAnLi9waXBlcy9maWx0ZXItdGVybS5waXBlJztcbmltcG9ydCB7IEZvcm1hdE51bWJlclBpcGUgfSBmcm9tICcuL3BpcGVzL2Zvcm1hdC1udW1iZXIucGlwZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUuZm9yQ2hpbGQoKSxcbiAgICBEYXRlcGlja2VyVWlNb2R1bGUuZm9yUm9vdCgpLFxuICAgIEluZmluaXRlU2Nyb2xsTW9kdWxlLFxuICAgIENsaXBib2FyZE1vZHVsZSxcbiAgICBPdmVybGF5TW9kdWxlLFxuICAgIEx4RHJhZ0FuZERyb3BMaXN0TW9kdWxlLFxuICAgIEJhc2ljRHJvcGRvd25Db21wb25lbnQsXG4gICAgRXhwYW5kZWREcm9wZG93bkNvbXBvbmVudCxcbiAgICBCYXNpY0Ryb3Bkb3duSXRlbUNvbXBvbmVudCxcbiAgICBCcmVhZGNydW1iQ29tcG9uZW50LFxuICAgIENvcHlCdXR0b25Db21wb25lbnQsXG4gICAgQ3VycmVuY3lJbnB1dENvbXBvbmVudCxcbiAgICBDdXJyZW5jeVN5bWJvbENvbXBvbmVudCxcbiAgICBEYXRlSW5wdXRDb21wb25lbnQsXG4gICAgRmlsdGVyU2VsZWN0aW9uUGlwZSxcbiAgICBGaWx0ZXJUZXJtUGlwZSxcbiAgICBGb3JtRXJyb3JDb21wb25lbnQsXG4gICAgSWNvbkNvbXBvbmVudCxcbiAgICBLZXlib2FyZEFjdGlvblNvdXJjZURpcmVjdGl2ZSxcbiAgICBNYXJrSW52YWxpZERpcmVjdGl2ZSxcbiAgICBNdWx0aVNlbGVjdENvbXBvbmVudCxcbiAgICBPcHRpb25Db21wb25lbnQsXG4gICAgT3B0aW9uR3JvdXBDb21wb25lbnQsXG4gICAgT3B0aW9uR3JvdXBEcm9wZG93bkNvbXBvbmVudCxcbiAgICBPcHRpb25zRHJvcGRvd25Db21wb25lbnQsXG4gICAgT3B0aW9uc1N1YkRyb3Bkb3duQ29tcG9uZW50LFxuICAgIENka09wdGlvbnNEcm9wZG93bkNvbXBvbmVudCxcbiAgICBDZGtPcHRpb25zU3ViRHJvcGRvd25Db21wb25lbnQsXG4gICAgUGlja2VyQ29tcG9uZW50LFxuICAgIFBpY2tlck9wdGlvbkNvbXBvbmVudCxcbiAgICBQaWNrZXJUcmlnZ2VyRGlyZWN0aXZlLFxuICAgIFBpbGxMaXN0Q29tcG9uZW50LFxuICAgIFBpbGxJdGVtQ29tcG9uZW50LFxuICAgIFJlc3BvbnNpdmVJbnB1dENvbXBvbmVudCxcbiAgICBTZWxlY3RhYmxlSXRlbURpcmVjdGl2ZSxcbiAgICBTZWxlY3RlZE9wdGlvbkRpcmVjdGl2ZSxcbiAgICBTZWxlY3REcm9wZG93bkRpcmVjdGl2ZSxcbiAgICBTaW5nbGVTZWxlY3RDb21wb25lbnQsXG4gICAgU2VsZWN0TGlzdENvbXBvbmVudCxcbiAgICBTbGlkZXJUb2dnbGVDb21wb25lbnQsXG4gICAgU29ydGluZ0Ryb3Bkb3duQ29tcG9uZW50LFxuICAgIFNvcnRpbmdEcm9wZG93blRyaWdnZXJDb21wb25lbnQsXG4gICAgSW5wdXRDb21wb25lbnQsXG4gICAgRm9ybWF0TnVtYmVyUGlwZSxcbiAgICBGb3JtRXJyb3JEaXJlY3RpdmUsXG4gICAgRXJyb3JNZXNzYWdlQ29tcG9uZW50LFxuICAgIEZvcm1TdWJtaXREaXJlY3RpdmUsXG4gICAgQ29udGVudGVkaXRhYmxlRGlyZWN0aXZlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBCYXNpY0Ryb3Bkb3duQ29tcG9uZW50LFxuICAgIEV4cGFuZGVkRHJvcGRvd25Db21wb25lbnQsXG4gICAgQmFzaWNEcm9wZG93bkl0ZW1Db21wb25lbnQsXG4gICAgQnJlYWRjcnVtYkNvbXBvbmVudCxcbiAgICBDb3B5QnV0dG9uQ29tcG9uZW50LFxuICAgIEN1cnJlbmN5SW5wdXRDb21wb25lbnQsXG4gICAgQ3VycmVuY3lTeW1ib2xDb21wb25lbnQsXG4gICAgRGF0ZUlucHV0Q29tcG9uZW50LFxuICAgIEZpbHRlclNlbGVjdGlvblBpcGUsXG4gICAgRmlsdGVyVGVybVBpcGUsXG4gICAgRm9ybUVycm9yQ29tcG9uZW50LFxuICAgIEljb25Db21wb25lbnQsXG4gICAgS2V5Ym9hcmRBY3Rpb25Tb3VyY2VEaXJlY3RpdmUsXG4gICAgTWFya0ludmFsaWREaXJlY3RpdmUsXG4gICAgTXVsdGlTZWxlY3RDb21wb25lbnQsXG4gICAgT3B0aW9uQ29tcG9uZW50LFxuICAgIE9wdGlvbkdyb3VwQ29tcG9uZW50LFxuICAgIE9wdGlvbkdyb3VwRHJvcGRvd25Db21wb25lbnQsXG4gICAgT3B0aW9uc0Ryb3Bkb3duQ29tcG9uZW50LFxuICAgIE9wdGlvbnNTdWJEcm9wZG93bkNvbXBvbmVudCxcbiAgICBDZGtPcHRpb25zRHJvcGRvd25Db21wb25lbnQsXG4gICAgQ2RrT3B0aW9uc1N1YkRyb3Bkb3duQ29tcG9uZW50LFxuICAgIFBpY2tlckNvbXBvbmVudCxcbiAgICBQaWNrZXJPcHRpb25Db21wb25lbnQsXG4gICAgUGlja2VyVHJpZ2dlckRpcmVjdGl2ZSxcbiAgICBQaWxsTGlzdENvbXBvbmVudCxcbiAgICBQaWxsSXRlbUNvbXBvbmVudCxcbiAgICBSZXNwb25zaXZlSW5wdXRDb21wb25lbnQsXG4gICAgU2VsZWN0YWJsZUl0ZW1EaXJlY3RpdmUsXG4gICAgU2VsZWN0RHJvcGRvd25EaXJlY3RpdmUsXG4gICAgU2VsZWN0ZWRPcHRpb25EaXJlY3RpdmUsXG4gICAgU2VsZWN0TGlzdENvbXBvbmVudCxcbiAgICBTaW5nbGVTZWxlY3RDb21wb25lbnQsXG4gICAgU2xpZGVyVG9nZ2xlQ29tcG9uZW50LFxuICAgIFNvcnRpbmdEcm9wZG93bkNvbXBvbmVudCxcbiAgICBTb3J0aW5nRHJvcGRvd25UcmlnZ2VyQ29tcG9uZW50LFxuICAgIEZvcm1hdE51bWJlclBpcGUsXG4gICAgRm9ybUVycm9yRGlyZWN0aXZlLFxuICAgIEZvcm1TdWJtaXREaXJlY3RpdmUsXG4gICAgRXJyb3JNZXNzYWdlQ29tcG9uZW50LFxuICAgIEx4RHJhZ0FuZERyb3BMaXN0TW9kdWxlLFxuICAgIENvbnRlbnRlZGl0YWJsZURpcmVjdGl2ZSxcbiAgICBJbnB1dENvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEx4Rm9ybXNNb2R1bGUge31cbiJdfQ==
|
@@ -22,7 +22,7 @@ import { CdkStepper, CdkStepperModule } from '@angular/cdk/stepper';
|
|
22
22
|
import * as i1$4 from '@angular/cdk/clipboard';
|
23
23
|
import { ClipboardModule } from '@angular/cdk/clipboard';
|
24
24
|
import * as i1$5 from '@angular/forms';
|
25
|
-
import { NG_VALUE_ACCESSOR, FormsModule, NG_VALIDATORS,
|
25
|
+
import { NG_VALUE_ACCESSOR, FormsModule, NG_VALIDATORS, ReactiveFormsModule, UntypedFormControl } from '@angular/forms';
|
26
26
|
import * as i1$3 from 'ngx-infinite-scroll';
|
27
27
|
import { InfiniteScrollModule } from 'ngx-infinite-scroll';
|
28
28
|
import * as i1$6 from '@angular/cdk/drag-drop';
|
@@ -5337,23 +5337,26 @@ class InputComponent {
|
|
5337
5337
|
this.destroyed$ = new Subject();
|
5338
5338
|
}
|
5339
5339
|
ngOnInit() {
|
5340
|
-
if (this.ngControl)
|
5341
|
-
|
5342
|
-
|
5340
|
+
if (!this.ngControl)
|
5341
|
+
return;
|
5342
|
+
this.ngControl.statusChanges?.pipe(startWith(null), takeUntil(this.destroyed$)).subscribe(() => this.updateStatus());
|
5343
5343
|
}
|
5344
5344
|
updateStatus() {
|
5345
|
-
|
5345
|
+
const isInvalid = this.ngControl?.invalid;
|
5346
|
+
const isTouched = this.ngControl?.touched;
|
5347
|
+
const isDirty = this.ngControl?.dirty;
|
5348
|
+
this.error = !!(isInvalid && (isTouched || isDirty));
|
5346
5349
|
this.disabled = !!this.ngControl?.disabled;
|
5347
5350
|
}
|
5348
5351
|
ngOnDestroy() {
|
5349
5352
|
this.destroyed$.next();
|
5350
5353
|
}
|
5351
5354
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: InputComponent, deps: [{ token: i1$5.NgControl, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
5352
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: InputComponent, isStandalone: true, selector: "input[lx-input]", inputs: { error: "error", disabled: "disabled" }, host: { properties: { "class.error": "this.error", "class.disabled": "this.disabled" } }, ngImport: i0, template: ``, isInline: true, styles: [":host{height:32px;padding:8px;border-radius:3px;border:solid 1px #99a5bb;outline:0;color:#2a303d}:host:focus{border-color:#59f}:host.error{border-color:#f96464}:host.disabled{background-color:#f0f2f5;color:#61779d}\n"] }); }
|
5355
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: InputComponent, isStandalone: true, selector: "input[lx-input]", inputs: { error: "error", disabled: "disabled" }, host: { properties: { "class.error": "this.error", "class.disabled": "this.disabled" } }, ngImport: i0, template: ``, isInline: true, styles: [":host{height:32px;padding:8px;border-radius:3px;border:solid 1px #99a5bb;outline:0;color:#2a303d}:host:focus{border-color:#59f}:host.error{border-color:#f96464}:host.disabled{background-color:#f0f2f5;color:#61779d}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }] }); }
|
5353
5356
|
}
|
5354
5357
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: InputComponent, decorators: [{
|
5355
5358
|
type: Component,
|
5356
|
-
args: [{ selector: 'input[lx-input]', template: ``, standalone: true, styles: [":host{height:32px;padding:8px;border-radius:3px;border:solid 1px #99a5bb;outline:0;color:#2a303d}:host:focus{border-color:#59f}:host.error{border-color:#f96464}:host.disabled{background-color:#f0f2f5;color:#61779d}\n"] }]
|
5359
|
+
args: [{ selector: 'input[lx-input]', template: ``, standalone: true, imports: [ReactiveFormsModule], styles: [":host{height:32px;padding:8px;border-radius:3px;border:solid 1px #99a5bb;outline:0;color:#2a303d}:host:focus{border-color:#59f}:host.error{border-color:#f96464}:host.disabled{background-color:#f0f2f5;color:#61779d}\n"] }]
|
5357
5360
|
}], ctorParameters: () => [{ type: i1$5.NgControl, decorators: [{
|
5358
5361
|
type: Optional
|
5359
5362
|
}] }], propDecorators: { error: [{
|
@@ -7199,7 +7202,7 @@ class SingleSelectComponent extends BaseSelectDirective {
|
|
7199
7202
|
multi: true,
|
7200
7203
|
useExisting: forwardRef(() => SingleSelectComponent)
|
7201
7204
|
}
|
7202
|
-
], queries: [{ propertyName: "explicitDropdown", first: true, predicate: SelectDropdownDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "explicitSelectedOption", first: true, predicate: SelectedOptionDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "dropdownComponent", first: true, predicate: BasicDropdownComponent, descendants: true }], viewQueries: [{ propertyName: "implicitSelectedOption", first: true, predicate: ["selectedOption"], descendants: true, static: true }, { propertyName: "implicitDropdown", first: true, predicate: ["dropdown"], descendants: true, static: true }, { propertyName: "queryInput", first: true, predicate: ["queryInput"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"dropdownOpen\" class=\"backdrop\" (click)=\"handleBackdropClick($event)\"></div>\n<div\n [lxMarkInvalid]=\"markInvalid\"\n class=\"selectContainer {{ padding }}Padding\"\n [class.open]=\"dropdownOpen\"\n [class.top]=\"(dropdownDirection$ | async) === 'TOP'\"\n [class.bottom]=\"(dropdownDirection$ | async) === 'BOTTOM'\"\n [class.disabled]=\"disabled\"\n [class.grayBackground]=\"selectionBackground === 'gray'\"\n [class.defaultSize]=\"size === 'default'\"\n [class.smallSize]=\"size === 'small'\"\n [class.select2Size]=\"size === 'select2'\"\n [class.largeSize]=\"size === 'large'\"\n [style.cursor]=\"cursorStyle\"\n [class.focused]=\"isInputFocused\"\n [class.focusedVisible]=\"isInputFocusedViaTab\"\n (click)=\"handleClick($event.target === toggle)\"\n>\n <div class=\"selectionContainer\">\n <div class=\"inputContainer\">\n <div *ngIf=\"!selection && selection !== 0 && !queryInput?.value\" class=\"placeholder\" [attr.title]=\"placeholder\">\n {{ placeholder }}\n </div>\n <div\n *ngIf=\"!allowQuery || !queryInput?.value\"\n class=\"selection\"\n [class.lowerOpacity]=\"allowQuery && !queryInput?.value && dropdownOpen\"\n [class.lightgrayColor]=\"!allowQuery && dropdownOpen\"\n (click)=\"$event.stopPropagation(); focus()\"\n >\n <ng-container *ngTemplateOutlet=\"selectedOptionTmpl\"></ng-container>\n </div>\n <input\n #queryInput\n class=\"queryInput\"\n type=\"text\"\n [id]=\"inputId\"\n [attr.required]=\"required ? 'true' : null\"\n [class.isHidden]=\"!allowQuery\"\n (keydown.enter)=\"$event.preventDefault()\"\n (focus)=\"isInputFocused = true\"\n (blur)=\"isInputFocused = false; isInputFocusedViaTab = false; blur.emit($event)\"\n (keyup.tab)=\"focusedViaTab()\"\n (keyup.shift.tab)=\"focusedViaTab()\"\n [tabIndex]=\"disabled ? -1 : tabIndex\"\n [formControl]=\"queryControl\"\n [readOnly]=\"!allowQuery\"\n />\n </div>\n <div class=\"iconContainer\">\n <i *ngIf=\"(selection || selection === 0) && allowClear && !disabled\" class=\"far fa-times\" (click)=\"removeSelection()\"></i>\n <i #toggle class=\"fas fa-angle-down\" aria-hidden=\"true\"></i>\n </div>\n </div>\n <div class=\"optionsContainer\" [style.width]=\"dropdownWidth\" #optionsContainer>\n <ng-container *ngIf=\"dropdownOpen\">\n <ng-container *ngTemplateOutlet=\"dropdownTmpl\"></ng-container>\n </ng-container>\n </div>\n</div>\n\n<ng-template #selectedOption>\n <ng-content select=\".selectedOption\"></ng-content>\n</ng-template>\n<ng-template #dropdown>\n <ng-content select=\".dropdownComponent\"></ng-content>\n</ng-template>\n", styles: [":host ::ng-deep .selectedOption{overflow:hidden;text-overflow:ellipsis}.selectContainer{position:relative;height:auto;padding:0;box-sizing:border-box;background:#fff;border:1px solid #99a5bb;box-shadow:inset 0 1px 1px #00000012;border-radius:3px}.selectContainer.grayBackground{background:#eaedf1;border-color:#eaedf1;box-shadow:none}.selectContainer.open{z-index:1049;background:#fff;border:1px solid #e1e5eb}.selectContainer.open.bottom{box-shadow:0 6px 6px #21252933;border-bottom-color:#fff;border-bottom-left-radius:0;border-bottom-right-radius:0}.selectContainer.open.bottom .optionsContainer{border-bottom:solid 1px #e1e5eb;border-left:solid 1px #e1e5eb;border-right:solid 1px #e1e5eb;box-shadow:0 6px 6px #21252933;top:100%;border-top:0;border-top-left-radius:0;border-top-right-radius:0}.selectContainer.open.top{box-shadow:0 -4px 6px #21252933;border-top:0;border-top-left-radius:0;border-top-right-radius:0}.selectContainer.open.top .optionsContainer{border-bottom:solid 1px #e1e5eb;border-left:solid 1px #e1e5eb;border-right:solid 1px #e1e5eb;box-shadow:0 -4px 6px #21252933;margin-bottom:0;border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0;top:none;bottom:100%}.selectContainer:not(.open).focused{outline:0;border:1px solid #5599ff}.selectContainer:not(.open).focusedVisible{outline:1px auto Highlight;outline:1px auto -webkit-focus-ring-color}.selectContainer.disabled{background-color:#eaedf1;cursor:not-allowed!important}.selectContainer.defaultPadding .selectionContainer{padding-left:12px}.selectContainer.narrowPadding .selectionContainer{padding-left:4px}.selectContainer .lightgrayColor{color:#8594ad}.selectionContainer{display:flex}.inputContainer{flex:1;position:relative;white-space:nowrap}.queryInput{width:100%;appearance:none;border:0;padding-left:0;background:transparent;position:relative;cursor:inherit}.queryInput::-ms-clear{display:none}.queryInput:focus{outline:0}.queryInput.isHidden{opacity:0}.placeholder{position:absolute;width:100%;text-align:left;color:#8594ad;overflow:hidden;word-break:break-all;white-space:nowrap;text-overflow:ellipsis}.iconContainer{display:flex;align-items:center;text-align:center}.iconContainer .far,.iconContainer .fas{width:10px;cursor:pointer}.disabled .iconContainer .far,.disabled .iconContainer .fas{cursor:inherit;color:#8594ad}.iconContainer .fa-angle-down{margin:0 12px}.iconContainer .fa-times{margin-left:4px}.selection{width:100%;position:absolute;display:flex;align-items:center}.selection.lowerOpacity{opacity:.7}.backdrop{position:fixed;inset:0;z-index:1048}.optionsContainer{position:absolute;left:-1px;right:-1px;padding:0;border-radius:3px;background:#fff;z-index:1001}.defaultSize .inputContainer,.defaultSize .queryInput,.defaultSize .selection,.defaultSize .iconContainer{height:29px}.defaultSize .inputContainer{line-height:29px}.defaultSize .selectionContainer{min-height:29px}.smallSize .inputContainer,.smallSize .queryInput,.smallSize .selection,.smallSize .iconContainer{height:22px}.smallSize .inputContainer{line-height:22px}.smallSize .selectionContainer{min-height:22px}.select2Size .inputContainer,.select2Size .queryInput,.select2Size .selection,.select2Size .iconContainer{height:26px}.select2Size .inputContainer{line-height:26px}.select2Size .selectionContainer{min-height:26px}.largeSize .inputContainer,.largeSize .queryInput,.largeSize .selection,.largeSize .iconContainer{height:40px}.largeSize .inputContainer{line-height:40px}.largeSize .selectionContainer{min-height:40px}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: MarkInvalidDirective, selector: "[lxMarkInvalid]", inputs: ["lxMarkInvalid"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
|
7205
|
+
], queries: [{ propertyName: "explicitDropdown", first: true, predicate: SelectDropdownDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "explicitSelectedOption", first: true, predicate: SelectedOptionDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "dropdownComponent", first: true, predicate: BasicDropdownComponent, descendants: true }], viewQueries: [{ propertyName: "implicitSelectedOption", first: true, predicate: ["selectedOption"], descendants: true, static: true }, { propertyName: "implicitDropdown", first: true, predicate: ["dropdown"], descendants: true, static: true }, { propertyName: "queryInput", first: true, predicate: ["queryInput"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"dropdownOpen\" class=\"backdrop\" (click)=\"handleBackdropClick($event)\"></div>\n<div\n [lxMarkInvalid]=\"markInvalid\"\n class=\"selectContainer {{ padding }}Padding\"\n [class.open]=\"dropdownOpen\"\n [class.top]=\"(dropdownDirection$ | async) === 'TOP'\"\n [class.bottom]=\"(dropdownDirection$ | async) === 'BOTTOM'\"\n [class.disabled]=\"disabled\"\n [class.grayBackground]=\"selectionBackground === 'gray'\"\n [class.defaultSize]=\"size === 'default'\"\n [class.smallSize]=\"size === 'small'\"\n [class.select2Size]=\"size === 'select2'\"\n [class.largeSize]=\"size === 'large'\"\n [style.cursor]=\"cursorStyle\"\n [class.focused]=\"isInputFocused\"\n [class.focusedVisible]=\"isInputFocusedViaTab\"\n (click)=\"handleClick($event.target === toggle)\"\n>\n <div class=\"selectionContainer\">\n <div class=\"inputContainer\">\n <div *ngIf=\"!selection && selection !== 0 && !queryInput?.value\" class=\"placeholder\" [attr.title]=\"placeholder\">\n {{ placeholder }}\n </div>\n <div\n *ngIf=\"!allowQuery || !queryInput?.value\"\n class=\"selection\"\n [class.lowerOpacity]=\"allowQuery && !queryInput?.value && dropdownOpen\"\n [class.lightgrayColor]=\"!allowQuery && dropdownOpen\"\n (click)=\"$event.stopPropagation(); focus()\"\n >\n <ng-container *ngTemplateOutlet=\"selectedOptionTmpl\"></ng-container>\n </div>\n <input\n #queryInput\n class=\"queryInput\"\n type=\"text\"\n [attr.id]=\"inputId\"\n [attr.required]=\"required ? 'true' : null\"\n [class.isHidden]=\"!allowQuery\"\n (keydown.enter)=\"$event.preventDefault()\"\n (focus)=\"isInputFocused = true\"\n (blur)=\"isInputFocused = false; isInputFocusedViaTab = false; blur.emit($event)\"\n (keyup.tab)=\"focusedViaTab()\"\n (keyup.shift.tab)=\"focusedViaTab()\"\n [tabIndex]=\"disabled ? -1 : tabIndex\"\n [formControl]=\"queryControl\"\n [readOnly]=\"!allowQuery\"\n />\n </div>\n <div class=\"iconContainer\">\n <i *ngIf=\"(selection || selection === 0) && allowClear && !disabled\" class=\"far fa-times\" (click)=\"removeSelection()\"></i>\n <i #toggle class=\"fas fa-angle-down\" aria-hidden=\"true\"></i>\n </div>\n </div>\n <div class=\"optionsContainer\" [style.width]=\"dropdownWidth\" #optionsContainer>\n <ng-container *ngIf=\"dropdownOpen\">\n <ng-container *ngTemplateOutlet=\"dropdownTmpl\"></ng-container>\n </ng-container>\n </div>\n</div>\n\n<ng-template #selectedOption>\n <ng-content select=\".selectedOption\"></ng-content>\n</ng-template>\n<ng-template #dropdown>\n <ng-content select=\".dropdownComponent\"></ng-content>\n</ng-template>\n", styles: [":host ::ng-deep .selectedOption{overflow:hidden;text-overflow:ellipsis}.selectContainer{position:relative;height:auto;padding:0;box-sizing:border-box;background:#fff;border:1px solid #99a5bb;box-shadow:inset 0 1px 1px #00000012;border-radius:3px}.selectContainer.grayBackground{background:#eaedf1;border-color:#eaedf1;box-shadow:none}.selectContainer.open{z-index:1049;background:#fff;border:1px solid #e1e5eb}.selectContainer.open.bottom{box-shadow:0 6px 6px #21252933;border-bottom-color:#fff;border-bottom-left-radius:0;border-bottom-right-radius:0}.selectContainer.open.bottom .optionsContainer{border-bottom:solid 1px #e1e5eb;border-left:solid 1px #e1e5eb;border-right:solid 1px #e1e5eb;box-shadow:0 6px 6px #21252933;top:100%;border-top:0;border-top-left-radius:0;border-top-right-radius:0}.selectContainer.open.top{box-shadow:0 -4px 6px #21252933;border-top:0;border-top-left-radius:0;border-top-right-radius:0}.selectContainer.open.top .optionsContainer{border-bottom:solid 1px #e1e5eb;border-left:solid 1px #e1e5eb;border-right:solid 1px #e1e5eb;box-shadow:0 -4px 6px #21252933;margin-bottom:0;border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0;top:none;bottom:100%}.selectContainer:not(.open).focused{outline:0;border:1px solid #5599ff}.selectContainer:not(.open).focusedVisible{outline:1px auto Highlight;outline:1px auto -webkit-focus-ring-color}.selectContainer.disabled{background-color:#eaedf1;cursor:not-allowed!important}.selectContainer.defaultPadding .selectionContainer{padding-left:12px}.selectContainer.narrowPadding .selectionContainer{padding-left:4px}.selectContainer .lightgrayColor{color:#8594ad}.selectionContainer{display:flex}.inputContainer{flex:1;position:relative;white-space:nowrap}.queryInput{width:100%;appearance:none;border:0;padding-left:0;background:transparent;position:relative;cursor:inherit}.queryInput::-ms-clear{display:none}.queryInput:focus{outline:0}.queryInput.isHidden{opacity:0}.placeholder{position:absolute;width:100%;text-align:left;color:#8594ad;overflow:hidden;word-break:break-all;white-space:nowrap;text-overflow:ellipsis}.iconContainer{display:flex;align-items:center;text-align:center}.iconContainer .far,.iconContainer .fas{width:10px;cursor:pointer}.disabled .iconContainer .far,.disabled .iconContainer .fas{cursor:inherit;color:#8594ad}.iconContainer .fa-angle-down{margin:0 12px}.iconContainer .fa-times{margin-left:4px}.selection{width:100%;position:absolute;display:flex;align-items:center}.selection.lowerOpacity{opacity:.7}.backdrop{position:fixed;inset:0;z-index:1048}.optionsContainer{position:absolute;left:-1px;right:-1px;padding:0;border-radius:3px;background:#fff;z-index:1001}.defaultSize .inputContainer,.defaultSize .queryInput,.defaultSize .selection,.defaultSize .iconContainer{height:29px}.defaultSize .inputContainer{line-height:29px}.defaultSize .selectionContainer{min-height:29px}.smallSize .inputContainer,.smallSize .queryInput,.smallSize .selection,.smallSize .iconContainer{height:22px}.smallSize .inputContainer{line-height:22px}.smallSize .selectionContainer{min-height:22px}.select2Size .inputContainer,.select2Size .queryInput,.select2Size .selection,.select2Size .iconContainer{height:26px}.select2Size .inputContainer{line-height:26px}.select2Size .selectionContainer{min-height:26px}.largeSize .inputContainer,.largeSize .queryInput,.largeSize .selection,.largeSize .iconContainer{height:40px}.largeSize .inputContainer{line-height:40px}.largeSize .selectionContainer{min-height:40px}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: MarkInvalidDirective, selector: "[lxMarkInvalid]", inputs: ["lxMarkInvalid"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
|
7203
7206
|
}
|
7204
7207
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: SingleSelectComponent, decorators: [{
|
7205
7208
|
type: Component,
|
@@ -7209,7 +7212,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
|
|
7209
7212
|
multi: true,
|
7210
7213
|
useExisting: forwardRef(() => SingleSelectComponent)
|
7211
7214
|
}
|
7212
|
-
], standalone: true, imports: [NgIf, MarkInvalidDirective, NgTemplateOutlet, FormsModule, ReactiveFormsModule, AsyncPipe], template: "<div *ngIf=\"dropdownOpen\" class=\"backdrop\" (click)=\"handleBackdropClick($event)\"></div>\n<div\n [lxMarkInvalid]=\"markInvalid\"\n class=\"selectContainer {{ padding }}Padding\"\n [class.open]=\"dropdownOpen\"\n [class.top]=\"(dropdownDirection$ | async) === 'TOP'\"\n [class.bottom]=\"(dropdownDirection$ | async) === 'BOTTOM'\"\n [class.disabled]=\"disabled\"\n [class.grayBackground]=\"selectionBackground === 'gray'\"\n [class.defaultSize]=\"size === 'default'\"\n [class.smallSize]=\"size === 'small'\"\n [class.select2Size]=\"size === 'select2'\"\n [class.largeSize]=\"size === 'large'\"\n [style.cursor]=\"cursorStyle\"\n [class.focused]=\"isInputFocused\"\n [class.focusedVisible]=\"isInputFocusedViaTab\"\n (click)=\"handleClick($event.target === toggle)\"\n>\n <div class=\"selectionContainer\">\n <div class=\"inputContainer\">\n <div *ngIf=\"!selection && selection !== 0 && !queryInput?.value\" class=\"placeholder\" [attr.title]=\"placeholder\">\n {{ placeholder }}\n </div>\n <div\n *ngIf=\"!allowQuery || !queryInput?.value\"\n class=\"selection\"\n [class.lowerOpacity]=\"allowQuery && !queryInput?.value && dropdownOpen\"\n [class.lightgrayColor]=\"!allowQuery && dropdownOpen\"\n (click)=\"$event.stopPropagation(); focus()\"\n >\n <ng-container *ngTemplateOutlet=\"selectedOptionTmpl\"></ng-container>\n </div>\n <input\n #queryInput\n class=\"queryInput\"\n type=\"text\"\n [id]=\"inputId\"\n [attr.required]=\"required ? 'true' : null\"\n [class.isHidden]=\"!allowQuery\"\n (keydown.enter)=\"$event.preventDefault()\"\n (focus)=\"isInputFocused = true\"\n (blur)=\"isInputFocused = false; isInputFocusedViaTab = false; blur.emit($event)\"\n (keyup.tab)=\"focusedViaTab()\"\n (keyup.shift.tab)=\"focusedViaTab()\"\n [tabIndex]=\"disabled ? -1 : tabIndex\"\n [formControl]=\"queryControl\"\n [readOnly]=\"!allowQuery\"\n />\n </div>\n <div class=\"iconContainer\">\n <i *ngIf=\"(selection || selection === 0) && allowClear && !disabled\" class=\"far fa-times\" (click)=\"removeSelection()\"></i>\n <i #toggle class=\"fas fa-angle-down\" aria-hidden=\"true\"></i>\n </div>\n </div>\n <div class=\"optionsContainer\" [style.width]=\"dropdownWidth\" #optionsContainer>\n <ng-container *ngIf=\"dropdownOpen\">\n <ng-container *ngTemplateOutlet=\"dropdownTmpl\"></ng-container>\n </ng-container>\n </div>\n</div>\n\n<ng-template #selectedOption>\n <ng-content select=\".selectedOption\"></ng-content>\n</ng-template>\n<ng-template #dropdown>\n <ng-content select=\".dropdownComponent\"></ng-content>\n</ng-template>\n", styles: [":host ::ng-deep .selectedOption{overflow:hidden;text-overflow:ellipsis}.selectContainer{position:relative;height:auto;padding:0;box-sizing:border-box;background:#fff;border:1px solid #99a5bb;box-shadow:inset 0 1px 1px #00000012;border-radius:3px}.selectContainer.grayBackground{background:#eaedf1;border-color:#eaedf1;box-shadow:none}.selectContainer.open{z-index:1049;background:#fff;border:1px solid #e1e5eb}.selectContainer.open.bottom{box-shadow:0 6px 6px #21252933;border-bottom-color:#fff;border-bottom-left-radius:0;border-bottom-right-radius:0}.selectContainer.open.bottom .optionsContainer{border-bottom:solid 1px #e1e5eb;border-left:solid 1px #e1e5eb;border-right:solid 1px #e1e5eb;box-shadow:0 6px 6px #21252933;top:100%;border-top:0;border-top-left-radius:0;border-top-right-radius:0}.selectContainer.open.top{box-shadow:0 -4px 6px #21252933;border-top:0;border-top-left-radius:0;border-top-right-radius:0}.selectContainer.open.top .optionsContainer{border-bottom:solid 1px #e1e5eb;border-left:solid 1px #e1e5eb;border-right:solid 1px #e1e5eb;box-shadow:0 -4px 6px #21252933;margin-bottom:0;border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0;top:none;bottom:100%}.selectContainer:not(.open).focused{outline:0;border:1px solid #5599ff}.selectContainer:not(.open).focusedVisible{outline:1px auto Highlight;outline:1px auto -webkit-focus-ring-color}.selectContainer.disabled{background-color:#eaedf1;cursor:not-allowed!important}.selectContainer.defaultPadding .selectionContainer{padding-left:12px}.selectContainer.narrowPadding .selectionContainer{padding-left:4px}.selectContainer .lightgrayColor{color:#8594ad}.selectionContainer{display:flex}.inputContainer{flex:1;position:relative;white-space:nowrap}.queryInput{width:100%;appearance:none;border:0;padding-left:0;background:transparent;position:relative;cursor:inherit}.queryInput::-ms-clear{display:none}.queryInput:focus{outline:0}.queryInput.isHidden{opacity:0}.placeholder{position:absolute;width:100%;text-align:left;color:#8594ad;overflow:hidden;word-break:break-all;white-space:nowrap;text-overflow:ellipsis}.iconContainer{display:flex;align-items:center;text-align:center}.iconContainer .far,.iconContainer .fas{width:10px;cursor:pointer}.disabled .iconContainer .far,.disabled .iconContainer .fas{cursor:inherit;color:#8594ad}.iconContainer .fa-angle-down{margin:0 12px}.iconContainer .fa-times{margin-left:4px}.selection{width:100%;position:absolute;display:flex;align-items:center}.selection.lowerOpacity{opacity:.7}.backdrop{position:fixed;inset:0;z-index:1048}.optionsContainer{position:absolute;left:-1px;right:-1px;padding:0;border-radius:3px;background:#fff;z-index:1001}.defaultSize .inputContainer,.defaultSize .queryInput,.defaultSize .selection,.defaultSize .iconContainer{height:29px}.defaultSize .inputContainer{line-height:29px}.defaultSize .selectionContainer{min-height:29px}.smallSize .inputContainer,.smallSize .queryInput,.smallSize .selection,.smallSize .iconContainer{height:22px}.smallSize .inputContainer{line-height:22px}.smallSize .selectionContainer{min-height:22px}.select2Size .inputContainer,.select2Size .queryInput,.select2Size .selection,.select2Size .iconContainer{height:26px}.select2Size .inputContainer{line-height:26px}.select2Size .selectionContainer{min-height:26px}.largeSize .inputContainer,.largeSize .queryInput,.largeSize .selection,.largeSize .iconContainer{height:40px}.largeSize .inputContainer{line-height:40px}.largeSize .selectionContainer{min-height:40px}\n"] }]
|
7215
|
+
], standalone: true, imports: [NgIf, MarkInvalidDirective, NgTemplateOutlet, FormsModule, ReactiveFormsModule, AsyncPipe], template: "<div *ngIf=\"dropdownOpen\" class=\"backdrop\" (click)=\"handleBackdropClick($event)\"></div>\n<div\n [lxMarkInvalid]=\"markInvalid\"\n class=\"selectContainer {{ padding }}Padding\"\n [class.open]=\"dropdownOpen\"\n [class.top]=\"(dropdownDirection$ | async) === 'TOP'\"\n [class.bottom]=\"(dropdownDirection$ | async) === 'BOTTOM'\"\n [class.disabled]=\"disabled\"\n [class.grayBackground]=\"selectionBackground === 'gray'\"\n [class.defaultSize]=\"size === 'default'\"\n [class.smallSize]=\"size === 'small'\"\n [class.select2Size]=\"size === 'select2'\"\n [class.largeSize]=\"size === 'large'\"\n [style.cursor]=\"cursorStyle\"\n [class.focused]=\"isInputFocused\"\n [class.focusedVisible]=\"isInputFocusedViaTab\"\n (click)=\"handleClick($event.target === toggle)\"\n>\n <div class=\"selectionContainer\">\n <div class=\"inputContainer\">\n <div *ngIf=\"!selection && selection !== 0 && !queryInput?.value\" class=\"placeholder\" [attr.title]=\"placeholder\">\n {{ placeholder }}\n </div>\n <div\n *ngIf=\"!allowQuery || !queryInput?.value\"\n class=\"selection\"\n [class.lowerOpacity]=\"allowQuery && !queryInput?.value && dropdownOpen\"\n [class.lightgrayColor]=\"!allowQuery && dropdownOpen\"\n (click)=\"$event.stopPropagation(); focus()\"\n >\n <ng-container *ngTemplateOutlet=\"selectedOptionTmpl\"></ng-container>\n </div>\n <input\n #queryInput\n class=\"queryInput\"\n type=\"text\"\n [attr.id]=\"inputId\"\n [attr.required]=\"required ? 'true' : null\"\n [class.isHidden]=\"!allowQuery\"\n (keydown.enter)=\"$event.preventDefault()\"\n (focus)=\"isInputFocused = true\"\n (blur)=\"isInputFocused = false; isInputFocusedViaTab = false; blur.emit($event)\"\n (keyup.tab)=\"focusedViaTab()\"\n (keyup.shift.tab)=\"focusedViaTab()\"\n [tabIndex]=\"disabled ? -1 : tabIndex\"\n [formControl]=\"queryControl\"\n [readOnly]=\"!allowQuery\"\n />\n </div>\n <div class=\"iconContainer\">\n <i *ngIf=\"(selection || selection === 0) && allowClear && !disabled\" class=\"far fa-times\" (click)=\"removeSelection()\"></i>\n <i #toggle class=\"fas fa-angle-down\" aria-hidden=\"true\"></i>\n </div>\n </div>\n <div class=\"optionsContainer\" [style.width]=\"dropdownWidth\" #optionsContainer>\n <ng-container *ngIf=\"dropdownOpen\">\n <ng-container *ngTemplateOutlet=\"dropdownTmpl\"></ng-container>\n </ng-container>\n </div>\n</div>\n\n<ng-template #selectedOption>\n <ng-content select=\".selectedOption\"></ng-content>\n</ng-template>\n<ng-template #dropdown>\n <ng-content select=\".dropdownComponent\"></ng-content>\n</ng-template>\n", styles: [":host ::ng-deep .selectedOption{overflow:hidden;text-overflow:ellipsis}.selectContainer{position:relative;height:auto;padding:0;box-sizing:border-box;background:#fff;border:1px solid #99a5bb;box-shadow:inset 0 1px 1px #00000012;border-radius:3px}.selectContainer.grayBackground{background:#eaedf1;border-color:#eaedf1;box-shadow:none}.selectContainer.open{z-index:1049;background:#fff;border:1px solid #e1e5eb}.selectContainer.open.bottom{box-shadow:0 6px 6px #21252933;border-bottom-color:#fff;border-bottom-left-radius:0;border-bottom-right-radius:0}.selectContainer.open.bottom .optionsContainer{border-bottom:solid 1px #e1e5eb;border-left:solid 1px #e1e5eb;border-right:solid 1px #e1e5eb;box-shadow:0 6px 6px #21252933;top:100%;border-top:0;border-top-left-radius:0;border-top-right-radius:0}.selectContainer.open.top{box-shadow:0 -4px 6px #21252933;border-top:0;border-top-left-radius:0;border-top-right-radius:0}.selectContainer.open.top .optionsContainer{border-bottom:solid 1px #e1e5eb;border-left:solid 1px #e1e5eb;border-right:solid 1px #e1e5eb;box-shadow:0 -4px 6px #21252933;margin-bottom:0;border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0;top:none;bottom:100%}.selectContainer:not(.open).focused{outline:0;border:1px solid #5599ff}.selectContainer:not(.open).focusedVisible{outline:1px auto Highlight;outline:1px auto -webkit-focus-ring-color}.selectContainer.disabled{background-color:#eaedf1;cursor:not-allowed!important}.selectContainer.defaultPadding .selectionContainer{padding-left:12px}.selectContainer.narrowPadding .selectionContainer{padding-left:4px}.selectContainer .lightgrayColor{color:#8594ad}.selectionContainer{display:flex}.inputContainer{flex:1;position:relative;white-space:nowrap}.queryInput{width:100%;appearance:none;border:0;padding-left:0;background:transparent;position:relative;cursor:inherit}.queryInput::-ms-clear{display:none}.queryInput:focus{outline:0}.queryInput.isHidden{opacity:0}.placeholder{position:absolute;width:100%;text-align:left;color:#8594ad;overflow:hidden;word-break:break-all;white-space:nowrap;text-overflow:ellipsis}.iconContainer{display:flex;align-items:center;text-align:center}.iconContainer .far,.iconContainer .fas{width:10px;cursor:pointer}.disabled .iconContainer .far,.disabled .iconContainer .fas{cursor:inherit;color:#8594ad}.iconContainer .fa-angle-down{margin:0 12px}.iconContainer .fa-times{margin-left:4px}.selection{width:100%;position:absolute;display:flex;align-items:center}.selection.lowerOpacity{opacity:.7}.backdrop{position:fixed;inset:0;z-index:1048}.optionsContainer{position:absolute;left:-1px;right:-1px;padding:0;border-radius:3px;background:#fff;z-index:1001}.defaultSize .inputContainer,.defaultSize .queryInput,.defaultSize .selection,.defaultSize .iconContainer{height:29px}.defaultSize .inputContainer{line-height:29px}.defaultSize .selectionContainer{min-height:29px}.smallSize .inputContainer,.smallSize .queryInput,.smallSize .selection,.smallSize .iconContainer{height:22px}.smallSize .inputContainer{line-height:22px}.smallSize .selectionContainer{min-height:22px}.select2Size .inputContainer,.select2Size .queryInput,.select2Size .selection,.select2Size .iconContainer{height:26px}.select2Size .inputContainer{line-height:26px}.select2Size .selectionContainer{min-height:26px}.largeSize .inputContainer,.largeSize .queryInput,.largeSize .selection,.largeSize .iconContainer{height:40px}.largeSize .inputContainer{line-height:40px}.largeSize .selectionContainer{min-height:40px}\n"] }]
|
7213
7216
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { selection: [{
|
7214
7217
|
type: Input
|
7215
7218
|
}], selectionBackground: [{
|
@@ -7888,6 +7891,7 @@ class LxFormsModule {
|
|
7888
7891
|
SingleSelectComponent,
|
7889
7892
|
SelectListComponent,
|
7890
7893
|
SortingDropdownComponent,
|
7894
|
+
InputComponent,
|
7891
7895
|
ErrorMessageComponent, LxDragAndDropListModule] }); }
|
7892
7896
|
}
|
7893
7897
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: LxFormsModule, decorators: [{
|