@eui/ecl 17.3.4 → 17.3.5-snapshot-1715822309799

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,16 +1,18 @@
1
1
  import { __decorate } from "tslib";
2
- import { Component, Input, ViewChild } from '@angular/core';
2
+ import { Component, Inject, Input, Optional, ViewChild } from '@angular/core';
3
3
  import { coerceBoolean, coerceElement } from '@eui/base';
4
4
  import { of, switchMap } from 'rxjs';
5
5
  import { ECLBaseDirective } from '../ecl-base.directive';
6
+ import { EUI_CONFIG_TOKEN } from '@eui/core';
6
7
  import * as i0 from "@angular/core";
7
8
  import * as i1 from "../../services";
8
9
  import * as i2 from "@angular/common";
9
10
  export class EclIconComponent extends ECLBaseDirective {
10
- constructor(el, eclThemeService) {
11
+ constructor(el, eclThemeService, config) {
11
12
  super();
12
13
  this.el = el;
13
14
  this.eclThemeService = eclThemeService;
15
+ this.config = config;
14
16
  this.iconSet = 'default';
15
17
  this.size = 'xs';
16
18
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -19,6 +21,7 @@ export class EclIconComponent extends ECLBaseDirective {
19
21
  this.ariaHidden = true;
20
22
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
21
23
  this.focusable = false;
24
+ this.assetsBaseUrl = 'assets';
22
25
  }
23
26
  ngOnChanges(changes) {
24
27
  if (changes['icon']) {
@@ -26,6 +29,10 @@ export class EclIconComponent extends ECLBaseDirective {
26
29
  }
27
30
  }
28
31
  ngOnInit() {
32
+ const configBaseUrl = this.config?.appConfig?.global?.eui?.assetsBaseUrl;
33
+ if (configBaseUrl) {
34
+ this.assetsBaseUrl = this.config.appConfig.global.eui.assetsBaseUrl;
35
+ }
29
36
  this.initiateIconUrl();
30
37
  }
31
38
  ngAfterViewInit() {
@@ -71,21 +78,21 @@ export class EclIconComponent extends ECLBaseDirective {
71
78
  this.iconUrl$ = this.eclThemeService.theme$.pipe(switchMap((theme) => {
72
79
  switch (this.iconSet) {
73
80
  case 'default':
74
- return of(`assets/images/ecl/${theme}/icons/sprites/icons.svg#${this.icon}`);
81
+ return of(`${this.assetsBaseUrl}/images/ecl/${theme}/icons/sprites/icons.svg#${this.icon}`);
75
82
  case 'social':
76
- return of(`assets/images/ecl/${theme}/social-icons/sprites/icons-social.svg#${this.icon}`);
83
+ return of(`${this.assetsBaseUrl}/images/ecl/${theme}/social-icons/sprites/icons-social.svg#${this.icon}`);
77
84
  case 'social-media':
78
- return of(`assets/images/ecl/${theme}/icons-social-media/sprites/icons-social-media.svg#${this.icon}`);
85
+ return of(`${this.assetsBaseUrl}/images/ecl/${theme}/icons-social-media/sprites/icons-social-media.svg#${this.icon}`);
79
86
  case 'flag':
80
- return of(`assets/images/ecl/${theme}/icons-flag/sprites/icons-flag.svg#${this.icon}`);
87
+ return of(`${this.assetsBaseUrl}/images/ecl/${theme}/icons-flag/sprites/icons-flag.svg#${this.icon}`);
81
88
  case 'flag-non-members':
82
- return of(`assets/images/ecl/${theme}/icons-flag/sprites/icons-flag-non-members.svg#${this.icon}`);
89
+ return of(`${this.assetsBaseUrl}/images/ecl/${theme}/icons-flag/sprites/icons-flag-non-members.svg#${this.icon}`);
83
90
  default:
84
91
  return of(`${this.iconSet}#${this.icon}`);
85
92
  }
86
93
  }));
87
94
  }
88
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: EclIconComponent, deps: [{ token: i0.ElementRef }, { token: i1.EclThemeService }], target: i0.ɵɵFactoryTarget.Component }); }
95
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: EclIconComponent, deps: [{ token: i0.ElementRef }, { token: i1.EclThemeService }, { token: EUI_CONFIG_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
89
96
  /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.7", type: EclIconComponent, selector: "ecl-icon", inputs: { iconSet: "iconSet", icon: "icon", size: "size", color: "color", transform: "transform", ariaLabelledby: "ariaLabelledby", role: "role", isInverted: "isInverted", ariaHidden: "ariaHidden", focusable: "focusable" }, viewQueries: [{ propertyName: "svgEl", first: true, predicate: ["svg"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<svg\n #svg\n [ngClass]=\"getClasses()\"\n [attr.aria-hidden]=\"ariaHidden\"\n [attr.aria-labelledby]=\"ariaLabelledby || null\"\n [attr.role]=\"role || null\"\n [attr.focusable]=\"focusable\">\n <use [attr.xlink:href]=\"iconUrl$ | async\"></use>\n <ng-content></ng-content>\n</svg>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] }); }
90
97
  }
91
98
  __decorate([
@@ -103,7 +110,12 @@ __decorate([
103
110
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: EclIconComponent, decorators: [{
104
111
  type: Component,
105
112
  args: [{ selector: 'ecl-icon', template: "<svg\n #svg\n [ngClass]=\"getClasses()\"\n [attr.aria-hidden]=\"ariaHidden\"\n [attr.aria-labelledby]=\"ariaLabelledby || null\"\n [attr.role]=\"role || null\"\n [attr.focusable]=\"focusable\">\n <use [attr.xlink:href]=\"iconUrl$ | async\"></use>\n <ng-content></ng-content>\n</svg>\n" }]
106
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.EclThemeService }], propDecorators: { iconSet: [{
113
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.EclThemeService }, { type: undefined, decorators: [{
114
+ type: Optional
115
+ }, {
116
+ type: Inject,
117
+ args: [EUI_CONFIG_TOKEN]
118
+ }] }], propDecorators: { iconSet: [{
107
119
  type: Input
108
120
  }], icon: [{
109
121
  type: Input
@@ -127,4 +139,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImpor
127
139
  type: ViewChild,
128
140
  args: ['svg']
129
141
  }] } });
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWljb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2VjbC1pY29uL2VjbC1pY29uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtaWNvbi9lY2wtaWNvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFpQixTQUFTLEVBQWMsS0FBSyxFQUErQyxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEksT0FBTyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDekQsT0FBTyxFQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFakQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7QUFNekQsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGdCQUFnQjtJQW1CbEQsWUFDVyxFQUFjLEVBQ2IsZUFBZ0M7UUFFeEMsS0FBSyxFQUFFLENBQUM7UUFIRCxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ2Isb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBcEJuQyxZQUFPLEdBQTRELFNBQVMsQ0FBQztRQUU3RSxTQUFJLEdBQXFFLElBQUksQ0FBQztRQUt2Riw4REFBOEQ7UUFDdEMsZUFBVSxHQUFrQixLQUFLLENBQUM7UUFDMUQsOERBQThEO1FBQ3RDLGVBQVUsR0FBa0IsSUFBSSxDQUFDO1FBQ3pELDhEQUE4RDtRQUN0QyxjQUFTLEdBQWtCLEtBQUssQ0FBQztJQVd6RCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztTQUMxQjtJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLGVBQWUs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Z0JBQWdCLDBaQ1Y3QixzVEFVQTs7QURTNEI7SUFBdkIsYUFBYTtvREFBNEM7QUFFbEM7SUFBdkIsYUFBYTtvREFBMkM7QUFFakM7SUFBdkIsYUFBYTttREFBMkM7QUFFeEI7SUFBaEMsYUFBYTsrQ0FBa0M7MkZBZnZDLGdCQUFnQjtrQkFKNUIsU0FBUzsrQkFDSSxVQUFVOzZHQUlYLE9BQU87c0JBQWYsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUVrQixVQUFVO3NCQUFsQixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkFFWSxLQUFLO3NCQUF0QixTQUFTO3VCQUFDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT25Jbml0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW4sIGNvZXJjZUVsZW1lbnQgfSBmcm9tICdAZXVpL2Jhc2UnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRWNsVGhlbWVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgRUNMQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4uL2VjbC1iYXNlLmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZWNsLWljb24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9lY2wtaWNvbi5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIEVjbEljb25Db21wb25lbnQgZXh0ZW5kcyBFQ0xCYXNlRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgaWNvblNldDogJ2RlZmF1bHQnIHwgJ3NvY2lhbCcgfCAnc29jaWFsLW1lZGlhJyB8ICdmbGFnJyB8IHN0cmluZyA9ICdkZWZhdWx0JztcbiAgICBASW5wdXQoKSBpY29uOiBzdHJpbmc7XG4gICAgQElucHV0KCkgc2l6ZTogJzJ4cycgfCAneHMnIHwgJ3MnIHwgJ20nIHwgJ2wnIHwgJ3hsJyB8ICcyeGwnIHwgJ2ZsdWlkJyB8IHN0cmluZyA9ICd4cyc7XG4gICAgQElucHV0KCkgY29sb3I6IHN0cmluZztcbiAgICBASW5wdXQoKSB0cmFuc2Zvcm06IHN0cmluZztcbiAgICBASW5wdXQoKSBhcmlhTGFiZWxsZWRieTogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHJvbGU6IHN0cmluZztcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIEBjb2VyY2VCb29sZWFuIEBJbnB1dCgpIGlzSW52ZXJ0ZWQ6IGJvb2xlYW4gfCBhbnkgPSBmYWxzZTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIEBjb2VyY2VCb29sZWFuIEBJbnB1dCgpIGFyaWFIaWRkZW46IGJvb2xlYW4gfCBhbnkgPSB0cnVlO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgQGNvZXJjZUJvb2xlYW4gQElucHV0KCkgZm9jdXNhYmxlOiBib29sZWFuIHwgYW55ID0gZmFsc2U7XG5cbiAgICBAY29lcmNlRWxlbWVudCBAVmlld0NoaWxkKCdzdmcnKSBzdmdFbDogRWxlbWVudDtcblxuICAgIGljb25VcmwkOiBPYnNlcnZhYmxlPHN0cmluZz47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGVsOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIGVjbFRoZW1lU2VydmljZTogRWNsVGhlbWVTZXJ2aWNlLFxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNoYW5nZXNbJ2ljb24nXSkge1xuICAgICAgICAgICAgdGhpcy5pbml0aWF0ZUljb25VcmwoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmluaXRpYXRlSWNvblVybCgpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaG9zdEVsOiBIVE1MRWxlbWVudCA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKTtcbiAgICAgICAgY29uc3QgaG9zdFBhcmVudEVsID0gdGhpcy5nZXRIb3N0UGFyZW50RWxlbWVudChob3N0RWwpO1xuXG4gICAgICAgIGlmIChob3N0UGFyZW50RWwgIT0gbnVsbCkge1xuICAgICAgICAgICAgaG9zdEVsLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICAgICAgICBob3N0RWwuYWZ0ZXIodGhpcy5zdmdFbCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnN2Z0VsKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaG9zdFBhcmVudEVsID0gdGhpcy5zdmdFbC5wYXJlbnRFbGVtZW50O1xuICAgICAgICAgICAgICAgIGlmIChob3N0UGFyZW50RWwpIHtcbiAgICAgICAgICAgICAgICAgICAgaG9zdFBhcmVudEVsLnJlbW92ZUNoaWxkKHRoaXMuc3ZnRWwpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgLyogZW1wdHkgKi9cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgZ2V0Q2xhc3NlcygpOiB7IFt4OiBzdHJpbmddOiBhbnkgfSB7XG4gICAgICAgIGNvbnN0IGhvc3RDbGFzc2VzID0gdGhpcy5nZXRIb3N0RWxlbWVudCgpLmNsYXNzTGlzdC50b1N0cmluZygpO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBbc3VwZXIuZ2V0Q3NzQ2xhc3NlcygnZWNsLWljb24nKV06IHRydWUsXG4gICAgICAgICAgICBbYGVjbC1pY29uLS0ke3RoaXMuc2l6ZX1gXTogdGhpcy5zaXplLFxuICAgICAgICAgICAgW2BlY2wtaWNvbi0tJHt0aGlzLnRyYW5zZm9ybX1gXTogdGhpcy50cmFuc2Zvcm0sXG4gICAgICAgICAgICBbYGVjbC1pY29uLS0ke3RoaXMuY29sb3J9YF06IHRoaXMuY29sb3IsXG4gICAgICAgICAgICBbJ2VjbC1pY29uLS1pbnZlcnRlZCddOiB0aGlzLmlzSW52ZXJ0ZWQsXG4gICAgICAgICAgICBbaG9zdENsYXNzZXNdOiB0cnVlLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0SG9zdEVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0SG9zdFBhcmVudEVsZW1lbnQoaG9zdEVsOiBIVE1MRWxlbWVudCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIGhvc3RFbC5wYXJlbnRFbGVtZW50O1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdGlhdGVJY29uVXJsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmljb25VcmwkID0gdGhpcy5lY2xUaGVtZVNlcnZpY2UudGhlbWUkLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKHRoZW1lKSA9PiB7XG4gICAgICAgICAgICAgICAgc3dpdGNoICh0aGlzLmljb25TZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnZGVmYXVsdCc6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YoYGFzc2V0cy9pbWFnZXMvZWNsLyR7dGhlbWV9L2ljb25zL3Nwcml0ZXMvaWNvbnMuc3ZnIyR7dGhpcy5pY29ufWApO1xuICAgICAgICAgICAgICAgICAgICBjYXNlICdzb2NpYWwnOlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKGBhc3NldHMvaW1hZ2VzL2VjbC8ke3RoZW1lfS9zb2NpYWwtaWNvbnMvc3ByaXRlcy9pY29ucy1zb2NpYWwuc3ZnIyR7dGhpcy5pY29ufWApO1xuICAgICAgICAgICAgICAgICAgICBjYXNlICdzb2NpYWwtbWVkaWEnOlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKGBhc3NldHMvaW1hZ2VzL2VjbC8ke3RoZW1lfS9pY29ucy1zb2NpYWwtbWVkaWEvc3ByaXRlcy9pY29ucy1zb2NpYWwtbWVkaWEuc3ZnIyR7dGhpcy5pY29ufWApO1xuICAgICAgICAgICAgICAgICAgICBjYXNlICdmbGFnJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvZihgYXNzZXRzL2ltYWdlcy9lY2wvJHt0aGVtZX0vaWNvbnMtZmxhZy9zcHJpdGVzL2ljb25zLWZsYWcuc3ZnIyR7dGhpcy5pY29ufWApO1xuICAgICAgICAgICAgICAgICAgICBjYXNlICdmbGFnLW5vbi1tZW1iZXJzJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvZihgYXNzZXRzL2ltYWdlcy9lY2wvJHt0aGVtZX0vaWNvbnMtZmxhZy9zcHJpdGVzL2ljb25zLWZsYWctbm9uLW1lbWJlcnMuc3ZnIyR7dGhpcy5pY29ufWApO1xuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKGAke3RoaXMuaWNvblNldH0jJHt0aGlzLmljb259YCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfVxufVxuIiwiPHN2Z1xuICAgICNzdmdcbiAgICBbbmdDbGFzc109XCJnZXRDbGFzc2VzKClcIlxuICAgIFthdHRyLmFyaWEtaGlkZGVuXT1cImFyaWFIaWRkZW5cIlxuICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRieSB8fCBudWxsXCJcbiAgICBbYXR0ci5yb2xlXT1cInJvbGUgfHwgbnVsbFwiXG4gICAgW2F0dHIuZm9jdXNhYmxlXT1cImZvY3VzYWJsZVwiPlxuICAgIDx1c2UgW2F0dHIueGxpbms6aHJlZl09XCJpY29uVXJsJCB8IGFzeW5jXCI+PC91c2U+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9zdmc+XG4iXX0=
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWljb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2VjbC1pY29uL2VjbC1pY29uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtaWNvbi9lY2wtaWNvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFpQixTQUFTLEVBQWMsTUFBTSxFQUFFLEtBQUssRUFBZ0MsUUFBUSxFQUFpQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEosT0FBTyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDekQsT0FBTyxFQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFakQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFhLE1BQU0sV0FBVyxDQUFDOzs7O0FBTXhELE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxnQkFBZ0I7SUFxQmxELFlBQ1csRUFBYyxFQUNiLGVBQWdDLEVBQ00sTUFBaUI7UUFFL0QsS0FBSyxFQUFFLENBQUM7UUFKRCxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ2Isb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ00sV0FBTSxHQUFOLE1BQU0sQ0FBVztRQXZCMUQsWUFBTyxHQUE0RCxTQUFTLENBQUM7UUFFN0UsU0FBSSxHQUFxRSxJQUFJLENBQUM7UUFLdkYsOERBQThEO1FBQ3RDLGVBQVUsR0FBa0IsS0FBSyxDQUFDO1FBQzFELDhEQUE4RDtRQUN0QyxlQUFVLEdBQWtCLElBQUksQ0FBQztRQUN6RCw4REFBOEQ7UUFDdEMsY0FBUyxHQUFrQixLQUFLLENBQUM7UUFNakQsa0JBQWEsR0FBRyxRQUFRLENBQUM7SUFRakMsQ0FBQztJQUVELFdB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cG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5qZWN0LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3B0aW9uYWwsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhbiwgY29lcmNlRWxlbWVudCB9IGZyb20gJ0BldWkvYmFzZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFY2xUaGVtZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBFQ0xCYXNlRGlyZWN0aXZlIH0gZnJvbSAnLi4vZWNsLWJhc2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IEVVSV9DT05GSUdfVE9LRU4sIEV1aUNvbmZpZyB9IGZyb20gJ0BldWkvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZWNsLWljb24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9lY2wtaWNvbi5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIEVjbEljb25Db21wb25lbnQgZXh0ZW5kcyBFQ0xCYXNlRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgaWNvblNldDogJ2RlZmF1bHQnIHwgJ3NvY2lhbCcgfCAnc29jaWFsLW1lZGlhJyB8ICdmbGFnJyB8IHN0cmluZyA9ICdkZWZhdWx0JztcbiAgICBASW5wdXQoKSBpY29uOiBzdHJpbmc7XG4gICAgQElucHV0KCkgc2l6ZTogJzJ4cycgfCAneHMnIHwgJ3MnIHwgJ20nIHwgJ2wnIHwgJ3hsJyB8ICcyeGwnIHwgJ2ZsdWlkJyB8IHN0cmluZyA9ICd4cyc7XG4gICAgQElucHV0KCkgY29sb3I6IHN0cmluZztcbiAgICBASW5wdXQoKSB0cmFuc2Zvcm06IHN0cmluZztcbiAgICBASW5wdXQoKSBhcmlhTGFiZWxsZWRieTogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHJvbGU6IHN0cmluZztcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIEBjb2VyY2VCb29sZWFuIEBJbnB1dCgpIGlzSW52ZXJ0ZWQ6IGJvb2xlYW4gfCBhbnkgPSBmYWxzZTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIEBjb2VyY2VCb29sZWFuIEBJbnB1dCgpIGFyaWFIaWRkZW46IGJvb2xlYW4gfCBhbnkgPSB0cnVlO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgQGNvZXJjZUJvb2xlYW4gQElucHV0KCkgZm9jdXNhYmxlOiBib29sZWFuIHwgYW55ID0gZmFsc2U7XG5cbiAgICBAY29lcmNlRWxlbWVudCBAVmlld0NoaWxkKCdzdmcnKSBzdmdFbDogRWxlbWVudDtcblxuICAgIGljb25VcmwkOiBPYnNlcnZhYmxlPHN0cmluZz47XG5cbiAgICBwcml2YXRlIGFzc2V0c0Jhc2VVcmwgPSAnYXNzZXRzJztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgZWw6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgZWNsVGhlbWVTZXJ2aWNlOiBFY2xUaGVtZVNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRVVJX0NPTkZJR19UT0tFTikgcHJpdmF0ZSBjb25maWc6IEV1aUNvbmZpZyxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzWydpY29uJ10pIHtcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhdGVJY29uVXJsKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY29uZmlnQmFzZVVybCA9IHRoaXMuY29uZmlnPy5hcHBDb25maWc/Lmdsb2JhbD8uZXVpPy5hc3NldHNCYXNlVXJsO1xuICAgICAgICBpZiAoY29uZmlnQmFzZVVybCkge1xuICAgICAgICAgICAgdGhpcy5hc3NldHNCYXNlVXJsID0gdGhpcy5jb25maWcuYXBwQ29uZmlnLmdsb2JhbC5ldWkuYXNzZXRzQmFzZVVybDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmluaXRpYXRlSWNvblVybCgpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaG9zdEVsOiBIVE1MRWxlbWVudCA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKTtcbiAgICAgICAgY29uc3QgaG9zdFBhcmVudEVsID0gdGhpcy5nZXRIb3N0UGFyZW50RWxlbWVudChob3N0RWwpO1xuXG4gICAgICAgIGlmIChob3N0UGFyZW50RWwgIT0gbnVsbCkge1xuICAgICAgICAgICAgaG9zdEVsLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICAgICAgICBob3N0RWwuYWZ0ZXIodGhpcy5zdmdFbCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnN2Z0VsKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaG9zdFBhcmVudEVsID0gdGhpcy5zdmdFbC5wYXJlbnRFbGVtZW50O1xuICAgICAgICAgICAgICAgIGlmIChob3N0UGFyZW50RWwpIHtcbiAgICAgICAgICAgICAgICAgICAgaG9zdFBhcmVudEVsLnJlbW92ZUNoaWxkKHRoaXMuc3ZnRWwpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgLyogZW1wdHkgKi9cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgZ2V0Q2xhc3NlcygpOiB7IFt4OiBzdHJpbmddOiBhbnkgfSB7XG4gICAgICAgIGNvbnN0IGhvc3RDbGFzc2VzID0gdGhpcy5nZXRIb3N0RWxlbWVudCgpLmNsYXNzTGlzdC50b1N0cmluZygpO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBbc3VwZXIuZ2V0Q3NzQ2xhc3NlcygnZWNsLWljb24nKV06IHRydWUsXG4gICAgICAgICAgICBbYGVjbC1pY29uLS0ke3RoaXMuc2l6ZX1gXTogdGhpcy5zaXplLFxuICAgICAgICAgICAgW2BlY2wtaWNvbi0tJHt0aGlzLnRyYW5zZm9ybX1gXTogdGhpcy50cmFuc2Zvcm0sXG4gICAgICAgICAgICBbYGVjbC1pY29uLS0ke3RoaXMuY29sb3J9YF06IHRoaXMuY29sb3IsXG4gICAgICAgICAgICBbJ2VjbC1pY29uLS1pbnZlcnRlZCddOiB0aGlzLmlzSW52ZXJ0ZWQsXG4gICAgICAgICAgICBbaG9zdENsYXNzZXNdOiB0cnVlLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0SG9zdEVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0SG9zdFBhcmVudEVsZW1lbnQoaG9zdEVsOiBIVE1MRWxlbWVudCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIGhvc3RFbC5wYXJlbnRFbGVtZW50O1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdGlhdGVJY29uVXJsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmljb25VcmwkID0gdGhpcy5lY2xUaGVtZVNlcnZpY2UudGhlbWUkLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKHRoZW1lKSA9PiB7XG4gICAgICAgICAgICAgICAgc3dpdGNoICh0aGlzLmljb25TZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnZGVmYXVsdCc6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YoYCR7dGhpcy5hc3NldHNCYXNlVXJsfS9pbWFnZXMvZWNsLyR7dGhlbWV9L2ljb25zL3Nwcml0ZXMvaWNvbnMuc3ZnIyR7dGhpcy5pY29ufWApO1xuICAgICAgICAgICAgICAgICAgICBjYXNlICdzb2NpYWwnOlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKGAke3RoaXMuYXNzZXRzQmFzZVVybH0vaW1hZ2VzL2VjbC8ke3RoZW1lfS9zb2NpYWwtaWNvbnMvc3ByaXRlcy9pY29ucy1zb2NpYWwuc3ZnIyR7dGhpcy5pY29ufWApO1xuICAgICAgICAgICAgICAgICAgICBjYXNlICdzb2NpYWwtbWVkaWEnOlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKGAke3RoaXMuYXNzZXRzQmFzZVVybH0vaW1hZ2VzL2VjbC8ke3RoZW1lfS9pY29ucy1zb2NpYWwtbWVkaWEvc3ByaXRlcy9pY29ucy1zb2NpYWwtbWVkaWEuc3ZnIyR7dGhpcy5pY29ufWApO1xuICAgICAgICAgICAgICAgICAgICBjYXNlICdmbGFnJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvZihgJHt0aGlzLmFzc2V0c0Jhc2VVcmx9L2ltYWdlcy9lY2wvJHt0aGVtZX0vaWNvbnMtZmxhZy9zcHJpdGVzL2ljb25zLWZsYWcuc3ZnIyR7dGhpcy5pY29ufWApO1xuICAgICAgICAgICAgICAgICAgICBjYXNlICdmbGFnLW5vbi1tZW1iZXJzJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvZihgJHt0aGlzLmFzc2V0c0Jhc2VVcmx9L2ltYWdlcy9lY2wvJHt0aGVtZX0vaWNvbnMtZmxhZy9zcHJpdGVzL2ljb25zLWZsYWctbm9uLW1lbWJlcnMuc3ZnIyR7dGhpcy5pY29ufWApO1xuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKGAke3RoaXMuaWNvblNldH0jJHt0aGlzLmljb259YCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfVxufVxuIiwiPHN2Z1xuICAgICNzdmdcbiAgICBbbmdDbGFzc109XCJnZXRDbGFzc2VzKClcIlxuICAgIFthdHRyLmFyaWEtaGlkZGVuXT1cImFyaWFIaWRkZW5cIlxuICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRieSB8fCBudWxsXCJcbiAgICBbYXR0ci5yb2xlXT1cInJvbGUgfHwgbnVsbFwiXG4gICAgW2F0dHIuZm9jdXNhYmxlXT1cImZvY3VzYWJsZVwiPlxuICAgIDx1c2UgW2F0dHIueGxpbms6aHJlZl09XCJpY29uVXJsJCB8IGFzeW5jXCI+PC91c2U+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9zdmc+XG4iXX0=
@@ -10,7 +10,7 @@ import { coerceBoolean, coerceElement, coerceArray, coerceNumber, DefaultConfig,
10
10
  import { coerceNumberProperty, coerceBooleanProperty } from '@angular/cdk/coercion';
11
11
  import { ReplaySubject, Subject, takeUntil, map, switchMap, of, fromEvent, debounceTime, interval, delay, distinctUntilChanged } from 'rxjs';
12
12
  import * as i1 from '@eui/core';
13
- import { GLOBAL_CONFIG_TOKEN } from '@eui/core';
13
+ import { GLOBAL_CONFIG_TOKEN, EUI_CONFIG_TOKEN } from '@eui/core';
14
14
  import * as i2 from '@angular/router';
15
15
  import { RouterModule } from '@angular/router';
16
16
  import { takeUntil as takeUntil$1, mergeWith } from 'rxjs/operators';
@@ -494,10 +494,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImpor
494
494
  }] }, { type: EclThemeService }, { type: EclDefaultLanguageService }] });
495
495
 
496
496
  class EclIconComponent extends ECLBaseDirective {
497
- constructor(el, eclThemeService) {
497
+ constructor(el, eclThemeService, config) {
498
498
  super();
499
499
  this.el = el;
500
500
  this.eclThemeService = eclThemeService;
501
+ this.config = config;
501
502
  this.iconSet = 'default';
502
503
  this.size = 'xs';
503
504
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -506,6 +507,7 @@ class EclIconComponent extends ECLBaseDirective {
506
507
  this.ariaHidden = true;
507
508
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
508
509
  this.focusable = false;
510
+ this.assetsBaseUrl = 'assets';
509
511
  }
510
512
  ngOnChanges(changes) {
511
513
  if (changes['icon']) {
@@ -513,6 +515,10 @@ class EclIconComponent extends ECLBaseDirective {
513
515
  }
514
516
  }
515
517
  ngOnInit() {
518
+ const configBaseUrl = this.config?.appConfig?.global?.eui?.assetsBaseUrl;
519
+ if (configBaseUrl) {
520
+ this.assetsBaseUrl = this.config.appConfig.global.eui.assetsBaseUrl;
521
+ }
516
522
  this.initiateIconUrl();
517
523
  }
518
524
  ngAfterViewInit() {
@@ -558,21 +564,21 @@ class EclIconComponent extends ECLBaseDirective {
558
564
  this.iconUrl$ = this.eclThemeService.theme$.pipe(switchMap((theme) => {
559
565
  switch (this.iconSet) {
560
566
  case 'default':
561
- return of(`assets/images/ecl/${theme}/icons/sprites/icons.svg#${this.icon}`);
567
+ return of(`${this.assetsBaseUrl}/images/ecl/${theme}/icons/sprites/icons.svg#${this.icon}`);
562
568
  case 'social':
563
- return of(`assets/images/ecl/${theme}/social-icons/sprites/icons-social.svg#${this.icon}`);
569
+ return of(`${this.assetsBaseUrl}/images/ecl/${theme}/social-icons/sprites/icons-social.svg#${this.icon}`);
564
570
  case 'social-media':
565
- return of(`assets/images/ecl/${theme}/icons-social-media/sprites/icons-social-media.svg#${this.icon}`);
571
+ return of(`${this.assetsBaseUrl}/images/ecl/${theme}/icons-social-media/sprites/icons-social-media.svg#${this.icon}`);
566
572
  case 'flag':
567
- return of(`assets/images/ecl/${theme}/icons-flag/sprites/icons-flag.svg#${this.icon}`);
573
+ return of(`${this.assetsBaseUrl}/images/ecl/${theme}/icons-flag/sprites/icons-flag.svg#${this.icon}`);
568
574
  case 'flag-non-members':
569
- return of(`assets/images/ecl/${theme}/icons-flag/sprites/icons-flag-non-members.svg#${this.icon}`);
575
+ return of(`${this.assetsBaseUrl}/images/ecl/${theme}/icons-flag/sprites/icons-flag-non-members.svg#${this.icon}`);
570
576
  default:
571
577
  return of(`${this.iconSet}#${this.icon}`);
572
578
  }
573
579
  }));
574
580
  }
575
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: EclIconComponent, deps: [{ token: i0.ElementRef }, { token: EclThemeService }], target: i0.ɵɵFactoryTarget.Component }); }
581
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: EclIconComponent, deps: [{ token: i0.ElementRef }, { token: EclThemeService }, { token: EUI_CONFIG_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
576
582
  /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.7", type: EclIconComponent, selector: "ecl-icon", inputs: { iconSet: "iconSet", icon: "icon", size: "size", color: "color", transform: "transform", ariaLabelledby: "ariaLabelledby", role: "role", isInverted: "isInverted", ariaHidden: "ariaHidden", focusable: "focusable" }, viewQueries: [{ propertyName: "svgEl", first: true, predicate: ["svg"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<svg\n #svg\n [ngClass]=\"getClasses()\"\n [attr.aria-hidden]=\"ariaHidden\"\n [attr.aria-labelledby]=\"ariaLabelledby || null\"\n [attr.role]=\"role || null\"\n [attr.focusable]=\"focusable\">\n <use [attr.xlink:href]=\"iconUrl$ | async\"></use>\n <ng-content></ng-content>\n</svg>\n", dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }] }); }
577
583
  }
578
584
  __decorate([
@@ -590,7 +596,12 @@ __decorate([
590
596
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: EclIconComponent, decorators: [{
591
597
  type: Component,
592
598
  args: [{ selector: 'ecl-icon', template: "<svg\n #svg\n [ngClass]=\"getClasses()\"\n [attr.aria-hidden]=\"ariaHidden\"\n [attr.aria-labelledby]=\"ariaLabelledby || null\"\n [attr.role]=\"role || null\"\n [attr.focusable]=\"focusable\">\n <use [attr.xlink:href]=\"iconUrl$ | async\"></use>\n <ng-content></ng-content>\n</svg>\n" }]
593
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: EclThemeService }], propDecorators: { iconSet: [{
599
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: EclThemeService }, { type: undefined, decorators: [{
600
+ type: Optional
601
+ }, {
602
+ type: Inject,
603
+ args: [EUI_CONFIG_TOKEN]
604
+ }] }], propDecorators: { iconSet: [{
594
605
  type: Input
595
606
  }], icon: [{
596
607
  type: Input