@progressio_resources/gravity-design-system 2.6.30 → 2.6.31

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.
@@ -37,9 +37,30 @@ export class GravityDropdownListComponent {
37
37
  if (changes['items']?.currentValue) {
38
38
  this.availableOptions = this.items;
39
39
  }
40
- if (changes['customValues']?.currentValue) {
41
- if (this.multiple) {
42
- changes['customValues'].currentValue.forEach((item) => {
40
+ if (changes['customValues']) {
41
+ let changeItem = changes['customValues'];
42
+ if (changeItem?.currentValue) {
43
+ if (this.multiple) {
44
+ changeItem.currentValue.forEach((item) => {
45
+ if (item) {
46
+ let option;
47
+ if (this.config) {
48
+ option = this.availableOptions.find((availableOption) => availableOption[this.config.value] == item);
49
+ }
50
+ else {
51
+ option = this.availableOptions.find((availableOption) => availableOption == item);
52
+ }
53
+ if (option) {
54
+ let indexOfItem = this.selectedItems.findIndex((availableOption) => availableOption == option);
55
+ if (indexOfItem == -1) {
56
+ this.selectedItems.push(option);
57
+ }
58
+ }
59
+ }
60
+ });
61
+ }
62
+ else {
63
+ let item = changeItem.currentValue;
43
64
  if (item) {
44
65
  let option;
45
66
  if (this.config) {
@@ -55,26 +76,11 @@ export class GravityDropdownListComponent {
55
76
  }
56
77
  }
57
78
  }
58
- });
59
- }
60
- else {
61
- let item = changes['customValues'].currentValue;
62
- if (item) {
63
- let option;
64
- if (this.config) {
65
- option = this.availableOptions.find((availableOption) => availableOption[this.config.value] == item);
66
- }
67
- else {
68
- option = this.availableOptions.find((availableOption) => availableOption == item);
69
- }
70
- if (option) {
71
- let indexOfItem = this.selectedItems.findIndex((availableOption) => availableOption == option);
72
- if (indexOfItem == -1) {
73
- this.selectedItems.push(option);
74
- }
75
- }
76
79
  }
77
80
  }
81
+ else if (!changeItem?.currentValue && !changeItem.firstChange) {
82
+ this.clearSelection();
83
+ }
78
84
  }
79
85
  }
80
86
  getStatus() {
@@ -220,4 +226,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
220
226
  type: HostListener,
221
227
  args: ['document:click', ['$event']]
222
228
  }] } });
