@eui/components 15.2.0 → 15.2.1-snapshot-1676042378424

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.
@@ -218,10 +218,10 @@
218
218
  <a href="#MONTH_YEAR_FORMAT" title="packages/eui/packages/components/legacy/ux-datepicker/ux-date-formats.module.ts" ><b>MONTH_YEAR_FORMAT</b>&nbsp;&nbsp;&nbsp;(packages/.../ux-date-formats.module.ts)</a>
219
219
  </li>
220
220
  <li>
221
- <a href="#noop" title="packages/eui/packages/components/legacy/ux-dropdown-tree/ux-dropdown-tree.component.ts" ><b>noop</b>&nbsp;&nbsp;&nbsp;(packages/.../ux-dropdown-tree.component.ts)</a>
221
+ <a href="#noop" title="packages/eui/packages/components/legacy/ux-dropdown-button/ux-dropdown-button.component.ts" ><b>noop</b>&nbsp;&nbsp;&nbsp;(packages/.../ux-dropdown-button.component.ts)</a>
222
222
  </li>
223
223
  <li>
224
- <a href="#noop" title="packages/eui/packages/components/legacy/ux-dropdown-button/ux-dropdown-button.component.ts" ><b>noop</b>&nbsp;&nbsp;&nbsp;(packages/.../ux-dropdown-button.component.ts)</a>
224
+ <a href="#noop" title="packages/eui/packages/components/legacy/ux-dropdown-tree/ux-dropdown-tree.component.ts" ><b>noop</b>&nbsp;&nbsp;&nbsp;(packages/.../ux-dropdown-tree.component.ts)</a>
225
225
  </li>
226
226
  <li>
227
227
  <a href="#noop" title="packages/eui/packages/components/legacy/ux-switch/ux-switch.component.ts" ><b>noop</b>&nbsp;&nbsp;&nbsp;(packages/.../ux-switch.component.ts)</a>
@@ -2456,7 +2456,7 @@
2456
2456
  </tbody>
2457
2457
  </table>
2458
2458
  </section>
2459
- <h3>packages/eui/packages/components/legacy/ux-dropdown-tree/ux-dropdown-tree.component.ts</h3>
2459
+ <h3>packages/eui/packages/components/legacy/ux-dropdown-button/ux-dropdown-button.component.ts</h3>
2460
2460
  <section>
2461
2461
  <h3></h3> <table class="table table-sm table-bordered">
2462
2462
  <tbody>
@@ -2482,10 +2482,10 @@
2482
2482
  <tbody>
2483
2483
  <tr>
2484
2484
  <td class="col-md-4">
2485
- <a name="UX_DROPDOWN_TREE_FORM_VALUE_ACCESSOR"></a>
2485
+ <a name="UX_DROPDOWN_BUTTON_VALUE_ACCESSOR"></a>
2486
2486
  <span class="name">
2487
- <span ><b>UX_DROPDOWN_TREE_FORM_VALUE_ACCESSOR</b></span>
2488
- <a href="#UX_DROPDOWN_TREE_FORM_VALUE_ACCESSOR"><span class="icon ion-ios-link"></span></a>
2487
+ <span ><b>UX_DROPDOWN_BUTTON_VALUE_ACCESSOR</b></span>
2488
+ <a href="#UX_DROPDOWN_BUTTON_VALUE_ACCESSOR"><span class="icon ion-ios-link"></span></a>
2489
2489
  </span>
2490
2490
  </td>
2491
2491
  </tr>
@@ -2499,7 +2499,7 @@
2499
2499
  <td class="col-md-4">
