@alfresco/adf-core 8.1.0-15979090800 → 8.1.0-15991166790

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.
@@ -113,7 +113,7 @@ export class CardViewSelectItemComponent extends BaseCardView {
113
113
  return this.appConfig.get('content-metadata.selectFilterLimit', CardViewSelectItemComponent.HIDE_FILTER_LIMIT);
114
114
  }
115
115
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CardViewSelectItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
116
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CardViewSelectItemComponent, isStandalone: true, selector: "adf-card-view-selectitem", inputs: { options$: "options$", displayNoneOption: "displayNoneOption", displayEmpty: "displayEmpty" }, host: { classAttribute: "adf-card-view-selectitem" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"!property.isEmpty() || isEditable\">\n <div [ngSwitch]=\"templateType\">\n <div *ngSwitchDefault>\n <div *ngIf=\"!isEditable\"\n [attr.data-automation-id]=\"'card-select-label-' + property.key\"\n class=\"adf-property-label\"\n >{{ property.label | translate }}\n </div>\n <div class=\"adf-property-field\">\n <div\n *ngIf=\"!isEditable\"\n class=\"adf-property-value adf-property-read-only\"\n [attr.data-automation-id]=\"'select-readonly-value-' + property.key\"\n data-automation-class=\"read-only-value\"\n >\n {{ property.displayValue | async | translate }}\n </div>\n <div *ngIf=\"isEditable\">\n <mat-form-field class=\"adf-property-value\">\n <mat-label\n [attr.data-automation-id]=\"'card-select-label-' + property.key\"\n class=\"adf-property-label adf-property-value-editable\"\n [ngClass]=\"{\n 'adf-property-readonly-value': isReadonlyProperty\n }\"\n >{{ property.label | translate }}\n </mat-label>\n <mat-select\n [(value)]=\"value\"\n [ngClass]=\"{ 'adf-property-readonly-value': isReadonlyProperty }\"\n panelClass=\"adf-select-filter\"\n (selectionChange)=\"onChange($event)\"\n data-automation-class=\"select-box\"\n [aria-label]=\"property.label | translate\"\n >\n <adf-select-filter-input *ngIf=\"showInputFilter\" (change)=\"onFilterInputChange($event)\" />\n <mat-option *ngIf=\"displayNoneOption\">{{ 'CORE.CARDVIEW.NONE' | translate }}</mat-option>\n <mat-option *ngFor=\"let option of list$ | async\" [value]=\"option.key\">\n {{ option.label | translate }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n </div>\n </div>\n <div *ngSwitchCase=\"'autocompleteBased'\">\n <mat-form-field\n class=\"adf-property-field adf-card-selectitem-autocomplete\"\n [ngClass]=\"{ 'adf-property-read-only': !isEditable }\"\n [floatLabel]=\"property.default ? 'always' : null\"\n >\n <mat-label\n *ngIf=\"showProperty || isEditable\"\n [attr.data-automation-id]=\"'card-autocomplete-based-selectitem-label-' + property.key\"\n class=\"adf-property-label\"\n [ngClass]=\"{\n 'adf-property-value-editable': isEditable,\n 'adf-property-readonly-value': isReadonlyProperty\n }\"\n >\n {{ property.label | translate }}\n </mat-label>\n <input\n matInput\n [matAutocomplete]=\"auto\"\n class=\"adf-property-value\"\n [ngClass]=\"{\n 'adf-property-value-editable': isEditable,\n 'adf-property-readonly-value': isReadonlyProperty\n }\"\n title=\"{{ property.label | translate }}\"\n [placeholder]=\"property.default\"\n [attr.aria-label]=\"property.label | translate\"\n [formControl]=\"autocompleteControl\"\n [title]=\"'CORE.METADATA.ACTIONS.COPY_TO_CLIPBOARD' | translate\"\n [attr.data-automation-id]=\"'card-autocomplete-based-selectitem-value-' + property.key\"\n />\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\" (optionSelected)=\"onOptionSelected($event)\">\n <mat-option\n *ngFor=\"let option of property.options$ | async\"\n [value]=\"option.key\"\n [attr.data-automation-id]=\"'card-autocomplete-based-selectitem-option-' + property.key\"\n >\n {{ option.label }}\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n </div>\n </div>\n</ng-container>\n", styles: [".adf-card-view-selectitem .adf-property-value{width:100%}.adf-card-view-selectitem .adf-select-filter-input{background:var(--adf-theme-background-card-color);position:sticky;top:0;left:0;right:0;z-index:1}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable{padding-left:0}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable .mdc-text-field--no-label .mat-mdc-form-field-infix{padding:0}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable .mat-mdc-text-field-wrapper{background-color:unset}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable .mat-mdc-select{margin-top:0;border-radius:6px}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable .mat-mdc-select .mat-mdc-select-value{color:var(--adf-metadata-action-button-clear-color)}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable .mat-mdc-select .mat-mdc-select-trigger{padding-left:6px;padding-right:6px}.adf-card-view-selectitem .adf-card-selectitem-autocomplete .adf-property-value-editable{padding-left:10px}.adf-card-view-selectitem .mat-mdc-form-field-subscript-wrapper{display:none}.adf-card-view-selectitem .adf-property-read-only{padding:6px 0;border-bottom:1px solid var(--adf-metadata-property-panel-border-color);color:var(--adf-metadata-property-panel-title-color)}.adf-card-view-selectitem .mdc-line-ripple{display:none}.adf-card-view-selectitem .adf-property-readonly-value{color:var(--adf-metadata-property-panel-label-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i3.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i4.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: SelectFilterInputComponent, selector: "adf-select-filter-input", outputs: ["change"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i5.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i5.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i7.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: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], encapsulation: i0.ViewEncapsulation.None }); }
116
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CardViewSelectItemComponent, isStandalone: true, selector: "adf-card-view-selectitem", inputs: { options$: "options$", displayNoneOption: "displayNoneOption", displayEmpty: "displayEmpty" }, host: { classAttribute: "adf-card-view-selectitem" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"!property.isEmpty() || isEditable\">\n <div [ngSwitch]=\"templateType\">\n <div *ngSwitchDefault>\n <div *ngIf=\"!isEditable\"\n [attr.data-automation-id]=\"'card-select-label-' + property.key\"\n class=\"adf-property-label adf-property-label-non-editable\"\n >{{ property.label | translate }}\n </div>\n <div class=\"adf-property-field\">\n <div\n *ngIf=\"!isEditable\"\n class=\"adf-property-value adf-property-read-only\"\n [attr.data-automation-id]=\"'select-readonly-value-' + property.key\"\n data-automation-class=\"read-only-value\"\n [title]=\"property.displayValue | async | translate\"\n >\n {{ property.displayValue | async | translate }}\n </div>\n <div *ngIf=\"isEditable\">\n <mat-form-field class=\"adf-property-value\">\n <mat-label\n [attr.data-automation-id]=\"'card-select-label-' + property.key\"\n class=\"adf-property-label adf-property-value-editable\"\n [ngClass]=\"{\n 'adf-property-readonly-value': isReadonlyProperty\n }\"\n >{{ property.label | translate }}\n </mat-label>\n <mat-select\n [(value)]=\"value\"\n [ngClass]=\"{ 'adf-property-readonly-value': isReadonlyProperty }\"\n panelClass=\"adf-select-filter\"\n (selectionChange)=\"onChange($event)\"\n data-automation-class=\"select-box\"\n [aria-label]=\"property.label | translate\"\n >\n <adf-select-filter-input *ngIf=\"showInputFilter\" (change)=\"onFilterInputChange($event)\" />\n <mat-option *ngIf=\"displayNoneOption\">{{ 'CORE.CARDVIEW.NONE' | translate }}</mat-option>\n <mat-option *ngFor=\"let option of list$ | async\" [value]=\"option.key\">\n {{ option.label | translate }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n </div>\n </div>\n <div *ngSwitchCase=\"'autocompleteBased'\">\n <mat-form-field\n class=\"adf-property-field adf-card-selectitem-autocomplete\"\n [ngClass]=\"{ 'adf-property-read-only': !isEditable }\"\n [floatLabel]=\"property.default ? 'always' : null\"\n >\n <mat-label\n *ngIf=\"showProperty || isEditable\"\n [attr.data-automation-id]=\"'card-autocomplete-based-selectitem-label-' + property.key\"\n class=\"adf-property-label\"\n [ngClass]=\"{\n 'adf-property-value-editable': isEditable,\n 'adf-property-readonly-value': isReadonlyProperty\n }\"\n >\n {{ property.label | translate }}\n </mat-label>\n <input\n matInput\n [matAutocomplete]=\"auto\"\n class=\"adf-property-value\"\n [ngClass]=\"{\n 'adf-property-value-editable': isEditable,\n 'adf-property-readonly-value': isReadonlyProperty\n }\"\n title=\"{{ property.label | translate }}\"\n [placeholder]=\"property.default\"\n [attr.aria-label]=\"property.label | translate\"\n [formControl]=\"autocompleteControl\"\n [title]=\"'CORE.METADATA.ACTIONS.COPY_TO_CLIPBOARD' | translate\"\n [attr.data-automation-id]=\"'card-autocomplete-based-selectitem-value-' + property.key\"\n />\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\" (optionSelected)=\"onOptionSelected($event)\">\n <mat-option\n *ngFor=\"let option of property.options$ | async\"\n [value]=\"option.key\"\n [attr.data-automation-id]=\"'card-autocomplete-based-selectitem-option-' + property.key\"\n >\n {{ option.label }}\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n </div>\n </div>\n</ng-container>\n", styles: [".adf-card-view-selectitem .adf-property-value{width:100%}.adf-card-view-selectitem .adf-select-filter-input{background:var(--adf-theme-background-card-color);position:sticky;top:0;left:0;right:0;z-index:1}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable{padding-left:0}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable .mdc-text-field--no-label .mat-mdc-form-field-infix{padding:0}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable .mat-mdc-text-field-wrapper{background-color:unset}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable .mat-mdc-select{margin-top:0;border-radius:6px}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable .mat-mdc-select .mat-mdc-select-value{color:var(--adf-metadata-action-button-clear-color)}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable .mat-mdc-select .mat-mdc-select-trigger{padding-left:6px;padding-right:6px}.adf-card-view-selectitem .adf-card-selectitem-autocomplete .adf-property-value-editable{padding-left:10px}.adf-card-view-selectitem .mat-mdc-form-field-subscript-wrapper{display:none}.adf-card-view-selectitem .adf-property-read-only{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;cursor:default;padding:6px 0;border-bottom:1px solid var(--adf-metadata-property-panel-border-color);color:var(--adf-metadata-property-panel-title-color)}.adf-card-view-selectitem .mdc-line-ripple{display:none}.adf-card-view-selectitem .adf-property-readonly-value{color:var(--adf-metadata-property-panel-label-color)}.adf-card-view-selectitem .adf-property-label-non-editable{cursor:default;font-size:10px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i3.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i4.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: SelectFilterInputComponent, selector: "adf-select-filter-input", outputs: ["change"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i5.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i5.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i7.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: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], encapsulation: i0.ViewEncapsulation.None }); }
117
117
  }
118
118
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CardViewSelectItemComponent, decorators: [{
119
119
  type: Component,
@@ -126,7 +126,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
126
126
  MatAutocompleteModule,
127
127
  MatInputModule,
128
128
  ReactiveFormsModule
129
- ], encapsulation: ViewEncapsulation.None, host: { class: 'adf-card-view-selectitem' }, template: "<ng-container *ngIf=\"!property.isEmpty() || isEditable\">\n <div [ngSwitch]=\"templateType\">\n <div *ngSwitchDefault>\n <div *ngIf=\"!isEditable\"\n [attr.data-automation-id]=\"'card-select-label-' + property.key\"\n class=\"adf-property-label\"\n >{{ property.label | translate }}\n </div>\n <div class=\"adf-property-field\">\n <div\n *ngIf=\"!isEditable\"\n class=\"adf-property-value adf-property-read-only\"\n [attr.data-automation-id]=\"'select-readonly-value-' + property.key\"\n data-automation-class=\"read-only-value\"\n >\n {{ property.displayValue | async | translate }}\n </div>\n <div *ngIf=\"isEditable\">\n <mat-form-field class=\"adf-property-value\">\n <mat-label\n [attr.data-automation-id]=\"'card-select-label-' + property.key\"\n class=\"adf-property-label adf-property-value-editable\"\n [ngClass]=\"{\n 'adf-property-readonly-value': isReadonlyProperty\n }\"\n >{{ property.label | translate }}\n </mat-label>\n <mat-select\n [(value)]=\"value\"\n [ngClass]=\"{ 'adf-property-readonly-value': isReadonlyProperty }\"\n panelClass=\"adf-select-filter\"\n (selectionChange)=\"onChange($event)\"\n data-automation-class=\"select-box\"\n [aria-label]=\"property.label | translate\"\n >\n <adf-select-filter-input *ngIf=\"showInputFilter\" (change)=\"onFilterInputChange($event)\" />\n <mat-option *ngIf=\"displayNoneOption\">{{ 'CORE.CARDVIEW.NONE' | translate }}</mat-option>\n <mat-option *ngFor=\"let option of list$ | async\" [value]=\"option.key\">\n {{ option.label | translate }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n </div>\n </div>\n <div *ngSwitchCase=\"'autocompleteBased'\">\n <mat-form-field\n class=\"adf-property-field adf-card-selectitem-autocomplete\"\n [ngClass]=\"{ 'adf-property-read-only': !isEditable }\"\n [floatLabel]=\"property.default ? 'always' : null\"\n >\n <mat-label\n *ngIf=\"showProperty || isEditable\"\n [attr.data-automation-id]=\"'card-autocomplete-based-selectitem-label-' + property.key\"\n class=\"adf-property-label\"\n [ngClass]=\"{\n 'adf-property-value-editable': isEditable,\n 'adf-property-readonly-value': isReadonlyProperty\n }\"\n >\n {{ property.label | translate }}\n </mat-label>\n <input\n matInput\n [matAutocomplete]=\"auto\"\n class=\"adf-property-value\"\n [ngClass]=\"{\n 'adf-property-value-editable': isEditable,\n 'adf-property-readonly-value': isReadonlyProperty\n }\"\n title=\"{{ property.label | translate }}\"\n [placeholder]=\"property.default\"\n [attr.aria-label]=\"property.label | translate\"\n [formControl]=\"autocompleteControl\"\n [title]=\"'CORE.METADATA.ACTIONS.COPY_TO_CLIPBOARD' | translate\"\n [attr.data-automation-id]=\"'card-autocomplete-based-selectitem-value-' + property.key\"\n />\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\" (optionSelected)=\"onOptionSelected($event)\">\n <mat-option\n *ngFor=\"let option of property.options$ | async\"\n [value]=\"option.key\"\n [attr.data-automation-id]=\"'card-autocomplete-based-selectitem-option-' + property.key\"\n >\n {{ option.label }}\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n </div>\n </div>\n</ng-container>\n", styles: [".adf-card-view-selectitem .adf-property-value{width:100%}.adf-card-view-selectitem .adf-select-filter-input{background:var(--adf-theme-background-card-color);position:sticky;top:0;left:0;right:0;z-index:1}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable{padding-left:0}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable .mdc-text-field--no-label .mat-mdc-form-field-infix{padding:0}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable .mat-mdc-text-field-wrapper{background-color:unset}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable .mat-mdc-select{margin-top:0;border-radius:6px}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable .mat-mdc-select .mat-mdc-select-value{color:var(--adf-metadata-action-button-clear-color)}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable .mat-mdc-select .mat-mdc-select-trigger{padding-left:6px;padding-right:6px}.adf-card-view-selectitem .adf-card-selectitem-autocomplete .adf-property-value-editable{padding-left:10px}.adf-card-view-selectitem .mat-mdc-form-field-subscript-wrapper{display:none}.adf-card-view-selectitem .adf-property-read-only{padding:6px 0;border-bottom:1px solid var(--adf-metadata-property-panel-border-color);color:var(--adf-metadata-property-panel-title-color)}.adf-card-view-selectitem .mdc-line-ripple{display:none}.adf-card-view-selectitem .adf-property-readonly-value{color:var(--adf-metadata-property-panel-label-color)}\n"] }]
129
+ ], encapsulation: ViewEncapsulation.None, host: { class: 'adf-card-view-selectitem' }, template: "<ng-container *ngIf=\"!property.isEmpty() || isEditable\">\n <div [ngSwitch]=\"templateType\">\n <div *ngSwitchDefault>\n <div *ngIf=\"!isEditable\"\n [attr.data-automation-id]=\"'card-select-label-' + property.key\"\n class=\"adf-property-label adf-property-label-non-editable\"\n >{{ property.label | translate }}\n </div>\n <div class=\"adf-property-field\">\n <div\n *ngIf=\"!isEditable\"\n class=\"adf-property-value adf-property-read-only\"\n [attr.data-automation-id]=\"'select-readonly-value-' + property.key\"\n data-automation-class=\"read-only-value\"\n [title]=\"property.displayValue | async | translate\"\n >\n {{ property.displayValue | async | translate }}\n </div>\n <div *ngIf=\"isEditable\">\n <mat-form-field class=\"adf-property-value\">\n <mat-label\n [attr.data-automation-id]=\"'card-select-label-' + property.key\"\n class=\"adf-property-label adf-property-value-editable\"\n [ngClass]=\"{\n 'adf-property-readonly-value': isReadonlyProperty\n }\"\n >{{ property.label | translate }}\n </mat-label>\n <mat-select\n [(value)]=\"value\"\n [ngClass]=\"{ 'adf-property-readonly-value': isReadonlyProperty }\"\n panelClass=\"adf-select-filter\"\n (selectionChange)=\"onChange($event)\"\n data-automation-class=\"select-box\"\n [aria-label]=\"property.label | translate\"\n >\n <adf-select-filter-input *ngIf=\"showInputFilter\" (change)=\"onFilterInputChange($event)\" />\n <mat-option *ngIf=\"displayNoneOption\">{{ 'CORE.CARDVIEW.NONE' | translate }}</mat-option>\n <mat-option *ngFor=\"let option of list$ | async\" [value]=\"option.key\">\n {{ option.label | translate }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n </div>\n </div>\n <div *ngSwitchCase=\"'autocompleteBased'\">\n <mat-form-field\n class=\"adf-property-field adf-card-selectitem-autocomplete\"\n [ngClass]=\"{ 'adf-property-read-only': !isEditable }\"\n [floatLabel]=\"property.default ? 'always' : null\"\n >\n <mat-label\n *ngIf=\"showProperty || isEditable\"\n [attr.data-automation-id]=\"'card-autocomplete-based-selectitem-label-' + property.key\"\n class=\"adf-property-label\"\n [ngClass]=\"{\n 'adf-property-value-editable': isEditable,\n 'adf-property-readonly-value': isReadonlyProperty\n }\"\n >\n {{ property.label | translate }}\n </mat-label>\n <input\n matInput\n [matAutocomplete]=\"auto\"\n class=\"adf-property-value\"\n [ngClass]=\"{\n 'adf-property-value-editable': isEditable,\n 'adf-property-readonly-value': isReadonlyProperty\n }\"\n title=\"{{ property.label | translate }}\"\n [placeholder]=\"property.default\"\n [attr.aria-label]=\"property.label | translate\"\n [formControl]=\"autocompleteControl\"\n [title]=\"'CORE.METADATA.ACTIONS.COPY_TO_CLIPBOARD' | translate\"\n [attr.data-automation-id]=\"'card-autocomplete-based-selectitem-value-' + property.key\"\n />\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\" (optionSelected)=\"onOptionSelected($event)\">\n <mat-option\n *ngFor=\"let option of property.options$ | async\"\n [value]=\"option.key\"\n [attr.data-automation-id]=\"'card-autocomplete-based-selectitem-option-' + property.key\"\n >\n {{ option.label }}\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n </div>\n </div>\n</ng-container>\n", styles: [".adf-card-view-selectitem .adf-property-value{width:100%}.adf-card-view-selectitem .adf-select-filter-input{background:var(--adf-theme-background-card-color);position:sticky;top:0;left:0;right:0;z-index:1}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable{padding-left:0}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable .mdc-text-field--no-label .mat-mdc-form-field-infix{padding:0}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable .mat-mdc-text-field-wrapper{background-color:unset}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable .mat-mdc-select{margin-top:0;border-radius:6px}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable .mat-mdc-select .mat-mdc-select-value{color:var(--adf-metadata-action-button-clear-color)}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable .mat-mdc-select .mat-mdc-select-trigger{padding-left:6px;padding-right:6px}.adf-card-view-selectitem .adf-card-selectitem-autocomplete .adf-property-value-editable{padding-left:10px}.adf-card-view-selectitem .mat-mdc-form-field-subscript-wrapper{display:none}.adf-card-view-selectitem .adf-property-read-only{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;cursor:default;padding:6px 0;border-bottom:1px solid var(--adf-metadata-property-panel-border-color);color:var(--adf-metadata-property-panel-title-color)}.adf-card-view-selectitem .mdc-line-ripple{display:none}.adf-card-view-selectitem .adf-property-readonly-value{color:var(--adf-metadata-property-panel-label-color)}.adf-card-view-selectitem .adf-property-label-non-editable{cursor:default;font-size:10px}\n"] }]
130
130
  }], propDecorators: { options$: [{
131
131
  type: Input
132
132
  }], displayNoneOption: [{
@@ -134,4 +134,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
134
134
  }], displayEmpty: [{
135
135
  type: Input
136
136
  }] } });
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC12aWV3LXNlbGVjdGl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9jYXJkLXZpZXcvY29tcG9uZW50cy9jYXJkLXZpZXctc2VsZWN0aXRlbS9jYXJkLXZpZXctc2VsZWN0aXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2NhcmQtdmlldy9jb21wb25lbnRzL2NhcmQtdmlldy1zZWxlY3RpdGVtL2NhcmQtdmlldy1zZWxlY3RpdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsaUJBQWlCLEVBQWlCLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxSCxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFbEUsT0FBTyxFQUFtQixlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFD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TixpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgaW5qZWN0LCBWaWV3RW5jYXBzdWxhdGlvbiwgU2ltcGxlQ2hhbmdlcywgRGVzdHJveVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2FyZFZpZXdTZWxlY3RJdGVtTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvY2FyZC12aWV3LXNlbGVjdGl0ZW0ubW9kZWwnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDYXJkVmlld1NlbGVjdEl0ZW1PcHRpb24gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2NhcmQtdmlldy5pbnRlcmZhY2VzJztcbmltcG9ydCB7IE1hdFNlbGVjdENoYW5nZSwgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7IEJhc2VDYXJkVmlldyB9IGZyb20gJy4uL2Jhc2UtY2FyZC12aWV3JztcbmltcG9ydCB7IEFwcENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9hcHAtY29uZmlnL2FwcC1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBtYXAsIGRlYm91bmNlVGltZSwgZmlsdGVyLCBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IFNlbGVjdEZpbHRlcklucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3QtZmlsdGVyLWlucHV0L3NlbGVjdC1maWx0ZXItaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZU1vZHVsZSwgTWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUsIFVudHlwZWRGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtY2FyZC12aWV3LXNlbGVjdGl0ZW0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFRyYW5zbGF0ZVBpcGUsXG4gICAgICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICAgICAgTWF0U2VsZWN0TW9kdWxlLFxuICAgICAgICBTZWxlY3RGaWx0ZXJJbnB1dENvbXBvbmVudCxcbiAgICAgICAgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLFxuICAgICAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZVxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NhcmQtdmlldy1zZWxlY3RpdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jYXJkLXZpZXctc2VsZWN0aXRlbS5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgaG9zdDogeyBjbGFzczogJ2FkZi1jYXJkLXZpZXctc2VsZWN0aXRlbScgfVxufSlcbmV4cG9ydCBjbGFzcyBDYXJkVmlld1NlbGVjdEl0ZW1Db21wb25lbnQgZXh0ZW5kcyBCYXNlQ2FyZFZpZXc8Q2FyZFZpZXdTZWxlY3RJdGVtTW9kZWw8c3RyaW5nIHwgbnVtYmVyPj4gaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgcHJpdmF0ZSBhcHBDb25maWcgPSBpbmplY3QoQXBwQ29uZmlnU2VydmljZSk7XG4gICAgc3RhdGljIEhJREVfRklMVEVSX0xJTUlUID0gNTtcblxuICAgIEBJbnB1dCgpIG9wdGlvbnMkOiBPYnNlcnZhYmxlPENhcmRWaWV3U2VsZWN0SXRlbU9wdGlvbjxzdHJpbmcgfCBudW1iZXI+W10+O1xuXG4gICAgQElucHV0KClcbiAgICBkaXNwbGF5Tm9uZU9wdGlvbjogYm9vbGVhbiA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIGRpc3BsYXlFbXB0eTogYm9vbGVhbiA9IHRydWU7XG5cbiAgICB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyO1xuICAgIGZpbHRlciQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICAgIHNob3dJbnB1dEZpbHRlcjogYm9vbGVhbiA9IGZhbHNlO1xuICAgIGxpc3QkOiBPYnNlcnZhYmxlPENhcmRWaWV3U2VsZWN0SXRlbU9wdGlvbjxzdHJpbmcgfCBudW1iZXI+W10+ID0gbnVsbDtcbiAgICB0ZW1wbGF0ZVR5cGUgPSAnJztcbiAgICBhdXRvY29tcGxldGVDb250cm9sID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbCgpO1xuICAgIGVkaXRlZFZhbHVlOiBzdHJpbmcgfCBudW1iZXI7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLnByb3BlcnR5LnZhbHVlO1xuICAgICAgICBpZiAoY2hhbmdlcy5wcm9wZXJ0eT8uZmlyc3RDaGFuZ2UpIHtcbiAgICAgICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlQ29udHJvbC52YWx1ZUNoYW5nZXNcbiAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyKCh0ZXh0SW5wdXRWYWx1ZSkgPT4gdGV4dElucHV0VmFsdWUgIT09IHRoaXMuZWRpdGVkVmFsdWUgJiYgdGV4dElucHV0VmFsdWUgIT09IG51bGwpLFxuICAgICAgICAgICAgICAgICAgICBkZWJvdW5jZVRpbWUoNTApLFxuICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCh0ZXh0SW5wdXRWYWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVkaXRlZFZhbHVlID0gdGV4dElucHV0VmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2FyZFZpZXdVcGRhdGVTZXJ2aWNlLmF1dG9jb21wbGV0ZUlucHV0VmFsdWUkLm5leHQodGV4dElucHV0VmFsdWUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNoYW5nZXMuZWRpdGFibGUpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzRWRpdGFibGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZUNvbnRyb2wuZW5hYmxlKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlQ29udHJvbC5kaXNhYmxlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMucHJvcGVydHkuYXV0b2NvbXBsZXRlQmFzZWQpIHtcbiAgICAgICAgICAgIHRoaXMudGVtcGxhdGVUeXBlID0gJ2F1dG9jb21wbGV0ZUJhc2VkJztcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZ2V0T3B0aW9ucygpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKG9wdGlvbnMpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dJbnB1dEZpbHRlciA9IG9wdGlvbnMubGVuZ3RoID4gdGhpcy5vcHRpb25zTGltaXQ7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmxpc3QkID0gdGhpcy5nZXRMaXN0KCk7XG4gICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlQ29udHJvbC5zZXRWYWx1ZSh0aGlzLnByb3BlcnR5LnZhbHVlKTtcbiAgICB9XG5cbiAgICBvbkZpbHRlcklucHV0Q2hhbmdlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5maWx0ZXIkLm5leHQodmFsdWUudG9TdHJpbmcoKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRPcHRpb25zKCk6IE9ic2VydmFibGU8Q2FyZFZpZXdTZWxlY3RJdGVtT3B0aW9uPHN0cmluZyB8IG51bWJlcj5bXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zJCB8fCB0aGlzLnByb3BlcnR5Lm9wdGlvbnMkO1xuICAgIH1cblxuICAgIGdldExpc3QoKTogT2JzZXJ2YWJsZTxDYXJkVmlld1NlbGVjdEl0ZW1PcHRpb248c3RyaW5nIHwgbnVtYmVyPltdPiB7XG4gICAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFt0aGlzLmdldE9wdGlvbnMoKSwgdGhpcy5maWx0ZXIkXSkucGlwZShcbiAgICAgICAgICAgIG1hcCgoW2l0ZW1zLCBzZWFyY2hUZXJtXSkgPT4gaXRlbXMuZmlsdGVyKChpdGVtKSA9PiAoZmlsdGVyID8gaXRlbS5sYWJlbC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFRlcm0udG9Mb3dlckNhc2UoKSkgOiB0cnVlKSkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgb25PcHRpb25TZWxlY3RlZChldmVudDogTWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCkge1xuICAgICAgICB0aGlzLmdldE9wdGlvbnMoKVxuICAgICAgICAgICAgLnBpcGUoZmlyc3QoKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKG9wdGlvbnMpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZE9wdGlvbiA9IG9wdGlvbnMuZmluZCgob3B0aW9uKSA9PiBvcHRpb24ua2V5ID09PSBldmVudC5vcHRpb24udmFsdWUpO1xuICAgICAgICAgICAgICAgIGlmIChzZWxlY3RlZE9wdGlvbikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZUNvbnRyb2wuc2V0VmFsdWUoc2VsZWN0ZWRPcHRpb24ubGFiZWwpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNhcmRWaWV3VXBkYXRlU2VydmljZS51cGRhdGUoeyAuLi50aGlzLnByb3BlcnR5IH0gYXMgQ2FyZFZpZXdTZWxlY3RJdGVtTW9kZWw8c3RyaW5nPiwgc2VsZWN0ZWRPcHRpb24ua2V5KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkNoYW5nZShldmVudDogTWF0U2VsZWN0Q2hhbmdlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkT3B0aW9uID0gZXZlbnQudmFsdWUgIT09IHVuZGVmaW5lZCA/IGV2ZW50LnZhbHVlIDogbnVsbDtcbiAgICAgICAgdGhpcy5jYXJkVmlld1VwZGF0ZVNlcnZpY2UudXBkYXRlKHsgLi4udGhpcy5wcm9wZXJ0eSB9IGFzIENhcmRWaWV3U2VsZWN0SXRlbU1vZGVsPHN0cmluZz4sIHNlbGVjdGVkT3B0aW9uKTtcbiAgICAgICAgdGhpcy5wcm9wZXJ0eS52YWx1ZSA9IHNlbGVjdGVkT3B0aW9uO1xuICAgIH1cblxuICAgIGdldCBzaG93UHJvcGVydHkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRpc3BsYXlFbXB0eSB8fCAhdGhpcy5wcm9wZXJ0eS5pc0VtcHR5KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgb3B0aW9uc0xpbWl0KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwcENvbmZpZy5nZXQ8bnVtYmVyPignY29udGVudC1tZXRhZGF0YS5zZWxlY3RGaWx0ZXJMaW1pdCcsIENhcmRWaWV3U2VsZWN0SXRlbUNvbXBvbmVudC5ISURFX0ZJTFRFUl9MSU1JVCk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFwcm9wZXJ0eS5pc0VtcHR5KCkgfHwgaXNFZGl0YWJsZVwiPlxuICAgIDxkaXYgW25nU3dpdGNoXT1cInRlbXBsYXRlVHlwZVwiPlxuICAgICAgICA8ZGl2ICpuZ1N3aXRjaERlZmF1bHQ+XG4gICAgICAgIDxkaXYgKm5nSWY9XCIhaXNFZGl0YWJsZVwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiJ2NhcmQtc2VsZWN0LWxhYmVsLScgKyBwcm9wZXJ0eS5rZXlcIlxuICAgICAgICAgICAgY2xhc3M9XCJhZGYtcHJvcGVydHktbGFiZWxcIlxuICAgICAgICAgICAgPnt7IHByb3BlcnR5LmxhYmVsIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1wcm9wZXJ0eS1maWVsZFwiPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhaXNFZGl0YWJsZVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLXByb3BlcnR5LXZhbHVlIGFkZi1wcm9wZXJ0eS1yZWFkLW9ubHlcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiJ3NlbGVjdC1yZWFkb25seS12YWx1ZS0nICsgcHJvcGVydHkua2V5XCJcbiAgICAgICAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWNsYXNzPVwicmVhZC1vbmx5LXZhbHVlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7IHByb3BlcnR5LmRpc3BsYXlWYWx1ZSB8IGFzeW5jIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImlzRWRpdGFibGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiYWRmLXByb3BlcnR5LXZhbHVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1hdXRvbWF0aW9uLWlkXT1cIidjYXJkLXNlbGVjdC1sYWJlbC0nICsgcHJvcGVydHkua2V5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1wcm9wZXJ0eS1sYWJlbCBhZGYtcHJvcGVydHktdmFsdWUtZWRpdGFibGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FkZi1wcm9wZXJ0eS1yZWFkb25seS12YWx1ZSc6IGlzUmVhZG9ubHlQcm9wZXJ0eVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID57eyBwcm9wZXJ0eS5sYWJlbCB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsodmFsdWUpXT1cInZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdhZGYtcHJvcGVydHktcmVhZG9ubHktdmFsdWUnOiBpc1JlYWRvbmx5UHJvcGVydHkgfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFuZWxDbGFzcz1cImFkZi1zZWxlY3QtZmlsdGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYXV0b21hdGlvbi1jbGFzcz1cInNlbGVjdC1ib3hcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcmlhLWxhYmVsXT1cInByb3BlcnR5LmxhYmVsIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YWRmLXNlbGVjdC1maWx0ZXItaW5wdXQgKm5nSWY9XCJzaG93SW5wdXRGaWx0ZXJcIiAoY2hhbmdlKT1cIm9uRmlsdGVySW5wdXRDaGFuZ2UoJGV2ZW50KVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nSWY9XCJkaXNwbGF5Tm9uZU9wdGlvblwiPnt7ICdDT1JFLkNBUkRWSUVXLk5PTkUnIHwgdHJhbnNsYXRlIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgbGlzdCQgfCBhc3luY1wiIFt2YWx1ZV09XCJvcHRpb24ua2V5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IG9wdGlvbi5sYWJlbCB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiJ2F1dG9jb21wbGV0ZUJhc2VkJ1wiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtcHJvcGVydHktZmllbGQgYWRmLWNhcmQtc2VsZWN0aXRlbS1hdXRvY29tcGxldGVcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2FkZi1wcm9wZXJ0eS1yZWFkLW9ubHknOiAhaXNFZGl0YWJsZSB9XCJcbiAgICAgICAgICAgICAgICBbZmxvYXRMYWJlbF09XCJwcm9wZXJ0eS5kZWZhdWx0ID8gJ2Fsd2F5cycgOiBudWxsXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwic2hvd1Byb3BlcnR5IHx8IGlzRWRpdGFibGVcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiJ2NhcmQtYXV0b2NvbXBsZXRlLWJhc2VkLXNlbGVjdGl0ZW0tbGFiZWwtJyArIHByb3BlcnR5LmtleVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLXByb3BlcnR5LWxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgJ2FkZi1wcm9wZXJ0eS12YWx1ZS1lZGl0YWJsZSc6IGlzRWRpdGFibGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAnYWRmLXByb3BlcnR5LXJlYWRvbmx5LXZhbHVlJzogaXNSZWFkb25seVByb3BlcnR5XG4gICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgcHJvcGVydHkubGFiZWwgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgW21hdEF1dG9jb21wbGV0ZV09XCJhdXRvXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtcHJvcGVydHktdmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAnYWRmLXByb3BlcnR5LXZhbHVlLWVkaXRhYmxlJzogaXNFZGl0YWJsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICdhZGYtcHJvcGVydHktcmVhZG9ubHktdmFsdWUnOiBpc1JlYWRvbmx5UHJvcGVydHlcbiAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlPVwie3sgcHJvcGVydHkubGFiZWwgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicHJvcGVydHkuZGVmYXVsdFwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwicHJvcGVydHkubGFiZWwgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiYXV0b2NvbXBsZXRlQ29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCInQ09SRS5NRVRBREFUQS5BQ1RJT05TLkNPUFlfVE9fQ0xJUEJPQVJEJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtYXV0b21hdGlvbi1pZF09XCInY2FyZC1hdXRvY29tcGxldGUtYmFzZWQtc2VsZWN0aXRlbS12YWx1ZS0nICsgcHJvcGVydHkua2V5XCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxtYXQtYXV0b2NvbXBsZXRlIGF1dG9BY3RpdmVGaXJzdE9wdGlvbiAjYXV0bz1cIm1hdEF1dG9jb21wbGV0ZVwiIChvcHRpb25TZWxlY3RlZCk9XCJvbk9wdGlvblNlbGVjdGVkKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgcHJvcGVydHkub3B0aW9ucyQgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uLmtleVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiJ2NhcmQtYXV0b2NvbXBsZXRlLWJhc2VkLXNlbGVjdGl0ZW0tb3B0aW9uLScgKyBwcm9wZXJ0eS5rZXlcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBvcHRpb24ubGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LWF1dG9jb21wbGV0ZT5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC12aWV3LXNlbGVjdGl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9jYXJkLXZpZXcvY29tcG9uZW50cy9jYXJkLXZpZXctc2VsZWN0aXRlbS9jYXJkLXZpZXctc2VsZWN0aXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2NhcmQtdmlldy9jb21wb25lbnRzL2NhcmQtdmlldy1zZWxlY3RpdGVtL2NhcmQtdmlldy1zZWxlY3RpdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsaUJBQWlCLEVBQWlCLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxSCxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFbEUsT0FBTyxFQUFtQixlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFD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TixpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgaW5qZWN0LCBWaWV3RW5jYXBzdWxhdGlvbiwgU2ltcGxlQ2hhbmdlcywgRGVzdHJveVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2FyZFZpZXdTZWxlY3RJdGVtTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvY2FyZC12aWV3LXNlbGVjdGl0ZW0ubW9kZWwnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDYXJkVmlld1NlbGVjdEl0ZW1PcHRpb24gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2NhcmQtdmlldy5pbnRlcmZhY2VzJztcbmltcG9ydCB7IE1hdFNlbGVjdENoYW5nZSwgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7IEJhc2VDYXJkVmlldyB9IGZyb20gJy4uL2Jhc2UtY2FyZC12aWV3JztcbmltcG9ydCB7IEFwcENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9hcHAtY29uZmlnL2FwcC1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBtYXAsIGRlYm91bmNlVGltZSwgZmlsdGVyLCBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IFNlbGVjdEZpbHRlcklucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3QtZmlsdGVyLWlucHV0L3NlbGVjdC1maWx0ZXItaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZU1vZHVsZSwgTWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUsIFVudHlwZWRGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtY2FyZC12aWV3LXNlbGVjdGl0ZW0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFRyYW5zbGF0ZVBpcGUsXG4gICAgICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICAgICAgTWF0U2VsZWN0TW9kdWxlLFxuICAgICAgICBTZWxlY3RGaWx0ZXJJbnB1dENvbXBvbmVudCxcbiAgICAgICAgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLFxuICAgICAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZVxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NhcmQtdmlldy1zZWxlY3RpdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jYXJkLXZpZXctc2VsZWN0aXRlbS5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgaG9zdDogeyBjbGFzczogJ2FkZi1jYXJkLXZpZXctc2VsZWN0aXRlbScgfVxufSlcbmV4cG9ydCBjbGFzcyBDYXJkVmlld1NlbGVjdEl0ZW1Db21wb25lbnQgZXh0ZW5kcyBCYXNlQ2FyZFZpZXc8Q2FyZFZpZXdTZWxlY3RJdGVtTW9kZWw8c3RyaW5nIHwgbnVtYmVyPj4gaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgcHJpdmF0ZSBhcHBDb25maWcgPSBpbmplY3QoQXBwQ29uZmlnU2VydmljZSk7XG4gICAgc3RhdGljIEhJREVfRklMVEVSX0xJTUlUID0gNTtcblxuICAgIEBJbnB1dCgpIG9wdGlvbnMkOiBPYnNlcnZhYmxlPENhcmRWaWV3U2VsZWN0SXRlbU9wdGlvbjxzdHJpbmcgfCBudW1iZXI+W10+O1xuXG4gICAgQElucHV0KClcbiAgICBkaXNwbGF5Tm9uZU9wdGlvbjogYm9vbGVhbiA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIGRpc3BsYXlFbXB0eTogYm9vbGVhbiA9IHRydWU7XG5cbiAgICB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyO1xuICAgIGZpbHRlciQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICAgIHNob3dJbnB1dEZpbHRlcjogYm9vbGVhbiA9IGZhbHNlO1xuICAgIGxpc3QkOiBPYnNlcnZhYmxlPENhcmRWaWV3U2VsZWN0SXRlbU9wdGlvbjxzdHJpbmcgfCBudW1iZXI+W10+ID0gbnVsbDtcbiAgICB0ZW1wbGF0ZVR5cGUgPSAnJztcbiAgICBhdXRvY29tcGxldGVDb250cm9sID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbCgpO1xuICAgIGVkaXRlZFZhbHVlOiBzdHJpbmcgfCBudW1iZXI7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLnByb3BlcnR5LnZhbHVlO1xuICAgICAgICBpZiAoY2hhbmdlcy5wcm9wZXJ0eT8uZmlyc3RDaGFuZ2UpIHtcbiAgICAgICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlQ29udHJvbC52YWx1ZUNoYW5nZXNcbiAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyKCh0ZXh0SW5wdXRWYWx1ZSkgPT4gdGV4dElucHV0VmFsdWUgIT09IHRoaXMuZWRpdGVkVmFsdWUgJiYgdGV4dElucHV0VmFsdWUgIT09IG51bGwpLFxuICAgICAgICAgICAgICAgICAgICBkZWJvdW5jZVRpbWUoNTApLFxuICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCh0ZXh0SW5wdXRWYWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVkaXRlZFZhbHVlID0gdGV4dElucHV0VmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2FyZFZpZXdVcGRhdGVTZXJ2aWNlLmF1dG9jb21wbGV0ZUlucHV0VmFsdWUkLm5leHQodGV4dElucHV0VmFsdWUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNoYW5nZXMuZWRpdGFibGUpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzRWRpdGFibGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZUNvbnRyb2wuZW5hYmxlKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlQ29udHJvbC5kaXNhYmxlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMucHJvcGVydHkuYXV0b2NvbXBsZXRlQmFzZWQpIHtcbiAgICAgICAgICAgIHRoaXMudGVtcGxhdGVUeXBlID0gJ2F1dG9jb21wbGV0ZUJhc2VkJztcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZ2V0T3B0aW9ucygpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKG9wdGlvbnMpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dJbnB1dEZpbHRlciA9IG9wdGlvbnMubGVuZ3RoID4gdGhpcy5vcHRpb25zTGltaXQ7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmxpc3QkID0gdGhpcy5nZXRMaXN0KCk7XG4gICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlQ29udHJvbC5zZXRWYWx1ZSh0aGlzLnByb3BlcnR5LnZhbHVlKTtcbiAgICB9XG5cbiAgICBvbkZpbHRlcklucHV0Q2hhbmdlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5maWx0ZXIkLm5leHQodmFsdWUudG9TdHJpbmcoKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRPcHRpb25zKCk6IE9ic2VydmFibGU8Q2FyZFZpZXdTZWxlY3RJdGVtT3B0aW9uPHN0cmluZyB8IG51bWJlcj5bXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zJCB8fCB0aGlzLnByb3BlcnR5Lm9wdGlvbnMkO1xuICAgIH1cblxuICAgIGdldExpc3QoKTogT2JzZXJ2YWJsZTxDYXJkVmlld1NlbGVjdEl0ZW1PcHRpb248c3RyaW5nIHwgbnVtYmVyPltdPiB7XG4gICAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFt0aGlzLmdldE9wdGlvbnMoKSwgdGhpcy5maWx0ZXIkXSkucGlwZShcbiAgICAgICAgICAgIG1hcCgoW2l0ZW1zLCBzZWFyY2hUZXJtXSkgPT4gaXRlbXMuZmlsdGVyKChpdGVtKSA9PiAoZmlsdGVyID8gaXRlbS5sYWJlbC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFRlcm0udG9Mb3dlckNhc2UoKSkgOiB0cnVlKSkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgb25PcHRpb25TZWxlY3RlZChldmVudDogTWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCkge1xuICAgICAgICB0aGlzLmdldE9wdGlvbnMoKVxuICAgICAgICAgICAgLnBpcGUoZmlyc3QoKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKG9wdGlvbnMpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZE9wdGlvbiA9IG9wdGlvbnMuZmluZCgob3B0aW9uKSA9PiBvcHRpb24ua2V5ID09PSBldmVudC5vcHRpb24udmFsdWUpO1xuICAgICAgICAgICAgICAgIGlmIChzZWxlY3RlZE9wdGlvbikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZUNvbnRyb2wuc2V0VmFsdWUoc2VsZWN0ZWRPcHRpb24ubGFiZWwpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNhcmRWaWV3VXBkYXRlU2VydmljZS51cGRhdGUoeyAuLi50aGlzLnByb3BlcnR5IH0gYXMgQ2FyZFZpZXdTZWxlY3RJdGVtTW9kZWw8c3RyaW5nPiwgc2VsZWN0ZWRPcHRpb24ua2V5KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkNoYW5nZShldmVudDogTWF0U2VsZWN0Q2hhbmdlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkT3B0aW9uID0gZXZlbnQudmFsdWUgIT09IHVuZGVmaW5lZCA/IGV2ZW50LnZhbHVlIDogbnVsbDtcbiAgICAgICAgdGhpcy5jYXJkVmlld1VwZGF0ZVNlcnZpY2UudXBkYXRlKHsgLi4udGhpcy5wcm9wZXJ0eSB9IGFzIENhcmRWaWV3U2VsZWN0SXRlbU1vZGVsPHN0cmluZz4sIHNlbGVjdGVkT3B0aW9uKTtcbiAgICAgICAgdGhpcy5wcm9wZXJ0eS52YWx1ZSA9IHNlbGVjdGVkT3B0aW9uO1xuICAgIH1cblxuICAgIGdldCBzaG93UHJvcGVydHkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRpc3BsYXlFbXB0eSB8fCAhdGhpcy5wcm9wZXJ0eS5pc0VtcHR5KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgb3B0aW9uc0xpbWl0KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwcENvbmZpZy5nZXQ8bnVtYmVyPignY29udGVudC1tZXRhZGF0YS5zZWxlY3RGaWx0ZXJMaW1pdCcsIENhcmRWaWV3U2VsZWN0SXRlbUNvbXBvbmVudC5ISURFX0ZJTFRFUl9MSU1JVCk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFwcm9wZXJ0eS5pc0VtcHR5KCkgfHwgaXNFZGl0YWJsZVwiPlxuICAgIDxkaXYgW25nU3dpdGNoXT1cInRlbXBsYXRlVHlwZVwiPlxuICAgICAgICA8ZGl2ICpuZ1N3aXRjaERlZmF1bHQ+XG4gICAgICAgIDxkaXYgKm5nSWY9XCIhaXNFZGl0YWJsZVwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiJ2NhcmQtc2VsZWN0LWxhYmVsLScgKyBwcm9wZXJ0eS5rZXlcIlxuICAgICAgICAgICAgY2xhc3M9XCJhZGYtcHJvcGVydHktbGFiZWwgYWRmLXByb3BlcnR5LWxhYmVsLW5vbi1lZGl0YWJsZVwiXG4gICAgICAgICAgICA+e3sgcHJvcGVydHkubGFiZWwgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLXByb3BlcnR5LWZpZWxkXCI+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFpc0VkaXRhYmxlXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtcHJvcGVydHktdmFsdWUgYWRmLXByb3BlcnR5LXJlYWQtb25seVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtYXV0b21hdGlvbi1pZF09XCInc2VsZWN0LXJlYWRvbmx5LXZhbHVlLScgKyBwcm9wZXJ0eS5rZXlcIlxuICAgICAgICAgICAgICAgICAgICBkYXRhLWF1dG9tYXRpb24tY2xhc3M9XCJyZWFkLW9ubHktdmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwicHJvcGVydHkuZGlzcGxheVZhbHVlIHwgYXN5bmMgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgcHJvcGVydHkuZGlzcGxheVZhbHVlIHwgYXN5bmMgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXNFZGl0YWJsZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJhZGYtcHJvcGVydHktdmFsdWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiJ2NhcmQtc2VsZWN0LWxhYmVsLScgKyBwcm9wZXJ0eS5rZXlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLXByb3BlcnR5LWxhYmVsIGFkZi1wcm9wZXJ0eS12YWx1ZS1lZGl0YWJsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWRmLXByb3BlcnR5LXJlYWRvbmx5LXZhbHVlJzogaXNSZWFkb25seVByb3BlcnR5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPnt7IHByb3BlcnR5LmxhYmVsIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgWyh2YWx1ZSldPVwidmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2FkZi1wcm9wZXJ0eS1yZWFkb25seS12YWx1ZSc6IGlzUmVhZG9ubHlQcm9wZXJ0eSB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYW5lbENsYXNzPVwiYWRmLXNlbGVjdC1maWx0ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWNsYXNzPVwic2VsZWN0LWJveFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FyaWEtbGFiZWxdPVwicHJvcGVydHkubGFiZWwgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhZGYtc2VsZWN0LWZpbHRlci1pbnB1dCAqbmdJZj1cInNob3dJbnB1dEZpbHRlclwiIChjaGFuZ2UpPVwib25GaWx0ZXJJbnB1dENoYW5nZSgkZXZlbnQpXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdJZj1cImRpc3BsYXlOb25lT3B0aW9uXCI+e3sgJ0NPUkUuQ0FSRFZJRVcuTk9ORScgfCB0cmFuc2xhdGUgfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBsaXN0JCB8IGFzeW5jXCIgW3ZhbHVlXT1cIm9wdGlvbi5rZXlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgb3B0aW9uLmxhYmVsIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ1N3aXRjaENhc2U9XCInYXV0b2NvbXBsZXRlQmFzZWQnXCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGRcbiAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1wcm9wZXJ0eS1maWVsZCBhZGYtY2FyZC1zZWxlY3RpdGVtLWF1dG9jb21wbGV0ZVwiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnYWRmLXByb3BlcnR5LXJlYWQtb25seSc6ICFpc0VkaXRhYmxlIH1cIlxuICAgICAgICAgICAgICAgIFtmbG9hdExhYmVsXT1cInByb3BlcnR5LmRlZmF1bHQgPyAnYWx3YXlzJyA6IG51bGxcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWxcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzaG93UHJvcGVydHkgfHwgaXNFZGl0YWJsZVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtYXV0b21hdGlvbi1pZF09XCInY2FyZC1hdXRvY29tcGxldGUtYmFzZWQtc2VsZWN0aXRlbS1sYWJlbC0nICsgcHJvcGVydHkua2V5XCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtcHJvcGVydHktbGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAnYWRmLXByb3BlcnR5LXZhbHVlLWVkaXRhYmxlJzogaXNFZGl0YWJsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICdhZGYtcHJvcGVydHktcmVhZG9ubHktdmFsdWUnOiBpc1JlYWRvbmx5UHJvcGVydHlcbiAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyBwcm9wZXJ0eS5sYWJlbCB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICAgICAgICBbbWF0QXV0b2NvbXBsZXRlXT1cImF1dG9cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1wcm9wZXJ0eS12YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICdhZGYtcHJvcGVydHktdmFsdWUtZWRpdGFibGUnOiBpc0VkaXRhYmxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2FkZi1wcm9wZXJ0eS1yZWFkb25seS12YWx1ZSc6IGlzUmVhZG9ubHlQcm9wZXJ0eVxuICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJ7eyBwcm9wZXJ0eS5sYWJlbCB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwcm9wZXJ0eS5kZWZhdWx0XCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJwcm9wZXJ0eS5sYWJlbCB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJhdXRvY29tcGxldGVDb250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIidDT1JFLk1FVEFEQVRBLkFDVElPTlMuQ09QWV9UT19DTElQQk9BUkQnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1hdXRvbWF0aW9uLWlkXT1cIidjYXJkLWF1dG9jb21wbGV0ZS1iYXNlZC1zZWxlY3RpdGVtLXZhbHVlLScgKyBwcm9wZXJ0eS5rZXlcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPG1hdC1hdXRvY29tcGxldGUgYXV0b0FjdGl2ZUZpcnN0T3B0aW9uICNhdXRvPVwibWF0QXV0b2NvbXBsZXRlXCIgKG9wdGlvblNlbGVjdGVkKT1cIm9uT3B0aW9uU2VsZWN0ZWQoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBwcm9wZXJ0eS5vcHRpb25zJCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJvcHRpb24ua2V5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtYXV0b21hdGlvbi1pZF09XCInY2FyZC1hdXRvY29tcGxldGUtYmFzZWQtc2VsZWN0aXRlbS1vcHRpb24tJyArIHByb3BlcnR5LmtleVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IG9wdGlvbi5sYWJlbCB9fVxuICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -18665,7 +18665,7 @@ class CardViewSelectItemComponent extends BaseCardView {
18665
18665
  return this.appConfig.get('content-metadata.selectFilterLimit', CardViewSelectItemComponent.HIDE_FILTER_LIMIT);
18666
18666
  }
