@skyux/avatar 10.0.0-rc.1 → 10.1.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.
@@ -32,7 +32,7 @@
32
32
  "fileName": "projects/avatar/src/modules/avatar/avatar.module.ts",
33
33
  "line": 24,
34
34
  "character": 13,
35
- "url": "https://github.com/blackbaud/skyux/blob/0c25cf4/libs/components/avatar/src/lib/modules/avatar/avatar.module.ts#L24"
35
+ "url": "https://github.com/blackbaud/skyux/blob/c918fcf/libs/components/avatar/src/lib/modules/avatar/avatar.module.ts#L24"
36
36
  }
37
37
  ],
38
38
  "decorators": [
@@ -62,7 +62,7 @@
62
62
  "fileName": "projects/avatar/src/modules/avatar/avatar.component.ts",
63
63
  "line": 109,
64
64
  "character": 2,
65
- "url": "https://github.com/blackbaud/skyux/blob/0c25cf4/libs/components/avatar/src/lib/modules/avatar/avatar.component.ts#L109"
65
+ "url": "https://github.com/blackbaud/skyux/blob/c918fcf/libs/components/avatar/src/lib/modules/avatar/avatar.component.ts#L109"
66
66
  }
67
67
  ],
68
68
  "signatures": [
@@ -77,7 +77,7 @@
77
77
  "fileName": "src/lib/modules/avatar/avatar.component.ts",
78
78
  "line": 109,
79
79
  "character": 2,
80
- "url": "https://github.com/blackbaud/skyux/blob/0c25cf4/libs/components/avatar/src/lib/modules/avatar/avatar.component.ts#L109"
80
+ "url": "https://github.com/blackbaud/skyux/blob/c918fcf/libs/components/avatar/src/lib/modules/avatar/avatar.component.ts#L109"
81
81
  }
82
82
  ],
83
83
  "parameters": [
@@ -168,7 +168,7 @@
168
168
  "fileName": "projects/avatar/src/modules/avatar/avatar.component.ts",
169
169
  "line": 93,
170
170
  "character": 9,
171
- "url": "https://github.com/blackbaud/skyux/blob/0c25cf4/libs/components/avatar/src/lib/modules/avatar/avatar.component.ts#L93"
171
+ "url": "https://github.com/blackbaud/skyux/blob/c918fcf/libs/components/avatar/src/lib/modules/avatar/avatar.component.ts#L93"
172
172
  }
173
173
  ],
174
174
  "type": {
@@ -219,7 +219,7 @@
219
219
  "content": [
220
220
  {
221
221
  "kind": "code",
222
- "text": "```ts\n500000 bytes\n```"
222
+ "text": "```ts\n512000 bytes\n```"
223
223
  }
224
224
  ]
225
225
  }
@@ -230,7 +230,7 @@
230
230
  "fileName": "projects/avatar/src/modules/avatar/avatar.component.ts",
231
231
  "line": 79,
232
232
  "character": 9,
233
- "url": "https://github.com/blackbaud/skyux/blob/0c25cf4/libs/components/avatar/src/lib/modules/avatar/avatar.component.ts#L79"
233
+ "url": "https://github.com/blackbaud/skyux/blob/c918fcf/libs/components/avatar/src/lib/modules/avatar/avatar.component.ts#L79"
234
234
  }
235
235
  ],
236
236
  "type": {
@@ -300,7 +300,7 @@
300
300
  "fileName": "projects/avatar/src/modules/avatar/avatar.component.ts",
301
301
  "line": 87,
302
302
  "character": 9,
303
- "url": "https://github.com/blackbaud/skyux/blob/0c25cf4/libs/components/avatar/src/lib/modules/avatar/avatar.component.ts#L87"
303
+ "url": "https://github.com/blackbaud/skyux/blob/c918fcf/libs/components/avatar/src/lib/modules/avatar/avatar.component.ts#L87"
304
304
  }
305
305
  ],
306
306
  "type": {
@@ -328,13 +328,13 @@
328
328
  "fileName": "projects/avatar/src/modules/avatar/avatar.component.ts",
329
329
  "line": 36,
330
330
  "character": 13,
331
- "url": "https://github.com/blackbaud/skyux/blob/0c25cf4/libs/components/avatar/src/lib/modules/avatar/avatar.component.ts#L36"
331
+ "url": "https://github.com/blackbaud/skyux/blob/c918fcf/libs/components/avatar/src/lib/modules/avatar/avatar.component.ts#L36"
332
332
  },
333
333
  {
334
334
  "fileName": "projects/avatar/src/modules/avatar/avatar.component.ts",
335
335
  "line": 40,
336
336
  "character": 13,
337
- "url": "https://github.com/blackbaud/skyux/blob/0c25cf4/libs/components/avatar/src/lib/modules/avatar/avatar.component.ts#L40"
337
+ "url": "https://github.com/blackbaud/skyux/blob/c918fcf/libs/components/avatar/src/lib/modules/avatar/avatar.component.ts#L40"
338
338
  }
339
339
  ],
340
340
  "getSignature": {
@@ -348,7 +348,7 @@
348
348
  "fileName": "src/lib/modules/avatar/avatar.component.ts",
349
349
  "line": 40,
350
350
  "character": 13,
351
- "url": "https://github.com/blackbaud/skyux/blob/0c25cf4/libs/components/avatar/src/lib/modules/avatar/avatar.component.ts#L40"
351
+ "url": "https://github.com/blackbaud/skyux/blob/c918fcf/libs/components/avatar/src/lib/modules/avatar/avatar.component.ts#L40"
352
352
  }
353
353
  ],
354
354
  "type": {
@@ -394,7 +394,7 @@
394
394
  "fileName": "src/lib/modules/avatar/avatar.component.ts",
395
395
  "line": 36,
396
396
  "character": 13,
397
- "url": "https://github.com/blackbaud/skyux/blob/0c25cf4/libs/components/avatar/src/lib/modules/avatar/avatar.component.ts#L36"
397
+ "url": "https://github.com/blackbaud/skyux/blob/c918fcf/libs/components/avatar/src/lib/modules/avatar/avatar.component.ts#L36"
398
398
  }
399
399
  ],
400
400
  "parameters": [
@@ -434,13 +434,13 @@
434
434
  "fileName": "projects/avatar/src/modules/avatar/avatar.component.ts",
435
435
  "line": 53,
436
436
  "character": 13,
437
- "url": "https://github.com/blackbaud/skyux/blob/0c25cf4/libs/components/avatar/src/lib/modules/avatar/avatar.component.ts#L53"
437
+ "url": "https://github.com/blackbaud/skyux/blob/c918fcf/libs/components/avatar/src/lib/modules/avatar/avatar.component.ts#L53"
438
438
  },
