@eui/components 14.0.24 → 14.0.25

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.
@@ -1,4 +1,4 @@
1
- import { Directive, forwardRef, HostBinding, InjectFlags, Input } from '@angular/core';
1
+ import { Directive, forwardRef, HostBinding, InjectFlags, Input, Optional, } from '@angular/core';
2
2
  import { NG_VALUE_ACCESSOR, NgControl, SelectControlValueAccessor } from '@angular/forms';
3
3
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
4
4
  import { _buildValueString } from './utils';
@@ -56,7 +56,7 @@ export class EuiSelectControlValueAccessor extends SelectControlValueAccessor {
56
56
  super.writeValue(value);
57
57
  this.setPlaceholderClass(value);
58
58
  // this['_optionMap'].get(value)
59
- this.selectComponent.syncReadOnlyValue();
59
+ this.selectComponent?.syncReadOnlyValue();
60
60
  }
61
61
  registerOnChange(fn) {
62
62
  this.onChange = (valueString) => {
@@ -130,7 +130,7 @@ export class EuiSelectControlValueAccessor extends SelectControlValueAccessor {
130
130
  }
131
131
  }
132
132
  }
133
- /** @nocollapse */ EuiSelectControlValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EuiSelectControlValueAccessor, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.Injector }, { token: i1.EuiSelectComponent }], target: i0.ɵɵFactoryTarget.Directive });
133
+ /** @nocollapse */ EuiSelectControlValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EuiSelectControlValueAccessor, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.Injector }, { token: i1.EuiSelectComponent, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
134
134
  /** @nocollapse */ EuiSelectControlValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: EuiSelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: { placeholder: "placeholder", isInvalid: "isInvalid" }, host: { listeners: { "change": "onChange($event.target.value)", "blur": "onTouched()" }, properties: { "class": "this.cssClasses" } }, providers: [
135
135
  {
136
136
  provide: NG_VALUE_ACCESSOR,
@@ -153,7 +153,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
153
153
  }
154
154
  ]
155
155
  }]
156
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.Injector }, { type: i1.EuiSelectComponent }]; }, propDecorators: { cssClasses: [{
156
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.Injector }, { type: i1.EuiSelectComponent, decorators: [{
157
+ type: Optional
158
+ }] }]; }, propDecorators: { cssClasses: [{
157
159
  type: HostBinding,
158
160
  args: ['class']
159
161
  }], placeholder: [{
@@ -161,4 +163,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
161
163
  }], isInvalid: [{
162
164
  type: Input
163
165
  }] } });
164
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLXNlbGVjdC1jb250cm9sLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2V1aS1zZWxlY3QvZXVpLXNlbGVjdC1jb250cm9sLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUdULFVBQVUsRUFDVixXQUFXLEVBQ1gsV0FBVyxFQUVYLEtBQUssRUFJUixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLFNBQVMsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hILE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxTQUFTLENBQUM7OztBQWdCNUMsa0VBQWtFO0FBQ2xFLE1BQU0sT0FBTyw2QkFBOEIsU0FBUSwwQkFBMEI7SUF5QnpFLFlBQVksU0FBb0IsRUFDcEIsV0FBdUIsRUFDZixRQUFrQixFQUNsQixlQUFtQztRQUNuRCxLQUFLLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBRmQsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixvQkFBZSxHQUFmLGVBQWUsQ0FBb0I7UUFFbkQsSUFBSSxDQUFDLFVBQVUsR0FBRyxXQUFXLENBQUM7UUFDOUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUM7UUFDMUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLFdBQW1CLEVBQUUsRUFBRTtZQUNwQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ2xELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFDO0lBQ04sQ0FBQztJQWxDRCxJQUNXLFVBQVU7UUFDakIsT0FBTztZQUNILFlBQVk7WUFD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RUFBRTt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxFQUFDLEdBQUcsRUFBRSw4QkFBOEIsRUFBQzs0QkFDNUQsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0o7aUJBQ0o7aUxBS2MsVUFBVTtzQkFEcEIsV0FBVzt1QkFBQyxPQUFPO2dCQU9YLFdBQVc7c0JBQW5CLEtBQUs7Z0JBR0ssU0FBUztzQkFEbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgRGlyZWN0aXZlLFxuICAgIERvQ2hlY2ssXG4gICAgRWxlbWVudFJlZixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdEZsYWdzLFxuICAgIEluamVjdG9yLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBSZW5kZXJlcjIsXG4gICAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiwgTmdDb250cm9sLCBTZWxlY3RDb250cm9sVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IF9idWlsZFZhbHVlU3RyaW5nIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBFdWlTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL2V1aS1zZWxlY3QuY29tcG9uZW50JztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbiAgICAgICAgJ3NlbGVjdDpub3QoW211bHRpcGxlXSlbZm9ybUNvbnRyb2xOYW1lXSxzZWxlY3Q6bm90KFttdWx0aXBsZV0pW2Zvcm1Db250cm9sXSxzZWxlY3Q6bm90KFttdWx0aXBsZV0pW25nTW9kZWxdJyxcbiAgICBob3N0OiB7JyhjaGFuZ2UpJzogJ29uQ2hhbmdlKCRldmVudC50YXJnZXQudmFsdWUpJywgJyhibHVyKSc6ICdvblRvdWNoZWQoKSd9LFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEV1aVNlbGVjdENvbnRyb2xWYWx1ZUFjY2Vzc29yKSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH1cbiAgICBdXG59KVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtY2xhc3Mtc3VmZml4XG5leHBvcnQgY2xhc3MgRXVpU2VsZWN0Q29udHJvbFZhbHVlQWNjZXNzb3IgZXh0ZW5kcyBTZWxlY3RDb250cm9sVmFsdWVBY2Nlc3NvclxuICAgIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uQ2hhbmdlcywgRG9DaGVjayB7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgcHVibGljIGdldCBjc3NDbGFzc2VzKCk6IGFueSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAnZXVpLXNlbGVjdCcsXG4gICAgICAgICAgICB0aGlzLl9pc0ludmFsaWQgPyBgZXVpLXNlbGVjdC0taW52YWxpZGAgOiAnJyxcbiAgICAgICAgXS5qb2luKCcgJykudHJpbSgpO1xuICAgIH1cbiAgICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZ2V0IGlzSW52YWxpZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzSW52YWxpZCB8fCBudWxsO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IGlzSW52YWxpZChzdGF0ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2lzSW52YWxpZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eShzdGF0ZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9pc0ludmFsaWQ6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmO1xuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMjtcbiAgICBwcml2YXRlIHBsYWNlaG9sZGVyT3B0aW9uOiBIVE1MT3B0aW9uRWxlbWVudDtcbiAgICBwcml2YXRlIGNvbnRyb2w6IE5nQ29udHJvbDtcblxuICAgIGNvbnN0cnVjdG9yKF9yZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICAgICAgICAgIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgc2VsZWN0Q29tcG9uZW50OiBFdWlTZWxlY3RDb21wb25lbnQpIHtcbiAgICAgICAgc3VwZXIoX3JlbmRlcmVyLCBfZWxlbWVudFJlZik7XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZiA9IF9lbGVtZW50UmVmO1xuICAgICAgICB0aGlzLnJlbmRlcmVyID0gX3JlbmRlcmVyO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gKHZhbHVlU3RyaW5nOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzWydfZ2V0T3B0aW9uVmFsdWUnXSh2YWx1ZVN0cmluZyk7XG4gICAgICAgICAgICB0aGlzLnNldFBsYWNlaG9sZGVyQ2xhc3ModGhpcy52YWx1ZSk7XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuY29udHJvbCkge1xuICAgICAgICAgICAgdGhpcy5jb250cm9sID0gdGhpcy5pbmplY3Rvci5nZXQoTmdDb250cm9sLCB1bmRlZmluZWQsIEluamVjdEZsYWdzLk9wdGlvbmFsKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmlzSW52YWxpZCA9IHRoaXMuY29udHJvbCA/IHRoaXMuY29udHJvbC5pbnZhbGlkICYmIHRoaXMuY29udHJvbC50b3VjaGVkIDogdGhpcy5faXNJbnZhbGlkO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb250cm9sID0gdGhpcy5pbmplY3Rvci5nZXQoTmdDb250cm9sLCB1bmRlZmluZWQsIEluamVjdEZsYWdzLk9wdGlvbmFsKTtcbiAgICAgICAgICAgIHRoaXMuaXNJbnZhbGlkID0gY29udHJvbC5pbnZhbGlkO1xuICAgICAgICAgICAgaWYodGhpcy5pc0ludmFsaWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LGBldWktc2VsZWN0LS1pbnZhbGlkYCApO1xuICAgICAgICAgICAgfSBlbHNlIGlmKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnZXVpLXNlbGVjdC0taW52YWxpZCcpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxgZXVpLXNlbGVjdC0taW52YWxpZGAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZuKCk7XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgXCJ2YWx1ZVwiIHByb3BlcnR5IG9uIHRoZSBzZWxlY3QgZWxlbWVudC5cbiAgICAgKiBAbm9kb2NcbiAgICAgKi9cbiAgICBvdmVycmlkZSB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIud3JpdGVWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMuc2V0UGxhY2Vob2xkZXJDbGFzcyh2YWx1ZSk7XG4gICAgICAgIC8vIHRoaXNbJ19vcHRpb25NYXAnXS5nZXQodmFsdWUpXG4gICAgICAgIHRoaXMuc2VsZWN0Q29tcG9uZW50LnN5bmNSZWFkT25seVZhbHVlKCk7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBhbnkpID0+IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gKHZhbHVlU3RyaW5nOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzWydfZ2V0T3B0aW9uVmFsdWUnXSh2YWx1ZVN0cmluZyk7XG4gICAgICAgICAgICB0aGlzLnNldFBsYWNlaG9sZGVyQ2xhc3ModGhpcy52YWx1ZSk7XG4gICAgICAgICAgICBmbih0aGlzLnZhbHVlKTtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYoaXNEaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdkaXNhYmxlZCcsICcnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQXR0cmlidXRlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZGlzYWJsZWQnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNoYW5nZXNbJ3BsYWNlaG9sZGVyJ10pIHtcbiAgICAgICAgICAgIC8vIGluIGNhc2Ugb3B0aW9uIEVsZW1lbnQgYWxyZWFkeSBjcmVhdGVkIHVwZGF0ZSB0aGUgdmFsdWVcbiAgICAgICAgICAgIGlmIChjaGFuZ2VzWydwbGFjZWhvbGRlciddLmN1cnJlbnRWYWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2V1aS1zZWxlY3RfX3BsYWNlaG9sZGVyJyk7XG4gICAgICAgICAgICAgICAgLy8gcmVtb3ZlIG9wdGlvbiBlbGVtZW50XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMucGxhY2Vob2xkZXJPcHRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDaGlsZCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgdGhpcy5wbGFjZWhvbGRlck9wdGlvbik7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGxhY2Vob2xkZXJPcHRpb24gPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnBsYWNlaG9sZGVyT3B0aW9uKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLnBsYWNlaG9sZGVyT3B0aW9uLCAnaW5uZXJUZXh0JywgY2hhbmdlc1sncGxhY2Vob2xkZXInXS5jdXJyZW50VmFsdWUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBjcmVhdGUgb3B0aW9uIEVsZW1lbnRcbiAgICAgICAgICAgICAgICB0aGlzLnBsYWNlaG9sZGVyT3B0aW9uID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdvcHRpb24nKTtcbiAgICAgICAgICAgICAgICAvLyBjb25zdCBvcHRpb24gPSBuZXcgRXVpTmdTZWxlY3RPcHRpb25EaXJlY3RpdmUoe25hdGl2ZUVsZW1lbnQ6IHRoaXMucGxhY2Vob2xkZXJPcHRpb259LCB0aGlzLnJlbmRlcmVyLCB0aGlzKTtcbiAgICAgICAgICAgICAgICAvLyBvcHRpb24ubmdWYWx1ZSA9IG51bGw7XG4gICAgICAgICAgICAgICAgY29uc3QgaWQgPSB0aGlzWydfcmVnaXN0ZXJPcHRpb24nXSgpO1xuICAgICAgICAgICAgICAgIHRoaXNbJ19vcHRpb25NYXAnXS5zZXQoaWQsIG51bGwpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdENvbnRyb2xWYWx1ZUFjY2Vzc29yID0gdGhpcy5pbmplY3Rvci5nZXQoU2VsZWN0Q29udHJvbFZhbHVlQWNjZXNzb3IsIHVuZGVmaW5lZCk7XG4gICAgICAgICAgICAgICAgc2VsZWN0Q29udHJvbFZhbHVlQWNjZXNzb3JbJ19pZENvdW50ZXInXSA9IHRoaXNbJ19pZENvdW50ZXInXTtcbiAgICAgICAgICAgICAgICBzZWxlY3RDb250cm9sVmFsdWVBY2Nlc3NvclsnX29wdGlvbk1hcCddID0gdGhpc1snX29wdGlvbk1hcCddO1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0VmFsdWUodGhpcy5wbGFjZWhvbGRlck9wdGlvbiwgX2J1aWxkVmFsdWVTdHJpbmcoaWQsIHVuZGVmaW5lZCkpO1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5wbGFjZWhvbGRlck9wdGlvbiwgJ3ZhbHVlJywgX2J1aWxkVmFsdWVTdHJpbmcoaWQsIHVuZGVmaW5lZCkpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLnBsYWNlaG9sZGVyT3B0aW9uLCAnZXVpLXNlbGVjdF9fcGxhY2Vob2xkZXInKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMucGxhY2Vob2xkZXJPcHRpb24sICdpbm5lclRleHQnLCBjaGFuZ2VzWydwbGFjZWhvbGRlciddLmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgICAgICAgICAgLy8gc2V0IGF0dHJpYnV0ZXMgdG8gYWN0IGFzIGEgcGxhY2Vob2xkZXJcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMucGxhY2Vob2xkZXJPcHRpb24sICdzZWxlY3RlZCcsICcnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gYXBwZW5kIG9wdGlvbiBlbGVtZW50IGFzIHRoZSBmaXJzdCBvZiB0aGUgc2VsZWN0IGNoaWxkcmVuXG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuaW5zZXJ0QmVmb3JlKHRoaXMucGxhY2Vob2xkZXJPcHRpb24sIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZpcnN0Q2hpbGQpO1xuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlID09PSBjaGFuZ2VzWydwbGFjZWhvbGRlciddLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZXVpLXNlbGVjdF9fcGxhY2Vob2xkZXInKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYoIXRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy53cml0ZVZhbHVlKHVuZGVmaW5lZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRQbGFjZWhvbGRlckNsYXNzKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgaWYgKCEhdGhpcy5wbGFjZWhvbGRlciAmJiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gJycpKSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm9wdGlvbnNbMF0uc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2V1aS1zZWxlY3RfX3BsYWNlaG9sZGVyJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZXVpLXNlbGVjdF9fcGxhY2Vob2xkZXInKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
166
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLXNlbGVjdC1jb250cm9sLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2V1aS1zZWxlY3QvZXVpLXNlbGVjdC1jb250cm9sLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUdULFVBQVUsRUFDVixXQUFXLEVBQ1gsV0FBVyxFQUVYLEtBQUssRUFFTCxRQUFRLEdBR1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxTQUFTLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoSCxPQUFPLEVBQWdCLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sU0FBUyxDQUFDOzs7QUFnQjVDLGtFQUFrRTtBQUNsRSxNQUFNLE9BQU8sNkJBQThCLFNBQVEsMEJBQTBCO0lBeUJ6RSxZQUFZLFNBQW9CLEVBQ3BCLFdBQXVCLEVBQ2YsUUFBa0IsRUFDTixlQUFtQztRQUMvRCxLQUFLLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBRmQsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNOLG9CQUFlLEdBQWYsZUFBZSxDQUFvQjtRQUUvRCxJQUFJLENBQUMsVUFBVSxHQUFHLFdBQVcsQ0FBQztRQUM5QixJQUFJLENBQUMsUUFBUSxHQUFHLFNBQVMsQ0FBQztRQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsV0FBbUIsRUFBRSxFQUFFO1lBQ3BDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDbEQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QyxDQUFDLENBQUM7SUFDTixDQUFDO0lBbENELElBQ1csVUFBVTtRQUNqQixPQUFPO1lBQ0gs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NUUsU0FBUyxFQUFFO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLEVBQUMsR0FBRyxFQUFFLDhCQUE4QixFQUFDOzRCQUM1RCxLQUFLLEVBQUUsSUFBSTt5QkFDZDtxQkFDSjtpQkFDSjs7MEJBOEJnQixRQUFROzRDQXpCVixVQUFVO3NCQURwQixXQUFXO3VCQUFDLE9BQU87Z0JBT1gsV0FBVztzQkFBbkIsS0FBSztnQkFHSyxTQUFTO3NCQURuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBEaXJlY3RpdmUsXG4gICAgRG9DaGVjayxcbiAgICBFbGVtZW50UmVmLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0RmxhZ3MsXG4gICAgSW5qZWN0b3IsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9wdGlvbmFsLFxuICAgIFJlbmRlcmVyMixcbiAgICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiwgTmdDb250cm9sLCBTZWxlY3RDb250cm9sVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IF9idWlsZFZhbHVlU3RyaW5nIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBFdWlTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL2V1aS1zZWxlY3QuY29tcG9uZW50JztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbiAgICAgICAgJ3NlbGVjdDpub3QoW211bHRpcGxlXSlbZm9ybUNvbnRyb2xOYW1lXSxzZWxlY3Q6bm90KFttdWx0aXBsZV0pW2Zvcm1Db250cm9sXSxzZWxlY3Q6bm90KFttdWx0aXBsZV0pW25nTW9kZWxdJyxcbiAgICBob3N0OiB7JyhjaGFuZ2UpJzogJ29uQ2hhbmdlKCRldmVudC50YXJnZXQudmFsdWUpJywgJyhibHVyKSc6ICdvblRvdWNoZWQoKSd9LFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEV1aVNlbGVjdENvbnRyb2xWYWx1ZUFjY2Vzc29yKSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH1cbiAgICBdXG59KVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtY2xhc3Mtc3VmZml4XG5leHBvcnQgY2xhc3MgRXVpU2VsZWN0Q29udHJvbFZhbHVlQWNjZXNzb3IgZXh0ZW5kcyBTZWxlY3RDb250cm9sVmFsdWVBY2Nlc3NvclxuICAgIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uQ2hhbmdlcywgRG9DaGVjayB7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgcHVibGljIGdldCBjc3NDbGFzc2VzKCk6IGFueSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAnZXVpLXNlbGVjdCcsXG4gICAgICAgICAgICB0aGlzLl9pc0ludmFsaWQgPyBgZXVpLXNlbGVjdC0taW52YWxpZGAgOiAnJyxcbiAgICAgICAgXS5qb2luKCcgJykudHJpbSgpO1xuICAgIH1cbiAgICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZ2V0IGlzSW52YWxpZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzSW52YWxpZCB8fCBudWxsO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IGlzSW52YWxpZChzdGF0ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2lzSW52YWxpZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eShzdGF0ZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9pc0ludmFsaWQ6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmO1xuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMjtcbiAgICBwcml2YXRlIHBsYWNlaG9sZGVyT3B0aW9uOiBIVE1MT3B0aW9uRWxlbWVudDtcbiAgICBwcml2YXRlIGNvbnRyb2w6IE5nQ29udHJvbDtcblxuICAgIGNvbnN0cnVjdG9yKF9yZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICAgICAgICAgIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgc2VsZWN0Q29tcG9uZW50OiBFdWlTZWxlY3RDb21wb25lbnQpIHtcbiAgICAgICAgc3VwZXIoX3JlbmRlcmVyLCBfZWxlbWVudFJlZik7XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZiA9IF9lbGVtZW50UmVmO1xuICAgICAgICB0aGlzLnJlbmRlcmVyID0gX3JlbmRlcmVyO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gKHZhbHVlU3RyaW5nOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzWydfZ2V0T3B0aW9uVmFsdWUnXSh2YWx1ZVN0cmluZyk7XG4gICAgICAgICAgICB0aGlzLnNldFBsYWNlaG9sZGVyQ2xhc3ModGhpcy52YWx1ZSk7XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuY29udHJvbCkge1xuICAgICAgICAgICAgdGhpcy5jb250cm9sID0gdGhpcy5pbmplY3Rvci5nZXQoTmdDb250cm9sLCB1bmRlZmluZWQsIEluamVjdEZsYWdzLk9wdGlvbmFsKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmlzSW52YWxpZCA9IHRoaXMuY29udHJvbCA/IHRoaXMuY29udHJvbC5pbnZhbGlkICYmIHRoaXMuY29udHJvbC50b3VjaGVkIDogdGhpcy5faXNJbnZhbGlkO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb250cm9sID0gdGhpcy5pbmplY3Rvci5nZXQoTmdDb250cm9sLCB1bmRlZmluZWQsIEluamVjdEZsYWdzLk9wdGlvbmFsKTtcbiAgICAgICAgICAgIHRoaXMuaXNJbnZhbGlkID0gY29udHJvbC5pbnZhbGlkO1xuICAgICAgICAgICAgaWYodGhpcy5pc0ludmFsaWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LGBldWktc2VsZWN0LS1pbnZhbGlkYCApO1xuICAgICAgICAgICAgfSBlbHNlIGlmKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnZXVpLXNlbGVjdC0taW52YWxpZCcpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxgZXVpLXNlbGVjdC0taW52YWxpZGAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZuKCk7XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgXCJ2YWx1ZVwiIHByb3BlcnR5IG9uIHRoZSBzZWxlY3QgZWxlbWVudC5cbiAgICAgKiBAbm9kb2NcbiAgICAgKi9cbiAgICBvdmVycmlkZSB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIud3JpdGVWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMuc2V0UGxhY2Vob2xkZXJDbGFzcyh2YWx1ZSk7XG4gICAgICAgIC8vIHRoaXNbJ19vcHRpb25NYXAnXS5nZXQodmFsdWUpXG4gICAgICAgIHRoaXMuc2VsZWN0Q29tcG9uZW50Py5zeW5jUmVhZE9ubHlWYWx1ZSgpO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogYW55KSA9PiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9ICh2YWx1ZVN0cmluZzogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdGhpc1snX2dldE9wdGlvblZhbHVlJ10odmFsdWVTdHJpbmcpO1xuICAgICAgICAgICAgdGhpcy5zZXRQbGFjZWhvbGRlckNsYXNzKHRoaXMudmFsdWUpO1xuICAgICAgICAgICAgZm4odGhpcy52YWx1ZSk7XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmKGlzRGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZGlzYWJsZWQnLCAnJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUF0dHJpYnV0ZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2Rpc2FibGVkJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzWydwbGFjZWhvbGRlciddKSB7XG4gICAgICAgICAgICAvLyBpbiBjYXNlIG9wdGlvbiBFbGVtZW50IGFscmVhZHkgY3JlYXRlZCB1cGRhdGUgdGhlIHZhbHVlXG4gICAgICAgICAgICBpZiAoY2hhbmdlc1sncGxhY2Vob2xkZXInXS5jdXJyZW50VmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdldWktc2VsZWN0X19wbGFjZWhvbGRlcicpO1xuICAgICAgICAgICAgICAgIC8vIHJlbW92ZSBvcHRpb24gZWxlbWVudFxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnBsYWNlaG9sZGVyT3B0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIHRoaXMucGxhY2Vob2xkZXJPcHRpb24pO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnBsYWNlaG9sZGVyT3B0aW9uID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5wbGFjZWhvbGRlck9wdGlvbikge1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5wbGFjZWhvbGRlck9wdGlvbiwgJ2lubmVyVGV4dCcsIGNoYW5nZXNbJ3BsYWNlaG9sZGVyJ10uY3VycmVudFZhbHVlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gY3JlYXRlIG9wdGlvbiBFbGVtZW50XG4gICAgICAgICAgICAgICAgdGhpcy5wbGFjZWhvbGRlck9wdGlvbiA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnb3B0aW9uJyk7XG4gICAgICAgICAgICAgICAgLy8gY29uc3Qgb3B0aW9uID0gbmV3IEV1aU5nU2VsZWN0T3B0aW9uRGlyZWN0aXZlKHtuYXRpdmVFbGVtZW50OiB0aGlzLnBsYWNlaG9sZGVyT3B0aW9ufSwgdGhpcy5yZW5kZXJlciwgdGhpcyk7XG4gICAgICAgICAgICAgICAgLy8gb3B0aW9uLm5nVmFsdWUgPSBudWxsO1xuICAgICAgICAgICAgICAgIGNvbnN0IGlkID0gdGhpc1snX3JlZ2lzdGVyT3B0aW9uJ10oKTtcbiAgICAgICAgICAgICAgICB0aGlzWydfb3B0aW9uTWFwJ10uc2V0KGlkLCBudWxsKTtcbiAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RDb250cm9sVmFsdWVBY2Nlc3NvciA9IHRoaXMuaW5qZWN0b3IuZ2V0KFNlbGVjdENvbnRyb2xWYWx1ZUFjY2Vzc29yLCB1bmRlZmluZWQpO1xuICAgICAgICAgICAgICAgIHNlbGVjdENvbnRyb2xWYWx1ZUFjY2Vzc29yWydfaWRDb3VudGVyJ10gPSB0aGlzWydfaWRDb3VudGVyJ107XG4gICAgICAgICAgICAgICAgc2VsZWN0Q29udHJvbFZhbHVlQWNjZXNzb3JbJ19vcHRpb25NYXAnXSA9IHRoaXNbJ19vcHRpb25NYXAnXTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFZhbHVlKHRoaXMucGxhY2Vob2xkZXJPcHRpb24sIF9idWlsZFZhbHVlU3RyaW5nKGlkLCB1bmRlZmluZWQpKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMucGxhY2Vob2xkZXJPcHRpb24sICd2YWx1ZScsIF9idWlsZFZhbHVlU3RyaW5nKGlkLCB1bmRlZmluZWQpKTtcblxuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5wbGFjZWhvbGRlck9wdGlvbiwgJ2V1aS1zZWxlY3RfX3BsYWNlaG9sZGVyJyk7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLnBsYWNlaG9sZGVyT3B0aW9uLCAnaW5uZXJUZXh0JywgY2hhbmdlc1sncGxhY2Vob2xkZXInXS5jdXJyZW50VmFsdWUpO1xuICAgICAgICAgICAgICAgIC8vIHNldCBhdHRyaWJ1dGVzIHRvIGFjdCBhcyBhIHBsYWNlaG9sZGVyXG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLnBsYWNlaG9sZGVyT3B0aW9uLCAnc2VsZWN0ZWQnLCAnJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIGFwcGVuZCBvcHRpb24gZWxlbWVudCBhcyB0aGUgZmlyc3Qgb2YgdGhlIHNlbGVjdCBjaGlsZHJlblxuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lmluc2VydEJlZm9yZSh0aGlzLnBsYWNlaG9sZGVyT3B0aW9uLCB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5maXJzdENoaWxkKTtcblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSA9PT0gY2hhbmdlc1sncGxhY2Vob2xkZXInXS5jdXJyZW50VmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2V1aS1zZWxlY3RfX3BsYWNlaG9sZGVyJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmKCF0aGlzLnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMud3JpdGVWYWx1ZSh1bmRlZmluZWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2V0UGxhY2Vob2xkZXJDbGFzcyh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgICAgIGlmICghIXRoaXMucGxhY2Vob2xkZXIgJiYgKHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09ICcnKSkge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vcHRpb25zWzBdLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdldWktc2VsZWN0X19wbGFjZWhvbGRlcicpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2V1aS1zZWxlY3RfX3BsYWNlaG9sZGVyJyk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -1,4 +1,4 @@
1
- import { Directive, forwardRef, HostBinding, InjectFlags, Input } from '@angular/core';
1
+ import { Directive, forwardRef, HostBinding, InjectFlags, Input, Optional, } from '@angular/core';
2
2
  import { NG_VALUE_ACCESSOR, NgControl, SelectMultipleControlValueAccessor } from '@angular/forms';
3
3
  import { _extractId } from './utils';
4
4
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
@@ -92,7 +92,7 @@ export class EuiSelectMultipleControlValueAccessor extends SelectMultipleControl
92
92
  };
93
93
  }
94
94
  this._optionMap.forEach(optionSelectedStateSetter);
95
- this.selectComponent.syncReadOnlyValue();
95
+ this.selectComponent?.syncReadOnlyValue();
96
96
  }
97
97
  registerOnTouched(fn) {
98
98
  this.onTouched = () => {
@@ -159,7 +159,7 @@ export class EuiSelectMultipleControlValueAccessor extends SelectMultipleControl
159
159
  return this._optionMap.has(id) ? this._optionMap.get(id)._value : valueString;
160
160
  }
161
161
  }
162
- /** @nocollapse */ EuiSelectMultipleControlValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EuiSelectMultipleControlValueAccessor, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.Injector }, { token: i1.EuiSelectComponent }], target: i0.ɵɵFactoryTarget.Directive });
162
+ /** @nocollapse */ EuiSelectMultipleControlValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EuiSelectMultipleControlValueAccessor, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.Injector }, { token: i1.EuiSelectComponent, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
163
163
  /** @nocollapse */ EuiSelectMultipleControlValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: EuiSelectMultipleControlValueAccessor, selector: "select[multiple][formControlName][euiSelect],select[multiple][formControl][euiSelect],select[multiple][ngModel][euiSelect]", inputs: { isInvalid: "isInvalid" }, host: { listeners: { "change": "onChange($event.target)", "blur": "onTouched()" }, properties: { "class": "this.cssClasses" } }, providers: [SELECT_MULTIPLE_VALUE_ACCESSOR], usesInheritance: true, ngImport: i0 });
164
164
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EuiSelectMultipleControlValueAccessor, decorators: [{
165
165
  type: Directive,
@@ -170,10 +170,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
170
170
  host: { '(change)': 'onChange($event.target)', '(blur)': 'onTouched()' },
171
171
  providers: [SELECT_MULTIPLE_VALUE_ACCESSOR]
172
172
  }]
