@eui/mobile-core 16.7.0-snapshot-1709289350183 → 16.7.0-snapshot-1709561696755

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.
@@ -33,6 +33,11 @@ export class EuimChipSelectorComponent {
33
33
  this.updateChipsAndFilterDataAfterInit();
34
34
  this.updateChipsAndFilters();
35
35
  }
36
+ ngOnChanges(changes) {
37
+ if (this.euimChipSelectorItemComponent && this.euimChipSelectorItemComponent.length > 0) {
38
+ this.clearFiltersAndSelectAll();
39
+ }
40
+ }
36
41
  getCssClasses() {
37
42
  return [
38
43
  'euim-chip-selector',
@@ -78,6 +83,18 @@ export class EuimChipSelectorComponent {
78
83
  });
79
84
  });
80
85
  }
86
+ clearFiltersAndSelectAll() {
87
+ this.clearAllSelections();
88
+ let isFirstElement = true;
89
+ this.euimChipSelectorItemComponent.forEach(chip => {
90
+ if (isFirstElement) {
91
+ this.addSelectedStyles(chip.el.nativeElement);
92
+ isFirstElement = false;
93
+ }
94
+ });
95
+ this.filterData.emit(this.sourceData);
96
+ this.clickItems.emit(this.selectedChips);
97
+ }
81
98
  updateChipsAndFilterDataAfterInit() {
82
99
  this.euimChipSelectorItemComponent.forEach(chip => {
83
100
  this.removeSelectedStyles(chip.el.nativeElement);
@@ -166,7 +183,7 @@ export class EuimChipSelectorComponent {
166
183
  this.selectedChips = ['0'];
167
184
  }
168
185
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EuimChipSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
169
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EuimChipSelectorComponent, selector: "euim-chip-selector", inputs: { backgroundColor: "backgroundColor", chipColor: "chipColor", color: "color", chipSelectedColor: "chipSelectedColor", chipFill: "chipFill", sourceData: "sourceData", selectedChips: "selectedChips", isMultiSelectionMode: "isMultiSelectionMode" }, outputs: { filterData: "filterData", clickItems: "clickItems" }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "euimChipSelectorItemComponent", predicate: EuimChipSelectorItemDirective, descendants: true }], ngImport: i0, template: "<euim-scroller-x>\n <ng-content></ng-content>\n</euim-scroller-x>\n", styles: [".euim-chip-selector{padding:var(--eui-base-spacing-xs) 0 var(--eui-base-spacing-xs) var(--eui-base-spacing-xs);display:flex;align-items:center}.euim-chip-selector ion-chip{margin:0 var(--eui-base-spacing-xs) 0 0}.euim-chip-selector__item--fill-default,.euim-chip-selector--fill-solid{border:none}.euim-chip-selector__item--fill-outline{background-color:transparent!important;border-width:1px;border-style:solid}.euim-chip-selector__item--fill-clear{background-color:transparent!important;border:none}.euim-chip-selector__item--fill-outline-solid{border-width:1px;border-style:solid}.euim-chip-selector--background-color-primary{background-color:var(--eui-base-color-primary-100)}.euim-chip-selector__item--color-success{background-color:var(--eui-base-color-success-25);border-color:var(--eui-base-color-success-25);color:var(--eui-base-color-success-100)}.euim-chip-selector__item--color-success.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-success-50)}.euim-chip-selector__item--color-warning{background-color:var(--eui-base-color-warning-25);border-color:var(--eui-base-color-warning-25);color:var(--eui-base-color-warning-140)}.euim-chip-selector__item--color-warning.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-warning-50)}.euim-chip-selector__item--color-danger{background-color:var(--eui-base-color-danger-25);border-color:var(--eui-base-color-danger-25);color:var(--eui-base-color-danger-100)}.euim-chip-selector__item--color-danger.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-danger-50)}.euim-chip-selector__item--color-primary{background-color:var(--eui-base-color-primary-25);border-color:var(--eui-base-color-primary-25);color:var(--eui-base-color-primary-100)}.euim-chip-selector__item--color-primary.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-primary-50)}.euim-chip-selector__item--color-info{background-color:var(--eui-base-color-info-25);border-color:var(--eui-base-color-info-25);color:var(--eui-base-color-info-100)}.euim-chip-selector__item--color-info.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-info-50)}.euim-chip-selector__item--color-dark{background-color:var(--eui-base-color-grey-100);border-color:var(--eui-base-color-grey-100);color:var(--eui-base-color-white)}.euim-chip-selector__item--color-dark.euim-chip-selector__item--fill-outline{color:var(--eui-base-color-grey-100)}.euim-chip-selector__item--color-white{background-color:var(--eui-base-color-white);border-color:var(--eui-base-color-white);color:var(--eui-base-color-grey-100)}.euim-chip-selector__item--color-white.euim-chip-selector__item--fill-outline{color:var(--eui-base-color-white)}.euim-chip-selector__item--color-default{background-color:var(--eui-base-grey-15);border-color:var(--eui-base-color-grey-15);color:var(--eui-base-color-grey-100)}.euim-chip-selector__item--color-default.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-grey-50)}ion-chip.euim-chip-selector__item-selected--color-white{background-color:var(--eui-base-color-white)!important;border-color:var(--eui-base-color-white)!important;color:var(--eui-base-color-grey-100)!important}ion-chip.euim-chip-selector__item-selected--color-dark{background-color:var(--eui-base-color-grey-100)!important;border-color:var(--eui-base-color-grey-100)!important;color:var(--eui-base-color-white)!important}\n"], dependencies: [{ kind: "component", type: i1.EuimScrollerXComponent, selector: "euim-scroller-x" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
186
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EuimChipSelectorComponent, selector: "euim-chip-selector", inputs: { backgroundColor: "backgroundColor", chipColor: "chipColor", color: "color", chipSelectedColor: "chipSelectedColor", chipFill: "chipFill", sourceData: "sourceData", selectedChips: "selectedChips", isMultiSelectionMode: "isMultiSelectionMode" }, outputs: { filterData: "filterData", clickItems: "clickItems" }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "euimChipSelectorItemComponent", predicate: EuimChipSelectorItemDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<euim-scroller-x>\n <ng-content></ng-content>\n</euim-scroller-x>\n", styles: [".euim-chip-selector{padding:var(--eui-base-spacing-xs) 0 var(--eui-base-spacing-xs) var(--eui-base-spacing-xs);display:flex;align-items:center}.euim-chip-selector ion-chip{margin:0 var(--eui-base-spacing-xs) 0 0}.euim-chip-selector__item--fill-default,.euim-chip-selector--fill-solid{border:none}.euim-chip-selector__item--fill-outline{background-color:transparent!important;border-width:1px;border-style:solid}.euim-chip-selector__item--fill-clear{background-color:transparent!important;border:none}.euim-chip-selector__item--fill-outline-solid{border-width:1px;border-style:solid}.euim-chip-selector--background-color-primary{background-color:var(--eui-base-color-primary-100)}.euim-chip-selector__item--color-success{background-color:var(--eui-base-color-success-25);border-color:var(--eui-base-color-success-25);color:var(--eui-base-color-success-100)}.euim-chip-selector__item--color-success.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-success-50)}.euim-chip-selector__item--color-warning{background-color:var(--eui-base-color-warning-25);border-color:var(--eui-base-color-warning-25);color:var(--eui-base-color-warning-140)}.euim-chip-selector__item--color-warning.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-warning-50)}.euim-chip-selector__item--color-danger{background-color:var(--eui-base-color-danger-25);border-color:var(--eui-base-color-danger-25);color:var(--eui-base-color-danger-100)}.euim-chip-selector__item--color-danger.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-danger-50)}.euim-chip-selector__item--color-primary{background-color:var(--eui-base-color-primary-25);border-color:var(--eui-base-color-primary-25);color:var(--eui-base-color-primary-100)}.euim-chip-selector__item--color-primary.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-primary-50)}.euim-chip-selector__item--color-info{background-color:var(--eui-base-color-info-25);border-color:var(--eui-base-color-info-25);color:var(--eui-base-color-info-100)}.euim-chip-selector__item--color-info.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-info-50)}.euim-chip-selector__item--color-dark{background-color:var(--eui-base-color-grey-100);border-color:var(--eui-base-color-grey-100);color:var(--eui-base-color-white)}.euim-chip-selector__item--color-dark.euim-chip-selector__item--fill-outline{color:var(--eui-base-color-grey-100)}.euim-chip-selector__item--color-white{background-color:var(--eui-base-color-white);border-color:var(--eui-base-color-white);color:var(--eui-base-color-grey-100)}.euim-chip-selector__item--color-white.euim-chip-selector__item--fill-outline{color:var(--eui-base-color-white)}.euim-chip-selector__item--color-default{background-color:var(--eui-base-grey-15);border-color:var(--eui-base-color-grey-15);color:var(--eui-base-color-grey-100)}.euim-chip-selector__item--color-default.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-grey-50)}ion-chip.euim-chip-selector__item-selected--color-white{background-color:var(--eui-base-color-white)!important;border-color:var(--eui-base-color-white)!important;color:var(--eui-base-color-grey-100)!important}ion-chip.euim-chip-selector__item-selected--color-dark{background-color:var(--eui-base-color-grey-100)!important;border-color:var(--eui-base-color-grey-100)!important;color:var(--eui-base-color-white)!important}\n"], dependencies: [{ kind: "component", type: i1.EuimScrollerXComponent, selector: "euim-scroller-x" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
170
187
  }
