@ecodev/natural 62.1.2 → 63.0.0
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/fesm2022/ecodev-natural-vanilla.mjs +1193 -0
- package/fesm2022/ecodev-natural-vanilla.mjs.map +1 -0
- package/fesm2022/ecodev-natural.mjs +436 -425
- package/fesm2022/ecodev-natural.mjs.map +1 -1
- package/lib/classes/network-activity.service.d.ts +54 -0
- package/lib/classes/validators.d.ts +1 -1
- package/lib/modules/columns-picker/columns-picker.component.d.ts +2 -2
- package/lib/modules/common/services/seo.provider.d.ts +2 -2
- package/lib/modules/dropdown-components/type-select/type-select.component.d.ts +1 -1
- package/lib/modules/file/abstract-file.d.ts +6 -3
- package/lib/modules/file/component/file.component.d.ts +2 -2
- package/lib/modules/file/file-drop.directive.d.ts +2 -3
- package/lib/modules/fixed-button-detail/fixed-button-detail.component.d.ts +2 -3
- package/lib/modules/hierarchic-selector/hierarchic-selector/hierarchic-selector.component.d.ts +3 -3
- package/lib/modules/icon/icon.module.d.ts +2 -2
- package/lib/modules/panels/panels.service.d.ts +1 -2
- package/lib/modules/relations/relations.component.d.ts +3 -3
- package/lib/modules/search/dropdown-container/dropdown-container.component.d.ts +2 -3
- package/lib/modules/search/group/group.component.d.ts +2 -3
- package/lib/modules/search/input/input.component.d.ts +5 -5
- package/lib/modules/search/search/search.component.d.ts +2 -2
- package/lib/modules/select/abstract-select.component.d.ts +3 -3
- package/lib/modules/select/select/select.component.d.ts +1 -1
- package/lib/modules/sidenav/sidenav-container/sidenav-container.component.d.ts +1 -1
- package/lib/modules/table-button/table-button.component.d.ts +4 -2
- package/package.json +16 -14
- package/public-api.d.ts +1 -0
- package/src/lib/_natural.theme.scss +1 -2
- package/vanilla/index.d.ts +5 -0
- package/vanilla/package.json +3 -0
- package/vanilla/public-api.d.ts +11 -0
- package/vanilla/src/lib/classes/crypto.d.ts +8 -0
- package/vanilla/src/lib/classes/data-source.d.ts +32 -0
- package/vanilla/src/lib/classes/query-variable-manager-utils.d.ts +2 -0
- package/vanilla/src/lib/classes/query-variable-manager.d.ts +91 -0
- package/vanilla/src/lib/classes/signing.d.ts +7 -0
- package/vanilla/src/lib/classes/utility.d.ts +77 -0
- package/vanilla/src/lib/modules/search/classes/graphql-doctrine.types.d.ts +83 -0
- package/vanilla/src/lib/modules/search/classes/utils.d.ts +17 -0
- package/vanilla/src/lib/modules/search/types/dropdown-component.d.ts +20 -0
- package/vanilla/src/lib/modules/search/types/facet.d.ts +75 -0
- package/vanilla/src/lib/modules/search/types/values.d.ts +32 -0
- package/vanilla/src/lib/services/abstract-model.service.d.ts +244 -0
- package/vanilla/src/lib/services/debounce.service.d.ts +52 -0
- package/vanilla/src/lib/types/types.d.ts +100 -0
- package/esm2022/ecodev-natural.mjs +0 -5
- package/esm2022/lib/classes/abstract-detail.mjs +0 -229
- package/esm2022/lib/classes/abstract-editable-list.mjs +0 -99
- package/esm2022/lib/classes/abstract-list.mjs +0 -461
- package/esm2022/lib/classes/abstract-navigable-list.mjs +0 -133
- package/esm2022/lib/classes/apollo-utils.mjs +0 -59
- package/esm2022/lib/classes/crypto.mjs +0 -23
- package/esm2022/lib/classes/cumulative-changes.mjs +0 -50
- package/esm2022/lib/classes/data-source.mjs +0 -71
- package/esm2022/lib/classes/providers.mjs +0 -13
- package/esm2022/lib/classes/query-variable-manager-utils.mjs +0 -14
- package/esm2022/lib/classes/query-variable-manager.mjs +0 -172
- package/esm2022/lib/classes/rxjs.mjs +0 -54
- package/esm2022/lib/classes/signing.mjs +0 -38
- package/esm2022/lib/classes/tld.mjs +0 -1476
- package/esm2022/lib/classes/utility.mjs +0 -234
- package/esm2022/lib/classes/validators.mjs +0 -179
- package/esm2022/lib/directives/http-prefix.directive.mjs +0 -47
- package/esm2022/lib/modules/alert/alert.service.mjs +0 -53
- package/esm2022/lib/modules/alert/confirm.component.mjs +0 -16
- package/esm2022/lib/modules/alert/public-api.mjs +0 -6
- package/esm2022/lib/modules/avatar/component/avatar.component.mjs +0 -203
- package/esm2022/lib/modules/avatar/public-api.mjs +0 -6
- package/esm2022/lib/modules/avatar/service/avatar.service.mjs +0 -63
- package/esm2022/lib/modules/avatar/sources/gravatar.mjs +0 -29
- package/esm2022/lib/modules/avatar/sources/image.mjs +0 -13
- package/esm2022/lib/modules/avatar/sources/initials.mjs +0 -39
- package/esm2022/lib/modules/avatar/sources/source.mjs +0 -16
- package/esm2022/lib/modules/columns-picker/columns-picker.component.mjs +0 -145
- package/esm2022/lib/modules/columns-picker/public-api.mjs +0 -5
- package/esm2022/lib/modules/columns-picker/types.mjs +0 -2
- package/esm2022/lib/modules/common/directives/background-density.directive.mjs +0 -63
- package/esm2022/lib/modules/common/directives/linkable-tab.directive.mjs +0 -93
- package/esm2022/lib/modules/common/directives/src-density.directive.mjs +0 -72
- package/esm2022/lib/modules/common/pipes/capitalize.pipe.mjs +0 -24
- package/esm2022/lib/modules/common/pipes/ellipsis.pipe.mjs +0 -17
- package/esm2022/lib/modules/common/pipes/enum.pipe.mjs +0 -24
- package/esm2022/lib/modules/common/pipes/time-ago.pipe.mjs +0 -140
- package/esm2022/lib/modules/common/public-api.mjs +0 -14
- package/esm2022/lib/modules/common/services/memory-storage.mjs +0 -110
- package/esm2022/lib/modules/common/services/seo.provider.mjs +0 -23
- package/esm2022/lib/modules/common/services/seo.service.mjs +0 -235
- package/esm2022/lib/modules/detail-header/detail-header.component.mjs +0 -84
- package/esm2022/lib/modules/detail-header/public-api.mjs +0 -5
- package/esm2022/lib/modules/dialog-trigger/dialog-trigger.component.mjs +0 -72
- package/esm2022/lib/modules/dialog-trigger/public-api.mjs +0 -5
- package/esm2022/lib/modules/dropdown-components/abstract-association-select-component.directive.mjs +0 -100
- package/esm2022/lib/modules/dropdown-components/public-api.mjs +0 -14
- package/esm2022/lib/modules/dropdown-components/type-boolean/type-boolean.component.mjs +0 -39
- package/esm2022/lib/modules/dropdown-components/type-date/type-date.component.mjs +0 -173
- package/esm2022/lib/modules/dropdown-components/type-date-range/type-date-range.component.mjs +0 -134
- package/esm2022/lib/modules/dropdown-components/type-hierarchic-selector/type-hierarchic-selector.component.mjs +0 -80
- package/esm2022/lib/modules/dropdown-components/type-natural-select/type-natural-select.component.mjs +0 -48
- package/esm2022/lib/modules/dropdown-components/type-number/type-number.component.mjs +0 -110
- package/esm2022/lib/modules/dropdown-components/type-options/type-options.component.mjs +0 -64
- package/esm2022/lib/modules/dropdown-components/type-select/type-select.component.mjs +0 -175
- package/esm2022/lib/modules/dropdown-components/type-text/type-text.component.mjs +0 -62
- package/esm2022/lib/modules/dropdown-components/types.mjs +0 -41
- package/esm2022/lib/modules/dropdown-components/utils.mjs +0 -35
- package/esm2022/lib/modules/file/abstract-file.mjs +0 -230
- package/esm2022/lib/modules/file/component/file.component.mjs +0 -172
- package/esm2022/lib/modules/file/file-drop.directive.mjs +0 -111
- package/esm2022/lib/modules/file/file-select.directive.mjs +0 -26
- package/esm2022/lib/modules/file/file.service.mjs +0 -43
- package/esm2022/lib/modules/file/public-api.mjs +0 -9
- package/esm2022/lib/modules/file/types.mjs +0 -2
- package/esm2022/lib/modules/file/utils.mjs +0 -129
- package/esm2022/lib/modules/fixed-button/fixed-button.component.mjs +0 -30
- package/esm2022/lib/modules/fixed-button/public-api.mjs +0 -5
- package/esm2022/lib/modules/fixed-button-detail/fixed-button-detail.component.mjs +0 -56
- package/esm2022/lib/modules/fixed-button-detail/public-api.mjs +0 -5
- package/esm2022/lib/modules/hierarchic-selector/classes/flat-node.mjs +0 -18
- package/esm2022/lib/modules/hierarchic-selector/classes/hierarchic-configuration.mjs +0 -2
- package/esm2022/lib/modules/hierarchic-selector/classes/hierarchic-filters-configuration.mjs +0 -2
- package/esm2022/lib/modules/hierarchic-selector/classes/model-node.mjs +0 -14
- package/esm2022/lib/modules/hierarchic-selector/hierarchic-selector/hierarchic-selector.component.mjs +0 -398
- package/esm2022/lib/modules/hierarchic-selector/hierarchic-selector/hierarchic-selector.service.mjs +0 -243
- package/esm2022/lib/modules/hierarchic-selector/hierarchic-selector-dialog/hierarchic-selector-dialog.component.mjs +0 -38
- package/esm2022/lib/modules/hierarchic-selector/hierarchic-selector-dialog/hierarchic-selector-dialog.service.mjs +0 -22
- package/esm2022/lib/modules/hierarchic-selector/public-api.mjs +0 -10
- package/esm2022/lib/modules/icon/icon.directive.mjs +0 -96
- package/esm2022/lib/modules/icon/icon.module.mjs +0 -33
- package/esm2022/lib/modules/icon/public-api.mjs +0 -6
- package/esm2022/lib/modules/logger/error-handler.mjs +0 -87
- package/esm2022/lib/modules/logger/error.module.mjs +0 -22
- package/esm2022/lib/modules/logger/public-api.mjs +0 -6
- package/esm2022/lib/modules/matomo/matomo.service.mjs +0 -96
- package/esm2022/lib/modules/matomo/public-api.mjs +0 -5
- package/esm2022/lib/modules/panels/abstract-panel.mjs +0 -76
- package/esm2022/lib/modules/panels/fallback-if-no-opened-panels.urlmatcher.mjs +0 -12
- package/esm2022/lib/modules/panels/panels.component.mjs +0 -27
- package/esm2022/lib/modules/panels/panels.module.mjs +0 -10
- package/esm2022/lib/modules/panels/panels.service.mjs +0 -329
- package/esm2022/lib/modules/panels/panels.urlmatcher.mjs +0 -75
- package/esm2022/lib/modules/panels/public-api.mjs +0 -11
- package/esm2022/lib/modules/panels/types.mjs +0 -3
- package/esm2022/lib/modules/relations/public-api.mjs +0 -5
- package/esm2022/lib/modules/relations/relations.component.mjs +0 -254
- package/esm2022/lib/modules/search/classes/graphql-doctrine.mjs +0 -111
- package/esm2022/lib/modules/search/classes/graphql-doctrine.types.mjs +0 -14
- package/esm2022/lib/modules/search/classes/transformers.mjs +0 -142
- package/esm2022/lib/modules/search/classes/url.mjs +0 -53
- package/esm2022/lib/modules/search/classes/utils.mjs +0 -25
- package/esm2022/lib/modules/search/dropdown-container/dropdown-container-animations.mjs +0 -44
- package/esm2022/lib/modules/search/dropdown-container/dropdown-container.component.mjs +0 -87
- package/esm2022/lib/modules/search/dropdown-container/dropdown-ref.mjs +0 -24
- package/esm2022/lib/modules/search/dropdown-container/dropdown.service.mjs +0 -90
- package/esm2022/lib/modules/search/facet-selector/facet-selector.component.mjs +0 -45
- package/esm2022/lib/modules/search/group/group.component.mjs +0 -53
- package/esm2022/lib/modules/search/input/input.component.mjs +0 -365
- package/esm2022/lib/modules/search/public-api.mjs +0 -7
- package/esm2022/lib/modules/search/search/search.component.mjs +0 -102
- package/esm2022/lib/modules/search/types/dropdown-component.mjs +0 -2
- package/esm2022/lib/modules/search/types/facet.mjs +0 -2
- package/esm2022/lib/modules/search/types/values.mjs +0 -2
- package/esm2022/lib/modules/select/abstract-select.component.mjs +0 -232
- package/esm2022/lib/modules/select/public-api.mjs +0 -7
- package/esm2022/lib/modules/select/select/select.component.mjs +0 -310
- package/esm2022/lib/modules/select/select-enum/select-enum.component.mjs +0 -57
- package/esm2022/lib/modules/select/select-hierarchic/select-hierarchic.component.mjs +0 -155
- package/esm2022/lib/modules/sidenav/public-api.mjs +0 -9
- package/esm2022/lib/modules/sidenav/sidenav/sidenav.component.mjs +0 -15
- package/esm2022/lib/modules/sidenav/sidenav-container/sidenav-container.component.mjs +0 -90
- package/esm2022/lib/modules/sidenav/sidenav-content/sidenav-content.component.mjs +0 -11
- package/esm2022/lib/modules/sidenav/sidenav-stack.service.mjs +0 -50
- package/esm2022/lib/modules/sidenav/sidenav.service.mjs +0 -196
- package/esm2022/lib/modules/stamp/public-api.mjs +0 -5
- package/esm2022/lib/modules/stamp/stamp.component.mjs +0 -23
- package/esm2022/lib/modules/table-button/public-api.mjs +0 -5
- package/esm2022/lib/modules/table-button/table-button.component.mjs +0 -78
- package/esm2022/lib/services/abstract-model.service.mjs +0 -526
- package/esm2022/lib/services/debounce.service.mjs +0 -149
- package/esm2022/lib/services/enum.service.mjs +0 -64
- package/esm2022/lib/services/link-mutation.service.mjs +0 -154
- package/esm2022/lib/services/persistence.service.mjs +0 -115
- package/esm2022/lib/services/swiss-parsing-date-adapter.service.mjs +0 -63
- package/esm2022/lib/types/types.mjs +0 -2
- package/esm2022/public-api.mjs +0 -46
|
@@ -1,203 +0,0 @@
|
|
|
1
|
-
import { Component, HostBinding, inject, Input } from '@angular/core';
|
|
2
|
-
import { AvatarService } from '../service/avatar.service';
|
|
3
|
-
import { CommonModule } from '@angular/common';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/common";
|
|
6
|
-
/**
|
|
7
|
-
* Show an avatar from different sources
|
|
8
|
-
*/
|
|
9
|
-
export class NaturalAvatarComponent {
|
|
10
|
-
avatarService = inject(AvatarService);
|
|
11
|
-
image;
|
|
12
|
-
initials;
|
|
13
|
-
gravatar;
|
|
14
|
-
size = 50;
|
|
15
|
-
decorated = true;
|
|
16
|
-
textSizeRatio = 2.25;
|
|
17
|
-
bgColor;
|
|
18
|
-
fgColor = '#FFF';
|
|
19
|
-
borderRadius = '';
|
|
20
|
-
textMaximumLength = 2;
|
|
21
|
-
avatarSrc = null;
|
|
22
|
-
avatarText = null;
|
|
23
|
-
avatarStyle = {};
|
|
24
|
-
hostStyle = {};
|
|
25
|
-
currentIndex = -1;
|
|
26
|
-
sources = [];
|
|
27
|
-
/**
|
|
28
|
-
* Detect inputs change
|
|
29
|
-
*/
|
|
30
|
-
ngOnChanges(changes) {
|
|
31
|
-
this.sources.length = 0;
|
|
32
|
-
for (const [propName, creator] of this.avatarService.getCreators()) {
|
|
33
|
-
if (!changes[propName]) {
|
|
34
|
-
continue;
|
|
35
|
-
}
|
|
36
|
-
const currentValue = changes[propName].currentValue;
|
|
37
|
-
if (currentValue && typeof currentValue === 'string') {
|
|
38
|
-
this.sources.push(new creator(currentValue));
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
// reinitialize the avatar component when a source property value has changed
|
|
42
|
-
// the fallback system must be re-invoked with the new values.
|
|
43
|
-
this.initializeAvatar();
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Fetch avatar source
|
|
47
|
-
*/
|
|
48
|
-
tryNextSource() {
|
|
49
|
-
const previousSource = this.sources[this.currentIndex];
|
|
50
|
-
if (previousSource) {
|
|
51
|
-
this.avatarService.markSourceAsFailed(previousSource);
|
|
52
|
-
}
|
|
53
|
-
const source = this.findNextSource();
|
|
54
|
-
if (!source) {
|
|
55
|
-
this.clearAvatar();
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
if (source.isTextual()) {
|
|
59
|
-
this.buildTextAvatar(source);
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
this.buildImageAvatar(source);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
findNextSource() {
|
|
66
|
-
while (++this.currentIndex < this.sources.length) {
|
|
67
|
-
const source = this.sources[this.currentIndex];
|
|
68
|
-
if (source && !this.avatarService.sourceHasFailedBefore(source)) {
|
|
69
|
-
return source;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
return null;
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Initialize the avatar component and its fallback system
|
|
76
|
-
*/
|
|
77
|
-
initializeAvatar() {
|
|
78
|
-
this.currentIndex = -1;
|
|
79
|
-
if (this.sources.length > 0) {
|
|
80
|
-
this.tryNextSource();
|
|
81
|
-
this.hostStyle = {
|
|
82
|
-
width: this.size + 'px',
|
|
83
|
-
height: this.size + 'px',
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
clearAvatar() {
|
|
88
|
-
this.avatarSrc = null;
|
|
89
|
-
this.avatarText = null;
|
|
90
|
-
this.avatarStyle = {};
|
|
91
|
-
}
|
|
92
|
-
buildTextAvatar(avatarSource) {
|
|
93
|
-
this.clearAvatar();
|
|
94
|
-
avatarSource.getAvatar(+this.textMaximumLength).then(avatarText => (this.avatarText = avatarText));
|
|
95
|
-
this.avatarStyle = this.getTextualStyle(avatarSource.getValue());
|
|
96
|
-
}
|
|
97
|
-
buildImageAvatar(avatarSource) {
|
|
98
|
-
this.clearAvatar();
|
|
99
|
-
avatarSource.getAvatar(+this.size).then(avatarSrc => (this.avatarSrc = avatarSrc));
|
|
100
|
-
this.avatarStyle = this.getImageStyle();
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* Returns initials style
|
|
104
|
-
*/
|
|
105
|
-
getTextualStyle(avatarValue) {
|
|
106
|
-
return {
|
|
107
|
-
textAlign: 'center',
|
|
108
|
-
borderRadius: this.borderRadius || '100%',
|
|
109
|
-
textTransform: 'uppercase',
|
|
110
|
-
color: this.fgColor,
|
|
111
|
-
backgroundColor: this.bgColor ? this.bgColor : this.avatarService.getRandomColor(avatarValue),
|
|
112
|
-
font: Math.floor(+this.size / this.textSizeRatio) + 'px Helvetica, Arial, sans-serif',
|
|
113
|
-
lineHeight: this.size + 'px',
|
|
114
|
-
width: this.size + 'px',
|
|
115
|
-
height: this.size + 'px',
|
|
116
|
-
};
|
|
117
|
-
}
|
|
118
|
-
/**
|
|
119
|
-
* Returns image style
|
|
120
|
-
*/
|
|
121
|
-
getImageStyle() {
|
|
122
|
-
return {
|
|
123
|
-
maxWidth: '100%',
|
|
124
|
-
borderRadius: this.borderRadius || '100%',
|
|
125
|
-
width: this.size + 'px',
|
|
126
|
-
height: this.size + 'px',
|
|
127
|
-
};
|
|
128
|
-
}
|
|
129
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalAvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
130
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.3", type: NaturalAvatarComponent, isStandalone: true, selector: "natural-avatar", inputs: { image: "image", initials: "initials", gravatar: "gravatar", size: "size", decorated: "decorated", textSizeRatio: "textSizeRatio", bgColor: "bgColor", fgColor: "fgColor", borderRadius: "borderRadius", textMaximumLength: "textMaximumLength" }, host: { properties: { "style.height.px": "this.size", "style.width.px": "this.size", "class.decorated": "this.decorated" } }, usesOnChanges: true, ngImport: i0, template: `
|
|
131
|
-
<div class="avatar-container" [ngStyle]="hostStyle">
|
|
132
|
-
@if (avatarSrc) {
|
|
133
|
-
<img
|
|
134
|
-
[src]="avatarSrc"
|
|
135
|
-
[width]="size"
|
|
136
|
-
[height]="size"
|
|
137
|
-
[ngStyle]="avatarStyle"
|
|
138
|
-
(error)="tryNextSource()"
|
|
139
|
-
class="avatar-content"
|
|
140
|
-
loading="lazy"
|
|
141
|
-
/>
|
|
142
|
-
}
|
|
143
|
-
@if (avatarText) {
|
|
144
|
-
<div class="avatar-content" [class.natural-elevation]="decorated" [ngStyle]="avatarStyle">
|
|
145
|
-
{{ avatarText }}
|
|
146
|
-
</div>
|
|
147
|
-
}
|
|
148
|
-
</div>
|
|
149
|
-
`, isInline: true, styles: [":host{display:block}:host.decorated{position:relative}:host.decorated .avatar-container:before{position:absolute;inset:0;border-radius:50%;background:linear-gradient(345deg,#fff0 25%,#ffffff54);content:\"\"}:host.decorated .avatar-content{text-shadow:0 1px 0 rgba(0,0,0,.6)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
|
|
150
|
-
}
|
|
151
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalAvatarComponent, decorators: [{
|
|
152
|
-
type: Component,
|
|
153
|
-
args: [{ selector: 'natural-avatar', template: `
|
|
154
|
-
<div class="avatar-container" [ngStyle]="hostStyle">
|
|
155
|
-
@if (avatarSrc) {
|
|
156
|
-
<img
|
|
157
|
-
[src]="avatarSrc"
|
|
158
|
-
[width]="size"
|
|
159
|
-
[height]="size"
|
|
160
|
-
[ngStyle]="avatarStyle"
|
|
161
|
-
(error)="tryNextSource()"
|
|
162
|
-
class="avatar-content"
|
|
163
|
-
loading="lazy"
|
|
164
|
-
/>
|
|
165
|
-
}
|
|
166
|
-
@if (avatarText) {
|
|
167
|
-
<div class="avatar-content" [class.natural-elevation]="decorated" [ngStyle]="avatarStyle">
|
|
168
|
-
{{ avatarText }}
|
|
169
|
-
</div>
|
|
170
|
-
}
|
|
171
|
-
</div>
|
|
172
|
-
`, standalone: true, imports: [CommonModule], styles: [":host{display:block}:host.decorated{position:relative}:host.decorated .avatar-container:before{position:absolute;inset:0;border-radius:50%;background:linear-gradient(345deg,#fff0 25%,#ffffff54);content:\"\"}:host.decorated .avatar-content{text-shadow:0 1px 0 rgba(0,0,0,.6)}\n"] }]
|
|
173
|
-
}], propDecorators: { image: [{
|
|
174
|
-
type: Input
|
|
175
|
-
}], initials: [{
|
|
176
|
-
type: Input
|
|
177
|
-
}], gravatar: [{
|
|
178
|
-
type: Input
|
|
179
|
-
}], size: [{
|
|
180
|
-
type: HostBinding,
|
|
181
|
-
args: ['style.height.px']
|
|
182
|
-
}, {
|
|
183
|
-
type: HostBinding,
|
|
184
|
-
args: ['style.width.px']
|
|
185
|
-
}, {
|
|
186
|
-
type: Input
|
|
187
|
-
}], decorated: [{
|
|
188
|
-
type: HostBinding,
|
|
189
|
-
args: ['class.decorated']
|
|
190
|
-
}, {
|
|
191
|
-
type: Input
|
|
192
|
-
}], textSizeRatio: [{
|
|
193
|
-
type: Input
|
|
194
|
-
}], bgColor: [{
|
|
195
|
-
type: Input
|
|
196
|
-
}], fgColor: [{
|
|
197
|
-
type: Input
|
|
198
|
-
}], borderRadius: [{
|
|
199
|
-
type: Input
|
|
200
|
-
}], textMaximumLength: [{
|
|
201
|
-
type: Input
|
|
202
|
-
}] } });
|
|
203
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL2F2YXRhci9jb21wb25lbnQvYXZhdGFyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUEyQixNQUFNLGVBQWUsQ0FBQztBQUU5RixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDeEQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDOzs7QUFJN0M7O0dBRUc7QUFrREgsTUFBTSxPQUFPLHNCQUFzQjtJQUNkLGFBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7SUFFdkMsS0FBSyxDQUFpQjtJQUN0QixRQUFRLENBQWlCO0lBQ3pCLFFBQVEsQ0FBaUI7SUFLbEMsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUlWLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFFUixhQUFhLEdBQUcsSUFBSSxDQUFDO0lBQ3JCLE9BQU8sQ0FBcUI7SUFDNUIsT0FBTyxHQUFHLE1BQU0sQ0FBQztJQUNqQixZQUFZLEdBQUcsRUFBRSxDQUFDO0lBQ2xCLGlCQUFpQixHQUFHLENBQUMsQ0FBQztJQUUvQixTQUFTLEdBQWtCLElBQUksQ0FBQztJQUNoQyxVQUFVLEdBQWtCLElBQUksQ0FBQztJQUNqQyxXQUFXLEdBQVUsRUFBRSxDQUFDO0lBQ3hCLFNBQVMsR0FBVSxFQUFFLENBQUM7SUFFckIsWUFBWSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLE9BQU8sR0FBYSxFQUFFLENBQUM7SUFFL0I7O09BRUc7SUFDSSxXQUFXLENBQUMsT0FBc0I7UUFDckMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ3hCLEtBQUssTUFBTSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7WUFDakUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO2dCQUNyQixTQUFTO1lBQ2IsQ0FBQztZQUVELE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxZQUFZLENBQUM7WUFDcEQsSUFBSSxZQUFZLElBQUksT0FBTyxZQUFZLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQ25ELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7WUFDakQsQ0FBQztRQUNMLENBQUM7UUFFRCw2RUFBNkU7UUFDN0UsOERBQThEO1FBQzlELElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRDs7T0FFRztJQUNJLGFBQWE7UUFDaEIsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDdkQsSUFBSSxjQUFjLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzFELENBQUM7UUFFRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1YsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25CLE9BQU87UUFDWCxDQUFDO1FBRUQsSUFBSSxNQUFNLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2pDLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLENBQUM7SUFDTCxDQUFDO0lBRU8sY0FBYztRQUNsQixPQUFPLEVBQUUsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQy9DLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQy9DLElBQUksTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO2dCQUM5RCxPQUFPLE1BQU0sQ0FBQztZQUNsQixDQUFDO1FBQ0wsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7T0FFRztJQUNLLGdCQUFnQjtRQUNwQixJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3ZCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxTQUFTLEdBQUc7Z0JBQ2IsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSTtnQkFDdkIsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSTthQUMzQixDQUFDO1FBQ04sQ0FBQztJQUNMLENBQUM7SUFFTyxXQUFXO1FBQ2YsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVPLGVBQWUsQ0FBQyxZQUFvQjtRQUN4QyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ25HLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsWUFBb0I7UUFDekMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDbkYsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVEOztPQUVHO0lBQ0ssZUFBZSxDQUFDLFdBQW1CO1FBQ3ZDLE9BQU87WUFDSCxTQUFTLEVBQUUsUUFBUTtZQUNuQixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVksSUFBSSxNQUFNO1lBQ3pDLGFBQWEsRUFBRSxXQUFXO1lBQzFCLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTztZQUNuQixlQUFlLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDO1lBQzdGLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsaUNBQWlDO1lBQ3JGLFVBQVUsRUFBRSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUk7WUFDNUIsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSTtZQUN2QixNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJO1NBQzNCLENBQUM7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDSyxhQUFhO1FBQ2pCLE9BQU87WUFDSCxRQUFRLEVBQUUsTUFBTTtZQUNoQixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVksSUFBSSxNQUFNO1lBQ3pDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUk7WUFDdkIsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSTtTQUMzQixDQUFDO0lBQ04sQ0FBQzt1R0EvSVEsc0JBQXNCOzJGQUF0QixzQkFBc0IseWRBdkJyQjs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQW1CVCw2VkFFUyxZQUFZOzsyRkFFYixzQkFBc0I7a0JBakRsQyxTQUFTOytCQUNJLGdCQUFnQixZQXlCaEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0FtQlQsY0FDVyxJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUM7OEJBS1AsS0FBSztzQkFBcEIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBS0MsSUFBSTtzQkFIVixXQUFXO3VCQUFDLGlCQUFpQjs7c0JBQzdCLFdBQVc7dUJBQUMsZ0JBQWdCOztzQkFDNUIsS0FBSztnQkFLQyxTQUFTO3NCQUZmLFdBQVc7dUJBQUMsaUJBQWlCOztzQkFDN0IsS0FBSztnQkFHVSxhQUFhO3NCQUE1QixLQUFLO2dCQUNVLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSztnQkFDVSxZQUFZO3NCQUEzQixLQUFLO2dCQUNVLGlCQUFpQjtzQkFBaEMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBIb3N0QmluZGluZywgaW5qZWN0LCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7U291cmNlfSBmcm9tICcuLi9zb3VyY2VzL3NvdXJjZSc7XG5pbXBvcnQge0F2YXRhclNlcnZpY2V9IGZyb20gJy4uL3NlcnZpY2UvYXZhdGFyLnNlcnZpY2UnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbnR5cGUgU3R5bGUgPSBQYXJ0aWFsPENTU1N0eWxlRGVjbGFyYXRpb24+O1xuXG4vKipcbiAqIFNob3cgYW4gYXZhdGFyIGZyb20gZGlmZmVyZW50IHNvdXJjZXNcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduYXR1cmFsLWF2YXRhcicsXG4gICAgc3R5bGVzOiBgXG4gICAgICAgIDpob3N0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAmLmRlY29yYXRlZCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgLmF2YXRhci1jb250YWluZXI6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgzNDVkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMjUlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzMpIDEwMCUpO1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuYXZhdGFyLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXNoYWRvdzogMCAxcHggMCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgYCxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXZhdGFyLWNvbnRhaW5lclwiIFtuZ1N0eWxlXT1cImhvc3RTdHlsZVwiPlxuICAgICAgICAgICAgQGlmIChhdmF0YXJTcmMpIHtcbiAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiYXZhdGFyU3JjXCJcbiAgICAgICAgICAgICAgICAgICAgW3dpZHRoXT1cInNpemVcIlxuICAgICAgICAgICAgICAgICAgICBbaGVpZ2h0XT1cInNpemVcIlxuICAgICAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCJhdmF0YXJTdHlsZVwiXG4gICAgICAgICAgICAgICAgICAgIChlcnJvcik9XCJ0cnlOZXh0U291cmNlKClcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImF2YXRhci1jb250ZW50XCJcbiAgICAgICAgICAgICAgICAgICAgbG9hZGluZz1cImxhenlcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKGF2YXRhclRleHQpIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXZhdGFyLWNvbnRlbnRcIiBbY2xhc3MubmF0dXJhbC1lbGV2YXRpb25dPVwiZGVjb3JhdGVkXCIgW25nU3R5bGVdPVwiYXZhdGFyU3R5bGVcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgYXZhdGFyVGV4dCB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICBgLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIE5hdHVyYWxBdmF0YXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYXZhdGFyU2VydmljZSA9IGluamVjdChBdmF0YXJTZXJ2aWNlKTtcblxuICAgIEBJbnB1dCgpIHB1YmxpYyBpbWFnZT86IHN0cmluZyB8IG51bGw7XG4gICAgQElucHV0KCkgcHVibGljIGluaXRpYWxzPzogc3RyaW5nIHwgbnVsbDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZ3JhdmF0YXI/OiBzdHJpbmcgfCBudWxsO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5oZWlnaHQucHgnKVxuICAgIEBIb3N0QmluZGluZygnc3R5bGUud2lkdGgucHgnKVxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNpemUgPSA1MDtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZGVjb3JhdGVkJylcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBkZWNvcmF0ZWQgPSB0cnVlO1xuXG4gICAgQElucHV0KCkgcHVibGljIHRleHRTaXplUmF0aW8gPSAyLjI1O1xuICAgIEBJbnB1dCgpIHB1YmxpYyBiZ0NvbG9yOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGZnQ29sb3IgPSAnI0ZGRic7XG4gICAgQElucHV0KCkgcHVibGljIGJvcmRlclJhZGl1cyA9ICcnO1xuICAgIEBJbnB1dCgpIHB1YmxpYyB0ZXh0TWF4aW11bUxlbmd0aCA9IDI7XG5cbiAgICBwdWJsaWMgYXZhdGFyU3JjOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgICBwdWJsaWMgYXZhdGFyVGV4dDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gICAgcHVibGljIGF2YXRhclN0eWxlOiBTdHlsZSA9IHt9O1xuICAgIHB1YmxpYyBob3N0U3R5bGU6IFN0eWxlID0ge307XG5cbiAgICBwcml2YXRlIGN1cnJlbnRJbmRleCA9IC0xO1xuICAgIHByaXZhdGUgc291cmNlczogU291cmNlW10gPSBbXTtcblxuICAgIC8qKlxuICAgICAqIERldGVjdCBpbnB1dHMgY2hhbmdlXG4gICAgICovXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zb3VyY2VzLmxlbmd0aCA9IDA7XG4gICAgICAgIGZvciAoY29uc3QgW3Byb3BOYW1lLCBjcmVhdG9yXSBvZiB0aGlzLmF2YXRhclNlcnZpY2UuZ2V0Q3JlYXRvcnMoKSkge1xuICAgICAgICAgICAgaWYgKCFjaGFuZ2VzW3Byb3BOYW1lXSkge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBjdXJyZW50VmFsdWUgPSBjaGFuZ2VzW3Byb3BOYW1lXS5jdXJyZW50VmFsdWU7XG4gICAgICAgICAgICBpZiAoY3VycmVudFZhbHVlICYmIHR5cGVvZiBjdXJyZW50VmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zb3VyY2VzLnB1c2gobmV3IGNyZWF0b3IoY3VycmVudFZhbHVlKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyByZWluaXRpYWxpemUgdGhlIGF2YXRhciBjb21wb25lbnQgd2hlbiBhIHNvdXJjZSBwcm9wZXJ0eSB2YWx1ZSBoYXMgY2hhbmdlZFxuICAgICAgICAvLyB0aGUgZmFsbGJhY2sgc3lzdGVtIG11c3QgYmUgcmUtaW52b2tlZCB3aXRoIHRoZSBuZXcgdmFsdWVzLlxuICAgICAgICB0aGlzLmluaXRpYWxpemVBdmF0YXIoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGZXRjaCBhdmF0YXIgc291cmNlXG4gICAgICovXG4gICAgcHVibGljIHRyeU5leHRTb3VyY2UoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHByZXZpb3VzU291cmNlID0gdGhpcy5zb3VyY2VzW3RoaXMuY3VycmVudEluZGV4XTtcbiAgICAgICAgaWYgKHByZXZpb3VzU291cmNlKSB7XG4gICAgICAgICAgICB0aGlzLmF2YXRhclNlcnZpY2UubWFya1NvdXJjZUFzRmFpbGVkKHByZXZpb3VzU291cmNlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHNvdXJjZSA9IHRoaXMuZmluZE5leHRTb3VyY2UoKTtcbiAgICAgICAgaWYgKCFzb3VyY2UpIHtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJBdmF0YXIoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzb3VyY2UuaXNUZXh0dWFsKCkpIHtcbiAgICAgICAgICAgIHRoaXMuYnVpbGRUZXh0QXZhdGFyKHNvdXJjZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmJ1aWxkSW1hZ2VBdmF0YXIoc291cmNlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZmluZE5leHRTb3VyY2UoKTogU291cmNlIHwgbnVsbCB7XG4gICAgICAgIHdoaWxlICgrK3RoaXMuY3VycmVudEluZGV4IDwgdGhpcy5zb3VyY2VzLmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3Qgc291cmNlID0gdGhpcy5zb3VyY2VzW3RoaXMuY3VycmVudEluZGV4XTtcbiAgICAgICAgICAgIGlmIChzb3VyY2UgJiYgIXRoaXMuYXZhdGFyU2VydmljZS5zb3VyY2VIYXNGYWlsZWRCZWZvcmUoc291cmNlKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBzb3VyY2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJbml0aWFsaXplIHRoZSBhdmF0YXIgY29tcG9uZW50IGFuZCBpdHMgZmFsbGJhY2sgc3lzdGVtXG4gICAgICovXG4gICAgcHJpdmF0ZSBpbml0aWFsaXplQXZhdGFyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmN1cnJlbnRJbmRleCA9IC0xO1xuICAgICAgICBpZiAodGhpcy5zb3VyY2VzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMudHJ5TmV4dFNvdXJjZSgpO1xuICAgICAgICAgICAgdGhpcy5ob3N0U3R5bGUgPSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHRoaXMuc2l6ZSArICdweCcsXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiB0aGlzLnNpemUgKyAncHgnLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY2xlYXJBdmF0YXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYXZhdGFyU3JjID0gbnVsbDtcbiAgICAgICAgdGhpcy5hdmF0YXJUZXh0ID0gbnVsbDtcbiAgICAgICAgdGhpcy5hdmF0YXJTdHlsZSA9IHt9O1xuICAgIH1cblxuICAgIHByaXZhdGUgYnVpbGRUZXh0QXZhdGFyKGF2YXRhclNvdXJjZTogU291cmNlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xlYXJBdmF0YXIoKTtcbiAgICAgICAgYXZhdGFyU291cmNlLmdldEF2YXRhcigrdGhpcy50ZXh0TWF4aW11bUxlbmd0aCkudGhlbihhdmF0YXJUZXh0ID0+ICh0aGlzLmF2YXRhclRleHQgPSBhdmF0YXJUZXh0KSk7XG4gICAgICAgIHRoaXMuYXZhdGFyU3R5bGUgPSB0aGlzLmdldFRleHR1YWxTdHlsZShhdmF0YXJTb3VyY2UuZ2V0VmFsdWUoKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBidWlsZEltYWdlQXZhdGFyKGF2YXRhclNvdXJjZTogU291cmNlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xlYXJBdmF0YXIoKTtcbiAgICAgICAgYXZhdGFyU291cmNlLmdldEF2YXRhcigrdGhpcy5zaXplKS50aGVuKGF2YXRhclNyYyA9PiAodGhpcy5hdmF0YXJTcmMgPSBhdmF0YXJTcmMpKTtcbiAgICAgICAgdGhpcy5hdmF0YXJTdHlsZSA9IHRoaXMuZ2V0SW1hZ2VTdHlsZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgaW5pdGlhbHMgc3R5bGVcbiAgICAgKi9cbiAgICBwcml2YXRlIGdldFRleHR1YWxTdHlsZShhdmF0YXJWYWx1ZTogc3RyaW5nKTogU3R5bGUge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdGV4dEFsaWduOiAnY2VudGVyJyxcbiAgICAgICAgICAgIGJvcmRlclJhZGl1czogdGhpcy5ib3JkZXJSYWRpdXMgfHwgJzEwMCUnLFxuICAgICAgICAgICAgdGV4dFRyYW5zZm9ybTogJ3VwcGVyY2FzZScsXG4gICAgICAgICAgICBjb2xvcjogdGhpcy5mZ0NvbG9yLFxuICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiB0aGlzLmJnQ29sb3IgPyB0aGlzLmJnQ29sb3IgOiB0aGlzLmF2YXRhclNlcnZpY2UuZ2V0UmFuZG9tQ29sb3IoYXZhdGFyVmFsdWUpLFxuICAgICAgICAgICAgZm9udDogTWF0aC5mbG9vcigrdGhpcy5zaXplIC8gdGhpcy50ZXh0U2l6ZVJhdGlvKSArICdweCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmJyxcbiAgICAgICAgICAgIGxpbmVIZWlnaHQ6IHRoaXMuc2l6ZSArICdweCcsXG4gICAgICAgICAgICB3aWR0aDogdGhpcy5zaXplICsgJ3B4JyxcbiAgICAgICAgICAgIGhlaWdodDogdGhpcy5zaXplICsgJ3B4JyxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGltYWdlIHN0eWxlXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXRJbWFnZVN0eWxlKCk6IFN0eWxlIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG1heFdpZHRoOiAnMTAwJScsXG4gICAgICAgICAgICBib3JkZXJSYWRpdXM6IHRoaXMuYm9yZGVyUmFkaXVzIHx8ICcxMDAlJyxcbiAgICAgICAgICAgIHdpZHRoOiB0aGlzLnNpemUgKyAncHgnLFxuICAgICAgICAgICAgaGVpZ2h0OiB0aGlzLnNpemUgKyAncHgnLFxuICAgICAgICB9O1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Public API Surface of ngx-avatar
|
|
3
|
-
*/
|
|
4
|
-
export * from './component/avatar.component';
|
|
5
|
-
export * from './service/avatar.service';
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL2F2YXRhci9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDBCQUEwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBuZ3gtYXZhdGFyXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50L2F2YXRhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlL2F2YXRhci5zZXJ2aWNlJztcbiJdfQ==
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { Gravatar } from '../sources/gravatar';
|
|
3
|
-
import { Initials } from '../sources/initials';
|
|
4
|
-
import { Image } from '../sources/image';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
/**
|
|
7
|
-
* Provides utilities methods related to Avatar component
|
|
8
|
-
*/
|
|
9
|
-
export class AvatarService {
|
|
10
|
-
/**
|
|
11
|
-
* Ordered pairs of possible sources. First in the list is the highest priority.
|
|
12
|
-
* And key must match one the input of AvatarComponent.
|
|
13
|
-
*/
|
|
14
|
-
sourceCreators = new Map([
|
|
15
|
-
['gravatar', Gravatar],
|
|
16
|
-
['image', Image],
|
|
17
|
-
['initials', Initials],
|
|
18
|
-
]);
|
|
19
|
-
avatarColors = [
|
|
20
|
-
'#e37900', // 2.99 fail https://webaim.org/resources/contrastchecker/?fcolor=FFFFFF&bcolor=e37900
|
|
21
|
-
'#e6b102', // 2.26 fail https://webaim.org/resources/contrastchecker/?fcolor=FFFFFF&bcolor=c7ab00
|
|
22
|
-
'#00bbbb', // 2.37 fail https://webaim.org/resources/contrastchecker/?fcolor=FFFFFF&bcolor=00bbbb
|
|
23
|
-
'#008cff', // 3.38 fail https://webaim.org/resources/contrastchecker/?fcolor=FFFFFF&bcolor=008cff
|
|
24
|
-
'#d9138c', // 4.51 pass https://webaim.org/resources/contrastchecker/?fcolor=FFFFFF&bcolor=d901b8
|
|
25
|
-
'#7321d1', // 4.28 fail https://webaim.org/resources/contrastchecker/?fcolor=FFFFFF&bcolor=c800ff
|
|
26
|
-
'#3b3b3b', // 11.2 pass https://webaim.org/resources/contrastchecker/?fcolor=FFFFFF&bcolor=3b3b3b
|
|
27
|
-
];
|
|
28
|
-
failedSources = new Map();
|
|
29
|
-
getRandomColor(avatarText) {
|
|
30
|
-
if (!avatarText) {
|
|
31
|
-
return 'transparent';
|
|
32
|
-
}
|
|
33
|
-
const asciiCodeSum = this.calculateAsciiCode(avatarText);
|
|
34
|
-
return this.avatarColors[asciiCodeSum % this.avatarColors.length];
|
|
35
|
-
}
|
|
36
|
-
getCreators() {
|
|
37
|
-
return this.sourceCreators.entries();
|
|
38
|
-
}
|
|
39
|
-
getSourceKey(source) {
|
|
40
|
-
return source.constructor.name + '-' + source.getValue();
|
|
41
|
-
}
|
|
42
|
-
sourceHasFailedBefore(source) {
|
|
43
|
-
return this.failedSources.has(this.getSourceKey(source));
|
|
44
|
-
}
|
|
45
|
-
markSourceAsFailed(source) {
|
|
46
|
-
this.failedSources.set(this.getSourceKey(source), source);
|
|
47
|
-
}
|
|
48
|
-
calculateAsciiCode(value) {
|
|
49
|
-
return value
|
|
50
|
-
.split('')
|
|
51
|
-
.map(letter => letter.charCodeAt(0))
|
|
52
|
-
.reduce((previous, current) => previous + current);
|
|
53
|
-
}
|
|
54
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: AvatarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
55
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: AvatarService, providedIn: 'root' });
|
|
56
|
-
}
|
|
57
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: AvatarService, decorators: [{
|
|
58
|
-
type: Injectable,
|
|
59
|
-
args: [{
|
|
60
|
-
providedIn: 'root',
|
|
61
|
-
}]
|
|
62
|
-
}] });
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9hdmF0YXIvc2VydmljZS9hdmF0YXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDN0MsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGtCQUFrQixDQUFDOztBQUd2Qzs7R0FFRztBQUlILE1BQU0sT0FBTyxhQUFhO0lBQ3RCOzs7T0FHRztJQUNjLGNBQWMsR0FBRyxJQUFJLEdBQUcsQ0FBOEM7UUFDbkYsQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDO1FBQ3RCLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQztRQUNoQixDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUM7S0FDekIsQ0FBQyxDQUFDO0lBRWMsWUFBWSxHQUFHO1FBQzVCLFNBQVMsRUFBRSxzRkFBc0Y7UUFDakcsU0FBUyxFQUFFLHNGQUFzRjtRQUNqRyxTQUFTLEVBQUUsc0ZBQXNGO1FBQ2pHLFNBQVMsRUFBRSxzRkFBc0Y7UUFDakcsU0FBUyxFQUFFLHNGQUFzRjtRQUNqRyxTQUFTLEVBQUUsc0ZBQXNGO1FBQ2pHLFNBQVMsRUFBRSxzRkFBc0Y7S0FDcEcsQ0FBQztJQUVlLGFBQWEsR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQztJQUVwRCxjQUFjLENBQUMsVUFBa0I7UUFDcEMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2QsT0FBTyxhQUFhLENBQUM7UUFDekIsQ0FBQztRQUNELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUV6RCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVNLFdBQVc7UUFDZCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVPLFlBQVksQ0FBQyxNQUFjO1FBQy9CLE9BQU8sTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEdBQUcsR0FBRyxHQUFHLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3RCxDQUFDO0lBRU0scUJBQXFCLENBQUMsTUFBYztRQUN2QyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRU0sa0JBQWtCLENBQUMsTUFBYztRQUNwQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxLQUFhO1FBQ3BDLE9BQU8sS0FBSzthQUNQLEtBQUssQ0FBQyxFQUFFLENBQUM7YUFDVCxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ25DLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsQ0FBQztJQUMzRCxDQUFDO3VHQXJEUSxhQUFhOzJHQUFiLGFBQWEsY0FGVixNQUFNOzsyRkFFVCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1NvdXJjZSwgU291cmNlQ3JlYXRvcn0gZnJvbSAnLi4vc291cmNlcy9zb3VyY2UnO1xuaW1wb3J0IHtHcmF2YXRhcn0gZnJvbSAnLi4vc291cmNlcy9ncmF2YXRhcic7XG5pbXBvcnQge0luaXRpYWxzfSBmcm9tICcuLi9zb3VyY2VzL2luaXRpYWxzJztcbmltcG9ydCB7SW1hZ2V9IGZyb20gJy4uL3NvdXJjZXMvaW1hZ2UnO1xuaW1wb3J0IHtOYXR1cmFsQXZhdGFyQ29tcG9uZW50fSBmcm9tICcuLi9jb21wb25lbnQvYXZhdGFyLmNvbXBvbmVudCc7XG5cbi8qKlxuICogUHJvdmlkZXMgdXRpbGl0aWVzIG1ldGhvZHMgcmVsYXRlZCB0byBBdmF0YXIgY29tcG9uZW50XG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEF2YXRhclNlcnZpY2Uge1xuICAgIC8qKlxuICAgICAqIE9yZGVyZWQgcGFpcnMgb2YgcG9zc2libGUgc291cmNlcy4gRmlyc3QgaW4gdGhlIGxpc3QgaXMgdGhlIGhpZ2hlc3QgcHJpb3JpdHkuXG4gICAgICogQW5kIGtleSBtdXN0IG1hdGNoIG9uZSB0aGUgaW5wdXQgb2YgQXZhdGFyQ29tcG9uZW50LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc291cmNlQ3JlYXRvcnMgPSBuZXcgTWFwPGtleW9mIE5hdHVyYWxBdmF0YXJDb21wb25lbnQsIFNvdXJjZUNyZWF0b3I+KFtcbiAgICAgICAgWydncmF2YXRhcicsIEdyYXZhdGFyXSxcbiAgICAgICAgWydpbWFnZScsIEltYWdlXSxcbiAgICAgICAgWydpbml0aWFscycsIEluaXRpYWxzXSxcbiAgICBdKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXZhdGFyQ29sb3JzID0gW1xuICAgICAgICAnI2UzNzkwMCcsIC8vIDIuOTkgZmFpbCBodHRwczovL3dlYmFpbS5vcmcvcmVzb3VyY2VzL2NvbnRyYXN0Y2hlY2tlci8/ZmNvbG9yPUZGRkZGRiZiY29sb3I9ZTM3OTAwXG4gICAgICAgICcjZTZiMTAyJywgLy8gMi4yNiBmYWlsIGh0dHBzOi8vd2ViYWltLm9yZy9yZXNvdXJjZXMvY29udHJhc3RjaGVja2VyLz9mY29sb3I9RkZGRkZGJmJjb2xvcj1jN2FiMDBcbiAgICAgICAgJyMwMGJiYmInLCAvLyAyLjM3IGZhaWwgaHR0cHM6Ly93ZWJhaW0ub3JnL3Jlc291cmNlcy9jb250cmFzdGNoZWNrZXIvP2Zjb2xvcj1GRkZGRkYmYmNvbG9yPTAwYmJiYlxuICAgICAgICAnIzAwOGNmZicsIC8vIDMuMzggZmFpbCBodHRwczovL3dlYmFpbS5vcmcvcmVzb3VyY2VzL2NvbnRyYXN0Y2hlY2tlci8/ZmNvbG9yPUZGRkZGRiZiY29sb3I9MDA4Y2ZmXG4gICAgICAgICcjZDkxMzhjJywgLy8gNC41MSBwYXNzIGh0dHBzOi8vd2ViYWltLm9yZy9yZXNvdXJjZXMvY29udHJhc3RjaGVja2VyLz9mY29sb3I9RkZGRkZGJmJjb2xvcj1kOTAxYjhcbiAgICAgICAgJyM3MzIxZDEnLCAvLyA0LjI4IGZhaWwgaHR0cHM6Ly93ZWJhaW0ub3JnL3Jlc291cmNlcy9jb250cmFzdGNoZWNrZXIvP2Zjb2xvcj1GRkZGRkYmYmNvbG9yPWM4MDBmZlxuICAgICAgICAnIzNiM2IzYicsIC8vIDExLjIgcGFzcyBodHRwczovL3dlYmFpbS5vcmcvcmVzb3VyY2VzL2NvbnRyYXN0Y2hlY2tlci8/ZmNvbG9yPUZGRkZGRiZiY29sb3I9M2IzYjNiXG4gICAgXTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmFpbGVkU291cmNlcyA9IG5ldyBNYXA8c3RyaW5nLCBTb3VyY2U+KCk7XG5cbiAgICBwdWJsaWMgZ2V0UmFuZG9tQ29sb3IoYXZhdGFyVGV4dDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKCFhdmF0YXJUZXh0KSB7XG4gICAgICAgICAgICByZXR1cm4gJ3RyYW5zcGFyZW50JztcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBhc2NpaUNvZGVTdW0gPSB0aGlzLmNhbGN1bGF0ZUFzY2lpQ29kZShhdmF0YXJUZXh0KTtcblxuICAgICAgICByZXR1cm4gdGhpcy5hdmF0YXJDb2xvcnNbYXNjaWlDb2RlU3VtICUgdGhpcy5hdmF0YXJDb2xvcnMubGVuZ3RoXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q3JlYXRvcnMoKTogSXRlcmFibGVJdGVyYXRvcjxba2V5b2YgTmF0dXJhbEF2YXRhckNvbXBvbmVudCwgU291cmNlQ3JlYXRvcl0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc291cmNlQ3JlYXRvcnMuZW50cmllcygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U291cmNlS2V5KHNvdXJjZTogU291cmNlKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHNvdXJjZS5jb25zdHJ1Y3Rvci5uYW1lICsgJy0nICsgc291cmNlLmdldFZhbHVlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNvdXJjZUhhc0ZhaWxlZEJlZm9yZShzb3VyY2U6IFNvdXJjZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5mYWlsZWRTb3VyY2VzLmhhcyh0aGlzLmdldFNvdXJjZUtleShzb3VyY2UpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbWFya1NvdXJjZUFzRmFpbGVkKHNvdXJjZTogU291cmNlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZmFpbGVkU291cmNlcy5zZXQodGhpcy5nZXRTb3VyY2VLZXkoc291cmNlKSwgc291cmNlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNhbGN1bGF0ZUFzY2lpQ29kZSh2YWx1ZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlXG4gICAgICAgICAgICAuc3BsaXQoJycpXG4gICAgICAgICAgICAubWFwKGxldHRlciA9PiBsZXR0ZXIuY2hhckNvZGVBdCgwKSlcbiAgICAgICAgICAgIC5yZWR1Y2UoKHByZXZpb3VzLCBjdXJyZW50KSA9PiBwcmV2aW91cyArIGN1cnJlbnQpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { Source } from './source';
|
|
2
|
-
import { sha256 } from '../../../classes/crypto';
|
|
3
|
-
function isRetina() {
|
|
4
|
-
// We cannot reasonably inject `DOCUMENT` here, but we are extra
|
|
5
|
-
// careful about usage of `window` and its possible non-existence in SSR,
|
|
6
|
-
// so we should be fine.
|
|
7
|
-
// eslint-disable-next-line no-restricted-globals
|
|
8
|
-
const myWindow = window;
|
|
9
|
-
if (myWindow?.devicePixelRatio > 1.25) {
|
|
10
|
-
return true;
|
|
11
|
-
}
|
|
12
|
-
const mediaQuery = '(-webkit-min-device-pixel-ratio: 1.25), (min--moz-device-pixel-ratio: 1.25), (-o-min-device-pixel-ratio: 5/4), (min-resolution: 1.25dppx)';
|
|
13
|
-
return !!myWindow?.matchMedia(mediaQuery).matches;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Return URL to Gravatar image from either an email or a MD5 or SHA-256 of an email
|
|
17
|
-
*/
|
|
18
|
-
export class Gravatar extends Source {
|
|
19
|
-
async getAvatar(size) {
|
|
20
|
-
const value = this.getValue();
|
|
21
|
-
const hash = /^([a-f0-9]{32}|[a-f0-9]{64})$/.exec(value) ? value : await sha256(value.trim().toLowerCase());
|
|
22
|
-
const avatarSize = isRetina() ? size * 2 : size;
|
|
23
|
-
return `https://secure.gravatar.com/avatar/${hash}?s=${avatarSize}&d=404`;
|
|
24
|
-
}
|
|
25
|
-
isTextual() {
|
|
26
|
-
return false;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhdmF0YXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9hdmF0YXIvc291cmNlcy9ncmF2YXRhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQ2hDLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUUvQyxTQUFTLFFBQVE7SUFDYixnRUFBZ0U7SUFDaEUseUVBQXlFO0lBQ3pFLHdCQUF3QjtJQUN4QixpREFBaUQ7SUFDakQsTUFBTSxRQUFRLEdBQXVCLE1BQU0sQ0FBQztJQUU1QyxJQUFJLFFBQVEsRUFBRSxnQkFBZ0IsR0FBRyxJQUFJLEVBQUUsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxVQUFVLEdBQ1osMklBQTJJLENBQUM7SUFFaEosT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxPQUFPLENBQUM7QUFDdEQsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFFBQVMsU0FBUSxNQUFNO0lBQ3pCLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBWTtRQUMvQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDOUIsTUFBTSxJQUFJLEdBQUcsK0JBQStCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBRTVHLE1BQU0sVUFBVSxHQUFHLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDaEQsT0FBTyxzQ0FBc0MsSUFBSSxNQUFNLFVBQVUsUUFBUSxDQUFDO0lBQzlFLENBQUM7SUFFTSxTQUFTO1FBQ1osT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtTb3VyY2V9IGZyb20gJy4vc291cmNlJztcbmltcG9ydCB7c2hhMjU2fSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2NyeXB0byc7XG5cbmZ1bmN0aW9uIGlzUmV0aW5hKCk6IGJvb2xlYW4ge1xuICAgIC8vIFdlIGNhbm5vdCByZWFzb25hYmx5IGluamVjdCBgRE9DVU1FTlRgIGhlcmUsIGJ1dCB3ZSBhcmUgZXh0cmFcbiAgICAvLyBjYXJlZnVsIGFib3V0IHVzYWdlIG9mIGB3aW5kb3dgIGFuZCBpdHMgcG9zc2libGUgbm9uLWV4aXN0ZW5jZSBpbiBTU1IsXG4gICAgLy8gc28gd2Ugc2hvdWxkIGJlIGZpbmUuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlc3RyaWN0ZWQtZ2xvYmFsc1xuICAgIGNvbnN0IG15V2luZG93OiBXaW5kb3cgfCB1bmRlZmluZWQgPSB3aW5kb3c7XG5cbiAgICBpZiAobXlXaW5kb3c/LmRldmljZVBpeGVsUmF0aW8gPiAxLjI1KSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGNvbnN0IG1lZGlhUXVlcnkgPVxuICAgICAgICAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMS4yNSksIChtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuMjUpLCAoLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogNS80KSwgKG1pbi1yZXNvbHV0aW9uOiAxLjI1ZHBweCknO1xuXG4gICAgcmV0dXJuICEhbXlXaW5kb3c/Lm1hdGNoTWVkaWEobWVkaWFRdWVyeSkubWF0Y2hlcztcbn1cblxuLyoqXG4gKiBSZXR1cm4gVVJMIHRvIEdyYXZhdGFyIGltYWdlIGZyb20gZWl0aGVyIGFuIGVtYWlsIG9yIGEgTUQ1IG9yIFNIQS0yNTYgb2YgYW4gZW1haWxcbiAqL1xuZXhwb3J0IGNsYXNzIEdyYXZhdGFyIGV4dGVuZHMgU291cmNlIHtcbiAgICBwdWJsaWMgYXN5bmMgZ2V0QXZhdGFyKHNpemU6IG51bWJlcik6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5nZXRWYWx1ZSgpO1xuICAgICAgICBjb25zdCBoYXNoID0gL14oW2EtZjAtOV17MzJ9fFthLWYwLTldezY0fSkkLy5leGVjKHZhbHVlKSA/IHZhbHVlIDogYXdhaXQgc2hhMjU2KHZhbHVlLnRyaW0oKS50b0xvd2VyQ2FzZSgpKTtcblxuICAgICAgICBjb25zdCBhdmF0YXJTaXplID0gaXNSZXRpbmEoKSA/IHNpemUgKiAyIDogc2l6ZTtcbiAgICAgICAgcmV0dXJuIGBodHRwczovL3NlY3VyZS5ncmF2YXRhci5jb20vYXZhdGFyLyR7aGFzaH0/cz0ke2F2YXRhclNpemV9JmQ9NDA0YDtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNUZXh0dWFsKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufVxuIl19
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { Source } from './source';
|
|
2
|
-
/**
|
|
3
|
-
* Return custom image URL as avatar
|
|
4
|
-
*/
|
|
5
|
-
export class Image extends Source {
|
|
6
|
-
getAvatar() {
|
|
7
|
-
return Promise.resolve(this.getValue());
|
|
8
|
-
}
|
|
9
|
-
isTextual() {
|
|
10
|
-
return false;
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9hdmF0YXIvc291cmNlcy9pbWFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBRWhDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLEtBQU0sU0FBUSxNQUFNO0lBQ3RCLFNBQVM7UUFDWixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVNLFNBQVM7UUFDWixPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1NvdXJjZX0gZnJvbSAnLi9zb3VyY2UnO1xuXG4vKipcbiAqIFJldHVybiBjdXN0b20gaW1hZ2UgVVJMIGFzIGF2YXRhclxuICovXG5leHBvcnQgY2xhc3MgSW1hZ2UgZXh0ZW5kcyBTb3VyY2Uge1xuICAgIHB1YmxpYyBnZXRBdmF0YXIoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0aGlzLmdldFZhbHVlKCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc1RleHR1YWwoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { Source } from './source';
|
|
2
|
-
/**
|
|
3
|
-
* Get the initials of each word in uppercase.
|
|
4
|
-
*/
|
|
5
|
-
function getInitials(name, size) {
|
|
6
|
-
// Drop all text in parentheses, because assumed less important
|
|
7
|
-
name = name.replace(/\([^)]*\)/g, '');
|
|
8
|
-
name = name.trim();
|
|
9
|
-
// Deliberately short name is kept intact
|
|
10
|
-
if (name.length <= size) {
|
|
11
|
-
return name.toUpperCase();
|
|
12
|
-
}
|
|
13
|
-
// Only letters (including unicode), numbers, and whitespace
|
|
14
|
-
name = name.replace(/[^\p{L}\p{N}\s]/gu, '');
|
|
15
|
-
if (!name) {
|
|
16
|
-
return '';
|
|
17
|
-
}
|
|
18
|
-
let words = name.split(/\s+/);
|
|
19
|
-
if (size && size < words.length) {
|
|
20
|
-
words = words.slice(0, size);
|
|
21
|
-
}
|
|
22
|
-
return words
|
|
23
|
-
.filter(element => element.length > 0)
|
|
24
|
-
.map(element => element[0])
|
|
25
|
-
.join('')
|
|
26
|
-
.toUpperCase();
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Return the initials of the given value as avatar
|
|
30
|
-
*/
|
|
31
|
-
export class Initials extends Source {
|
|
32
|
-
getAvatar(size) {
|
|
33
|
-
return Promise.resolve(getInitials(this.getValue(), size));
|
|
34
|
-
}
|
|
35
|
-
isTextual() {
|
|
36
|
-
return true;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9hdmF0YXIvc291cmNlcy9pbml0aWFscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBRWhDOztHQUVHO0FBQ0gsU0FBUyxXQUFXLENBQUMsSUFBWSxFQUFFLElBQVk7SUFDM0MsK0RBQStEO0lBQy9ELElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN0QyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBRW5CLHlDQUF5QztJQUN6QyxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxFQUFFLENBQUM7UUFDdEIsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELDREQUE0RDtJQUM1RCxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUU3QyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDUixPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFRCxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLElBQUksSUFBSSxJQUFJLElBQUksR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDOUIsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxPQUFPLEtBQUs7U0FDUCxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztTQUNyQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDMUIsSUFBSSxDQUFDLEVBQUUsQ0FBQztTQUNSLFdBQVcsRUFBRSxDQUFDO0FBQ3ZCLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sT0FBTyxRQUFTLFNBQVEsTUFBTTtJQUN6QixTQUFTLENBQUMsSUFBWTtRQUN6QixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFTSxTQUFTO1FBQ1osT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtTb3VyY2V9IGZyb20gJy4vc291cmNlJztcblxuLyoqXG4gKiBHZXQgdGhlIGluaXRpYWxzIG9mIGVhY2ggd29yZCBpbiB1cHBlcmNhc2UuXG4gKi9cbmZ1bmN0aW9uIGdldEluaXRpYWxzKG5hbWU6IHN0cmluZywgc2l6ZTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAvLyBEcm9wIGFsbCB0ZXh0IGluIHBhcmVudGhlc2VzLCBiZWNhdXNlIGFzc3VtZWQgbGVzcyBpbXBvcnRhbnRcbiAgICBuYW1lID0gbmFtZS5yZXBsYWNlKC9cXChbXildKlxcKS9nLCAnJyk7XG4gICAgbmFtZSA9IG5hbWUudHJpbSgpO1xuXG4gICAgLy8gRGVsaWJlcmF0ZWx5IHNob3J0IG5hbWUgaXMga2VwdCBpbnRhY3RcbiAgICBpZiAobmFtZS5sZW5ndGggPD0gc2l6ZSkge1xuICAgICAgICByZXR1cm4gbmFtZS50b1VwcGVyQ2FzZSgpO1xuICAgIH1cblxuICAgIC8vIE9ubHkgbGV0dGVycyAoaW5jbHVkaW5nIHVuaWNvZGUpLCBudW1iZXJzLCBhbmQgd2hpdGVzcGFjZVxuICAgIG5hbWUgPSBuYW1lLnJlcGxhY2UoL1teXFxwe0x9XFxwe059XFxzXS9ndSwgJycpO1xuXG4gICAgaWYgKCFuYW1lKSB7XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBsZXQgd29yZHMgPSBuYW1lLnNwbGl0KC9cXHMrLyk7XG4gICAgaWYgKHNpemUgJiYgc2l6ZSA8IHdvcmRzLmxlbmd0aCkge1xuICAgICAgICB3b3JkcyA9IHdvcmRzLnNsaWNlKDAsIHNpemUpO1xuICAgIH1cblxuICAgIHJldHVybiB3b3Jkc1xuICAgICAgICAuZmlsdGVyKGVsZW1lbnQgPT4gZWxlbWVudC5sZW5ndGggPiAwKVxuICAgICAgICAubWFwKGVsZW1lbnQgPT4gZWxlbWVudFswXSlcbiAgICAgICAgLmpvaW4oJycpXG4gICAgICAgIC50b1VwcGVyQ2FzZSgpO1xufVxuXG4vKipcbiAqIFJldHVybiB0aGUgaW5pdGlhbHMgb2YgdGhlIGdpdmVuIHZhbHVlIGFzIGF2YXRhclxuICovXG5leHBvcnQgY2xhc3MgSW5pdGlhbHMgZXh0ZW5kcyBTb3VyY2Uge1xuICAgIHB1YmxpYyBnZXRBdmF0YXIoc2l6ZTogbnVtYmVyKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShnZXRJbml0aWFscyh0aGlzLmdldFZhbHVlKCksIHNpemUpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNUZXh0dWFsKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Contract of all Sources.
|
|
3
|
-
* Every source must implements the fetch method
|
|
4
|
-
* in order to provide the avatar source.
|
|
5
|
-
*/
|
|
6
|
-
export class Source {
|
|
7
|
-
value;
|
|
8
|
-
constructor(value) {
|
|
9
|
-
this.value = value;
|
|
10
|
-
this.value = value;
|
|
11
|
-
}
|
|
12
|
-
getValue() {
|
|
13
|
-
return this.value;
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvYXZhdGFyL3NvdXJjZXMvc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBOzs7O0dBSUc7QUFDSCxNQUFNLE9BQWdCLE1BQU07SUFDWTtJQUFwQyxZQUFvQyxLQUFhO1FBQWIsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUM3QyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRU0sUUFBUTtRQUNYLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN0QixDQUFDO0NBWUoiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEEgY3JlYXRvciBpbnRlcmZhY2UgdXNlZCB0byBpbnN0YW50aWF0ZSBzb3VyY2UgaW1wbGVtZW50YXRpb25cbiAqL1xuZXhwb3J0IHR5cGUgU291cmNlQ3JlYXRvciA9IG5ldyAoc291cmNlVmFsdWU6IHN0cmluZykgPT4gU291cmNlO1xuXG4vKipcbiAqIENvbnRyYWN0IG9mIGFsbCBTb3VyY2VzLlxuICogRXZlcnkgc291cmNlIG11c3QgaW1wbGVtZW50cyB0aGUgZmV0Y2ggbWV0aG9kXG4gKiBpbiBvcmRlciB0byBwcm92aWRlIHRoZSBhdmF0YXIgc291cmNlLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU291cmNlIHtcbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSB2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0VmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgYXZhdGFyIHRoYXQgdXN1YWxseSBpcyBhIFVSTCwgYnV0LFxuICAgICAqIGZvciBleGFtcGxlIGl0IGNhbiBhbHNvIGJlIGEgc3RyaW5nIG9mIGluaXRpYWxzIGZyb20gdGhlIG5hbWUuXG4gICAgICovXG4gICAgcHVibGljIGFic3RyYWN0IGdldEF2YXRhcihzaXplOiBudW1iZXIpOiBQcm9taXNlPHN0cmluZz47XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBhdmF0YXIgaXMgcHVyZWx5IHRleHR1YWwgb3IgYW4gVVJMIGZvciBhbiBpbWFnZVxuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCBpc1RleHR1YWwoKTogYm9vbGVhbjtcbn1cbiJdfQ==
|