@fundamental-ngx/core 0.40.0-rc.3 → 0.40.0-rc.5

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,10 +1,11 @@
1
- import { ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, OnInit } from '@angular/core';
1
+ import { ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, OnInit, Renderer2 } from '@angular/core';
2
2
  import { ColorAccent, Size, CssClassBuilder } from '@fundamental-ngx/cdk/utils';
3
3
  import { Nullable } from '@fundamental-ngx/cdk/utils';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class AvatarComponent implements OnChanges, OnInit, CssClassBuilder, OnChanges {
6
- private _elementRef;
7
- private _cdr;
6
+ private readonly _elementRef;
7
+ private readonly _cdr;
8
+ private readonly _renderer;
8
9
  private hostTabindex;
9
10
  /** User's custom classes */
10
11
  class: string;
@@ -64,7 +65,10 @@ export declare class AvatarComponent implements OnChanges, OnInit, CssClassBuild
64
65
  avatarClicked: EventEmitter<Event>;
65
66
  /** Event emitted when zoom icon clicked. Only fires if zoomGlyph input property is set. */
66
67
  zoomGlyphClicked: EventEmitter<void>;
67
- /** @hidden */
68
+ /**
69
+ * @hidden
70
+ */
71
+ set bgImage(image: Nullable<string>);
68
72
  get bgImage(): Nullable<string>;
69
73
  /** @hidden */
70
74
  get role(): string;
@@ -87,7 +91,7 @@ export declare class AvatarComponent implements OnChanges, OnInit, CssClassBuild
87
91
  /** If a default placeholder should be displayed */
88
92
  get showDefault(): boolean;
89
93
  /** @hidden */
90
- constructor(_elementRef: ElementRef, _cdr: ChangeDetectorRef, hostTabindex: number | null);
94
+ constructor(_elementRef: ElementRef, _cdr: ChangeDetectorRef, _renderer: Renderer2, hostTabindex: number | null);
91
95
  /** @hidden */
92
96
  ngOnInit(): void;
93
97
  /** @hidden */
@@ -118,6 +122,6 @@ export declare class AvatarComponent implements OnChanges, OnInit, CssClassBuild
118
122
  private _onErrorCallback;
119
123
  /** @hidden */
120
124
  private _showDefaultIcon;
121
- static ɵfac: i0.ɵɵFactoryDeclaration<AvatarComponent, [null, null, { attribute: "tabindex"; }]>;
125
+ static ɵfac: i0.ɵɵFactoryDeclaration<AvatarComponent, [null, null, null, { attribute: "tabindex"; }]>;
122
126
  static ɵcmp: i0.ɵɵComponentDeclaration<AvatarComponent, "fd-avatar", never, { "class": "class"; "id": "id"; "ariaLabel": "ariaLabel"; "ariaLabelledby": "ariaLabelledby"; "label": "label"; "size": "size"; "glyph": "glyph"; "zoomGlyph": "zoomGlyph"; "circle": "circle"; "transparent": "transparent"; "contain": "contain"; "placeholder": "placeholder"; "tile": "tile"; "border": "border"; "colorAccent": "colorAccent"; "random": "random"; "clickable": "clickable"; "backgroundImage": "backgroundImage"; "image": "image"; "alterIcon": "alterIcon"; "backupImage": "backupImage"; }, { "avatarClicked": "avatarClicked"; "zoomGlyphClicked": "zoomGlyphClicked"; }, never, ["*"], false, never>;
123
127
  }
@@ -1,5 +1,5 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
- import { Attribute, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, HostBinding, HostListener, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
2
+ import { Attribute, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, HostBinding, HostListener, Input, Output, Renderer2, ViewChild, ViewEncapsulation } from '@angular/core';
3
3
  import { ANY_LANGUAGE_LETTERS_REGEX, applyCssClass, getRandomColorAccent } from '@fundamental-ngx/cdk/utils';
4
4
  import { FD_AVATAR_COMPONENT } from './tokens';
5
5
  import * as i0 from "@angular/core";
@@ -51,7 +51,13 @@ export class AvatarComponent {
51
51
  get backupImage() {
52
52
  return this._backupImage;
53
53
  }
54
- /** @hidden */
54
+ /**
55
+ * @hidden
56
+ */
57
+ set bgImage(image) {
58
+ this._bgImage = image;
59
+ this._renderer.setStyle(this._elementRef.nativeElement, 'background-image', image);
60
+ }
55
61
  get bgImage() {
56
62
  return this._bgImage;
57
63
  }
@@ -75,9 +81,10 @@ export class AvatarComponent {
75
81
  return !this.abbreviate && !this._image && !this.glyph;
76
82
  }
77
83
  /** @hidden */
78
- constructor(_elementRef, _cdr, hostTabindex) {
84
+ constructor(_elementRef, _cdr, _renderer, hostTabindex) {
79
85
  this._elementRef = _elementRef;
80
86
  this._cdr = _cdr;
87
+ this._renderer = _renderer;
81
88
  this.hostTabindex = hostTabindex;
82
89
  /** Id of the Avatar. */
83
90
  this.id = `fd-avatar-${avatarUniqueId++}`;
@@ -204,13 +211,13 @@ export class AvatarComponent {
204
211
  this._verifyImageUrl(value, () => { }, this._onErrorCallback);
205
212
  }
206
213
  else {
207
- this._bgImage = null;
214
+ this.bgImage = null;
208
215
  }
209
216
  }
210
217
  /** @hidden */
211
218
  _verifyImageUrl(srcValue, onLoadCallback, onErrorCallback) {
212
219
  // Don't load the same image all the time check happens
213
- if (srcValue === this._bgImage) {
220
+ if (srcValue === this.bgImage) {
214
221
  return;
215
222
  }
216
223
  const img = new Image();
@@ -221,13 +228,12 @@ export class AvatarComponent {
221
228
  }
222
229
  /** @hidden */
223
230
  _assignBgImage(srcValue) {
224
- this._bgImage = srcValue ? `url(${srcValue})` : null;
231
+ this.bgImage = srcValue ? `url(${srcValue})` : null;
225
232
  }
226
233
  /** @hidden */
227
234
  _onErrorCallback() {
228
235
  if (!this._alterIcon) {
229
236
  this._showDefaultIcon();
230
- this._cdr.detectChanges();
231
237
  return;
232
238
  }
233
239
  const options = this._alterIcon.split('|');
@@ -255,10 +261,8 @@ export class AvatarComponent {
255
261
  // If not, set default user icon
256
262
  this._verifyImageUrl(this._backupImage, () => {
257
263
  this._assignBgImage(this._backupImage);
258
- this._cdr.detectChanges();
259
264
  }, () => {
260
265
  this._showDefaultIcon();
261
- this._cdr.detectChanges();
262
266
  });
263
267
  break;
264
268
  }
@@ -270,17 +274,17 @@ export class AvatarComponent {
270
274
  }
271
275
  this._showDefaultIcon();
272
276
  }
273
- this._cdr.detectChanges();
274
277
  }
275
278
  /** @hidden */
276
279
  _showDefaultIcon() {
277
280
  this.abbreviate = null;
278
281
  this._image = null;
279
282
  this.glyph = null;
283
+ this._cdr.markForCheck();
280
284
  }
281
285
  }
282
- AvatarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: AvatarComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: 'tabindex', attribute: true }], target: i0.ɵɵFactoryTarget.Component });
283
- AvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: AvatarComponent, selector: "fd-avatar", inputs: { class: "class", id: "id", ariaLabel: "ariaLabel", ariaLabelledby: "ariaLabelledby", label: "label", size: "size", glyph: "glyph", zoomGlyph: "zoomGlyph", circle: "circle", transparent: "transparent", contain: "contain", placeholder: "placeholder", tile: "tile", border: "border", colorAccent: "colorAccent", random: "random", clickable: "clickable", backgroundImage: "backgroundImage", image: "image", alterIcon: "alterIcon", backupImage: "backupImage" }, outputs: { avatarClicked: "avatarClicked", zoomGlyphClicked: "zoomGlyphClicked" }, host: { listeners: { "click": "_onClick($event)", "keydown.enter": "_onClick($event)", "keydown.space": "_onClick($event)" }, properties: { "attr.tabindex": "_tabindex", "attr.id": "this.id", "attr.aria-label": "this.ariaLabel", "attr.alt": "this.ariaLabel", "attr.aria-labelledby": "this.ariaLabelledby", "style.background-image": "this.bgImage", "attr.role": "this.role" } }, providers: [
286
+ AvatarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: AvatarComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: 'tabindex', attribute: true }], target: i0.ɵɵFactoryTarget.Component });
287
+ AvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: AvatarComponent, selector: "fd-avatar", inputs: { class: "class", id: "id", ariaLabel: "ariaLabel", ariaLabelledby: "ariaLabelledby", label: "label", size: "size", glyph: "glyph", zoomGlyph: "zoomGlyph", circle: "circle", transparent: "transparent", contain: "contain", placeholder: "placeholder", tile: "tile", border: "border", colorAccent: "colorAccent", random: "random", clickable: "clickable", backgroundImage: "backgroundImage", image: "image", alterIcon: "alterIcon", backupImage: "backupImage" }, outputs: { avatarClicked: "avatarClicked", zoomGlyphClicked: "zoomGlyphClicked" }, host: { listeners: { "click": "_onClick($event)", "keydown.enter": "_onClick($event)", "keydown.space": "_onClick($event)" }, properties: { "attr.tabindex": "_tabindex", "attr.id": "this.id", "attr.aria-label": "this.ariaLabel", "attr.alt": "this.ariaLabel", "attr.aria-labelledby": "this.ariaLabelledby", "attr.role": "this.role" } }, providers: [
284
288
  {
285
289
  provide: FD_AVATAR_COMPONENT,
286
290
  useExisting: AvatarComponent
@@ -302,7 +306,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
302
306
  ], host: {
303
307
  '[attr.tabindex]': '_tabindex'
304
308
  }, template: "<ng-container *ngIf=\"abbreviate\">{{ abbreviate }}</ng-container>\n\n<i\n *ngIf=\"zoomGlyph\"\n role=\"presentation\"\n class=\"fd-avatar__zoom-icon\"\n [class]=\"zoomGlyph ? 'sap-icon--' + zoomGlyph : ''\"\n (mousedown)=\"zoomClicked($event)\"\n>\n</i>\n\n<i\n *ngIf=\"glyph || showDefault\"\n class=\"fd-avatar__icon\"\n role=\"presentation\"\n [class]=\"glyph ? 'sap-icon--' + glyph : 'sap-icon--person-placeholder'\"\n>\n</i>\n\n<div #content style=\"display: none\">\n <ng-content></ng-content>\n</div>\n", styles: ["/*!\n * Fundamental Library Styles v0.27.1\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-avatar{-webkit-box-sizing:border-box;background-color:var(--fdAvatar_BackgroundColor);background-position:50%;background-repeat:no-repeat;background-size:cover;border:0;border:var(--fdAvatar_Border);border-radius:var(--sapElement_BorderCornerRadius);box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_ContrastTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0;position:relative;text-shadow:var(--fdAvatar_Text_Shadow);vertical-align:middle}.fd-avatar:after,.fd-avatar:before{box-sizing:inherit;font-size:inherit}.fd-avatar.is-focus,.fd-avatar:focus{outline:none}.fd-avatar.is-focus:after,.fd-avatar:focus:after{border-color:var(--sapContent_FocusColor);border-radius:var(--fdAvatar_Focus_Outline_Radius);border-style:var(--sapContent_FocusStyle);border-width:var(--sapContent_FocusWidth);bottom:var(--fdAvatar_Focus_Outline_Offset);content:\"\";left:var(--fdAvatar_Focus_Outline_Offset);pointer-events:none;position:absolute;right:var(--fdAvatar_Focus_Outline_Offset);top:var(--fdAvatar_Focus_Outline_Offset)}.fd-avatar[tabindex=\"0\"]{cursor:pointer}.fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar__zoom-icon[class*=sap-icon]{background:inherit;background-color:var(--sapButton_Emphasized_Background);border:.0625rem solid var(--sapButton_Emphasized_BorderColor);border-radius:inherit;border-radius:50%;color:inherit;color:var(--sapButton_Emphasized_TextColor);position:absolute}.fd-avatar__icon [class*=sap-icon],.fd-avatar__icon[class*=sap-icon],.fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar__zoom-icon[class*=sap-icon]{-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:flex;font-size:inherit;justify-content:center;line-height:1}.fd-avatar__icon [class*=sap-icon],.fd-avatar__icon[class*=sap-icon]{align-content:center;background:inherit;border-radius:inherit;color:inherit}.fd-avatar--circle{border-radius:50%}.fd-avatar--circle.is-focus,.fd-avatar--circle:focus{outline:none}.fd-avatar--circle.is-focus:after,.fd-avatar--circle:focus:after{border-color:var(--sapContent_FocusColor);border-radius:var(--fdAvatar_Focus_Outline_Radius_Circle);border-style:var(--sapContent_FocusStyle);border-width:var(--sapContent_FocusWidth);bottom:var(--fdAvatar_Focus_Outline_Offset);content:\"\";left:var(--fdAvatar_Focus_Outline_Offset);pointer-events:none;position:absolute;right:var(--fdAvatar_Focus_Outline_Offset);top:var(--fdAvatar_Focus_Outline_Offset)}.fd-avatar--circle .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--circle .fd-avatar__zoom-icon[class*=sap-icon]{bottom:0;right:0}.fd-avatar--circle .fd-avatar__zoom-icon [class*=sap-icon][dir=rtl],.fd-avatar--circle .fd-avatar__zoom-icon[class*=sap-icon][dir=rtl],[dir=rtl] .fd-avatar--circle .fd-avatar__zoom-icon [class*=sap-icon],[dir=rtl] .fd-avatar--circle .fd-avatar__zoom-icon[class*=sap-icon]{left:0;right:auto}.fd-avatar--transparent{background-color:var(--fdAvatar_Transparent_BackgroundColor);color:var(--sapContent_IconColor)}.fd-avatar--background-contain{background-size:contain}.fd-avatar--placeholder{background-color:var(--sapContent_ImagePlaceholderBackground)}.fd-avatar--tile{background-color:var(--fdAvatar_Tile_BackgroundColor)}.fd-avatar--border{border:.0625rem solid var(--sapGroup_ContentBorderColor)}.fd-avatar--accent-color-1{background-color:var(--fdAvatar_Accent_Color_1);border:var(--fdAvatar_Accent_Color_1_Border);color:var(--fdAvatar_Accent_Color_1_Text)}.fd-avatar--accent-color-1.fd-avatar--shell{border:.0625rem solid var(--sapShell_InteractiveBorderColor)}.fd-avatar--accent-color-2{background-color:var(--fdAvatar_Accent_Color_2);border:var(--fdAvatar_Accent_Color_2_Border);color:var(--fdAvatar_Accent_Color_2_Text)}.fd-avatar--accent-color-2.fd-avatar--shell{border:.0625rem solid var(--sapShell_InteractiveBorderColor)}.fd-avatar--accent-color-3{background-color:var(--fdAvatar_Accent_Color_3);border:var(--fdAvatar_Accent_Color_3_Border);color:var(--fdAvatar_Accent_Color_3_Text)}.fd-avatar--accent-color-3.fd-avatar--shell{border:.0625rem solid var(--sapShell_InteractiveBorderColor)}.fd-avatar--accent-color-4{background-color:var(--fdAvatar_Accent_Color_4);border:var(--fdAvatar_Accent_Color_4_Border);color:var(--fdAvatar_Accent_Color_4_Text)}.fd-avatar--accent-color-4.fd-avatar--shell{border:.0625rem solid var(--sapShell_InteractiveBorderColor)}.fd-avatar--accent-color-5{background-color:var(--fdAvatar_Accent_Color_5);border:var(--fdAvatar_Accent_Color_5_Border);color:var(--fdAvatar_Accent_Color_5_Text)}.fd-avatar--accent-color-5.fd-avatar--shell{border:.0625rem solid var(--sapShell_InteractiveBorderColor)}.fd-avatar--accent-color-6{background-color:var(--fdAvatar_Accent_Color_6);border:var(--fdAvatar_Accent_Color_6_Border);color:var(--fdAvatar_Accent_Color_6_Text)}.fd-avatar--accent-color-6.fd-avatar--shell{border:.0625rem solid var(--sapShell_InteractiveBorderColor)}.fd-avatar--accent-color-7{background-color:var(--fdAvatar_Accent_Color_7);border:var(--fdAvatar_Accent_Color_7_Border);color:var(--fdAvatar_Accent_Color_7_Text)}.fd-avatar--accent-color-7.fd-avatar--shell{border:.0625rem solid var(--sapShell_InteractiveBorderColor)}.fd-avatar--accent-color-8{background-color:var(--fdAvatar_Accent_Color_8);border:var(--fdAvatar_Accent_Color_8_Border);color:var(--fdAvatar_Accent_Color_8_Text)}.fd-avatar--accent-color-8.fd-avatar--shell{border:.0625rem solid var(--sapShell_InteractiveBorderColor)}.fd-avatar--accent-color-9{background-color:var(--fdAvatar_Accent_Color_9);border:var(--fdAvatar_Accent_Color_9_Border);color:var(--fdAvatar_Accent_Color_9_Text)}.fd-avatar--accent-color-9.fd-avatar--shell{border:.0625rem solid var(--sapShell_InteractiveBorderColor)}.fd-avatar--accent-color-10{background-color:var(--fdAvatar_Accent_Color_10);border:var(--fdAvatar_Accent_Color_10_Border);color:var(--fdAvatar_Accent_Color_10_Text)}.fd-avatar--accent-color-10.fd-avatar--shell{border:.0625rem solid var(--sapShell_InteractiveBorderColor)}.fd-avatar--xs{-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:inline-flex;font-size:1rem;font-stretch:condensed;height:2rem;justify-content:center;margin:0;max-height:2rem;max-width:2rem;min-height:2rem;min-width:2rem;padding:0;width:2rem}.fd-avatar--xs .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--xs .fd-avatar__zoom-icon[class*=sap-icon]{font-size:.75rem;height:1.125rem;min-width:1.125rem;width:1.125rem}.fd-avatar--xs:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--xs:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{bottom:-.125rem;right:-.125rem}.fd-avatar--xs:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon][dir=rtl],.fd-avatar--xs:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon][dir=rtl],[dir=rtl] .fd-avatar--xs:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],[dir=rtl] .fd-avatar--xs:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{left:-.125rem;right:auto}.fd-avatar--s{-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:inline-flex;font-size:1.125rem;font-stretch:condensed;height:3rem;justify-content:center;margin:0;max-height:3rem;max-width:3rem;min-height:3rem;min-width:3rem;padding:0;width:3rem}.fd-avatar--s .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--s .fd-avatar__zoom-icon[class*=sap-icon]{font-size:.75rem;height:1.125rem;min-width:1.125rem;width:1.125rem}.fd-avatar--s:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--s:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{bottom:-.125rem;right:-.125rem}.fd-avatar--s:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon][dir=rtl],.fd-avatar--s:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon][dir=rtl],[dir=rtl] .fd-avatar--s:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],[dir=rtl] .fd-avatar--s:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{left:-.125rem;right:auto}.fd-avatar--m{-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:inline-flex;font-size:1.5rem;font-stretch:normal;height:4rem;justify-content:center;margin:0;max-height:4rem;max-width:4rem;min-height:4rem;min-width:4rem;padding:0;width:4rem}.fd-avatar--m .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--m .fd-avatar__zoom-icon[class*=sap-icon]{font-size:.75rem;height:1.125rem;min-width:1.125rem;width:1.125rem}.fd-avatar--m:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--m:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{bottom:-.125rem;right:-.125rem}.fd-avatar--m:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon][dir=rtl],.fd-avatar--m:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon][dir=rtl],[dir=rtl] .fd-avatar--m:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],[dir=rtl] .fd-avatar--m:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{left:-.125rem;right:auto}.fd-avatar--l{-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:inline-flex;font-size:2.25rem;font-stretch:normal;height:5rem;justify-content:center;margin:0;max-height:5rem;max-width:5rem;min-height:5rem;min-width:5rem;padding:0;width:5rem}.fd-avatar--l .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--l .fd-avatar__zoom-icon[class*=sap-icon]{font-size:.875rem;height:1.25rem;min-width:1.25rem;width:1.25rem}.fd-avatar--l:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--l:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{bottom:-.1875rem;right:-.1875rem}.fd-avatar--l:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon][dir=rtl],.fd-avatar--l:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon][dir=rtl],[dir=rtl] .fd-avatar--l:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],[dir=rtl] .fd-avatar--l:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{left:-.1875rem;right:auto}.fd-avatar--xl{-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:inline-flex;font-size:3rem;font-stretch:normal;height:7rem;justify-content:center;margin:0;max-height:7rem;max-width:7rem;min-height:7rem;min-width:7rem;padding:0;width:7rem}.fd-avatar--xl .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--xl .fd-avatar__zoom-icon[class*=sap-icon]{font-size:1rem;height:1.75rem;min-width:1.75rem;width:1.75rem}.fd-avatar--xl:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--xl:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{bottom:-.25rem;right:-.25rem}.fd-avatar--xl:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon][dir=rtl],.fd-avatar--xl:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon][dir=rtl],[dir=rtl] .fd-avatar--xl:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],[dir=rtl] .fd-avatar--xl:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{left:-.25rem;right:auto}\n"] }]
