ecabs-components 1.1.2 → 1.1.4

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/README.md CHANGED
@@ -61,3 +61,5 @@ v1.0.99 - Add `mini` and `maxi` directive and validators to `EcabsInput`.
61
61
  v1.1.0 - Upgrade `MatLegacyMenu` to `MDC`.
62
62
  v1.1.1 - Hide `Timepicker` options on input blur.
63
63
  v1.1.2 - Introduce new select component (`EcabsSelectV2`) to deprecate `EcabsSelect`.
64
+ v1.1.3 - Upgrade `MatLegacyCard` to `MDC`.
65
+ v1.1.4 - Fixed blur issue for input.
@@ -75,7 +75,7 @@ export class EcabsInputComponent extends EcabsElementBaseComponent {
75
75
  useExisting: EcabsInputComponent,
76
76
  multi: true,
77
77
  },
78
- ], usesInheritance: true, ngImport: i0, template: "<ecabs-element-wrapper [data]=\"getData()\">\r\n <div class=\"form-field__input--wrapper\">\r\n <input\r\n appDigitsOnly\r\n [digitsOnly]=\"digitsOnly\"\r\n [decimal]=\"allowDecimal\"\r\n [allowHyphen]=\"allowHyphen\"\r\n class=\"form-field__input\"\r\n [type]=\"type\"\r\n [id]=\"name\"\r\n [(ngModel)]=\"value\"\r\n [placeholder]=\"placeholder\"\r\n [mini]=\"mini\"\r\n [maxi]=\"maxi\"\r\n [disabled]=\"disabled\"\r\n [maxlength]=\"maxLength\"\r\n [max]=\"max\"\r\n [step]=\"step\"\r\n (blur)=\"blurChange($event)\"\r\n />\r\n\r\n <div class=\"form-field__input--suffix\" *ngIf=\"type !== 'number'\">\r\n <ng-content select=\"mat-icon\"></ng-content>\r\n <ng-content select=\".suffix\"></ng-content>\r\n </div>\r\n </div>\r\n</ecabs-element-wrapper>\r\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.EcabsElementWrapperComponent, selector: "ecabs-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.DigitsOnlyDirective, selector: "[appDigitsOnly]", inputs: ["digitsOnly", "allowHyphen", "decimal", "decimalSeparator", "unit"] }, { kind: "directive", type: i5.MinDirective, selector: "[mini][formControlName],[mini][formControl],[mini][ngModel]", inputs: ["mini"] }, { kind: "directive", type: i5.MaxDirective, selector: "[maxi][formControlName],[maxi][formControl],[maxi][ngModel]", inputs: ["maxi"] }] });
78
+ ], usesInheritance: true, ngImport: i0, template: "<ecabs-element-wrapper [data]=\"getData()\">\r\n <div class=\"form-field__input--wrapper\">\r\n <input\r\n appDigitsOnly\r\n [digitsOnly]=\"digitsOnly\"\r\n [decimal]=\"allowDecimal\"\r\n [allowHyphen]=\"allowHyphen\"\r\n class=\"form-field__input\"\r\n [type]=\"type\"\r\n [id]=\"name\"\r\n [(ngModel)]=\"value\"\r\n [placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n [mini]=\"mini\"\r\n [maxi]=\"maxi\"\r\n [disabled]=\"disabled\"\r\n [maxlength]=\"maxLength\"\r\n [max]=\"max\"\r\n [step]=\"step\"\r\n (blur)=\"blurChange($event)\"\r\n />\r\n\r\n <div class=\"form-field__input--suffix\" *ngIf=\"type !== 'number'\">\r\n <ng-content select=\"mat-icon\"></ng-content>\r\n <ng-content select=\".suffix\"></ng-content>\r\n </div>\r\n </div>\r\n</ecabs-element-wrapper>\r\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.EcabsElementWrapperComponent, selector: "ecabs-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.DigitsOnlyDirective, selector: "[appDigitsOnly]", inputs: ["digitsOnly", "allowHyphen", "decimal", "decimalSeparator", "unit"] }, { kind: "directive", type: i5.MinDirective, selector: "[mini][formControlName],[mini][formControl],[mini][ngModel]", inputs: ["mini"] }, { kind: "directive", type: i5.MaxDirective, selector: "[maxi][formControlName],[maxi][formControl],[maxi][ngModel]", inputs: ["maxi"] }] });
79
79
  }
