@skyux/avatar 11.21.0 → 11.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.
- package/documentation.json +92 -92
- package/esm2022/lib/modules/shared/sky-avatar-resources.module.mjs +3 -21
- package/esm2022/testing/legacy/avatar-fixture.mjs +34 -0
- package/esm2022/testing/modules/avatar/avatar-harness-filters.mjs +2 -0
- package/esm2022/testing/modules/avatar/avatar-harness.mjs +118 -0
- package/esm2022/testing/public-api.mjs +3 -3
- package/fesm2022/skyux-avatar-testing.mjs +4 -3
- package/fesm2022/skyux-avatar-testing.mjs.map +1 -1
- package/fesm2022/skyux-avatar.mjs +2 -20
- package/fesm2022/skyux-avatar.mjs.map +1 -1
- package/lib/modules/shared/sky-avatar-resources.module.d.ts +0 -4
- package/package.json +7 -7
- package/testing/{avatar-fixture.d.ts → legacy/avatar-fixture.d.ts} +1 -0
- package/testing/public-api.d.ts +2 -2
- package/esm2022/testing/avatar/avatar-harness-filters.mjs +0 -2
- package/esm2022/testing/avatar/avatar-harness.mjs +0 -118
- package/esm2022/testing/avatar-fixture.mjs +0 -33
- /package/testing/{avatar → modules/avatar}/avatar-harness-filters.d.ts +0 -0
- /package/testing/{avatar → modules/avatar}/avatar-harness.d.ts +0 -0
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
import { SkyComponentHarness, SkyHarnessUtility } from '@skyux/core/testing';
|
|
2
|
-
import { SkyErrorModalHarness } from '@skyux/errors/testing';
|
|
3
|
-
import { SkyFileDropHarness } from '@skyux/forms/testing';
|
|
4
|
-
const WAIT_INTERVAL = 10;
|
|
5
|
-
const WAIT_TIMEOUT = 3000;
|
|
6
|
-
async function isHidden(el) {
|
|
7
|
-
return (await el.getCssValue('display')) === 'none';
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* Harness for interacting with an avatar component in tests.
|
|
11
|
-
*/
|
|
12
|
-
export class SkyAvatarHarness extends SkyComponentHarness {
|
|
13
|
-
/**
|
|
14
|
-
* @internal
|
|
15
|
-
*/
|
|
16
|
-
static { this.hostSelector = 'sky-avatar'; }
|
|
17
|
-
#documentRootLocator = this.documentRootLocatorFactory();
|
|
18
|
-
#getFileDrop = this.locatorForOptional(SkyFileDropHarness);
|
|
19
|
-
#errorModal = this.#documentRootLocator.locatorForOptional(SkyErrorModalHarness);
|
|
20
|
-
/**
|
|
21
|
-
* Gets a `HarnessPredicate` that can be used to search for a
|
|
22
|
-
* `SkyAvatarHarness` that meets certain criteria.
|
|
23
|
-
*/
|
|
24
|
-
static with(filters) {
|
|
25
|
-
return SkyAvatarHarness.getDataSkyIdPredicate(filters);
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Gets the initials displayed when no image URL is specified.
|
|
29
|
-
*/
|
|
30
|
-
async getInitials() {
|
|
31
|
-
const initialsEl = await this.locatorFor('.sky-avatar-initials')();
|
|
32
|
-
if (await isHidden(initialsEl)) {
|
|
33
|
-
return undefined;
|
|
34
|
-
}
|
|
35
|
-
return initialsEl.text();
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Gets the avatar's current image URL or Blob.
|
|
39
|
-
*/
|
|
40
|
-
async getSrc() {
|
|
41
|
-
const url = await this.#getImageUrl();
|
|
42
|
-
if (url?.startsWith('blob:')) {
|
|
43
|
-
return await (await fetch(url)).blob();
|
|
44
|
-
}
|
|
45
|
-
return url;
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Gets whether users can change the image.
|
|
49
|
-
*/
|
|
50
|
-
async getCanChange() {
|
|
51
|
-
return !!(await this.#getFileDrop());
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Simulates the user selecting or dropping an image onto the component.
|
|
55
|
-
*/
|
|
56
|
-
async dropAvatarFile(file, waitForChange) {
|
|
57
|
-
const fileDrop = await this.#getFileDrop();
|
|
58
|
-
if (!fileDrop) {
|
|
59
|
-
throw new Error('A new avatar cannot be selected because the canChange input is not set to true.');
|
|
60
|
-
}
|
|
61
|
-
if (waitForChange) {
|
|
62
|
-
await this.#dropAndWait(fileDrop, file);
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
await fileDrop.dropFile(file);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Gets whether an error indicating an invalid file type is displayed.
|
|
70
|
-
*/
|
|
71
|
-
async hasFileTypeError() {
|
|
72
|
-
const errorModal = await this.#errorModal();
|
|
73
|
-
return !!(await errorModal?.getTitle())?.includes('File is not an image.');
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Gets whether an error indicating an invalid file size is displayed.
|
|
77
|
-
*/
|
|
78
|
-
async hasMaxSizeError() {
|
|
79
|
-
const errorModal = await this.#errorModal();
|
|
80
|
-
return !!(await errorModal?.getTitle())?.includes('File is too large.');
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Closes the currently displayed error.
|
|
84
|
-
*/
|
|
85
|
-
async closeError() {
|
|
86
|
-
const errorModal = await this.#errorModal();
|
|
87
|
-
if (!errorModal) {
|
|
88
|
-
throw new Error('No error is currently displayed.');
|
|
89
|
-
}
|
|
90
|
-
await errorModal.clickCloseButton();
|
|
91
|
-
}
|
|
92
|
-
async #getImageUrl() {
|
|
93
|
-
const imageEl = await this.locatorFor('.sky-avatar-image')();
|
|
94
|
-
if (await isHidden(imageEl)) {
|
|
95
|
-
return undefined;
|
|
96
|
-
}
|
|
97
|
-
return SkyHarnessUtility.getBackgroundImageUrl(imageEl);
|
|
98
|
-
}
|
|
99
|
-
async #dropAndWait(fileDrop, file) {
|
|
100
|
-
const currentUrl = await this.#getImageUrl();
|
|
101
|
-
await fileDrop.dropFile(file);
|
|
102
|
-
return new Promise((resolve, reject) => {
|
|
103
|
-
const checkForFileChange = async (attempts) => {
|
|
104
|
-
if ((await this.#getImageUrl()) !== currentUrl) {
|
|
105
|
-
resolve();
|
|
106
|
-
}
|
|
107
|
-
else if (attempts * WAIT_INTERVAL < WAIT_TIMEOUT) {
|
|
108
|
-
setTimeout(() => void checkForFileChange(attempts + 1), WAIT_INTERVAL);
|
|
109
|
-
}
|
|
110
|
-
else {
|
|
111
|
-
reject(new Error('The avatar src did not change within the expected time span'));
|
|
112
|
-
}
|
|
113
|
-
};
|
|
114
|
-
void checkForFileChange(0);
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLWhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYXZhdGFyL3Rlc3Rpbmcvc3JjL2F2YXRhci9hdmF0YXItaGFybmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUkxRCxNQUFNLGFBQWEsR0FBRyxFQUFFLENBQUM7QUFDekIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDO0FBRTFCLEtBQUssVUFBVSxRQUFRLENBQUMsRUFBZTtJQUNyQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssTUFBTSxDQUFDO0FBQ3RELENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxtQkFBbUI7SUFDdkQ7O09BRUc7YUFDVyxpQkFBWSxHQUFHLFlBQVksQ0FBQztJQUUxQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztJQUV6RCxZQUFZLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDM0QsV0FBVyxHQUNULElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxrQkFBa0IsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBRXJFOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQ2hCLE9BQWdDO1FBRWhDLE9BQU8sZ0JBQWdCLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFdBQVc7UUFDdEIsTUFBTSxVQUFVLEdB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LENBQUMsSUFBSSxDQUFDLENBQUM7UUFFOUIsT0FBTyxJQUFJLE9BQU8sQ0FBTyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUMzQyxNQUFNLGtCQUFrQixHQUFHLEtBQUssRUFBRSxRQUFnQixFQUFpQixFQUFFO2dCQUNuRSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsS0FBSyxVQUFVLEVBQUUsQ0FBQztvQkFDL0MsT0FBTyxFQUFFLENBQUM7Z0JBQ1osQ0FBQztxQkFBTSxJQUFJLFFBQVEsR0FBRyxhQUFhLEdBQUcsWUFBWSxFQUFFLENBQUM7b0JBQ25ELFVBQVUsQ0FDUixHQUFHLEVBQUUsQ0FBQyxLQUFLLGtCQUFrQixDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsRUFDM0MsYUFBYSxDQUNkLENBQUM7Z0JBQ0osQ0FBQztxQkFBTSxDQUFDO29CQUNOLE1BQU0sQ0FDSixJQUFJLEtBQUssQ0FDUCw2REFBNkQsQ0FDOUQsQ0FDRixDQUFDO2dCQUNKLENBQUM7WUFDSCxDQUFDLENBQUM7WUFFRixLQUFLLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhhcm5lc3NQcmVkaWNhdGUsIFRlc3RFbGVtZW50IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuaW1wb3J0IHsgU2t5Q29tcG9uZW50SGFybmVzcywgU2t5SGFybmVzc1V0aWxpdHkgfSBmcm9tICdAc2t5dXgvY29yZS90ZXN0aW5nJztcbmltcG9ydCB7IFNreUVycm9yTW9kYWxIYXJuZXNzIH0gZnJvbSAnQHNreXV4L2Vycm9ycy90ZXN0aW5nJztcbmltcG9ydCB7IFNreUZpbGVEcm9wSGFybmVzcyB9IGZyb20gJ0Bza3l1eC9mb3Jtcy90ZXN0aW5nJztcblxuaW1wb3J0IHsgU2t5QXZhdGFySGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL2F2YXRhci1oYXJuZXNzLWZpbHRlcnMnO1xuXG5jb25zdCBXQUlUX0lOVEVSVkFMID0gMTA7XG5jb25zdCBXQUlUX1RJTUVPVVQgPSAzMDAwO1xuXG5hc3luYyBmdW5jdGlvbiBpc0hpZGRlbihlbDogVGVzdEVsZW1lbnQpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgcmV0dXJuIChhd2FpdCBlbC5nZXRDc3NWYWx1ZSgnZGlzcGxheScpKSA9PT0gJ25vbmUnO1xufVxuXG4vKipcbiAqIEhhcm5lc3MgZm9yIGludGVyYWN0aW5nIHdpdGggYW4gYXZhdGFyIGNvbXBvbmVudCBpbiB0ZXN0cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreUF2YXRhckhhcm5lc3MgZXh0ZW5kcyBTa3lDb21wb25lbnRIYXJuZXNzIHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnc2t5LWF2YXRhcic7XG5cbiAgI2RvY3VtZW50Um9vdExvY2F0b3IgPSB0aGlzLmRvY3VtZW50Um9vdExvY2F0b3JGYWN0b3J5KCk7XG5cbiAgI2dldEZpbGVEcm9wID0gdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoU2t5RmlsZURyb3BIYXJuZXNzKTtcbiAgI2Vycm9yTW9kYWwgPVxuICAgIHRoaXMuI2RvY3VtZW50Um9vdExvY2F0b3IubG9jYXRvckZvck9wdGlvbmFsKFNreUVycm9yTW9kYWxIYXJuZXNzKTtcblxuICAvKipcbiAgICogR2V0cyBhIGBIYXJuZXNzUHJlZGljYXRlYCB0aGF0IGNhbiBiZSB1c2VkIHRvIHNlYXJjaCBmb3IgYVxuICAgKiBgU2t5QXZhdGFySGFybmVzc2AgdGhhdCBtZWV0cyBjZXJ0YWluIGNyaXRlcmlhLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB3aXRoKFxuICAgIGZpbHRlcnM6IFNreUF2YXRhckhhcm5lc3NGaWx0ZXJzLFxuICApOiBIYXJuZXNzUHJlZGljYXRlPFNreUF2YXRhckhhcm5lc3M+IHtcbiAgICByZXR1cm4gU2t5QXZhdGFySGFybmVzcy5nZXREYXRhU2t5SWRQcmVkaWNhdGUoZmlsdGVycyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgaW5pdGlhbHMgZGlzcGxheWVkIHdoZW4gbm8gaW1hZ2UgVVJMIGlzIHNwZWNpZmllZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRJbml0aWFscygpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIGNvbnN0IGluaXRpYWxzRWwgPSBhd2FpdCB0aGlzLmxvY2F0b3JGb3IoJy5za3ktYXZhdGFyLWluaXRpYWxzJykoKTtcblxuICAgIGlmIChhd2FpdCBpc0hpZGRlbihpbml0aWFsc0VsKSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICByZXR1cm4gaW5pdGlhbHNFbC50ZXh0KCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgYXZhdGFyJ3MgY3VycmVudCBpbWFnZSBVUkwgb3IgQmxvYi5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRTcmMoKTogUHJvbWlzZTxzdHJpbmcgfCBCbG9iIHwgdW5kZWZpbmVkPiB7XG4gICAgY29uc3QgdXJsID0gYXdhaXQgdGhpcy4jZ2V0SW1hZ2VVcmwoKTtcblxuICAgIGlmICh1cmw/LnN0YXJ0c1dpdGgoJ2Jsb2I6JykpIHtcbiAgICAgIHJldHVybiBhd2FpdCAoYXdhaXQgZmV0Y2godXJsKSkuYmxvYigpO1xuICAgIH1cblxuICAgIHJldHVybiB1cmw7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB3aGV0aGVyIHVzZXJzIGNhbiBjaGFuZ2UgdGhlIGltYWdlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldENhbkNoYW5nZSgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gISEoYXdhaXQgdGhpcy4jZ2V0RmlsZURyb3AoKSk7XG4gIH1cblxuICAvKipcbiAgICogU2ltdWxhdGVzIHRoZSB1c2VyIHNlbGVjdGluZyBvciBkcm9wcGluZyBhbiBpbWFnZSBvbnRvIHRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZHJvcEF2YXRhckZpbGUoXG4gICAgZmlsZTogRmlsZSxcbiAgICB3YWl0Rm9yQ2hhbmdlPzogYm9vbGVhbixcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgZmlsZURyb3AgPSBhd2FpdCB0aGlzLiNnZXRGaWxlRHJvcCgpO1xuXG4gICAgaWYgKCFmaWxlRHJvcCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnQSBuZXcgYXZhdGFyIGNhbm5vdCBiZSBzZWxlY3RlZCBiZWNhdXNlIHRoZSBjYW5DaGFuZ2UgaW5wdXQgaXMgbm90IHNldCB0byB0cnVlLicsXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICh3YWl0Rm9yQ2hhbmdlKSB7XG4gICAgICBhd2FpdCB0aGlzLiNkcm9wQW5kV2FpdChmaWxlRHJvcCwgZmlsZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGF3YWl0IGZpbGVEcm9wLmRyb3BGaWxlKGZpbGUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHdoZXRoZXIgYW4gZXJyb3IgaW5kaWNhdGluZyBhbiBpbnZhbGlkIGZpbGUgdHlwZSBpcyBkaXNwbGF5ZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaGFzRmlsZVR5cGVFcnJvcigpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBlcnJvck1vZGFsID0gYXdhaXQgdGhpcy4jZXJyb3JNb2RhbCgpO1xuXG4gICAgcmV0dXJuICEhKGF3YWl0IGVycm9yTW9kYWw/LmdldFRpdGxlKCkpPy5pbmNsdWRlcygnRmlsZSBpcyBub3QgYW4gaW1hZ2UuJyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB3aGV0aGVyIGFuIGVycm9yIGluZGljYXRpbmcgYW4gaW52YWxpZCBmaWxlIHNpemUgaXMgZGlzcGxheWVkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGhhc01heFNpemVFcnJvcigpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBlcnJvck1vZGFsID0gYXdhaXQgdGhpcy4jZXJyb3JNb2RhbCgpO1xuXG4gICAgcmV0dXJuICEhKGF3YWl0IGVycm9yTW9kYWw/LmdldFRpdGxlKCkpPy5pbmNsdWRlcygnRmlsZSBpcyB0b28gbGFyZ2UuJyk7XG4gIH1cblxuICAvKipcbiAgICogQ2xvc2VzIHRoZSBjdXJyZW50bHkgZGlzcGxheWVkIGVycm9yLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNsb3NlRXJyb3IoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgZXJyb3JNb2RhbCA9IGF3YWl0IHRoaXMuI2Vycm9yTW9kYWwoKTtcblxuICAgIGlmICghZXJyb3JNb2RhbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyBlcnJvciBpcyBjdXJyZW50bHkgZGlzcGxheWVkLicpO1xuICAgIH1cblxuICAgIGF3YWl0IGVycm9yTW9kYWwuY2xpY2tDbG9zZUJ1dHRvbigpO1xuICB9XG5cbiAgYXN5bmMgI2dldEltYWdlVXJsKCk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgY29uc3QgaW1hZ2VFbCA9IGF3YWl0IHRoaXMubG9jYXRvckZvcignLnNreS1hdmF0YXItaW1hZ2UnKSgpO1xuXG4gICAgaWYgKGF3YWl0IGlzSGlkZGVuKGltYWdlRWwpKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHJldHVybiBTa3lIYXJuZXNzVXRpbGl0eS5nZXRCYWNrZ3JvdW5kSW1hZ2VVcmwoaW1hZ2VFbCk7XG4gIH1cblxuICBhc3luYyAjZHJvcEFuZFdhaXQoZmlsZURyb3A6IFNreUZpbGVEcm9wSGFybmVzcywgZmlsZTogRmlsZSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGN1cnJlbnRVcmwgPSBhd2FpdCB0aGlzLiNnZXRJbWFnZVVybCgpO1xuXG4gICAgYXdhaXQgZmlsZURyb3AuZHJvcEZpbGUoZmlsZSk7XG5cbiAgICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgY29uc3QgY2hlY2tGb3JGaWxlQ2hhbmdlID0gYXN5bmMgKGF0dGVtcHRzOiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICAgICAgaWYgKChhd2FpdCB0aGlzLiNnZXRJbWFnZVVybCgpKSAhPT0gY3VycmVudFVybCkge1xuICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgfSBlbHNlIGlmIChhdHRlbXB0cyAqIFdBSVRfSU5URVJWQUwgPCBXQUlUX1RJTUVPVVQpIHtcbiAgICAgICAgICBzZXRUaW1lb3V0KFxuICAgICAgICAgICAgKCkgPT4gdm9pZCBjaGVja0ZvckZpbGVDaGFuZ2UoYXR0ZW1wdHMgKyAxKSxcbiAgICAgICAgICAgIFdBSVRfSU5URVJWQUwsXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZWplY3QoXG4gICAgICAgICAgICBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgICdUaGUgYXZhdGFyIHNyYyBkaWQgbm90IGNoYW5nZSB3aXRoaW4gdGhlIGV4cGVjdGVkIHRpbWUgc3BhbicsXG4gICAgICAgICAgICApLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICAgIHZvaWQgY2hlY2tGb3JGaWxlQ2hhbmdlKDApO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { By } from '@angular/platform-browser';
|
|
2
|
-
import { SkyAppTestUtility } from '@skyux-sdk/testing';
|
|
3
|
-
/**
|
|
4
|
-
* Allows interaction with a SKY UX avatar component.
|
|
5
|
-
* @internal
|
|
6
|
-
*/
|
|
7
|
-
export class SkyAvatarFixture {
|
|
8
|
-
/**
|
|
9
|
-
* The initials displayed when no image URL is specified.
|
|
10
|
-
*/
|
|
11
|
-
get initials() {
|
|
12
|
-
const initialsEl = this.#debugEl.query(By.css('.sky-avatar-initials'));
|
|
13
|
-
if (SkyAppTestUtility.isVisible(initialsEl)) {
|
|
14
|
-
return SkyAppTestUtility.getText(initialsEl.query(By.css('.sky-avatar-initials-inner')));
|
|
15
|
-
}
|
|
16
|
-
return undefined;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* The avatar's current image URL.
|
|
20
|
-
*/
|
|
21
|
-
get imageUrl() {
|
|
22
|
-
const imageEl = this.#debugEl.query(By.css('.sky-avatar-image'));
|
|
23
|
-
if (SkyAppTestUtility.isVisible(imageEl)) {
|
|
24
|
-
return SkyAppTestUtility.getBackgroundImageUrl(imageEl);
|
|
25
|
-
}
|
|
26
|
-
return undefined;
|
|
27
|
-
}
|
|
28
|
-
#debugEl;
|
|
29
|
-
constructor(fixture, skyTestId) {
|
|
30
|
-
this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(fixture, skyTestId, 'sky-avatar');
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLWZpeHR1cmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYXZhdGFyL3Rlc3Rpbmcvc3JjL2F2YXRhci1maXh0dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV2RDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCOztPQUVHO0lBQ0gsSUFBVyxRQUFRO1FBQ2pCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDO1FBRXZFLElBQUksaUJBQWlCLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDNUMsT0FBTyxpQkFBaUIsQ0FBQyxPQUFPLENBQzlCLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLENBQ3ZELENBQUM7UUFDSixDQUFDO1FBRUQsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxRQUFRO1FBQ2pCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDO1FBRWpFLElBQUksaUJBQWlCLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDekMsT0FBTyxpQkFBaUIsQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMxRCxDQUFDO1FBRUQsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELFFBQVEsQ0FBZTtJQUV2QixZQUFZLE9BQThCLEVBQUUsU0FBaUI7UUFDM0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxpQkFBaUIsQ0FBQyx1QkFBdUIsQ0FDdkQsT0FBTyxFQUNQLFNBQVMsRUFDVCxZQUFZLENBQ2IsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlYnVnRWxlbWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50Rml4dHVyZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvdGVzdGluZyc7XG5pbXBvcnQgeyBCeSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgU2t5QXBwVGVzdFV0aWxpdHkgfSBmcm9tICdAc2t5dXgtc2RrL3Rlc3RpbmcnO1xuXG4vKipcbiAqIEFsbG93cyBpbnRlcmFjdGlvbiB3aXRoIGEgU0tZIFVYIGF2YXRhciBjb21wb25lbnQuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNsYXNzIFNreUF2YXRhckZpeHR1cmUge1xuICAvKipcbiAgICogVGhlIGluaXRpYWxzIGRpc3BsYXllZCB3aGVuIG5vIGltYWdlIFVSTCBpcyBzcGVjaWZpZWQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGluaXRpYWxzKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgaW5pdGlhbHNFbCA9IHRoaXMuI2RlYnVnRWwucXVlcnkoQnkuY3NzKCcuc2t5LWF2YXRhci1pbml0aWFscycpKTtcblxuICAgIGlmIChTa3lBcHBUZXN0VXRpbGl0eS5pc1Zpc2libGUoaW5pdGlhbHNFbCkpIHtcbiAgICAgIHJldHVybiBTa3lBcHBUZXN0VXRpbGl0eS5nZXRUZXh0KFxuICAgICAgICBpbml0aWFsc0VsLnF1ZXJ5KEJ5LmNzcygnLnNreS1hdmF0YXItaW5pdGlhbHMtaW5uZXInKSksXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGF2YXRhcidzIGN1cnJlbnQgaW1hZ2UgVVJMLlxuICAgKi9cbiAgcHVibGljIGdldCBpbWFnZVVybCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGltYWdlRWwgPSB0aGlzLiNkZWJ1Z0VsLnF1ZXJ5KEJ5LmNzcygnLnNreS1hdmF0YXItaW1hZ2UnKSk7XG5cbiAgICBpZiAoU2t5QXBwVGVzdFV0aWxpdHkuaXNWaXNpYmxlKGltYWdlRWwpKSB7XG4gICAgICByZXR1cm4gU2t5QXBwVGVzdFV0aWxpdHkuZ2V0QmFja2dyb3VuZEltYWdlVXJsKGltYWdlRWwpO1xuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICAjZGVidWdFbDogRGVidWdFbGVtZW50O1xuXG4gIGNvbnN0cnVjdG9yKGZpeHR1cmU6IENvbXBvbmVudEZpeHR1cmU8YW55Piwgc2t5VGVzdElkOiBzdHJpbmcpIHtcbiAgICB0aGlzLiNkZWJ1Z0VsID0gU2t5QXBwVGVzdFV0aWxpdHkuZ2V0RGVidWdFbGVtZW50QnlUZXN0SWQoXG4gICAgICBmaXh0dXJlLFxuICAgICAgc2t5VGVzdElkLFxuICAgICAgJ3NreS1hdmF0YXInLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
File without changes
|
|
File without changes
|