173
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.Injector }, { type: i1.EuiSelectComponent }]; }, propDecorators: { cssClasses: [{
173
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.Injector }, { type: i1.EuiSelectComponent, decorators: [{
174
+ type: Optional
175
+ }] }]; }, propDecorators: { cssClasses: [{
174
176
  type: HostBinding,
175
177
  args: ['class']
176
178
  }], isInvalid: [{
177
179
  type: Input
178
180
  }] } });
179
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLXNlbGVjdC1tdWx0aXBsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9ldWktc2VsZWN0L2V1aS1zZWxlY3QtbXVsdGlwbGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBRVQsVUFBVSxFQUFFLFdBQVcsRUFDdkIsV0FBVyxFQUVYLEtBQUssRUFHUixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUgsaUJBQWlCLEVBQUUsU0FBUyxFQUM1QixrQ0FBa0MsRUFDckMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3JDLE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7O0FBRzVFLE1BQU0sOEJBQThCLEdBQWE7SUFDN0MsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHFDQUFxQyxDQUFDO0lBQ3BFLEtBQUssRUFBRSxJQUFJO0NBQ2QsQ0FBQztBQVFGLHdDQUF3QztBQUN4QyxNQUFlLGNBQWM7Q0FJNUI7QUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtDRztBQVFILGtFQUFrRTtBQUNsRSxNQUFNLE9BQU8scUNBQXNDLFNBQVEsa0NBQWtDO0lBa0N6RixZQUFZLFNBQW9CLEVBQ3BCLFdBQXVCLEVBQ2YsUUFBa0IsRUFDbEIsZUFBbUM7UUFDbkQsS0FBSyxDQUFDLFNBQVMsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUZkLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsb0JBQWUsR0FBZixlQUFlLENBQW9CO1FBYnZELGdCQUFnQjtRQUNoQixlQUFVLEdBQXlDLElBQUksR0FBRyxFQUFtQyxDQUFDO1FBRTlGLGdCQUFnQjtRQUNoQixlQUFVLEdBQVcsQ0FBQyxDQUFDO1FBV25CLElBQUksQ0FBQyxVQUFVLEdBQUcsV0FBVyxDQUFDO1FBQzlCLElBQUksQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFDO0lBQzlCLENBQUM7SUF0Q0QsSUFDVyxVQUFVO1FBQ2pCLE9BQU87WUFDSCxZQUFZO1lBQ1osSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLEVBQUU7U0FDL0MsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUNELElBQ1csU0FBUztRQUNoQixPQUFPLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDO0lBQ25DLENBQUM7SUFDRCxJQUFXLFNBQVMsQ0FBQyxLQUFtQjtRQUNwQyxJQUFJLENBQUMsVUFBVSxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUEyQkQ7OztPQUdHO0lBQ0gsVUFBVSxDQUFDLEtBQVU7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSx5QkFBeUUsQ0FBQztRQUM5RSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDdEIsd0JBQXdCO1lBQ3hCLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNuRCx5QkFBeUIsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDbkMsR0FBRyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDckQsQ0FBQyxDQUFDO1NBQ0w7YUFBTTtZQUNILHlCQUF5QixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUNuQyxHQUFHLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzVCLENBQUMsQ0FBQztTQUNMO1FBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsZUFBZSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQU87UUFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLEVBQUU7WUFDbEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDOUUsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDO1lBQ2pDLElBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFDZixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBQyxxQkFBcUIsQ0FBRSxDQUFDO2FBQ2hGO2lCQUFNLElBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFO2dCQUMvRSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBQyxxQkFBcUIsQ0FBRSxDQUFDO2FBQ25GO1lBQ0QsRUFBRSxFQUFFLENBQUM7UUFDVCxDQUFDLENBQUM7SUFDTixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNNLGdCQUFnQixDQUFDLEVBQXVCO1FBQzdDLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxPQUEwQixFQUFFLEVBQUU7WUFDM0MsTUFBTSxRQUFRLEdBQWUsRUFBRSxDQUFDO1lBQ2hDLE1BQU0sZUFBZSxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUM7WUFDaEQsSUFBSSxlQUFlLEtBQUssU0FBUyxFQUFFO2dCQUMvQixNQUFNLE9BQU8sR0FBRyxlQUFlLENBQUM7Z0JBQ2hDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO29CQUNyQyxNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3ZCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUM1QyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUN0QjthQUNKO2lCQUFNO2dCQUNILE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUM7Z0JBQ2hDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO29CQUNyQyxNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3ZCLElBQUksR0FBRyxDQUFDLFFBQVEsRUFBRTt3QkFDZCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQzt3QkFDNUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztxQkFDdEI7aUJBQ0o7YUFDSjtZQUNELElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDO1lBQ3RCLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNqQixDQUFDLENBQUM7SUFDTixDQUFDO0lBRUQsZ0JBQWdCO0lBQ2hCLGVBQWUsQ0FBQyxLQUE4QjtRQUMxQyxNQUFNLEVBQUUsR0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2xELElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMvQixPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFRCxnQkFBZ0I7SUFDaEIsWUFBWSxDQUFDLEtBQVU7UUFDbkIsS0FBSyxNQUFNLEVBQUUsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRTtZQUNqRCxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUU7Z0JBQUMsT0FBTyxFQUFFLENBQUM7YUFBQztTQUNqRjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxnQkFBZ0I7SUFDaEIsZUFBZSxDQUFDLFdBQW1CO1FBQy9CLE1BQU0sRUFBRSxHQUFXLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMzQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztJQUNuRixDQUFDOztzSkFoSVEscUNBQXFDOzBJQUFyQyxxQ0FBcUMsMFRBSG5DLENBQUMsOEJBQThCLENBQUM7NEZBR2xDLHFDQUFxQztrQkFSakQsU0FBUzttQkFBQztvQkFDUCxRQUFRO29CQUNSLHNFQUFzRTtvQkFDbEUsNEhBQTRIO29CQUNoSSxJQUFJLEVBQUUsRUFBQyxVQUFVLEVBQUUseUJBQXlCLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBQztvQkFDdEUsU0FBUyxFQUFFLENBQUMsOEJBQThCLENBQUM7aUJBQzlDO2lMQU1jLFVBQVU7c0JBRHBCLFdBQVc7dUJBQUMsT0FBTztnQkFRVCxTQUFTO3NCQURuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBmb3J3YXJkUmVmLCBIb3N0QmluZGluZyxcbiAgICBJbmplY3RGbGFncyxcbiAgICBJbmplY3RvcixcbiAgICBJbnB1dCxcbiAgICBQcm92aWRlcixcbiAgICBSZW5kZXJlcjJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICAgIE5HX1ZBTFVFX0FDQ0VTU09SLCBOZ0NvbnRyb2wsXG4gICAgU2VsZWN0TXVsdGlwbGVDb250cm9sVmFsdWVBY2Nlc3NvclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBFdWlTZWxlY3RNdWx0aXBsZU9wdGlvbiB9IGZyb20gJy4vZXVpLXNlbGVjdC1tdXRsaS1vcHRpb24uZGlyZWN0aXZlJztcbmltcG9ydCB7IF9leHRyYWN0SWQgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IEV1aVNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vZXVpLXNlbGVjdC5jb21wb25lbnQnO1xuXG5jb25zdCBTRUxFQ1RfTVVMVElQTEVfVkFMVUVfQUNDRVNTT1I6IFByb3ZpZGVyID0ge1xuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEV1aVNlbGVjdE11bHRpcGxlQ29udHJvbFZhbHVlQWNjZXNzb3IpLFxuICAgIG11bHRpOiB0cnVlXG59O1xuXG4vKiogTW9jayBpbnRlcmZhY2UgZm9yIEhUTUwgT3B0aW9ucyAqL1xuaW50ZXJmYWNlIEhUTUxPcHRpb24ge1xuICAgIHZhbHVlOiBzdHJpbmc7XG4gICAgc2VsZWN0ZWQ6IGJvb2xlYW47XG59XG5cbi8qKiBNb2NrIGludGVyZmFjZSBmb3IgSFRNTENvbGxlY3Rpb24gKi9cbmFic3RyYWN0IGNsYXNzIEhUTUxDb2xsZWN0aW9uIHtcbiAgICAvLyBUT0RPKGlzc3VlLzI0NTcxKTogcmVtb3ZlICchJy5cbiAgICBsZW5ndGghOiBudW1iZXI7XG4gICAgYWJzdHJhY3QgaXRlbShfOiBudW1iZXIpOiBIVE1MT3B0aW9uO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvblxuICogVGhlIGBDb250cm9sVmFsdWVBY2Nlc3NvcmAgZm9yIHdyaXRpbmcgbXVsdGktc2VsZWN0IGNvbnRyb2wgdmFsdWVzIGFuZCBsaXN0ZW5pbmcgdG8gbXVsdGktc2VsZWN0XG4gKiBjb250cm9sIGNoYW5nZXMuIFRoZSB2YWx1ZSBhY2Nlc3NvciBpcyB1c2VkIGJ5IHRoZSBgRm9ybUNvbnRyb2xEaXJlY3RpdmVgLCBgRm9ybUNvbnRyb2xOYW1lYCwgYW5kXG4gKiBgTmdNb2RlbGAgZGlyZWN0aXZlcy5cbiAqXG4gKiBAc2VlIGBFdWlTZWxlY3RDb250cm9sVmFsdWVBY2Nlc3NvcmBcbiAqXG4gKiBAdXNhZ2VOb3Rlc1xuICpcbiAqICMjIyBVc2luZyBhIG11bHRpLXNlbGVjdCBjb250cm9sXG4gKlxuICogVGhlIGZvbGxvdyBleGFtcGxlIHNob3dzIHlvdSBob3cgdG8gdXNlIGEgbXVsdGktc2VsZWN0IGNvbnRyb2wgd2l0aCBhIHJlYWN0aXZlIGZvcm0uXG4gKlxuICogYGBgdHNcbiAqIGNvbnN0IGNvdW50cnlDb250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XG4gKiBgYGBcbiAqXG4gKiBgYGBcbiAqIDxzZWxlY3QgZXVpU2VsZWN0IG11bHRpcGxlIG5hbWU9XCJjb3VudHJpZXNcIiBbZm9ybUNvbnRyb2xdPVwiY291bnRyeUNvbnRyb2xcIj5cbiAqICAgPG9wdGlvbiBldWlPcHRpb24gKm5nRm9yPVwibGV0IGNvdW50cnkgb2YgY291bnRyaWVzXCIgW25nVmFsdWVdPVwiY291bnRyeVwiPlxuICogICAgIHt7IGNvdW50cnkubmFtZSB9fVxuICogICA8L29wdGlvbj5cbiAqIDwvc2VsZWN0PlxuICogYGBgXG4gKlxuICogIyMjIEN1c3RvbWl6aW5nIG9wdGlvbiBzZWxlY3Rpb25cbiAqXG4gKiBUbyBjdXN0b21pemUgdGhlIGRlZmF1bHQgb3B0aW9uIGNvbXBhcmlzb24gYWxnb3JpdGhtLCBgPHNlbGVjdD5gIHN1cHBvcnRzIGBjb21wYXJlV2l0aGAgaW5wdXQuXG4gKiBTZWUgdGhlIGBTZWxlY3RDb250cm9sVmFsdWVBY2Nlc3NvcmAgZm9yIHVzYWdlLlxuICpcbiAqIEBuZ01vZHVsZSBSZWFjdGl2ZUZvcm1zTW9kdWxlXG4gKiBAbmdNb2R1bGUgRm9ybXNNb2R1bGVcbiAqIEBwdWJsaWNBcGlcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3IsbWF4LWxlblxuICAgICAgICAnc2VsZWN0W211bHRpcGxlXVtmb3JtQ29udHJvbE5hbWVdW2V1aVNlbGVjdF0sc2VsZWN0W211bHRpcGxlXVtmb3JtQ29udHJvbF1bZXVpU2VsZWN0XSxzZWxlY3RbbXVsdGlwbGVdW25nTW9kZWxdW2V1aVNlbGVjdF0nLFxuICAgIGhvc3Q6IHsnKGNoYW5nZSknOiAnb25DaGFuZ2UoJGV2ZW50LnRhcmdldCknLCAnKGJsdXIpJzogJ29uVG91Y2hlZCgpJ30sXG4gICAgcHJvdmlkZXJzOiBbU0VMRUNUX01VTFRJUExFX1ZBTFVFX0FDQ0VTU09SXVxufSlcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLWNsYXNzLXN1ZmZpeFxuZXhwb3J0IGNsYXNzIEV1aVNlbGVjdE11bHRpcGxlQ29udHJvbFZhbHVlQWNjZXNzb3IgZXh0ZW5kcyBTZWxlY3RNdWx0aXBsZUNvbnRyb2xWYWx1ZUFjY2Vzc29yIGltcGxlbWVudHNcbiAgICBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBwdWJsaWMgZ2V0IGNzc0NsYXNzZXMoKTogYW55IHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICdldWktc2VsZWN0JyxcbiAgICAgICAgICAgIHRoaXMuX2lzSW52YWxpZCA/IGBldWktc2VsZWN0LS1pbnZhbGlkYCA6ICcnLFxuICAgICAgICBdLmpvaW4oJyAnKS50cmltKCk7XG4gICAgfVxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdldCBpc0ludmFsaWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc0ludmFsaWQgfHwgbnVsbDtcbiAgICB9XG4gICAgcHVibGljIHNldCBpc0ludmFsaWQoc3RhdGU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9pc0ludmFsaWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkoc3RhdGUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBjdXJyZW50IHZhbHVlLlxuICAgICAqIEBub2RvY1xuICAgICAqL1xuICAgIHZhbHVlOiBhbnk7XG5cbiAgICAvKiogQGludGVybmFsICovXG4gICAgX29wdGlvbk1hcDogTWFwPHN0cmluZywgRXVpU2VsZWN0TXVsdGlwbGVPcHRpb24+ID0gbmV3IE1hcDxzdHJpbmcsIEV1aVNlbGVjdE11bHRpcGxlT3B0aW9uPigpO1xuXG4gICAgLyoqIEBpbnRlcm5hbCAqL1xuICAgIF9pZENvdW50ZXI6IG51bWJlciA9IDA7XG4gICAgcHJvdGVjdGVkIF9pc0ludmFsaWQ6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmO1xuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMjtcbiAgICBwcml2YXRlIGNvbnRyb2w6IE5nQ29udHJvbDtcblxuICAgIGNvbnN0cnVjdG9yKF9yZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICAgICAgICAgIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgc2VsZWN0Q29tcG9uZW50OiBFdWlTZWxlY3RDb21wb25lbnQpIHtcbiAgICAgICAgc3VwZXIoX3JlbmRlcmVyLCBfZWxlbWVudFJlZik7XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZiA9IF9lbGVtZW50UmVmO1xuICAgICAgICB0aGlzLnJlbmRlcmVyID0gX3JlbmRlcmVyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIFwidmFsdWVcIiBwcm9wZXJ0eSBvbiBvbmUgb3Igb2YgbW9yZSBvZiB0aGUgc2VsZWN0J3Mgb3B0aW9ucy5cbiAgICAgKiBAbm9kb2NcbiAgICAgKi9cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgICBsZXQgb3B0aW9uU2VsZWN0ZWRTdGF0ZVNldHRlcjogKG9wdDogRXVpU2VsZWN0TXVsdGlwbGVPcHRpb24sIG86IGFueSkgPT4gdm9pZDtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgICAvLyBjb252ZXJ0IHZhbHVlcyB0byBpZHNcbiAgICAgICAgICAgIGNvbnN0IGlkcyA9IHZhbHVlLm1hcCgodikgPT4gdGhpcy5fZ2V0T3B0aW9uSWQodikpO1xuICAgICAgICAgICAgb3B0aW9uU2VsZWN0ZWRTdGF0ZVNldHRlciA9IChvcHQsIG8pID0+IHtcbiAgICAgICAgICAgICAgICBvcHQuX3NldFNlbGVjdGVkKGlkcy5pbmRleE9mKG8udG9TdHJpbmcoKSkgPiAtMSk7XG4gICAgICAgICAgICB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgb3B0aW9uU2VsZWN0ZWRTdGF0ZVNldHRlciA9IChvcHQsIG8pID0+IHtcbiAgICAgICAgICAgICAgICBvcHQuX3NldFNlbGVjdGVkKGZhbHNlKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fb3B0aW9uTWFwLmZvckVhY2gob3B0aW9uU2VsZWN0ZWRTdGF0ZVNldHRlcik7XG4gICAgICAgIHRoaXMuc2VsZWN0Q29tcG9uZW50LnN5bmNSZWFkT25seVZhbHVlKCk7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9ICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmluamVjdG9yLmdldChOZ0NvbnRyb2wsIHVuZGVmaW5lZCwgSW5qZWN0RmxhZ3MuT3B0aW9uYWwpO1xuICAgICAgICAgICAgdGhpcy5pc0ludmFsaWQgPSBjb250cm9sLmludmFsaWQ7XG4gICAgICAgICAgICBpZih0aGlzLmlzSW52YWxpZCkge1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsYGV1aS1zZWxlY3QtLWludmFsaWRgICk7XG4gICAgICAgICAgICB9IGVsc2UgaWYodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdldWktc2VsZWN0LS1pbnZhbGlkJykpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LGBldWktc2VsZWN0LS1pbnZhbGlkYCApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZm4oKTtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZWdpc3RlcnMgYSBmdW5jdGlvbiBjYWxsZWQgd2hlbiB0aGUgY29udHJvbCB2YWx1ZSBjaGFuZ2VzXG4gICAgICogYW5kIHdyaXRlcyBhbiBhcnJheSBvZiB0aGUgc2VsZWN0ZWQgb3B0aW9ucy5cbiAgICAgKiBAbm9kb2NcbiAgICAgKi9cbiAgICBvdmVycmlkZSByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IGFueSkgPT4gYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSAoZWxlbWVudDogSFRNTFNlbGVjdEVsZW1lbnQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkOiBBcnJheTxhbnk+ID0gW107XG4gICAgICAgICAgICBjb25zdCBzZWxlY3RlZE9wdGlvbnMgPSBlbGVtZW50LnNlbGVjdGVkT3B0aW9ucztcbiAgICAgICAgICAgIGlmIChzZWxlY3RlZE9wdGlvbnMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSBzZWxlY3RlZE9wdGlvbnM7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBvcHRpb25zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG9wdCA9IG9wdGlvbnNbaV07XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHZhbCA9IHRoaXMuX2dldE9wdGlvblZhbHVlKG9wdC52YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkLnB1c2godmFsKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSBlbGVtZW50Lm9wdGlvbnM7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBvcHRpb25zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG9wdCA9IG9wdGlvbnNbaV07XG4gICAgICAgICAgICAgICAgICAgIGlmIChvcHQuc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZhbCA9IHRoaXMuX2dldE9wdGlvblZhbHVlKG9wdC52YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZC5wdXNoKHZhbCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gc2VsZWN0ZWQ7XG4gICAgICAgICAgICBmbihzZWxlY3RlZCk7XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqIEBpbnRlcm5hbCAqL1xuICAgIF9yZWdpc3Rlck9wdGlvbih2YWx1ZTogRXVpU2VsZWN0TXVsdGlwbGVPcHRpb24pOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBpZDogc3RyaW5nID0gKHRoaXMuX2lkQ291bnRlcisrKS50b1N0cmluZygpO1xuICAgICAgICB0aGlzLl9vcHRpb25NYXAuc2V0KGlkLCB2YWx1ZSk7XG4gICAgICAgIHJldHVybiBpZDtcbiAgICB9XG5cbiAgICAvKiogQGludGVybmFsICovXG4gICAgX2dldE9wdGlvbklkKHZhbHVlOiBhbnkpOiBzdHJpbmd8bnVsbCB7XG4gICAgICAgIGZvciAoY29uc3QgaWQgb2YgQXJyYXkuZnJvbSh0aGlzLl9vcHRpb25NYXAua2V5cygpKSkge1xuICAgICAgICAgICAgaWYgKHRoaXNbJ19jb21wYXJlV2l0aCddKHRoaXMuX29wdGlvbk1hcC5nZXQoaWQpIS5fdmFsdWUsIHZhbHVlKSkge3JldHVybiBpZDt9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLyoqIEBpbnRlcm5hbCAqL1xuICAgIF9nZXRPcHRpb25WYWx1ZSh2YWx1ZVN0cmluZzogc3RyaW5nKTogYW55IHtcbiAgICAgICAgY29uc3QgaWQ6IHN0cmluZyA9IF9leHRyYWN0SWQodmFsdWVTdHJpbmcpO1xuICAgICAgICByZXR1cm4gdGhpcy5fb3B0aW9uTWFwLmhhcyhpZCkgPyB0aGlzLl9vcHRpb25NYXAuZ2V0KGlkKSEuX3ZhbHVlIDogdmFsdWVTdHJpbmc7XG4gICAgfVxuXG59XG4iXX0=
181
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLXNlbGVjdC1tdWx0aXBsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9ldWktc2VsZWN0L2V1aS1zZWxlY3QtbXVsdGlwbGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBRVQsVUFBVSxFQUFFLFdBQVcsRUFDdkIsV0FBVyxFQUVYLEtBQUssRUFDTCxRQUFRLEdBR1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUVILGlCQUFpQixFQUFFLFNBQVMsRUFDNUIsa0NBQWtDLEVBQ3JDLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNyQyxPQUFPLEVBQWdCLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7OztBQUc1RSxNQUFNLDhCQUE4QixHQUFhO0lBQzdDLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQ0FBcUMsQ0FBQztJQUNwRSxLQUFLLEVBQUUsSUFBSTtDQUNkLENBQUM7QUFRRix3Q0FBd0M7QUFDeEMsTUFBZSxjQUFjO0NBSTVCO0FBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQ0c7QUFRSCxrRUFBa0U7QUFDbEUsTUFBTSxPQUFPLHFDQUFzQyxTQUFRLGtDQUFrQztJQWtDekYsWUFBWSxTQUFvQixFQUNwQixXQUF1QixFQUNmLFFBQWtCLEVBQ04sZUFBbUM7UUFDL0QsS0FBSyxDQUFDLFNBQVMsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUZkLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDTixvQkFBZSxHQUFmLGVBQWUsQ0FBb0I7UUFibkUsZ0JBQWdCO1FBQ2hCLGVBQVUsR0FBeUMsSUFBSSxHQUFHLEVBQW1DLENBQUM7UUFFOUYsZ0JBQWdCO1FBQ2hCLGVBQVUsR0FBVyxDQUFDLENBQUM7UUFXbkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxXQUFXLENBQUM7UUFDOUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUM7SUFDOUIsQ0FBQztJQXRDRCxJQUNXLFVBQVU7UUFDakIsT0FBTztZQUNILFlBQVk7WUFDWixJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsRUFBRTtTQUMvQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBQ0QsSUFDVyxTQUFTO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUM7SUFDbkMsQ0FBQztJQUNELElBQVcsU0FBUyxDQUFDLEtBQW1CO1FBQ3BDLElBQUksQ0FBQyxVQUFVLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQTJCRDs7O09BR0c7SUFDSCxVQUFVLENBQUMsS0FBVTtRQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLHlCQUF5RSxDQUFDO1FBQzlFLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN0Qix3QkFBd0I7WUFDeEIsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ25ELHlCQUF5QixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUNuQyxHQUFHLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyRCxDQUFDLENBQUM7U0FDTDthQUFNO1lBQ0gseUJBQXlCLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ25DLEdBQUcsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUIsQ0FBQyxDQUFDO1NBQ0w7UUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQztJQUM5QyxDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBTztRQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsRUFBRTtZQUNsQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM5RSxJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUM7WUFDakMsSUFBRyxJQUFJLENBQUMsU0FBUyxFQUFFO2dCQUNmLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFDLHFCQUFxQixDQUFFLENBQUM7YUFDaEY7aUJBQU0sSUFBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLHFCQUFxQixDQUFDLEVBQUU7Z0JBQy9FLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFDLHFCQUFxQixDQUFFLENBQUM7YUFDbkY7WUFDRCxFQUFFLEVBQUUsQ0FBQztRQUNULENBQUMsQ0FBQztJQUNOLENBQUM7SUFFRDs7OztPQUlHO0lBQ00sZ0JBQWdCLENBQUMsRUFBdUI7UUFDN0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLE9BQTBCLEVBQUUsRUFBRTtZQUMzQyxNQUFNLFFBQVEsR0FBZSxFQUFFLENBQUM7WUFDaEMsTUFBTSxlQUFlLEdBQUcsT0FBTyxDQUFDLGVBQWUsQ0FBQztZQUNoRCxJQUFJLGVBQWUsS0FBSyxTQUFTLEVBQUU7Z0JBQy9CLE1BQU0sT0FBTyxHQUFHLGVBQWUsQ0FBQztnQkFDaEMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7b0JBQ3JDLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDdkIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQzVDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQ3RCO2FBQ0o7aUJBQU07Z0JBQ0gsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQztnQkFDaEMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7b0JBQ3JDLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDdkIsSUFBSSxHQUFHLENBQUMsUUFBUSxFQUFFO3dCQUNkLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO3dCQUM1QyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO3FCQUN0QjtpQkFDSjthQUNKO1lBQ0QsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUM7WUFDdEIsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2pCLENBQUMsQ0FBQztJQUNOLENBQUM7SUFFRCxnQkFBZ0I7SUFDaEIsZUFBZSxDQUFDLEtBQThCO1FBQzFDLE1BQU0sRUFBRSxHQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQy9CLE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUVELGdCQUFnQjtJQUNoQixZQUFZLENBQUMsS0FBVTtRQUNuQixLQUFLLE1BQU0sRUFBRSxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFO1lBQ2pELElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBRSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBRTtnQkFBQyxPQUFPLEVBQUUsQ0FBQzthQUFDO1NBQ2pGO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELGdCQUFnQjtJQUNoQixlQUFlLENBQUMsV0FBbUI7UUFDL0IsTUFBTSxFQUFFLEdBQVcsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzNDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO0lBQ25GLENBQUM7O3NKQWhJUSxxQ0FBcUM7MElBQXJDLHFDQUFxQywwVEFIbkMsQ0FBQyw4QkFBOEIsQ0FBQzs0RkFHbEMscUNBQXFDO2tCQVJqRCxTQUFTO21CQUFDO29CQUNQLFFBQVE7b0JBQ1Isc0VBQXNFO29CQUNsRSw0SEFBNEg7b0JBQ2hJLElBQUksRUFBRSxFQUFDLFVBQVUsRUFBRSx5QkFBeUIsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFDO29CQUN0RSxTQUFTLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQztpQkFDOUM7OzBCQXVDZ0IsUUFBUTs0Q0FqQ1YsVUFBVTtzQkFEcEIsV0FBVzt1QkFBQyxPQUFPO2dCQVFULFNBQVM7c0JBRG5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIGZvcndhcmRSZWYsIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdEZsYWdzLFxuICAgIEluamVjdG9yLFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIFByb3ZpZGVyLFxuICAgIFJlbmRlcmVyMixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICAgIE5HX1ZBTFVFX0FDQ0VTU09SLCBOZ0NvbnRyb2wsXG4gICAgU2VsZWN0TXVsdGlwbGVDb250cm9sVmFsdWVBY2Nlc3NvclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBFdWlTZWxlY3RNdWx0aXBsZU9wdGlvbiB9IGZyb20gJy4vZXVpLXNlbGVjdC1tdXRsaS1vcHRpb24uZGlyZWN0aXZlJztcbmltcG9ydCB7IF9leHRyYWN0SWQgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IEV1aVNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vZXVpLXNlbGVjdC5jb21wb25lbnQnO1xuXG5jb25zdCBTRUxFQ1RfTVVMVElQTEVfVkFMVUVfQUNDRVNTT1I6IFByb3ZpZGVyID0ge1xuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEV1aVNlbGVjdE11bHRpcGxlQ29udHJvbFZhbHVlQWNjZXNzb3IpLFxuICAgIG11bHRpOiB0cnVlXG59O1xuXG4vKiogTW9jayBpbnRlcmZhY2UgZm9yIEhUTUwgT3B0aW9ucyAqL1xuaW50ZXJmYWNlIEhUTUxPcHRpb24ge1xuICAgIHZhbHVlOiBzdHJpbmc7XG4gICAgc2VsZWN0ZWQ6IGJvb2xlYW47XG59XG5cbi8qKiBNb2NrIGludGVyZmFjZSBmb3IgSFRNTENvbGxlY3Rpb24gKi9cbmFic3RyYWN0IGNsYXNzIEhUTUxDb2xsZWN0aW9uIHtcbiAgICAvLyBUT0RPKGlzc3VlLzI0NTcxKTogcmVtb3ZlICchJy5cbiAgICBsZW5ndGghOiBudW1iZXI7XG4gICAgYWJzdHJhY3QgaXRlbShfOiBudW1iZXIpOiBIVE1MT3B0aW9uO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvblxuICogVGhlIGBDb250cm9sVmFsdWVBY2Nlc3NvcmAgZm9yIHdyaXRpbmcgbXVsdGktc2VsZWN0IGNvbnRyb2wgdmFsdWVzIGFuZCBsaXN0ZW5pbmcgdG8gbXVsdGktc2VsZWN0XG4gKiBjb250cm9sIGNoYW5nZXMuIFRoZSB2YWx1ZSBhY2Nlc3NvciBpcyB1c2VkIGJ5IHRoZSBgRm9ybUNvbnRyb2xEaXJlY3RpdmVgLCBgRm9ybUNvbnRyb2xOYW1lYCwgYW5kXG4gKiBgTmdNb2RlbGAgZGlyZWN0aXZlcy5cbiAqXG4gKiBAc2VlIGBFdWlTZWxlY3RDb250cm9sVmFsdWVBY2Nlc3NvcmBcbiAqXG4gKiBAdXNhZ2VOb3Rlc1xuICpcbiAqICMjIyBVc2luZyBhIG11bHRpLXNlbGVjdCBjb250cm9sXG4gKlxuICogVGhlIGZvbGxvdyBleGFtcGxlIHNob3dzIHlvdSBob3cgdG8gdXNlIGEgbXVsdGktc2VsZWN0IGNvbnRyb2wgd2l0aCBhIHJlYWN0aXZlIGZvcm0uXG4gKlxuICogYGBgdHNcbiAqIGNvbnN0IGNvdW50cnlDb250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XG4gKiBgYGBcbiAqXG4gKiBgYGBcbiAqIDxzZWxlY3QgZXVpU2VsZWN0IG11bHRpcGxlIG5hbWU9XCJjb3VudHJpZXNcIiBbZm9ybUNvbnRyb2xdPVwiY291bnRyeUNvbnRyb2xcIj5cbiAqICAgPG9wdGlvbiBldWlPcHRpb24gKm5nRm9yPVwibGV0IGNvdW50cnkgb2YgY291bnRyaWVzXCIgW25nVmFsdWVdPVwiY291bnRyeVwiPlxuICogICAgIHt7IGNvdW50cnkubmFtZSB9fVxuICogICA8L29wdGlvbj5cbiAqIDwvc2VsZWN0PlxuICogYGBgXG4gKlxuICogIyMjIEN1c3RvbWl6aW5nIG9wdGlvbiBzZWxlY3Rpb25cbiAqXG4gKiBUbyBjdXN0b21pemUgdGhlIGRlZmF1bHQgb3B0aW9uIGNvbXBhcmlzb24gYWxnb3JpdGhtLCBgPHNlbGVjdD5gIHN1cHBvcnRzIGBjb21wYXJlV2l0aGAgaW5wdXQuXG4gKiBTZWUgdGhlIGBTZWxlY3RDb250cm9sVmFsdWVBY2Nlc3NvcmAgZm9yIHVzYWdlLlxuICpcbiAqIEBuZ01vZHVsZSBSZWFjdGl2ZUZvcm1zTW9kdWxlXG4gKiBAbmdNb2R1bGUgRm9ybXNNb2R1bGVcbiAqIEBwdWJsaWNBcGlcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3IsbWF4LWxlblxuICAgICAgICAnc2VsZWN0W211bHRpcGxlXVtmb3JtQ29udHJvbE5hbWVdW2V1aVNlbGVjdF0sc2VsZWN0W211bHRpcGxlXVtmb3JtQ29udHJvbF1bZXVpU2VsZWN0XSxzZWxlY3RbbXVsdGlwbGVdW25nTW9kZWxdW2V1aVNlbGVjdF0nLFxuICAgIGhvc3Q6IHsnKGNoYW5nZSknOiAnb25DaGFuZ2UoJGV2ZW50LnRhcmdldCknLCAnKGJsdXIpJzogJ29uVG91Y2hlZCgpJ30sXG4gICAgcHJvdmlkZXJzOiBbU0VMRUNUX01VTFRJUExFX1ZBTFVFX0FDQ0VTU09SXVxufSlcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLWNsYXNzLXN1ZmZpeFxuZXhwb3J0IGNsYXNzIEV1aVNlbGVjdE11bHRpcGxlQ29udHJvbFZhbHVlQWNjZXNzb3IgZXh0ZW5kcyBTZWxlY3RNdWx0aXBsZUNvbnRyb2xWYWx1ZUFjY2Vzc29yIGltcGxlbWVudHNcbiAgICBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBwdWJsaWMgZ2V0IGNzc0NsYXNzZXMoKTogYW55IHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICdldWktc2VsZWN0JyxcbiAgICAgICAgICAgIHRoaXMuX2lzSW52YWxpZCA/IGBldWktc2VsZWN0LS1pbnZhbGlkYCA6ICcnLFxuICAgICAgICBdLmpvaW4oJyAnKS50cmltKCk7XG4gICAgfVxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdldCBpc0ludmFsaWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc0ludmFsaWQgfHwgbnVsbDtcbiAgICB9XG4gICAgcHVibGljIHNldCBpc0ludmFsaWQoc3RhdGU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9pc0ludmFsaWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkoc3RhdGUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBjdXJyZW50IHZhbHVlLlxuICAgICAqIEBub2RvY1xuICAgICAqL1xuICAgIHZhbHVlOiBhbnk7XG5cbiAgICAvKiogQGludGVybmFsICovXG4gICAgX29wdGlvbk1hcDogTWFwPHN0cmluZywgRXVpU2VsZWN0TXVsdGlwbGVPcHRpb24+ID0gbmV3IE1hcDxzdHJpbmcsIEV1aVNlbGVjdE11bHRpcGxlT3B0aW9uPigpO1xuXG4gICAgLyoqIEBpbnRlcm5hbCAqL1xuICAgIF9pZENvdW50ZXI6IG51bWJlciA9IDA7XG4gICAgcHJvdGVjdGVkIF9pc0ludmFsaWQ6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmO1xuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMjtcbiAgICBwcml2YXRlIGNvbnRyb2w6IE5nQ29udHJvbDtcblxuICAgIGNvbnN0cnVjdG9yKF9yZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICAgICAgICAgIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgc2VsZWN0Q29tcG9uZW50OiBFdWlTZWxlY3RDb21wb25lbnQpIHtcbiAgICAgICAgc3VwZXIoX3JlbmRlcmVyLCBfZWxlbWVudFJlZik7XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZiA9IF9lbGVtZW50UmVmO1xuICAgICAgICB0aGlzLnJlbmRlcmVyID0gX3JlbmRlcmVyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIFwidmFsdWVcIiBwcm9wZXJ0eSBvbiBvbmUgb3Igb2YgbW9yZSBvZiB0aGUgc2VsZWN0J3Mgb3B0aW9ucy5cbiAgICAgKiBAbm9kb2NcbiAgICAgKi9cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgICBsZXQgb3B0aW9uU2VsZWN0ZWRTdGF0ZVNldHRlcjogKG9wdDogRXVpU2VsZWN0TXVsdGlwbGVPcHRpb24sIG86IGFueSkgPT4gdm9pZDtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgICAvLyBjb252ZXJ0IHZhbHVlcyB0byBpZHNcbiAgICAgICAgICAgIGNvbnN0IGlkcyA9IHZhbHVlLm1hcCgodikgPT4gdGhpcy5fZ2V0T3B0aW9uSWQodikpO1xuICAgICAgICAgICAgb3B0aW9uU2VsZWN0ZWRTdGF0ZVNldHRlciA9IChvcHQsIG8pID0+IHtcbiAgICAgICAgICAgICAgICBvcHQuX3NldFNlbGVjdGVkKGlkcy5pbmRleE9mKG8udG9TdHJpbmcoKSkgPiAtMSk7XG4gICAgICAgICAgICB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgb3B0aW9uU2VsZWN0ZWRTdGF0ZVNldHRlciA9IChvcHQsIG8pID0+IHtcbiAgICAgICAgICAgICAgICBvcHQuX3NldFNlbGVjdGVkKGZhbHNlKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fb3B0aW9uTWFwLmZvckVhY2gob3B0aW9uU2VsZWN0ZWRTdGF0ZVNldHRlcik7XG4gICAgICAgIHRoaXMuc2VsZWN0Q29tcG9uZW50Py5zeW5jUmVhZE9ubHlWYWx1ZSgpO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb250cm9sID0gdGhpcy5pbmplY3Rvci5nZXQoTmdDb250cm9sLCB1bmRlZmluZWQsIEluamVjdEZsYWdzLk9wdGlvbmFsKTtcbiAgICAgICAgICAgIHRoaXMuaXNJbnZhbGlkID0gY29udHJvbC5pbnZhbGlkO1xuICAgICAgICAgICAgaWYodGhpcy5pc0ludmFsaWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LGBldWktc2VsZWN0LS1pbnZhbGlkYCApO1xuICAgICAgICAgICAgfSBlbHNlIGlmKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnZXVpLXNlbGVjdC0taW52YWxpZCcpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxgZXVpLXNlbGVjdC0taW52YWxpZGAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZuKCk7XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVnaXN0ZXJzIGEgZnVuY3Rpb24gY2FsbGVkIHdoZW4gdGhlIGNvbnRyb2wgdmFsdWUgY2hhbmdlc1xuICAgICAqIGFuZCB3cml0ZXMgYW4gYXJyYXkgb2YgdGhlIHNlbGVjdGVkIG9wdGlvbnMuXG4gICAgICogQG5vZG9jXG4gICAgICovXG4gICAgb3ZlcnJpZGUgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBhbnkpID0+IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gKGVsZW1lbnQ6IEhUTUxTZWxlY3RFbGVtZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzZWxlY3RlZDogQXJyYXk8YW55PiA9IFtdO1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRPcHRpb25zID0gZWxlbWVudC5zZWxlY3RlZE9wdGlvbnM7XG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWRPcHRpb25zICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBvcHRpb25zID0gc2VsZWN0ZWRPcHRpb25zO1xuICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgb3B0aW9ucy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBvcHQgPSBvcHRpb25zW2ldO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWwgPSB0aGlzLl9nZXRPcHRpb25WYWx1ZShvcHQudmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZC5wdXNoKHZhbCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBvcHRpb25zID0gZWxlbWVudC5vcHRpb25zO1xuICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgb3B0aW9ucy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBvcHQgPSBvcHRpb25zW2ldO1xuICAgICAgICAgICAgICAgICAgICBpZiAob3B0LnNlbGVjdGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWwgPSB0aGlzLl9nZXRPcHRpb25WYWx1ZShvcHQudmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQucHVzaCh2YWwpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHNlbGVjdGVkO1xuICAgICAgICAgICAgZm4oc2VsZWN0ZWQpO1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIC8qKiBAaW50ZXJuYWwgKi9cbiAgICBfcmVnaXN0ZXJPcHRpb24odmFsdWU6IEV1aVNlbGVjdE11bHRpcGxlT3B0aW9uKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgaWQ6IHN0cmluZyA9ICh0aGlzLl9pZENvdW50ZXIrKykudG9TdHJpbmcoKTtcbiAgICAgICAgdGhpcy5fb3B0aW9uTWFwLnNldChpZCwgdmFsdWUpO1xuICAgICAgICByZXR1cm4gaWQ7XG4gICAgfVxuXG4gICAgLyoqIEBpbnRlcm5hbCAqL1xuICAgIF9nZXRPcHRpb25JZCh2YWx1ZTogYW55KTogc3RyaW5nfG51bGwge1xuICAgICAgICBmb3IgKGNvbnN0IGlkIG9mIEFycmF5LmZyb20odGhpcy5fb3B0aW9uTWFwLmtleXMoKSkpIHtcbiAgICAgICAgICAgIGlmICh0aGlzWydfY29tcGFyZVdpdGgnXSh0aGlzLl9vcHRpb25NYXAuZ2V0KGlkKSEuX3ZhbHVlLCB2YWx1ZSkpIHtyZXR1cm4gaWQ7fVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIC8qKiBAaW50ZXJuYWwgKi9cbiAgICBfZ2V0T3B0aW9uVmFsdWUodmFsdWVTdHJpbmc6IHN0cmluZyk6IGFueSB7XG4gICAgICAgIGNvbnN0IGlkOiBzdHJpbmcgPSBfZXh0cmFjdElkKHZhbHVlU3RyaW5nKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuX29wdGlvbk1hcC5oYXMoaWQpID8gdGhpcy5fb3B0aW9uTWFwLmdldChpZCkhLl92YWx1ZSA6IHZhbHVlU3RyaW5nO1xuICAgIH1cblxufVxuIl19
@@ -41,7 +41,7 @@ export class EuiNgSelectOptionDirective extends NgSelectOption {
41
41
  this._selected = coerceBooleanProperty(value);
42
42
  }