80
80
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsInputComponent, decorators: [{
81
81
  type: Component,
@@ -85,7 +85,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
85
85
  useExisting: EcabsInputComponent,
86
86
  multi: true,
87
87
  },
88
- ], template: "<ecabs-element-wrapper [data]=\"getData()\">\r\n <div class=\"form-field__input--wrapper\">\r\n <input\r\n appDigitsOnly\r\n [digitsOnly]=\"digitsOnly\"\r\n [decimal]=\"allowDecimal\"\r\n [allowHyphen]=\"allowHyphen\"\r\n class=\"form-field__input\"\r\n [type]=\"type\"\r\n [id]=\"name\"\r\n [(ngModel)]=\"value\"\r\n [placeholder]=\"placeholder\"\r\n [mini]=\"mini\"\r\n [maxi]=\"maxi\"\r\n [disabled]=\"disabled\"\r\n [maxlength]=\"maxLength\"\r\n [max]=\"max\"\r\n [step]=\"step\"\r\n (blur)=\"blurChange($event)\"\r\n />\r\n\r\n <div class=\"form-field__input--suffix\" *ngIf=\"type !== 'number'\">\r\n <ng-content select=\"mat-icon\"></ng-content>\r\n <ng-content select=\".suffix\"></ng-content>\r\n </div>\r\n </div>\r\n</ecabs-element-wrapper>\r\n" }]
88
+ ], template: "<ecabs-element-wrapper [data]=\"getData()\">\r\n <div class=\"form-field__input--wrapper\">\r\n <input\r\n appDigitsOnly\r\n [digitsOnly]=\"digitsOnly\"\r\n [decimal]=\"allowDecimal\"\r\n [allowHyphen]=\"allowHyphen\"\r\n class=\"form-field__input\"\r\n [type]=\"type\"\r\n [id]=\"name\"\r\n [(ngModel)]=\"value\"\r\n [placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n [mini]=\"mini\"\r\n [maxi]=\"maxi\"\r\n [disabled]=\"disabled\"\r\n [maxlength]=\"maxLength\"\r\n [max]=\"max\"\r\n [step]=\"step\"\r\n (blur)=\"blurChange($event)\"\r\n />\r\n\r\n <div class=\"form-field__input--suffix\" *ngIf=\"type !== 'number'\">\r\n <ng-content select=\"mat-icon\"></ng-content>\r\n <ng-content select=\".suffix\"></ng-content>\r\n </div>\r\n </div>\r\n</ecabs-element-wrapper>\r\n" }]
89
89
  }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.DestroyRef }]; }, propDecorators: { digitsOnly: [{
90
90
  type: Input
91
91
  }], allowDecimal: [{
@@ -103,4 +103,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
103
103
  }], onblur: [{
104
104
  type: Output
105
105
  }] } });
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2VjYWJzLWlucHV0L2VjYWJzLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1pbnB1dC9lY2Ficy1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUVULFlBQVksRUFFWixLQUFLLEVBRUwsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFHTCxTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyx5QkFBeUIsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7OztBQWFoRSxNQUFNLE9BQU8sbUJBQ1gsU0FBUSx5QkFBeUI7SUFvQ3ZCO0lBQ1M7SUFqQ25CLFVBQVUsQ0FBVztJQUdyQixZQUFZLENBQVc7SUFHdkIsV0FBVyxDQUFXO0lBRWIsR0FBRyxDQUFVO0lBQ2IsSUFBSSxDQUFVO0lBQ2QsSUFBSSxDQUFVO0lBQ2QsSUFBSSxDQUFVO0lBRWIsTUFBTSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDM0MsR0FBRyxDQUFtQjtJQUV0QixJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDbEIsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLEdBQUc7UUFDWCxJQUFJLEdBQUcsS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLEdBQUcsS0FBSyxHQUFHLEVBQUU7WUFDekMsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7WUFDZixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRW5CLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEtBQUssTUFBTSxFQUFFO2dCQUNoRCxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ25CO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsWUFDVSxRQUFrQixFQUNULFVBQXNCO1FBRXZDLEtBQUssRUFBRSxDQUFDO1FBSEEsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNULGVBQVUsR0FBVixVQUFVLENBQVk7SUFHekMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO1lBQzFCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQztJQUVELGVBQWU7UUFDYixNQUFNLFNBQVMsR0FBYyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDaEUsSUFBSSxTQUFTLEVBQUU7WUFDYixJQUFJLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQyxPQUE2QixDQUFDO1lBQ3ZELElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYTtpQkFDdkIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztpQkFDekMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUM3QixDQUFDLENBQUMsQ0FBQztTQUNOO1FBRUQsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELFFBQVEsR0FBUSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFFekIsT0FBTyxHQUFRLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQUV4QixVQUFVLENBQUMsS0FBVTtRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBTztRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsVUFBVSxDQUFDLENBQU07UUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0QixDQUFDO3dHQWpGVSxtQkFBbUI7NEZBQW5CLG1CQUFtQiwyTkFSbkI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsbUJBQW1CO2dCQUNoQyxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsaURDNUJILDYxQkEyQkE7OzRGREdhLG1CQUFtQjtrQkFYL0IsU0FBUzsrQkFDRSxhQUFhLGFBRVo7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxxQkFBcUI7NEJBQ2hDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO3dIQU9ELFVBQVU7c0JBRFQsS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQUdHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFFSSxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ29tcG9uZW50LFxyXG4gIERlc3Ryb3lSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEluamVjdG9yLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXHJcbiAgVW50eXBlZEZvcm1Db250cm9sLFxyXG4gIE5nQ29udHJvbCxcclxuICBOR19WQUxVRV9BQ0NFU1NPUixcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCBFY2Fic0VsZW1lbnRCYXNlQ29tcG9uZW50IGZyb20gJy4uL2Jhc2UvZWxlbWVudC1iYXNlJztcclxuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdlY2Ficy1pbnB1dCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VjYWJzLWlucHV0LmNvbXBvbmVudC5odG1sJyxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBFY2Fic0lucHV0Q29tcG9uZW50LFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEVjYWJzSW5wdXRDb21wb25lbnRcclxuICBleHRlbmRzIEVjYWJzRWxlbWVudEJhc2VDb21wb25lbnRcclxuICBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBBZnRlclZpZXdJbml0LCBPbkluaXRcclxue1xyXG4gIEBJbnB1dCgpXHJcbiAgZGlnaXRzT25seSE6IGJvb2xlYW47XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgYWxsb3dEZWNpbWFsITogYm9vbGVhbjtcclxuXHJcbiAgQElucHV0KClcclxuICBhbGxvd0h5cGhlbiE6IGJvb2xlYW47XHJcblxyXG4gIEBJbnB1dCgpIG1heCE6IG51bWJlcjtcclxuICBASW5wdXQoKSBtaW5pITogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIG1heGkhOiBudW1iZXI7XHJcbiAgQElucHV0KCkgc3RlcCE6IG51bWJlcjtcclxuXHJcbiAgQE91dHB1dCgpIG9uYmx1ciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIHZhbCE6IHN0cmluZyB8IG51bWJlcjtcclxuXHJcbiAgZ2V0IHZhbHVlKCk6IHN0cmluZyB8IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy52YWw7XHJcbiAgfVxyXG5cclxuICBzZXQgdmFsdWUodmFsKSB7XHJcbiAgICBpZiAodmFsICE9PSB1bmRlZmluZWQgJiYgdGhpcy52YWwgIT09IHZhbCkge1xyXG4gICAgICB0aGlzLnZhbCA9IHZhbDtcclxuICAgICAgdGhpcy5vbkNoYW5nZSh2YWwpO1xyXG5cclxuICAgICAgaWYgKHRoaXMuZ2V0RGF0YSgpPy5jb250cm9sPy51cGRhdGVPbiAhPT0gJ2JsdXInKSB7XHJcbiAgICAgICAgdGhpcy5vblRvdWNoKHZhbCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWY6IERlc3Ryb3lSZWYsXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy50eXBlID09PSAnbnVtYmVyJykge1xyXG4gICAgICB0aGlzLmRpZ2l0c09ubHkgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgbmdDb250cm9sOiBOZ0NvbnRyb2wgPSB0aGlzLmluamVjdG9yLmdldChOZ0NvbnRyb2wsIG51bGwpO1xyXG4gICAgaWYgKG5nQ29udHJvbCkge1xyXG4gICAgICB0aGlzLmNvbnRyb2wgPSBuZ0NvbnRyb2wuY29udHJvbCBhcyBVbnR5cGVkRm9ybUNvbnRyb2w7XHJcbiAgICAgIHRoaXMuY29udHJvbC5zdGF0dXNDaGFuZ2VzXHJcbiAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXHJcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnVwZGF0ZURpc2FibGVkU3RhdGUoKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnVwZGF0ZURpc2FibGVkU3RhdGUoKTtcclxuICB9XHJcblxyXG4gIG9uQ2hhbmdlOiBhbnkgPSAoKSA9PiB7fTtcclxuXHJcbiAgb25Ub3VjaDogYW55ID0gKCkgPT4ge307XHJcblxyXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2ggPSBmbjtcclxuICB9XHJcblxyXG4gIGJsdXJDaGFuZ2UoZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uYmx1ci5lbWl0KGUpO1xyXG4gIH1cclxufVxyXG4iLCI8ZWNhYnMtZWxlbWVudC13cmFwcGVyIFtkYXRhXT1cImdldERhdGEoKVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJmb3JtLWZpZWxkX19pbnB1dC0td3JhcHBlclwiPlxyXG4gICAgPGlucHV0XHJcbiAgICAgIGFwcERpZ2l0c09ubHlcclxuICAgICAgW2RpZ2l0c09ubHldPVwiZGlnaXRzT25seVwiXHJcbiAgICAgIFtkZWNpbWFsXT1cImFsbG93RGVjaW1hbFwiXHJcbiAgICAgIFthbGxvd0h5cGhlbl09XCJhbGxvd0h5cGhlblwiXHJcbiAgICAgIGNsYXNzPVwiZm9ybS1maWVsZF9faW5wdXRcIlxyXG4gICAgICBbdHlwZV09XCJ0eXBlXCJcclxuICAgICAgW2lkXT1cIm5hbWVcIlxyXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcclxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgW21pbmldPVwibWluaVwiXHJcbiAgICAgIFttYXhpXT1cIm1heGlcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICBbbWF4bGVuZ3RoXT1cIm1heExlbmd0aFwiXHJcbiAgICAgIFttYXhdPVwibWF4XCJcclxuICAgICAgW3N0ZXBdPVwic3RlcFwiXHJcbiAgICAgIChibHVyKT1cImJsdXJDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAvPlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJmb3JtLWZpZWxkX19pbnB1dC0tc3VmZml4XCIgKm5nSWY9XCJ0eXBlICE9PSAnbnVtYmVyJ1wiPlxyXG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJtYXQtaWNvblwiPjwvbmctY29udGVudD5cclxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiLnN1ZmZpeFwiPjwvbmctY29udGVudD5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2VjYWJzLWVsZW1lbnQtd3JhcHBlcj5cclxuIl19
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2VjYWJzLWlucHV0L2VjYWJzLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1pbnB1dC9lY2Ficy1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUVULFlBQVksRUFFWixLQUFLLEVBRUwsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFHTCxTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyx5QkFBeUIsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7OztBQWFoRSxNQUFNLE9BQU8sbUJBQ1gsU0FBUSx5QkFBeUI7SUFvQ3ZCO0lBQ1M7SUFqQ25CLFVBQVUsQ0FBVztJQUdyQixZQUFZLENBQVc7SUFHdkIsV0FBVyxDQUFXO0lBRWIsR0FBRyxDQUFVO0lBQ2IsSUFBSSxDQUFVO0lBQ2QsSUFBSSxDQUFVO0lBQ2QsSUFBSSxDQUFVO0lBRWIsTUFBTSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDM0MsR0FBRyxDQUFtQjtJQUV0QixJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDbEIsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLEdBQUc7UUFDWCxJQUFJLEdBQUcsS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLEdBQUcsS0FBSyxHQUFHLEVBQUU7WUFDekMsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7WUFDZixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRW5CLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEtBQUssTUFBTSxFQUFFO2dCQUNoRCxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ25CO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsWUFDVSxRQUFrQixFQUNULFVBQXNCO1FBRXZDLEtBQUssRUFBRSxDQUFDO1FBSEEsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNULGVBQVUsR0FBVixVQUFVLENBQVk7SUFHekMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO1lBQzFCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQztJQUVELGVBQWU7UUFDYixNQUFNLFNBQVMsR0FBYyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDaEUsSUFBSSxTQUFTLEVBQUU7WUFDYixJQUFJLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQyxPQUE2QixDQUFDO1lBQ3ZELElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYTtpQkFDdkIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztpQkFDekMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUM3QixDQUFDLENBQUMsQ0FBQztTQUNOO1FBRUQsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELFFBQVEsR0FBUSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFFekIsT0FBTyxHQUFRLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQUV4QixVQUFVLENBQUMsS0FBVTtRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBTztRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsVUFBVSxDQUFDLENBQU07UUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0QixDQUFDO3dHQWpGVSxtQkFBbUI7NEZBQW5CLG1CQUFtQiwyTkFSbkI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsbUJBQW1CO2dCQUNoQyxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsaURDNUJILDIzQkE0QkE7OzRGREVhLG1CQUFtQjtrQkFYL0IsU0FBUzsrQkFDRSxhQUFhLGFBRVo7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxxQkFBcUI7NEJBQ2hDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO3dIQU9ELFVBQVU7c0JBRFQsS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQUdHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFFSSxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ29tcG9uZW50LFxyXG4gIERlc3Ryb3lSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEluamVjdG9yLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXHJcbiAgVW50eXBlZEZvcm1Db250cm9sLFxyXG4gIE5nQ29udHJvbCxcclxuICBOR19WQUxVRV9BQ0NFU1NPUixcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCBFY2Fic0VsZW1lbnRCYXNlQ29tcG9uZW50IGZyb20gJy4uL2Jhc2UvZWxlbWVudC1iYXNlJztcclxuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdlY2Ficy1pbnB1dCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VjYWJzLWlucHV0LmNvbXBvbmVudC5odG1sJyxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBFY2Fic0lucHV0Q29tcG9uZW50LFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEVjYWJzSW5wdXRDb21wb25lbnRcclxuICBleHRlbmRzIEVjYWJzRWxlbWVudEJhc2VDb21wb25lbnRcclxuICBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBBZnRlclZpZXdJbml0LCBPbkluaXRcclxue1xyXG4gIEBJbnB1dCgpXHJcbiAgZGlnaXRzT25seSE6IGJvb2xlYW47XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgYWxsb3dEZWNpbWFsITogYm9vbGVhbjtcclxuXHJcbiAgQElucHV0KClcclxuICBhbGxvd0h5cGhlbiE6IGJvb2xlYW47XHJcblxyXG4gIEBJbnB1dCgpIG1heCE6IG51bWJlcjtcclxuICBASW5wdXQoKSBtaW5pITogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIG1heGkhOiBudW1iZXI7XHJcbiAgQElucHV0KCkgc3RlcCE6IG51bWJlcjtcclxuXHJcbiAgQE91dHB1dCgpIG9uYmx1ciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIHZhbCE6IHN0cmluZyB8IG51bWJlcjtcclxuXHJcbiAgZ2V0IHZhbHVlKCk6IHN0cmluZyB8IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy52YWw7XHJcbiAgfVxyXG5cclxuICBzZXQgdmFsdWUodmFsKSB7XHJcbiAgICBpZiAodmFsICE9PSB1bmRlZmluZWQgJiYgdGhpcy52YWwgIT09IHZhbCkge1xyXG4gICAgICB0aGlzLnZhbCA9IHZhbDtcclxuICAgICAgdGhpcy5vbkNoYW5nZSh2YWwpO1xyXG5cclxuICAgICAgaWYgKHRoaXMuZ2V0RGF0YSgpPy5jb250cm9sPy51cGRhdGVPbiAhPT0gJ2JsdXInKSB7XHJcbiAgICAgICAgdGhpcy5vblRvdWNoKHZhbCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWY6IERlc3Ryb3lSZWYsXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy50eXBlID09PSAnbnVtYmVyJykge1xyXG4gICAgICB0aGlzLmRpZ2l0c09ubHkgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgbmdDb250cm9sOiBOZ0NvbnRyb2wgPSB0aGlzLmluamVjdG9yLmdldChOZ0NvbnRyb2wsIG51bGwpO1xyXG4gICAgaWYgKG5nQ29udHJvbCkge1xyXG4gICAgICB0aGlzLmNvbnRyb2wgPSBuZ0NvbnRyb2wuY29udHJvbCBhcyBVbnR5cGVkRm9ybUNvbnRyb2w7XHJcbiAgICAgIHRoaXMuY29udHJvbC5zdGF0dXNDaGFuZ2VzXHJcbiAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXHJcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnVwZGF0ZURpc2FibGVkU3RhdGUoKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnVwZGF0ZURpc2FibGVkU3RhdGUoKTtcclxuICB9XHJcblxyXG4gIG9uQ2hhbmdlOiBhbnkgPSAoKSA9PiB7fTtcclxuXHJcbiAgb25Ub3VjaDogYW55ID0gKCkgPT4ge307XHJcblxyXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2ggPSBmbjtcclxuICB9XHJcblxyXG4gIGJsdXJDaGFuZ2UoZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uYmx1ci5lbWl0KGUpO1xyXG4gIH1cclxufVxyXG4iLCI8ZWNhYnMtZWxlbWVudC13cmFwcGVyIFtkYXRhXT1cImdldERhdGEoKVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJmb3JtLWZpZWxkX19pbnB1dC0td3JhcHBlclwiPlxyXG4gICAgPGlucHV0XHJcbiAgICAgIGFwcERpZ2l0c09ubHlcclxuICAgICAgW2RpZ2l0c09ubHldPVwiZGlnaXRzT25seVwiXHJcbiAgICAgIFtkZWNpbWFsXT1cImFsbG93RGVjaW1hbFwiXHJcbiAgICAgIFthbGxvd0h5cGhlbl09XCJhbGxvd0h5cGhlblwiXHJcbiAgICAgIGNsYXNzPVwiZm9ybS1maWVsZF9faW5wdXRcIlxyXG4gICAgICBbdHlwZV09XCJ0eXBlXCJcclxuICAgICAgW2lkXT1cIm5hbWVcIlxyXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcclxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgKGJsdXIpPVwib25Ub3VjaCgpXCJcclxuICAgICAgW21pbmldPVwibWluaVwiXHJcbiAgICAgIFttYXhpXT1cIm1heGlcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICBbbWF4bGVuZ3RoXT1cIm1heExlbmd0aFwiXHJcbiAgICAgIFttYXhdPVwibWF4XCJcclxuICAgICAgW3N0ZXBdPVwic3RlcFwiXHJcbiAgICAgIChibHVyKT1cImJsdXJDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAvPlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJmb3JtLWZpZWxkX19pbnB1dC0tc3VmZml4XCIgKm5nSWY9XCJ0eXBlICE9PSAnbnVtYmVyJ1wiPlxyXG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJtYXQtaWNvblwiPjwvbmctY29udGVudD5cclxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiLnN1ZmZpeFwiPjwvbmctY29udGVudD5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2VjYWJzLWVsZW1lbnQtd3JhcHBlcj5cclxuIl19
@@ -302,7 +302,7 @@ export class EcabsSelectComponent extends EcabsElementBaseComponent {
302
302
  useExisting: EcabsSelectComponent,
303
303
  multi: true,
304
304
  },
