@skyux/avatar 8.5.0 → 8.6.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/documentation.json +63 -108
- package/esm2020/lib/modules/avatar/avatar.component.mjs +9 -18
- package/fesm2015/skyux-avatar.mjs +14 -22
- package/fesm2015/skyux-avatar.mjs.map +1 -1
- package/fesm2020/skyux-avatar.mjs +13 -22
- package/fesm2020/skyux-avatar.mjs.map +1 -1
- package/lib/modules/avatar/avatar.component.d.ts +3 -2
- package/package.json +7 -6
package/documentation.json
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"originalName": "",
|
|
14
14
|
"children": [
|
|
15
15
|
{
|
|
16
|
-
"id":
|
|
16
|
+
"id": 50,
|
|
17
17
|
"name": "SkyAvatarModule",
|
|
18
18
|
"kind": 128,
|
|
19
19
|
"kindString": "Class",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"title": "Constructors",
|
|
39
39
|
"kind": 512,
|
|
40
40
|
"children": [
|
|
41
|
-
|
|
41
|
+
51
|
|
42
42
|
]
|
|
43
43
|
}
|
|
44
44
|
],
|
|
@@ -135,7 +135,7 @@
|
|
|
135
135
|
]
|
|
136
136
|
},
|
|
137
137
|
{
|
|
138
|
-
"id":
|
|
138
|
+
"id": 23,
|
|
139
139
|
"name": "avatarChanged",
|
|
140
140
|
"kind": 1024,
|
|
141
141
|
"kindString": "Property",
|
|
@@ -160,7 +160,7 @@
|
|
|
160
160
|
"sources": [
|
|
161
161
|
{
|
|
162
162
|
"fileName": "projects/avatar/src/modules/avatar/avatar.component.ts",
|
|
163
|
-
"line":
|
|
163
|
+
"line": 93,
|
|
164
164
|
"character": 9
|
|
165
165
|
}
|
|
166
166
|
],
|
|
@@ -210,7 +210,7 @@
|
|
|
210
210
|
"sources": [
|
|
211
211
|
{
|
|
212
212
|
"fileName": "projects/avatar/src/modules/avatar/avatar.component.ts",
|
|
213
|
-
"line":
|
|
213
|
+
"line": 79,
|
|
214
214
|
"character": 9
|
|
215
215
|
}
|
|
216
216
|
],
|
|
@@ -220,6 +220,48 @@
|
|
|
220
220
|
},
|
|
221
221
|
"defaultValue": "MAX_FILE_SIZE_DEFAULT"
|
|
222
222
|
},
|
|
223
|
+
{
|
|
224
|
+
"id": 22,
|
|
225
|
+
"name": "size",
|
|
226
|
+
"kind": 1024,
|
|
227
|
+
"kindString": "Property",
|
|
228
|
+
"flags": {
|
|
229
|
+
"isPublic": true
|
|
230
|
+
},
|
|
231
|
+
"comment": {
|
|
232
|
+
"shortText": "The size of the avatar.\nAcceptable values are: `\"small\"`, `\"medium\"`, and `\"large\"`.",
|
|
233
|
+
"tags": [
|
|
234
|
+
{
|
|
235
|
+
"tag": "default",
|
|
236
|
+
"text": "\"large\"\n"
|
|
237
|
+
}
|
|
238
|
+
]
|
|
239
|
+
},
|
|
240
|
+
"decorators": [
|
|
241
|
+
{
|
|
242
|
+
"name": "Input",
|
|
243
|
+
"type": {
|
|
244
|
+
"type": "reference",
|
|
245
|
+
"qualifiedName": "InputDecorator",
|
|
246
|
+
"package": "@angular/core",
|
|
247
|
+
"name": "Input"
|
|
248
|
+
},
|
|
249
|
+
"arguments": {}
|
|
250
|
+
}
|
|
251
|
+
],
|
|
252
|
+
"sources": [
|
|
253
|
+
{
|
|
254
|
+
"fileName": "projects/avatar/src/modules/avatar/avatar.component.ts",
|
|
255
|
+
"line": 87,
|
|
256
|
+
"character": 9
|
|
257
|
+
}
|
|
258
|
+
],
|
|
259
|
+
"type": {
|
|
260
|
+
"type": "reference",
|
|
261
|
+
"id": 48,
|
|
262
|
+
"name": "SkyAvatarSize"
|
|
263
|
+
}
|
|
264
|
+
},
|
|
223
265
|
{
|
|
224
266
|
"id": 9,
|
|
225
267
|
"name": "canChange",
|
|
@@ -243,7 +285,7 @@
|
|
|
243
285
|
"sources": [
|
|
244
286
|
{
|
|
245
287
|
"fileName": "projects/avatar/src/modules/avatar/avatar.component.ts",
|
|
246
|
-
"line":
|
|
288
|
+
"line": 36,
|
|
247
289
|
"character": 13
|
|
248
290
|
}
|
|
249
291
|
],
|
|
@@ -328,7 +370,7 @@
|
|
|
328
370
|
"sources": [
|
|
329
371
|
{
|
|
330
372
|
"fileName": "projects/avatar/src/modules/avatar/avatar.component.ts",
|
|
331
|
-
"line":
|
|
373
|
+
"line": 53,
|
|
332
374
|
"character": 13
|
|
333
375
|
}
|
|
334
376
|
],
|
|
@@ -378,93 +420,6 @@
|
|
|
378
420
|
}
|
|
379
421
|
]
|
|
380
422
|
},
|
|
381
|
-
{
|
|
382
|
-
"id": 22,
|
|
383
|
-
"name": "size",
|
|
384
|
-
"kind": 262144,
|
|
385
|
-
"kindString": "Accessor",
|
|
386
|
-
"flags": {
|
|
387
|
-
"isPublic": true
|
|
388
|
-
},
|
|
389
|
-
"decorators": [
|
|
390
|
-
{
|
|
391
|
-
"name": "Input",
|
|
392
|
-
"type": {
|
|
393
|
-
"type": "reference",
|
|
394
|
-
"qualifiedName": "InputDecorator",
|
|
395
|
-
"package": "@angular/core",
|
|
396
|
-
"name": "Input"
|
|
397
|
-
},
|
|
398
|
-
"arguments": {}
|
|
399
|
-
}
|
|
400
|
-
],
|
|
401
|
-
"sources": [
|
|
402
|
-
{
|
|
403
|
-
"fileName": "projects/avatar/src/modules/avatar/avatar.component.ts",
|
|
404
|
-
"line": 83,
|
|
405
|
-
"character": 13
|
|
406
|
-
}
|
|
407
|
-
],
|
|
408
|
-
"getSignature": [
|
|
409
|
-
{
|
|
410
|
-
"id": 23,
|
|
411
|
-
"name": "size",
|
|
412
|
-
"kind": 524288,
|
|
413
|
-
"kindString": "Get signature",
|
|
414
|
-
"flags": {},
|
|
415
|
-
"comment": {
|
|
416
|
-
"shortText": "The size of the avatar.\nAcceptable values are: `\"small\"`, `\"medium\"`, and `\"large\"`.",
|
|
417
|
-
"tags": [
|
|
418
|
-
{
|
|
419
|
-
"tag": "default",
|
|
420
|
-
"text": "\"large\"\n"
|
|
421
|
-
}
|
|
422
|
-
]
|
|
423
|
-
},
|
|
424
|
-
"type": {
|
|
425
|
-
"type": "reference",
|
|
426
|
-
"id": 50,
|
|
427
|
-
"name": "SkyAvatarSize"
|
|
428
|
-
}
|
|
429
|
-
}
|
|
430
|
-
],
|
|
431
|
-
"setSignature": [
|
|
432
|
-
{
|
|
433
|
-
"id": 24,
|
|
434
|
-
"name": "size",
|
|
435
|
-
"kind": 1048576,
|
|
436
|
-
"kindString": "Set signature",
|
|
437
|
-
"flags": {},
|
|
438
|
-
"comment": {
|
|
439
|
-
"shortText": "The size of the avatar.\nAcceptable values are: `\"small\"`, `\"medium\"`, and `\"large\"`.",
|
|
440
|
-
"tags": [
|
|
441
|
-
{
|
|
442
|
-
"tag": "default",
|
|
443
|
-
"text": "\"large\"\n"
|
|
444
|
-
}
|
|
445
|
-
]
|
|
446
|
-
},
|
|
447
|
-
"parameters": [
|
|
448
|
-
{
|
|
449
|
-
"id": 25,
|
|
450
|
-
"name": "value",
|
|
451
|
-
"kind": 32768,
|
|
452
|
-
"kindString": "Parameter",
|
|
453
|
-
"flags": {},
|
|
454
|
-
"type": {
|
|
455
|
-
"type": "reference",
|
|
456
|
-
"id": 50,
|
|
457
|
-
"name": "SkyAvatarSize"
|
|
458
|
-
}
|
|
459
|
-
}
|
|
460
|
-
],
|
|
461
|
-
"type": {
|
|
462
|
-
"type": "intrinsic",
|
|
463
|
-
"name": "void"
|
|
464
|
-
}
|
|
465
|
-
}
|
|
466
|
-
]
|
|
467
|
-
},
|
|
468
423
|
{
|
|
469
424
|
"id": 17,
|
|
470
425
|
"name": "src",
|
|
@@ -488,7 +443,7 @@
|
|
|
488
443
|
"sources": [
|
|
489
444
|
{
|
|
490
445
|
"fileName": "projects/avatar/src/modules/avatar/avatar.component.ts",
|
|
491
|
-
"line":
|
|
446
|
+
"line": 66,
|
|
492
447
|
"character": 13
|
|
493
448
|
}
|
|
494
449
|
],
|
|
@@ -504,7 +459,7 @@
|
|
|
504
459
|
},
|
|
505
460
|
"type": {
|
|
506
461
|
"type": "reference",
|
|
507
|
-
"id":
|
|
462
|
+
"id": 49,
|
|
508
463
|
"name": "SkyAvatarSrc"
|
|
509
464
|
}
|
|
510
465
|
}
|
|
@@ -528,7 +483,7 @@
|
|
|
528
483
|
"flags": {},
|
|
529
484
|
"type": {
|
|
530
485
|
"type": "reference",
|
|
531
|
-
"id":
|
|
486
|
+
"id": 49,
|
|
532
487
|
"name": "SkyAvatarSrc"
|
|
533
488
|
}
|
|
534
489
|
}
|
|
@@ -541,7 +496,7 @@
|
|
|
541
496
|
]
|
|
542
497
|
},
|
|
543
498
|
{
|
|
544
|
-
"id":
|
|
499
|
+
"id": 32,
|
|
545
500
|
"name": "photoDrop",
|
|
546
501
|
"kind": 2048,
|
|
547
502
|
"kindString": "Method",
|
|
@@ -551,20 +506,20 @@
|
|
|
551
506
|
"sources": [
|
|
552
507
|
{
|
|
553
508
|
"fileName": "projects/avatar/src/modules/avatar/avatar.component.ts",
|
|
554
|
-
"line":
|
|
509
|
+
"line": 124,
|
|
555
510
|
"character": 9
|
|
556
511
|
}
|
|
557
512
|
],
|
|
558
513
|
"signatures": [
|
|
559
514
|
{
|
|
560
|
-
"id":
|
|
515
|
+
"id": 33,
|
|
561
516
|
"name": "photoDrop",
|
|
562
517
|
"kind": 4096,
|
|
563
518
|
"kindString": "Call signature",
|
|
564
519
|
"flags": {},
|
|
565
520
|
"parameters": [
|
|
566
521
|
{
|
|
567
|
-
"id":
|
|
522
|
+
"id": 34,
|
|
568
523
|
"name": "result",
|
|
569
524
|
"kind": 32768,
|
|
570
525
|
"kindString": "Parameter",
|
|
@@ -595,8 +550,9 @@
|
|
|
595
550
|
"title": "Properties",
|
|
596
551
|
"kind": 1024,
|
|
597
552
|
"children": [
|
|
598
|
-
|
|
599
|
-
21
|
|
553
|
+
23,
|
|
554
|
+
21,
|
|
555
|
+
22
|
|
600
556
|
]
|
|
601
557
|
},
|
|
602
558
|
{
|
|
@@ -605,7 +561,6 @@
|
|
|
605
561
|
"children": [
|
|
606
562
|
9,
|
|
607
563
|
13,
|
|
608
|
-
22,
|
|
609
564
|
17
|
|
610
565
|
]
|
|
611
566
|
},
|
|
@@ -613,20 +568,20 @@
|
|
|
613
568
|
"title": "Methods",
|
|
614
569
|
"kind": 2048,
|
|
615
570
|
"children": [
|
|
616
|
-
|
|
571
|
+
32
|
|
617
572
|
]
|
|
618
573
|
}
|
|
619
574
|
],
|
|
620
575
|
"sources": [
|
|
621
576
|
{
|
|
622
577
|
"fileName": "projects/avatar/src/modules/avatar/avatar.component.ts",
|
|
623
|
-
"line":
|
|
578
|
+
"line": 27,
|
|
624
579
|
"character": 13
|
|
625
580
|
}
|
|
626
581
|
]
|
|
627
582
|
},
|
|
628
583
|
{
|
|
629
|
-
"id":
|
|
584
|
+
"id": 48,
|
|
630
585
|
"name": "SkyAvatarSize",
|
|
631
586
|
"kind": 4194304,
|
|
632
587
|
"kindString": "Type alias",
|
|
@@ -657,7 +612,7 @@
|
|
|
657
612
|
}
|
|
658
613
|
},
|
|
659
614
|
{
|
|
660
|
-
"id":
|
|
615
|
+
"id": 49,
|
|
661
616
|
"name": "SkyAvatarSrc",
|
|
662
617
|
"kind": 4194304,
|
|
663
618
|
"kindString": "Type alias",
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
var _SkyAvatarComponent_instances, _SkyAvatarComponent__canChange, _SkyAvatarComponent__name,
|
|
1
|
+
var _SkyAvatarComponent_instances, _SkyAvatarComponent__canChange, _SkyAvatarComponent__name, _SkyAvatarComponent__src, _SkyAvatarComponent_errorService, _SkyAvatarComponent_fileSizePipe, _SkyAvatarComponent_resourcesService, _SkyAvatarComponent_defaultInputProvider, _SkyAvatarComponent_handleError, _SkyAvatarComponent_maxFileSizeText, _SkyAvatarComponent_openErrorModal, _SkyAvatarComponent_getString;
|
|
2
2
|
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
3
|
-
import { Component, EventEmitter, Input, Output, ViewEncapsulation, } from '@angular/core';
|
|
3
|
+
import { Component, EventEmitter, Input, Output, ViewEncapsulation, inject, } from '@angular/core';
|
|
4
|
+
import { SkyDefaultInputProvider } from '@skyux/core';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
import * as i1 from "@skyux/errors";
|
|
6
7
|
import * as i2 from "@skyux/forms";
|
|
@@ -46,17 +47,6 @@ export class SkyAvatarComponent {
|
|
|
46
47
|
get src() {
|
|
47
48
|
return __classPrivateFieldGet(this, _SkyAvatarComponent__src, "f");
|
|
48
49
|
}
|
|
49
|
-
/**
|
|
50
|
-
* The size of the avatar.
|
|
51
|
-
* Acceptable values are: `"small"`, `"medium"`, and `"large"`.
|
|
52
|
-
* @default "large"
|
|
53
|
-
*/
|
|
54
|
-
set size(value) {
|
|
55
|
-
__classPrivateFieldSet(this, _SkyAvatarComponent__size, value ?? 'large', "f");
|
|
56
|
-
}
|
|
57
|
-
get size() {
|
|
58
|
-
return __classPrivateFieldGet(this, _SkyAvatarComponent__size, "f");
|
|
59
|
-
}
|
|
60
50
|
constructor(errorService, fileSizePipe, resourcesService) {
|
|
61
51
|
_SkyAvatarComponent_instances.add(this);
|
|
62
52
|
/**
|
|
@@ -70,14 +60,15 @@ export class SkyAvatarComponent {
|
|
|
70
60
|
this.avatarChanged = new EventEmitter();
|
|
71
61
|
_SkyAvatarComponent__canChange.set(this, false);
|
|
72
62
|
_SkyAvatarComponent__name.set(this, void 0);
|
|
73
|
-
_SkyAvatarComponent__size.set(this, 'large');
|
|
74
63
|
_SkyAvatarComponent__src.set(this, void 0);
|
|
75
64
|
_SkyAvatarComponent_errorService.set(this, void 0);
|
|
76
65
|
_SkyAvatarComponent_fileSizePipe.set(this, void 0);
|
|
77
66
|
_SkyAvatarComponent_resourcesService.set(this, void 0);
|
|
67
|
+
_SkyAvatarComponent_defaultInputProvider.set(this, inject(SkyDefaultInputProvider, { optional: true }));
|
|
78
68
|
__classPrivateFieldSet(this, _SkyAvatarComponent_errorService, errorService, "f");
|
|
79
69
|
__classPrivateFieldSet(this, _SkyAvatarComponent_fileSizePipe, fileSizePipe, "f");
|
|
80
70
|
__classPrivateFieldSet(this, _SkyAvatarComponent_resourcesService, resourcesService, "f");
|
|
71
|
+
this.sizeDefault = __classPrivateFieldGet(this, _SkyAvatarComponent_defaultInputProvider, "f")?.getValue('avatar', 'size');
|
|
81
72
|
}
|
|
82
73
|
photoDrop(result) {
|
|
83
74
|
/* sanity check */
|
|
@@ -90,7 +81,7 @@ export class SkyAvatarComponent {
|
|
|
90
81
|
}
|
|
91
82
|
}
|
|
92
83
|
}
|
|
93
|
-
_SkyAvatarComponent__canChange = new WeakMap(), _SkyAvatarComponent__name = new WeakMap(),
|
|
84
|
+
_SkyAvatarComponent__canChange = new WeakMap(), _SkyAvatarComponent__name = new WeakMap(), _SkyAvatarComponent__src = new WeakMap(), _SkyAvatarComponent_errorService = new WeakMap(), _SkyAvatarComponent_fileSizePipe = new WeakMap(), _SkyAvatarComponent_resourcesService = new WeakMap(), _SkyAvatarComponent_defaultInputProvider = new WeakMap(), _SkyAvatarComponent_instances = new WeakSet(), _SkyAvatarComponent_handleError = function _SkyAvatarComponent_handleError(rejectedFiles) {
|
|
94
85
|
const rejectedFile = rejectedFiles[0];
|
|
95
86
|
if (rejectedFile.errorType === 'maxFileSize') {
|
|
96
87
|
const title = __classPrivateFieldGet(this, _SkyAvatarComponent_instances, "m", _SkyAvatarComponent_getString).call(this, 'skyux_avatar_error_too_large_title');
|
|
@@ -116,10 +107,10 @@ _SkyAvatarComponent__canChange = new WeakMap(), _SkyAvatarComponent__name = new
|
|
|
116
107
|
return __classPrivateFieldGet(this, _SkyAvatarComponent_resourcesService, "f").getStringForLocale({ locale: 'en-US' }, key, ...args);
|
|
117
108
|
};
|
|
118
109
|
SkyAvatarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAvatarComponent, deps: [{ token: i1.SkyErrorModalService }, { token: i2.SkyFileSizePipe }, { token: i3.SkyLibResourcesService }], target: i0.ɵɵFactoryTarget.Component });
|
|
119
|
-
SkyAvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SkyAvatarComponent, selector: "sky-avatar", inputs: { canChange: "canChange", name: "name", src: "src", maxFileSize: "maxFileSize", size: "size" }, outputs: { avatarChanged: "avatarChanged" }, ngImport: i0, template: "<div class=\"sky-avatar\">\n <div *ngIf=\"canChange\">\n <div class=\"sky-avatar-file-drop\">\n <sky-file-drop\n [acceptedTypes]=\"'image/*'\"\n [fileUploadAriaLabel]=\"\n src\n ? ('skyux_avatar_upload_change_aria_label' | skyLibResources : name)\n : ('skyux_avatar_upload_new_aria_label' | skyLibResources : name)\n \"\n [multiple]=\"false\"\n [maxFileSize]=\"maxFileSize\"\n [multiple]=\"false\"\n (filesChanged)=\"photoDrop($event)\"\n >\n <ng-container *ngTemplateOutlet=\"innerTemplate\"></ng-container>\n </sky-file-drop>\n </div>\n </div>\n <div *ngIf=\"!canChange\">\n <ng-container *ngTemplateOutlet=\"innerTemplate\"></ng-container>\n </div>\n</div>\n\n<ng-template #innerTemplate>\n <sky-avatar-inner
|
|
110
|
+
SkyAvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SkyAvatarComponent, selector: "sky-avatar", inputs: { canChange: "canChange", name: "name", src: "src", maxFileSize: "maxFileSize", size: "size" }, outputs: { avatarChanged: "avatarChanged" }, ngImport: i0, template: "<div class=\"sky-avatar\">\n <div *ngIf=\"canChange\">\n <div class=\"sky-avatar-file-drop\">\n <sky-file-drop\n [acceptedTypes]=\"'image/*'\"\n [fileUploadAriaLabel]=\"\n src\n ? ('skyux_avatar_upload_change_aria_label' | skyLibResources : name)\n : ('skyux_avatar_upload_new_aria_label' | skyLibResources : name)\n \"\n [multiple]=\"false\"\n [maxFileSize]=\"maxFileSize\"\n [multiple]=\"false\"\n (filesChanged)=\"photoDrop($event)\"\n >\n <ng-container *ngTemplateOutlet=\"innerTemplate\"></ng-container>\n </sky-file-drop>\n </div>\n </div>\n <div *ngIf=\"!canChange\">\n <ng-container *ngTemplateOutlet=\"innerTemplate\"></ng-container>\n </div>\n</div>\n\n<ng-template #innerTemplate>\n <sky-avatar-inner\n [name]=\"name\"\n [size]=\"size ?? (sizeDefault | async) ?? 'large'\"\n [src]=\"src\"\n ></sky-avatar-inner>\n</ng-template>\n", styles: [".sky-avatar .sky-file-drop-col{flex-basis:initial}.sky-theme-modern .sky-file-drop:focus{outline:none}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.λ8, selector: "sky-file-drop", inputs: ["fileUploadAriaLabel", "linkUploadAriaLabel", "minFileSize", "maxFileSize", "multiple", "validateFn", "acceptedTypes", "noClick", "allowLinks"], outputs: ["filesChanged", "linkInputBlur", "linkChanged"] }, { kind: "component", type: i5.SkyAvatarInnerComponent, selector: "sky-avatar-inner", inputs: ["src", "name", "size"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }], encapsulation: i0.ViewEncapsulation.None });
|
|
120
111
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAvatarComponent, decorators: [{
|
|
121
112
|
type: Component,
|
|
122
|
-
args: [{ selector: 'sky-avatar', encapsulation: ViewEncapsulation.None, template: "<div class=\"sky-avatar\">\n <div *ngIf=\"canChange\">\n <div class=\"sky-avatar-file-drop\">\n <sky-file-drop\n [acceptedTypes]=\"'image/*'\"\n [fileUploadAriaLabel]=\"\n src\n ? ('skyux_avatar_upload_change_aria_label' | skyLibResources : name)\n : ('skyux_avatar_upload_new_aria_label' | skyLibResources : name)\n \"\n [multiple]=\"false\"\n [maxFileSize]=\"maxFileSize\"\n [multiple]=\"false\"\n (filesChanged)=\"photoDrop($event)\"\n >\n <ng-container *ngTemplateOutlet=\"innerTemplate\"></ng-container>\n </sky-file-drop>\n </div>\n </div>\n <div *ngIf=\"!canChange\">\n <ng-container *ngTemplateOutlet=\"innerTemplate\"></ng-container>\n </div>\n</div>\n\n<ng-template #innerTemplate>\n <sky-avatar-inner
|
|
113
|
+
args: [{ selector: 'sky-avatar', encapsulation: ViewEncapsulation.None, template: "<div class=\"sky-avatar\">\n <div *ngIf=\"canChange\">\n <div class=\"sky-avatar-file-drop\">\n <sky-file-drop\n [acceptedTypes]=\"'image/*'\"\n [fileUploadAriaLabel]=\"\n src\n ? ('skyux_avatar_upload_change_aria_label' | skyLibResources : name)\n : ('skyux_avatar_upload_new_aria_label' | skyLibResources : name)\n \"\n [multiple]=\"false\"\n [maxFileSize]=\"maxFileSize\"\n [multiple]=\"false\"\n (filesChanged)=\"photoDrop($event)\"\n >\n <ng-container *ngTemplateOutlet=\"innerTemplate\"></ng-container>\n </sky-file-drop>\n </div>\n </div>\n <div *ngIf=\"!canChange\">\n <ng-container *ngTemplateOutlet=\"innerTemplate\"></ng-container>\n </div>\n</div>\n\n<ng-template #innerTemplate>\n <sky-avatar-inner\n [name]=\"name\"\n [size]=\"size ?? (sizeDefault | async) ?? 'large'\"\n [src]=\"src\"\n ></sky-avatar-inner>\n</ng-template>\n", styles: [".sky-avatar .sky-file-drop-col{flex-basis:initial}.sky-theme-modern .sky-file-drop:focus{outline:none}\n"] }]
|
|
123
114
|
}], ctorParameters: function () { return [{ type: i1.SkyErrorModalService }, { type: i2.SkyFileSizePipe }, { type: i3.SkyLibResourcesService }]; }, propDecorators: { canChange: [{
|
|
124
115
|
type: Input
|
|
125
116
|
}], name: [{
|
|
@@ -133,4 +124,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
133
124
|
}], avatarChanged: [{
|
|
134
125
|
type: Output
|
|
135
126
|
}] } });
|
|
136
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9hdmF0YXIvc3JjL2xpYi9tb2R1bGVzL2F2YXRhci9hdmF0YXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2F2YXRhci9zcmMvbGliL21vZHVsZXMvYXZhdGFyL2F2YXRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBUXZCLE1BQU0scUJBQXFCLEdBQUcsTUFBTSxDQUFDO0FBUXJDLE1BQU0sT0FBTyxrQkFBa0I7SUFDN0I7Ozs7OztPQU1HO0lBQ0gsSUFDVyxTQUFTLENBQUMsS0FBMEI7UUFDN0MsdUJBQUEsSUFBSSxrQ0FBZSxDQUFDLENBQUMsS0FBSyxNQUFBLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQVcsU0FBUztRQUNsQixPQUFPLHVCQUFBLElBQUksc0NBQVksQ0FBQztJQUMxQixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILElBQ1csSUFBSSxDQUFDLEtBQXlCO1FBQ3ZDLHVCQUFBLElBQUksNkJBQVUsS0FBSyxNQUFBLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQVcsSUFBSTtRQUNiLE9BQU8sdUJBQUEsSUFBSSxpQ0FBTyxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUNXLEdBQUcsQ0FBQyxLQUErQjtRQUM1Qyx1QkFBQSxJQUFJLDRCQUFTLEtBQUssTUFBQSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUFXLEdBQUc7UUFDWixPQUFPLHVCQUFBLElBQUksZ0NBQU0sQ0FBQztJQUNwQixDQUFDO0lBU0Q7Ozs7T0FJRztJQUNILElB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QUFXO0lBQ3BDLDZFQUE2RTtJQUM3RSxPQUFPLHVCQUFBLElBQUksNENBQWtCLENBQUMsa0JBQWtCLENBQzlDLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxFQUNuQixHQUFHLEVBQ0gsR0FBRyxJQUFJLENBQ1IsQ0FBQztBQUNKLENBQUM7K0dBcEpVLGtCQUFrQjttR0FBbEIsa0JBQWtCLHVNQ3RCL0IsaTVCQTJCQTsyRkRMYSxrQkFBa0I7a0JBTjlCLFNBQVM7K0JBQ0UsWUFBWSxpQkFHUCxpQkFBaUIsQ0FBQyxJQUFJOzhLQVcxQixTQUFTO3NCQURuQixLQUFLO2dCQWtCSyxJQUFJO3NCQURkLEtBQUs7Z0JBY0ssR0FBRztzQkFEYixLQUFLO2dCQWNDLFdBQVc7c0JBRGpCLEtBQUs7Z0JBU0ssSUFBSTtzQkFEZCxLQUFLO2dCQWFDLGFBQWE7c0JBRG5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRXJyb3JNb2RhbENvbmZpZywgU2t5RXJyb3JNb2RhbFNlcnZpY2UgfSBmcm9tICdAc2t5dXgvZXJyb3JzJztcbmltcG9ydCB7IFNreUZpbGVEcm9wQ2hhbmdlLCBTa3lGaWxlSXRlbSwgU2t5RmlsZVNpemVQaXBlIH0gZnJvbSAnQHNreXV4L2Zvcm1zJztcbmltcG9ydCB7IFNreUxpYlJlc291cmNlc1NlcnZpY2UgfSBmcm9tICdAc2t5dXgvaTE4bic7XG5cbmltcG9ydCB7IFNreUF2YXRhclNpemUgfSBmcm9tICcuL2F2YXRhci1zaXplJztcbmltcG9ydCB7IFNreUF2YXRhclNyYyB9IGZyb20gJy4vYXZhdGFyLXNyYyc7XG5cbmNvbnN0IE1BWF9GSUxFX1NJWkVfREVGQVVMVCA9IDUwMDAwMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWF2YXRhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9hdmF0YXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hdmF0YXIuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5QXZhdGFyQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdXNlcnMgY2FuIGNoYW5nZSB0aGUgaW1hZ2UuIFRvIHNlbGVjdCBhIGRpZmZlcmVudCBpbWFnZSxcbiAgICogdXNlcnMgY2xpY2sgdGhlIGltYWdlIG9yIGRyYWcgYW5vdGhlciBpbWFnZSBvbiB0b3Agb2YgaXQsXG4gICAqIG11Y2ggbGlrZSB0aGUgYHNreS1maWxlLWRyb3BgIGNvbXBvbmVudCBpbiB0aGVcbiAgICogW2ZpbGUgYXR0YWNobWVudCBtb2R1bGVdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9maWxlLWF0dGFjaG1lbnRzL2ZpbGUtYXR0YWNobWVudCkuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGNhbkNoYW5nZSh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19jYW5DaGFuZ2UgPSAhIXZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBjYW5DaGFuZ2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI19jYW5DaGFuZ2U7XG4gIH1cblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHJlY29yZCB0aGF0IHRoZSBhdmF0YXIgcmVwcmVzZW50cy5cbiAgICogSWYgdGhlIGBzcmNgIHByb3BlcnR5IGRvZXMgbm90IHNwZWNpZnkgYW4gaW1hZ2UsIHRoZSBjb21wb25lbnQgZGlzcGxheXNcbiAgICogaW5pdGlhbHMgZnJvbSB0aGUgZmlyc3QgYW5kIGxhc3Qgd29yZHMgaW4gdGhlIG5hbWUuIFRvIGVuc3VyZVxuICAgKiB0aGF0IHRoZSBjb21wb25lbnQgZXh0cmFjdHMgdGhlIGNvcnJlY3QgaW5pdGlhbHMsIHNwZWNpZnkgYSBuYW1lIHdpdGggbm8gcHJlZml4XG4gICAqIG9yIHN1ZmZpeCwgb3IganVzdCBzcGVjaWZ5IGluaXRpYWxzIHdpdGggYSBzcGFjZSBiZXR3ZWVuIHRoZW0uIFRoaXMgcHJvcGVydHkgaXNcbiAgICogbm90IHJlcXVpcmVkLCBidXQgdGhlIGNvbXBvbmVudCByZXF1aXJlcyBlaXRoZXIgdGhlIGBuYW1lYCBvciBgc3JjYCBwcm9wZXJ0eS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgbmFtZSh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX25hbWUgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbmFtZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfbmFtZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgaW1hZ2UgdG8gaWRlbnRpZnkgYSByZWNvcmQuIFRoaXMgcHJvcGVydHkgaXNcbiAgICogbm90IHJlcXVpcmVkLCBidXQgdGhlIGNvbXBvbmVudCByZXF1aXJlcyBlaXRoZXIgdGhlIGBuYW1lYCBvciBgc3JjYCBwcm9wZXJ0eS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgc3JjKHZhbHVlOiBTa3lBdmF0YXJTcmMgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfc3JjID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNyYygpOiBTa3lBdmF0YXJTcmMgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfc3JjO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIGZpbGUgc2l6ZSBmb3IgdGhlIGltYWdlIGluIGJ5dGVzLlxuICAgKiBAZGVmYXVsdCA1MDAwMDAgYnl0ZXNcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtYXhGaWxlU2l6ZTogbnVtYmVyIHwgdW5kZWZpbmVkID0gTUFYX0ZJTEVfU0laRV9ERUZBVUxUO1xuXG4gIC8qKlxuICAgKiBUaGUgc2l6ZSBvZiB0aGUgYXZhdGFyLlxuICAgKiBBY2NlcHRhYmxlIHZhbHVlcyBhcmU6IGBcInNtYWxsXCJgLCBgXCJtZWRpdW1cImAsIGFuZCBgXCJsYXJnZVwiYC5cbiAgICogQGRlZmF1bHQgXCJsYXJnZVwiXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNpemUodmFsdWU6IFNreUF2YXRhclNpemUgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfc2l6ZSA9IHZhbHVlID8/ICdsYXJnZSc7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNpemUoKTogU2t5QXZhdGFyU2l6ZSB7XG4gICAgcmV0dXJuIHRoaXMuI19zaXplO1xuICB9XG5cbiAgLyoqXG4gICAqIEVtaXRzIGEgYFNreUZpbGVJdGVtYCBvYmplY3Qgd2hlbiB0aGUgaW1hZ2UgaXMgdXBkYXRlZC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgYXZhdGFyQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8U2t5RmlsZUl0ZW0+KCk7XG5cbiAgI19jYW5DaGFuZ2UgPSBmYWxzZTtcblxuICAjX25hbWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAjX3NpemU6IFNreUF2YXRhclNpemUgPSAnbGFyZ2UnO1xuXG4gICNfc3JjOiBTa3lBdmF0YXJTcmMgfCB1bmRlZmluZWQ7XG5cbiAgI2Vycm9yU2VydmljZTogU2t5RXJyb3JNb2RhbFNlcnZpY2U7XG4gICNmaWxlU2l6ZVBpcGU6IFNreUZpbGVTaXplUGlwZTtcbiAgI3Jlc291cmNlc1NlcnZpY2U6IFNreUxpYlJlc291cmNlc1NlcnZpY2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgZXJyb3JTZXJ2aWNlOiBTa3lFcnJvck1vZGFsU2VydmljZSxcbiAgICBmaWxlU2l6ZVBpcGU6IFNreUZpbGVTaXplUGlwZSxcbiAgICByZXNvdXJjZXNTZXJ2aWNlOiBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuI2Vycm9yU2VydmljZSA9IGVycm9yU2VydmljZTtcbiAgICB0aGlzLiNmaWxlU2l6ZVBpcGUgPSBmaWxlU2l6ZVBpcGU7XG4gICAgdGhpcy4jcmVzb3VyY2VzU2VydmljZSA9IHJlc291cmNlc1NlcnZpY2U7XG4gIH1cblxuICBwdWJsaWMgcGhvdG9Ecm9wKHJlc3VsdDogU2t5RmlsZURyb3BDaGFuZ2UpOiB2b2lkIHtcbiAgICAvKiBzYW5pdHkgY2hlY2sgKi9cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChyZXN1bHQuZmlsZXMgJiYgcmVzdWx0LmZpbGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuYXZhdGFyQ2hhbmdlZC5lbWl0KHJlc3VsdC5maWxlc1swXSk7XG4gICAgfSBlbHNlIGlmIChyZXN1bHQucmVqZWN0ZWRGaWxlcyAmJiByZXN1bHQucmVqZWN0ZWRGaWxlcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLiNoYW5kbGVFcnJvcihyZXN1bHQucmVqZWN0ZWRGaWxlcyk7XG4gICAgfVxuICB9XG5cbiAgI2hhbmRsZUVycm9yKHJlamVjdGVkRmlsZXM6IEFycmF5PFNreUZpbGVJdGVtPik6IHZvaWQge1xuICAgIGNvbnN0IHJlamVjdGVkRmlsZSA9IHJlamVjdGVkRmlsZXNbMF07XG5cbiAgICBpZiAocmVqZWN0ZWRGaWxlLmVycm9yVHlwZSA9PT0gJ21heEZpbGVTaXplJykge1xuICAgICAgY29uc3QgdGl0bGUgPSB0aGlzLiNnZXRTdHJpbmcoJ3NreXV4X2F2YXRhcl9lcnJvcl90b29fbGFyZ2VfdGl0bGUnKTtcbiAgICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gdGhpcy4jZ2V0U3RyaW5nKFxuICAgICAgICAnc2t5dXhfYXZhdGFyX2Vycm9yX3Rvb19sYXJnZV9kZXNjcmlwdGlvbicsXG4gICAgICAgIHRoaXMuI21heEZpbGVTaXplVGV4dCgpXG4gICAgICApO1xuXG4gICAgICB0aGlzLiNvcGVuRXJyb3JNb2RhbCh0aXRsZSwgZGVzY3JpcHRpb24pO1xuICAgIH0gZWxzZSBpZiAocmVqZWN0ZWRGaWxlLmVycm9yVHlwZSA9PT0gJ2ZpbGVUeXBlJykge1xuICAgICAgY29uc3QgdGl0bGUgPSB0aGlzLiNnZXRTdHJpbmcoJ3NreXV4X2F2YXRhcl9lcnJvcl9ub3RfaW1hZ2VfdGl0bGUnKTtcbiAgICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gdGhpcy4jZ2V0U3RyaW5nKFxuICAgICAgICAnc2t5dXhfYXZhdGFyX2Vycm9yX25vdF9pbWFnZV9kZXNjcmlwdGlvbidcbiAgICAgICk7XG5cbiAgICAgIHRoaXMuI29wZW5FcnJvck1vZGFsKHRpdGxlLCBkZXNjcmlwdGlvbik7XG4gICAgfVxuICB9XG5cbiAgI21heEZpbGVTaXplVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLiNmaWxlU2l6ZVBpcGUudHJhbnNmb3JtKHRoaXMubWF4RmlsZVNpemUpO1xuICB9XG5cbiAgI29wZW5FcnJvck1vZGFsKHRpdGxlOiBzdHJpbmcsIGRlc2NyaXB0aW9uOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBjb25maWc6IEVycm9yTW9kYWxDb25maWcgPSB7XG4gICAgICBlcnJvclRpdGxlOiB0aXRsZSxcbiAgICAgIGVycm9yRGVzY3JpcHRpb246IGRlc2NyaXB0aW9uLFxuICAgICAgZXJyb3JDbG9zZVRleHQ6IHRoaXMuI2dldFN0cmluZygnc2t5dXhfYXZhdGFyX2Vycm9ybW9kYWxfb2snKSxcbiAgICB9O1xuXG4gICAgdGhpcy4jZXJyb3JTZXJ2aWNlLm9wZW4oY29uZmlnKTtcbiAgfVxuXG4gICNnZXRTdHJpbmcoa2V5OiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKTogc3RyaW5nIHtcbiAgICAvLyBUT0RPOiBOZWVkIHRvIGltcGxlbWVudCB0aGUgYXN5bmMgYGdldFN0cmluZ2AgbWV0aG9kIGluIGEgYnJlYWtpbmcgY2hhbmdlLlxuICAgIHJldHVybiB0aGlzLiNyZXNvdXJjZXNTZXJ2aWNlLmdldFN0cmluZ0ZvckxvY2FsZShcbiAgICAgIHsgbG9jYWxlOiAnZW4tVVMnIH0sXG4gICAgICBrZXksXG4gICAgICAuLi5hcmdzXG4gICAgKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInNreS1hdmF0YXJcIj5cbiAgPGRpdiAqbmdJZj1cImNhbkNoYW5nZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJza3ktYXZhdGFyLWZpbGUtZHJvcFwiPlxuICAgICAgPHNreS1maWxlLWRyb3BcbiAgICAgICAgW2FjY2VwdGVkVHlwZXNdPVwiJ2ltYWdlLyonXCJcbiAgICAgICAgW2ZpbGVVcGxvYWRBcmlhTGFiZWxdPVwiXG4gICAgICAgICAgc3JjXG4gICAgICAgICAgICA/ICgnc2t5dXhfYXZhdGFyX3VwbG9hZF9jaGFuZ2VfYXJpYV9sYWJlbCcgfCBza3lMaWJSZXNvdXJjZXMgOiBuYW1lKVxuICAgICAgICAgICAgOiAoJ3NreXV4X2F2YXRhcl91cGxvYWRfbmV3X2FyaWFfbGFiZWwnIHwgc2t5TGliUmVzb3VyY2VzIDogbmFtZSlcbiAgICAgICAgXCJcbiAgICAgICAgW211bHRpcGxlXT1cImZhbHNlXCJcbiAgICAgICAgW21heEZpbGVTaXplXT1cIm1heEZpbGVTaXplXCJcbiAgICAgICAgW211bHRpcGxlXT1cImZhbHNlXCJcbiAgICAgICAgKGZpbGVzQ2hhbmdlZCk9XCJwaG90b0Ryb3AoJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpbm5lclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L3NreS1maWxlLWRyb3A+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwiIWNhbkNoYW5nZVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpbm5lclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjaW5uZXJUZW1wbGF0ZT5cbiAgPHNreS1hdmF0YXItaW5uZXIgW25hbWVdPVwibmFtZVwiIFtzaXplXT1cInNpemVcIiBbc3JjXT1cInNyY1wiPjwvc2t5LWF2YXRhci1pbm5lcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9hdmF0YXIvc3JjL2xpYi9tb2R1bGVzL2F2YXRhci9hdmF0YXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2F2YXRhci9zcmMvbGliL21vZHVsZXMvYXZhdGFyL2F2YXRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEVBQ2pCLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7Ozs7QUFVdEQsTUFBTSxxQkFBcUIsR0FBRyxNQUFNLENBQUM7QUFRckMsTUFBTSxPQUFPLGtCQUFrQjtJQUM3Qjs7Ozs7O09BTUc7SUFDSCxJQUNXLFNBQVMsQ0FBQyxLQUEwQjtRQUM3Qyx1QkFBQSxJQUFJLGtDQUFlLENBQUMsQ0FBQyxLQUFLLE1BQUEsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sdUJBQUEsSUFBSSxzQ0FBWSxDQUFDO0lBQzFCLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsSUFDVyxJQUFJLENBQUMsS0FBeUI7UUFDdkMsdUJBQUEsSUFBSSw2QkFBVSxLQUFLLE1BQUEsQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBVyxJQUFJO1FBQ2IsT0FBTyx1QkFBQSxJQUFJLGlDQUFPLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQ1csR0FBRyxDQUFDLEtBQStCO1FBQzVDLHVCQUFBLElBQUksNEJBQVMsS0FBSyxNQUFBLENBQUM7SUFDckIsQ0FBQztJQUVELElBQVcsR0FBRztRQUNaLE9BQU8s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Q0FBQyx5RUFFVSxHQUFXLEVBQUUsR0FBRyxJQUFXO0lBQ3BDLDZFQUE2RTtJQUM3RSxPQUFPLHVCQUFBLElBQUksNENBQWtCLENBQUMsa0JBQWtCLENBQzlDLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxFQUNuQixHQUFHLEVBQ0gsR0FBRyxJQUFJLENBQ1IsQ0FBQztBQUNKLENBQUM7K0dBckpVLGtCQUFrQjttR0FBbEIsa0JBQWtCLHVNQzFCL0IsdzhCQStCQTsyRkRMYSxrQkFBa0I7a0JBTjlCLFNBQVM7K0JBQ0UsWUFBWSxpQkFHUCxpQkFBaUIsQ0FBQyxJQUFJOzhLQVcxQixTQUFTO3NCQURuQixLQUFLO2dCQWtCSyxJQUFJO3NCQURkLEtBQUs7Z0JBY0ssR0FBRztzQkFEYixLQUFLO2dCQWNDLFdBQVc7c0JBRGpCLEtBQUs7Z0JBU0MsSUFBSTtzQkFEVixLQUFLO2dCQU9DLGFBQWE7c0JBRG5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lEZWZhdWx0SW5wdXRQcm92aWRlciB9IGZyb20gJ0Bza3l1eC9jb3JlJztcbmltcG9ydCB7IEVycm9yTW9kYWxDb25maWcsIFNreUVycm9yTW9kYWxTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2Vycm9ycyc7XG5pbXBvcnQgeyBTa3lGaWxlRHJvcENoYW5nZSwgU2t5RmlsZUl0ZW0sIFNreUZpbGVTaXplUGlwZSB9IGZyb20gJ0Bza3l1eC9mb3Jtcyc7XG5pbXBvcnQgeyBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2kxOG4nO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNreUF2YXRhclNpemUgfSBmcm9tICcuL2F2YXRhci1zaXplJztcbmltcG9ydCB7IFNreUF2YXRhclNyYyB9IGZyb20gJy4vYXZhdGFyLXNyYyc7XG5cbmNvbnN0IE1BWF9GSUxFX1NJWkVfREVGQVVMVCA9IDUwMDAwMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWF2YXRhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9hdmF0YXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hdmF0YXIuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5QXZhdGFyQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdXNlcnMgY2FuIGNoYW5nZSB0aGUgaW1hZ2UuIFRvIHNlbGVjdCBhIGRpZmZlcmVudCBpbWFnZSxcbiAgICogdXNlcnMgY2xpY2sgdGhlIGltYWdlIG9yIGRyYWcgYW5vdGhlciBpbWFnZSBvbiB0b3Agb2YgaXQsXG4gICAqIG11Y2ggbGlrZSB0aGUgYHNreS1maWxlLWRyb3BgIGNvbXBvbmVudCBpbiB0aGVcbiAgICogW2ZpbGUgYXR0YWNobWVudCBtb2R1bGVdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9maWxlLWF0dGFjaG1lbnRzL2ZpbGUtYXR0YWNobWVudCkuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGNhbkNoYW5nZSh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19jYW5DaGFuZ2UgPSAhIXZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBjYW5DaGFuZ2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI19jYW5DaGFuZ2U7XG4gIH1cblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHJlY29yZCB0aGF0IHRoZSBhdmF0YXIgcmVwcmVzZW50cy5cbiAgICogSWYgdGhlIGBzcmNgIHByb3BlcnR5IGRvZXMgbm90IHNwZWNpZnkgYW4gaW1hZ2UsIHRoZSBjb21wb25lbnQgZGlzcGxheXNcbiAgICogaW5pdGlhbHMgZnJvbSB0aGUgZmlyc3QgYW5kIGxhc3Qgd29yZHMgaW4gdGhlIG5hbWUuIFRvIGVuc3VyZVxuICAgKiB0aGF0IHRoZSBjb21wb25lbnQgZXh0cmFjdHMgdGhlIGNvcnJlY3QgaW5pdGlhbHMsIHNwZWNpZnkgYSBuYW1lIHdpdGggbm8gcHJlZml4XG4gICAqIG9yIHN1ZmZpeCwgb3IganVzdCBzcGVjaWZ5IGluaXRpYWxzIHdpdGggYSBzcGFjZSBiZXR3ZWVuIHRoZW0uIFRoaXMgcHJvcGVydHkgaXNcbiAgICogbm90IHJlcXVpcmVkLCBidXQgdGhlIGNvbXBvbmVudCByZXF1aXJlcyBlaXRoZXIgdGhlIGBuYW1lYCBvciBgc3JjYCBwcm9wZXJ0eS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgbmFtZSh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX25hbWUgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbmFtZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfbmFtZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgaW1hZ2UgdG8gaWRlbnRpZnkgYSByZWNvcmQuIFRoaXMgcHJvcGVydHkgaXNcbiAgICogbm90IHJlcXVpcmVkLCBidXQgdGhlIGNvbXBvbmVudCByZXF1aXJlcyBlaXRoZXIgdGhlIGBuYW1lYCBvciBgc3JjYCBwcm9wZXJ0eS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgc3JjKHZhbHVlOiBTa3lBdmF0YXJTcmMgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfc3JjID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNyYygpOiBTa3lBdmF0YXJTcmMgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfc3JjO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIGZpbGUgc2l6ZSBmb3IgdGhlIGltYWdlIGluIGJ5dGVzLlxuICAgKiBAZGVmYXVsdCA1MDAwMDAgYnl0ZXNcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtYXhGaWxlU2l6ZTogbnVtYmVyIHwgdW5kZWZpbmVkID0gTUFYX0ZJTEVfU0laRV9ERUZBVUxUO1xuXG4gIC8qKlxuICAgKiBUaGUgc2l6ZSBvZiB0aGUgYXZhdGFyLlxuICAgKiBBY2NlcHRhYmxlIHZhbHVlcyBhcmU6IGBcInNtYWxsXCJgLCBgXCJtZWRpdW1cImAsIGFuZCBgXCJsYXJnZVwiYC5cbiAgICogQGRlZmF1bHQgXCJsYXJnZVwiXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2l6ZTogU2t5QXZhdGFyU2l6ZSB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogRW1pdHMgYSBgU2t5RmlsZUl0ZW1gIG9iamVjdCB3aGVuIHRoZSBpbWFnZSBpcyB1cGRhdGVkLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBhdmF0YXJDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxTa3lGaWxlSXRlbT4oKTtcblxuICBwcm90ZWN0ZWQgc2l6ZURlZmF1bHQ6IE9ic2VydmFibGU8U2t5QXZhdGFyU2l6ZT4gfCB1bmRlZmluZWQ7XG5cbiAgI19jYW5DaGFuZ2UgPSBmYWxzZTtcblxuICAjX25hbWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAjX3NyYzogU2t5QXZhdGFyU3JjIHwgdW5kZWZpbmVkO1xuXG4gICNlcnJvclNlcnZpY2U6IFNreUVycm9yTW9kYWxTZXJ2aWNlO1xuICAjZmlsZVNpemVQaXBlOiBTa3lGaWxlU2l6ZVBpcGU7XG4gICNyZXNvdXJjZXNTZXJ2aWNlOiBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlO1xuXG4gICNkZWZhdWx0SW5wdXRQcm92aWRlciA9IGluamVjdChTa3lEZWZhdWx0SW5wdXRQcm92aWRlciwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBlcnJvclNlcnZpY2U6IFNreUVycm9yTW9kYWxTZXJ2aWNlLFxuICAgIGZpbGVTaXplUGlwZTogU2t5RmlsZVNpemVQaXBlLFxuICAgIHJlc291cmNlc1NlcnZpY2U6IFNreUxpYlJlc291cmNlc1NlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy4jZXJyb3JTZXJ2aWNlID0gZXJyb3JTZXJ2aWNlO1xuICAgIHRoaXMuI2ZpbGVTaXplUGlwZSA9IGZpbGVTaXplUGlwZTtcbiAgICB0aGlzLiNyZXNvdXJjZXNTZXJ2aWNlID0gcmVzb3VyY2VzU2VydmljZTtcblxuICAgIHRoaXMuc2l6ZURlZmF1bHQgPSB0aGlzLiNkZWZhdWx0SW5wdXRQcm92aWRlcj8uZ2V0VmFsdWU8U2t5QXZhdGFyU2l6ZT4oXG4gICAgICAnYXZhdGFyJyxcbiAgICAgICdzaXplJ1xuICAgICk7XG4gIH1cblxuICBwdWJsaWMgcGhvdG9Ecm9wKHJlc3VsdDogU2t5RmlsZURyb3BDaGFuZ2UpOiB2b2lkIHtcbiAgICAvKiBzYW5pdHkgY2hlY2sgKi9cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChyZXN1bHQuZmlsZXMgJiYgcmVzdWx0LmZpbGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuYXZhdGFyQ2hhbmdlZC5lbWl0KHJlc3VsdC5maWxlc1swXSk7XG4gICAgfSBlbHNlIGlmIChyZXN1bHQucmVqZWN0ZWRGaWxlcyAmJiByZXN1bHQucmVqZWN0ZWRGaWxlcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLiNoYW5kbGVFcnJvcihyZXN1bHQucmVqZWN0ZWRGaWxlcyk7XG4gICAgfVxuICB9XG5cbiAgI2hhbmRsZUVycm9yKHJlamVjdGVkRmlsZXM6IEFycmF5PFNreUZpbGVJdGVtPik6IHZvaWQge1xuICAgIGNvbnN0IHJlamVjdGVkRmlsZSA9IHJlamVjdGVkRmlsZXNbMF07XG5cbiAgICBpZiAocmVqZWN0ZWRGaWxlLmVycm9yVHlwZSA9PT0gJ21heEZpbGVTaXplJykge1xuICAgICAgY29uc3QgdGl0bGUgPSB0aGlzLiNnZXRTdHJpbmcoJ3NreXV4X2F2YXRhcl9lcnJvcl90b29fbGFyZ2VfdGl0bGUnKTtcbiAgICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gdGhpcy4jZ2V0U3RyaW5nKFxuICAgICAgICAnc2t5dXhfYXZhdGFyX2Vycm9yX3Rvb19sYXJnZV9kZXNjcmlwdGlvbicsXG4gICAgICAgIHRoaXMuI21heEZpbGVTaXplVGV4dCgpXG4gICAgICApO1xuXG4gICAgICB0aGlzLiNvcGVuRXJyb3JNb2RhbCh0aXRsZSwgZGVzY3JpcHRpb24pO1xuICAgIH0gZWxzZSBpZiAocmVqZWN0ZWRGaWxlLmVycm9yVHlwZSA9PT0gJ2ZpbGVUeXBlJykge1xuICAgICAgY29uc3QgdGl0bGUgPSB0aGlzLiNnZXRTdHJpbmcoJ3NreXV4X2F2YXRhcl9lcnJvcl9ub3RfaW1hZ2VfdGl0bGUnKTtcbiAgICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gdGhpcy4jZ2V0U3RyaW5nKFxuICAgICAgICAnc2t5dXhfYXZhdGFyX2Vycm9yX25vdF9pbWFnZV9kZXNjcmlwdGlvbidcbiAgICAgICk7XG5cbiAgICAgIHRoaXMuI29wZW5FcnJvck1vZGFsKHRpdGxlLCBkZXNjcmlwdGlvbik7XG4gICAgfVxuICB9XG5cbiAgI21heEZpbGVTaXplVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLiNmaWxlU2l6ZVBpcGUudHJhbnNmb3JtKHRoaXMubWF4RmlsZVNpemUpO1xuICB9XG5cbiAgI29wZW5FcnJvck1vZGFsKHRpdGxlOiBzdHJpbmcsIGRlc2NyaXB0aW9uOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBjb25maWc6IEVycm9yTW9kYWxDb25maWcgPSB7XG4gICAgICBlcnJvclRpdGxlOiB0aXRsZSxcbiAgICAgIGVycm9yRGVzY3JpcHRpb246IGRlc2NyaXB0aW9uLFxuICAgICAgZXJyb3JDbG9zZVRleHQ6IHRoaXMuI2dldFN0cmluZygnc2t5dXhfYXZhdGFyX2Vycm9ybW9kYWxfb2snKSxcbiAgICB9O1xuXG4gICAgdGhpcy4jZXJyb3JTZXJ2aWNlLm9wZW4oY29uZmlnKTtcbiAgfVxuXG4gICNnZXRTdHJpbmcoa2V5OiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKTogc3RyaW5nIHtcbiAgICAvLyBUT0RPOiBOZWVkIHRvIGltcGxlbWVudCB0aGUgYXN5bmMgYGdldFN0cmluZ2AgbWV0aG9kIGluIGEgYnJlYWtpbmcgY2hhbmdlLlxuICAgIHJldHVybiB0aGlzLiNyZXNvdXJjZXNTZXJ2aWNlLmdldFN0cmluZ0ZvckxvY2FsZShcbiAgICAgIHsgbG9jYWxlOiAnZW4tVVMnIH0sXG4gICAgICBrZXksXG4gICAgICAuLi5hcmdzXG4gICAgKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInNreS1hdmF0YXJcIj5cbiAgPGRpdiAqbmdJZj1cImNhbkNoYW5nZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJza3ktYXZhdGFyLWZpbGUtZHJvcFwiPlxuICAgICAgPHNreS1maWxlLWRyb3BcbiAgICAgICAgW2FjY2VwdGVkVHlwZXNdPVwiJ2ltYWdlLyonXCJcbiAgICAgICAgW2ZpbGVVcGxvYWRBcmlhTGFiZWxdPVwiXG4gICAgICAgICAgc3JjXG4gICAgICAgICAgICA/ICgnc2t5dXhfYXZhdGFyX3VwbG9hZF9jaGFuZ2VfYXJpYV9sYWJlbCcgfCBza3lMaWJSZXNvdXJjZXMgOiBuYW1lKVxuICAgICAgICAgICAgOiAoJ3NreXV4X2F2YXRhcl91cGxvYWRfbmV3X2FyaWFfbGFiZWwnIHwgc2t5TGliUmVzb3VyY2VzIDogbmFtZSlcbiAgICAgICAgXCJcbiAgICAgICAgW211bHRpcGxlXT1cImZhbHNlXCJcbiAgICAgICAgW21heEZpbGVTaXplXT1cIm1heEZpbGVTaXplXCJcbiAgICAgICAgW211bHRpcGxlXT1cImZhbHNlXCJcbiAgICAgICAgKGZpbGVzQ2hhbmdlZCk9XCJwaG90b0Ryb3AoJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpbm5lclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L3NreS1maWxlLWRyb3A+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwiIWNhbkNoYW5nZVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpbm5lclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjaW5uZXJUZW1wbGF0ZT5cbiAgPHNreS1hdmF0YXItaW5uZXJcbiAgICBbbmFtZV09XCJuYW1lXCJcbiAgICBbc2l6ZV09XCJzaXplID8/IChzaXplRGVmYXVsdCB8IGFzeW5jKSA/PyAnbGFyZ2UnXCJcbiAgICBbc3JjXT1cInNyY1wiXG4gID48L3NreS1hdmF0YXItaW5uZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as i4 from '@angular/common';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { NgModule, Injectable, Component, ViewEncapsulation, Input, EventEmitter, Output } from '@angular/core';
|
|
4
|
+
import { NgModule, Injectable, Component, ViewEncapsulation, Input, EventEmitter, inject, Output } from '@angular/core';
|
|
5
5
|
import * as i1 from '@skyux/errors';
|
|
6
6
|
import { SkyErrorModule } from '@skyux/errors';
|
|
7
|
-
import * as i2
|
|
7
|
+
import * as i2 from '@skyux/forms';
|
|
8
8
|
import { SkyFileAttachmentsModule, SkyFileSizePipe } from '@skyux/forms';
|
|
9
9
|
import * as i3$1 from '@skyux/i18n';
|
|
10
10
|
import { getLibStringForLocale, SkyI18nModule, SKY_LIB_RESOURCES_PROVIDERS } from '@skyux/i18n';
|
|
11
11
|
import * as i3 from '@skyux/theme';
|
|
12
12
|
import { SkyThemeModule } from '@skyux/theme';
|
|
13
13
|
import { __classPrivateFieldGet, __classPrivateFieldSet } from 'tslib';
|
|
14
|
+
import { SkyDefaultInputProvider } from '@skyux/core';
|
|
14
15
|
|
|
15
16
|
/**
|
|
16
17
|
* NOTICE: DO NOT MODIFY THIS FILE!
|
|
@@ -187,7 +188,7 @@ _SkyAvatarInnerComponent_viewInitialized = new WeakMap(), _SkyAvatarInnerCompone
|
|
|
187
188
|
}
|
|
188
189
|
};
|
|
189
190
|
SkyAvatarInnerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAvatarInnerComponent, deps: [{ token: i0.ElementRef }, { token: SkyAvatarAdapterService }], target: i0.ɵɵFactoryTarget.Component });
|
|
190
|
-
SkyAvatarInnerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SkyAvatarInnerComponent, selector: "sky-avatar-inner", inputs: { src: "src", name: "name", size: "size" }, providers: [SkyAvatarAdapterService], ngImport: i0, template: "<div\n class=\"sky-elevation-1 sky-avatar-wrapper\"\n [ngClass]=\"'sky-avatar-wrapper-size-' + size\"\n>\n <div class=\"sky-avatar-image\" [hidden]=\"!src\"></div>\n <div *ngIf=\"src\" class=\"sky-screen-reader-only\">\n {{ 'skyux_avatar_inner_description' | skyLibResources : name }}\n </div>\n <div\n class=\"sky-avatar-initials\"\n [hidden]=\"src || !name\"\n [ngClass]=\"'sky-palette-multi-' + (colorIndex + 1)\"\n >\n <div\n *ngIf=\"size === 'small'\"\n class=\"sky-avatar-initials-inner\"\n [skyThemeClass]=\"{\n 'sky-font-body-sm': 'modern'\n }\"\n >\n {{ initials }}\n </div>\n <div\n *ngIf=\"size === 'medium'\"\n class=\"sky-avatar-initials-inner\"\n [skyThemeClass]=\"{\n 'sky-font-display-3': 'modern'\n }\"\n >\n {{ initials }}\n </div>\n <div\n *ngIf=\"size === 'large'\"\n class=\"sky-avatar-initials-inner\"\n [skyThemeClass]=\"{\n 'sky-font-display-2': 'modern'\n }\"\n >\n {{ initials }}\n </div>\n </div>\n</div>\n", styles: [".sky-avatar-wrapper{height:104px;width:104px;border:solid 2px transparent;border-radius:50%;overflow:hidden;position:relative;top:-2px;left:-2px}.sky-avatar-image,.sky-avatar-initials{height:100px;width:100px;background-position:50%;background-size:cover;display:flex;align-items:center;justify-content:center}.sky-avatar-initials{font-size:50px}.sky-avatar-initials-inner{color:#fff;cursor:default;-webkit-user-select:none;user-select:none}.sky-avatar-wrapper-size-medium{height:69px;width:69px}.sky-avatar-wrapper-size-medium .sky-avatar-image,.sky-avatar-wrapper-size-medium .sky-avatar-initials{height:65px;width:65px}.sky-avatar-wrapper-size-medium .sky-avatar-initials{font-size:32.5px}.sky-avatar-wrapper-size-small{height:36px;width:36px}.sky-avatar-wrapper-size-small .sky-avatar-image,.sky-avatar-wrapper-size-small .sky-avatar-initials{height:32px;width:32px}.sky-avatar-wrapper-size-small .sky-avatar-initials{font-size:16px}.sky-file-drop .sky-avatar-wrapper{cursor:pointer}.sky-file-drop-accept .sky-avatar-wrapper{border-color:#72bf44;border-style:dashed}.sky-file-drop-reject .sky-avatar-wrapper{border-color:#ef4044;border-style:dashed}.sky-theme-modern .sky-avatar-wrapper{height:100px;width:100px;background-color:#fff;border-width:0;padding:5px;top:0;left:0}.sky-theme-modern .sky-avatar-image,.sky-theme-modern .sky-avatar-initials{border-radius:50%;height:90px;width:90px}.sky-theme-modern .sky-avatar-initials-inner{color:#212327}.sky-theme-modern .sky-file-drop-accept .sky-avatar-wrapper,.sky-theme-modern .sky-file-drop-reject .sky-avatar-wrapper{border-width:2px;padding:3px}.sky-theme-modern .sky-file-drop-accept .sky-avatar-wrapper-size-medium,.sky-theme-modern .sky-file-drop-reject .sky-avatar-wrapper-size-medium{padding:1px}.sky-theme-modern .sky-file-drop-accept .sky-avatar-wrapper-size-small,.sky-theme-modern .sky-file-drop-reject .sky-avatar-wrapper-size-small{padding:0}.sky-theme-modern .sky-avatar-wrapper-size-medium{padding:3px;height:65px;width:65px}.sky-theme-modern .sky-avatar-wrapper-size-medium .sky-avatar-image,.sky-theme-modern .sky-avatar-wrapper-size-medium .sky-avatar-initials{height:59px;width:59px}.sky-theme-modern .sky-avatar-wrapper-size-small{padding:2px;height:32px;width:32px}.sky-theme-modern .sky-avatar-wrapper-size-small .sky-avatar-image,.sky-theme-modern .sky-avatar-wrapper-size-small .sky-avatar-initials{height:28px;width:28px}.sky-theme-modern sky-file-drop:hover .sky-avatar-wrapper{border:solid 1px #1870B8;padding:4px}.sky-theme-modern sky-file-drop:hover .sky-avatar-wrapper.sky-avatar-wrapper-size-medium{padding:2px}.sky-theme-modern sky-file-drop:hover .sky-avatar-wrapper.sky-avatar-wrapper-size-small{padding:1px}.sky-theme-modern sky-file-drop:active .sky-avatar-wrapper,.sky-theme-modern sky-file-drop:focus-within .sky-avatar-wrapper{border:solid 2px #1870B8;padding:3px}.sky-theme-modern sky-file-drop:active .sky-avatar-wrapper.sky-avatar-wrapper-size-medium,.sky-theme-modern sky-file-drop:focus-within .sky-avatar-wrapper.sky-avatar-wrapper-size-medium{padding:1px}.sky-theme-modern sky-file-drop:active .sky-avatar-wrapper.sky-avatar-wrapper-size-small,.sky-theme-modern sky-file-drop:focus-within .sky-avatar-wrapper.sky-avatar-wrapper-size-small{padding:0}.sky-theme-modern sky-file-drop:focus-within:not(:active) .sky-avatar-wrapper{box-shadow:0 1px 8px #0000004d}.sky-theme-modern.sky-theme-mode-dark .sky-avatar-wrapper{background-color:transparent}.sky-theme-modern.sky-theme-mode-dark .sky-avatar-initials-inner{color:#212327}\n"], dependencies: [{ kind: "directive", type:
|
|
191
|
+
SkyAvatarInnerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SkyAvatarInnerComponent, selector: "sky-avatar-inner", inputs: { src: "src", name: "name", size: "size" }, providers: [SkyAvatarAdapterService], ngImport: i0, template: "<div\n class=\"sky-elevation-1 sky-avatar-wrapper\"\n [ngClass]=\"'sky-avatar-wrapper-size-' + size\"\n>\n <div class=\"sky-avatar-image\" [hidden]=\"!src\"></div>\n <div *ngIf=\"src\" class=\"sky-screen-reader-only\">\n {{ 'skyux_avatar_inner_description' | skyLibResources : name }}\n </div>\n <div\n class=\"sky-avatar-initials\"\n [hidden]=\"src || !name\"\n [ngClass]=\"'sky-palette-multi-' + (colorIndex + 1)\"\n >\n <div\n *ngIf=\"size === 'small'\"\n class=\"sky-avatar-initials-inner\"\n [skyThemeClass]=\"{\n 'sky-font-body-sm': 'modern'\n }\"\n >\n {{ initials }}\n </div>\n <div\n *ngIf=\"size === 'medium'\"\n class=\"sky-avatar-initials-inner\"\n [skyThemeClass]=\"{\n 'sky-font-display-3': 'modern'\n }\"\n >\n {{ initials }}\n </div>\n <div\n *ngIf=\"size === 'large'\"\n class=\"sky-avatar-initials-inner\"\n [skyThemeClass]=\"{\n 'sky-font-display-2': 'modern'\n }\"\n >\n {{ initials }}\n </div>\n </div>\n</div>\n", styles: [".sky-avatar-wrapper{height:104px;width:104px;border:solid 2px transparent;border-radius:50%;overflow:hidden;position:relative;top:-2px;left:-2px}.sky-avatar-image,.sky-avatar-initials{height:100px;width:100px;background-position:50%;background-size:cover;display:flex;align-items:center;justify-content:center}.sky-avatar-initials{font-size:50px}.sky-avatar-initials-inner{color:#fff;cursor:default;-webkit-user-select:none;user-select:none}.sky-avatar-wrapper-size-medium{height:69px;width:69px}.sky-avatar-wrapper-size-medium .sky-avatar-image,.sky-avatar-wrapper-size-medium .sky-avatar-initials{height:65px;width:65px}.sky-avatar-wrapper-size-medium .sky-avatar-initials{font-size:32.5px}.sky-avatar-wrapper-size-small{height:36px;width:36px}.sky-avatar-wrapper-size-small .sky-avatar-image,.sky-avatar-wrapper-size-small .sky-avatar-initials{height:32px;width:32px}.sky-avatar-wrapper-size-small .sky-avatar-initials{font-size:16px}.sky-file-drop .sky-avatar-wrapper{cursor:pointer}.sky-file-drop-accept .sky-avatar-wrapper{border-color:#72bf44;border-style:dashed}.sky-file-drop-reject .sky-avatar-wrapper{border-color:#ef4044;border-style:dashed}.sky-theme-modern .sky-avatar-wrapper{height:100px;width:100px;background-color:#fff;border-width:0;padding:5px;top:0;left:0}.sky-theme-modern .sky-avatar-image,.sky-theme-modern .sky-avatar-initials{border-radius:50%;height:90px;width:90px}.sky-theme-modern .sky-avatar-initials-inner{color:#212327}.sky-theme-modern .sky-file-drop-accept .sky-avatar-wrapper,.sky-theme-modern .sky-file-drop-reject .sky-avatar-wrapper{border-width:2px;padding:3px}.sky-theme-modern .sky-file-drop-accept .sky-avatar-wrapper-size-medium,.sky-theme-modern .sky-file-drop-reject .sky-avatar-wrapper-size-medium{padding:1px}.sky-theme-modern .sky-file-drop-accept .sky-avatar-wrapper-size-small,.sky-theme-modern .sky-file-drop-reject .sky-avatar-wrapper-size-small{padding:0}.sky-theme-modern .sky-avatar-wrapper-size-medium{padding:3px;height:65px;width:65px}.sky-theme-modern .sky-avatar-wrapper-size-medium .sky-avatar-image,.sky-theme-modern .sky-avatar-wrapper-size-medium .sky-avatar-initials{height:59px;width:59px}.sky-theme-modern .sky-avatar-wrapper-size-small{padding:2px;height:32px;width:32px}.sky-theme-modern .sky-avatar-wrapper-size-small .sky-avatar-image,.sky-theme-modern .sky-avatar-wrapper-size-small .sky-avatar-initials{height:28px;width:28px}.sky-theme-modern sky-file-drop:hover .sky-avatar-wrapper{border:solid 1px #1870B8;padding:4px}.sky-theme-modern sky-file-drop:hover .sky-avatar-wrapper.sky-avatar-wrapper-size-medium{padding:2px}.sky-theme-modern sky-file-drop:hover .sky-avatar-wrapper.sky-avatar-wrapper-size-small{padding:1px}.sky-theme-modern sky-file-drop:active .sky-avatar-wrapper,.sky-theme-modern sky-file-drop:focus-within .sky-avatar-wrapper{border:solid 2px #1870B8;padding:3px}.sky-theme-modern sky-file-drop:active .sky-avatar-wrapper.sky-avatar-wrapper-size-medium,.sky-theme-modern sky-file-drop:focus-within .sky-avatar-wrapper.sky-avatar-wrapper-size-medium{padding:1px}.sky-theme-modern sky-file-drop:active .sky-avatar-wrapper.sky-avatar-wrapper-size-small,.sky-theme-modern sky-file-drop:focus-within .sky-avatar-wrapper.sky-avatar-wrapper-size-small{padding:0}.sky-theme-modern sky-file-drop:focus-within:not(:active) .sky-avatar-wrapper{box-shadow:0 1px 8px #0000004d}.sky-theme-modern.sky-theme-mode-dark .sky-avatar-wrapper{background-color:transparent}.sky-theme-modern.sky-theme-mode-dark .sky-avatar-initials-inner{color:#212327}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { kind: "pipe", type: i3$1.SkyLibResourcesPipe, name: "skyLibResources" }], encapsulation: i0.ViewEncapsulation.None });
|
|
191
192
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAvatarInnerComponent, decorators: [{
|
|
192
193
|
type: Component,
|
|
193
194
|
args: [{ selector: 'sky-avatar-inner', providers: [SkyAvatarAdapterService], encapsulation: ViewEncapsulation.None, template: "<div\n class=\"sky-elevation-1 sky-avatar-wrapper\"\n [ngClass]=\"'sky-avatar-wrapper-size-' + size\"\n>\n <div class=\"sky-avatar-image\" [hidden]=\"!src\"></div>\n <div *ngIf=\"src\" class=\"sky-screen-reader-only\">\n {{ 'skyux_avatar_inner_description' | skyLibResources : name }}\n </div>\n <div\n class=\"sky-avatar-initials\"\n [hidden]=\"src || !name\"\n [ngClass]=\"'sky-palette-multi-' + (colorIndex + 1)\"\n >\n <div\n *ngIf=\"size === 'small'\"\n class=\"sky-avatar-initials-inner\"\n [skyThemeClass]=\"{\n 'sky-font-body-sm': 'modern'\n }\"\n >\n {{ initials }}\n </div>\n <div\n *ngIf=\"size === 'medium'\"\n class=\"sky-avatar-initials-inner\"\n [skyThemeClass]=\"{\n 'sky-font-display-3': 'modern'\n }\"\n >\n {{ initials }}\n </div>\n <div\n *ngIf=\"size === 'large'\"\n class=\"sky-avatar-initials-inner\"\n [skyThemeClass]=\"{\n 'sky-font-display-2': 'modern'\n }\"\n >\n {{ initials }}\n </div>\n </div>\n</div>\n", styles: [".sky-avatar-wrapper{height:104px;width:104px;border:solid 2px transparent;border-radius:50%;overflow:hidden;position:relative;top:-2px;left:-2px}.sky-avatar-image,.sky-avatar-initials{height:100px;width:100px;background-position:50%;background-size:cover;display:flex;align-items:center;justify-content:center}.sky-avatar-initials{font-size:50px}.sky-avatar-initials-inner{color:#fff;cursor:default;-webkit-user-select:none;user-select:none}.sky-avatar-wrapper-size-medium{height:69px;width:69px}.sky-avatar-wrapper-size-medium .sky-avatar-image,.sky-avatar-wrapper-size-medium .sky-avatar-initials{height:65px;width:65px}.sky-avatar-wrapper-size-medium .sky-avatar-initials{font-size:32.5px}.sky-avatar-wrapper-size-small{height:36px;width:36px}.sky-avatar-wrapper-size-small .sky-avatar-image,.sky-avatar-wrapper-size-small .sky-avatar-initials{height:32px;width:32px}.sky-avatar-wrapper-size-small .sky-avatar-initials{font-size:16px}.sky-file-drop .sky-avatar-wrapper{cursor:pointer}.sky-file-drop-accept .sky-avatar-wrapper{border-color:#72bf44;border-style:dashed}.sky-file-drop-reject .sky-avatar-wrapper{border-color:#ef4044;border-style:dashed}.sky-theme-modern .sky-avatar-wrapper{height:100px;width:100px;background-color:#fff;border-width:0;padding:5px;top:0;left:0}.sky-theme-modern .sky-avatar-image,.sky-theme-modern .sky-avatar-initials{border-radius:50%;height:90px;width:90px}.sky-theme-modern .sky-avatar-initials-inner{color:#212327}.sky-theme-modern .sky-file-drop-accept .sky-avatar-wrapper,.sky-theme-modern .sky-file-drop-reject .sky-avatar-wrapper{border-width:2px;padding:3px}.sky-theme-modern .sky-file-drop-accept .sky-avatar-wrapper-size-medium,.sky-theme-modern .sky-file-drop-reject .sky-avatar-wrapper-size-medium{padding:1px}.sky-theme-modern .sky-file-drop-accept .sky-avatar-wrapper-size-small,.sky-theme-modern .sky-file-drop-reject .sky-avatar-wrapper-size-small{padding:0}.sky-theme-modern .sky-avatar-wrapper-size-medium{padding:3px;height:65px;width:65px}.sky-theme-modern .sky-avatar-wrapper-size-medium .sky-avatar-image,.sky-theme-modern .sky-avatar-wrapper-size-medium .sky-avatar-initials{height:59px;width:59px}.sky-theme-modern .sky-avatar-wrapper-size-small{padding:2px;height:32px;width:32px}.sky-theme-modern .sky-avatar-wrapper-size-small .sky-avatar-image,.sky-theme-modern .sky-avatar-wrapper-size-small .sky-avatar-initials{height:28px;width:28px}.sky-theme-modern sky-file-drop:hover .sky-avatar-wrapper{border:solid 1px #1870B8;padding:4px}.sky-theme-modern sky-file-drop:hover .sky-avatar-wrapper.sky-avatar-wrapper-size-medium{padding:2px}.sky-theme-modern sky-file-drop:hover .sky-avatar-wrapper.sky-avatar-wrapper-size-small{padding:1px}.sky-theme-modern sky-file-drop:active .sky-avatar-wrapper,.sky-theme-modern sky-file-drop:focus-within .sky-avatar-wrapper{border:solid 2px #1870B8;padding:3px}.sky-theme-modern sky-file-drop:active .sky-avatar-wrapper.sky-avatar-wrapper-size-medium,.sky-theme-modern sky-file-drop:focus-within .sky-avatar-wrapper.sky-avatar-wrapper-size-medium{padding:1px}.sky-theme-modern sky-file-drop:active .sky-avatar-wrapper.sky-avatar-wrapper-size-small,.sky-theme-modern sky-file-drop:focus-within .sky-avatar-wrapper.sky-avatar-wrapper-size-small{padding:0}.sky-theme-modern sky-file-drop:focus-within:not(:active) .sky-avatar-wrapper{box-shadow:0 1px 8px #0000004d}.sky-theme-modern.sky-theme-mode-dark .sky-avatar-wrapper{background-color:transparent}.sky-theme-modern.sky-theme-mode-dark .sky-avatar-initials-inner{color:#212327}\n"] }]
|
|
@@ -202,7 +203,7 @@ function getInitial(name) {
|
|
|
202
203
|
return name.charAt(0).toUpperCase();
|
|
203
204
|
}
|
|
204
205
|
|
|
205
|
-
var _SkyAvatarComponent_instances, _SkyAvatarComponent__canChange, _SkyAvatarComponent__name,
|
|
206
|
+
var _SkyAvatarComponent_instances, _SkyAvatarComponent__canChange, _SkyAvatarComponent__name, _SkyAvatarComponent__src, _SkyAvatarComponent_errorService, _SkyAvatarComponent_fileSizePipe, _SkyAvatarComponent_resourcesService, _SkyAvatarComponent_defaultInputProvider, _SkyAvatarComponent_handleError, _SkyAvatarComponent_maxFileSizeText, _SkyAvatarComponent_openErrorModal, _SkyAvatarComponent_getString;
|
|
206
207
|
const MAX_FILE_SIZE_DEFAULT = 500000;
|
|
207
208
|
class SkyAvatarComponent {
|
|
208
209
|
/**
|
|
@@ -242,18 +243,8 @@ class SkyAvatarComponent {
|
|
|
242
243
|
get src() {
|
|
243
244
|
return __classPrivateFieldGet(this, _SkyAvatarComponent__src, "f");
|
|
244
245
|
}
|
|
245
|
-
/**
|
|
246
|
-
* The size of the avatar.
|
|
247
|
-
* Acceptable values are: `"small"`, `"medium"`, and `"large"`.
|
|
248
|
-
* @default "large"
|
|
249
|
-
*/
|
|
250
|
-
set size(value) {
|
|
251
|
-
__classPrivateFieldSet(this, _SkyAvatarComponent__size, value !== null && value !== void 0 ? value : 'large', "f");
|
|
252
|
-
}
|
|
253
|
-
get size() {
|
|
254
|
-
return __classPrivateFieldGet(this, _SkyAvatarComponent__size, "f");
|
|
255
|
-
}
|
|
256
246
|
constructor(errorService, fileSizePipe, resourcesService) {
|
|
247
|
+
var _a;
|
|
257
248
|
_SkyAvatarComponent_instances.add(this);
|
|
258
249
|
/**
|
|
259
250
|
* The maximum file size for the image in bytes.
|
|
@@ -266,14 +257,15 @@ class SkyAvatarComponent {
|
|
|
266
257
|
this.avatarChanged = new EventEmitter();
|
|
267
258
|
_SkyAvatarComponent__canChange.set(this, false);
|
|
268
259
|
_SkyAvatarComponent__name.set(this, void 0);
|
|
269
|
-
_SkyAvatarComponent__size.set(this, 'large');
|
|
270
260
|
_SkyAvatarComponent__src.set(this, void 0);
|
|
271
261
|
_SkyAvatarComponent_errorService.set(this, void 0);
|
|
272
262
|
_SkyAvatarComponent_fileSizePipe.set(this, void 0);
|
|
273
263
|
_SkyAvatarComponent_resourcesService.set(this, void 0);
|
|
264
|
+
_SkyAvatarComponent_defaultInputProvider.set(this, inject(SkyDefaultInputProvider, { optional: true }));
|
|
274
265
|
__classPrivateFieldSet(this, _SkyAvatarComponent_errorService, errorService, "f");
|
|
275
266
|
__classPrivateFieldSet(this, _SkyAvatarComponent_fileSizePipe, fileSizePipe, "f");
|
|
276
267
|
__classPrivateFieldSet(this, _SkyAvatarComponent_resourcesService, resourcesService, "f");
|
|
268
|
+
this.sizeDefault = (_a = __classPrivateFieldGet(this, _SkyAvatarComponent_defaultInputProvider, "f")) === null || _a === void 0 ? void 0 : _a.getValue('avatar', 'size');
|
|
277
269
|
}
|
|
278
270
|
photoDrop(result) {
|
|
279
271
|
/* sanity check */
|
|
@@ -286,7 +278,7 @@ class SkyAvatarComponent {
|
|
|
286
278
|
}
|
|
287
279
|
}
|
|
288
280
|
}
|
|
289
|
-
_SkyAvatarComponent__canChange = new WeakMap(), _SkyAvatarComponent__name = new WeakMap(),
|
|
281
|
+
_SkyAvatarComponent__canChange = new WeakMap(), _SkyAvatarComponent__name = new WeakMap(), _SkyAvatarComponent__src = new WeakMap(), _SkyAvatarComponent_errorService = new WeakMap(), _SkyAvatarComponent_fileSizePipe = new WeakMap(), _SkyAvatarComponent_resourcesService = new WeakMap(), _SkyAvatarComponent_defaultInputProvider = new WeakMap(), _SkyAvatarComponent_instances = new WeakSet(), _SkyAvatarComponent_handleError = function _SkyAvatarComponent_handleError(rejectedFiles) {
|
|
290
282
|
const rejectedFile = rejectedFiles[0];
|
|
291
283
|
if (rejectedFile.errorType === 'maxFileSize') {
|
|
292
284
|
const title = __classPrivateFieldGet(this, _SkyAvatarComponent_instances, "m", _SkyAvatarComponent_getString).call(this, 'skyux_avatar_error_too_large_title');
|
|
@@ -311,12 +303,12 @@ _SkyAvatarComponent__canChange = new WeakMap(), _SkyAvatarComponent__name = new
|
|
|
311
303
|
// TODO: Need to implement the async `getString` method in a breaking change.
|
|
312
304
|
return __classPrivateFieldGet(this, _SkyAvatarComponent_resourcesService, "f").getStringForLocale({ locale: 'en-US' }, key, ...args);
|
|
313
305
|
};
|
|
314
|
-
SkyAvatarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAvatarComponent, deps: [{ token: i1.SkyErrorModalService }, { token: i2
|
|
315
|
-
SkyAvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SkyAvatarComponent, selector: "sky-avatar", inputs: { canChange: "canChange", name: "name", src: "src", maxFileSize: "maxFileSize", size: "size" }, outputs: { avatarChanged: "avatarChanged" }, ngImport: i0, template: "<div class=\"sky-avatar\">\n <div *ngIf=\"canChange\">\n <div class=\"sky-avatar-file-drop\">\n <sky-file-drop\n [acceptedTypes]=\"'image/*'\"\n [fileUploadAriaLabel]=\"\n src\n ? ('skyux_avatar_upload_change_aria_label' | skyLibResources : name)\n : ('skyux_avatar_upload_new_aria_label' | skyLibResources : name)\n \"\n [multiple]=\"false\"\n [maxFileSize]=\"maxFileSize\"\n [multiple]=\"false\"\n (filesChanged)=\"photoDrop($event)\"\n >\n <ng-container *ngTemplateOutlet=\"innerTemplate\"></ng-container>\n </sky-file-drop>\n </div>\n </div>\n <div *ngIf=\"!canChange\">\n <ng-container *ngTemplateOutlet=\"innerTemplate\"></ng-container>\n </div>\n</div>\n\n<ng-template #innerTemplate>\n <sky-avatar-inner
|
|
306
|
+
SkyAvatarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAvatarComponent, deps: [{ token: i1.SkyErrorModalService }, { token: i2.SkyFileSizePipe }, { token: i3$1.SkyLibResourcesService }], target: i0.ɵɵFactoryTarget.Component });
|
|
307
|
+
SkyAvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SkyAvatarComponent, selector: "sky-avatar", inputs: { canChange: "canChange", name: "name", src: "src", maxFileSize: "maxFileSize", size: "size" }, outputs: { avatarChanged: "avatarChanged" }, ngImport: i0, template: "<div class=\"sky-avatar\">\n <div *ngIf=\"canChange\">\n <div class=\"sky-avatar-file-drop\">\n <sky-file-drop\n [acceptedTypes]=\"'image/*'\"\n [fileUploadAriaLabel]=\"\n src\n ? ('skyux_avatar_upload_change_aria_label' | skyLibResources : name)\n : ('skyux_avatar_upload_new_aria_label' | skyLibResources : name)\n \"\n [multiple]=\"false\"\n [maxFileSize]=\"maxFileSize\"\n [multiple]=\"false\"\n (filesChanged)=\"photoDrop($event)\"\n >\n <ng-container *ngTemplateOutlet=\"innerTemplate\"></ng-container>\n </sky-file-drop>\n </div>\n </div>\n <div *ngIf=\"!canChange\">\n <ng-container *ngTemplateOutlet=\"innerTemplate\"></ng-container>\n </div>\n</div>\n\n<ng-template #innerTemplate>\n <sky-avatar-inner\n [name]=\"name\"\n [size]=\"size ?? (sizeDefault | async) ?? 'large'\"\n [src]=\"src\"\n ></sky-avatar-inner>\n</ng-template>\n", styles: [".sky-avatar .sky-file-drop-col{flex-basis:initial}.sky-theme-modern .sky-file-drop:focus{outline:none}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.λ8, selector: "sky-file-drop", inputs: ["fileUploadAriaLabel", "linkUploadAriaLabel", "minFileSize", "maxFileSize", "multiple", "validateFn", "acceptedTypes", "noClick", "allowLinks"], outputs: ["filesChanged", "linkInputBlur", "linkChanged"] }, { kind: "component", type: SkyAvatarInnerComponent, selector: "sky-avatar-inner", inputs: ["src", "name", "size"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i3$1.SkyLibResourcesPipe, name: "skyLibResources" }], encapsulation: i0.ViewEncapsulation.None });
|
|
316
308
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAvatarComponent, decorators: [{
|
|
317
309
|
type: Component,
|
|
318
|
-
args: [{ selector: 'sky-avatar', encapsulation: ViewEncapsulation.None, template: "<div class=\"sky-avatar\">\n <div *ngIf=\"canChange\">\n <div class=\"sky-avatar-file-drop\">\n <sky-file-drop\n [acceptedTypes]=\"'image/*'\"\n [fileUploadAriaLabel]=\"\n src\n ? ('skyux_avatar_upload_change_aria_label' | skyLibResources : name)\n : ('skyux_avatar_upload_new_aria_label' | skyLibResources : name)\n \"\n [multiple]=\"false\"\n [maxFileSize]=\"maxFileSize\"\n [multiple]=\"false\"\n (filesChanged)=\"photoDrop($event)\"\n >\n <ng-container *ngTemplateOutlet=\"innerTemplate\"></ng-container>\n </sky-file-drop>\n </div>\n </div>\n <div *ngIf=\"!canChange\">\n <ng-container *ngTemplateOutlet=\"innerTemplate\"></ng-container>\n </div>\n</div>\n\n<ng-template #innerTemplate>\n <sky-avatar-inner
|
|
319
|
-
}], ctorParameters: function () { return [{ type: i1.SkyErrorModalService }, { type: i2
|
|
310
|
+
args: [{ selector: 'sky-avatar', encapsulation: ViewEncapsulation.None, template: "<div class=\"sky-avatar\">\n <div *ngIf=\"canChange\">\n <div class=\"sky-avatar-file-drop\">\n <sky-file-drop\n [acceptedTypes]=\"'image/*'\"\n [fileUploadAriaLabel]=\"\n src\n ? ('skyux_avatar_upload_change_aria_label' | skyLibResources : name)\n : ('skyux_avatar_upload_new_aria_label' | skyLibResources : name)\n \"\n [multiple]=\"false\"\n [maxFileSize]=\"maxFileSize\"\n [multiple]=\"false\"\n (filesChanged)=\"photoDrop($event)\"\n >\n <ng-container *ngTemplateOutlet=\"innerTemplate\"></ng-container>\n </sky-file-drop>\n </div>\n </div>\n <div *ngIf=\"!canChange\">\n <ng-container *ngTemplateOutlet=\"innerTemplate\"></ng-container>\n </div>\n</div>\n\n<ng-template #innerTemplate>\n <sky-avatar-inner\n [name]=\"name\"\n [size]=\"size ?? (sizeDefault | async) ?? 'large'\"\n [src]=\"src\"\n ></sky-avatar-inner>\n</ng-template>\n", styles: [".sky-avatar .sky-file-drop-col{flex-basis:initial}.sky-theme-modern .sky-file-drop:focus{outline:none}\n"] }]
|
|
311
|
+
}], ctorParameters: function () { return [{ type: i1.SkyErrorModalService }, { type: i2.SkyFileSizePipe }, { type: i3$1.SkyLibResourcesService }]; }, propDecorators: { canChange: [{
|
|
320
312
|
type: Input
|
|
321
313
|
}], name: [{
|
|
322
314
|
type: Input
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skyux-avatar.mjs","sources":["../../../../../libs/components/avatar/src/lib/modules/shared/sky-avatar-resources.module.ts","../../../../../libs/components/avatar/src/lib/modules/avatar/avatar-adapter.service.ts","../../../../../libs/components/avatar/src/lib/modules/avatar/avatar.inner.component.ts","../../../../../libs/components/avatar/src/lib/modules/avatar/avatar.inner.component.html","../../../../../libs/components/avatar/src/lib/modules/avatar/avatar.component.ts","../../../../../libs/components/avatar/src/lib/modules/avatar/avatar.component.html","../../../../../libs/components/avatar/src/lib/modules/avatar/avatar.module.ts","../../../../../libs/components/avatar/src/skyux-avatar.ts"],"sourcesContent":["/**\n * NOTICE: DO NOT MODIFY THIS FILE!\n * The contents of this file were automatically generated by\n * the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-avatar' schematic.\n * To update this file, simply rerun the command.\n */\nimport { NgModule } from '@angular/core';\nimport {\n SKY_LIB_RESOURCES_PROVIDERS,\n SkyAppLocaleInfo,\n SkyI18nModule,\n SkyLibResources,\n SkyLibResourcesProvider,\n getLibStringForLocale,\n} from '@skyux/i18n';\n\nconst RESOURCES: { [locale: string]: SkyLibResources } = {\n 'EN-US': {\n skyux_avatar_error_not_image_description: {\n message: 'Please choose a file that is a valid image.',\n },\n skyux_avatar_error_not_image_title: { message: 'File is not an image.' },\n skyux_avatar_error_too_large_description: {\n message: 'Please choose an image that is less than {0}.',\n },\n skyux_avatar_error_too_large_title: { message: 'File is too large.' },\n skyux_avatar_errormodal_ok: { message: 'OK' },\n skyux_avatar_inner_description: { message: 'Profile picture of {0}' },\n skyux_avatar_upload_change_aria_label: {\n message:\n 'Change profile photo of {0}. Drag a file here or click to browse.',\n },\n skyux_avatar_upload_new_aria_label: {\n message: 'Add profile photo of {0}. Drag a file here or click to browse.',\n },\n },\n};\n\nexport class SkyAvatarResourcesProvider implements SkyLibResourcesProvider {\n public getString(\n localeInfo: SkyAppLocaleInfo,\n name: string\n ): string | undefined {\n return getLibStringForLocale(RESOURCES, localeInfo.locale, name);\n }\n}\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n exports: [SkyI18nModule],\n providers: [\n {\n provide: SKY_LIB_RESOURCES_PROVIDERS,\n useClass: SkyAvatarResourcesProvider,\n multi: true,\n },\n ],\n})\nexport class SkyAvatarResourcesModule {}\n","import { ElementRef, Injectable } from '@angular/core';\n\nimport { SkyAvatarSrc } from './avatar-src';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyAvatarAdapterService {\n #blobUrl: string | undefined;\n\n public updateImage(elementRef: ElementRef, src: SkyAvatarSrc) {\n this.#revokeBlobUrl();\n\n const el = elementRef.nativeElement;\n\n /*istanbul ignore else */\n if (el) {\n const imageEl = el.querySelector('.sky-avatar-image');\n\n /*istanbul ignore else */\n if (imageEl) {\n let url = src;\n\n if (src instanceof File || src instanceof Blob) {\n url = this.#createBlobUrl(src);\n }\n\n // Notice the quotes inside the `url` function. This ensures proper url escaping.\n imageEl.style.backgroundImage = 'url(\"' + url + '\")';\n }\n }\n }\n\n public destroy() {\n this.#revokeBlobUrl();\n }\n\n #createBlobUrl(src: Blob | File) {\n const url = URL.createObjectURL(src);\n\n // Keep the last blob URL around so we can revoke it later.\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL\n this.#blobUrl = url;\n return url;\n }\n\n #revokeBlobUrl() {\n if (this.#blobUrl) {\n URL.revokeObjectURL(this.#blobUrl);\n this.#blobUrl = undefined;\n }\n }\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n Input,\n OnDestroy,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { SkyAvatarAdapterService } from './avatar-adapter.service';\nimport { SkyAvatarSize } from './avatar-size';\nimport { SkyAvatarSrc } from './avatar-src';\n\n/**\n * @internal\n */\n@Component({\n selector: 'sky-avatar-inner',\n templateUrl: './avatar.inner.component.html',\n styleUrls: ['./avatar.inner.component.scss'],\n providers: [SkyAvatarAdapterService],\n encapsulation: ViewEncapsulation.None,\n})\nexport class SkyAvatarInnerComponent implements AfterViewInit, OnDestroy {\n public get src(): SkyAvatarSrc | undefined {\n return this.#_src;\n }\n\n @Input()\n public set src(value: SkyAvatarSrc | undefined) {\n this.#_src = value;\n this.#updateImage();\n }\n\n public get name(): string | undefined {\n return this.#_name;\n }\n\n @Input()\n public set name(value: string | undefined) {\n this.#_name = value;\n }\n\n @Input()\n public size: SkyAvatarSize | undefined = 'large';\n\n #viewInitialized = false;\n\n #_src: SkyAvatarSrc | undefined;\n\n #_name: string | undefined;\n\n #elementRef: ElementRef;\n #adapter: SkyAvatarAdapterService;\n\n constructor(elementRef: ElementRef, adapter: SkyAvatarAdapterService) {\n this.#elementRef = elementRef;\n this.#adapter = adapter;\n }\n\n public get initials(): string | undefined {\n let initials: string | undefined;\n\n if (this.name) {\n const nameSplit = this.name.split(' ');\n initials = getInitial(nameSplit[0]);\n\n if (nameSplit.length > 1) {\n initials += getInitial(nameSplit[nameSplit.length - 1]);\n }\n }\n\n return initials;\n }\n\n public get colorIndex(): number {\n const name = this.name;\n let colorIndex: number;\n\n if (name) {\n // Generate a unique-ish color based on the record name. This is deterministic\n // so that a given name will always generate the same color.\n const seed =\n name.charCodeAt(0) + name.charCodeAt(name.length - 1) + name.length;\n colorIndex = Math.abs(seed % 6);\n } else {\n colorIndex = 0;\n }\n\n return colorIndex;\n }\n\n public ngAfterViewInit(): void {\n this.#viewInitialized = true;\n this.#updateImage();\n }\n\n public ngOnDestroy(): void {\n this.#adapter.destroy();\n }\n\n #updateImage(): void {\n if (this.#viewInitialized && this.src) {\n this.#adapter.updateImage(this.#elementRef, this.src);\n }\n }\n}\n\nfunction getInitial(name: string): string {\n return name.charAt(0).toUpperCase();\n}\n","<div\n class=\"sky-elevation-1 sky-avatar-wrapper\"\n [ngClass]=\"'sky-avatar-wrapper-size-' + size\"\n>\n <div class=\"sky-avatar-image\" [hidden]=\"!src\"></div>\n <div *ngIf=\"src\" class=\"sky-screen-reader-only\">\n {{ 'skyux_avatar_inner_description' | skyLibResources : name }}\n </div>\n <div\n class=\"sky-avatar-initials\"\n [hidden]=\"src || !name\"\n [ngClass]=\"'sky-palette-multi-' + (colorIndex + 1)\"\n >\n <div\n *ngIf=\"size === 'small'\"\n class=\"sky-avatar-initials-inner\"\n [skyThemeClass]=\"{\n 'sky-font-body-sm': 'modern'\n }\"\n >\n {{ initials }}\n </div>\n <div\n *ngIf=\"size === 'medium'\"\n class=\"sky-avatar-initials-inner\"\n [skyThemeClass]=\"{\n 'sky-font-display-3': 'modern'\n }\"\n >\n {{ initials }}\n </div>\n <div\n *ngIf=\"size === 'large'\"\n class=\"sky-avatar-initials-inner\"\n [skyThemeClass]=\"{\n 'sky-font-display-2': 'modern'\n }\"\n >\n {{ initials }}\n </div>\n </div>\n</div>\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ErrorModalConfig, SkyErrorModalService } from '@skyux/errors';\nimport { SkyFileDropChange, SkyFileItem, SkyFileSizePipe } from '@skyux/forms';\nimport { SkyLibResourcesService } from '@skyux/i18n';\n\nimport { SkyAvatarSize } from './avatar-size';\nimport { SkyAvatarSrc } from './avatar-src';\n\nconst MAX_FILE_SIZE_DEFAULT = 500000;\n\n@Component({\n selector: 'sky-avatar',\n templateUrl: './avatar.component.html',\n styleUrls: ['./avatar.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class SkyAvatarComponent {\n /**\n * Whether users can change the image. To select a different image,\n * users click the image or drag another image on top of it,\n * much like the `sky-file-drop` component in the\n * [file attachment module](https://developer.blackbaud.com/skyux/components/file-attachments/file-attachment).\n * @default false\n */\n @Input()\n public set canChange(value: boolean | undefined) {\n this.#_canChange = !!value;\n }\n\n public get canChange(): boolean {\n return this.#_canChange;\n }\n\n /**\n * The name of the record that the avatar represents.\n * If the `src` property does not specify an image, the component displays\n * initials from the first and last words in the name. To ensure\n * that the component extracts the correct initials, specify a name with no prefix\n * or suffix, or just specify initials with a space between them. This property is\n * not required, but the component requires either the `name` or `src` property.\n */\n @Input()\n public set name(value: string | undefined) {\n this.#_name = value;\n }\n\n public get name(): string | undefined {\n return this.#_name;\n }\n\n /**\n * The image to identify a record. This property is\n * not required, but the component requires either the `name` or `src` property.\n */\n @Input()\n public set src(value: SkyAvatarSrc | undefined) {\n this.#_src = value;\n }\n\n public get src(): SkyAvatarSrc | undefined {\n return this.#_src;\n }\n\n /**\n * The maximum file size for the image in bytes.\n * @default 500000 bytes\n */\n @Input()\n public maxFileSize: number | undefined = MAX_FILE_SIZE_DEFAULT;\n\n /**\n * The size of the avatar.\n * Acceptable values are: `\"small\"`, `\"medium\"`, and `\"large\"`.\n * @default \"large\"\n */\n @Input()\n public set size(value: SkyAvatarSize | undefined) {\n this.#_size = value ?? 'large';\n }\n\n public get size(): SkyAvatarSize {\n return this.#_size;\n }\n\n /**\n * Emits a `SkyFileItem` object when the image is updated.\n */\n @Output()\n public avatarChanged = new EventEmitter<SkyFileItem>();\n\n #_canChange = false;\n\n #_name: string | undefined;\n\n #_size: SkyAvatarSize = 'large';\n\n #_src: SkyAvatarSrc | undefined;\n\n #errorService: SkyErrorModalService;\n #fileSizePipe: SkyFileSizePipe;\n #resourcesService: SkyLibResourcesService;\n\n constructor(\n errorService: SkyErrorModalService,\n fileSizePipe: SkyFileSizePipe,\n resourcesService: SkyLibResourcesService\n ) {\n this.#errorService = errorService;\n this.#fileSizePipe = fileSizePipe;\n this.#resourcesService = resourcesService;\n }\n\n public photoDrop(result: SkyFileDropChange): void {\n /* sanity check */\n /* istanbul ignore else */\n if (result.files && result.files.length > 0) {\n this.avatarChanged.emit(result.files[0]);\n } else if (result.rejectedFiles && result.rejectedFiles.length > 0) {\n this.#handleError(result.rejectedFiles);\n }\n }\n\n #handleError(rejectedFiles: Array<SkyFileItem>): void {\n const rejectedFile = rejectedFiles[0];\n\n if (rejectedFile.errorType === 'maxFileSize') {\n const title = this.#getString('skyux_avatar_error_too_large_title');\n const description = this.#getString(\n 'skyux_avatar_error_too_large_description',\n this.#maxFileSizeText()\n );\n\n this.#openErrorModal(title, description);\n } else if (rejectedFile.errorType === 'fileType') {\n const title = this.#getString('skyux_avatar_error_not_image_title');\n const description = this.#getString(\n 'skyux_avatar_error_not_image_description'\n );\n\n this.#openErrorModal(title, description);\n }\n }\n\n #maxFileSizeText(): string {\n return this.#fileSizePipe.transform(this.maxFileSize);\n }\n\n #openErrorModal(title: string, description: string): void {\n const config: ErrorModalConfig = {\n errorTitle: title,\n errorDescription: description,\n errorCloseText: this.#getString('skyux_avatar_errormodal_ok'),\n };\n\n this.#errorService.open(config);\n }\n\n #getString(key: string, ...args: any[]): string {\n // TODO: Need to implement the async `getString` method in a breaking change.\n return this.#resourcesService.getStringForLocale(\n { locale: 'en-US' },\n key,\n ...args\n );\n }\n}\n","<div class=\"sky-avatar\">\n <div *ngIf=\"canChange\">\n <div class=\"sky-avatar-file-drop\">\n <sky-file-drop\n [acceptedTypes]=\"'image/*'\"\n [fileUploadAriaLabel]=\"\n src\n ? ('skyux_avatar_upload_change_aria_label' | skyLibResources : name)\n : ('skyux_avatar_upload_new_aria_label' | skyLibResources : name)\n \"\n [multiple]=\"false\"\n [maxFileSize]=\"maxFileSize\"\n [multiple]=\"false\"\n (filesChanged)=\"photoDrop($event)\"\n >\n <ng-container *ngTemplateOutlet=\"innerTemplate\"></ng-container>\n </sky-file-drop>\n </div>\n </div>\n <div *ngIf=\"!canChange\">\n <ng-container *ngTemplateOutlet=\"innerTemplate\"></ng-container>\n </div>\n</div>\n\n<ng-template #innerTemplate>\n <sky-avatar-inner [name]=\"name\" [size]=\"size\" [src]=\"src\"></sky-avatar-inner>\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyErrorModule } from '@skyux/errors';\nimport { SkyFileAttachmentsModule, SkyFileSizePipe } from '@skyux/forms';\nimport { SkyI18nModule } from '@skyux/i18n';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkyAvatarResourcesModule } from '../shared/sky-avatar-resources.module';\n\nimport { SkyAvatarComponent } from './avatar.component';\nimport { SkyAvatarInnerComponent } from './avatar.inner.component';\n\n@NgModule({\n declarations: [SkyAvatarInnerComponent, SkyAvatarComponent],\n imports: [\n CommonModule,\n SkyAvatarResourcesModule,\n SkyErrorModule,\n SkyFileAttachmentsModule,\n SkyI18nModule,\n SkyThemeModule,\n ],\n providers: [SkyFileSizePipe],\n exports: [SkyAvatarComponent],\n})\nexport class SkyAvatarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.SkyAvatarAdapterService","i4","i2","i3","i5.SkyAvatarInnerComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"skyux-avatar.mjs","sources":["../../../../../libs/components/avatar/src/lib/modules/shared/sky-avatar-resources.module.ts","../../../../../libs/components/avatar/src/lib/modules/avatar/avatar-adapter.service.ts","../../../../../libs/components/avatar/src/lib/modules/avatar/avatar.inner.component.ts","../../../../../libs/components/avatar/src/lib/modules/avatar/avatar.inner.component.html","../../../../../libs/components/avatar/src/lib/modules/avatar/avatar.component.ts","../../../../../libs/components/avatar/src/lib/modules/avatar/avatar.component.html","../../../../../libs/components/avatar/src/lib/modules/avatar/avatar.module.ts","../../../../../libs/components/avatar/src/skyux-avatar.ts"],"sourcesContent":["/**\n * NOTICE: DO NOT MODIFY THIS FILE!\n * The contents of this file were automatically generated by\n * the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-avatar' schematic.\n * To update this file, simply rerun the command.\n */\nimport { NgModule } from '@angular/core';\nimport {\n SKY_LIB_RESOURCES_PROVIDERS,\n SkyAppLocaleInfo,\n SkyI18nModule,\n SkyLibResources,\n SkyLibResourcesProvider,\n getLibStringForLocale,\n} from '@skyux/i18n';\n\nconst RESOURCES: { [locale: string]: SkyLibResources } = {\n 'EN-US': {\n skyux_avatar_error_not_image_description: {\n message: 'Please choose a file that is a valid image.',\n },\n skyux_avatar_error_not_image_title: { message: 'File is not an image.' },\n skyux_avatar_error_too_large_description: {\n message: 'Please choose an image that is less than {0}.',\n },\n skyux_avatar_error_too_large_title: { message: 'File is too large.' },\n skyux_avatar_errormodal_ok: { message: 'OK' },\n skyux_avatar_inner_description: { message: 'Profile picture of {0}' },\n skyux_avatar_upload_change_aria_label: {\n message:\n 'Change profile photo of {0}. Drag a file here or click to browse.',\n },\n skyux_avatar_upload_new_aria_label: {\n message: 'Add profile photo of {0}. Drag a file here or click to browse.',\n },\n },\n};\n\nexport class SkyAvatarResourcesProvider implements SkyLibResourcesProvider {\n public getString(\n localeInfo: SkyAppLocaleInfo,\n name: string\n ): string | undefined {\n return getLibStringForLocale(RESOURCES, localeInfo.locale, name);\n }\n}\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n exports: [SkyI18nModule],\n providers: [\n {\n provide: SKY_LIB_RESOURCES_PROVIDERS,\n useClass: SkyAvatarResourcesProvider,\n multi: true,\n },\n ],\n})\nexport class SkyAvatarResourcesModule {}\n","import { ElementRef, Injectable } from '@angular/core';\n\nimport { SkyAvatarSrc } from './avatar-src';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyAvatarAdapterService {\n #blobUrl: string | undefined;\n\n public updateImage(elementRef: ElementRef, src: SkyAvatarSrc) {\n this.#revokeBlobUrl();\n\n const el = elementRef.nativeElement;\n\n /*istanbul ignore else */\n if (el) {\n const imageEl = el.querySelector('.sky-avatar-image');\n\n /*istanbul ignore else */\n if (imageEl) {\n let url = src;\n\n if (src instanceof File || src instanceof Blob) {\n url = this.#createBlobUrl(src);\n }\n\n // Notice the quotes inside the `url` function. This ensures proper url escaping.\n imageEl.style.backgroundImage = 'url(\"' + url + '\")';\n }\n }\n }\n\n public destroy() {\n this.#revokeBlobUrl();\n }\n\n #createBlobUrl(src: Blob | File) {\n const url = URL.createObjectURL(src);\n\n // Keep the last blob URL around so we can revoke it later.\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL\n this.#blobUrl = url;\n return url;\n }\n\n #revokeBlobUrl() {\n if (this.#blobUrl) {\n URL.revokeObjectURL(this.#blobUrl);\n this.#blobUrl = undefined;\n }\n }\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n Input,\n OnDestroy,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { SkyAvatarAdapterService } from './avatar-adapter.service';\nimport { SkyAvatarSize } from './avatar-size';\nimport { SkyAvatarSrc } from './avatar-src';\n\n/**\n * @internal\n */\n@Component({\n selector: 'sky-avatar-inner',\n templateUrl: './avatar.inner.component.html',\n styleUrls: ['./avatar.inner.component.scss'],\n providers: [SkyAvatarAdapterService],\n encapsulation: ViewEncapsulation.None,\n})\nexport class SkyAvatarInnerComponent implements AfterViewInit, OnDestroy {\n public get src(): SkyAvatarSrc | undefined {\n return this.#_src;\n }\n\n @Input()\n public set src(value: SkyAvatarSrc | undefined) {\n this.#_src = value;\n this.#updateImage();\n }\n\n public get name(): string | undefined {\n return this.#_name;\n }\n\n @Input()\n public set name(value: string | undefined) {\n this.#_name = value;\n }\n\n @Input()\n public size: SkyAvatarSize | undefined = 'large';\n\n #viewInitialized = false;\n\n #_src: SkyAvatarSrc | undefined;\n\n #_name: string | undefined;\n\n #elementRef: ElementRef;\n #adapter: SkyAvatarAdapterService;\n\n constructor(elementRef: ElementRef, adapter: SkyAvatarAdapterService) {\n this.#elementRef = elementRef;\n this.#adapter = adapter;\n }\n\n public get initials(): string | undefined {\n let initials: string | undefined;\n\n if (this.name) {\n const nameSplit = this.name.split(' ');\n initials = getInitial(nameSplit[0]);\n\n if (nameSplit.length > 1) {\n initials += getInitial(nameSplit[nameSplit.length - 1]);\n }\n }\n\n return initials;\n }\n\n public get colorIndex(): number {\n const name = this.name;\n let colorIndex: number;\n\n if (name) {\n // Generate a unique-ish color based on the record name. This is deterministic\n // so that a given name will always generate the same color.\n const seed =\n name.charCodeAt(0) + name.charCodeAt(name.length - 1) + name.length;\n colorIndex = Math.abs(seed % 6);\n } else {\n colorIndex = 0;\n }\n\n return colorIndex;\n }\n\n public ngAfterViewInit(): void {\n this.#viewInitialized = true;\n this.#updateImage();\n }\n\n public ngOnDestroy(): void {\n this.#adapter.destroy();\n }\n\n #updateImage(): void {\n if (this.#viewInitialized && this.src) {\n this.#adapter.updateImage(this.#elementRef, this.src);\n }\n }\n}\n\nfunction getInitial(name: string): string {\n return name.charAt(0).toUpperCase();\n}\n","<div\n class=\"sky-elevation-1 sky-avatar-wrapper\"\n [ngClass]=\"'sky-avatar-wrapper-size-' + size\"\n>\n <div class=\"sky-avatar-image\" [hidden]=\"!src\"></div>\n <div *ngIf=\"src\" class=\"sky-screen-reader-only\">\n {{ 'skyux_avatar_inner_description' | skyLibResources : name }}\n </div>\n <div\n class=\"sky-avatar-initials\"\n [hidden]=\"src || !name\"\n [ngClass]=\"'sky-palette-multi-' + (colorIndex + 1)\"\n >\n <div\n *ngIf=\"size === 'small'\"\n class=\"sky-avatar-initials-inner\"\n [skyThemeClass]=\"{\n 'sky-font-body-sm': 'modern'\n }\"\n >\n {{ initials }}\n </div>\n <div\n *ngIf=\"size === 'medium'\"\n class=\"sky-avatar-initials-inner\"\n [skyThemeClass]=\"{\n 'sky-font-display-3': 'modern'\n }\"\n >\n {{ initials }}\n </div>\n <div\n *ngIf=\"size === 'large'\"\n class=\"sky-avatar-initials-inner\"\n [skyThemeClass]=\"{\n 'sky-font-display-2': 'modern'\n }\"\n >\n {{ initials }}\n </div>\n </div>\n</div>\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n ViewEncapsulation,\n inject,\n} from '@angular/core';\nimport { SkyDefaultInputProvider } from '@skyux/core';\nimport { ErrorModalConfig, SkyErrorModalService } from '@skyux/errors';\nimport { SkyFileDropChange, SkyFileItem, SkyFileSizePipe } from '@skyux/forms';\nimport { SkyLibResourcesService } from '@skyux/i18n';\n\nimport { Observable } from 'rxjs';\n\nimport { SkyAvatarSize } from './avatar-size';\nimport { SkyAvatarSrc } from './avatar-src';\n\nconst MAX_FILE_SIZE_DEFAULT = 500000;\n\n@Component({\n selector: 'sky-avatar',\n templateUrl: './avatar.component.html',\n styleUrls: ['./avatar.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class SkyAvatarComponent {\n /**\n * Whether users can change the image. To select a different image,\n * users click the image or drag another image on top of it,\n * much like the `sky-file-drop` component in the\n * [file attachment module](https://developer.blackbaud.com/skyux/components/file-attachments/file-attachment).\n * @default false\n */\n @Input()\n public set canChange(value: boolean | undefined) {\n this.#_canChange = !!value;\n }\n\n public get canChange(): boolean {\n return this.#_canChange;\n }\n\n /**\n * The name of the record that the avatar represents.\n * If the `src` property does not specify an image, the component displays\n * initials from the first and last words in the name. To ensure\n * that the component extracts the correct initials, specify a name with no prefix\n * or suffix, or just specify initials with a space between them. This property is\n * not required, but the component requires either the `name` or `src` property.\n */\n @Input()\n public set name(value: string | undefined) {\n this.#_name = value;\n }\n\n public get name(): string | undefined {\n return this.#_name;\n }\n\n /**\n * The image to identify a record. This property is\n * not required, but the component requires either the `name` or `src` property.\n */\n @Input()\n public set src(value: SkyAvatarSrc | undefined) {\n this.#_src = value;\n }\n\n public get src(): SkyAvatarSrc | undefined {\n return this.#_src;\n }\n\n /**\n * The maximum file size for the image in bytes.\n * @default 500000 bytes\n */\n @Input()\n public maxFileSize: number | undefined = MAX_FILE_SIZE_DEFAULT;\n\n /**\n * The size of the avatar.\n * Acceptable values are: `\"small\"`, `\"medium\"`, and `\"large\"`.\n * @default \"large\"\n */\n @Input()\n public size: SkyAvatarSize | undefined;\n\n /**\n * Emits a `SkyFileItem` object when the image is updated.\n */\n @Output()\n public avatarChanged = new EventEmitter<SkyFileItem>();\n\n protected sizeDefault: Observable<SkyAvatarSize> | undefined;\n\n #_canChange = false;\n\n #_name: string | undefined;\n\n #_src: SkyAvatarSrc | undefined;\n\n #errorService: SkyErrorModalService;\n #fileSizePipe: SkyFileSizePipe;\n #resourcesService: SkyLibResourcesService;\n\n #defaultInputProvider = inject(SkyDefaultInputProvider, { optional: true });\n\n constructor(\n errorService: SkyErrorModalService,\n fileSizePipe: SkyFileSizePipe,\n resourcesService: SkyLibResourcesService\n ) {\n this.#errorService = errorService;\n this.#fileSizePipe = fileSizePipe;\n this.#resourcesService = resourcesService;\n\n this.sizeDefault = this.#defaultInputProvider?.getValue<SkyAvatarSize>(\n 'avatar',\n 'size'\n );\n }\n\n public photoDrop(result: SkyFileDropChange): void {\n /* sanity check */\n /* istanbul ignore else */\n if (result.files && result.files.length > 0) {\n this.avatarChanged.emit(result.files[0]);\n } else if (result.rejectedFiles && result.rejectedFiles.length > 0) {\n this.#handleError(result.rejectedFiles);\n }\n }\n\n #handleError(rejectedFiles: Array<SkyFileItem>): void {\n const rejectedFile = rejectedFiles[0];\n\n if (rejectedFile.errorType === 'maxFileSize') {\n const title = this.#getString('skyux_avatar_error_too_large_title');\n const description = this.#getString(\n 'skyux_avatar_error_too_large_description',\n this.#maxFileSizeText()\n );\n\n this.#openErrorModal(title, description);\n } else if (rejectedFile.errorType === 'fileType') {\n const title = this.#getString('skyux_avatar_error_not_image_title');\n const description = this.#getString(\n 'skyux_avatar_error_not_image_description'\n );\n\n this.#openErrorModal(title, description);\n }\n }\n\n #maxFileSizeText(): string {\n return this.#fileSizePipe.transform(this.maxFileSize);\n }\n\n #openErrorModal(title: string, description: string): void {\n const config: ErrorModalConfig = {\n errorTitle: title,\n errorDescription: description,\n errorCloseText: this.#getString('skyux_avatar_errormodal_ok'),\n };\n\n this.#errorService.open(config);\n }\n\n #getString(key: string, ...args: any[]): string {\n // TODO: Need to implement the async `getString` method in a breaking change.\n return this.#resourcesService.getStringForLocale(\n { locale: 'en-US' },\n key,\n ...args\n );\n }\n}\n","<div class=\"sky-avatar\">\n <div *ngIf=\"canChange\">\n <div class=\"sky-avatar-file-drop\">\n <sky-file-drop\n [acceptedTypes]=\"'image/*'\"\n [fileUploadAriaLabel]=\"\n src\n ? ('skyux_avatar_upload_change_aria_label' | skyLibResources : name)\n : ('skyux_avatar_upload_new_aria_label' | skyLibResources : name)\n \"\n [multiple]=\"false\"\n [maxFileSize]=\"maxFileSize\"\n [multiple]=\"false\"\n (filesChanged)=\"photoDrop($event)\"\n >\n <ng-container *ngTemplateOutlet=\"innerTemplate\"></ng-container>\n </sky-file-drop>\n </div>\n </div>\n <div *ngIf=\"!canChange\">\n <ng-container *ngTemplateOutlet=\"innerTemplate\"></ng-container>\n </div>\n</div>\n\n<ng-template #innerTemplate>\n <sky-avatar-inner\n [name]=\"name\"\n [size]=\"size ?? (sizeDefault | async) ?? 'large'\"\n [src]=\"src\"\n ></sky-avatar-inner>\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyErrorModule } from '@skyux/errors';\nimport { SkyFileAttachmentsModule, SkyFileSizePipe } from '@skyux/forms';\nimport { SkyI18nModule } from '@skyux/i18n';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkyAvatarResourcesModule } from '../shared/sky-avatar-resources.module';\n\nimport { SkyAvatarComponent } from './avatar.component';\nimport { SkyAvatarInnerComponent } from './avatar.inner.component';\n\n@NgModule({\n declarations: [SkyAvatarInnerComponent, SkyAvatarComponent],\n imports: [\n CommonModule,\n SkyAvatarResourcesModule,\n SkyErrorModule,\n SkyFileAttachmentsModule,\n SkyI18nModule,\n SkyThemeModule,\n ],\n providers: [SkyFileSizePipe],\n exports: [SkyAvatarComponent],\n})\nexport class SkyAvatarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.SkyAvatarAdapterService","i2","i4","i3","i5.SkyAvatarInnerComponent"],"mappings":";;;;;;;;;;;;;;;AAAA;;;;;AAKG;AAWH,MAAM,SAAS,GAA0C;AACvD,IAAA,OAAO,EAAE;AACP,QAAA,wCAAwC,EAAE;AACxC,YAAA,OAAO,EAAE,6CAA6C;AACvD,SAAA;AACD,QAAA,kCAAkC,EAAE,EAAE,OAAO,EAAE,uBAAuB,EAAE;AACxE,QAAA,wCAAwC,EAAE;AACxC,YAAA,OAAO,EAAE,+CAA+C;AACzD,SAAA;AACD,QAAA,kCAAkC,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE;AACrE,QAAA,0BAA0B,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;AAC7C,QAAA,8BAA8B,EAAE,EAAE,OAAO,EAAE,wBAAwB,EAAE;AACrE,QAAA,qCAAqC,EAAE;AACrC,YAAA,OAAO,EACL,mEAAmE;AACtE,SAAA;AACD,QAAA,kCAAkC,EAAE;AAClC,YAAA,OAAO,EAAE,gEAAgE;AAC1E,SAAA;AACF,KAAA;CACF,CAAC;MAEW,0BAA0B,CAAA;IAC9B,SAAS,CACd,UAA4B,EAC5B,IAAY,EAAA;QAEZ,OAAO,qBAAqB,CAAC,SAAS,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;KAClE;AACF,CAAA;AAED;;AAEG;MAWU,wBAAwB,CAAA;;qHAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAxB,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,YATzB,aAAa,CAAA,EAAA,CAAA,CAAA;AASZ,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,EARxB,SAAA,EAAA;AACT,QAAA;AACE,YAAA,OAAO,EAAE,2BAA2B;AACpC,YAAA,QAAQ,EAAE,0BAA0B;AACpC,YAAA,KAAK,EAAE,IAAI;AACZ,SAAA;AACF,KAAA,EAAA,OAAA,EAAA,CAPS,aAAa,CAAA,EAAA,CAAA,CAAA;2FASZ,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAVpC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,aAAa,CAAC;AACxB,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,2BAA2B;AACpC,4BAAA,QAAQ,EAAE,0BAA0B;AACpC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA;iBACF,CAAA;;;;ACvDD;;AAEG;MAEU,uBAAuB,CAAA;AADpC,IAAA,WAAA,GAAA;;QAEE,gCAA6B,CAAA,GAAA,CAAA,IAAA,EAAA,KAAA,CAAA,CAAA,CAAA;KA4C9B;IA1CQ,WAAW,CAAC,UAAsB,EAAE,GAAiB,EAAA;AAC1D,QAAA,sBAAA,CAAA,IAAI,EAAA,kCAAA,EAAA,GAAA,EAAA,sCAAA,CAAe,CAAnB,IAAA,CAAA,IAAI,CAAiB,CAAC;AAEtB,QAAA,MAAM,EAAE,GAAG,UAAU,CAAC,aAAa,CAAC;;AAGpC,QAAA,IAAI,EAAE,EAAE;YACN,MAAM,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;;AAGtD,YAAA,IAAI,OAAO,EAAE;gBACX,IAAI,GAAG,GAAG,GAAG,CAAC;AAEd,gBAAA,IAAI,GAAG,YAAY,IAAI,IAAI,GAAG,YAAY,IAAI,EAAE;AAC9C,oBAAA,GAAG,GAAG,uBAAA,IAAI,EAAA,kCAAA,EAAA,GAAA,EAAA,sCAAA,CAAe,MAAnB,IAAI,EAAgB,GAAG,CAAC,CAAC;AAChC,iBAAA;;gBAGD,OAAO,CAAC,KAAK,CAAC,eAAe,GAAG,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC;AACtD,aAAA;AACF,SAAA;KACF;IAEM,OAAO,GAAA;AACZ,QAAA,sBAAA,CAAA,IAAI,EAAA,kCAAA,EAAA,GAAA,EAAA,sCAAA,CAAe,CAAnB,IAAA,CAAA,IAAI,CAAiB,CAAC;KACvB;;+LAEc,GAAgB,EAAA;IAC7B,MAAM,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;;;IAIrC,sBAAA,CAAA,IAAI,EAAA,gCAAA,EAAY,GAAG,EAAA,GAAA,CAAA,CAAC;AACpB,IAAA,OAAO,GAAG,CAAC;AACb,CAAC,EAAA,sCAAA,GAAA,SAAA,sCAAA,GAAA;IAGC,IAAI,sBAAA,CAAA,IAAI,EAAA,gCAAA,EAAA,GAAA,CAAS,EAAE;AACjB,QAAA,GAAG,CAAC,eAAe,CAAC,uBAAA,IAAI,EAAA,gCAAA,EAAA,GAAA,CAAS,CAAC,CAAC;QACnC,sBAAA,CAAA,IAAI,EAAA,gCAAA,EAAY,SAAS,EAAA,GAAA,CAAA,CAAC;AAC3B,KAAA;AACH,CAAC,CAAA;oHA5CU,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;wHAAvB,uBAAuB,EAAA,CAAA,CAAA;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBADnC,UAAU;;;;ACMX;;AAEG;MAQU,uBAAuB,CAAA;AAClC,IAAA,IAAW,GAAG,GAAA;QACZ,OAAO,sBAAA,CAAA,IAAI,EAAA,6BAAA,EAAA,GAAA,CAAM,CAAC;KACnB;IAED,IACW,GAAG,CAAC,KAA+B,EAAA;QAC5C,sBAAA,CAAA,IAAI,EAAA,6BAAA,EAAS,KAAK,EAAA,GAAA,CAAA,CAAC;AACnB,QAAA,sBAAA,CAAA,IAAI,EAAA,kCAAA,EAAA,GAAA,EAAA,oCAAA,CAAa,CAAjB,IAAA,CAAA,IAAI,CAAe,CAAC;KACrB;AAED,IAAA,IAAW,IAAI,GAAA;QACb,OAAO,sBAAA,CAAA,IAAI,EAAA,8BAAA,EAAA,GAAA,CAAO,CAAC;KACpB;IAED,IACW,IAAI,CAAC,KAAyB,EAAA;QACvC,sBAAA,CAAA,IAAI,EAAA,8BAAA,EAAU,KAAK,EAAA,GAAA,CAAA,CAAC;KACrB;IAcD,WAAY,CAAA,UAAsB,EAAE,OAAgC,EAAA;;AAX7D,QAAA,IAAI,CAAA,IAAA,GAA8B,OAAO,CAAC;AAEjD,QAAA,wCAAA,CAAA,GAAA,CAAA,IAAA,EAAmB,KAAK,CAAC,CAAA;QAEzB,6BAAgC,CAAA,GAAA,CAAA,IAAA,EAAA,KAAA,CAAA,CAAA,CAAA;QAEhC,8BAA2B,CAAA,GAAA,CAAA,IAAA,EAAA,KAAA,CAAA,CAAA,CAAA;QAE3B,mCAAwB,CAAA,GAAA,CAAA,IAAA,EAAA,KAAA,CAAA,CAAA,CAAA;QACxB,gCAAkC,CAAA,GAAA,CAAA,IAAA,EAAA,KAAA,CAAA,CAAA,CAAA;QAGhC,sBAAA,CAAA,IAAI,EAAA,mCAAA,EAAe,UAAU,EAAA,GAAA,CAAA,CAAC;QAC9B,sBAAA,CAAA,IAAI,EAAA,gCAAA,EAAY,OAAO,EAAA,GAAA,CAAA,CAAC;KACzB;AAED,IAAA,IAAW,QAAQ,GAAA;AACjB,QAAA,IAAI,QAA4B,CAAC;QAEjC,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACvC,QAAQ,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAEpC,YAAA,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;AACxB,gBAAA,QAAQ,IAAI,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;AACzD,aAAA;AACF,SAAA;AAED,QAAA,OAAO,QAAQ,CAAC;KACjB;AAED,IAAA,IAAW,UAAU,GAAA;AACnB,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;AACvB,QAAA,IAAI,UAAkB,CAAC;AAEvB,QAAA,IAAI,IAAI,EAAE;;;YAGR,MAAM,IAAI,GACR,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;YACtE,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;AACjC,SAAA;AAAM,aAAA;YACL,UAAU,GAAG,CAAC,CAAC;AAChB,SAAA;AAED,QAAA,OAAO,UAAU,CAAC;KACnB;IAEM,eAAe,GAAA;QACpB,sBAAA,CAAA,IAAI,EAAA,wCAAA,EAAoB,IAAI,EAAA,GAAA,CAAA,CAAC;AAC7B,QAAA,sBAAA,CAAA,IAAI,EAAA,kCAAA,EAAA,GAAA,EAAA,oCAAA,CAAa,CAAjB,IAAA,CAAA,IAAI,CAAe,CAAC;KACrB;IAEM,WAAW,GAAA;QAChB,sBAAA,CAAA,IAAI,EAAA,gCAAA,EAAA,GAAA,CAAS,CAAC,OAAO,EAAE,CAAC;KACzB;;;AAGC,IAAA,IAAI,uBAAA,IAAI,EAAA,wCAAA,EAAA,GAAA,CAAiB,IAAI,IAAI,CAAC,GAAG,EAAE;QACrC,sBAAA,CAAA,IAAI,EAAA,gCAAA,EAAA,GAAA,CAAS,CAAC,WAAW,CAAC,sBAAA,CAAA,IAAI,EAAA,mCAAA,EAAA,GAAA,CAAY,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;AACvD,KAAA;AACH,CAAC,CAAA;oHAlFU,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,uBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,EAHvB,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,KAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,CAAC,uBAAuB,CAAC,0BCpBtC,sjCA0CA,EAAA,MAAA,EAAA,CAAA,y8GAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,EAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FDnBa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAPnC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,aAGjB,CAAC,uBAAuB,CAAC,EACrB,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,sjCAAA,EAAA,MAAA,EAAA,CAAA,y8GAAA,CAAA,EAAA,CAAA;oIAQ1B,GAAG,EAAA,CAAA;sBADb,KAAK;gBAWK,IAAI,EAAA,CAAA;sBADd,KAAK;gBAMC,IAAI,EAAA,CAAA;sBADV,KAAK;;AAiER,SAAS,UAAU,CAAC,IAAY,EAAA;IAC9B,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;AACtC;;;AE5FA,MAAM,qBAAqB,GAAG,MAAM,CAAC;MAQxB,kBAAkB,CAAA;AAC7B;;;;;;AAMG;IACH,IACW,SAAS,CAAC,KAA0B,EAAA;QAC7C,sBAAA,CAAA,IAAI,EAAe,8BAAA,EAAA,CAAC,CAAC,KAAK,MAAA,CAAC;KAC5B;AAED,IAAA,IAAW,SAAS,GAAA;QAClB,OAAO,sBAAA,CAAA,IAAI,EAAA,8BAAA,EAAA,GAAA,CAAY,CAAC;KACzB;AAED;;;;;;;AAOG;IACH,IACW,IAAI,CAAC,KAAyB,EAAA;QACvC,sBAAA,CAAA,IAAI,EAAA,yBAAA,EAAU,KAAK,EAAA,GAAA,CAAA,CAAC;KACrB;AAED,IAAA,IAAW,IAAI,GAAA;QACb,OAAO,sBAAA,CAAA,IAAI,EAAA,yBAAA,EAAA,GAAA,CAAO,CAAC;KACpB;AAED;;;AAGG;IACH,IACW,GAAG,CAAC,KAA+B,EAAA;QAC5C,sBAAA,CAAA,IAAI,EAAA,wBAAA,EAAS,KAAK,EAAA,GAAA,CAAA,CAAC;KACpB;AAED,IAAA,IAAW,GAAG,GAAA;QACZ,OAAO,sBAAA,CAAA,IAAI,EAAA,wBAAA,EAAA,GAAA,CAAM,CAAC;KACnB;AAqCD,IAAA,WAAA,CACE,YAAkC,EAClC,YAA6B,EAC7B,gBAAwC,EAAA;;;AAtC1C;;;AAGG;AAEI,QAAA,IAAW,CAAA,WAAA,GAAuB,qBAAqB,CAAC;AAU/D;;AAEG;AAEI,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAe,CAAC;AAIvD,QAAA,8BAAA,CAAA,GAAA,CAAA,IAAA,EAAc,KAAK,CAAC,CAAA;QAEpB,yBAA2B,CAAA,GAAA,CAAA,IAAA,EAAA,KAAA,CAAA,CAAA,CAAA;QAE3B,wBAAgC,CAAA,GAAA,CAAA,IAAA,EAAA,KAAA,CAAA,CAAA,CAAA;QAEhC,gCAAoC,CAAA,GAAA,CAAA,IAAA,EAAA,KAAA,CAAA,CAAA,CAAA;QACpC,gCAA+B,CAAA,GAAA,CAAA,IAAA,EAAA,KAAA,CAAA,CAAA,CAAA;QAC/B,oCAA0C,CAAA,GAAA,CAAA,IAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAE1C,QAAA,wCAAwB,CAAA,GAAA,CAAA,IAAA,EAAA,MAAM,CAAC,uBAAuB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QAO1E,sBAAA,CAAA,IAAI,EAAA,gCAAA,EAAiB,YAAY,EAAA,GAAA,CAAA,CAAC;QAClC,sBAAA,CAAA,IAAI,EAAA,gCAAA,EAAiB,YAAY,EAAA,GAAA,CAAA,CAAC;QAClC,sBAAA,CAAA,IAAI,EAAA,oCAAA,EAAqB,gBAAgB,EAAA,GAAA,CAAA,CAAC;AAE1C,QAAA,IAAI,CAAC,WAAW,GAAG,MAAA,sBAAA,CAAA,IAAI,EAAA,wCAAA,EAAA,GAAA,CAAsB,0CAAE,QAAQ,CACrD,QAAQ,EACR,MAAM,CACP,CAAC;KACH;AAEM,IAAA,SAAS,CAAC,MAAyB,EAAA;;;QAGxC,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AAC3C,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,SAAA;aAAM,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;AAClE,YAAA,sBAAA,CAAA,IAAI,sEAAa,CAAjB,IAAA,CAAA,IAAI,EAAc,MAAM,CAAC,aAAa,CAAC,CAAC;AACzC,SAAA;KACF;;mdAEY,aAAiC,EAAA;AAC5C,IAAA,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;AAEtC,IAAA,IAAI,YAAY,CAAC,SAAS,KAAK,aAAa,EAAE;AAC5C,QAAA,MAAM,KAAK,GAAG,sBAAA,CAAA,IAAI,EAAA,6BAAA,EAAA,GAAA,EAAA,6BAAA,CAAW,MAAf,IAAI,EAAY,oCAAoC,CAAC,CAAC;AACpE,QAAA,MAAM,WAAW,GAAG,sBAAA,CAAA,IAAI,EAAA,6BAAA,EAAA,GAAA,EAAA,6BAAA,CAAW,MAAf,IAAI,EACtB,0CAA0C,EAC1C,uBAAA,IAAI,EAAA,6BAAA,EAAA,GAAA,EAAA,mCAAA,CAAiB,MAArB,IAAI,CAAmB,CACxB,CAAC;AAEF,QAAA,sBAAA,CAAA,IAAI,yEAAgB,CAApB,IAAA,CAAA,IAAI,EAAiB,KAAK,EAAE,WAAW,CAAC,CAAC;AAC1C,KAAA;AAAM,SAAA,IAAI,YAAY,CAAC,SAAS,KAAK,UAAU,EAAE;AAChD,QAAA,MAAM,KAAK,GAAG,sBAAA,CAAA,IAAI,EAAA,6BAAA,EAAA,GAAA,EAAA,6BAAA,CAAW,MAAf,IAAI,EAAY,oCAAoC,CAAC,CAAC;AACpE,QAAA,MAAM,WAAW,GAAG,sBAAA,CAAA,IAAI,EAAA,6BAAA,EAAA,GAAA,EAAA,6BAAA,CAAW,MAAf,IAAI,EACtB,0CAA0C,CAC3C,CAAC;AAEF,QAAA,sBAAA,CAAA,IAAI,yEAAgB,CAApB,IAAA,CAAA,IAAI,EAAiB,KAAK,EAAE,WAAW,CAAC,CAAC;AAC1C,KAAA;AACH,CAAC,EAAA,mCAAA,GAAA,SAAA,mCAAA,GAAA;AAGC,IAAA,OAAO,sBAAA,CAAA,IAAI,EAAA,gCAAA,EAAA,GAAA,CAAc,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACxD,CAAC,EAAA,kCAAA,GAAA,SAAA,kCAAA,CAEe,KAAa,EAAE,WAAmB,EAAA;AAChD,IAAA,MAAM,MAAM,GAAqB;AAC/B,QAAA,UAAU,EAAE,KAAK;AACjB,QAAA,gBAAgB,EAAE,WAAW;AAC7B,QAAA,cAAc,EAAE,uBAAA,IAAI,EAAA,6BAAA,EAAA,GAAA,EAAA,6BAAA,CAAW,MAAf,IAAI,EAAY,4BAA4B,CAAC;KAC9D,CAAC;AAEF,IAAA,sBAAA,CAAA,IAAI,EAAc,gCAAA,EAAA,GAAA,CAAA,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAClC,CAAC,EAEU,6BAAA,GAAA,SAAA,6BAAA,CAAA,GAAW,EAAE,GAAG,IAAW,EAAA;;IAEpC,OAAO,uBAAA,IAAI,EAAA,oCAAA,EAAA,GAAA,CAAkB,CAAC,kBAAkB,CAC9C,EAAE,MAAM,EAAE,OAAO,EAAE,EACnB,GAAG,EACH,GAAG,IAAI,CACR,CAAC;AACJ,CAAC,CAAA;+GArJU,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,sBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,uMC1B/B,w8BA+BA,EAAA,MAAA,EAAA,CAAA,0GAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,EAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,qBAAA,EAAA,qBAAA,EAAA,aAAA,EAAA,aAAA,EAAA,UAAA,EAAA,YAAA,EAAA,eAAA,EAAA,SAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,EAAA,eAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,uBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,KAAA,EAAA,MAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,mBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FDLa,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAN9B,SAAS;+BACE,YAAY,EAAA,aAAA,EAGP,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,w8BAAA,EAAA,MAAA,EAAA,CAAA,0GAAA,CAAA,EAAA,CAAA;gLAW1B,SAAS,EAAA,CAAA;sBADnB,KAAK;gBAkBK,IAAI,EAAA,CAAA;sBADd,KAAK;gBAcK,GAAG,EAAA,CAAA;sBADb,KAAK;gBAcC,WAAW,EAAA,CAAA;sBADjB,KAAK;gBASC,IAAI,EAAA,CAAA;sBADV,KAAK;gBAOC,aAAa,EAAA,CAAA;sBADnB,MAAM;;;MElEI,eAAe,CAAA;;4GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAf,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,EAZX,YAAA,EAAA,CAAA,uBAAuB,EAAE,kBAAkB,aAExD,YAAY;QACZ,wBAAwB;QACxB,cAAc;QACd,wBAAwB;QACxB,aAAa;QACb,cAAc,aAGN,kBAAkB,CAAA,EAAA,CAAA,CAAA;AAEjB,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,EAHf,SAAA,EAAA,CAAC,eAAe,CAAC,YAP1B,YAAY;QACZ,wBAAwB;QACxB,cAAc;QACd,wBAAwB;QACxB,aAAa;QACb,cAAc,CAAA,EAAA,CAAA,CAAA;2FAKL,eAAe,EAAA,UAAA,EAAA,CAAA;kBAb3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,CAAC,uBAAuB,EAAE,kBAAkB,CAAC;AAC3D,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,wBAAwB;wBACxB,cAAc;wBACd,wBAAwB;wBACxB,aAAa;wBACb,cAAc;AACf,qBAAA;oBACD,SAAS,EAAE,CAAC,eAAe,CAAC;oBAC5B,OAAO,EAAE,CAAC,kBAAkB,CAAC;iBAC9B,CAAA;;;ACxBD;;AAEG;;;;"}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as i4 from '@angular/common';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { NgModule, Injectable, Component, ViewEncapsulation, Input, EventEmitter, Output } from '@angular/core';
|
|
4
|
+
import { NgModule, Injectable, Component, ViewEncapsulation, Input, EventEmitter, inject, Output } from '@angular/core';
|
|
5
5
|
import * as i1 from '@skyux/errors';
|
|
6
6
|
import { SkyErrorModule } from '@skyux/errors';
|
|
7
|
-
import * as i2
|
|
7
|
+
import * as i2 from '@skyux/forms';
|
|
8
8
|
import { SkyFileAttachmentsModule, SkyFileSizePipe } from '@skyux/forms';
|
|
9
9
|
import * as i3$1 from '@skyux/i18n';
|
|
10
10
|
import { getLibStringForLocale, SkyI18nModule, SKY_LIB_RESOURCES_PROVIDERS } from '@skyux/i18n';
|
|
11
11
|
import * as i3 from '@skyux/theme';
|
|
12
12
|
import { SkyThemeModule } from '@skyux/theme';
|
|
13
13
|
import { __classPrivateFieldGet, __classPrivateFieldSet } from 'tslib';
|
|
14
|
+
import { SkyDefaultInputProvider } from '@skyux/core';
|
|
14
15
|
|
|
15
16
|
/**
|
|
16
17
|
* NOTICE: DO NOT MODIFY THIS FILE!
|
|
@@ -187,7 +188,7 @@ _SkyAvatarInnerComponent_viewInitialized = new WeakMap(), _SkyAvatarInnerCompone
|
|
|
187
188
|
}
|
|
188
189
|
};
|
|
189
190
|
SkyAvatarInnerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAvatarInnerComponent, deps: [{ token: i0.ElementRef }, { token: SkyAvatarAdapterService }], target: i0.ɵɵFactoryTarget.Component });
|
|
190
|
-
SkyAvatarInnerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SkyAvatarInnerComponent, selector: "sky-avatar-inner", inputs: { src: "src", name: "name", size: "size" }, providers: [SkyAvatarAdapterService], ngImport: i0, template: "<div\n class=\"sky-elevation-1 sky-avatar-wrapper\"\n [ngClass]=\"'sky-avatar-wrapper-size-' + size\"\n>\n <div class=\"sky-avatar-image\" [hidden]=\"!src\"></div>\n <div *ngIf=\"src\" class=\"sky-screen-reader-only\">\n {{ 'skyux_avatar_inner_description' | skyLibResources : name }}\n </div>\n <div\n class=\"sky-avatar-initials\"\n [hidden]=\"src || !name\"\n [ngClass]=\"'sky-palette-multi-' + (colorIndex + 1)\"\n >\n <div\n *ngIf=\"size === 'small'\"\n class=\"sky-avatar-initials-inner\"\n [skyThemeClass]=\"{\n 'sky-font-body-sm': 'modern'\n }\"\n >\n {{ initials }}\n </div>\n <div\n *ngIf=\"size === 'medium'\"\n class=\"sky-avatar-initials-inner\"\n [skyThemeClass]=\"{\n 'sky-font-display-3': 'modern'\n }\"\n >\n {{ initials }}\n </div>\n <div\n *ngIf=\"size === 'large'\"\n class=\"sky-avatar-initials-inner\"\n [skyThemeClass]=\"{\n 'sky-font-display-2': 'modern'\n }\"\n >\n {{ initials }}\n </div>\n </div>\n</div>\n", styles: [".sky-avatar-wrapper{height:104px;width:104px;border:solid 2px transparent;border-radius:50%;overflow:hidden;position:relative;top:-2px;left:-2px}.sky-avatar-image,.sky-avatar-initials{height:100px;width:100px;background-position:50%;background-size:cover;display:flex;align-items:center;justify-content:center}.sky-avatar-initials{font-size:50px}.sky-avatar-initials-inner{color:#fff;cursor:default;-webkit-user-select:none;user-select:none}.sky-avatar-wrapper-size-medium{height:69px;width:69px}.sky-avatar-wrapper-size-medium .sky-avatar-image,.sky-avatar-wrapper-size-medium .sky-avatar-initials{height:65px;width:65px}.sky-avatar-wrapper-size-medium .sky-avatar-initials{font-size:32.5px}.sky-avatar-wrapper-size-small{height:36px;width:36px}.sky-avatar-wrapper-size-small .sky-avatar-image,.sky-avatar-wrapper-size-small .sky-avatar-initials{height:32px;width:32px}.sky-avatar-wrapper-size-small .sky-avatar-initials{font-size:16px}.sky-file-drop .sky-avatar-wrapper{cursor:pointer}.sky-file-drop-accept .sky-avatar-wrapper{border-color:#72bf44;border-style:dashed}.sky-file-drop-reject .sky-avatar-wrapper{border-color:#ef4044;border-style:dashed}.sky-theme-modern .sky-avatar-wrapper{height:100px;width:100px;background-color:#fff;border-width:0;padding:5px;top:0;left:0}.sky-theme-modern .sky-avatar-image,.sky-theme-modern .sky-avatar-initials{border-radius:50%;height:90px;width:90px}.sky-theme-modern .sky-avatar-initials-inner{color:#212327}.sky-theme-modern .sky-file-drop-accept .sky-avatar-wrapper,.sky-theme-modern .sky-file-drop-reject .sky-avatar-wrapper{border-width:2px;padding:3px}.sky-theme-modern .sky-file-drop-accept .sky-avatar-wrapper-size-medium,.sky-theme-modern .sky-file-drop-reject .sky-avatar-wrapper-size-medium{padding:1px}.sky-theme-modern .sky-file-drop-accept .sky-avatar-wrapper-size-small,.sky-theme-modern .sky-file-drop-reject .sky-avatar-wrapper-size-small{padding:0}.sky-theme-modern .sky-avatar-wrapper-size-medium{padding:3px;height:65px;width:65px}.sky-theme-modern .sky-avatar-wrapper-size-medium .sky-avatar-image,.sky-theme-modern .sky-avatar-wrapper-size-medium .sky-avatar-initials{height:59px;width:59px}.sky-theme-modern .sky-avatar-wrapper-size-small{padding:2px;height:32px;width:32px}.sky-theme-modern .sky-avatar-wrapper-size-small .sky-avatar-image,.sky-theme-modern .sky-avatar-wrapper-size-small .sky-avatar-initials{height:28px;width:28px}.sky-theme-modern sky-file-drop:hover .sky-avatar-wrapper{border:solid 1px #1870B8;padding:4px}.sky-theme-modern sky-file-drop:hover .sky-avatar-wrapper.sky-avatar-wrapper-size-medium{padding:2px}.sky-theme-modern sky-file-drop:hover .sky-avatar-wrapper.sky-avatar-wrapper-size-small{padding:1px}.sky-theme-modern sky-file-drop:active .sky-avatar-wrapper,.sky-theme-modern sky-file-drop:focus-within .sky-avatar-wrapper{border:solid 2px #1870B8;padding:3px}.sky-theme-modern sky-file-drop:active .sky-avatar-wrapper.sky-avatar-wrapper-size-medium,.sky-theme-modern sky-file-drop:focus-within .sky-avatar-wrapper.sky-avatar-wrapper-size-medium{padding:1px}.sky-theme-modern sky-file-drop:active .sky-avatar-wrapper.sky-avatar-wrapper-size-small,.sky-theme-modern sky-file-drop:focus-within .sky-avatar-wrapper.sky-avatar-wrapper-size-small{padding:0}.sky-theme-modern sky-file-drop:focus-within:not(:active) .sky-avatar-wrapper{box-shadow:0 1px 8px #0000004d}.sky-theme-modern.sky-theme-mode-dark .sky-avatar-wrapper{background-color:transparent}.sky-theme-modern.sky-theme-mode-dark .sky-avatar-initials-inner{color:#212327}\n"], dependencies: [{ kind: "directive", type:
|
|
191
|
+
SkyAvatarInnerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SkyAvatarInnerComponent, selector: "sky-avatar-inner", inputs: { src: "src", name: "name", size: "size" }, providers: [SkyAvatarAdapterService], ngImport: i0, template: "<div\n class=\"sky-elevation-1 sky-avatar-wrapper\"\n [ngClass]=\"'sky-avatar-wrapper-size-' + size\"\n>\n <div class=\"sky-avatar-image\" [hidden]=\"!src\"></div>\n <div *ngIf=\"src\" class=\"sky-screen-reader-only\">\n {{ 'skyux_avatar_inner_description' | skyLibResources : name }}\n </div>\n <div\n class=\"sky-avatar-initials\"\n [hidden]=\"src || !name\"\n [ngClass]=\"'sky-palette-multi-' + (colorIndex + 1)\"\n >\n <div\n *ngIf=\"size === 'small'\"\n class=\"sky-avatar-initials-inner\"\n [skyThemeClass]=\"{\n 'sky-font-body-sm': 'modern'\n }\"\n >\n {{ initials }}\n </div>\n <div\n *ngIf=\"size === 'medium'\"\n class=\"sky-avatar-initials-inner\"\n [skyThemeClass]=\"{\n 'sky-font-display-3': 'modern'\n }\"\n >\n {{ initials }}\n </div>\n <div\n *ngIf=\"size === 'large'\"\n class=\"sky-avatar-initials-inner\"\n [skyThemeClass]=\"{\n 'sky-font-display-2': 'modern'\n }\"\n >\n {{ initials }}\n </div>\n </div>\n</div>\n", styles: [".sky-avatar-wrapper{height:104px;width:104px;border:solid 2px transparent;border-radius:50%;overflow:hidden;position:relative;top:-2px;left:-2px}.sky-avatar-image,.sky-avatar-initials{height:100px;width:100px;background-position:50%;background-size:cover;display:flex;align-items:center;justify-content:center}.sky-avatar-initials{font-size:50px}.sky-avatar-initials-inner{color:#fff;cursor:default;-webkit-user-select:none;user-select:none}.sky-avatar-wrapper-size-medium{height:69px;width:69px}.sky-avatar-wrapper-size-medium .sky-avatar-image,.sky-avatar-wrapper-size-medium .sky-avatar-initials{height:65px;width:65px}.sky-avatar-wrapper-size-medium .sky-avatar-initials{font-size:32.5px}.sky-avatar-wrapper-size-small{height:36px;width:36px}.sky-avatar-wrapper-size-small .sky-avatar-image,.sky-avatar-wrapper-size-small .sky-avatar-initials{height:32px;width:32px}.sky-avatar-wrapper-size-small .sky-avatar-initials{font-size:16px}.sky-file-drop .sky-avatar-wrapper{cursor:pointer}.sky-file-drop-accept .sky-avatar-wrapper{border-color:#72bf44;border-style:dashed}.sky-file-drop-reject .sky-avatar-wrapper{border-color:#ef4044;border-style:dashed}.sky-theme-modern .sky-avatar-wrapper{height:100px;width:100px;background-color:#fff;border-width:0;padding:5px;top:0;left:0}.sky-theme-modern .sky-avatar-image,.sky-theme-modern .sky-avatar-initials{border-radius:50%;height:90px;width:90px}.sky-theme-modern .sky-avatar-initials-inner{color:#212327}.sky-theme-modern .sky-file-drop-accept .sky-avatar-wrapper,.sky-theme-modern .sky-file-drop-reject .sky-avatar-wrapper{border-width:2px;padding:3px}.sky-theme-modern .sky-file-drop-accept .sky-avatar-wrapper-size-medium,.sky-theme-modern .sky-file-drop-reject .sky-avatar-wrapper-size-medium{padding:1px}.sky-theme-modern .sky-file-drop-accept .sky-avatar-wrapper-size-small,.sky-theme-modern .sky-file-drop-reject .sky-avatar-wrapper-size-small{padding:0}.sky-theme-modern .sky-avatar-wrapper-size-medium{padding:3px;height:65px;width:65px}.sky-theme-modern .sky-avatar-wrapper-size-medium .sky-avatar-image,.sky-theme-modern .sky-avatar-wrapper-size-medium .sky-avatar-initials{height:59px;width:59px}.sky-theme-modern .sky-avatar-wrapper-size-small{padding:2px;height:32px;width:32px}.sky-theme-modern .sky-avatar-wrapper-size-small .sky-avatar-image,.sky-theme-modern .sky-avatar-wrapper-size-small .sky-avatar-initials{height:28px;width:28px}.sky-theme-modern sky-file-drop:hover .sky-avatar-wrapper{border:solid 1px #1870B8;padding:4px}.sky-theme-modern sky-file-drop:hover .sky-avatar-wrapper.sky-avatar-wrapper-size-medium{padding:2px}.sky-theme-modern sky-file-drop:hover .sky-avatar-wrapper.sky-avatar-wrapper-size-small{padding:1px}.sky-theme-modern sky-file-drop:active .sky-avatar-wrapper,.sky-theme-modern sky-file-drop:focus-within .sky-avatar-wrapper{border:solid 2px #1870B8;padding:3px}.sky-theme-modern sky-file-drop:active .sky-avatar-wrapper.sky-avatar-wrapper-size-medium,.sky-theme-modern sky-file-drop:focus-within .sky-avatar-wrapper.sky-avatar-wrapper-size-medium{padding:1px}.sky-theme-modern sky-file-drop:active .sky-avatar-wrapper.sky-avatar-wrapper-size-small,.sky-theme-modern sky-file-drop:focus-within .sky-avatar-wrapper.sky-avatar-wrapper-size-small{padding:0}.sky-theme-modern sky-file-drop:focus-within:not(:active) .sky-avatar-wrapper{box-shadow:0 1px 8px #0000004d}.sky-theme-modern.sky-theme-mode-dark .sky-avatar-wrapper{background-color:transparent}.sky-theme-modern.sky-theme-mode-dark .sky-avatar-initials-inner{color:#212327}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { kind: "pipe", type: i3$1.SkyLibResourcesPipe, name: "skyLibResources" }], encapsulation: i0.ViewEncapsulation.None });
|
|
191
192
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAvatarInnerComponent, decorators: [{
|
|
192
193
|
type: Component,
|
|
193
194
|
args: [{ selector: 'sky-avatar-inner', providers: [SkyAvatarAdapterService], encapsulation: ViewEncapsulation.None, template: "<div\n class=\"sky-elevation-1 sky-avatar-wrapper\"\n [ngClass]=\"'sky-avatar-wrapper-size-' + size\"\n>\n <div class=\"sky-avatar-image\" [hidden]=\"!src\"></div>\n <div *ngIf=\"src\" class=\"sky-screen-reader-only\">\n {{ 'skyux_avatar_inner_description' | skyLibResources : name }}\n </div>\n <div\n class=\"sky-avatar-initials\"\n [hidden]=\"src || !name\"\n [ngClass]=\"'sky-palette-multi-' + (colorIndex + 1)\"\n >\n <div\n *ngIf=\"size === 'small'\"\n class=\"sky-avatar-initials-inner\"\n [skyThemeClass]=\"{\n 'sky-font-body-sm': 'modern'\n }\"\n >\n {{ initials }}\n </div>\n <div\n *ngIf=\"size === 'medium'\"\n class=\"sky-avatar-initials-inner\"\n [skyThemeClass]=\"{\n 'sky-font-display-3': 'modern'\n }\"\n >\n {{ initials }}\n </div>\n <div\n *ngIf=\"size === 'large'\"\n class=\"sky-avatar-initials-inner\"\n [skyThemeClass]=\"{\n 'sky-font-display-2': 'modern'\n }\"\n >\n {{ initials }}\n </div>\n </div>\n</div>\n", styles: [".sky-avatar-wrapper{height:104px;width:104px;border:solid 2px transparent;border-radius:50%;overflow:hidden;position:relative;top:-2px;left:-2px}.sky-avatar-image,.sky-avatar-initials{height:100px;width:100px;background-position:50%;background-size:cover;display:flex;align-items:center;justify-content:center}.sky-avatar-initials{font-size:50px}.sky-avatar-initials-inner{color:#fff;cursor:default;-webkit-user-select:none;user-select:none}.sky-avatar-wrapper-size-medium{height:69px;width:69px}.sky-avatar-wrapper-size-medium .sky-avatar-image,.sky-avatar-wrapper-size-medium .sky-avatar-initials{height:65px;width:65px}.sky-avatar-wrapper-size-medium .sky-avatar-initials{font-size:32.5px}.sky-avatar-wrapper-size-small{height:36px;width:36px}.sky-avatar-wrapper-size-small .sky-avatar-image,.sky-avatar-wrapper-size-small .sky-avatar-initials{height:32px;width:32px}.sky-avatar-wrapper-size-small .sky-avatar-initials{font-size:16px}.sky-file-drop .sky-avatar-wrapper{cursor:pointer}.sky-file-drop-accept .sky-avatar-wrapper{border-color:#72bf44;border-style:dashed}.sky-file-drop-reject .sky-avatar-wrapper{border-color:#ef4044;border-style:dashed}.sky-theme-modern .sky-avatar-wrapper{height:100px;width:100px;background-color:#fff;border-width:0;padding:5px;top:0;left:0}.sky-theme-modern .sky-avatar-image,.sky-theme-modern .sky-avatar-initials{border-radius:50%;height:90px;width:90px}.sky-theme-modern .sky-avatar-initials-inner{color:#212327}.sky-theme-modern .sky-file-drop-accept .sky-avatar-wrapper,.sky-theme-modern .sky-file-drop-reject .sky-avatar-wrapper{border-width:2px;padding:3px}.sky-theme-modern .sky-file-drop-accept .sky-avatar-wrapper-size-medium,.sky-theme-modern .sky-file-drop-reject .sky-avatar-wrapper-size-medium{padding:1px}.sky-theme-modern .sky-file-drop-accept .sky-avatar-wrapper-size-small,.sky-theme-modern .sky-file-drop-reject .sky-avatar-wrapper-size-small{padding:0}.sky-theme-modern .sky-avatar-wrapper-size-medium{padding:3px;height:65px;width:65px}.sky-theme-modern .sky-avatar-wrapper-size-medium .sky-avatar-image,.sky-theme-modern .sky-avatar-wrapper-size-medium .sky-avatar-initials{height:59px;width:59px}.sky-theme-modern .sky-avatar-wrapper-size-small{padding:2px;height:32px;width:32px}.sky-theme-modern .sky-avatar-wrapper-size-small .sky-avatar-image,.sky-theme-modern .sky-avatar-wrapper-size-small .sky-avatar-initials{height:28px;width:28px}.sky-theme-modern sky-file-drop:hover .sky-avatar-wrapper{border:solid 1px #1870B8;padding:4px}.sky-theme-modern sky-file-drop:hover .sky-avatar-wrapper.sky-avatar-wrapper-size-medium{padding:2px}.sky-theme-modern sky-file-drop:hover .sky-avatar-wrapper.sky-avatar-wrapper-size-small{padding:1px}.sky-theme-modern sky-file-drop:active .sky-avatar-wrapper,.sky-theme-modern sky-file-drop:focus-within .sky-avatar-wrapper{border:solid 2px #1870B8;padding:3px}.sky-theme-modern sky-file-drop:active .sky-avatar-wrapper.sky-avatar-wrapper-size-medium,.sky-theme-modern sky-file-drop:focus-within .sky-avatar-wrapper.sky-avatar-wrapper-size-medium{padding:1px}.sky-theme-modern sky-file-drop:active .sky-avatar-wrapper.sky-avatar-wrapper-size-small,.sky-theme-modern sky-file-drop:focus-within .sky-avatar-wrapper.sky-avatar-wrapper-size-small{padding:0}.sky-theme-modern sky-file-drop:focus-within:not(:active) .sky-avatar-wrapper{box-shadow:0 1px 8px #0000004d}.sky-theme-modern.sky-theme-mode-dark .sky-avatar-wrapper{background-color:transparent}.sky-theme-modern.sky-theme-mode-dark .sky-avatar-initials-inner{color:#212327}\n"] }]
|
|
@@ -202,7 +203,7 @@ function getInitial(name) {
|
|
|
202
203
|
return name.charAt(0).toUpperCase();
|
|
203
204
|
}
|
|
204
205
|
|
|
205
|
-
var _SkyAvatarComponent_instances, _SkyAvatarComponent__canChange, _SkyAvatarComponent__name,
|
|
206
|
+
var _SkyAvatarComponent_instances, _SkyAvatarComponent__canChange, _SkyAvatarComponent__name, _SkyAvatarComponent__src, _SkyAvatarComponent_errorService, _SkyAvatarComponent_fileSizePipe, _SkyAvatarComponent_resourcesService, _SkyAvatarComponent_defaultInputProvider, _SkyAvatarComponent_handleError, _SkyAvatarComponent_maxFileSizeText, _SkyAvatarComponent_openErrorModal, _SkyAvatarComponent_getString;
|
|
206
207
|
const MAX_FILE_SIZE_DEFAULT = 500000;
|
|
207
208
|
class SkyAvatarComponent {
|
|
208
209
|
/**
|
|
@@ -242,17 +243,6 @@ class SkyAvatarComponent {
|
|
|
242
243
|
get src() {
|
|
243
244
|
return __classPrivateFieldGet(this, _SkyAvatarComponent__src, "f");
|
|
244
245
|
}
|
|
245
|
-
/**
|
|
246
|
-
* The size of the avatar.
|
|
247
|
-
* Acceptable values are: `"small"`, `"medium"`, and `"large"`.
|
|
248
|
-
* @default "large"
|
|
249
|
-
*/
|
|
250
|
-
set size(value) {
|
|
251
|
-
__classPrivateFieldSet(this, _SkyAvatarComponent__size, value ?? 'large', "f");
|
|
252
|
-
}
|
|
253
|
-
get size() {
|
|
254
|
-
return __classPrivateFieldGet(this, _SkyAvatarComponent__size, "f");
|
|
255
|
-
}
|
|
256
246
|
constructor(errorService, fileSizePipe, resourcesService) {
|
|
257
247
|
_SkyAvatarComponent_instances.add(this);
|
|
258
248
|
/**
|
|
@@ -266,14 +256,15 @@ class SkyAvatarComponent {
|
|
|
266
256
|
this.avatarChanged = new EventEmitter();
|
|
267
257
|
_SkyAvatarComponent__canChange.set(this, false);
|
|
268
258
|
_SkyAvatarComponent__name.set(this, void 0);
|
|
269
|
-
_SkyAvatarComponent__size.set(this, 'large');
|
|
270
259
|
_SkyAvatarComponent__src.set(this, void 0);
|
|
271
260
|
_SkyAvatarComponent_errorService.set(this, void 0);
|
|
272
261
|
_SkyAvatarComponent_fileSizePipe.set(this, void 0);
|
|
273
262
|
_SkyAvatarComponent_resourcesService.set(this, void 0);
|
|
263
|
+
_SkyAvatarComponent_defaultInputProvider.set(this, inject(SkyDefaultInputProvider, { optional: true }));
|
|
274
264
|
__classPrivateFieldSet(this, _SkyAvatarComponent_errorService, errorService, "f");
|
|
275
265
|
__classPrivateFieldSet(this, _SkyAvatarComponent_fileSizePipe, fileSizePipe, "f");
|
|
276
266
|
__classPrivateFieldSet(this, _SkyAvatarComponent_resourcesService, resourcesService, "f");
|
|
267
|
+
this.sizeDefault = __classPrivateFieldGet(this, _SkyAvatarComponent_defaultInputProvider, "f")?.getValue('avatar', 'size');
|
|
277
268
|
}
|
|
278
269
|
photoDrop(result) {
|
|
279
270
|
/* sanity check */
|
|
@@ -286,7 +277,7 @@ class SkyAvatarComponent {
|
|
|
286
277
|
}
|
|
287
278
|
}
|
|
288
279
|
}
|
|
289
|
-
_SkyAvatarComponent__canChange = new WeakMap(), _SkyAvatarComponent__name = new WeakMap(),
|
|
280
|
+
_SkyAvatarComponent__canChange = new WeakMap(), _SkyAvatarComponent__name = new WeakMap(), _SkyAvatarComponent__src = new WeakMap(), _SkyAvatarComponent_errorService = new WeakMap(), _SkyAvatarComponent_fileSizePipe = new WeakMap(), _SkyAvatarComponent_resourcesService = new WeakMap(), _SkyAvatarComponent_defaultInputProvider = new WeakMap(), _SkyAvatarComponent_instances = new WeakSet(), _SkyAvatarComponent_handleError = function _SkyAvatarComponent_handleError(rejectedFiles) {
|
|
290
281
|
const rejectedFile = rejectedFiles[0];
|
|
291
282
|
if (rejectedFile.errorType === 'maxFileSize') {
|
|
292
283
|
const title = __classPrivateFieldGet(this, _SkyAvatarComponent_instances, "m", _SkyAvatarComponent_getString).call(this, 'skyux_avatar_error_too_large_title');
|
|
@@ -311,12 +302,12 @@ _SkyAvatarComponent__canChange = new WeakMap(), _SkyAvatarComponent__name = new
|
|
|
311
302
|
// TODO: Need to implement the async `getString` method in a breaking change.
|
|
312
303
|
return __classPrivateFieldGet(this, _SkyAvatarComponent_resourcesService, "f").getStringForLocale({ locale: 'en-US' }, key, ...args);
|
|
313
304
|
};
|
|
314
|
-
SkyAvatarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAvatarComponent, deps: [{ token: i1.SkyErrorModalService }, { token: i2
|
|
315
|
-
SkyAvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SkyAvatarComponent, selector: "sky-avatar", inputs: { canChange: "canChange", name: "name", src: "src", maxFileSize: "maxFileSize", size: "size" }, outputs: { avatarChanged: "avatarChanged" }, ngImport: i0, template: "<div class=\"sky-avatar\">\n <div *ngIf=\"canChange\">\n <div class=\"sky-avatar-file-drop\">\n <sky-file-drop\n [acceptedTypes]=\"'image/*'\"\n [fileUploadAriaLabel]=\"\n src\n ? ('skyux_avatar_upload_change_aria_label' | skyLibResources : name)\n : ('skyux_avatar_upload_new_aria_label' | skyLibResources : name)\n \"\n [multiple]=\"false\"\n [maxFileSize]=\"maxFileSize\"\n [multiple]=\"false\"\n (filesChanged)=\"photoDrop($event)\"\n >\n <ng-container *ngTemplateOutlet=\"innerTemplate\"></ng-container>\n </sky-file-drop>\n </div>\n </div>\n <div *ngIf=\"!canChange\">\n <ng-container *ngTemplateOutlet=\"innerTemplate\"></ng-container>\n </div>\n</div>\n\n<ng-template #innerTemplate>\n <sky-avatar-inner
|
|
305
|
+
SkyAvatarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAvatarComponent, deps: [{ token: i1.SkyErrorModalService }, { token: i2.SkyFileSizePipe }, { token: i3$1.SkyLibResourcesService }], target: i0.ɵɵFactoryTarget.Component });
|
|
306
|
+
SkyAvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SkyAvatarComponent, selector: "sky-avatar", inputs: { canChange: "canChange", name: "name", src: "src", maxFileSize: "maxFileSize", size: "size" }, outputs: { avatarChanged: "avatarChanged" }, ngImport: i0, template: "<div class=\"sky-avatar\">\n <div *ngIf=\"canChange\">\n <div class=\"sky-avatar-file-drop\">\n <sky-file-drop\n [acceptedTypes]=\"'image/*'\"\n [fileUploadAriaLabel]=\"\n src\n ? ('skyux_avatar_upload_change_aria_label' | skyLibResources : name)\n : ('skyux_avatar_upload_new_aria_label' | skyLibResources : name)\n \"\n [multiple]=\"false\"\n [maxFileSize]=\"maxFileSize\"\n [multiple]=\"false\"\n (filesChanged)=\"photoDrop($event)\"\n >\n <ng-container *ngTemplateOutlet=\"innerTemplate\"></ng-container>\n </sky-file-drop>\n </div>\n </div>\n <div *ngIf=\"!canChange\">\n <ng-container *ngTemplateOutlet=\"innerTemplate\"></ng-container>\n </div>\n</div>\n\n<ng-template #innerTemplate>\n <sky-avatar-inner\n [name]=\"name\"\n [size]=\"size ?? (sizeDefault | async) ?? 'large'\"\n [src]=\"src\"\n ></sky-avatar-inner>\n</ng-template>\n", styles: [".sky-avatar .sky-file-drop-col{flex-basis:initial}.sky-theme-modern .sky-file-drop:focus{outline:none}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.λ8, selector: "sky-file-drop", inputs: ["fileUploadAriaLabel", "linkUploadAriaLabel", "minFileSize", "maxFileSize", "multiple", "validateFn", "acceptedTypes", "noClick", "allowLinks"], outputs: ["filesChanged", "linkInputBlur", "linkChanged"] }, { kind: "component", type: SkyAvatarInnerComponent, selector: "sky-avatar-inner", inputs: ["src", "name", "size"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i3$1.SkyLibResourcesPipe, name: "skyLibResources" }], encapsulation: i0.ViewEncapsulation.None });
|
|
316
307
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyAvatarComponent, decorators: [{
|
|
317
308
|
type: Component,
|
|
318
|
-
args: [{ selector: 'sky-avatar', encapsulation: ViewEncapsulation.None, template: "<div class=\"sky-avatar\">\n <div *ngIf=\"canChange\">\n <div class=\"sky-avatar-file-drop\">\n <sky-file-drop\n [acceptedTypes]=\"'image/*'\"\n [fileUploadAriaLabel]=\"\n src\n ? ('skyux_avatar_upload_change_aria_label' | skyLibResources : name)\n : ('skyux_avatar_upload_new_aria_label' | skyLibResources : name)\n \"\n [multiple]=\"false\"\n [maxFileSize]=\"maxFileSize\"\n [multiple]=\"false\"\n (filesChanged)=\"photoDrop($event)\"\n >\n <ng-container *ngTemplateOutlet=\"innerTemplate\"></ng-container>\n </sky-file-drop>\n </div>\n </div>\n <div *ngIf=\"!canChange\">\n <ng-container *ngTemplateOutlet=\"innerTemplate\"></ng-container>\n </div>\n</div>\n\n<ng-template #innerTemplate>\n <sky-avatar-inner
|
|
319
|
-
}], ctorParameters: function () { return [{ type: i1.SkyErrorModalService }, { type: i2
|
|
309
|
+
args: [{ selector: 'sky-avatar', encapsulation: ViewEncapsulation.None, template: "<div class=\"sky-avatar\">\n <div *ngIf=\"canChange\">\n <div class=\"sky-avatar-file-drop\">\n <sky-file-drop\n [acceptedTypes]=\"'image/*'\"\n [fileUploadAriaLabel]=\"\n src\n ? ('skyux_avatar_upload_change_aria_label' | skyLibResources : name)\n : ('skyux_avatar_upload_new_aria_label' | skyLibResources : name)\n \"\n [multiple]=\"false\"\n [maxFileSize]=\"maxFileSize\"\n [multiple]=\"false\"\n (filesChanged)=\"photoDrop($event)\"\n >\n <ng-container *ngTemplateOutlet=\"innerTemplate\"></ng-container>\n </sky-file-drop>\n </div>\n </div>\n <div *ngIf=\"!canChange\">\n <ng-container *ngTemplateOutlet=\"innerTemplate\"></ng-container>\n </div>\n</div>\n\n<ng-template #innerTemplate>\n <sky-avatar-inner\n [name]=\"name\"\n [size]=\"size ?? (sizeDefault | async) ?? 'large'\"\n [src]=\"src\"\n ></sky-avatar-inner>\n</ng-template>\n", styles: [".sky-avatar .sky-file-drop-col{flex-basis:initial}.sky-theme-modern .sky-file-drop:focus{outline:none}\n"] }]
|
|
310
|
+
}], ctorParameters: function () { return [{ type: i1.SkyErrorModalService }, { type: i2.SkyFileSizePipe }, { type: i3$1.SkyLibResourcesService }]; }, propDecorators: { canChange: [{
|
|
320
311
|
type: Input
|
|
321
312
|
}], name: [{
|
|
322
313
|
type: Input
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skyux-avatar.mjs","sources":["../../../../../libs/components/avatar/src/lib/modules/shared/sky-avatar-resources.module.ts","../../../../../libs/components/avatar/src/lib/modules/avatar/avatar-adapter.service.ts","../../../../../libs/components/avatar/src/lib/modules/avatar/avatar.inner.component.ts","../../../../../libs/components/avatar/src/lib/modules/avatar/avatar.inner.component.html","../../../../../libs/components/avatar/src/lib/modules/avatar/avatar.component.ts","../../../../../libs/components/avatar/src/lib/modules/avatar/avatar.component.html","../../../../../libs/components/avatar/src/lib/modules/avatar/avatar.module.ts","../../../../../libs/components/avatar/src/skyux-avatar.ts"],"sourcesContent":["/**\n * NOTICE: DO NOT MODIFY THIS FILE!\n * The contents of this file were automatically generated by\n * the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-avatar' schematic.\n * To update this file, simply rerun the command.\n */\nimport { NgModule } from '@angular/core';\nimport {\n SKY_LIB_RESOURCES_PROVIDERS,\n SkyAppLocaleInfo,\n SkyI18nModule,\n SkyLibResources,\n SkyLibResourcesProvider,\n getLibStringForLocale,\n} from '@skyux/i18n';\n\nconst RESOURCES: { [locale: string]: SkyLibResources } = {\n 'EN-US': {\n skyux_avatar_error_not_image_description: {\n message: 'Please choose a file that is a valid image.',\n },\n skyux_avatar_error_not_image_title: { message: 'File is not an image.' },\n skyux_avatar_error_too_large_description: {\n message: 'Please choose an image that is less than {0}.',\n },\n skyux_avatar_error_too_large_title: { message: 'File is too large.' },\n skyux_avatar_errormodal_ok: { message: 'OK' },\n skyux_avatar_inner_description: { message: 'Profile picture of {0}' },\n skyux_avatar_upload_change_aria_label: {\n message:\n 'Change profile photo of {0}. Drag a file here or click to browse.',\n },\n skyux_avatar_upload_new_aria_label: {\n message: 'Add profile photo of {0}. Drag a file here or click to browse.',\n },\n },\n};\n\nexport class SkyAvatarResourcesProvider implements SkyLibResourcesProvider {\n public getString(\n localeInfo: SkyAppLocaleInfo,\n name: string\n ): string | undefined {\n return getLibStringForLocale(RESOURCES, localeInfo.locale, name);\n }\n}\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n exports: [SkyI18nModule],\n providers: [\n {\n provide: SKY_LIB_RESOURCES_PROVIDERS,\n useClass: SkyAvatarResourcesProvider,\n multi: true,\n },\n ],\n})\nexport class SkyAvatarResourcesModule {}\n","import { ElementRef, Injectable } from '@angular/core';\n\nimport { SkyAvatarSrc } from './avatar-src';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyAvatarAdapterService {\n #blobUrl: string | undefined;\n\n public updateImage(elementRef: ElementRef, src: SkyAvatarSrc) {\n this.#revokeBlobUrl();\n\n const el = elementRef.nativeElement;\n\n /*istanbul ignore else */\n if (el) {\n const imageEl = el.querySelector('.sky-avatar-image');\n\n /*istanbul ignore else */\n if (imageEl) {\n let url = src;\n\n if (src instanceof File || src instanceof Blob) {\n url = this.#createBlobUrl(src);\n }\n\n // Notice the quotes inside the `url` function. This ensures proper url escaping.\n imageEl.style.backgroundImage = 'url(\"' + url + '\")';\n }\n }\n }\n\n public destroy() {\n this.#revokeBlobUrl();\n }\n\n #createBlobUrl(src: Blob | File) {\n const url = URL.createObjectURL(src);\n\n // Keep the last blob URL around so we can revoke it later.\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL\n this.#blobUrl = url;\n return url;\n }\n\n #revokeBlobUrl() {\n if (this.#blobUrl) {\n URL.revokeObjectURL(this.#blobUrl);\n this.#blobUrl = undefined;\n }\n }\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n Input,\n OnDestroy,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { SkyAvatarAdapterService } from './avatar-adapter.service';\nimport { SkyAvatarSize } from './avatar-size';\nimport { SkyAvatarSrc } from './avatar-src';\n\n/**\n * @internal\n */\n@Component({\n selector: 'sky-avatar-inner',\n templateUrl: './avatar.inner.component.html',\n styleUrls: ['./avatar.inner.component.scss'],\n providers: [SkyAvatarAdapterService],\n encapsulation: ViewEncapsulation.None,\n})\nexport class SkyAvatarInnerComponent implements AfterViewInit, OnDestroy {\n public get src(): SkyAvatarSrc | undefined {\n return this.#_src;\n }\n\n @Input()\n public set src(value: SkyAvatarSrc | undefined) {\n this.#_src = value;\n this.#updateImage();\n }\n\n public get name(): string | undefined {\n return this.#_name;\n }\n\n @Input()\n public set name(value: string | undefined) {\n this.#_name = value;\n }\n\n @Input()\n public size: SkyAvatarSize | undefined = 'large';\n\n #viewInitialized = false;\n\n #_src: SkyAvatarSrc | undefined;\n\n #_name: string | undefined;\n\n #elementRef: ElementRef;\n #adapter: SkyAvatarAdapterService;\n\n constructor(elementRef: ElementRef, adapter: SkyAvatarAdapterService) {\n this.#elementRef = elementRef;\n this.#adapter = adapter;\n }\n\n public get initials(): string | undefined {\n let initials: string | undefined;\n\n if (this.name) {\n const nameSplit = this.name.split(' ');\n initials = getInitial(nameSplit[0]);\n\n if (nameSplit.length > 1) {\n initials += getInitial(nameSplit[nameSplit.length - 1]);\n }\n }\n\n return initials;\n }\n\n public get colorIndex(): number {\n const name = this.name;\n let colorIndex: number;\n\n if (name) {\n // Generate a unique-ish color based on the record name. This is deterministic\n // so that a given name will always generate the same color.\n const seed =\n name.charCodeAt(0) + name.charCodeAt(name.length - 1) + name.length;\n colorIndex = Math.abs(seed % 6);\n } else {\n colorIndex = 0;\n }\n\n return colorIndex;\n }\n\n public ngAfterViewInit(): void {\n this.#viewInitialized = true;\n this.#updateImage();\n }\n\n public ngOnDestroy(): void {\n this.#adapter.destroy();\n }\n\n #updateImage(): void {\n if (this.#viewInitialized && this.src) {\n this.#adapter.updateImage(this.#elementRef, this.src);\n }\n }\n}\n\nfunction getInitial(name: string): string {\n return name.charAt(0).toUpperCase();\n}\n","<div\n class=\"sky-elevation-1 sky-avatar-wrapper\"\n [ngClass]=\"'sky-avatar-wrapper-size-' + size\"\n>\n <div class=\"sky-avatar-image\" [hidden]=\"!src\"></div>\n <div *ngIf=\"src\" class=\"sky-screen-reader-only\">\n {{ 'skyux_avatar_inner_description' | skyLibResources : name }}\n </div>\n <div\n class=\"sky-avatar-initials\"\n [hidden]=\"src || !name\"\n [ngClass]=\"'sky-palette-multi-' + (colorIndex + 1)\"\n >\n <div\n *ngIf=\"size === 'small'\"\n class=\"sky-avatar-initials-inner\"\n [skyThemeClass]=\"{\n 'sky-font-body-sm': 'modern'\n }\"\n >\n {{ initials }}\n </div>\n <div\n *ngIf=\"size === 'medium'\"\n class=\"sky-avatar-initials-inner\"\n [skyThemeClass]=\"{\n 'sky-font-display-3': 'modern'\n }\"\n >\n {{ initials }}\n </div>\n <div\n *ngIf=\"size === 'large'\"\n class=\"sky-avatar-initials-inner\"\n [skyThemeClass]=\"{\n 'sky-font-display-2': 'modern'\n }\"\n >\n {{ initials }}\n </div>\n </div>\n</div>\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ErrorModalConfig, SkyErrorModalService } from '@skyux/errors';\nimport { SkyFileDropChange, SkyFileItem, SkyFileSizePipe } from '@skyux/forms';\nimport { SkyLibResourcesService } from '@skyux/i18n';\n\nimport { SkyAvatarSize } from './avatar-size';\nimport { SkyAvatarSrc } from './avatar-src';\n\nconst MAX_FILE_SIZE_DEFAULT = 500000;\n\n@Component({\n selector: 'sky-avatar',\n templateUrl: './avatar.component.html',\n styleUrls: ['./avatar.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class SkyAvatarComponent {\n /**\n * Whether users can change the image. To select a different image,\n * users click the image or drag another image on top of it,\n * much like the `sky-file-drop` component in the\n * [file attachment module](https://developer.blackbaud.com/skyux/components/file-attachments/file-attachment).\n * @default false\n */\n @Input()\n public set canChange(value: boolean | undefined) {\n this.#_canChange = !!value;\n }\n\n public get canChange(): boolean {\n return this.#_canChange;\n }\n\n /**\n * The name of the record that the avatar represents.\n * If the `src` property does not specify an image, the component displays\n * initials from the first and last words in the name. To ensure\n * that the component extracts the correct initials, specify a name with no prefix\n * or suffix, or just specify initials with a space between them. This property is\n * not required, but the component requires either the `name` or `src` property.\n */\n @Input()\n public set name(value: string | undefined) {\n this.#_name = value;\n }\n\n public get name(): string | undefined {\n return this.#_name;\n }\n\n /**\n * The image to identify a record. This property is\n * not required, but the component requires either the `name` or `src` property.\n */\n @Input()\n public set src(value: SkyAvatarSrc | undefined) {\n this.#_src = value;\n }\n\n public get src(): SkyAvatarSrc | undefined {\n return this.#_src;\n }\n\n /**\n * The maximum file size for the image in bytes.\n * @default 500000 bytes\n */\n @Input()\n public maxFileSize: number | undefined = MAX_FILE_SIZE_DEFAULT;\n\n /**\n * The size of the avatar.\n * Acceptable values are: `\"small\"`, `\"medium\"`, and `\"large\"`.\n * @default \"large\"\n */\n @Input()\n public set size(value: SkyAvatarSize | undefined) {\n this.#_size = value ?? 'large';\n }\n\n public get size(): SkyAvatarSize {\n return this.#_size;\n }\n\n /**\n * Emits a `SkyFileItem` object when the image is updated.\n */\n @Output()\n public avatarChanged = new EventEmitter<SkyFileItem>();\n\n #_canChange = false;\n\n #_name: string | undefined;\n\n #_size: SkyAvatarSize = 'large';\n\n #_src: SkyAvatarSrc | undefined;\n\n #errorService: SkyErrorModalService;\n #fileSizePipe: SkyFileSizePipe;\n #resourcesService: SkyLibResourcesService;\n\n constructor(\n errorService: SkyErrorModalService,\n fileSizePipe: SkyFileSizePipe,\n resourcesService: SkyLibResourcesService\n ) {\n this.#errorService = errorService;\n this.#fileSizePipe = fileSizePipe;\n this.#resourcesService = resourcesService;\n }\n\n public photoDrop(result: SkyFileDropChange): void {\n /* sanity check */\n /* istanbul ignore else */\n if (result.files && result.files.length > 0) {\n this.avatarChanged.emit(result.files[0]);\n } else if (result.rejectedFiles && result.rejectedFiles.length > 0) {\n this.#handleError(result.rejectedFiles);\n }\n }\n\n #handleError(rejectedFiles: Array<SkyFileItem>): void {\n const rejectedFile = rejectedFiles[0];\n\n if (rejectedFile.errorType === 'maxFileSize') {\n const title = this.#getString('skyux_avatar_error_too_large_title');\n const description = this.#getString(\n 'skyux_avatar_error_too_large_description',\n this.#maxFileSizeText()\n );\n\n this.#openErrorModal(title, description);\n } else if (rejectedFile.errorType === 'fileType') {\n const title = this.#getString('skyux_avatar_error_not_image_title');\n const description = this.#getString(\n 'skyux_avatar_error_not_image_description'\n );\n\n this.#openErrorModal(title, description);\n }\n }\n\n #maxFileSizeText(): string {\n return this.#fileSizePipe.transform(this.maxFileSize);\n }\n\n #openErrorModal(title: string, description: string): void {\n const config: ErrorModalConfig = {\n errorTitle: title,\n errorDescription: description,\n errorCloseText: this.#getString('skyux_avatar_errormodal_ok'),\n };\n\n this.#errorService.open(config);\n }\n\n #getString(key: string, ...args: any[]): string {\n // TODO: Need to implement the async `getString` method in a breaking change.\n return this.#resourcesService.getStringForLocale(\n { locale: 'en-US' },\n key,\n ...args\n );\n }\n}\n","<div class=\"sky-avatar\">\n <div *ngIf=\"canChange\">\n <div class=\"sky-avatar-file-drop\">\n <sky-file-drop\n [acceptedTypes]=\"'image/*'\"\n [fileUploadAriaLabel]=\"\n src\n ? ('skyux_avatar_upload_change_aria_label' | skyLibResources : name)\n : ('skyux_avatar_upload_new_aria_label' | skyLibResources : name)\n \"\n [multiple]=\"false\"\n [maxFileSize]=\"maxFileSize\"\n [multiple]=\"false\"\n (filesChanged)=\"photoDrop($event)\"\n >\n <ng-container *ngTemplateOutlet=\"innerTemplate\"></ng-container>\n </sky-file-drop>\n </div>\n </div>\n <div *ngIf=\"!canChange\">\n <ng-container *ngTemplateOutlet=\"innerTemplate\"></ng-container>\n </div>\n</div>\n\n<ng-template #innerTemplate>\n <sky-avatar-inner [name]=\"name\" [size]=\"size\" [src]=\"src\"></sky-avatar-inner>\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyErrorModule } from '@skyux/errors';\nimport { SkyFileAttachmentsModule, SkyFileSizePipe } from '@skyux/forms';\nimport { SkyI18nModule } from '@skyux/i18n';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkyAvatarResourcesModule } from '../shared/sky-avatar-resources.module';\n\nimport { SkyAvatarComponent } from './avatar.component';\nimport { SkyAvatarInnerComponent } from './avatar.inner.component';\n\n@NgModule({\n declarations: [SkyAvatarInnerComponent, SkyAvatarComponent],\n imports: [\n CommonModule,\n SkyAvatarResourcesModule,\n SkyErrorModule,\n SkyFileAttachmentsModule,\n SkyI18nModule,\n SkyThemeModule,\n ],\n providers: [SkyFileSizePipe],\n exports: [SkyAvatarComponent],\n})\nexport class SkyAvatarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.SkyAvatarAdapterService","i4","i2","i3","i5.SkyAvatarInnerComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"skyux-avatar.mjs","sources":["../../../../../libs/components/avatar/src/lib/modules/shared/sky-avatar-resources.module.ts","../../../../../libs/components/avatar/src/lib/modules/avatar/avatar-adapter.service.ts","../../../../../libs/components/avatar/src/lib/modules/avatar/avatar.inner.component.ts","../../../../../libs/components/avatar/src/lib/modules/avatar/avatar.inner.component.html","../../../../../libs/components/avatar/src/lib/modules/avatar/avatar.component.ts","../../../../../libs/components/avatar/src/lib/modules/avatar/avatar.component.html","../../../../../libs/components/avatar/src/lib/modules/avatar/avatar.module.ts","../../../../../libs/components/avatar/src/skyux-avatar.ts"],"sourcesContent":["/**\n * NOTICE: DO NOT MODIFY THIS FILE!\n * The contents of this file were automatically generated by\n * the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-avatar' schematic.\n * To update this file, simply rerun the command.\n */\nimport { NgModule } from '@angular/core';\nimport {\n SKY_LIB_RESOURCES_PROVIDERS,\n SkyAppLocaleInfo,\n SkyI18nModule,\n SkyLibResources,\n SkyLibResourcesProvider,\n getLibStringForLocale,\n} from '@skyux/i18n';\n\nconst RESOURCES: { [locale: string]: SkyLibResources } = {\n 'EN-US': {\n skyux_avatar_error_not_image_description: {\n message: 'Please choose a file that is a valid image.',\n },\n skyux_avatar_error_not_image_title: { message: 'File is not an image.' },\n skyux_avatar_error_too_large_description: {\n message: 'Please choose an image that is less than {0}.',\n },\n skyux_avatar_error_too_large_title: { message: 'File is too large.' },\n skyux_avatar_errormodal_ok: { message: 'OK' },\n skyux_avatar_inner_description: { message: 'Profile picture of {0}' },\n skyux_avatar_upload_change_aria_label: {\n message:\n 'Change profile photo of {0}. Drag a file here or click to browse.',\n },\n skyux_avatar_upload_new_aria_label: {\n message: 'Add profile photo of {0}. Drag a file here or click to browse.',\n },\n },\n};\n\nexport class SkyAvatarResourcesProvider implements SkyLibResourcesProvider {\n public getString(\n localeInfo: SkyAppLocaleInfo,\n name: string\n ): string | undefined {\n return getLibStringForLocale(RESOURCES, localeInfo.locale, name);\n }\n}\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n exports: [SkyI18nModule],\n providers: [\n {\n provide: SKY_LIB_RESOURCES_PROVIDERS,\n useClass: SkyAvatarResourcesProvider,\n multi: true,\n },\n ],\n})\nexport class SkyAvatarResourcesModule {}\n","import { ElementRef, Injectable } from '@angular/core';\n\nimport { SkyAvatarSrc } from './avatar-src';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyAvatarAdapterService {\n #blobUrl: string | undefined;\n\n public updateImage(elementRef: ElementRef, src: SkyAvatarSrc) {\n this.#revokeBlobUrl();\n\n const el = elementRef.nativeElement;\n\n /*istanbul ignore else */\n if (el) {\n const imageEl = el.querySelector('.sky-avatar-image');\n\n /*istanbul ignore else */\n if (imageEl) {\n let url = src;\n\n if (src instanceof File || src instanceof Blob) {\n url = this.#createBlobUrl(src);\n }\n\n // Notice the quotes inside the `url` function. This ensures proper url escaping.\n imageEl.style.backgroundImage = 'url(\"' + url + '\")';\n }\n }\n }\n\n public destroy() {\n this.#revokeBlobUrl();\n }\n\n #createBlobUrl(src: Blob | File) {\n const url = URL.createObjectURL(src);\n\n // Keep the last blob URL around so we can revoke it later.\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL\n this.#blobUrl = url;\n return url;\n }\n\n #revokeBlobUrl() {\n if (this.#blobUrl) {\n URL.revokeObjectURL(this.#blobUrl);\n this.#blobUrl = undefined;\n }\n }\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n Input,\n OnDestroy,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { SkyAvatarAdapterService } from './avatar-adapter.service';\nimport { SkyAvatarSize } from './avatar-size';\nimport { SkyAvatarSrc } from './avatar-src';\n\n/**\n * @internal\n */\n@Component({\n selector: 'sky-avatar-inner',\n templateUrl: './avatar.inner.component.html',\n styleUrls: ['./avatar.inner.component.scss'],\n providers: [SkyAvatarAdapterService],\n encapsulation: ViewEncapsulation.None,\n})\nexport class SkyAvatarInnerComponent implements AfterViewInit, OnDestroy {\n public get src(): SkyAvatarSrc | undefined {\n return this.#_src;\n }\n\n @Input()\n public set src(value: SkyAvatarSrc | undefined) {\n this.#_src = value;\n this.#updateImage();\n }\n\n public get name(): string | undefined {\n return this.#_name;\n }\n\n @Input()\n public set name(value: string | undefined) {\n this.#_name = value;\n }\n\n @Input()\n public size: SkyAvatarSize | undefined = 'large';\n\n #viewInitialized = false;\n\n #_src: SkyAvatarSrc | undefined;\n\n #_name: string | undefined;\n\n #elementRef: ElementRef;\n #adapter: SkyAvatarAdapterService;\n\n constructor(elementRef: ElementRef, adapter: SkyAvatarAdapterService) {\n this.#elementRef = elementRef;\n this.#adapter = adapter;\n }\n\n public get initials(): string | undefined {\n let initials: string | undefined;\n\n if (this.name) {\n const nameSplit = this.name.split(' ');\n initials = getInitial(nameSplit[0]);\n\n if (nameSplit.length > 1) {\n initials += getInitial(nameSplit[nameSplit.length - 1]);\n }\n }\n\n return initials;\n }\n\n public get colorIndex(): number {\n const name = this.name;\n let colorIndex: number;\n\n if (name) {\n // Generate a unique-ish color based on the record name. This is deterministic\n // so that a given name will always generate the same color.\n const seed =\n name.charCodeAt(0) + name.charCodeAt(name.length - 1) + name.length;\n colorIndex = Math.abs(seed % 6);\n } else {\n colorIndex = 0;\n }\n\n return colorIndex;\n }\n\n public ngAfterViewInit(): void {\n this.#viewInitialized = true;\n this.#updateImage();\n }\n\n public ngOnDestroy(): void {\n this.#adapter.destroy();\n }\n\n #updateImage(): void {\n if (this.#viewInitialized && this.src) {\n this.#adapter.updateImage(this.#elementRef, this.src);\n }\n }\n}\n\nfunction getInitial(name: string): string {\n return name.charAt(0).toUpperCase();\n}\n","<div\n class=\"sky-elevation-1 sky-avatar-wrapper\"\n [ngClass]=\"'sky-avatar-wrapper-size-' + size\"\n>\n <div class=\"sky-avatar-image\" [hidden]=\"!src\"></div>\n <div *ngIf=\"src\" class=\"sky-screen-reader-only\">\n {{ 'skyux_avatar_inner_description' | skyLibResources : name }}\n </div>\n <div\n class=\"sky-avatar-initials\"\n [hidden]=\"src || !name\"\n [ngClass]=\"'sky-palette-multi-' + (colorIndex + 1)\"\n >\n <div\n *ngIf=\"size === 'small'\"\n class=\"sky-avatar-initials-inner\"\n [skyThemeClass]=\"{\n 'sky-font-body-sm': 'modern'\n }\"\n >\n {{ initials }}\n </div>\n <div\n *ngIf=\"size === 'medium'\"\n class=\"sky-avatar-initials-inner\"\n [skyThemeClass]=\"{\n 'sky-font-display-3': 'modern'\n }\"\n >\n {{ initials }}\n </div>\n <div\n *ngIf=\"size === 'large'\"\n class=\"sky-avatar-initials-inner\"\n [skyThemeClass]=\"{\n 'sky-font-display-2': 'modern'\n }\"\n >\n {{ initials }}\n </div>\n </div>\n</div>\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n ViewEncapsulation,\n inject,\n} from '@angular/core';\nimport { SkyDefaultInputProvider } from '@skyux/core';\nimport { ErrorModalConfig, SkyErrorModalService } from '@skyux/errors';\nimport { SkyFileDropChange, SkyFileItem, SkyFileSizePipe } from '@skyux/forms';\nimport { SkyLibResourcesService } from '@skyux/i18n';\n\nimport { Observable } from 'rxjs';\n\nimport { SkyAvatarSize } from './avatar-size';\nimport { SkyAvatarSrc } from './avatar-src';\n\nconst MAX_FILE_SIZE_DEFAULT = 500000;\n\n@Component({\n selector: 'sky-avatar',\n templateUrl: './avatar.component.html',\n styleUrls: ['./avatar.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class SkyAvatarComponent {\n /**\n * Whether users can change the image. To select a different image,\n * users click the image or drag another image on top of it,\n * much like the `sky-file-drop` component in the\n * [file attachment module](https://developer.blackbaud.com/skyux/components/file-attachments/file-attachment).\n * @default false\n */\n @Input()\n public set canChange(value: boolean | undefined) {\n this.#_canChange = !!value;\n }\n\n public get canChange(): boolean {\n return this.#_canChange;\n }\n\n /**\n * The name of the record that the avatar represents.\n * If the `src` property does not specify an image, the component displays\n * initials from the first and last words in the name. To ensure\n * that the component extracts the correct initials, specify a name with no prefix\n * or suffix, or just specify initials with a space between them. This property is\n * not required, but the component requires either the `name` or `src` property.\n */\n @Input()\n public set name(value: string | undefined) {\n this.#_name = value;\n }\n\n public get name(): string | undefined {\n return this.#_name;\n }\n\n /**\n * The image to identify a record. This property is\n * not required, but the component requires either the `name` or `src` property.\n */\n @Input()\n public set src(value: SkyAvatarSrc | undefined) {\n this.#_src = value;\n }\n\n public get src(): SkyAvatarSrc | undefined {\n return this.#_src;\n }\n\n /**\n * The maximum file size for the image in bytes.\n * @default 500000 bytes\n */\n @Input()\n public maxFileSize: number | undefined = MAX_FILE_SIZE_DEFAULT;\n\n /**\n * The size of the avatar.\n * Acceptable values are: `\"small\"`, `\"medium\"`, and `\"large\"`.\n * @default \"large\"\n */\n @Input()\n public size: SkyAvatarSize | undefined;\n\n /**\n * Emits a `SkyFileItem` object when the image is updated.\n */\n @Output()\n public avatarChanged = new EventEmitter<SkyFileItem>();\n\n protected sizeDefault: Observable<SkyAvatarSize> | undefined;\n\n #_canChange = false;\n\n #_name: string | undefined;\n\n #_src: SkyAvatarSrc | undefined;\n\n #errorService: SkyErrorModalService;\n #fileSizePipe: SkyFileSizePipe;\n #resourcesService: SkyLibResourcesService;\n\n #defaultInputProvider = inject(SkyDefaultInputProvider, { optional: true });\n\n constructor(\n errorService: SkyErrorModalService,\n fileSizePipe: SkyFileSizePipe,\n resourcesService: SkyLibResourcesService\n ) {\n this.#errorService = errorService;\n this.#fileSizePipe = fileSizePipe;\n this.#resourcesService = resourcesService;\n\n this.sizeDefault = this.#defaultInputProvider?.getValue<SkyAvatarSize>(\n 'avatar',\n 'size'\n );\n }\n\n public photoDrop(result: SkyFileDropChange): void {\n /* sanity check */\n /* istanbul ignore else */\n if (result.files && result.files.length > 0) {\n this.avatarChanged.emit(result.files[0]);\n } else if (result.rejectedFiles && result.rejectedFiles.length > 0) {\n this.#handleError(result.rejectedFiles);\n }\n }\n\n #handleError(rejectedFiles: Array<SkyFileItem>): void {\n const rejectedFile = rejectedFiles[0];\n\n if (rejectedFile.errorType === 'maxFileSize') {\n const title = this.#getString('skyux_avatar_error_too_large_title');\n const description = this.#getString(\n 'skyux_avatar_error_too_large_description',\n this.#maxFileSizeText()\n );\n\n this.#openErrorModal(title, description);\n } else if (rejectedFile.errorType === 'fileType') {\n const title = this.#getString('skyux_avatar_error_not_image_title');\n const description = this.#getString(\n 'skyux_avatar_error_not_image_description'\n );\n\n this.#openErrorModal(title, description);\n }\n }\n\n #maxFileSizeText(): string {\n return this.#fileSizePipe.transform(this.maxFileSize);\n }\n\n #openErrorModal(title: string, description: string): void {\n const config: ErrorModalConfig = {\n errorTitle: title,\n errorDescription: description,\n errorCloseText: this.#getString('skyux_avatar_errormodal_ok'),\n };\n\n this.#errorService.open(config);\n }\n\n #getString(key: string, ...args: any[]): string {\n // TODO: Need to implement the async `getString` method in a breaking change.\n return this.#resourcesService.getStringForLocale(\n { locale: 'en-US' },\n key,\n ...args\n );\n }\n}\n","<div class=\"sky-avatar\">\n <div *ngIf=\"canChange\">\n <div class=\"sky-avatar-file-drop\">\n <sky-file-drop\n [acceptedTypes]=\"'image/*'\"\n [fileUploadAriaLabel]=\"\n src\n ? ('skyux_avatar_upload_change_aria_label' | skyLibResources : name)\n : ('skyux_avatar_upload_new_aria_label' | skyLibResources : name)\n \"\n [multiple]=\"false\"\n [maxFileSize]=\"maxFileSize\"\n [multiple]=\"false\"\n (filesChanged)=\"photoDrop($event)\"\n >\n <ng-container *ngTemplateOutlet=\"innerTemplate\"></ng-container>\n </sky-file-drop>\n </div>\n </div>\n <div *ngIf=\"!canChange\">\n <ng-container *ngTemplateOutlet=\"innerTemplate\"></ng-container>\n </div>\n</div>\n\n<ng-template #innerTemplate>\n <sky-avatar-inner\n [name]=\"name\"\n [size]=\"size ?? (sizeDefault | async) ?? 'large'\"\n [src]=\"src\"\n ></sky-avatar-inner>\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyErrorModule } from '@skyux/errors';\nimport { SkyFileAttachmentsModule, SkyFileSizePipe } from '@skyux/forms';\nimport { SkyI18nModule } from '@skyux/i18n';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkyAvatarResourcesModule } from '../shared/sky-avatar-resources.module';\n\nimport { SkyAvatarComponent } from './avatar.component';\nimport { SkyAvatarInnerComponent } from './avatar.inner.component';\n\n@NgModule({\n declarations: [SkyAvatarInnerComponent, SkyAvatarComponent],\n imports: [\n CommonModule,\n SkyAvatarResourcesModule,\n SkyErrorModule,\n SkyFileAttachmentsModule,\n SkyI18nModule,\n SkyThemeModule,\n ],\n providers: [SkyFileSizePipe],\n exports: [SkyAvatarComponent],\n})\nexport class SkyAvatarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.SkyAvatarAdapterService","i2","i4","i3","i5.SkyAvatarInnerComponent"],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { EventEmitter } from '@angular/core';
|
|
|
2
2
|
import { SkyErrorModalService } from '@skyux/errors';
|
|
3
3
|
import { SkyFileDropChange, SkyFileItem, SkyFileSizePipe } from '@skyux/forms';
|
|
4
4
|
import { SkyLibResourcesService } from '@skyux/i18n';
|
|
5
|
+
import { Observable } from 'rxjs';
|
|
5
6
|
import { SkyAvatarSize } from './avatar-size';
|
|
6
7
|
import { SkyAvatarSrc } from './avatar-src';
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
@@ -42,12 +43,12 @@ export declare class SkyAvatarComponent {
|
|
|
42
43
|
* Acceptable values are: `"small"`, `"medium"`, and `"large"`.
|
|
43
44
|
* @default "large"
|
|
44
45
|
*/
|
|
45
|
-
|
|
46
|
-
get size(): SkyAvatarSize;
|
|
46
|
+
size: SkyAvatarSize | undefined;
|
|
47
47
|
/**
|
|
48
48
|
* Emits a `SkyFileItem` object when the image is updated.
|
|
49
49
|
*/
|
|
50
50
|
avatarChanged: EventEmitter<SkyFileItem>;
|
|
51
|
+
protected sizeDefault: Observable<SkyAvatarSize> | undefined;
|
|
51
52
|
constructor(errorService: SkyErrorModalService, fileSizePipe: SkyFileSizePipe, resourcesService: SkyLibResourcesService);
|
|
52
53
|
photoDrop(result: SkyFileDropChange): void;
|
|
53
54
|
static ɵfac: i0.ɵɵFactoryDeclaration<SkyAvatarComponent, never>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skyux/avatar",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.6.0",
|
|
4
4
|
"author": "Blackbaud, Inc.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"blackbaud",
|
|
@@ -43,11 +43,12 @@
|
|
|
43
43
|
"@angular/common": "^15.2.9",
|
|
44
44
|
"@angular/core": "^15.2.9",
|
|
45
45
|
"@angular/platform-browser": "^15.2.9",
|
|
46
|
-
"@skyux-sdk/testing": "8.
|
|
47
|
-
"@skyux/
|
|
48
|
-
"@skyux/
|
|
49
|
-
"@skyux/
|
|
50
|
-
"@skyux/
|
|
46
|
+
"@skyux-sdk/testing": "8.6.0",
|
|
47
|
+
"@skyux/core": "8.6.0",
|
|
48
|
+
"@skyux/errors": "8.6.0",
|
|
49
|
+
"@skyux/forms": "8.6.0",
|
|
50
|
+
"@skyux/i18n": "8.6.0",
|
|
51
|
+
"@skyux/theme": "8.6.0"
|
|
51
52
|
},
|
|
52
53
|
"dependencies": {
|
|
53
54
|
"tslib": "^2.5.0"
|