439
439
  {
440
440
  "fileName": "projects/avatar/src/modules/avatar/avatar.component.ts",
441
441
  "line": 57,
442
442
  "character": 13,
443
- "url": "https://github.com/blackbaud/skyux/blob/0c25cf4/libs/components/avatar/src/lib/modules/avatar/avatar.component.ts#L57"
443
+ "url": "https://github.com/blackbaud/skyux/blob/c918fcf/libs/components/avatar/src/lib/modules/avatar/avatar.component.ts#L57"
444
444
  }
445
445
  ],
446
446
  "getSignature": {
@@ -454,7 +454,7 @@
454
454
  "fileName": "src/lib/modules/avatar/avatar.component.ts",
455
455
  "line": 57,
456
456
  "character": 13,
457
- "url": "https://github.com/blackbaud/skyux/blob/0c25cf4/libs/components/avatar/src/lib/modules/avatar/avatar.component.ts#L57"
457
+ "url": "https://github.com/blackbaud/skyux/blob/c918fcf/libs/components/avatar/src/lib/modules/avatar/avatar.component.ts#L57"
458
458
  }
459
459
  ],
460
460
  "type": {
@@ -505,7 +505,7 @@
505
505
  "fileName": "src/lib/modules/avatar/avatar.component.ts",
506
506
  "line": 53,
507
507
  "character": 13,
508
- "url": "https://github.com/blackbaud/skyux/blob/0c25cf4/libs/components/avatar/src/lib/modules/avatar/avatar.component.ts#L53"
508
+ "url": "https://github.com/blackbaud/skyux/blob/c918fcf/libs/components/avatar/src/lib/modules/avatar/avatar.component.ts#L53"
509
509
  }
510
510
  ],
511
511
  "parameters": [
@@ -545,13 +545,13 @@
545
545
  "fileName": "projects/avatar/src/modules/avatar/avatar.component.ts",
546
546
  "line": 66,
547
547
  "character": 13,
548
- "url": "https://github.com/blackbaud/skyux/blob/0c25cf4/libs/components/avatar/src/lib/modules/avatar/avatar.component.ts#L66"
548
+ "url": "https://github.com/blackbaud/skyux/blob/c918fcf/libs/components/avatar/src/lib/modules/avatar/avatar.component.ts#L66"
549
549
  },
550
550
  {
551
551
  "fileName": "projects/avatar/src/modules/avatar/avatar.component.ts",
552
552
  "line": 70,
553
553
  "character": 13,
554
- "url": "https://github.com/blackbaud/skyux/blob/0c25cf4/libs/components/avatar/src/lib/modules/avatar/avatar.component.ts#L70"
554
+ "url": "https://github.com/blackbaud/skyux/blob/c918fcf/libs/components/avatar/src/lib/modules/avatar/avatar.component.ts#L70"
555
555
  }
556
556
  ],
557
557
  "getSignature": {
@@ -565,7 +565,7 @@
565
565
  "fileName": "src/lib/modules/avatar/avatar.component.ts",
566
566
  "line": 70,
567
567
  "character": 13,
568
- "url": "https://github.com/blackbaud/skyux/blob/0c25cf4/libs/components/avatar/src/lib/modules/avatar/avatar.component.ts#L70"
568
+ "url": "https://github.com/blackbaud/skyux/blob/c918fcf/libs/components/avatar/src/lib/modules/avatar/avatar.component.ts#L70"
569
569
  }
570
570
  ],
571
571
  "type": {
@@ -610,7 +610,7 @@
610
610
  "fileName": "src/lib/modules/avatar/avatar.component.ts",
611
611
  "line": 66,
612
612
  "character": 13,
613
- "url": "https://github.com/blackbaud/skyux/blob/0c25cf4/libs/components/avatar/src/lib/modules/avatar/avatar.component.ts#L66"
613
+ "url": "https://github.com/blackbaud/skyux/blob/c918fcf/libs/components/avatar/src/lib/modules/avatar/avatar.component.ts#L66"
614
614
  }
615
615
  ],
616
616
  "parameters": [
@@ -652,7 +652,7 @@
652
652
  "fileName": "projects/avatar/src/modules/avatar/avatar.component.ts",
653
653
  "line": 124,
654
654
  "character": 9,
655
- "url": "https://github.com/blackbaud/skyux/blob/0c25cf4/libs/components/avatar/src/lib/modules/avatar/avatar.component.ts#L124"
655
+ "url": "https://github.com/blackbaud/skyux/blob/c918fcf/libs/components/avatar/src/lib/modules/avatar/avatar.component.ts#L124"
656
656
  }
657
657
  ],
658
658
  "signatures": [
@@ -667,7 +667,7 @@
667
667
  "fileName": "src/lib/modules/avatar/avatar.component.ts",
668
668
  "line": 124,
669
669
  "character": 9,
670
- "url": "https://github.com/blackbaud/skyux/blob/0c25cf4/libs/components/avatar/src/lib/modules/avatar/avatar.component.ts#L124"
670
+ "url": "https://github.com/blackbaud/skyux/blob/c918fcf/libs/components/avatar/src/lib/modules/avatar/avatar.component.ts#L124"
671
671
  }
672
672
  ],
673
673
  "parameters": [
@@ -732,7 +732,7 @@
732
732
  "fileName": "projects/avatar/src/modules/avatar/avatar.component.ts",
733
733
  "line": 27,
734
734
  "character": 13,
735
- "url": "https://github.com/blackbaud/skyux/blob/0c25cf4/libs/components/avatar/src/lib/modules/avatar/avatar.component.ts#L27"
735
+ "url": "https://github.com/blackbaud/skyux/blob/c918fcf/libs/components/avatar/src/lib/modules/avatar/avatar.component.ts#L27"
736
736
  }
737
737
  ],
738
738
  "decorators": [
@@ -755,7 +755,7 @@
755
755
  "fileName": "projects/avatar/src/modules/avatar/avatar-size.ts",
756
756
  "line": 1,
757
757
  "character": 12,
758
- "url": "https://github.com/blackbaud/skyux/blob/0c25cf4/libs/components/avatar/src/lib/modules/avatar/avatar-size.ts#L1"
758
+ "url": "https://github.com/blackbaud/skyux/blob/c918fcf/libs/components/avatar/src/lib/modules/avatar/avatar-size.ts#L1"
759
759
  }
760
760
  ],
761
761
  "type": {
@@ -787,7 +787,7 @@
787
787
  "fileName": "projects/avatar/src/modules/avatar/avatar-src.ts",
788
788
  "line": 1,
789
789
  "character": 12,
790
- "url": "https://github.com/blackbaud/skyux/blob/0c25cf4/libs/components/avatar/src/lib/modules/avatar/avatar-src.ts#L1"
790
+ "url": "https://github.com/blackbaud/skyux/blob/c918fcf/libs/components/avatar/src/lib/modules/avatar/avatar-src.ts#L1"
791
791
  }
792
792
  ],
