@fundamental-ngx/core 0.40.0-rc.4 → 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.
- package/avatar/avatar.component.d.ts +10 -6
- package/esm2020/avatar/avatar.component.mjs +18 -17
- package/fesm2015/fundamental-ngx-core-avatar.mjs +16 -15
- package/fesm2015/fundamental-ngx-core-avatar.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-avatar.mjs +16 -15
- package/fesm2020/fundamental-ngx-core-avatar.mjs.map +1 -1
- package/fundamental-ngx-core-v0.40.0-rc.5.tgz +0 -0
- package/package.json +3 -3
- package/schematics/add-dependencies/index.js +4 -4
- package/fundamental-ngx-core-v0.40.0-rc.4.tgz +0 -0
|
@@ -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
|
-
/**
|
|
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
|
-
/**
|
|
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.
|
|
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.
|
|
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.
|
|
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", "
|
|
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
|
-
/**
|
|
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.
|
|
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.
|
|
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.
|
|
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", "
|
|
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
|
-
/**
|
|
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.
|
|
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.
|
|
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.
|
|
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", "
|
|
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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"}
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fundamental-ngx/core",
|
|
3
|
-
"version": "0.40.0-rc.
|
|
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.
|
|
33
|
-
"@fundamental-ngx/cdk": "0.40.0-rc.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
71
|
+
version: `0.40.0-rc.5`,
|
|
72
72
|
name: '@fundamental-ngx/cdk',
|
|
73
73
|
overwrite: true
|
|
74
74
|
});
|
|
Binary file
|