305
- ], viewQueries: [{ propertyName: "allSelected", first: true, predicate: ["allSelected"], descendants: true }, { propertyName: "matSelectSearchComponent", first: true, predicate: MatSelectSearchComponent, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ecabs-element-wrapper [data]=\"getData()\">\r\n <mat-form-field [ngClass]=\"{ disabled: useOnlyDisabledClass }\">\r\n <mat-select class=\"form-field__select\"\r\n [(ngModel)]=\"value\"\r\n (closed)=\"onTouch()\"\r\n [id]=\"name\"\r\n [multiple]=\"multiple\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"placeholder\"\r\n [disableRipple]=\"true\"\r\n (selectionChange)=\"onSelectionChanged($event)\"\r\n [matTooltip]=\"trigger\"\r\n appTooltipIfTruncated\r\n [classNameTruncatedTooltip]=\"'mat-select-value'\">\r\n <mat-select-trigger>\r\n <span>{{ trigger }}</span>\r\n </mat-select-trigger>\r\n\r\n <mat-option *ngIf=\"useSearchOption\">\r\n <ngx-mat-select-search [formControl]=\"itemFilterCtrl\"\r\n [placeholderLabel]=\"searchFieldPlaceholder\"\r\n [noEntriesFoundLabel]=\"noEntriesFoundLabel\">\r\n </ngx-mat-select-search>\r\n </mat-option>\r\n\r\n <mat-option *ngIf=\"useNoneOption\"\r\n (click)=\"toggleNone()\"\r\n (keydown.enter)=\"toggleNone()\">\r\n {{ noneLabel }}\r\n </mat-option>\r\n\r\n <mat-option #allSelected\r\n *ngIf=\"useSelectAllOption && showFilteredAllOption\"\r\n (click)=\"toggleAllSelection()\"\r\n (keydown.enter)=\"toggleAllSelection()\"\r\n [value]=\"selectAllValue\">\r\n {{ allLabel }}\r\n </mat-option>\r\n\r\n <mat-option *ngFor=\"let item of filteredItems$ | async\"\r\n [value]=\"item.value\"\r\n (click)=\"togglePerOne()\"\r\n (keydown.enter)=\"togglePerOne()\"\r\n [matTooltip]=\"item.label\"\r\n appTooltipIfTruncated\r\n [classNameTruncatedTooltip]=\"'mdc-list-item__primary-text'\">\r\n {{ item.label }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n</ecabs-element-wrapper>\r\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.EcabsElementWrapperComponent, selector: "ecabs-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "panelWidth", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "directive", type: i4.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i8.MatSelectSearchComponent, selector: "ngx-mat-select-search", inputs: ["placeholderLabel", "type", "closeIcon", "closeSvgIcon", "noEntriesFoundLabel", "clearSearchInput", "searching", "disableInitialFocus", "enableClearOnEscapePressed", "preventHomeEndKeyPropagation", "disableScrollToActiveOnOptionsChanged", "ariaLabel", "showToggleAllCheckbox", "toggleAllCheckboxChecked", "toggleAllCheckboxIndeterminate", "toggleAllCheckboxTooltipMessage", "toggleAllCheckboxTooltipPosition", "hideClearSearchButton", "alwaysRestoreSelectedOptionsMulti"], outputs: ["toggleAll"] }, { kind: "directive", type: i7.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i9.TooltipIfTruncatedDirective, selector: "[matTooltip][appTooltipIfTruncated]", inputs: ["classNameTruncatedTooltip"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
305
+ ], viewQueries: [{ propertyName: "allSelected", first: true, predicate: ["allSelected"], descendants: true }, { propertyName: "matSelectSearchComponent", first: true, predicate: MatSelectSearchComponent, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ecabs-element-wrapper [data]=\"getData()\">\r\n <mat-form-field [ngClass]=\"{ disabled: useOnlyDisabledClass }\">\r\n <mat-select class=\"form-field__select\"\r\n [(ngModel)]=\"value\"\r\n (closed)=\"onTouch()\"\r\n [id]=\"name\"\r\n [multiple]=\"multiple\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"placeholder\"\r\n [disableRipple]=\"true\"\r\n (selectionChange)=\"onSelectionChanged($event)\"\r\n [matTooltip]=\"trigger\"\r\n appTooltipIfTruncated\r\n [classNameTruncatedTooltip]=\"'mat-select-value'\">\r\n <mat-select-trigger>\r\n <span>{{ trigger }}</span>\r\n </mat-select-trigger>\r\n\r\n <mat-option *ngIf=\"useSearchOption\">\r\n <ngx-mat-select-search [formControl]=\"itemFilterCtrl\"\r\n [placeholderLabel]=\"searchFieldPlaceholder\"\r\n [noEntriesFoundLabel]=\"noEntriesFoundLabel\">\r\n </ngx-mat-select-search>\r\n </mat-option>\r\n\r\n <mat-option *ngIf=\"useNoneOption\"\r\n (click)=\"toggleNone()\"\r\n (keydown.enter)=\"toggleNone()\">\r\n {{ noneLabel }}\r\n </mat-option>\r\n\r\n <mat-option #allSelected\r\n *ngIf=\"useSelectAllOption && showFilteredAllOption\"\r\n (click)=\"toggleAllSelection()\"\r\n (keydown.enter)=\"toggleAllSelection()\"\r\n [value]=\"selectAllValue\">\r\n {{ allLabel }}\r\n </mat-option>\r\n\r\n <mat-option *ngFor=\"let item of filteredItems$ | async\"\r\n [value]=\"item.value\"\r\n (click)=\"togglePerOne()\"\r\n (keydown.enter)=\"togglePerOne()\"\r\n [matTooltip]=\"item.label\"\r\n appTooltipIfTruncated\r\n [classNameTruncatedTooltip]=\"'mdc-list-item__primary-text'\">\r\n {{ item.label }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n</ecabs-element-wrapper>\r\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.EcabsElementWrapperComponent, selector: "ecabs-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "panelWidth", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "directive", type: i4.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i8.MatSelectSearchComponent, selector: "ngx-mat-select-search", inputs: ["placeholderLabel", "type", "closeIcon", "closeSvgIcon", "noEntriesFoundLabel", "clearSearchInput", "searching", "disableInitialFocus", "enableClearOnEscapePressed", "preventHomeEndKeyPropagation", "disableScrollToActiveOnOptionsChanged", "ariaLabel", "showToggleAllCheckbox", "toggleAllCheckboxChecked", "toggleAllCheckboxIndeterminate", "toggleAllCheckboxTooltipMessage", "toggleAllCheckboxTooltipPosition", "hideClearSearchButton", "alwaysRestoreSelectedOptionsMulti", "recreateValuesArray"], outputs: ["toggleAll"] }, { kind: "directive", type: i7.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i9.TooltipIfTruncatedDirective, selector: "[matTooltip][appTooltipIfTruncated]", inputs: ["classNameTruncatedTooltip"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
306
306
  }
307
307
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsSelectComponent, decorators: [{
308
308
  type: Component,
@@ -296,4 +296,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
296
296
  type: HostListener,
297
297
  args: ['document:mousedown', ['$event']]
298
298
  }] } });
299
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtdGltZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvZWNhYnMtdGltZXBpY2tlci9lY2Ficy10aW1lcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy10aW1lcGlja2VyL2VjYWJzLXRpbWVwaWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFHVCxXQUFXLEVBQ1gsWUFBWSxFQUVaLEtBQUssR0FDTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFNBQVMsR0FFVixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8seUJBQXlCLE1BQU0sc0JBQXNCLENBQUM7QUFFN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7O0FBZWhFLE1BQU0sT0FBTyx3QkFDWCxTQUFRLHlCQUF5QjtJQWtEZDtJQUNBO0lBQ0E7SUFDQTtJQWxEVixhQUFhLEdBQUcsSUFBSSxDQUFDO0lBQ3lCLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDbEUsYUFBYSxHQUFrQixNQUFNLENBQUM7SUFDdEMsUUFBUSxDQUFVO0lBQ2xCLEdBQUcsQ0FBVTtJQUNiLEdBQUcsQ0FBVTtJQUNiLFlBQVksR0FBRyxJQUFJLENBQUM7SUFDcEIsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUNuQixTQUFTLEdBQUcsSUFBSSxDQUFDO0lBRzFCLGFBQWEsQ0FBUztJQUd0QixXQUFXLENBQVM7SUFFcEIsUUFBUSxHQUFpQixFQUFFLENBQUM7SUFDNUIsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUNYLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDZixXQUFXLENBQW1EO0lB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QUFJO3lCQUNaO3FCQUNGO3FMQU1RLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ2lELFdBQVc7c0JBQWpFLEtBQUs7O3NCQUFJLFdBQVc7dUJBQUMsK0JBQStCO2dCQUM1QyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFHTixhQUFhO3NCQURaLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQW1ETixlQUFlO3NCQURkLFlBQVk7dUJBQUMsb0JBQW9CLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ29tcG9uZW50LFxyXG4gIERlc3Ryb3lSZWYsXHJcbiAgRWxlbWVudFJlZixcclxuICBIb3N0QmluZGluZyxcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgSW5qZWN0b3IsXHJcbiAgSW5wdXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXHJcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgTmdDb250cm9sLFxyXG4gIFVudHlwZWRGb3JtQ29udHJvbCxcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEZvcm1UaW1lUGlja2VyU2VydmljZSB9IGZyb20gJy4vZWNhYnMtdGltZXBpY2tlci5zZXJ2aWNlJztcclxuaW1wb3J0IEVjYWJzRWxlbWVudEJhc2VDb21wb25lbnQgZnJvbSAnLi4vYmFzZS9lbGVtZW50LWJhc2UnO1xyXG5pbXBvcnQgeyBMaXN0UGxhY2VtZW50LCBMaXN0UG9zaXRpb24gfSBmcm9tICcuLi9iYXNlL21vZGVscy90aW1lcGlja2VyLm1vZGVscyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcclxuaW1wb3J0IHsgRWNhYnNEYXRlUGlja2VyVHJhbnNsYXRpb25zIH0gZnJvbSAnLi4vYmFzZS9tb2RlbHMvZWNhYnMtZGF0ZS1waWNrZXItdHJhbnNsYXRpb25zLm1vZGVscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2VjYWJzLXRpbWVwaWNrZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9lY2Ficy10aW1lcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnZWNhYnMtdGltZXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IEVjYWJzVGltZXBpY2tlckNvbXBvbmVudCxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFY2Fic1RpbWVwaWNrZXJDb21wb25lbnRcclxuICBleHRlbmRzIEVjYWJzRWxlbWVudEJhc2VDb21wb25lbnRcclxuICBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBBZnRlclZpZXdJbml0XHJcbntcclxuICBASW5wdXQoKSBzaG93Q2xvc2VJY29uID0gdHJ1ZTtcclxuICBASW5wdXQoKSBASG9zdEJpbmRpbmcoJ2NsYXNzLmZvcm0tdGltZXBpY2tlci1mb2N1c2VkJykgZm9jdXNlZEZsYWcgPSBmYWxzZTtcclxuICBASW5wdXQoKSBsaXN0UGxhY2VtZW50OiBMaXN0UGxhY2VtZW50ID0gJ2F1dG8nO1xyXG4gIEBJbnB1dCgpIGFwcGVuZFRvITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIG1pbiE6IHN0cmluZztcclxuICBASW5wdXQoKSBtYXghOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgc2hvd0RheVN0YXJ0ID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaG93RGF5RW5kID0gZmFsc2U7XHJcbiAgQElucHV0KCkgYWRkU2Vjb25kID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBkYXlTdGFydExhYmVsOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZGF5RW5kTGFiZWw6IHN0cmluZztcclxuXHJcbiAgcG9zaXRpb246IExpc3RQb3NpdGlvbiA9IHt9O1xyXG4gIF9kYXRhID0gJyc7XHJcbiAgaW5wdXREYXRhID0gJyc7XHJcbiAgX3RpbWVQaWNrZXI6IHsgcXVlcnlTZWxlY3RvcjogKGFyZzA6IHN0cmluZykgPT4gSFRNTEVsZW1lbnQgfTtcclxuICBfaW5wdXQhOiBIVE1MRWxlbWVudDtcclxuICBsaXN0UG9zaXRpb246IExpc3RQb3NpdGlvbiA9IHt9O1xyXG4gIHRyYW5zbGF0aW9uQ29uZmlnOiBFY2Fic0RhdGVQaWNrZXJUcmFuc2xhdGlvbnM7XHJcbiAgaXNIb3Zlckl0ZW1DaGFuZ2VkOiBib29sZWFuO1xyXG5cclxuICBnZXQgYWxsTGFiZWwoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiAnJztcclxuICB9XHJcblxyXG4gIGdldCBkYXRhKCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZGF0YTtcclxuICB9XHJcblxyXG4gIHNldCBkYXRhKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuX2RhdGEgPSB2YWx1ZTtcclxuICAgIGlmICh0aGlzLl9kYXRhLmxlbmd0aCA9PT0gNSkge1xyXG4gICAgICBpZiAodGhpcy5fZGF0YSA9PT0gJzIzOjU5Jykge1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2VGbih0aGlzLl9kYXRhICsgKHRoaXMuYWRkU2Vjb25kID8gJzo1OScgOiAnJykpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2VGbih0aGlzLl9kYXRhICsgKHRoaXMuYWRkU2Vjb25kID8gJzowMCcgOiAnJykpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuX2RhdGEgPT09ICcnKSB7XHJcbiAgICAgIHRoaXMub25DaGFuZ2VGbih0aGlzLl9kYXRhKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSB0aW1lcGlja2VyU2VydmljZTogRm9ybVRpbWVQaWNrZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWY6IERlc3Ryb3lSZWYsXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgdGhpcy5wbGFjZWhvbGRlciA9ICcwMDowMCc7XHJcbiAgICB0aGlzLl90aW1lUGlja2VyID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5faW5wdXQgPSB0aGlzLl90aW1lUGlja2VyLnF1ZXJ5U2VsZWN0b3IoJ2lucHV0Jyk7XHJcbiAgICB9KTtcclxuICAgIGlmICghdGhpcy5pY29uQ2xhc3MpIHtcclxuICAgICAgdGhpcy5pY29uQ2xhc3MgPSB0aGlzLnRpbWVwaWNrZXJTZXJ2aWNlLmdldENvbmZpZygpLmljb25DbGFzcztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50Om1vdXNlZG93bicsIFsnJGV2ZW50J10pXHJcbiAgaGFuZGxlTW91c2Vkb3duKCRldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgY29uc3QgdGFyZ2V0ID0gJGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcclxuICAgIGNvbnN0IGlucHV0V3JhcHBlciA9IHRoaXMuX3RpbWVQaWNrZXIucXVlcnlTZWxlY3RvcignLnRpbWVJbnB1dEZpZWxkV3JhcHBlcicpO1xyXG5cclxuICAgIGlmIChcclxuICAgICAgdGFyZ2V0LmNsb3Nlc3QoJy5mb3JtLXRpbWUtbGlzdCcpIHx8XHJcbiAgICAgIHRhcmdldC5jbG9zZXN0KCcudGltZUlucHV0RmllbGRXcmFwcGVyJykgPT09IGlucHV0V3JhcHBlclxyXG4gICAgKSB7XHJcbiAgICAgIGlucHV0V3JhcHBlcj8uZm9jdXMoKTtcclxuXHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmZvY3VzZWRGbGFnKSB7XHJcbiAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IG5nQ29udHJvbDogTmdDb250cm9sID0gdGhpcy5pbmplY3Rvci5nZXQoTmdDb250cm9sLCBudWxsKTtcclxuXHJcbiAgICBpZiAobmdDb250cm9sKSB7XHJcbiAgICAgIHRoaXMuY29udHJvbCA9IG5nQ29udHJvbC5jb250cm9sIGFzIFVudHlwZWRGb3JtQ29udHJvbDtcclxuICAgICAgdGhpcy5jb250cm9sLnN0YXR1c0NoYW5nZXNcclxuICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcclxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgIHRoaXMudXBkYXRlRGlzYWJsZWRTdGF0ZSgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudXBkYXRlRGlzYWJsZWRTdGF0ZSgpO1xyXG4gIH1cclxuXHJcbiAgY2xlYXJJbnB1dCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGF0YSA9ICcnO1xyXG4gIH1cclxuXHJcbiAgY2FsY0xpc3RQb3NpdGlvbigpOiB2b2lkIHtcclxuICAgIGNvbnN0IHBvc2l0aW9uID0gdGhpcy5fdGltZVBpY2tlclxyXG4gICAgICAucXVlcnlTZWxlY3RvcignLnRpbWVJbnB1dEZpZWxkV3JhcHBlcicpXHJcbiAgICAgIC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIGlmICh0aGlzLmFwcGVuZFRvKSB7XHJcbiAgICAgIHRoaXMubGlzdFBvc2l0aW9uID0ge1xyXG4gICAgICAgIGxlZnQ6IHBvc2l0aW9uLngsXHJcbiAgICAgICAgdG9wOiBwb3NpdGlvbi50b3AgKyBwb3NpdGlvbi5oZWlnaHQsXHJcbiAgICAgICAgd2lkdGg6IHBvc2l0aW9uLndpZHRoLFxyXG4gICAgICB9O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5saXN0UG9zaXRpb24gPSB7XHJcbiAgICAgICAgbGVmdDogMCxcclxuICAgICAgICB0b3A6IHBvc2l0aW9uLmhlaWdodCxcclxuICAgICAgICB3aWR0aDogcG9zaXRpb24ud2lkdGgsXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpbnB1dEtleURvd24oZXZlbnQ6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3Qga2V5ID0gZXZlbnQua2V5O1xyXG5cclxuICAgIGNvbnN0IHNwZWNpYWxLZXkgPSB0aGlzLmNoZWNrU3BlY2lhbEtleXMoa2V5KTtcclxuICAgIGNvbnN0IHRyaWdnZXJzID0gWydzdG9wJywgJ3RhYiddO1xyXG4gICAgY29uc3QgaXNLZXlJblRyaWdnZXJzID0gdHJpZ2dlcnMuaW5jbHVkZXMoc3BlY2lhbEtleSk7XHJcblxyXG4gICAgaWYgKFxyXG4gICAgICBrZXkgPT09ICdBcnJvd0xlZnQnIHx8XHJcbiAgICAgIGtleSA9PT0gJ0Fycm93UmlnaHQnIHx8XHJcbiAgICAgIGtleSA9PT0gJ0JhY2tzcGFjZScgfHxcclxuICAgICAga2V5ID09PSAnRGVsZXRlJ1xyXG4gICAgKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmNoZWNrVW5Vc2VkS2V5cyhrZXkpIHx8IGlzS2V5SW5UcmlnZ2Vycykge1xyXG4gICAgICBpZiAoc3BlY2lhbEtleSA9PT0gJ3RhYicpIHtcclxuICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlSW5wdXREYXRhKGV2ZW50OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuaW5wdXREYXRhID0gZXZlbnQ7XHJcbiAgICB0aGlzLmlzSG92ZXJJdGVtQ2hhbmdlZCA9IGZhbHNlO1xyXG5cclxuICAgIGNvbnN0IG5ld0RhdGEgPSB0aGlzLmlucHV0RGF0YS5yZXBsYWNlKG5ldyBSZWdFeHAoL18vZ2kpLCAnJyk7XHJcblxyXG4gICAgaWYgKHRoaXMuY2hlY2tPdXRPZlJhbmdlTnVtYmVyKG5ld0RhdGEpKSB7XHJcbiAgICAgIHRoaXMuZGF0YSA9IG5ld0RhdGE7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLmRhdGEubGVuZ3RoID09PSAyIHx8XHJcbiAgICAgICh0aGlzLmRhdGEubGVuZ3RoID09PSAxICYmIHBhcnNlSW50KHRoaXMuZGF0YSkgPiAyKVxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMubWFrZUhvdXJGdWxsKCk7XHJcbiAgICAgIHRoaXMuZGF0YSArPSAnOic7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjaGVja1NwZWNpYWxLZXlzKGtleTogYW55KTogJ3N0b3AnIHwgJ2NvbnRpbnVlJyB8ICd0YWInIHtcclxuICAgIGlmIChrZXkgPT09ICdUYWInIHx8IGtleSA9PT0gJyAnIHx8IGtleSA9PT0gJzonKSB7XHJcbiAgICAgIGlmICghdGhpcy5kYXRhLmluY2x1ZGVzKCc6JykgJiYgdGhpcy5kYXRhLmxlbmd0aCA+IDApIHtcclxuICAgICAgICB0aGlzLm1ha2VIb3VyRnVsbCgpO1xyXG4gICAgICAgIHRoaXMuZGF0YSArPSAnOic7XHJcblxyXG4gICAgICAgIHJldHVybiAnc3RvcCc7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChrZXkgPT09ICdUYWInKSB7XHJcbiAgICAgICAgcmV0dXJuICd0YWInO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gJ3N0b3AnO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChrZXkgPT09ICdBcnJvd0Rvd24nIHx8IGtleSA9PT0gJ0Fycm93VXAnKSB7XHJcbiAgICAgIHRoaXMuaXNIb3Zlckl0ZW1DaGFuZ2VkID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoa2V5ID09PSAnQXJyb3dEb3duJyAmJiAhdGhpcy5mb2N1c2VkRmxhZykge1xyXG4gICAgICB0aGlzLnNob3coKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gJ2NvbnRpbnVlJztcclxuICB9XHJcblxyXG4gIGNoZWNrVW5Vc2VkS2V5cyhrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgciA9IC9cXGQvO1xyXG5cclxuICAgIHJldHVybiAhci50ZXN0KGtleSk7XHJcbiAgfVxyXG5cclxuICBjaGVja091dE9mUmFuZ2VOdW1iZXIodGltZTogYW55KTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBzcGxpdFRpbWUgPSB0aW1lLnNwbGl0KCc6Jyk7XHJcbiAgICBjb25zdCBob3VyID0gcGFyc2VJbnQoc3BsaXRUaW1lWzBdLCAxMCk7XHJcbiAgICBsZXQgbWludXRlID0gLTE7XHJcblxyXG4gICAgaWYgKHNwbGl0VGltZS5sZW5ndGggPiAxICYmIHNwbGl0VGltZVsxXS5sZW5ndGgpIHtcclxuICAgICAgbWludXRlID0gcGFyc2VJbnQoc3BsaXRUaW1lWzFdLCAxMCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGhvdXIgPCAyNCAmJiBzcGxpdFRpbWVbMF0ubGVuZ3RoIDwgMyAmJiBtaW51dGUgPCA2MCkge1xyXG4gICAgICByZXR1cm4gIShzcGxpdFRpbWUubGVuZ3RoID4gMSAmJiBzcGxpdFRpbWVbMV0ubGVuZ3RoID4gMik7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgbWFrZUhvdXJGdWxsKCk6IHZvaWQge1xyXG4gICAgY29uc3QgaG91clBhcnQgPSB0aGlzLmRhdGEuc3BsaXQoJzonKVswXTtcclxuICAgIGNvbnN0IG1pbnV0ZVBhcnQgPVxyXG4gICAgICB0aGlzLmRhdGEuc3BsaXQoJzonKS5sZW5ndGggPiAxID8gdGhpcy5kYXRhLnNwbGl0KCc6JylbMV0gOiAnJztcclxuXHJcbiAgICBpZiAoaG91clBhcnQubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgIHRoaXMuZGF0YSA9ICcwJyArIGhvdXJQYXJ0ICsgKG1pbnV0ZVBhcnQgPyAnOicgKyBtaW51dGVQYXJ0IDogbWludXRlUGFydCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5pbnB1dERhdGEgPSB0aGlzLmRhdGE7XHJcbiAgfVxyXG5cclxuICBtYWtlTWludXRlRnVsbCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGhvdXJQYXJ0ID0gdGhpcy5kYXRhLnNwbGl0KCc6JylbMF07XHJcbiAgICBjb25zdCBtaW51dGVQYXJ0ID1cclxuICAgICAgdGhpcy5kYXRhLnNwbGl0KCc6JykubGVuZ3RoID4gMSA/IHRoaXMuZGF0YS5zcGxpdCgnOicpWzFdIDogJyc7XHJcblxyXG4gICAgaWYgKG1pbnV0ZVBhcnQubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHRoaXMuZGF0YSA9IGhvdXJQYXJ0ICsgJzowMCc7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKG1pbnV0ZVBhcnQubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgIHRoaXMuZGF0YSA9IGhvdXJQYXJ0ICsgJzonICsgbWludXRlUGFydCArICcwJztcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmlucHV0RGF0YSA9IHRoaXMuZGF0YTtcclxuICB9XHJcblxyXG4gIGZpeFRpbWVUb05lYXJlc3QoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5kYXRhLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5tYWtlSG91ckZ1bGwoKTtcclxuICAgICAgdGhpcy5tYWtlTWludXRlRnVsbCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy9lc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzLCBuby11bnVzZWQtdmFycywgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXHJcbiAgcHVibGljIG9uQ2hhbmdlRm4gPSAoXzogYW55KTogdm9pZCA9PiB7fTtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXHJcbiAgcHVibGljIG9uVG91Y2hlZEZuID0gKCk6IHZvaWQgPT4ge307XHJcblxyXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2VGbiA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaGVkRm4gPSBmbjtcclxuICB9XHJcblxyXG4gIC8qIHB1YmxpYyBvdmVycmlkZSBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gIH0gKi9cclxuXHJcbiAgcHVibGljIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHtcclxuICAgIGlmIChvYmopIHtcclxuICAgICAgb2JqID0gb2JqLnRvU3RyaW5nKCk7XHJcbiAgICAgIGxldCB0ZW1wID0gJyc7XHJcblxyXG4gICAgICBpZiAob2JqLnNwbGl0KCc6JykubGVuZ3RoID49IDIpIHtcclxuICAgICAgICB0ZW1wID0gb2JqLnNwbGl0KCc6JylbMF0gKyAnOicgKyBvYmouc3BsaXQoJzonKVsxXTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5fZGF0YSA9IHRlbXA7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9kYXRhID0gJyc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzaG93KCk6IHZvaWQge1xyXG4gICAgdGhpcy5jYWxjTGlzdFBvc2l0aW9uKCk7XHJcbiAgICB0aGlzLmZvY3VzZWRGbGFnID0gdHJ1ZTtcclxuICAgIHRoaXMuaXNIb3Zlckl0ZW1DaGFuZ2VkID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGNsb3NlKHZhbCA9IG51bGwpOiB2b2lkIHtcclxuICAgIGlmICh2YWwgJiYgdGhpcy5pc0hvdmVySXRlbUNoYW5nZWQpIHtcclxuICAgICAgdGhpcy5kYXRhID0gdmFsO1xyXG4gICAgICB0aGlzLmlucHV0RGF0YSA9IHZhbDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZml4VGltZVRvTmVhcmVzdCgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5mb2N1c2VkRmxhZyA9IGZhbHNlO1xyXG4gICAgdGhpcy5jb250cm9sPy5tYXJrQXNUb3VjaGVkKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgW25nQ2xhc3NdPVwieyBkaXNhYmxlZDogZGlzYWJsZWQgfVwiPlxyXG4gIDxlY2Ficy1lbGVtZW50LXdyYXBwZXJcclxuICAgIFtkYXRhXT1cImdldERhdGEoKVwiXHJcbiAgICBbc2hvd0Nsb3NlSWNvbl09XCJzaG93Q2xvc2VJY29uXCJcclxuICAgIFtmb2N1c2VkRmxhZ109XCJmb2N1c2VkRmxhZ1wiXHJcbiAgICAoY2xlYXIpPVwiY2xlYXJJbnB1dCgpXCJcclxuICA+XHJcbiAgICA8ZGl2IGNsYXNzPVwicmVsYXRpdmUgaW5saW5lLWJsb2NrIHctZnVsbCB0aW1lSW5wdXRGaWVsZFdyYXBwZXJcIj5cclxuICAgICAgPGlucHV0XHJcbiAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgIGNsYXNzPVwiZm9ybS1maWVsZF9faW5wdXRcIlxyXG4gICAgICAgIFt2YWx1ZV09XCJkYXRhXCJcclxuICAgICAgICBbbmdNb2RlbF09XCJkYXRhXCJcclxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJ1cGRhdGVJbnB1dERhdGEoJGV2ZW50KVwiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgICBhcHBUaW1lXHJcbiAgICAgICAgW2FsbF09XCJhbGxMYWJlbFwiXHJcbiAgICAgICAgKGZvY3VzKT1cInNob3coKVwiXHJcbiAgICAgICAgKGNsaWNrKT1cInNob3coKVwiXHJcbiAgICAgICAgKGtleWRvd24pPVwiaW5wdXRLZXlEb3duKCRldmVudClcIlxyXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICAgIC8+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWZpZWxkX19pbnB1dC0tc3VmZml4XCIgKm5nSWY9XCJ0eXBlICE9PSAnbnVtYmVyJ1wiPlxyXG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIm1hdC1pY29uXCI+PC9uZy1jb250ZW50PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGVjYWJzLXRpbWUtbGlzdC1wYW5lbFxyXG4gICAgICAgIFt0eXBlZFZhbHVlXT1cImRhdGFcIlxyXG4gICAgICAgICpuZ0lmPVwiZm9jdXNlZEZsYWdcIlxyXG4gICAgICAgIFtzaG93RGF5U3RhcnRdPVwic2hvd0RheVN0YXJ0XCJcclxuICAgICAgICBbZGF5U3RhcnRMYWJlbF09XCJkYXlTdGFydExhYmVsXCJcclxuICAgICAgICBbZGF5RW5kTGFiZWxdPVwiZGF5RW5kTGFiZWxcIlxyXG4gICAgICAgIFtzaG93RGF5RW5kXT1cInNob3dEYXlFbmRcIlxyXG4gICAgICAgIFttaW5dPVwibWluXCJcclxuICAgICAgICBbbWF4XT1cIm1heFwiXHJcbiAgICAgICAgY2xhc3M9XCJmb3JtLXRpbWUtbGlzdCBhYnNvbHV0ZSBpbmxpbmUtYmxvY2tcIlxyXG4gICAgICAgIFthcHBlbmRUb109XCJhcHBlbmRUb1wiXHJcbiAgICAgICAgW2xpc3RQb3NpdGlvbl09XCJsaXN0UG9zaXRpb25cIlxyXG4gICAgICAgIChjbG9zZU1lKT1cImNsb3NlKCRldmVudClcIlxyXG4gICAgICA+PC9lY2Ficy10aW1lLWxpc3QtcGFuZWw+XHJcbiAgICA8L2Rpdj5cclxuICA8L2VjYWJzLWVsZW1lbnQtd3JhcHBlcj5cclxuPC9kaXY+XHJcbiJdfQ==
299
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtdGltZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvZWNhYnMtdGltZXBpY2tlci9lY2Ficy10aW1lcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy10aW1lcGlja2VyL2VjYWJzLXRpbWVwaWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFHVCxXQUFXLEVBQ1gsWUFBWSxFQUVaLEtBQUssR0FDTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFNBQVMsR0FFVixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8seUJBQXlCLE1BQU0sc0JBQXNCLENBQUM7QUFFN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7O0FBZWhFLE1BQU0sT0FBTyx3QkFDWCxTQUFRLHlCQUF5QjtJQWtEZDtJQUNBO0lBQ0E7SUFDQTtJQWxEVixhQUFhLEdBQUcsSUFBSSxDQUFDO0lBQ3lCLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDbEUsYUFBYSxHQUFrQixNQUFNLENBQUM7SUFDdEMsUUFBUSxDQUFVO0lBQ2xCLEdBQUcsQ0FBVTtJQUNiLEdBQUcsQ0FBVTtJQUNiLFlBQVksR0FBRyxJQUFJLENBQUM7SUFDcEIsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUNuQixTQUFTLEdBQUcsSUFBSSxDQUFDO0lBRzFCLGFBQWEsQ0FBUztJQUd0QixXQUFXLENBQVM7SUFFcEIsUUFBUSxHQUFpQixFQUFFLENBQUM7SUFDNUIsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUNYLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDZixXQUFXLENBQW1EO0lB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SUFBSTt5QkFDWjtxQkFDRjtxTEFNUSxhQUFhO3NCQUFyQixLQUFLO2dCQUNpRCxXQUFXO3NCQUFqRSxLQUFLOztzQkFBSSxXQUFXO3VCQUFDLCtCQUErQjtnQkFDNUMsYUFBYTtzQkFBckIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBR04sYUFBYTtzQkFEWixLQUFLO2dCQUlOLFdBQVc7c0JBRFYsS0FBSztnQkFtRE4sZUFBZTtzQkFEZCxZQUFZO3VCQUFDLG9CQUFvQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIENvbXBvbmVudCxcclxuICBEZXN0cm95UmVmLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIEluamVjdG9yLFxyXG4gIElucHV0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxyXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gIE5nQ29udHJvbCxcclxuICBVbnR5cGVkRm9ybUNvbnRyb2wsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBGb3JtVGltZVBpY2tlclNlcnZpY2UgfSBmcm9tICcuL2VjYWJzLXRpbWVwaWNrZXIuc2VydmljZSc7XHJcbmltcG9ydCBFY2Fic0VsZW1lbnRCYXNlQ29tcG9uZW50IGZyb20gJy4uL2Jhc2UvZWxlbWVudC1iYXNlJztcclxuaW1wb3J0IHsgTGlzdFBsYWNlbWVudCwgTGlzdFBvc2l0aW9uIH0gZnJvbSAnLi4vYmFzZS9tb2RlbHMvdGltZXBpY2tlci5tb2RlbHMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XHJcbmltcG9ydCB7IEVjYWJzRGF0ZVBpY2tlclRyYW5zbGF0aW9ucyB9IGZyb20gJy4uL2Jhc2UvbW9kZWxzL2VjYWJzLWRhdGUtcGlja2VyLXRyYW5zbGF0aW9ucy5tb2RlbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdlY2Ficy10aW1lcGlja2VyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZWNhYnMtdGltZXBpY2tlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJ2VjYWJzLXRpbWVwaWNrZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBFY2Fic1RpbWVwaWNrZXJDb21wb25lbnQsXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRWNhYnNUaW1lcGlja2VyQ29tcG9uZW50XHJcbiAgZXh0ZW5kcyBFY2Fic0VsZW1lbnRCYXNlQ29tcG9uZW50XHJcbiAgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdFxyXG57XHJcbiAgQElucHV0KCkgc2hvd0Nsb3NlSWNvbiA9IHRydWU7XHJcbiAgQElucHV0KCkgQEhvc3RCaW5kaW5nKCdjbGFzcy5mb3JtLXRpbWVwaWNrZXItZm9jdXNlZCcpIGZvY3VzZWRGbGFnID0gZmFsc2U7XHJcbiAgQElucHV0KCkgbGlzdFBsYWNlbWVudDogTGlzdFBsYWNlbWVudCA9ICdhdXRvJztcclxuICBASW5wdXQoKSBhcHBlbmRUbyE6IHN0cmluZztcclxuICBASW5wdXQoKSBtaW4hOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbWF4ITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHNob3dEYXlTdGFydCA9IHRydWU7XHJcbiAgQElucHV0KCkgc2hvd0RheUVuZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGFkZFNlY29uZCA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZGF5U3RhcnRMYWJlbDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGRheUVuZExhYmVsOiBzdHJpbmc7XHJcblxyXG4gIHBvc2l0aW9uOiBMaXN0UG9zaXRpb24gPSB7fTtcclxuICBfZGF0YSA9ICcnO1xyXG4gIGlucHV0RGF0YSA9ICcnO1xyXG4gIF90aW1lUGlja2VyOiB7IHF1ZXJ5U2VsZWN0b3I6IChhcmcwOiBzdHJpbmcpID0+IEhUTUxFbGVtZW50IH07XHJcbiAgX2lucHV0ITogSFRNTEVsZW1lbnQ7XHJcbiAgbGlzdFBvc2l0aW9uOiBMaXN0UG9zaXRpb24gPSB7fTtcclxuICB0cmFuc2xhdGlvbkNvbmZpZzogRWNhYnNEYXRlUGlja2VyVHJhbnNsYXRpb25zO1xyXG4gIGlzSG92ZXJJdGVtQ2hhbmdlZDogYm9vbGVhbjtcclxuXHJcbiAgZ2V0IGFsbExhYmVsKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gJyc7XHJcbiAgfVxyXG5cclxuICBnZXQgZGF0YSgpOiBhbnkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RhdGE7XHJcbiAgfVxyXG5cclxuICBzZXQgZGF0YSh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLl9kYXRhID0gdmFsdWU7XHJcbiAgICBpZiAodGhpcy5fZGF0YS5sZW5ndGggPT09IDUpIHtcclxuICAgICAgaWYgKHRoaXMuX2RhdGEgPT09ICcyMzo1OScpIHtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlRm4odGhpcy5fZGF0YSArICh0aGlzLmFkZFNlY29uZCA/ICc6NTknIDogJycpKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlRm4odGhpcy5fZGF0YSArICh0aGlzLmFkZFNlY29uZCA/ICc6MDAnIDogJycpKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmICh0aGlzLl9kYXRhID09PSAnJykge1xyXG4gICAgICB0aGlzLm9uQ2hhbmdlRm4odGhpcy5fZGF0YSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGltZXBpY2tlclNlcnZpY2U6IEZvcm1UaW1lUGlja2VyU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmOiBEZXN0cm95UmVmLFxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICAgIHRoaXMucGxhY2Vob2xkZXIgPSAnMDA6MDAnO1xyXG4gICAgdGhpcy5fdGltZVBpY2tlciA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuX2lucHV0ID0gdGhpcy5fdGltZVBpY2tlci5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpO1xyXG4gICAgfSk7XHJcbiAgICBpZiAoIXRoaXMuaWNvbkNsYXNzKSB7XHJcbiAgICAgIHRoaXMuaWNvbkNsYXNzID0gdGhpcy50aW1lcGlja2VyU2VydmljZS5nZXRDb25maWcoKS5pY29uQ2xhc3M7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDptb3VzZWRvd24nLCBbJyRldmVudCddKVxyXG4gIGhhbmRsZU1vdXNlZG93bigkZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIGNvbnN0IHRhcmdldCA9ICRldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICBjb25zdCBpbnB1dFdyYXBwZXIgPSB0aGlzLl90aW1lUGlja2VyLnF1ZXJ5U2VsZWN0b3IoXHJcbiAgICAgICcudGltZUlucHV0RmllbGRXcmFwcGVyJyxcclxuICAgICk7XHJcblxyXG4gICAgaWYgKFxyXG4gICAgICB0YXJnZXQuY2xvc2VzdCgnLmZvcm0tdGltZS1saXN0JykgfHxcclxuICAgICAgdGFyZ2V0LmNsb3Nlc3QoJy50aW1lSW5wdXRGaWVsZFdyYXBwZXInKSA9PT0gaW5wdXRXcmFwcGVyXHJcbiAgICApIHtcclxuICAgICAgaW5wdXRXcmFwcGVyPy5mb2N1cygpO1xyXG5cclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZm9jdXNlZEZsYWcpIHtcclxuICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgbmdDb250cm9sOiBOZ0NvbnRyb2wgPSB0aGlzLmluamVjdG9yLmdldChOZ0NvbnRyb2wsIG51bGwpO1xyXG5cclxuICAgIGlmIChuZ0NvbnRyb2wpIHtcclxuICAgICAgdGhpcy5jb250cm9sID0gbmdDb250cm9sLmNvbnRyb2wgYXMgVW50eXBlZEZvcm1Db250cm9sO1xyXG4gICAgICB0aGlzLmNvbnRyb2wuc3RhdHVzQ2hhbmdlc1xyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy51cGRhdGVEaXNhYmxlZFN0YXRlKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy51cGRhdGVEaXNhYmxlZFN0YXRlKCk7XHJcbiAgfVxyXG5cclxuICBjbGVhcklucHV0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kYXRhID0gJyc7XHJcbiAgfVxyXG5cclxuICBjYWxjTGlzdFBvc2l0aW9uKCk6IHZvaWQge1xyXG4gICAgY29uc3QgcG9zaXRpb24gPSB0aGlzLl90aW1lUGlja2VyXHJcbiAgICAgIC5xdWVyeVNlbGVjdG9yKCcudGltZUlucHV0RmllbGRXcmFwcGVyJylcclxuICAgICAgLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgaWYgKHRoaXMuYXBwZW5kVG8pIHtcclxuICAgICAgdGhpcy5saXN0UG9zaXRpb24gPSB7XHJcbiAgICAgICAgbGVmdDogcG9zaXRpb24ueCxcclxuICAgICAgICB0b3A6IHBvc2l0aW9uLnRvcCArIHBvc2l0aW9uLmhlaWdodCxcclxuICAgICAgICB3aWR0aDogcG9zaXRpb24ud2lkdGgsXHJcbiAgICAgIH07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmxpc3RQb3NpdGlvbiA9IHtcclxuICAgICAgICBsZWZ0OiAwLFxyXG4gICAgICAgIHRvcDogcG9zaXRpb24uaGVpZ2h0LFxyXG4gICAgICAgIHdpZHRoOiBwb3NpdGlvbi53aWR0aCxcclxuICAgICAgfTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlucHV0S2V5RG93bihldmVudDogYW55KTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBrZXkgPSBldmVudC5rZXk7XHJcblxyXG4gICAgY29uc3Qgc3BlY2lhbEtleSA9IHRoaXMuY2hlY2tTcGVjaWFsS2V5cyhrZXkpO1xyXG4gICAgY29uc3QgdHJpZ2dlcnMgPSBbJ3N0b3AnLCAndGFiJ107XHJcbiAgICBjb25zdCBpc0tleUluVHJpZ2dlcnMgPSB0cmlnZ2Vycy5pbmNsdWRlcyhzcGVjaWFsS2V5KTtcclxuXHJcbiAgICBpZiAoXHJcbiAgICAgIGtleSA9PT0gJ0Fycm93TGVmdCcgfHxcclxuICAgICAga2V5ID09PSAnQXJyb3dSaWdodCcgfHxcclxuICAgICAga2V5ID09PSAnQmFja3NwYWNlJyB8fFxyXG4gICAgICBrZXkgPT09ICdEZWxldGUnXHJcbiAgICApIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuY2hlY2tVblVzZWRLZXlzKGtleSkgfHwgaXNLZXlJblRyaWdnZXJzKSB7XHJcbiAgICAgIGlmIChzcGVjaWFsS2V5ID09PSAndGFiJykge1xyXG4gICAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVJbnB1dERhdGEoZXZlbnQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5pbnB1dERhdGEgPSBldmVudDtcclxuICAgIHRoaXMuaXNIb3Zlckl0ZW1DaGFuZ2VkID0gZmFsc2U7XHJcblxyXG4gICAgY29uc3QgbmV3RGF0YSA9IHRoaXMuaW5wdXREYXRhLnJlcGxhY2UobmV3IFJlZ0V4cCgvXy9naSksICcnKTtcclxuXHJcbiAgICBpZiAodGhpcy5jaGVja091dE9mUmFuZ2VOdW1iZXIobmV3RGF0YSkpIHtcclxuICAgICAgdGhpcy5kYXRhID0gbmV3RGF0YTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuZGF0YS5sZW5ndGggPT09IDIgfHxcclxuICAgICAgKHRoaXMuZGF0YS5sZW5ndGggPT09IDEgJiYgcGFyc2VJbnQodGhpcy5kYXRhKSA+IDIpXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5tYWtlSG91ckZ1bGwoKTtcclxuICAgICAgdGhpcy5kYXRhICs9ICc6JztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNoZWNrU3BlY2lhbEtleXMoa2V5OiBhbnkpOiAnc3RvcCcgfCAnY29udGludWUnIHwgJ3RhYicge1xyXG4gICAgaWYgKGtleSA9PT0gJ1RhYicgfHwga2V5ID09PSAnICcgfHwga2V5ID09PSAnOicpIHtcclxuICAgICAgaWYgKCF0aGlzLmRhdGEuaW5jbHVkZXMoJzonKSAmJiB0aGlzLmRhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIHRoaXMubWFrZUhvdXJGdWxsKCk7XHJcbiAgICAgICAgdGhpcy5kYXRhICs9ICc6JztcclxuXHJcbiAgICAgICAgcmV0dXJuICdzdG9wJztcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKGtleSA9PT0gJ1RhYicpIHtcclxuICAgICAgICByZXR1cm4gJ3RhYic7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiAnc3RvcCc7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGtleSA9PT0gJ0Fycm93RG93bicgfHwga2V5ID09PSAnQXJyb3dVcCcpIHtcclxuICAgICAgdGhpcy5pc0hvdmVySXRlbUNoYW5nZWQgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChrZXkgPT09ICdBcnJvd0Rvd24nICYmICF0aGlzLmZvY3VzZWRGbGFnKSB7XHJcbiAgICAgIHRoaXMuc2hvdygpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiAnY29udGludWUnO1xyXG4gIH1cclxuXHJcbiAgY2hlY2tVblVzZWRLZXlzKGtleTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCByID0gL1xcZC87XHJcblxyXG4gICAgcmV0dXJuICFyLnRlc3Qoa2V5KTtcclxuICB9XHJcblxyXG4gIGNoZWNrT3V0T2ZSYW5nZU51bWJlcih0aW1lOiBhbnkpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IHNwbGl0VGltZSA9IHRpbWUuc3BsaXQoJzonKTtcclxuICAgIGNvbnN0IGhvdXIgPSBwYXJzZUludChzcGxpdFRpbWVbMF0sIDEwKTtcclxuICAgIGxldCBtaW51dGUgPSAtMTtcclxuXHJcbiAgICBpZiAoc3BsaXRUaW1lLmxlbmd0aCA+IDEgJiYgc3BsaXRUaW1lWzFdLmxlbmd0aCkge1xyXG4gICAgICBtaW51dGUgPSBwYXJzZUludChzcGxpdFRpbWVbMV0sIDEwKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoaG91ciA8IDI0ICYmIHNwbGl0VGltZVswXS5sZW5ndGggPCAzICYmIG1pbnV0ZSA8IDYwKSB7XHJcbiAgICAgIHJldHVybiAhKHNwbGl0VGltZS5sZW5ndGggPiAxICYmIHNwbGl0VGltZVsxXS5sZW5ndGggPiAyKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBtYWtlSG91ckZ1bGwoKTogdm9pZCB7XHJcbiAgICBjb25zdCBob3VyUGFydCA9IHRoaXMuZGF0YS5zcGxpdCgnOicpWzBdO1xyXG4gICAgY29uc3QgbWludXRlUGFydCA9XHJcbiAgICAgIHRoaXMuZGF0YS5zcGxpdCgnOicpLmxlbmd0aCA+IDEgPyB0aGlzLmRhdGEuc3BsaXQoJzonKVsxXSA6ICcnO1xyXG5cclxuICAgIGlmIChob3VyUGFydC5sZW5ndGggPT09IDEpIHtcclxuICAgICAgdGhpcy5kYXRhID0gJzAnICsgaG91clBhcnQgKyAobWludXRlUGFydCA/ICc6JyArIG1pbnV0ZVBhcnQgOiBtaW51dGVQYXJ0KTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmlucHV0RGF0YSA9IHRoaXMuZGF0YTtcclxuICB9XHJcblxyXG4gIG1ha2VNaW51dGVGdWxsKCk6IHZvaWQge1xyXG4gICAgY29uc3QgaG91clBhcnQgPSB0aGlzLmRhdGEuc3BsaXQoJzonKVswXTtcclxuICAgIGNvbnN0IG1pbnV0ZVBhcnQgPVxyXG4gICAgICB0aGlzLmRhdGEuc3BsaXQoJzonKS5sZW5ndGggPiAxID8gdGhpcy5kYXRhLnNwbGl0KCc6JylbMV0gOiAnJztcclxuXHJcbiAgICBpZiAobWludXRlUGFydC5sZW5ndGggPT09IDApIHtcclxuICAgICAgdGhpcy5kYXRhID0gaG91clBhcnQgKyAnOjAwJztcclxuICAgIH1cclxuXHJcbiAgICBpZiAobWludXRlUGFydC5sZW5ndGggPT09IDEpIHtcclxuICAgICAgdGhpcy5kYXRhID0gaG91clBhcnQgKyAnOicgKyBtaW51dGVQYXJ0ICsgJzAnO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuaW5wdXREYXRhID0gdGhpcy5kYXRhO1xyXG4gIH1cclxuXHJcbiAgZml4VGltZVRvTmVhcmVzdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmRhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLm1ha2VIb3VyRnVsbCgpO1xyXG4gICAgICB0aGlzLm1ha2VNaW51dGVGdWxsKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvL2VzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMsIG5vLXVudXNlZC12YXJzLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cclxuICBwdWJsaWMgb25DaGFuZ2VGbiA9IChfOiBhbnkpOiB2b2lkID0+IHt9O1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cclxuICBwdWJsaWMgb25Ub3VjaGVkRm4gPSAoKTogdm9pZCA9PiB7fTtcclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZUZuID0gZm47XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWRGbiA9IGZuO1xyXG4gIH1cclxuXHJcbiAgLyogcHVibGljIG92ZXJyaWRlIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XHJcbiAgfSAqL1xyXG5cclxuICBwdWJsaWMgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKG9iaikge1xyXG4gICAgICBvYmogPSBvYmoudG9TdHJpbmcoKTtcclxuICAgICAgbGV0IHRlbXAgPSAnJztcclxuXHJcbiAgICAgIGlmIChvYmouc3BsaXQoJzonKS5sZW5ndGggPj0gMikge1xyXG4gICAgICAgIHRlbXAgPSBvYmouc3BsaXQoJzonKVswXSArICc6JyArIG9iai5zcGxpdCgnOicpWzFdO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLl9kYXRhID0gdGVtcDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2RhdGEgPSAnJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNob3coKTogdm9pZCB7XHJcbiAgICB0aGlzLmNhbGNMaXN0UG9zaXRpb24oKTtcclxuICAgIHRoaXMuZm9jdXNlZEZsYWcgPSB0cnVlO1xyXG4gICAgdGhpcy5pc0hvdmVySXRlbUNoYW5nZWQgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgY2xvc2UodmFsID0gbnVsbCk6IHZvaWQge1xyXG4gICAgaWYgKHZhbCAmJiB0aGlzLmlzSG92ZXJJdGVtQ2hhbmdlZCkge1xyXG4gICAgICB0aGlzLmRhdGEgPSB2YWw7XHJcbiAgICAgIHRoaXMuaW5wdXREYXRhID0gdmFsO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5maXhUaW1lVG9OZWFyZXN0KCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmZvY3VzZWRGbGFnID0gZmFsc2U7XHJcbiAgICB0aGlzLmNvbnRyb2w/Lm1hcmtBc1RvdWNoZWQoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBbbmdDbGFzc109XCJ7IGRpc2FibGVkOiBkaXNhYmxlZCB9XCI+XHJcbiAgPGVjYWJzLWVsZW1lbnQtd3JhcHBlclxyXG4gICAgW2RhdGFdPVwiZ2V0RGF0YSgpXCJcclxuICAgIFtzaG93Q2xvc2VJY29uXT1cInNob3dDbG9zZUljb25cIlxyXG4gICAgW2ZvY3VzZWRGbGFnXT1cImZvY3VzZWRGbGFnXCJcclxuICAgIChjbGVhcik9XCJjbGVhcklucHV0KClcIlxyXG4gID5cclxuICAgIDxkaXYgY2xhc3M9XCJyZWxhdGl2ZSBpbmxpbmUtYmxvY2sgdy1mdWxsIHRpbWVJbnB1dEZpZWxkV3JhcHBlclwiPlxyXG4gICAgICA8aW5wdXRcclxuICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgY2xhc3M9XCJmb3JtLWZpZWxkX19pbnB1dFwiXHJcbiAgICAgICAgW3ZhbHVlXT1cImRhdGFcIlxyXG4gICAgICAgIFtuZ01vZGVsXT1cImRhdGFcIlxyXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZUlucHV0RGF0YSgkZXZlbnQpXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgIGFwcFRpbWVcclxuICAgICAgICBbYWxsXT1cImFsbExhYmVsXCJcclxuICAgICAgICAoZm9jdXMpPVwic2hvdygpXCJcclxuICAgICAgICAoY2xpY2spPVwic2hvdygpXCJcclxuICAgICAgICAoa2V5ZG93bik9XCJpbnB1dEtleURvd24oJGV2ZW50KVwiXHJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgLz5cclxuICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZmllbGRfX2lucHV0LS1zdWZmaXhcIiAqbmdJZj1cInR5cGUgIT09ICdudW1iZXInXCI+XHJcbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwibWF0LWljb25cIj48L25nLWNvbnRlbnQ+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZWNhYnMtdGltZS1saXN0LXBhbmVsXHJcbiAgICAgICAgW3R5cGVkVmFsdWVdPVwiZGF0YVwiXHJcbiAgICAgICAgKm5nSWY9XCJmb2N1c2VkRmxhZ1wiXHJcbiAgICAgICAgW3Nob3dEYXlTdGFydF09XCJzaG93RGF5U3RhcnRcIlxyXG4gICAgICAgIFtkYXlTdGFydExhYmVsXT1cImRheVN0YXJ0TGFiZWxcIlxyXG4gICAgICAgIFtkYXlFbmRMYWJlbF09XCJkYXlFbmRMYWJlbFwiXHJcbiAgICAgICAgW3Nob3dEYXlFbmRdPVwic2hvd0RheUVuZFwiXHJcbiAgICAgICAgW21pbl09XCJtaW5cIlxyXG4gICAgICAgIFttYXhdPVwibWF4XCJcclxuICAgICAgICBjbGFzcz1cImZvcm0tdGltZS1saXN0IGFic29sdXRlIGlubGluZS1ibG9ja1wiXHJcbiAgICAgICAgW2FwcGVuZFRvXT1cImFwcGVuZFRvXCJcclxuICAgICAgICBbbGlzdFBvc2l0aW9uXT1cImxpc3RQb3NpdGlvblwiXHJcbiAgICAgICAgKGNsb3NlTWUpPVwiY2xvc2UoJGV2ZW50KVwiXHJcbiAgICAgID48L2VjYWJzLXRpbWUtbGlzdC1wYW5lbD5cclxuICAgIDwvZGl2PlxyXG4gIDwvZWNhYnMtZWxlbWVudC13cmFwcGVyPlxyXG48L2Rpdj5cclxuIl19
@@ -878,7 +878,7 @@ class EcabsInputComponent extends EcabsElementBaseComponent {
878
878
  useExisting: EcabsInputComponent,
879
879
  multi: true,
880
880
  },
881
- ], usesInheritance: true, ngImport: i0, template: "<ecabs-element-wrapper [data]=\"getData()\">\r\n <div class=\"form-field__input--wrapper\">\r\n <input\r\n appDigitsOnly\r\n [digitsOnly]=\"digitsOnly\"\r\n [decimal]=\"allowDecimal\"\r\n [allowHyphen]=\"allowHyphen\"\r\n class=\"form-field__input\"\r\n [type]=\"type\"\r\n [id]=\"name\"\r\n [(ngModel)]=\"value\"\r\n [placeholder]=\"placeholder\"\r\n [mini]=\"mini\"\r\n [maxi]=\"maxi\"\r\n [disabled]=\"disabled\"\r\n [maxlength]=\"maxLength\"\r\n [max]=\"max\"\r\n [step]=\"step\"\r\n (blur)=\"blurChange($event)\"\r\n />\r\n\r\n <div class=\"form-field__input--suffix\" *ngIf=\"type !== 'number'\">\r\n <ng-content select=\"mat-icon\"></ng-content>\r\n <ng-content select=\".suffix\"></ng-content>\r\n </div>\r\n </div>\r\n</ecabs-element-wrapper>\r\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: EcabsElementWrapperComponent, selector: "ecabs-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "directive", type: i5$1.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: i5$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5$1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i5$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: DigitsOnlyDirective, selector: "[appDigitsOnly]", inputs: ["digitsOnly", "allowHyphen", "decimal", "decimalSeparator", "unit"] }, { kind: "directive", type: MinDirective, selector: "[mini][formControlName],[mini][formControl],[mini][ngModel]", inputs: ["mini"] }, { kind: "directive", type: MaxDirective, selector: "[maxi][formControlName],[maxi][formControl],[maxi][ngModel]", inputs: ["maxi"] }] });
881
+ ], usesInheritance: true, ngImport: i0, template: "<ecabs-element-wrapper [data]=\"getData()\">\r\n <div class=\"form-field__input--wrapper\">\r\n <input\r\n appDigitsOnly\r\n [digitsOnly]=\"digitsOnly\"\r\n [decimal]=\"allowDecimal\"\r\n [allowHyphen]=\"allowHyphen\"\r\n class=\"form-field__input\"\r\n [type]=\"type\"\r\n [id]=\"name\"\r\n [(ngModel)]=\"value\"\r\n [placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n [mini]=\"mini\"\r\n [maxi]=\"maxi\"\r\n [disabled]=\"disabled\"\r\n [maxlength]=\"maxLength\"\r\n [max]=\"max\"\r\n [step]=\"step\"\r\n (blur)=\"blurChange($event)\"\r\n />\r\n\r\n <div class=\"form-field__input--suffix\" *ngIf=\"type !== 'number'\">\r\n <ng-content select=\"mat-icon\"></ng-content>\r\n <ng-content select=\".suffix\"></ng-content>\r\n </div>\r\n </div>\r\n</ecabs-element-wrapper>\r\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: EcabsElementWrapperComponent, selector: "ecabs-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "directive", type: i5$1.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: i5$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5$1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i5$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: DigitsOnlyDirective, selector: "[appDigitsOnly]", inputs: ["digitsOnly", "allowHyphen", "decimal", "decimalSeparator", "unit"] }, { kind: "directive", type: MinDirective, selector: "[mini][formControlName],[mini][formControl],[mini][ngModel]", inputs: ["mini"] }, { kind: "directive", type: MaxDirective, selector: "[maxi][formControlName],[maxi][formControl],[maxi][ngModel]", inputs: ["maxi"] }] });
882
882
  }