171
188
  __decorate([
172
189
  coerceBoolean
@@ -201,4 +218,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
201
218
  type: ContentChildren,
202
219
  args: [EuimChipSelectorItemDirective, { descendants: true }]
203
220
  }] } });
204
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpbS1jaGlwLXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9ldWltLWNoaXAtc2VsZWN0b3IvZXVpbS1jaGlwLXNlbGVjdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9ldWltLWNoaXAtc2VsZWN0b3IvZXVpbS1jaGlwLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFhLHVCQUF1QixFQUFFLGVBQWUsRUFBb0IsV0FBVyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBaUIsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3TCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzFDLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDZEQUE2RCxDQUFDOzs7QUFVNUcsTUFBTSxPQUFPLHlCQUF5QjtJQVJ0QztRQVNhLG9CQUFlLEdBQTRCLFNBQVMsQ0FBQztRQUM5RDs7O1dBR0c7UUFDTSxjQUFTLEdBQXlGLE9BQU8sQ0FBQztRQUMxRyxVQUFLLEdBQXlGLE9BQU8sQ0FBQztRQUN0RyxzQkFBaUIsR0FBcUIsT0FBTyxDQUFDO1FBQzlDLGFBQVEsR0FBZ0UsU0FBUyxDQUFDO1FBQ2xGLGVBQVUsR0FBbUIsRUFBRSxDQUFDO1FBQ2hDLGtCQUFhLEdBQUcsRUFBRSxDQUFDO1FBRzVCLHlCQUFvQixHQUFpQixLQUFLLENBQUM7UUFDakMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFrQixDQUFDO1FBQ2hELGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBWSxDQUFDO1FBU3BELGlCQUFZLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNwQyxxQkFBZ0IsR0FBRyxFQUFFLENBQUE7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SztnQkFLRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBR04sb0JBQW9CO3NCQUZuQixLQUFLO2dCQUdJLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFFSCxVQUFVO3NCQURiLFdBQVc7dUJBQUMsT0FBTztnQkFNcEIsNkJBQTZCO3NCQUQ1QixlQUFlO3VCQUFDLDZCQUE2QixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgUXVlcnlMaXN0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29udGVudENoaWxkcmVuLCBBZnRlckNvbnRlbnRJbml0LCBIb3N0QmluZGluZywgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uLCBBZnRlclZpZXdJbml0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW4gfSBmcm9tICdAZXVpL2Jhc2UnO1xuaW1wb3J0IHsgRXVpbUNoaXBTZWxlY3Rvckl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuL2V1aW0tY2hpcC1zZWxlY3Rvci1pdGVtL2V1aW0tY2hpcC1zZWxlY3Rvci1pdGVtLmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXVpbS1jaGlwLXNlbGVjdG9yJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2V1aW0tY2hpcC1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc3R5bGVzL19pbmRleC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcblxufSlcbmV4cG9ydCBjbGFzcyBFdWltQ2hpcFNlbGVjdG9yQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgQWZ0ZXJDb250ZW50SW5pdCB7XG4gICAgQElucHV0KCkgYmFja2dyb3VuZENvbG9yOiAncHJpbWFyeScgfCd3aGl0ZScgfCAnJyA9ICdwcmltYXJ5JztcbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBXaWxsIGJlIHJlbW92ZWQgaW4gZVVJIE1vYmlsZSAxOC5cbiAgICAgKiBQbGVhc2UgdXNlIHtAbGluayBjb2xvcn0gcHJvcGVydHkgaW5zdGVhZFxuICAgICAqL1xuICAgIEBJbnB1dCgpIGNoaXBDb2xvcjogJ2RlZmF1bHQnIHwgJ2RhcmsnIHwgJ3doaXRlJyB8ICdwcmltYXJ5JyB8ICdpbmZvJyB8ICdzdWNjZXNzJyB8ICd3YXJuaW5nJyB8ICdkYW5nZXInID0gJ3doaXRlJztcbiAgICBASW5wdXQoKSBjb2xvcjogJ2RlZmF1bHQnIHwgJ2RhcmsnIHwgJ3doaXRlJyB8ICdwcmltYXJ5JyB8ICdpbmZvJyB8ICdzdWNjZXNzJyB8ICd3YXJuaW5nJyB8ICdkYW5nZXInID0gJ3doaXRlJztcbiAgICBASW5wdXQoKSBjaGlwU2VsZWN0ZWRDb2xvcjogJ2RhcmsnIHwgJ3doaXRlJyA9ICd3aGl0ZSc7XG4gICAgQElucHV0KCkgY2hpcEZpbGw6ICdkZWZhdWx0JyB8ICdjbGVhcicgfCAnb3V0bGluZScgfCAnb3V0bGluZS1zb2xpZCcgfCAnc29saWQnID0gJ2RlZmF1bHQnO1xuICAgIEBJbnB1dCgpIHNvdXJjZURhdGE6IEZpbHRlcmVkRGF0YVtdID0gW107XG4gICAgQElucHV0KCkgc2VsZWN0ZWRDaGlwcyA9IFtdO1xuICAgIEBJbnB1dCgpXG4gICAgQGNvZXJjZUJvb2xlYW5cbiAgICBpc011bHRpU2VsZWN0aW9uTW9kZTogQm9vbGVhbklucHV0ID0gZmFsc2U7XG4gICAgQE91dHB1dCgpIGZpbHRlckRhdGEgPSBuZXcgRXZlbnRFbWl0dGVyPEZpbHRlcmVkRGF0YVtdPigpO1xuICAgIEBPdXRwdXQoKSBjbGlja0l0ZW1zID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmdbXT4oKTtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBnZXQgY3NzQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRDc3NDbGFzc2VzKCk7XG4gICAgfVxuXG4gICAgQENvbnRlbnRDaGlsZHJlbihFdWltQ2hpcFNlbGVjdG9ySXRlbURpcmVjdGl2ZSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICAgIGV1aW1DaGlwU2VsZWN0b3JJdGVtQ29tcG9uZW50OiBRdWVyeUxpc3Q8RXVpbUNoaXBTZWxlY3Rvckl0ZW1EaXJlY3RpdmU+IDtcblxuICAgIGZpbHRlcmVkRGF0YSA9IFsuLi50aGlzLnNvdXJjZURhdGFdO1xuICAgIGZpbHRlckNvbmRpdGlvbnMgPSBbXVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldENzc0l0ZW1DbGFzc2VzKCk7XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUNoaXBzQW5kRmlsdGVyRGF0YUFmdGVySW5pdCgpO1xuICAgICAgICB0aGlzLnVwZGF0ZUNoaXBzQW5kRmlsdGVycygpO1xuICAgIH1cblxuICAgIGdldENzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICdldWltLWNoaXAtc2VsZWN0b3InLFxuICAgICAgICAgICAgdGhpcy5iYWNrZ3JvdW5kQ29sb3IgPyBgZXVpbS1jaGlwLXNlbGVjdG9yLS1iYWNrZ3JvdW5kLWNvbG9yLSR7dGhpcy5iYWNrZ3JvdW5kQ29sb3J9YCA6ICcnLFxuICAgICAgICBdLmpvaW4oJyAnKS50cmltKCk7XG4gICAgfVxuXG4gICAgc2V0Q3NzSXRlbUNsYXNzZXMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNsYXNzZXMgPSB0aGlzLmdldENzc0l0ZW1DbGFzc2VzKCk7XG4gICAgICAgIHRoaXMuZXVpbUNoaXBTZWxlY3Rvckl0ZW1Db21wb25lbnQuZm9yRWFjaChjaGlwID0+IHtcbiAgICAgICAgICAgIGNsYXNzZXMuc3BsaXQoJyAnKS5mb3JFYWNoKGNsYXNzTmFtZSA9PiB7XG4gICAgICAgICAgICAgICAgY2hpcC5lbC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoY2xhc3NOYW1lKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXRDc3NJdGVtQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICBsZXQgY3VycmVudENvbG9yID0gJ3doaXRlJyA7XG4gICAgICAgIC8vIGlmIGNvbG9yIHByb3BlcnR5IGlzIGRpZmZlcmVudCBmcm9tIGRlZmF1bHQgb25lICh3aGl0ZSkgdGhhbiB1c2UgY2hpcCBjb2xvclxuICAgICAgICAvLyBtZWFucyB1c2luZyB0aGUgZGVwcmVjYXRlZCBjaGlwQ29sb3IgcHJvcGVydHksXG4gICAgICAgIC8vIG5lZWRlZCBhcyBpbiBWMTggd2lsbCBiZSByZW1vdmVkIGNoaXBDb2xvclxuICAgICAgICBpZiAodGhpcy5jaGlwQ29sb3IgPT09ICd3aGl0ZScgJiYgdGhpcy5jb2xvciAhPSAnd2hpdGUnKSB7XG4gICAgICAgICAgICBjdXJyZW50Q29sb3IgPSAgdGhpcy5jb2xvcjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGN1cnJlbnRDb2xvciA9ICB0aGlzLmNoaXBDb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB0aGlzLmNoaXBGaWxsID8gYGV1aW0tY2hpcC1zZWxlY3Rvcl9faXRlbS0tZmlsbC0ke3RoaXMuY2hpcEZpbGx9YCA6ICcnLFxuICAgICAgICAgICAgY3VycmVudENvbG9yID8gYGV1aW0tY2hpcC1zZWxlY3Rvcl9faXRlbS0tY29sb3ItJHtjdXJyZW50Q29sb3J9YCA6ICcnLFxuICAgICAgICBdLmpvaW4oJyAnKTtcbiAgICB9XG5cbiAgICB1cGRhdGVDaGlwc0FuZEZpbHRlcnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXVpbUNoaXBTZWxlY3Rvckl0ZW1Db21wb25lbnQuZm9yRWFjaChjaGlwID0+IHtcbiAgICAgICAgICAgIGNoaXAuZWwubmF0aXZlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcblxuICAgICAgICAgICAgICAgIHRoaXMuZXVpbUNoaXBTZWxlY3Rvckl0ZW1Db21wb25lbnQuZm9yRWFjaChjaGlwID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmlzTXVsdGlTZWxlY3Rpb25Nb2RlIHx8IHRoaXMuaXNNdWx0aVNlbGVjdGlvbk1vZGUgJiYgY2hpcC5ldWltQ2hpcFNlbGVjdG9yQWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZVNlbGVjdGVkU3R5bGVzKGNoaXAuZWwubmF0aXZlRWxlbWVudCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIHRoaXMuYWRkU2VsZWN0ZWRTdHlsZXMoY2hpcC5lbC5uYXRpdmVFbGVtZW50KTtcblxuICAgICAgICAgICAgICAgIHRoaXMub25GaWx0ZXJDaGFuZ2UoY2hpcC5pZC50b1N0cmluZygpLCBjaGlwLmV1aW1DaGlwU2VsZWN0b3JBbGwsIGNoaXAuZWwubmF0aXZlRWxlbWVudCk7XG4gICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJEYXRhLmVtaXQodGhpcy5maWx0ZXJlZERhdGEpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2xpY2tJdGVtcy5lbWl0KHRoaXMuc2VsZWN0ZWRDaGlwcyk7XG5cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB1cGRhdGVDaGlwc0FuZEZpbHRlckRhdGFBZnRlckluaXQoKTogdm9pZCB7XG5cbiAgICAgICAgdGhpcy5ldWltQ2hpcFNlbGVjdG9ySXRlbUNvbXBvbmVudC5mb3JFYWNoKGNoaXAgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZW1vdmVTZWxlY3RlZFN0eWxlcyhjaGlwLmVsLm5hdGl2ZUVsZW1lbnQpO1xuXG4gICAgICAgICAgICBpZiAoY2hpcC5pZCA9PT0gdW5kZWZpbmVkICYmIGNoaXAuZXVpbUNoaXBTZWxlY3RvckFsbCkge1xuICAgICAgICAgICAgICAgIGNoaXAuaWQgPSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmV1aW1DaGlwU2VsZWN0b3JJdGVtQ29tcG9uZW50LmZvckVhY2goKGNoaXApID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNoaXBJZCA9IGNoaXAuaWQ7XG5cbiAgICAgICAgICAgIGlmIChjaGlwSWQgJiYgdGhpcy5zZWxlY3RlZENoaXBzLmluY2x1ZGVzKGNoaXBJZCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFkZFNlbGVjdGVkU3R5bGVzKGNoaXAuZWwubmF0aXZlRWxlbWVudCk7XG4gICAgICAgICAgICAgICAgdGhpcy5hcHBseUZpbHRlcihudWxsLCBjaGlwLmV1aW1DaGlwU2VsZWN0b3JBbGwsIHRoaXMuc2VsZWN0ZWRDaGlwcyk7XG4gICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJEYXRhLmVtaXQodGhpcy5maWx0ZXJlZERhdGEpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGhpcy5zZWxlY3RlZENoaXBzLmxlbmd0aCA9PT0gMCAmJiBjaGlwLmV1aW1DaGlwU2VsZWN0b3JBbGwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFkZFNlbGVjdGVkU3R5bGVzKGNoaXAuZWwubmF0aXZlRWxlbWVudCk7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENoaXBzID0gWycwJ107XG4gICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJEYXRhLmVtaXQodGhpcy5zb3VyY2VEYXRhKTtcbiAgICAgICAgICAgICAgICB0aGlzLmNsaWNrSXRlbXMuZW1pdCh0aGlzLnNlbGVjdGVkQ2hpcHMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jbGlja0l0ZW1zLmVtaXQodGhpcy5zZWxlY3RlZENoaXBzKTtcbiAgICB9XG5cbiAgICBvbkZpbHRlckNoYW5nZShmaWx0ZXJDb25kaXRpb246IHN0cmluZywgaXNGaWx0ZXJBbGw6IEJvb2xlYW5JbnB1dCwgaXRlbSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc011bHRpU2VsZWN0aW9uTW9kZSkge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVNdWx0aVNlbGVjdGlvbk1vZGUoZmlsdGVyQ29uZGl0aW9uLCBpc0ZpbHRlckFsbCwgaXRlbSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVNpbmdsZVNlbGVjdGlvbk1vZGUoZmlsdGVyQ29uZGl0aW9uLCBpc0ZpbHRlckFsbCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFwcGx5RmlsdGVyKGZpbHRlckNvbmRpdGlvbiwgaXNGaWx0ZXJBbGwsIHRoaXMuZmlsdGVyQ29uZGl0aW9ucyk7XG4gICAgICAgIHRoaXMuZmlsdGVyRGF0YS5lbWl0KHRoaXMuZmlsdGVyZWREYXRhKTtcbiAgICB9XG5cbiAgICBhcHBseUZpbHRlcihmaWx0ZXJDb25kaXRpb246IHN0cmluZywgaXNBbGxGaWx0ZXI6IEJvb2xlYW5JbnB1dCwgbXVsdGlwbGVGaWx0ZXJDb25kaXRpb25zOiBzdHJpbmdbXSk6IHZvaWQge1xuXG4gICAgICAgIGlmIChpc0FsbEZpbHRlciAmJiBtdWx0aXBsZUZpbHRlckNvbmRpdGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IFsuLi50aGlzLnNvdXJjZURhdGFdO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaXNNdWx0aVNlbGVjdGlvbk1vZGUgfHwgbXVsdGlwbGVGaWx0ZXJDb25kaXRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gWy4uLnRoaXMuc291cmNlRGF0YV0uZmlsdGVyKGl0ZW0gPT4gbXVsdGlwbGVGaWx0ZXJDb25kaXRpb25zLmluY2x1ZGVzKGl0ZW0uZmlsdGVySWQpKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gWy4uLnRoaXMuc291cmNlRGF0YV0uZmlsdGVyKGl0ZW0gPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGl0ZW0uZmlsdGVySWQgPT09IGZpbHRlckNvbmRpdGlvbjtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgYWRkU2VsZWN0ZWRTdHlsZXMoaXRlbSk6IHZvaWQge1xuICAgICAgICBpdGVtLmNsYXNzTGlzdC5hZGQoYGV1aW0tY2hpcC1zZWxlY3Rvcl9faXRlbS1zZWxlY3RlZC0tY29sb3ItJHt0aGlzLmNoaXBTZWxlY3RlZENvbG9yfWApO1xuICAgICAgICBpdGVtLnNldEF0dHJpYnV0ZSgnc2VsZWN0ZWQnLCAndHJ1ZScpO1xuICAgIH1cblxuICAgIHJlbW92ZVNlbGVjdGVkU3R5bGVzKGl0ZW0pOiB2b2lkIHtcbiAgICAgICAgaXRlbS5jbGFzc0xpc3QucmVtb3ZlKGBldWltLWNoaXAtc2VsZWN0b3JfX2l0ZW0tc2VsZWN0ZWQtLWNvbG9yLSR7dGhpcy5jaGlwU2VsZWN0ZWRDb2xvcn1gKTtcbiAgICAgICAgaXRlbS5yZW1vdmVBdHRyaWJ1dGUoJ3NlbGVjdGVkJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVNdWx0aVNlbGVjdGlvbk1vZGUoZmlsdGVyQ29uZGl0aW9uOiBzdHJpbmcsIGlzRmlsdGVyQWxsOiBCb29sZWFuSW5wdXQsIGl0ZW0pOiB2b2lkIHtcbiAgICAgICAgaWYgKCFpc0ZpbHRlckFsbCkge1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJDb25kaXRpb25zID0gdGhpcy5zZWxlY3RlZENoaXBzO1xuICAgICAgICAgICAgaWYgKCF0aGlzLmZpbHRlckNvbmRpdGlvbnMuaW5jbHVkZXMoZmlsdGVyQ29uZGl0aW9uKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyQ29uZGl0aW9ucy5wdXNoKGZpbHRlckNvbmRpdGlvbik7XG4gICAgICAgICAgICAgICAgdGhpcy5hZGRTZWxlY3RlZFN0eWxlcyhpdGVtKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5maWx0ZXJDb25kaXRpb25zLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlckNvbmRpdGlvbnMgPSB0aGlzLmZpbHRlckNvbmRpdGlvbnMuZmlsdGVyKGNoaXAgPT4gY2hpcCAhPT0gZmlsdGVyQ29uZGl0aW9uKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZVNlbGVjdGVkU3R5bGVzKGl0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENoaXBzID0gdGhpcy5maWx0ZXJDb25kaXRpb25zLmZpbHRlcihlbCA9PiBlbCAhPT0gJzAnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJBbGxTZWxlY3Rpb25zKCk7XG4gICAgICAgICAgICB0aGlzLmFkZFNlbGVjdGVkU3R5bGVzKGl0ZW0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVTaW5nbGVTZWxlY3Rpb25Nb2RlKGZpbHRlckNvbmRpdGlvbjogc3RyaW5nLCBpc0ZpbHRlckFsbDogQm9vbGVhbklucHV0KTogdm9pZCB7XG4gICAgICAgIGlmIChpc0ZpbHRlckFsbCkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENoaXBzID0gWycwJ107XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2hpcHMgPSBbZmlsdGVyQ29uZGl0aW9uXTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY2xlYXJBbGxTZWxlY3Rpb25zKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmV1aW1DaGlwU2VsZWN0b3JJdGVtQ29tcG9uZW50LmZvckVhY2goY2hpcCA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlbW92ZVNlbGVjdGVkU3R5bGVzKGNoaXAuZWwubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmZpbHRlckNvbmRpdGlvbnMgPSBbXTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENoaXBzID0gWycwJ107XG4gICAgfVxufVxuXG5pbnRlcmZhY2UgRmlsdGVyZWREYXRhIHtcbiAgICBba2V5OiBzdHJpbmddOiBzdHJpbmc7XG59XG4iLCI8ZXVpbS1zY3JvbGxlci14PlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZXVpbS1zY3JvbGxlci14PlxuIl19
221
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpbS1jaGlwLXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9ldWltLWNoaXAtc2VsZWN0b3IvZXVpbS1jaGlwLXNlbGVjdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9ldWltLWNoaXAtc2VsZWN0b3IvZXVpbS1jaGlwLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUF1Qyx1QkFBdUIsRUFBRSxlQUFlLEVBQW9CLFdBQVcsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQWlCLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdk4sT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMxQyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQzs7O0FBVTVHLE1BQU0sT0FBTyx5QkFBeUI7SUFSdEM7UUFTYSxvQkFBZSxHQUE0QixTQUFTLENBQUM7UUFDOUQ7OztXQUdHO1FBQ00sY0FBUyxHQUF5RixPQUFPLENBQUM7UUFDMUcsVUFBSyxHQUF5RixPQUFPLENBQUM7UUFDdEcsc0JBQWlCLEdBQXFCLE9BQU8sQ0FBQztRQUM5QyxhQUFRLEdBQWdFLFNBQVMsQ0FBQztRQUNsRixlQUFVLEdBQW1CLEVBQUUsQ0FBQztRQUNoQyxrQkFBYSxHQUFHLEVBQUUsQ0FBQztRQUc1Qix5QkFBb0IsR0FBaUIsS0FBSyxDQUFDO1FBQ2pDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBa0IsQ0FBQztRQUNoRCxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVksQ0FBQztRQVNwRCxpQkFBWSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDcEMscUJBQWdCLEdBQUcsRUFBRSxDQUFB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dWVyeUxpc3QsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbnRlbnRDaGlsZHJlbiwgQWZ0ZXJDb250ZW50SW5pdCwgSG9zdEJpbmRpbmcsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiwgQWZ0ZXJWaWV3SW5pdCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuIH0gZnJvbSAnQGV1aS9iYXNlJztcbmltcG9ydCB7IEV1aW1DaGlwU2VsZWN0b3JJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9ldWltLWNoaXAtc2VsZWN0b3ItaXRlbS9ldWltLWNoaXAtc2VsZWN0b3ItaXRlbS5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2V1aW0tY2hpcC1zZWxlY3RvcicsXG4gICAgdGVtcGxhdGVVcmw6ICdldWltLWNoaXAtc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3N0eWxlcy9faW5kZXguc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cbn0pXG5leHBvcnQgY2xhc3MgRXVpbUNoaXBTZWxlY3RvckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIEFmdGVyQ29udGVudEluaXQsIE9uQ2hhbmdlcyB7XG4gICAgQElucHV0KCkgYmFja2dyb3VuZENvbG9yOiAncHJpbWFyeScgfCd3aGl0ZScgfCAnJyA9ICdwcmltYXJ5JztcbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBXaWxsIGJlIHJlbW92ZWQgaW4gZVVJIE1vYmlsZSAxOC5cbiAgICAgKiBQbGVhc2UgdXNlIHtAbGluayBjb2xvcn0gcHJvcGVydHkgaW5zdGVhZFxuICAgICAqL1xuICAgIEBJbnB1dCgpIGNoaXBDb2xvcjogJ2RlZmF1bHQnIHwgJ2RhcmsnIHwgJ3doaXRlJyB8ICdwcmltYXJ5JyB8ICdpbmZvJyB8ICdzdWNjZXNzJyB8ICd3YXJuaW5nJyB8ICdkYW5nZXInID0gJ3doaXRlJztcbiAgICBASW5wdXQoKSBjb2xvcjogJ2RlZmF1bHQnIHwgJ2RhcmsnIHwgJ3doaXRlJyB8ICdwcmltYXJ5JyB8ICdpbmZvJyB8ICdzdWNjZXNzJyB8ICd3YXJuaW5nJyB8ICdkYW5nZXInID0gJ3doaXRlJztcbiAgICBASW5wdXQoKSBjaGlwU2VsZWN0ZWRDb2xvcjogJ2RhcmsnIHwgJ3doaXRlJyA9ICd3aGl0ZSc7XG4gICAgQElucHV0KCkgY2hpcEZpbGw6ICdkZWZhdWx0JyB8ICdjbGVhcicgfCAnb3V0bGluZScgfCAnb3V0bGluZS1zb2xpZCcgfCAnc29saWQnID0gJ2RlZmF1bHQnO1xuICAgIEBJbnB1dCgpIHNvdXJjZURhdGE6IEZpbHRlcmVkRGF0YVtdID0gW107XG4gICAgQElucHV0KCkgc2VsZWN0ZWRDaGlwcyA9IFtdO1xuICAgIEBJbnB1dCgpXG4gICAgQGNvZXJjZUJvb2xlYW5cbiAgICBpc011bHRpU2VsZWN0aW9uTW9kZTogQm9vbGVhbklucHV0ID0gZmFsc2U7XG4gICAgQE91dHB1dCgpIGZpbHRlckRhdGEgPSBuZXcgRXZlbnRFbWl0dGVyPEZpbHRlcmVkRGF0YVtdPigpO1xuICAgIEBPdXRwdXQoKSBjbGlja0l0ZW1zID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmdbXT4oKTtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBnZXQgY3NzQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRDc3NDbGFzc2VzKCk7XG4gICAgfVxuXG4gICAgQENvbnRlbnRDaGlsZHJlbihFdWltQ2hpcFNlbGVjdG9ySXRlbURpcmVjdGl2ZSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICAgIGV1aW1DaGlwU2VsZWN0b3JJdGVtQ29tcG9uZW50OiBRdWVyeUxpc3Q8RXVpbUNoaXBTZWxlY3Rvckl0ZW1EaXJlY3RpdmU+IDtcblxuICAgIGZpbHRlcmVkRGF0YSA9IFsuLi50aGlzLnNvdXJjZURhdGFdO1xuICAgIGZpbHRlckNvbmRpdGlvbnMgPSBbXVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldENzc0l0ZW1DbGFzc2VzKCk7XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUNoaXBzQW5kRmlsdGVyRGF0YUFmdGVySW5pdCgpO1xuICAgICAgICB0aGlzLnVwZGF0ZUNoaXBzQW5kRmlsdGVycygpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZXVpbUNoaXBTZWxlY3Rvckl0ZW1Db21wb25lbnQgJiYgdGhpcy5ldWltQ2hpcFNlbGVjdG9ySXRlbUNvbXBvbmVudC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLmNsZWFyRmlsdGVyc0FuZFNlbGVjdEFsbCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0Q3NzQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgJ2V1aW0tY2hpcC1zZWxlY3RvcicsXG4gICAgICAgICAgICB0aGlzLmJhY2tncm91bmRDb2xvciA/IGBldWltLWNoaXAtc2VsZWN0b3ItLWJhY2tncm91bmQtY29sb3ItJHt0aGlzLmJhY2tncm91bmRDb2xvcn1gIDogJycsXG4gICAgICAgIF0uam9pbignICcpLnRyaW0oKTtcbiAgICB9XG5cbiAgICBzZXRDc3NJdGVtQ2xhc3NlcygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY2xhc3NlcyA9IHRoaXMuZ2V0Q3NzSXRlbUNsYXNzZXMoKTtcbiAgICAgICAgdGhpcy5ldWltQ2hpcFNlbGVjdG9ySXRlbUNvbXBvbmVudC5mb3JFYWNoKGNoaXAgPT4ge1xuICAgICAgICAgICAgY2xhc3Nlcy5zcGxpdCgnICcpLmZvckVhY2goY2xhc3NOYW1lID0+IHtcbiAgICAgICAgICAgICAgICBjaGlwLmVsLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChjbGFzc05hbWUpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldENzc0l0ZW1DbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgIGxldCBjdXJyZW50Q29sb3IgPSAnd2hpdGUnIDtcbiAgICAgICAgLy8gaWYgY29sb3IgcHJvcGVydHkgaXMgZGlmZmVyZW50IGZyb20gZGVmYXVsdCBvbmUgKHdoaXRlKSB0aGFuIHVzZSBjaGlwIGNvbG9yXG4gICAgICAgIC8vIG1lYW5zIHVzaW5nIHRoZSBkZXByZWNhdGVkIGNoaXBDb2xvciBwcm9wZXJ0eSxcbiAgICAgICAgLy8gbmVlZGVkIGFzIGluIFYxOCB3aWxsIGJlIHJlbW92ZWQgY2hpcENvbG9yXG4gICAgICAgIGlmICh0aGlzLmNoaXBDb2xvciA9PT0gJ3doaXRlJyAmJiB0aGlzLmNvbG9yICE9ICd3aGl0ZScpIHtcbiAgICAgICAgICAgIGN1cnJlbnRDb2xvciA9ICB0aGlzLmNvbG9yO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY3VycmVudENvbG9yID0gIHRoaXMuY2hpcENvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHRoaXMuY2hpcEZpbGwgPyBgZXVpbS1jaGlwLXNlbGVjdG9yX19pdGVtLS1maWxsLSR7dGhpcy5jaGlwRmlsbH1gIDogJycsXG4gICAgICAgICAgICBjdXJyZW50Q29sb3IgPyBgZXVpbS1jaGlwLXNlbGVjdG9yX19pdGVtLS1jb2xvci0ke2N1cnJlbnRDb2xvcn1gIDogJycsXG4gICAgICAgIF0uam9pbignICcpO1xuICAgIH1cblxuICAgIHVwZGF0ZUNoaXBzQW5kRmlsdGVycygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ldWltQ2hpcFNlbGVjdG9ySXRlbUNvbXBvbmVudC5mb3JFYWNoKGNoaXAgPT4ge1xuICAgICAgICAgICAgY2hpcC5lbC5uYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xuXG4gICAgICAgICAgICAgICAgdGhpcy5ldWltQ2hpcFNlbGVjdG9ySXRlbUNvbXBvbmVudC5mb3JFYWNoKGNoaXAgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaXNNdWx0aVNlbGVjdGlvbk1vZGUgfHwgdGhpcy5pc011bHRpU2VsZWN0aW9uTW9kZSAmJiBjaGlwLmV1aW1DaGlwU2VsZWN0b3JBbGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlU2VsZWN0ZWRTdHlsZXMoY2hpcC5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5hZGRTZWxlY3RlZFN0eWxlcyhjaGlwLmVsLm5hdGl2ZUVsZW1lbnQpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5vbkZpbHRlckNoYW5nZShjaGlwLmlkLnRvU3RyaW5nKCksIGNoaXAuZXVpbUNoaXBTZWxlY3RvckFsbCwgY2hpcC5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlckRhdGEuZW1pdCh0aGlzLmZpbHRlcmVkRGF0YSk7XG4gICAgICAgICAgICAgICAgdGhpcy5jbGlja0l0ZW1zLmVtaXQodGhpcy5zZWxlY3RlZENoaXBzKTtcblxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGNsZWFyRmlsdGVyc0FuZFNlbGVjdEFsbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jbGVhckFsbFNlbGVjdGlvbnMoKTtcbiAgICAgICAgbGV0IGlzRmlyc3RFbGVtZW50ID0gdHJ1ZTtcblxuICAgICAgICB0aGlzLmV1aW1DaGlwU2VsZWN0b3JJdGVtQ29tcG9uZW50LmZvckVhY2goY2hpcCA9PiB7XG4gICAgICAgICAgICBpZiAoaXNGaXJzdEVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFkZFNlbGVjdGVkU3R5bGVzKGNoaXAuZWwubmF0aXZlRWxlbWVudCk7XG4gICAgICAgICAgICAgICAgaXNGaXJzdEVsZW1lbnQgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5maWx0ZXJEYXRhLmVtaXQodGhpcy5zb3VyY2VEYXRhKTtcbiAgICAgICAgdGhpcy5jbGlja0l0ZW1zLmVtaXQodGhpcy5zZWxlY3RlZENoaXBzKTtcbiAgICB9XG5cbiAgICB1cGRhdGVDaGlwc0FuZEZpbHRlckRhdGFBZnRlckluaXQoKTogdm9pZCB7XG5cbiAgICAgICAgdGhpcy5ldWltQ2hpcFNlbGVjdG9ySXRlbUNvbXBvbmVudC5mb3JFYWNoKGNoaXAgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZW1vdmVTZWxlY3RlZFN0eWxlcyhjaGlwLmVsLm5hdGl2ZUVsZW1lbnQpO1xuXG4gICAgICAgICAgICBpZiAoY2hpcC5pZCA9PT0gdW5kZWZpbmVkICYmIGNoaXAuZXVpbUNoaXBTZWxlY3RvckFsbCkge1xuICAgICAgICAgICAgICAgIGNoaXAuaWQgPSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmV1aW1DaGlwU2VsZWN0b3JJdGVtQ29tcG9uZW50LmZvckVhY2goKGNoaXApID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNoaXBJZCA9IGNoaXAuaWQ7XG5cbiAgICAgICAgICAgIGlmIChjaGlwSWQgJiYgdGhpcy5zZWxlY3RlZENoaXBzLmluY2x1ZGVzKGNoaXBJZCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFkZFNlbGVjdGVkU3R5bGVzKGNoaXAuZWwubmF0aXZlRWxlbWVudCk7XG4gICAgICAgICAgICAgICAgdGhpcy5hcHBseUZpbHRlcihudWxsLCBjaGlwLmV1aW1DaGlwU2VsZWN0b3JBbGwsIHRoaXMuc2VsZWN0ZWRDaGlwcyk7XG4gICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJEYXRhLmVtaXQodGhpcy5maWx0ZXJlZERhdGEpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGhpcy5zZWxlY3RlZENoaXBzLmxlbmd0aCA9PT0gMCAmJiBjaGlwLmV1aW1DaGlwU2VsZWN0b3JBbGwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFkZFNlbGVjdGVkU3R5bGVzKGNoaXAuZWwubmF0aXZlRWxlbWVudCk7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENoaXBzID0gWycwJ107XG4gICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJEYXRhLmVtaXQodGhpcy5zb3VyY2VEYXRhKTtcbiAgICAgICAgICAgICAgICB0aGlzLmNsaWNrSXRlbXMuZW1pdCh0aGlzLnNlbGVjdGVkQ2hpcHMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jbGlja0l0ZW1zLmVtaXQodGhpcy5zZWxlY3RlZENoaXBzKTtcbiAgICB9XG5cbiAgICBvbkZpbHRlckNoYW5nZShmaWx0ZXJDb25kaXRpb246IHN0cmluZywgaXNGaWx0ZXJBbGw6IEJvb2xlYW5JbnB1dCwgaXRlbSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc011bHRpU2VsZWN0aW9uTW9kZSkge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVNdWx0aVNlbGVjdGlvbk1vZGUoZmlsdGVyQ29uZGl0aW9uLCBpc0ZpbHRlckFsbCwgaXRlbSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVNpbmdsZVNlbGVjdGlvbk1vZGUoZmlsdGVyQ29uZGl0aW9uLCBpc0ZpbHRlckFsbCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFwcGx5RmlsdGVyKGZpbHRlckNvbmRpdGlvbiwgaXNGaWx0ZXJBbGwsIHRoaXMuZmlsdGVyQ29uZGl0aW9ucyk7XG4gICAgICAgIHRoaXMuZmlsdGVyRGF0YS5lbWl0KHRoaXMuZmlsdGVyZWREYXRhKTtcbiAgICB9XG5cbiAgICBhcHBseUZpbHRlcihmaWx0ZXJDb25kaXRpb246IHN0cmluZywgaXNBbGxGaWx0ZXI6IEJvb2xlYW5JbnB1dCwgbXVsdGlwbGVGaWx0ZXJDb25kaXRpb25zOiBzdHJpbmdbXSk6IHZvaWQge1xuXG4gICAgICAgIGlmIChpc0FsbEZpbHRlciAmJiBtdWx0aXBsZUZpbHRlckNvbmRpdGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IFsuLi50aGlzLnNvdXJjZURhdGFdO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaXNNdWx0aVNlbGVjdGlvbk1vZGUgfHwgbXVsdGlwbGVGaWx0ZXJDb25kaXRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gWy4uLnRoaXMuc291cmNlRGF0YV0uZmlsdGVyKGl0ZW0gPT4gbXVsdGlwbGVGaWx0ZXJDb25kaXRpb25zLmluY2x1ZGVzKGl0ZW0uZmlsdGVySWQpKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gWy4uLnRoaXMuc291cmNlRGF0YV0uZmlsdGVyKGl0ZW0gPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGl0ZW0uZmlsdGVySWQgPT09IGZpbHRlckNvbmRpdGlvbjtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgYWRkU2VsZWN0ZWRTdHlsZXMoaXRlbSk6IHZvaWQge1xuICAgICAgICBpdGVtLmNsYXNzTGlzdC5hZGQoYGV1aW0tY2hpcC1zZWxlY3Rvcl9faXRlbS1zZWxlY3RlZC0tY29sb3ItJHt0aGlzLmNoaXBTZWxlY3RlZENvbG9yfWApO1xuICAgICAgICBpdGVtLnNldEF0dHJpYnV0ZSgnc2VsZWN0ZWQnLCAndHJ1ZScpO1xuICAgIH1cblxuICAgIHJlbW92ZVNlbGVjdGVkU3R5bGVzKGl0ZW0pOiB2b2lkIHtcbiAgICAgICAgaXRlbS5jbGFzc0xpc3QucmVtb3ZlKGBldWltLWNoaXAtc2VsZWN0b3JfX2l0ZW0tc2VsZWN0ZWQtLWNvbG9yLSR7dGhpcy5jaGlwU2VsZWN0ZWRDb2xvcn1gKTtcbiAgICAgICAgaXRlbS5yZW1vdmVBdHRyaWJ1dGUoJ3NlbGVjdGVkJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVNdWx0aVNlbGVjdGlvbk1vZGUoZmlsdGVyQ29uZGl0aW9uOiBzdHJpbmcsIGlzRmlsdGVyQWxsOiBCb29sZWFuSW5wdXQsIGl0ZW0pOiB2b2lkIHtcbiAgICAgICAgaWYgKCFpc0ZpbHRlckFsbCkge1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJDb25kaXRpb25zID0gdGhpcy5zZWxlY3RlZENoaXBzO1xuICAgICAgICAgICAgaWYgKCF0aGlzLmZpbHRlckNvbmRpdGlvbnMuaW5jbHVkZXMoZmlsdGVyQ29uZGl0aW9uKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyQ29uZGl0aW9ucy5wdXNoKGZpbHRlckNvbmRpdGlvbik7XG4gICAgICAgICAgICAgICAgdGhpcy5hZGRTZWxlY3RlZFN0eWxlcyhpdGVtKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5maWx0ZXJDb25kaXRpb25zLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlckNvbmRpdGlvbnMgPSB0aGlzLmZpbHRlckNvbmRpdGlvbnMuZmlsdGVyKGNoaXAgPT4gY2hpcCAhPT0gZmlsdGVyQ29uZGl0aW9uKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZVNlbGVjdGVkU3R5bGVzKGl0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENoaXBzID0gdGhpcy5maWx0ZXJDb25kaXRpb25zLmZpbHRlcihlbCA9PiBlbCAhPT0gJzAnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJBbGxTZWxlY3Rpb25zKCk7XG4gICAgICAgICAgICB0aGlzLmFkZFNlbGVjdGVkU3R5bGVzKGl0ZW0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVTaW5nbGVTZWxlY3Rpb25Nb2RlKGZpbHRlckNvbmRpdGlvbjogc3RyaW5nLCBpc0ZpbHRlckFsbDogQm9vbGVhbklucHV0KTogdm9pZCB7XG4gICAgICAgIGlmIChpc0ZpbHRlckFsbCkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENoaXBzID0gWycwJ107XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2hpcHMgPSBbZmlsdGVyQ29uZGl0aW9uXTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY2xlYXJBbGxTZWxlY3Rpb25zKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmV1aW1DaGlwU2VsZWN0b3JJdGVtQ29tcG9uZW50LmZvckVhY2goY2hpcCA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlbW92ZVNlbGVjdGVkU3R5bGVzKGNoaXAuZWwubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmZpbHRlckNvbmRpdGlvbnMgPSBbXTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENoaXBzID0gWycwJ107XG4gICAgfVxufVxuXG5pbnRlcmZhY2UgRmlsdGVyZWREYXRhIHtcbiAgICBba2V5OiBzdHJpbmddOiBzdHJpbmc7XG59XG4iLCI8ZXVpbS1zY3JvbGxlci14PlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZXVpbS1zY3JvbGxlci14PlxuIl19
@@ -3415,6 +3415,11 @@ class EuimChipSelectorComponent {
3415
3415
  this.updateChipsAndFilterDataAfterInit();
3416
3416
  this.updateChipsAndFilters();
3417
3417
  }