305
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
309
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
306
310
  type: Attribute,
307
311
  args: ['tabindex']
308
312
  }] }]; }, propDecorators: { class: [{
@@ -363,9 +367,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
363
367
  type: Output
364
368
  }], zoomGlyphClicked: [{
365
369
  type: Output
366
- }], bgImage: [{
367
- type: HostBinding,
368
- args: ['style.background-image']
369
370
  }], role: [{
370
371
  type: HostBinding,
371
372
  args: ['attr.role']
@@ -382,4 +383,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
382
383
  type: HostListener,
383
384
  args: ['keydown.space', ['$event']]
384
385
  }] } });
385
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL2F2YXRhci9hdmF0YXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvYXZhdGFyL2F2YXRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCwwQkFBMEIsRUFHMUIsYUFBYSxFQUNiLG9CQUFvQixFQUV2QixNQUFNLDRCQUE0QixDQUFDO0FBRXBDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7O0FBRS9DLElBQUksY0FBYyxHQUFHLENBQUMsQ0FBQztBQUV2QixNQUFNLGtCQUFrQixHQUFHO0lBQ3ZCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLEdBQUcsRUFBRSxLQUFLO0lBQ1YsTUFBTSxFQUFFLFFBQVE7SUFDaEIsWUFBWSxFQUFFLGNBQWM7Q0FDL0IsQ0FBQztBQWtCRixNQUFNLE9BQU8sZUFBZTtJQXFCeEIsK0JBQStCO0lBQy9CLElBQ0ksS0FBSyxDQUFDLEtBQXVCO1FBQzdCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxJQUFJLElBQUksQ0FBQztRQUMvQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQXNDRDs7O1NBR0s7SUFDTCw0QkFBNEI7SUFDNUIsSUFDSSxlQUFlLENBQUMsS0FBYTtRQUM3QixJQUFJLENBQUMsU0FBUyxDQUFDLEtB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c0JBQWQsS0FBSztnQkFHRyxTQUFTO3NCQUFqQixLQUFLO2dCQVFGLGVBQWU7c0JBRGxCLEtBQUs7Z0JBT0YsS0FBSztzQkFEUixLQUFLO2dCQWFGLFNBQVM7c0JBRFosS0FBSztnQkFZRixXQUFXO3NCQURkLEtBQUs7Z0JBU0ksYUFBYTtzQkFBdEIsTUFBTTtnQkFHRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBSUgsT0FBTztzQkFEVixXQUFXO3VCQUFDLHdCQUF3QjtnQkFPakMsSUFBSTtzQkFEUCxXQUFXO3VCQUFDLFdBQVc7Z0JBT3BCLE9BQU87c0JBRFYsU0FBUzt1QkFBQyxTQUFTO2dCQThEcEIsc0JBQXNCLE1BeUJ0QixRQUFRO3NCQUhQLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDOztzQkFDaEMsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUM7O3NCQUN4QyxZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQXR0cmlidXRlLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBTllfTEFOR1VBR0VfTEVUVEVSU19SRUdFWCxcbiAgICBDb2xvckFjY2VudCxcbiAgICBTaXplLFxuICAgIGFwcGx5Q3NzQ2xhc3MsXG4gICAgZ2V0UmFuZG9tQ29sb3JBY2NlbnQsXG4gICAgQ3NzQ2xhc3NCdWlsZGVyXG59IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgRkRfQVZBVEFSX0NPTVBPTkVOVCB9IGZyb20gJy4vdG9rZW5zJztcblxubGV0IGF2YXRhclVuaXF1ZUlkID0gMDtcblxuY29uc3QgQUxURVJfSUNPTl9PUFRJT05TID0ge1xuICAgIENPTlRFTlQ6ICdjb250ZW50JyxcbiAgICBBTFQ6ICdhbHQnLFxuICAgIEJBQ0tVUDogJ2JhY2t1cCcsXG4gICAgREVGQVVMVF9JQ09OOiAnZGVmYXVsdC1pY29uJ1xufTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC1hdmF0YXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9hdmF0YXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2F2YXRhci5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEZEX0FWQVRBUl9DT01QT05FTlQsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogQXZhdGFyQ29tcG9uZW50XG4gICAgICAgIH1cbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1thdHRyLnRhYmluZGV4XSc6ICdfdGFiaW5kZXgnXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBBdmF0YXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCwgQ3NzQ2xhc3NCdWlsZGVyLCBPbkNoYW5nZXMge1xuICAgIC8qKiBVc2VyJ3MgY3VzdG9tIGNsYXNzZXMgKi9cbiAgICBASW5wdXQoKVxuICAgIGNsYXNzOiBzdHJpbmc7XG5cbiAgICAvKiogSWQgb2YgdGhlIEF2YXRhci4gKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5pZCcpXG4gICAgaWQgPSBgZmQtYXZhdGFyLSR7YXZhdGFyVW5pcXVlSWQrK31gO1xuXG4gICAgLyoqIEFyaWEtbGFiZWwgZm9yIEF2YXRhci4gKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxhYmVsJylcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYWx0JylcbiAgICBhcmlhTGFiZWw6IE51bGxhYmxlPHN0cmluZz4gPSBudWxsO1xuXG4gICAgLyoqIEFyaWEtTGFiZWxsZWRieSBmb3IgZWxlbWVudCBkZXNjcmliaW5nIEF2YXRhci4gKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxhYmVsbGVkYnknKVxuICAgIGFyaWFMYWJlbGxlZGJ5OiBOdWxsYWJsZTxzdHJpbmc+ID0gbnVsbDtcblxuICAgIC8qKiBMb2NhbGl6ZWQgdGV4dCBmb3IgbGFiZWwgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBsYWJlbCh2YWx1ZTogTnVsbGFibGU8c3RyaW5nPikge1xuICAgICAgICB0aGlzLmFyaWFMYWJlbCA9IHZhbHVlIHx8IG51bGw7XG4gICAgICAgIHRoaXMuYWJicmV2aWF0ZSA9IHRoaXMuX2dldEFiYnJldmlhdGUodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKiBUaGUgc2l6ZSBvZiB0aGUgQXZhdGFyLiBPcHRpb25zIGluY2x1ZGU6ICp4cyosICpzKiwgKm0qLCAqbCogYW5kICp4bCouICovXG4gICAgQElucHV0KCkgc2l6ZTogU2l6ZSA9ICdsJztcblxuICAgIC8qKiBUaGUgZ2x5cGggbmFtZS4gKi9cbiAgICBASW5wdXQoKSBnbHlwaDogTnVsbGFibGU8c3RyaW5nPiA9IG51bGw7XG5cbiAgICAvKiogVGhlIGdseXBoIG5hbWUgZm9yIHpvb20gaWNvbi4gKi9cbiAgICBASW5wdXQoKSB6b29tR2x5cGg6IE51bGxhYmxlPHN0cmluZz4gPSBudWxsO1xuXG4gICAgLyoqIFdoZXRoZXIgdG8gYXBwbHkgYSBjaXJjbGUgc3R5bGUgdG8gdGhlIEF2YXRhci4gKi9cbiAgICBASW5wdXQoKSBjaXJjbGUgPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRvIGFwcGx5IGEgdHJhbnNwYXJlbnQgc3R5bGUgdG8gdGhlIEF2YXRhci4gKi9cbiAgICBASW5wdXQoKSB0cmFuc3BhcmVudCA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgdG8gYXBwbHkgYmFja2dyb3VuZCBzaXplIGNvbnRhaW4gc3R5bGUgdG8gdGhlIEF2YXRhciAqL1xuICAgIEBJbnB1dCgpIGNvbnRhaW4gPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRvIGFwcGx5IGEgcGxhY2Vob2xkZXIgYmFja2dyb3VuZCBzdHlsZSB0byB0aGUgQXZhdGFyLiAqL1xuICAgIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciB0byBhcHBseSBhIHRpbGUgYmFja2dyb3VuZCBzdHlsZSB0byB0aGUgQXZhdGFyLiAqL1xuICAgIEBJbnB1dCgpIHRpbGUgPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRvIGFwcGx5IGEgYm9yZGVyIHRvIHRoZSBBdmF0YXIuICovXG4gICAgQElucHV0KCkgYm9yZGVyID0gZmFsc2U7XG5cbiAgICAvKiogQSBudW1iZXIgZnJvbSAxIHRvIDEwIHJlcHJlc2VudGluZyB0aGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgQXZhdGFyLiAqL1xuICAgIEBJbnB1dCgpIGNvbG9yQWNjZW50OiBOdWxsYWJsZTxDb2xvckFjY2VudD4gPSBudWxsO1xuXG4gICAgLyoqIFdoZXRoZXIgdG8gYXBwbHkgcmFuZG9tIGJhY2tncm91bmQgY29sb3IgdG8gdGhlIEF2YXRhci4gKi9cbiAgICBASW5wdXQoKSByYW5kb20gPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIGNvbXBvbmVudCBzaG91bGQgYmUgZm9jdXNhYmxlICYgY2xpY2FibGUgKi9cbiAgICBASW5wdXQoKSBjbGlja2FibGUgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkXG4gICAgICogRGVwcmVjYXRlZCBhY2NvcmRpbmcgdG8gUmVuYW1lIGBiYWNrZ3JvdW5kSW1hZ2VgIHRvIGBpbWFnZWBcbiAgICAgKiAqL1xuICAgIC8qKiBCYWNrZ3JvdW5kIGltYWdlIHVybC4gKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBiYWNrZ3JvdW5kSW1hZ2UodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9zZXRJbWFnZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqIEJhY2tncm91bmQgaW1hZ2UgcmVzb3VyY2U6IHVybCBvciBiYXNlNjQuICovXG4gICAgQElucHV0KClcbiAgICBzZXQgaW1hZ2UodmFsdWU6IE51bGxhYmxlPHN0cmluZz4pIHtcbiAgICAgICAgdGhpcy5fc2V0SW1hZ2UodmFsdWUpO1xuICAgIH1cbiAgICBnZXQgaW1hZ2UoKTogTnVsbGFibGU8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pbWFnZTtcbiAgICB9XG5cbiAgICAvKiogQmFja3VwIG9wdGlvbnMgdG8gdXNlIHdoZW4gaW1hZ2UgaGFzbid0IGJlZW4gbG9hZGVkIHN1Y2Nlc3NmdWxseS5cbiAgICAgKiBPcHRpb25zIHNlcGFyYXRlZCB3aXRoIFwifFwiIHN5bWJvbC5cbiAgICAgKiBQb3NzaWJsZSBvcHRpb25zOiBjb250ZW50LCBhbHQsIGJhY2t1cCwgZGVmYXVsdC1pY29uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgYWx0ZXJJY29uKHZhbHVlOiBOdWxsYWJsZTxzdHJpbmc+KSB7XG4gICAgICAgIHRoaXMuX2FsdGVySWNvbiA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQgYWx0ZXJJY29uKCk6IE51bGxhYmxlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWx0ZXJJY29uO1xuICAgIH1cblxuICAgIC8qKiBCYWNrdXAgaW1hZ2UgdG8gbG9hZCB3aGVuIGltYWdlIGhhc24ndCBiZWVuIGxvYWRlZCBzdWNjZXNzZnVsbHkuXG4gICAgICogT25seSBhcHBsaWNhYmxlIHdoZW4gdXNpbmcgYWx0ZXJJY29uIGlucHV0IHByb3BlcnR5LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGJhY2t1cEltYWdlKHZhbHVlOiBOdWxsYWJsZTxzdHJpbmc+KSB7XG4gICAgICAgIHRoaXMuX2JhY2t1cEltYWdlID0gdmFsdWU7XG4gICAgfVxuICAgIGdldCBiYWNrdXBJbWFnZSgpOiBOdWxsYWJsZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2JhY2t1cEltYWdlO1xuICAgIH1cblxuICAgIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gYXZhdGFyIGNsaWNrZWQuIE9ubHkgZmlyZXMgaWYgY2xpY2thYmxlIGlucHV0IHByb3BlcnR5IHNldCB0byB0cnVlLiAqL1xuICAgIEBPdXRwdXQoKSBhdmF0YXJDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcblxuICAgIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gem9vbSBpY29uIGNsaWNrZWQuIE9ubHkgZmlyZXMgaWYgem9vbUdseXBoIGlucHV0IHByb3BlcnR5IGlzIHNldC4gKi9cbiAgICBAT3V0cHV0KCkgem9vbUdseXBoQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5iYWNrZ3JvdW5kLWltYWdlJylcbiAgICBnZXQgYmdJbWFnZSgpOiBOdWxsYWJsZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2JnSW1hZ2U7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpXG4gICAgZ2V0IHJvbGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuem9vbUdseXBoID8gJ2J1dHRvbicgOiAnaW1nJztcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoJ2NvbnRlbnQnKVxuICAgIHNldCBjb250ZW50KHZhbHVlOiBFbGVtZW50UmVmKSB7XG4gICAgICAgIHRoaXMuX2NvbnRlbnQgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGFiYnJldmlhdGU6IE51bGxhYmxlPHN0cmluZz4gPSBudWxsO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9pbWFnZTogTnVsbGFibGU8c3RyaW5nPiA9IG51bGw7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2FsdGVySWNvbjogTnVsbGFibGU8c3RyaW5nPiA9IG51bGw7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2NvbnRlbnQ6IE51bGxhYmxlPEVsZW1lbnRSZWY+ID0gbnVsbDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfYmFja3VwSW1hZ2U6IE51bGxhYmxlPHN0cmluZz4gPSBudWxsO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9iZ0ltYWdlOiBOdWxsYWJsZTxzdHJpbmc+ID0gbnVsbDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZ2V0IF90YWJpbmRleCgpOiBudW1iZXIgfCBudWxsIHtcbiAgICAgICAgaWYgKHRoaXMuaG9zdFRhYmluZGV4ICE9IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmhvc3RUYWJpbmRleDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5jbGlja2FibGUgPyAwIDogbnVsbDtcbiAgICB9XG5cbiAgICAvKiogSWYgYSBkZWZhdWx0IHBsYWNlaG9sZGVyIHNob3VsZCBiZSBkaXNwbGF5ZWQgKi9cbiAgICBnZXQgc2hvd0RlZmF1bHQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5hYmJyZXZpYXRlICYmICF0aGlzLl9pbWFnZSAmJiAhdGhpcy5nbHlwaDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBAQXR0cmlidXRlKCd0YWJpbmRleCcpIHByaXZhdGUgaG9zdFRhYmluZGV4OiBudW1iZXIgfCBudWxsXG4gICAgKSB7fVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5idWlsZENvbXBvbmVudENzc0NsYXNzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuem9vbUdseXBoKSB7XG4gICAgICAgICAgICB0aGlzLmNsaWNrYWJsZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5idWlsZENvbXBvbmVudENzc0NsYXNzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW5cbiAgICAgKiBDc3NDbGFzc0J1aWxkZXIgaW50ZXJmYWNlIGltcGxlbWVudGF0aW9uXG4gICAgICogZnVuY3Rpb24gbXVzdCByZXR1cm4gc2luZ2xlIHN0cmluZ1xuICAgICAqIGZ1bmN0aW9uIGlzIHJlc3BvbnNpYmxlIGZvciBvcmRlciB3aGljaCBjc3MgY2xhc3NlcyBhcmUgYXBwbGllZFxuICAgICAqL1xuICAgIEBhcHBseUNzc0NsYXNzXG4gICAgYnVpbGRDb21wb25lbnRDc3NDbGFzcygpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAnZmQtYXZhdGFyJyxcbiAgICAgICAgICAgIHRoaXMuc2l6ZSA/IGBmZC1hdmF0YXItLSR7dGhpcy5zaXplfWAgOiAnJyxcbiAgICAgICAgICAgIHRoaXMuY29sb3JBY2NlbnQgJiYgIXRoaXMucmFuZG9tID8gYGZkLWF2YXRhci0tYWNjZW50LWNvbG9yLSR7dGhpcy5jb2xvckFjY2VudH1gIDogJycsXG4gICAgICAgICAgICB0aGlzLnJhbmRvbSA/IGBmZC1hdmF0YXItLWFjY2VudC1jb2xvci0ke2dldFJhbmRvbUNvbG9yQWNjZW50KCl9YCA6ICcnLFxuICAgICAgICAgICAgdGhpcy5jaXJjbGUgPyAnZmQtYXZhdGFyLS1jaXJjbGUnIDogJycsXG4gICAgICAgICAgICB0aGlzLmJvcmRlciA/ICdmZC1hdmF0YXItLWJvcmRlcicgOiAnJyxcbiAgICAgICAgICAgIHRoaXMudHJhbnNwYXJlbnQgPyAnZmQtYXZhdGFyLS10cmFuc3BhcmVudCcgOiAnJyxcbiAgICAgICAgICAgIHRoaXMuY29udGFpbiA/ICdmZC1hdmF0YXItLWJhY2tncm91bmQtY29udGFpbicgOiAnJyxcbiAgICAgICAgICAgIHRoaXMucGxhY2Vob2xkZXIgPyAnZmQtYXZhdGFyLS1wbGFjZWhvbGRlcicgOiAnJyxcbiAgICAgICAgICAgIHRoaXMudGlsZSA/ICdmZC1hdmF0YXItLXRpbGUnIDogJycsXG4gICAgICAgICAgICB0aGlzLmNsYXNzXG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBlbGVtZW50UmVmKCk6IEVsZW1lbnRSZWY8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9lbGVtZW50UmVmO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uZW50ZXInLCBbJyRldmVudCddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uc3BhY2UnLCBbJyRldmVudCddKVxuICAgIF9vbkNsaWNrKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jbGlja2FibGUpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICB0aGlzLmF2YXRhckNsaWNrZWQuZW1pdChldmVudCk7XG4gICAgICAgICAgICBpZiAodGhpcy56b29tR2x5cGgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnpvb21HbHlwaENsaWNrZWQubmV4dCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICB6b29tQ2xpY2tlZChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIHRoaXMuem9vbUdseXBoQ2xpY2tlZC5uZXh0KCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gR2V0IGFuIGFiYnJldmlhdGUgZnJvbSB0aGUgbGFiZWwgb3IgcmV0dXJuIG51bGwgaWYgbm90IGZpdCByZXF1aXJlbWVudHMgKi9cbiAgICBwcml2YXRlIF9nZXRBYmJyZXZpYXRlKGxhYmVsOiBOdWxsYWJsZTxzdHJpbmc+KTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIGlmICghbGFiZWwgfHwgdGhpcy5faW1hZ2UpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX2dlbmVyYXRlQWJicmV2aWF0aW9uKGxhYmVsKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBHZXQgdGhlIGFiYnJldmlhdGlvbiBzdHJpbmcgKi9cbiAgICBwcml2YXRlIF9nZW5lcmF0ZUFiYnJldmlhdGlvbihsYWJlbDogTnVsbGFibGU8c3RyaW5nPik6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBpZiAoIWxhYmVsKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBtYXhMZXR0ZXJzQ291bnQgPSAzO1xuICAgICAgICBjb25zdCBmaXJzdExldHRlcnMgPSBsYWJlbC5zcGxpdCgnICcpLm1hcCgod29yZCkgPT4gd29yZC5jaGFyQXQoMCkpO1xuICAgICAgICBjb25zdCBhYmJyZXZpYXRlID0gZmlyc3RMZXR0ZXJzLmpvaW4oJycpO1xuXG4gICAgICAgIGlmIChmaXJzdExldHRlcnMubGVuZ3RoID4gbWF4TGV0dGVyc0NvdW50IHx8ICFhYmJyZXZpYXRlLm1hdGNoKEFOWV9MQU5HVUFHRV9MRVRURVJTX1JFR0VYKSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYWJicmV2aWF0ZTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NldEltYWdlKHZhbHVlOiBOdWxsYWJsZTxzdHJpbmc+KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2ltYWdlID0gdmFsdWU7XG5cbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl92ZXJpZnlJbWFnZVVybCh2YWx1ZSwgKCk6IHZvaWQgPT4ge30sIHRoaXMuX29uRXJyb3JDYWxsYmFjayk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9iZ0ltYWdlID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfdmVyaWZ5SW1hZ2VVcmwoc3JjVmFsdWU6IHN0cmluZywgb25Mb2FkQ2FsbGJhY2s6ICgpID0+IHZvaWQsIG9uRXJyb3JDYWxsYmFjazogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICAvLyBEb24ndCBsb2FkIHRoZSBzYW1lIGltYWdlIGFsbCB0aGUgdGltZSBjaGVjayBoYXBwZW5zXG4gICAgICAgIGlmIChzcmNWYWx1ZSA9PT0gdGhpcy5fYmdJbWFnZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGltZyA9IG5ldyBJbWFnZSgpO1xuICAgICAgICBpbWcub25sb2FkID0gb25Mb2FkQ2FsbGJhY2suYmluZCh0aGlzKTtcbiAgICAgICAgaW1nLm9uZXJyb3IgPSBvbkVycm9yQ2FsbGJhY2suYmluZCh0aGlzKTtcbiAgICAgICAgaW1nLnNyYyA9IHNyY1ZhbHVlO1xuICAgICAgICB0aGlzLl9hc3NpZ25CZ0ltYWdlKHNyY1ZhbHVlKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2Fzc2lnbkJnSW1hZ2Uoc3JjVmFsdWU6IE51bGxhYmxlPHN0cmluZz4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fYmdJbWFnZSA9IHNyY1ZhbHVlID8gYHVybCgke3NyY1ZhbHVlfSlgIDogbnVsbDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX29uRXJyb3JDYWxsYmFjaygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9hbHRlckljb24pIHtcbiAgICAgICAgICAgIHRoaXMuX3Nob3dEZWZhdWx0SWNvbigpO1xuICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLl9hbHRlckljb24uc3BsaXQoJ3wnKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBvcHRpb25zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBvcHRpb24gPSBvcHRpb25zW2ldO1xuXG4gICAgICAgICAgICBpZiAob3B0aW9uID09PSBBTFRFUl9JQ09OX09QVElPTlMuQ09OVEVOVCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRlbnRWYWx1ZSA9IHRoaXMuX2NvbnRlbnQ/Lm5hdGl2ZUVsZW1lbnQudGV4dENvbnRlbnQ7XG4gICAgICAgICAgICAgICAgaWYgKGNvbnRlbnRWYWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFiYnJldmlhdGUgPSB0aGlzLl9nZW5lcmF0ZUFiYnJldmlhdGlvbihjb250ZW50VmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKG9wdGlvbiA9PT0gQUxURVJfSUNPTl9PUFRJT05TLkFMVCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGFsdFZhbHVlID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgnYWx0Jyk7XG4gICAgICAgICAgICAgICAgaWYgKGFsdFZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWJicmV2aWF0ZSA9IHRoaXMuX2dlbmVyYXRlQWJicmV2aWF0aW9uKGFsdFZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChvcHRpb24gPT09IEFMVEVSX0lDT05fT1BUSU9OUy5CQUNLVVApIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5fYmFja3VwSW1hZ2UgJiYgdGhpcy5fYmFja3VwSW1hZ2UgIT09ICcnKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIENoZWNrIGlmIGJhY2t1cEltYWdlIGNhbiBiZSBsb2FkZWQgc3VjY2Vzc2Z1bGx5XG4gICAgICAgICAgICAgICAgICAgIC8vIElmIG5vdCwgc2V0IGRlZmF1bHQgdXNlciBpY29uXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3ZlcmlmeUltYWdlVXJsKFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fYmFja3VwSW1hZ2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fYXNzaWduQmdJbWFnZSh0aGlzLl9iYWNrdXBJbWFnZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fc2hvd0RlZmF1bHRJY29uKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChvcHRpb24gPT09IEFMVEVSX0lDT05fT1BUSU9OUy5ERUZBVUxUX0lDT04pIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9zaG93RGVmYXVsdEljb24oKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5fc2hvd0RlZmF1bHRJY29uKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc2hvd0RlZmF1bHRJY29uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmFiYnJldmlhdGUgPSBudWxsO1xuICAgICAgICB0aGlzLl9pbWFnZSA9IG51bGw7XG4gICAgICAgIHRoaXMuZ2x5cGggPSBudWxsO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJhYmJyZXZpYXRlXCI+e3sgYWJicmV2aWF0ZSB9fTwvbmctY29udGFpbmVyPlxuXG48aVxuICAgICpuZ0lmPVwiem9vbUdseXBoXCJcbiAgICByb2xlPVwicHJlc2VudGF0aW9uXCJcbiAgICBjbGFzcz1cImZkLWF2YXRhcl9fem9vbS1pY29uXCJcbiAgICBbY2xhc3NdPVwiem9vbUdseXBoID8gJ3NhcC1pY29uLS0nICsgem9vbUdseXBoIDogJydcIlxuICAgIChtb3VzZWRvd24pPVwiem9vbUNsaWNrZWQoJGV2ZW50KVwiXG4+XG48L2k+XG5cbjxpXG4gICAgKm5nSWY9XCJnbHlwaCB8fCBzaG93RGVmYXVsdFwiXG4gICAgY2xhc3M9XCJmZC1hdmF0YXJfX2ljb25cIlxuICAgIHJvbGU9XCJwcmVzZW50YXRpb25cIlxuICAgIFtjbGFzc109XCJnbHlwaCA/ICdzYXAtaWNvbi0tJyArIGdseXBoIDogJ3NhcC1pY29uLS1wZXJzb24tcGxhY2Vob2xkZXInXCJcbj5cbjwvaT5cblxuPGRpdiAjY29udGVudCBzdHlsZT1cImRpc3BsYXk6IG5vbmVcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==
386
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL2F2YXRhci9hdmF0YXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvYXZhdGFyL2F2YXRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsMEJBQTBCLEVBRzFCLGFBQWEsRUFDYixvQkFBb0IsRUFFdkIsTUFBTSw0QkFBNEIsQ0FBQztBQUVwQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxVQUFVLENBQUM7OztBQUUvQyxJQUFJLGNBQWMsR0FBRyxDQUFDLENBQUM7QUFFdkIsTUFBTSxrQkFBa0IsR0FBRztJQUN2QixPQUFPLEVBQUUsU0FBUztJQUNsQixHQUFHLEVBQUUsS0FBSztJQUNWLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLFlBQVksRUFBRSxjQUFjO0NBQy9CLENBQUM7QUFrQkYsTUFBTSxPQUFPLGVBQWU7SUFxQnhCLCtCQUErQjtJQUMvQixJQUNJLEtBQUssQ0FBQyxLQUF1QjtRQUM3QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssSUFBSSxJQUFJLENBQUM7UUFDL0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFzQ0Q7OztTQUdLO0lBQ0wsNEJBQTRCO0lBQzVCLElBQ0ksZUFBZSxDQUFDLEtBQWE7UUFDN0IsSUFBSSxDQUFDLFNB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O3NCQUFuQixLQUFLO2dCQUdHLElBQUk7c0JBQVosS0FBSztnQkFHRyxNQUFNO3NCQUFkLEtBQUs7Z0JBR0csV0FBVztzQkFBbkIsS0FBSztnQkFHRyxNQUFNO3NCQUFkLEtBQUs7Z0JBR0csU0FBUztzQkFBakIsS0FBSztnQkFRRixlQUFlO3NCQURsQixLQUFLO2dCQU9GLEtBQUs7c0JBRFIsS0FBSztnQkFhRixTQUFTO3NCQURaLEtBQUs7Z0JBWUYsV0FBVztzQkFEZCxLQUFLO2dCQVNJLGFBQWE7c0JBQXRCLE1BQU07Z0JBR0csZ0JBQWdCO3NCQUF6QixNQUFNO2dCQWlCSCxJQUFJO3NCQURQLFdBQVc7dUJBQUMsV0FBVztnQkFPcEIsT0FBTztzQkFEVixTQUFTO3VCQUFDLFNBQVM7Z0JBK0RwQixzQkFBc0IsTUF5QnRCLFFBQVE7c0JBSFAsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7O3NCQUNoQyxZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7c0JBQ3hDLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBdHRyaWJ1dGUsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBSZW5kZXJlcjIsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBTllfTEFOR1VBR0VfTEVUVEVSU19SRUdFWCxcbiAgICBDb2xvckFjY2VudCxcbiAgICBTaXplLFxuICAgIGFwcGx5Q3NzQ2xhc3MsXG4gICAgZ2V0UmFuZG9tQ29sb3JBY2NlbnQsXG4gICAgQ3NzQ2xhc3NCdWlsZGVyXG59IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgRkRfQVZBVEFSX0NPTVBPTkVOVCB9IGZyb20gJy4vdG9rZW5zJztcblxubGV0IGF2YXRhclVuaXF1ZUlkID0gMDtcblxuY29uc3QgQUxURVJfSUNPTl9PUFRJT05TID0ge1xuICAgIENPTlRFTlQ6ICdjb250ZW50JyxcbiAgICBBTFQ6ICdhbHQnLFxuICAgIEJBQ0tVUDogJ2JhY2t1cCcsXG4gICAgREVGQVVMVF9JQ09OOiAnZGVmYXVsdC1pY29uJ1xufTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC1hdmF0YXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9hdmF0YXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2F2YXRhci5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEZEX0FWQVRBUl9DT01QT05FTlQsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogQXZhdGFyQ29tcG9uZW50XG4gICAgICAgIH1cbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1thdHRyLnRhYmluZGV4XSc6ICdfdGFiaW5kZXgnXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBBdmF0YXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCwgQ3NzQ2xhc3NCdWlsZGVyLCBPbkNoYW5nZXMge1xuICAgIC8qKiBVc2VyJ3MgY3VzdG9tIGNsYXNzZXMgKi9cbiAgICBASW5wdXQoKVxuICAgIGNsYXNzOiBzdHJpbmc7XG5cbiAgICAvKiogSWQgb2YgdGhlIEF2YXRhci4gKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5pZCcpXG4gICAgaWQgPSBgZmQtYXZhdGFyLSR7YXZhdGFyVW5pcXVlSWQrK31gO1xuXG4gICAgLyoqIEFyaWEtbGFiZWwgZm9yIEF2YXRhci4gKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxhYmVsJylcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYWx0JylcbiAgICBhcmlhTGFiZWw6IE51bGxhYmxlPHN0cmluZz4gPSBudWxsO1xuXG4gICAgLyoqIEFyaWEtTGFiZWxsZWRieSBmb3IgZWxlbWVudCBkZXNjcmliaW5nIEF2YXRhci4gKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxhYmVsbGVkYnknKVxuICAgIGFyaWFMYWJlbGxlZGJ5OiBOdWxsYWJsZTxzdHJpbmc+ID0gbnVsbDtcblxuICAgIC8qKiBMb2NhbGl6ZWQgdGV4dCBmb3IgbGFiZWwgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBsYWJlbCh2YWx1ZTogTnVsbGFibGU8c3RyaW5nPikge1xuICAgICAgICB0aGlzLmFyaWFMYWJlbCA9IHZhbHVlIHx8IG51bGw7XG4gICAgICAgIHRoaXMuYWJicmV2aWF0ZSA9IHRoaXMuX2dldEFiYnJldmlhdGUodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKiBUaGUgc2l6ZSBvZiB0aGUgQXZhdGFyLiBPcHRpb25zIGluY2x1ZGU6ICp4cyosICpzKiwgKm0qLCAqbCogYW5kICp4bCouICovXG4gICAgQElucHV0KCkgc2l6ZTogU2l6ZSA9ICdsJztcblxuICAgIC8qKiBUaGUgZ2x5cGggbmFtZS4gKi9cbiAgICBASW5wdXQoKSBnbHlwaDogTnVsbGFibGU8c3RyaW5nPiA9IG51bGw7XG5cbiAgICAvKiogVGhlIGdseXBoIG5hbWUgZm9yIHpvb20gaWNvbi4gKi9cbiAgICBASW5wdXQoKSB6b29tR2x5cGg6IE51bGxhYmxlPHN0cmluZz4gPSBudWxsO1xuXG4gICAgLyoqIFdoZXRoZXIgdG8gYXBwbHkgYSBjaXJjbGUgc3R5bGUgdG8gdGhlIEF2YXRhci4gKi9cbiAgICBASW5wdXQoKSBjaXJjbGUgPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRvIGFwcGx5IGEgdHJhbnNwYXJlbnQgc3R5bGUgdG8gdGhlIEF2YXRhci4gKi9cbiAgICBASW5wdXQoKSB0cmFuc3BhcmVudCA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgdG8gYXBwbHkgYmFja2dyb3VuZCBzaXplIGNvbnRhaW4gc3R5bGUgdG8gdGhlIEF2YXRhciAqL1xuICAgIEBJbnB1dCgpIGNvbnRhaW4gPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRvIGFwcGx5IGEgcGxhY2Vob2xkZXIgYmFja2dyb3VuZCBzdHlsZSB0byB0aGUgQXZhdGFyLiAqL1xuICAgIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciB0byBhcHBseSBhIHRpbGUgYmFja2dyb3VuZCBzdHlsZSB0byB0aGUgQXZhdGFyLiAqL1xuICAgIEBJbnB1dCgpIHRpbGUgPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRvIGFwcGx5IGEgYm9yZGVyIHRvIHRoZSBBdmF0YXIuICovXG4gICAgQElucHV0KCkgYm9yZGVyID0gZmFsc2U7XG5cbiAgICAvKiogQSBudW1iZXIgZnJvbSAxIHRvIDEwIHJlcHJlc2VudGluZyB0aGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgQXZhdGFyLiAqL1xuICAgIEBJbnB1dCgpIGNvbG9yQWNjZW50OiBOdWxsYWJsZTxDb2xvckFjY2VudD4gPSBudWxsO1xuXG4gICAgLyoqIFdoZXRoZXIgdG8gYXBwbHkgcmFuZG9tIGJhY2tncm91bmQgY29sb3IgdG8gdGhlIEF2YXRhci4gKi9cbiAgICBASW5wdXQoKSByYW5kb20gPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIGNvbXBvbmVudCBzaG91bGQgYmUgZm9jdXNhYmxlICYgY2xpY2FibGUgKi9cbiAgICBASW5wdXQoKSBjbGlja2FibGUgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkXG4gICAgICogRGVwcmVjYXRlZCBhY2NvcmRpbmcgdG8gUmVuYW1lIGBiYWNrZ3JvdW5kSW1hZ2VgIHRvIGBpbWFnZWBcbiAgICAgKiAqL1xuICAgIC8qKiBCYWNrZ3JvdW5kIGltYWdlIHVybC4gKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBiYWNrZ3JvdW5kSW1hZ2UodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9zZXRJbWFnZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqIEJhY2tncm91bmQgaW1hZ2UgcmVzb3VyY2U6IHVybCBvciBiYXNlNjQuICovXG4gICAgQElucHV0KClcbiAgICBzZXQgaW1hZ2UodmFsdWU6IE51bGxhYmxlPHN0cmluZz4pIHtcbiAgICAgICAgdGhpcy5fc2V0SW1hZ2UodmFsdWUpO1xuICAgIH1cbiAgICBnZXQgaW1hZ2UoKTogTnVsbGFibGU8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pbWFnZTtcbiAgICB9XG5cbiAgICAvKiogQmFja3VwIG9wdGlvbnMgdG8gdXNlIHdoZW4gaW1hZ2UgaGFzbid0IGJlZW4gbG9hZGVkIHN1Y2Nlc3NmdWxseS5cbiAgICAgKiBPcHRpb25zIHNlcGFyYXRlZCB3aXRoIFwifFwiIHN5bWJvbC5cbiAgICAgKiBQb3NzaWJsZSBvcHRpb25zOiBjb250ZW50LCBhbHQsIGJhY2t1cCwgZGVmYXVsdC1pY29uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgYWx0ZXJJY29uKHZhbHVlOiBOdWxsYWJsZTxzdHJpbmc+KSB7XG4gICAgICAgIHRoaXMuX2FsdGVySWNvbiA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQgYWx0ZXJJY29uKCk6IE51bGxhYmxlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWx0ZXJJY29uO1xuICAgIH1cblxuICAgIC8qKiBCYWNrdXAgaW1hZ2UgdG8gbG9hZCB3aGVuIGltYWdlIGhhc24ndCBiZWVuIGxvYWRlZCBzdWNjZXNzZnVsbHkuXG4gICAgICogT25seSBhcHBsaWNhYmxlIHdoZW4gdXNpbmcgYWx0ZXJJY29uIGlucHV0IHByb3BlcnR5LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGJhY2t1cEltYWdlKHZhbHVlOiBOdWxsYWJsZTxzdHJpbmc+KSB7XG4gICAgICAgIHRoaXMuX2JhY2t1cEltYWdlID0gdmFsdWU7XG4gICAgfVxuICAgIGdldCBiYWNrdXBJbWFnZSgpOiBOdWxsYWJsZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2JhY2t1cEltYWdlO1xuICAgIH1cblxuICAgIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gYXZhdGFyIGNsaWNrZWQuIE9ubHkgZmlyZXMgaWYgY2xpY2thYmxlIGlucHV0IHByb3BlcnR5IHNldCB0byB0cnVlLiAqL1xuICAgIEBPdXRwdXQoKSBhdmF0YXJDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcblxuICAgIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gem9vbSBpY29uIGNsaWNrZWQuIE9ubHkgZmlyZXMgaWYgem9vbUdseXBoIGlucHV0IHByb3BlcnR5IGlzIHNldC4gKi9cbiAgICBAT3V0cHV0KCkgem9vbUdseXBoQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBzZXQgYmdJbWFnZShpbWFnZTogTnVsbGFibGU8c3RyaW5nPikge1xuICAgICAgICB0aGlzLl9iZ0ltYWdlID0gaW1hZ2U7XG5cbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnYmFja2dyb3VuZC1pbWFnZScsIGltYWdlKTtcbiAgICB9XG5cbiAgICBnZXQgYmdJbWFnZSgpOiBOdWxsYWJsZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2JnSW1hZ2U7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpXG4gICAgZ2V0IHJvbGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuem9vbUdseXBoID8gJ2J1dHRvbicgOiAnaW1nJztcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoJ2NvbnRlbnQnKVxuICAgIHNldCBjb250ZW50KHZhbHVlOiBFbGVtZW50UmVmKSB7XG4gICAgICAgIHRoaXMuX2NvbnRlbnQgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGFiYnJldmlhdGU6IE51bGxhYmxlPHN0cmluZz4gPSBudWxsO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9pbWFnZTogTnVsbGFibGU8c3RyaW5nPiA9IG51bGw7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2FsdGVySWNvbjogTnVsbGFibGU8c3RyaW5nPiA9IG51bGw7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2NvbnRlbnQ6IE51bGxhYmxlPEVsZW1lbnRSZWY+ID0gbnVsbDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfYmFja3VwSW1hZ2U6IE51bGxhYmxlPHN0cmluZz4gPSBudWxsO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9iZ0ltYWdlOiBOdWxsYWJsZTxzdHJpbmc+ID0gbnVsbDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZ2V0IF90YWJpbmRleCgpOiBudW1iZXIgfCBudWxsIHtcbiAgICAgICAgaWYgKHRoaXMuaG9zdFRhYmluZGV4ICE9IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmhvc3RUYWJpbmRleDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5jbGlja2FibGUgPyAwIDogbnVsbDtcbiAgICB9XG5cbiAgICAvKiogSWYgYSBkZWZhdWx0IHBsYWNlaG9sZGVyIHNob3VsZCBiZSBkaXNwbGF5ZWQgKi9cbiAgICBnZXQgc2hvd0RlZmF1bHQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5hYmJyZXZpYXRlICYmICF0aGlzLl9pbWFnZSAmJiAhdGhpcy5nbHlwaDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9yZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBAQXR0cmlidXRlKCd0YWJpbmRleCcpIHByaXZhdGUgaG9zdFRhYmluZGV4OiBudW1iZXIgfCBudWxsXG4gICAgKSB7fVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5idWlsZENvbXBvbmVudENzc0NsYXNzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuem9vbUdseXBoKSB7XG4gICAgICAgICAgICB0aGlzLmNsaWNrYWJsZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5idWlsZENvbXBvbmVudENzc0NsYXNzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW5cbiAgICAgKiBDc3NDbGFzc0J1aWxkZXIgaW50ZXJmYWNlIGltcGxlbWVudGF0aW9uXG4gICAgICogZnVuY3Rpb24gbXVzdCByZXR1cm4gc2luZ2xlIHN0cmluZ1xuICAgICAqIGZ1bmN0aW9uIGlzIHJlc3BvbnNpYmxlIGZvciBvcmRlciB3aGljaCBjc3MgY2xhc3NlcyBhcmUgYXBwbGllZFxuICAgICAqL1xuICAgIEBhcHBseUNzc0NsYXNzXG4gICAgYnVpbGRDb21wb25lbnRDc3NDbGFzcygpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAnZmQtYXZhdGFyJyxcbiAgICAgICAgICAgIHRoaXMuc2l6ZSA/IGBmZC1hdmF0YXItLSR7dGhpcy5zaXplfWAgOiAnJyxcbiAgICAgICAgICAgIHRoaXMuY29sb3JBY2NlbnQgJiYgIXRoaXMucmFuZG9tID8gYGZkLWF2YXRhci0tYWNjZW50LWNvbG9yLSR7dGhpcy5jb2xvckFjY2VudH1gIDogJycsXG4gICAgICAgICAgICB0aGlzLnJhbmRvbSA/IGBmZC1hdmF0YXItLWFjY2VudC1jb2xvci0ke2dldFJhbmRvbUNvbG9yQWNjZW50KCl9YCA6ICcnLFxuICAgICAgICAgICAgdGhpcy5jaXJjbGUgPyAnZmQtYXZhdGFyLS1jaXJjbGUnIDogJycsXG4gICAgICAgICAgICB0aGlzLmJvcmRlciA/ICdmZC1hdmF0YXItLWJvcmRlcicgOiAnJyxcbiAgICAgICAgICAgIHRoaXMudHJhbnNwYXJlbnQgPyAnZmQtYXZhdGFyLS10cmFuc3BhcmVudCcgOiAnJyxcbiAgICAgICAgICAgIHRoaXMuY29udGFpbiA/ICdmZC1hdmF0YXItLWJhY2tncm91bmQtY29udGFpbicgOiAnJyxcbiAgICAgICAgICAgIHRoaXMucGxhY2Vob2xkZXIgPyAnZmQtYXZhdGFyLS1wbGFjZWhvbGRlcicgOiAnJyxcbiAgICAgICAgICAgIHRoaXMudGlsZSA/ICdmZC1hdmF0YXItLXRpbGUnIDogJycsXG4gICAgICAgICAgICB0aGlzLmNsYXNzXG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBlbGVtZW50UmVmKCk6IEVsZW1lbnRSZWY8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9lbGVtZW50UmVmO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uZW50ZXInLCBbJyRldmVudCddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uc3BhY2UnLCBbJyRldmVudCddKVxuICAgIF9vbkNsaWNrKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jbGlja2FibGUpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICB0aGlzLmF2YXRhckNsaWNrZWQuZW1pdChldmVudCk7XG4gICAgICAgICAgICBpZiAodGhpcy56b29tR2x5cGgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnpvb21HbHlwaENsaWNrZWQubmV4dCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICB6b29tQ2xpY2tlZChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIHRoaXMuem9vbUdseXBoQ2xpY2tlZC5uZXh0KCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gR2V0IGFuIGFiYnJldmlhdGUgZnJvbSB0aGUgbGFiZWwgb3IgcmV0dXJuIG51bGwgaWYgbm90IGZpdCByZXF1aXJlbWVudHMgKi9cbiAgICBwcml2YXRlIF9nZXRBYmJyZXZpYXRlKGxhYmVsOiBOdWxsYWJsZTxzdHJpbmc+KTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIGlmICghbGFiZWwgfHwgdGhpcy5faW1hZ2UpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX2dlbmVyYXRlQWJicmV2aWF0aW9uKGxhYmVsKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBHZXQgdGhlIGFiYnJldmlhdGlvbiBzdHJpbmcgKi9cbiAgICBwcml2YXRlIF9nZW5lcmF0ZUFiYnJldmlhdGlvbihsYWJlbDogTnVsbGFibGU8c3RyaW5nPik6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBpZiAoIWxhYmVsKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBtYXhMZXR0ZXJzQ291bnQgPSAzO1xuICAgICAgICBjb25zdCBmaXJzdExldHRlcnMgPSBsYWJlbC5zcGxpdCgnICcpLm1hcCgod29yZCkgPT4gd29yZC5jaGFyQXQoMCkpO1xuICAgICAgICBjb25zdCBhYmJyZXZpYXRlID0gZmlyc3RMZXR0ZXJzLmpvaW4oJycpO1xuXG4gICAgICAgIGlmIChmaXJzdExldHRlcnMubGVuZ3RoID4gbWF4TGV0dGVyc0NvdW50IHx8ICFhYmJyZXZpYXRlLm1hdGNoKEFOWV9MQU5HVUFHRV9MRVRURVJTX1JFR0VYKSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYWJicmV2aWF0ZTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NldEltYWdlKHZhbHVlOiBOdWxsYWJsZTxzdHJpbmc+KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2ltYWdlID0gdmFsdWU7XG5cbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl92ZXJpZnlJbWFnZVVybCh2YWx1ZSwgKCk6IHZvaWQgPT4ge30sIHRoaXMuX29uRXJyb3JDYWxsYmFjayk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmJnSW1hZ2UgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF92ZXJpZnlJbWFnZVVybChzcmNWYWx1ZTogc3RyaW5nLCBvbkxvYWRDYWxsYmFjazogKCkgPT4gdm9pZCwgb25FcnJvckNhbGxiYWNrOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIC8vIERvbid0IGxvYWQgdGhlIHNhbWUgaW1hZ2UgYWxsIHRoZSB0aW1lIGNoZWNrIGhhcHBlbnNcbiAgICAgICAgaWYgKHNyY1ZhbHVlID09PSB0aGlzLmJnSW1hZ2UpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBpbWcgPSBuZXcgSW1hZ2UoKTtcbiAgICAgICAgaW1nLm9ubG9hZCA9IG9uTG9hZENhbGxiYWNrLmJpbmQodGhpcyk7XG4gICAgICAgIGltZy5vbmVycm9yID0gb25FcnJvckNhbGxiYWNrLmJpbmQodGhpcyk7XG4gICAgICAgIGltZy5zcmMgPSBzcmNWYWx1ZTtcbiAgICAgICAgdGhpcy5fYXNzaWduQmdJbWFnZShzcmNWYWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9hc3NpZ25CZ0ltYWdlKHNyY1ZhbHVlOiBOdWxsYWJsZTxzdHJpbmc+KTogdm9pZCB7XG4gICAgICAgIHRoaXMuYmdJbWFnZSA9IHNyY1ZhbHVlID8gYHVybCgke3NyY1ZhbHVlfSlgIDogbnVsbDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX29uRXJyb3JDYWxsYmFjaygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9hbHRlckljb24pIHtcbiAgICAgICAgICAgIHRoaXMuX3Nob3dEZWZhdWx0SWNvbigpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuX2FsdGVySWNvbi5zcGxpdCgnfCcpO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG9wdGlvbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbiA9IG9wdGlvbnNbaV07XG5cbiAgICAgICAgICAgIGlmIChvcHRpb24gPT09IEFMVEVSX0lDT05fT1BUSU9OUy5DT05URU5UKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY29udGVudFZhbHVlID0gdGhpcy5fY29udGVudD8ubmF0aXZlRWxlbWVudC50ZXh0Q29udGVudDtcbiAgICAgICAgICAgICAgICBpZiAoY29udGVudFZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWJicmV2aWF0ZSA9IHRoaXMuX2dlbmVyYXRlQWJicmV2aWF0aW9uKGNvbnRlbnRWYWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAob3B0aW9uID09PSBBTFRFUl9JQ09OX09QVElPTlMuQUxUKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgYWx0VmFsdWUgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCdhbHQnKTtcbiAgICAgICAgICAgICAgICBpZiAoYWx0VmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hYmJyZXZpYXRlID0gdGhpcy5fZ2VuZXJhdGVBYmJyZXZpYXRpb24oYWx0VmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKG9wdGlvbiA9PT0gQUxURVJfSUNPTl9PUFRJT05TLkJBQ0tVUCkge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLl9iYWNrdXBJbWFnZSAmJiB0aGlzLl9iYWNrdXBJbWFnZSAhPT0gJycpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gQ2hlY2sgaWYgYmFja3VwSW1hZ2UgY2FuIGJlIGxvYWRlZCBzdWNjZXNzZnVsbHlcbiAgICAgICAgICAgICAgICAgICAgLy8gSWYgbm90LCBzZXQgZGVmYXVsdCB1c2VyIGljb25cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdmVyaWZ5SW1hZ2VVcmwoXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9iYWNrdXBJbWFnZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9hc3NpZ25CZ0ltYWdlKHRoaXMuX2JhY2t1cEltYWdlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fc2hvd0RlZmF1bHRJY29uKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAob3B0aW9uID09PSBBTFRFUl9JQ09OX09QVElPTlMuREVGQVVMVF9JQ09OKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2hvd0RlZmF1bHRJY29uKCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuX3Nob3dEZWZhdWx0SWNvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zaG93RGVmYXVsdEljb24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWJicmV2aWF0ZSA9IG51bGw7XG4gICAgICAgIHRoaXMuX2ltYWdlID0gbnVsbDtcbiAgICAgICAgdGhpcy5nbHlwaCA9IG51bGw7XG4gICAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiYWJicmV2aWF0ZVwiPnt7IGFiYnJldmlhdGUgfX08L25nLWNvbnRhaW5lcj5cblxuPGlcbiAgICAqbmdJZj1cInpvb21HbHlwaFwiXG4gICAgcm9sZT1cInByZXNlbnRhdGlvblwiXG4gICAgY2xhc3M9XCJmZC1hdmF0YXJfX3pvb20taWNvblwiXG4gICAgW2NsYXNzXT1cInpvb21HbHlwaCA/ICdzYXAtaWNvbi0tJyArIHpvb21HbHlwaCA6ICcnXCJcbiAgICAobW91c2Vkb3duKT1cInpvb21DbGlja2VkKCRldmVudClcIlxuPlxuPC9pPlxuXG48aVxuICAgICpuZ0lmPVwiZ2x5cGggfHwgc2hvd0RlZmF1bHRcIlxuICAgIGNsYXNzPVwiZmQtYXZhdGFyX19pY29uXCJcbiAgICByb2xlPVwicHJlc2VudGF0aW9uXCJcbiAgICBbY2xhc3NdPVwiZ2x5cGggPyAnc2FwLWljb24tLScgKyBnbHlwaCA6ICdzYXAtaWNvbi0tcGVyc29uLXBsYWNlaG9sZGVyJ1wiXG4+XG48L2k+XG5cbjxkaXYgI2NvbnRlbnQgc3R5bGU9XCJkaXNwbGF5OiBub25lXCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
@@ -54,7 +54,13 @@ class AvatarComponent {
54
54
  get backupImage() {
55
55
  return this._backupImage;
56
56
  }
57
- /** @hidden */
57
+ /**
58
+ * @hidden
59
+ */
60
+ set bgImage(image) {
61
+ this._bgImage = image;
62
+ this._renderer.setStyle(this._elementRef.nativeElement, 'background-image', image);
63
+ }
58
64
  get bgImage() {
59
65
  return this._bgImage;
60
66
  }
@@ -78,9 +84,10 @@ class AvatarComponent {
78
84
  return !this.abbreviate && !this._image && !this.glyph;
79
85
  }
80
86
  /** @hidden */
81
- constructor(_elementRef, _cdr, hostTabindex) {
87
+ constructor(_elementRef, _cdr, _renderer, hostTabindex) {
82
88
  this._elementRef = _elementRef;
83
89
  this._cdr = _cdr;
90
+ this._renderer = _renderer;
84
91
  this.hostTabindex = hostTabindex;
85
92
  /** Id of the Avatar. */
86
93
  this.id = `fd-avatar-${avatarUniqueId++}`;
@@ -207,13 +214,13 @@ class AvatarComponent {
207
214
  this._verifyImageUrl(value, () => { }, this._onErrorCallback);
208
215
  }
209
216
  else {
210
- this._bgImage = null;
217
+ this.bgImage = null;
211
218
  }
212
219
  }
213
220
  /** @hidden */
214
221
  _verifyImageUrl(srcValue, onLoadCallback, onErrorCallback) {
215
222
  // Don't load the same image all the time check happens
216
- if (srcValue === this._bgImage) {
223
+ if (srcValue === this.bgImage) {
217
224
  return;
218
225
  }
219
226
  const img = new Image();
@@ -224,14 +231,13 @@ class AvatarComponent {
224
231
  }
225
232
  /** @hidden */
226
233
  _assignBgImage(srcValue) {
227
- this._bgImage = srcValue ? `url(${srcValue})` : null;
234
+ this.bgImage = srcValue ? `url(${srcValue})` : null;
228
235
  }
229
236
  /** @hidden */
230
237
  _onErrorCallback() {
231
238
  var _a;
232
239
  if (!this._alterIcon) {
233
240
  this._showDefaultIcon();
234
- this._cdr.detectChanges();
235
241
  return;
236
242
  }
237
243
  const options = this._alterIcon.split('|');
@@ -259,10 +265,8 @@ class AvatarComponent {
259
265
  // If not, set default user icon
260
266
  this._verifyImageUrl(this._backupImage, () => {
261
267
  this._assignBgImage(this._backupImage);
262
- this._cdr.detectChanges();
263
268
  }, () => {
264
269
  this._showDefaultIcon();
265
- this._cdr.detectChanges();
266
270
  });
267
271
  break;
268
272
  }
@@ -274,17 +278,17 @@ class AvatarComponent {
274
278
  }
275
279
  this._showDefaultIcon();
276
280
  }
277
- this._cdr.detectChanges();
278
281
  }
279
282
  /** @hidden */
280
283
  _showDefaultIcon() {
281
284
  this.abbreviate = null;
282
285
  this._image = null;
283
286
  this.glyph = null;
287
+ this._cdr.markForCheck();
284
288
  }
285
289
  }
286
- AvatarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: AvatarComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: 'tabindex', attribute: true }], target: i0.ɵɵFactoryTarget.Component });
287
- AvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: AvatarComponent, selector: "fd-avatar", inputs: { class: "class", id: "id", ariaLabel: "ariaLabel", ariaLabelledby: "ariaLabelledby", label: "label", size: "size", glyph: "glyph", zoomGlyph: "zoomGlyph", circle: "circle", transparent: "transparent", contain: "contain", placeholder: "placeholder", tile: "tile", border: "border", colorAccent: "colorAccent", random: "random", clickable: "clickable", backgroundImage: "backgroundImage", image: "image", alterIcon: "alterIcon", backupImage: "backupImage" }, outputs: { avatarClicked: "avatarClicked", zoomGlyphClicked: "zoomGlyphClicked" }, host: { listeners: { "click": "_onClick($event)", "keydown.enter": "_onClick($event)", "keydown.space": "_onClick($event)" }, properties: { "attr.tabindex": "_tabindex", "attr.id": "this.id", "attr.aria-label": "this.ariaLabel", "attr.alt": "this.ariaLabel", "attr.aria-labelledby": "this.ariaLabelledby", "style.background-image": "this.bgImage", "attr.role": "this.role" } }, providers: [
290
+ AvatarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: AvatarComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: 'tabindex', attribute: true }], target: i0.ɵɵFactoryTarget.Component });
291
+ AvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: AvatarComponent, selector: "fd-avatar", inputs: { class: "class", id: "id", ariaLabel: "ariaLabel", ariaLabelledby: "ariaLabelledby", label: "label", size: "size", glyph: "glyph", zoomGlyph: "zoomGlyph", circle: "circle", transparent: "transparent", contain: "contain", placeholder: "placeholder", tile: "tile", border: "border", colorAccent: "colorAccent", random: "random", clickable: "clickable", backgroundImage: "backgroundImage", image: "image", alterIcon: "alterIcon", backupImage: "backupImage" }, outputs: { avatarClicked: "avatarClicked", zoomGlyphClicked: "zoomGlyphClicked" }, host: { listeners: { "click": "_onClick($event)", "keydown.enter": "_onClick($event)", "keydown.space": "_onClick($event)" }, properties: { "attr.tabindex": "_tabindex", "attr.id": "this.id", "attr.aria-label": "this.ariaLabel", "attr.alt": "this.ariaLabel", "attr.aria-labelledby": "this.ariaLabelledby", "attr.role": "this.role" } }, providers: [
288
292
  {
289
293
  provide: FD_AVATAR_COMPONENT,
290
294
  useExisting: AvatarComponent
@@ -307,7 +311,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
307
311
  '[attr.tabindex]': '_tabindex'
308
312
  }, template: "<ng-container *ngIf=\"abbreviate\">{{ abbreviate }}</ng-container>\n\n<i\n *ngIf=\"zoomGlyph\"\n role=\"presentation\"\n class=\"fd-avatar__zoom-icon\"\n [class]=\"zoomGlyph ? 'sap-icon--' + zoomGlyph : ''\"\n (mousedown)=\"zoomClicked($event)\"\n>\n</i>\n\n<i\n *ngIf=\"glyph || showDefault\"\n class=\"fd-avatar__icon\"\n role=\"presentation\"\n [class]=\"glyph ? 'sap-icon--' + glyph : 'sap-icon--person-placeholder'\"\n>\n</i>\n\n<div #content style=\"display: none\">\n <ng-content></ng-content>\n</div>\n", styles: ["/*!\n * Fundamental Library Styles v0.27.1\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-avatar{-webkit-box-sizing:border-box;background-color:var(--fdAvatar_BackgroundColor);background-position:50%;background-repeat:no-repeat;background-size:cover;border:0;border:var(--fdAvatar_Border);border-radius:var(--sapElement_BorderCornerRadius);box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_ContrastTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0;position:relative;text-shadow:var(--fdAvatar_Text_Shadow);vertical-align:middle}.fd-avatar:after,.fd-avatar:before{box-sizing:inherit;font-size:inherit}.fd-avatar.is-focus,.fd-avatar:focus{outline:none}.fd-avatar.is-focus:after,.fd-avatar:focus:after{border-color:var(--sapContent_FocusColor);border-radius:var(--fdAvatar_Focus_Outline_Radius);border-style:var(--sapContent_FocusStyle);border-width:var(--sapContent_FocusWidth);bottom:var(--fdAvatar_Focus_Outline_Offset);content:\"\";left:var(--fdAvatar_Focus_Outline_Offset);pointer-events:none;position:absolute;right:var(--fdAvatar_Focus_Outline_Offset);top:var(--fdAvatar_Focus_Outline_Offset)}.fd-avatar[tabindex=\"0\"]{cursor:pointer}.fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar__zoom-icon[class*=sap-icon]{background:inherit;background-color:var(--sapButton_Emphasized_Background);border:.0625rem solid var(--sapButton_Emphasized_BorderColor);border-radius:inherit;border-radius:50%;color:inherit;color:var(--sapButton_Emphasized_TextColor);position:absolute}.fd-avatar__icon [class*=sap-icon],.fd-avatar__icon[class*=sap-icon],.fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar__zoom-icon[class*=sap-icon]{-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:flex;font-size:inherit;justify-content:center;line-height:1}.fd-avatar__icon [class*=sap-icon],.fd-avatar__icon[class*=sap-icon]{align-content:center;background:inherit;border-radius:inherit;color:inherit}.fd-avatar--circle{border-radius:50%}.fd-avatar--circle.is-focus,.fd-avatar--circle:focus{outline:none}.fd-avatar--circle.is-focus:after,.fd-avatar--circle:focus:after{border-color:var(--sapContent_FocusColor);border-radius:var(--fdAvatar_Focus_Outline_Radius_Circle);border-style:var(--sapContent_FocusStyle);border-width:var(--sapContent_FocusWidth);bottom:var(--fdAvatar_Focus_Outline_Offset);content:\"\";left:var(--fdAvatar_Focus_Outline_Offset);pointer-events:none;position:absolute;right:var(--fdAvatar_Focus_Outline_Offset);top:var(--fdAvatar_Focus_Outline_Offset)}.fd-avatar--circle .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--circle .fd-avatar__zoom-icon[class*=sap-icon]{bottom:0;right:0}.fd-avatar--circle .fd-avatar__zoom-icon [class*=sap-icon][dir=rtl],.fd-avatar--circle .fd-avatar__zoom-icon[class*=sap-icon][dir=rtl],[dir=rtl] .fd-avatar--circle .fd-avatar__zoom-icon [class*=sap-icon],[dir=rtl] .fd-avatar--circle .fd-avatar__zoom-icon[class*=sap-icon]{left:0;right:auto}.fd-avatar--transparent{background-color:var(--fdAvatar_Transparent_BackgroundColor);color:var(--sapContent_IconColor)}.fd-avatar--background-contain{background-size:contain}.fd-avatar--placeholder{background-color:var(--sapContent_ImagePlaceholderBackground)}.fd-avatar--tile{background-color:var(--fdAvatar_Tile_BackgroundColor)}.fd-avatar--border{border:.0625rem solid var(--sapGroup_ContentBorderColor)}.fd-avatar--accent-color-1{background-color:var(--fdAvatar_Accent_Color_1);border:var(--fdAvatar_Accent_Color_1_Border);color:var(--fdAvatar_Accent_Color_1_Text)}.fd-avatar--accent-color-1.fd-avatar--shell{border:.0625rem solid var(--sapShell_InteractiveBorderColor)}.fd-avatar--accent-color-2{background-color:var(--fdAvatar_Accent_Color_2);border:var(--fdAvatar_Accent_Color_2_Border);color:var(--fdAvatar_Accent_Color_2_Text)}.fd-avatar--accent-color-2.fd-avatar--shell{border:.0625rem solid var(--sapShell_InteractiveBorderColor)}.fd-avatar--accent-color-3{background-color:var(--fdAvatar_Accent_Color_3);border:var(--fdAvatar_Accent_Color_3_Border);color:var(--fdAvatar_Accent_Color_3_Text)}.fd-avatar--accent-color-3.fd-avatar--shell{border:.0625rem solid var(--sapShell_InteractiveBorderColor)}.fd-avatar--accent-color-4{background-color:var(--fdAvatar_Accent_Color_4);border:var(--fdAvatar_Accent_Color_4_Border);color:var(--fdAvatar_Accent_Color_4_Text)}.fd-avatar--accent-color-4.fd-avatar--shell{border:.0625rem solid var(--sapShell_InteractiveBorderColor)}.fd-avatar--accent-color-5{background-color:var(--fdAvatar_Accent_Color_5);border:var(--fdAvatar_Accent_Color_5_Border);color:var(--fdAvatar_Accent_Color_5_Text)}.fd-avatar--accent-color-5.fd-avatar--shell{border:.0625rem solid var(--sapShell_InteractiveBorderColor)}.fd-avatar--accent-color-6{background-color:var(--fdAvatar_Accent_Color_6);border:var(--fdAvatar_Accent_Color_6_Border);color:var(--fdAvatar_Accent_Color_6_Text)}.fd-avatar--accent-color-6.fd-avatar--shell{border:.0625rem solid var(--sapShell_InteractiveBorderColor)}.fd-avatar--accent-color-7{background-color:var(--fdAvatar_Accent_Color_7);border:var(--fdAvatar_Accent_Color_7_Border);color:var(--fdAvatar_Accent_Color_7_Text)}.fd-avatar--accent-color-7.fd-avatar--shell{border:.0625rem solid var(--sapShell_InteractiveBorderColor)}.fd-avatar--accent-color-8{background-color:var(--fdAvatar_Accent_Color_8);border:var(--fdAvatar_Accent_Color_8_Border);color:var(--fdAvatar_Accent_Color_8_Text)}.fd-avatar--accent-color-8.fd-avatar--shell{border:.0625rem solid var(--sapShell_InteractiveBorderColor)}.fd-avatar--accent-color-9{background-color:var(--fdAvatar_Accent_Color_9);border:var(--fdAvatar_Accent_Color_9_Border);color:var(--fdAvatar_Accent_Color_9_Text)}.fd-avatar--accent-color-9.fd-avatar--shell{border:.0625rem solid var(--sapShell_InteractiveBorderColor)}.fd-avatar--accent-color-10{background-color:var(--fdAvatar_Accent_Color_10);border:var(--fdAvatar_Accent_Color_10_Border);color:var(--fdAvatar_Accent_Color_10_Text)}.fd-avatar--accent-color-10.fd-avatar--shell{border:.0625rem solid var(--sapShell_InteractiveBorderColor)}.fd-avatar--xs{-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:inline-flex;font-size:1rem;font-stretch:condensed;height:2rem;justify-content:center;margin:0;max-height:2rem;max-width:2rem;min-height:2rem;min-width:2rem;padding:0;width:2rem}.fd-avatar--xs .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--xs .fd-avatar__zoom-icon[class*=sap-icon]{font-size:.75rem;height:1.125rem;min-width:1.125rem;width:1.125rem}.fd-avatar--xs:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--xs:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{bottom:-.125rem;right:-.125rem}.fd-avatar--xs:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon][dir=rtl],.fd-avatar--xs:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon][dir=rtl],[dir=rtl] .fd-avatar--xs:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],[dir=rtl] .fd-avatar--xs:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{left:-.125rem;right:auto}.fd-avatar--s{-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:inline-flex;font-size:1.125rem;font-stretch:condensed;height:3rem;justify-content:center;margin:0;max-height:3rem;max-width:3rem;min-height:3rem;min-width:3rem;padding:0;width:3rem}.fd-avatar--s .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--s .fd-avatar__zoom-icon[class*=sap-icon]{font-size:.75rem;height:1.125rem;min-width:1.125rem;width:1.125rem}.fd-avatar--s:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--s:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{bottom:-.125rem;right:-.125rem}.fd-avatar--s:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon][dir=rtl],.fd-avatar--s:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon][dir=rtl],[dir=rtl] .fd-avatar--s:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],[dir=rtl] .fd-avatar--s:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{left:-.125rem;right:auto}.fd-avatar--m{-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:inline-flex;font-size:1.5rem;font-stretch:normal;height:4rem;justify-content:center;margin:0;max-height:4rem;max-width:4rem;min-height:4rem;min-width:4rem;padding:0;width:4rem}.fd-avatar--m .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--m .fd-avatar__zoom-icon[class*=sap-icon]{font-size:.75rem;height:1.125rem;min-width:1.125rem;width:1.125rem}.fd-avatar--m:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--m:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{bottom:-.125rem;right:-.125rem}.fd-avatar--m:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon][dir=rtl],.fd-avatar--m:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon][dir=rtl],[dir=rtl] .fd-avatar--m:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],[dir=rtl] .fd-avatar--m:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{left:-.125rem;right:auto}.fd-avatar--l{-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:inline-flex;font-size:2.25rem;font-stretch:normal;height:5rem;justify-content:center;margin:0;max-height:5rem;max-width:5rem;min-height:5rem;min-width:5rem;padding:0;width:5rem}.fd-avatar--l .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--l .fd-avatar__zoom-icon[class*=sap-icon]{font-size:.875rem;height:1.25rem;min-width:1.25rem;width:1.25rem}.fd-avatar--l:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--l:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{bottom:-.1875rem;right:-.1875rem}.fd-avatar--l:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon][dir=rtl],.fd-avatar--l:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon][dir=rtl],[dir=rtl] .fd-avatar--l:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],[dir=rtl] .fd-avatar--l:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{left:-.1875rem;right:auto}.fd-avatar--xl{-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:inline-flex;font-size:3rem;font-stretch:normal;height:7rem;justify-content:center;margin:0;max-height:7rem;max-width:7rem;min-height:7rem;min-width:7rem;padding:0;width:7rem}.fd-avatar--xl .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--xl .fd-avatar__zoom-icon[class*=sap-icon]{font-size:1rem;height:1.75rem;min-width:1.75rem;width:1.75rem}.fd-avatar--xl:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--xl:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{bottom:-.25rem;right:-.25rem}.fd-avatar--xl:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon][dir=rtl],.fd-avatar--xl:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon][dir=rtl],[dir=rtl] .fd-avatar--xl:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],[dir=rtl] .fd-avatar--xl:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{left:-.25rem;right:auto}\n"] }]