883
883
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsInputComponent, decorators: [{
884
884
  type: Component,
@@ -888,7 +888,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
888
888
  useExisting: EcabsInputComponent,
889
889
  multi: true,
890
890
  },
891
- ], template: "<ecabs-element-wrapper [data]=\"getData()\">\r\n <div class=\"form-field__input--wrapper\">\r\n <input\r\n appDigitsOnly\r\n [digitsOnly]=\"digitsOnly\"\r\n [decimal]=\"allowDecimal\"\r\n [allowHyphen]=\"allowHyphen\"\r\n class=\"form-field__input\"\r\n [type]=\"type\"\r\n [id]=\"name\"\r\n [(ngModel)]=\"value\"\r\n [placeholder]=\"placeholder\"\r\n [mini]=\"mini\"\r\n [maxi]=\"maxi\"\r\n [disabled]=\"disabled\"\r\n [maxlength]=\"maxLength\"\r\n [max]=\"max\"\r\n [step]=\"step\"\r\n (blur)=\"blurChange($event)\"\r\n />\r\n\r\n <div class=\"form-field__input--suffix\" *ngIf=\"type !== 'number'\">\r\n <ng-content select=\"mat-icon\"></ng-content>\r\n <ng-content select=\".suffix\"></ng-content>\r\n </div>\r\n </div>\r\n</ecabs-element-wrapper>\r\n" }]
891
+ ], template: "<ecabs-element-wrapper [data]=\"getData()\">\r\n <div class=\"form-field__input--wrapper\">\r\n <input\r\n appDigitsOnly\r\n [digitsOnly]=\"digitsOnly\"\r\n [decimal]=\"allowDecimal\"\r\n [allowHyphen]=\"allowHyphen\"\r\n class=\"form-field__input\"\r\n [type]=\"type\"\r\n [id]=\"name\"\r\n [(ngModel)]=\"value\"\r\n [placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n [mini]=\"mini\"\r\n [maxi]=\"maxi\"\r\n [disabled]=\"disabled\"\r\n [maxlength]=\"maxLength\"\r\n [max]=\"max\"\r\n [step]=\"step\"\r\n (blur)=\"blurChange($event)\"\r\n />\r\n\r\n <div class=\"form-field__input--suffix\" *ngIf=\"type !== 'number'\">\r\n <ng-content select=\"mat-icon\"></ng-content>\r\n <ng-content select=\".suffix\"></ng-content>\r\n </div>\r\n </div>\r\n</ecabs-element-wrapper>\r\n" }]
892
892
  }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.DestroyRef }]; }, propDecorators: { digitsOnly: [{
893
893
  type: Input
894
894
  }], allowDecimal: [{
@@ -1392,7 +1392,7 @@ class EcabsSelectComponent extends EcabsElementBaseComponent {
1392
1392
  useExisting: EcabsSelectComponent,
1393
1393
  multi: true,
1394
1394
  },
1395
- ], viewQueries: [{ propertyName: "allSelected", first: true, predicate: ["allSelected"], descendants: true }, { propertyName: "matSelectSearchComponent", first: true, predicate: MatSelectSearchComponent, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ecabs-element-wrapper [data]=\"getData()\">\r\n <mat-form-field [ngClass]=\"{ disabled: useOnlyDisabledClass }\">\r\n <mat-select class=\"form-field__select\"\r\n [(ngModel)]=\"value\"\r\n (closed)=\"onTouch()\"\r\n [id]=\"name\"\r\n [multiple]=\"multiple\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"placeholder\"\r\n [disableRipple]=\"true\"\r\n (selectionChange)=\"onSelectionChanged($event)\"\r\n [matTooltip]=\"trigger\"\r\n appTooltipIfTruncated\r\n [classNameTruncatedTooltip]=\"'mat-select-value'\">\r\n <mat-select-trigger>\r\n <span>{{ trigger }}</span>\r\n </mat-select-trigger>\r\n\r\n <mat-option *ngIf=\"useSearchOption\">\r\n <ngx-mat-select-search [formControl]=\"itemFilterCtrl\"\r\n [placeholderLabel]=\"searchFieldPlaceholder\"\r\n [noEntriesFoundLabel]=\"noEntriesFoundLabel\">\r\n </ngx-mat-select-search>\r\n </mat-option>\r\n\r\n <mat-option *ngIf=\"useNoneOption\"\r\n (click)=\"toggleNone()\"\r\n (keydown.enter)=\"toggleNone()\">\r\n {{ noneLabel }}\r\n </mat-option>\r\n\r\n <mat-option #allSelected\r\n *ngIf=\"useSelectAllOption && showFilteredAllOption\"\r\n (click)=\"toggleAllSelection()\"\r\n (keydown.enter)=\"toggleAllSelection()\"\r\n [value]=\"selectAllValue\">\r\n {{ allLabel }}\r\n </mat-option>\r\n\r\n <mat-option *ngFor=\"let item of filteredItems$ | async\"\r\n [value]=\"item.value\"\r\n (click)=\"togglePerOne()\"\r\n (keydown.enter)=\"togglePerOne()\"\r\n [matTooltip]=\"item.label\"\r\n appTooltipIfTruncated\r\n [classNameTruncatedTooltip]=\"'mdc-list-item__primary-text'\">\r\n {{ item.label }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n</ecabs-element-wrapper>\r\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: EcabsElementWrapperComponent, selector: "ecabs-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "panelWidth", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "directive", type: i4.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i2.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i1$1.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i5$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i8.MatSelectSearchComponent, selector: "ngx-mat-select-search", inputs: ["placeholderLabel", "type", "closeIcon", "closeSvgIcon", "noEntriesFoundLabel", "clearSearchInput", "searching", "disableInitialFocus", "enableClearOnEscapePressed", "preventHomeEndKeyPropagation", "disableScrollToActiveOnOptionsChanged", "ariaLabel", "showToggleAllCheckbox", "toggleAllCheckboxChecked", "toggleAllCheckboxIndeterminate", "toggleAllCheckboxTooltipMessage", "toggleAllCheckboxTooltipPosition", "hideClearSearchButton", "alwaysRestoreSelectedOptionsMulti"], outputs: ["toggleAll"] }, { kind: "directive", type: i5$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: TooltipIfTruncatedDirective, selector: "[matTooltip][appTooltipIfTruncated]", inputs: ["classNameTruncatedTooltip"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
1395
+ ], viewQueries: [{ propertyName: "allSelected", first: true, predicate: ["allSelected"], descendants: true }, { propertyName: "matSelectSearchComponent", first: true, predicate: MatSelectSearchComponent, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ecabs-element-wrapper [data]=\"getData()\">\r\n <mat-form-field [ngClass]=\"{ disabled: useOnlyDisabledClass }\">\r\n <mat-select class=\"form-field__select\"\r\n [(ngModel)]=\"value\"\r\n (closed)=\"onTouch()\"\r\n [id]=\"name\"\r\n [multiple]=\"multiple\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"placeholder\"\r\n [disableRipple]=\"true\"\r\n (selectionChange)=\"onSelectionChanged($event)\"\r\n [matTooltip]=\"trigger\"\r\n appTooltipIfTruncated\r\n [classNameTruncatedTooltip]=\"'mat-select-value'\">\r\n <mat-select-trigger>\r\n <span>{{ trigger }}</span>\r\n </mat-select-trigger>\r\n\r\n <mat-option *ngIf=\"useSearchOption\">\r\n <ngx-mat-select-search [formControl]=\"itemFilterCtrl\"\r\n [placeholderLabel]=\"searchFieldPlaceholder\"\r\n [noEntriesFoundLabel]=\"noEntriesFoundLabel\">\r\n </ngx-mat-select-search>\r\n </mat-option>\r\n\r\n <mat-option *ngIf=\"useNoneOption\"\r\n (click)=\"toggleNone()\"\r\n (keydown.enter)=\"toggleNone()\">\r\n {{ noneLabel }}\r\n </mat-option>\r\n\r\n <mat-option #allSelected\r\n *ngIf=\"useSelectAllOption && showFilteredAllOption\"\r\n (click)=\"toggleAllSelection()\"\r\n (keydown.enter)=\"toggleAllSelection()\"\r\n [value]=\"selectAllValue\">\r\n {{ allLabel }}\r\n </mat-option>\r\n\r\n <mat-option *ngFor=\"let item of filteredItems$ | async\"\r\n [value]=\"item.value\"\r\n (click)=\"togglePerOne()\"\r\n (keydown.enter)=\"togglePerOne()\"\r\n [matTooltip]=\"item.label\"\r\n appTooltipIfTruncated\r\n [classNameTruncatedTooltip]=\"'mdc-list-item__primary-text'\">\r\n {{ item.label }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n</ecabs-element-wrapper>\r\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: EcabsElementWrapperComponent, selector: "ecabs-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "panelWidth", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "directive", type: i4.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i2.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i1$1.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i5$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i8.MatSelectSearchComponent, selector: "ngx-mat-select-search", inputs: ["placeholderLabel", "type", "closeIcon", "closeSvgIcon", "noEntriesFoundLabel", "clearSearchInput", "searching", "disableInitialFocus", "enableClearOnEscapePressed", "preventHomeEndKeyPropagation", "disableScrollToActiveOnOptionsChanged", "ariaLabel", "showToggleAllCheckbox", "toggleAllCheckboxChecked", "toggleAllCheckboxIndeterminate", "toggleAllCheckboxTooltipMessage", "toggleAllCheckboxTooltipPosition", "hideClearSearchButton", "alwaysRestoreSelectedOptionsMulti", "recreateValuesArray"], outputs: ["toggleAll"] }, { kind: "directive", type: i5$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: TooltipIfTruncatedDirective, selector: "[matTooltip][appTooltipIfTruncated]", inputs: ["classNameTruncatedTooltip"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
1396
1396
  }
1397
1397
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsSelectComponent, decorators: [{
1398
1398
  type: Component,