43
43
  ngAfterViewInit() {
44
- this.selectComponent.syncReadOnlyValue();
44
+ this.selectComponent?.syncReadOnlyValue();
45
45
  if (this.selectNative && this.select && this.selectNative.value !== this.select.value) {
46
46
  // TODO: This causes issues when options array change from N to 1 and the option 1 is set through setValue()
47
47
  // Investigate what are the regressions from the disable of this. Issue is that the Native control
@@ -110,4 +110,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
110
110
  }], ngValue: [{
111
111
  type: Input
112
112
  }] } });
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLXNlbGVjdC1vcHRpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vZXVpLXNlbGVjdC9ldWktc2VsZWN0LW9wdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQWMsSUFBSSxFQUFFLEtBQUssRUFBd0IsUUFBUSxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUM1SSxPQUFPLEVBQUUsY0FBYyxFQUE4QixNQUFNLGdCQUFnQixDQUFDO0FBRzVFLE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7QUFFNUUsU0FBUyxpQkFBaUIsQ0FBQyxFQUFVLEVBQUUsS0FBVTtJQUM3QyxJQUFJLEVBQUUsSUFBSSxJQUFJLEVBQUU7UUFDWixPQUFPLEdBQUcsS0FBSyxFQUFFLENBQUM7S0FDckI7SUFDRCxJQUFJLEtBQUssSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7UUFDcEMsS0FBSyxHQUFHLFFBQVEsQ0FBQztLQUNwQjtJQUNELE9BQU8sR0FBRyxFQUFFLEtBQUssS0FBSyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUMxQyxDQUFDO0FBRUQ7Ozs7Ozs7OztHQVNHO0FBQ0gsOERBQThEO0FBRTlELE1BQU0sT0FBTywwQkFBMkIsU0FBUSxjQUFjO0lBa0IxRCxZQUNJLFFBQW9CLEVBQ3BCLFNBQW9CLEVBQ0EsT0FBc0MsRUFDdEMsYUFBeUMsRUFDekMsZ0JBQW9DO1FBRXhELEtBQUssQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxZQUFZLEdBQUcsYUFBYSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxlQUFlLEdBQUcsZ0JBQWdCLENBQUM7UUFDeEMsSUFBSSxDQUFDLE9B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dmUsIEVsZW1lbnRSZWYsIEhvc3QsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT3B0aW9uYWwsIFJlbmRlcmVyMiwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdTZWxlY3RPcHRpb24sIFNlbGVjdENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRXVpU2VsZWN0Q29udHJvbFZhbHVlQWNjZXNzb3IgfSBmcm9tICcuL2V1aS1zZWxlY3QtY29udHJvbC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRXVpU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9ldWktc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5cbmZ1bmN0aW9uIF9idWlsZFZhbHVlU3RyaW5nKGlkOiBzdHJpbmcsIHZhbHVlOiBhbnkpOiBzdHJpbmcge1xuICAgIGlmIChpZCA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiBgJHt2YWx1ZX1gO1xuICAgIH1cbiAgICBpZiAodmFsdWUgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0Jykge1xuICAgICAgICB2YWx1ZSA9ICdPYmplY3QnO1xuICAgIH1cbiAgICByZXR1cm4gYCR7aWR9OiAke3ZhbHVlfWAuc2xpY2UoMCwgNTApO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvblxuICogTWFya3MgYDxvcHRpb24+YCBhcyBkeW5hbWljLCBzbyBBbmd1bGFyIGNhbiBiZSBub3RpZmllZCB3aGVuIG9wdGlvbnMgY2hhbmdlLlxuICpcbiAqIEBzZWUgYEV1aVNlbGVjdENvbnRyb2xWYWx1ZUFjY2Vzc29yYFxuICpcbiAqIEBuZ01vZHVsZSBSZWFjdGl2ZUZvcm1zTW9kdWxlXG4gKiBAbmdNb2R1bGUgRm9ybXNNb2R1bGVcbiAqIEBwdWJsaWNBcGlcbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbkBEaXJlY3RpdmUoe3NlbGVjdG9yOiAnb3B0aW9uLCBvcHRpb25bZXVpT3B0aW9uXSd9KVxuZXhwb3J0IGNsYXNzIEV1aU5nU2VsZWN0T3B0aW9uRGlyZWN0aXZlIGV4dGVuZHMgTmdTZWxlY3RPcHRpb24gaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQElucHV0KClcbiAgICBnZXQgc2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZDtcbiAgICB9XG4gICAgc2V0IHNlbGVjdGVkKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5fc2VsZWN0ZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XG5cbiAgICBwcml2YXRlIF9zZWxlY3RlZDogYm9vbGVhbjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlbGVjdDogRXVpU2VsZWN0Q29udHJvbFZhbHVlQWNjZXNzb3I7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzZWxlY3ROYXRpdmU6IFNlbGVjdENvbnRyb2xWYWx1ZUFjY2Vzc29yO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc2VsZWN0Q29tcG9uZW50OiBFdWlTZWxlY3RDb21wb25lbnQ7XG4gICAgcHJpdmF0ZSBlbGVtZW50OiBFbGVtZW50UmVmPEhUTUxPcHRpb25FbGVtZW50PjtcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjI7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgX2VsZW1lbnQ6IEVsZW1lbnRSZWYsXG4gICAgICAgIF9yZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBAT3B0aW9uYWwoKSBASG9zdCgpIF9zZWxlY3Q6IEV1aVNlbGVjdENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICAgICAgICBAT3B0aW9uYWwoKSBASG9zdCgpIF9zZWxlY3ROYXRpdmU6IFNlbGVjdENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICAgICAgICBAT3B0aW9uYWwoKSBASG9zdCgpIF9zZWxlY3RDb21wb25lbnQ6IEV1aVNlbGVjdENvbXBvbmVudFxuICAgICkge1xuICAgICAgICBzdXBlcihfZWxlbWVudCwgX3JlbmRlcmVyLCBfc2VsZWN0KTtcbiAgICAgICAgdGhpcy5zZWxlY3QgPSBfc2VsZWN0O1xuICAgICAgICB0aGlzLnNlbGVjdE5hdGl2ZSA9IF9zZWxlY3ROYXRpdmU7XG4gICAgICAgIHRoaXMuc2VsZWN0Q29tcG9uZW50ID0gX3NlbGVjdENvbXBvbmVudDtcbiAgICAgICAgdGhpcy5lbGVtZW50ID0gX2VsZW1lbnQ7XG4gICAgICAgIHRoaXMucmVuZGVyZXIgPSBfcmVuZGVyZXI7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdENvbXBvbmVudC5zeW5jUmVhZE9ubHlWYWx1ZSgpO1xuICAgICAgICBpZiAodGhpcy5zZWxlY3ROYXRpdmUgJiYgdGhpcy5zZWxlY3QgJiYgdGhpcy5zZWxlY3ROYXRpdmUudmFsdWUgIT09IHRoaXMuc2VsZWN0LnZhbHVlKSB7XG4gICAgICAgICAgICAvLyBUT0RPOiBUaGlzIGNhdXNlcyBpc3N1ZXMgd2hlbiBvcHRpb25zIGFycmF5IGNoYW5nZSBmcm9tIE4gdG8gMSBhbmQgdGhlIG9wdGlvbiAxIGlzIHNldCB0aHJvdWdoIHNldFZhbHVlKClcbiAgICAgICAgICAgIC8vICAgICAgIEludmVzdGlnYXRlIHdoYXQgYXJlIHRoZSByZWdyZXNzaW9ucyBmcm9tIHRoZSBkaXNhYmxlIG9mIHRoaXMuIElzc3VlIGlzIHRoYXQgdGhlIE5hdGl2ZSBjb250cm9sXG4gICAgICAgICAgICAvLyAgICAgICB2YWx1ZSBhY2Nlc3NvciBob2xkcyBhIG1hcHBlciBub3QgaW4gc3luYyB3aXRoIHRoZSBFdWlTZWxlY3RDb250cm9sVmFsdWVBY2Nlc3Nvci5cbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAvLyB0aGlzLnNlbGVjdE5hdGl2ZS53cml0ZVZhbHVlKHRoaXMuc2VsZWN0LnZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvblxuICAgICAqIFRyYWNrcyB0aGUgdmFsdWUgYm91bmQgdG8gdGhlIG9wdGlvbiBlbGVtZW50LiBVbmxpa2UgdGhlIHZhbHVlIGJpbmRpbmcsXG4gICAgICogbmdWYWx1ZSBzdXBwb3J0cyBiaW5kaW5nIHRvIG9iamVjdHMuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBvdmVycmlkZSBzZXQgbmdWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdCA9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZWxlY3RbJ19vcHRpb25NYXAnXS5zZXQodGhpcy5pZCwgdmFsdWUpO1xuICAgICAgICB0aGlzLnNlbGVjdE5hdGl2ZVsnX29wdGlvbk1hcCddID0gdGhpcy5zZWxlY3RbJ19vcHRpb25NYXAnXTsgLy8uc2V0KHRoaXMuaWQsIHZhbHVlKTtcbiAgICAgICAgc3VwZXJbJ19zZXRFbGVtZW50VmFsdWUnXShfYnVpbGRWYWx1ZVN0cmluZyh0aGlzLmlkLCB2YWx1ZSkpO1xuICAgICAgICB0aGlzLnNlbGVjdC53cml0ZVZhbHVlKHRoaXMuc2VsZWN0LnZhbHVlKTtcbiAgICAgICAgdGhpcy5zZWxlY3ROYXRpdmUud3JpdGVWYWx1ZSh0aGlzLnNlbGVjdC52YWx1ZSk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoY2hhbmdlcy5zZWxlY3RlZCkge1xuICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgKiBpbiBjYXNlIHRoZXJlJ3MgYSBzZWxlY3RlZCB2YWx1ZSwgcmVhZG9ubHkgYXR0cmlidXRlIGlzIHRydWUsIHN5bmMgaXQgdG8gdGhlIHJlYWRvbmx5IGlucHV0LiBUaGUgcmVhc29uIGlzXG4gICAgICAgICAgICAgKiB0aGF0IHRoZSByZWFkb25seSBpbnB1dCBpcyBub3QgYXdhcmUgb2YgdGhlIHNlbGVjdGVkIHZhbHVlIHVudGlsIHRoZSByZW5kZXIgb2YgdGhlIHZpZXcgY29tcGxldGVzLlxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICBzd2l0Y2ggKHRoaXMuX3NlbGVjdGVkKSB7XG4gICAgICAgICAgICAgICAgY2FzZSB0cnVlOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ3NlbGVjdGVkJywgJycpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUF0dHJpYnV0ZSh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ3NlbGVjdGVkJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnNlbGVjdENvbXBvbmVudD8uc3luY1JlYWRPbmx5VmFsdWUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjaGFuZ2VzLmxhYmVsKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LCAnaW5uZXJUZXh0JywgY2hhbmdlcy5sYWJlbC5jdXJyZW50VmFsdWUpO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RDb21wb25lbnQ/LnN5bmNSZWFkT25seVZhbHVlKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLXNlbGVjdC1vcHRpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vZXVpLXNlbGVjdC9ldWktc2VsZWN0LW9wdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQWMsSUFBSSxFQUFFLEtBQUssRUFBd0IsUUFBUSxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUM1SSxPQUFPLEVBQUUsY0FBYyxFQUE4QixNQUFNLGdCQUFnQixDQUFDO0FBRzVFLE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7QUFFNUUsU0FBUyxpQkFBaUIsQ0FBQyxFQUFVLEVBQUUsS0FBVTtJQUM3QyxJQUFJLEVBQUUsSUFBSSxJQUFJLEVBQUU7UUFDWixPQUFPLEdBQUcsS0FBSyxFQUFFLENBQUM7S0FDckI7SUFDRCxJQUFJLEtBQUssSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7UUFDcEMsS0FBSyxHQUFHLFFBQVEsQ0FBQztLQUNwQjtJQUNELE9BQU8sR0FBRyxFQUFFLEtBQUssS0FBSyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUMxQyxDQUFDO0FBRUQ7Ozs7Ozs7OztHQVNHO0FBQ0gsOERBQThEO0FBRTlELE1BQU0sT0FBTywwQkFBMkIsU0FBUSxjQUFjO0lBa0IxRCxZQUNJLFFBQW9CLEVBQ3BCLFNBQW9CLEVBQ0EsT0FBc0MsRUFDdEMsYUFBeUMsRUFDekMsZ0JBQW9DO1FBRXhELEtBQUssQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxZQUFZLEdBQUcsYUFBYSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxlQUFlLEdBQUcsZ0JBQWdCLENBQUM7UUFDeEMsSUFBSSxDQUFDLE9B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dmUsIEVsZW1lbnRSZWYsIEhvc3QsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT3B0aW9uYWwsIFJlbmRlcmVyMiwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdTZWxlY3RPcHRpb24sIFNlbGVjdENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRXVpU2VsZWN0Q29udHJvbFZhbHVlQWNjZXNzb3IgfSBmcm9tICcuL2V1aS1zZWxlY3QtY29udHJvbC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRXVpU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9ldWktc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5cbmZ1bmN0aW9uIF9idWlsZFZhbHVlU3RyaW5nKGlkOiBzdHJpbmcsIHZhbHVlOiBhbnkpOiBzdHJpbmcge1xuICAgIGlmIChpZCA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiBgJHt2YWx1ZX1gO1xuICAgIH1cbiAgICBpZiAodmFsdWUgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0Jykge1xuICAgICAgICB2YWx1ZSA9ICdPYmplY3QnO1xuICAgIH1cbiAgICByZXR1cm4gYCR7aWR9OiAke3ZhbHVlfWAuc2xpY2UoMCwgNTApO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvblxuICogTWFya3MgYDxvcHRpb24+YCBhcyBkeW5hbWljLCBzbyBBbmd1bGFyIGNhbiBiZSBub3RpZmllZCB3aGVuIG9wdGlvbnMgY2hhbmdlLlxuICpcbiAqIEBzZWUgYEV1aVNlbGVjdENvbnRyb2xWYWx1ZUFjY2Vzc29yYFxuICpcbiAqIEBuZ01vZHVsZSBSZWFjdGl2ZUZvcm1zTW9kdWxlXG4gKiBAbmdNb2R1bGUgRm9ybXNNb2R1bGVcbiAqIEBwdWJsaWNBcGlcbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbkBEaXJlY3RpdmUoe3NlbGVjdG9yOiAnb3B0aW9uLCBvcHRpb25bZXVpT3B0aW9uXSd9KVxuZXhwb3J0IGNsYXNzIEV1aU5nU2VsZWN0T3B0aW9uRGlyZWN0aXZlIGV4dGVuZHMgTmdTZWxlY3RPcHRpb24gaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQElucHV0KClcbiAgICBnZXQgc2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZDtcbiAgICB9XG4gICAgc2V0IHNlbGVjdGVkKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5fc2VsZWN0ZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XG5cbiAgICBwcml2YXRlIF9zZWxlY3RlZDogYm9vbGVhbjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlbGVjdDogRXVpU2VsZWN0Q29udHJvbFZhbHVlQWNjZXNzb3I7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzZWxlY3ROYXRpdmU6IFNlbGVjdENvbnRyb2xWYWx1ZUFjY2Vzc29yO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc2VsZWN0Q29tcG9uZW50OiBFdWlTZWxlY3RDb21wb25lbnQ7XG4gICAgcHJpdmF0ZSBlbGVtZW50OiBFbGVtZW50UmVmPEhUTUxPcHRpb25FbGVtZW50PjtcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjI7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgX2VsZW1lbnQ6IEVsZW1lbnRSZWYsXG4gICAgICAgIF9yZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBAT3B0aW9uYWwoKSBASG9zdCgpIF9zZWxlY3Q6IEV1aVNlbGVjdENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICAgICAgICBAT3B0aW9uYWwoKSBASG9zdCgpIF9zZWxlY3ROYXRpdmU6IFNlbGVjdENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICAgICAgICBAT3B0aW9uYWwoKSBASG9zdCgpIF9zZWxlY3RDb21wb25lbnQ6IEV1aVNlbGVjdENvbXBvbmVudFxuICAgICkge1xuICAgICAgICBzdXBlcihfZWxlbWVudCwgX3JlbmRlcmVyLCBfc2VsZWN0KTtcbiAgICAgICAgdGhpcy5zZWxlY3QgPSBfc2VsZWN0O1xuICAgICAgICB0aGlzLnNlbGVjdE5hdGl2ZSA9IF9zZWxlY3ROYXRpdmU7XG4gICAgICAgIHRoaXMuc2VsZWN0Q29tcG9uZW50ID0gX3NlbGVjdENvbXBvbmVudDtcbiAgICAgICAgdGhpcy5lbGVtZW50ID0gX2VsZW1lbnQ7XG4gICAgICAgIHRoaXMucmVuZGVyZXIgPSBfcmVuZGVyZXI7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdENvbXBvbmVudD8uc3luY1JlYWRPbmx5VmFsdWUoKTtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0TmF0aXZlICYmIHRoaXMuc2VsZWN0ICYmIHRoaXMuc2VsZWN0TmF0aXZlLnZhbHVlICE9PSB0aGlzLnNlbGVjdC52YWx1ZSkge1xuICAgICAgICAgICAgLy8gVE9ETzogVGhpcyBjYXVzZXMgaXNzdWVzIHdoZW4gb3B0aW9ucyBhcnJheSBjaGFuZ2UgZnJvbSBOIHRvIDEgYW5kIHRoZSBvcHRpb24gMSBpcyBzZXQgdGhyb3VnaCBzZXRWYWx1ZSgpXG4gICAgICAgICAgICAvLyAgICAgICBJbnZlc3RpZ2F0ZSB3aGF0IGFyZSB0aGUgcmVncmVzc2lvbnMgZnJvbSB0aGUgZGlzYWJsZSBvZiB0aGlzLiBJc3N1ZSBpcyB0aGF0IHRoZSBOYXRpdmUgY29udHJvbFxuICAgICAgICAgICAgLy8gICAgICAgdmFsdWUgYWNjZXNzb3IgaG9sZHMgYSBtYXBwZXIgbm90IGluIHN5bmMgd2l0aCB0aGUgRXVpU2VsZWN0Q29udHJvbFZhbHVlQWNjZXNzb3IuXG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgLy8gdGhpcy5zZWxlY3ROYXRpdmUud3JpdGVWYWx1ZSh0aGlzLnNlbGVjdC52YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb25cbiAgICAgKiBUcmFja3MgdGhlIHZhbHVlIGJvdW5kIHRvIHRoZSBvcHRpb24gZWxlbWVudC4gVW5saWtlIHRoZSB2YWx1ZSBiaW5kaW5nLFxuICAgICAqIG5nVmFsdWUgc3VwcG9ydHMgYmluZGluZyB0byBvYmplY3RzLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgb3ZlcnJpZGUgc2V0IG5nVmFsdWUodmFsdWU6IGFueSkge1xuICAgICAgICBpZiAodGhpcy5zZWxlY3QgPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2VsZWN0Wydfb3B0aW9uTWFwJ10uc2V0KHRoaXMuaWQsIHZhbHVlKTtcbiAgICAgICAgdGhpcy5zZWxlY3ROYXRpdmVbJ19vcHRpb25NYXAnXSA9IHRoaXMuc2VsZWN0Wydfb3B0aW9uTWFwJ107IC8vLnNldCh0aGlzLmlkLCB2YWx1ZSk7XG4gICAgICAgIHN1cGVyWydfc2V0RWxlbWVudFZhbHVlJ10oX2J1aWxkVmFsdWVTdHJpbmcodGhpcy5pZCwgdmFsdWUpKTtcbiAgICAgICAgdGhpcy5zZWxlY3Qud3JpdGVWYWx1ZSh0aGlzLnNlbGVjdC52YWx1ZSk7XG4gICAgICAgIHRoaXMuc2VsZWN0TmF0aXZlLndyaXRlVmFsdWUodGhpcy5zZWxlY3QudmFsdWUpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNoYW5nZXMuc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICogaW4gY2FzZSB0aGVyZSdzIGEgc2VsZWN0ZWQgdmFsdWUsIHJlYWRvbmx5IGF0dHJpYnV0ZSBpcyB0cnVlLCBzeW5jIGl0IHRvIHRoZSByZWFkb25seSBpbnB1dC4gVGhlIHJlYXNvbiBpc1xuICAgICAgICAgICAgICogdGhhdCB0aGUgcmVhZG9ubHkgaW5wdXQgaXMgbm90IGF3YXJlIG9mIHRoZSBzZWxlY3RlZCB2YWx1ZSB1bnRpbCB0aGUgcmVuZGVyIG9mIHRoZSB2aWV3IGNvbXBsZXRlcy5cbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgc3dpdGNoICh0aGlzLl9zZWxlY3RlZCkge1xuICAgICAgICAgICAgICAgIGNhc2UgdHJ1ZTpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdzZWxlY3RlZCcsICcnKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVBdHRyaWJ1dGUodGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdzZWxlY3RlZCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5zZWxlY3RDb21wb25lbnQ/LnN5bmNSZWFkT25seVZhbHVlKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY2hhbmdlcy5sYWJlbCkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ2lubmVyVGV4dCcsIGNoYW5nZXMubGFiZWwuY3VycmVudFZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0Q29tcG9uZW50Py5zeW5jUmVhZE9ubHlWYWx1ZSgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -27,7 +27,7 @@ export declare class EuiSelectControlValueAccessor extends SelectControlValueAcc
27
27
  setDisabledState(isDisabled: boolean): void;