2500
2500
  <i>Default value : </i><code>{
2501
2501
  provide: NG_VALUE_ACCESSOR,
2502
- useExisting: forwardRef(() &#x3D;&gt; UxDropdownTreeComponent),
2502
+ useExisting: forwardRef(() &#x3D;&gt; UxDropdownButtonComponent),
2503
2503
  multi: true,
2504
2504
  }</code>
2505
2505
  </td>
@@ -2509,7 +2509,7 @@
2509
2509
  </tbody>
2510
2510
  </table>
2511
2511
  </section>
2512
- <h3>packages/eui/packages/components/legacy/ux-dropdown-button/ux-dropdown-button.component.ts</h3>
2512
+ <h3>packages/eui/packages/components/legacy/ux-dropdown-tree/ux-dropdown-tree.component.ts</h3>
2513
2513
  <section>
2514
2514
  <h3></h3> <table class="table table-sm table-bordered">
2515
2515
  <tbody>
@@ -2535,10 +2535,10 @@
2535
2535
  <tbody>
2536
2536
  <tr>
2537
2537
  <td class="col-md-4">
2538
- <a name="UX_DROPDOWN_BUTTON_VALUE_ACCESSOR"></a>
2538
+ <a name="UX_DROPDOWN_TREE_FORM_VALUE_ACCESSOR"></a>
2539
2539
  <span class="name">
2540
- <span ><b>UX_DROPDOWN_BUTTON_VALUE_ACCESSOR</b></span>
2541
- <a href="#UX_DROPDOWN_BUTTON_VALUE_ACCESSOR"><span class="icon ion-ios-link"></span></a>
2540
+ <span ><b>UX_DROPDOWN_TREE_FORM_VALUE_ACCESSOR</b></span>
2541
+ <a href="#UX_DROPDOWN_TREE_FORM_VALUE_ACCESSOR"><span class="icon ion-ios-link"></span></a>
2542
2542
  </span>
2543
2543
  </td>
2544
2544
  </tr>
@@ -2552,7 +2552,7 @@
2552
2552
  <td class="col-md-4">
2553
2553
  <i>Default value : </i><code>{
2554
2554
  provide: NG_VALUE_ACCESSOR,
2555
- useExisting: forwardRef(() &#x3D;&gt; UxDropdownButtonComponent),
2555
+ useExisting: forwardRef(() &#x3D;&gt; UxDropdownTreeComponent),
2556
2556
  multi: true,
2557
2557
  }</code>
2558
2558
  </td>
@@ -75,9 +75,14 @@ export class EuiClearableDirective {
75
75
  if (changes['disabled'] || changes['euiDisabled']) {
76
76
  if (this._clearableIcon) {
77
77
  const disabled = changes['disabled']?.currentValue || changes['euiDisabled']?.currentValue;
78
- disabled
79
- ? this._renderer.setStyle(this._clearableIcon.location.nativeElement, 'pointer-events', 'none')
80
- : this._renderer.removeStyle(this._clearableIcon.location.nativeElement, 'pointer-events');
78
+ if (disabled) {
79
+ this._renderer.setStyle(this._clearableIcon.location.nativeElement, 'pointer-events', 'none');
80
+ this._renderer.removeAttribute(this._clearableIcon.location.nativeElement, 'tabindex', '0');
81
+ }
82
+ else {
83
+ this._renderer.removeStyle(this._clearableIcon.location.nativeElement, 'pointer-events');
84
+ this._renderer.setAttribute(this._clearableIcon.location.nativeElement, 'tabindex', '0');
85
+ }
81
86
  }
82
87
  }
83
88
  }
@@ -125,7 +130,9 @@ export class EuiClearableDirective {
125
130
  : control.value?.toString()
126
131
  : this._elementRef.nativeElement.value;
127
132
  this._renderer.setStyle(this._clearableIcon.location.nativeElement, 'visibility', value?.length > 0 ? 'visible' : 'hidden');
128
- this._renderer.setAttribute(this._clearableIcon.location.nativeElement, 'tabindex', '0');
133
+ if (!this._elementRef.nativeElement.disabled) {
134
+ this._renderer.setAttribute(this._clearableIcon.location.nativeElement, 'tabindex', '0');
135
+ }
129
136
  }
130
137
  }
131
138
  /**
@@ -208,4 +215,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImpor
208
215
  type: HostListener,
209
216
  args: ['ngModelChange', ['$event']]
210
217
  }] } });
211
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLWNsZWFyYWJsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9kaXJlY3RpdmVzL2V1aS1jbGVhcmFibGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxTQUFTLEVBRVQsV0FBVyxFQUNYLFlBQVksRUFFWixLQUFLLEdBS1IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVFLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBTTlELE1BQU0sT0FBTyxxQkFBcUI7SUFzQzlCLFlBQ1ksV0FBdUIsRUFDdkIsaUJBQW1DLEVBQ25DLFNBQW9CLEVBQ3BCLFFBQWtCO1FBSGxCLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQ3ZCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBa0I7UUFDbkMsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixhQUFRLEdBQVIsUUFBUSxDQUFVO0lBQzNCLENBQUM7SUExQ0osSUFFSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUN4QyxDQUFDO0lBQ0QsSUFBSSxRQUFRLENBQUMsQ0FBZTtRQUN4QixJQUFJLENBQUMsV0FBVyxHQUFHLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxJQUErQixLQUFLLENBQUMsS0FBYTtRQUM5QyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDbkIsTUFBTSxVQUFVLEdBQUcsS0FBSyxFQUFFLFFBQVEsRUFBRSxDQUFDLE1B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QUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudFJlZixcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0b3IsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIFJlbmRlcmVyMixcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgTmdDb250cm9sLCBOZ01vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRXVpSWNvblN2Z0NvbXBvbmVudCB9IGZyb20gJ0BldWkvY29tcG9uZW50cy9ldWktaWNvbic7XG5pbXBvcnQgeyBFdWlMb2FkaW5nRGlyZWN0aXZlIH0gZnJvbSAnLi9ldWktbG9hZGluZy5kaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2lucHV0W2V1aUNsZWFyYWJsZV0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEV1aUNsZWFyYWJsZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnJlYWRvbmx5JylcbiAgICBASW5wdXQoKVxuICAgIGdldCByZWFkb25seSgpOiBhbnkge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNSZWFkb25seSA/ICcnIDogbnVsbDtcbiAgICB9XG4gICAgc2V0IHJlYWRvbmx5KHY6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9pc1JlYWRvbmx5ID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHYpO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnYXR0ci52YWx1ZScpIHNldCB2YWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICh0aGlzLmV1aUNsZWFyYWJsZSkge1xuICAgICAgICAgICAgY29uc3QgdmlzaWJpbGl0eSA9IHZhbHVlPy50b1N0cmluZygpLmxlbmd0aCA+IDAgPyAndmlzaWJsZScgOiAnaGlkZGVuJztcbiAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKHRoaXMuX2NsZWFyYWJsZUljb24ubG9jYXRpb24ubmF0aXZlRWxlbWVudCwgJ3Zpc2liaWxpdHknLCB2aXNpYmlsaXR5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIHB1YmxpYyBnZXQgY3NzQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gW3RoaXMuX2Nzc0NsYXNzZXMsIHRoaXMuX2V1aUNsZWFyYWJsZSA/IGAke3RoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5yb290Q2xhc3NOYW1lfS0tY2xlYXJhYmxlYCA6IGBgXS5qb2luKCcgJykudHJpbSgpO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IGNzc0NsYXNzZXModmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9jc3NDbGFzc2VzID0gdmFsdWU7XG4gICAgfVxuICAgIHByaXZhdGUgX2Nzc0NsYXNzZXM6IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGV1aUNsZWFyYWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2V1aUNsZWFyYWJsZTtcbiAgICB9XG4gICAgc2V0IGV1aUNsZWFyYWJsZSh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2V1aUNsZWFyYWJsZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfY2xlYXJhYmxlSWNvbjogQ29tcG9uZW50UmVmPEV1aUljb25TdmdDb21wb25lbnQ+O1xuICAgIHByaXZhdGUgX2V1aVVGbGV4V3JhcHBlcjogSFRNTERpdkVsZW1lbnQ7XG4gICAgcHJpdmF0ZSBfZXVpQ2xlYXJhYmxlOiBib29sZWFuO1xuICAgIHByaXZhdGUgX2lzUmVhZG9ubHk6IGJvb2xlYW47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSBfdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgcHJpdmF0ZSBfcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3JcbiAgICApIHt9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzLmV1aUNsZWFyYWJsZSkge1xuICAgICAgICAgICAgLy8gZ2V0IHR5cGUgb2YgdGhlIGNvbnRyb2xcbiAgICAgICAgICAgIGNvbnN0IHR5cGUgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudHlwZTtcbiAgICAgICAgICAgIGlmIChjb2VyY2VCb29sZWFuUHJvcGVydHkoY2hhbmdlc1snZXVpQ2xlYXJhYmxlJ10uY3VycmVudFZhbHVlKSkge1xuICAgICAgICAgICAgICAgIC8vIGNoZWNrIGlmIHR5cGUgaXMgbm90IGV1aUlucHV0TnVtYmVyIG9yIGV1aUlucHV0VGV4dCwgcmVzZXQgYW5kIHRocm93IGVycm9yXG4gICAgICAgICAgICAgICAgaWYgKHR5cGUgIT09ICdldWktbnVtYmVyJyAmJiB0eXBlICE9PSAndGV4dCcgJiYgdHlwZSAhPT0gJ3NlYXJjaCcpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ldWlDbGVhcmFibGUgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2V1aUNsZWFyYWJsZSBpcyBvbmx5IGFsbG93ZWQgaW4gZXVpSW5wdXROdW1iZXIgb3IgZXVpSW5wdXRUZXh0Jyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIGNyZWF0ZSBkeW5hbWljYWxseSB0aGUgaWNvblxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlQ2xlYXJhYmxlSWNvbigpO1xuXG4gICAgICAgICAgICAgICAgLy8gd3JhcCB0aGVtIGFsbCBhdCBhbiBldWktdS1mbGV4IGNsYXNzXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVGbGV4V3JhcHBlcigpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuX2V1aVVGbGV4V3JhcHBlciwgdGhpcy5fY2xlYXJhYmxlSWNvbi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5fY2xlYXJhYmxlSWNvbikge1xuICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlQ2xlYXJhYmxlSWNvbigpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGV1aUxvYWRpbmcgPSB0aGlzLmluamVjdG9yLmdldChFdWlMb2FkaW5nRGlyZWN0aXZlLCBudWxsLCB7IG9wdGlvbmFsOiB0cnVlIH0pPy5ldWlMb2FkaW5nO1xuICAgICAgICAgICAgICAgIGlmICghZXVpTG9hZGluZykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZUZsZXhXcmFwcGVyKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNoYW5nZXNbJ3JlYWRvbmx5J10pIHtcbiAgICAgICAgICAgIGlmIChjaGFuZ2VzWydyZWFkb25seSddLmN1cnJlbnRWYWx1ZSA9PT0gZmFsc2UgJiYgdGhpcy5ldWlDbGVhcmFibGUpIHtcbiAgICAgICAgICAgICAgICAvLyBjcmVhdGUgd3JhcHBlclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlRmxleFdyYXBwZXIoKTtcbiAgICAgICAgICAgICAgICAvLyBjcmVhdGUgZHluYW1pY2FsbHkgdGhlIGljb25cbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZUNsZWFyYWJsZUljb24oKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9yZW5kZXJlci5hcHBlbmRDaGlsZCh0aGlzLl9ldWlVRmxleFdyYXBwZXIsIHRoaXMuX2NsZWFyYWJsZUljb24ubG9jYXRpb24ubmF0aXZlRWxlbWVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoY2hhbmdlc1sncmVhZG9ubHknXS5jdXJyZW50VmFsdWUgPT09IHRydWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZUNsZWFyYWJsZUljb24oKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZUZsZXhXcmFwcGVyKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY2hhbmdlc1snZGlzYWJsZWQnXSB8fCBjaGFuZ2VzWydldWlEaXNhYmxlZCddKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5fY2xlYXJhYmxlSWNvbikge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRpc2FibGVkID0gY2hhbmdlc1snZGlzYWJsZWQnXT8uY3VycmVudFZhbHVlIHx8IGNoYW5nZXNbJ2V1aURpc2FibGVkJ10/LmN1cnJlbnRWYWx1ZTtcbiAgICAgICAgICAgICAgICBkaXNhYmxlZFxuICAgICAgICAgICAgICAgICAgICA/IHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKHRoaXMuX2NsZWFyYWJsZUljb24ubG9jYXRpb24ubmF0aXZlRWxlbWVudCwgJ3BvaW50ZXItZXZlbnRzJywgJ25vbmUnKVxuICAgICAgICAgICAgICAgICAgICA6IHRoaXMuX3JlbmRlcmVyLnJlbW92ZVN0eWxlKHRoaXMuX2NsZWFyYWJsZUljb24ubG9jYXRpb24ubmF0aXZlRWxlbWVudCwgJ3BvaW50ZXItZXZlbnRzJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdpbnB1dCcsIFsnJGV2ZW50LnRhcmdldC52YWx1ZSddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ25nTW9kZWxDaGFuZ2UnLCBbJyRldmVudCddKVxuICAgIHByaXZhdGUgb25LZXlVcEFuZE1vZGVsQ2hhbmdlKHZhbHVlKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmV1aUNsZWFyYWJsZSkge1xuICAgICAgICAgICAgY29uc3QgdmlzaWJpbGl0eSA9IHZhbHVlPy50b1N0cmluZygpLmxlbmd0aCA+IDAgPyAndmlzaWJsZScgOiAnaGlkZGVuJztcbiAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKHRoaXMuX2NsZWFyYWJsZUljb24ubG9jYXRpb24ubmF0aXZlRWxlbWVudCwgJ3Zpc2liaWxpdHknLCB2aXNpYmlsaXR5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgb25DbGVhcmFibGVDbGlja2VkKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMuaW5qZWN0b3IuZ2V0KE5nQ29udHJvbCwgdW5kZWZpbmVkLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuICAgICAgICBpZiAoY29udHJvbCkge1xuICAgICAgICAgICAgY29udHJvbC5yZXNldCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgaW5wdXRFdmVudCA9IG5ldyBJbnB1dEV2ZW50KCdpbnB1dCcsIHsgZGF0YTogbnVsbCB9KTtcbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZGlzcGF0Y2hFdmVudChpbnB1dEV2ZW50KTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjbGVhckV2ZW50ID0gbmV3IElucHV0RXZlbnQoJ2NsZWFyJyk7XG4gICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5kaXNwYXRjaEV2ZW50KGNsZWFyRXZlbnQpO1xuICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBjcmVhdGVzIHRoZSBDbGVhcmFibGUgaWNvbiBjb21wb25lbnRcbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBjcmVhdGVDbGVhcmFibGVJY29uKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX2NsZWFyYWJsZUljb24pIHtcbiAgICAgICAgICAgIC8vIFRPRE86IHR1cm4gaW1wb3J0IG9mIEV1aUljb25TdmdDb21wb25lbnQgaW50byBhIHR5cGU/XG4gICAgICAgICAgICB0aGlzLl9jbGVhcmFibGVJY29uID0gdGhpcy5fdmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoRXVpSWNvblN2Z0NvbXBvbmVudCk7XG4gICAgICAgICAgICB0aGlzLl9jbGVhcmFibGVJY29uLmluc3RhbmNlLnNldCA9ICdldWknO1xuICAgICAgICAgICAgdGhpcy5fY2xlYXJhYmxlSWNvbi5pbnN0YW5jZS5pY29uID0gJ2V1aS1jbG9zZSc7XG4gICAgICAgICAgICB0aGlzLl9yZW5kZXJlci5hZGRDbGFzcyh0aGlzLl9jbGVhcmFibGVJY29uLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQsICdldWktaW5wdXQtdGV4dC0tY2xlYXJhYmxlLWljb24nKTtcbiAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLmxpc3Rlbih0aGlzLl9jbGVhcmFibGVJY29uLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQsICdjbGljaycsIHRoaXMub25DbGVhcmFibGVDbGlja2VkLmJpbmQodGhpcykpO1xuICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIubGlzdGVuKHRoaXMuX2NsZWFyYWJsZUljb24ubG9jYXRpb24ubmF0aXZlRWxlbWVudCwgJ2tleWRvd24uZW50ZXInLCB0aGlzLm9uQ2xlYXJhYmxlQ2xpY2tlZC5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmluamVjdG9yLmdldChOZ0NvbnRyb2wsIG51bGwsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGNvbnRyb2xcbiAgICAgICAgICAgICAgICA/IGNvbnRyb2wgaW5zdGFuY2VvZiBOZ01vZGVsXG4gICAgICAgICAgICAgICAgICAgID8gY29udHJvbC5tb2RlbD8udG9TdHJpbmcoKVxuICAgICAgICAgICAgICAgICAgICA6IGNvbnRyb2wudmFsdWU/LnRvU3RyaW5nKClcbiAgICAgICAgICAgICAgICA6IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZTtcbiAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKHRoaXMuX2NsZWFyYWJsZUljb24ubG9jYXRpb24ubmF0aXZlRWxlbWVudCwgJ3Zpc2liaWxpdHknLCB2YWx1ZT8ubGVuZ3RoID4gMCA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nKTtcbiAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLl9jbGVhcmFibGVJY29uLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQsICd0YWJpbmRleCcsICcwJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBkZXRhY2ggdGhlIENsZWFyYWJsZSBpY29uIGZyb20gdGhlIHZpZXdcbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSByZW1vdmVDbGVhcmFibGVJY29uKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fY2xlYXJhYmxlSWNvbikge1xuICAgICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLl92aWV3Q29udGFpbmVyUmVmLmluZGV4T2YodGhpcy5fY2xlYXJhYmxlSWNvbi5ob3N0Vmlldyk7XG4gICAgICAgICAgICB0aGlzLl92aWV3Q29udGFpbmVyUmVmLmRldGFjaChpbmRleCk7XG4gICAgICAgICAgICB0aGlzLl9jbGVhcmFibGVJY29uID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGNyZWF0ZSBhIGZsZXggd3JhcHBlciBmb3IgdGhlIGlucHV0IHRvIGhvbGQgdGhlIGljb25cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBjcmVhdGVGbGV4V3JhcHBlcigpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9ldWlVRmxleFdyYXBwZXIgJiYgIXRoaXMuZG9lc1BhcmVudEhhc0FGbGV4V3JhcHBlcigpKSB7XG4gICAgICAgICAgICB0aGlzLl9ldWlVRmxleFdyYXBwZXIgPSB0aGlzLl9yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLmFkZENsYXNzKHRoaXMuX2V1aVVGbGV4V3JhcHBlciwgJ2V1aS11LWZsZXgnKTtcbiAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLl9ldWlVRmxleFdyYXBwZXIsICdmbGV4V3JhcHBlcicsIG51bGwpO1xuICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUodGhpcy5fZXVpVUZsZXhXcmFwcGVyLCAncG9zaXRpb24nLCAncmVsYXRpdmUnKTtcbiAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLmluc2VydEJlZm9yZShcbiAgICAgICAgICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudCxcbiAgICAgICAgICAgICAgICB0aGlzLl9ldWlVRmxleFdyYXBwZXIsXG4gICAgICAgICAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5fZXVpVUZsZXhXcmFwcGVyLCB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5fZXVpVUZsZXhXcmFwcGVyICYmIHRoaXMuZG9lc1BhcmVudEhhc0FGbGV4V3JhcHBlcigpKSB7XG4gICAgICAgICAgICB0aGlzLl9ldWlVRmxleFdyYXBwZXIgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGNoZWNrcyBpZiB0aGUgcGFyZW50IGhhcyBhIGZsZXhXcmFwcGVyLiBUaGlzIGlzIHVzZWQgdG8gYXZvaWQgY3JlYXRpbmcgbXVsdGlwbGUgZmxleFdyYXBwZXJzXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgZG9lc1BhcmVudEhhc0FGbGV4V3JhcHBlcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50Lmhhc0F0dHJpYnV0ZSgnZmxleFdyYXBwZXInKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiByZW1vdmVzIHRoZSBmbGV4V3JhcHBlciB3aGlsZSBrZWVwaW5nIHRoZSBpbnB1dCBlbGVtZW50IGludGFjdFxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIHJlbW92ZUZsZXhXcmFwcGVyKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fZXVpVUZsZXhXcmFwcGVyKSB7XG4gICAgICAgICAgICB0aGlzLl9yZW5kZXJlci5pbnNlcnRCZWZvcmUodGhpcy5fZXVpVUZsZXhXcmFwcGVyLnBhcmVudEVsZW1lbnQsIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgdGhpcy5fZXVpVUZsZXhXcmFwcGVyKTtcbiAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLnJlbW92ZUNoaWxkKHRoaXMuX2V1aVVGbGV4V3JhcHBlci5wYXJlbnRFbGVtZW50LCB0aGlzLl9ldWlVRmxleFdyYXBwZXIpO1xuICAgICAgICAgICAgdGhpcy5fZXVpVUZsZXhXcmFwcGVyLnJlbW92ZSgpO1xuICAgICAgICAgICAgdGhpcy5fZXVpVUZsZXhXcmFwcGVyID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
218
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLWNsZWFyYWJsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9kaXJlY3RpdmVzL2V1aS1jbGVhcmFibGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxTQUFTLEVBRVQsV0FBVyxFQUNYLFlBQVksRUFFWixLQUFLLEdBS1IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVFLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBTTlELE1BQU0sT0FBTyxxQkFBcUI7SUFzQzlCLFlBQ1ksV0FBdUIsRUFDdkIsaUJBQW1DLEVBQ25DLFNBQW9CLEVBQ3BCLFFBQWtCO1FBSGxCLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQ3ZCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBa0I7UUFDbkMsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixhQUFRLEdBQVIsUUFBUSxDQUFVO0lBQzNCLENBQUM7SUExQ0osSUFFSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUN4QyxDQUFDO0lBQ0QsSUFBSSxRQUFRLENBQUMsQ0FBZTtRQUN4QixJQUFJLENBQUMsV0FBVyxHQUFHLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxJQUErQixLQUFLLENBQUMsS0FBYTtRQUM5QyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDbkIsTUFBTSxVQUFVLEdBQUcsS0FBSyxFQUFFLFFBQVEsRUFBRSxDQUFDLE1B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LFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjsrS0FJTyxRQUFRO3NCQUZYLFdBQVc7dUJBQUMsZUFBZTs7c0JBQzNCLEtBQUs7Z0JBUXlCLEtBQUs7c0JBQW5DLFdBQVc7dUJBQUMsWUFBWTtnQkFRZCxVQUFVO3NCQURwQixXQUFXO3VCQUFDLE9BQU87Z0JBVWhCLFlBQVk7c0JBRGYsS0FBSztnQkEwRUUscUJBQXFCO3NCQUY1QixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLHFCQUFxQixDQUFDOztzQkFDN0MsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudFJlZixcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0b3IsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIFJlbmRlcmVyMixcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgTmdDb250cm9sLCBOZ01vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRXVpSWNvblN2Z0NvbXBvbmVudCB9IGZyb20gJ0BldWkvY29tcG9uZW50cy9ldWktaWNvbic7XG5pbXBvcnQgeyBFdWlMb2FkaW5nRGlyZWN0aXZlIH0gZnJvbSAnLi9ldWktbG9hZGluZy5kaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2lucHV0W2V1aUNsZWFyYWJsZV0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEV1aUNsZWFyYWJsZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnJlYWRvbmx5JylcbiAgICBASW5wdXQoKVxuICAgIGdldCByZWFkb25seSgpOiBhbnkge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNSZWFkb25seSA/ICcnIDogbnVsbDtcbiAgICB9XG4gICAgc2V0IHJlYWRvbmx5KHY6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9pc1JlYWRvbmx5ID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHYpO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnYXR0ci52YWx1ZScpIHNldCB2YWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICh0aGlzLmV1aUNsZWFyYWJsZSkge1xuICAgICAgICAgICAgY29uc3QgdmlzaWJpbGl0eSA9IHZhbHVlPy50b1N0cmluZygpLmxlbmd0aCA+IDAgPyAndmlzaWJsZScgOiAnaGlkZGVuJztcbiAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKHRoaXMuX2NsZWFyYWJsZUljb24ubG9jYXRpb24ubmF0aXZlRWxlbWVudCwgJ3Zpc2liaWxpdHknLCB2aXNpYmlsaXR5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIHB1YmxpYyBnZXQgY3NzQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gW3RoaXMuX2Nzc0NsYXNzZXMsIHRoaXMuX2V1aUNsZWFyYWJsZSA/IGAke3RoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5yb290Q2xhc3NOYW1lfS0tY2xlYXJhYmxlYCA6IGBgXS5qb2luKCcgJykudHJpbSgpO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IGNzc0NsYXNzZXModmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9jc3NDbGFzc2VzID0gdmFsdWU7XG4gICAgfVxuICAgIHByaXZhdGUgX2Nzc0NsYXNzZXM6IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGV1aUNsZWFyYWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2V1aUNsZWFyYWJsZTtcbiAgICB9XG4gICAgc2V0IGV1aUNsZWFyYWJsZSh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2V1aUNsZWFyYWJsZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfY2xlYXJhYmxlSWNvbjogQ29tcG9uZW50UmVmPEV1aUljb25TdmdDb21wb25lbnQ+O1xuICAgIHByaXZhdGUgX2V1aVVGbGV4V3JhcHBlcjogSFRNTERpdkVsZW1lbnQ7XG4gICAgcHJpdmF0ZSBfZXVpQ2xlYXJhYmxlOiBib29sZWFuO1xuICAgIHByaXZhdGUgX2lzUmVhZG9ubHk6IGJvb2xlYW47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSBfdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgcHJpdmF0ZSBfcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3JcbiAgICApIHt9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzLmV1aUNsZWFyYWJsZSkge1xuICAgICAgICAgICAgLy8gZ2V0IHR5cGUgb2YgdGhlIGNvbnRyb2xcbiAgICAgICAgICAgIGNvbnN0IHR5cGUgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudHlwZTtcbiAgICAgICAgICAgIGlmIChjb2VyY2VCb29sZWFuUHJvcGVydHkoY2hhbmdlc1snZXVpQ2xlYXJhYmxlJ10uY3VycmVudFZhbHVlKSkge1xuICAgICAgICAgICAgICAgIC8vIGNoZWNrIGlmIHR5cGUgaXMgbm90IGV1aUlucHV0TnVtYmVyIG9yIGV1aUlucHV0VGV4dCwgcmVzZXQgYW5kIHRocm93IGVycm9yXG4gICAgICAgICAgICAgICAgaWYgKHR5cGUgIT09ICdldWktbnVtYmVyJyAmJiB0eXBlICE9PSAndGV4dCcgJiYgdHlwZSAhPT0gJ3NlYXJjaCcpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ldWlDbGVhcmFibGUgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2V1aUNsZWFyYWJsZSBpcyBvbmx5IGFsbG93ZWQgaW4gZXVpSW5wdXROdW1iZXIgb3IgZXVpSW5wdXRUZXh0Jyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIGNyZWF0ZSBkeW5hbWljYWxseSB0aGUgaWNvblxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlQ2xlYXJhYmxlSWNvbigpO1xuXG4gICAgICAgICAgICAgICAgLy8gd3JhcCB0aGVtIGFsbCBhdCBhbiBldWktdS1mbGV4IGNsYXNzXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVGbGV4V3JhcHBlcigpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuX2V1aVVGbGV4V3JhcHBlciwgdGhpcy5fY2xlYXJhYmxlSWNvbi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5fY2xlYXJhYmxlSWNvbikge1xuICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlQ2xlYXJhYmxlSWNvbigpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGV1aUxvYWRpbmcgPSB0aGlzLmluamVjdG9yLmdldChFdWlMb2FkaW5nRGlyZWN0aXZlLCBudWxsLCB7IG9wdGlvbmFsOiB0cnVlIH0pPy5ldWlMb2FkaW5nO1xuICAgICAgICAgICAgICAgIGlmICghZXVpTG9hZGluZykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZUZsZXhXcmFwcGVyKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNoYW5nZXNbJ3JlYWRvbmx5J10pIHtcbiAgICAgICAgICAgIGlmIChjaGFuZ2VzWydyZWFkb25seSddLmN1cnJlbnRWYWx1ZSA9PT0gZmFsc2UgJiYgdGhpcy5ldWlDbGVhcmFibGUpIHtcbiAgICAgICAgICAgICAgICAvLyBjcmVhdGUgd3JhcHBlclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlRmxleFdyYXBwZXIoKTtcbiAgICAgICAgICAgICAgICAvLyBjcmVhdGUgZHluYW1pY2FsbHkgdGhlIGljb25cbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZUNsZWFyYWJsZUljb24oKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9yZW5kZXJlci5hcHBlbmRDaGlsZCh0aGlzLl9ldWlVRmxleFdyYXBwZXIsIHRoaXMuX2NsZWFyYWJsZUljb24ubG9jYXRpb24ubmF0aXZlRWxlbWVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoY2hhbmdlc1sncmVhZG9ubHknXS5jdXJyZW50VmFsdWUgPT09IHRydWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZUNsZWFyYWJsZUljb24oKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZUZsZXhXcmFwcGVyKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY2hhbmdlc1snZGlzYWJsZWQnXSB8fCBjaGFuZ2VzWydldWlEaXNhYmxlZCddKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5fY2xlYXJhYmxlSWNvbikge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRpc2FibGVkID0gY2hhbmdlc1snZGlzYWJsZWQnXT8uY3VycmVudFZhbHVlIHx8IGNoYW5nZXNbJ2V1aURpc2FibGVkJ10/LmN1cnJlbnRWYWx1ZTtcbiAgICAgICAgICAgICAgICBpZiAoZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUodGhpcy5fY2xlYXJhYmxlSWNvbi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LCAncG9pbnRlci1ldmVudHMnLCAnbm9uZScpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9yZW5kZXJlci5yZW1vdmVBdHRyaWJ1dGUodGhpcy5fY2xlYXJhYmxlSWNvbi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LCAndGFiaW5kZXgnLCAnMCcpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLnJlbW92ZVN0eWxlKHRoaXMuX2NsZWFyYWJsZUljb24ubG9jYXRpb24ubmF0aXZlRWxlbWVudCwgJ3BvaW50ZXItZXZlbnRzJyk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLl9jbGVhcmFibGVJY29uLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQsICd0YWJpbmRleCcsICcwJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignaW5wdXQnLCBbJyRldmVudC50YXJnZXQudmFsdWUnXSlcbiAgICBASG9zdExpc3RlbmVyKCduZ01vZGVsQ2hhbmdlJywgWyckZXZlbnQnXSlcbiAgICBwcml2YXRlIG9uS2V5VXBBbmRNb2RlbENoYW5nZSh2YWx1ZSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5ldWlDbGVhcmFibGUpIHtcbiAgICAgICAgICAgIGNvbnN0IHZpc2liaWxpdHkgPSB2YWx1ZT8udG9TdHJpbmcoKS5sZW5ndGggPiAwID8gJ3Zpc2libGUnIDogJ2hpZGRlbic7XG4gICAgICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRTdHlsZSh0aGlzLl9jbGVhcmFibGVJY29uLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQsICd2aXNpYmlsaXR5JywgdmlzaWJpbGl0eSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIG9uQ2xlYXJhYmxlQ2xpY2tlZCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmluamVjdG9yLmdldChOZ0NvbnRyb2wsIHVuZGVmaW5lZCwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcbiAgICAgICAgaWYgKGNvbnRyb2wpIHtcbiAgICAgICAgICAgIGNvbnRyb2wucmVzZXQoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGlucHV0RXZlbnQgPSBuZXcgSW5wdXRFdmVudCgnaW5wdXQnLCB7IGRhdGE6IG51bGwgfSk7XG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmRpc3BhdGNoRXZlbnQoaW5wdXRFdmVudCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY2xlYXJFdmVudCA9IG5ldyBJbnB1dEV2ZW50KCdjbGVhcicpO1xuICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZGlzcGF0Y2hFdmVudChjbGVhckV2ZW50KTtcbiAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogY3JlYXRlcyB0aGUgQ2xlYXJhYmxlIGljb24gY29tcG9uZW50XG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgY3JlYXRlQ2xlYXJhYmxlSWNvbigpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9jbGVhcmFibGVJY29uKSB7XG4gICAgICAgICAgICAvLyBUT0RPOiB0dXJuIGltcG9ydCBvZiBFdWlJY29uU3ZnQ29tcG9uZW50IGludG8gYSB0eXBlP1xuICAgICAgICAgICAgdGhpcy5fY2xlYXJhYmxlSWNvbiA9IHRoaXMuX3ZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KEV1aUljb25TdmdDb21wb25lbnQpO1xuICAgICAgICAgICAgdGhpcy5fY2xlYXJhYmxlSWNvbi5pbnN0YW5jZS5zZXQgPSAnZXVpJztcbiAgICAgICAgICAgIHRoaXMuX2NsZWFyYWJsZUljb24uaW5zdGFuY2UuaWNvbiA9ICdldWktY2xvc2UnO1xuICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5fY2xlYXJhYmxlSWNvbi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LCAnZXVpLWlucHV0LXRleHQtLWNsZWFyYWJsZS1pY29uJyk7XG4gICAgICAgICAgICB0aGlzLl9yZW5kZXJlci5saXN0ZW4odGhpcy5fY2xlYXJhYmxlSWNvbi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LCAnY2xpY2snLCB0aGlzLm9uQ2xlYXJhYmxlQ2xpY2tlZC5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLmxpc3Rlbih0aGlzLl9jbGVhcmFibGVJY29uLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQsICdrZXlkb3duLmVudGVyJywgdGhpcy5vbkNsZWFyYWJsZUNsaWNrZWQuYmluZCh0aGlzKSk7XG4gICAgICAgICAgICBjb25zdCBjb250cm9sID0gdGhpcy5pbmplY3Rvci5nZXQoTmdDb250cm9sLCBudWxsLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBjb250cm9sXG4gICAgICAgICAgICAgICAgPyBjb250cm9sIGluc3RhbmNlb2YgTmdNb2RlbFxuICAgICAgICAgICAgICAgICAgICA/IGNvbnRyb2wubW9kZWw/LnRvU3RyaW5nKClcbiAgICAgICAgICAgICAgICAgICAgOiBjb250cm9sLnZhbHVlPy50b1N0cmluZygpXG4gICAgICAgICAgICAgICAgOiB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWU7XG4gICAgICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRTdHlsZSh0aGlzLl9jbGVhcmFibGVJY29uLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQsICd2aXNpYmlsaXR5JywgdmFsdWU/Lmxlbmd0aCA+IDAgPyAndmlzaWJsZScgOiAnaGlkZGVuJyk7XG4gICAgICAgICAgICBpZiAoIXRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLl9jbGVhcmFibGVJY29uLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQsICd0YWJpbmRleCcsICcwJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBkZXRhY2ggdGhlIENsZWFyYWJsZSBpY29uIGZyb20gdGhlIHZpZXdcbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSByZW1vdmVDbGVhcmFibGVJY29uKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fY2xlYXJhYmxlSWNvbikge1xuICAgICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLl92aWV3Q29udGFpbmVyUmVmLmluZGV4T2YodGhpcy5fY2xlYXJhYmxlSWNvbi5ob3N0Vmlldyk7XG4gICAgICAgICAgICB0aGlzLl92aWV3Q29udGFpbmVyUmVmLmRldGFjaChpbmRleCk7XG4gICAgICAgICAgICB0aGlzLl9jbGVhcmFibGVJY29uID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGNyZWF0ZSBhIGZsZXggd3JhcHBlciBmb3IgdGhlIGlucHV0IHRvIGhvbGQgdGhlIGljb25cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBjcmVhdGVGbGV4V3JhcHBlcigpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9ldWlVRmxleFdyYXBwZXIgJiYgIXRoaXMuZG9lc1BhcmVudEhhc0FGbGV4V3JhcHBlcigpKSB7XG4gICAgICAgICAgICB0aGlzLl9ldWlVRmxleFdyYXBwZXIgPSB0aGlzLl9yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLmFkZENsYXNzKHRoaXMuX2V1aVVGbGV4V3JhcHBlciwgJ2V1aS11LWZsZXgnKTtcbiAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLl9ldWlVRmxleFdyYXBwZXIsICdmbGV4V3JhcHBlcicsIG51bGwpO1xuICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUodGhpcy5fZXVpVUZsZXhXcmFwcGVyLCAncG9zaXRpb24nLCAncmVsYXRpdmUnKTtcbiAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLmluc2VydEJlZm9yZShcbiAgICAgICAgICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudCxcbiAgICAgICAgICAgICAgICB0aGlzLl9ldWlVRmxleFdyYXBwZXIsXG4gICAgICAgICAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5fZXVpVUZsZXhXcmFwcGVyLCB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5fZXVpVUZsZXhXcmFwcGVyICYmIHRoaXMuZG9lc1BhcmVudEhhc0FGbGV4V3JhcHBlcigpKSB7XG4gICAgICAgICAgICB0aGlzLl9ldWlVRmxleFdyYXBwZXIgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGNoZWNrcyBpZiB0aGUgcGFyZW50IGhhcyBhIGZsZXhXcmFwcGVyLiBUaGlzIGlzIHVzZWQgdG8gYXZvaWQgY3JlYXRpbmcgbXVsdGlwbGUgZmxleFdyYXBwZXJzXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgZG9lc1BhcmVudEhhc0FGbGV4V3JhcHBlcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50Lmhhc0F0dHJpYnV0ZSgnZmxleFdyYXBwZXInKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiByZW1vdmVzIHRoZSBmbGV4V3JhcHBlciB3aGlsZSBrZWVwaW5nIHRoZSBpbnB1dCBlbGVtZW50IGludGFjdFxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIHJlbW92ZUZsZXhXcmFwcGVyKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fZXVpVUZsZXhXcmFwcGVyKSB7XG4gICAgICAgICAgICB0aGlzLl9yZW5kZXJlci5pbnNlcnRCZWZvcmUodGhpcy5fZXVpVUZsZXhXcmFwcGVyLnBhcmVudEVsZW1lbnQsIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgdGhpcy5fZXVpVUZsZXhXcmFwcGVyKTtcbiAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLnJlbW92ZUNoaWxkKHRoaXMuX2V1aVVGbGV4V3JhcHBlci5wYXJlbnRFbGVtZW50LCB0aGlzLl9ldWlVRmxleFdyYXBwZXIpO1xuICAgICAgICAgICAgdGhpcy5fZXVpVUZsZXhXcmFwcGVyLnJlbW92ZSgpO1xuICAgICAgICAgICAgdGhpcy5fZXVpVUZsZXhXcmFwcGVyID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -1057,9 +1057,14 @@ class EuiClearableDirective {
1057
1057
  if (changes['disabled'] || changes['euiDisabled']) {
1058
1058
  if (this._clearableIcon) {
1059
1059
  const disabled = ((_b = changes['disabled']) === null || _b === void 0 ? void 0 : _b.currentValue) || ((_c = changes['euiDisabled']) === null || _c === void 0 ? void 0 : _c.currentValue);
1060
- disabled
1061
- ? this._renderer.setStyle(this._clearableIcon.location.nativeElement, 'pointer-events', 'none')
1062
- : this._renderer.removeStyle(this._clearableIcon.location.nativeElement, 'pointer-events');
1060
+ if (disabled) {
1061
+ this._renderer.setStyle(this._clearableIcon.location.nativeElement, 'pointer-events', 'none');
1062
+ this._renderer.removeAttribute(this._clearableIcon.location.nativeElement, 'tabindex', '0');
1063
+ }
1064
+ else {
1065
+ this._renderer.removeStyle(this._clearableIcon.location.nativeElement, 'pointer-events');
1066
+ this._renderer.setAttribute(this._clearableIcon.location.nativeElement, 'tabindex', '0');
1067
+ }
1063
1068
  }
1064
1069
  }
1065
1070
  }
@@ -1108,7 +1113,9 @@ class EuiClearableDirective {
1108
1113
  : (_b = control.value) === null || _b === void 0 ? void 0 : _b.toString()
1109
1114
  : this._elementRef.nativeElement.value;
1110
1115
  this._renderer.setStyle(this._clearableIcon.location.nativeElement, 'visibility', (value === null || value === void 0 ? void 0 : value.length) > 0 ? 'visible' : 'hidden');
1111
- this._renderer.setAttribute(this._clearableIcon.location.nativeElement, 'tabindex', '0');
1116
+ if (!this._elementRef.nativeElement.disabled) {
1117
+ this._renderer.setAttribute(this._clearableIcon.location.nativeElement, 'tabindex', '0');
1118
+ }
1112
1119
  }
1113
1120
  }
1114
1121
  /**