18667
18667
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CardViewSelectItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
18668
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CardViewSelectItemComponent, isStandalone: true, selector: "adf-card-view-selectitem", inputs: { options$: "options$", displayNoneOption: "displayNoneOption", displayEmpty: "displayEmpty" }, host: { classAttribute: "adf-card-view-selectitem" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"!property.isEmpty() || isEditable\">\n <div [ngSwitch]=\"templateType\">\n <div *ngSwitchDefault>\n <div *ngIf=\"!isEditable\"\n [attr.data-automation-id]=\"'card-select-label-' + property.key\"\n class=\"adf-property-label\"\n >{{ property.label | translate }}\n </div>\n <div class=\"adf-property-field\">\n <div\n *ngIf=\"!isEditable\"\n class=\"adf-property-value adf-property-read-only\"\n [attr.data-automation-id]=\"'select-readonly-value-' + property.key\"\n data-automation-class=\"read-only-value\"\n >\n {{ property.displayValue | async | translate }}\n </div>\n <div *ngIf=\"isEditable\">\n <mat-form-field class=\"adf-property-value\">\n <mat-label\n [attr.data-automation-id]=\"'card-select-label-' + property.key\"\n class=\"adf-property-label adf-property-value-editable\"\n [ngClass]=\"{\n 'adf-property-readonly-value': isReadonlyProperty\n }\"\n >{{ property.label | translate }}\n </mat-label>\n <mat-select\n [(value)]=\"value\"\n [ngClass]=\"{ 'adf-property-readonly-value': isReadonlyProperty }\"\n panelClass=\"adf-select-filter\"\n (selectionChange)=\"onChange($event)\"\n data-automation-class=\"select-box\"\n [aria-label]=\"property.label | translate\"\n >\n <adf-select-filter-input *ngIf=\"showInputFilter\" (change)=\"onFilterInputChange($event)\" />\n <mat-option *ngIf=\"displayNoneOption\">{{ 'CORE.CARDVIEW.NONE' | translate }}</mat-option>\n <mat-option *ngFor=\"let option of list$ | async\" [value]=\"option.key\">\n {{ option.label | translate }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n </div>\n </div>\n <div *ngSwitchCase=\"'autocompleteBased'\">\n <mat-form-field\n class=\"adf-property-field adf-card-selectitem-autocomplete\"\n [ngClass]=\"{ 'adf-property-read-only': !isEditable }\"\n [floatLabel]=\"property.default ? 'always' : null\"\n >\n <mat-label\n *ngIf=\"showProperty || isEditable\"\n [attr.data-automation-id]=\"'card-autocomplete-based-selectitem-label-' + property.key\"\n class=\"adf-property-label\"\n [ngClass]=\"{\n 'adf-property-value-editable': isEditable,\n 'adf-property-readonly-value': isReadonlyProperty\n }\"\n >\n {{ property.label | translate }}\n </mat-label>\n <input\n matInput\n [matAutocomplete]=\"auto\"\n class=\"adf-property-value\"\n [ngClass]=\"{\n 'adf-property-value-editable': isEditable,\n 'adf-property-readonly-value': isReadonlyProperty\n }\"\n title=\"{{ property.label | translate }}\"\n [placeholder]=\"property.default\"\n [attr.aria-label]=\"property.label | translate\"\n [formControl]=\"autocompleteControl\"\n [title]=\"'CORE.METADATA.ACTIONS.COPY_TO_CLIPBOARD' | translate\"\n [attr.data-automation-id]=\"'card-autocomplete-based-selectitem-value-' + property.key\"\n />\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\" (optionSelected)=\"onOptionSelected($event)\">\n <mat-option\n *ngFor=\"let option of property.options$ | async\"\n [value]=\"option.key\"\n [attr.data-automation-id]=\"'card-autocomplete-based-selectitem-option-' + property.key\"\n >\n {{ option.label }}\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n </div>\n </div>\n</ng-container>\n", styles: [".adf-card-view-selectitem .adf-property-value{width:100%}.adf-card-view-selectitem .adf-select-filter-input{background:var(--adf-theme-background-card-color);position:sticky;top:0;left:0;right:0;z-index:1}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable{padding-left:0}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable .mdc-text-field--no-label .mat-mdc-form-field-infix{padding:0}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable .mat-mdc-text-field-wrapper{background-color:unset}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable .mat-mdc-select{margin-top:0;border-radius:6px}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable .mat-mdc-select .mat-mdc-select-value{color:var(--adf-metadata-action-button-clear-color)}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable .mat-mdc-select .mat-mdc-select-trigger{padding-left:6px;padding-right:6px}.adf-card-view-selectitem .adf-card-selectitem-autocomplete .adf-property-value-editable{padding-left:10px}.adf-card-view-selectitem .mat-mdc-form-field-subscript-wrapper{display:none}.adf-card-view-selectitem .adf-property-read-only{padding:6px 0;border-bottom:1px solid var(--adf-metadata-property-panel-border-color);color:var(--adf-metadata-property-panel-title-color)}.adf-card-view-selectitem .mdc-line-ripple{display:none}.adf-card-view-selectitem .adf-property-readonly-value{color:var(--adf-metadata-property-panel-label-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2$5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$5.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i3$3.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i1$2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: SelectFilterInputComponent, selector: "adf-select-filter-input", outputs: ["change"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i5.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i5.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i3$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], encapsulation: i0.ViewEncapsulation.None }); }
18668
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CardViewSelectItemComponent, isStandalone: true, selector: "adf-card-view-selectitem", inputs: { options$: "options$", displayNoneOption: "displayNoneOption", displayEmpty: "displayEmpty" }, host: { classAttribute: "adf-card-view-selectitem" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"!property.isEmpty() || isEditable\">\n <div [ngSwitch]=\"templateType\">\n <div *ngSwitchDefault>\n <div *ngIf=\"!isEditable\"\n [attr.data-automation-id]=\"'card-select-label-' + property.key\"\n class=\"adf-property-label adf-property-label-non-editable\"\n >{{ property.label | translate }}\n </div>\n <div class=\"adf-property-field\">\n <div\n *ngIf=\"!isEditable\"\n class=\"adf-property-value adf-property-read-only\"\n [attr.data-automation-id]=\"'select-readonly-value-' + property.key\"\n data-automation-class=\"read-only-value\"\n [title]=\"property.displayValue | async | translate\"\n >\n {{ property.displayValue | async | translate }}\n </div>\n <div *ngIf=\"isEditable\">\n <mat-form-field class=\"adf-property-value\">\n <mat-label\n [attr.data-automation-id]=\"'card-select-label-' + property.key\"\n class=\"adf-property-label adf-property-value-editable\"\n [ngClass]=\"{\n 'adf-property-readonly-value': isReadonlyProperty\n }\"\n >{{ property.label | translate }}\n </mat-label>\n <mat-select\n [(value)]=\"value\"\n [ngClass]=\"{ 'adf-property-readonly-value': isReadonlyProperty }\"\n panelClass=\"adf-select-filter\"\n (selectionChange)=\"onChange($event)\"\n data-automation-class=\"select-box\"\n [aria-label]=\"property.label | translate\"\n >\n <adf-select-filter-input *ngIf=\"showInputFilter\" (change)=\"onFilterInputChange($event)\" />\n <mat-option *ngIf=\"displayNoneOption\">{{ 'CORE.CARDVIEW.NONE' | translate }}</mat-option>\n <mat-option *ngFor=\"let option of list$ | async\" [value]=\"option.key\">\n {{ option.label | translate }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n </div>\n </div>\n <div *ngSwitchCase=\"'autocompleteBased'\">\n <mat-form-field\n class=\"adf-property-field adf-card-selectitem-autocomplete\"\n [ngClass]=\"{ 'adf-property-read-only': !isEditable }\"\n [floatLabel]=\"property.default ? 'always' : null\"\n >\n <mat-label\n *ngIf=\"showProperty || isEditable\"\n [attr.data-automation-id]=\"'card-autocomplete-based-selectitem-label-' + property.key\"\n class=\"adf-property-label\"\n [ngClass]=\"{\n 'adf-property-value-editable': isEditable,\n 'adf-property-readonly-value': isReadonlyProperty\n }\"\n >\n {{ property.label | translate }}\n </mat-label>\n <input\n matInput\n [matAutocomplete]=\"auto\"\n class=\"adf-property-value\"\n [ngClass]=\"{\n 'adf-property-value-editable': isEditable,\n 'adf-property-readonly-value': isReadonlyProperty\n }\"\n title=\"{{ property.label | translate }}\"\n [placeholder]=\"property.default\"\n [attr.aria-label]=\"property.label | translate\"\n [formControl]=\"autocompleteControl\"\n [title]=\"'CORE.METADATA.ACTIONS.COPY_TO_CLIPBOARD' | translate\"\n [attr.data-automation-id]=\"'card-autocomplete-based-selectitem-value-' + property.key\"\n />\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\" (optionSelected)=\"onOptionSelected($event)\">\n <mat-option\n *ngFor=\"let option of property.options$ | async\"\n [value]=\"option.key\"\n [attr.data-automation-id]=\"'card-autocomplete-based-selectitem-option-' + property.key\"\n >\n {{ option.label }}\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n </div>\n </div>\n</ng-container>\n", styles: [".adf-card-view-selectitem .adf-property-value{width:100%}.adf-card-view-selectitem .adf-select-filter-input{background:var(--adf-theme-background-card-color);position:sticky;top:0;left:0;right:0;z-index:1}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable{padding-left:0}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable .mdc-text-field--no-label .mat-mdc-form-field-infix{padding:0}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable .mat-mdc-text-field-wrapper{background-color:unset}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable .mat-mdc-select{margin-top:0;border-radius:6px}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable .mat-mdc-select .mat-mdc-select-value{color:var(--adf-metadata-action-button-clear-color)}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable .mat-mdc-select .mat-mdc-select-trigger{padding-left:6px;padding-right:6px}.adf-card-view-selectitem .adf-card-selectitem-autocomplete .adf-property-value-editable{padding-left:10px}.adf-card-view-selectitem .mat-mdc-form-field-subscript-wrapper{display:none}.adf-card-view-selectitem .adf-property-read-only{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;cursor:default;padding:6px 0;border-bottom:1px solid var(--adf-metadata-property-panel-border-color);color:var(--adf-metadata-property-panel-title-color)}.adf-card-view-selectitem .mdc-line-ripple{display:none}.adf-card-view-selectitem .adf-property-readonly-value{color:var(--adf-metadata-property-panel-label-color)}.adf-card-view-selectitem .adf-property-label-non-editable{cursor:default;font-size:10px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2$5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$5.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i3$3.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i1$2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: SelectFilterInputComponent, selector: "adf-select-filter-input", outputs: ["change"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i5.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i5.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i3$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], encapsulation: i0.ViewEncapsulation.None }); }
18669
18669
  }
18670
18670
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CardViewSelectItemComponent, decorators: [{
18671
18671
  type: Component,
@@ -18678,7 +18678,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
18678
18678
  MatAutocompleteModule,
18679
18679
  MatInputModule,
18680
18680
  ReactiveFormsModule
18681
- ], encapsulation: ViewEncapsulation.None, host: { class: 'adf-card-view-selectitem' }, template: "<ng-container *ngIf=\"!property.isEmpty() || isEditable\">\n <div [ngSwitch]=\"templateType\">\n <div *ngSwitchDefault>\n <div *ngIf=\"!isEditable\"\n [attr.data-automation-id]=\"'card-select-label-' + property.key\"\n class=\"adf-property-label\"\n >{{ property.label | translate }}\n </div>\n <div class=\"adf-property-field\">\n <div\n *ngIf=\"!isEditable\"\n class=\"adf-property-value adf-property-read-only\"\n [attr.data-automation-id]=\"'select-readonly-value-' + property.key\"\n data-automation-class=\"read-only-value\"\n >\n {{ property.displayValue | async | translate }}\n </div>\n <div *ngIf=\"isEditable\">\n <mat-form-field class=\"adf-property-value\">\n <mat-label\n [attr.data-automation-id]=\"'card-select-label-' + property.key\"\n class=\"adf-property-label adf-property-value-editable\"\n [ngClass]=\"{\n 'adf-property-readonly-value': isReadonlyProperty\n }\"\n >{{ property.label | translate }}\n </mat-label>\n <mat-select\n [(value)]=\"value\"\n [ngClass]=\"{ 'adf-property-readonly-value': isReadonlyProperty }\"\n panelClass=\"adf-select-filter\"\n (selectionChange)=\"onChange($event)\"\n data-automation-class=\"select-box\"\n [aria-label]=\"property.label | translate\"\n >\n <adf-select-filter-input *ngIf=\"showInputFilter\" (change)=\"onFilterInputChange($event)\" />\n <mat-option *ngIf=\"displayNoneOption\">{{ 'CORE.CARDVIEW.NONE' | translate }}</mat-option>\n <mat-option *ngFor=\"let option of list$ | async\" [value]=\"option.key\">\n {{ option.label | translate }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n </div>\n </div>\n <div *ngSwitchCase=\"'autocompleteBased'\">\n <mat-form-field\n class=\"adf-property-field adf-card-selectitem-autocomplete\"\n [ngClass]=\"{ 'adf-property-read-only': !isEditable }\"\n [floatLabel]=\"property.default ? 'always' : null\"\n >\n <mat-label\n *ngIf=\"showProperty || isEditable\"\n [attr.data-automation-id]=\"'card-autocomplete-based-selectitem-label-' + property.key\"\n class=\"adf-property-label\"\n [ngClass]=\"{\n 'adf-property-value-editable': isEditable,\n 'adf-property-readonly-value': isReadonlyProperty\n }\"\n >\n {{ property.label | translate }}\n </mat-label>\n <input\n matInput\n [matAutocomplete]=\"auto\"\n class=\"adf-property-value\"\n [ngClass]=\"{\n 'adf-property-value-editable': isEditable,\n 'adf-property-readonly-value': isReadonlyProperty\n }\"\n title=\"{{ property.label | translate }}\"\n [placeholder]=\"property.default\"\n [attr.aria-label]=\"property.label | translate\"\n [formControl]=\"autocompleteControl\"\n [title]=\"'CORE.METADATA.ACTIONS.COPY_TO_CLIPBOARD' | translate\"\n [attr.data-automation-id]=\"'card-autocomplete-based-selectitem-value-' + property.key\"\n />\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\" (optionSelected)=\"onOptionSelected($event)\">\n <mat-option\n *ngFor=\"let option of property.options$ | async\"\n [value]=\"option.key\"\n [attr.data-automation-id]=\"'card-autocomplete-based-selectitem-option-' + property.key\"\n >\n {{ option.label }}\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n </div>\n </div>\n</ng-container>\n", styles: [".adf-card-view-selectitem .adf-property-value{width:100%}.adf-card-view-selectitem .adf-select-filter-input{background:var(--adf-theme-background-card-color);position:sticky;top:0;left:0;right:0;z-index:1}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable{padding-left:0}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable .mdc-text-field--no-label .mat-mdc-form-field-infix{padding:0}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable .mat-mdc-text-field-wrapper{background-color:unset}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable .mat-mdc-select{margin-top:0;border-radius:6px}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable .mat-mdc-select .mat-mdc-select-value{color:var(--adf-metadata-action-button-clear-color)}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable .mat-mdc-select .mat-mdc-select-trigger{padding-left:6px;padding-right:6px}.adf-card-view-selectitem .adf-card-selectitem-autocomplete .adf-property-value-editable{padding-left:10px}.adf-card-view-selectitem .mat-mdc-form-field-subscript-wrapper{display:none}.adf-card-view-selectitem .adf-property-read-only{padding:6px 0;border-bottom:1px solid var(--adf-metadata-property-panel-border-color);color:var(--adf-metadata-property-panel-title-color)}.adf-card-view-selectitem .mdc-line-ripple{display:none}.adf-card-view-selectitem .adf-property-readonly-value{color:var(--adf-metadata-property-panel-label-color)}\n"] }]
18681
+ ], encapsulation: ViewEncapsulation.None, host: { class: 'adf-card-view-selectitem' }, template: "<ng-container *ngIf=\"!property.isEmpty() || isEditable\">\n <div [ngSwitch]=\"templateType\">\n <div *ngSwitchDefault>\n <div *ngIf=\"!isEditable\"\n [attr.data-automation-id]=\"'card-select-label-' + property.key\"\n class=\"adf-property-label adf-property-label-non-editable\"\n >{{ property.label | translate }}\n </div>\n <div class=\"adf-property-field\">\n <div\n *ngIf=\"!isEditable\"\n class=\"adf-property-value adf-property-read-only\"\n [attr.data-automation-id]=\"'select-readonly-value-' + property.key\"\n data-automation-class=\"read-only-value\"\n [title]=\"property.displayValue | async | translate\"\n >\n {{ property.displayValue | async | translate }}\n </div>\n <div *ngIf=\"isEditable\">\n <mat-form-field class=\"adf-property-value\">\n <mat-label\n [attr.data-automation-id]=\"'card-select-label-' + property.key\"\n class=\"adf-property-label adf-property-value-editable\"\n [ngClass]=\"{\n 'adf-property-readonly-value': isReadonlyProperty\n }\"\n >{{ property.label | translate }}\n </mat-label>\n <mat-select\n [(value)]=\"value\"\n [ngClass]=\"{ 'adf-property-readonly-value': isReadonlyProperty }\"\n panelClass=\"adf-select-filter\"\n (selectionChange)=\"onChange($event)\"\n data-automation-class=\"select-box\"\n [aria-label]=\"property.label | translate\"\n >\n <adf-select-filter-input *ngIf=\"showInputFilter\" (change)=\"onFilterInputChange($event)\" />\n <mat-option *ngIf=\"displayNoneOption\">{{ 'CORE.CARDVIEW.NONE' | translate }}</mat-option>\n <mat-option *ngFor=\"let option of list$ | async\" [value]=\"option.key\">\n {{ option.label | translate }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n </div>\n </div>\n <div *ngSwitchCase=\"'autocompleteBased'\">\n <mat-form-field\n class=\"adf-property-field adf-card-selectitem-autocomplete\"\n [ngClass]=\"{ 'adf-property-read-only': !isEditable }\"\n [floatLabel]=\"property.default ? 'always' : null\"\n >\n <mat-label\n *ngIf=\"showProperty || isEditable\"\n [attr.data-automation-id]=\"'card-autocomplete-based-selectitem-label-' + property.key\"\n class=\"adf-property-label\"\n [ngClass]=\"{\n 'adf-property-value-editable': isEditable,\n 'adf-property-readonly-value': isReadonlyProperty\n }\"\n >\n {{ property.label | translate }}\n </mat-label>\n <input\n matInput\n [matAutocomplete]=\"auto\"\n class=\"adf-property-value\"\n [ngClass]=\"{\n 'adf-property-value-editable': isEditable,\n 'adf-property-readonly-value': isReadonlyProperty\n }\"\n title=\"{{ property.label | translate }}\"\n [placeholder]=\"property.default\"\n [attr.aria-label]=\"property.label | translate\"\n [formControl]=\"autocompleteControl\"\n [title]=\"'CORE.METADATA.ACTIONS.COPY_TO_CLIPBOARD' | translate\"\n [attr.data-automation-id]=\"'card-autocomplete-based-selectitem-value-' + property.key\"\n />\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\" (optionSelected)=\"onOptionSelected($event)\">\n <mat-option\n *ngFor=\"let option of property.options$ | async\"\n [value]=\"option.key\"\n [attr.data-automation-id]=\"'card-autocomplete-based-selectitem-option-' + property.key\"\n >\n {{ option.label }}\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n </div>\n </div>\n</ng-container>\n", styles: [".adf-card-view-selectitem .adf-property-value{width:100%}.adf-card-view-selectitem .adf-select-filter-input{background:var(--adf-theme-background-card-color);position:sticky;top:0;left:0;right:0;z-index:1}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable{padding-left:0}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable .mdc-text-field--no-label .mat-mdc-form-field-infix{padding:0}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable .mat-mdc-text-field-wrapper{background-color:unset}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable .mat-mdc-select{margin-top:0;border-radius:6px}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable .mat-mdc-select .mat-mdc-select-value{color:var(--adf-metadata-action-button-clear-color)}.adf-card-view-selectitem .adf-property-value-editable.adf-property-value-editable .mat-mdc-select .mat-mdc-select-trigger{padding-left:6px;padding-right:6px}.adf-card-view-selectitem .adf-card-selectitem-autocomplete .adf-property-value-editable{padding-left:10px}.adf-card-view-selectitem .mat-mdc-form-field-subscript-wrapper{display:none}.adf-card-view-selectitem .adf-property-read-only{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;cursor:default;padding:6px 0;border-bottom:1px solid var(--adf-metadata-property-panel-border-color);color:var(--adf-metadata-property-panel-title-color)}.adf-card-view-selectitem .mdc-line-ripple{display:none}.adf-card-view-selectitem .adf-property-readonly-value{color:var(--adf-metadata-property-panel-label-color)}.adf-card-view-selectitem .adf-property-label-non-editable{cursor:default;font-size:10px}\n"] }]
18682
18682
  }], propDecorators: { options$: [{
18683
18683
  type: Input
18684
18684
  }], displayNoneOption: [{