28
28
  ngOnChanges(changes: SimpleChanges): void;
29
29
  private setPlaceholderClass;
30
- static ɵfac: i0.ɵɵFactoryDeclaration<EuiSelectControlValueAccessor, never>;
30
+ static ɵfac: i0.ɵɵFactoryDeclaration<EuiSelectControlValueAccessor, [null, null, null, { optional: true; }]>;
31
31
  static ɵdir: i0.ɵɵDirectiveDeclaration<EuiSelectControlValueAccessor, "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", never, { "placeholder": "placeholder"; "isInvalid": "isInvalid"; }, {}, never, never, false>;
32
32
  }
33
33
  //# sourceMappingURL=eui-select-control.directive.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"eui-select-control.directive.d.ts","sourceRoot":"","sources":["../../eui-select/eui-select-control.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,OAAO,EACP,UAAU,EAIV,QAAQ,EAER,SAAS,EACT,SAAS,EACT,aAAa,EAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,oBAAoB,EAAgC,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAChH,OAAO,EAAE,YAAY,EAAyB,MAAM,uBAAuB,CAAC;AAE5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;;AAE5D,qBAca,6BAA8B,SAAQ,0BAC/C,YAAW,oBAAoB,EAAE,SAAS,EAAE,OAAO;IA0BvC,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,eAAe;IA1BnC,IACW,UAAU,IAAI,GAAG,CAK3B;IACQ,WAAW,EAAE,MAAM,CAAC;IAE7B,IACW,SAAS,IAGQ,YAAY,CADvC;IACD,IAAW,SAAS,CAAC,KAAK,EAAE,YAAY,EAEvC;IAED,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC;IAC9B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,QAAQ,CAAY;IAC5B,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,OAAO,CAAY;gBAEf,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,UAAU,EACf,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,kBAAkB;IAUvD,SAAS,IAAI,IAAI;IAOjB,iBAAiB,CAAC,EAAE,EAAE,GAAG,GAAG,IAAI;IAahC;;;OAGG;IACM,UAAU,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAO5B,gBAAgB,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,GAAG,IAAI;IAQxD,gBAAgB,CAAC,UAAU,EAAE,OAAO,GAAG,IAAI;IAQ3C,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IA4CzC,OAAO,CAAC,mBAAmB;yCAjIlB,6BAA6B;2CAA7B,6BAA6B;CA4IzC"}
1
+ {"version":3,"file":"eui-select-control.directive.d.ts","sourceRoot":"","sources":["../../eui-select/eui-select-control.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,OAAO,EACP,UAAU,EAIV,QAAQ,EAER,SAAS,EAET,SAAS,EACT,aAAa,EAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,oBAAoB,EAAgC,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAChH,OAAO,EAAE,YAAY,EAAyB,MAAM,uBAAuB,CAAC;AAE5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;;AAE5D,qBAca,6BAA8B,SAAQ,0BAC/C,YAAW,oBAAoB,EAAE,SAAS,EAAE,OAAO;IA0BvC,OAAO,CAAC,QAAQ;IACJ,OAAO,CAAC,eAAe;IA1B/C,IACW,UAAU,IAAI,GAAG,CAK3B;IACQ,WAAW,EAAE,MAAM,CAAC;IAE7B,IACW,SAAS,IAGQ,YAAY,CADvC;IACD,IAAW,SAAS,CAAC,KAAK,EAAE,YAAY,EAEvC;IAED,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC;IAC9B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,QAAQ,CAAY;IAC5B,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,OAAO,CAAY;gBAEf,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,UAAU,EACf,QAAQ,EAAE,QAAQ,EACN,eAAe,EAAE,kBAAkB;IAUnE,SAAS,IAAI,IAAI;IAOjB,iBAAiB,CAAC,EAAE,EAAE,GAAG,GAAG,IAAI;IAahC;;;OAGG;IACM,UAAU,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAO5B,gBAAgB,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,GAAG,IAAI;IAQxD,gBAAgB,CAAC,UAAU,EAAE,OAAO,GAAG,IAAI;IAQ3C,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IA4CzC,OAAO,CAAC,mBAAmB;yCAjIlB,6BAA6B;2CAA7B,6BAA6B;CA4IzC"}
@@ -77,7 +77,7 @@ export declare class EuiSelectMultipleControlValueAccessor extends SelectMultipl
77
77
  _getOptionId(value: any): string | null;
78
78
  /** @internal */
79
79
  _getOptionValue(valueString: string): any;
80
- static ɵfac: i0.ɵɵFactoryDeclaration<EuiSelectMultipleControlValueAccessor, never>;
80
+ static ɵfac: i0.ɵɵFactoryDeclaration<EuiSelectMultipleControlValueAccessor, [null, null, null, { optional: true; }]>;
81
81
  static ɵdir: i0.ɵɵDirectiveDeclaration<EuiSelectMultipleControlValueAccessor, "select[multiple][formControlName][euiSelect],select[multiple][formControl][euiSelect],select[multiple][ngModel][euiSelect]", never, { "isInvalid": "isInvalid"; }, {}, never, never, false>;
82
82
  }
83
83
  //# sourceMappingURL=eui-select-multiple.directive.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"eui-select-multiple.directive.d.ts","sourceRoot":"","sources":["../../eui-select/eui-select-multiple.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,UAAU,EAGV,QAAQ,EAGR,SAAS,EACZ,MAAM,eAAe,CAAC;AACvB,OAAO,EACH,oBAAoB,EAEpB,kCAAkC,EACrC,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAE9E,OAAO,EAAE,YAAY,EAAyB,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;;AAqB5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,qBAQa,qCAAsC,SAAQ,kCAAmC,YAC1F,oBAAoB;IAmCR,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,eAAe;IAlCnC,IACW,UAAU,IAAI,GAAG,CAK3B;IACD,IACW,SAAS,IAGQ,YAAY,CADvC;IACD,IAAW,SAAS,CAAC,KAAK,EAAE,YAAY,EAEvC;IAED;;;OAGG;IACH,KAAK,EAAE,GAAG,CAAC;IAEX,gBAAgB;IAChB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAA8C;IAE9F,gBAAgB;IAChB,UAAU,EAAE,MAAM,CAAK;IACvB,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC;IAC9B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,QAAQ,CAAY;IAC5B,OAAO,CAAC,OAAO,CAAY;gBAEf,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,UAAU,EACf,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,kBAAkB;IAMvD;;;OAGG;IACH,UAAU,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAkB5B,iBAAiB,CAAC,EAAE,EAAE,GAAG,GAAG,IAAI;IAahC;;;;OAIG;IACM,gBAAgB,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,GAAG,IAAI;IA0BxD,gBAAgB;IAChB,eAAe,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM;IAMvD,gBAAgB;IAChB,YAAY,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,GAAC,IAAI;IAOrC,gBAAgB;IAChB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,GAAG;yCA7HhC,qCAAqC;2CAArC,qCAAqC;CAkIjD"}
1
+ {"version":3,"file":"eui-select-multiple.directive.d.ts","sourceRoot":"","sources":["../../eui-select/eui-select-multiple.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,UAAU,EAGV,QAAQ,EAIR,SAAS,EACZ,MAAM,eAAe,CAAC;AACvB,OAAO,EACH,oBAAoB,EAEpB,kCAAkC,EACrC,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAE9E,OAAO,EAAE,YAAY,EAAyB,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;;AAqB5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,qBAQa,qCAAsC,SAAQ,kCAAmC,YAC1F,oBAAoB;IAmCR,OAAO,CAAC,QAAQ;IACJ,OAAO,CAAC,eAAe;IAlC/C,IACW,UAAU,IAAI,GAAG,CAK3B;IACD,IACW,SAAS,IAGQ,YAAY,CADvC;IACD,IAAW,SAAS,CAAC,KAAK,EAAE,YAAY,EAEvC;IAED;;;OAGG;IACH,KAAK,EAAE,GAAG,CAAC;IAEX,gBAAgB;IAChB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAA8C;IAE9F,gBAAgB;IAChB,UAAU,EAAE,MAAM,CAAK;IACvB,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC;IAC9B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,QAAQ,CAAY;IAC5B,OAAO,CAAC,OAAO,CAAY;gBAEf,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,UAAU,EACf,QAAQ,EAAE,QAAQ,EACN,eAAe,EAAE,kBAAkB;IAMnE;;;OAGG;IACH,UAAU,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAkB5B,iBAAiB,CAAC,EAAE,EAAE,GAAG,GAAG,IAAI;IAahC;;;;OAIG;IACM,gBAAgB,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,GAAG,IAAI;IA0BxD,gBAAgB;IAChB,eAAe,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM;IAMvD,gBAAgB;IAChB,YAAY,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,GAAC,IAAI;IAOrC,gBAAgB;IAChB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,GAAG;yCA7HhC,qCAAqC;2CAArC,qCAAqC;CAkIjD"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectFlags, Component, ViewEncapsulation, Input, forwardRef, Directive, HostBinding, Optional, Host, NgModule } from '@angular/core';
2
+ import { InjectFlags, Component, ViewEncapsulation, Input, forwardRef, Directive, Optional, HostBinding, Host, NgModule } from '@angular/core';
3
3
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
4
4
  import { EuiInputTextComponent } from '@eui/components/eui-input-text';
5
5
  import * as i2 from '@angular/forms';
@@ -209,10 +209,11 @@ class EuiSelectControlValueAccessor extends SelectControlValueAccessor {
209
209
  * @nodoc
210
210
  */
211
211
  writeValue(value) {
212
+ var _a;
212
213
  super.writeValue(value);
213
214
  this.setPlaceholderClass(value);
214
215
  // this['_optionMap'].get(value)
215
- this.selectComponent.syncReadOnlyValue();
216
+ (_a = this.selectComponent) === null || _a === void 0 ? void 0 : _a.syncReadOnlyValue();
216
217
  }
217
218
  registerOnChange(fn) {
218
219
  this.onChange = (valueString) => {
@@ -286,7 +287,7 @@ class EuiSelectControlValueAccessor extends SelectControlValueAccessor {
286
287
  }
287
288
  }
288
289
  }
289
- /** @nocollapse */ EuiSelectControlValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EuiSelectControlValueAccessor, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.Injector }, { token: EuiSelectComponent }], target: i0.ɵɵFactoryTarget.Directive });
290
+ /** @nocollapse */ EuiSelectControlValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EuiSelectControlValueAccessor, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.Injector }, { token: EuiSelectComponent, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
290
291
  /** @nocollapse */ EuiSelectControlValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: EuiSelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: { placeholder: "placeholder", isInvalid: "isInvalid" }, host: { listeners: { "change": "onChange($event.target.value)", "blur": "onTouched()" }, properties: { "class": "this.cssClasses" } }, providers: [
291
292
  {
292
293
  provide: NG_VALUE_ACCESSOR,
@@ -309,7 +310,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
309
310
  }
310
311
  ]
311
312
  }]
312
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.Injector }, { type: EuiSelectComponent }]; }, propDecorators: { cssClasses: [{
313
+ }], ctorParameters: function () {
314
+ return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.Injector }, { type: EuiSelectComponent, decorators: [{
315
+ type: Optional
316
+ }] }];
317
+ }, propDecorators: { cssClasses: [{
313
318
  type: HostBinding,
314
319
  args: ['class']
315
320
  }], placeholder: [{
@@ -354,7 +359,8 @@ class EuiNgSelectOptionDirective extends NgSelectOption {
354
359
  this._selected = coerceBooleanProperty(value);
355
360
  }
356
361
  ngAfterViewInit() {
357
- this.selectComponent.syncReadOnlyValue();
362
+ var _a;
363
+ (_a = this.selectComponent) === null || _a === void 0 ? void 0 : _a.syncReadOnlyValue();
358
364
  if (this.selectNative && this.select && this.selectNative.value !== this.select.value) {
359
365
  // TODO: This causes issues when options array change from N to 1 and the option 1 is set through setValue()
360
366
  // Investigate what are the regressions from the disable of this. Issue is that the Native control
@@ -500,6 +506,7 @@ class EuiSelectMultipleControlValueAccessor extends SelectMultipleControlValueAc
500
506
  * @nodoc
501
507
  */
502
508
  writeValue(value) {
509
+ var _a;
503
510
  this.value = value;
504
511
  let optionSelectedStateSetter;
505
512
  if (Array.isArray(value)) {
@@ -515,7 +522,7 @@ class EuiSelectMultipleControlValueAccessor extends SelectMultipleControlValueAc
515
522
  };
516
523
  }
517
524
  this._optionMap.forEach(optionSelectedStateSetter);
518
- this.selectComponent.syncReadOnlyValue();
525
+ (_a = this.selectComponent) === null || _a === void 0 ? void 0 : _a.syncReadOnlyValue();
519
526
  }
520
527
  registerOnTouched(fn) {
521
528
  this.onTouched = () => {
@@ -582,7 +589,7 @@ class EuiSelectMultipleControlValueAccessor extends SelectMultipleControlValueAc
582
589
  return this._optionMap.has(id) ? this._optionMap.get(id)._value : valueString;
583
590
  }
584
591
  }
585
- /** @nocollapse */ EuiSelectMultipleControlValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EuiSelectMultipleControlValueAccessor, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.Injector }, { token: EuiSelectComponent }], target: i0.ɵɵFactoryTarget.Directive });
592
+ /** @nocollapse */ EuiSelectMultipleControlValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EuiSelectMultipleControlValueAccessor, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.Injector }, { token: EuiSelectComponent, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
586
593
  /** @nocollapse */ EuiSelectMultipleControlValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: EuiSelectMultipleControlValueAccessor, selector: "select[multiple][formControlName][euiSelect],select[multiple][formControl][euiSelect],select[multiple][ngModel][euiSelect]", inputs: { isInvalid: "isInvalid" }, host: { listeners: { "change": "onChange($event.target)", "blur": "onTouched()" }, properties: { "class": "this.cssClasses" } }, providers: [SELECT_MULTIPLE_VALUE_ACCESSOR], usesInheritance: true, ngImport: i0 });
587
594
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EuiSelectMultipleControlValueAccessor, decorators: [{
588
595
  type: Directive,
@@ -593,7 +600,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
593
600
  host: { '(change)': 'onChange($event.target)', '(blur)': 'onTouched()' },
594
601
  providers: [SELECT_MULTIPLE_VALUE_ACCESSOR]
595
602
  }]
