@snabcentr/client-ui 1.6.2 → 1.6.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,8 +1,9 @@
1
1
  import { HttpErrorResponse } from '@angular/common/http';
2
- import { ChangeDetectionStrategy, Component, EventEmitter, Inject, Input, Output, SkipSelf } from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component, EventEmitter, Inject, inject, Input, Output, SkipSelf } from '@angular/core';
3
3
  import { NgControl } from '@angular/forms';
4
4
  import { ScISuggestionType } from '@snabcentr/client-core';
5
5
  import { tuiControlValue, tuiIsFalsy, tuiIsPresent, tuiMarkControlAsTouchedAndValidate } from '@taiga-ui/cdk';
6
+ import { TUI_DATA_LIST_HOST } from '@taiga-ui/core';
6
7
  import { catchError, debounceTime, filter, map, of, share, startWith, switchMap, throwError } from 'rxjs';
7
8
  import * as i0 from "@angular/core";
8
9
  import * as i1 from "@snabcentr/client-core";
@@ -35,6 +36,12 @@ export class ScSuggestionFieldComponent {
35
36
  * Перечисление типов подсказок.
36
37
  */
37
38
  this.suggestionType = ScISuggestionType;
39
+ /**
40
+ * Компонент обёртка выпадающего списка.
41
+ */
42
+ this.host = inject(TUI_DATA_LIST_HOST, {
43
+ optional: true,
44
+ });
38
45
  }
39
46
  /** @inheritDoc */
40
47
  ngOnInit() {
@@ -62,12 +69,12 @@ export class ScSuggestionFieldComponent {
62
69
  switch (this.type) {
63
70
  case ScISuggestionType.fio:
64
71
  if ('fio' in suggestion) {
65
- this.control.control?.patchValue(suggestion.fio);
72
+ this.control.control?.patchValue(suggestion.fio, { emitEvent: false });
66
73
  }
67
74
  break;
68
75
  case ScISuggestionType.address:
69
76
  if ('addressString' in suggestion) {
70
- this.control.control?.patchValue(suggestion.addressString);
77
+ this.control.control?.patchValue(suggestion.addressString, { emitEvent: false });
71
78
  }
72
79
  break;
73
80
  case ScISuggestionType.bank:
@@ -76,7 +83,7 @@ export class ScSuggestionFieldComponent {
76
83
  bankName: suggestion.name,
77
84
  bic: suggestion.bic,
78
85
  correspondentAccount: suggestion.correspondentAccount,
79
- });
86
+ }, { emitEvent: false });
80
87
  }
81
88
  break;
82
89
  case ScISuggestionType.organization:
@@ -91,17 +98,19 @@ export class ScSuggestionFieldComponent {
91
98
  legalAddress: suggestion.legalAddress,
92
99
  postalAddress: suggestion.postalAddress,
93
100
  actualAddress: suggestion.actualAddress,
94
- });
101
+ }, { emitEvent: false });
95
102
  }
96
103
  break;
97
104
  case ScISuggestionType.email:
98
105
  if ('email' in suggestion) {
99
- this.control.control?.patchValue(suggestion.email);
106
+ this.control.control?.patchValue(suggestion.email, { emitEvent: false });
100
107
  }
101
108
  break;
102
109
  default:
103
110
  break;
104
111
  }
112
+ // Дёргаем внутренний обработчик выбора элемента выпадающего списка.
113
+ this.host?.handleOption(this.control.value);
105
114
  this.selectedClick.emit(suggestion);
106
115
  }
107
116
  }
