@klippa/ngx-enhancy-forms 14.6.0 → 14.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/elements/file-input/file-input.component.mjs +3 -3
- package/esm2020/lib/elements/select/select.component.mjs +10 -7
- package/fesm2015/klippa-ngx-enhancy-forms.mjs +12 -8
- package/fesm2015/klippa-ngx-enhancy-forms.mjs.map +1 -1
- package/fesm2020/klippa-ngx-enhancy-forms.mjs +11 -8
- package/fesm2020/klippa-ngx-enhancy-forms.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -52,10 +52,10 @@ export class FileInputComponent extends MultipleValueAccessorBase {
|
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
54
|
FileInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: FileInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
55
|
-
FileInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: FileInputComponent, selector: "klp-form-file-input", inputs: { isLoading: "isLoading", clearable: "clearable", onlyShowUploadButton: "onlyShowUploadButton", useFullParentSize: "useFullParentSize" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: FileInputComponent, multi: true }], viewQueries: [{ propertyName: "nativeInputRef", first: true, predicate: ["nativeInputRef"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"componentContainer\" [ngClass]=\"{fullParentSize: useFullParentSize}\">\n\t<div class=\"buttonContainer\">\n\t\t<
|
|
55
|
+
FileInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: FileInputComponent, selector: "klp-form-file-input", inputs: { isLoading: "isLoading", clearable: "clearable", onlyShowUploadButton: "onlyShowUploadButton", useFullParentSize: "useFullParentSize" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: FileInputComponent, multi: true }], viewQueries: [{ propertyName: "nativeInputRef", first: true, predicate: ["nativeInputRef"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"componentContainer\" [ngClass]=\"{fullParentSize: useFullParentSize}\">\n\t<div class=\"buttonContainer\">\n\t\t<input\n\t\t\ttype=\"file\"\n\t\t\t#nativeInputRef\n\t\t\t(change)=\"onChange($event.target.files)\"\n\t\t\t[multiple]=\"multiple\"\n\t\t\t[disabled]=\"disabled\"\n\t\t>\n\t\t<klp-form-button class=\"uploadButton\" [isLoading]=\"isLoading\" (click)=\"uploadFileClicked()\">\n\t\t\tUpload a file\n\t\t</klp-form-button>\n\t</div>\n\t<div class=\"fileName\" *ngIf=\"!onlyShowUploadButton\">\n\t\t{{getFileNames()}}\n\t</div>\n\t<klp-form-button class=\"clearButton\" variant=\"white\" *ngIf=\"shouldShowClearButton()\" (click)=\"resetToNull()\">X</klp-form-button>\n</div>\n", styles: [":host{display:block}:host input:disabled{cursor:not-allowed}.componentContainer{display:flex;align-items:center}.componentContainer.fullParentSize{height:100%;justify-content:center;position:relative}.componentContainer:not(.fullParentSize) .buttonContainer{position:relative}.componentContainer .buttonContainer{flex:0 0 auto}input{position:absolute;cursor:pointer;opacity:0;inset:0}.fileName{flex:1 1 0px;margin-left:.625rem;color:#515365;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clearButton{flex:0 0 auto}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ButtonComponent, selector: "klp-form-button", inputs: ["variant", "size", "fullWidth", "hasBorder", "disabled", "isLoading", "type", "clickCallback"] }] });
|
|
56
56
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: FileInputComponent, decorators: [{
|
|
57
57
|
type: Component,
|
|
58
|
-
args: [{ selector: 'klp-form-file-input', providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: FileInputComponent, multi: true }], template: "<div class=\"componentContainer\" [ngClass]=\"{fullParentSize: useFullParentSize}\">\n\t<div class=\"buttonContainer\">\n\t\t<
|
|
58
|
+
args: [{ selector: 'klp-form-file-input', providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: FileInputComponent, multi: true }], template: "<div class=\"componentContainer\" [ngClass]=\"{fullParentSize: useFullParentSize}\">\n\t<div class=\"buttonContainer\">\n\t\t<input\n\t\t\ttype=\"file\"\n\t\t\t#nativeInputRef\n\t\t\t(change)=\"onChange($event.target.files)\"\n\t\t\t[multiple]=\"multiple\"\n\t\t\t[disabled]=\"disabled\"\n\t\t>\n\t\t<klp-form-button class=\"uploadButton\" [isLoading]=\"isLoading\" (click)=\"uploadFileClicked()\">\n\t\t\tUpload a file\n\t\t</klp-form-button>\n\t</div>\n\t<div class=\"fileName\" *ngIf=\"!onlyShowUploadButton\">\n\t\t{{getFileNames()}}\n\t</div>\n\t<klp-form-button class=\"clearButton\" variant=\"white\" *ngIf=\"shouldShowClearButton()\" (click)=\"resetToNull()\">X</klp-form-button>\n</div>\n", styles: [":host{display:block}:host input:disabled{cursor:not-allowed}.componentContainer{display:flex;align-items:center}.componentContainer.fullParentSize{height:100%;justify-content:center;position:relative}.componentContainer:not(.fullParentSize) .buttonContainer{position:relative}.componentContainer .buttonContainer{flex:0 0 auto}input{position:absolute;cursor:pointer;opacity:0;inset:0}.fileName{flex:1 1 0px;margin-left:.625rem;color:#515365;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clearButton{flex:0 0 auto}\n"] }]
|
|
59
59
|
}], propDecorators: { isLoading: [{
|
|
60
60
|
type: Input
|
|
61
61
|
}], clearable: [{
|
|
@@ -68,4 +68,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImpor
|
|
|
68
68
|
type: ViewChild,
|
|
69
69
|
args: ['nativeInputRef']
|
|
70
70
|
}] } });
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rbGlwcGEvbmd4LWVuaGFuY3ktZm9ybXMvc3JjL2xpYi9lbGVtZW50cy9maWxlLWlucHV0L2ZpbGUtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2xpcHBhL25neC1lbmhhbmN5LWZvcm1zL3NyYy9saWIvZWxlbWVudHMvZmlsZS1pbnB1dC9maWxlLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWMsS0FBSyxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSwrREFBK0QsQ0FBQztBQUN4RyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDN0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7QUFReEQsTUFBTSxPQUFPLGtCQUFtQixTQUFRLHlCQUErQjtJQU52RTs7UUFPVSxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIseUJBQW9CLEdBQUcsS0FBSyxDQUFDO1FBQzdCLHNCQUFpQixHQUFHLEtBQUssQ0FBQztLQXlDbkM7SUF0Q08sUUFBUSxDQUFDLEtBQWU7UUFDOUIsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3RDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzNCO1FBQ0QsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BDLGlEQUFpRDtRQUNqRCxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ2hELENBQUM7SUFFTSxZQUFZO1FBQ2xCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDbkMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDbkQ7YUFBTSxJQUFJLElBQUksQ0FBQyxVQUFVLFlBQVksSUFBSSxFQUFFO1lBQzNDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7U0FDNUI7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNiLENBQUM7SUFFTSxxQkFBcUI7UUFDM0IsSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFDOUIsT0FBTyxLQUFLLENBQUM7U0FDYjtRQUNELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixJQUFJLG1CQUFtQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRTtnQkFDekMsT0FBTyxJQUFJLENBQUM7YUFDWjtZQUNELE9BQU8sS0FBSyxDQUFDO1NBQ2I7UUFDRCxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDaEMsT0FBTyxJQUFJLENBQUM7U0FDWjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2QsQ0FBQztJQUVNLGlCQUFpQjtRQUN2QixJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMzQyxDQUFDOzsrR0E1Q1csa0JBQWtCO21HQUFsQixrQkFBa0IsZ01BRm5CLENBQUMsRUFBQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUMsQ0FBQyxtS0NWeEYsMnJCQWtCQTsyRkROYSxrQkFBa0I7a0JBTjlCLFNBQVM7K0JBQ0MscUJBQXFCLGFBR3BCLENBQUMsRUFBQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxvQkFBb0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFDLENBQUM7OEJBRzlFLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUN1QixjQUFjO3NCQUExQyxTQUFTO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7TXVsdGlwbGVWYWx1ZUFjY2Vzc29yQmFzZX0gZnJvbSAnLi4vdmFsdWUtYWNjZXNzb3ItYmFzZS9tdWx0aXBsZS12YWx1ZS1hY2Nlc3Nvci1iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQge2lzVmFsdWVTZXR9IGZyb20gJy4uLy4uL3V0aWwvdmFsdWVzJztcbmltcG9ydCB7IGFycmF5SXNTZXRBbmRGaWxsZWQgfSBmcm9tICcuLi8uLi91dGlsL2FycmF5cyc7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ2tscC1mb3JtLWZpbGUtaW5wdXQnLFxuXHR0ZW1wbGF0ZVVybDogJy4vZmlsZS1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG5cdHN0eWxlVXJsczogWycuL2ZpbGUtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcblx0cHJvdmlkZXJzOiBbe3Byb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCB1c2VFeGlzdGluZzogRmlsZUlucHV0Q29tcG9uZW50LCBtdWx0aTogdHJ1ZX1dLFxufSlcbmV4cG9ydCBjbGFzcyBGaWxlSW5wdXRDb21wb25lbnQgZXh0ZW5kcyBNdWx0aXBsZVZhbHVlQWNjZXNzb3JCYXNlPEZpbGU+IHtcblx0QElucHV0KCkgaXNMb2FkaW5nID0gZmFsc2U7XG5cdEBJbnB1dCgpIGNsZWFyYWJsZSA9IGZhbHNlO1xuXHRASW5wdXQoKSBvbmx5U2hvd1VwbG9hZEJ1dHRvbiA9IGZhbHNlO1xuXHRASW5wdXQoKSB1c2VGdWxsUGFyZW50U2l6ZSA9IGZhbHNlO1xuXHRAVmlld0NoaWxkKCduYXRpdmVJbnB1dFJlZicpIG5hdGl2ZUlucHV0UmVmOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG5cdHB1YmxpYyBvbkNoYW5nZShmaWxlczogRmlsZUxpc3QpOiB2b2lkIHtcblx0XHRjb25zdCByZXN1bHQgPSBbXTtcblx0XHRmb3IgKGxldCBpID0gMDsgaSA8IGZpbGVzLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHRyZXN1bHQucHVzaChmaWxlcy5pdGVtKGkpKTtcblx0XHR9XG5cdFx0dGhpcy5zZXRJbm5lclZhbHVlQW5kTm90aWZ5KHJlc3VsdCk7XG5cdFx0Ly8gdG8gbWFrZSBzdXJlIHdlIGNhbiBzZWxlY3QgdGhlIHNhbWUgZmlsZSBhZ2FpblxuXHRcdHRoaXMubmF0aXZlSW5wdXRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSA9IG51bGw7XG5cdH1cblxuXHRwdWJsaWMgZ2V0RmlsZU5hbWVzKCk6IHN0cmluZyB7XG5cdFx0aWYgKEFycmF5LmlzQXJyYXkodGhpcy5pbm5lclZhbHVlKSkge1xuXHRcdFx0cmV0dXJuIHRoaXMuaW5uZXJWYWx1ZS5tYXAoZSA9PiBlLm5hbWUpLmpvaW4oJywgJyk7XG5cdFx0fSBlbHNlIGlmICh0aGlzLmlubmVyVmFsdWUgaW5zdGFuY2VvZiBGaWxlKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5pbm5lclZhbHVlLm5hbWU7XG5cdFx0fVxuXHRcdHJldHVybiBudWxsO1xuXHR9XG5cblx0cHVibGljIHNob3VsZFNob3dDbGVhckJ1dHRvbigpOiBib29sZWFuIHtcblx0XHRpZiAodGhpcy5vbmx5U2hvd1VwbG9hZEJ1dHRvbikge1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblx0XHRpZiAodGhpcy5tdWx0aXBsZSkge1xuXHRcdFx0aWYgKGFycmF5SXNTZXRBbmRGaWxsZWQodGhpcy5pbm5lclZhbHVlKSkge1xuXHRcdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHRcdH1cblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9XG5cdFx0aWYgKGlzVmFsdWVTZXQodGhpcy5pbm5lclZhbHVlKSkge1xuXHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0fVxuXHRcdHJldHVybiBmYWxzZTtcblx0fVxuXG5cdHB1YmxpYyB1cGxvYWRGaWxlQ2xpY2tlZCgpOiB2b2lkIHtcblx0XHR0aGlzLm5hdGl2ZUlucHV0UmVmLm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcblx0fVxufVxuIiwiPGRpdiBjbGFzcz1cImNvbXBvbmVudENvbnRhaW5lclwiIFtuZ0NsYXNzXT1cIntmdWxsUGFyZW50U2l6ZTogdXNlRnVsbFBhcmVudFNpemV9XCI+
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rbGlwcGEvbmd4LWVuaGFuY3ktZm9ybXMvc3JjL2xpYi9lbGVtZW50cy9maWxlLWlucHV0L2ZpbGUtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2xpcHBhL25neC1lbmhhbmN5LWZvcm1zL3NyYy9saWIvZWxlbWVudHMvZmlsZS1pbnB1dC9maWxlLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWMsS0FBSyxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSwrREFBK0QsQ0FBQztBQUN4RyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDN0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7QUFReEQsTUFBTSxPQUFPLGtCQUFtQixTQUFRLHlCQUErQjtJQU52RTs7UUFPVSxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIseUJBQW9CLEdBQUcsS0FBSyxDQUFDO1FBQzdCLHNCQUFpQixHQUFHLEtBQUssQ0FBQztLQXlDbkM7SUF0Q08sUUFBUSxDQUFDLEtBQWU7UUFDOUIsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3RDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzNCO1FBQ0QsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BDLGlEQUFpRDtRQUNqRCxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ2hELENBQUM7SUFFTSxZQUFZO1FBQ2xCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDbkMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDbkQ7YUFBTSxJQUFJLElBQUksQ0FBQyxVQUFVLFlBQVksSUFBSSxFQUFFO1lBQzNDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7U0FDNUI7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNiLENBQUM7SUFFTSxxQkFBcUI7UUFDM0IsSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFDOUIsT0FBTyxLQUFLLENBQUM7U0FDYjtRQUNELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixJQUFJLG1CQUFtQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRTtnQkFDekMsT0FBTyxJQUFJLENBQUM7YUFDWjtZQUNELE9BQU8sS0FBSyxDQUFDO1NBQ2I7UUFDRCxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDaEMsT0FBTyxJQUFJLENBQUM7U0FDWjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2QsQ0FBQztJQUVNLGlCQUFpQjtRQUN2QixJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMzQyxDQUFDOzsrR0E1Q1csa0JBQWtCO21HQUFsQixrQkFBa0IsZ01BRm5CLENBQUMsRUFBQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUMsQ0FBQyxtS0NWeEYsMnJCQWtCQTsyRkROYSxrQkFBa0I7a0JBTjlCLFNBQVM7K0JBQ0MscUJBQXFCLGFBR3BCLENBQUMsRUFBQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxvQkFBb0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFDLENBQUM7OEJBRzlFLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUN1QixjQUFjO3NCQUExQyxTQUFTO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7TXVsdGlwbGVWYWx1ZUFjY2Vzc29yQmFzZX0gZnJvbSAnLi4vdmFsdWUtYWNjZXNzb3ItYmFzZS9tdWx0aXBsZS12YWx1ZS1hY2Nlc3Nvci1iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQge2lzVmFsdWVTZXR9IGZyb20gJy4uLy4uL3V0aWwvdmFsdWVzJztcbmltcG9ydCB7IGFycmF5SXNTZXRBbmRGaWxsZWQgfSBmcm9tICcuLi8uLi91dGlsL2FycmF5cyc7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ2tscC1mb3JtLWZpbGUtaW5wdXQnLFxuXHR0ZW1wbGF0ZVVybDogJy4vZmlsZS1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG5cdHN0eWxlVXJsczogWycuL2ZpbGUtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcblx0cHJvdmlkZXJzOiBbe3Byb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCB1c2VFeGlzdGluZzogRmlsZUlucHV0Q29tcG9uZW50LCBtdWx0aTogdHJ1ZX1dLFxufSlcbmV4cG9ydCBjbGFzcyBGaWxlSW5wdXRDb21wb25lbnQgZXh0ZW5kcyBNdWx0aXBsZVZhbHVlQWNjZXNzb3JCYXNlPEZpbGU+IHtcblx0QElucHV0KCkgaXNMb2FkaW5nID0gZmFsc2U7XG5cdEBJbnB1dCgpIGNsZWFyYWJsZSA9IGZhbHNlO1xuXHRASW5wdXQoKSBvbmx5U2hvd1VwbG9hZEJ1dHRvbiA9IGZhbHNlO1xuXHRASW5wdXQoKSB1c2VGdWxsUGFyZW50U2l6ZSA9IGZhbHNlO1xuXHRAVmlld0NoaWxkKCduYXRpdmVJbnB1dFJlZicpIG5hdGl2ZUlucHV0UmVmOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG5cdHB1YmxpYyBvbkNoYW5nZShmaWxlczogRmlsZUxpc3QpOiB2b2lkIHtcblx0XHRjb25zdCByZXN1bHQgPSBbXTtcblx0XHRmb3IgKGxldCBpID0gMDsgaSA8IGZpbGVzLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHRyZXN1bHQucHVzaChmaWxlcy5pdGVtKGkpKTtcblx0XHR9XG5cdFx0dGhpcy5zZXRJbm5lclZhbHVlQW5kTm90aWZ5KHJlc3VsdCk7XG5cdFx0Ly8gdG8gbWFrZSBzdXJlIHdlIGNhbiBzZWxlY3QgdGhlIHNhbWUgZmlsZSBhZ2FpblxuXHRcdHRoaXMubmF0aXZlSW5wdXRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSA9IG51bGw7XG5cdH1cblxuXHRwdWJsaWMgZ2V0RmlsZU5hbWVzKCk6IHN0cmluZyB7XG5cdFx0aWYgKEFycmF5LmlzQXJyYXkodGhpcy5pbm5lclZhbHVlKSkge1xuXHRcdFx0cmV0dXJuIHRoaXMuaW5uZXJWYWx1ZS5tYXAoZSA9PiBlLm5hbWUpLmpvaW4oJywgJyk7XG5cdFx0fSBlbHNlIGlmICh0aGlzLmlubmVyVmFsdWUgaW5zdGFuY2VvZiBGaWxlKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5pbm5lclZhbHVlLm5hbWU7XG5cdFx0fVxuXHRcdHJldHVybiBudWxsO1xuXHR9XG5cblx0cHVibGljIHNob3VsZFNob3dDbGVhckJ1dHRvbigpOiBib29sZWFuIHtcblx0XHRpZiAodGhpcy5vbmx5U2hvd1VwbG9hZEJ1dHRvbikge1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblx0XHRpZiAodGhpcy5tdWx0aXBsZSkge1xuXHRcdFx0aWYgKGFycmF5SXNTZXRBbmRGaWxsZWQodGhpcy5pbm5lclZhbHVlKSkge1xuXHRcdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHRcdH1cblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9XG5cdFx0aWYgKGlzVmFsdWVTZXQodGhpcy5pbm5lclZhbHVlKSkge1xuXHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0fVxuXHRcdHJldHVybiBmYWxzZTtcblx0fVxuXG5cdHB1YmxpYyB1cGxvYWRGaWxlQ2xpY2tlZCgpOiB2b2lkIHtcblx0XHR0aGlzLm5hdGl2ZUlucHV0UmVmLm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcblx0fVxufVxuIiwiPGRpdiBjbGFzcz1cImNvbXBvbmVudENvbnRhaW5lclwiIFtuZ0NsYXNzXT1cIntmdWxsUGFyZW50U2l6ZTogdXNlRnVsbFBhcmVudFNpemV9XCI+XG5cdDxkaXYgY2xhc3M9XCJidXR0b25Db250YWluZXJcIj5cblx0XHQ8aW5wdXRcblx0XHRcdHR5cGU9XCJmaWxlXCJcblx0XHRcdCNuYXRpdmVJbnB1dFJlZlxuXHRcdFx0KGNoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQudGFyZ2V0LmZpbGVzKVwiXG5cdFx0XHRbbXVsdGlwbGVdPVwibXVsdGlwbGVcIlxuXHRcdFx0W2Rpc2FibGVkXT1cImRpc2FibGVkXCJcblx0XHQ+XG5cdFx0PGtscC1mb3JtLWJ1dHRvbiBjbGFzcz1cInVwbG9hZEJ1dHRvblwiIFtpc0xvYWRpbmddPVwiaXNMb2FkaW5nXCIgKGNsaWNrKT1cInVwbG9hZEZpbGVDbGlja2VkKClcIj5cblx0XHRcdFVwbG9hZCBhIGZpbGVcblx0XHQ8L2tscC1mb3JtLWJ1dHRvbj5cblx0PC9kaXY+XG5cdDxkaXYgY2xhc3M9XCJmaWxlTmFtZVwiICpuZ0lmPVwiIW9ubHlTaG93VXBsb2FkQnV0dG9uXCI+XG5cdFx0e3tnZXRGaWxlTmFtZXMoKX19XG5cdDwvZGl2PlxuXHQ8a2xwLWZvcm0tYnV0dG9uIGNsYXNzPVwiY2xlYXJCdXR0b25cIiB2YXJpYW50PVwid2hpdGVcIiAqbmdJZj1cInNob3VsZFNob3dDbGVhckJ1dHRvbigpXCIgKGNsaWNrKT1cInJlc2V0VG9OdWxsKClcIj5YPC9rbHAtZm9ybS1idXR0b24+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -106,14 +106,17 @@ export class SelectComponent extends ValueAccessorBase {
|
|
|
106
106
|
if (dropdownPanel) {
|
|
107
107
|
dropdownPanel.style.width = `${Math.max(this.elRef.nativeElement.clientWidth, maxWidth + 40, dropdownPanel.getBoundingClientRect().width)}px`;
|
|
108
108
|
}
|
|
109
|
-
let
|
|
110
|
-
while (
|
|
111
|
-
|
|
109
|
+
let limitingParentContainer = this.elRef.nativeElement;
|
|
110
|
+
while (limitingParentContainer.parentElement && !this.isLimitingContainer(limitingParentContainer)) {
|
|
111
|
+
limitingParentContainer = limitingParentContainer.parentElement;
|
|
112
112
|
}
|
|
113
113
|
if (dropdownPanel) {
|
|
114
|
-
const
|
|
115
|
-
|
|
116
|
-
|
|
114
|
+
const spaceInParent = limitingParentContainer.clientWidth;
|
|
115
|
+
const spaceLeftOfElRef = this.elRef?.nativeElement.getBoundingClientRect().left - limitingParentContainer.getBoundingClientRect().left;
|
|
116
|
+
const spaceRightOfElRef = spaceInParent - spaceLeftOfElRef;
|
|
117
|
+
const shiftToLeft = dropdownPanel?.clientWidth - spaceRightOfElRef + 20;
|
|
118
|
+
if (shiftToLeft > 0) {
|
|
119
|
+
dropdownPanel.style.left = `-${shiftToLeft}px`;
|
|
117
120
|
}
|
|
118
121
|
}
|
|
119
122
|
});
|
|
@@ -219,4 +222,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImpor
|
|
|
219
222
|
type: ContentChild,
|
|
220
223
|
args: [KlpSelectOptionTemplateDirective, { read: TemplateRef }]
|
|
221
224
|
}] } });
|
|
222
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tsaXBwYS9uZ3gtZW5oYW5jeS1mb3Jtcy9zcmMvbGliL2VsZW1lbnRzL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2xpcHBhL25neC1lbmhhbmN5LWZvcm1zL3NyYy9saWIvZWxlbWVudHMvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRU4sU0FBUyxFQUNULFlBQVksRUFDWixTQUFTLEVBRVQsWUFBWSxFQUNaLElBQUksRUFDSixNQUFNLEVBQ04sY0FBYyxFQUNkLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxFQUVOLFdBQVcsRUFDWCxTQUFTLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFtQixpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25FLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBRXZGLE9BQU8sRUFBQyxVQUFVLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7O0FBV25FLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLElBQUksY0FBYyxDQUFNLDhCQUE4QixDQUFDLENBQUM7QUFHM0YsTUFBTSxPQUFPLGdDQUFnQzs7NkhBQWhDLGdDQUFnQztpSEFBaEMsZ0NBQWdDOzJGQUFoQyxnQ0FBZ0M7a0JBRDVDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQUU7O0FBUy9DLE1BQU0sT0FBTyxlQUFnQixTQUFRLGlCQUFvQztJQTBCeEUsWUFDK0IsTUFBNEIsRUFDNUIsZ0JBQWtDLEVBQ2YsWUFBaUIsRUFDMUQsS0FBaUI7UUFFekIsS0FBSyxDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsQ0FB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ckYsWUFBWTt1QkFBQyxnQ0FBZ0MsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHRBZnRlclZpZXdJbml0LFxuXHRDb21wb25lbnQsXG5cdENvbnRlbnRDaGlsZCxcblx0RGlyZWN0aXZlLFxuXHRFbGVtZW50UmVmLFxuXHRFdmVudEVtaXR0ZXIsXG5cdEhvc3QsXG5cdEluamVjdCxcblx0SW5qZWN0aW9uVG9rZW4sXG5cdElucHV0LFxuXHRPbkNoYW5nZXMsXG5cdE9wdGlvbmFsLFxuXHRPdXRwdXQsXG5cdFNpbXBsZUNoYW5nZXMsXG5cdFRlbXBsYXRlUmVmLFxuXHRWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbnRyb2xDb250YWluZXIsIE5HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1ZhbHVlQWNjZXNzb3JCYXNlfSBmcm9tICcuLi92YWx1ZS1hY2Nlc3Nvci1iYXNlL3ZhbHVlLWFjY2Vzc29yLWJhc2UuY29tcG9uZW50JztcbmltcG9ydCB7Rm9ybUVsZW1lbnRDb21wb25lbnR9IGZyb20gJy4uLy4uL2Zvcm0vZm9ybS1lbGVtZW50L2Zvcm0tZWxlbWVudC5jb21wb25lbnQnO1xuaW1wb3J0IHtpc1ZhbHVlU2V0LCBzdHJpbmdJc1NldEFuZEZpbGxlZH0gZnJvbSAnLi4vLi4vdXRpbC92YWx1ZXMnO1xuXG5leHBvcnQgdHlwZSBBcHBTZWxlY3RPcHRpb25zID0gQXJyYXk8QXBwU2VsZWN0T3B0aW9uPjtcbmV4cG9ydCB0eXBlIEFwcFNlbGVjdE9wdGlvbiA9IHtcblx0aWQ6IGFueTtcblx0bmFtZTogc3RyaW5nO1xuXHRkZXNjcmlwdGlvbj86IHN0cmluZztcblx0YWN0aXZlPzogYm9vbGVhbjtcblx0ZGlzYWJsZWQ/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IGNvbnN0IFNFTEVDVF9UUkFOU0xBVElPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48YW55Pigna2xwLmZvcm0uc2VsZWN0LnRyYW5zbGF0aW9ucycpO1xuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdba2xwU2VsZWN0T3B0aW9uVHBsXScgfSlcbmV4cG9ydCBjbGFzcyBLbHBTZWxlY3RPcHRpb25UZW1wbGF0ZURpcmVjdGl2ZSB7fVxuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICdrbHAtZm9ybS1zZWxlY3QnLFxuXHR0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcblx0c3R5bGVVcmxzOiBbJy4vc2VsZWN0LmNvbXBvbmVudC5zY3NzJ10sXG5cdHByb3ZpZGVyczogW3twcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUiwgdXNlRXhpc3Rpbmc6IFNlbGVjdENvbXBvbmVudCwgbXVsdGk6IHRydWV9XSxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0Q29tcG9uZW50IGV4dGVuZHMgVmFsdWVBY2Nlc3NvckJhc2U8c3RyaW5nIHwgc3RyaW5nW10+IGltcGxlbWVudHMgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0e1xuXHRASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xuXHRASW5wdXQoKSBwcmVmaXg6IHN0cmluZztcblx0QElucHV0KCkgb3JpZW50YXRpb246ICd2ZXJ0aWNhbCcgfCAnaG9yaXpvbnRhbCcgPSAnaG9yaXpvbnRhbCc7XG5cdEBJbnB1dCgpIG9wdGlvbnM6IEFwcFNlbGVjdE9wdGlvbnM7XG5cdEBJbnB1dCgpIG11bHRpcGxlID0gZmFsc2U7XG5cdEBJbnB1dCgpIG11bHRpcGxlRGlzcGxheWVkQXNBbW91bnQgPSBmYWxzZTtcblx0QElucHV0KCkgY2xlYXJhYmxlID0gdHJ1ZTtcblx0QElucHV0KCkgdHJ1bmNhdGVPcHRpb25zID0gdHJ1ZTtcblx0QElucHV0KCkgd2l0aFNlcGFyYXRpbmdMaW5lID0gZmFsc2U7XG5cdEBJbnB1dCgpIHNlYXJjaGFibGUgPSB0cnVlO1xuXHRASW5wdXQoKSBwdWJsaWMgZHJvcGRvd25Qb3NpdGlvbjogJ2F1dG8nIHwgJ2JvdHRvbScgfCAndG9wJyB8ICdsZWZ0JyB8ICdyaWdodCcgPSBudWxsO1xuXHRASW5wdXQoKSBwdWJsaWMgY3VzdG9tU2VhcmNoRm46ICh0ZXJtOiBzdHJpbmcsIGl0ZW06IHsgaWQ6IHN0cmluZzsgbmFtZTogc3RyaW5nOyBkZXNjcmlwdGlvbjogc3RyaW5nIH0pID0+IGJvb2xlYW47XG5cdEBJbnB1dCgpIHB1YmxpYyBmb290ZXJFbGVtZW50OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXHRAT3V0cHV0KCkgcHVibGljIG9uU2VhcmNoID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cdEBPdXRwdXQoKSBwdWJsaWMgb25FbmRSZWFjaGVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXHRAT3V0cHV0KCkgcHVibGljIG9uT3BlbmVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXHRAT3V0cHV0KCkgcHVibGljIG9uQ2xvc2VkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXHRAT3V0cHV0KCkgcHVibGljIG9uQmx1ciA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblx0QE91dHB1dCgpIHB1YmxpYyBvbkNsZWFyID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXHRAVmlld0NoaWxkKCduZ1NlbGVjdCcpIG5nU2VsZWN0O1xuXHRAQ29udGVudENoaWxkKEtscFNlbGVjdE9wdGlvblRlbXBsYXRlRGlyZWN0aXZlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pIGN1c3RvbU9wdGlvblRwbDogVGVtcGxhdGVSZWY8YW55PjtcblxuXHRwcml2YXRlIGxhc3RJdGVtSW5kZXhSZWFjaGVkID0gLTE7XG5cdHB1YmxpYyBkcm9wZG93blBvc2l0aW9uVG9Vc2U6ICdhdXRvJyB8ICdib3R0b20nIHwgJ3RvcCcgfCAnbGVmdCcgfCAncmlnaHQnID0gJ2JvdHRvbSc7XG5cblx0Y29uc3RydWN0b3IoXG5cdFx0QE9wdGlvbmFsKCkgQEhvc3QoKSBwcm90ZWN0ZWQgcGFyZW50OiBGb3JtRWxlbWVudENvbXBvbmVudCxcblx0XHRAT3B0aW9uYWwoKSBASG9zdCgpIHByb3RlY3RlZCBjb250cm9sQ29udGFpbmVyOiBDb250cm9sQ29udGFpbmVyLFxuXHRcdEBJbmplY3QoU0VMRUNUX1RSQU5TTEFUSU9OUykgQE9wdGlvbmFsKCkgcHJpdmF0ZSB0cmFuc2xhdGlvbnM6IGFueSxcblx0XHRwcml2YXRlIGVsUmVmOiBFbGVtZW50UmVmLFxuXHQpIHtcblx0XHRzdXBlcihwYXJlbnQsIGNvbnRyb2xDb250YWluZXIpO1xuXHR9XG5cblx0bmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuXHRcdHRoaXMuYWRkUHJlZml4KCk7XG5cdH1cblxuXG5cdHByaXZhdGUgYWRkUHJlZml4KCk6IHZvaWQge1xuXHRcdGlmIChzdHJpbmdJc1NldEFuZEZpbGxlZCh0aGlzLnByZWZpeCkpIHtcblx0XHRcdGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcubmctc2VsZWN0LWNvbnRhaW5lcicpO1xuXHRcdFx0Y29uc3QgbmV3Tm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuXHRcdFx0bmV3Tm9kZS5jbGFzc05hbWUgPSAncHJlZml4Jztcblx0XHRcdG5ld05vZGUuaW5uZXJUZXh0ID0gdGhpcy5wcmVmaXg7XG5cdFx0XHRjb250YWluZXIuaW5zZXJ0QmVmb3JlKG5ld05vZGUsIGNvbnRhaW5lci5jaGlsZHJlblswXSk7XG5cdFx0fVxuXHR9XG5cblx0bmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuXHRcdGlmIChpc1ZhbHVlU2V0KGNoYW5nZXMub3B0aW9ucykpIHtcblx0XHRcdHRoaXMubGFzdEl0ZW1JbmRleFJlYWNoZWQgPSAtMTtcblx0XHRcdHRoaXMuc2V0V2lkdGhCYXNlZE9uT3B0aW9uc1dpZHRocygpO1xuXHRcdH1cblx0XHR0aGlzLmRyb3Bkb3duUG9zaXRpb25Ub1VzZSA9IHRoaXMuZHJvcGRvd25Qb3NpdGlvbjtcblx0fVxuXG5cdGdldERlZmF1bHRUcmFuc2xhdGlvbihrZXk6IHN0cmluZyk6ICh4OiBhbnkpID0+IHN0cmluZyB7XG5cdFx0c3dpdGNoIChrZXkpIHtcblx0XHRcdGNhc2UgJ3BsYWNlaG9sZGVyJzpcblx0XHRcdFx0cmV0dXJuICgpID0+ICdQaWNrIGFuIG9wdGlvbic7XG5cdFx0XHRjYXNlICdhbW91bnRTZWxlY3RlZCc6XG5cdFx0XHRcdHJldHVybiAoYW1vdW50KSA9PiBgJHthbW91bnR9IHNlbGVjdGVkYDtcblx0XHR9XG5cdH1cblxuXHRnZXRUcmFuc2xhdGlvbihrZXk6IHN0cmluZywgcGFyYW1zOiBhbnkgPSBudWxsKTogc3RyaW5nIHtcblx0XHRpZiAoa2V5ID09PSAncGxhY2Vob2xkZXInICYmIHN0cmluZ0lzU2V0QW5kRmlsbGVkKHRoaXMucGxhY2Vob2xkZXIpKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5wbGFjZWhvbGRlcjtcblx0XHR9XG5cdFx0cmV0dXJuIHRoaXMudHJhbnNsYXRpb25zPy5ba2V5XT8uKHBhcmFtcykgPz8gdGhpcy5nZXREZWZhdWx0VHJhbnNsYXRpb24oa2V5KShwYXJhbXMpO1xuXHR9XG5cblx0b25TY3JvbGwobGFzdEl0ZW1JbmRleDogbnVtYmVyKTogdm9pZCB7XG5cdFx0Y29uc3QgdmlzaWJsZUl0ZW1zID0gdGhpcy5uZ1NlbGVjdD8uaXRlbXNMaXN0Py5maWx0ZXJlZEl0ZW1zPy5sZW5ndGggPz8gMDtcblx0XHRpZiAodGhpcy5sYXN0SXRlbUluZGV4UmVhY2hlZCA8IGxhc3RJdGVtSW5kZXggJiYgbGFzdEl0ZW1JbmRleCA9PT0gdmlzaWJsZUl0ZW1zKSB7XG5cdFx0XHR0aGlzLm9uRW5kUmVhY2hlZC5lbWl0KCk7XG5cdFx0fVxuXHRcdHRoaXMubGFzdEl0ZW1JbmRleFJlYWNoZWQgPSBNYXRoLm1heChsYXN0SXRlbUluZGV4LCB0aGlzLmxhc3RJdGVtSW5kZXhSZWFjaGVkKTtcblx0XHR0aGlzLnNldFdpZHRoQmFzZWRPbk9wdGlvbnNXaWR0aHMoKTtcblx0fVxuXG5cdHNlYXJjaFF1ZXJ5Q2hhbmdlZChzZWFyY2hRdWVyeTogc3RyaW5nKTogdm9pZCB7XG5cdFx0dGhpcy5vblNlYXJjaC5lbWl0KHNlYXJjaFF1ZXJ5KTtcblx0fVxuXG5cdG9uT3BlbigpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5vcmllbnRhdGlvbiA9PT0gJ2hvcml6b250YWwnICYmICFpc1ZhbHVlU2V0KHRoaXMuZHJvcGRvd25Qb3NpdGlvbikpIHtcblx0XHRcdHRoaXMuZGV0ZXJtaW5lRHJvcGRvd25Qb3NpdGlvbigpO1xuXHRcdH1cblx0XHQvLyB3YWl0aW5nIGZvciB0aGUgdGhpbmcgdG8gcmVuZGVyIHVudGlsIHdlIGZpcmUgdGhlIGV2ZW50XG5cdFx0c2V0VGltZW91dCgoKSA9PiB7XG5cdFx0XHR0aGlzLm9uT3BlbmVkLmVtaXQoKTtcblx0XHRcdHRoaXMuc2V0V2lkdGhCYXNlZE9uT3B0aW9uc1dpZHRocygpO1xuXHRcdH0pO1xuXHR9XG5cblx0cHJpdmF0ZSBzZXRXaWR0aEJhc2VkT25PcHRpb25zV2lkdGhzKCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLnRydW5jYXRlT3B0aW9ucyA9PT0gZmFsc2UpIHtcblx0XHRcdHNldFRpbWVvdXQoKCkgPT4ge1xuXHRcdFx0XHRjb25zdCB3aWR0aHM6IEFycmF5PG51bWJlcj4gPSBBcnJheS5mcm9tKHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCcubmctb3B0aW9uIGRpdicpKS5tYXAoXG5cdFx0XHRcdFx0KGU6IGFueSkgPT4gZS5zY3JvbGxXaWR0aCxcblx0XHRcdFx0KTtcblx0XHRcdFx0Y29uc3QgbWF4V2lkdGggPSBNYXRoLm1heCguLi53aWR0aHMpO1xuXHRcdFx0XHRjb25zdCBkcm9wZG93blBhbmVsID0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ25nLWRyb3Bkb3duLXBhbmVsJyk7XG5cdFx0XHRcdGlmIChkcm9wZG93blBhbmVsKSB7XG5cdFx0XHRcdFx0ZHJvcGRvd25QYW5lbC5zdHlsZS53aWR0aCA9IGAke01hdGgubWF4KHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCwgbWF4V2lkdGggKyA0MCwgZHJvcGRvd25QYW5lbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCl9cHhgO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0bGV0IGN1cnJlbnQgPSB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQ7XG5cdFx0XHRcdHdoaWxlIChjdXJyZW50LnBhcmVudEVsZW1lbnQgJiYgIXRoaXMuaXNMaW1pdGluZ0NvbnRhaW5lcihjdXJyZW50KSkge1xuXHRcdFx0XHRcdGN1cnJlbnQgPSBjdXJyZW50LnBhcmVudEVsZW1lbnQ7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRpZiAoZHJvcGRvd25QYW5lbCkge1xuXHRcdFx0XHRcdGNvbnN0IHNwYWNlTGVmdCA9IChjdXJyZW50LmNsaWVudFdpZHRoICsgY3VycmVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0KSAtIChkcm9wZG93blBhbmVsLmNsaWVudFdpZHRoICsgZHJvcGRvd25QYW5lbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0KSAtIDIwO1xuXHRcdFx0XHRcdGlmIChzcGFjZUxlZnQgPCAwKSB7XG5cdFx0XHRcdFx0XHRkcm9wZG93blBhbmVsLnN0eWxlLmxlZnQgPSBgJHtzcGFjZUxlZnR9cHhgO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBkZXRlcm1pbmVEcm9wZG93blBvc2l0aW9uKCk6IHZvaWQge1xuXHRcdGxldCBjdXJyZW50ID0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50O1xuXHRcdHdoaWxlIChjdXJyZW50LnBhcmVudEVsZW1lbnQgJiYgIXRoaXMuaXNMaW1pdGluZ0NvbnRhaW5lcihjdXJyZW50KSkge1xuXHRcdFx0Y3VycmVudCA9IGN1cnJlbnQucGFyZW50RWxlbWVudDtcblx0XHR9XG5cdFx0Y29uc3QgdG9wU3BhY2UgPSB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wIC0gY3VycmVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3A7XG5cdFx0Y29uc3QgYm90dG9tU3BhY2UgPSBjdXJyZW50LmNsaWVudEhlaWdodCAtIHRvcFNwYWNlO1xuXHRcdGlmIChib3R0b21TcGFjZSA+PSAyODUpIHtcblx0XHRcdHRoaXMuZHJvcGRvd25Qb3NpdGlvblRvVXNlID0gJ2JvdHRvbSc7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuZHJvcGRvd25Qb3NpdGlvblRvVXNlID0gJ3RvcCc7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBpc0xpbWl0aW5nQ29udGFpbmVyKGVsZW1lbnQ6IEVsZW1lbnQpOiBib29sZWFuIHtcblx0XHRjb25zdCBzdHlsZSA9IGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7XG5cdFx0aWYgKHN0eWxlLm92ZXJmbG93WSA9PT0gJ2F1dG8nKSB7XG5cdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHR9XG5cdFx0aWYgKHN0eWxlLm92ZXJmbG93ID09PSAnYXV0bycpIHtcblx0XHRcdHJldHVybiB0cnVlO1xuXHRcdH1cblx0XHRpZiAoc3R5bGUub3ZlcmZsb3dZID09PSAnc2Nyb2xsJykge1xuXHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0fVxuXHRcdGlmIChzdHlsZS5vdmVyZmxvdyA9PT0gJ3Njcm9sbCcpIHtcblx0XHRcdHJldHVybiB0cnVlO1xuXHRcdH1cblx0XHRyZXR1cm4gZmFsc2U7XG5cdH1cblxuXHRwdWJsaWMgZm9jdXMgPSAoKTogdm9pZCA9PiB7XG5cdFx0dGhpcy5uZ1NlbGVjdC5mb2N1cygpO1xuXHR9XG5cblx0cHVibGljIG9uQ2xvc2UoKTogdm9pZCB7XG5cdFx0Ly8gR2l2ZSBhbmd1bGFyIGEgc2Vjb25kIHRvIHJlbmRlciB0aGUgY2xvc2VkIHNpdHVhdGlvbiBiZWZvcmUgZW1pdHRpbmcgdGhlIGNsb3NlIGV2ZW50XG5cdFx0c2V0VGltZW91dCgoKSA9PiB7XG5cdFx0XHR0aGlzLm9uQ2xvc2VkLmVtaXQoKTtcblx0XHR9KTtcblx0fVxufVxuIiwiPG5nLXNlbGVjdFxuXHQjbmdTZWxlY3Rcblx0W3BsYWNlaG9sZGVyXT1cImdldFRyYW5zbGF0aW9uKCdwbGFjZWhvbGRlcicpXCJcblx0YmluZExhYmVsPVwibmFtZVwiXG5cdGJpbmRWYWx1ZT1cImlkXCJcblx0W2l0ZW1zXT1cIm9wdGlvbnNcIlxuXHRbY2xlYXJhYmxlXT1cImNsZWFyYWJsZVwiXG5cdFsobmdNb2RlbCldPVwiaW5uZXJWYWx1ZVwiXG5cdFtuZ0NsYXNzXT1cIntzaG93RXJyb3JzOiBpc0luRXJyb3JTdGF0ZSgpLCB2ZXJ0aWNhbE9yaWVudGF0aW9uOiBvcmllbnRhdGlvbiA9PT0gJ3ZlcnRpY2FsJywgdHJ1bmNhdGVPcHRpb25zOiB0cnVuY2F0ZU9wdGlvbnMsIHdpdGhTZXBhcmF0aW5nTGluZTogd2l0aFNlcGFyYXRpbmdMaW5lfVwiXG5cdChjaGFuZ2UpPVwic2V0SW5uZXJWYWx1ZUFuZE5vdGlmeShpbm5lclZhbHVlKVwiXG5cdFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXG5cdFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG5cdChibHVyKT1cInRvdWNoKCk7IG9uQmx1ci5lbWl0KClcIlxuXHQoY2xlYXIpPVwib25DbGVhci5lbWl0KClcIlxuXHQoc2VhcmNoKT1cInNlYXJjaFF1ZXJ5Q2hhbmdlZCgkZXZlbnQudGVybSlcIlxuXHRbc2VhcmNoYWJsZV09XCJzZWFyY2hhYmxlXCJcblx0W2Ryb3Bkb3duUG9zaXRpb25dPVwiZHJvcGRvd25Qb3NpdGlvblRvVXNlXCJcblx0W3NlYXJjaEZuXT1cImN1c3RvbVNlYXJjaEZuXCJcblx0W3NlbGVjdE9uVGFiXT1cInRydWVcIlxuXHRbdmlydHVhbFNjcm9sbF09XCJ0cnVlXCJcblx0KHNjcm9sbCk9XCJvblNjcm9sbCgkZXZlbnQuZW5kKVwiXG5cdChvcGVuKT1cIm9uT3BlbigpXCJcblx0KGNsb3NlKT1cIm9uQ2xvc2UoKVwiXG4+XG5cdDxuZy10ZW1wbGF0ZSBsZXQtaXRlbT1cIml0ZW1cIiBuZy1vcHRpb24tdG1wPlxuXHRcdDxuZy1jb250YWluZXIgKm5nSWY9XCJjdXN0b21PcHRpb25UcGxcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJjdXN0b21PcHRpb25UcGxcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie2l0ZW06IGl0ZW19XCI+PC9uZy1jb250YWluZXI+XG5cdFx0PGRpdiBbYXR0ci5kYXRhLWN5XT1cIml0ZW0uaWRcIiAqbmdJZj1cIiFjdXN0b21PcHRpb25UcGxcIj5cblx0XHRcdHt7IGl0ZW0ubmFtZSB9fVxuXHRcdFx0PGRpdiAqbmdJZj1cIml0ZW0uZGVzY3JpcHRpb25cIiBjbGFzcz1cImRyb3Bkb3duLWl0ZW0tZGVzY3JpcHRpb25cIj5cblx0XHRcdFx0e3sgaXRlbS5kZXNjcmlwdGlvbiB9fVxuXHRcdFx0PC9kaXY+XG5cdFx0PC9kaXY+XG5cdDwvbmctdGVtcGxhdGU+XG5cdDxuZy1jb250YWluZXIgKm5nSWY9XCJtdWx0aXBsZSAmJiBtdWx0aXBsZURpc3BsYXllZEFzQW1vdW50ICYmIGlubmVyVmFsdWU/Lmxlbmd0aCA+IDFcIj5cblx0XHQ8bmctdGVtcGxhdGUgbmctbXVsdGktbGFiZWwtdG1wPlxuXHRcdFx0PGRpdiBjbGFzcz1cIm5nLXZhbHVlXCI+XG5cdFx0XHRcdDxzcGFuIGNsYXNzPVwibmctdmFsdWUtbGFiZWxcIj57e2dldFRyYW5zbGF0aW9uKCdhbW91bnRTZWxlY3RlZCcsIGlubmVyVmFsdWU/Lmxlbmd0aCl9fTwvc3Bhbj5cblx0XHRcdDwvZGl2PlxuXHRcdDwvbmctdGVtcGxhdGU+XG5cdDwvbmctY29udGFpbmVyPlxuXHQ8bmctdGVtcGxhdGUgbmctZm9vdGVyLXRtcCAqbmdJZj1cImZvb3RlckVsZW1lbnRcIj5cblx0XHQ8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImZvb3RlckVsZW1lbnRcIj48L25nLWNvbnRhaW5lcj5cblx0PC9uZy10ZW1wbGF0ZT5cbjwvbmctc2VsZWN0PlxuIl19
|
|
225
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tsaXBwYS9uZ3gtZW5oYW5jeS1mb3Jtcy9zcmMvbGliL2VsZW1lbnRzL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2xpcHBhL25neC1lbmhhbmN5LWZvcm1zL3NyYy9saWIvZWxlbWVudHMvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRU4sU0FBUyxFQUNULFlBQVksRUFDWixTQUFTLEVBRVQsWUFBWSxFQUNaLElBQUksRUFDSixNQUFNLEVBQ04sY0FBYyxFQUNkLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxFQUVOLFdBQVcsRUFDWCxTQUFTLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFtQixpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25FLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBRXZGLE9BQU8sRUFBQyxVQUFVLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7O0FBV25FLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLElBQUksY0FBYyxDQUFNLDhCQUE4QixDQUFDLENBQUM7QUFHM0YsTUFBTSxPQUFPLGdDQUFnQzs7NkhBQWhDLGdDQUFnQztpSEFBaEMsZ0NBQWdDOzJGQUFoQyxnQ0FBZ0M7a0JBRDVDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQUU7O0FBUy9DLE1BQU0sT0FBTyxlQUFnQixTQUFRLGlCQUFvQztJQTBCeEUsWUFDK0IsTUFBNEIsRUFDNUIsZ0JBQWtDLEVBQ2YsWUFBaUIsRUFDMUQsS0FBaUI7UUFFekIsS0FBSyxDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsQ0FB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QUNVLFFBQVE7c0JBQXhCLE1BQU07Z0JBQ1UsTUFBTTtzQkFBdEIsTUFBTTtnQkFDVSxPQUFPO3NCQUF2QixNQUFNO2dCQUNnQixRQUFRO3NCQUE5QixTQUFTO3VCQUFDLFVBQVU7Z0JBQ2tELGVBQWU7c0JBQXJGLFlBQVk7dUJBQUMsZ0NBQWdDLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0QWZ0ZXJWaWV3SW5pdCxcblx0Q29tcG9uZW50LFxuXHRDb250ZW50Q2hpbGQsXG5cdERpcmVjdGl2ZSxcblx0RWxlbWVudFJlZixcblx0RXZlbnRFbWl0dGVyLFxuXHRIb3N0LFxuXHRJbmplY3QsXG5cdEluamVjdGlvblRva2VuLFxuXHRJbnB1dCxcblx0T25DaGFuZ2VzLFxuXHRPcHRpb25hbCxcblx0T3V0cHV0LFxuXHRTaW1wbGVDaGFuZ2VzLFxuXHRUZW1wbGF0ZVJlZixcblx0Vmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb250cm9sQ29udGFpbmVyLCBOR19WQUxVRV9BQ0NFU1NPUn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtWYWx1ZUFjY2Vzc29yQmFzZX0gZnJvbSAnLi4vdmFsdWUtYWNjZXNzb3ItYmFzZS92YWx1ZS1hY2Nlc3Nvci1iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQge0Zvcm1FbGVtZW50Q29tcG9uZW50fSBmcm9tICcuLi8uLi9mb3JtL2Zvcm0tZWxlbWVudC9mb3JtLWVsZW1lbnQuY29tcG9uZW50JztcbmltcG9ydCB7aXNWYWx1ZVNldCwgc3RyaW5nSXNTZXRBbmRGaWxsZWR9IGZyb20gJy4uLy4uL3V0aWwvdmFsdWVzJztcblxuZXhwb3J0IHR5cGUgQXBwU2VsZWN0T3B0aW9ucyA9IEFycmF5PEFwcFNlbGVjdE9wdGlvbj47XG5leHBvcnQgdHlwZSBBcHBTZWxlY3RPcHRpb24gPSB7XG5cdGlkOiBhbnk7XG5cdG5hbWU6IHN0cmluZztcblx0ZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cdGFjdGl2ZT86IGJvb2xlYW47XG5cdGRpc2FibGVkPzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCBjb25zdCBTRUxFQ1RfVFJBTlNMQVRJT05TID0gbmV3IEluamVjdGlvblRva2VuPGFueT4oJ2tscC5mb3JtLnNlbGVjdC50cmFuc2xhdGlvbnMnKTtcblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW2tscFNlbGVjdE9wdGlvblRwbF0nIH0pXG5leHBvcnQgY2xhc3MgS2xwU2VsZWN0T3B0aW9uVGVtcGxhdGVEaXJlY3RpdmUge31cblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAna2xwLWZvcm0tc2VsZWN0Jyxcblx0dGVtcGxhdGVVcmw6ICcuL3NlbGVjdC5jb21wb25lbnQuaHRtbCcsXG5cdHN0eWxlVXJsczogWycuL3NlbGVjdC5jb21wb25lbnQuc2NzcyddLFxuXHRwcm92aWRlcnM6IFt7cHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsIHVzZUV4aXN0aW5nOiBTZWxlY3RDb21wb25lbnQsIG11bHRpOiB0cnVlfV0sXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdENvbXBvbmVudCBleHRlbmRzIFZhbHVlQWNjZXNzb3JCYXNlPHN0cmluZyB8IHN0cmluZ1tdPiBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdHtcblx0QElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcblx0QElucHV0KCkgcHJlZml4OiBzdHJpbmc7XG5cdEBJbnB1dCgpIG9yaWVudGF0aW9uOiAndmVydGljYWwnIHwgJ2hvcml6b250YWwnID0gJ2hvcml6b250YWwnO1xuXHRASW5wdXQoKSBvcHRpb25zOiBBcHBTZWxlY3RPcHRpb25zO1xuXHRASW5wdXQoKSBtdWx0aXBsZSA9IGZhbHNlO1xuXHRASW5wdXQoKSBtdWx0aXBsZURpc3BsYXllZEFzQW1vdW50ID0gZmFsc2U7XG5cdEBJbnB1dCgpIGNsZWFyYWJsZSA9IHRydWU7XG5cdEBJbnB1dCgpIHRydW5jYXRlT3B0aW9ucyA9IHRydWU7XG5cdEBJbnB1dCgpIHdpdGhTZXBhcmF0aW5nTGluZSA9IGZhbHNlO1xuXHRASW5wdXQoKSBzZWFyY2hhYmxlID0gdHJ1ZTtcblx0QElucHV0KCkgcHVibGljIGRyb3Bkb3duUG9zaXRpb246ICdhdXRvJyB8ICdib3R0b20nIHwgJ3RvcCcgfCAnbGVmdCcgfCAncmlnaHQnID0gbnVsbDtcblx0QElucHV0KCkgcHVibGljIGN1c3RvbVNlYXJjaEZuOiAodGVybTogc3RyaW5nLCBpdGVtOiB7IGlkOiBzdHJpbmc7IG5hbWU6IHN0cmluZzsgZGVzY3JpcHRpb246IHN0cmluZyB9KSA9PiBib29sZWFuO1xuXHRASW5wdXQoKSBwdWJsaWMgZm9vdGVyRWxlbWVudDogVGVtcGxhdGVSZWY8YW55Pjtcblx0QE91dHB1dCgpIHB1YmxpYyBvblNlYXJjaCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXHRAT3V0cHV0KCkgcHVibGljIG9uRW5kUmVhY2hlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblx0QE91dHB1dCgpIHB1YmxpYyBvbk9wZW5lZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblx0QE91dHB1dCgpIHB1YmxpYyBvbkNsb3NlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblx0QE91dHB1dCgpIHB1YmxpYyBvbkJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cdEBPdXRwdXQoKSBwdWJsaWMgb25DbGVhciA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblx0QFZpZXdDaGlsZCgnbmdTZWxlY3QnKSBuZ1NlbGVjdDtcblx0QENvbnRlbnRDaGlsZChLbHBTZWxlY3RPcHRpb25UZW1wbGF0ZURpcmVjdGl2ZSwgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KSBjdXN0b21PcHRpb25UcGw6IFRlbXBsYXRlUmVmPGFueT47XG5cblx0cHJpdmF0ZSBsYXN0SXRlbUluZGV4UmVhY2hlZCA9IC0xO1xuXHRwdWJsaWMgZHJvcGRvd25Qb3NpdGlvblRvVXNlOiAnYXV0bycgfCAnYm90dG9tJyB8ICd0b3AnIHwgJ2xlZnQnIHwgJ3JpZ2h0JyA9ICdib3R0b20nO1xuXG5cdGNvbnN0cnVjdG9yKFxuXHRcdEBPcHRpb25hbCgpIEBIb3N0KCkgcHJvdGVjdGVkIHBhcmVudDogRm9ybUVsZW1lbnRDb21wb25lbnQsXG5cdFx0QE9wdGlvbmFsKCkgQEhvc3QoKSBwcm90ZWN0ZWQgY29udHJvbENvbnRhaW5lcjogQ29udHJvbENvbnRhaW5lcixcblx0XHRASW5qZWN0KFNFTEVDVF9UUkFOU0xBVElPTlMpIEBPcHRpb25hbCgpIHByaXZhdGUgdHJhbnNsYXRpb25zOiBhbnksXG5cdFx0cHJpdmF0ZSBlbFJlZjogRWxlbWVudFJlZixcblx0KSB7XG5cdFx0c3VwZXIocGFyZW50LCBjb250cm9sQ29udGFpbmVyKTtcblx0fVxuXG5cdG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcblx0XHR0aGlzLmFkZFByZWZpeCgpO1xuXHR9XG5cblxuXHRwcml2YXRlIGFkZFByZWZpeCgpOiB2b2lkIHtcblx0XHRpZiAoc3RyaW5nSXNTZXRBbmRGaWxsZWQodGhpcy5wcmVmaXgpKSB7XG5cdFx0XHRjb25zdCBjb250YWluZXIgPSB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLm5nLXNlbGVjdC1jb250YWluZXInKTtcblx0XHRcdGNvbnN0IG5ld05vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcblx0XHRcdG5ld05vZGUuY2xhc3NOYW1lID0gJ3ByZWZpeCc7XG5cdFx0XHRuZXdOb2RlLmlubmVyVGV4dCA9IHRoaXMucHJlZml4O1xuXHRcdFx0Y29udGFpbmVyLmluc2VydEJlZm9yZShuZXdOb2RlLCBjb250YWluZXIuY2hpbGRyZW5bMF0pO1xuXHRcdH1cblx0fVxuXG5cdG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcblx0XHRpZiAoaXNWYWx1ZVNldChjaGFuZ2VzLm9wdGlvbnMpKSB7XG5cdFx0XHR0aGlzLmxhc3RJdGVtSW5kZXhSZWFjaGVkID0gLTE7XG5cdFx0XHR0aGlzLnNldFdpZHRoQmFzZWRPbk9wdGlvbnNXaWR0aHMoKTtcblx0XHR9XG5cdFx0dGhpcy5kcm9wZG93blBvc2l0aW9uVG9Vc2UgPSB0aGlzLmRyb3Bkb3duUG9zaXRpb247XG5cdH1cblxuXHRnZXREZWZhdWx0VHJhbnNsYXRpb24oa2V5OiBzdHJpbmcpOiAoeDogYW55KSA9PiBzdHJpbmcge1xuXHRcdHN3aXRjaCAoa2V5KSB7XG5cdFx0XHRjYXNlICdwbGFjZWhvbGRlcic6XG5cdFx0XHRcdHJldHVybiAoKSA9PiAnUGljayBhbiBvcHRpb24nO1xuXHRcdFx0Y2FzZSAnYW1vdW50U2VsZWN0ZWQnOlxuXHRcdFx0XHRyZXR1cm4gKGFtb3VudCkgPT4gYCR7YW1vdW50fSBzZWxlY3RlZGA7XG5cdFx0fVxuXHR9XG5cblx0Z2V0VHJhbnNsYXRpb24oa2V5OiBzdHJpbmcsIHBhcmFtczogYW55ID0gbnVsbCk6IHN0cmluZyB7XG5cdFx0aWYgKGtleSA9PT0gJ3BsYWNlaG9sZGVyJyAmJiBzdHJpbmdJc1NldEFuZEZpbGxlZCh0aGlzLnBsYWNlaG9sZGVyKSkge1xuXHRcdFx0cmV0dXJuIHRoaXMucGxhY2Vob2xkZXI7XG5cdFx0fVxuXHRcdHJldHVybiB0aGlzLnRyYW5zbGF0aW9ucz8uW2tleV0/LihwYXJhbXMpID8/IHRoaXMuZ2V0RGVmYXVsdFRyYW5zbGF0aW9uKGtleSkocGFyYW1zKTtcblx0fVxuXG5cdG9uU2Nyb2xsKGxhc3RJdGVtSW5kZXg6IG51bWJlcik6IHZvaWQge1xuXHRcdGNvbnN0IHZpc2libGVJdGVtcyA9IHRoaXMubmdTZWxlY3Q/Lml0ZW1zTGlzdD8uZmlsdGVyZWRJdGVtcz8ubGVuZ3RoID8/IDA7XG5cdFx0aWYgKHRoaXMubGFzdEl0ZW1JbmRleFJlYWNoZWQgPCBsYXN0SXRlbUluZGV4ICYmIGxhc3RJdGVtSW5kZXggPT09IHZpc2libGVJdGVtcykge1xuXHRcdFx0dGhpcy5vbkVuZFJlYWNoZWQuZW1pdCgpO1xuXHRcdH1cblx0XHR0aGlzLmxhc3RJdGVtSW5kZXhSZWFjaGVkID0gTWF0aC5tYXgobGFzdEl0ZW1JbmRleCwgdGhpcy5sYXN0SXRlbUluZGV4UmVhY2hlZCk7XG5cdFx0dGhpcy5zZXRXaWR0aEJhc2VkT25PcHRpb25zV2lkdGhzKCk7XG5cdH1cblxuXHRzZWFyY2hRdWVyeUNoYW5nZWQoc2VhcmNoUXVlcnk6IHN0cmluZyk6IHZvaWQge1xuXHRcdHRoaXMub25TZWFyY2guZW1pdChzZWFyY2hRdWVyeSk7XG5cdH1cblxuXHRvbk9wZW4oKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMub3JpZW50YXRpb24gPT09ICdob3Jpem9udGFsJyAmJiAhaXNWYWx1ZVNldCh0aGlzLmRyb3Bkb3duUG9zaXRpb24pKSB7XG5cdFx0XHR0aGlzLmRldGVybWluZURyb3Bkb3duUG9zaXRpb24oKTtcblx0XHR9XG5cdFx0Ly8gd2FpdGluZyBmb3IgdGhlIHRoaW5nIHRvIHJlbmRlciB1bnRpbCB3ZSBmaXJlIHRoZSBldmVudFxuXHRcdHNldFRpbWVvdXQoKCkgPT4ge1xuXHRcdFx0dGhpcy5vbk9wZW5lZC5lbWl0KCk7XG5cdFx0XHR0aGlzLnNldFdpZHRoQmFzZWRPbk9wdGlvbnNXaWR0aHMoKTtcblx0XHR9KTtcblx0fVxuXG5cdHByaXZhdGUgc2V0V2lkdGhCYXNlZE9uT3B0aW9uc1dpZHRocygpOiB2b2lkIHtcblx0XHRpZiAodGhpcy50cnVuY2F0ZU9wdGlvbnMgPT09IGZhbHNlKSB7XG5cdFx0XHRzZXRUaW1lb3V0KCgpID0+IHtcblx0XHRcdFx0Y29uc3Qgd2lkdGhzOiBBcnJheTxudW1iZXI+ID0gQXJyYXkuZnJvbSh0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLm5nLW9wdGlvbiBkaXYnKSkubWFwKFxuXHRcdFx0XHRcdChlOiBhbnkpID0+IGUuc2Nyb2xsV2lkdGgsXG5cdFx0XHRcdCk7XG5cdFx0XHRcdGNvbnN0IG1heFdpZHRoID0gTWF0aC5tYXgoLi4ud2lkdGhzKTtcblx0XHRcdFx0Y29uc3QgZHJvcGRvd25QYW5lbCA9IHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCduZy1kcm9wZG93bi1wYW5lbCcpO1xuXHRcdFx0XHRpZiAoZHJvcGRvd25QYW5lbCkge1xuXHRcdFx0XHRcdGRyb3Bkb3duUGFuZWwuc3R5bGUud2lkdGggPSBgJHtNYXRoLm1heCh0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGgsIG1heFdpZHRoICsgNDAsIGRyb3Bkb3duUGFuZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgpfXB4YDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGxldCBsaW1pdGluZ1BhcmVudENvbnRhaW5lciA9IHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudDtcblx0XHRcdFx0d2hpbGUgKGxpbWl0aW5nUGFyZW50Q29udGFpbmVyLnBhcmVudEVsZW1lbnQgJiYgIXRoaXMuaXNMaW1pdGluZ0NvbnRhaW5lcihsaW1pdGluZ1BhcmVudENvbnRhaW5lcikpIHtcblx0XHRcdFx0XHRsaW1pdGluZ1BhcmVudENvbnRhaW5lciA9IGxpbWl0aW5nUGFyZW50Q29udGFpbmVyLnBhcmVudEVsZW1lbnQ7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRpZiAoZHJvcGRvd25QYW5lbCkge1xuXHRcdFx0XHRcdGNvbnN0IHNwYWNlSW5QYXJlbnQgPSBsaW1pdGluZ1BhcmVudENvbnRhaW5lci5jbGllbnRXaWR0aDtcblx0XHRcdFx0XHRjb25zdCBzcGFjZUxlZnRPZkVsUmVmID0gdGhpcy5lbFJlZj8ubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0IC0gbGltaXRpbmdQYXJlbnRDb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdDtcblx0XHRcdFx0XHRjb25zdCBzcGFjZVJpZ2h0T2ZFbFJlZiA9IHNwYWNlSW5QYXJlbnQgLSBzcGFjZUxlZnRPZkVsUmVmO1xuXHRcdFx0XHRcdGNvbnN0IHNoaWZ0VG9MZWZ0ID0gZHJvcGRvd25QYW5lbD8uY2xpZW50V2lkdGggLSBzcGFjZVJpZ2h0T2ZFbFJlZiArIDIwO1xuXHRcdFx0XHRcdGlmIChzaGlmdFRvTGVmdCA+IDApIHtcblx0XHRcdFx0XHRcdGRyb3Bkb3duUGFuZWwuc3R5bGUubGVmdCA9IGAtJHtzaGlmdFRvTGVmdH1weGA7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIGRldGVybWluZURyb3Bkb3duUG9zaXRpb24oKTogdm9pZCB7XG5cdFx0bGV0IGN1cnJlbnQgPSB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQ7XG5cdFx0d2hpbGUgKGN1cnJlbnQucGFyZW50RWxlbWVudCAmJiAhdGhpcy5pc0xpbWl0aW5nQ29udGFpbmVyKGN1cnJlbnQpKSB7XG5cdFx0XHRjdXJyZW50ID0gY3VycmVudC5wYXJlbnRFbGVtZW50O1xuXHRcdH1cblx0XHRjb25zdCB0b3BTcGFjZSA9IHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AgLSBjdXJyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcDtcblx0XHRjb25zdCBib3R0b21TcGFjZSA9IGN1cnJlbnQuY2xpZW50SGVpZ2h0IC0gdG9wU3BhY2U7XG5cdFx0aWYgKGJvdHRvbVNwYWNlID49IDI4NSkge1xuXHRcdFx0dGhpcy5kcm9wZG93blBvc2l0aW9uVG9Vc2UgPSAnYm90dG9tJztcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5kcm9wZG93blBvc2l0aW9uVG9Vc2UgPSAndG9wJztcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIGlzTGltaXRpbmdDb250YWluZXIoZWxlbWVudDogRWxlbWVudCk6IGJvb2xlYW4ge1xuXHRcdGNvbnN0IHN0eWxlID0gZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KTtcblx0XHRpZiAoc3R5bGUub3ZlcmZsb3dZID09PSAnYXV0bycpIHtcblx0XHRcdHJldHVybiB0cnVlO1xuXHRcdH1cblx0XHRpZiAoc3R5bGUub3ZlcmZsb3cgPT09ICdhdXRvJykge1xuXHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0fVxuXHRcdGlmIChzdHlsZS5vdmVyZmxvd1kgPT09ICdzY3JvbGwnKSB7XG5cdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHR9XG5cdFx0aWYgKHN0eWxlLm92ZXJmbG93ID09PSAnc2Nyb2xsJykge1xuXHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0fVxuXHRcdHJldHVybiBmYWxzZTtcblx0fVxuXG5cdHB1YmxpYyBmb2N1cyA9ICgpOiB2b2lkID0+IHtcblx0XHR0aGlzLm5nU2VsZWN0LmZvY3VzKCk7XG5cdH1cblxuXHRwdWJsaWMgb25DbG9zZSgpOiB2b2lkIHtcblx0XHQvLyBHaXZlIGFuZ3VsYXIgYSBzZWNvbmQgdG8gcmVuZGVyIHRoZSBjbG9zZWQgc2l0dWF0aW9uIGJlZm9yZSBlbWl0dGluZyB0aGUgY2xvc2UgZXZlbnRcblx0XHRzZXRUaW1lb3V0KCgpID0+IHtcblx0XHRcdHRoaXMub25DbG9zZWQuZW1pdCgpO1xuXHRcdH0pO1xuXHR9XG59XG4iLCI8bmctc2VsZWN0XG5cdCNuZ1NlbGVjdFxuXHRbcGxhY2Vob2xkZXJdPVwiZ2V0VHJhbnNsYXRpb24oJ3BsYWNlaG9sZGVyJylcIlxuXHRiaW5kTGFiZWw9XCJuYW1lXCJcblx0YmluZFZhbHVlPVwiaWRcIlxuXHRbaXRlbXNdPVwib3B0aW9uc1wiXG5cdFtjbGVhcmFibGVdPVwiY2xlYXJhYmxlXCJcblx0WyhuZ01vZGVsKV09XCJpbm5lclZhbHVlXCJcblx0W25nQ2xhc3NdPVwie3Nob3dFcnJvcnM6IGlzSW5FcnJvclN0YXRlKCksIHZlcnRpY2FsT3JpZW50YXRpb246IG9yaWVudGF0aW9uID09PSAndmVydGljYWwnLCB0cnVuY2F0ZU9wdGlvbnM6IHRydW5jYXRlT3B0aW9ucywgd2l0aFNlcGFyYXRpbmdMaW5lOiB3aXRoU2VwYXJhdGluZ0xpbmV9XCJcblx0KGNoYW5nZSk9XCJzZXRJbm5lclZhbHVlQW5kTm90aWZ5KGlubmVyVmFsdWUpXCJcblx0W211bHRpcGxlXT1cIm11bHRpcGxlXCJcblx0W2Rpc2FibGVkXT1cImRpc2FibGVkXCJcblx0KGJsdXIpPVwidG91Y2goKTsgb25CbHVyLmVtaXQoKVwiXG5cdChjbGVhcik9XCJvbkNsZWFyLmVtaXQoKVwiXG5cdChzZWFyY2gpPVwic2VhcmNoUXVlcnlDaGFuZ2VkKCRldmVudC50ZXJtKVwiXG5cdFtzZWFyY2hhYmxlXT1cInNlYXJjaGFibGVcIlxuXHRbZHJvcGRvd25Qb3NpdGlvbl09XCJkcm9wZG93blBvc2l0aW9uVG9Vc2VcIlxuXHRbc2VhcmNoRm5dPVwiY3VzdG9tU2VhcmNoRm5cIlxuXHRbc2VsZWN0T25UYWJdPVwidHJ1ZVwiXG5cdFt2aXJ0dWFsU2Nyb2xsXT1cInRydWVcIlxuXHQoc2Nyb2xsKT1cIm9uU2Nyb2xsKCRldmVudC5lbmQpXCJcblx0KG9wZW4pPVwib25PcGVuKClcIlxuXHQoY2xvc2UpPVwib25DbG9zZSgpXCJcbj5cblx0PG5nLXRlbXBsYXRlIGxldC1pdGVtPVwiaXRlbVwiIG5nLW9wdGlvbi10bXA+XG5cdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cImN1c3RvbU9wdGlvblRwbFwiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImN1c3RvbU9wdGlvblRwbFwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7aXRlbTogaXRlbX1cIj48L25nLWNvbnRhaW5lcj5cblx0XHQ8ZGl2IFthdHRyLmRhdGEtY3ldPVwiaXRlbS5pZFwiICpuZ0lmPVwiIWN1c3RvbU9wdGlvblRwbFwiPlxuXHRcdFx0e3sgaXRlbS5uYW1lIH19XG5cdFx0XHQ8ZGl2ICpuZ0lmPVwiaXRlbS5kZXNjcmlwdGlvblwiIGNsYXNzPVwiZHJvcGRvd24taXRlbS1kZXNjcmlwdGlvblwiPlxuXHRcdFx0XHR7eyBpdGVtLmRlc2NyaXB0aW9uIH19XG5cdFx0XHQ8L2Rpdj5cblx0XHQ8L2Rpdj5cblx0PC9uZy10ZW1wbGF0ZT5cblx0PG5nLWNvbnRhaW5lciAqbmdJZj1cIm11bHRpcGxlICYmIG11bHRpcGxlRGlzcGxheWVkQXNBbW91bnQgJiYgaW5uZXJWYWx1ZT8ubGVuZ3RoID4gMVwiPlxuXHRcdDxuZy10ZW1wbGF0ZSBuZy1tdWx0aS1sYWJlbC10bXA+XG5cdFx0XHQ8ZGl2IGNsYXNzPVwibmctdmFsdWVcIj5cblx0XHRcdFx0PHNwYW4gY2xhc3M9XCJuZy12YWx1ZS1sYWJlbFwiPnt7Z2V0VHJhbnNsYXRpb24oJ2Ftb3VudFNlbGVjdGVkJywgaW5uZXJWYWx1ZT8ubGVuZ3RoKX19PC9zcGFuPlxuXHRcdFx0PC9kaXY+XG5cdFx0PC9uZy10ZW1wbGF0ZT5cblx0PC9uZy1jb250YWluZXI+XG5cdDxuZy10ZW1wbGF0ZSBuZy1mb290ZXItdG1wICpuZ0lmPVwiZm9vdGVyRWxlbWVudFwiPlxuXHRcdDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZm9vdGVyRWxlbWVudFwiPjwvbmctY29udGFpbmVyPlxuXHQ8L25nLXRlbXBsYXRlPlxuPC9uZy1zZWxlY3Q+XG4iXX0=
|
|
@@ -877,20 +877,24 @@ class SelectComponent extends ValueAccessorBase {
|
|
|
877
877
|
setWidthBasedOnOptionsWidths() {
|
|
878
878
|
if (this.truncateOptions === false) {
|
|
879
879
|
setTimeout(() => {
|
|
880
|
+
var _a;
|
|
880
881
|
const widths = Array.from(this.elRef.nativeElement.querySelectorAll('.ng-option div')).map((e) => e.scrollWidth);
|
|
881
882
|
const maxWidth = Math.max(...widths);
|
|
882
883
|
const dropdownPanel = this.elRef.nativeElement.querySelector('ng-dropdown-panel');
|
|
883
884
|
if (dropdownPanel) {
|
|
884
885
|
dropdownPanel.style.width = `${Math.max(this.elRef.nativeElement.clientWidth, maxWidth + 40, dropdownPanel.getBoundingClientRect().width)}px`;
|
|
885
886
|
}
|
|
886
|
-
let
|
|
887
|
-
while (
|
|
888
|
-
|
|
887
|
+
let limitingParentContainer = this.elRef.nativeElement;
|
|
888
|
+
while (limitingParentContainer.parentElement && !this.isLimitingContainer(limitingParentContainer)) {
|
|
889
|
+
limitingParentContainer = limitingParentContainer.parentElement;
|
|
889
890
|
}
|
|
890
891
|
if (dropdownPanel) {
|
|
891
|
-
const
|
|
892
|
-
|
|
893
|
-
|
|
892
|
+
const spaceInParent = limitingParentContainer.clientWidth;
|
|
893
|
+
const spaceLeftOfElRef = ((_a = this.elRef) === null || _a === void 0 ? void 0 : _a.nativeElement.getBoundingClientRect().left) - limitingParentContainer.getBoundingClientRect().left;
|
|
894
|
+
const spaceRightOfElRef = spaceInParent - spaceLeftOfElRef;
|
|
895
|
+
const shiftToLeft = (dropdownPanel === null || dropdownPanel === void 0 ? void 0 : dropdownPanel.clientWidth) - spaceRightOfElRef + 20;
|
|
896
|
+
if (shiftToLeft > 0) {
|
|
897
|
+
dropdownPanel.style.left = `-${shiftToLeft}px`;
|
|
894
898
|
}
|
|
895
899
|
}
|
|
896
900
|
});
|
|
@@ -1825,10 +1829,10 @@ class FileInputComponent extends MultipleValueAccessorBase {
|
|
|
1825
1829
|
}
|
|
1826
1830
|
}
|
|
1827
1831
|
FileInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: FileInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1828
|
-
FileInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: FileInputComponent, selector: "klp-form-file-input", inputs: { isLoading: "isLoading", clearable: "clearable", onlyShowUploadButton: "onlyShowUploadButton", useFullParentSize: "useFullParentSize" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: FileInputComponent, multi: true }], viewQueries: [{ propertyName: "nativeInputRef", first: true, predicate: ["nativeInputRef"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"componentContainer\" [ngClass]=\"{fullParentSize: useFullParentSize}\">\n\t<div class=\"buttonContainer\">\n\t\t<
|
|
1832
|
+
FileInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: FileInputComponent, selector: "klp-form-file-input", inputs: { isLoading: "isLoading", clearable: "clearable", onlyShowUploadButton: "onlyShowUploadButton", useFullParentSize: "useFullParentSize" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: FileInputComponent, multi: true }], viewQueries: [{ propertyName: "nativeInputRef", first: true, predicate: ["nativeInputRef"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"componentContainer\" [ngClass]=\"{fullParentSize: useFullParentSize}\">\n\t<div class=\"buttonContainer\">\n\t\t<input\n\t\t\ttype=\"file\"\n\t\t\t#nativeInputRef\n\t\t\t(change)=\"onChange($event.target.files)\"\n\t\t\t[multiple]=\"multiple\"\n\t\t\t[disabled]=\"disabled\"\n\t\t>\n\t\t<klp-form-button class=\"uploadButton\" [isLoading]=\"isLoading\" (click)=\"uploadFileClicked()\">\n\t\t\tUpload a file\n\t\t</klp-form-button>\n\t</div>\n\t<div class=\"fileName\" *ngIf=\"!onlyShowUploadButton\">\n\t\t{{getFileNames()}}\n\t</div>\n\t<klp-form-button class=\"clearButton\" variant=\"white\" *ngIf=\"shouldShowClearButton()\" (click)=\"resetToNull()\">X</klp-form-button>\n</div>\n", styles: [":host{display:block}:host input:disabled{cursor:not-allowed}.componentContainer{display:flex;align-items:center}.componentContainer.fullParentSize{height:100%;justify-content:center;position:relative}.componentContainer:not(.fullParentSize) .buttonContainer{position:relative}.componentContainer .buttonContainer{flex:0 0 auto}input{position:absolute;cursor:pointer;opacity:0;inset:0}.fileName{flex:1 1 0px;margin-left:.625rem;color:#515365;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clearButton{flex:0 0 auto}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "klp-form-button", inputs: ["variant", "size", "fullWidth", "hasBorder", "disabled", "isLoading", "type", "clickCallback"] }] });
|
|
1829
1833
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: FileInputComponent, decorators: [{
|
|
1830
1834
|
type: Component,
|
|
1831
|
-
args: [{ selector: 'klp-form-file-input', providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: FileInputComponent, multi: true }], template: "<div class=\"componentContainer\" [ngClass]=\"{fullParentSize: useFullParentSize}\">\n\t<div class=\"buttonContainer\">\n\t\t<
|
|
1835
|
+
args: [{ selector: 'klp-form-file-input', providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: FileInputComponent, multi: true }], template: "<div class=\"componentContainer\" [ngClass]=\"{fullParentSize: useFullParentSize}\">\n\t<div class=\"buttonContainer\">\n\t\t<input\n\t\t\ttype=\"file\"\n\t\t\t#nativeInputRef\n\t\t\t(change)=\"onChange($event.target.files)\"\n\t\t\t[multiple]=\"multiple\"\n\t\t\t[disabled]=\"disabled\"\n\t\t>\n\t\t<klp-form-button class=\"uploadButton\" [isLoading]=\"isLoading\" (click)=\"uploadFileClicked()\">\n\t\t\tUpload a file\n\t\t</klp-form-button>\n\t</div>\n\t<div class=\"fileName\" *ngIf=\"!onlyShowUploadButton\">\n\t\t{{getFileNames()}}\n\t</div>\n\t<klp-form-button class=\"clearButton\" variant=\"white\" *ngIf=\"shouldShowClearButton()\" (click)=\"resetToNull()\">X</klp-form-button>\n</div>\n", styles: [":host{display:block}:host input:disabled{cursor:not-allowed}.componentContainer{display:flex;align-items:center}.componentContainer.fullParentSize{height:100%;justify-content:center;position:relative}.componentContainer:not(.fullParentSize) .buttonContainer{position:relative}.componentContainer .buttonContainer{flex:0 0 auto}input{position:absolute;cursor:pointer;opacity:0;inset:0}.fileName{flex:1 1 0px;margin-left:.625rem;color:#515365;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clearButton{flex:0 0 auto}\n"] }]
|
|
1832
1836
|
}], propDecorators: { isLoading: [{
|
|
1833
1837
|
type: Input
|
|
1834
1838
|
}], clearable: [{
|