223
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3Jhdml0eS1kcm9wZG93bi1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dyYXZpdHktZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvZ3Jhdml0eS1kcm9wZG93bi1saXN0L2dyYXZpdHktZHJvcGRvd24tbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktZHJvcGRvd24tbGlzdC9ncmF2aXR5LWRyb3Bkb3duLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBRU4sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7OztBQVE5QyxNQUFNLE9BQU8sNEJBQTRCO0lBdUJ2QyxJQUNJLEtBQUssQ0FBQyxXQUF5QztRQUNqRCxJQUFJLFdBQVcsRUFBRTtZQUNmLFdBQVcsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDbkM7SUFDSCxDQUFDO0lBQUEsQ0FBQztJQU9GLFlBQTZCLFlBQTBCLEVBQVUsS0FBaUI7UUFBckQsaUJBQVksR0FBWixZQUFZLENBQWM7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFZO1FBbEN2RCwwQkFBcUIsR0FBOEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVqRixjQUFTLEdBQVksSUFBSSxDQUFDO1FBRTFCLGdCQUFXLEdBQVcsSUFBSSxDQUFDO1FBRzNCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFFMUIsZUFBVSxHQUFZ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S0FBSztnQkFDVSxXQUFXO3NCQUExQixLQUFLO2dCQUNVLFlBQVk7c0JBQTNCLEtBQUs7Z0JBQ1UsVUFBVTtzQkFBekIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsVUFBVTtzQkFBekIsS0FBSztnQkFDVSxVQUFVO3NCQUF6QixLQUFLO2dCQUNVLEtBQUs7c0JBQXBCLEtBQUs7Z0JBQ1UsS0FBSztzQkFBcEIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxXQUFXO3NCQUExQixLQUFLO2dCQUdVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsS0FBSztzQkFBcEIsS0FBSztnQkFHRixLQUFLO3NCQURSLFNBQVM7dUJBQUMsYUFBYTtnQkFnSm9CLGVBQWU7c0JBQTFELFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7R3Jhdml0eUljb25Db21wb25lbnR9IGZyb20gXCIuLi9ncmF2aXR5LWljb24vZ3Jhdml0eS1pY29uLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtGaWx0ZXJCeVBpcGV9IGZyb20gXCIuL2ZpbHRlci1ieS5waXBlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dyYXZpdHktZHJvcGRvd24tbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9ncmF2aXR5LWRyb3Bkb3duLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ncmF2aXR5LWRyb3Bkb3duLWxpc3QuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbRmlsdGVyQnlQaXBlXVxufSlcbmV4cG9ydCBjbGFzcyBHcmF2aXR5RHJvcGRvd25MaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQE91dHB1dCgncmVzcG9uc2UnKSBwdWJsaWMgc2VsZWN0ZWRJdGVtc1Jlc3BvbnNlOiBFdmVudEVtaXR0ZXI8YW55W10gfCBhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBjbGVhcmFibGU6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgY29uZmlnPzogeyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogc3RyaW5nOyB9O1xuICBASW5wdXQoKSBwdWJsaWMgY3VycmVudExhbmc6IHN0cmluZyA9ICdlbic7XG4gIEBJbnB1dCgpIHB1YmxpYyBjdXN0b21WYWx1ZXM6IEFycmF5PGFueT4gfCBhbnk7XG4gIEBJbnB1dCgpIHB1YmxpYyBjeXByZXNzVGFnOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBoYXNFcnJvcjogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgaWNvbkxlZnQ6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIGlzRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGlzUmVhZG9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGl0ZW1zOiBBcnJheTxhbnk+O1xuICBASW5wdXQoKSBwdWJsaWMgbGFiZWw6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIG11bHRpcGxlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBwbGFjZWhvbGRlcjogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgcmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIHN1cHBvcnRUZXh0OiBzdHJpbmc7XG5cbiAgLy8gU2l6ZXNcbiAgQElucHV0KCkgcHVibGljIHNpemU6ICdzbScgfCAnbWQnID0gJ21kJztcbiAgQElucHV0KCkgcHVibGljIHdpZHRoOiAnc2hvcnQnIHwgJ21lZGl1bScgfCAnZnVsbCcgfCAnZml0JyA9ICdzaG9ydCc7XG5cbiAgQFZpZXdDaGlsZCgnc2VhcmNoSW5wdXQnKVxuICBzZXQgd2F0Y2goc2VhcmNoSW5wdXQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4pIHtcbiAgICBpZiAoc2VhcmNoSW5wdXQpIHtcbiAgICAgIHNlYXJjaElucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG4gIH07XG5cbiAgcHVibGljIGF2YWlsYWJsZU9wdGlvbnM6IGFueVtdID0gW107XG4gIHB1YmxpYyBkcm9wZG93bk9wZW5lZDogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgc2VhcmNoVGV4dDogc3RyaW5nID0gJyc7XG4gIHB1YmxpYyBzZWxlY3RlZEl0ZW1zOiBhbnlbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZmlsdGVyQnlQaXBlOiBGaWx0ZXJCeVBpcGUsIHByaXZhdGUgX2VyZWY6IEVsZW1lbnRSZWYpIHtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlc1snaXRlbXMnXT8uY3VycmVudFZhbHVlKSB7XG4gICAgICB0aGlzLmF2YWlsYWJsZU9wdGlvbnMgPSB0aGlzLml0ZW1zO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzWydjdXN0b21WYWx1ZXMnXT8uY3VycmVudFZhbHVlKSB7XG4gICAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgICBjaGFuZ2VzWydjdXN0b21WYWx1ZXMnXS5jdXJyZW50VmFsdWUuZm9yRWFjaCgoaXRlbTogYW55KSA9PiB7XG4gICAgICAgICAgaWYgKGl0ZW0pIHtcbiAgICAgICAgICAgIGxldCBvcHRpb246IGFueTtcblxuICAgICAgICAgICAgaWYgKHRoaXMuY29uZmlnKSB7XG4gICAgICAgICAgICAgIG9wdGlvbiA9IHRoaXMuYXZhaWxhYmxlT3B0aW9ucy5maW5kKChhdmFpbGFibGVPcHRpb246IGFueSkgPT4gYXZhaWxhYmxlT3B0aW9uW3RoaXMuY29uZmlnLnZhbHVlXSA9PSBpdGVtKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIG9wdGlvbiA9IHRoaXMuYXZhaWxhYmxlT3B0aW9ucy5maW5kKChhdmFpbGFibGVPcHRpb246IGFueSkgPT4gYXZhaWxhYmxlT3B0aW9uID09IGl0ZW0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAob3B0aW9uKSB7XG4gICAgICAgICAgICAgIGxldCBpbmRleE9mSXRlbTogbnVtYmVyID0gdGhpcy5zZWxlY3RlZEl0ZW1zLmZpbmRJbmRleCgoYXZhaWxhYmxlT3B0aW9uOiBhbnkpID0+IGF2YWlsYWJsZU9wdGlvbiA9PSBvcHRpb24pO1xuXG4gICAgICAgICAgICAgIGlmIChpbmRleE9mSXRlbSA9PSAtMSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5wdXNoKG9wdGlvbik7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbGV0IGl0ZW06IGFueSA9IGNoYW5nZXNbJ2N1c3RvbVZhbHVlcyddLmN1cnJlbnRWYWx1ZTtcblxuICAgICAgICBpZiAoaXRlbSkge1xuICAgICAgICAgIGxldCBvcHRpb246IGFueTtcblxuICAgICAgICAgIGlmICh0aGlzLmNvbmZpZykge1xuICAgICAgICAgICAgb3B0aW9uID0gdGhpcy5hdmFpbGFibGVPcHRpb25zLmZpbmQoKGF2YWlsYWJsZU9wdGlvbjogYW55KSA9PiBhdmFpbGFibGVPcHRpb25bdGhpcy5jb25maWcudmFsdWVdID09IGl0ZW0pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBvcHRpb24gPSB0aGlzLmF2YWlsYWJsZU9wdGlvbnMuZmluZCgoYXZhaWxhYmxlT3B0aW9uOiBhbnkpID0+IGF2YWlsYWJsZU9wdGlvbiA9PSBpdGVtKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAob3B0aW9uKSB7XG4gICAgICAgICAgICBsZXQgaW5kZXhPZkl0ZW06IG51bWJlciA9IHRoaXMuc2VsZWN0ZWRJdGVtcy5maW5kSW5kZXgoKGF2YWlsYWJsZU9wdGlvbjogYW55KSA9PiBhdmFpbGFibGVPcHRpb24gPT0gb3B0aW9uKTtcblxuICAgICAgICAgICAgaWYgKGluZGV4T2ZJdGVtID09IC0xKSB7XG4gICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5wdXNoKG9wdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldFN0YXR1cygpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmlzRGlzYWJsZWQpIHtcbiAgICAgIHJldHVybiAnZGlzYWJsZWQnO1xuICAgIH0gZWxzZSBpZiAodGhpcy5pc1JlYWRvbmx5KSB7XG4gICAgICByZXR1cm4gJ3JlYWRvbmx5JztcbiAgICB9IGVsc2UgaWYgKHRoaXMuaGFzRXJyb3IpIHtcbiAgICAgIHJldHVybiAnZXJyb3InO1xuICAgIH0gZWxzZSBpZiAodGhpcy5kcm9wZG93bk9wZW5lZCkge1xuICAgICAgcmV0dXJuICdvcGVuJztcbiAgICB9IGVsc2UgaWYgKHRoaXMuc2VsZWN0ZWRJdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gJ3NlbGVjdGVkJztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICdhY3RpdmUnO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpc0ljb25MZWZ0TmV3KCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmljb25MZWZ0KSB7XG4gICAgICByZXR1cm4gR3Jhdml0eUljb25Db21wb25lbnQuaXNOZXdJY29uKHRoaXMuaWNvbkxlZnQpO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVEcm9wZG93bigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNEaXNhYmxlZCAmJiAhdGhpcy5pc1JlYWRvbmx5KSB7XG4gICAgICB0aGlzLmRyb3Bkb3duT3BlbmVkID0gIXRoaXMuZHJvcGRvd25PcGVuZWQ7XG5cbiAgICAgIGlmICghdGhpcy5kcm9wZG93bk9wZW5lZCkge1xuICAgICAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGVkSXRlbXM/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtc1Jlc3BvbnNlLmVtaXQodGhpcy5zZWxlY3RlZEl0ZW1zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRJdGVtc1swXSkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zUmVzcG9uc2UuZW1pdCh0aGlzLnNlbGVjdGVkSXRlbXNbMF0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2VhcmNoVGV4dCA9ICcnO1xuICAgICAgICB0aGlzLmF2YWlsYWJsZU9wdGlvbnMgPSB0aGlzLml0ZW1zO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RJdGVtKGl0ZW1Ub0FkZDogYW55KTogdm9pZCB7XG4gICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgIGxldCBpbmRleE9mSXRlbTogbnVtYmVyID0gdGhpcy5zZWxlY3RlZEl0ZW1zLmZpbmRJbmRleCgoaXRlbTogYW55KSA9PiBpdGVtID09IGl0ZW1Ub0FkZCk7XG5cbiAgICAgIGlmIChpbmRleE9mSXRlbSA9PSAtMSkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMucHVzaChpdGVtVG9BZGQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLnNwbGljZShpbmRleE9mSXRlbSwgMSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IFtpdGVtVG9BZGRdO1xuICAgICAgLy8gdGhpcy5zZWxlY3RlZEl0ZW1zUmVzcG9uc2UuZW1pdChpdGVtVG9BZGQpO1xuICAgICAgdGhpcy50b2dnbGVEcm9wZG93bigpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjaGVja0lmU2VsZWN0ZWQoaXRlbVRvRmluZDogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5zZWxlY3RlZEl0ZW1zLmZpbmQoKGl0ZW06IGFueSkgPT4gaXRlbVRvRmluZCA9PSBpdGVtKTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhclNlbGVjdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSBbXTtcblxuICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbXNSZXNwb25zZS5lbWl0KHRoaXMuc2VsZWN0ZWRJdGVtcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtc1Jlc3BvbnNlLmVtaXQobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGZpbHRlckl0ZW1zKCk6IHZvaWQge1xuICAgIHRoaXMuYXZhaWxhYmxlT3B0aW9ucyA9IHRoaXMuZmlsdGVyQnlQaXBlLnRyYW5zZm9ybSh0aGlzLml0ZW1zLCB0aGlzLnNlYXJjaFRleHQpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudCddKSBvbkRvY3VtZW50Q2xpY2soJGV2ZW50OiBQb2ludGVyRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2VyZWYubmF0aXZlRWxlbWVudC5jb250YWlucygkZXZlbnQudGFyZ2V0KSAmJiB0aGlzLmRyb3Bkb3duT3BlbmVkKSB7XG4gICAgICB0aGlzLmRyb3Bkb3duT3BlbmVkID0gZmFsc2U7XG5cbiAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkSXRlbXM/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXNSZXNwb25zZS5lbWl0KHRoaXMuc2VsZWN0ZWRJdGVtcyk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkSXRlbXNbMF0pIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXNSZXNwb25zZS5lbWl0KHRoaXMuc2VsZWN0ZWRJdGVtc1swXSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdGhpcy5zZWFyY2hUZXh0ID0gJyc7XG4gICAgICB0aGlzLmF2YWlsYWJsZU9wdGlvbnMgPSB0aGlzLml0ZW1zO1xuICAgIH1cbiAgfVxufVxuIiwiPGxhYmVsIGNsYXNzPVwiaHItbGFiZWwgc20tYm9sZCB7e2dldFN0YXR1cygpfX1cIiAqbmdJZj1cImxhYmVsXCI+XG4gIHt7IGxhYmVsIH19IDxzcGFuICpuZ0lmPVwicmVxdWlyZWQgfHwgaGFzRXJyb3JcIj4qPC9zcGFuPlxuPC9sYWJlbD5cbjxkaXYgW2F0dHIuZGF0YS1jeV09XCJjeXByZXNzVGFnXCIgY2xhc3M9XCJncmF2aXR5LWlucHV0LWZpZWxkIHt7c2l6ZX19IHt7d2lkdGh9fS13aWR0aCB7e2dldFN0YXR1cygpfX1cIlxuICAgICAoY2xpY2spPVwidG9nZ2xlRHJvcGRvd24oKVwiPlxuICA8Z3Jhdml0eS1pY29uIGNsYXNzPVwibGVmdFwiIFtpY29uTmFtZV09XCJpY29uTGVmdFwiIFtpY29uU2l6ZV09XCJpc0ljb25MZWZ0TmV3KCkgPyAnbWQtMTYnIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJpY29uTGVmdFwiPjwvZ3Jhdml0eS1pY29uPlxuICA8cCBjbGFzcz1cImhyLWxhYmVsIHt7c2l6ZX19LXJlZ3VsYXIgdmFsdWVcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2VsZWN0ZWRJdGVtcy5sZW5ndGggPT0gMFwiPlxuICAgICAge3sgcGxhY2Vob2xkZXIgPyBwbGFjZWhvbGRlciA6IGxhYmVsIH19XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGVkSXRlbXMubGVuZ3RoID4gMFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBzZWxlY3RlZEl0ZW1zOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgIHt7IGNvbmZpZyA/IGl0ZW1bY29uZmlnLmxhYmVsXSA6IGl0ZW0gfX17eyBpICE9IHNlbGVjdGVkSXRlbXMubGVuZ3RoIC0gMSA/ICcsJyA6ICcnIH19XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9wPlxuICA8Z3Jhdml0eS1pY29uIGNsYXNzPVwicmlnaHRcIiBbaWNvbk5hbWVdPVwiZHJvcGRvd25PcGVuZWQgPyAnYXJyb3ctdXAnOiAnYXJyb3ctZG93bidcIiBbaWNvblNpemVdPVwiJ21kLTE2J1wiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCIhaXNSZWFkb25seVwiPjwvZ3Jhdml0eS1pY29uPlxuICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tcGFuZWxcIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCIgKm5nSWY9XCJkcm9wZG93bk9wZW5lZFwiXG4gICAgICAgW2F0dHIuZGF0YS1jeV09XCJjeXByZXNzVGFnICsgJ19wYW5lbCdcIj5cbiAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLWlucHV0XCI+XG4gICAgICA8Z3Jhdml0eS1pY29uIGNsYXNzPVwic2VhcmNoLWljb25cIiBbaWNvbk5hbWVdPVwiJ3NlYXJjaCdcIiBbaWNvblNpemVdPVwiJ3NtLTEyJ1wiPjwvZ3Jhdml0eS1pY29uPlxuICAgICAgPGlucHV0IGF1dG9jb21wbGV0ZT1cIm9mZlwiIGNsYXNzPVwiaHItbGFiZWwge3tzaXplfX0tcmVndWxhclwiIChpbnB1dCk9XCJmaWx0ZXJJdGVtcygpXCJcbiAgICAgICAgICAgICBbYXR0ci5kYXRhLWN5XT1cImN5cHJlc3NUYWcgKyAnX3NlYXJjaF9pbnB1dCdcIiAjc2VhcmNoSW5wdXRcbiAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlYXJjaFRleHRcIiBwbGFjZWhvbGRlcj1cInt7Y3VycmVudExhbmcgPT0gJ2VzJyA/ICdCdXNjYXInIDogJ1NlYXJjaCBpbnB1dCd9fVwiPlxuICAgICAgPGdyYXZpdHktaWNvbiBjbGFzcz1cInBvaW50ZXIgcmVzZXQtaWNvblwiIChjbGljayk9XCJzZWFyY2hUZXh0ID0gJyc7IGZpbHRlckl0ZW1zKClcIiBbaWNvbk5hbWVdPVwiJ3Vuc3VjY2VzcydcIlxuICAgICAgICAgICAgICAgICAgICBbaWNvblNpemVdPVwiJ3NtLTEyJ1wiICpuZ0lmPVwic2VhcmNoVGV4dD8ubGVuZ3RoID4gMFwiPjwvZ3Jhdml0eS1pY29uPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJpdGVtc1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImhyLWxhYmVsIGl0ZW0ge3tzaXplfX0tcmVndWxhciBwb2ludGVyXCIgW2NsYXNzLnNlbGVjdGVkXT1cImNoZWNrSWZTZWxlY3RlZChpdGVtKVwiXG4gICAgICAgICAgIChjbGljayk9XCJzZWxlY3RJdGVtKGl0ZW0pXCIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgYXZhaWxhYmxlT3B0aW9uc1wiPlxuICAgICAgICA8Z3Jhdml0eS1jaGVja2JveCBbY2hlY2tlZF09XCJjaGVja0lmU2VsZWN0ZWQoaXRlbSlcIiAqbmdJZj1cIm11bHRpcGxlXCI+XG4gICAgICAgICAge3sgY29uZmlnID8gaXRlbVtjb25maWcubGFiZWxdIDogaXRlbSB9fVxuICAgICAgICA8L2dyYXZpdHktY2hlY2tib3g+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbXVsdGlwbGVcIj57eyBjb25maWcgPyBpdGVtW2NvbmZpZy5sYWJlbF0gOiBpdGVtIH19PC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJoci1sYWJlbCBpdGVtIHt7c2l6ZX19LWJvbGQgbm8tcmVzdWx0c1wiICpuZ0lmPVwiYXZhaWxhYmxlT3B0aW9ucy5sZW5ndGggPT09IDBcIj5cbiAgICAgICAge3sgY3VycmVudExhbmcgPT0gJ2VzJyA/ICdTaW4gcmVzdWx0YWRvcycgOiAnTm8gcmVzdWx0cycgfX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1mb290ZXJcIiAqbmdJZj1cInNlbGVjdGVkSXRlbXMubGVuZ3RoID4gMFwiIFtjbGFzcy5ub3QtY2xlYXJhYmxlXT1cIiFjbGVhcmFibGVcIj5cbiAgICAgIDxwIGNsYXNzPVwiaHItbGFiZWwgcG9pbnRlciBzbS1yZWd1bGFyXCIgKGNsaWNrKT1cImNsZWFyU2VsZWN0aW9uKClcIiAqbmdJZj1cImNsZWFyYWJsZVwiXG4gICAgICAgICBbYXR0ci5kYXRhLWN5XT1cImN5cHJlc3NUYWcgKyAnX2NsZWFyJ1wiPlxuICAgICAgICB7eyBjdXJyZW50TGFuZyA9PSAnZXMnID8gJ0xpbXBpYXInIDogJ0NsZWFyIHNlbGVjdGlvbicgfX1cbiAgICAgIDwvcD5cbiAgICAgIDxwIGNsYXNzPVwiaHItbGFiZWwgcG9pbnRlciBzbS1ib2xkXCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgdG9nZ2xlRHJvcGRvd24oKVwiXG4gICAgICAgICAqbmdJZj1cImF2YWlsYWJsZU9wdGlvbnMubGVuZ3RoICE9IDBcIiBbYXR0ci5kYXRhLWN5XT1cImN5cHJlc3NUYWcgKyAnX2FwcGx5J1wiPlxuICAgICAgICB7eyBjdXJyZW50TGFuZyA9PSAnZXMnID8gJ0FwbGljYXInIDogJ0FwcGx5JyB9fVxuICAgICAgPC9wPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuPHAgY2xhc3M9XCJoci1sYWJlbCBzbS1yZWd1bGFyIHN1cHBvcnRpbmctdGV4dCB7e2dldFN0YXR1cygpfX0ge3tzaXplfX1cIiAqbmdJZj1cInN1cHBvcnRUZXh0XCI+XG4gIDxncmF2aXR5LWljb24gW2ljb25OYW1lXT1cIidxdWVzdGlvbi1jaXJjbGUnXCIgKm5nSWY9XCJoYXNFcnJvclwiIFtpY29uU2l6ZV09XCInbWQtMTYnXCI+PC9ncmF2aXR5LWljb24+XG4gIHt7IHN1cHBvcnRUZXh0IH19XG48L3A+XG48cCBjbGFzcz1cImhyLWxhYmVsIHNtLXJlZ3VsYXIgc3VwcG9ydGluZy10ZXh0IHt7Z2V0U3RhdHVzKCl9fSB7e3NpemV9fVwiXG4gICAqbmdJZj1cIiFzdXBwb3J0VGV4dCAmJiBnZXRTdGF0dXMoKSA9PSAnYWN0aXZlJyAmJiBzZWxlY3RlZEl0ZW1zLmxlbmd0aCA9PSAwICYmIHJlcXVpcmVkXCI+XG4gIHt7IGN1cnJlbnRMYW5nID09ICdlcycgPyAnUmVxdWVyaWRvJyA6ICdSZXF1aXJlZCcgfX1cbjwvcD5cbiJdfQ==
229
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3Jhdml0eS1kcm9wZG93bi1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dyYXZpdHktZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvZ3Jhdml0eS1kcm9wZG93bi1saXN0L2dyYXZpdHktZHJvcGRvd24tbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktZHJvcGRvd24tbGlzdC9ncmF2aXR5LWRyb3Bkb3duLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBR04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7OztBQVE5QyxNQUFNLE9BQU8sNEJBQTRCO0lBdUJ2QyxJQUNJLEtBQUssQ0FBQyxXQUF5QztRQUNqRCxJQUFJLFdBQVcsRUFBRTtZQUNmLFdBQVcsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDbkM7SUFDSCxDQUFDO0lBQUEsQ0FBQztJQU9GLFlBQTZCLFlBQTBCLEVBQVUsS0FBaUI7UUFBckQsaUJBQVksR0FBWixZQUFZLENBQWM7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFZO1FBbEN2RCwwQkFBcUIsR0FBOEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVqRixjQUFTLEdBQVksSUFBSSxDQUFDO1FBRTFCLGdCQUFXLEdBQVcsSUFBSSxDQUFDO1FBRzNCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFFMUIsZUFBVSxHQUFZ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aUhBNkRBOzs0RkR4Q2EsNEJBQTRCO2tCQU54QyxTQUFTOytCQUNFLHVCQUF1QixhQUd0QixDQUFDLFlBQVksQ0FBQzs0SEFHRSxxQkFBcUI7c0JBQS9DLE1BQU07dUJBQUMsVUFBVTtnQkFFRixTQUFTO3NCQUF4QixLQUFLO2dCQUNVLE1BQU07c0JBQXJCLEtBQUs7Z0JBQ1UsV0FBVztzQkFBMUIsS0FBSztnQkFDVSxZQUFZO3NCQUEzQixLQUFLO2dCQUNVLFVBQVU7c0JBQXpCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFVBQVU7c0JBQXpCLEtBQUs7Z0JBQ1UsVUFBVTtzQkFBekIsS0FBSztnQkFDVSxLQUFLO3NCQUFwQixLQUFLO2dCQUNVLEtBQUs7c0JBQXBCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxXQUFXO3NCQUExQixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsV0FBVztzQkFBMUIsS0FBSztnQkFHVSxJQUFJO3NCQUFuQixLQUFLO2dCQUNVLEtBQUs7c0JBQXBCLEtBQUs7Z0JBR0YsS0FBSztzQkFEUixTQUFTO3VCQUFDLGFBQWE7Z0JBc0pvQixlQUFlO3NCQUExRCxZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2UsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7R3Jhdml0eUljb25Db21wb25lbnR9IGZyb20gXCIuLi9ncmF2aXR5LWljb24vZ3Jhdml0eS1pY29uLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtGaWx0ZXJCeVBpcGV9IGZyb20gXCIuL2ZpbHRlci1ieS5waXBlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dyYXZpdHktZHJvcGRvd24tbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9ncmF2aXR5LWRyb3Bkb3duLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ncmF2aXR5LWRyb3Bkb3duLWxpc3QuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbRmlsdGVyQnlQaXBlXVxufSlcbmV4cG9ydCBjbGFzcyBHcmF2aXR5RHJvcGRvd25MaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQE91dHB1dCgncmVzcG9uc2UnKSBwdWJsaWMgc2VsZWN0ZWRJdGVtc1Jlc3BvbnNlOiBFdmVudEVtaXR0ZXI8YW55W10gfCBhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBjbGVhcmFibGU6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgY29uZmlnPzogeyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogc3RyaW5nOyB9O1xuICBASW5wdXQoKSBwdWJsaWMgY3VycmVudExhbmc6IHN0cmluZyA9ICdlbic7XG4gIEBJbnB1dCgpIHB1YmxpYyBjdXN0b21WYWx1ZXM6IEFycmF5PGFueT4gfCBhbnk7XG4gIEBJbnB1dCgpIHB1YmxpYyBjeXByZXNzVGFnOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBoYXNFcnJvcjogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgaWNvbkxlZnQ6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIGlzRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGlzUmVhZG9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGl0ZW1zOiBBcnJheTxhbnk+O1xuICBASW5wdXQoKSBwdWJsaWMgbGFiZWw6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIG11bHRpcGxlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBwbGFjZWhvbGRlcjogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgcmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIHN1cHBvcnRUZXh0OiBzdHJpbmc7XG5cbiAgLy8gU2l6ZXNcbiAgQElucHV0KCkgcHVibGljIHNpemU6ICdzbScgfCAnbWQnID0gJ21kJztcbiAgQElucHV0KCkgcHVibGljIHdpZHRoOiAnc2hvcnQnIHwgJ21lZGl1bScgfCAnZnVsbCcgfCAnZml0JyA9ICdzaG9ydCc7XG5cbiAgQFZpZXdDaGlsZCgnc2VhcmNoSW5wdXQnKVxuICBzZXQgd2F0Y2goc2VhcmNoSW5wdXQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4pIHtcbiAgICBpZiAoc2VhcmNoSW5wdXQpIHtcbiAgICAgIHNlYXJjaElucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG4gIH07XG5cbiAgcHVibGljIGF2YWlsYWJsZU9wdGlvbnM6IGFueVtdID0gW107XG4gIHB1YmxpYyBkcm9wZG93bk9wZW5lZDogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgc2VhcmNoVGV4dDogc3RyaW5nID0gJyc7XG4gIHB1YmxpYyBzZWxlY3RlZEl0ZW1zOiBhbnlbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZmlsdGVyQnlQaXBlOiBGaWx0ZXJCeVBpcGUsIHByaXZhdGUgX2VyZWY6IEVsZW1lbnRSZWYpIHtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlc1snaXRlbXMnXT8uY3VycmVudFZhbHVlKSB7XG4gICAgICB0aGlzLmF2YWlsYWJsZU9wdGlvbnMgPSB0aGlzLml0ZW1zO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzWydjdXN0b21WYWx1ZXMnXSkge1xuICAgICAgbGV0IGNoYW5nZUl0ZW06IFNpbXBsZUNoYW5nZSA9IGNoYW5nZXNbJ2N1c3RvbVZhbHVlcyddO1xuXG4gICAgICBpZiAoY2hhbmdlSXRlbT8uY3VycmVudFZhbHVlKSB7XG4gICAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICAgICAgY2hhbmdlSXRlbS5jdXJyZW50VmFsdWUuZm9yRWFjaCgoaXRlbTogYW55KSA9PiB7XG4gICAgICAgICAgICBpZiAoaXRlbSkge1xuICAgICAgICAgICAgICBsZXQgb3B0aW9uOiBhbnk7XG5cbiAgICAgICAgICAgICAgaWYgKHRoaXMuY29uZmlnKSB7XG4gICAgICAgICAgICAgICAgb3B0aW9uID0gdGhpcy5hdmFpbGFibGVPcHRpb25zLmZpbmQoKGF2YWlsYWJsZU9wdGlvbjogYW55KSA9PiBhdmFpbGFibGVPcHRpb25bdGhpcy5jb25maWcudmFsdWVdID09IGl0ZW0pO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIG9wdGlvbiA9IHRoaXMuYXZhaWxhYmxlT3B0aW9ucy5maW5kKChhdmFpbGFibGVPcHRpb246IGFueSkgPT4gYXZhaWxhYmxlT3B0aW9uID09IGl0ZW0pO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgaWYgKG9wdGlvbikge1xuICAgICAgICAgICAgICAgIGxldCBpbmRleE9mSXRlbTogbnVtYmVyID0gdGhpcy5zZWxlY3RlZEl0ZW1zLmZpbmRJbmRleCgoYXZhaWxhYmxlT3B0aW9uOiBhbnkpID0+IGF2YWlsYWJsZU9wdGlvbiA9PSBvcHRpb24pO1xuXG4gICAgICAgICAgICAgICAgaWYgKGluZGV4T2ZJdGVtID09IC0xKSB7XG4gICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMucHVzaChvcHRpb24pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGxldCBpdGVtOiBhbnkgPSBjaGFuZ2VJdGVtLmN1cnJlbnRWYWx1ZTtcblxuICAgICAgICAgIGlmIChpdGVtKSB7XG4gICAgICAgICAgICBsZXQgb3B0aW9uOiBhbnk7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmNvbmZpZykge1xuICAgICAgICAgICAgICBvcHRpb24gPSB0aGlzLmF2YWlsYWJsZU9wdGlvbnMuZmluZCgoYXZhaWxhYmxlT3B0aW9uOiBhbnkpID0+IGF2YWlsYWJsZU9wdGlvblt0aGlzLmNvbmZpZy52YWx1ZV0gPT0gaXRlbSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBvcHRpb24gPSB0aGlzLmF2YWlsYWJsZU9wdGlvbnMuZmluZCgoYXZhaWxhYmxlT3B0aW9uOiBhbnkpID0+IGF2YWlsYWJsZU9wdGlvbiA9PSBpdGVtKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKG9wdGlvbikge1xuICAgICAgICAgICAgICBsZXQgaW5kZXhPZkl0ZW06IG51bWJlciA9IHRoaXMuc2VsZWN0ZWRJdGVtcy5maW5kSW5kZXgoKGF2YWlsYWJsZU9wdGlvbjogYW55KSA9PiBhdmFpbGFibGVPcHRpb24gPT0gb3B0aW9uKTtcblxuICAgICAgICAgICAgICBpZiAoaW5kZXhPZkl0ZW0gPT0gLTEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMucHVzaChvcHRpb24pO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKCFjaGFuZ2VJdGVtPy5jdXJyZW50VmFsdWUgJiYgIWNoYW5nZUl0ZW0uZmlyc3RDaGFuZ2UpIHtcbiAgICAgICAgdGhpcy5jbGVhclNlbGVjdGlvbigpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRTdGF0dXMoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5pc0Rpc2FibGVkKSB7XG4gICAgICByZXR1cm4gJ2Rpc2FibGVkJztcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNSZWFkb25seSkge1xuICAgICAgcmV0dXJuICdyZWFkb25seSc7XG4gICAgfSBlbHNlIGlmICh0aGlzLmhhc0Vycm9yKSB7XG4gICAgICByZXR1cm4gJ2Vycm9yJztcbiAgICB9IGVsc2UgaWYgKHRoaXMuZHJvcGRvd25PcGVuZWQpIHtcbiAgICAgIHJldHVybiAnb3Blbic7XG4gICAgfSBlbHNlIGlmICh0aGlzLnNlbGVjdGVkSXRlbXMubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuICdzZWxlY3RlZCc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAnYWN0aXZlJztcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaXNJY29uTGVmdE5ldygpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5pY29uTGVmdCkge1xuICAgICAgcmV0dXJuIEdyYXZpdHlJY29uQ29tcG9uZW50LmlzTmV3SWNvbih0aGlzLmljb25MZWZ0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlRHJvcGRvd24oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzRGlzYWJsZWQgJiYgIXRoaXMuaXNSZWFkb25seSkge1xuICAgICAgdGhpcy5kcm9wZG93bk9wZW5lZCA9ICF0aGlzLmRyb3Bkb3duT3BlbmVkO1xuXG4gICAgICBpZiAoIXRoaXMuZHJvcGRvd25PcGVuZWQpIHtcbiAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgICBpZiAodGhpcy5zZWxlY3RlZEl0ZW1zPy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXNSZXNwb25zZS5lbWl0KHRoaXMuc2VsZWN0ZWRJdGVtcyk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGVkSXRlbXNbMF0pIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtc1Jlc3BvbnNlLmVtaXQodGhpcy5zZWxlY3RlZEl0ZW1zWzBdKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNlYXJjaFRleHQgPSAnJztcbiAgICAgICAgdGhpcy5hdmFpbGFibGVPcHRpb25zID0gdGhpcy5pdGVtcztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0SXRlbShpdGVtVG9BZGQ6IGFueSk6IHZvaWQge1xuICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICBsZXQgaW5kZXhPZkl0ZW06IG51bWJlciA9IHRoaXMuc2VsZWN0ZWRJdGVtcy5maW5kSW5kZXgoKGl0ZW06IGFueSkgPT4gaXRlbSA9PSBpdGVtVG9BZGQpO1xuXG4gICAgICBpZiAoaW5kZXhPZkl0ZW0gPT0gLTEpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLnB1c2goaXRlbVRvQWRkKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5zcGxpY2UoaW5kZXhPZkl0ZW0sIDEpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSBbaXRlbVRvQWRkXTtcbiAgICAgIC8vIHRoaXMuc2VsZWN0ZWRJdGVtc1Jlc3BvbnNlLmVtaXQoaXRlbVRvQWRkKTtcbiAgICAgIHRoaXMudG9nZ2xlRHJvcGRvd24oKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY2hlY2tJZlNlbGVjdGVkKGl0ZW1Ub0ZpbmQ6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuc2VsZWN0ZWRJdGVtcy5maW5kKChpdGVtOiBhbnkpID0+IGl0ZW1Ub0ZpbmQgPT0gaXRlbSk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXJTZWxlY3Rpb24oKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gW107XG5cbiAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zUmVzcG9uc2UuZW1pdCh0aGlzLnNlbGVjdGVkSXRlbXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbXNSZXNwb25zZS5lbWl0KG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBmaWx0ZXJJdGVtcygpOiB2b2lkIHtcbiAgICB0aGlzLmF2YWlsYWJsZU9wdGlvbnMgPSB0aGlzLmZpbHRlckJ5UGlwZS50cmFuc2Zvcm0odGhpcy5pdGVtcywgdGhpcy5zZWFyY2hUZXh0KTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQnXSkgb25Eb2N1bWVudENsaWNrKCRldmVudDogUG9pbnRlckV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9lcmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoJGV2ZW50LnRhcmdldCkgJiYgdGhpcy5kcm9wZG93bk9wZW5lZCkge1xuICAgICAgdGhpcy5kcm9wZG93bk9wZW5lZCA9IGZhbHNlO1xuXG4gICAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZEl0ZW1zPy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zUmVzcG9uc2UuZW1pdCh0aGlzLnNlbGVjdGVkSXRlbXMpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZEl0ZW1zWzBdKSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zUmVzcG9uc2UuZW1pdCh0aGlzLnNlbGVjdGVkSXRlbXNbMF0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHRoaXMuc2VhcmNoVGV4dCA9ICcnO1xuICAgICAgdGhpcy5hdmFpbGFibGVPcHRpb25zID0gdGhpcy5pdGVtcztcbiAgICB9XG4gIH1cbn1cbiIsIjxsYWJlbCBjbGFzcz1cImhyLWxhYmVsIHNtLWJvbGQge3tnZXRTdGF0dXMoKX19XCIgKm5nSWY9XCJsYWJlbFwiPlxuICB7eyBsYWJlbCB9fSA8c3BhbiAqbmdJZj1cInJlcXVpcmVkIHx8IGhhc0Vycm9yXCI+Kjwvc3Bhbj5cbjwvbGFiZWw+XG48ZGl2IFthdHRyLmRhdGEtY3ldPVwiY3lwcmVzc1RhZ1wiIGNsYXNzPVwiZ3Jhdml0eS1pbnB1dC1maWVsZCB7e3NpemV9fSB7e3dpZHRofX0td2lkdGgge3tnZXRTdGF0dXMoKX19XCJcbiAgICAgKGNsaWNrKT1cInRvZ2dsZURyb3Bkb3duKClcIj5cbiAgPGdyYXZpdHktaWNvbiBjbGFzcz1cImxlZnRcIiBbaWNvbk5hbWVdPVwiaWNvbkxlZnRcIiBbaWNvblNpemVdPVwiaXNJY29uTGVmdE5ldygpID8gJ21kLTE2JyA6IG51bGxcIlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiaWNvbkxlZnRcIj48L2dyYXZpdHktaWNvbj5cbiAgPHAgY2xhc3M9XCJoci1sYWJlbCB7e3NpemV9fS1yZWd1bGFyIHZhbHVlXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGVkSXRlbXMubGVuZ3RoID09IDBcIj5cbiAgICAgIHt7IHBsYWNlaG9sZGVyID8gcGxhY2Vob2xkZXIgOiBsYWJlbCB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3RlZEl0ZW1zLmxlbmd0aCA+IDBcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygc2VsZWN0ZWRJdGVtczsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICB7eyBjb25maWcgPyBpdGVtW2NvbmZpZy5sYWJlbF0gOiBpdGVtIH19e3sgaSAhPSBzZWxlY3RlZEl0ZW1zLmxlbmd0aCAtIDEgPyAnLCcgOiAnJyB9fVxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvcD5cbiAgPGdyYXZpdHktaWNvbiBjbGFzcz1cInJpZ2h0XCIgW2ljb25OYW1lXT1cImRyb3Bkb3duT3BlbmVkID8gJ2Fycm93LXVwJzogJ2Fycm93LWRvd24nXCIgW2ljb25TaXplXT1cIidtZC0xNidcIlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiIWlzUmVhZG9ubHlcIj48L2dyYXZpdHktaWNvbj5cbiAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLXBhbmVsXCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiICpuZ0lmPVwiZHJvcGRvd25PcGVuZWRcIlxuICAgICAgIFthdHRyLmRhdGEtY3ldPVwiY3lwcmVzc1RhZyArICdfcGFuZWwnXCI+XG4gICAgPGRpdiBjbGFzcz1cInNlYXJjaC1pbnB1dFwiPlxuICAgICAgPGdyYXZpdHktaWNvbiBjbGFzcz1cInNlYXJjaC1pY29uXCIgW2ljb25OYW1lXT1cIidzZWFyY2gnXCIgW2ljb25TaXplXT1cIidzbS0xMidcIj48L2dyYXZpdHktaWNvbj5cbiAgICAgIDxpbnB1dCBhdXRvY29tcGxldGU9XCJvZmZcIiBjbGFzcz1cImhyLWxhYmVsIHt7c2l6ZX19LXJlZ3VsYXJcIiAoaW5wdXQpPVwiZmlsdGVySXRlbXMoKVwiXG4gICAgICAgICAgICAgW2F0dHIuZGF0YS1jeV09XCJjeXByZXNzVGFnICsgJ19zZWFyY2hfaW5wdXQnXCIgI3NlYXJjaElucHV0XG4gICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWFyY2hUZXh0XCIgcGxhY2Vob2xkZXI9XCJ7e2N1cnJlbnRMYW5nID09ICdlcycgPyAnQnVzY2FyJyA6ICdTZWFyY2ggaW5wdXQnfX1cIj5cbiAgICAgIDxncmF2aXR5LWljb24gY2xhc3M9XCJwb2ludGVyIHJlc2V0LWljb25cIiAoY2xpY2spPVwic2VhcmNoVGV4dCA9ICcnOyBmaWx0ZXJJdGVtcygpXCIgW2ljb25OYW1lXT1cIid1bnN1Y2Nlc3MnXCJcbiAgICAgICAgICAgICAgICAgICAgW2ljb25TaXplXT1cIidzbS0xMidcIiAqbmdJZj1cInNlYXJjaFRleHQ/Lmxlbmd0aCA+IDBcIj48L2dyYXZpdHktaWNvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiaXRlbXNcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJoci1sYWJlbCBpdGVtIHt7c2l6ZX19LXJlZ3VsYXIgcG9pbnRlclwiIFtjbGFzcy5zZWxlY3RlZF09XCJjaGVja0lmU2VsZWN0ZWQoaXRlbSlcIlxuICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0SXRlbShpdGVtKVwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIGF2YWlsYWJsZU9wdGlvbnNcIj5cbiAgICAgICAgPGdyYXZpdHktY2hlY2tib3ggW2NoZWNrZWRdPVwiY2hlY2tJZlNlbGVjdGVkKGl0ZW0pXCIgKm5nSWY9XCJtdWx0aXBsZVwiPlxuICAgICAgICAgIHt7IGNvbmZpZyA/IGl0ZW1bY29uZmlnLmxhYmVsXSA6IGl0ZW0gfX1cbiAgICAgICAgPC9ncmF2aXR5LWNoZWNrYm94PlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW11bHRpcGxlXCI+e3sgY29uZmlnID8gaXRlbVtjb25maWcubGFiZWxdIDogaXRlbSB9fTwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiaHItbGFiZWwgaXRlbSB7e3NpemV9fS1ib2xkIG5vLXJlc3VsdHNcIiAqbmdJZj1cImF2YWlsYWJsZU9wdGlvbnMubGVuZ3RoID09PSAwXCI+XG4gICAgICAgIHt7IGN1cnJlbnRMYW5nID09ICdlcycgPyAnU2luIHJlc3VsdGFkb3MnIDogJ05vIHJlc3VsdHMnIH19XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tZm9vdGVyXCIgKm5nSWY9XCJzZWxlY3RlZEl0ZW1zLmxlbmd0aCA+IDBcIiBbY2xhc3Mubm90LWNsZWFyYWJsZV09XCIhY2xlYXJhYmxlXCI+XG4gICAgICA8cCBjbGFzcz1cImhyLWxhYmVsIHBvaW50ZXIgc20tcmVndWxhclwiIChjbGljayk9XCJjbGVhclNlbGVjdGlvbigpXCIgKm5nSWY9XCJjbGVhcmFibGVcIlxuICAgICAgICAgW2F0dHIuZGF0YS1jeV09XCJjeXByZXNzVGFnICsgJ19jbGVhcidcIj5cbiAgICAgICAge3sgY3VycmVudExhbmcgPT0gJ2VzJyA/ICdMaW1waWFyJyA6ICdDbGVhciBzZWxlY3Rpb24nIH19XG4gICAgICA8L3A+XG4gICAgICA8cCBjbGFzcz1cImhyLWxhYmVsIHBvaW50ZXIgc20tYm9sZFwiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IHRvZ2dsZURyb3Bkb3duKClcIlxuICAgICAgICAgKm5nSWY9XCJhdmFpbGFibGVPcHRpb25zLmxlbmd0aCAhPSAwXCIgW2F0dHIuZGF0YS1jeV09XCJjeXByZXNzVGFnICsgJ19hcHBseSdcIj5cbiAgICAgICAge3sgY3VycmVudExhbmcgPT0gJ2VzJyA/ICdBcGxpY2FyJyA6ICdBcHBseScgfX1cbiAgICAgIDwvcD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxwIGNsYXNzPVwiaHItbGFiZWwgc20tcmVndWxhciBzdXBwb3J0aW5nLXRleHQge3tnZXRTdGF0dXMoKX19IHt7c2l6ZX19XCIgKm5nSWY9XCJzdXBwb3J0VGV4dFwiPlxuICA8Z3Jhdml0eS1pY29uIFtpY29uTmFtZV09XCIncXVlc3Rpb24tY2lyY2xlJ1wiICpuZ0lmPVwiaGFzRXJyb3JcIiBbaWNvblNpemVdPVwiJ21kLTE2J1wiPjwvZ3Jhdml0eS1pY29uPlxuICB7eyBzdXBwb3J0VGV4dCB9fVxuPC9wPlxuPHAgY2xhc3M9XCJoci1sYWJlbCBzbS1yZWd1bGFyIHN1cHBvcnRpbmctdGV4dCB7e2dldFN0YXR1cygpfX0ge3tzaXplfX1cIlxuICAgKm5nSWY9XCIhc3VwcG9ydFRleHQgJiYgZ2V0U3RhdHVzKCkgPT0gJ2FjdGl2ZScgJiYgc2VsZWN0ZWRJdGVtcy5sZW5ndGggPT0gMCAmJiByZXF1aXJlZFwiPlxuICB7eyBjdXJyZW50TGFuZyA9PSAnZXMnID8gJ1JlcXVlcmlkbycgOiAnUmVxdWlyZWQnIH19XG48L3A+XG4iXX0=
@@ -246,9 +246,30 @@ class GravityDropdownListComponent {
246
246
  if (changes['items']?.currentValue) {
247
247
  this.availableOptions = this.items;
248
248
  }
249
- if (changes['customValues']?.currentValue) {
250
- if (this.multiple) {
251
- changes['customValues'].currentValue.forEach((item) => {
249
+ if (changes['customValues']) {
250
+ let changeItem = changes['customValues'];
251
+ if (changeItem?.currentValue) {
252
+ if (this.multiple) {
253
+ changeItem.currentValue.forEach((item) => {
254
+ if (item) {
255
+ let option;
256
+ if (this.config) {
257
+ option = this.availableOptions.find((availableOption) => availableOption[this.config.value] == item);
258
+ }
259
+ else {
260
+ option = this.availableOptions.find((availableOption) => availableOption == item);
261
+ }
262
+ if (option) {
263
+ let indexOfItem = this.selectedItems.findIndex((availableOption) => availableOption == option);
264
+ if (indexOfItem == -1) {
265
+ this.selectedItems.push(option);
266
+ }
267
+ }
268
+ }
269
+ });
270
+ }
271
+ else {
272
+ let item = changeItem.currentValue;
252
273
  if (item) {
253
274
  let option;
254
275
  if (this.config) {
@@ -264,26 +285,11 @@ class GravityDropdownListComponent {
264
285
  }
265
286
  }
266
287
  }
267
- });
268
- }
269
- else {
270
- let item = changes['customValues'].currentValue;
271
- if (item) {
272
- let option;
273
- if (this.config) {
274
- option = this.availableOptions.find((availableOption) => availableOption[this.config.value] == item);
275
- }
276
- else {
277
- option = this.availableOptions.find((availableOption) => availableOption == item);
278
- }
279
- if (option) {
280
- let indexOfItem = this.selectedItems.findIndex((availableOption) => availableOption == option);
281
- if (indexOfItem == -1) {
282
- this.selectedItems.push(option);
283
- }
284
- }
285
288
  }
286
289
  }
290
+ else if (!changeItem?.currentValue && !changeItem.firstChange) {
291
+ this.clearSelection();
292
+ }
287
293
  }
288
294
  }
289
295
  getStatus() {