@@ -120,4 +129,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
120
129
  }], selectedClick: [{
121
130
  type: Output
122
131
  }] } });
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtc3VnZ2VzdGlvbi1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvZm9ybS1maWVsZHMvc3VnZ2VzdGlvbi1maWVsZC9zYy1zdWdnZXN0aW9uLWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9mb3JtLWZpZWxkcy9zdWdnZXN0aW9uLWZpZWxkL3NjLXN1Z2dlc3Rpb24tZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFILE9BQU8sRUFBYSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsaUJBQWlCLEVBQXFDLE1BQU0sd0JBQXdCLENBQUM7QUFDOUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlHLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQWMsRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7OztBQUl0SDs7R0FFRztBQU1ILE1BQU0sT0FBTywwQkFBMEI7SUE0Qm5DOzs7OztPQUtHO0lBQ0gsWUFHb0IsT0FBa0IsRUFDakIsaUJBQXNDO1FBRHZDLFlBQU8sR0FBUCxPQUFPLENBQVc7UUFDakIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFxQjtRQXJDM0Q7O1dBRUc7UUFFSSxTQUFJ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OzhFQS9CZCxJQUFJO3NCQURWLEtBQUs7Z0JBT0MsYUFBYTtzQkFEbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIElucHV0LCBPbkluaXQsIE91dHB1dCwgU2tpcFNlbGYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCwgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2NJU3VnZ2VzdGlvblR5cGUsIFNjU3VnZ2VzdGlvbiwgU2NTdWdnZXN0aW9uU2VydmljZSB9IGZyb20gJ0BzbmFiY2VudHIvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgdHVpQ29udHJvbFZhbHVlLCB0dWlJc0ZhbHN5LCB0dWlJc1ByZXNlbnQsIHR1aU1hcmtDb250cm9sQXNUb3VjaGVkQW5kVmFsaWRhdGUgfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGRlYm91bmNlVGltZSwgZmlsdGVyLCBtYXAsIE9ic2VydmFibGUsIG9mLCBzaGFyZSwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQXBpRXJyb3JSZXNwb25zZSB9IGZyb20gJy4uLy4uL2F1dGgvaW50ZXJmYWNlcy9hcGktZXJyb3ItcmVzcG9uc2UnO1xuXG4vKipcbiAqINCa0L7QvNC/0L7QvdC10L3RgiDQv9C+0LTRgdC60LDQt9C+0Log0LTQu9GPINC/0L7Qu9GPINCy0LLQvtC00LAuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnc2Mtc3VnZ2VzdGlvbi1maWVsZCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NjLXN1Z2dlc3Rpb24tZmllbGQuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTY1N1Z2dlc3Rpb25GaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgLyoqXG4gICAgICog0KLQuNC/INC/0L7QtNGB0LrQsNC30L7Qui5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0eXBlOiBTY0lTdWdnZXN0aW9uVHlwZSA9IFNjSVN1Z2dlc3Rpb25UeXBlLmZpbztcblxuICAgIC8qKlxuICAgICAqINCh0L7QsdGL0YLQuNC1INCy0YvQsdC+0YDQsCDRgNC10LfRg9C70YzRgtCw0YLQsCDQv9C+0LTRgdC60LDQt9C60LguXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHNlbGVjdGVkQ2xpY2s6IEV2ZW50RW1pdHRlcjxTY1N1Z2dlc3Rpb24+ID0gbmV3IEV2ZW50RW1pdHRlcjxTY1N1Z2dlc3Rpb24+KCk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0L/QvtC00YHQutCw0LfQvtC6LlxuICAgICAqL1xuICAgIHB1YmxpYyBzdWdnZXN0aW9ucyQ/OiBPYnNlcnZhYmxlPFNjU3VnZ2VzdGlvbltdIHwgbnVsbD47XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0YHQvtGB0YLQvtGP0L3QuNC1INC30LDQv9GA0L7RgdCwINC/0L7QtNGB0LrQsNC30L7Qui5cbiAgICAgKi9cbiAgICBwdWJsaWMgbG9hZGluZyQ/OiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gICAgLyoqXG4gICAgICog0J/QtdGA0LXRh9C40YHQu9C10L3QuNC1INGC0LjQv9C+0LIg0L/QvtC00YHQutCw0LfQvtC6LlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBzdWdnZXN0aW9uVHlwZTogdHlwZW9mIFNjSVN1Z2dlc3Rpb25UeXBlID0gU2NJU3VnZ2VzdGlvblR5cGU7XG5cbiAgICAvKipcbiAgICAgKiDQmNC90LjRhtC40LDQu9C40LfQuNGA0YPQtdGCINGN0LrQt9C10LzQv9C70Y/RgCDQutC70LDRgdGB0LAge0BsaW5rIFNjU3VnZ2VzdGlvbkZpZWxkQ29tcG9uZW50fS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjb250cm9sINCa0L7QvdGC0YDQvtC7INC/0L7Qu9GPINCy0LLQvtC00LAuXG4gICAgICogQHBhcmFtIHN1Z2dlc3Rpb25TZXJ2aWNlINCh0LXRgNCy0LjRgSDRgNCw0LHQvtGC0Ysg0YEgQVBJINC/0L7QtNGB0LrQsNC30L7Qui5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIEBTa2lwU2VsZigpXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKVxuICAgICAgICBwdWJsaWMgcmVhZG9ubHkgY29udHJvbDogTmdDb250cm9sLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHN1Z2dlc3Rpb25TZXJ2aWNlOiBTY1N1Z2dlc3Rpb25TZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgLyoqIEBpbmhlcml0RG9jICovXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCByZXF1ZXN0JCA9IHR1aUNvbnRyb2xWYWx1ZTxzdHJpbmcgfCBudWxsPih0aGlzLmNvbnRyb2wpLnBpcGUoXG4gICAgICAgICAgICBkZWJvdW5jZVRpbWUoNTAwKSxcbiAgICAgICAgICAgIGZpbHRlcih0dWlJc1ByZXNlbnQpLFxuICAgICAgICAgICAgbWFwKCh0ZXJtKSA9PiB0ZXJtLnRyaW0oKSksXG4gICAgICAgICAgICBmaWx0ZXIoKHRlcm0pID0+IHRlcm0ubGVuZ3RoID49IDMpLFxuICAgICAgICAgICAgc3dpdGNoTWFwKCh0ZXJtOiBzdHJpbmcpID0+IHRoaXMuc3VnZ2VzdGlvblNlcnZpY2UuZ2V0RGF0YTxTY1N1Z2dlc3Rpb24+KHRlcm0sIHRoaXMudHlwZSkucGlwZShzdGFydFdpdGgobnVsbCkpKSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiB1bmtub3duKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXJyb3JSZXNwb25zZSA9IGVycm9yLmVycm9yIGFzIEFwaUVycm9yUmVzcG9uc2U7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuY29udHJvbC5jb250cm9sKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0dWlNYXJrQ29udHJvbEFzVG91Y2hlZEFuZFZhbGlkYXRlKHRoaXMuY29udHJvbC5jb250cm9sKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250cm9sLmNvbnRyb2wuc2V0RXJyb3JzKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJSZXNwb25zZTogW2Vycm9yUmVzcG9uc2UubWVzc2FnZSB8fCAn0J7RiNC40LHQutCwINGB0LXRgNCy0LXRgNCwOiDQv9C+0LbQsNC70YPQudGB0YLQsCwg0L/QtdGA0LXQt9Cw0LPRgNGD0LfQuNGC0LUg0YHRgtGA0LDQvdC40YbRgyDQuC/QuNC70Lgg0LLRi9C/0L7Qu9C90LjRgtC1INC30LDQv9GA0L7RgSDQv9C+0LfQttC1LiddLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBvZihbXSkpO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBzaGFyZSgpXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5zdWdnZXN0aW9ucyQgPSByZXF1ZXN0JC5waXBlKGZpbHRlcih0dWlJc1ByZXNlbnQpLCBzdGFydFdpdGgobnVsbCkpO1xuICAgICAgICB0aGlzLmxvYWRpbmckID0gcmVxdWVzdCQucGlwZShtYXAodHVpSXNGYWxzeSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCX0LDQv9C+0LvQvdC10L3QuNC1INC/0L7Qu9C10Lkg0L7RgdC90L7QstC1INCy0YvQsdGA0LDQvdC90L7QuSDQv9C+0LTRgdC60LDQt9C60LguXG4gICAgICpcbiAgICAgKiBAcGFyYW0gc3VnZ2VzdGlvbiDQntCx0YrQtdC60YIg0L/QvtC00YHQutCw0LfQutC4LlxuICAgICAqL1xuICAgIHB1YmxpYyBvblNlbGVjdGVkKHN1Z2dlc3Rpb246IFNjU3VnZ2VzdGlvbik6IHZvaWQge1xuICAgICAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgICAgICAgY2FzZSBTY0lTdWdnZXN0aW9uVHlwZS5maW86XG4gICAgICAgICAgICAgICAgaWYgKCdmaW8nIGluIHN1Z2dlc3Rpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250cm9sLmNvbnRyb2w/LnBhdGNoVmFsdWUoc3VnZ2VzdGlvbi5maW8pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgU2NJU3VnZ2VzdGlvblR5cGUuYWRkcmVzczpcbiAgICAgICAgICAgICAgICBpZiAoJ2FkZHJlc3NTdHJpbmcnIGluIHN1Z2dlc3Rpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250cm9sLmNvbnRyb2w/LnBhdGNoVmFsdWUoc3VnZ2VzdGlvbi5hZGRyZXNzU3RyaW5nKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFNjSVN1Z2dlc3Rpb25UeXBlLmJhbms6XG4gICAgICAgICAgICAgICAgaWYgKCdpbm4nIGluIHN1Z2dlc3Rpb24gJiYgJ2JpYycgaW4gc3VnZ2VzdGlvbikge1xuICAgICAgICAgICAgICAgICAgICAodGhpcy5jb250cm9sLmNvbnRyb2w/LnBhcmVudCBhcyBGb3JtR3JvdXApLnBhdGNoVmFsdWUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFua05hbWU6IHN1Z2dlc3Rpb24ubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGJpYzogc3VnZ2VzdGlvbi5iaWMsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb3JyZXNwb25kZW50QWNjb3VudDogc3VnZ2VzdGlvbi5jb3JyZXNwb25kZW50QWNjb3VudCxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBTY0lTdWdnZXN0aW9uVHlwZS5vcmdhbml6YXRpb246XG4gICAgICAgICAgICAgICAgaWYgKCdpbm4nIGluIHN1Z2dlc3Rpb24gJiYgISgnYmljJyBpbiBzdWdnZXN0aW9uKSkge1xuICAgICAgICAgICAgICAgICAgICAodGhpcy5jb250cm9sLmNvbnRyb2w/LnBhcmVudCBhcyBGb3JtR3JvdXApLnBhdGNoVmFsdWUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogc3VnZ2VzdGlvbi5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgaW5uOiBzdWdnZXN0aW9uLmlubixcbiAgICAgICAgICAgICAgICAgICAgICAgIGtwcDogc3VnZ2VzdGlvbi5rcHAsXG4gICAgICAgICAgICAgICAgICAgICAgICBva3BvOiBzdWdnZXN0aW9uLm9rcG8sXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3Rvck5hbWU6IHN1Z2dlc3Rpb24uZGlyZWN0b3JOYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0b3JQb3NpdGlvbjogc3VnZ2VzdGlvbi5kaXJlY3RvclBvc2l0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGVnYWxBZGRyZXNzOiBzdWdnZXN0aW9uLmxlZ2FsQWRkcmVzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc3RhbEFkZHJlc3M6IHN1Z2dlc3Rpb24ucG9zdGFsQWRkcmVzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdHVhbEFkZHJlc3M6IHN1Z2dlc3Rpb24uYWN0dWFsQWRkcmVzcyxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBTY0lTdWdnZXN0aW9uVHlwZS5lbWFpbDpcbiAgICAgICAgICAgICAgICBpZiAoJ2VtYWlsJyBpbiBzdWdnZXN0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbC5jb250cm9sPy5wYXRjaFZhbHVlKHN1Z2dlc3Rpb24uZW1haWwpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNlbGVjdGVkQ2xpY2suZW1pdChzdWdnZXN0aW9uKTtcbiAgICB9XG59XG4iLCI8dHVpLWxvYWRlclxuICAgIHNpemU9XCJtXCJcbiAgICBbb3ZlcmxheV09XCJ0cnVlXCJcbiAgICBbc2hvd0xvYWRlcl09XCIhIShsb2FkaW5nJCB8IGFzeW5jKVwiXG4+XG4gICAgPHR1aS1kYXRhLWxpc3QgKnR1aUxldD1cInN1Z2dlc3Rpb25zJCB8IGFzeW5jIGFzIG9wdGlvbnNcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zXCJcbiAgICAgICAgICAgIHR1aU9wdGlvblxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uU2VsZWN0ZWQob3B0aW9uKVwiXG4gICAgICAgICAgICBjbGFzcz1cImZsZXgtY29sICFpdGVtcy1zdGFydFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKnR1aUxldD1cIiRhbnkob3B0aW9uKSBhcyBvcHRpb25cIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJ0eXBlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cInN1Z2dlc3Rpb25UeXBlLmZpb1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXR1aS1saW5rXCI+e3sgb3B0aW9uLmZpbyB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cInN1Z2dlc3Rpb25UeXBlLm9yZ2FuaXphdGlvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXR1aS1saW5rXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgb3B0aW9uLm5hbWUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1sLTIgdGV4dC10dWktdGV4dC0wMlwiPtC40L3QvToge3sgb3B0aW9uLmlubiB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC10dWktdGV4dC0wMlwiPnt7IG9wdGlvbj8ubGVnYWxBZGRyZXNzIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwic3VnZ2VzdGlvblR5cGUuYmFua1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXR1aS1saW5rXCI+e3sgb3B0aW9uLm5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtdHVpLXRleHQtMDJcIj57eyBvcHRpb24uYmljIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwic3VnZ2VzdGlvblR5cGUuZW1haWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC10dWktbGlua1wiPnt7IG9wdGlvbi5lbWFpbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cInN1Z2dlc3Rpb25UeXBlLmFkZHJlc3NcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC10dWktbGlua1wiPnt7IG9wdGlvbi5hZGRyZXNzU3RyaW5nIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L3R1aS1kYXRhLWxpc3Q+XG48L3R1aS1sb2FkZXI+XG4iXX0=
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtc3VnZ2VzdGlvbi1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvZm9ybS1maWVsZHMvc3VnZ2VzdGlvbi1maWVsZC9zYy1zdWdnZXN0aW9uLWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9mb3JtLWZpZWxkcy9zdWdnZXN0aW9uLWZpZWxkL3NjLXN1Z2dlc3Rpb24tZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsSSxPQUFPLEVBQWEsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFxQyxNQUFNLHdCQUF3QixDQUFDO0FBQzlGLE9BQU8sRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RyxPQUFPLEVBQUUsa0JBQWtCLEVBQW1CLE1BQU0sZ0JBQWdCLENBQUM7QUFDckUsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7O0FBSXRIOztHQUVHO0FBTUgsTUFBTSxPQUFPLDBCQUEwQjtJQW1DbkM7Ozs7O09BS0c7SUFDSCxZQUdvQixPQUFrQixFQUNqQixpQkFBc0M7UUFEdkMsWUFBTyxHQUFQLE9BQU8sQ0FB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QUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7aUJBQzVFO2dCQUNELE1BQU07WUFDVjtnQkFDSSxNQUFNO1NBQ2I7UUFFRCxvRUFBb0U7UUFDcEUsSUFBSSxDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN4QyxDQUFDOzt1SEF6SVEsMEJBQTBCLGtCQTJDdkIsU0FBUzsyR0EzQ1osMEJBQTBCLGtJQ2xCdkMsNjJEQXVDQTsyRkRyQmEsMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNJLHFCQUFxQixtQkFFZCx1QkFBdUIsQ0FBQyxNQUFNOzswQkE0QzFDLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsU0FBUzs4RUF0Q2QsSUFBSTtzQkFEVixLQUFLO2dCQU9DLGFBQWE7c0JBRG5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBpbmplY3QsIElucHV0LCBPbkluaXQsIE91dHB1dCwgU2tpcFNlbGYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCwgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2NJU3VnZ2VzdGlvblR5cGUsIFNjU3VnZ2VzdGlvbiwgU2NTdWdnZXN0aW9uU2VydmljZSB9IGZyb20gJ0BzbmFiY2VudHIvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgdHVpQ29udHJvbFZhbHVlLCB0dWlJc0ZhbHN5LCB0dWlJc1ByZXNlbnQsIHR1aU1hcmtDb250cm9sQXNUb3VjaGVkQW5kVmFsaWRhdGUgfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7IFRVSV9EQVRBX0xJU1RfSE9TVCwgVHVpRGF0YUxpc3RIb3N0IH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZGVib3VuY2VUaW1lLCBmaWx0ZXIsIG1hcCwgT2JzZXJ2YWJsZSwgb2YsIHNoYXJlLCBzdGFydFdpdGgsIHN3aXRjaE1hcCwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBBcGlFcnJvclJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vYXV0aC9pbnRlcmZhY2VzL2FwaS1lcnJvci1yZXNwb25zZSc7XG5cbi8qKlxuICog0JrQvtC80L/QvtC90LXQvdGCINC/0L7QtNGB0LrQsNC30L7QuiDQtNC70Y8g0L/QvtC70Y8g0LLQstC+0LTQsC5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzYy1zdWdnZXN0aW9uLWZpZWxkJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2Mtc3VnZ2VzdGlvbi1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNjU3VnZ2VzdGlvbkZpZWxkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICAvKipcbiAgICAgKiDQotC40L8g0L/QvtC00YHQutCw0LfQvtC6LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHR5cGU6IFNjSVN1Z2dlc3Rpb25UeXBlID0gU2NJU3VnZ2VzdGlvblR5cGUuZmlvO1xuXG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUg0LLRi9Cx0L7RgNCwINGA0LXQt9GD0LvRjNGC0LDRgtCwINC/0L7QtNGB0LrQsNC30LrQuC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgc2VsZWN0ZWRDbGljazogRXZlbnRFbWl0dGVyPFNjU3VnZ2VzdGlvbj4gPSBuZXcgRXZlbnRFbWl0dGVyPFNjU3VnZ2VzdGlvbj4oKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQv9C+0LTRgdC60LDQt9C+0LouXG4gICAgICovXG4gICAgcHVibGljIHN1Z2dlc3Rpb25zJD86IE9ic2VydmFibGU8U2NTdWdnZXN0aW9uW10gfCBudWxsPjtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDRgdC+0YHRgtC+0Y/QvdC40LUg0LfQsNC/0YDQvtGB0LAg0L/QvtC00YHQutCw0LfQvtC6LlxuICAgICAqL1xuICAgIHB1YmxpYyBsb2FkaW5nJD86IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgICAvKipcbiAgICAgKiDQn9C10YDQtdGH0LjRgdC70LXQvdC40LUg0YLQuNC/0L7QsiDQv9C+0LTRgdC60LDQt9C+0LouXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IHN1Z2dlc3Rpb25UeXBlOiB0eXBlb2YgU2NJU3VnZ2VzdGlvblR5cGUgPSBTY0lTdWdnZXN0aW9uVHlwZTtcblxuICAgIC8qKlxuICAgICAqINCa0L7QvNC/0L7QvdC10L3RgiDQvtCx0ZHRgNGC0LrQsCDQstGL0L/QsNC00LDRjtGJ0LXQs9C+INGB0L/QuNGB0LrQsC5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGhvc3Q6IFR1aURhdGFMaXN0SG9zdDx1bmtub3duPiB8IG51bGwgPSBpbmplY3Q8VHVpRGF0YUxpc3RIb3N0PHVua25vd24+PihUVUlfREFUQV9MSVNUX0hPU1QsIHtcbiAgICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiDQmNC90LjRhtC40LDQu9C40LfQuNGA0YPQtdGCINGN0LrQt9C10LzQv9C70Y/RgCDQutC70LDRgdGB0LAge0BsaW5rIFNjU3VnZ2VzdGlvbkZpZWxkQ29tcG9uZW50fS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjb250cm9sINCa0L7QvdGC0YDQvtC7INC/0L7Qu9GPINCy0LLQvtC00LAuXG4gICAgICogQHBhcmFtIHN1Z2dlc3Rpb25TZXJ2aWNlINCh0LXRgNCy0LjRgSDRgNCw0LHQvtGC0Ysg0YEgQVBJINC/0L7QtNGB0LrQsNC30L7Qui5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIEBTa2lwU2VsZigpXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKVxuICAgICAgICBwdWJsaWMgcmVhZG9ubHkgY29udHJvbDogTmdDb250cm9sLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHN1Z2dlc3Rpb25TZXJ2aWNlOiBTY1N1Z2dlc3Rpb25TZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgLyoqIEBpbmhlcml0RG9jICovXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCByZXF1ZXN0JCA9IHR1aUNvbnRyb2xWYWx1ZTxzdHJpbmcgfCBudWxsPih0aGlzLmNvbnRyb2wpLnBpcGUoXG4gICAgICAgICAgICBkZWJvdW5jZVRpbWUoNTAwKSxcbiAgICAgICAgICAgIGZpbHRlcih0dWlJc1ByZXNlbnQpLFxuICAgICAgICAgICAgbWFwKCh0ZXJtKSA9PiB0ZXJtLnRyaW0oKSksXG4gICAgICAgICAgICBmaWx0ZXIoKHRlcm0pID0+IHRlcm0ubGVuZ3RoID49IDMpLFxuICAgICAgICAgICAgc3dpdGNoTWFwKCh0ZXJtOiBzdHJpbmcpID0+IHRoaXMuc3VnZ2VzdGlvblNlcnZpY2UuZ2V0RGF0YTxTY1N1Z2dlc3Rpb24+KHRlcm0sIHRoaXMudHlwZSkucGlwZShzdGFydFdpdGgobnVsbCkpKSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiB1bmtub3duKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXJyb3JSZXNwb25zZSA9IGVycm9yLmVycm9yIGFzIEFwaUVycm9yUmVzcG9uc2U7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuY29udHJvbC5jb250cm9sKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0dWlNYXJrQ29udHJvbEFzVG91Y2hlZEFuZFZhbGlkYXRlKHRoaXMuY29udHJvbC5jb250cm9sKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250cm9sLmNvbnRyb2wuc2V0RXJyb3JzKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJSZXNwb25zZTogW2Vycm9yUmVzcG9uc2UubWVzc2FnZSB8fCAn0J7RiNC40LHQutCwINGB0LXRgNCy0LXRgNCwOiDQv9C+0LbQsNC70YPQudGB0YLQsCwg0L/QtdGA0LXQt9Cw0LPRgNGD0LfQuNGC0LUg0YHRgtGA0LDQvdC40YbRgyDQuC/QuNC70Lgg0LLRi9C/0L7Qu9C90LjRgtC1INC30LDQv9GA0L7RgSDQv9C+0LfQttC1LiddLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBvZihbXSkpO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBzaGFyZSgpXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5zdWdnZXN0aW9ucyQgPSByZXF1ZXN0JC5waXBlKGZpbHRlcih0dWlJc1ByZXNlbnQpLCBzdGFydFdpdGgobnVsbCkpO1xuICAgICAgICB0aGlzLmxvYWRpbmckID0gcmVxdWVzdCQucGlwZShtYXAodHVpSXNGYWxzeSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCX0LDQv9C+0LvQvdC10L3QuNC1INC/0L7Qu9C10Lkg0L7RgdC90L7QstC1INCy0YvQsdGA0LDQvdC90L7QuSDQv9C+0LTRgdC60LDQt9C60LguXG4gICAgICpcbiAgICAgKiBAcGFyYW0gc3VnZ2VzdGlvbiDQntCx0YrQtdC60YIg0L/QvtC00YHQutCw0LfQutC4LlxuICAgICAqL1xuICAgIHB1YmxpYyBvblNlbGVjdGVkKHN1Z2dlc3Rpb246IFNjU3VnZ2VzdGlvbik6IHZvaWQge1xuICAgICAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgICAgICAgY2FzZSBTY0lTdWdnZXN0aW9uVHlwZS5maW86XG4gICAgICAgICAgICAgICAgaWYgKCdmaW8nIGluIHN1Z2dlc3Rpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250cm9sLmNvbnRyb2w/LnBhdGNoVmFsdWUoc3VnZ2VzdGlvbi5maW8sIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFNjSVN1Z2dlc3Rpb25UeXBlLmFkZHJlc3M6XG4gICAgICAgICAgICAgICAgaWYgKCdhZGRyZXNzU3RyaW5nJyBpbiBzdWdnZXN0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbC5jb250cm9sPy5wYXRjaFZhbHVlKHN1Z2dlc3Rpb24uYWRkcmVzc1N0cmluZywgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgU2NJU3VnZ2VzdGlvblR5cGUuYmFuazpcbiAgICAgICAgICAgICAgICBpZiAoJ2lubicgaW4gc3VnZ2VzdGlvbiAmJiAnYmljJyBpbiBzdWdnZXN0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgICh0aGlzLmNvbnRyb2wuY29udHJvbD8ucGFyZW50IGFzIEZvcm1Hcm91cCkucGF0Y2hWYWx1ZShcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYW5rTmFtZTogc3VnZ2VzdGlvbi5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpYzogc3VnZ2VzdGlvbi5iaWMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29ycmVzcG9uZGVudEFjY291bnQ6IHN1Z2dlc3Rpb24uY29ycmVzcG9uZGVudEFjY291bnQsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgeyBlbWl0RXZlbnQ6IGZhbHNlIH1cbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFNjSVN1Z2dlc3Rpb25UeXBlLm9yZ2FuaXphdGlvbjpcbiAgICAgICAgICAgICAgICBpZiAoJ2lubicgaW4gc3VnZ2VzdGlvbiAmJiAhKCdiaWMnIGluIHN1Z2dlc3Rpb24pKSB7XG4gICAgICAgICAgICAgICAgICAgICh0aGlzLmNvbnRyb2wuY29udHJvbD8ucGFyZW50IGFzIEZvcm1Hcm91cCkucGF0Y2hWYWx1ZShcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBzdWdnZXN0aW9uLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5uOiBzdWdnZXN0aW9uLmlubixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBrcHA6IHN1Z2dlc3Rpb24ua3BwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9rcG86IHN1Z2dlc3Rpb24ub2twbyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3Rvck5hbWU6IHN1Z2dlc3Rpb24uZGlyZWN0b3JOYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdG9yUG9zaXRpb246IHN1Z2dlc3Rpb24uZGlyZWN0b3JQb3NpdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWdhbEFkZHJlc3M6IHN1Z2dlc3Rpb24ubGVnYWxBZGRyZXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc3RhbEFkZHJlc3M6IHN1Z2dlc3Rpb24ucG9zdGFsQWRkcmVzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3R1YWxBZGRyZXNzOiBzdWdnZXN0aW9uLmFjdHVhbEFkZHJlc3MsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgeyBlbWl0RXZlbnQ6IGZhbHNlIH1cbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFNjSVN1Z2dlc3Rpb25UeXBlLmVtYWlsOlxuICAgICAgICAgICAgICAgIGlmICgnZW1haWwnIGluIHN1Z2dlc3Rpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250cm9sLmNvbnRyb2w/LnBhdGNoVmFsdWUoc3VnZ2VzdGlvbi5lbWFpbCwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICAvLyDQlNGR0YDQs9Cw0LXQvCDQstC90YPRgtGA0LXQvdC90LjQuSDQvtCx0YDQsNCx0L7RgtGH0LjQuiDQstGL0LHQvtGA0LAg0Y3Qu9C10LzQtdC90YLQsCDQstGL0L/QsNC00LDRjtGJ0LXQs9C+INGB0L/QuNGB0LrQsC5cbiAgICAgICAgdGhpcy5ob3N0Py5oYW5kbGVPcHRpb24odGhpcy5jb250cm9sLnZhbHVlKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENsaWNrLmVtaXQoc3VnZ2VzdGlvbik7XG4gICAgfVxufVxuIiwiPHR1aS1sb2FkZXJcbiAgICBzaXplPVwibVwiXG4gICAgW292ZXJsYXldPVwidHJ1ZVwiXG4gICAgW3Nob3dMb2FkZXJdPVwiISEobG9hZGluZyQgfCBhc3luYylcIlxuPlxuICAgIDx0dWktZGF0YS1saXN0ICp0dWlMZXQ9XCJzdWdnZXN0aW9ucyQgfCBhc3luYyBhcyBvcHRpb25zXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uc1wiXG4gICAgICAgICAgICB0dWlPcHRpb25cbiAgICAgICAgICAgIChjbGljayk9XCJvblNlbGVjdGVkKG9wdGlvbilcIlxuICAgICAgICAgICAgY2xhc3M9XCJmbGV4LWNvbCAhaXRlbXMtc3RhcnRcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICp0dWlMZXQ9XCIkYW55KG9wdGlvbikgYXMgb3B0aW9uXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwidHlwZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJzdWdnZXN0aW9uVHlwZS5maW9cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC10dWktbGlua1wiPnt7IG9wdGlvbi5maW8gfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJzdWdnZXN0aW9uVHlwZS5vcmdhbml6YXRpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC10dWktbGlua1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IG9wdGlvbi5uYW1lIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtbC0yIHRleHQtdHVpLXRleHQtMDJcIj7QuNC90L06IHt7IG9wdGlvbi5pbm4gfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtdHVpLXRleHQtMDJcIj57eyBvcHRpb24/LmxlZ2FsQWRkcmVzcyB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cInN1Z2dlc3Rpb25UeXBlLmJhbmtcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC10dWktbGlua1wiPnt7IG9wdGlvbi5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXR1aS10ZXh0LTAyXCI+e3sgb3B0aW9uLmJpYyB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cInN1Z2dlc3Rpb25UeXBlLmVtYWlsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtdHVpLWxpbmtcIj57eyBvcHRpb24uZW1haWwgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJzdWdnZXN0aW9uVHlwZS5hZGRyZXNzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtdHVpLWxpbmtcIj57eyBvcHRpb24uYWRkcmVzc1N0cmluZyB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC90dWktZGF0YS1saXN0PlxuPC90dWktbG9hZGVyPlxuIl19
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { EventEmitter, Component, ChangeDetectionStrategy, Inject, Input, Output, SkipSelf, Directive, HostBinding, ContentChild, ViewChild, NgModule, ContentChildren, HostListener, Injectable, inject, ElementRef, Optional, ChangeDetectorRef, Self, InjectionToken, forwardRef } from '@angular/core';
2
+ import { EventEmitter, Component, ChangeDetectionStrategy, Inject, Input, Output, SkipSelf, inject, Directive, HostBinding, ContentChild, ViewChild, NgModule, ContentChildren, HostListener, Injectable, ElementRef, Optional, ChangeDetectorRef, Self, InjectionToken, forwardRef } from '@angular/core';
3
3
  import * as i1 from '@snabcentr/client-core';