793
793
  "type": {
@@ -988,18 +988,18 @@
988
988
  "@angular/router": "17.3.1",
989
989
  "@blackbaud/skyux-design-tokens": "0.0.28",
990
990
  "@schematics/angular": "17.3.2",
991
- "@skyux-sdk/testing": "10.0.0-rc.1",
992
- "@skyux/assets": "10.0.0-rc.1",
993
- "@skyux/avatar": "10.0.0-rc.1",
994
- "@skyux/core": "10.0.0-rc.1",
995
- "@skyux/errors": "10.0.0-rc.1",
996
- "@skyux/forms": "10.0.0-rc.1",
997
- "@skyux/i18n": "10.0.0-rc.1",
991
+ "@skyux-sdk/testing": "10.1.0",
992
+ "@skyux/assets": "10.1.0",
993
+ "@skyux/avatar": "10.1.0",
994
+ "@skyux/core": "10.1.0",
995
+ "@skyux/errors": "10.1.0",
996
+ "@skyux/forms": "10.1.0",
997
+ "@skyux/i18n": "10.1.0",
998
998
  "@skyux/icons": "7.0.0",
999
- "@skyux/indicators": "10.0.0-rc.1",
1000
- "@skyux/modals": "10.0.0-rc.1",
1001
- "@skyux/popovers": "10.0.0-rc.1",
1002
- "@skyux/theme": "10.0.0-rc.1",
999
+ "@skyux/indicators": "10.1.0",
1000
+ "@skyux/modals": "10.1.0",
1001
+ "@skyux/popovers": "10.1.0",
1002
+ "@skyux/theme": "10.1.0",
1003
1003
  "axe-core": "4.9.0",
1004
1004
  "cross-spawn": "7.0.3",
1005
1005
  "fontfaceobserver": "2.3.0",
@@ -6,7 +6,7 @@ import * as i2 from "@skyux/forms";
6
6
  import * as i3 from "@skyux/i18n";
7
7
  import * as i4 from "@angular/common";
8
8
  import * as i5 from "./avatar.inner.component";
9
- const MAX_FILE_SIZE_DEFAULT = 500000;
9
+ const MAX_FILE_SIZE_DEFAULT = 512000;
10
10
  export class SkyAvatarComponent {
11
11
  /**
12
12
  * Whether users can change the image. To select a different image,
@@ -55,7 +55,7 @@ export class SkyAvatarComponent {
55
55
  constructor(errorService, fileSizePipe, resourcesService) {
56
56
  /**
57
57
  * The maximum file size for the image in bytes.
58
- * @default 500000 bytes
58
+ * @default 512000 bytes
59
59
  */
60
60
  this.maxFileSize = MAX_FILE_SIZE_DEFAULT;
61
61
  /**
@@ -108,7 +108,7 @@ export class SkyAvatarComponent {
108
108
  return this.#resourcesService.getStringForLocale({ locale: 'en-US' }, key, ...args);
109
109
  }
110
110
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: SkyAvatarComponent, deps: [{ token: i1.SkyErrorModalService }, { token: i2.SkyFileSizePipe }, { token: i3.SkyLibResourcesService }], target: i0.ɵɵFactoryTarget.Component }); }
111
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", 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 }); }
111
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", 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", "labelText", "labelHidden"], 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 }); }
112
112
  }
113
113
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: SkyAvatarComponent, decorators: [{
114
114
  type: Component,
@@ -126,4 +126,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
126
126
  }], avatarChanged: [{
127
127
  type: Output
128
128
  }] } });
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9hdmF0YXIvc3JjL2xpYi9tb2R1bGVzL2F2YXRhci9hdmF0YXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2F2YXRhci9zcmMvbGliL21vZHVsZXMvYXZhdGFyL2F2YXRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLGlCQUFpQixFQUNqQixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sYUFBYSxDQUFDOzs7Ozs7O0FBVXRELE1BQU0scUJBQXFCLEdBQUcsTUFBTSxDQUFDO0FBUXJDLE1BQU0sT0FBTyxrQkFBa0I7SUFDN0I7Ozs7OztPQU1HO0lBQ0gsSUFDVyxTQUFTLENBQUMsS0FBMEI7UUFDN0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsSUFDVyxJQUFJLENBQUMsS0FBeUI7UUFDdkMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQVcsSUFBSTtRQUNiLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFDVyxHQUFHLENBQUMsS0FBK0I7UUFDNUMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVELElBQVcsR0FBRztRQUNaLE9BQU8sSUFBSSxDQUFDLEtB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RUQsVUFBVSxDQUFDLEdBQVcsRUFBRSxHQUFHLElBQVc7UUFDcEMsNkVBQTZFO1FBQzdFLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixDQUM5QyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFDbkIsR0FBRyxFQUNILEdBQUcsSUFBSSxDQUNSLENBQUM7SUFDSixDQUFDOzhHQXJKVSxrQkFBa0I7a0dBQWxCLGtCQUFrQix1TUMxQi9CLHM4QkErQkE7OzJGRExhLGtCQUFrQjtrQkFOOUIsU0FBUzsrQkFDRSxZQUFZLGlCQUdQLGlCQUFpQixDQUFDLElBQUk7NEpBVzFCLFNBQVM7c0JBRG5CLEtBQUs7Z0JBa0JLLElBQUk7c0JBRGQsS0FBSztnQkFjSyxHQUFHO3NCQURiLEtBQUs7Z0JBY0MsV0FBVztzQkFEakIsS0FBSztnQkFTQyxJQUFJO3NCQURWLEtBQUs7Z0JBT0MsYUFBYTtzQkFEbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreURlZmF1bHRJbnB1dFByb3ZpZGVyIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuaW1wb3J0IHsgRXJyb3JNb2RhbENvbmZpZywgU2t5RXJyb3JNb2RhbFNlcnZpY2UgfSBmcm9tICdAc2t5dXgvZXJyb3JzJztcbmltcG9ydCB7IFNreUZpbGVEcm9wQ2hhbmdlLCBTa3lGaWxlSXRlbSwgU2t5RmlsZVNpemVQaXBlIH0gZnJvbSAnQHNreXV4L2Zvcm1zJztcbmltcG9ydCB7IFNreUxpYlJlc291cmNlc1NlcnZpY2UgfSBmcm9tICdAc2t5dXgvaTE4bic7XG5cbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2t5QXZhdGFyU2l6ZSB9IGZyb20gJy4vYXZhdGFyLXNpemUnO1xuaW1wb3J0IHsgU2t5QXZhdGFyU3JjIH0gZnJvbSAnLi9hdmF0YXItc3JjJztcblxuY29uc3QgTUFYX0ZJTEVfU0laRV9ERUZBVUxUID0gNTAwMDAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktYXZhdGFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2F2YXRhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2F2YXRhci5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lBdmF0YXJDb21wb25lbnQge1xuICAvKipcbiAgICogV2hldGhlciB1c2VycyBjYW4gY2hhbmdlIHRoZSBpbWFnZS4gVG8gc2VsZWN0IGEgZGlmZmVyZW50IGltYWdlLFxuICAgKiB1c2VycyBjbGljayB0aGUgaW1hZ2Ugb3IgZHJhZyBhbm90aGVyIGltYWdlIG9uIHRvcCBvZiBpdCxcbiAgICogbXVjaCBsaWtlIHRoZSBgc2t5LWZpbGUtZHJvcGAgY29tcG9uZW50IGluIHRoZVxuICAgKiBbZmlsZSBhdHRhY2htZW50IG1vZHVsZV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL2ZpbGUtYXR0YWNobWVudHMvZmlsZS1hdHRhY2htZW50KS5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgY2FuQ2hhbmdlKHZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2NhbkNoYW5nZSA9ICEhdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNhbkNoYW5nZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4jX2NhbkNoYW5nZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgcmVjb3JkIHRoYXQgdGhlIGF2YXRhciByZXByZXNlbnRzLlxuICAgKiBJZiB0aGUgYHNyY2AgcHJvcGVydHkgZG9lcyBub3Qgc3BlY2lmeSBhbiBpbWFnZSwgdGhlIGNvbXBvbmVudCBkaXNwbGF5c1xuICAgKiBpbml0aWFscyBmcm9tIHRoZSBmaXJzdCBhbmQgbGFzdCB3b3JkcyBpbiB0aGUgbmFtZS4gVG8gZW5zdXJlXG4gICAqIHRoYXQgdGhlIGNvbXBvbmVudCBleHRyYWN0cyB0aGUgY29ycmVjdCBpbml0aWFscywgc3BlY2lmeSBhIG5hbWUgd2l0aCBubyBwcmVmaXhcbiAgICogb3Igc3VmZml4LCBvciBqdXN0IHNwZWNpZnkgaW5pdGlhbHMgd2l0aCBhIHNwYWNlIGJldHdlZW4gdGhlbS4gVGhpcyBwcm9wZXJ0eSBpc1xuICAgKiBub3QgcmVxdWlyZWQsIGJ1dCB0aGUgY29tcG9uZW50IHJlcXVpcmVzIGVpdGhlciB0aGUgYG5hbWVgIG9yIGBzcmNgIHByb3BlcnR5LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBuYW1lKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfbmFtZSA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBuYW1lKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI19uYW1lO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBpbWFnZSB0byBpZGVudGlmeSBhIHJlY29yZC4gVGhpcyBwcm9wZXJ0eSBpc1xuICAgKiBub3QgcmVxdWlyZWQsIGJ1dCB0aGUgY29tcG9uZW50IHJlcXVpcmVzIGVpdGhlciB0aGUgYG5hbWVgIG9yIGBzcmNgIHByb3BlcnR5LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzcmModmFsdWU6IFNreUF2YXRhclNyYyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19zcmMgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3JjKCk6IFNreUF2YXRhclNyYyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI19zcmM7XG4gIH1cblxuICAvKipcbiAgICogVGhlIG1heGltdW0gZmlsZSBzaXplIGZvciB0aGUgaW1hZ2UgaW4gYnl0ZXMuXG4gICAqIEBkZWZhdWx0IDUwMDAwMCBieXRlc1xuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIG1heEZpbGVTaXplOiBudW1iZXIgfCB1bmRlZmluZWQgPSBNQVhfRklMRV9TSVpFX0RFRkFVTFQ7XG5cbiAgLyoqXG4gICAqIFRoZSBzaXplIG9mIHRoZSBhdmF0YXIuXG4gICAqIEFjY2VwdGFibGUgdmFsdWVzIGFyZTogYFwic21hbGxcImAsIGBcIm1lZGl1bVwiYCwgYW5kIGBcImxhcmdlXCJgLlxuICAgKiBAZGVmYXVsdCBcImxhcmdlXCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzaXplOiBTa3lBdmF0YXJTaXplIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBFbWl0cyBhIGBTa3lGaWxlSXRlbWAgb2JqZWN0IHdoZW4gdGhlIGltYWdlIGlzIHVwZGF0ZWQuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGF2YXRhckNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFNreUZpbGVJdGVtPigpO1xuXG4gIHByb3RlY3RlZCBzaXplRGVmYXVsdDogT2JzZXJ2YWJsZTxTa3lBdmF0YXJTaXplPiB8IHVuZGVmaW5lZDtcblxuICAjX2NhbkNoYW5nZSA9IGZhbHNlO1xuXG4gICNfbmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICNfc3JjOiBTa3lBdmF0YXJTcmMgfCB1bmRlZmluZWQ7XG5cbiAgI2Vycm9yU2VydmljZTogU2t5RXJyb3JNb2RhbFNlcnZpY2U7XG4gICNmaWxlU2l6ZVBpcGU6IFNreUZpbGVTaXplUGlwZTtcbiAgI3Jlc291cmNlc1NlcnZpY2U6IFNreUxpYlJlc291cmNlc1NlcnZpY2U7XG5cbiAgI2RlZmF1bHRJbnB1dFByb3ZpZGVyID0gaW5qZWN0KFNreURlZmF1bHRJbnB1dFByb3ZpZGVyLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGVycm9yU2VydmljZTogU2t5RXJyb3JNb2RhbFNlcnZpY2UsXG4gICAgZmlsZVNpemVQaXBlOiBTa3lGaWxlU2l6ZVBpcGUsXG4gICAgcmVzb3VyY2VzU2VydmljZTogU2t5TGliUmVzb3VyY2VzU2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy4jZXJyb3JTZXJ2aWNlID0gZXJyb3JTZXJ2aWNlO1xuICAgIHRoaXMuI2ZpbGVTaXplUGlwZSA9IGZpbGVTaXplUGlwZTtcbiAgICB0aGlzLiNyZXNvdXJjZXNTZXJ2aWNlID0gcmVzb3VyY2VzU2VydmljZTtcblxuICAgIHRoaXMuc2l6ZURlZmF1bHQgPSB0aGlzLiNkZWZhdWx0SW5wdXRQcm92aWRlcj8uZ2V0VmFsdWU8U2t5QXZhdGFyU2l6ZT4oXG4gICAgICAnYXZhdGFyJyxcbiAgICAgICdzaXplJyxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHBob3RvRHJvcChyZXN1bHQ6IFNreUZpbGVEcm9wQ2hhbmdlKTogdm9pZCB7XG4gICAgLyogc2FuaXR5IGNoZWNrICovXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAocmVzdWx0LmZpbGVzICYmIHJlc3VsdC5maWxlcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmF2YXRhckNoYW5nZWQuZW1pdChyZXN1bHQuZmlsZXNbMF0pO1xuICAgIH0gZWxzZSBpZiAocmVzdWx0LnJlamVjdGVkRmlsZXMgJiYgcmVzdWx0LnJlamVjdGVkRmlsZXMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy4jaGFuZGxlRXJyb3IocmVzdWx0LnJlamVjdGVkRmlsZXMpO1xuICAgIH1cbiAgfVxuXG4gICNoYW5kbGVFcnJvcihyZWplY3RlZEZpbGVzOiBTa3lGaWxlSXRlbVtdKTogdm9pZCB7XG4gICAgY29uc3QgcmVqZWN0ZWRGaWxlID0gcmVqZWN0ZWRGaWxlc1swXTtcblxuICAgIGlmIChyZWplY3RlZEZpbGUuZXJyb3JUeXBlID09PSAnbWF4RmlsZVNpemUnKSB7XG4gICAgICBjb25zdCB0aXRsZSA9IHRoaXMuI2dldFN0cmluZygnc2t5dXhfYXZhdGFyX2Vycm9yX3Rvb19sYXJnZV90aXRsZScpO1xuICAgICAgY29uc3QgZGVzY3JpcHRpb24gPSB0aGlzLiNnZXRTdHJpbmcoXG4gICAgICAgICdza3l1eF9hdmF0YXJfZXJyb3JfdG9vX2xhcmdlX2Rlc2NyaXB0aW9uJyxcbiAgICAgICAgdGhpcy4jbWF4RmlsZVNpemVUZXh0KCksXG4gICAgICApO1xuXG4gICAgICB0aGlzLiNvcGVuRXJyb3JNb2RhbCh0aXRsZSwgZGVzY3JpcHRpb24pO1xuICAgIH0gZWxzZSBpZiAocmVqZWN0ZWRGaWxlLmVycm9yVHlwZSA9PT0gJ2ZpbGVUeXBlJykge1xuICAgICAgY29uc3QgdGl0bGUgPSB0aGlzLiNnZXRTdHJpbmcoJ3NreXV4X2F2YXRhcl9lcnJvcl9ub3RfaW1hZ2VfdGl0bGUnKTtcbiAgICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gdGhpcy4jZ2V0U3RyaW5nKFxuICAgICAgICAnc2t5dXhfYXZhdGFyX2Vycm9yX25vdF9pbWFnZV9kZXNjcmlwdGlvbicsXG4gICAgICApO1xuXG4gICAgICB0aGlzLiNvcGVuRXJyb3JNb2RhbCh0aXRsZSwgZGVzY3JpcHRpb24pO1xuICAgIH1cbiAgfVxuXG4gICNtYXhGaWxlU2l6ZVRleHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy4jZmlsZVNpemVQaXBlLnRyYW5zZm9ybSh0aGlzLm1heEZpbGVTaXplKTtcbiAgfVxuXG4gICNvcGVuRXJyb3JNb2RhbCh0aXRsZTogc3RyaW5nLCBkZXNjcmlwdGlvbjogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgY29uZmlnOiBFcnJvck1vZGFsQ29uZmlnID0ge1xuICAgICAgZXJyb3JUaXRsZTogdGl0bGUsXG4gICAgICBlcnJvckRlc2NyaXB0aW9uOiBkZXNjcmlwdGlvbixcbiAgICAgIGVycm9yQ2xvc2VUZXh0OiB0aGlzLiNnZXRTdHJpbmcoJ3NreXV4X2F2YXRhcl9lcnJvcm1vZGFsX29rJyksXG4gICAgfTtcblxuICAgIHRoaXMuI2Vycm9yU2VydmljZS5vcGVuKGNvbmZpZyk7XG4gIH1cblxuICAjZ2V0U3RyaW5nKGtleTogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSk6IHN0cmluZyB7XG4gICAgLy8gVE9ETzogTmVlZCB0byBpbXBsZW1lbnQgdGhlIGFzeW5jIGBnZXRTdHJpbmdgIG1ldGhvZCBpbiBhIGJyZWFraW5nIGNoYW5nZS5cbiAgICByZXR1cm4gdGhpcy4jcmVzb3VyY2VzU2VydmljZS5nZXRTdHJpbmdGb3JMb2NhbGUoXG4gICAgICB7IGxvY2FsZTogJ2VuLVVTJyB9LFxuICAgICAga2V5LFxuICAgICAgLi4uYXJncyxcbiAgICApO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2t5LWF2YXRhclwiPlxuICA8ZGl2ICpuZ0lmPVwiY2FuQ2hhbmdlXCI+XG4gICAgPGRpdiBjbGFzcz1cInNreS1hdmF0YXItZmlsZS1kcm9wXCI+XG4gICAgICA8c2t5LWZpbGUtZHJvcFxuICAgICAgICBbYWNjZXB0ZWRUeXBlc109XCInaW1hZ2UvKidcIlxuICAgICAgICBbZmlsZVVwbG9hZEFyaWFMYWJlbF09XCJcbiAgICAgICAgICBzcmNcbiAgICAgICAgICAgID8gKCdza3l1eF9hdmF0YXJfdXBsb2FkX2NoYW5nZV9hcmlhX2xhYmVsJyB8IHNreUxpYlJlc291cmNlczogbmFtZSlcbiAgICAgICAgICAgIDogKCdza3l1eF9hdmF0YXJfdXBsb2FkX25ld19hcmlhX2xhYmVsJyB8IHNreUxpYlJlc291cmNlczogbmFtZSlcbiAgICAgICAgXCJcbiAgICAgICAgW211bHRpcGxlXT1cImZhbHNlXCJcbiAgICAgICAgW21heEZpbGVTaXplXT1cIm1heEZpbGVTaXplXCJcbiAgICAgICAgW211bHRpcGxlXT1cImZhbHNlXCJcbiAgICAgICAgKGZpbGVzQ2hhbmdlZCk9XCJwaG90b0Ryb3AoJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpbm5lclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L3NreS1maWxlLWRyb3A+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwiIWNhbkNoYW5nZVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpbm5lclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjaW5uZXJUZW1wbGF0ZT5cbiAgPHNreS1hdmF0YXItaW5uZXJcbiAgICBbbmFtZV09XCJuYW1lXCJcbiAgICBbc2l6ZV09XCJzaXplID8/IChzaXplRGVmYXVsdCB8IGFzeW5jKSA/PyAnbGFyZ2UnXCJcbiAgICBbc3JjXT1cInNyY1wiXG4gID48L3NreS1hdmF0YXItaW5uZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9hdmF0YXIvc3JjL2xpYi9tb2R1bGVzL2F2YXRhci9hdmF0YXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2F2YXRhci9zcmMvbGliL21vZHVsZXMvYXZhdGFyL2F2YXRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLGlCQUFpQixFQUNqQixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sYUFBYSxDQUFDOzs7Ozs7O0FBVXRELE1BQU0scUJBQXFCLEdBQUcsTUFBTSxDQUFDO0FBUXJDLE1BQU0sT0FBTyxrQkFBa0I7SUFDN0I7Ozs7OztPQU1HO0lBQ0gsSUFDVyxTQUFTLENBQUMsS0FBMEI7UUFDN0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsSUFDVyxJQUFJLENBQUMsS0FBeUI7UUFDdkMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQVcsSUFBSTtRQUNiLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFDVyxHQUFHLENBQUMsS0FBK0I7UUFDNUMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVELElBQVcsR0FBRztRQUNaLE9BQU8sSUFBSSxDQUFDLEtB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RUQsVUFBVSxDQUFDLEdBQVcsRUFBRSxHQUFHLElBQVc7UUFDcEMsNkVBQTZFO1FBQzdFLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixDQUM5QyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFDbkIsR0FBRyxFQUNILEdBQUcsSUFBSSxDQUNSLENBQUM7SUFDSixDQUFDOzhHQXJKVSxrQkFBa0I7a0dBQWxCLGtCQUFrQix1TUMxQi9CLHM4QkErQkE7OzJGRExhLGtCQUFrQjtrQkFOOUIsU0FBUzsrQkFDRSxZQUFZLGlCQUdQLGlCQUFpQixDQUFDLElBQUk7NEpBVzFCLFNBQVM7c0JBRG5CLEtBQUs7Z0JBa0JLLElBQUk7c0JBRGQsS0FBSztnQkFjSyxHQUFHO3NCQURiLEtBQUs7Z0JBY0MsV0FBVztzQkFEakIsS0FBSztnQkFTQyxJQUFJO3NCQURWLEtBQUs7Z0JBT0MsYUFBYTtzQkFEbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreURlZmF1bHRJbnB1dFByb3ZpZGVyIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuaW1wb3J0IHsgRXJyb3JNb2RhbENvbmZpZywgU2t5RXJyb3JNb2RhbFNlcnZpY2UgfSBmcm9tICdAc2t5dXgvZXJyb3JzJztcbmltcG9ydCB7IFNreUZpbGVEcm9wQ2hhbmdlLCBTa3lGaWxlSXRlbSwgU2t5RmlsZVNpemVQaXBlIH0gZnJvbSAnQHNreXV4L2Zvcm1zJztcbmltcG9ydCB7IFNreUxpYlJlc291cmNlc1NlcnZpY2UgfSBmcm9tICdAc2t5dXgvaTE4bic7XG5cbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2t5QXZhdGFyU2l6ZSB9IGZyb20gJy4vYXZhdGFyLXNpemUnO1xuaW1wb3J0IHsgU2t5QXZhdGFyU3JjIH0gZnJvbSAnLi9hdmF0YXItc3JjJztcblxuY29uc3QgTUFYX0ZJTEVfU0laRV9ERUZBVUxUID0gNTEyMDAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktYXZhdGFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2F2YXRhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2F2YXRhci5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lBdmF0YXJDb21wb25lbnQge1xuICAvKipcbiAgICogV2hldGhlciB1c2VycyBjYW4gY2hhbmdlIHRoZSBpbWFnZS4gVG8gc2VsZWN0IGEgZGlmZmVyZW50IGltYWdlLFxuICAgKiB1c2VycyBjbGljayB0aGUgaW1hZ2Ugb3IgZHJhZyBhbm90aGVyIGltYWdlIG9uIHRvcCBvZiBpdCxcbiAgICogbXVjaCBsaWtlIHRoZSBgc2t5LWZpbGUtZHJvcGAgY29tcG9uZW50IGluIHRoZVxuICAgKiBbZmlsZSBhdHRhY2htZW50IG1vZHVsZV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL2ZpbGUtYXR0YWNobWVudHMvZmlsZS1hdHRhY2htZW50KS5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgY2FuQ2hhbmdlKHZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2NhbkNoYW5nZSA9ICEhdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNhbkNoYW5nZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4jX2NhbkNoYW5nZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgcmVjb3JkIHRoYXQgdGhlIGF2YXRhciByZXByZXNlbnRzLlxuICAgKiBJZiB0aGUgYHNyY2AgcHJvcGVydHkgZG9lcyBub3Qgc3BlY2lmeSBhbiBpbWFnZSwgdGhlIGNvbXBvbmVudCBkaXNwbGF5c1xuICAgKiBpbml0aWFscyBmcm9tIHRoZSBmaXJzdCBhbmQgbGFzdCB3b3JkcyBpbiB0aGUgbmFtZS4gVG8gZW5zdXJlXG4gICAqIHRoYXQgdGhlIGNvbXBvbmVudCBleHRyYWN0cyB0aGUgY29ycmVjdCBpbml0aWFscywgc3BlY2lmeSBhIG5hbWUgd2l0aCBubyBwcmVmaXhcbiAgICogb3Igc3VmZml4LCBvciBqdXN0IHNwZWNpZnkgaW5pdGlhbHMgd2l0aCBhIHNwYWNlIGJldHdlZW4gdGhlbS4gVGhpcyBwcm9wZXJ0eSBpc1xuICAgKiBub3QgcmVxdWlyZWQsIGJ1dCB0aGUgY29tcG9uZW50IHJlcXVpcmVzIGVpdGhlciB0aGUgYG5hbWVgIG9yIGBzcmNgIHByb3BlcnR5LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBuYW1lKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfbmFtZSA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBuYW1lKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI19uYW1lO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBpbWFnZSB0byBpZGVudGlmeSBhIHJlY29yZC4gVGhpcyBwcm9wZXJ0eSBpc1xuICAgKiBub3QgcmVxdWlyZWQsIGJ1dCB0aGUgY29tcG9uZW50IHJlcXVpcmVzIGVpdGhlciB0aGUgYG5hbWVgIG9yIGBzcmNgIHByb3BlcnR5LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzcmModmFsdWU6IFNreUF2YXRhclNyYyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19zcmMgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3JjKCk6IFNreUF2YXRhclNyYyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI19zcmM7XG4gIH1cblxuICAvKipcbiAgICogVGhlIG1heGltdW0gZmlsZSBzaXplIGZvciB0aGUgaW1hZ2UgaW4gYnl0ZXMuXG4gICAqIEBkZWZhdWx0IDUxMjAwMCBieXRlc1xuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIG1heEZpbGVTaXplOiBudW1iZXIgfCB1bmRlZmluZWQgPSBNQVhfRklMRV9TSVpFX0RFRkFVTFQ7XG5cbiAgLyoqXG4gICAqIFRoZSBzaXplIG9mIHRoZSBhdmF0YXIuXG4gICAqIEFjY2VwdGFibGUgdmFsdWVzIGFyZTogYFwic21hbGxcImAsIGBcIm1lZGl1bVwiYCwgYW5kIGBcImxhcmdlXCJgLlxuICAgKiBAZGVmYXVsdCBcImxhcmdlXCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzaXplOiBTa3lBdmF0YXJTaXplIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBFbWl0cyBhIGBTa3lGaWxlSXRlbWAgb2JqZWN0IHdoZW4gdGhlIGltYWdlIGlzIHVwZGF0ZWQuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGF2YXRhckNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFNreUZpbGVJdGVtPigpO1xuXG4gIHByb3RlY3RlZCBzaXplRGVmYXVsdDogT2JzZXJ2YWJsZTxTa3lBdmF0YXJTaXplPiB8IHVuZGVmaW5lZDtcblxuICAjX2NhbkNoYW5nZSA9IGZhbHNlO1xuXG4gICNfbmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICNfc3JjOiBTa3lBdmF0YXJTcmMgfCB1bmRlZmluZWQ7XG5cbiAgI2Vycm9yU2VydmljZTogU2t5RXJyb3JNb2RhbFNlcnZpY2U7XG4gICNmaWxlU2l6ZVBpcGU6IFNreUZpbGVTaXplUGlwZTtcbiAgI3Jlc291cmNlc1NlcnZpY2U6IFNreUxpYlJlc291cmNlc1NlcnZpY2U7XG5cbiAgI2RlZmF1bHRJbnB1dFByb3ZpZGVyID0gaW5qZWN0KFNreURlZmF1bHRJbnB1dFByb3ZpZGVyLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGVycm9yU2VydmljZTogU2t5RXJyb3JNb2RhbFNlcnZpY2UsXG4gICAgZmlsZVNpemVQaXBlOiBTa3lGaWxlU2l6ZVBpcGUsXG4gICAgcmVzb3VyY2VzU2VydmljZTogU2t5TGliUmVzb3VyY2VzU2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy4jZXJyb3JTZXJ2aWNlID0gZXJyb3JTZXJ2aWNlO1xuICAgIHRoaXMuI2ZpbGVTaXplUGlwZSA9IGZpbGVTaXplUGlwZTtcbiAgICB0aGlzLiNyZXNvdXJjZXNTZXJ2aWNlID0gcmVzb3VyY2VzU2VydmljZTtcblxuICAgIHRoaXMuc2l6ZURlZmF1bHQgPSB0aGlzLiNkZWZhdWx0SW5wdXRQcm92aWRlcj8uZ2V0VmFsdWU8U2t5QXZhdGFyU2l6ZT4oXG4gICAgICAnYXZhdGFyJyxcbiAgICAgICdzaXplJyxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHBob3RvRHJvcChyZXN1bHQ6IFNreUZpbGVEcm9wQ2hhbmdlKTogdm9pZCB7XG4gICAgLyogc2FuaXR5IGNoZWNrICovXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAocmVzdWx0LmZpbGVzICYmIHJlc3VsdC5maWxlcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmF2YXRhckNoYW5nZWQuZW1pdChyZXN1bHQuZmlsZXNbMF0pO1xuICAgIH0gZWxzZSBpZiAocmVzdWx0LnJlamVjdGVkRmlsZXMgJiYgcmVzdWx0LnJlamVjdGVkRmlsZXMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy4jaGFuZGxlRXJyb3IocmVzdWx0LnJlamVjdGVkRmlsZXMpO1xuICAgIH1cbiAgfVxuXG4gICNoYW5kbGVFcnJvcihyZWplY3RlZEZpbGVzOiBTa3lGaWxlSXRlbVtdKTogdm9pZCB7XG4gICAgY29uc3QgcmVqZWN0ZWRGaWxlID0gcmVqZWN0ZWRGaWxlc1swXTtcblxuICAgIGlmIChyZWplY3RlZEZpbGUuZXJyb3JUeXBlID09PSAnbWF4RmlsZVNpemUnKSB7XG4gICAgICBjb25zdCB0aXRsZSA9IHRoaXMuI2dldFN0cmluZygnc2t5dXhfYXZhdGFyX2Vycm9yX3Rvb19sYXJnZV90aXRsZScpO1xuICAgICAgY29uc3QgZGVzY3JpcHRpb24gPSB0aGlzLiNnZXRTdHJpbmcoXG4gICAgICAgICdza3l1eF9hdmF0YXJfZXJyb3JfdG9vX2xhcmdlX2Rlc2NyaXB0aW9uJyxcbiAgICAgICAgdGhpcy4jbWF4RmlsZVNpemVUZXh0KCksXG4gICAgICApO1xuXG4gICAgICB0aGlzLiNvcGVuRXJyb3JNb2RhbCh0aXRsZSwgZGVzY3JpcHRpb24pO1xuICAgIH0gZWxzZSBpZiAocmVqZWN0ZWRGaWxlLmVycm9yVHlwZSA9PT0gJ2ZpbGVUeXBlJykge1xuICAgICAgY29uc3QgdGl0bGUgPSB0aGlzLiNnZXRTdHJpbmcoJ3NreXV4X2F2YXRhcl9lcnJvcl9ub3RfaW1hZ2VfdGl0bGUnKTtcbiAgICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gdGhpcy4jZ2V0U3RyaW5nKFxuICAgICAgICAnc2t5dXhfYXZhdGFyX2Vycm9yX25vdF9pbWFnZV9kZXNjcmlwdGlvbicsXG4gICAgICApO1xuXG4gICAgICB0aGlzLiNvcGVuRXJyb3JNb2RhbCh0aXRsZSwgZGVzY3JpcHRpb24pO1xuICAgIH1cbiAgfVxuXG4gICNtYXhGaWxlU2l6ZVRleHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy4jZmlsZVNpemVQaXBlLnRyYW5zZm9ybSh0aGlzLm1heEZpbGVTaXplKTtcbiAgfVxuXG4gICNvcGVuRXJyb3JNb2RhbCh0aXRsZTogc3RyaW5nLCBkZXNjcmlwdGlvbjogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgY29uZmlnOiBFcnJvck1vZGFsQ29uZmlnID0ge1xuICAgICAgZXJyb3JUaXRsZTogdGl0bGUsXG4gICAgICBlcnJvckRlc2NyaXB0aW9uOiBkZXNjcmlwdGlvbixcbiAgICAgIGVycm9yQ2xvc2VUZXh0OiB0aGlzLiNnZXRTdHJpbmcoJ3NreXV4X2F2YXRhcl9lcnJvcm1vZGFsX29rJyksXG4gICAgfTtcblxuICAgIHRoaXMuI2Vycm9yU2VydmljZS5vcGVuKGNvbmZpZyk7XG4gIH1cblxuICAjZ2V0U3RyaW5nKGtleTogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSk6IHN0cmluZyB7XG4gICAgLy8gVE9ETzogTmVlZCB0byBpbXBsZW1lbnQgdGhlIGFzeW5jIGBnZXRTdHJpbmdgIG1ldGhvZCBpbiBhIGJyZWFraW5nIGNoYW5nZS5cbiAgICByZXR1cm4gdGhpcy4jcmVzb3VyY2VzU2VydmljZS5nZXRTdHJpbmdGb3JMb2NhbGUoXG4gICAgICB7IGxvY2FsZTogJ2VuLVVTJyB9LFxuICAgICAga2V5LFxuICAgICAgLi4uYXJncyxcbiAgICApO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2t5LWF2YXRhclwiPlxuICA8ZGl2ICpuZ0lmPVwiY2FuQ2hhbmdlXCI+XG4gICAgPGRpdiBjbGFzcz1cInNreS1hdmF0YXItZmlsZS1kcm9wXCI+XG4gICAgICA8c2t5LWZpbGUtZHJvcFxuICAgICAgICBbYWNjZXB0ZWRUeXBlc109XCInaW1hZ2UvKidcIlxuICAgICAgICBbZmlsZVVwbG9hZEFyaWFMYWJlbF09XCJcbiAgICAgICAgICBzcmNcbiAgICAgICAgICAgID8gKCdza3l1eF9hdmF0YXJfdXBsb2FkX2NoYW5nZV9hcmlhX2xhYmVsJyB8IHNreUxpYlJlc291cmNlczogbmFtZSlcbiAgICAgICAgICAgIDogKCdza3l1eF9hdmF0YXJfdXBsb2FkX25ld19hcmlhX2xhYmVsJyB8IHNreUxpYlJlc291cmNlczogbmFtZSlcbiAgICAgICAgXCJcbiAgICAgICAgW211bHRpcGxlXT1cImZhbHNlXCJcbiAgICAgICAgW21heEZpbGVTaXplXT1cIm1heEZpbGVTaXplXCJcbiAgICAgICAgW211bHRpcGxlXT1cImZhbHNlXCJcbiAgICAgICAgKGZpbGVzQ2hhbmdlZCk9XCJwaG90b0Ryb3AoJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpbm5lclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L3NreS1maWxlLWRyb3A+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwiIWNhbkNoYW5nZVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpbm5lclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjaW5uZXJUZW1wbGF0ZT5cbiAgPHNreS1hdmF0YXItaW5uZXJcbiAgICBbbmFtZV09XCJuYW1lXCJcbiAgICBbc2l6ZV09XCJzaXplID8/IChzaXplRGVmYXVsdCB8IGFzeW5jKSA/PyAnbGFyZ2UnXCJcbiAgICBbc3JjXT1cInNyY1wiXG4gID48L3NreS1hdmF0YXItaW5uZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -200,7 +200,7 @@ function getInitial(name) {
200
200
  return name.charAt(0).toUpperCase();
201
201
  }
202
202
 
203
- const MAX_FILE_SIZE_DEFAULT = 500000;
203
+ const MAX_FILE_SIZE_DEFAULT = 512000;
204
204
  class SkyAvatarComponent {
205
205
  /**
206
206
  * Whether users can change the image. To select a different image,
@@ -249,7 +249,7 @@ class SkyAvatarComponent {
249
249
  constructor(errorService, fileSizePipe, resourcesService) {
250
250
  /**
251
251
  * The maximum file size for the image in bytes.
252
- * @default 500000 bytes
252
+ * @default 512000 bytes
253
253
  */
254
254
  this.maxFileSize = MAX_FILE_SIZE_DEFAULT;
255
255
  /**
@@ -302,7 +302,7 @@ class SkyAvatarComponent {
302
302
  return this.#resourcesService.getStringForLocale({ locale: 'en-US' }, key, ...args);
303
303
  }
304
304
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: SkyAvatarComponent, deps: [{ token: i1.SkyErrorModalService }, { token: i2.SkyFileSizePipe }, { token: i3$1.SkyLibResourcesService }], target: i0.ɵɵFactoryTarget.Component }); }
305
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", 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 }); }
305
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", 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", "labelText", "labelHidden"], 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 }); }
306
306
  }
307
307
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: SkyAvatarComponent, decorators: [{
308
308
  type: Component,
@@ -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":["/* istanbul ignore file */\n\n/**\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 SkyLibResourcesService,\n getLibStringForLocale,\n} from '@skyux/i18n';\n\nconst RESOURCES: Record<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\nSkyLibResourcesService.addResources(RESOURCES);\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 if (value) {\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 value.charCodeAt(0) + value.charCodeAt(value.length - 1) + value.length;\n this.#colorIndex = Math.abs(seed % 7);\n } else {\n this.#colorIndex = 0;\n }\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 return this.#colorIndex;\n }\n\n #colorIndex = 0;\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-avatar-colors-' + (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: 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 { 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 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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"}
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":["/* istanbul ignore file */\n\n/**\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 SkyLibResourcesService,\n getLibStringForLocale,\n} from '@skyux/i18n';\n\nconst RESOURCES: Record<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\nSkyLibResourcesService.addResources(RESOURCES);\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 if (value) {\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 value.charCodeAt(0) + value.charCodeAt(value.length - 1) + value.length;\n this.#colorIndex = Math.abs(seed % 7);\n } else {\n this.#colorIndex = 0;\n }\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 return this.#colorIndex;\n }\n\n #colorIndex = 0;\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-avatar-colors-' + (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 = 512000;\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 512000 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: 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 { 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 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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"}
@@ -35,7 +35,7 @@ export declare class SkyAvatarComponent {
35
35
  get src(): SkyAvatarSrc | undefined;
36
36
  /**
37
37
  * The maximum file size for the image in bytes.
38
- * @default 500000 bytes
38
+ * @default 512000 bytes
39
39
  */
40
40
  maxFileSize: number | undefined;
41
41
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skyux/avatar",
3
- "version": "10.0.0-rc.1",
3
+ "version": "10.1.0",
4
4
  "author": "Blackbaud, Inc.",
5
5
  "keywords": [
6
6
  "blackbaud",
@@ -39,12 +39,12 @@
39
39
  "@angular/common": "^17.3.1",
40
40
  "@angular/core": "^17.3.1",
41
41
  "@angular/platform-browser": "^17.3.1",
42
- "@skyux-sdk/testing": "10.0.0-rc.1",
43
- "@skyux/core": "10.0.0-rc.1",
44
- "@skyux/errors": "10.0.0-rc.1",
45
- "@skyux/forms": "10.0.0-rc.1",
46
- "@skyux/i18n": "10.0.0-rc.1",
47
- "@skyux/theme": "10.0.0-rc.1"
42
+ "@skyux-sdk/testing": "10.1.0",
43
+ "@skyux/core": "10.1.0",
44
+ "@skyux/errors": "10.1.0",
45
+ "@skyux/forms": "10.1.0",
46
+ "@skyux/i18n": "10.1.0",
47
+ "@skyux/theme": "10.1.0"
48
48
  },
49
49
  "dependencies": {
50
50
  "tslib": "^2.6.2"