@skyux/avatar 12.21.0 → 12.23.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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skyux-avatar-testing.mjs","sources":["../../../../../libs/components/avatar/testing/src/legacy/avatar-fixture.ts","../../../../../libs/components/avatar/testing/src/modules/avatar/avatar-harness.ts","../../../../../libs/components/avatar/testing/src/skyux-avatar-testing.ts"],"sourcesContent":["import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * Allows interaction with a SKY UX avatar component.\n * @deprecated Use `SkyAvatarHarness` instead.\n * @internal\n */\nexport class SkyAvatarFixture {\n /**\n * The initials displayed when no image URL is specified.\n */\n public get initials(): string | undefined {\n const initialsEl = this.#debugEl.query(By.css('.sky-avatar-initials'));\n\n if (SkyAppTestUtility.isVisible(initialsEl)) {\n return SkyAppTestUtility.getText(\n initialsEl.query(By.css('.sky-avatar-initials-inner')),\n );\n }\n\n return undefined;\n }\n\n /**\n * The avatar's current image URL.\n */\n public get imageUrl(): string | undefined {\n const imageEl = this.#debugEl.query(By.css('.sky-avatar-image'));\n\n if (SkyAppTestUtility.isVisible(imageEl)) {\n return SkyAppTestUtility.getBackgroundImageUrl(imageEl);\n }\n\n return undefined;\n }\n\n #debugEl: DebugElement;\n\n constructor(fixture: ComponentFixture<any>, skyTestId: string) {\n this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-avatar',\n );\n }\n}\n","import { HarnessPredicate, TestElement } from '@angular/cdk/testing';\nimport { SkyComponentHarness, SkyHarnessUtility } from '@skyux/core/testing';\nimport { SkyErrorModalHarness } from '@skyux/errors/testing';\nimport { SkyFileDropHarness } from '@skyux/forms/testing';\n\nimport { SkyAvatarHarnessFilters } from './avatar-harness-filters';\n\nconst WAIT_INTERVAL = 10;\nconst WAIT_TIMEOUT = 3000;\n\nasync function isHidden(el: TestElement): Promise<boolean> {\n return (await el.getCssValue('display')) === 'none';\n}\n\n/**\n * Harness for interacting with an avatar component in tests.\n */\nexport class SkyAvatarHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-avatar';\n\n #documentRootLocator = this.documentRootLocatorFactory();\n\n #getFileDrop = this.locatorForOptional(SkyFileDropHarness);\n #errorModal =\n this.#documentRootLocator.locatorForOptional(SkyErrorModalHarness);\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyAvatarHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyAvatarHarnessFilters,\n ): HarnessPredicate<SkyAvatarHarness> {\n return SkyAvatarHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets the initials displayed when no image URL is specified.\n */\n public async getInitials(): Promise<string | undefined> {\n const initialsEl = await this.locatorFor('.sky-avatar-initials')();\n\n if (await isHidden(initialsEl)) {\n return undefined;\n }\n\n return await initialsEl.text();\n }\n\n /**\n * Gets the avatar's current image URL or Blob.\n */\n public async getSrc(): Promise<string | Blob | undefined> {\n const url = await this.#getImageUrl();\n\n if (url?.startsWith('blob:')) {\n return await (await fetch(url)).blob();\n }\n\n return url;\n }\n\n /**\n * Gets whether users can change the image.\n */\n public async getCanChange(): Promise<boolean> {\n return !!(await this.#getFileDrop());\n }\n\n /**\n * Simulates the user selecting or dropping an image onto the component.\n */\n public async dropAvatarFile(\n file: File,\n waitForChange?: boolean,\n ): Promise<void> {\n const fileDrop = await this.#getFileDrop();\n\n if (!fileDrop) {\n throw new Error(\n 'A new avatar cannot be selected because the canChange input is not set to true.',\n );\n }\n\n if (waitForChange) {\n await this.#dropAndWait(fileDrop, file);\n } else {\n await fileDrop.loadFile(file);\n }\n }\n\n /**\n * Gets whether an error indicating an invalid file type is displayed.\n */\n public async hasFileTypeError(): Promise<boolean> {\n const errorModal = await this.#errorModal();\n\n return !!(await errorModal?.getTitle())?.includes('File is not an image.');\n }\n\n /**\n * Gets whether an error indicating an invalid file size is displayed.\n */\n public async hasMaxSizeError(): Promise<boolean> {\n const errorModal = await this.#errorModal();\n\n return !!(await errorModal?.getTitle())?.includes('File is too large.');\n }\n\n /**\n * Closes the currently displayed error.\n */\n public async closeError(): Promise<void> {\n const errorModal = await this.#errorModal();\n\n if (!errorModal) {\n throw new Error('No error is currently displayed.');\n }\n\n await errorModal.clickCloseButton();\n }\n\n async #getImageUrl(): Promise<string | undefined> {\n const imageEl = await this.locatorFor('.sky-avatar-image')();\n\n if (await isHidden(imageEl)) {\n return undefined;\n }\n\n return await SkyHarnessUtility.getBackgroundImageUrl(imageEl);\n }\n\n async #dropAndWait(fileDrop: SkyFileDropHarness, file: File): Promise<void> {\n const currentUrl = await this.#getImageUrl();\n\n await fileDrop.loadFile(file);\n\n return await new Promise<void>((resolve, reject) => {\n const checkForFileChange = async (attempts: number): Promise<void> => {\n if ((await this.#getImageUrl()) !== currentUrl) {\n resolve();\n } else if (attempts * WAIT_INTERVAL < WAIT_TIMEOUT) {\n setTimeout(\n () => void checkForFileChange(attempts + 1),\n WAIT_INTERVAL,\n );\n } else {\n reject(\n new Error(\n 'The avatar src did not change within the expected time span',\n ),\n );\n }\n };\n\n void checkForFileChange(0);\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;AAKA;;;;AAIG;MACU,gBAAgB,CAAA;AAC3B;;AAEG;AACH,IAAA,IAAW,QAAQ,GAAA;AACjB,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;AAEtE,QAAA,IAAI,iBAAiB,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE;AAC3C,YAAA,OAAO,iBAAiB,CAAC,OAAO,CAC9B,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CACvD;;AAGH,QAAA,OAAO,SAAS;;AAGlB;;AAEG;AACH,IAAA,IAAW,QAAQ,GAAA;AACjB,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAEhE,QAAA,IAAI,iBAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;AACxC,YAAA,OAAO,iBAAiB,CAAC,qBAAqB,CAAC,OAAO,CAAC;;AAGzD,QAAA,OAAO,SAAS;;AAGlB,IAAA,QAAQ;IAER,
|
|
1
|
+
{"version":3,"file":"skyux-avatar-testing.mjs","sources":["../../../../../libs/components/avatar/testing/src/legacy/avatar-fixture.ts","../../../../../libs/components/avatar/testing/src/modules/avatar/avatar-harness.ts","../../../../../libs/components/avatar/testing/src/skyux-avatar-testing.ts"],"sourcesContent":["import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * Allows interaction with a SKY UX avatar component.\n * @deprecated Use `SkyAvatarHarness` instead.\n * @internal\n */\nexport class SkyAvatarFixture {\n /**\n * The initials displayed when no image URL is specified.\n */\n public get initials(): string | undefined {\n const initialsEl = this.#debugEl.query(By.css('.sky-avatar-initials'));\n\n if (SkyAppTestUtility.isVisible(initialsEl)) {\n return SkyAppTestUtility.getText(\n initialsEl.query(By.css('.sky-avatar-initials-inner')),\n );\n }\n\n return undefined;\n }\n\n /**\n * The avatar's current image URL.\n */\n public get imageUrl(): string | undefined {\n const imageEl = this.#debugEl.query(By.css('.sky-avatar-image'));\n\n if (SkyAppTestUtility.isVisible(imageEl)) {\n return SkyAppTestUtility.getBackgroundImageUrl(imageEl);\n }\n\n return undefined;\n }\n\n #debugEl: DebugElement;\n\n constructor(fixture: ComponentFixture<any>, skyTestId: string) {\n this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-avatar',\n );\n }\n}\n","import { HarnessPredicate, TestElement } from '@angular/cdk/testing';\nimport { SkyComponentHarness, SkyHarnessUtility } from '@skyux/core/testing';\nimport { SkyErrorModalHarness } from '@skyux/errors/testing';\nimport { SkyFileDropHarness } from '@skyux/forms/testing';\n\nimport { SkyAvatarHarnessFilters } from './avatar-harness-filters';\n\nconst WAIT_INTERVAL = 10;\nconst WAIT_TIMEOUT = 3000;\n\nasync function isHidden(el: TestElement): Promise<boolean> {\n return (await el.getCssValue('display')) === 'none';\n}\n\n/**\n * Harness for interacting with an avatar component in tests.\n */\nexport class SkyAvatarHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-avatar';\n\n #documentRootLocator = this.documentRootLocatorFactory();\n\n #getFileDrop = this.locatorForOptional(SkyFileDropHarness);\n #errorModal =\n this.#documentRootLocator.locatorForOptional(SkyErrorModalHarness);\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyAvatarHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyAvatarHarnessFilters,\n ): HarnessPredicate<SkyAvatarHarness> {\n return SkyAvatarHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets the initials displayed when no image URL is specified.\n */\n public async getInitials(): Promise<string | undefined> {\n const initialsEl = await this.locatorFor('.sky-avatar-initials')();\n\n if (await isHidden(initialsEl)) {\n return undefined;\n }\n\n return await initialsEl.text();\n }\n\n /**\n * Gets the avatar's current image URL or Blob.\n */\n public async getSrc(): Promise<string | Blob | undefined> {\n const url = await this.#getImageUrl();\n\n if (url?.startsWith('blob:')) {\n return await (await fetch(url)).blob();\n }\n\n return url;\n }\n\n /**\n * Gets whether users can change the image.\n */\n public async getCanChange(): Promise<boolean> {\n return !!(await this.#getFileDrop());\n }\n\n /**\n * Simulates the user selecting or dropping an image onto the component.\n */\n public async dropAvatarFile(\n file: File,\n waitForChange?: boolean,\n ): Promise<void> {\n const fileDrop = await this.#getFileDrop();\n\n if (!fileDrop) {\n throw new Error(\n 'A new avatar cannot be selected because the canChange input is not set to true.',\n );\n }\n\n if (waitForChange) {\n await this.#dropAndWait(fileDrop, file);\n } else {\n await fileDrop.loadFile(file);\n }\n }\n\n /**\n * Gets whether an error indicating an invalid file type is displayed.\n */\n public async hasFileTypeError(): Promise<boolean> {\n const errorModal = await this.#errorModal();\n\n return !!(await errorModal?.getTitle())?.includes('File is not an image.');\n }\n\n /**\n * Gets whether an error indicating an invalid file size is displayed.\n */\n public async hasMaxSizeError(): Promise<boolean> {\n const errorModal = await this.#errorModal();\n\n return !!(await errorModal?.getTitle())?.includes('File is too large.');\n }\n\n /**\n * Closes the currently displayed error.\n */\n public async closeError(): Promise<void> {\n const errorModal = await this.#errorModal();\n\n if (!errorModal) {\n throw new Error('No error is currently displayed.');\n }\n\n await errorModal.clickCloseButton();\n }\n\n async #getImageUrl(): Promise<string | undefined> {\n const imageEl = await this.locatorFor('.sky-avatar-image')();\n\n if (await isHidden(imageEl)) {\n return undefined;\n }\n\n return await SkyHarnessUtility.getBackgroundImageUrl(imageEl);\n }\n\n async #dropAndWait(fileDrop: SkyFileDropHarness, file: File): Promise<void> {\n const currentUrl = await this.#getImageUrl();\n\n await fileDrop.loadFile(file);\n\n return await new Promise<void>((resolve, reject) => {\n const checkForFileChange = async (attempts: number): Promise<void> => {\n if ((await this.#getImageUrl()) !== currentUrl) {\n resolve();\n } else if (attempts * WAIT_INTERVAL < WAIT_TIMEOUT) {\n setTimeout(\n () => void checkForFileChange(attempts + 1),\n WAIT_INTERVAL,\n );\n } else {\n reject(\n new Error(\n 'The avatar src did not change within the expected time span',\n ),\n );\n }\n };\n\n void checkForFileChange(0);\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -66,11 +66,11 @@ SkyLibResourcesService.addResources(RESOURCES);
|
|
|
66
66
|
* Import into any component library module that needs to use resource strings.
|
|
67
67
|
*/
|
|
68
68
|
class SkyAvatarResourcesModule {
|
|
69
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
70
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.
|
|
71
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.
|
|
69
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SkyAvatarResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
70
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: SkyAvatarResourcesModule, exports: [SkyI18nModule] }); }
|
|
71
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SkyAvatarResourcesModule, imports: [SkyI18nModule] }); }
|
|
72
72
|
}
|
|
73
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
73
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SkyAvatarResourcesModule, decorators: [{
|
|
74
74
|
type: NgModule,
|
|
75
75
|
args: [{
|
|
76
76
|
exports: [SkyI18nModule],
|
|
@@ -115,10 +115,10 @@ class SkyAvatarAdapterService {
|
|
|
115
115
|
this.#blobUrl = undefined;
|
|
116
116
|
}
|
|
117
117
|
}
|
|
118
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
119
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
118
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SkyAvatarAdapterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
119
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SkyAvatarAdapterService }); }
|
|
120
120
|
}
|
|
121
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
121
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SkyAvatarAdapterService, decorators: [{
|
|
122
122
|
type: Injectable
|
|
123
123
|
}] });
|
|
124
124
|
|
|
@@ -187,10 +187,10 @@ class SkyAvatarInnerComponent {
|
|
|
187
187
|
this.#adapter.updateImage(this.#elementRef, this.src);
|
|
188
188
|
}
|
|
189
189
|
}
|
|
190
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
191
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.7", type: SkyAvatarInnerComponent, isStandalone: false, 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 @if (src) {\n <div class=\"sky-screen-reader-only\">\n {{ 'skyux_avatar_inner_description' | skyLibResources: name }}\n </div>\n }\n <div\n class=\"sky-avatar-initials\"\n [hidden]=\"src || !name\"\n [ngClass]=\"'sky-avatar-colors-' + (colorIndex + 1)\"\n >\n @if (size === 'small') {\n <div\n class=\"sky-avatar-initials-inner\"\n [skyThemeClass]=\"{\n 'sky-font-body-sm': 'modern'\n }\"\n >\n {{ initials }}\n </div>\n } @else if (size === 'medium') {\n <div\n class=\"sky-avatar-initials-inner\"\n [skyThemeClass]=\"{\n 'sky-font-display-3': 'modern'\n }\"\n >\n {{ initials }}\n </div>\n } @else if (size === 'large') {\n <div\n class=\"sky-avatar-initials-inner\"\n [skyThemeClass]=\"{\n 'sky-font-display-2': 'modern'\n }\"\n >\n {{ initials }}\n </div>\n }\n </div>\n</div>\n", styles: [".sky-avatar:not(.sky-theme-modern *){--sky-override-avatar-initials-border-radius: initial;--sky-override-avatar-initials-font-size: 50px;--sky-override-avatar-initials-font-size-md: 32.5px;--sky-override-avatar-initials-font-size-sm: 16px;--sky-override-avatar-initials-height: 100px;--sky-override-avatar-initials-height-md: 65px;--sky-override-avatar-initials-height-sm: 32px;--sky-override-avatar-initials-width: 100px;--sky-override-avatar-initials-width-md: 65px;--sky-override-avatar-initials-width-sm: 32px;--sky-override-avatar-wrapper-background-color: transparent;--sky-override-avatar-wrapper-border: solid 2px transparent;--sky-override-avatar-wrapper-border-radius: 50%;--sky-override-avatar-wrapper-drop-accept-border-color: #72bf44;--sky-override-avatar-wrapper-drop-border-width: 2px;--sky-override-avatar-wrapper-drop-border-active: solid 2px transparent;--sky-override-avatar-wrapper-drop-border-hover: solid 2px transparent;--sky-override-avatar-wrapper-drop-box-shadow-focus: 0 0 5px 0 rgba(0, 0, 0, .3);--sky-override-avatar-wrapper-drop-reject-border-color: #ef4044;--sky-override-avatar-wrapper-height: 104px;--sky-override-avatar-wrapper-height-md: 69px;--sky-override-avatar-wrapper-height-sm: 36px;--sky-override-avatar-wrapper-left: -2px;--sky-override-avatar-wrapper-padding: 0;--sky-override-avatar-wrapper-padding-md: 0;--sky-override-avatar-wrapper-padding-sm: 0;--sky-override-avatar-wrapper-top: -2px;--sky-override-avatar-wrapper-width: 104px;--sky-override-avatar-wrapper-width-md: 69px;--sky-override-avatar-wrapper-width-sm: 36px}.sky-theme-modern:not(.sky-theme-brand-base) .sky-avatar{--sky-override-avatar-wrapper-drop-border-width: 2px;--sky-override-avatar-wrapper-drop-box-shadow-focus: var( --sky-elevation-focus )}.sky-avatar-colors-1{background-color:var(--sky-category-color-light-blue)}.sky-avatar-colors-2{background-color:var(--sky-category-color-teal)}.sky-avatar-colors-3{background-color:var(--sky-category-color-purple)}.sky-avatar-colors-4{background-color:var(--sky-category-color-orange)}.sky-avatar-colors-5{background-color:var(--sky-category-color-blue)}.sky-avatar-colors-6{background-color:var(--sky-category-color-yellow)}.sky-avatar-colors-7{background-color:var(--sky-category-color-red)}.sky-avatar-wrapper{height:var(--sky-override-avatar-wrapper-height, var(--sky-size-avatar-l));width:var(--sky-override-avatar-wrapper-width, var(--sky-size-avatar-l));background-color:var(--sky-override-avatar-wrapper-background-color, var(--sky-color-background-thumbnail_matte));padding:var(--sky-override-avatar-wrapper-padding, var(--sky-space-inset-thumbnail_matte-l));border:var(--sky-override-avatar-wrapper-border, none);border-radius:var(--sky-override-avatar-wrapper-border-radius, var(--sky-border-radius-round));overflow:hidden;position:relative;top:var(--sky-override-avatar-wrapper-top, 0);left:var(--sky-override-avatar-wrapper-left, 0)}.sky-avatar-image,.sky-avatar-initials{height:var(--sky-override-avatar-initials-height, calc(var(--sky-size-avatar-l) - var(--sky-space-inset-thumbnail_matte-l) * 2));width:var(--sky-override-avatar-initials-width, calc(var(--sky-size-avatar-l) - var(--sky-space-inset-thumbnail_matte-l) * 2));background-position:50%;background-size:cover;border-radius:var(--sky-override-avatar-initials-border-radius, var(--sky-border-radius-round));display:flex;align-items:center;justify-content:center}.sky-avatar-initials{font-size:var(--sky-override-avatar-initials-font-size, initial)}.sky-avatar-initials-inner{color:var(--sky-text-color-default);cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.sky-avatar-wrapper-size-medium{height:var(--sky-override-avatar-wrapper-height-md, var(--sky-size-avatar-m));width:var(--sky-override-avatar-wrapper-width-md, var(--sky-size-avatar-m));padding:var(--sky-override-avatar-wrapper-padding-md, var(--sky-space-inset-thumbnail_matte-m))}.sky-avatar-wrapper-size-medium .sky-avatar-image,.sky-avatar-wrapper-size-medium .sky-avatar-initials{height:var(--sky-override-avatar-initials-height-md, calc(var(--sky-size-avatar-m) - var(--sky-space-inset-thumbnail_matte-m) * 2));width:var(--sky-override-avatar-initials-width-md, calc(var(--sky-size-avatar-m) - var(--sky-space-inset-thumbnail_matte-m) * 2))}.sky-avatar-wrapper-size-medium .sky-avatar-initials{font-size:var(--sky-override-avatar-initials-font-size-md, initial)}.sky-avatar-wrapper-size-small{height:var(--sky-override-avatar-wrapper-height-sm, var(--sky-size-avatar-s));width:var(--sky-override-avatar-wrapper-width-sm, var(--sky-size-avatar-s));padding:var(--sky-override-avatar-wrapper-padding-sm, var(--sky-space-inset-thumbnail_matte-s))}.sky-avatar-wrapper-size-small .sky-avatar-image,.sky-avatar-wrapper-size-small .sky-avatar-initials{height:var(--sky-override-avatar-initials-height-sm, calc(var(--sky-size-avatar-s) - var(--sky-space-inset-thumbnail_matte-s) * 2));width:var(--sky-override-avatar-initials-width-sm, calc(var(--sky-size-avatar-s) - var(--sky-space-inset-thumbnail_matte-s) * 2))}.sky-avatar-wrapper-size-small .sky-avatar-initials{font-size:var(--sky-override-avatar-initials-font-size-sm, initial)}.sky-file-drop .sky-avatar-wrapper{cursor:pointer}.sky-file-drop-accept .sky-avatar-wrapper,.sky-file-drop-reject .sky-avatar-wrapper{border-style:dashed}.sky-file-drop-accept .sky-avatar-wrapper{border-color:var(--sky-override-avatar-wrapper-drop-accept-border-color, var(--sky-color-border-success))}.sky-file-drop-reject .sky-avatar-wrapper{border-color:var(--sky-override-avatar-wrapper-drop-reject-border-color, var(--sky-color-border-danger))}.sky-file-drop-accept .sky-avatar-wrapper,.sky-file-drop-reject .sky-avatar-wrapper{border-width:var(--sky-override-avatar-wrapper-drop-border-width, var(--sky-border-width-input-hover));padding:calc(var(--sky-override-avatar-wrapper-padding, var(--sky-space-inset-thumbnail_matte-l)) - var(--sky-override-avatar-wrapper-drop-border-width, var(--sky-border-width-input-hover)))}.sky-file-drop-accept .sky-avatar-wrapper-size-medium,.sky-file-drop-reject .sky-avatar-wrapper-size-medium{padding:calc(var(--sky-override-avatar-wrapper-padding-md, var(--sky-space-inset-thumbnail_matte-m)) - var(--sky-override-avatar-wrapper-drop-border-width, var(--sky-border-width-input-hover)))}.sky-file-drop-accept .sky-avatar-wrapper-size-small,.sky-file-drop-reject .sky-avatar-wrapper-size-small{padding:calc(var(--sky-override-avatar-wrapper-padding-sm, var(--sky-space-inset-thumbnail_matte-s)) - var(--sky-override-avatar-wrapper-drop-border-width, var(--sky-border-width-input-hover)))}sky-file-drop:hover .sky-avatar-wrapper{border:var(--sky-override-avatar-wrapper-drop-border-hover, var(--sky-border-width-input-hover) solid var(--sky-color-border-input-hover));padding:calc(var(--sky-override-avatar-wrapper-padding, var(--sky-space-inset-thumbnail_matte-l)) - var(--sky-border-width-input-hover))}sky-file-drop:hover .sky-avatar-wrapper.sky-avatar-wrapper-size-medium{padding:calc(var(--sky-override-avatar-wrapper-padding-md, var(--sky-space-inset-thumbnail_matte-m)) - var(--sky-border-width-input-hover))}sky-file-drop:hover .sky-avatar-wrapper.sky-avatar-wrapper-size-small{padding:calc(var(--sky-override-avatar-wrapper-padding-sm, var(--sky-space-inset-thumbnail_matte-s)) - var(--sky-border-width-input-hover))}sky-file-drop:active .sky-avatar-wrapper,sky-file-drop:focus-within .sky-avatar-wrapper{border:var(--sky-override-avatar-wrapper-drop-border-active, var(--sky-border-width-input-active) solid var(--sky-color-border-input-active));padding:calc(var(--sky-override-avatar-wrapper-padding, var(--sky-space-inset-thumbnail_matte-l)) - var(--sky-border-width-input-active))}sky-file-drop:active .sky-avatar-wrapper.sky-avatar-wrapper-size-medium,sky-file-drop:focus-within .sky-avatar-wrapper.sky-avatar-wrapper-size-medium{padding:calc(var(--sky-override-avatar-wrapper-padding-md, var(--sky-space-inset-thumbnail_matte-m)) - var(--sky-border-width-input-active))}sky-file-drop:active .sky-avatar-wrapper.sky-avatar-wrapper-size-small,sky-file-drop:focus-within .sky-avatar-wrapper.sky-avatar-wrapper-size-small{padding:calc(var(--sky-override-avatar-wrapper-padding-sm, var(--sky-space-inset-thumbnail_matte-s)) - var(--sky-border-width-input-active))}sky-file-drop:focus-within:not(:active) .sky-avatar-wrapper{box-shadow:var(--sky-override-avatar-wrapper-drop-box-shadow-focus, none)}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { kind: "pipe", type: i3$1.SkyLibResourcesPipe, name: "skyLibResources" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
190
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SkyAvatarInnerComponent, deps: [{ token: i0.ElementRef }, { token: SkyAvatarAdapterService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
191
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: SkyAvatarInnerComponent, isStandalone: false, 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 @if (src) {\n <div class=\"sky-screen-reader-only\">\n {{ 'skyux_avatar_inner_description' | skyLibResources: name }}\n </div>\n }\n <div\n class=\"sky-avatar-initials\"\n [hidden]=\"src || !name\"\n [ngClass]=\"'sky-avatar-colors-' + (colorIndex + 1)\"\n >\n @if (size === 'small') {\n <div\n class=\"sky-avatar-initials-inner\"\n [skyThemeClass]=\"{\n 'sky-font-body-sm': 'modern'\n }\"\n >\n {{ initials }}\n </div>\n } @else if (size === 'medium') {\n <div\n class=\"sky-avatar-initials-inner\"\n [skyThemeClass]=\"{\n 'sky-font-display-3': 'modern'\n }\"\n >\n {{ initials }}\n </div>\n } @else if (size === 'large') {\n <div\n class=\"sky-avatar-initials-inner\"\n [skyThemeClass]=\"{\n 'sky-font-display-2': 'modern'\n }\"\n >\n {{ initials }}\n </div>\n }\n </div>\n</div>\n", styles: [".sky-avatar:not(.sky-theme-modern *){--sky-override-avatar-initials-border-radius: initial;--sky-override-avatar-initials-font-size: 50px;--sky-override-avatar-initials-font-size-md: 32.5px;--sky-override-avatar-initials-font-size-sm: 16px;--sky-override-avatar-initials-height: 100px;--sky-override-avatar-initials-height-md: 65px;--sky-override-avatar-initials-height-sm: 32px;--sky-override-avatar-initials-width: 100px;--sky-override-avatar-initials-width-md: 65px;--sky-override-avatar-initials-width-sm: 32px;--sky-override-avatar-wrapper-background-color: transparent;--sky-override-avatar-wrapper-border: solid 2px transparent;--sky-override-avatar-wrapper-border-radius: 50%;--sky-override-avatar-wrapper-drop-accept-border-color: #72bf44;--sky-override-avatar-wrapper-drop-border-width: 2px;--sky-override-avatar-wrapper-drop-border-active: solid 2px transparent;--sky-override-avatar-wrapper-drop-border-hover: solid 2px transparent;--sky-override-avatar-wrapper-drop-box-shadow-focus: 0 0 5px 0 rgba(0, 0, 0, .3);--sky-override-avatar-wrapper-drop-reject-border-color: #ef4044;--sky-override-avatar-wrapper-height: 104px;--sky-override-avatar-wrapper-height-md: 69px;--sky-override-avatar-wrapper-height-sm: 36px;--sky-override-avatar-wrapper-left: -2px;--sky-override-avatar-wrapper-padding: 0;--sky-override-avatar-wrapper-padding-md: 0;--sky-override-avatar-wrapper-padding-sm: 0;--sky-override-avatar-wrapper-top: -2px;--sky-override-avatar-wrapper-width: 104px;--sky-override-avatar-wrapper-width-md: 69px;--sky-override-avatar-wrapper-width-sm: 36px}.sky-theme-modern:not(.sky-theme-brand-base) .sky-avatar{--sky-override-avatar-wrapper-drop-border-width: 2px;--sky-override-avatar-wrapper-drop-box-shadow-focus: var( --sky-elevation-focus )}.sky-avatar-colors-1{background-color:var(--sky-category-color-light-blue)}.sky-avatar-colors-2{background-color:var(--sky-category-color-teal)}.sky-avatar-colors-3{background-color:var(--sky-category-color-purple)}.sky-avatar-colors-4{background-color:var(--sky-category-color-orange)}.sky-avatar-colors-5{background-color:var(--sky-category-color-blue)}.sky-avatar-colors-6{background-color:var(--sky-category-color-yellow)}.sky-avatar-colors-7{background-color:var(--sky-category-color-red)}.sky-avatar-wrapper{height:var(--sky-override-avatar-wrapper-height, var(--sky-size-avatar-l));width:var(--sky-override-avatar-wrapper-width, var(--sky-size-avatar-l));background-color:var(--sky-override-avatar-wrapper-background-color, var(--sky-color-background-thumbnail_matte));padding:var(--sky-override-avatar-wrapper-padding, var(--sky-space-inset-thumbnail_matte-l));border:var(--sky-override-avatar-wrapper-border, none);border-radius:var(--sky-override-avatar-wrapper-border-radius, var(--sky-border-radius-round));overflow:hidden;position:relative;top:var(--sky-override-avatar-wrapper-top, 0);left:var(--sky-override-avatar-wrapper-left, 0)}.sky-avatar-image,.sky-avatar-initials{height:var(--sky-override-avatar-initials-height, calc(var(--sky-size-avatar-l) - var(--sky-space-inset-thumbnail_matte-l) * 2));width:var(--sky-override-avatar-initials-width, calc(var(--sky-size-avatar-l) - var(--sky-space-inset-thumbnail_matte-l) * 2));background-position:50%;background-size:cover;border-radius:var(--sky-override-avatar-initials-border-radius, var(--sky-border-radius-round));display:flex;align-items:center;justify-content:center}.sky-avatar-initials{font-size:var(--sky-override-avatar-initials-font-size, initial)}.sky-avatar-initials-inner{color:var(--sky-text-color-default);cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.sky-avatar-wrapper-size-medium{height:var(--sky-override-avatar-wrapper-height-md, var(--sky-size-avatar-m));width:var(--sky-override-avatar-wrapper-width-md, var(--sky-size-avatar-m));padding:var(--sky-override-avatar-wrapper-padding-md, var(--sky-space-inset-thumbnail_matte-m))}.sky-avatar-wrapper-size-medium .sky-avatar-image,.sky-avatar-wrapper-size-medium .sky-avatar-initials{height:var(--sky-override-avatar-initials-height-md, calc(var(--sky-size-avatar-m) - var(--sky-space-inset-thumbnail_matte-m) * 2));width:var(--sky-override-avatar-initials-width-md, calc(var(--sky-size-avatar-m) - var(--sky-space-inset-thumbnail_matte-m) * 2))}.sky-avatar-wrapper-size-medium .sky-avatar-initials{font-size:var(--sky-override-avatar-initials-font-size-md, initial)}.sky-avatar-wrapper-size-small{height:var(--sky-override-avatar-wrapper-height-sm, var(--sky-size-avatar-s));width:var(--sky-override-avatar-wrapper-width-sm, var(--sky-size-avatar-s));padding:var(--sky-override-avatar-wrapper-padding-sm, var(--sky-space-inset-thumbnail_matte-s))}.sky-avatar-wrapper-size-small .sky-avatar-image,.sky-avatar-wrapper-size-small .sky-avatar-initials{height:var(--sky-override-avatar-initials-height-sm, calc(var(--sky-size-avatar-s) - var(--sky-space-inset-thumbnail_matte-s) * 2));width:var(--sky-override-avatar-initials-width-sm, calc(var(--sky-size-avatar-s) - var(--sky-space-inset-thumbnail_matte-s) * 2))}.sky-avatar-wrapper-size-small .sky-avatar-initials{font-size:var(--sky-override-avatar-initials-font-size-sm, initial)}.sky-file-drop .sky-avatar-wrapper{cursor:pointer}.sky-file-drop-accept .sky-avatar-wrapper,.sky-file-drop-reject .sky-avatar-wrapper{border-style:dashed}.sky-file-drop-accept .sky-avatar-wrapper{border-color:var(--sky-override-avatar-wrapper-drop-accept-border-color, var(--sky-color-border-success))}.sky-file-drop-reject .sky-avatar-wrapper{border-color:var(--sky-override-avatar-wrapper-drop-reject-border-color, var(--sky-color-border-danger))}.sky-file-drop-accept .sky-avatar-wrapper,.sky-file-drop-reject .sky-avatar-wrapper{border-width:var(--sky-override-avatar-wrapper-drop-border-width, var(--sky-border-width-input-hover));padding:calc(var(--sky-override-avatar-wrapper-padding, var(--sky-space-inset-thumbnail_matte-l)) - var(--sky-override-avatar-wrapper-drop-border-width, var(--sky-border-width-input-hover)))}.sky-file-drop-accept .sky-avatar-wrapper-size-medium,.sky-file-drop-reject .sky-avatar-wrapper-size-medium{padding:calc(var(--sky-override-avatar-wrapper-padding-md, var(--sky-space-inset-thumbnail_matte-m)) - var(--sky-override-avatar-wrapper-drop-border-width, var(--sky-border-width-input-hover)))}.sky-file-drop-accept .sky-avatar-wrapper-size-small,.sky-file-drop-reject .sky-avatar-wrapper-size-small{padding:calc(var(--sky-override-avatar-wrapper-padding-sm, var(--sky-space-inset-thumbnail_matte-s)) - var(--sky-override-avatar-wrapper-drop-border-width, var(--sky-border-width-input-hover)))}sky-file-drop:hover .sky-avatar-wrapper{border:var(--sky-override-avatar-wrapper-drop-border-hover, var(--sky-border-width-input-hover) solid var(--sky-color-border-input-hover));padding:calc(var(--sky-override-avatar-wrapper-padding, var(--sky-space-inset-thumbnail_matte-l)) - var(--sky-border-width-input-hover))}sky-file-drop:hover .sky-avatar-wrapper.sky-avatar-wrapper-size-medium{padding:calc(var(--sky-override-avatar-wrapper-padding-md, var(--sky-space-inset-thumbnail_matte-m)) - var(--sky-border-width-input-hover))}sky-file-drop:hover .sky-avatar-wrapper.sky-avatar-wrapper-size-small{padding:calc(var(--sky-override-avatar-wrapper-padding-sm, var(--sky-space-inset-thumbnail_matte-s)) - var(--sky-border-width-input-hover))}sky-file-drop:active .sky-avatar-wrapper,sky-file-drop:focus-within .sky-avatar-wrapper{border:var(--sky-override-avatar-wrapper-drop-border-active, var(--sky-border-width-input-active) solid var(--sky-color-border-input-active));padding:calc(var(--sky-override-avatar-wrapper-padding, var(--sky-space-inset-thumbnail_matte-l)) - var(--sky-border-width-input-active))}sky-file-drop:active .sky-avatar-wrapper.sky-avatar-wrapper-size-medium,sky-file-drop:focus-within .sky-avatar-wrapper.sky-avatar-wrapper-size-medium{padding:calc(var(--sky-override-avatar-wrapper-padding-md, var(--sky-space-inset-thumbnail_matte-m)) - var(--sky-border-width-input-active))}sky-file-drop:active .sky-avatar-wrapper.sky-avatar-wrapper-size-small,sky-file-drop:focus-within .sky-avatar-wrapper.sky-avatar-wrapper-size-small{padding:calc(var(--sky-override-avatar-wrapper-padding-sm, var(--sky-space-inset-thumbnail_matte-s)) - var(--sky-border-width-input-active))}sky-file-drop:focus-within:not(:active) .sky-avatar-wrapper{box-shadow:var(--sky-override-avatar-wrapper-drop-box-shadow-focus, none)}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { kind: "pipe", type: i3$1.SkyLibResourcesPipe, name: "skyLibResources" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
192
192
|
}
|
|
193
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
193
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SkyAvatarInnerComponent, decorators: [{
|
|
194
194
|
type: Component,
|
|
195
195
|
args: [{ selector: 'sky-avatar-inner', providers: [SkyAvatarAdapterService], encapsulation: ViewEncapsulation.None, standalone: false, 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 @if (src) {\n <div class=\"sky-screen-reader-only\">\n {{ 'skyux_avatar_inner_description' | skyLibResources: name }}\n </div>\n }\n <div\n class=\"sky-avatar-initials\"\n [hidden]=\"src || !name\"\n [ngClass]=\"'sky-avatar-colors-' + (colorIndex + 1)\"\n >\n @if (size === 'small') {\n <div\n class=\"sky-avatar-initials-inner\"\n [skyThemeClass]=\"{\n 'sky-font-body-sm': 'modern'\n }\"\n >\n {{ initials }}\n </div>\n } @else if (size === 'medium') {\n <div\n class=\"sky-avatar-initials-inner\"\n [skyThemeClass]=\"{\n 'sky-font-display-3': 'modern'\n }\"\n >\n {{ initials }}\n </div>\n } @else if (size === 'large') {\n <div\n class=\"sky-avatar-initials-inner\"\n [skyThemeClass]=\"{\n 'sky-font-display-2': 'modern'\n }\"\n >\n {{ initials }}\n </div>\n }\n </div>\n</div>\n", styles: [".sky-avatar:not(.sky-theme-modern *){--sky-override-avatar-initials-border-radius: initial;--sky-override-avatar-initials-font-size: 50px;--sky-override-avatar-initials-font-size-md: 32.5px;--sky-override-avatar-initials-font-size-sm: 16px;--sky-override-avatar-initials-height: 100px;--sky-override-avatar-initials-height-md: 65px;--sky-override-avatar-initials-height-sm: 32px;--sky-override-avatar-initials-width: 100px;--sky-override-avatar-initials-width-md: 65px;--sky-override-avatar-initials-width-sm: 32px;--sky-override-avatar-wrapper-background-color: transparent;--sky-override-avatar-wrapper-border: solid 2px transparent;--sky-override-avatar-wrapper-border-radius: 50%;--sky-override-avatar-wrapper-drop-accept-border-color: #72bf44;--sky-override-avatar-wrapper-drop-border-width: 2px;--sky-override-avatar-wrapper-drop-border-active: solid 2px transparent;--sky-override-avatar-wrapper-drop-border-hover: solid 2px transparent;--sky-override-avatar-wrapper-drop-box-shadow-focus: 0 0 5px 0 rgba(0, 0, 0, .3);--sky-override-avatar-wrapper-drop-reject-border-color: #ef4044;--sky-override-avatar-wrapper-height: 104px;--sky-override-avatar-wrapper-height-md: 69px;--sky-override-avatar-wrapper-height-sm: 36px;--sky-override-avatar-wrapper-left: -2px;--sky-override-avatar-wrapper-padding: 0;--sky-override-avatar-wrapper-padding-md: 0;--sky-override-avatar-wrapper-padding-sm: 0;--sky-override-avatar-wrapper-top: -2px;--sky-override-avatar-wrapper-width: 104px;--sky-override-avatar-wrapper-width-md: 69px;--sky-override-avatar-wrapper-width-sm: 36px}.sky-theme-modern:not(.sky-theme-brand-base) .sky-avatar{--sky-override-avatar-wrapper-drop-border-width: 2px;--sky-override-avatar-wrapper-drop-box-shadow-focus: var( --sky-elevation-focus )}.sky-avatar-colors-1{background-color:var(--sky-category-color-light-blue)}.sky-avatar-colors-2{background-color:var(--sky-category-color-teal)}.sky-avatar-colors-3{background-color:var(--sky-category-color-purple)}.sky-avatar-colors-4{background-color:var(--sky-category-color-orange)}.sky-avatar-colors-5{background-color:var(--sky-category-color-blue)}.sky-avatar-colors-6{background-color:var(--sky-category-color-yellow)}.sky-avatar-colors-7{background-color:var(--sky-category-color-red)}.sky-avatar-wrapper{height:var(--sky-override-avatar-wrapper-height, var(--sky-size-avatar-l));width:var(--sky-override-avatar-wrapper-width, var(--sky-size-avatar-l));background-color:var(--sky-override-avatar-wrapper-background-color, var(--sky-color-background-thumbnail_matte));padding:var(--sky-override-avatar-wrapper-padding, var(--sky-space-inset-thumbnail_matte-l));border:var(--sky-override-avatar-wrapper-border, none);border-radius:var(--sky-override-avatar-wrapper-border-radius, var(--sky-border-radius-round));overflow:hidden;position:relative;top:var(--sky-override-avatar-wrapper-top, 0);left:var(--sky-override-avatar-wrapper-left, 0)}.sky-avatar-image,.sky-avatar-initials{height:var(--sky-override-avatar-initials-height, calc(var(--sky-size-avatar-l) - var(--sky-space-inset-thumbnail_matte-l) * 2));width:var(--sky-override-avatar-initials-width, calc(var(--sky-size-avatar-l) - var(--sky-space-inset-thumbnail_matte-l) * 2));background-position:50%;background-size:cover;border-radius:var(--sky-override-avatar-initials-border-radius, var(--sky-border-radius-round));display:flex;align-items:center;justify-content:center}.sky-avatar-initials{font-size:var(--sky-override-avatar-initials-font-size, initial)}.sky-avatar-initials-inner{color:var(--sky-text-color-default);cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.sky-avatar-wrapper-size-medium{height:var(--sky-override-avatar-wrapper-height-md, var(--sky-size-avatar-m));width:var(--sky-override-avatar-wrapper-width-md, var(--sky-size-avatar-m));padding:var(--sky-override-avatar-wrapper-padding-md, var(--sky-space-inset-thumbnail_matte-m))}.sky-avatar-wrapper-size-medium .sky-avatar-image,.sky-avatar-wrapper-size-medium .sky-avatar-initials{height:var(--sky-override-avatar-initials-height-md, calc(var(--sky-size-avatar-m) - var(--sky-space-inset-thumbnail_matte-m) * 2));width:var(--sky-override-avatar-initials-width-md, calc(var(--sky-size-avatar-m) - var(--sky-space-inset-thumbnail_matte-m) * 2))}.sky-avatar-wrapper-size-medium .sky-avatar-initials{font-size:var(--sky-override-avatar-initials-font-size-md, initial)}.sky-avatar-wrapper-size-small{height:var(--sky-override-avatar-wrapper-height-sm, var(--sky-size-avatar-s));width:var(--sky-override-avatar-wrapper-width-sm, var(--sky-size-avatar-s));padding:var(--sky-override-avatar-wrapper-padding-sm, var(--sky-space-inset-thumbnail_matte-s))}.sky-avatar-wrapper-size-small .sky-avatar-image,.sky-avatar-wrapper-size-small .sky-avatar-initials{height:var(--sky-override-avatar-initials-height-sm, calc(var(--sky-size-avatar-s) - var(--sky-space-inset-thumbnail_matte-s) * 2));width:var(--sky-override-avatar-initials-width-sm, calc(var(--sky-size-avatar-s) - var(--sky-space-inset-thumbnail_matte-s) * 2))}.sky-avatar-wrapper-size-small .sky-avatar-initials{font-size:var(--sky-override-avatar-initials-font-size-sm, initial)}.sky-file-drop .sky-avatar-wrapper{cursor:pointer}.sky-file-drop-accept .sky-avatar-wrapper,.sky-file-drop-reject .sky-avatar-wrapper{border-style:dashed}.sky-file-drop-accept .sky-avatar-wrapper{border-color:var(--sky-override-avatar-wrapper-drop-accept-border-color, var(--sky-color-border-success))}.sky-file-drop-reject .sky-avatar-wrapper{border-color:var(--sky-override-avatar-wrapper-drop-reject-border-color, var(--sky-color-border-danger))}.sky-file-drop-accept .sky-avatar-wrapper,.sky-file-drop-reject .sky-avatar-wrapper{border-width:var(--sky-override-avatar-wrapper-drop-border-width, var(--sky-border-width-input-hover));padding:calc(var(--sky-override-avatar-wrapper-padding, var(--sky-space-inset-thumbnail_matte-l)) - var(--sky-override-avatar-wrapper-drop-border-width, var(--sky-border-width-input-hover)))}.sky-file-drop-accept .sky-avatar-wrapper-size-medium,.sky-file-drop-reject .sky-avatar-wrapper-size-medium{padding:calc(var(--sky-override-avatar-wrapper-padding-md, var(--sky-space-inset-thumbnail_matte-m)) - var(--sky-override-avatar-wrapper-drop-border-width, var(--sky-border-width-input-hover)))}.sky-file-drop-accept .sky-avatar-wrapper-size-small,.sky-file-drop-reject .sky-avatar-wrapper-size-small{padding:calc(var(--sky-override-avatar-wrapper-padding-sm, var(--sky-space-inset-thumbnail_matte-s)) - var(--sky-override-avatar-wrapper-drop-border-width, var(--sky-border-width-input-hover)))}sky-file-drop:hover .sky-avatar-wrapper{border:var(--sky-override-avatar-wrapper-drop-border-hover, var(--sky-border-width-input-hover) solid var(--sky-color-border-input-hover));padding:calc(var(--sky-override-avatar-wrapper-padding, var(--sky-space-inset-thumbnail_matte-l)) - var(--sky-border-width-input-hover))}sky-file-drop:hover .sky-avatar-wrapper.sky-avatar-wrapper-size-medium{padding:calc(var(--sky-override-avatar-wrapper-padding-md, var(--sky-space-inset-thumbnail_matte-m)) - var(--sky-border-width-input-hover))}sky-file-drop:hover .sky-avatar-wrapper.sky-avatar-wrapper-size-small{padding:calc(var(--sky-override-avatar-wrapper-padding-sm, var(--sky-space-inset-thumbnail_matte-s)) - var(--sky-border-width-input-hover))}sky-file-drop:active .sky-avatar-wrapper,sky-file-drop:focus-within .sky-avatar-wrapper{border:var(--sky-override-avatar-wrapper-drop-border-active, var(--sky-border-width-input-active) solid var(--sky-color-border-input-active));padding:calc(var(--sky-override-avatar-wrapper-padding, var(--sky-space-inset-thumbnail_matte-l)) - var(--sky-border-width-input-active))}sky-file-drop:active .sky-avatar-wrapper.sky-avatar-wrapper-size-medium,sky-file-drop:focus-within .sky-avatar-wrapper.sky-avatar-wrapper-size-medium{padding:calc(var(--sky-override-avatar-wrapper-padding-md, var(--sky-space-inset-thumbnail_matte-m)) - var(--sky-border-width-input-active))}sky-file-drop:active .sky-avatar-wrapper.sky-avatar-wrapper-size-small,sky-file-drop:focus-within .sky-avatar-wrapper.sky-avatar-wrapper-size-small{padding:calc(var(--sky-override-avatar-wrapper-padding-sm, var(--sky-space-inset-thumbnail_matte-s)) - var(--sky-border-width-input-active))}sky-file-drop:focus-within:not(:active) .sky-avatar-wrapper{box-shadow:var(--sky-override-avatar-wrapper-drop-box-shadow-focus, none)}\n"] }]
|
|
196
196
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: SkyAvatarAdapterService }], propDecorators: { src: [{
|
|
@@ -305,10 +305,10 @@ class SkyAvatarComponent {
|
|
|
305
305
|
// TODO: Need to implement the async `getString` method in a breaking change.
|
|
306
306
|
return this.#resourcesService.getStringForLocale({ locale: 'en-US' }, key, ...args);
|
|
307
307
|
}
|
|
308
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
309
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
|
308
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SkyAvatarComponent, deps: [{ token: i1.SkyErrorModalService }, { token: i2.SkyFileSizePipe }, { token: i3$1.SkyLibResourcesService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
309
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: SkyAvatarComponent, isStandalone: false, 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 @if (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\" />\n </sky-file-drop>\n </div>\n } @else {\n <div>\n <ng-container *ngTemplateOutlet=\"innerTemplate\" />\n </div>\n }\n</div>\n\n<ng-template #innerTemplate>\n <sky-avatar-inner\n [name]=\"name\"\n [size]=\"size ?? (sizeDefault | async) ?? 'large'\"\n [src]=\"src\"\n />\n</ng-template>\n", styles: [".sky-avatar:not(.sky-theme-modern *){--sky-override-avatar-file-drop-focus-outline: auto}.sky-avatar .sky-file-drop-col{flex-basis:initial}.sky-avatar .sky-file-drop:focus{outline:var(--sky-override-avatar-file-drop-focus-outline, none)}\n"], dependencies: [{ kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.λ8, selector: "sky-file-drop", inputs: ["fileUploadAriaLabel", "linkUploadAriaLabel", "linkUploadHintText", "minFileSize", "maxFileSize", "multiple", "validateFn", "acceptedTypes", "acceptedTypesErrorMessage", "noClick", "allowLinks", "labelText", "labelHidden", "hintText", "required", "helpPopoverContent", "helpPopoverTitle", "stacked", "helpKey"], 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 }); }
|
|
310
310
|
}
|
|
311
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
311
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SkyAvatarComponent, decorators: [{
|
|
312
312
|
type: Component,
|
|
313
313
|
args: [{ selector: 'sky-avatar', encapsulation: ViewEncapsulation.None, standalone: false, template: "<div class=\"sky-avatar\">\n @if (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\" />\n </sky-file-drop>\n </div>\n } @else {\n <div>\n <ng-container *ngTemplateOutlet=\"innerTemplate\" />\n </div>\n }\n</div>\n\n<ng-template #innerTemplate>\n <sky-avatar-inner\n [name]=\"name\"\n [size]=\"size ?? (sizeDefault | async) ?? 'large'\"\n [src]=\"src\"\n />\n</ng-template>\n", styles: [".sky-avatar:not(.sky-theme-modern *){--sky-override-avatar-file-drop-focus-outline: auto}.sky-avatar .sky-file-drop-col{flex-basis:initial}.sky-avatar .sky-file-drop:focus{outline:var(--sky-override-avatar-file-drop-focus-outline, none)}\n"] }]
|
|
314
314
|
}], ctorParameters: () => [{ type: i1.SkyErrorModalService }, { type: i2.SkyFileSizePipe }, { type: i3$1.SkyLibResourcesService }], propDecorators: { canChange: [{
|
|
@@ -326,19 +326,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImpor
|
|
|
326
326
|
}] } });
|
|
327
327
|
|
|
328
328
|
class SkyAvatarModule {
|
|
329
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
330
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.
|
|
329
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SkyAvatarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
330
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: SkyAvatarModule, declarations: [SkyAvatarInnerComponent, SkyAvatarComponent], imports: [CommonModule,
|
|
331
331
|
SkyAvatarResourcesModule,
|
|
332
332
|
SkyErrorModule,
|
|
333
333
|
SkyFileAttachmentsModule,
|
|
334
334
|
SkyThemeModule], exports: [SkyAvatarComponent] }); }
|
|
335
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.
|
|
335
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SkyAvatarModule, providers: [SkyFileSizePipe], imports: [CommonModule,
|
|
336
336
|
SkyAvatarResourcesModule,
|
|
337
337
|
SkyErrorModule,
|
|
338
338
|
SkyFileAttachmentsModule,
|
|
339
339
|
SkyThemeModule] }); }
|
|
340
340
|
}
|
|
341
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
341
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SkyAvatarModule, decorators: [{
|
|
342
342
|
type: NgModule,
|
|
343
343
|
args: [{
|
|
344
344
|
declarations: [SkyAvatarInnerComponent, SkyAvatarComponent],
|
|
@@ -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 * 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 SkyI18nModule,\n SkyLibResources,\n SkyLibResourcesService,\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 'FR-CA': {\n skyux_avatar_error_not_image_description: {\n message: 'Veuillez choisir un fichier qui soit une image valide.',\n },\n skyux_avatar_error_not_image_title: {\n message: 'Le fichier n’est pas une image.',\n },\n skyux_avatar_error_too_large_description: {\n message: 'Veuillez choisir une image de moins de {0}.',\n },\n skyux_avatar_error_too_large_title: {\n message: 'Le fichier est trop gros.',\n },\n skyux_avatar_errormodal_ok: { message: 'OK' },\n skyux_avatar_inner_description: { message: 'Photo de profil de {0}' },\n skyux_avatar_upload_change_aria_label: {\n message:\n 'Modifier la photo de profil de {0}. Faites glisser un fichier ici ou cliquez pour naviguer.',\n },\n skyux_avatar_upload_new_aria_label: {\n message:\n 'Ajoutez une photo de profil pour {0}. Faites glisser un fichier ici ou cliquez pour naviguer.',\n },\n },\n};\n\nSkyLibResourcesService.addResources(RESOURCES);\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n exports: [SkyI18nModule],\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): void {\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(): void {\n this.#revokeBlobUrl();\n }\n\n #createBlobUrl(src: Blob | File): string {\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(): void {\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 standalone: false,\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 @if (src) {\n <div class=\"sky-screen-reader-only\">\n {{ 'skyux_avatar_inner_description' | skyLibResources: name }}\n </div>\n }\n <div\n class=\"sky-avatar-initials\"\n [hidden]=\"src || !name\"\n [ngClass]=\"'sky-avatar-colors-' + (colorIndex + 1)\"\n >\n @if (size === 'small') {\n <div\n class=\"sky-avatar-initials-inner\"\n [skyThemeClass]=\"{\n 'sky-font-body-sm': 'modern'\n }\"\n >\n {{ initials }}\n </div>\n } @else if (size === 'medium') {\n <div\n class=\"sky-avatar-initials-inner\"\n [skyThemeClass]=\"{\n 'sky-font-display-3': 'modern'\n }\"\n >\n {{ initials }}\n </div>\n } @else if (size === 'large') {\n <div\n class=\"sky-avatar-initials-inner\"\n [skyThemeClass]=\"{\n 'sky-font-display-2': 'modern'\n }\"\n >\n {{ initials }}\n </div>\n }\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 standalone: false,\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 @if (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\" />\n </sky-file-drop>\n </div>\n } @else {\n <div>\n <ng-container *ngTemplateOutlet=\"innerTemplate\" />\n </div>\n }\n</div>\n\n<ng-template #innerTemplate>\n <sky-avatar-inner\n [name]=\"name\"\n [size]=\"size ?? (sizeDefault | async) ?? 'large'\"\n [src]=\"src\"\n />\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":";;;;;;;;;;;;;;AAAA;AACA;;;;;AAKG;AAQH,MAAM,SAAS,GAAoC;AACjD,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;AACD,IAAA,OAAO,EAAE;AACP,QAAA,wCAAwC,EAAE;AACxC,YAAA,OAAO,EAAE,wDAAwD;AAClE,SAAA;AACD,QAAA,kCAAkC,EAAE;AAClC,YAAA,OAAO,EAAE,iCAAiC;AAC3C,SAAA;AACD,QAAA,wCAAwC,EAAE;AACxC,YAAA,OAAO,EAAE,6CAA6C;AACvD,SAAA;AACD,QAAA,kCAAkC,EAAE;AAClC,YAAA,OAAO,EAAE,2BAA2B;AACrC,SAAA;AACD,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,6FAA6F;AAChG,SAAA;AACD,QAAA,kCAAkC,EAAE;AAClC,YAAA,OAAO,EACL,+FAA+F;AAClG,SAAA;AACF,KAAA;CACF;AAED,sBAAsB,CAAC,YAAY,CAAC,SAAS,CAAC;AAE9C;;AAEG;MAIU,wBAAwB,CAAA;8GAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,YAFzB,aAAa,CAAA,EAAA,CAAA,CAAA;AAEZ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,YAFzB,aAAa,CAAA,EAAA,CAAA,CAAA;;2FAEZ,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,aAAa,CAAC;AACzB,iBAAA;;;AC/DD;;AAEG;MAEU,uBAAuB,CAAA;AAClC,IAAA,QAAQ;IAED,WAAW,CAAC,UAAsB,EAAE,GAAiB,EAAA;QAC1D,IAAI,CAAC,cAAc,EAAE;AAErB,QAAA,MAAM,EAAE,GAAG,UAAU,CAAC,aAAa;;QAGnC,IAAI,EAAE,EAAE;YACN,MAAM,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,mBAAmB,CAAC;;YAGrD,IAAI,OAAO,EAAE;gBACX,IAAI,GAAG,GAAG,GAAG;gBAEb,IAAI,GAAG,YAAY,IAAI,IAAI,GAAG,YAAY,IAAI,EAAE;AAC9C,oBAAA,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;;;gBAIhC,OAAO,CAAC,KAAK,CAAC,eAAe,GAAG,OAAO,GAAG,GAAG,GAAG,IAAI;;;;IAKnD,OAAO,GAAA;QACZ,IAAI,CAAC,cAAc,EAAE;;AAGvB,IAAA,cAAc,CAAC,GAAgB,EAAA;QAC7B,MAAM,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC;;;AAIpC,QAAA,IAAI,CAAC,QAAQ,GAAG,GAAG;AACnB,QAAA,OAAO,GAAG;;IAGZ,cAAc,GAAA;AACZ,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC;AAClC,YAAA,IAAI,CAAC,QAAQ,GAAG,SAAS;;;8GA1ClB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAvB,uBAAuB,EAAA,CAAA,CAAA;;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBADnC;;;ACMD;;AAEG;MASU,uBAAuB,CAAA;AAClC,IAAA,IAAW,GAAG,GAAA;QACZ,OAAO,IAAI,CAAC,KAAK;;IAGnB,IACW,GAAG,CAAC,KAA+B,EAAA;AAC5C,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;QAClB,IAAI,CAAC,YAAY,EAAE;;AAGrB,IAAA,IAAW,IAAI,GAAA;QACb,OAAO,IAAI,CAAC,MAAM;;IAGpB,IACW,IAAI,CAAC,KAAyB,EAAA;AACvC,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;QAEnB,IAAI,KAAK,EAAE;;;YAGT,MAAM,IAAI,GACR,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM;YACzE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;;aAChC;AACL,YAAA,IAAI,CAAC,WAAW,GAAG,CAAC;;;AAOxB,IAAA,gBAAgB;AAEhB,IAAA,KAAK;AAEL,IAAA,MAAM;AAEN,IAAA,WAAW;AACX,IAAA,QAAQ;IAER,WAAY,CAAA,UAAsB,EAAE,OAAgC,EAAA;QAX7D,IAAI,CAAA,IAAA,GAA8B,OAAO;QAEhD,IAAgB,CAAA,gBAAA,GAAG,KAAK;QAiCxB,IAAW,CAAA,WAAA,GAAG,CAAC;AAvBb,QAAA,IAAI,CAAC,WAAW,GAAG,UAAU;AAC7B,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO;;AAGzB,IAAA,IAAW,QAAQ,GAAA;AACjB,QAAA,IAAI,QAA4B;AAEhC,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;YACtC,QAAQ,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAEnC,YAAA,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;AACxB,gBAAA,QAAQ,IAAI,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;;;AAI3D,QAAA,OAAO,QAAQ;;AAGjB,IAAA,IAAW,UAAU,GAAA;QACnB,OAAO,IAAI,CAAC,WAAW;;AAGzB,IAAA,WAAW;IAEJ,eAAe,GAAA;AACpB,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI;QAC5B,IAAI,CAAC,YAAY,EAAE;;IAGd,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;;IAGzB,YAAY,GAAA;QACV,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,GAAG,EAAE;AACrC,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC;;;8GA/E9C,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,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,EAJvB,YAAA,EAAA,KAAA,EAAA,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,0nCA6CA,EAAA,MAAA,EAAA,CAAA,gvQAAA,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,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;;2FDrBa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBARnC,SAAS;+BACE,kBAAkB,EAAA,SAAA,EAGjB,CAAC,uBAAuB,CAAC,iBACrB,iBAAiB,CAAC,IAAI,EAAA,UAAA,EACzB,KAAK,EAAA,QAAA,EAAA,0nCAAA,EAAA,MAAA,EAAA,CAAA,gvQAAA,CAAA,EAAA;kHAQN,GAAG,EAAA,CAAA;sBADb;gBAWU,IAAI,EAAA,CAAA;sBADd;gBAgBM,IAAI,EAAA,CAAA;sBADV;;AAsDH,SAAS,UAAU,CAAC,IAAY,EAAA;IAC9B,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;AACrC;;AE5FA,MAAM,qBAAqB,GAAG,MAAM;MASvB,kBAAkB,CAAA;AAC7B;;;;;;AAMG;IACH,IACW,SAAS,CAAC,KAA0B,EAAA;AAC7C,QAAA,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,KAAK;;AAG5B,IAAA,IAAW,SAAS,GAAA;QAClB,OAAO,IAAI,CAAC,WAAW;;AAGzB;;;;;;;AAOG;IACH,IACW,IAAI,CAAC,KAAyB,EAAA;AACvC,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;;AAGrB,IAAA,IAAW,IAAI,GAAA;QACb,OAAO,IAAI,CAAC,MAAM;;AAGpB;;;AAGG;IACH,IACW,GAAG,CAAC,KAA+B,EAAA;AAC5C,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;;AAGpB,IAAA,IAAW,GAAG,GAAA;QACZ,OAAO,IAAI,CAAC,KAAK;;AA0BnB,IAAA,WAAW;AAEX,IAAA,MAAM;AAEN,IAAA,KAAK;AAEL,IAAA,aAAa;AACb,IAAA,aAAa;AACb,IAAA,iBAAiB;AAEjB,IAAA,qBAAqB;AAErB,IAAA,WAAA,CACE,YAAkC,EAClC,YAA6B,EAC7B,gBAAwC,EAAA;AAtC1C;;;AAGG;QAEI,IAAW,CAAA,WAAA,GAAuB,qBAAqB;AAU9D;;AAEG;AAEI,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAe;QAItD,IAAW,CAAA,WAAA,GAAG,KAAK;QAUnB,IAAqB,CAAA,qBAAA,GAAG,MAAM,CAAC,uBAAuB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAOzE,QAAA,IAAI,CAAC,aAAa,GAAG,YAAY;AACjC,QAAA,IAAI,CAAC,aAAa,GAAG,YAAY;AACjC,QAAA,IAAI,CAAC,iBAAiB,GAAG,gBAAgB;AAEzC,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,qBAAqB,EAAE,QAAQ,CACrD,QAAQ,EACR,MAAM,CACP;;AAGI,IAAA,SAAS,CAAC,MAAyB,EAAA;;;AAGxC,QAAA,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;;AACnC,aAAA,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;AAClE,YAAA,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC;;;AAI3C,IAAA,YAAY,CAAC,aAA4B,EAAA;AACvC,QAAA,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC;AAErC,QAAA,IAAI,YAAY,CAAC,SAAS,KAAK,aAAa,EAAE;YAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,oCAAoC,CAAC;AACnE,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CACjC,0CAA0C,EAC1C,IAAI,CAAC,gBAAgB,EAAE,CACxB;AAED,YAAA,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,WAAW,CAAC;;AACnC,aAAA,IAAI,YAAY,CAAC,SAAS,KAAK,UAAU,EAAE;YAChD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,oCAAoC,CAAC;YACnE,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CACjC,0CAA0C,CAC3C;AAED,YAAA,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,WAAW,CAAC;;;IAI5C,gBAAgB,GAAA;QACd,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC;;IAGvD,eAAe,CAAC,KAAa,EAAE,WAAmB,EAAA;AAChD,QAAA,MAAM,MAAM,GAAqB;AAC/B,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,gBAAgB,EAAE,WAAW;AAC7B,YAAA,cAAc,EAAE,IAAI,CAAC,UAAU,CAAC,4BAA4B,CAAC;SAC9D;AAED,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;;AAGjC,IAAA,UAAU,CAAC,GAAW,EAAE,GAAG,IAAW,EAAA;;AAEpC,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAC9C,EAAE,MAAM,EAAE,OAAO,EAAE,EACnB,GAAG,EACH,GAAG,IAAI,CACR;;8GApJQ,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,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,4NC3B/B,24BAgCA,EAAA,MAAA,EAAA,CAAA,iPAAA,CAAA,EAAA,YAAA,EAAA,CAAA,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,oBAAA,EAAA,aAAA,EAAA,aAAA,EAAA,UAAA,EAAA,YAAA,EAAA,eAAA,EAAA,2BAAA,EAAA,SAAA,EAAA,YAAA,EAAA,WAAA,EAAA,aAAA,EAAA,UAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,kBAAA,EAAA,SAAA,EAAA,SAAA,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;kBAP9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EAGP,aAAA,EAAA,iBAAiB,CAAC,IAAI,cACzB,KAAK,EAAA,QAAA,EAAA,24BAAA,EAAA,MAAA,EAAA,CAAA,iPAAA,CAAA,EAAA;8JAWN,SAAS,EAAA,CAAA;sBADnB;gBAkBU,IAAI,EAAA,CAAA;sBADd;gBAcU,GAAG,EAAA,CAAA;sBADb;gBAcM,WAAW,EAAA,CAAA;sBADjB;gBASM,IAAI,EAAA,CAAA;sBADV;gBAOM,aAAa,EAAA,CAAA;sBADnB;;;MErEU,eAAe,CAAA;8GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,EAXX,YAAA,EAAA,CAAA,uBAAuB,EAAE,kBAAkB,aAExD,YAAY;YACZ,wBAAwB;YACxB,cAAc;YACd,wBAAwB;AACxB,YAAA,cAAc,aAGN,kBAAkB,CAAA,EAAA,CAAA,CAAA;AAEjB,IAAA,SAAA,IAAA,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,YAN1B,YAAY;YACZ,wBAAwB;YACxB,cAAc;YACd,wBAAwB;YACxB,cAAc,CAAA,EAAA,CAAA,CAAA;;2FAKL,eAAe,EAAA,UAAA,EAAA,CAAA;kBAZ3B,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,cAAc;AACf,qBAAA;oBACD,SAAS,EAAE,CAAC,eAAe,CAAC;oBAC5B,OAAO,EAAE,CAAC,kBAAkB,CAAC;AAC9B,iBAAA;;;ACtBD;;AAEG;;;;"}
|
|
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 * 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 SkyI18nModule,\n SkyLibResources,\n SkyLibResourcesService,\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 'FR-CA': {\n skyux_avatar_error_not_image_description: {\n message: 'Veuillez choisir un fichier qui soit une image valide.',\n },\n skyux_avatar_error_not_image_title: {\n message: 'Le fichier n’est pas une image.',\n },\n skyux_avatar_error_too_large_description: {\n message: 'Veuillez choisir une image de moins de {0}.',\n },\n skyux_avatar_error_too_large_title: {\n message: 'Le fichier est trop gros.',\n },\n skyux_avatar_errormodal_ok: { message: 'OK' },\n skyux_avatar_inner_description: { message: 'Photo de profil de {0}' },\n skyux_avatar_upload_change_aria_label: {\n message:\n 'Modifier la photo de profil de {0}. Faites glisser un fichier ici ou cliquez pour naviguer.',\n },\n skyux_avatar_upload_new_aria_label: {\n message:\n 'Ajoutez une photo de profil pour {0}. Faites glisser un fichier ici ou cliquez pour naviguer.',\n },\n },\n};\n\nSkyLibResourcesService.addResources(RESOURCES);\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n exports: [SkyI18nModule],\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): void {\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(): void {\n this.#revokeBlobUrl();\n }\n\n #createBlobUrl(src: Blob | File): string {\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(): void {\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 standalone: false,\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 @if (src) {\n <div class=\"sky-screen-reader-only\">\n {{ 'skyux_avatar_inner_description' | skyLibResources: name }}\n </div>\n }\n <div\n class=\"sky-avatar-initials\"\n [hidden]=\"src || !name\"\n [ngClass]=\"'sky-avatar-colors-' + (colorIndex + 1)\"\n >\n @if (size === 'small') {\n <div\n class=\"sky-avatar-initials-inner\"\n [skyThemeClass]=\"{\n 'sky-font-body-sm': 'modern'\n }\"\n >\n {{ initials }}\n </div>\n } @else if (size === 'medium') {\n <div\n class=\"sky-avatar-initials-inner\"\n [skyThemeClass]=\"{\n 'sky-font-display-3': 'modern'\n }\"\n >\n {{ initials }}\n </div>\n } @else if (size === 'large') {\n <div\n class=\"sky-avatar-initials-inner\"\n [skyThemeClass]=\"{\n 'sky-font-display-2': 'modern'\n }\"\n >\n {{ initials }}\n </div>\n }\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 standalone: false,\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 @if (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\" />\n </sky-file-drop>\n </div>\n } @else {\n <div>\n <ng-container *ngTemplateOutlet=\"innerTemplate\" />\n </div>\n }\n</div>\n\n<ng-template #innerTemplate>\n <sky-avatar-inner\n [name]=\"name\"\n [size]=\"size ?? (sizeDefault | async) ?? 'large'\"\n [src]=\"src\"\n />\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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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skyux/avatar",
|
|
3
|
-
"version": "12.
|
|
3
|
+
"version": "12.23.0",
|
|
4
4
|
"author": "Blackbaud, Inc.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"blackbaud",
|
|
@@ -16,16 +16,16 @@
|
|
|
16
16
|
},
|
|
17
17
|
"homepage": "https://github.com/blackbaud/skyux#readme",
|
|
18
18
|
"peerDependencies": {
|
|
19
|
-
"@angular/cdk": "^19.2.
|
|
20
|
-
"@angular/common": "^19.2.
|
|
21
|
-
"@angular/core": "^19.2.
|
|
22
|
-
"@angular/platform-browser": "^19.2.
|
|
23
|
-
"@skyux-sdk/testing": "12.
|
|
24
|
-
"@skyux/core": "12.
|
|
25
|
-
"@skyux/errors": "12.
|
|
26
|
-
"@skyux/forms": "12.
|
|
27
|
-
"@skyux/i18n": "12.
|
|
28
|
-
"@skyux/theme": "12.
|
|
19
|
+
"@angular/cdk": "^19.2.19",
|
|
20
|
+
"@angular/common": "^19.2.14",
|
|
21
|
+
"@angular/core": "^19.2.14",
|
|
22
|
+
"@angular/platform-browser": "^19.2.14",
|
|
23
|
+
"@skyux-sdk/testing": "12.23.0",
|
|
24
|
+
"@skyux/core": "12.23.0",
|
|
25
|
+
"@skyux/errors": "12.23.0",
|
|
26
|
+
"@skyux/forms": "12.23.0",
|
|
27
|
+
"@skyux/i18n": "12.23.0",
|
|
28
|
+
"@skyux/theme": "12.23.0"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"tslib": "^2.8.1"
|