4
4
  import { ScUserMetrikaGoalsEnum, ScISuggestionType, ScOpfList, ScWarehouseService, ScAuthService, SEARCH_TERM, ScImageHelper, SC_PATH_IMAGE_NOT_FOUND, IS_RUNNING_ON_TERMINAL, SC_URLS, TERMINAL_PROVIDERS, SEARCH_TERM_PROVIDERS, ScCatalogService, ScCartService, ScIconTypesEnum, ScUserService } from '@snabcentr/client-core';
5
5
  import * as i5 from 'rxjs';
@@ -7,7 +7,7 @@ import { Subject, map, filter, switchMap, tap, catchError, of, finalize, startWi
7
7
  import * as i2 from '@angular/common';
8
8
  import { CommonModule } from '@angular/common';
9
9
  import * as i4 from '@taiga-ui/core';
10
- import { TuiButtonModule, TuiModeModule, TuiDialogModule, TuiDialogService, TuiTextfieldControllerModule, TuiLabelModule, TuiErrorModule, TuiDataListModule, TuiLoaderModule, TuiNotificationModule, TuiLinkModule, TuiFormatPhonePipeModule, tuiFadeIn, TUI_MONTHS, TuiSvgModule, TuiHintModule, TuiFormatNumberPipeModule } from '@taiga-ui/core';
10
+ import { TUI_DATA_LIST_HOST, TuiButtonModule, TuiModeModule, TuiDialogModule, TuiDialogService, TuiTextfieldControllerModule, TuiLabelModule, TuiErrorModule, TuiDataListModule, TuiLoaderModule, TuiNotificationModule, TuiLinkModule, TuiFormatPhonePipeModule, tuiFadeIn, TUI_MONTHS, TuiSvgModule, TuiHintModule, TuiFormatNumberPipeModule } from '@taiga-ui/core';
11
11
  import { HttpErrorResponse } from '@angular/common/http';
12
12
  import * as i3 from '@angular/forms';
13
13
  import { FormGroupDirective, FormGroup, FormControl, Validators, NgControl, FormArray, FormsModule, ReactiveFormsModule } from '@angular/forms';
@@ -684,6 +684,12 @@ class ScSuggestionFieldComponent {
684
684
  * Перечисление типов подсказок.
685
685
  */
686
686
  this.suggestionType = ScISuggestionType;
687
+ /**
688
+ * Компонент обёртка выпадающего списка.
689
+ */
690
+ this.host = inject(TUI_DATA_LIST_HOST, {
691
+ optional: true,
692
+ });
687
693
  }
688
694
  /** @inheritDoc */
689
695
  ngOnInit() {
@@ -708,16 +714,16 @@ class ScSuggestionFieldComponent {
708
714
  * @param suggestion Объект подсказки.
709
715
  */
710
716
  onSelected(suggestion) {
711
- var _a, _b, _c, _d, _e;
717
+ var _a, _b, _c, _d, _e, _f;
712
718
  switch (this.type) {
713
719
  case ScISuggestionType.fio:
714
720
  if ('fio' in suggestion) {
715
- (_a = this.control.control) === null || _a === void 0 ? void 0 : _a.patchValue(suggestion.fio);
721
+ (_a = this.control.control) === null || _a === void 0 ? void 0 : _a.patchValue(suggestion.fio, { emitEvent: false });
716
722
  }
717
723
  break;
718
724
  case ScISuggestionType.address:
719
725
  if ('addressString' in suggestion) {
720
- (_b = this.control.control) === null || _b === void 0 ? void 0 : _b.patchValue(suggestion.addressString);
726
+ (_b = this.control.control) === null || _b === void 0 ? void 0 : _b.patchValue(suggestion.addressString, { emitEvent: false });
721
727
  }
722
728
  break;
723
729
  case ScISuggestionType.bank:
@@ -726,7 +732,7 @@ class ScSuggestionFieldComponent {
726
732
  bankName: suggestion.name,
727
733
  bic: suggestion.bic,
728
734
  correspondentAccount: suggestion.correspondentAccount,
729
- });
735
+ }, { emitEvent: false });
730
736
  }
731
737
  break;
732
738
  case ScISuggestionType.organization:
@@ -741,17 +747,19 @@ class ScSuggestionFieldComponent {
741
747
  legalAddress: suggestion.legalAddress,
742
748
  postalAddress: suggestion.postalAddress,
743
749
  actualAddress: suggestion.actualAddress,
744
- });
750
+ }, { emitEvent: false });
745
751
  }
746
752
  break;
747
753
  case ScISuggestionType.email:
748
754
  if ('email' in suggestion) {
749
- (_e = this.control.control) === null || _e === void 0 ? void 0 : _e.patchValue(suggestion.email);
755
+ (_e = this.control.control) === null || _e === void 0 ? void 0 : _e.patchValue(suggestion.email, { emitEvent: false });
750
756
  }
751
757
  break;
752
758
  default:
753
759
  break;
754
760
  }
761
+ // Дёргаем внутренний обработчик выбора элемента выпадающего списка.
762
+ (_f = this.host) === null || _f === void 0 ? void 0 : _f.handleOption(this.control.value);
755
763
  this.selectedClick.emit(suggestion);
756
764
  }
757
765
  }