3418
+ ngOnChanges(changes) {
3419
+ if (this.euimChipSelectorItemComponent && this.euimChipSelectorItemComponent.length > 0) {
3420
+ this.clearFiltersAndSelectAll();
3421
+ }
3422
+ }
3418
3423
  getCssClasses() {
3419
3424
  return [
3420
3425
  'euim-chip-selector',
@@ -3460,6 +3465,18 @@ class EuimChipSelectorComponent {
3460
3465
  });
3461
3466
  });
3462
3467
  }
3468
+ clearFiltersAndSelectAll() {
3469
+ this.clearAllSelections();
3470
+ let isFirstElement = true;
3471
+ this.euimChipSelectorItemComponent.forEach(chip => {
3472
+ if (isFirstElement) {
3473
+ this.addSelectedStyles(chip.el.nativeElement);
3474
+ isFirstElement = false;
3475
+ }
3476
+ });
3477
+ this.filterData.emit(this.sourceData);
3478
+ this.clickItems.emit(this.selectedChips);
3479
+ }
3463
3480
  updateChipsAndFilterDataAfterInit() {
3464
3481
  this.euimChipSelectorItemComponent.forEach(chip => {
3465
3482
  this.removeSelectedStyles(chip.el.nativeElement);
@@ -3548,7 +3565,7 @@ class EuimChipSelectorComponent {
3548
3565
  this.selectedChips = ['0'];
3549
3566
  }
3550
3567
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EuimChipSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3551
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EuimChipSelectorComponent, selector: "euim-chip-selector", inputs: { backgroundColor: "backgroundColor", chipColor: "chipColor", color: "color", chipSelectedColor: "chipSelectedColor", chipFill: "chipFill", sourceData: "sourceData", selectedChips: "selectedChips", isMultiSelectionMode: "isMultiSelectionMode" }, outputs: { filterData: "filterData", clickItems: "clickItems" }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "euimChipSelectorItemComponent", predicate: EuimChipSelectorItemDirective, descendants: true }], ngImport: i0, template: "<euim-scroller-x>\n <ng-content></ng-content>\n</euim-scroller-x>\n", styles: [".euim-chip-selector{padding:var(--eui-base-spacing-xs) 0 var(--eui-base-spacing-xs) var(--eui-base-spacing-xs);display:flex;align-items:center}.euim-chip-selector ion-chip{margin:0 var(--eui-base-spacing-xs) 0 0}.euim-chip-selector__item--fill-default,.euim-chip-selector--fill-solid{border:none}.euim-chip-selector__item--fill-outline{background-color:transparent!important;border-width:1px;border-style:solid}.euim-chip-selector__item--fill-clear{background-color:transparent!important;border:none}.euim-chip-selector__item--fill-outline-solid{border-width:1px;border-style:solid}.euim-chip-selector--background-color-primary{background-color:var(--eui-base-color-primary-100)}.euim-chip-selector__item--color-success{background-color:var(--eui-base-color-success-25);border-color:var(--eui-base-color-success-25);color:var(--eui-base-color-success-100)}.euim-chip-selector__item--color-success.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-success-50)}.euim-chip-selector__item--color-warning{background-color:var(--eui-base-color-warning-25);border-color:var(--eui-base-color-warning-25);color:var(--eui-base-color-warning-140)}.euim-chip-selector__item--color-warning.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-warning-50)}.euim-chip-selector__item--color-danger{background-color:var(--eui-base-color-danger-25);border-color:var(--eui-base-color-danger-25);color:var(--eui-base-color-danger-100)}.euim-chip-selector__item--color-danger.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-danger-50)}.euim-chip-selector__item--color-primary{background-color:var(--eui-base-color-primary-25);border-color:var(--eui-base-color-primary-25);color:var(--eui-base-color-primary-100)}.euim-chip-selector__item--color-primary.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-primary-50)}.euim-chip-selector__item--color-info{background-color:var(--eui-base-color-info-25);border-color:var(--eui-base-color-info-25);color:var(--eui-base-color-info-100)}.euim-chip-selector__item--color-info.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-info-50)}.euim-chip-selector__item--color-dark{background-color:var(--eui-base-color-grey-100);border-color:var(--eui-base-color-grey-100);color:var(--eui-base-color-white)}.euim-chip-selector__item--color-dark.euim-chip-selector__item--fill-outline{color:var(--eui-base-color-grey-100)}.euim-chip-selector__item--color-white{background-color:var(--eui-base-color-white);border-color:var(--eui-base-color-white);color:var(--eui-base-color-grey-100)}.euim-chip-selector__item--color-white.euim-chip-selector__item--fill-outline{color:var(--eui-base-color-white)}.euim-chip-selector__item--color-default{background-color:var(--eui-base-grey-15);border-color:var(--eui-base-color-grey-15);color:var(--eui-base-color-grey-100)}.euim-chip-selector__item--color-default.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-grey-50)}ion-chip.euim-chip-selector__item-selected--color-white{background-color:var(--eui-base-color-white)!important;border-color:var(--eui-base-color-white)!important;color:var(--eui-base-color-grey-100)!important}ion-chip.euim-chip-selector__item-selected--color-dark{background-color:var(--eui-base-color-grey-100)!important;border-color:var(--eui-base-color-grey-100)!important;color:var(--eui-base-color-white)!important}\n"], dependencies: [{ kind: "component", type: EuimScrollerXComponent, selector: "euim-scroller-x" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
3568
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EuimChipSelectorComponent, selector: "euim-chip-selector", inputs: { backgroundColor: "backgroundColor", chipColor: "chipColor", color: "color", chipSelectedColor: "chipSelectedColor", chipFill: "chipFill", sourceData: "sourceData", selectedChips: "selectedChips", isMultiSelectionMode: "isMultiSelectionMode" }, outputs: { filterData: "filterData", clickItems: "clickItems" }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "euimChipSelectorItemComponent", predicate: EuimChipSelectorItemDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<euim-scroller-x>\n <ng-content></ng-content>\n</euim-scroller-x>\n", styles: [".euim-chip-selector{padding:var(--eui-base-spacing-xs) 0 var(--eui-base-spacing-xs) var(--eui-base-spacing-xs);display:flex;align-items:center}.euim-chip-selector ion-chip{margin:0 var(--eui-base-spacing-xs) 0 0}.euim-chip-selector__item--fill-default,.euim-chip-selector--fill-solid{border:none}.euim-chip-selector__item--fill-outline{background-color:transparent!important;border-width:1px;border-style:solid}.euim-chip-selector__item--fill-clear{background-color:transparent!important;border:none}.euim-chip-selector__item--fill-outline-solid{border-width:1px;border-style:solid}.euim-chip-selector--background-color-primary{background-color:var(--eui-base-color-primary-100)}.euim-chip-selector__item--color-success{background-color:var(--eui-base-color-success-25);border-color:var(--eui-base-color-success-25);color:var(--eui-base-color-success-100)}.euim-chip-selector__item--color-success.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-success-50)}.euim-chip-selector__item--color-warning{background-color:var(--eui-base-color-warning-25);border-color:var(--eui-base-color-warning-25);color:var(--eui-base-color-warning-140)}.euim-chip-selector__item--color-warning.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-warning-50)}.euim-chip-selector__item--color-danger{background-color:var(--eui-base-color-danger-25);border-color:var(--eui-base-color-danger-25);color:var(--eui-base-color-danger-100)}.euim-chip-selector__item--color-danger.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-danger-50)}.euim-chip-selector__item--color-primary{background-color:var(--eui-base-color-primary-25);border-color:var(--eui-base-color-primary-25);color:var(--eui-base-color-primary-100)}.euim-chip-selector__item--color-primary.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-primary-50)}.euim-chip-selector__item--color-info{background-color:var(--eui-base-color-info-25);border-color:var(--eui-base-color-info-25);color:var(--eui-base-color-info-100)}.euim-chip-selector__item--color-info.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-info-50)}.euim-chip-selector__item--color-dark{background-color:var(--eui-base-color-grey-100);border-color:var(--eui-base-color-grey-100);color:var(--eui-base-color-white)}.euim-chip-selector__item--color-dark.euim-chip-selector__item--fill-outline{color:var(--eui-base-color-grey-100)}.euim-chip-selector__item--color-white{background-color:var(--eui-base-color-white);border-color:var(--eui-base-color-white);color:var(--eui-base-color-grey-100)}.euim-chip-selector__item--color-white.euim-chip-selector__item--fill-outline{color:var(--eui-base-color-white)}.euim-chip-selector__item--color-default{background-color:var(--eui-base-grey-15);border-color:var(--eui-base-color-grey-15);color:var(--eui-base-color-grey-100)}.euim-chip-selector__item--color-default.euim-chip-selector__item--fill-outline{border-color:var(--eui-base-color-grey-50)}ion-chip.euim-chip-selector__item-selected--color-white{background-color:var(--eui-base-color-white)!important;border-color:var(--eui-base-color-white)!important;color:var(--eui-base-color-grey-100)!important}ion-chip.euim-chip-selector__item-selected--color-dark{background-color:var(--eui-base-color-grey-100)!important;border-color:var(--eui-base-color-grey-100)!important;color:var(--eui-base-color-white)!important}\n"], dependencies: [{ kind: "component", type: EuimScrollerXComponent, selector: "euim-scroller-x" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
3552
3569
  }
3553
3570
  __decorate([
3554
3571
  coerceBoolean