596
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.Injector }, { type: EuiSelectComponent }]; }, propDecorators: { cssClasses: [{
603
+ }], ctorParameters: function () {
604
+ return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.Injector }, { type: EuiSelectComponent, decorators: [{
605
+ type: Optional
606
+ }] }];
607
+ }, propDecorators: { cssClasses: [{
597
608
  type: HostBinding,
598
609
  args: ['class']
599
610
  }], isInvalid: [{
@@ -1 +1 @@
1
- {"version":3,"file":"eui-components-eui-select.mjs","sources":["../../eui-select/eui-select.component.ts","../../eui-select/utils.ts","../../eui-select/eui-select-control.directive.ts","../../eui-select/eui-select-option.directive.ts","../../eui-select/eui-select-multiple.directive.ts","../../eui-select/eui-select-mutli-option.directive.ts","../../eui-select/eui-select.module.ts","../../eui-select/eui-components-eui-select.ts"],"sourcesContent":["import {\n Component,\n ComponentRef,\n ElementRef,\n Input,\n OnChanges,\n Renderer2,\n SimpleChanges,\n ViewContainerRef,\n ViewEncapsulation,\n Injector,\n InjectFlags,\n} from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { EuiInputTextComponent } from '@eui/components/eui-input-text';\nimport { NgControl } from '@angular/forms';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'select[euiSelect]',\n styleUrls: ['./styles/_index.scss'],\n template: '<ng-content></ng-content>',\n // template: '<option *ngIf=\"placeholder\" [ngValue]=\"null\">{{placeholder}} Template</option><ng-content></ng-content>',\n encapsulation: ViewEncapsulation.None,\n host: {'(change)': 'onChange($event.target.value)'},\n})\nexport class EuiSelectComponent implements OnChanges {\n @Input() placeholder: string;\n\n @Input()\n public get readonly(): boolean {\n return this._readonly;\n }\n\n public set readonly(value: BooleanInput) {\n this._readonly = coerceBooleanProperty(value);\n }\n\n @Input()\n public get isInvalid() {\n return this._isInvalid || null;\n }\n public set isInvalid(state: BooleanInput) {\n this._isInvalid = coerceBooleanProperty(state);\n if (this._isInvalid) {\n this.renderer.addClass(this.element, 'eui-select--invalid');\n } else {\n this.renderer.removeClass(this.element, 'eui-select--invalid');\n }\n }\n\n protected _isInvalid: boolean;\n private _readonly: boolean;\n private readonlyInput: ComponentRef<EuiInputTextComponent>;\n private element: HTMLSelectElement;\n private placeholderOption: HTMLOptionElement;\n private control: NgControl;\n\n constructor(\n private renderer: Renderer2,\n _elementRef: ElementRef,\n private viewContainerRef: ViewContainerRef,\n private injector: Injector,\n ) {\n this.element = _elementRef.nativeElement;\n this.renderer.addClass(this.element, 'eui-select');\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['readonly']) {\n if (this.readonly) {\n // hide select element\n this.renderer.setAttribute(this.element, 'readonly', 'true');\n this.renderer.setAttribute(this.element, 'hidden', '');\n\n // create an euiInputComponent to hold the value (for accessibility reasons)\n this.readonlyInput = this.createReadonlyElement();\n this.renderer.insertBefore(\n this.element.parentElement,\n this.element,\n this.readonlyInput.location.nativeElement\n );\n this.setReadonlyValue(this.readonlyInput);\n } else {\n this.readonlyInput?.destroy();\n this.renderer.removeAttribute(this.element, 'readonly');\n this.renderer.removeAttribute(this.element, 'hidden');\n }\n }\n\n if (changes['placeholder']) {\n this.control = this.injector.get(NgControl, undefined, InjectFlags.Optional);\n if (!this.control) {\n // in case option Element already created update the value\n if (changes['placeholder'].currentValue === undefined) {\n this.renderer.removeClass(this.element, 'eui-select__placeholder');\n // remove option element\n if (this.placeholderOption) {\n this.renderer.removeChild(this.element, this.placeholderOption);\n this.placeholderOption = undefined;\n }\n } else if (this.placeholderOption) {\n this.renderer.setProperty(this.placeholderOption, 'innerText', changes['placeholder'].currentValue);\n } else {\n // create option Element\n this.placeholderOption = this.renderer.createElement('option');\n\n this.renderer.addClass(this.placeholderOption, 'eui-select__placeholder');\n this.renderer.setProperty(this.placeholderOption, 'innerText', changes['placeholder'].currentValue);\n // set attributes to act as a placeholder\n if (!this.element.value) {\n this.renderer.setAttribute(this.placeholderOption, 'selected', '');\n }\n // append option element as the first of the select children\n this.element.insertBefore(this.placeholderOption, this.element.firstChild);\n\n if (this.element.value === changes['placeholder'].currentValue) {\n this.renderer.addClass(this.element, 'eui-select__placeholder');\n }\n }\n }\n }\n }\n\n onChange(value): void {\n this.control = this.injector.get(NgControl, undefined, InjectFlags.Optional);\n if (!this.control) {\n this.setPlaceholderClass(this.placeholder === value? undefined: value);\n }\n }\n\n syncReadOnlyValue(): void {\n this.setReadonlyValue(this.readonlyInput);\n }\n\n /**\n * set readonly value from selected options presented as comma separated string\n *\n * @param readonlyRef the input element to set the value\n * @private\n */\n private setReadonlyValue(readonlyRef: ComponentRef<EuiInputTextComponent>): any {\n if (readonlyRef) {\n const selectedOptions = Array.apply(null, this.element.selectedOptions)\n .map((i) => i.text)\n .filter((i) => i !== this.placeholder)\n .join(', ');\n this.renderer.setProperty(readonlyRef.location.nativeElement, 'value', selectedOptions);\n }\n }\n\n /**\n * create readonly element\n *\n * @private\n */\n private createReadonlyElement(): ComponentRef<EuiInputTextComponent> {\n const componentRef = this.viewContainerRef.createComponent(EuiInputTextComponent);\n componentRef.instance.readonly = true;\n return componentRef;\n }\n\n private setPlaceholderClass(value: any): void {\n if (!!this.placeholder && (value === undefined || value === null || value === '')) {\n try {\n this.element.options[0].selected = true;\n } catch (e) {\n }\n this.renderer.addClass(this.element, 'eui-select__placeholder');\n } else {\n this.renderer.removeClass(this.element, 'eui-select__placeholder');\n }\n }\n\n}\n","export function _buildValueString(id: string, value: any): string {\n if (id == null) {return `${value}`;}\n if (typeof value === 'string') {value = `'${value}'`;}\n if (value && typeof value === 'object') {value = 'Object';}\n return `${id}: ${value}`.slice(0, 50);\n}\n\nexport function _extractId(valueString: string): string {\n return valueString.split(':')[0];\n}\n","import {\n Directive,\n DoCheck,\n ElementRef,\n forwardRef,\n HostBinding,\n InjectFlags,\n Injector,\n Input,\n OnChanges,\n Renderer2,\n SimpleChanges\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, NgControl, SelectControlValueAccessor } from '@angular/forms';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { _buildValueString } from './utils';\nimport { EuiSelectComponent } from './eui-select.component';\n\n@Directive({\n selector:\n // eslint-disable-next-line @angular-eslint/directive-selector\n 'select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]',\n host: {'(change)': 'onChange($event.target.value)', '(blur)': 'onTouched()'},\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EuiSelectControlValueAccessor),\n multi: true\n }\n ]\n})\n// eslint-disable-next-line @angular-eslint/directive-class-suffix\nexport class EuiSelectControlValueAccessor extends SelectControlValueAccessor\n implements ControlValueAccessor, OnChanges, DoCheck {\n @HostBinding('class')\n public get cssClasses(): any {\n return [\n 'eui-select',\n this._isInvalid ? `eui-select--invalid` : '',\n ].join(' ').trim();\n }\n @Input() placeholder: string;\n\n @Input()\n public get isInvalid() {\n return this._isInvalid || null;\n }\n public set isInvalid(state: BooleanInput) {\n this._isInvalid = coerceBooleanProperty(state);\n }\n\n protected _isInvalid: boolean;\n private elementRef: ElementRef;\n private renderer: Renderer2;\n private placeholderOption: HTMLOptionElement;\n private control: NgControl;\n\n constructor(_renderer: Renderer2,\n _elementRef: ElementRef,\n private injector: Injector,\n private selectComponent: EuiSelectComponent) {\n super(_renderer, _elementRef);\n this.elementRef = _elementRef;\n this.renderer = _renderer;\n this.onChange = (valueString: string) => {\n this.value = this['_getOptionValue'](valueString);\n this.setPlaceholderClass(this.value);\n };\n }\n\n ngDoCheck(): void {\n if (!this.control) {\n this.control = this.injector.get(NgControl, undefined, InjectFlags.Optional);\n }\n this.isInvalid = this.control ? this.control.invalid && this.control.touched : this._isInvalid;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = () => {\n const control = this.injector.get(NgControl, undefined, InjectFlags.Optional);\n this.isInvalid = control.invalid;\n if(this.isInvalid) {\n this.renderer.addClass(this.elementRef.nativeElement,`eui-select--invalid` );\n } else if(this.elementRef.nativeElement.classList.contains('eui-select--invalid')) {\n this.renderer.removeClass(this.elementRef.nativeElement,`eui-select--invalid` );\n }\n fn();\n };\n }\n\n /**\n * Sets the \"value\" property on the select element.\n * @nodoc\n */\n override writeValue(value: any): void {\n super.writeValue(value);\n this.setPlaceholderClass(value);\n // this['_optionMap'].get(value)\n this.selectComponent.syncReadOnlyValue();\n }\n\n override registerOnChange(fn: (value: any) => any): void {\n this.onChange = (valueString: string) => {\n this.value = this['_getOptionValue'](valueString);\n this.setPlaceholderClass(this.value);\n fn(this.value);\n };\n }\n\n setDisabledState(isDisabled: boolean): void {\n if(isDisabled) {\n this.renderer.setAttribute(this.elementRef.nativeElement, 'disabled', '');\n } else {\n this.renderer.removeAttribute(this.elementRef.nativeElement, 'disabled');\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['placeholder']) {\n // in case option Element already created update the value\n if (changes['placeholder'].currentValue === undefined) {\n this.renderer.removeClass(this.elementRef.nativeElement, 'eui-select__placeholder');\n // remove option element\n if (this.placeholderOption) {\n this.renderer.removeChild(this.elementRef.nativeElement, this.placeholderOption);\n this.placeholderOption = undefined;\n }\n } else if (this.placeholderOption) {\n this.renderer.setProperty(this.placeholderOption, 'innerText', changes['placeholder'].currentValue);\n } else {\n // create option Element\n this.placeholderOption = this.renderer.createElement('option');\n // const option = new EuiNgSelectOptionDirective({nativeElement: this.placeholderOption}, this.renderer, this);\n // option.ngValue = null;\n const id = this['_registerOption']();\n this['_optionMap'].set(id, null);\n const selectControlValueAccessor = this.injector.get(SelectControlValueAccessor, undefined);\n selectControlValueAccessor['_idCounter'] = this['_idCounter'];\n selectControlValueAccessor['_optionMap'] = this['_optionMap'];\n this.renderer.setValue(this.placeholderOption, _buildValueString(id, undefined));\n this.renderer.setProperty(this.placeholderOption, 'value', _buildValueString(id, undefined));\n\n this.renderer.addClass(this.placeholderOption, 'eui-select__placeholder');\n this.renderer.setProperty(this.placeholderOption, 'innerText', changes['placeholder'].currentValue);\n // set attributes to act as a placeholder\n if (!this.elementRef.nativeElement.value) {\n this.renderer.setAttribute(this.placeholderOption, 'selected', '');\n }\n // append option element as the first of the select children\n this.elementRef.nativeElement.insertBefore(this.placeholderOption, this.elementRef.nativeElement.firstChild);\n\n if (this.elementRef.nativeElement.value === changes['placeholder'].currentValue) {\n this.renderer.addClass(this.elementRef.nativeElement, 'eui-select__placeholder');\n }\n if(!this.value) {\n this.writeValue(undefined);\n }\n }\n }\n }\n\n private setPlaceholderClass(value: any): void {\n if (!!this.placeholder && (value === undefined || value === null || value === '')) {\n try {\n this.elementRef.nativeElement.options[0].selected = true;\n } catch (e) {\n }\n this.renderer.addClass(this.elementRef.nativeElement, 'eui-select__placeholder');\n } else {\n this.renderer.removeClass(this.elementRef.nativeElement, 'eui-select__placeholder');\n }\n }\n}\n","import { AfterViewInit, Directive, ElementRef, Host, Input, OnChanges, OnDestroy, Optional, Renderer2, SimpleChanges } from '@angular/core';\nimport { NgSelectOption, SelectControlValueAccessor } from '@angular/forms';\nimport { EuiSelectControlValueAccessor } from './eui-select-control.directive';\nimport { EuiSelectComponent } from './eui-select.component';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\n\nfunction _buildValueString(id: string, value: any): string {\n if (id == null) {\n return `${value}`;\n }\n if (value && typeof value === 'object') {\n value = 'Object';\n }\n return `${id}: ${value}`.slice(0, 50);\n}\n\n/**\n * @description\n * Marks `<option>` as dynamic, so Angular can be notified when options change.\n *\n * @see `EuiSelectControlValueAccessor`\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\n// eslint-disable-next-line @angular-eslint/directive-selector\n@Directive({selector: 'option, option[euiOption]'})\nexport class EuiNgSelectOptionDirective extends NgSelectOption implements OnDestroy, OnChanges, AfterViewInit {\n @Input()\n get selected(): boolean {\n return this._selected;\n }\n set selected(value: BooleanInput) {\n this._selected = coerceBooleanProperty(value);\n }\n\n @Input() label: string;\n\n private _selected: boolean;\n private readonly select: EuiSelectControlValueAccessor;\n private readonly selectNative: SelectControlValueAccessor;\n private readonly selectComponent: EuiSelectComponent;\n private element: ElementRef<HTMLOptionElement>;\n private renderer: Renderer2;\n\n constructor(\n _element: ElementRef,\n _renderer: Renderer2,\n @Optional() @Host() _select: EuiSelectControlValueAccessor,\n @Optional() @Host() _selectNative: SelectControlValueAccessor,\n @Optional() @Host() _selectComponent: EuiSelectComponent\n ) {\n super(_element, _renderer, _select);\n this.select = _select;\n this.selectNative = _selectNative;\n this.selectComponent = _selectComponent;\n this.element = _element;\n this.renderer = _renderer;\n }\n\n ngAfterViewInit(): void {\n this.selectComponent.syncReadOnlyValue();\n if (this.selectNative && this.select && this.selectNative.value !== this.select.value) {\n // TODO: This causes issues when options array change from N to 1 and the option 1 is set through setValue()\n // Investigate what are the regressions from the disable of this. Issue is that the Native control\n // value accessor holds a mapper not in sync with the EuiSelectControlValueAccessor.\n //\n // this.selectNative.writeValue(this.select.value);\n }\n }\n\n /**\n * @description\n * Tracks the value bound to the option element. Unlike the value binding,\n * ngValue supports binding to objects.\n */\n @Input()\n override set ngValue(value: any) {\n if (this.select == null) {\n return;\n }\n this.select['_optionMap'].set(this.id, value);\n this.selectNative['_optionMap'] = this.select['_optionMap']; //.set(this.id, value);\n super['_setElementValue'](_buildValueString(this.id, value));\n this.select.writeValue(this.select.value);\n this.selectNative.writeValue(this.select.value);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.selected) {\n /**\n * in case there's a selected value, readonly attribute is true, sync it to the readonly input. The reason is\n * that the readonly input is not aware of the selected value until the render of the view completes.\n */\n switch (this._selected) {\n case true:\n this.renderer.setAttribute(this.element.nativeElement, 'selected', '');\n break;\n default:\n this.renderer.removeAttribute(this.element.nativeElement, 'selected');\n }\n this.selectComponent?.syncReadOnlyValue();\n }\n\n if (changes.label) {\n this.renderer.setProperty(this.element.nativeElement, 'innerText', changes.label.currentValue);\n this.selectComponent?.syncReadOnlyValue();\n }\n }\n}\n","import {\n Directive,\n ElementRef,\n forwardRef, HostBinding,\n InjectFlags,\n Injector,\n Input,\n Provider,\n Renderer2\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NG_VALUE_ACCESSOR, NgControl,\n SelectMultipleControlValueAccessor\n} from '@angular/forms';\nimport { EuiSelectMultipleOption } from './eui-select-mutli-option.directive';\nimport { _extractId } from './utils';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { EuiSelectComponent } from './eui-select.component';\n\nconst SELECT_MULTIPLE_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EuiSelectMultipleControlValueAccessor),\n multi: true\n};\n\n/** Mock interface for HTML Options */\ninterface HTMLOption {\n value: string;\n selected: boolean;\n}\n\n/** Mock interface for HTMLCollection */\nabstract class HTMLCollection {\n // TODO(issue/24571): remove '!'.\n length!: number;\n abstract item(_: number): HTMLOption;\n}\n\n/**\n * @description\n * The `ControlValueAccessor` for writing multi-select control values and listening to multi-select\n * control changes. The value accessor is used by the `FormControlDirective`, `FormControlName`, and\n * `NgModel` directives.\n *\n * @see `EuiSelectControlValueAccessor`\n *\n * @usageNotes\n *\n * ### Using a multi-select control\n *\n * The follow example shows you how to use a multi-select control with a reactive form.\n *\n * ```ts\n * const countryControl = new FormControl();\n * ```\n *\n * ```\n * <select euiSelect multiple name=\"countries\" [formControl]=\"countryControl\">\n * <option euiOption *ngFor=\"let country of countries\" [ngValue]=\"country\">\n * {{ country.name }}\n * </option>\n * </select>\n * ```\n *\n * ### Customizing option selection\n *\n * To customize the default option comparison algorithm, `<select>` supports `compareWith` input.\n * See the `SelectControlValueAccessor` for usage.\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\n@Directive({\n selector:\n // eslint-disable-next-line @angular-eslint/directive-selector,max-len\n 'select[multiple][formControlName][euiSelect],select[multiple][formControl][euiSelect],select[multiple][ngModel][euiSelect]',\n host: {'(change)': 'onChange($event.target)', '(blur)': 'onTouched()'},\n providers: [SELECT_MULTIPLE_VALUE_ACCESSOR]\n})\n// eslint-disable-next-line @angular-eslint/directive-class-suffix\nexport class EuiSelectMultipleControlValueAccessor extends SelectMultipleControlValueAccessor implements\n ControlValueAccessor {\n\n @HostBinding('class')\n public get cssClasses(): any {\n return [\n 'eui-select',\n this._isInvalid ? `eui-select--invalid` : '',\n ].join(' ').trim();\n }\n @Input()\n public get isInvalid() {\n return this._isInvalid || null;\n }\n public set isInvalid(state: BooleanInput) {\n this._isInvalid = coerceBooleanProperty(state);\n }\n\n /**\n * The current value.\n * @nodoc\n */\n value: any;\n\n /** @internal */\n _optionMap: Map<string, EuiSelectMultipleOption> = new Map<string, EuiSelectMultipleOption>();\n\n /** @internal */\n _idCounter: number = 0;\n protected _isInvalid: boolean;\n private elementRef: ElementRef;\n private renderer: Renderer2;\n private control: NgControl;\n\n constructor(_renderer: Renderer2,\n _elementRef: ElementRef,\n private injector: Injector,\n private selectComponent: EuiSelectComponent) {\n super(_renderer, _elementRef);\n this.elementRef = _elementRef;\n this.renderer = _renderer;\n }\n\n /**\n * Sets the \"value\" property on one or of more of the select's options.\n * @nodoc\n */\n writeValue(value: any): void {\n this.value = value;\n let optionSelectedStateSetter: (opt: EuiSelectMultipleOption, o: any) => void;\n if (Array.isArray(value)) {\n // convert values to ids\n const ids = value.map((v) => this._getOptionId(v));\n optionSelectedStateSetter = (opt, o) => {\n opt._setSelected(ids.indexOf(o.toString()) > -1);\n };\n } else {\n optionSelectedStateSetter = (opt, o) => {\n opt._setSelected(false);\n };\n }\n this._optionMap.forEach(optionSelectedStateSetter);\n this.selectComponent.syncReadOnlyValue();\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = () => {\n const control = this.injector.get(NgControl, undefined, InjectFlags.Optional);\n this.isInvalid = control.invalid;\n if(this.isInvalid) {\n this.renderer.addClass(this.elementRef.nativeElement,`eui-select--invalid` );\n } else if(this.elementRef.nativeElement.classList.contains('eui-select--invalid')) {\n this.renderer.removeClass(this.elementRef.nativeElement,`eui-select--invalid` );\n }\n fn();\n };\n }\n\n /**\n * Registers a function called when the control value changes\n * and writes an array of the selected options.\n * @nodoc\n */\n override registerOnChange(fn: (value: any) => any): void {\n this.onChange = (element: HTMLSelectElement) => {\n const selected: Array<any> = [];\n const selectedOptions = element.selectedOptions;\n if (selectedOptions !== undefined) {\n const options = selectedOptions;\n for (let i = 0; i < options.length; i++) {\n const opt = options[i];\n const val = this._getOptionValue(opt.value);\n selected.push(val);\n }\n } else {\n const options = element.options;\n for (let i = 0; i < options.length; i++) {\n const opt = options[i];\n if (opt.selected) {\n const val = this._getOptionValue(opt.value);\n selected.push(val);\n }\n }\n }\n this.value = selected;\n fn(selected);\n };\n }\n\n /** @internal */\n _registerOption(value: EuiSelectMultipleOption): string {\n const id: string = (this._idCounter++).toString();\n this._optionMap.set(id, value);\n return id;\n }\n\n /** @internal */\n _getOptionId(value: any): string|null {\n for (const id of Array.from(this._optionMap.keys())) {\n if (this['_compareWith'](this._optionMap.get(id)!._value, value)) {return id;}\n }\n return null;\n }\n\n /** @internal */\n _getOptionValue(valueString: string): any {\n const id: string = _extractId(valueString);\n return this._optionMap.has(id) ? this._optionMap.get(id)!._value : valueString;\n }\n\n}\n","import { Directive, ElementRef, Host, Input, OnDestroy, Optional, Renderer2 } from '@angular/core';\nimport { ɵNgSelectMultipleOption as NgSelectMultipleOption } from '@angular/forms';\nimport { EuiSelectMultipleControlValueAccessor } from './eui-select-multiple.directive';\nimport { _buildValueString } from './utils';\nimport { EuiSelectComponent } from './eui-select.component';\n\n/**\n * @description\n * Marks `<option>` as dynamic, so Angular can be notified when options change.\n *\n * @see `EuiSelectMultipleControlValueAccessor`\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\n// eslint-disable-next-line @angular-eslint/directive-selector\n@Directive({selector: 'option, option[euiOption]'})\n// eslint-disable-next-line @angular-eslint/directive-class-suffix\nexport class EuiSelectMultipleOption extends NgSelectMultipleOption implements OnDestroy {\n // TODO(issue/24571): remove '!'.\n id!: string;\n /** @internal */\n _value: any;\n private element: ElementRef;\n private renderer: Renderer2;\n private select: EuiSelectMultipleControlValueAccessor;\n private readonly selectComponent: EuiSelectComponent;\n\n constructor(\n _element: ElementRef, _renderer: Renderer2,\n @Optional() @Host() _select: EuiSelectMultipleControlValueAccessor,\n @Optional() @Host() _selectComponent: EuiSelectComponent\n ) {\n super(_element, _renderer, _select);\n this.element = _element;\n this.renderer = _renderer;\n this.select = _select;\n this.selectComponent = _selectComponent;\n }\n\n /**\n * @description\n * Tracks the value bound to the option element. Unlike the value binding,\n * ngValue supports binding to objects.\n */\n @Input()\n set ngValue(value: any) {\n if (this.select == null) {return;}\n this._value = value;\n this._setElementValue(_buildValueString(this.id, value));\n this.select.writeValue(this.select.value);\n }\n\n /**\n * @description\n * Tracks simple string values bound to the option element.\n * For objects, use the `ngValue` input binding.\n */\n @Input()\n set value(value: any) {\n if (this.select) {\n this._value = value;\n this._setElementValue(_buildValueString(this.id, value));\n this.select.writeValue(this.select.value);\n } else {\n this._setElementValue(value);\n }\n }\n\n /** @internal */\n _setElementValue(value: string): void {\n this.renderer.setProperty(this.element.nativeElement, 'value', value);\n }\n\n /** @internal */\n _setSelected(selected: boolean) {\n this.renderer.setProperty(this.element.nativeElement, 'selected', selected);\n this.selectComponent?.syncReadOnlyValue();\n }\n\n /** @nodoc */\n ngOnDestroy(): void {\n if (this.select) {\n this.select._optionMap.delete(this.id);\n this.select.writeValue(this.select.value);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EuiSelectComponent } from './eui-select.component';\nimport { EuiNgSelectOptionDirective } from './eui-select-option.directive';\nimport { EuiSelectControlValueAccessor } from './eui-select-control.directive';\nimport { EuiSelectMultipleControlValueAccessor } from './eui-select-multiple.directive';\nimport { EuiSelectMultipleOption } from './eui-select-mutli-option.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n declarations: [\n EuiSelectComponent,\n EuiNgSelectOptionDirective,\n EuiSelectControlValueAccessor,\n EuiSelectMultipleControlValueAccessor,\n EuiSelectMultipleOption\n ],\n exports: [\n EuiSelectComponent,\n EuiNgSelectOptionDirective,\n EuiSelectControlValueAccessor,\n EuiSelectMultipleControlValueAccessor,\n EuiSelectMultipleOption\n ]\n})\nexport class EuiSelectModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["_buildValueString","i1.EuiSelectComponent","i1.EuiSelectControlValueAccessor","i3.EuiSelectComponent","NgSelectMultipleOption","i1.EuiSelectMultipleControlValueAccessor","i2.EuiSelectComponent"],"mappings":"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"}
1
+ {"version":3,"file":"eui-components-eui-select.mjs","sources":["../../eui-select/eui-select.component.ts","../../eui-select/utils.ts","../../eui-select/eui-select-control.directive.ts","../../eui-select/eui-select-option.directive.ts","../../eui-select/eui-select-multiple.directive.ts","../../eui-select/eui-select-mutli-option.directive.ts","../../eui-select/eui-select.module.ts","../../eui-select/eui-components-eui-select.ts"],"sourcesContent":["import {\n Component,\n ComponentRef,\n ElementRef,\n Input,\n OnChanges,\n Renderer2,\n SimpleChanges,\n ViewContainerRef,\n ViewEncapsulation,\n Injector,\n InjectFlags,\n} from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { EuiInputTextComponent } from '@eui/components/eui-input-text';\nimport { NgControl } from '@angular/forms';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'select[euiSelect]',\n styleUrls: ['./styles/_index.scss'],\n template: '<ng-content></ng-content>',\n // template: '<option *ngIf=\"placeholder\" [ngValue]=\"null\">{{placeholder}} Template</option><ng-content></ng-content>',\n encapsulation: ViewEncapsulation.None,\n host: {'(change)': 'onChange($event.target.value)'},\n})\nexport class EuiSelectComponent implements OnChanges {\n @Input() placeholder: string;\n\n @Input()\n public get readonly(): boolean {\n return this._readonly;\n }\n\n public set readonly(value: BooleanInput) {\n this._readonly = coerceBooleanProperty(value);\n }\n\n @Input()\n public get isInvalid() {\n return this._isInvalid || null;\n }\n public set isInvalid(state: BooleanInput) {\n this._isInvalid = coerceBooleanProperty(state);\n if (this._isInvalid) {\n this.renderer.addClass(this.element, 'eui-select--invalid');\n } else {\n this.renderer.removeClass(this.element, 'eui-select--invalid');\n }\n }\n\n protected _isInvalid: boolean;\n private _readonly: boolean;\n private readonlyInput: ComponentRef<EuiInputTextComponent>;\n private element: HTMLSelectElement;\n private placeholderOption: HTMLOptionElement;\n private control: NgControl;\n\n constructor(\n private renderer: Renderer2,\n _elementRef: ElementRef,\n private viewContainerRef: ViewContainerRef,\n private injector: Injector,\n ) {\n this.element = _elementRef.nativeElement;\n this.renderer.addClass(this.element, 'eui-select');\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['readonly']) {\n if (this.readonly) {\n // hide select element\n this.renderer.setAttribute(this.element, 'readonly', 'true');\n this.renderer.setAttribute(this.element, 'hidden', '');\n\n // create an euiInputComponent to hold the value (for accessibility reasons)\n this.readonlyInput = this.createReadonlyElement();\n this.renderer.insertBefore(\n this.element.parentElement,\n this.element,\n this.readonlyInput.location.nativeElement\n );\n this.setReadonlyValue(this.readonlyInput);\n } else {\n this.readonlyInput?.destroy();\n this.renderer.removeAttribute(this.element, 'readonly');\n this.renderer.removeAttribute(this.element, 'hidden');\n }\n }\n\n if (changes['placeholder']) {\n this.control = this.injector.get(NgControl, undefined, InjectFlags.Optional);\n if (!this.control) {\n // in case option Element already created update the value\n if (changes['placeholder'].currentValue === undefined) {\n this.renderer.removeClass(this.element, 'eui-select__placeholder');\n // remove option element\n if (this.placeholderOption) {\n this.renderer.removeChild(this.element, this.placeholderOption);\n this.placeholderOption = undefined;\n }\n } else if (this.placeholderOption) {\n this.renderer.setProperty(this.placeholderOption, 'innerText', changes['placeholder'].currentValue);\n } else {\n // create option Element\n this.placeholderOption = this.renderer.createElement('option');\n\n this.renderer.addClass(this.placeholderOption, 'eui-select__placeholder');\n this.renderer.setProperty(this.placeholderOption, 'innerText', changes['placeholder'].currentValue);\n // set attributes to act as a placeholder\n if (!this.element.value) {\n this.renderer.setAttribute(this.placeholderOption, 'selected', '');\n }\n // append option element as the first of the select children\n this.element.insertBefore(this.placeholderOption, this.element.firstChild);\n\n if (this.element.value === changes['placeholder'].currentValue) {\n this.renderer.addClass(this.element, 'eui-select__placeholder');\n }\n }\n }\n }\n }\n\n onChange(value): void {\n this.control = this.injector.get(NgControl, undefined, InjectFlags.Optional);\n if (!this.control) {\n this.setPlaceholderClass(this.placeholder === value? undefined: value);\n }\n }\n\n syncReadOnlyValue(): void {\n this.setReadonlyValue(this.readonlyInput);\n }\n\n /**\n * set readonly value from selected options presented as comma separated string\n *\n * @param readonlyRef the input element to set the value\n * @private\n */\n private setReadonlyValue(readonlyRef: ComponentRef<EuiInputTextComponent>): any {\n if (readonlyRef) {\n const selectedOptions = Array.apply(null, this.element.selectedOptions)\n .map((i) => i.text)\n .filter((i) => i !== this.placeholder)\n .join(', ');\n this.renderer.setProperty(readonlyRef.location.nativeElement, 'value', selectedOptions);\n }\n }\n\n /**\n * create readonly element\n *\n * @private\n */\n private createReadonlyElement(): ComponentRef<EuiInputTextComponent> {\n const componentRef = this.viewContainerRef.createComponent(EuiInputTextComponent);\n componentRef.instance.readonly = true;\n return componentRef;\n }\n\n private setPlaceholderClass(value: any): void {\n if (!!this.placeholder && (value === undefined || value === null || value === '')) {\n try {\n this.element.options[0].selected = true;\n } catch (e) {\n }\n this.renderer.addClass(this.element, 'eui-select__placeholder');\n } else {\n this.renderer.removeClass(this.element, 'eui-select__placeholder');\n }\n }\n\n}\n","export function _buildValueString(id: string, value: any): string {\n if (id == null) {return `${value}`;}\n if (typeof value === 'string') {value = `'${value}'`;}\n if (value && typeof value === 'object') {value = 'Object';}\n return `${id}: ${value}`.slice(0, 50);\n}\n\nexport function _extractId(valueString: string): string {\n return valueString.split(':')[0];\n}\n","import {\n Directive,\n DoCheck,\n ElementRef,\n forwardRef,\n HostBinding,\n InjectFlags,\n Injector,\n Input,\n OnChanges,\n Optional,\n Renderer2,\n SimpleChanges,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, NgControl, SelectControlValueAccessor } from '@angular/forms';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { _buildValueString } from './utils';\nimport { EuiSelectComponent } from './eui-select.component';\n\n@Directive({\n selector:\n // eslint-disable-next-line @angular-eslint/directive-selector\n 'select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]',\n host: {'(change)': 'onChange($event.target.value)', '(blur)': 'onTouched()'},\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EuiSelectControlValueAccessor),\n multi: true\n }\n ]\n})\n// eslint-disable-next-line @angular-eslint/directive-class-suffix\nexport class EuiSelectControlValueAccessor extends SelectControlValueAccessor\n implements ControlValueAccessor, OnChanges, DoCheck {\n @HostBinding('class')\n public get cssClasses(): any {\n return [\n 'eui-select',\n this._isInvalid ? `eui-select--invalid` : '',\n ].join(' ').trim();\n }\n @Input() placeholder: string;\n\n @Input()\n public get isInvalid() {\n return this._isInvalid || null;\n }\n public set isInvalid(state: BooleanInput) {\n this._isInvalid = coerceBooleanProperty(state);\n }\n\n protected _isInvalid: boolean;\n private elementRef: ElementRef;\n private renderer: Renderer2;\n private placeholderOption: HTMLOptionElement;\n private control: NgControl;\n\n constructor(_renderer: Renderer2,\n _elementRef: ElementRef,\n private injector: Injector,\n @Optional() private selectComponent: EuiSelectComponent) {\n super(_renderer, _elementRef);\n this.elementRef = _elementRef;\n this.renderer = _renderer;\n this.onChange = (valueString: string) => {\n this.value = this['_getOptionValue'](valueString);\n this.setPlaceholderClass(this.value);\n };\n }\n\n ngDoCheck(): void {\n if (!this.control) {\n this.control = this.injector.get(NgControl, undefined, InjectFlags.Optional);\n }\n this.isInvalid = this.control ? this.control.invalid && this.control.touched : this._isInvalid;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = () => {\n const control = this.injector.get(NgControl, undefined, InjectFlags.Optional);\n this.isInvalid = control.invalid;\n if(this.isInvalid) {\n this.renderer.addClass(this.elementRef.nativeElement,`eui-select--invalid` );\n } else if(this.elementRef.nativeElement.classList.contains('eui-select--invalid')) {\n this.renderer.removeClass(this.elementRef.nativeElement,`eui-select--invalid` );\n }\n fn();\n };\n }\n\n /**\n * Sets the \"value\" property on the select element.\n * @nodoc\n */\n override writeValue(value: any): void {\n super.writeValue(value);\n this.setPlaceholderClass(value);\n // this['_optionMap'].get(value)\n this.selectComponent?.syncReadOnlyValue();\n }\n\n override registerOnChange(fn: (value: any) => any): void {\n this.onChange = (valueString: string) => {\n this.value = this['_getOptionValue'](valueString);\n this.setPlaceholderClass(this.value);\n fn(this.value);\n };\n }\n\n setDisabledState(isDisabled: boolean): void {\n if(isDisabled) {\n this.renderer.setAttribute(this.elementRef.nativeElement, 'disabled', '');\n } else {\n this.renderer.removeAttribute(this.elementRef.nativeElement, 'disabled');\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['placeholder']) {\n // in case option Element already created update the value\n if (changes['placeholder'].currentValue === undefined) {\n this.renderer.removeClass(this.elementRef.nativeElement, 'eui-select__placeholder');\n // remove option element\n if (this.placeholderOption) {\n this.renderer.removeChild(this.elementRef.nativeElement, this.placeholderOption);\n this.placeholderOption = undefined;\n }\n } else if (this.placeholderOption) {\n this.renderer.setProperty(this.placeholderOption, 'innerText', changes['placeholder'].currentValue);\n } else {\n // create option Element\n this.placeholderOption = this.renderer.createElement('option');\n // const option = new EuiNgSelectOptionDirective({nativeElement: this.placeholderOption}, this.renderer, this);\n // option.ngValue = null;\n const id = this['_registerOption']();\n this['_optionMap'].set(id, null);\n const selectControlValueAccessor = this.injector.get(SelectControlValueAccessor, undefined);\n selectControlValueAccessor['_idCounter'] = this['_idCounter'];\n selectControlValueAccessor['_optionMap'] = this['_optionMap'];\n this.renderer.setValue(this.placeholderOption, _buildValueString(id, undefined));\n this.renderer.setProperty(this.placeholderOption, 'value', _buildValueString(id, undefined));\n\n this.renderer.addClass(this.placeholderOption, 'eui-select__placeholder');\n this.renderer.setProperty(this.placeholderOption, 'innerText', changes['placeholder'].currentValue);\n // set attributes to act as a placeholder\n if (!this.elementRef.nativeElement.value) {\n this.renderer.setAttribute(this.placeholderOption, 'selected', '');\n }\n // append option element as the first of the select children\n this.elementRef.nativeElement.insertBefore(this.placeholderOption, this.elementRef.nativeElement.firstChild);\n\n if (this.elementRef.nativeElement.value === changes['placeholder'].currentValue) {\n this.renderer.addClass(this.elementRef.nativeElement, 'eui-select__placeholder');\n }\n if(!this.value) {\n this.writeValue(undefined);\n }\n }\n }\n }\n\n private setPlaceholderClass(value: any): void {\n if (!!this.placeholder && (value === undefined || value === null || value === '')) {\n try {\n this.elementRef.nativeElement.options[0].selected = true;\n } catch (e) {\n }\n this.renderer.addClass(this.elementRef.nativeElement, 'eui-select__placeholder');\n } else {\n this.renderer.removeClass(this.elementRef.nativeElement, 'eui-select__placeholder');\n }\n }\n}\n","import { AfterViewInit, Directive, ElementRef, Host, Input, OnChanges, OnDestroy, Optional, Renderer2, SimpleChanges } from '@angular/core';\nimport { NgSelectOption, SelectControlValueAccessor } from '@angular/forms';\nimport { EuiSelectControlValueAccessor } from './eui-select-control.directive';\nimport { EuiSelectComponent } from './eui-select.component';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\n\nfunction _buildValueString(id: string, value: any): string {\n if (id == null) {\n return `${value}`;\n }\n if (value && typeof value === 'object') {\n value = 'Object';\n }\n return `${id}: ${value}`.slice(0, 50);\n}\n\n/**\n * @description\n * Marks `<option>` as dynamic, so Angular can be notified when options change.\n *\n * @see `EuiSelectControlValueAccessor`\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\n// eslint-disable-next-line @angular-eslint/directive-selector\n@Directive({selector: 'option, option[euiOption]'})\nexport class EuiNgSelectOptionDirective extends NgSelectOption implements OnDestroy, OnChanges, AfterViewInit {\n @Input()\n get selected(): boolean {\n return this._selected;\n }\n set selected(value: BooleanInput) {\n this._selected = coerceBooleanProperty(value);\n }\n\n @Input() label: string;\n\n private _selected: boolean;\n private readonly select: EuiSelectControlValueAccessor;\n private readonly selectNative: SelectControlValueAccessor;\n private readonly selectComponent: EuiSelectComponent;\n private element: ElementRef<HTMLOptionElement>;\n private renderer: Renderer2;\n\n constructor(\n _element: ElementRef,\n _renderer: Renderer2,\n @Optional() @Host() _select: EuiSelectControlValueAccessor,\n @Optional() @Host() _selectNative: SelectControlValueAccessor,\n @Optional() @Host() _selectComponent: EuiSelectComponent\n ) {\n super(_element, _renderer, _select);\n this.select = _select;\n this.selectNative = _selectNative;\n this.selectComponent = _selectComponent;\n this.element = _element;\n this.renderer = _renderer;\n }\n\n ngAfterViewInit(): void {\n this.selectComponent?.syncReadOnlyValue();\n if (this.selectNative && this.select && this.selectNative.value !== this.select.value) {\n // TODO: This causes issues when options array change from N to 1 and the option 1 is set through setValue()\n // Investigate what are the regressions from the disable of this. Issue is that the Native control\n // value accessor holds a mapper not in sync with the EuiSelectControlValueAccessor.\n //\n // this.selectNative.writeValue(this.select.value);\n }\n }\n\n /**\n * @description\n * Tracks the value bound to the option element. Unlike the value binding,\n * ngValue supports binding to objects.\n */\n @Input()\n override set ngValue(value: any) {\n if (this.select == null) {\n return;\n }\n this.select['_optionMap'].set(this.id, value);\n this.selectNative['_optionMap'] = this.select['_optionMap']; //.set(this.id, value);\n super['_setElementValue'](_buildValueString(this.id, value));\n this.select.writeValue(this.select.value);\n this.selectNative.writeValue(this.select.value);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.selected) {\n /**\n * in case there's a selected value, readonly attribute is true, sync it to the readonly input. The reason is\n * that the readonly input is not aware of the selected value until the render of the view completes.\n */\n switch (this._selected) {\n case true:\n this.renderer.setAttribute(this.element.nativeElement, 'selected', '');\n break;\n default:\n this.renderer.removeAttribute(this.element.nativeElement, 'selected');\n }\n this.selectComponent?.syncReadOnlyValue();\n }\n\n if (changes.label) {\n this.renderer.setProperty(this.element.nativeElement, 'innerText', changes.label.currentValue);\n this.selectComponent?.syncReadOnlyValue();\n }\n }\n}\n","import {\n Directive,\n ElementRef,\n forwardRef, HostBinding,\n InjectFlags,\n Injector,\n Input,\n Optional,\n Provider,\n Renderer2,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NG_VALUE_ACCESSOR, NgControl,\n SelectMultipleControlValueAccessor\n} from '@angular/forms';\nimport { EuiSelectMultipleOption } from './eui-select-mutli-option.directive';\nimport { _extractId } from './utils';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { EuiSelectComponent } from './eui-select.component';\n\nconst SELECT_MULTIPLE_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EuiSelectMultipleControlValueAccessor),\n multi: true\n};\n\n/** Mock interface for HTML Options */\ninterface HTMLOption {\n value: string;\n selected: boolean;\n}\n\n/** Mock interface for HTMLCollection */\nabstract class HTMLCollection {\n // TODO(issue/24571): remove '!'.\n length!: number;\n abstract item(_: number): HTMLOption;\n}\n\n/**\n * @description\n * The `ControlValueAccessor` for writing multi-select control values and listening to multi-select\n * control changes. The value accessor is used by the `FormControlDirective`, `FormControlName`, and\n * `NgModel` directives.\n *\n * @see `EuiSelectControlValueAccessor`\n *\n * @usageNotes\n *\n * ### Using a multi-select control\n *\n * The follow example shows you how to use a multi-select control with a reactive form.\n *\n * ```ts\n * const countryControl = new FormControl();\n * ```\n *\n * ```\n * <select euiSelect multiple name=\"countries\" [formControl]=\"countryControl\">\n * <option euiOption *ngFor=\"let country of countries\" [ngValue]=\"country\">\n * {{ country.name }}\n * </option>\n * </select>\n * ```\n *\n * ### Customizing option selection\n *\n * To customize the default option comparison algorithm, `<select>` supports `compareWith` input.\n * See the `SelectControlValueAccessor` for usage.\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\n@Directive({\n selector:\n // eslint-disable-next-line @angular-eslint/directive-selector,max-len\n 'select[multiple][formControlName][euiSelect],select[multiple][formControl][euiSelect],select[multiple][ngModel][euiSelect]',\n host: {'(change)': 'onChange($event.target)', '(blur)': 'onTouched()'},\n providers: [SELECT_MULTIPLE_VALUE_ACCESSOR]\n})\n// eslint-disable-next-line @angular-eslint/directive-class-suffix\nexport class EuiSelectMultipleControlValueAccessor extends SelectMultipleControlValueAccessor implements\n ControlValueAccessor {\n\n @HostBinding('class')\n public get cssClasses(): any {\n return [\n 'eui-select',\n this._isInvalid ? `eui-select--invalid` : '',\n ].join(' ').trim();\n }\n @Input()\n public get isInvalid() {\n return this._isInvalid || null;\n }\n public set isInvalid(state: BooleanInput) {\n this._isInvalid = coerceBooleanProperty(state);\n }\n\n /**\n * The current value.\n * @nodoc\n */\n value: any;\n\n /** @internal */\n _optionMap: Map<string, EuiSelectMultipleOption> = new Map<string, EuiSelectMultipleOption>();\n\n /** @internal */\n _idCounter: number = 0;\n protected _isInvalid: boolean;\n private elementRef: ElementRef;\n private renderer: Renderer2;\n private control: NgControl;\n\n constructor(_renderer: Renderer2,\n _elementRef: ElementRef,\n private injector: Injector,\n @Optional() private selectComponent: EuiSelectComponent) {\n super(_renderer, _elementRef);\n this.elementRef = _elementRef;\n this.renderer = _renderer;\n }\n\n /**\n * Sets the \"value\" property on one or of more of the select's options.\n * @nodoc\n */\n writeValue(value: any): void {\n this.value = value;\n let optionSelectedStateSetter: (opt: EuiSelectMultipleOption, o: any) => void;\n if (Array.isArray(value)) {\n // convert values to ids\n const ids = value.map((v) => this._getOptionId(v));\n optionSelectedStateSetter = (opt, o) => {\n opt._setSelected(ids.indexOf(o.toString()) > -1);\n };\n } else {\n optionSelectedStateSetter = (opt, o) => {\n opt._setSelected(false);\n };\n }\n this._optionMap.forEach(optionSelectedStateSetter);\n this.selectComponent?.syncReadOnlyValue();\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = () => {\n const control = this.injector.get(NgControl, undefined, InjectFlags.Optional);\n this.isInvalid = control.invalid;\n if(this.isInvalid) {\n this.renderer.addClass(this.elementRef.nativeElement,`eui-select--invalid` );\n } else if(this.elementRef.nativeElement.classList.contains('eui-select--invalid')) {\n this.renderer.removeClass(this.elementRef.nativeElement,`eui-select--invalid` );\n }\n fn();\n };\n }\n\n /**\n * Registers a function called when the control value changes\n * and writes an array of the selected options.\n * @nodoc\n */\n override registerOnChange(fn: (value: any) => any): void {\n this.onChange = (element: HTMLSelectElement) => {\n const selected: Array<any> = [];\n const selectedOptions = element.selectedOptions;\n if (selectedOptions !== undefined) {\n const options = selectedOptions;\n for (let i = 0; i < options.length; i++) {\n const opt = options[i];\n const val = this._getOptionValue(opt.value);\n selected.push(val);\n }\n } else {\n const options = element.options;\n for (let i = 0; i < options.length; i++) {\n const opt = options[i];\n if (opt.selected) {\n const val = this._getOptionValue(opt.value);\n selected.push(val);\n }\n }\n }\n this.value = selected;\n fn(selected);\n };\n }\n\n /** @internal */\n _registerOption(value: EuiSelectMultipleOption): string {\n const id: string = (this._idCounter++).toString();\n this._optionMap.set(id, value);\n return id;\n }\n\n /** @internal */\n _getOptionId(value: any): string|null {\n for (const id of Array.from(this._optionMap.keys())) {\n if (this['_compareWith'](this._optionMap.get(id)!._value, value)) {return id;}\n }\n return null;\n }\n\n /** @internal */\n _getOptionValue(valueString: string): any {\n const id: string = _extractId(valueString);\n return this._optionMap.has(id) ? this._optionMap.get(id)!._value : valueString;\n }\n\n}\n","import { Directive, ElementRef, Host, Input, OnDestroy, Optional, Renderer2 } from '@angular/core';\nimport { ɵNgSelectMultipleOption as NgSelectMultipleOption } from '@angular/forms';\nimport { EuiSelectMultipleControlValueAccessor } from './eui-select-multiple.directive';\nimport { _buildValueString } from './utils';\nimport { EuiSelectComponent } from './eui-select.component';\n\n/**\n * @description\n * Marks `<option>` as dynamic, so Angular can be notified when options change.\n *\n * @see `EuiSelectMultipleControlValueAccessor`\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\n// eslint-disable-next-line @angular-eslint/directive-selector\n@Directive({selector: 'option, option[euiOption]'})\n// eslint-disable-next-line @angular-eslint/directive-class-suffix\nexport class EuiSelectMultipleOption extends NgSelectMultipleOption implements OnDestroy {\n // TODO(issue/24571): remove '!'.\n id!: string;\n /** @internal */\n _value: any;\n private element: ElementRef;\n private renderer: Renderer2;\n private select: EuiSelectMultipleControlValueAccessor;\n private readonly selectComponent: EuiSelectComponent;\n\n constructor(\n _element: ElementRef, _renderer: Renderer2,\n @Optional() @Host() _select: EuiSelectMultipleControlValueAccessor,\n @Optional() @Host() _selectComponent: EuiSelectComponent\n ) {\n super(_element, _renderer, _select);\n this.element = _element;\n this.renderer = _renderer;\n this.select = _select;\n this.selectComponent = _selectComponent;\n }\n\n /**\n * @description\n * Tracks the value bound to the option element. Unlike the value binding,\n * ngValue supports binding to objects.\n */\n @Input()\n set ngValue(value: any) {\n if (this.select == null) {return;}\n this._value = value;\n this._setElementValue(_buildValueString(this.id, value));\n this.select.writeValue(this.select.value);\n }\n\n /**\n * @description\n * Tracks simple string values bound to the option element.\n * For objects, use the `ngValue` input binding.\n */\n @Input()\n set value(value: any) {\n if (this.select) {\n this._value = value;\n this._setElementValue(_buildValueString(this.id, value));\n this.select.writeValue(this.select.value);\n } else {\n this._setElementValue(value);\n }\n }\n\n /** @internal */\n _setElementValue(value: string): void {\n this.renderer.setProperty(this.element.nativeElement, 'value', value);\n }\n\n /** @internal */\n _setSelected(selected: boolean) {\n this.renderer.setProperty(this.element.nativeElement, 'selected', selected);\n this.selectComponent?.syncReadOnlyValue();\n }\n\n /** @nodoc */\n ngOnDestroy(): void {\n if (this.select) {\n this.select._optionMap.delete(this.id);\n this.select.writeValue(this.select.value);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EuiSelectComponent } from './eui-select.component';\nimport { EuiNgSelectOptionDirective } from './eui-select-option.directive';\nimport { EuiSelectControlValueAccessor } from './eui-select-control.directive';\nimport { EuiSelectMultipleControlValueAccessor } from './eui-select-multiple.directive';\nimport { EuiSelectMultipleOption } from './eui-select-mutli-option.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n declarations: [\n EuiSelectComponent,\n EuiNgSelectOptionDirective,\n EuiSelectControlValueAccessor,\n EuiSelectMultipleControlValueAccessor,\n EuiSelectMultipleOption\n ],\n exports: [\n EuiSelectComponent,\n EuiNgSelectOptionDirective,\n EuiSelectControlValueAccessor,\n EuiSelectMultipleControlValueAccessor,\n EuiSelectMultipleOption\n ]\n})\nexport class EuiSelectModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["_buildValueString","i1.EuiSelectComponent","i1.EuiSelectControlValueAccessor","i3.EuiSelectComponent","NgSelectMultipleOption","i1.EuiSelectMultipleControlValueAccessor","i2.EuiSelectComponent"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectFlags, Component, ViewEncapsulation, Input, forwardRef, Directive, HostBinding, Optional, Host, NgModule } from '@angular/core';
2
+ import { InjectFlags, Component, ViewEncapsulation, Input, forwardRef, Directive, Optional, HostBinding, Host, NgModule } from '@angular/core';
3
3
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
4
4
  import { EuiInputTextComponent } from '@eui/components/eui-input-text';
5
5
  import * as i2 from '@angular/forms';
@@ -211,7 +211,7 @@ class EuiSelectControlValueAccessor extends SelectControlValueAccessor {
211
211
  super.writeValue(value);
212
212
  this.setPlaceholderClass(value);
213
213
  // this['_optionMap'].get(value)
214
- this.selectComponent.syncReadOnlyValue();
214
+ this.selectComponent?.syncReadOnlyValue();
215
215
  }
216
216
  registerOnChange(fn) {
217
217
  this.onChange = (valueString) => {
@@ -285,7 +285,7 @@ class EuiSelectControlValueAccessor extends SelectControlValueAccessor {
285
285
  }
286
286
  }
287
287
  }
288
- /** @nocollapse */ EuiSelectControlValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EuiSelectControlValueAccessor, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.Injector }, { token: EuiSelectComponent }], target: i0.ɵɵFactoryTarget.Directive });
288
+ /** @nocollapse */ EuiSelectControlValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EuiSelectControlValueAccessor, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.Injector }, { token: EuiSelectComponent, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
289
289
  /** @nocollapse */ EuiSelectControlValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: EuiSelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: { placeholder: "placeholder", isInvalid: "isInvalid" }, host: { listeners: { "change": "onChange($event.target.value)", "blur": "onTouched()" }, properties: { "class": "this.cssClasses" } }, providers: [
290
290
  {
291
291
  provide: NG_VALUE_ACCESSOR,
@@ -308,7 +308,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
308
308
  }
309
309
  ]
310
310
  }]
311
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.Injector }, { type: EuiSelectComponent }]; }, propDecorators: { cssClasses: [{
311
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.Injector }, { type: EuiSelectComponent, decorators: [{
312
+ type: Optional
313
+ }] }]; }, propDecorators: { cssClasses: [{
312
314
  type: HostBinding,
313
315
  args: ['class']
314
316
  }], placeholder: [{
@@ -353,7 +355,7 @@ class EuiNgSelectOptionDirective extends NgSelectOption {
353
355
  this._selected = coerceBooleanProperty(value);
354
356
  }
355
357
  ngAfterViewInit() {
356
- this.selectComponent.syncReadOnlyValue();
358
+ this.selectComponent?.syncReadOnlyValue();
357
359
  if (this.selectNative && this.select && this.selectNative.value !== this.select.value) {
358
360
  // TODO: This causes issues when options array change from N to 1 and the option 1 is set through setValue()
359
361
  // Investigate what are the regressions from the disable of this. Issue is that the Native control
@@ -511,7 +513,7 @@ class EuiSelectMultipleControlValueAccessor extends SelectMultipleControlValueAc
511
513
  };
512
514
  }
513
515
  this._optionMap.forEach(optionSelectedStateSetter);
514
- this.selectComponent.syncReadOnlyValue();
516
+ this.selectComponent?.syncReadOnlyValue();
515
517
  }
516
518
  registerOnTouched(fn) {
517
519
  this.onTouched = () => {
@@ -578,7 +580,7 @@ class EuiSelectMultipleControlValueAccessor extends SelectMultipleControlValueAc
578
580
  return this._optionMap.has(id) ? this._optionMap.get(id)._value : valueString;
579
581
  }
580
582
  }
581
- /** @nocollapse */ EuiSelectMultipleControlValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EuiSelectMultipleControlValueAccessor, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.Injector }, { token: EuiSelectComponent }], target: i0.ɵɵFactoryTarget.Directive });
583
+ /** @nocollapse */ EuiSelectMultipleControlValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EuiSelectMultipleControlValueAccessor, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.Injector }, { token: EuiSelectComponent, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
582
584
  /** @nocollapse */ EuiSelectMultipleControlValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: EuiSelectMultipleControlValueAccessor, selector: "select[multiple][formControlName][euiSelect],select[multiple][formControl][euiSelect],select[multiple][ngModel][euiSelect]", inputs: { isInvalid: "isInvalid" }, host: { listeners: { "change": "onChange($event.target)", "blur": "onTouched()" }, properties: { "class": "this.cssClasses" } }, providers: [SELECT_MULTIPLE_VALUE_ACCESSOR], usesInheritance: true, ngImport: i0 });