309
313
  }], ctorParameters: function () {
310
- return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
314
+ return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
311
315
  type: Attribute,
312
316
  args: ['tabindex']
313
317
  }] }];
@@ -369,9 +373,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
369
373
  type: Output
370
374
  }], zoomGlyphClicked: [{
371
375
  type: Output
372
- }], bgImage: [{
373
- type: HostBinding,
374
- args: ['style.background-image']
375
376
  }], role: [{
376
377
  type: HostBinding,
377
378
  args: ['attr.role']
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-avatar.mjs","sources":["../../../../libs/core/src/lib/avatar/tokens.ts","../../../../libs/core/src/lib/avatar/avatar.component.ts","../../../../libs/core/src/lib/avatar/avatar.component.html","../../../../libs/core/src/lib/avatar/avatar.module.ts","../../../../libs/core/src/lib/avatar/fundamental-ngx-core-avatar.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const FD_AVATAR_COMPONENT = new InjectionToken('FdAvatarComponent');\n","import {\n Attribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnChanges,\n OnInit,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport {\n ANY_LANGUAGE_LETTERS_REGEX,\n ColorAccent,\n Size,\n applyCssClass,\n getRandomColorAccent,\n CssClassBuilder\n} from '@fundamental-ngx/cdk/utils';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { FD_AVATAR_COMPONENT } from './tokens';\n\nlet avatarUniqueId = 0;\n\nconst ALTER_ICON_OPTIONS = {\n CONTENT: 'content',\n ALT: 'alt',\n BACKUP: 'backup',\n DEFAULT_ICON: 'default-icon'\n};\n\n@Component({\n selector: 'fd-avatar',\n templateUrl: './avatar.component.html',\n styleUrls: ['./avatar.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: FD_AVATAR_COMPONENT,\n useExisting: AvatarComponent\n }\n ],\n host: {\n '[attr.tabindex]': '_tabindex'\n }\n})\nexport class AvatarComponent implements OnChanges, OnInit, CssClassBuilder, OnChanges {\n /** User's custom classes */\n @Input()\n class: string;\n\n /** Id of the Avatar. */\n @Input()\n @HostBinding('attr.id')\n id = `fd-avatar-${avatarUniqueId++}`;\n\n /** Aria-label for Avatar. */\n @Input()\n @HostBinding('attr.aria-label')\n @HostBinding('attr.alt')\n ariaLabel: Nullable<string> = null;\n\n /** Aria-Labelledby for element describing Avatar. */\n @Input()\n @HostBinding('attr.aria-labelledby')\n ariaLabelledby: Nullable<string> = null;\n\n /** Localized text for label */\n @Input()\n set label(value: Nullable<string>) {\n this.ariaLabel = value || null;\n this.abbreviate = this._getAbbreviate(value);\n }\n\n /** The size of the Avatar. Options include: *xs*, *s*, *m*, *l* and *xl*. */\n @Input() size: Size = 'l';\n\n /** The glyph name. */\n @Input() glyph: Nullable<string> = null;\n\n /** The glyph name for zoom icon. */\n @Input() zoomGlyph: Nullable<string> = null;\n\n /** Whether to apply a circle style to the Avatar. */\n @Input() circle = false;\n\n /** Whether to apply a transparent style to the Avatar. */\n @Input() transparent = false;\n\n /** Whether to apply background size contain style to the Avatar */\n @Input() contain = false;\n\n /** Whether to apply a placeholder background style to the Avatar. */\n @Input() placeholder = false;\n\n /** Whether to apply a tile background style to the Avatar. */\n @Input() tile = false;\n\n /** Whether to apply a border to the Avatar. */\n @Input() border = false;\n\n /** A number from 1 to 10 representing the background color of the Avatar. */\n @Input() colorAccent: Nullable<ColorAccent> = null;\n\n /** Whether to apply random background color to the Avatar. */\n @Input() random = false;\n\n /** Whether component should be focusable & clicable */\n @Input() clickable = false;\n\n /**\n * @deprecated\n * Deprecated according to Rename `backgroundImage` to `image`\n * */\n /** Background image url. */\n @Input()\n set backgroundImage(value: string) {\n this._setImage(value);\n }\n\n /** Background image resource: url or base64. */\n @Input()\n set image(value: Nullable<string>) {\n this._setImage(value);\n }\n get image(): Nullable<string> {\n return this._image;\n }\n\n /** Backup options to use when image hasn't been loaded successfully.\n * Options separated with \"|\" symbol.\n * Possible options: content, alt, backup, default-icon\n */\n @Input()\n set alterIcon(value: Nullable<string>) {\n this._alterIcon = value;\n }\n get alterIcon(): Nullable<string> {\n return this._alterIcon;\n }\n\n /** Backup image to load when image hasn't been loaded successfully.\n * Only applicable when using alterIcon input property.\n */\n @Input()\n set backupImage(value: Nullable<string>) {\n this._backupImage = value;\n }\n get backupImage(): Nullable<string> {\n return this._backupImage;\n }\n\n /** Event emitted when avatar clicked. Only fires if clickable input property set to true. */\n @Output() avatarClicked = new EventEmitter<Event>();\n\n /** Event emitted when zoom icon clicked. Only fires if zoomGlyph input property is set. */\n @Output() zoomGlyphClicked = new EventEmitter<void>();\n\n /** @hidden */\n @HostBinding('style.background-image')\n get bgImage(): Nullable<string> {\n return this._bgImage;\n }\n\n /** @hidden */\n @HostBinding('attr.role')\n get role(): string {\n return this.zoomGlyph ? 'button' : 'img';\n }\n\n /** @hidden */\n @ViewChild('content')\n set content(value: ElementRef) {\n this._content = value;\n }\n\n /** @hidden */\n abbreviate: Nullable<string> = null;\n\n /** @hidden */\n private _image: Nullable<string> = null;\n\n /** @hidden */\n private _alterIcon: Nullable<string> = null;\n\n /** @hidden */\n private _content: Nullable<ElementRef> = null;\n\n /** @hidden */\n private _backupImage: Nullable<string> = null;\n\n /** @hidden */\n private _bgImage: Nullable<string> = null;\n\n /** @hidden */\n get _tabindex(): number | null {\n if (this.hostTabindex != null) {\n return this.hostTabindex;\n }\n return this.clickable ? 0 : null;\n }\n\n /** If a default placeholder should be displayed */\n get showDefault(): boolean {\n return !this.abbreviate && !this._image && !this.glyph;\n }\n\n /** @hidden */\n constructor(\n private _elementRef: ElementRef,\n private _cdr: ChangeDetectorRef,\n @Attribute('tabindex') private hostTabindex: number | null\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnChanges(): void {\n if (this.zoomGlyph) {\n this.clickable = true;\n }\n this.buildComponentCssClass();\n }\n\n /** @hidden\n * CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n 'fd-avatar',\n this.size ? `fd-avatar--${this.size}` : '',\n this.colorAccent && !this.random ? `fd-avatar--accent-color-${this.colorAccent}` : '',\n this.random ? `fd-avatar--accent-color-${getRandomColorAccent()}` : '',\n this.circle ? 'fd-avatar--circle' : '',\n this.border ? 'fd-avatar--border' : '',\n this.transparent ? 'fd-avatar--transparent' : '',\n this.contain ? 'fd-avatar--background-contain' : '',\n this.placeholder ? 'fd-avatar--placeholder' : '',\n this.tile ? 'fd-avatar--tile' : '',\n this.class\n ];\n }\n\n /** @hidden */\n elementRef(): ElementRef<any> {\n return this._elementRef;\n }\n\n /** @hidden */\n @HostListener('click', ['$event'])\n @HostListener('keydown.enter', ['$event'])\n @HostListener('keydown.space', ['$event'])\n _onClick(event: Event): void {\n if (this.clickable) {\n event.preventDefault();\n this.avatarClicked.emit(event);\n if (this.zoomGlyph) {\n this.zoomGlyphClicked.next();\n }\n }\n }\n\n /** @hidden */\n zoomClicked(event: Event): void {\n event.preventDefault();\n this._elementRef.nativeElement.focus();\n this.zoomGlyphClicked.next();\n }\n\n /** @hidden Get an abbreviate from the label or return null if not fit requirements */\n private _getAbbreviate(label: Nullable<string>): string | null {\n if (!label || this._image) {\n return null;\n }\n\n return this._generateAbbreviation(label);\n }\n\n /** @hidden Get the abbreviation string */\n private _generateAbbreviation(label: Nullable<string>): string | null {\n if (!label) {\n return null;\n }\n const maxLettersCount = 3;\n const firstLetters = label.split(' ').map((word) => word.charAt(0));\n const abbreviate = firstLetters.join('');\n\n if (firstLetters.length > maxLettersCount || !abbreviate.match(ANY_LANGUAGE_LETTERS_REGEX)) {\n return null;\n }\n\n return abbreviate;\n }\n\n /** @hidden */\n private _setImage(value: Nullable<string>): void {\n this._image = value;\n\n if (value) {\n this._verifyImageUrl(value, (): void => {}, this._onErrorCallback);\n } else {\n this._bgImage = null;\n }\n }\n\n /** @hidden */\n private _verifyImageUrl(srcValue: string, onLoadCallback: () => void, onErrorCallback: () => void): void {\n // Don't load the same image all the time check happens\n if (srcValue === this._bgImage) {\n return;\n }\n const img = new Image();\n img.onload = onLoadCallback.bind(this);\n img.onerror = onErrorCallback.bind(this);\n img.src = srcValue;\n this._assignBgImage(srcValue);\n }\n\n /** @hidden */\n private _assignBgImage(srcValue: Nullable<string>): void {\n this._bgImage = srcValue ? `url(${srcValue})` : null;\n }\n\n /** @hidden */\n private _onErrorCallback(): void {\n if (!this._alterIcon) {\n this._showDefaultIcon();\n this._cdr.detectChanges();\n return;\n }\n\n const options = this._alterIcon.split('|');\n for (let i = 0; i < options.length; i++) {\n const option = options[i];\n\n if (option === ALTER_ICON_OPTIONS.CONTENT) {\n const contentValue = this._content?.nativeElement.textContent;\n if (contentValue) {\n this.abbreviate = this._generateAbbreviation(contentValue);\n break;\n }\n\n continue;\n }\n\n if (option === ALTER_ICON_OPTIONS.ALT) {\n const altValue = this._elementRef.nativeElement.getAttribute('alt');\n if (altValue) {\n this.abbreviate = this._generateAbbreviation(altValue);\n break;\n }\n\n continue;\n }\n\n if (option === ALTER_ICON_OPTIONS.BACKUP) {\n if (this._backupImage && this._backupImage !== '') {\n // Check if backupImage can be loaded successfully\n // If not, set default user icon\n this._verifyImageUrl(\n this._backupImage,\n () => {\n this._assignBgImage(this._backupImage);\n this._cdr.detectChanges();\n },\n () => {\n this._showDefaultIcon();\n this._cdr.detectChanges();\n }\n );\n break;\n }\n\n continue;\n }\n\n if (option === ALTER_ICON_OPTIONS.DEFAULT_ICON) {\n this._showDefaultIcon();\n break;\n }\n\n this._showDefaultIcon();\n }\n\n this._cdr.detectChanges();\n }\n\n /** @hidden */\n private _showDefaultIcon(): void {\n this.abbreviate = null;\n this._image = null;\n this.glyph = null;\n }\n}\n","<ng-container *ngIf=\"abbreviate\">{{ abbreviate }}</ng-container>\n\n<i\n *ngIf=\"zoomGlyph\"\n role=\"presentation\"\n class=\"fd-avatar__zoom-icon\"\n [class]=\"zoomGlyph ? 'sap-icon--' + zoomGlyph : ''\"\n (mousedown)=\"zoomClicked($event)\"\n>\n</i>\n\n<i\n *ngIf=\"glyph || showDefault\"\n class=\"fd-avatar__icon\"\n role=\"presentation\"\n [class]=\"glyph ? 'sap-icon--' + glyph : 'sap-icon--person-placeholder'\"\n>\n</i>\n\n<div #content style=\"display: none\">\n <ng-content></ng-content>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { AvatarComponent } from './avatar.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [AvatarComponent],\n declarations: [AvatarComponent]\n})\nexport class AvatarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-core-avatar.mjs","sources":["../../../../libs/core/src/lib/avatar/tokens.ts","../../../../libs/core/src/lib/avatar/avatar.component.ts","../../../../libs/core/src/lib/avatar/avatar.component.html","../../../../libs/core/src/lib/avatar/avatar.module.ts","../../../../libs/core/src/lib/avatar/fundamental-ngx-core-avatar.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const FD_AVATAR_COMPONENT = new InjectionToken('FdAvatarComponent');\n","import {\n Attribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnChanges,\n OnInit,\n Output,\n Renderer2,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport {\n ANY_LANGUAGE_LETTERS_REGEX,\n ColorAccent,\n Size,\n applyCssClass,\n getRandomColorAccent,\n CssClassBuilder\n} from '@fundamental-ngx/cdk/utils';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { FD_AVATAR_COMPONENT } from './tokens';\n\nlet avatarUniqueId = 0;\n\nconst ALTER_ICON_OPTIONS = {\n CONTENT: 'content',\n ALT: 'alt',\n BACKUP: 'backup',\n DEFAULT_ICON: 'default-icon'\n};\n\n@Component({\n selector: 'fd-avatar',\n templateUrl: './avatar.component.html',\n styleUrls: ['./avatar.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: FD_AVATAR_COMPONENT,\n useExisting: AvatarComponent\n }\n ],\n host: {\n '[attr.tabindex]': '_tabindex'\n }\n})\nexport class AvatarComponent implements OnChanges, OnInit, CssClassBuilder, OnChanges {\n /** User's custom classes */\n @Input()\n class: string;\n\n /** Id of the Avatar. */\n @Input()\n @HostBinding('attr.id')\n id = `fd-avatar-${avatarUniqueId++}`;\n\n /** Aria-label for Avatar. */\n @Input()\n @HostBinding('attr.aria-label')\n @HostBinding('attr.alt')\n ariaLabel: Nullable<string> = null;\n\n /** Aria-Labelledby for element describing Avatar. */\n @Input()\n @HostBinding('attr.aria-labelledby')\n ariaLabelledby: Nullable<string> = null;\n\n /** Localized text for label */\n @Input()\n set label(value: Nullable<string>) {\n this.ariaLabel = value || null;\n this.abbreviate = this._getAbbreviate(value);\n }\n\n /** The size of the Avatar. Options include: *xs*, *s*, *m*, *l* and *xl*. */\n @Input() size: Size = 'l';\n\n /** The glyph name. */\n @Input() glyph: Nullable<string> = null;\n\n /** The glyph name for zoom icon. */\n @Input() zoomGlyph: Nullable<string> = null;\n\n /** Whether to apply a circle style to the Avatar. */\n @Input() circle = false;\n\n /** Whether to apply a transparent style to the Avatar. */\n @Input() transparent = false;\n\n /** Whether to apply background size contain style to the Avatar */\n @Input() contain = false;\n\n /** Whether to apply a placeholder background style to the Avatar. */\n @Input() placeholder = false;\n\n /** Whether to apply a tile background style to the Avatar. */\n @Input() tile = false;\n\n /** Whether to apply a border to the Avatar. */\n @Input() border = false;\n\n /** A number from 1 to 10 representing the background color of the Avatar. */\n @Input() colorAccent: Nullable<ColorAccent> = null;\n\n /** Whether to apply random background color to the Avatar. */\n @Input() random = false;\n\n /** Whether component should be focusable & clicable */\n @Input() clickable = false;\n\n /**\n * @deprecated\n * Deprecated according to Rename `backgroundImage` to `image`\n * */\n /** Background image url. */\n @Input()\n set backgroundImage(value: string) {\n this._setImage(value);\n }\n\n /** Background image resource: url or base64. */\n @Input()\n set image(value: Nullable<string>) {\n this._setImage(value);\n }\n get image(): Nullable<string> {\n return this._image;\n }\n\n /** Backup options to use when image hasn't been loaded successfully.\n * Options separated with \"|\" symbol.\n * Possible options: content, alt, backup, default-icon\n */\n @Input()\n set alterIcon(value: Nullable<string>) {\n this._alterIcon = value;\n }\n get alterIcon(): Nullable<string> {\n return this._alterIcon;\n }\n\n /** Backup image to load when image hasn't been loaded successfully.\n * Only applicable when using alterIcon input property.\n */\n @Input()\n set backupImage(value: Nullable<string>) {\n this._backupImage = value;\n }\n get backupImage(): Nullable<string> {\n return this._backupImage;\n }\n\n /** Event emitted when avatar clicked. Only fires if clickable input property set to true. */\n @Output() avatarClicked = new EventEmitter<Event>();\n\n /** Event emitted when zoom icon clicked. Only fires if zoomGlyph input property is set. */\n @Output() zoomGlyphClicked = new EventEmitter<void>();\n\n /**\n * @hidden\n */\n set bgImage(image: Nullable<string>) {\n this._bgImage = image;\n\n this._renderer.setStyle(this._elementRef.nativeElement, 'background-image', image);\n }\n\n get bgImage(): Nullable<string> {\n return this._bgImage;\n }\n\n /** @hidden */\n @HostBinding('attr.role')\n get role(): string {\n return this.zoomGlyph ? 'button' : 'img';\n }\n\n /** @hidden */\n @ViewChild('content')\n set content(value: ElementRef) {\n this._content = value;\n }\n\n /** @hidden */\n abbreviate: Nullable<string> = null;\n\n /** @hidden */\n private _image: Nullable<string> = null;\n\n /** @hidden */\n private _alterIcon: Nullable<string> = null;\n\n /** @hidden */\n private _content: Nullable<ElementRef> = null;\n\n /** @hidden */\n private _backupImage: Nullable<string> = null;\n\n /** @hidden */\n private _bgImage: Nullable<string> = null;\n\n /** @hidden */\n get _tabindex(): number | null {\n if (this.hostTabindex != null) {\n return this.hostTabindex;\n }\n return this.clickable ? 0 : null;\n }\n\n /** If a default placeholder should be displayed */\n get showDefault(): boolean {\n return !this.abbreviate && !this._image && !this.glyph;\n }\n\n /** @hidden */\n constructor(\n private readonly _elementRef: ElementRef,\n private readonly _cdr: ChangeDetectorRef,\n private readonly _renderer: Renderer2,\n @Attribute('tabindex') private hostTabindex: number | null\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnChanges(): void {\n if (this.zoomGlyph) {\n this.clickable = true;\n }\n this.buildComponentCssClass();\n }\n\n /** @hidden\n * CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n 'fd-avatar',\n this.size ? `fd-avatar--${this.size}` : '',\n this.colorAccent && !this.random ? `fd-avatar--accent-color-${this.colorAccent}` : '',\n this.random ? `fd-avatar--accent-color-${getRandomColorAccent()}` : '',\n this.circle ? 'fd-avatar--circle' : '',\n this.border ? 'fd-avatar--border' : '',\n this.transparent ? 'fd-avatar--transparent' : '',\n this.contain ? 'fd-avatar--background-contain' : '',\n this.placeholder ? 'fd-avatar--placeholder' : '',\n this.tile ? 'fd-avatar--tile' : '',\n this.class\n ];\n }\n\n /** @hidden */\n elementRef(): ElementRef<any> {\n return this._elementRef;\n }\n\n /** @hidden */\n @HostListener('click', ['$event'])\n @HostListener('keydown.enter', ['$event'])\n @HostListener('keydown.space', ['$event'])\n _onClick(event: Event): void {\n if (this.clickable) {\n event.preventDefault();\n this.avatarClicked.emit(event);\n if (this.zoomGlyph) {\n this.zoomGlyphClicked.next();\n }\n }\n }\n\n /** @hidden */\n zoomClicked(event: Event): void {\n event.preventDefault();\n this._elementRef.nativeElement.focus();\n this.zoomGlyphClicked.next();\n }\n\n /** @hidden Get an abbreviate from the label or return null if not fit requirements */\n private _getAbbreviate(label: Nullable<string>): string | null {\n if (!label || this._image) {\n return null;\n }\n\n return this._generateAbbreviation(label);\n }\n\n /** @hidden Get the abbreviation string */\n private _generateAbbreviation(label: Nullable<string>): string | null {\n if (!label) {\n return null;\n }\n const maxLettersCount = 3;\n const firstLetters = label.split(' ').map((word) => word.charAt(0));\n const abbreviate = firstLetters.join('');\n\n if (firstLetters.length > maxLettersCount || !abbreviate.match(ANY_LANGUAGE_LETTERS_REGEX)) {\n return null;\n }\n\n return abbreviate;\n }\n\n /** @hidden */\n private _setImage(value: Nullable<string>): void {\n this._image = value;\n\n if (value) {\n this._verifyImageUrl(value, (): void => {}, this._onErrorCallback);\n } else {\n this.bgImage = null;\n }\n }\n\n /** @hidden */\n private _verifyImageUrl(srcValue: string, onLoadCallback: () => void, onErrorCallback: () => void): void {\n // Don't load the same image all the time check happens\n if (srcValue === this.bgImage) {\n return;\n }\n const img = new Image();\n img.onload = onLoadCallback.bind(this);\n img.onerror = onErrorCallback.bind(this);\n img.src = srcValue;\n this._assignBgImage(srcValue);\n }\n\n /** @hidden */\n private _assignBgImage(srcValue: Nullable<string>): void {\n this.bgImage = srcValue ? `url(${srcValue})` : null;\n }\n\n /** @hidden */\n private _onErrorCallback(): void {\n if (!this._alterIcon) {\n this._showDefaultIcon();\n return;\n }\n\n const options = this._alterIcon.split('|');\n for (let i = 0; i < options.length; i++) {\n const option = options[i];\n\n if (option === ALTER_ICON_OPTIONS.CONTENT) {\n const contentValue = this._content?.nativeElement.textContent;\n if (contentValue) {\n this.abbreviate = this._generateAbbreviation(contentValue);\n break;\n }\n\n continue;\n }\n\n if (option === ALTER_ICON_OPTIONS.ALT) {\n const altValue = this._elementRef.nativeElement.getAttribute('alt');\n if (altValue) {\n this.abbreviate = this._generateAbbreviation(altValue);\n break;\n }\n\n continue;\n }\n\n if (option === ALTER_ICON_OPTIONS.BACKUP) {\n if (this._backupImage && this._backupImage !== '') {\n // Check if backupImage can be loaded successfully\n // If not, set default user icon\n this._verifyImageUrl(\n this._backupImage,\n () => {\n this._assignBgImage(this._backupImage);\n },\n () => {\n this._showDefaultIcon();\n }\n );\n break;\n }\n\n continue;\n }\n\n if (option === ALTER_ICON_OPTIONS.DEFAULT_ICON) {\n this._showDefaultIcon();\n break;\n }\n\n this._showDefaultIcon();\n }\n }\n\n /** @hidden */\n private _showDefaultIcon(): void {\n this.abbreviate = null;\n this._image = null;\n this.glyph = null;\n this._cdr.markForCheck();\n }\n}\n","<ng-container *ngIf=\"abbreviate\">{{ abbreviate }}</ng-container>\n\n<i\n *ngIf=\"zoomGlyph\"\n role=\"presentation\"\n class=\"fd-avatar__zoom-icon\"\n [class]=\"zoomGlyph ? 'sap-icon--' + zoomGlyph : ''\"\n (mousedown)=\"zoomClicked($event)\"\n>\n</i>\n\n<i\n *ngIf=\"glyph || showDefault\"\n class=\"fd-avatar__icon\"\n role=\"presentation\"\n [class]=\"glyph ? 'sap-icon--' + glyph : 'sap-icon--person-placeholder'\"\n>\n</i>\n\n<div #content style=\"display: none\">\n <ng-content></ng-content>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { AvatarComponent } from './avatar.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [AvatarComponent],\n declarations: [AvatarComponent]\n})\nexport class AvatarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -54,7 +54,13 @@ class AvatarComponent {
54
54
  get backupImage() {
55
55
  return this._backupImage;
56
56
  }
57
- /** @hidden */
57
+ /**
58
+ * @hidden
59
+ */
60
+ set bgImage(image) {
61
+ this._bgImage = image;
62
+ this._renderer.setStyle(this._elementRef.nativeElement, 'background-image', image);
63
+ }
58
64
  get bgImage() {
59
65
  return this._bgImage;
60
66
  }
@@ -78,9 +84,10 @@ class AvatarComponent {
78
84
  return !this.abbreviate && !this._image && !this.glyph;
79
85
  }
80
86
  /** @hidden */
81
- constructor(_elementRef, _cdr, hostTabindex) {
87
+ constructor(_elementRef, _cdr, _renderer, hostTabindex) {
82
88
  this._elementRef = _elementRef;
83
89
  this._cdr = _cdr;
90
+ this._renderer = _renderer;
84
91
  this.hostTabindex = hostTabindex;
85
92
  /** Id of the Avatar. */
86
93
  this.id = `fd-avatar-${avatarUniqueId++}`;
@@ -207,13 +214,13 @@ class AvatarComponent {
207
214
  this._verifyImageUrl(value, () => { }, this._onErrorCallback);
208
215
  }
209
216
  else {
210
- this._bgImage = null;
217
+ this.bgImage = null;
211
218
  }
212
219
  }
213
220
  /** @hidden */
214
221
  _verifyImageUrl(srcValue, onLoadCallback, onErrorCallback) {
215
222
  // Don't load the same image all the time check happens
216
- if (srcValue === this._bgImage) {
223
+ if (srcValue === this.bgImage) {
217
224
  return;
218
225
  }
219
226
  const img = new Image();
@@ -224,13 +231,12 @@ class AvatarComponent {
224
231
  }
225
232
  /** @hidden */
226
233
  _assignBgImage(srcValue) {
227
- this._bgImage = srcValue ? `url(${srcValue})` : null;
234
+ this.bgImage = srcValue ? `url(${srcValue})` : null;
228
235
  }
229
236
  /** @hidden */
230
237
  _onErrorCallback() {
231
238
  if (!this._alterIcon) {
232
239
  this._showDefaultIcon();
233
- this._cdr.detectChanges();
234
240
  return;
235
241
  }
236
242
  const options = this._alterIcon.split('|');
@@ -258,10 +264,8 @@ class AvatarComponent {
258
264
  // If not, set default user icon
259
265
  this._verifyImageUrl(this._backupImage, () => {
260
266
  this._assignBgImage(this._backupImage);
261
- this._cdr.detectChanges();
262
267
  }, () => {
263
268
  this._showDefaultIcon();
264
- this._cdr.detectChanges();
265
269
  });
266
270
  break;
267
271
  }
@@ -273,17 +277,17 @@ class AvatarComponent {
273
277
  }
274
278
  this._showDefaultIcon();
275
279
  }
276
- this._cdr.detectChanges();
277
280
  }
278
281
  /** @hidden */
279
282
  _showDefaultIcon() {
280
283
  this.abbreviate = null;
281
284
  this._image = null;
282
285
  this.glyph = null;
286
+ this._cdr.markForCheck();
283
287
  }
284
288
  }
285
- AvatarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: AvatarComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: 'tabindex', attribute: true }], target: i0.ɵɵFactoryTarget.Component });
286
- AvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: AvatarComponent, selector: "fd-avatar", inputs: { class: "class", id: "id", ariaLabel: "ariaLabel", ariaLabelledby: "ariaLabelledby", label: "label", size: "size", glyph: "glyph", zoomGlyph: "zoomGlyph", circle: "circle", transparent: "transparent", contain: "contain", placeholder: "placeholder", tile: "tile", border: "border", colorAccent: "colorAccent", random: "random", clickable: "clickable", backgroundImage: "backgroundImage", image: "image", alterIcon: "alterIcon", backupImage: "backupImage" }, outputs: { avatarClicked: "avatarClicked", zoomGlyphClicked: "zoomGlyphClicked" }, host: { listeners: { "click": "_onClick($event)", "keydown.enter": "_onClick($event)", "keydown.space": "_onClick($event)" }, properties: { "attr.tabindex": "_tabindex", "attr.id": "this.id", "attr.aria-label": "this.ariaLabel", "attr.alt": "this.ariaLabel", "attr.aria-labelledby": "this.ariaLabelledby", "style.background-image": "this.bgImage", "attr.role": "this.role" } }, providers: [
289
+ AvatarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: AvatarComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: 'tabindex', attribute: true }], target: i0.ɵɵFactoryTarget.Component });
290
+ AvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: AvatarComponent, selector: "fd-avatar", inputs: { class: "class", id: "id", ariaLabel: "ariaLabel", ariaLabelledby: "ariaLabelledby", label: "label", size: "size", glyph: "glyph", zoomGlyph: "zoomGlyph", circle: "circle", transparent: "transparent", contain: "contain", placeholder: "placeholder", tile: "tile", border: "border", colorAccent: "colorAccent", random: "random", clickable: "clickable", backgroundImage: "backgroundImage", image: "image", alterIcon: "alterIcon", backupImage: "backupImage" }, outputs: { avatarClicked: "avatarClicked", zoomGlyphClicked: "zoomGlyphClicked" }, host: { listeners: { "click": "_onClick($event)", "keydown.enter": "_onClick($event)", "keydown.space": "_onClick($event)" }, properties: { "attr.tabindex": "_tabindex", "attr.id": "this.id", "attr.aria-label": "this.ariaLabel", "attr.alt": "this.ariaLabel", "attr.aria-labelledby": "this.ariaLabelledby", "attr.role": "this.role" } }, providers: [
287
291
  {
288
292
  provide: FD_AVATAR_COMPONENT,
289
293
  useExisting: AvatarComponent
@@ -305,7 +309,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
305
309
  ], host: {
306
310
  '[attr.tabindex]': '_tabindex'
307
311
  }, template: "<ng-container *ngIf=\"abbreviate\">{{ abbreviate }}</ng-container>\n\n<i\n *ngIf=\"zoomGlyph\"\n role=\"presentation\"\n class=\"fd-avatar__zoom-icon\"\n [class]=\"zoomGlyph ? 'sap-icon--' + zoomGlyph : ''\"\n (mousedown)=\"zoomClicked($event)\"\n>\n</i>\n\n<i\n *ngIf=\"glyph || showDefault\"\n class=\"fd-avatar__icon\"\n role=\"presentation\"\n [class]=\"glyph ? 'sap-icon--' + glyph : 'sap-icon--person-placeholder'\"\n>\n</i>\n\n<div #content style=\"display: none\">\n <ng-content></ng-content>\n</div>\n", styles: ["/*!\n * Fundamental Library Styles v0.27.1\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-avatar{-webkit-box-sizing:border-box;background-color:var(--fdAvatar_BackgroundColor);background-position:50%;background-repeat:no-repeat;background-size:cover;border:0;border:var(--fdAvatar_Border);border-radius:var(--sapElement_BorderCornerRadius);box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_ContrastTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0;position:relative;text-shadow:var(--fdAvatar_Text_Shadow);vertical-align:middle}.fd-avatar:after,.fd-avatar:before{box-sizing:inherit;font-size:inherit}.fd-avatar.is-focus,.fd-avatar:focus{outline:none}.fd-avatar.is-focus:after,.fd-avatar:focus:after{border-color:var(--sapContent_FocusColor);border-radius:var(--fdAvatar_Focus_Outline_Radius);border-style:var(--sapContent_FocusStyle);border-width:var(--sapContent_FocusWidth);bottom:var(--fdAvatar_Focus_Outline_Offset);content:\"\";left:var(--fdAvatar_Focus_Outline_Offset);pointer-events:none;position:absolute;right:var(--fdAvatar_Focus_Outline_Offset);top:var(--fdAvatar_Focus_Outline_Offset)}.fd-avatar[tabindex=\"0\"]{cursor:pointer}.fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar__zoom-icon[class*=sap-icon]{background:inherit;background-color:var(--sapButton_Emphasized_Background);border:.0625rem solid var(--sapButton_Emphasized_BorderColor);border-radius:inherit;border-radius:50%;color:inherit;color:var(--sapButton_Emphasized_TextColor);position:absolute}.fd-avatar__icon [class*=sap-icon],.fd-avatar__icon[class*=sap-icon],.fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar__zoom-icon[class*=sap-icon]{-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:flex;font-size:inherit;justify-content:center;line-height:1}.fd-avatar__icon [class*=sap-icon],.fd-avatar__icon[class*=sap-icon]{align-content:center;background:inherit;border-radius:inherit;color:inherit}.fd-avatar--circle{border-radius:50%}.fd-avatar--circle.is-focus,.fd-avatar--circle:focus{outline:none}.fd-avatar--circle.is-focus:after,.fd-avatar--circle:focus:after{border-color:var(--sapContent_FocusColor);border-radius:var(--fdAvatar_Focus_Outline_Radius_Circle);border-style:var(--sapContent_FocusStyle);border-width:var(--sapContent_FocusWidth);bottom:var(--fdAvatar_Focus_Outline_Offset);content:\"\";left:var(--fdAvatar_Focus_Outline_Offset);pointer-events:none;position:absolute;right:var(--fdAvatar_Focus_Outline_Offset);top:var(--fdAvatar_Focus_Outline_Offset)}.fd-avatar--circle .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--circle .fd-avatar__zoom-icon[class*=sap-icon]{bottom:0;right:0}.fd-avatar--circle .fd-avatar__zoom-icon [class*=sap-icon][dir=rtl],.fd-avatar--circle .fd-avatar__zoom-icon[class*=sap-icon][dir=rtl],[dir=rtl] .fd-avatar--circle .fd-avatar__zoom-icon [class*=sap-icon],[dir=rtl] .fd-avatar--circle .fd-avatar__zoom-icon[class*=sap-icon]{left:0;right:auto}.fd-avatar--transparent{background-color:var(--fdAvatar_Transparent_BackgroundColor);color:var(--sapContent_IconColor)}.fd-avatar--background-contain{background-size:contain}.fd-avatar--placeholder{background-color:var(--sapContent_ImagePlaceholderBackground)}.fd-avatar--tile{background-color:var(--fdAvatar_Tile_BackgroundColor)}.fd-avatar--border{border:.0625rem solid var(--sapGroup_ContentBorderColor)}.fd-avatar--accent-color-1{background-color:var(--fdAvatar_Accent_Color_1);border:var(--fdAvatar_Accent_Color_1_Border);color:var(--fdAvatar_Accent_Color_1_Text)}.fd-avatar--accent-color-1.fd-avatar--shell{border:.0625rem solid var(--sapShell_InteractiveBorderColor)}.fd-avatar--accent-color-2{background-color:var(--fdAvatar_Accent_Color_2);border:var(--fdAvatar_Accent_Color_2_Border);color:var(--fdAvatar_Accent_Color_2_Text)}.fd-avatar--accent-color-2.fd-avatar--shell{border:.0625rem solid var(--sapShell_InteractiveBorderColor)}.fd-avatar--accent-color-3{background-color:var(--fdAvatar_Accent_Color_3);border:var(--fdAvatar_Accent_Color_3_Border);color:var(--fdAvatar_Accent_Color_3_Text)}.fd-avatar--accent-color-3.fd-avatar--shell{border:.0625rem solid var(--sapShell_InteractiveBorderColor)}.fd-avatar--accent-color-4{background-color:var(--fdAvatar_Accent_Color_4);border:var(--fdAvatar_Accent_Color_4_Border);color:var(--fdAvatar_Accent_Color_4_Text)}.fd-avatar--accent-color-4.fd-avatar--shell{border:.0625rem solid var(--sapShell_InteractiveBorderColor)}.fd-avatar--accent-color-5{background-color:var(--fdAvatar_Accent_Color_5);border:var(--fdAvatar_Accent_Color_5_Border);color:var(--fdAvatar_Accent_Color_5_Text)}.fd-avatar--accent-color-5.fd-avatar--shell{border:.0625rem solid var(--sapShell_InteractiveBorderColor)}.fd-avatar--accent-color-6{background-color:var(--fdAvatar_Accent_Color_6);border:var(--fdAvatar_Accent_Color_6_Border);color:var(--fdAvatar_Accent_Color_6_Text)}.fd-avatar--accent-color-6.fd-avatar--shell{border:.0625rem solid var(--sapShell_InteractiveBorderColor)}.fd-avatar--accent-color-7{background-color:var(--fdAvatar_Accent_Color_7);border:var(--fdAvatar_Accent_Color_7_Border);color:var(--fdAvatar_Accent_Color_7_Text)}.fd-avatar--accent-color-7.fd-avatar--shell{border:.0625rem solid var(--sapShell_InteractiveBorderColor)}.fd-avatar--accent-color-8{background-color:var(--fdAvatar_Accent_Color_8);border:var(--fdAvatar_Accent_Color_8_Border);color:var(--fdAvatar_Accent_Color_8_Text)}.fd-avatar--accent-color-8.fd-avatar--shell{border:.0625rem solid var(--sapShell_InteractiveBorderColor)}.fd-avatar--accent-color-9{background-color:var(--fdAvatar_Accent_Color_9);border:var(--fdAvatar_Accent_Color_9_Border);color:var(--fdAvatar_Accent_Color_9_Text)}.fd-avatar--accent-color-9.fd-avatar--shell{border:.0625rem solid var(--sapShell_InteractiveBorderColor)}.fd-avatar--accent-color-10{background-color:var(--fdAvatar_Accent_Color_10);border:var(--fdAvatar_Accent_Color_10_Border);color:var(--fdAvatar_Accent_Color_10_Text)}.fd-avatar--accent-color-10.fd-avatar--shell{border:.0625rem solid var(--sapShell_InteractiveBorderColor)}.fd-avatar--xs{-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:inline-flex;font-size:1rem;font-stretch:condensed;height:2rem;justify-content:center;margin:0;max-height:2rem;max-width:2rem;min-height:2rem;min-width:2rem;padding:0;width:2rem}.fd-avatar--xs .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--xs .fd-avatar__zoom-icon[class*=sap-icon]{font-size:.75rem;height:1.125rem;min-width:1.125rem;width:1.125rem}.fd-avatar--xs:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--xs:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{bottom:-.125rem;right:-.125rem}.fd-avatar--xs:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon][dir=rtl],.fd-avatar--xs:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon][dir=rtl],[dir=rtl] .fd-avatar--xs:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],[dir=rtl] .fd-avatar--xs:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{left:-.125rem;right:auto}.fd-avatar--s{-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:inline-flex;font-size:1.125rem;font-stretch:condensed;height:3rem;justify-content:center;margin:0;max-height:3rem;max-width:3rem;min-height:3rem;min-width:3rem;padding:0;width:3rem}.fd-avatar--s .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--s .fd-avatar__zoom-icon[class*=sap-icon]{font-size:.75rem;height:1.125rem;min-width:1.125rem;width:1.125rem}.fd-avatar--s:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--s:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{bottom:-.125rem;right:-.125rem}.fd-avatar--s:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon][dir=rtl],.fd-avatar--s:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon][dir=rtl],[dir=rtl] .fd-avatar--s:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],[dir=rtl] .fd-avatar--s:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{left:-.125rem;right:auto}.fd-avatar--m{-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:inline-flex;font-size:1.5rem;font-stretch:normal;height:4rem;justify-content:center;margin:0;max-height:4rem;max-width:4rem;min-height:4rem;min-width:4rem;padding:0;width:4rem}.fd-avatar--m .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--m .fd-avatar__zoom-icon[class*=sap-icon]{font-size:.75rem;height:1.125rem;min-width:1.125rem;width:1.125rem}.fd-avatar--m:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--m:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{bottom:-.125rem;right:-.125rem}.fd-avatar--m:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon][dir=rtl],.fd-avatar--m:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon][dir=rtl],[dir=rtl] .fd-avatar--m:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],[dir=rtl] .fd-avatar--m:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{left:-.125rem;right:auto}.fd-avatar--l{-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:inline-flex;font-size:2.25rem;font-stretch:normal;height:5rem;justify-content:center;margin:0;max-height:5rem;max-width:5rem;min-height:5rem;min-width:5rem;padding:0;width:5rem}.fd-avatar--l .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--l .fd-avatar__zoom-icon[class*=sap-icon]{font-size:.875rem;height:1.25rem;min-width:1.25rem;width:1.25rem}.fd-avatar--l:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--l:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{bottom:-.1875rem;right:-.1875rem}.fd-avatar--l:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon][dir=rtl],.fd-avatar--l:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon][dir=rtl],[dir=rtl] .fd-avatar--l:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],[dir=rtl] .fd-avatar--l:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{left:-.1875rem;right:auto}.fd-avatar--xl{-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:inline-flex;font-size:3rem;font-stretch:normal;height:7rem;justify-content:center;margin:0;max-height:7rem;max-width:7rem;min-height:7rem;min-width:7rem;padding:0;width:7rem}.fd-avatar--xl .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--xl .fd-avatar__zoom-icon[class*=sap-icon]{font-size:1rem;height:1.75rem;min-width:1.75rem;width:1.75rem}.fd-avatar--xl:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],.fd-avatar--xl:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{bottom:-.25rem;right:-.25rem}.fd-avatar--xl:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon][dir=rtl],.fd-avatar--xl:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon][dir=rtl],[dir=rtl] .fd-avatar--xl:not(.fd-avatar--circle) .fd-avatar__zoom-icon [class*=sap-icon],[dir=rtl] .fd-avatar--xl:not(.fd-avatar--circle) .fd-avatar__zoom-icon[class*=sap-icon]{left:-.25rem;right:auto}\n"] }]
308
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
312
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
309
313
  type: Attribute,
310
314
  args: ['tabindex']
311
315
  }] }]; }, propDecorators: { class: [{
@@ -366,9 +370,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
366
370
  type: Output
367
371
  }], zoomGlyphClicked: [{
368
372
  type: Output
369
- }], bgImage: [{
370
- type: HostBinding,
371
- args: ['style.background-image']
372
373
  }], role: [{
373
374
  type: HostBinding,
374
375
  args: ['attr.role']
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-avatar.mjs","sources":["../../../../libs/core/src/lib/avatar/tokens.ts","../../../../libs/core/src/lib/avatar/avatar.component.ts","../../../../libs/core/src/lib/avatar/avatar.component.html","../../../../libs/core/src/lib/avatar/avatar.module.ts","../../../../libs/core/src/lib/avatar/fundamental-ngx-core-avatar.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const FD_AVATAR_COMPONENT = new InjectionToken('FdAvatarComponent');\n","import {\n Attribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnChanges,\n OnInit,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport {\n ANY_LANGUAGE_LETTERS_REGEX,\n ColorAccent,\n Size,\n applyCssClass,\n getRandomColorAccent,\n CssClassBuilder\n} from '@fundamental-ngx/cdk/utils';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { FD_AVATAR_COMPONENT } from './tokens';\n\nlet avatarUniqueId = 0;\n\nconst ALTER_ICON_OPTIONS = {\n CONTENT: 'content',\n ALT: 'alt',\n BACKUP: 'backup',\n DEFAULT_ICON: 'default-icon'\n};\n\n@Component({\n selector: 'fd-avatar',\n templateUrl: './avatar.component.html',\n styleUrls: ['./avatar.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: FD_AVATAR_COMPONENT,\n useExisting: AvatarComponent\n }\n ],\n host: {\n '[attr.tabindex]': '_tabindex'\n }\n})\nexport class AvatarComponent implements OnChanges, OnInit, CssClassBuilder, OnChanges {\n /** User's custom classes */\n @Input()\n class: string;\n\n /** Id of the Avatar. */\n @Input()\n @HostBinding('attr.id')\n id = `fd-avatar-${avatarUniqueId++}`;\n\n /** Aria-label for Avatar. */\n @Input()\n @HostBinding('attr.aria-label')\n @HostBinding('attr.alt')\n ariaLabel: Nullable<string> = null;\n\n /** Aria-Labelledby for element describing Avatar. */\n @Input()\n @HostBinding('attr.aria-labelledby')\n ariaLabelledby: Nullable<string> = null;\n\n /** Localized text for label */\n @Input()\n set label(value: Nullable<string>) {\n this.ariaLabel = value || null;\n this.abbreviate = this._getAbbreviate(value);\n }\n\n /** The size of the Avatar. Options include: *xs*, *s*, *m*, *l* and *xl*. */\n @Input() size: Size = 'l';\n\n /** The glyph name. */\n @Input() glyph: Nullable<string> = null;\n\n /** The glyph name for zoom icon. */\n @Input() zoomGlyph: Nullable<string> = null;\n\n /** Whether to apply a circle style to the Avatar. */\n @Input() circle = false;\n\n /** Whether to apply a transparent style to the Avatar. */\n @Input() transparent = false;\n\n /** Whether to apply background size contain style to the Avatar */\n @Input() contain = false;\n\n /** Whether to apply a placeholder background style to the Avatar. */\n @Input() placeholder = false;\n\n /** Whether to apply a tile background style to the Avatar. */\n @Input() tile = false;\n\n /** Whether to apply a border to the Avatar. */\n @Input() border = false;\n\n /** A number from 1 to 10 representing the background color of the Avatar. */\n @Input() colorAccent: Nullable<ColorAccent> = null;\n\n /** Whether to apply random background color to the Avatar. */\n @Input() random = false;\n\n /** Whether component should be focusable & clicable */\n @Input() clickable = false;\n\n /**\n * @deprecated\n * Deprecated according to Rename `backgroundImage` to `image`\n * */\n /** Background image url. */\n @Input()\n set backgroundImage(value: string) {\n this._setImage(value);\n }\n\n /** Background image resource: url or base64. */\n @Input()\n set image(value: Nullable<string>) {\n this._setImage(value);\n }\n get image(): Nullable<string> {\n return this._image;\n }\n\n /** Backup options to use when image hasn't been loaded successfully.\n * Options separated with \"|\" symbol.\n * Possible options: content, alt, backup, default-icon\n */\n @Input()\n set alterIcon(value: Nullable<string>) {\n this._alterIcon = value;\n }\n get alterIcon(): Nullable<string> {\n return this._alterIcon;\n }\n\n /** Backup image to load when image hasn't been loaded successfully.\n * Only applicable when using alterIcon input property.\n */\n @Input()\n set backupImage(value: Nullable<string>) {\n this._backupImage = value;\n }\n get backupImage(): Nullable<string> {\n return this._backupImage;\n }\n\n /** Event emitted when avatar clicked. Only fires if clickable input property set to true. */\n @Output() avatarClicked = new EventEmitter<Event>();\n\n /** Event emitted when zoom icon clicked. Only fires if zoomGlyph input property is set. */\n @Output() zoomGlyphClicked = new EventEmitter<void>();\n\n /** @hidden */\n @HostBinding('style.background-image')\n get bgImage(): Nullable<string> {\n return this._bgImage;\n }\n\n /** @hidden */\n @HostBinding('attr.role')\n get role(): string {\n return this.zoomGlyph ? 'button' : 'img';\n }\n\n /** @hidden */\n @ViewChild('content')\n set content(value: ElementRef) {\n this._content = value;\n }\n\n /** @hidden */\n abbreviate: Nullable<string> = null;\n\n /** @hidden */\n private _image: Nullable<string> = null;\n\n /** @hidden */\n private _alterIcon: Nullable<string> = null;\n\n /** @hidden */\n private _content: Nullable<ElementRef> = null;\n\n /** @hidden */\n private _backupImage: Nullable<string> = null;\n\n /** @hidden */\n private _bgImage: Nullable<string> = null;\n\n /** @hidden */\n get _tabindex(): number | null {\n if (this.hostTabindex != null) {\n return this.hostTabindex;\n }\n return this.clickable ? 0 : null;\n }\n\n /** If a default placeholder should be displayed */\n get showDefault(): boolean {\n return !this.abbreviate && !this._image && !this.glyph;\n }\n\n /** @hidden */\n constructor(\n private _elementRef: ElementRef,\n private _cdr: ChangeDetectorRef,\n @Attribute('tabindex') private hostTabindex: number | null\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnChanges(): void {\n if (this.zoomGlyph) {\n this.clickable = true;\n }\n this.buildComponentCssClass();\n }\n\n /** @hidden\n * CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n 'fd-avatar',\n this.size ? `fd-avatar--${this.size}` : '',\n this.colorAccent && !this.random ? `fd-avatar--accent-color-${this.colorAccent}` : '',\n this.random ? `fd-avatar--accent-color-${getRandomColorAccent()}` : '',\n this.circle ? 'fd-avatar--circle' : '',\n this.border ? 'fd-avatar--border' : '',\n this.transparent ? 'fd-avatar--transparent' : '',\n this.contain ? 'fd-avatar--background-contain' : '',\n this.placeholder ? 'fd-avatar--placeholder' : '',\n this.tile ? 'fd-avatar--tile' : '',\n this.class\n ];\n }\n\n /** @hidden */\n elementRef(): ElementRef<any> {\n return this._elementRef;\n }\n\n /** @hidden */\n @HostListener('click', ['$event'])\n @HostListener('keydown.enter', ['$event'])\n @HostListener('keydown.space', ['$event'])\n _onClick(event: Event): void {\n if (this.clickable) {\n event.preventDefault();\n this.avatarClicked.emit(event);\n if (this.zoomGlyph) {\n this.zoomGlyphClicked.next();\n }\n }\n }\n\n /** @hidden */\n zoomClicked(event: Event): void {\n event.preventDefault();\n this._elementRef.nativeElement.focus();\n this.zoomGlyphClicked.next();\n }\n\n /** @hidden Get an abbreviate from the label or return null if not fit requirements */\n private _getAbbreviate(label: Nullable<string>): string | null {\n if (!label || this._image) {\n return null;\n }\n\n return this._generateAbbreviation(label);\n }\n\n /** @hidden Get the abbreviation string */\n private _generateAbbreviation(label: Nullable<string>): string | null {\n if (!label) {\n return null;\n }\n const maxLettersCount = 3;\n const firstLetters = label.split(' ').map((word) => word.charAt(0));\n const abbreviate = firstLetters.join('');\n\n if (firstLetters.length > maxLettersCount || !abbreviate.match(ANY_LANGUAGE_LETTERS_REGEX)) {\n return null;\n }\n\n return abbreviate;\n }\n\n /** @hidden */\n private _setImage(value: Nullable<string>): void {\n this._image = value;\n\n if (value) {\n this._verifyImageUrl(value, (): void => {}, this._onErrorCallback);\n } else {\n this._bgImage = null;\n }\n }\n\n /** @hidden */\n private _verifyImageUrl(srcValue: string, onLoadCallback: () => void, onErrorCallback: () => void): void {\n // Don't load the same image all the time check happens\n if (srcValue === this._bgImage) {\n return;\n }\n const img = new Image();\n img.onload = onLoadCallback.bind(this);\n img.onerror = onErrorCallback.bind(this);\n img.src = srcValue;\n this._assignBgImage(srcValue);\n }\n\n /** @hidden */\n private _assignBgImage(srcValue: Nullable<string>): void {\n this._bgImage = srcValue ? `url(${srcValue})` : null;\n }\n\n /** @hidden */\n private _onErrorCallback(): void {\n if (!this._alterIcon) {\n this._showDefaultIcon();\n this._cdr.detectChanges();\n return;\n }\n\n const options = this._alterIcon.split('|');\n for (let i = 0; i < options.length; i++) {\n const option = options[i];\n\n if (option === ALTER_ICON_OPTIONS.CONTENT) {\n const contentValue = this._content?.nativeElement.textContent;\n if (contentValue) {\n this.abbreviate = this._generateAbbreviation(contentValue);\n break;\n }\n\n continue;\n }\n\n if (option === ALTER_ICON_OPTIONS.ALT) {\n const altValue = this._elementRef.nativeElement.getAttribute('alt');\n if (altValue) {\n this.abbreviate = this._generateAbbreviation(altValue);\n break;\n }\n\n continue;\n }\n\n if (option === ALTER_ICON_OPTIONS.BACKUP) {\n if (this._backupImage && this._backupImage !== '') {\n // Check if backupImage can be loaded successfully\n // If not, set default user icon\n this._verifyImageUrl(\n this._backupImage,\n () => {\n this._assignBgImage(this._backupImage);\n this._cdr.detectChanges();\n },\n () => {\n this._showDefaultIcon();\n this._cdr.detectChanges();\n }\n );\n break;\n }\n\n continue;\n }\n\n if (option === ALTER_ICON_OPTIONS.DEFAULT_ICON) {\n this._showDefaultIcon();\n break;\n }\n\n this._showDefaultIcon();\n }\n\n this._cdr.detectChanges();\n }\n\n /** @hidden */\n private _showDefaultIcon(): void {\n this.abbreviate = null;\n this._image = null;\n this.glyph = null;\n }\n}\n","<ng-container *ngIf=\"abbreviate\">{{ abbreviate }}</ng-container>\n\n<i\n *ngIf=\"zoomGlyph\"\n role=\"presentation\"\n class=\"fd-avatar__zoom-icon\"\n [class]=\"zoomGlyph ? 'sap-icon--' + zoomGlyph : ''\"\n (mousedown)=\"zoomClicked($event)\"\n>\n</i>\n\n<i\n *ngIf=\"glyph || showDefault\"\n class=\"fd-avatar__icon\"\n role=\"presentation\"\n [class]=\"glyph ? 'sap-icon--' + glyph : 'sap-icon--person-placeholder'\"\n>\n</i>\n\n<div #content style=\"display: none\">\n <ng-content></ng-content>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { AvatarComponent } from './avatar.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [AvatarComponent],\n declarations: [AvatarComponent]\n})\nexport class AvatarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-core-avatar.mjs","sources":["../../../../libs/core/src/lib/avatar/tokens.ts","../../../../libs/core/src/lib/avatar/avatar.component.ts","../../../../libs/core/src/lib/avatar/avatar.component.html","../../../../libs/core/src/lib/avatar/avatar.module.ts","../../../../libs/core/src/lib/avatar/fundamental-ngx-core-avatar.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const FD_AVATAR_COMPONENT = new InjectionToken('FdAvatarComponent');\n","import {\n Attribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnChanges,\n OnInit,\n Output,\n Renderer2,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport {\n ANY_LANGUAGE_LETTERS_REGEX,\n ColorAccent,\n Size,\n applyCssClass,\n getRandomColorAccent,\n CssClassBuilder\n} from '@fundamental-ngx/cdk/utils';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { FD_AVATAR_COMPONENT } from './tokens';\n\nlet avatarUniqueId = 0;\n\nconst ALTER_ICON_OPTIONS = {\n CONTENT: 'content',\n ALT: 'alt',\n BACKUP: 'backup',\n DEFAULT_ICON: 'default-icon'\n};\n\n@Component({\n selector: 'fd-avatar',\n templateUrl: './avatar.component.html',\n styleUrls: ['./avatar.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: FD_AVATAR_COMPONENT,\n useExisting: AvatarComponent\n }\n ],\n host: {\n '[attr.tabindex]': '_tabindex'\n }\n})\nexport class AvatarComponent implements OnChanges, OnInit, CssClassBuilder, OnChanges {\n /** User's custom classes */\n @Input()\n class: string;\n\n /** Id of the Avatar. */\n @Input()\n @HostBinding('attr.id')\n id = `fd-avatar-${avatarUniqueId++}`;\n\n /** Aria-label for Avatar. */\n @Input()\n @HostBinding('attr.aria-label')\n @HostBinding('attr.alt')\n ariaLabel: Nullable<string> = null;\n\n /** Aria-Labelledby for element describing Avatar. */\n @Input()\n @HostBinding('attr.aria-labelledby')\n ariaLabelledby: Nullable<string> = null;\n\n /** Localized text for label */\n @Input()\n set label(value: Nullable<string>) {\n this.ariaLabel = value || null;\n this.abbreviate = this._getAbbreviate(value);\n }\n\n /** The size of the Avatar. Options include: *xs*, *s*, *m*, *l* and *xl*. */\n @Input() size: Size = 'l';\n\n /** The glyph name. */\n @Input() glyph: Nullable<string> = null;\n\n /** The glyph name for zoom icon. */\n @Input() zoomGlyph: Nullable<string> = null;\n\n /** Whether to apply a circle style to the Avatar. */\n @Input() circle = false;\n\n /** Whether to apply a transparent style to the Avatar. */\n @Input() transparent = false;\n\n /** Whether to apply background size contain style to the Avatar */\n @Input() contain = false;\n\n /** Whether to apply a placeholder background style to the Avatar. */\n @Input() placeholder = false;\n\n /** Whether to apply a tile background style to the Avatar. */\n @Input() tile = false;\n\n /** Whether to apply a border to the Avatar. */\n @Input() border = false;\n\n /** A number from 1 to 10 representing the background color of the Avatar. */\n @Input() colorAccent: Nullable<ColorAccent> = null;\n\n /** Whether to apply random background color to the Avatar. */\n @Input() random = false;\n\n /** Whether component should be focusable & clicable */\n @Input() clickable = false;\n\n /**\n * @deprecated\n * Deprecated according to Rename `backgroundImage` to `image`\n * */\n /** Background image url. */\n @Input()\n set backgroundImage(value: string) {\n this._setImage(value);\n }\n\n /** Background image resource: url or base64. */\n @Input()\n set image(value: Nullable<string>) {\n this._setImage(value);\n }\n get image(): Nullable<string> {\n return this._image;\n }\n\n /** Backup options to use when image hasn't been loaded successfully.\n * Options separated with \"|\" symbol.\n * Possible options: content, alt, backup, default-icon\n */\n @Input()\n set alterIcon(value: Nullable<string>) {\n this._alterIcon = value;\n }\n get alterIcon(): Nullable<string> {\n return this._alterIcon;\n }\n\n /** Backup image to load when image hasn't been loaded successfully.\n * Only applicable when using alterIcon input property.\n */\n @Input()\n set backupImage(value: Nullable<string>) {\n this._backupImage = value;\n }\n get backupImage(): Nullable<string> {\n return this._backupImage;\n }\n\n /** Event emitted when avatar clicked. Only fires if clickable input property set to true. */\n @Output() avatarClicked = new EventEmitter<Event>();\n\n /** Event emitted when zoom icon clicked. Only fires if zoomGlyph input property is set. */\n @Output() zoomGlyphClicked = new EventEmitter<void>();\n\n /**\n * @hidden\n */\n set bgImage(image: Nullable<string>) {\n this._bgImage = image;\n\n this._renderer.setStyle(this._elementRef.nativeElement, 'background-image', image);\n }\n\n get bgImage(): Nullable<string> {\n return this._bgImage;\n }\n\n /** @hidden */\n @HostBinding('attr.role')\n get role(): string {\n return this.zoomGlyph ? 'button' : 'img';\n }\n\n /** @hidden */\n @ViewChild('content')\n set content(value: ElementRef) {\n this._content = value;\n }\n\n /** @hidden */\n abbreviate: Nullable<string> = null;\n\n /** @hidden */\n private _image: Nullable<string> = null;\n\n /** @hidden */\n private _alterIcon: Nullable<string> = null;\n\n /** @hidden */\n private _content: Nullable<ElementRef> = null;\n\n /** @hidden */\n private _backupImage: Nullable<string> = null;\n\n /** @hidden */\n private _bgImage: Nullable<string> = null;\n\n /** @hidden */\n get _tabindex(): number | null {\n if (this.hostTabindex != null) {\n return this.hostTabindex;\n }\n return this.clickable ? 0 : null;\n }\n\n /** If a default placeholder should be displayed */\n get showDefault(): boolean {\n return !this.abbreviate && !this._image && !this.glyph;\n }\n\n /** @hidden */\n constructor(\n private readonly _elementRef: ElementRef,\n private readonly _cdr: ChangeDetectorRef,\n private readonly _renderer: Renderer2,\n @Attribute('tabindex') private hostTabindex: number | null\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnChanges(): void {\n if (this.zoomGlyph) {\n this.clickable = true;\n }\n this.buildComponentCssClass();\n }\n\n /** @hidden\n * CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n 'fd-avatar',\n this.size ? `fd-avatar--${this.size}` : '',\n this.colorAccent && !this.random ? `fd-avatar--accent-color-${this.colorAccent}` : '',\n this.random ? `fd-avatar--accent-color-${getRandomColorAccent()}` : '',\n this.circle ? 'fd-avatar--circle' : '',\n this.border ? 'fd-avatar--border' : '',\n this.transparent ? 'fd-avatar--transparent' : '',\n this.contain ? 'fd-avatar--background-contain' : '',\n this.placeholder ? 'fd-avatar--placeholder' : '',\n this.tile ? 'fd-avatar--tile' : '',\n this.class\n ];\n }\n\n /** @hidden */\n elementRef(): ElementRef<any> {\n return this._elementRef;\n }\n\n /** @hidden */\n @HostListener('click', ['$event'])\n @HostListener('keydown.enter', ['$event'])\n @HostListener('keydown.space', ['$event'])\n _onClick(event: Event): void {\n if (this.clickable) {\n event.preventDefault();\n this.avatarClicked.emit(event);\n if (this.zoomGlyph) {\n this.zoomGlyphClicked.next();\n }\n }\n }\n\n /** @hidden */\n zoomClicked(event: Event): void {\n event.preventDefault();\n this._elementRef.nativeElement.focus();\n this.zoomGlyphClicked.next();\n }\n\n /** @hidden Get an abbreviate from the label or return null if not fit requirements */\n private _getAbbreviate(label: Nullable<string>): string | null {\n if (!label || this._image) {\n return null;\n }\n\n return this._generateAbbreviation(label);\n }\n\n /** @hidden Get the abbreviation string */\n private _generateAbbreviation(label: Nullable<string>): string | null {\n if (!label) {\n return null;\n }\n const maxLettersCount = 3;\n const firstLetters = label.split(' ').map((word) => word.charAt(0));\n const abbreviate = firstLetters.join('');\n\n if (firstLetters.length > maxLettersCount || !abbreviate.match(ANY_LANGUAGE_LETTERS_REGEX)) {\n return null;\n }\n\n return abbreviate;\n }\n\n /** @hidden */\n private _setImage(value: Nullable<string>): void {\n this._image = value;\n\n if (value) {\n this._verifyImageUrl(value, (): void => {}, this._onErrorCallback);\n } else {\n this.bgImage = null;\n }\n }\n\n /** @hidden */\n private _verifyImageUrl(srcValue: string, onLoadCallback: () => void, onErrorCallback: () => void): void {\n // Don't load the same image all the time check happens\n if (srcValue === this.bgImage) {\n return;\n }\n const img = new Image();\n img.onload = onLoadCallback.bind(this);\n img.onerror = onErrorCallback.bind(this);\n img.src = srcValue;\n this._assignBgImage(srcValue);\n }\n\n /** @hidden */\n private _assignBgImage(srcValue: Nullable<string>): void {\n this.bgImage = srcValue ? `url(${srcValue})` : null;\n }\n\n /** @hidden */\n private _onErrorCallback(): void {\n if (!this._alterIcon) {\n this._showDefaultIcon();\n return;\n }\n\n const options = this._alterIcon.split('|');\n for (let i = 0; i < options.length; i++) {\n const option = options[i];\n\n if (option === ALTER_ICON_OPTIONS.CONTENT) {\n const contentValue = this._content?.nativeElement.textContent;\n if (contentValue) {\n this.abbreviate = this._generateAbbreviation(contentValue);\n break;\n }\n\n continue;\n }\n\n if (option === ALTER_ICON_OPTIONS.ALT) {\n const altValue = this._elementRef.nativeElement.getAttribute('alt');\n if (altValue) {\n this.abbreviate = this._generateAbbreviation(altValue);\n break;\n }\n\n continue;\n }\n\n if (option === ALTER_ICON_OPTIONS.BACKUP) {\n if (this._backupImage && this._backupImage !== '') {\n // Check if backupImage can be loaded successfully\n // If not, set default user icon\n this._verifyImageUrl(\n this._backupImage,\n () => {\n this._assignBgImage(this._backupImage);\n },\n () => {\n this._showDefaultIcon();\n }\n );\n break;\n }\n\n continue;\n }\n\n if (option === ALTER_ICON_OPTIONS.DEFAULT_ICON) {\n this._showDefaultIcon();\n break;\n }\n\n this._showDefaultIcon();\n }\n }\n\n /** @hidden */\n private _showDefaultIcon(): void {\n this.abbreviate = null;\n this._image = null;\n this.glyph = null;\n this._cdr.markForCheck();\n }\n}\n","<ng-container *ngIf=\"abbreviate\">{{ abbreviate }}</ng-container>\n\n<i\n *ngIf=\"zoomGlyph\"\n role=\"presentation\"\n class=\"fd-avatar__zoom-icon\"\n [class]=\"zoomGlyph ? 'sap-icon--' + zoomGlyph : ''\"\n (mousedown)=\"zoomClicked($event)\"\n>\n</i>\n\n<i\n *ngIf=\"glyph || showDefault\"\n class=\"fd-avatar__icon\"\n role=\"presentation\"\n [class]=\"glyph ? 'sap-icon--' + glyph : 'sap-icon--person-placeholder'\"\n>\n</i>\n\n<div #content style=\"display: none\">\n <ng-content></ng-content>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { AvatarComponent } from './avatar.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [AvatarComponent],\n declarations: [AvatarComponent]\n})\nexport class AvatarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core",
3
- "version": "0.40.0-rc.3",
3
+ "version": "0.40.0-rc.5",
4
4
  "schematics": "./schematics/collection.json",
5
5
  "ng-update": {
6
6
  "migrations": "./schematics/migrations.json"
@@ -29,8 +29,8 @@
29
29
  },
30
30
  "dependencies": {
31
31
  "focus-trap": "^7.1.0",
32
- "@fundamental-ngx/i18n": "0.40.0-rc.3",
33
- "@fundamental-ngx/cdk": "0.40.0-rc.3",
32
+ "@fundamental-ngx/i18n": "0.40.0-rc.5",
33
+ "@fundamental-ngx/cdk": "0.40.0-rc.5",
34
34
  "fast-deep-equal": "3.1.3",
35
35
  "lodash-es": "^4.17.0",
36
36
  "tslib": "^2.0.0",
@@ -54,21 +54,21 @@ function addExternalLibraries(options) {
54
54
  });
55
55
  }
56
56
  if (!(0, package_utils_1.hasPackage)(tree, '@fundamental-ngx/i18n') ||
57
- (0, package_utils_1.checkPackageVersion)(tree, '@fundamental-ngx/i18n', '0.40.0-rc.3', '<')) {
57
+ (0, package_utils_1.checkPackageVersion)(tree, '@fundamental-ngx/i18n', '0.40.0-rc.5', '<')) {
58
58
  dependencies.push({
59
59
  type: dependencies_1.NodeDependencyType.Default,
60
60
  // Will be replaced with the real version during sync-version script run
61
- version: `0.40.0-rc.3`,
61
+ version: `0.40.0-rc.5`,
62
62
  name: '@fundamental-ngx/i18n',
63
63
  overwrite: true
64
64
  });
65
65
  }
66
66
  if (!(0, package_utils_1.hasPackage)(tree, '@fundamental-ngx/cdk') ||
67
- (0, package_utils_1.checkPackageVersion)(tree, '@fundamental-ngx/cdk', '0.40.0-rc.3', '<')) {
67
+ (0, package_utils_1.checkPackageVersion)(tree, '@fundamental-ngx/cdk', '0.40.0-rc.5', '<')) {
68
68
  dependencies.push({
69
69
  type: dependencies_1.NodeDependencyType.Default,
70
70
  // Will be replaced with the real version during sync-version script run
71
- version: `0.40.0-rc.3`,
71
+ version: `0.40.0-rc.5`,
72
72
  name: '@fundamental-ngx/cdk',
73
73
  overwrite: true
74
74
  });