583
585
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EuiSelectMultipleControlValueAccessor, decorators: [{
584
586
  type: Directive,
@@ -589,7 +591,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
589
591
  host: { '(change)': 'onChange($event.target)', '(blur)': 'onTouched()' },
590
592
  providers: [SELECT_MULTIPLE_VALUE_ACCESSOR]
591
593
  }]
592
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.Injector }, { type: EuiSelectComponent }]; }, propDecorators: { cssClasses: [{
594
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.Injector }, { type: EuiSelectComponent, decorators: [{
595
+ type: Optional
596
+ }] }]; }, propDecorators: { cssClasses: [{
593
597
  type: HostBinding,
594
598
  args: ['class']
595
599
  }], isInvalid: [{
@@ -1 +1 @@
1
- {"version":3,"file":"eui-components-eui-select.mjs","sources":["../../eui-select/eui-select.component.ts","../../eui-select/utils.ts","../../eui-select/eui-select-control.directive.ts","../../eui-select/eui-select-option.directive.ts","../../eui-select/eui-select-multiple.directive.ts","../../eui-select/eui-select-mutli-option.directive.ts","../../eui-select/eui-select.module.ts","../../eui-select/eui-components-eui-select.ts"],"sourcesContent":["import {\n Component,\n ComponentRef,\n ElementRef,\n Input,\n OnChanges,\n Renderer2,\n SimpleChanges,\n ViewContainerRef,\n ViewEncapsulation,\n Injector,\n InjectFlags,\n} from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { EuiInputTextComponent } from '@eui/components/eui-input-text';\nimport { NgControl } from '@angular/forms';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'select[euiSelect]',\n styleUrls: ['./styles/_index.scss'],\n template: '<ng-content></ng-content>',\n // template: '<option *ngIf=\"placeholder\" [ngValue]=\"null\">{{placeholder}} Template</option><ng-content></ng-content>',\n encapsulation: ViewEncapsulation.None,\n host: {'(change)': 'onChange($event.target.value)'},\n})\nexport class EuiSelectComponent implements OnChanges {\n @Input() placeholder: string;\n\n @Input()\n public get readonly(): boolean {\n return this._readonly;\n }\n\n public set readonly(value: BooleanInput) {\n this._readonly = coerceBooleanProperty(value);\n }\n\n @Input()\n public get isInvalid() {\n return this._isInvalid || null;\n }\n public set isInvalid(state: BooleanInput) {\n this._isInvalid = coerceBooleanProperty(state);\n if (this._isInvalid) {\n this.renderer.addClass(this.element, 'eui-select--invalid');\n } else {\n this.renderer.removeClass(this.element, 'eui-select--invalid');\n }\n }\n\n protected _isInvalid: boolean;\n private _readonly: boolean;\n private readonlyInput: ComponentRef<EuiInputTextComponent>;\n private element: HTMLSelectElement;\n private placeholderOption: HTMLOptionElement;\n private control: NgControl;\n\n constructor(\n private renderer: Renderer2,\n _elementRef: ElementRef,\n private viewContainerRef: ViewContainerRef,\n private injector: Injector,\n ) {\n this.element = _elementRef.nativeElement;\n this.renderer.addClass(this.element, 'eui-select');\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['readonly']) {\n if (this.readonly) {\n // hide select element\n this.renderer.setAttribute(this.element, 'readonly', 'true');\n this.renderer.setAttribute(this.element, 'hidden', '');\n\n // create an euiInputComponent to hold the value (for accessibility reasons)\n this.readonlyInput = this.createReadonlyElement();\n this.renderer.insertBefore(\n this.element.parentElement,\n this.element,\n this.readonlyInput.location.nativeElement\n );\n this.setReadonlyValue(this.readonlyInput);\n } else {\n this.readonlyInput?.destroy();\n this.renderer.removeAttribute(this.element, 'readonly');\n this.renderer.removeAttribute(this.element, 'hidden');\n }\n }\n\n if (changes['placeholder']) {\n this.control = this.injector.get(NgControl, undefined, InjectFlags.Optional);\n if (!this.control) {\n // in case option Element already created update the value\n if (changes['placeholder'].currentValue === undefined) {\n this.renderer.removeClass(this.element, 'eui-select__placeholder');\n // remove option element\n if (this.placeholderOption) {\n this.renderer.removeChild(this.element, this.placeholderOption);\n this.placeholderOption = undefined;\n }\n } else if (this.placeholderOption) {\n this.renderer.setProperty(this.placeholderOption, 'innerText', changes['placeholder'].currentValue);\n } else {\n // create option Element\n this.placeholderOption = this.renderer.createElement('option');\n\n this.renderer.addClass(this.placeholderOption, 'eui-select__placeholder');\n this.renderer.setProperty(this.placeholderOption, 'innerText', changes['placeholder'].currentValue);\n // set attributes to act as a placeholder\n if (!this.element.value) {\n this.renderer.setAttribute(this.placeholderOption, 'selected', '');\n }\n // append option element as the first of the select children\n this.element.insertBefore(this.placeholderOption, this.element.firstChild);\n\n if (this.element.value === changes['placeholder'].currentValue) {\n this.renderer.addClass(this.element, 'eui-select__placeholder');\n }\n }\n }\n }\n }\n\n onChange(value): void {\n this.control = this.injector.get(NgControl, undefined, InjectFlags.Optional);\n if (!this.control) {\n this.setPlaceholderClass(this.placeholder === value? undefined: value);\n }\n }\n\n syncReadOnlyValue(): void {\n this.setReadonlyValue(this.readonlyInput);\n }\n\n /**\n * set readonly value from selected options presented as comma separated string\n *\n * @param readonlyRef the input element to set the value\n * @private\n */\n private setReadonlyValue(readonlyRef: ComponentRef<EuiInputTextComponent>): any {\n if (readonlyRef) {\n const selectedOptions = Array.apply(null, this.element.selectedOptions)\n .map((i) => i.text)\n .filter((i) => i !== this.placeholder)\n .join(', ');\n this.renderer.setProperty(readonlyRef.location.nativeElement, 'value', selectedOptions);\n }\n }\n\n /**\n * create readonly element\n *\n * @private\n */\n private createReadonlyElement(): ComponentRef<EuiInputTextComponent> {\n const componentRef = this.viewContainerRef.createComponent(EuiInputTextComponent);\n componentRef.instance.readonly = true;\n return componentRef;\n }\n\n private setPlaceholderClass(value: any): void {\n if (!!this.placeholder && (value === undefined || value === null || value === '')) {\n try {\n this.element.options[0].selected = true;\n } catch (e) {\n }\n this.renderer.addClass(this.element, 'eui-select__placeholder');\n } else {\n this.renderer.removeClass(this.element, 'eui-select__placeholder');\n }\n }\n\n}\n","export function _buildValueString(id: string, value: any): string {\n if (id == null) {return `${value}`;}\n if (typeof value === 'string') {value = `'${value}'`;}\n if (value && typeof value === 'object') {value = 'Object';}\n return `${id}: ${value}`.slice(0, 50);\n}\n\nexport function _extractId(valueString: string): string {\n return valueString.split(':')[0];\n}\n","import {\n Directive,\n DoCheck,\n ElementRef,\n forwardRef,\n HostBinding,\n InjectFlags,\n Injector,\n Input,\n OnChanges,\n Renderer2,\n SimpleChanges\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, NgControl, SelectControlValueAccessor } from '@angular/forms';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { _buildValueString } from './utils';\nimport { EuiSelectComponent } from './eui-select.component';\n\n@Directive({\n selector:\n // eslint-disable-next-line @angular-eslint/directive-selector\n 'select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]',\n host: {'(change)': 'onChange($event.target.value)', '(blur)': 'onTouched()'},\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EuiSelectControlValueAccessor),\n multi: true\n }\n ]\n})\n// eslint-disable-next-line @angular-eslint/directive-class-suffix\nexport class EuiSelectControlValueAccessor extends SelectControlValueAccessor\n implements ControlValueAccessor, OnChanges, DoCheck {\n @HostBinding('class')\n public get cssClasses(): any {\n return [\n 'eui-select',\n this._isInvalid ? `eui-select--invalid` : '',\n ].join(' ').trim();\n }\n @Input() placeholder: string;\n\n @Input()\n public get isInvalid() {\n return this._isInvalid || null;\n }\n public set isInvalid(state: BooleanInput) {\n this._isInvalid = coerceBooleanProperty(state);\n }\n\n protected _isInvalid: boolean;\n private elementRef: ElementRef;\n private renderer: Renderer2;\n private placeholderOption: HTMLOptionElement;\n private control: NgControl;\n\n constructor(_renderer: Renderer2,\n _elementRef: ElementRef,\n private injector: Injector,\n private selectComponent: EuiSelectComponent) {\n super(_renderer, _elementRef);\n this.elementRef = _elementRef;\n this.renderer = _renderer;\n this.onChange = (valueString: string) => {\n this.value = this['_getOptionValue'](valueString);\n this.setPlaceholderClass(this.value);\n };\n }\n\n ngDoCheck(): void {\n if (!this.control) {\n this.control = this.injector.get(NgControl, undefined, InjectFlags.Optional);\n }\n this.isInvalid = this.control ? this.control.invalid && this.control.touched : this._isInvalid;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = () => {\n const control = this.injector.get(NgControl, undefined, InjectFlags.Optional);\n this.isInvalid = control.invalid;\n if(this.isInvalid) {\n this.renderer.addClass(this.elementRef.nativeElement,`eui-select--invalid` );\n } else if(this.elementRef.nativeElement.classList.contains('eui-select--invalid')) {\n this.renderer.removeClass(this.elementRef.nativeElement,`eui-select--invalid` );\n }\n fn();\n };\n }\n\n /**\n * Sets the \"value\" property on the select element.\n * @nodoc\n */\n override writeValue(value: any): void {\n super.writeValue(value);\n this.setPlaceholderClass(value);\n // this['_optionMap'].get(value)\n this.selectComponent.syncReadOnlyValue();\n }\n\n override registerOnChange(fn: (value: any) => any): void {\n this.onChange = (valueString: string) => {\n this.value = this['_getOptionValue'](valueString);\n this.setPlaceholderClass(this.value);\n fn(this.value);\n };\n }\n\n setDisabledState(isDisabled: boolean): void {\n if(isDisabled) {\n this.renderer.setAttribute(this.elementRef.nativeElement, 'disabled', '');\n } else {\n this.renderer.removeAttribute(this.elementRef.nativeElement, 'disabled');\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['placeholder']) {\n // in case option Element already created update the value\n if (changes['placeholder'].currentValue === undefined) {\n this.renderer.removeClass(this.elementRef.nativeElement, 'eui-select__placeholder');\n // remove option element\n if (this.placeholderOption) {\n this.renderer.removeChild(this.elementRef.nativeElement, this.placeholderOption);\n this.placeholderOption = undefined;\n }\n } else if (this.placeholderOption) {\n this.renderer.setProperty(this.placeholderOption, 'innerText', changes['placeholder'].currentValue);\n } else {\n // create option Element\n this.placeholderOption = this.renderer.createElement('option');\n // const option = new EuiNgSelectOptionDirective({nativeElement: this.placeholderOption}, this.renderer, this);\n // option.ngValue = null;\n const id = this['_registerOption']();\n this['_optionMap'].set(id, null);\n const selectControlValueAccessor = this.injector.get(SelectControlValueAccessor, undefined);\n selectControlValueAccessor['_idCounter'] = this['_idCounter'];\n selectControlValueAccessor['_optionMap'] = this['_optionMap'];\n this.renderer.setValue(this.placeholderOption, _buildValueString(id, undefined));\n this.renderer.setProperty(this.placeholderOption, 'value', _buildValueString(id, undefined));\n\n this.renderer.addClass(this.placeholderOption, 'eui-select__placeholder');\n this.renderer.setProperty(this.placeholderOption, 'innerText', changes['placeholder'].currentValue);\n // set attributes to act as a placeholder\n if (!this.elementRef.nativeElement.value) {\n this.renderer.setAttribute(this.placeholderOption, 'selected', '');\n }\n // append option element as the first of the select children\n this.elementRef.nativeElement.insertBefore(this.placeholderOption, this.elementRef.nativeElement.firstChild);\n\n if (this.elementRef.nativeElement.value === changes['placeholder'].currentValue) {\n this.renderer.addClass(this.elementRef.nativeElement, 'eui-select__placeholder');\n }\n if(!this.value) {\n this.writeValue(undefined);\n }\n }\n }\n }\n\n private setPlaceholderClass(value: any): void {\n if (!!this.placeholder && (value === undefined || value === null || value === '')) {\n try {\n this.elementRef.nativeElement.options[0].selected = true;\n } catch (e) {\n }\n this.renderer.addClass(this.elementRef.nativeElement, 'eui-select__placeholder');\n } else {\n this.renderer.removeClass(this.elementRef.nativeElement, 'eui-select__placeholder');\n }\n }\n}\n","import { AfterViewInit, Directive, ElementRef, Host, Input, OnChanges, OnDestroy, Optional, Renderer2, SimpleChanges } from '@angular/core';\nimport { NgSelectOption, SelectControlValueAccessor } from '@angular/forms';\nimport { EuiSelectControlValueAccessor } from './eui-select-control.directive';\nimport { EuiSelectComponent } from './eui-select.component';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\n\nfunction _buildValueString(id: string, value: any): string {\n if (id == null) {\n return `${value}`;\n }\n if (value && typeof value === 'object') {\n value = 'Object';\n }\n return `${id}: ${value}`.slice(0, 50);\n}\n\n/**\n * @description\n * Marks `<option>` as dynamic, so Angular can be notified when options change.\n *\n * @see `EuiSelectControlValueAccessor`\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\n// eslint-disable-next-line @angular-eslint/directive-selector\n@Directive({selector: 'option, option[euiOption]'})\nexport class EuiNgSelectOptionDirective extends NgSelectOption implements OnDestroy, OnChanges, AfterViewInit {\n @Input()\n get selected(): boolean {\n return this._selected;\n }\n set selected(value: BooleanInput) {\n this._selected = coerceBooleanProperty(value);\n }\n\n @Input() label: string;\n\n private _selected: boolean;\n private readonly select: EuiSelectControlValueAccessor;\n private readonly selectNative: SelectControlValueAccessor;\n private readonly selectComponent: EuiSelectComponent;\n private element: ElementRef<HTMLOptionElement>;\n private renderer: Renderer2;\n\n constructor(\n _element: ElementRef,\n _renderer: Renderer2,\n @Optional() @Host() _select: EuiSelectControlValueAccessor,\n @Optional() @Host() _selectNative: SelectControlValueAccessor,\n @Optional() @Host() _selectComponent: EuiSelectComponent\n ) {\n super(_element, _renderer, _select);\n this.select = _select;\n this.selectNative = _selectNative;\n this.selectComponent = _selectComponent;\n this.element = _element;\n this.renderer = _renderer;\n }\n\n ngAfterViewInit(): void {\n this.selectComponent.syncReadOnlyValue();\n if (this.selectNative && this.select && this.selectNative.value !== this.select.value) {\n // TODO: This causes issues when options array change from N to 1 and the option 1 is set through setValue()\n // Investigate what are the regressions from the disable of this. Issue is that the Native control\n // value accessor holds a mapper not in sync with the EuiSelectControlValueAccessor.\n //\n // this.selectNative.writeValue(this.select.value);\n }\n }\n\n /**\n * @description\n * Tracks the value bound to the option element. Unlike the value binding,\n * ngValue supports binding to objects.\n */\n @Input()\n override set ngValue(value: any) {\n if (this.select == null) {\n return;\n }\n this.select['_optionMap'].set(this.id, value);\n this.selectNative['_optionMap'] = this.select['_optionMap']; //.set(this.id, value);\n super['_setElementValue'](_buildValueString(this.id, value));\n this.select.writeValue(this.select.value);\n this.selectNative.writeValue(this.select.value);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.selected) {\n /**\n * in case there's a selected value, readonly attribute is true, sync it to the readonly input. The reason is\n * that the readonly input is not aware of the selected value until the render of the view completes.\n */\n switch (this._selected) {\n case true:\n this.renderer.setAttribute(this.element.nativeElement, 'selected', '');\n break;\n default:\n this.renderer.removeAttribute(this.element.nativeElement, 'selected');\n }\n this.selectComponent?.syncReadOnlyValue();\n }\n\n if (changes.label) {\n this.renderer.setProperty(this.element.nativeElement, 'innerText', changes.label.currentValue);\n this.selectComponent?.syncReadOnlyValue();\n }\n }\n}\n","import {\n Directive,\n ElementRef,\n forwardRef, HostBinding,\n InjectFlags,\n Injector,\n Input,\n Provider,\n Renderer2\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NG_VALUE_ACCESSOR, NgControl,\n SelectMultipleControlValueAccessor\n} from '@angular/forms';\nimport { EuiSelectMultipleOption } from './eui-select-mutli-option.directive';\nimport { _extractId } from './utils';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { EuiSelectComponent } from './eui-select.component';\n\nconst SELECT_MULTIPLE_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EuiSelectMultipleControlValueAccessor),\n multi: true\n};\n\n/** Mock interface for HTML Options */\ninterface HTMLOption {\n value: string;\n selected: boolean;\n}\n\n/** Mock interface for HTMLCollection */\nabstract class HTMLCollection {\n // TODO(issue/24571): remove '!'.\n length!: number;\n abstract item(_: number): HTMLOption;\n}\n\n/**\n * @description\n * The `ControlValueAccessor` for writing multi-select control values and listening to multi-select\n * control changes. The value accessor is used by the `FormControlDirective`, `FormControlName`, and\n * `NgModel` directives.\n *\n * @see `EuiSelectControlValueAccessor`\n *\n * @usageNotes\n *\n * ### Using a multi-select control\n *\n * The follow example shows you how to use a multi-select control with a reactive form.\n *\n * ```ts\n * const countryControl = new FormControl();\n * ```\n *\n * ```\n * <select euiSelect multiple name=\"countries\" [formControl]=\"countryControl\">\n * <option euiOption *ngFor=\"let country of countries\" [ngValue]=\"country\">\n * {{ country.name }}\n * </option>\n * </select>\n * ```\n *\n * ### Customizing option selection\n *\n * To customize the default option comparison algorithm, `<select>` supports `compareWith` input.\n * See the `SelectControlValueAccessor` for usage.\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\n@Directive({\n selector:\n // eslint-disable-next-line @angular-eslint/directive-selector,max-len\n 'select[multiple][formControlName][euiSelect],select[multiple][formControl][euiSelect],select[multiple][ngModel][euiSelect]',\n host: {'(change)': 'onChange($event.target)', '(blur)': 'onTouched()'},\n providers: [SELECT_MULTIPLE_VALUE_ACCESSOR]\n})\n// eslint-disable-next-line @angular-eslint/directive-class-suffix\nexport class EuiSelectMultipleControlValueAccessor extends SelectMultipleControlValueAccessor implements\n ControlValueAccessor {\n\n @HostBinding('class')\n public get cssClasses(): any {\n return [\n 'eui-select',\n this._isInvalid ? `eui-select--invalid` : '',\n ].join(' ').trim();\n }\n @Input()\n public get isInvalid() {\n return this._isInvalid || null;\n }\n public set isInvalid(state: BooleanInput) {\n this._isInvalid = coerceBooleanProperty(state);\n }\n\n /**\n * The current value.\n * @nodoc\n */\n value: any;\n\n /** @internal */\n _optionMap: Map<string, EuiSelectMultipleOption> = new Map<string, EuiSelectMultipleOption>();\n\n /** @internal */\n _idCounter: number = 0;\n protected _isInvalid: boolean;\n private elementRef: ElementRef;\n private renderer: Renderer2;\n private control: NgControl;\n\n constructor(_renderer: Renderer2,\n _elementRef: ElementRef,\n private injector: Injector,\n private selectComponent: EuiSelectComponent) {\n super(_renderer, _elementRef);\n this.elementRef = _elementRef;\n this.renderer = _renderer;\n }\n\n /**\n * Sets the \"value\" property on one or of more of the select's options.\n * @nodoc\n */\n writeValue(value: any): void {\n this.value = value;\n let optionSelectedStateSetter: (opt: EuiSelectMultipleOption, o: any) => void;\n if (Array.isArray(value)) {\n // convert values to ids\n const ids = value.map((v) => this._getOptionId(v));\n optionSelectedStateSetter = (opt, o) => {\n opt._setSelected(ids.indexOf(o.toString()) > -1);\n };\n } else {\n optionSelectedStateSetter = (opt, o) => {\n opt._setSelected(false);\n };\n }\n this._optionMap.forEach(optionSelectedStateSetter);\n this.selectComponent.syncReadOnlyValue();\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = () => {\n const control = this.injector.get(NgControl, undefined, InjectFlags.Optional);\n this.isInvalid = control.invalid;\n if(this.isInvalid) {\n this.renderer.addClass(this.elementRef.nativeElement,`eui-select--invalid` );\n } else if(this.elementRef.nativeElement.classList.contains('eui-select--invalid')) {\n this.renderer.removeClass(this.elementRef.nativeElement,`eui-select--invalid` );\n }\n fn();\n };\n }\n\n /**\n * Registers a function called when the control value changes\n * and writes an array of the selected options.\n * @nodoc\n */\n override registerOnChange(fn: (value: any) => any): void {\n this.onChange = (element: HTMLSelectElement) => {\n const selected: Array<any> = [];\n const selectedOptions = element.selectedOptions;\n if (selectedOptions !== undefined) {\n const options = selectedOptions;\n for (let i = 0; i < options.length; i++) {\n const opt = options[i];\n const val = this._getOptionValue(opt.value);\n selected.push(val);\n }\n } else {\n const options = element.options;\n for (let i = 0; i < options.length; i++) {\n const opt = options[i];\n if (opt.selected) {\n const val = this._getOptionValue(opt.value);\n selected.push(val);\n }\n }\n }\n this.value = selected;\n fn(selected);\n };\n }\n\n /** @internal */\n _registerOption(value: EuiSelectMultipleOption): string {\n const id: string = (this._idCounter++).toString();\n this._optionMap.set(id, value);\n return id;\n }\n\n /** @internal */\n _getOptionId(value: any): string|null {\n for (const id of Array.from(this._optionMap.keys())) {\n if (this['_compareWith'](this._optionMap.get(id)!._value, value)) {return id;}\n }\n return null;\n }\n\n /** @internal */\n _getOptionValue(valueString: string): any {\n const id: string = _extractId(valueString);\n return this._optionMap.has(id) ? this._optionMap.get(id)!._value : valueString;\n }\n\n}\n","import { Directive, ElementRef, Host, Input, OnDestroy, Optional, Renderer2 } from '@angular/core';\nimport { ɵNgSelectMultipleOption as NgSelectMultipleOption } from '@angular/forms';\nimport { EuiSelectMultipleControlValueAccessor } from './eui-select-multiple.directive';\nimport { _buildValueString } from './utils';\nimport { EuiSelectComponent } from './eui-select.component';\n\n/**\n * @description\n * Marks `<option>` as dynamic, so Angular can be notified when options change.\n *\n * @see `EuiSelectMultipleControlValueAccessor`\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\n// eslint-disable-next-line @angular-eslint/directive-selector\n@Directive({selector: 'option, option[euiOption]'})\n// eslint-disable-next-line @angular-eslint/directive-class-suffix\nexport class EuiSelectMultipleOption extends NgSelectMultipleOption implements OnDestroy {\n // TODO(issue/24571): remove '!'.\n id!: string;\n /** @internal */\n _value: any;\n private element: ElementRef;\n private renderer: Renderer2;\n private select: EuiSelectMultipleControlValueAccessor;\n private readonly selectComponent: EuiSelectComponent;\n\n constructor(\n _element: ElementRef, _renderer: Renderer2,\n @Optional() @Host() _select: EuiSelectMultipleControlValueAccessor,\n @Optional() @Host() _selectComponent: EuiSelectComponent\n ) {\n super(_element, _renderer, _select);\n this.element = _element;\n this.renderer = _renderer;\n this.select = _select;\n this.selectComponent = _selectComponent;\n }\n\n /**\n * @description\n * Tracks the value bound to the option element. Unlike the value binding,\n * ngValue supports binding to objects.\n */\n @Input()\n set ngValue(value: any) {\n if (this.select == null) {return;}\n this._value = value;\n this._setElementValue(_buildValueString(this.id, value));\n this.select.writeValue(this.select.value);\n }\n\n /**\n * @description\n * Tracks simple string values bound to the option element.\n * For objects, use the `ngValue` input binding.\n */\n @Input()\n set value(value: any) {\n if (this.select) {\n this._value = value;\n this._setElementValue(_buildValueString(this.id, value));\n this.select.writeValue(this.select.value);\n } else {\n this._setElementValue(value);\n }\n }\n\n /** @internal */\n _setElementValue(value: string): void {\n this.renderer.setProperty(this.element.nativeElement, 'value', value);\n }\n\n /** @internal */\n _setSelected(selected: boolean) {\n this.renderer.setProperty(this.element.nativeElement, 'selected', selected);\n this.selectComponent?.syncReadOnlyValue();\n }\n\n /** @nodoc */\n ngOnDestroy(): void {\n if (this.select) {\n this.select._optionMap.delete(this.id);\n this.select.writeValue(this.select.value);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EuiSelectComponent } from './eui-select.component';\nimport { EuiNgSelectOptionDirective } from './eui-select-option.directive';\nimport { EuiSelectControlValueAccessor } from './eui-select-control.directive';\nimport { EuiSelectMultipleControlValueAccessor } from './eui-select-multiple.directive';\nimport { EuiSelectMultipleOption } from './eui-select-mutli-option.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n declarations: [\n EuiSelectComponent,\n EuiNgSelectOptionDirective,\n EuiSelectControlValueAccessor,\n EuiSelectMultipleControlValueAccessor,\n EuiSelectMultipleOption\n ],\n exports: [\n EuiSelectComponent,\n EuiNgSelectOptionDirective,\n EuiSelectControlValueAccessor,\n EuiSelectMultipleControlValueAccessor,\n EuiSelectMultipleOption\n ]\n})\nexport class EuiSelectModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["_buildValueString","i1.EuiSelectComponent","i1.EuiSelectControlValueAccessor","i3.EuiSelectComponent","NgSelectMultipleOption","i1.EuiSelectMultipleControlValueAccessor","i2.EuiSelectComponent"],"mappings":"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"}
1
+ {"version":3,"file":"eui-components-eui-select.mjs","sources":["../../eui-select/eui-select.component.ts","../../eui-select/utils.ts","../../eui-select/eui-select-control.directive.ts","../../eui-select/eui-select-option.directive.ts","../../eui-select/eui-select-multiple.directive.ts","../../eui-select/eui-select-mutli-option.directive.ts","../../eui-select/eui-select.module.ts","../../eui-select/eui-components-eui-select.ts"],"sourcesContent":["import {\n Component,\n ComponentRef,\n ElementRef,\n Input,\n OnChanges,\n Renderer2,\n SimpleChanges,\n ViewContainerRef,\n ViewEncapsulation,\n Injector,\n InjectFlags,\n} from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { EuiInputTextComponent } from '@eui/components/eui-input-text';\nimport { NgControl } from '@angular/forms';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'select[euiSelect]',\n styleUrls: ['./styles/_index.scss'],\n template: '<ng-content></ng-content>',\n // template: '<option *ngIf=\"placeholder\" [ngValue]=\"null\">{{placeholder}} Template</option><ng-content></ng-content>',\n encapsulation: ViewEncapsulation.None,\n host: {'(change)': 'onChange($event.target.value)'},\n})\nexport class EuiSelectComponent implements OnChanges {\n @Input() placeholder: string;\n\n @Input()\n public get readonly(): boolean {\n return this._readonly;\n }\n\n public set readonly(value: BooleanInput) {\n this._readonly = coerceBooleanProperty(value);\n }\n\n @Input()\n public get isInvalid() {\n return this._isInvalid || null;\n }\n public set isInvalid(state: BooleanInput) {\n this._isInvalid = coerceBooleanProperty(state);\n if (this._isInvalid) {\n this.renderer.addClass(this.element, 'eui-select--invalid');\n } else {\n this.renderer.removeClass(this.element, 'eui-select--invalid');\n }\n }\n\n protected _isInvalid: boolean;\n private _readonly: boolean;\n private readonlyInput: ComponentRef<EuiInputTextComponent>;\n private element: HTMLSelectElement;\n private placeholderOption: HTMLOptionElement;\n private control: NgControl;\n\n constructor(\n private renderer: Renderer2,\n _elementRef: ElementRef,\n private viewContainerRef: ViewContainerRef,\n private injector: Injector,\n ) {\n this.element = _elementRef.nativeElement;\n this.renderer.addClass(this.element, 'eui-select');\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['readonly']) {\n if (this.readonly) {\n // hide select element\n this.renderer.setAttribute(this.element, 'readonly', 'true');\n this.renderer.setAttribute(this.element, 'hidden', '');\n\n // create an euiInputComponent to hold the value (for accessibility reasons)\n this.readonlyInput = this.createReadonlyElement();\n this.renderer.insertBefore(\n this.element.parentElement,\n this.element,\n this.readonlyInput.location.nativeElement\n );\n this.setReadonlyValue(this.readonlyInput);\n } else {\n this.readonlyInput?.destroy();\n this.renderer.removeAttribute(this.element, 'readonly');\n this.renderer.removeAttribute(this.element, 'hidden');\n }\n }\n\n if (changes['placeholder']) {\n this.control = this.injector.get(NgControl, undefined, InjectFlags.Optional);\n if (!this.control) {\n // in case option Element already created update the value\n if (changes['placeholder'].currentValue === undefined) {\n this.renderer.removeClass(this.element, 'eui-select__placeholder');\n // remove option element\n if (this.placeholderOption) {\n this.renderer.removeChild(this.element, this.placeholderOption);\n this.placeholderOption = undefined;\n }\n } else if (this.placeholderOption) {\n this.renderer.setProperty(this.placeholderOption, 'innerText', changes['placeholder'].currentValue);\n } else {\n // create option Element\n this.placeholderOption = this.renderer.createElement('option');\n\n this.renderer.addClass(this.placeholderOption, 'eui-select__placeholder');\n this.renderer.setProperty(this.placeholderOption, 'innerText', changes['placeholder'].currentValue);\n // set attributes to act as a placeholder\n if (!this.element.value) {\n this.renderer.setAttribute(this.placeholderOption, 'selected', '');\n }\n // append option element as the first of the select children\n this.element.insertBefore(this.placeholderOption, this.element.firstChild);\n\n if (this.element.value === changes['placeholder'].currentValue) {\n this.renderer.addClass(this.element, 'eui-select__placeholder');\n }\n }\n }\n }\n }\n\n onChange(value): void {\n this.control = this.injector.get(NgControl, undefined, InjectFlags.Optional);\n if (!this.control) {\n this.setPlaceholderClass(this.placeholder === value? undefined: value);\n }\n }\n\n syncReadOnlyValue(): void {\n this.setReadonlyValue(this.readonlyInput);\n }\n\n /**\n * set readonly value from selected options presented as comma separated string\n *\n * @param readonlyRef the input element to set the value\n * @private\n */\n private setReadonlyValue(readonlyRef: ComponentRef<EuiInputTextComponent>): any {\n if (readonlyRef) {\n const selectedOptions = Array.apply(null, this.element.selectedOptions)\n .map((i) => i.text)\n .filter((i) => i !== this.placeholder)\n .join(', ');\n this.renderer.setProperty(readonlyRef.location.nativeElement, 'value', selectedOptions);\n }\n }\n\n /**\n * create readonly element\n *\n * @private\n */\n private createReadonlyElement(): ComponentRef<EuiInputTextComponent> {\n const componentRef = this.viewContainerRef.createComponent(EuiInputTextComponent);\n componentRef.instance.readonly = true;\n return componentRef;\n }\n\n private setPlaceholderClass(value: any): void {\n if (!!this.placeholder && (value === undefined || value === null || value === '')) {\n try {\n this.element.options[0].selected = true;\n } catch (e) {\n }\n this.renderer.addClass(this.element, 'eui-select__placeholder');\n } else {\n this.renderer.removeClass(this.element, 'eui-select__placeholder');\n }\n }\n\n}\n","export function _buildValueString(id: string, value: any): string {\n if (id == null) {return `${value}`;}\n if (typeof value === 'string') {value = `'${value}'`;}\n if (value && typeof value === 'object') {value = 'Object';}\n return `${id}: ${value}`.slice(0, 50);\n}\n\nexport function _extractId(valueString: string): string {\n return valueString.split(':')[0];\n}\n","import {\n Directive,\n DoCheck,\n ElementRef,\n forwardRef,\n HostBinding,\n InjectFlags,\n Injector,\n Input,\n OnChanges,\n Optional,\n Renderer2,\n SimpleChanges,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, NgControl, SelectControlValueAccessor } from '@angular/forms';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { _buildValueString } from './utils';\nimport { EuiSelectComponent } from './eui-select.component';\n\n@Directive({\n selector:\n // eslint-disable-next-line @angular-eslint/directive-selector\n 'select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]',\n host: {'(change)': 'onChange($event.target.value)', '(blur)': 'onTouched()'},\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EuiSelectControlValueAccessor),\n multi: true\n }\n ]\n})\n// eslint-disable-next-line @angular-eslint/directive-class-suffix\nexport class EuiSelectControlValueAccessor extends SelectControlValueAccessor\n implements ControlValueAccessor, OnChanges, DoCheck {\n @HostBinding('class')\n public get cssClasses(): any {\n return [\n 'eui-select',\n this._isInvalid ? `eui-select--invalid` : '',\n ].join(' ').trim();\n }\n @Input() placeholder: string;\n\n @Input()\n public get isInvalid() {\n return this._isInvalid || null;\n }\n public set isInvalid(state: BooleanInput) {\n this._isInvalid = coerceBooleanProperty(state);\n }\n\n protected _isInvalid: boolean;\n private elementRef: ElementRef;\n private renderer: Renderer2;\n private placeholderOption: HTMLOptionElement;\n private control: NgControl;\n\n constructor(_renderer: Renderer2,\n _elementRef: ElementRef,\n private injector: Injector,\n @Optional() private selectComponent: EuiSelectComponent) {\n super(_renderer, _elementRef);\n this.elementRef = _elementRef;\n this.renderer = _renderer;\n this.onChange = (valueString: string) => {\n this.value = this['_getOptionValue'](valueString);\n this.setPlaceholderClass(this.value);\n };\n }\n\n ngDoCheck(): void {\n if (!this.control) {\n this.control = this.injector.get(NgControl, undefined, InjectFlags.Optional);\n }\n this.isInvalid = this.control ? this.control.invalid && this.control.touched : this._isInvalid;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = () => {\n const control = this.injector.get(NgControl, undefined, InjectFlags.Optional);\n this.isInvalid = control.invalid;\n if(this.isInvalid) {\n this.renderer.addClass(this.elementRef.nativeElement,`eui-select--invalid` );\n } else if(this.elementRef.nativeElement.classList.contains('eui-select--invalid')) {\n this.renderer.removeClass(this.elementRef.nativeElement,`eui-select--invalid` );\n }\n fn();\n };\n }\n\n /**\n * Sets the \"value\" property on the select element.\n * @nodoc\n */\n override writeValue(value: any): void {\n super.writeValue(value);\n this.setPlaceholderClass(value);\n // this['_optionMap'].get(value)\n this.selectComponent?.syncReadOnlyValue();\n }\n\n override registerOnChange(fn: (value: any) => any): void {\n this.onChange = (valueString: string) => {\n this.value = this['_getOptionValue'](valueString);\n this.setPlaceholderClass(this.value);\n fn(this.value);\n };\n }\n\n setDisabledState(isDisabled: boolean): void {\n if(isDisabled) {\n this.renderer.setAttribute(this.elementRef.nativeElement, 'disabled', '');\n } else {\n this.renderer.removeAttribute(this.elementRef.nativeElement, 'disabled');\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['placeholder']) {\n // in case option Element already created update the value\n if (changes['placeholder'].currentValue === undefined) {\n this.renderer.removeClass(this.elementRef.nativeElement, 'eui-select__placeholder');\n // remove option element\n if (this.placeholderOption) {\n this.renderer.removeChild(this.elementRef.nativeElement, this.placeholderOption);\n this.placeholderOption = undefined;\n }\n } else if (this.placeholderOption) {\n this.renderer.setProperty(this.placeholderOption, 'innerText', changes['placeholder'].currentValue);\n } else {\n // create option Element\n this.placeholderOption = this.renderer.createElement('option');\n // const option = new EuiNgSelectOptionDirective({nativeElement: this.placeholderOption}, this.renderer, this);\n // option.ngValue = null;\n const id = this['_registerOption']();\n this['_optionMap'].set(id, null);\n const selectControlValueAccessor = this.injector.get(SelectControlValueAccessor, undefined);\n selectControlValueAccessor['_idCounter'] = this['_idCounter'];\n selectControlValueAccessor['_optionMap'] = this['_optionMap'];\n this.renderer.setValue(this.placeholderOption, _buildValueString(id, undefined));\n this.renderer.setProperty(this.placeholderOption, 'value', _buildValueString(id, undefined));\n\n this.renderer.addClass(this.placeholderOption, 'eui-select__placeholder');\n this.renderer.setProperty(this.placeholderOption, 'innerText', changes['placeholder'].currentValue);\n // set attributes to act as a placeholder\n if (!this.elementRef.nativeElement.value) {\n this.renderer.setAttribute(this.placeholderOption, 'selected', '');\n }\n // append option element as the first of the select children\n this.elementRef.nativeElement.insertBefore(this.placeholderOption, this.elementRef.nativeElement.firstChild);\n\n if (this.elementRef.nativeElement.value === changes['placeholder'].currentValue) {\n this.renderer.addClass(this.elementRef.nativeElement, 'eui-select__placeholder');\n }\n if(!this.value) {\n this.writeValue(undefined);\n }\n }\n }\n }\n\n private setPlaceholderClass(value: any): void {\n if (!!this.placeholder && (value === undefined || value === null || value === '')) {\n try {\n this.elementRef.nativeElement.options[0].selected = true;\n } catch (e) {\n }\n this.renderer.addClass(this.elementRef.nativeElement, 'eui-select__placeholder');\n } else {\n this.renderer.removeClass(this.elementRef.nativeElement, 'eui-select__placeholder');\n }\n }\n}\n","import { AfterViewInit, Directive, ElementRef, Host, Input, OnChanges, OnDestroy, Optional, Renderer2, SimpleChanges } from '@angular/core';\nimport { NgSelectOption, SelectControlValueAccessor } from '@angular/forms';\nimport { EuiSelectControlValueAccessor } from './eui-select-control.directive';\nimport { EuiSelectComponent } from './eui-select.component';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\n\nfunction _buildValueString(id: string, value: any): string {\n if (id == null) {\n return `${value}`;\n }\n if (value && typeof value === 'object') {\n value = 'Object';\n }\n return `${id}: ${value}`.slice(0, 50);\n}\n\n/**\n * @description\n * Marks `<option>` as dynamic, so Angular can be notified when options change.\n *\n * @see `EuiSelectControlValueAccessor`\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\n// eslint-disable-next-line @angular-eslint/directive-selector\n@Directive({selector: 'option, option[euiOption]'})\nexport class EuiNgSelectOptionDirective extends NgSelectOption implements OnDestroy, OnChanges, AfterViewInit {\n @Input()\n get selected(): boolean {\n return this._selected;\n }\n set selected(value: BooleanInput) {\n this._selected = coerceBooleanProperty(value);\n }\n\n @Input() label: string;\n\n private _selected: boolean;\n private readonly select: EuiSelectControlValueAccessor;\n private readonly selectNative: SelectControlValueAccessor;\n private readonly selectComponent: EuiSelectComponent;\n private element: ElementRef<HTMLOptionElement>;\n private renderer: Renderer2;\n\n constructor(\n _element: ElementRef,\n _renderer: Renderer2,\n @Optional() @Host() _select: EuiSelectControlValueAccessor,\n @Optional() @Host() _selectNative: SelectControlValueAccessor,\n @Optional() @Host() _selectComponent: EuiSelectComponent\n ) {\n super(_element, _renderer, _select);\n this.select = _select;\n this.selectNative = _selectNative;\n this.selectComponent = _selectComponent;\n this.element = _element;\n this.renderer = _renderer;\n }\n\n ngAfterViewInit(): void {\n this.selectComponent?.syncReadOnlyValue();\n if (this.selectNative && this.select && this.selectNative.value !== this.select.value) {\n // TODO: This causes issues when options array change from N to 1 and the option 1 is set through setValue()\n // Investigate what are the regressions from the disable of this. Issue is that the Native control\n // value accessor holds a mapper not in sync with the EuiSelectControlValueAccessor.\n //\n // this.selectNative.writeValue(this.select.value);\n }\n }\n\n /**\n * @description\n * Tracks the value bound to the option element. Unlike the value binding,\n * ngValue supports binding to objects.\n */\n @Input()\n override set ngValue(value: any) {\n if (this.select == null) {\n return;\n }\n this.select['_optionMap'].set(this.id, value);\n this.selectNative['_optionMap'] = this.select['_optionMap']; //.set(this.id, value);\n super['_setElementValue'](_buildValueString(this.id, value));\n this.select.writeValue(this.select.value);\n this.selectNative.writeValue(this.select.value);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.selected) {\n /**\n * in case there's a selected value, readonly attribute is true, sync it to the readonly input. The reason is\n * that the readonly input is not aware of the selected value until the render of the view completes.\n */\n switch (this._selected) {\n case true:\n this.renderer.setAttribute(this.element.nativeElement, 'selected', '');\n break;\n default:\n this.renderer.removeAttribute(this.element.nativeElement, 'selected');\n }\n this.selectComponent?.syncReadOnlyValue();\n }\n\n if (changes.label) {\n this.renderer.setProperty(this.element.nativeElement, 'innerText', changes.label.currentValue);\n this.selectComponent?.syncReadOnlyValue();\n }\n }\n}\n","import {\n Directive,\n ElementRef,\n forwardRef, HostBinding,\n InjectFlags,\n Injector,\n Input,\n Optional,\n Provider,\n Renderer2,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NG_VALUE_ACCESSOR, NgControl,\n SelectMultipleControlValueAccessor\n} from '@angular/forms';\nimport { EuiSelectMultipleOption } from './eui-select-mutli-option.directive';\nimport { _extractId } from './utils';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { EuiSelectComponent } from './eui-select.component';\n\nconst SELECT_MULTIPLE_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EuiSelectMultipleControlValueAccessor),\n multi: true\n};\n\n/** Mock interface for HTML Options */\ninterface HTMLOption {\n value: string;\n selected: boolean;\n}\n\n/** Mock interface for HTMLCollection */\nabstract class HTMLCollection {\n // TODO(issue/24571): remove '!'.\n length!: number;\n abstract item(_: number): HTMLOption;\n}\n\n/**\n * @description\n * The `ControlValueAccessor` for writing multi-select control values and listening to multi-select\n * control changes. The value accessor is used by the `FormControlDirective`, `FormControlName`, and\n * `NgModel` directives.\n *\n * @see `EuiSelectControlValueAccessor`\n *\n * @usageNotes\n *\n * ### Using a multi-select control\n *\n * The follow example shows you how to use a multi-select control with a reactive form.\n *\n * ```ts\n * const countryControl = new FormControl();\n * ```\n *\n * ```\n * <select euiSelect multiple name=\"countries\" [formControl]=\"countryControl\">\n * <option euiOption *ngFor=\"let country of countries\" [ngValue]=\"country\">\n * {{ country.name }}\n * </option>\n * </select>\n * ```\n *\n * ### Customizing option selection\n *\n * To customize the default option comparison algorithm, `<select>` supports `compareWith` input.\n * See the `SelectControlValueAccessor` for usage.\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\n@Directive({\n selector:\n // eslint-disable-next-line @angular-eslint/directive-selector,max-len\n 'select[multiple][formControlName][euiSelect],select[multiple][formControl][euiSelect],select[multiple][ngModel][euiSelect]',\n host: {'(change)': 'onChange($event.target)', '(blur)': 'onTouched()'},\n providers: [SELECT_MULTIPLE_VALUE_ACCESSOR]\n})\n// eslint-disable-next-line @angular-eslint/directive-class-suffix\nexport class EuiSelectMultipleControlValueAccessor extends SelectMultipleControlValueAccessor implements\n ControlValueAccessor {\n\n @HostBinding('class')\n public get cssClasses(): any {\n return [\n 'eui-select',\n this._isInvalid ? `eui-select--invalid` : '',\n ].join(' ').trim();\n }\n @Input()\n public get isInvalid() {\n return this._isInvalid || null;\n }\n public set isInvalid(state: BooleanInput) {\n this._isInvalid = coerceBooleanProperty(state);\n }\n\n /**\n * The current value.\n * @nodoc\n */\n value: any;\n\n /** @internal */\n _optionMap: Map<string, EuiSelectMultipleOption> = new Map<string, EuiSelectMultipleOption>();\n\n /** @internal */\n _idCounter: number = 0;\n protected _isInvalid: boolean;\n private elementRef: ElementRef;\n private renderer: Renderer2;\n private control: NgControl;\n\n constructor(_renderer: Renderer2,\n _elementRef: ElementRef,\n private injector: Injector,\n @Optional() private selectComponent: EuiSelectComponent) {\n super(_renderer, _elementRef);\n this.elementRef = _elementRef;\n this.renderer = _renderer;\n }\n\n /**\n * Sets the \"value\" property on one or of more of the select's options.\n * @nodoc\n */\n writeValue(value: any): void {\n this.value = value;\n let optionSelectedStateSetter: (opt: EuiSelectMultipleOption, o: any) => void;\n if (Array.isArray(value)) {\n // convert values to ids\n const ids = value.map((v) => this._getOptionId(v));\n optionSelectedStateSetter = (opt, o) => {\n opt._setSelected(ids.indexOf(o.toString()) > -1);\n };\n } else {\n optionSelectedStateSetter = (opt, o) => {\n opt._setSelected(false);\n };\n }\n this._optionMap.forEach(optionSelectedStateSetter);\n this.selectComponent?.syncReadOnlyValue();\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = () => {\n const control = this.injector.get(NgControl, undefined, InjectFlags.Optional);\n this.isInvalid = control.invalid;\n if(this.isInvalid) {\n this.renderer.addClass(this.elementRef.nativeElement,`eui-select--invalid` );\n } else if(this.elementRef.nativeElement.classList.contains('eui-select--invalid')) {\n this.renderer.removeClass(this.elementRef.nativeElement,`eui-select--invalid` );\n }\n fn();\n };\n }\n\n /**\n * Registers a function called when the control value changes\n * and writes an array of the selected options.\n * @nodoc\n */\n override registerOnChange(fn: (value: any) => any): void {\n this.onChange = (element: HTMLSelectElement) => {\n const selected: Array<any> = [];\n const selectedOptions = element.selectedOptions;\n if (selectedOptions !== undefined) {\n const options = selectedOptions;\n for (let i = 0; i < options.length; i++) {\n const opt = options[i];\n const val = this._getOptionValue(opt.value);\n selected.push(val);\n }\n } else {\n const options = element.options;\n for (let i = 0; i < options.length; i++) {\n const opt = options[i];\n if (opt.selected) {\n const val = this._getOptionValue(opt.value);\n selected.push(val);\n }\n }\n }\n this.value = selected;\n fn(selected);\n };\n }\n\n /** @internal */\n _registerOption(value: EuiSelectMultipleOption): string {\n const id: string = (this._idCounter++).toString();\n this._optionMap.set(id, value);\n return id;\n }\n\n /** @internal */\n _getOptionId(value: any): string|null {\n for (const id of Array.from(this._optionMap.keys())) {\n if (this['_compareWith'](this._optionMap.get(id)!._value, value)) {return id;}\n }\n return null;\n }\n\n /** @internal */\n _getOptionValue(valueString: string): any {\n const id: string = _extractId(valueString);\n return this._optionMap.has(id) ? this._optionMap.get(id)!._value : valueString;\n }\n\n}\n","import { Directive, ElementRef, Host, Input, OnDestroy, Optional, Renderer2 } from '@angular/core';\nimport { ɵNgSelectMultipleOption as NgSelectMultipleOption } from '@angular/forms';\nimport { EuiSelectMultipleControlValueAccessor } from './eui-select-multiple.directive';\nimport { _buildValueString } from './utils';\nimport { EuiSelectComponent } from './eui-select.component';\n\n/**\n * @description\n * Marks `<option>` as dynamic, so Angular can be notified when options change.\n *\n * @see `EuiSelectMultipleControlValueAccessor`\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\n// eslint-disable-next-line @angular-eslint/directive-selector\n@Directive({selector: 'option, option[euiOption]'})\n// eslint-disable-next-line @angular-eslint/directive-class-suffix\nexport class EuiSelectMultipleOption extends NgSelectMultipleOption implements OnDestroy {\n // TODO(issue/24571): remove '!'.\n id!: string;\n /** @internal */\n _value: any;\n private element: ElementRef;\n private renderer: Renderer2;\n private select: EuiSelectMultipleControlValueAccessor;\n private readonly selectComponent: EuiSelectComponent;\n\n constructor(\n _element: ElementRef, _renderer: Renderer2,\n @Optional() @Host() _select: EuiSelectMultipleControlValueAccessor,\n @Optional() @Host() _selectComponent: EuiSelectComponent\n ) {\n super(_element, _renderer, _select);\n this.element = _element;\n this.renderer = _renderer;\n this.select = _select;\n this.selectComponent = _selectComponent;\n }\n\n /**\n * @description\n * Tracks the value bound to the option element. Unlike the value binding,\n * ngValue supports binding to objects.\n */\n @Input()\n set ngValue(value: any) {\n if (this.select == null) {return;}\n this._value = value;\n this._setElementValue(_buildValueString(this.id, value));\n this.select.writeValue(this.select.value);\n }\n\n /**\n * @description\n * Tracks simple string values bound to the option element.\n * For objects, use the `ngValue` input binding.\n */\n @Input()\n set value(value: any) {\n if (this.select) {\n this._value = value;\n this._setElementValue(_buildValueString(this.id, value));\n this.select.writeValue(this.select.value);\n } else {\n this._setElementValue(value);\n }\n }\n\n /** @internal */\n _setElementValue(value: string): void {\n this.renderer.setProperty(this.element.nativeElement, 'value', value);\n }\n\n /** @internal */\n _setSelected(selected: boolean) {\n this.renderer.setProperty(this.element.nativeElement, 'selected', selected);\n this.selectComponent?.syncReadOnlyValue();\n }\n\n /** @nodoc */\n ngOnDestroy(): void {\n if (this.select) {\n this.select._optionMap.delete(this.id);\n this.select.writeValue(this.select.value);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EuiSelectComponent } from './eui-select.component';\nimport { EuiNgSelectOptionDirective } from './eui-select-option.directive';\nimport { EuiSelectControlValueAccessor } from './eui-select-control.directive';\nimport { EuiSelectMultipleControlValueAccessor } from './eui-select-multiple.directive';\nimport { EuiSelectMultipleOption } from './eui-select-mutli-option.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n declarations: [\n EuiSelectComponent,\n EuiNgSelectOptionDirective,\n EuiSelectControlValueAccessor,\n EuiSelectMultipleControlValueAccessor,\n EuiSelectMultipleOption\n ],\n exports: [\n EuiSelectComponent,\n EuiNgSelectOptionDirective,\n EuiSelectControlValueAccessor,\n EuiSelectMultipleControlValueAccessor,\n EuiSelectMultipleOption\n ]\n})\nexport class EuiSelectModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["_buildValueString","i1.EuiSelectComponent","i1.EuiSelectControlValueAccessor","i3.EuiSelectComponent","NgSelectMultipleOption","i1.EuiSelectMultipleControlValueAccessor","i2.EuiSelectComponent"],"mappings":";;;;;;;;MA0Ba,kBAAkB,CAAA;AAgC3B,IAAA,WAAA,CACY,QAAmB,EAC3B,WAAuB,EACf,gBAAkC,EAClC,QAAkB,EAAA;QAHlB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;QAEnB,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;QAClC,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;AAE1B,QAAA,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC,aAAa,CAAC;QACzC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;KACtD;AArCD,IAAA,IACW,QAAQ,GAAA;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;KACzB;IAED,IAAW,QAAQ,CAAC,KAAmB,EAAA;AACnC,QAAA,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;KACjD;AAED,IAAA,IACW,SAAS,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC;KAClC;IACD,IAAW,SAAS,CAAC,KAAmB,EAAA;AACpC,QAAA,IAAI,CAAC,UAAU,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,IAAI,CAAC,UAAU,EAAE;YACjB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;AAC/D,SAAA;AAAM,aAAA;YACH,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;AAClE,SAAA;KACJ;AAmBD,IAAA,WAAW,CAAC,OAAsB,EAAA;AAC9B,QAAA,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE;YACrB,IAAI,IAAI,CAAC,QAAQ,EAAE;;AAEf,gBAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;AAC7D,gBAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;;AAGvD,gBAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAClD,IAAI,CAAC,QAAQ,CAAC,YAAY,CACtB,IAAI,CAAC,OAAO,CAAC,aAAa,EAC1B,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,aAAa,CAC5C,CAAC;AACF,gBAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAC7C,aAAA;AAAM,iBAAA;AACH,gBAAA,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,CAAC;gBAC9B,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;gBACxD,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AACzD,aAAA;AACJ,SAAA;AAED,QAAA,IAAI,OAAO,CAAC,aAAa,CAAC,EAAE;AACxB,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;AAC7E,YAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;;gBAEf,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC,YAAY,KAAK,SAAS,EAAE;oBACnD,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;;oBAEnE,IAAI,IAAI,CAAC,iBAAiB,EAAE;AACxB,wBAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAChE,wBAAA,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;AACtC,qBAAA;AACJ,iBAAA;qBAAM,IAAI,IAAI,CAAC,iBAAiB,EAAE;AAC/B,oBAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAiB,EAAE,WAAW,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,YAAY,CAAC,CAAC;AACvG,iBAAA;AAAM,qBAAA;;oBAEH,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;oBAE/D,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,EAAE,yBAAyB,CAAC,CAAC;AAC1E,oBAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAiB,EAAE,WAAW,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,YAAY,CAAC,CAAC;;AAEpG,oBAAA,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;AACrB,wBAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;AACtE,qBAAA;;AAED,oBAAA,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAE3E,oBAAA,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC,YAAY,EAAE;wBAC5D,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;AACnE,qBAAA;AACJ,iBAAA;AACJ,aAAA;AACJ,SAAA;KACJ;AAED,IAAA,QAAQ,CAAC,KAAK,EAAA;AACV,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;AAC7E,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AACf,YAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,KAAK,KAAK,GAAE,SAAS,GAAE,KAAK,CAAC,CAAC;AAC1E,SAAA;KACJ;IAED,iBAAiB,GAAA;AACb,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;KAC7C;AAED;;;;;AAKG;AACK,IAAA,gBAAgB,CAAC,WAAgD,EAAA;AACrE,QAAA,IAAI,WAAW,EAAE;AACb,YAAA,MAAM,eAAe,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC;iBAClE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;iBAClB,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,WAAW,CAAC;iBACrC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;AAC3F,SAAA;KACJ;AAED;;;;AAIG;IACK,qBAAqB,GAAA;QACzB,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC;AAClF,QAAA,YAAY,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;AACtC,QAAA,OAAO,YAAY,CAAC;KACvB;AAEO,IAAA,mBAAmB,CAAC,KAAU,EAAA;AAClC,QAAA,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,KAAK,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC,EAAE;YAC/E,IAAI;gBACA,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;AAC3C,aAAA;AAAC,YAAA,OAAO,CAAC,EAAE;AACX,aAAA;YACD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;AACnE,SAAA;AAAM,aAAA;YACH,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;AACtE,SAAA;KACJ;;mIAlJQ,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,mBAAA,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,wOALjB,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,i2JAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4FAK5B,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAT9B,SAAS;+BAEI,mBAAmB,EAAA,QAAA,EAEnB,2BAA2B,EAAA,aAAA,EAEtB,iBAAiB,CAAC,IAAI,EAAA,IAAA,EAC/B,EAAC,UAAU,EAAE,+BAA+B,EAAC,EAAA,MAAA,EAAA,CAAA,i2JAAA,CAAA,EAAA,CAAA;+KAG1C,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAGK,QAAQ,EAAA,CAAA;sBADlB,KAAK;gBAUK,SAAS,EAAA,CAAA;sBADnB,KAAK;;;ACtCM,SAAAA,mBAAiB,CAAC,EAAU,EAAE,KAAU,EAAA;IACpD,IAAI,EAAE,IAAI,IAAI,EAAE;QAAC,OAAO,CAAA,EAAG,KAAK,CAAA,CAAE,CAAC;AAAC,KAAA;AACpC,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAAC,QAAA,KAAK,GAAG,CAAA,CAAA,EAAI,KAAK,CAAA,CAAA,CAAG,CAAC;AAAC,KAAA;AACtD,IAAA,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAAC,KAAK,GAAG,QAAQ,CAAC;AAAC,KAAA;AAC3D,IAAA,OAAO,CAAG,EAAA,EAAE,CAAK,EAAA,EAAA,KAAK,CAAE,CAAA,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC1C,CAAC;AAEK,SAAU,UAAU,CAAC,WAAmB,EAAA;IAC1C,OAAO,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC;;ACuBA;AACM,MAAO,6BAA8B,SAAQ,0BAA0B,CAAA;AAyBzE,IAAA,WAAA,CAAY,SAAoB,EACpB,WAAuB,EACf,QAAkB,EACN,eAAmC,EAAA;AAC/D,QAAA,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAFd,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QACN,IAAe,CAAA,eAAA,GAAf,eAAe,CAAoB;AAE/D,QAAA,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC;AAC9B,QAAA,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;AAC1B,QAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,WAAmB,KAAI;YACpC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,CAAC;AAClD,YAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACzC,SAAC,CAAC;KACL;AAlCD,IAAA,IACW,UAAU,GAAA;QACjB,OAAO;YACH,YAAY;YACZ,IAAI,CAAC,UAAU,GAAG,CAAqB,mBAAA,CAAA,GAAG,EAAE;AAC/C,SAAA,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;KACtB;AAGD,IAAA,IACW,SAAS,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC;KAClC;IACD,IAAW,SAAS,CAAC,KAAmB,EAAA;AACpC,QAAA,IAAI,CAAC,UAAU,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;KAClD;IAqBD,SAAS,GAAA;AACL,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AACf,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;AAChF,SAAA;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC;KAClG;AAED,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACrB,QAAA,IAAI,CAAC,SAAS,GAAG,MAAK;AAClB,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;AAC9E,YAAA,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;YACjC,IAAG,IAAI,CAAC,SAAS,EAAE;AACf,gBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAC,CAAA,mBAAA,CAAqB,CAAE,CAAC;AAChF,aAAA;AAAM,iBAAA,IAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE;AAC/E,gBAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAC,CAAA,mBAAA,CAAqB,CAAE,CAAC;AACnF,aAAA;AACD,YAAA,EAAE,EAAE,CAAC;AACT,SAAC,CAAC;KACL;AAED;;;AAGG;AACM,IAAA,UAAU,CAAC,KAAU,EAAA;AAC1B,QAAA,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACxB,QAAA,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;;AAEhC,QAAA,IAAI,CAAC,eAAe,EAAE,iBAAiB,EAAE,CAAC;KAC7C;AAEQ,IAAA,gBAAgB,CAAC,EAAuB,EAAA;AAC7C,QAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,WAAmB,KAAI;YACpC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,CAAC;AAClD,YAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACrC,YAAA,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACnB,SAAC,CAAC;KACL;AAED,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAChC,QAAA,IAAG,UAAU,EAAE;AACX,YAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;AAC7E,SAAA;AAAM,aAAA;AACH,YAAA,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;AAC5E,SAAA;KACJ;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;AAC9B,QAAA,IAAI,OAAO,CAAC,aAAa,CAAC,EAAE;;YAExB,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC,YAAY,KAAK,SAAS,EAAE;AACnD,gBAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,yBAAyB,CAAC,CAAC;;gBAEpF,IAAI,IAAI,CAAC,iBAAiB,EAAE;AACxB,oBAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;AACjF,oBAAA,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;AACtC,iBAAA;AACJ,aAAA;iBAAM,IAAI,IAAI,CAAC,iBAAiB,EAAE;AAC/B,gBAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAiB,EAAE,WAAW,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,YAAY,CAAC,CAAC;AACvG,aAAA;AAAM,iBAAA;;gBAEH,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;;;AAG/D,gBAAA,MAAM,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBACrC,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;AACjC,gBAAA,MAAM,0BAA0B,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,0BAA0B,EAAE,SAAS,CAAC,CAAC;gBAC5F,0BAA0B,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC9D,0BAA0B,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;AAC9D,gBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,EAAEA,mBAAiB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;AACjF,gBAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,EAAEA,mBAAiB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;gBAE7F,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,EAAE,yBAAyB,CAAC,CAAC;AAC1E,gBAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAiB,EAAE,WAAW,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,YAAY,CAAC,CAAC;;gBAEpG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,EAAE;AACtC,oBAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;AACtE,iBAAA;;AAED,gBAAA,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;AAE7G,gBAAA,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC,YAAY,EAAE;AAC7E,oBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,yBAAyB,CAAC,CAAC;AACpF,iBAAA;AACD,gBAAA,IAAG,CAAC,IAAI,CAAC,KAAK,EAAE;AACZ,oBAAA,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AAC9B,iBAAA;AACJ,aAAA;AACJ,SAAA;KACJ;AAEO,IAAA,mBAAmB,CAAC,KAAU,EAAA;AAClC,QAAA,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,KAAK,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC,EAAE;YAC/E,IAAI;AACA,gBAAA,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;AAC5D,aAAA;AAAC,YAAA,OAAO,CAAC,EAAE;AACX,aAAA;AACD,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,yBAAyB,CAAC,CAAC;AACpF,SAAA;AAAM,aAAA;AACH,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,yBAAyB,CAAC,CAAC;AACvF,SAAA;KACJ;;8IA3IQ,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,kBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA7B,mBAAA,6BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,6BAA6B,EAT3B,QAAA,EAAA,6GAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,+BAAA,EAAA,MAAA,EAAA,aAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACP,QAAA;AACI,YAAA,OAAO,EAAE,iBAAiB;AAC1B,YAAA,WAAW,EAAE,UAAU,EAAC,MAAM,6BAA6B,EAAC;AAC5D,YAAA,KAAK,EAAE,IAAI;AACd,SAAA;AACJ,KAAA,EAAA,eAAA,EAAA,IAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAGQ,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAdzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;oBACP,QAAQ;;oBAEJ,6GAA6G;oBACjH,IAAI,EAAE,EAAC,UAAU,EAAE,+BAA+B,EAAE,QAAQ,EAAE,aAAa,EAAC;AAC5E,oBAAA,SAAS,EAAE;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,EAAC,mCAAmC,EAAC;AAC5D,4BAAA,KAAK,EAAE,IAAI;AACd,yBAAA;AACJ,qBAAA;AACJ,iBAAA,CAAA;;0BA8BgB,QAAQ;4CAzBV,UAAU,EAAA,CAAA;sBADpB,WAAW;uBAAC,OAAO,CAAA;gBAOX,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAGK,SAAS,EAAA,CAAA;sBADnB,KAAK;;;ACtCV,SAAS,iBAAiB,CAAC,EAAU,EAAE,KAAU,EAAA;IAC7C,IAAI,EAAE,IAAI,IAAI,EAAE;QACZ,OAAO,CAAA,EAAG,KAAK,CAAA,CAAE,CAAC;AACrB,KAAA;AACD,IAAA,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QACpC,KAAK,GAAG,QAAQ,CAAC;AACpB,KAAA;AACD,IAAA,OAAO,CAAG,EAAA,EAAE,CAAK,EAAA,EAAA,KAAK,CAAE,CAAA,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;;;;AASG;AACH;AAEM,MAAO,0BAA2B,SAAQ,cAAc,CAAA;IAkB1D,WACI,CAAA,QAAoB,EACpB,SAAoB,EACA,OAAsC,EACtC,aAAyC,EACzC,gBAAoC,EAAA;AAExD,QAAA,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AACpC,QAAA,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;AACtB,QAAA,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC;AAClC,QAAA,IAAI,CAAC,eAAe,GAAG,gBAAgB,CAAC;AACxC,QAAA,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;AACxB,QAAA,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;KAC7B;AA9BD,IAAA,IACI,QAAQ,GAAA;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;KACzB;IACD,IAAI,QAAQ,CAAC,KAAmB,EAAA;AAC5B,QAAA,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;KACjD;IA0BD,eAAe,GAAA;AACX,QAAA,IAAI,CAAC,eAAe,EAAE,iBAAiB,EAAE,CAAC;AAC1C,QAAA,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;;;;;;AAMtF,SAAA;KACJ;AAED;;;;AAIG;IACH,IACa,OAAO,CAAC,KAAU,EAAA;AAC3B,QAAA,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE;YACrB,OAAO;AACV,SAAA;AACD,QAAA,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;AAC9C,QAAA,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;AAC5D,QAAA,KAAK,CAAC,kBAAkB,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KACnD;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;QAC9B,IAAI,OAAO,CAAC,QAAQ,EAAE;AAClB;;;AAGG;YACH,QAAQ,IAAI,CAAC,SAAS;AAClB,gBAAA,KAAK,IAAI;AACL,oBAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;oBACvE,MAAM;AACV,gBAAA;AACI,oBAAA,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;AAC7E,aAAA;AACD,YAAA,IAAI,CAAC,eAAe,EAAE,iBAAiB,EAAE,CAAC;AAC7C,SAAA;QAED,IAAI,OAAO,CAAC,KAAK,EAAE;AACf,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;AAC/F,YAAA,IAAI,CAAC,eAAe,EAAE,iBAAiB,EAAE,CAAC;AAC7C,SAAA;KACJ;;2IAjFQ,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,6BAAA,EAAA,IAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,IAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,kBAAA,EAAA,IAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;+HAA1B,0BAA0B,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,KAAA,EAAA,OAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBADtC,SAAS;mBAAC,EAAC,QAAQ,EAAE,2BAA2B,EAAC,CAAA;;0BAsBzC,QAAQ;;0BAAI,IAAI;;0BAChB,QAAQ;;0BAAI,IAAI;;0BAChB,QAAQ;;0BAAI,IAAI;4CArBjB,QAAQ,EAAA,CAAA;sBADX,KAAK;gBAQG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAyCO,OAAO,EAAA,CAAA;sBADnB,KAAK;;;ACxDV,MAAM,8BAA8B,GAAa;AAC7C,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,qCAAqC,CAAC;AACpE,IAAA,KAAK,EAAE,IAAI;CACd,CAAC;AAQF;AACA,MAAe,cAAc,CAAA;AAI5B,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCG;AAQH;AACM,MAAO,qCAAsC,SAAQ,kCAAkC,CAAA;AAkCzF,IAAA,WAAA,CAAY,SAAoB,EACpB,WAAuB,EACf,QAAkB,EACN,eAAmC,EAAA;AAC/D,QAAA,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAFd,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QACN,IAAe,CAAA,eAAA,GAAf,eAAe,CAAoB;;AAZnE,QAAA,IAAA,CAAA,UAAU,GAAyC,IAAI,GAAG,EAAmC,CAAC;;QAG9F,IAAU,CAAA,UAAA,GAAW,CAAC,CAAC;AAWnB,QAAA,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC;AAC9B,QAAA,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;KAC7B;AAtCD,IAAA,IACW,UAAU,GAAA;QACjB,OAAO;YACH,YAAY;YACZ,IAAI,CAAC,UAAU,GAAG,CAAqB,mBAAA,CAAA,GAAG,EAAE;AAC/C,SAAA,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;KACtB;AACD,IAAA,IACW,SAAS,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC;KAClC;IACD,IAAW,SAAS,CAAC,KAAmB,EAAA;AACpC,QAAA,IAAI,CAAC,UAAU,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;KAClD;AA2BD;;;AAGG;AACH,IAAA,UAAU,CAAC,KAAU,EAAA;AACjB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACnB,QAAA,IAAI,yBAAyE,CAAC;AAC9E,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;;AAEtB,YAAA,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,YAAA,yBAAyB,GAAG,CAAC,GAAG,EAAE,CAAC,KAAI;AACnC,gBAAA,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACrD,aAAC,CAAC;AACL,SAAA;AAAM,aAAA;AACH,YAAA,yBAAyB,GAAG,CAAC,GAAG,EAAE,CAAC,KAAI;AACnC,gBAAA,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AAC5B,aAAC,CAAC;AACL,SAAA;AACD,QAAA,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;AACnD,QAAA,IAAI,CAAC,eAAe,EAAE,iBAAiB,EAAE,CAAC;KAC7C;AAED,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACrB,QAAA,IAAI,CAAC,SAAS,GAAG,MAAK;AAClB,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;AAC9E,YAAA,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;YACjC,IAAG,IAAI,CAAC,SAAS,EAAE;AACf,gBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAC,CAAA,mBAAA,CAAqB,CAAE,CAAC;AAChF,aAAA;AAAM,iBAAA,IAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE;AAC/E,gBAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAC,CAAA,mBAAA,CAAqB,CAAE,CAAC;AACnF,aAAA;AACD,YAAA,EAAE,EAAE,CAAC;AACT,SAAC,CAAC;KACL;AAED;;;;AAIG;AACM,IAAA,gBAAgB,CAAC,EAAuB,EAAA;AAC7C,QAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,OAA0B,KAAI;YAC3C,MAAM,QAAQ,GAAe,EAAE,CAAC;AAChC,YAAA,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;YAChD,IAAI,eAAe,KAAK,SAAS,EAAE;gBAC/B,MAAM,OAAO,GAAG,eAAe,CAAC;AAChC,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACrC,oBAAA,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;oBACvB,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC5C,oBAAA,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACtB,iBAAA;AACJ,aAAA;AAAM,iBAAA;AACH,gBAAA,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;AAChC,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACrC,oBAAA,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;oBACvB,IAAI,GAAG,CAAC,QAAQ,EAAE;wBACd,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC5C,wBAAA,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACtB,qBAAA;AACJ,iBAAA;AACJ,aAAA;AACD,YAAA,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;YACtB,EAAE,CAAC,QAAQ,CAAC,CAAC;AACjB,SAAC,CAAC;KACL;;AAGD,IAAA,eAAe,CAAC,KAA8B,EAAA;QAC1C,MAAM,EAAE,GAAW,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,CAAC;QAClD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;AAC/B,QAAA,OAAO,EAAE,CAAC;KACb;;AAGD,IAAA,YAAY,CAAC,KAAU,EAAA;AACnB,QAAA,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE;AACjD,YAAA,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE;AAAC,gBAAA,OAAO,EAAE,CAAC;AAAC,aAAA;AACjF,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACf;;AAGD,IAAA,eAAe,CAAC,WAAmB,EAAA;AAC/B,QAAA,MAAM,EAAE,GAAW,UAAU,CAAC,WAAW,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC,MAAM,GAAG,WAAW,CAAC;KAClF;;sJAhIQ,qCAAqC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAAAF,kBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;0IAArC,qCAAqC,EAAA,QAAA,EAAA,4HAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,aAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,SAAA,EAHnC,CAAC,8BAA8B,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAGlC,qCAAqC,EAAA,UAAA,EAAA,CAAA;kBARjD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;oBACP,QAAQ;;oBAEJ,4HAA4H;oBAChI,IAAI,EAAE,EAAC,UAAU,EAAE,yBAAyB,EAAE,QAAQ,EAAE,aAAa,EAAC;oBACtE,SAAS,EAAE,CAAC,8BAA8B,CAAC;AAC9C,iBAAA,CAAA;;0BAuCgB,QAAQ;4CAjCV,UAAU,EAAA,CAAA;sBADpB,WAAW;uBAAC,OAAO,CAAA;gBAQT,SAAS,EAAA,CAAA;sBADnB,KAAK;;;ACvFV;;;;;;;;;AASG;AACH;AAEA;AACM,MAAO,uBAAwB,SAAQG,uBAAsB,CAAA;AAU/D,IAAA,WAAA,CACI,QAAoB,EAAE,SAAoB,EACtB,OAA8C,EAC9C,gBAAoC,EAAA;AAExD,QAAA,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AACpC,QAAA,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;AACxB,QAAA,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;AAC1B,QAAA,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;AACtB,QAAA,IAAI,CAAC,eAAe,GAAG,gBAAgB,CAAC;KAC3C;AAED;;;;AAIG;IACH,IACI,OAAO,CAAC,KAAU,EAAA;AAClB,QAAA,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE;YAAC,OAAO;AAAC,SAAA;AAClC,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AACpB,QAAA,IAAI,CAAC,gBAAgB,CAACJ,mBAAiB,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KAC7C;AAED;;;;AAIG;IACH,IACI,KAAK,CAAC,KAAU,EAAA;QAChB,IAAI,IAAI,CAAC,MAAM,EAAE;AACb,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AACpB,YAAA,IAAI,CAAC,gBAAgB,CAACA,mBAAiB,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;YACzD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC7C,SAAA;AAAM,aAAA;AACH,YAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;AAChC,SAAA;KACJ;;AAGD,IAAA,gBAAgB,CAAC,KAAa,EAAA;AAC1B,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;KACzE;;AAGD,IAAA,YAAY,CAAC,QAAiB,EAAA;AAC1B,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;AAC5E,QAAA,IAAI,CAAC,eAAe,EAAE,iBAAiB,EAAE,CAAC;KAC7C;;IAGD,WAAW,GAAA;QACP,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC7C,SAAA;KACJ;;wIApEQ,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAAK,qCAAA,EAAA,IAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,kBAAA,EAAA,IAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4HAAvB,uBAAuB,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAFnC,SAAS;mBAAC,EAAC,QAAQ,EAAE,2BAA2B,EAAC,CAAA;;0BAczC,QAAQ;;0BAAI,IAAI;;0BAChB,QAAQ;;0BAAI,IAAI;4CAejB,OAAO,EAAA,CAAA;sBADV,KAAK;gBAcF,KAAK,EAAA,CAAA;sBADR,KAAK;;;MChCG,eAAe,CAAA;;gIAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAf,mBAAA,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,iBAdpB,kBAAkB;QAClB,0BAA0B;QAC1B,6BAA6B;QAC7B,qCAAqC;QACrC,uBAAuB,CAAA,EAAA,OAAA,EAAA,CAPvB,YAAY,CAAA,EAAA,OAAA,EAAA,CAUZ,kBAAkB;QAClB,0BAA0B;QAC1B,6BAA6B;QAC7B,qCAAqC;QACrC,uBAAuB,CAAA,EAAA,CAAA,CAAA;AAGlB,mBAAA,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,YAjBpB,YAAY,CAAA,EAAA,CAAA,CAAA;4FAiBP,eAAe,EAAA,UAAA,EAAA,CAAA;kBAnB3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,YAAY;AACf,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACV,kBAAkB;wBAClB,0BAA0B;wBAC1B,6BAA6B;wBAC7B,qCAAqC;wBACrC,uBAAuB;AAC1B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,kBAAkB;wBAClB,0BAA0B;wBAC1B,6BAA6B;wBAC7B,qCAAqC;wBACrC,uBAAuB;AAC1B,qBAAA;AACJ,iBAAA,CAAA;;;AC1BD;;AAEG;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eui/components",
3
- "version": "14.0.24",
3
+ "version": "14.0.25",
4
4
  "tag": "prev",
5
5
  "description": "eUI components package - next components prior to version 9",
6
6
  "homepage": "https://eui.ecdevops.eu",