@skyux/icon 11.8.0 → 11.10.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 +966 -101
- package/esm2022/index.mjs +4 -4
- package/esm2022/lib/modules/icon/icon-class-list.pipe.mjs +35 -0
- package/esm2022/lib/modules/icon/icon-resolver.service.mjs +79 -0
- package/esm2022/lib/modules/icon/icon-stack-item.mjs +2 -0
- package/esm2022/lib/{icon → modules/icon}/icon-stack.component.mjs +4 -4
- package/esm2022/lib/modules/icon/icon-svg-resolver.service.mjs +85 -0
- package/esm2022/lib/{icon → modules/icon}/icon-svg.component.mjs +4 -4
- package/esm2022/lib/modules/icon/icon.component.mjs +30 -0
- package/esm2022/lib/modules/icon/icon.module.mjs +21 -0
- package/esm2022/lib/modules/icon/types/icon-resolved.mjs +2 -0
- package/esm2022/lib/modules/icon/types/icon-type.mjs +2 -0
- package/esm2022/lib/modules/icon/types/icon-variant-type.mjs +2 -0
- package/esm2022/testing/public-api.mjs +2 -0
- package/esm2022/testing/skyux-icon-testing.mjs +2 -2
- package/fesm2022/skyux-icon-testing.mjs.map +1 -1
- package/fesm2022/skyux-icon.mjs +22 -22
- package/fesm2022/skyux-icon.mjs.map +1 -1
- package/index.d.ts +6 -6
- package/package.json +6 -6
- package/testing/index.d.ts +5 -2
- package/testing/public-api.d.ts +2 -0
- package/esm2022/lib/icon/icon-class-list.pipe.mjs +0 -35
- package/esm2022/lib/icon/icon-resolver.service.mjs +0 -79
- package/esm2022/lib/icon/icon-stack-item.mjs +0 -2
- package/esm2022/lib/icon/icon-svg-resolver.service.mjs +0 -85
- package/esm2022/lib/icon/icon.component.mjs +0 -30
- package/esm2022/lib/icon/icon.module.mjs +0 -21
- package/esm2022/lib/icon/types/icon-resolved.mjs +0 -2
- package/esm2022/lib/icon/types/icon-type.mjs +0 -2
- package/esm2022/lib/icon/types/icon-variant-type.mjs +0 -2
- package/esm2022/testing/index.mjs +0 -2
- /package/lib/{icon → modules/icon}/icon-class-list.pipe.d.ts +0 -0
- /package/lib/{icon → modules/icon}/icon-resolver.service.d.ts +0 -0
- /package/lib/{icon → modules/icon}/icon-stack-item.d.ts +0 -0
- /package/lib/{icon → modules/icon}/icon-stack.component.d.ts +0 -0
- /package/lib/{icon → modules/icon}/icon-svg-resolver.service.d.ts +0 -0
- /package/lib/{icon → modules/icon}/icon-svg.component.d.ts +0 -0
- /package/lib/{icon → modules/icon}/icon.component.d.ts +0 -0
- /package/lib/{icon → modules/icon}/icon.module.d.ts +0 -0
- /package/lib/{icon → modules/icon}/types/icon-resolved.d.ts +0 -0
- /package/lib/{icon → modules/icon}/types/icon-type.d.ts +0 -0
- /package/lib/{icon → modules/icon}/types/icon-variant-type.d.ts +0 -0
package/esm2022/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { SkyIconModule } from './lib/icon/icon.module';
|
|
2
|
-
export { SkyIconComponent as λ1 } from './lib/icon/icon.component';
|
|
3
|
-
export { SkyIconStackComponent as λ2 } from './lib/icon/icon-stack.component';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export { SkyIconModule } from './lib/modules/icon/icon.module';
|
|
2
|
+
export { SkyIconComponent as λ1 } from './lib/modules/icon/icon.component';
|
|
3
|
+
export { SkyIconStackComponent as λ2 } from './lib/modules/icon/icon-stack.component';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvaWNvbi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBSS9ELE9BQU8sRUFBRSxnQkFBZ0IsSUFBSSxFQUFFLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUscUJBQXFCLElBQUksRUFBRSxFQUFFLE1BQU0seUNBQXlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBTa3lJY29uU3RhY2tJdGVtIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9pY29uL2ljb24tc3RhY2staXRlbSc7XG5leHBvcnQgeyBTa3lJY29uTW9kdWxlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9pY29uL2ljb24ubW9kdWxlJztcbmV4cG9ydCB7IFNreUljb25UeXBlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9pY29uL3R5cGVzL2ljb24tdHlwZSc7XG5leHBvcnQgeyBTa3lJY29uVmFyaWFudFR5cGUgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2ljb24vdHlwZXMvaWNvbi12YXJpYW50LXR5cGUnO1xuXG5leHBvcnQgeyBTa3lJY29uQ29tcG9uZW50IGFzIM67MSB9IGZyb20gJy4vbGliL21vZHVsZXMvaWNvbi9pY29uLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTa3lJY29uU3RhY2tDb21wb25lbnQgYXMgzrsyIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9pY29uL2ljb24tc3RhY2suY29tcG9uZW50JztcbiJdfQ==
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Pipe, inject } from '@angular/core';
|
|
2
|
+
import { SkyIconResolverService } from './icon-resolver.service';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
export class SkyIconClassListPipe {
|
|
8
|
+
#resolver = inject(SkyIconResolverService);
|
|
9
|
+
transform(icon, themeSettings, size, fixedWidth, variant) {
|
|
10
|
+
let classList;
|
|
11
|
+
const { icon: resolvedIcon, iconType: resolvedIconType } = this.#resolver.resolveIcon(icon, variant, themeSettings);
|
|
12
|
+
if (resolvedIconType === 'skyux') {
|
|
13
|
+
classList = ['sky-i-' + resolvedIcon];
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
classList = ['fa', 'fa-' + resolvedIcon];
|
|
17
|
+
}
|
|
18
|
+
if (size) {
|
|
19
|
+
classList.push('fa-' + size);
|
|
20
|
+
}
|
|
21
|
+
if (fixedWidth) {
|
|
22
|
+
classList.push('fa-fw');
|
|
23
|
+
}
|
|
24
|
+
return classList;
|
|
25
|
+
}
|
|
26
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyIconClassListPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
27
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: SkyIconClassListPipe, name: "skyIconClassList" }); }
|
|
28
|
+
}
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyIconClassListPipe, decorators: [{
|
|
30
|
+
type: Pipe,
|
|
31
|
+
args: [{
|
|
32
|
+
name: 'skyIconClassList',
|
|
33
|
+
}]
|
|
34
|
+
}] });
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1jbGFzcy1saXN0LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvaWNvbi9zcmMvbGliL21vZHVsZXMvaWNvbi9pY29uLWNsYXNzLWxpc3QucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHNUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBR2pFOztHQUVHO0FBSUgsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQixTQUFTLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFFcEMsU0FBUyxDQUNkLElBQVksRUFDWixhQUFnQyxFQUNoQyxJQUFhLEVBQ2IsVUFBb0IsRUFDcEIsT0FBNEI7UUFFNUIsSUFBSSxTQUFtQixDQUFDO1FBRXhCLE1BQU0sRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxHQUN0RCxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBRTNELElBQUksZ0JBQWdCLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDakMsU0FBUyxHQUFHLENBQUMsUUFBUSxHQUFHLFlBQVksQ0FBQyxDQUFDO1FBQ3hDLENBQUM7YUFBTSxDQUFDO1lBQ04sU0FBUyxHQUFHLENBQUMsSUFBSSxFQUFFLEtBQUssR0FBRyxZQUFZLENBQUMsQ0FBQztRQUMzQyxDQUFDO1FBRUQsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNULFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQy9CLENBQUM7UUFFRCxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2YsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMxQixDQUFDO1FBRUQsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQzs4R0E5QlUsb0JBQW9COzRHQUFwQixvQkFBb0I7OzJGQUFwQixvQkFBb0I7a0JBSGhDLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGtCQUFrQjtpQkFDekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreVRoZW1lU2V0dGluZ3MgfSBmcm9tICdAc2t5dXgvdGhlbWUnO1xuXG5pbXBvcnQgeyBTa3lJY29uUmVzb2x2ZXJTZXJ2aWNlIH0gZnJvbSAnLi9pY29uLXJlc29sdmVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5SWNvblZhcmlhbnRUeXBlIH0gZnJvbSAnLi90eXBlcy9pY29uLXZhcmlhbnQtdHlwZSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBQaXBlKHtcbiAgbmFtZTogJ3NreUljb25DbGFzc0xpc3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lJY29uQ2xhc3NMaXN0UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAjcmVzb2x2ZXIgPSBpbmplY3QoU2t5SWNvblJlc29sdmVyU2VydmljZSk7XG5cbiAgcHVibGljIHRyYW5zZm9ybShcbiAgICBpY29uOiBzdHJpbmcsXG4gICAgdGhlbWVTZXR0aW5ncz86IFNreVRoZW1lU2V0dGluZ3MsXG4gICAgc2l6ZT86IHN0cmluZyxcbiAgICBmaXhlZFdpZHRoPzogYm9vbGVhbixcbiAgICB2YXJpYW50PzogU2t5SWNvblZhcmlhbnRUeXBlLFxuICApOiBzdHJpbmdbXSB7XG4gICAgbGV0IGNsYXNzTGlzdDogc3RyaW5nW107XG5cbiAgICBjb25zdCB7IGljb246IHJlc29sdmVkSWNvbiwgaWNvblR5cGU6IHJlc29sdmVkSWNvblR5cGUgfSA9XG4gICAgICB0aGlzLiNyZXNvbHZlci5yZXNvbHZlSWNvbihpY29uLCB2YXJpYW50LCB0aGVtZVNldHRpbmdzKTtcblxuICAgIGlmIChyZXNvbHZlZEljb25UeXBlID09PSAnc2t5dXgnKSB7XG4gICAgICBjbGFzc0xpc3QgPSBbJ3NreS1pLScgKyByZXNvbHZlZEljb25dO1xuICAgIH0gZWxzZSB7XG4gICAgICBjbGFzc0xpc3QgPSBbJ2ZhJywgJ2ZhLScgKyByZXNvbHZlZEljb25dO1xuICAgIH1cblxuICAgIGlmIChzaXplKSB7XG4gICAgICBjbGFzc0xpc3QucHVzaCgnZmEtJyArIHNpemUpO1xuICAgIH1cblxuICAgIGlmIChmaXhlZFdpZHRoKSB7XG4gICAgICBjbGFzc0xpc3QucHVzaCgnZmEtZncnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY2xhc3NMaXN0O1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { Injectable, inject } from '@angular/core';
|
|
2
|
+
import { SkyThemeIconManifestService, } from '@skyux/theme';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
export class SkyIconResolverService {
|
|
8
|
+
#glyphMap = new Map();
|
|
9
|
+
#manifestSvc = inject(SkyThemeIconManifestService);
|
|
10
|
+
constructor() {
|
|
11
|
+
// Map the icons by name for more efficient lookup.
|
|
12
|
+
for (const glyph of this.#manifestSvc.getManifest().glyphs) {
|
|
13
|
+
// TODO: keep this until `faName` is removed just in case any icons get added with the wrong shape
|
|
14
|
+
if (glyph.faName && !glyph.faNames) {
|
|
15
|
+
glyph.faNames = [glyph.faName];
|
|
16
|
+
}
|
|
17
|
+
this.#glyphMap.set(glyph.name, glyph);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
resolveIcon(icon, variant, themeSettings) {
|
|
21
|
+
let iconType = 'fa';
|
|
22
|
+
const variantIcon = variant && `${icon}-${variant}`;
|
|
23
|
+
const lineIcon = `${icon}-line`;
|
|
24
|
+
// Get the specified variant, or fall back to the icon name.
|
|
25
|
+
// If the pure icon name doesn't exist, try the line variant.
|
|
26
|
+
let glyph = this.#glyphMap.get(variantIcon) ??
|
|
27
|
+
this.#glyphMap.get(icon) ??
|
|
28
|
+
this.#glyphMap.get(lineIcon) ??
|
|
29
|
+
Array.from(this.#glyphMap.values()).find((glyph) => glyph.aliases?.includes(variantIcon) ||
|
|
30
|
+
glyph.aliases?.includes(lineIcon) ||
|
|
31
|
+
glyph.aliases?.includes(icon));
|
|
32
|
+
// If still no icon is found, search through the icons that match the FA name.
|
|
33
|
+
if (!glyph) {
|
|
34
|
+
let glyphs = Array.from(this.#glyphMap.values()).filter((g) => g.faNames?.includes(icon));
|
|
35
|
+
if (glyphs.length) {
|
|
36
|
+
if (glyphs.length > 1) {
|
|
37
|
+
// If multiples are found, make sure we select the correct variant, if requested.
|
|
38
|
+
// The icons are ordered such that the "default" variant will be the first one.
|
|
39
|
+
if (variant) {
|
|
40
|
+
const variantGlyph = glyphs.find((g) => g.name.endsWith(variant));
|
|
41
|
+
if (variantGlyph) {
|
|
42
|
+
glyphs = [variantGlyph];
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
glyph = glyphs[0];
|
|
47
|
+
}
|
|
48
|
+
// If none of the above works, no matching icon was found
|
|
49
|
+
}
|
|
50
|
+
if (glyph) {
|
|
51
|
+
// If a glyph is found, use it for modern theme or if no FA fallback exists.
|
|
52
|
+
if (themeSettings?.theme.name === 'modern' || !glyph.faNames?.length) {
|
|
53
|
+
icon = glyph.name;
|
|
54
|
+
iconType = 'skyux';
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
// For default theme, use a known FA fallback.
|
|
58
|
+
// If the icon name requested is already a FA icon, just use it. Otherwise use the first one.
|
|
59
|
+
if (!glyph.faNames?.includes(icon)) {
|
|
60
|
+
icon = glyph.faNames[0];
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
// If no SKY UX glyph is found, assume icon is part of FA and pass it along.
|
|
65
|
+
return {
|
|
66
|
+
icon,
|
|
67
|
+
iconType,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyIconResolverService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
71
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyIconResolverService, providedIn: 'root' }); }
|
|
72
|
+
}
|
|
73
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyIconResolverService, decorators: [{
|
|
74
|
+
type: Injectable,
|
|
75
|
+
args: [{
|
|
76
|
+
providedIn: 'root',
|
|
77
|
+
}]
|
|
78
|
+
}], ctorParameters: () => [] });
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1yZXNvbHZlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2ljb24vc3JjL2xpYi9tb2R1bGVzL2ljb24vaWNvbi1yZXNvbHZlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFFTCwyQkFBMkIsR0FFNUIsTUFBTSxjQUFjLENBQUM7O0FBS3RCOztHQUVHO0FBSUgsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyxTQUFTLEdBQUcsSUFBSSxHQUFHLEVBQXFDLENBQUM7SUFFekQsWUFBWSxHQUFHLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0lBRW5EO1FBQ0UsbURBQW1EO1FBQ25ELEtBQUssTUFBTSxLQUFLLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMzRCxrR0FBa0c7WUFDbEcsSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNuQyxLQUFLLENBQUMsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2pDLENBQUM7WUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3hDLENBQUM7SUFDSCxDQUFDO0lBRU0sV0FBVyxDQUNoQixJQUFZLEVBQ1osT0FBNEIsRUFDNUIsYUFBZ0M7UUFFaEMsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLE1BQU0sV0FBVyxHQUFHLE9BQU8sSUFBSSxHQUFHLElBQUksSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUNwRCxNQUFNLFFBQVEsR0FBRyxHQUFHLElBQUksT0FBTyxDQUFDO1FBRWhDLDREQUE0RDtRQUM1RCw2REFBNkQ7UUFDN0QsSUFBSSxLQUFLLEdBQ1AsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsV0FBcUIsQ0FBQztZQUN6QyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUM7WUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO1lBQzVCLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDdEMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUNSLEtBQUssQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLFdBQXFCLENBQUM7Z0JBQzlDLEtBQUssQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLFFBQVEsQ0FBQztnQkFDakMsS0FBSyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQ2hDLENBQUM7UUFFSiw4RUFBOEU7UUFDOUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1gsSUFBSSxNQUFNLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDNUQsQ0FBQyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQzFCLENBQUM7WUFDRixJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDbEIsSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO29CQUN0QixpRkFBaUY7b0JBQ2pGLCtFQUErRTtvQkFDL0UsSUFBSSxPQUFPLEVBQUUsQ0FBQzt3QkFDWixNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO3dCQUNsRSxJQUFJLFlBQVksRUFBRSxDQUFDOzRCQUNqQixNQUFNLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQzt3QkFDMUIsQ0FBQztvQkFDSCxDQUFDO2dCQUNILENBQUM7Z0JBQ0QsS0FBSyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNwQixDQUFDO1lBQ0QseURBQXlEO1FBQzNELENBQUM7UUFFRCxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsNEVBQTRFO1lBQzVFLElBQUksYUFBYSxFQUFFLEtBQUssQ0FBQyxJQUFJLEtBQUssUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQztnQkFDckUsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7Z0JBQ2xCLFFBQVEsR0FBRyxPQUFPLENBQUM7WUFDckIsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLDhDQUE4QztnQkFDOUMsNkZBQTZGO2dCQUM3RixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztvQkFDbkMsSUFBSSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzFCLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUVELDRFQUE0RTtRQUM1RSxPQUFPO1lBQ0wsSUFBSTtZQUNKLFFBQVE7U0FDVCxDQUFDO0lBQ0osQ0FBQzs4R0E5RVUsc0JBQXNCO2tIQUF0QixzQkFBc0IsY0FGckIsTUFBTTs7MkZBRVAsc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU2t5VGhlbWVJY29uTWFuaWZlc3RHbHlwaCxcbiAgU2t5VGhlbWVJY29uTWFuaWZlc3RTZXJ2aWNlLFxuICBTa3lUaGVtZVNldHRpbmdzLFxufSBmcm9tICdAc2t5dXgvdGhlbWUnO1xuXG5pbXBvcnQgeyBTa3lJY29uUmVzb2x2ZWQgfSBmcm9tICcuL3R5cGVzL2ljb24tcmVzb2x2ZWQnO1xuaW1wb3J0IHR5cGUgeyBTa3lJY29uVmFyaWFudFR5cGUgfSBmcm9tICcuL3R5cGVzL2ljb24tdmFyaWFudC10eXBlJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNreUljb25SZXNvbHZlclNlcnZpY2Uge1xuICAjZ2x5cGhNYXAgPSBuZXcgTWFwPHN0cmluZywgU2t5VGhlbWVJY29uTWFuaWZlc3RHbHlwaD4oKTtcblxuICAjbWFuaWZlc3RTdmMgPSBpbmplY3QoU2t5VGhlbWVJY29uTWFuaWZlc3RTZXJ2aWNlKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICAvLyBNYXAgdGhlIGljb25zIGJ5IG5hbWUgZm9yIG1vcmUgZWZmaWNpZW50IGxvb2t1cC5cbiAgICBmb3IgKGNvbnN0IGdseXBoIG9mIHRoaXMuI21hbmlmZXN0U3ZjLmdldE1hbmlmZXN0KCkuZ2x5cGhzKSB7XG4gICAgICAvLyBUT0RPOiBrZWVwIHRoaXMgdW50aWwgYGZhTmFtZWAgaXMgcmVtb3ZlZCBqdXN0IGluIGNhc2UgYW55IGljb25zIGdldCBhZGRlZCB3aXRoIHRoZSB3cm9uZyBzaGFwZVxuICAgICAgaWYgKGdseXBoLmZhTmFtZSAmJiAhZ2x5cGguZmFOYW1lcykge1xuICAgICAgICBnbHlwaC5mYU5hbWVzID0gW2dseXBoLmZhTmFtZV07XG4gICAgICB9XG4gICAgICB0aGlzLiNnbHlwaE1hcC5zZXQoZ2x5cGgubmFtZSwgZ2x5cGgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyByZXNvbHZlSWNvbihcbiAgICBpY29uOiBzdHJpbmcsXG4gICAgdmFyaWFudD86IFNreUljb25WYXJpYW50VHlwZSxcbiAgICB0aGVtZVNldHRpbmdzPzogU2t5VGhlbWVTZXR0aW5ncyxcbiAgKTogU2t5SWNvblJlc29sdmVkIHtcbiAgICBsZXQgaWNvblR5cGUgPSAnZmEnO1xuICAgIGNvbnN0IHZhcmlhbnRJY29uID0gdmFyaWFudCAmJiBgJHtpY29ufS0ke3ZhcmlhbnR9YDtcbiAgICBjb25zdCBsaW5lSWNvbiA9IGAke2ljb259LWxpbmVgO1xuXG4gICAgLy8gR2V0IHRoZSBzcGVjaWZpZWQgdmFyaWFudCwgb3IgZmFsbCBiYWNrIHRvIHRoZSBpY29uIG5hbWUuXG4gICAgLy8gSWYgdGhlIHB1cmUgaWNvbiBuYW1lIGRvZXNuJ3QgZXhpc3QsIHRyeSB0aGUgbGluZSB2YXJpYW50LlxuICAgIGxldCBnbHlwaCA9XG4gICAgICB0aGlzLiNnbHlwaE1hcC5nZXQodmFyaWFudEljb24gYXMgc3RyaW5nKSA/P1xuICAgICAgdGhpcy4jZ2x5cGhNYXAuZ2V0KGljb24pID8/XG4gICAgICB0aGlzLiNnbHlwaE1hcC5nZXQobGluZUljb24pID8/XG4gICAgICBBcnJheS5mcm9tKHRoaXMuI2dseXBoTWFwLnZhbHVlcygpKS5maW5kKFxuICAgICAgICAoZ2x5cGgpID0+XG4gICAgICAgICAgZ2x5cGguYWxpYXNlcz8uaW5jbHVkZXModmFyaWFudEljb24gYXMgc3RyaW5nKSB8fFxuICAgICAgICAgIGdseXBoLmFsaWFzZXM/LmluY2x1ZGVzKGxpbmVJY29uKSB8fFxuICAgICAgICAgIGdseXBoLmFsaWFzZXM/LmluY2x1ZGVzKGljb24pLFxuICAgICAgKTtcblxuICAgIC8vIElmIHN0aWxsIG5vIGljb24gaXMgZm91bmQsIHNlYXJjaCB0aHJvdWdoIHRoZSBpY29ucyB0aGF0IG1hdGNoIHRoZSBGQSBuYW1lLlxuICAgIGlmICghZ2x5cGgpIHtcbiAgICAgIGxldCBnbHlwaHMgPSBBcnJheS5mcm9tKHRoaXMuI2dseXBoTWFwLnZhbHVlcygpKS5maWx0ZXIoKGcpID0+XG4gICAgICAgIGcuZmFOYW1lcz8uaW5jbHVkZXMoaWNvbiksXG4gICAgICApO1xuICAgICAgaWYgKGdseXBocy5sZW5ndGgpIHtcbiAgICAgICAgaWYgKGdseXBocy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgLy8gSWYgbXVsdGlwbGVzIGFyZSBmb3VuZCwgbWFrZSBzdXJlIHdlIHNlbGVjdCB0aGUgY29ycmVjdCB2YXJpYW50LCBpZiByZXF1ZXN0ZWQuXG4gICAgICAgICAgLy8gVGhlIGljb25zIGFyZSBvcmRlcmVkIHN1Y2ggdGhhdCB0aGUgXCJkZWZhdWx0XCIgdmFyaWFudCB3aWxsIGJlIHRoZSBmaXJzdCBvbmUuXG4gICAgICAgICAgaWYgKHZhcmlhbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IHZhcmlhbnRHbHlwaCA9IGdseXBocy5maW5kKChnKSA9PiBnLm5hbWUuZW5kc1dpdGgodmFyaWFudCkpO1xuICAgICAgICAgICAgaWYgKHZhcmlhbnRHbHlwaCkge1xuICAgICAgICAgICAgICBnbHlwaHMgPSBbdmFyaWFudEdseXBoXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZ2x5cGggPSBnbHlwaHNbMF07XG4gICAgICB9XG4gICAgICAvLyBJZiBub25lIG9mIHRoZSBhYm92ZSB3b3Jrcywgbm8gbWF0Y2hpbmcgaWNvbiB3YXMgZm91bmRcbiAgICB9XG5cbiAgICBpZiAoZ2x5cGgpIHtcbiAgICAgIC8vIElmIGEgZ2x5cGggaXMgZm91bmQsIHVzZSBpdCBmb3IgbW9kZXJuIHRoZW1lIG9yIGlmIG5vIEZBIGZhbGxiYWNrIGV4aXN0cy5cbiAgICAgIGlmICh0aGVtZVNldHRpbmdzPy50aGVtZS5uYW1lID09PSAnbW9kZXJuJyB8fCAhZ2x5cGguZmFOYW1lcz8ubGVuZ3RoKSB7XG4gICAgICAgIGljb24gPSBnbHlwaC5uYW1lO1xuICAgICAgICBpY29uVHlwZSA9ICdza3l1eCc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBGb3IgZGVmYXVsdCB0aGVtZSwgdXNlIGEga25vd24gRkEgZmFsbGJhY2suXG4gICAgICAgIC8vIElmIHRoZSBpY29uIG5hbWUgcmVxdWVzdGVkIGlzIGFscmVhZHkgYSBGQSBpY29uLCBqdXN0IHVzZSBpdC4gT3RoZXJ3aXNlIHVzZSB0aGUgZmlyc3Qgb25lLlxuICAgICAgICBpZiAoIWdseXBoLmZhTmFtZXM/LmluY2x1ZGVzKGljb24pKSB7XG4gICAgICAgICAgaWNvbiA9IGdseXBoLmZhTmFtZXNbMF07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJZiBubyBTS1kgVVggZ2x5cGggaXMgZm91bmQsIGFzc3VtZSBpY29uIGlzIHBhcnQgb2YgRkEgYW5kIHBhc3MgaXQgYWxvbmcuXG4gICAgcmV0dXJuIHtcbiAgICAgIGljb24sXG4gICAgICBpY29uVHlwZSxcbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1zdGFjay1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2ljb24vc3JjL2xpYi9tb2R1bGVzL2ljb24vaWNvbi1zdGFjay1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lJY29uVHlwZSB9IGZyb20gJy4vdHlwZXMvaWNvbi10eXBlJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTa3lJY29uU3RhY2tJdGVtIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mXG4gICAqIFt0aGUgRm9udCBBd2Vzb21lIDQuNyBpY29uXShodHRwczovL2ZvbnRhd2Vzb21lLmNvbS92NC43L2ljb25zLykgdG9cbiAgICogZGlzcGxheS4gRG8gbm90IHNwZWNpZnkgdGhlIGBmYSBmYS1gIGNsYXNzZXMuXG4gICAqIEByZXF1aXJlZFxuICAgKi9cbiAgaWNvbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiBpY29uIHRvIGRpc3BsYXkuIFNwZWNpZnlpbmcgYGZhYCBkaXNwbGF5cyBhIEZvbnQgQXdlc29tZSBpY29uLFxuICAgKiB3aGlsZSBzcGVjaWZ5aW5nIGBza3l1eGAgZGlzcGxheXMgYW4gaWNvbiBmcm9tIHRoZSBjdXN0b20gU0tZIFVYIGljb24gZm9udC4gTm90ZSB0aGF0XG4gICAqIHRoZSBjdXN0b20gU0tZIFVYIGljb24gZm9udCBpcyBjdXJyZW50bHkgaW4gYmV0YS5cbiAgICogQGRlcHJlY2F0ZWRcbiAgICovXG4gIGljb25UeXBlPzogU2t5SWNvblR5cGU7XG59XG4iXX0=
|
|
@@ -10,10 +10,10 @@ export class SkyIconStackComponent {
|
|
|
10
10
|
constructor() {
|
|
11
11
|
this.themeSvc = inject(SkyThemeService, { optional: true });
|
|
12
12
|
}
|
|
13
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
14
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
13
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyIconStackComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
14
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: SkyIconStackComponent, selector: "sky-icon-stack", inputs: { size: "size", baseIcon: "baseIcon", topIcon: "topIcon" }, ngImport: i0, template: "<span\n aria-hidden=\"true\"\n class=\"sky-icon-stack fa-stack\"\n [ngClass]=\"size ? 'fa-' + size + ' sky-icon-stack-size-' + size : ''\"\n>\n <i\n *ngIf=\"baseIcon\"\n class=\"sky-icon fa-stack-2x\"\n [ngClass]=\"\n baseIcon.icon\n | skyIconClassList: (themeSvc?.settingsChange | async)?.currentSettings\n \"\n ></i>\n <i\n *ngIf=\"topIcon\"\n class=\"sky-icon fa-stack-1x fa-inverse sky-icon-inverse\"\n [ngClass]=\"\n topIcon.icon\n | skyIconClassList: (themeSvc?.settingsChange | async)?.currentSettings\n \"\n ></i>\n</span>\n", styles: [":host{display:inline-block;vertical-align:bottom}.sky-icon-stack-size-xs.fa-stack{width:1.25em;height:1.25em;line-height:1.25em}.sky-icon-stack-size-xs .fa-stack-2x{font-size:1.25em}.sky-icon-stack-size-xs .fa-stack-1x{font-size:.625em}.fa-stack-1x.sky-i-check:before{position:relative;top:.5px}.fa-stack-1x.sky-i-exclamation:before{position:relative;top:1.5px}.sky-icon-inverse{color:var(--sky-icon-stack-top-icon-color-override, #ffffff)}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-icon-inverse{color:#121212}.sky-theme-modern.sky-theme-mode-dark .sky-icon-inverse{color:#121212}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.SkyIconClassListPipe, name: "skyIconClassList" }] }); }
|
|
15
15
|
}
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyIconStackComponent, decorators: [{
|
|
17
17
|
type: Component,
|
|
18
18
|
args: [{ selector: 'sky-icon-stack', template: "<span\n aria-hidden=\"true\"\n class=\"sky-icon-stack fa-stack\"\n [ngClass]=\"size ? 'fa-' + size + ' sky-icon-stack-size-' + size : ''\"\n>\n <i\n *ngIf=\"baseIcon\"\n class=\"sky-icon fa-stack-2x\"\n [ngClass]=\"\n baseIcon.icon\n | skyIconClassList: (themeSvc?.settingsChange | async)?.currentSettings\n \"\n ></i>\n <i\n *ngIf=\"topIcon\"\n class=\"sky-icon fa-stack-1x fa-inverse sky-icon-inverse\"\n [ngClass]=\"\n topIcon.icon\n | skyIconClassList: (themeSvc?.settingsChange | async)?.currentSettings\n \"\n ></i>\n</span>\n", styles: [":host{display:inline-block;vertical-align:bottom}.sky-icon-stack-size-xs.fa-stack{width:1.25em;height:1.25em;line-height:1.25em}.sky-icon-stack-size-xs .fa-stack-2x{font-size:1.25em}.sky-icon-stack-size-xs .fa-stack-1x{font-size:.625em}.fa-stack-1x.sky-i-check:before{position:relative;top:.5px}.fa-stack-1x.sky-i-exclamation:before{position:relative;top:1.5px}.sky-icon-inverse{color:var(--sky-icon-stack-top-icon-color-override, #ffffff)}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-icon-inverse{color:#121212}.sky-theme-modern.sky-theme-mode-dark .sky-icon-inverse{color:#121212}\n"] }]
|
|
19
19
|
}], propDecorators: { size: [{
|
|
@@ -23,4 +23,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
|
|
|
23
23
|
}], topIcon: [{
|
|
24
24
|
type: Input
|
|
25
25
|
}] } });
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1zdGFjay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvaWNvbi9zcmMvbGliL21vZHVsZXMvaWNvbi9pY29uLXN0YWNrLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9pY29uL3NyYy9saWIvbW9kdWxlcy9pY29uL2ljb24tc3RhY2suY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7QUFJL0M7O0dBRUc7QUFNSCxNQUFNLE9BQU8scUJBQXFCO0lBTGxDO1FBeUJZLGFBQVEsR0FBRyxNQUFNLENBQUMsZUFBZSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7S0FDbEU7OEdBckJZLHFCQUFxQjtrR0FBckIscUJBQXFCLDBIQ2JsQyw2a0JBc0JBOzsyRkRUYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0UsZ0JBQWdCOzhCQVVuQixJQUFJO3NCQURWLEtBQUs7Z0JBT0MsUUFBUTtzQkFEZCxLQUFLO2dCQU9DLE9BQU87c0JBRGIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5VGhlbWVTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuaW1wb3J0IHsgU2t5SWNvblN0YWNrSXRlbSB9IGZyb20gJy4vaWNvbi1zdGFjay1pdGVtJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWljb24tc3RhY2snLFxuICB0ZW1wbGF0ZVVybDogJy4vaWNvbi1zdGFjay5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ljb24tc3RhY2suY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5SWNvblN0YWNrQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIFRoZSBzaXplIG9mIHRoZSBpY29uIHVzaW5nXG4gICAqIFtGb250IEF3ZXNvbWUgc2l6ZXNdKGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL3Y0L2V4YW1wbGVzLykuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2l6ZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgaWNvbiB0byBkaXNwbGF5IGF0IHRoZSBib3R0b20gb2YgdGhlIHN0YWNrLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGJhc2VJY29uOiBTa3lJY29uU3RhY2tJdGVtIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgaWNvbiB0byBkaXNwbGF5IGF0IHRoZSB0b3Agb2YgdGhlIHN0YWNrLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHRvcEljb246IFNreUljb25TdGFja0l0ZW0gfCB1bmRlZmluZWQ7XG5cbiAgcHJvdGVjdGVkIHRoZW1lU3ZjID0gaW5qZWN0KFNreVRoZW1lU2VydmljZSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcbn1cbiIsIjxzcGFuXG4gIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gIGNsYXNzPVwic2t5LWljb24tc3RhY2sgZmEtc3RhY2tcIlxuICBbbmdDbGFzc109XCJzaXplID8gJ2ZhLScgKyBzaXplICsgJyBza3ktaWNvbi1zdGFjay1zaXplLScgKyBzaXplIDogJydcIlxuPlxuICA8aVxuICAgICpuZ0lmPVwiYmFzZUljb25cIlxuICAgIGNsYXNzPVwic2t5LWljb24gZmEtc3RhY2stMnhcIlxuICAgIFtuZ0NsYXNzXT1cIlxuICAgICAgYmFzZUljb24uaWNvblxuICAgICAgICB8IHNreUljb25DbGFzc0xpc3Q6ICh0aGVtZVN2Yz8uc2V0dGluZ3NDaGFuZ2UgfCBhc3luYyk/LmN1cnJlbnRTZXR0aW5nc1xuICAgIFwiXG4gID48L2k+XG4gIDxpXG4gICAgKm5nSWY9XCJ0b3BJY29uXCJcbiAgICBjbGFzcz1cInNreS1pY29uIGZhLXN0YWNrLTF4IGZhLWludmVyc2Ugc2t5LWljb24taW52ZXJzZVwiXG4gICAgW25nQ2xhc3NdPVwiXG4gICAgICB0b3BJY29uLmljb25cbiAgICAgICAgfCBza3lJY29uQ2xhc3NMaXN0OiAodGhlbWVTdmM/LnNldHRpbmdzQ2hhbmdlIHwgYXN5bmMpPy5jdXJyZW50U2V0dGluZ3NcbiAgICBcIlxuICA+PC9pPlxuPC9zcGFuPlxuIl19
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
async function getIconMap() {
|
|
4
|
+
const response = await fetch(`https://sky.blackbaudcdn.net/static/skyux-icons/7/assets/svg/skyux-icons.svg`);
|
|
5
|
+
if (!response.ok) {
|
|
6
|
+
throw new Error('Icon sprite could not be loaded.');
|
|
7
|
+
}
|
|
8
|
+
const markup = await response.text();
|
|
9
|
+
document.body.insertAdjacentHTML('afterbegin', markup);
|
|
10
|
+
const iconMap = Array.from(document.querySelectorAll('#sky-icon-svg-sprite symbol')).reduce((map, el) => {
|
|
11
|
+
const idParts = el.id.split('-');
|
|
12
|
+
// Construct the icon name by removing `sky-i-` from the beginning
|
|
13
|
+
// and `-<size>-<variant>` from the end.
|
|
14
|
+
const name = idParts.slice(2, idParts.length - 2).join('-');
|
|
15
|
+
let sizes = map.get(name);
|
|
16
|
+
if (!sizes) {
|
|
17
|
+
sizes = [];
|
|
18
|
+
map.set(name, sizes);
|
|
19
|
+
}
|
|
20
|
+
// The penultimate segment is the size for which the icon has
|
|
21
|
+
// been optimized.
|
|
22
|
+
sizes.push(+idParts[idParts.length - 2]);
|
|
23
|
+
return map;
|
|
24
|
+
}, new Map());
|
|
25
|
+
// Sort all the sizes for later comparison.
|
|
26
|
+
for (const id of iconMap.keys()) {
|
|
27
|
+
// Dedupe and sort the icon sizes.
|
|
28
|
+
iconMap.set(id, [...new Set(iconMap.get(id))].sort());
|
|
29
|
+
}
|
|
30
|
+
return iconMap;
|
|
31
|
+
}
|
|
32
|
+
function getNearestSize(iconMap, name, pixelSize) {
|
|
33
|
+
const sizes = iconMap.get(name);
|
|
34
|
+
if (sizes) {
|
|
35
|
+
let nearestSizeUnder = -Infinity;
|
|
36
|
+
let nearestSizeOver = Infinity;
|
|
37
|
+
for (const availableSize of sizes) {
|
|
38
|
+
if (availableSize === pixelSize) {
|
|
39
|
+
return pixelSize;
|
|
40
|
+
}
|
|
41
|
+
else if (availableSize < pixelSize) {
|
|
42
|
+
nearestSizeUnder = availableSize;
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
nearestSizeOver = availableSize;
|
|
46
|
+
break;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
const underDiff = Math.abs(pixelSize - nearestSizeUnder);
|
|
50
|
+
const overDiff = Math.abs(pixelSize - nearestSizeOver);
|
|
51
|
+
return isNaN(overDiff) || underDiff < overDiff
|
|
52
|
+
? nearestSizeUnder
|
|
53
|
+
: nearestSizeOver;
|
|
54
|
+
}
|
|
55
|
+
return undefined;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* @internal
|
|
59
|
+
*/
|
|
60
|
+
export class SkyIconSvgResolverService {
|
|
61
|
+
#iconMapPromise;
|
|
62
|
+
async resolveHref(name, pixelSize = 16, variant = 'line') {
|
|
63
|
+
if (!this.#iconMapPromise) {
|
|
64
|
+
this.#iconMapPromise = getIconMap();
|
|
65
|
+
}
|
|
66
|
+
const iconMap = await this.#iconMapPromise;
|
|
67
|
+
let href = `#sky-i-${name}`;
|
|
68
|
+
// Find the icon with the optimal size nearest to the requested size.
|
|
69
|
+
const nearestSize = getNearestSize(iconMap, name, pixelSize);
|
|
70
|
+
if (!nearestSize) {
|
|
71
|
+
throw new Error(`Icon with name '${name}' was not found.`);
|
|
72
|
+
}
|
|
73
|
+
href = `${href}-${nearestSize}-${variant}`;
|
|
74
|
+
return href;
|
|
75
|
+
}
|
|
76
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyIconSvgResolverService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
77
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyIconSvgResolverService, providedIn: 'root' }); }
|
|
78
|
+
}
|
|
79
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyIconSvgResolverService, decorators: [{
|
|
80
|
+
type: Injectable,
|
|
81
|
+
args: [{
|
|
82
|
+
providedIn: 'root',
|
|
83
|
+
}]
|
|
84
|
+
}] });
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1zdmctcmVzb2x2ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9pY29uL3NyYy9saWIvbW9kdWxlcy9pY29uL2ljb24tc3ZnLXJlc29sdmVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFJM0MsS0FBSyxVQUFVLFVBQVU7SUFDdkIsTUFBTSxRQUFRLEdBQUcsTUFBTSxLQUFLLENBQzFCLDhFQUE4RSxDQUMvRSxDQUFDO0lBRUYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELE1BQU0sTUFBTSxHQUFHLE1BQU0sUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBRXJDLFFBQVEsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBRXZELE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQ3hCLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyw2QkFBNkIsQ0FBQyxDQUN6RCxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRTtRQUNuQixNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVqQyxrRUFBa0U7UUFDbEUsd0NBQXdDO1FBQ3hDLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRTVELElBQUksS0FBSyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFMUIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1gsS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUNYLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3ZCLENBQUM7UUFFRCw2REFBNkQ7UUFDN0Qsa0JBQWtCO1FBQ2xCLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXpDLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQyxFQUFFLElBQUksR0FBRyxFQUFvQixDQUFDLENBQUM7SUFFaEMsMkNBQTJDO0lBQzNDLEtBQUssTUFBTSxFQUFFLElBQUksT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7UUFDaEMsa0NBQWtDO1FBQ2xDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDO0FBRUQsU0FBUyxjQUFjLENBQ3JCLE9BQThCLEVBQzlCLElBQVksRUFDWixTQUFpQjtJQUVqQixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRWhDLElBQUksS0FBSyxFQUFFLENBQUM7UUFDVixJQUFJLGdCQUFnQixHQUFHLENBQUMsUUFBUSxDQUFDO1FBQ2pDLElBQUksZUFBZSxHQUFHLFFBQVEsQ0FBQztRQUUvQixLQUFLLE1BQU0sYUFBYSxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ2xDLElBQUksYUFBYSxLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUNoQyxPQUFPLFNBQVMsQ0FBQztZQUNuQixDQUFDO2lCQUFNLElBQUksYUFBYSxHQUFHLFNBQVMsRUFBRSxDQUFDO2dCQUNyQyxnQkFBZ0IsR0FBRyxhQUFhLENBQUM7WUFDbkMsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLGVBQWUsR0FBRyxhQUFhLENBQUM7Z0JBQ2hDLE1BQU07WUFDUixDQUFDO1FBQ0gsQ0FBQztRQUVELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxHQUFHLGdCQUFnQixDQUFDLENBQUM7UUFDekQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEdBQUcsZUFBZSxDQUFDLENBQUM7UUFFdkQsT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksU0FBUyxHQUFHLFFBQVE7WUFDNUMsQ0FBQyxDQUFDLGdCQUFnQjtZQUNsQixDQUFDLENBQUMsZUFBZSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDO0FBRUQ7O0dBRUc7QUFJSCxNQUFNLE9BQU8seUJBQXlCO0lBQ3BDLGVBQWUsQ0FBNkM7SUFFckQsS0FBSyxDQUFDLFdBQVcsQ0FDdEIsSUFBWSxFQUNaLFNBQVMsR0FBRyxFQUFFLEVBQ2QsVUFBOEIsTUFBTTtRQUVwQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxlQUFlLEdBQUcsVUFBVSxFQUFFLENBQUM7UUFDdEMsQ0FBQztRQUVELE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUUzQyxJQUFJLElBQUksR0FBRyxVQUFVLElBQUksRUFBRSxDQUFDO1FBRTVCLHFFQUFxRTtRQUNyRSxNQUFNLFdBQVcsR0FBRyxjQUFjLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztRQUU3RCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsSUFBSSxrQkFBa0IsQ0FBQyxDQUFDO1FBQzdELENBQUM7UUFFRCxJQUFJLEdBQUcsR0FBRyxJQUFJLElBQUksV0FBVyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBRTNDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs4R0ExQlUseUJBQXlCO2tIQUF6Qix5QkFBeUIsY0FGeEIsTUFBTTs7MkZBRVAseUJBQXlCO2tCQUhyQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2t5SWNvblZhcmlhbnRUeXBlIH0gZnJvbSAnLi90eXBlcy9pY29uLXZhcmlhbnQtdHlwZSc7XG5cbmFzeW5jIGZ1bmN0aW9uIGdldEljb25NYXAoKTogUHJvbWlzZTxNYXA8c3RyaW5nLCBudW1iZXJbXT4+IHtcbiAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChcbiAgICBgaHR0cHM6Ly9za3kuYmxhY2tiYXVkY2RuLm5ldC9zdGF0aWMvc2t5dXgtaWNvbnMvNy9hc3NldHMvc3ZnL3NreXV4LWljb25zLnN2Z2AsXG4gICk7XG5cbiAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgIHRocm93IG5ldyBFcnJvcignSWNvbiBzcHJpdGUgY291bGQgbm90IGJlIGxvYWRlZC4nKTtcbiAgfVxuXG4gIGNvbnN0IG1hcmt1cCA9IGF3YWl0IHJlc3BvbnNlLnRleHQoKTtcblxuICBkb2N1bWVudC5ib2R5Lmluc2VydEFkamFjZW50SFRNTCgnYWZ0ZXJiZWdpbicsIG1hcmt1cCk7XG5cbiAgY29uc3QgaWNvbk1hcCA9IEFycmF5LmZyb208U1ZHU3ltYm9sRWxlbWVudD4oXG4gICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnI3NreS1pY29uLXN2Zy1zcHJpdGUgc3ltYm9sJyksXG4gICkucmVkdWNlKChtYXAsIGVsKSA9PiB7XG4gICAgY29uc3QgaWRQYXJ0cyA9IGVsLmlkLnNwbGl0KCctJyk7XG5cbiAgICAvLyBDb25zdHJ1Y3QgdGhlIGljb24gbmFtZSBieSByZW1vdmluZyBgc2t5LWktYCBmcm9tIHRoZSBiZWdpbm5pbmdcbiAgICAvLyBhbmQgYC08c2l6ZT4tPHZhcmlhbnQ+YCBmcm9tIHRoZSBlbmQuXG4gICAgY29uc3QgbmFtZSA9IGlkUGFydHMuc2xpY2UoMiwgaWRQYXJ0cy5sZW5ndGggLSAyKS5qb2luKCctJyk7XG5cbiAgICBsZXQgc2l6ZXMgPSBtYXAuZ2V0KG5hbWUpO1xuXG4gICAgaWYgKCFzaXplcykge1xuICAgICAgc2l6ZXMgPSBbXTtcbiAgICAgIG1hcC5zZXQobmFtZSwgc2l6ZXMpO1xuICAgIH1cblxuICAgIC8vIFRoZSBwZW51bHRpbWF0ZSBzZWdtZW50IGlzIHRoZSBzaXplIGZvciB3aGljaCB0aGUgaWNvbiBoYXNcbiAgICAvLyBiZWVuIG9wdGltaXplZC5cbiAgICBzaXplcy5wdXNoKCtpZFBhcnRzW2lkUGFydHMubGVuZ3RoIC0gMl0pO1xuXG4gICAgcmV0dXJuIG1hcDtcbiAgfSwgbmV3IE1hcDxzdHJpbmcsIG51bWJlcltdPigpKTtcblxuICAvLyBTb3J0IGFsbCB0aGUgc2l6ZXMgZm9yIGxhdGVyIGNvbXBhcmlzb24uXG4gIGZvciAoY29uc3QgaWQgb2YgaWNvbk1hcC5rZXlzKCkpIHtcbiAgICAvLyBEZWR1cGUgYW5kIHNvcnQgdGhlIGljb24gc2l6ZXMuXG4gICAgaWNvbk1hcC5zZXQoaWQsIFsuLi5uZXcgU2V0KGljb25NYXAuZ2V0KGlkKSldLnNvcnQoKSk7XG4gIH1cblxuICByZXR1cm4gaWNvbk1hcDtcbn1cblxuZnVuY3Rpb24gZ2V0TmVhcmVzdFNpemUoXG4gIGljb25NYXA6IE1hcDxzdHJpbmcsIG51bWJlcltdPixcbiAgbmFtZTogc3RyaW5nLFxuICBwaXhlbFNpemU6IG51bWJlcixcbik6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IHNpemVzID0gaWNvbk1hcC5nZXQobmFtZSk7XG5cbiAgaWYgKHNpemVzKSB7XG4gICAgbGV0IG5lYXJlc3RTaXplVW5kZXIgPSAtSW5maW5pdHk7XG4gICAgbGV0IG5lYXJlc3RTaXplT3ZlciA9IEluZmluaXR5O1xuXG4gICAgZm9yIChjb25zdCBhdmFpbGFibGVTaXplIG9mIHNpemVzKSB7XG4gICAgICBpZiAoYXZhaWxhYmxlU2l6ZSA9PT0gcGl4ZWxTaXplKSB7XG4gICAgICAgIHJldHVybiBwaXhlbFNpemU7XG4gICAgICB9IGVsc2UgaWYgKGF2YWlsYWJsZVNpemUgPCBwaXhlbFNpemUpIHtcbiAgICAgICAgbmVhcmVzdFNpemVVbmRlciA9IGF2YWlsYWJsZVNpemU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZWFyZXN0U2l6ZU92ZXIgPSBhdmFpbGFibGVTaXplO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCB1bmRlckRpZmYgPSBNYXRoLmFicyhwaXhlbFNpemUgLSBuZWFyZXN0U2l6ZVVuZGVyKTtcbiAgICBjb25zdCBvdmVyRGlmZiA9IE1hdGguYWJzKHBpeGVsU2l6ZSAtIG5lYXJlc3RTaXplT3Zlcik7XG5cbiAgICByZXR1cm4gaXNOYU4ob3ZlckRpZmYpIHx8IHVuZGVyRGlmZiA8IG92ZXJEaWZmXG4gICAgICA/IG5lYXJlc3RTaXplVW5kZXJcbiAgICAgIDogbmVhcmVzdFNpemVPdmVyO1xuICB9XG5cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNreUljb25TdmdSZXNvbHZlclNlcnZpY2Uge1xuICAjaWNvbk1hcFByb21pc2U6IFByb21pc2U8TWFwPHN0cmluZywgbnVtYmVyW10+PiB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgYXN5bmMgcmVzb2x2ZUhyZWYoXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIHBpeGVsU2l6ZSA9IDE2LFxuICAgIHZhcmlhbnQ6IFNreUljb25WYXJpYW50VHlwZSA9ICdsaW5lJyxcbiAgKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBpZiAoIXRoaXMuI2ljb25NYXBQcm9taXNlKSB7XG4gICAgICB0aGlzLiNpY29uTWFwUHJvbWlzZSA9IGdldEljb25NYXAoKTtcbiAgICB9XG5cbiAgICBjb25zdCBpY29uTWFwID0gYXdhaXQgdGhpcy4jaWNvbk1hcFByb21pc2U7XG5cbiAgICBsZXQgaHJlZiA9IGAjc2t5LWktJHtuYW1lfWA7XG5cbiAgICAvLyBGaW5kIHRoZSBpY29uIHdpdGggdGhlIG9wdGltYWwgc2l6ZSBuZWFyZXN0IHRvIHRoZSByZXF1ZXN0ZWQgc2l6ZS5cbiAgICBjb25zdCBuZWFyZXN0U2l6ZSA9IGdldE5lYXJlc3RTaXplKGljb25NYXAsIG5hbWUsIHBpeGVsU2l6ZSk7XG5cbiAgICBpZiAoIW5lYXJlc3RTaXplKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEljb24gd2l0aCBuYW1lICcke25hbWV9JyB3YXMgbm90IGZvdW5kLmApO1xuICAgIH1cblxuICAgIGhyZWYgPSBgJHtocmVmfS0ke25lYXJlc3RTaXplfS0ke3ZhcmlhbnR9YDtcblxuICAgIHJldHVybiBocmVmO1xuICB9XG59XG4iXX0=
|
|
@@ -33,11 +33,11 @@ export class SkyIconSvgComponent {
|
|
|
33
33
|
}
|
|
34
34
|
#resolverSvc;
|
|
35
35
|
#iconInfo;
|
|
36
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
37
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.
|
|
36
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyIconSvgComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
37
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.8", type: SkyIconSvgComponent, isStandalone: true, selector: "sky-icon-svg", inputs: { iconName: { classPropertyName: "iconName", publicName: "iconName", isSignal: true, isRequired: true, transformFunction: null }, iconSize: { classPropertyName: "iconSize", publicName: "iconSize", isSignal: true, isRequired: false, transformFunction: null }, iconVariant: { classPropertyName: "iconVariant", publicName: "iconVariant", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<svg\n aria-hidden=\"true\"\n class=\"sky-icon-svg-img\"\n [ngClass]=\"iconSize() && 'sky-icon-svg-img-' + iconSize()\"\n>\n <use [attr.xlink:href]=\"iconHref()\"></use>\n</svg>\n", styles: [":host{display:inline-block;--sky-icon-svg-img-size: 1em;--sky-icon-svg-img-top: .15em}.sky-icon-svg-img{display:inline-block;fill:var(--sky-icon-svg-color-input, currentColor);height:var(--sky-icon-svg-img-size);width:var(--sky-icon-svg-img-size);text-align:center;position:relative;top:var(--sky-icon-svg-img-top)}.sky-icon-svg-img-lg{--sky-icon-svg-img-size: 1.333em;--sky-icon-svg-img-top: .2em}.sky-icon-svg-img-2x{--sky-icon-svg-img-size: 2em;--sky-icon-svg-img-top: .3em}.sky-icon-svg-img-3x{--sky-icon-svg-img-size: 3em;--sky-icon-svg-img-top: .45em}.sky-icon-svg-img-4x{--sky-icon-svg-img-size: 4em;--sky-icon-svg-img-top: .6em}.sky-icon-svg-img-5x{--sky-icon-svg-img-size: 5em;--sky-icon-svg-img-top: .75em}\n", ":host{display:inline-block;--sky-icon-svg-img-size: 1em;--sky-icon-svg-img-top: .15em}.sky-icon-svg-img{display:inline-block;fill:var(--sky-icon-svg-color-input, currentColor);height:var(--sky-icon-svg-img-size);width:var(--sky-icon-svg-img-size);text-align:center;position:relative;top:var(--sky-icon-svg-img-top)}.sky-icon-svg-img-lg{--sky-icon-svg-img-size: 1.333em;--sky-icon-svg-img-top: .2em}.sky-icon-svg-img-2x{--sky-icon-svg-img-size: 2em;--sky-icon-svg-img-top: .3em}.sky-icon-svg-img-3x{--sky-icon-svg-img-size: 3em;--sky-icon-svg-img-top: .45em}.sky-icon-svg-img-4x{--sky-icon-svg-img-size: 4em;--sky-icon-svg-img-top: .6em}.sky-icon-svg-img-5x{--sky-icon-svg-img-size: 5em;--sky-icon-svg-img-top: .75em}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
|
|
38
38
|
}
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyIconSvgComponent, decorators: [{
|
|
40
40
|
type: Component,
|
|
41
41
|
args: [{ selector: 'sky-icon-svg', standalone: true, imports: [NgClass, NgStyle], template: "<svg\n aria-hidden=\"true\"\n class=\"sky-icon-svg-img\"\n [ngClass]=\"iconSize() && 'sky-icon-svg-img-' + iconSize()\"\n>\n <use [attr.xlink:href]=\"iconHref()\"></use>\n</svg>\n", styles: [":host{display:inline-block;--sky-icon-svg-img-size: 1em;--sky-icon-svg-img-top: .15em}.sky-icon-svg-img{display:inline-block;fill:var(--sky-icon-svg-color-input, currentColor);height:var(--sky-icon-svg-img-size);width:var(--sky-icon-svg-img-size);text-align:center;position:relative;top:var(--sky-icon-svg-img-top)}.sky-icon-svg-img-lg{--sky-icon-svg-img-size: 1.333em;--sky-icon-svg-img-top: .2em}.sky-icon-svg-img-2x{--sky-icon-svg-img-size: 2em;--sky-icon-svg-img-top: .3em}.sky-icon-svg-img-3x{--sky-icon-svg-img-size: 3em;--sky-icon-svg-img-top: .45em}.sky-icon-svg-img-4x{--sky-icon-svg-img-size: 4em;--sky-icon-svg-img-top: .6em}.sky-icon-svg-img-5x{--sky-icon-svg-img-size: 5em;--sky-icon-svg-img-top: .75em}\n", ":host{display:inline-block;--sky-icon-svg-img-size: 1em;--sky-icon-svg-img-top: .15em}.sky-icon-svg-img{display:inline-block;fill:var(--sky-icon-svg-color-input, currentColor);height:var(--sky-icon-svg-img-size);width:var(--sky-icon-svg-img-size);text-align:center;position:relative;top:var(--sky-icon-svg-img-top)}.sky-icon-svg-img-lg{--sky-icon-svg-img-size: 1.333em;--sky-icon-svg-img-top: .2em}.sky-icon-svg-img-2x{--sky-icon-svg-img-size: 2em;--sky-icon-svg-img-top: .3em}.sky-icon-svg-img-3x{--sky-icon-svg-img-size: 3em;--sky-icon-svg-img-top: .45em}.sky-icon-svg-img-4x{--sky-icon-svg-img-size: 4em;--sky-icon-svg-img-top: .6em}.sky-icon-svg-img-5x{--sky-icon-svg-img-size: 5em;--sky-icon-svg-img-top: .75em}\n"] }]
|
|
42
42
|
}] });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1zdmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2ljb24vc3JjL2xpYi9tb2R1bGVzL2ljb24vaWNvbi1zdmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2ljb24vc3JjL2xpYi9tb2R1bGVzL2ljb24vaWNvbi1zdmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFcEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWpELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQUd4RSxNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUM7QUFFckIsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLENBQUM7SUFDcEIsQ0FBQyxFQUFFLEVBQUUsU0FBUyxDQUFDO0lBQ2YsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLHVCQUF1QixDQUFDO0lBQ3RDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztJQUM5QixDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsbUJBQW1CLENBQUM7SUFDOUIsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLG1CQUFtQixDQUFDO0lBQzlCLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztDQUMvQixDQUFDLENBQUM7QUFFSDs7R0FFRztBQVdILE1BQU0sT0FBTyxtQkFBbUI7SUFWaEM7UUFXVyxpQkFBWSxHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBRTFDLGFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7UUFDcEMsYUFBUSxHQUFHLEtBQUssRUFBVSxDQUFDO1FBQzNCLGdCQUFXLEdBQUcsS0FBSyxFQUFzQixDQUFDO1FBRWpELGNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ2pDLE9BQU87Z0JBQ0wsR0FBRyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ3BCLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNyQixPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRTthQUM1QixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFFZ0IsYUFBUSxHQUFHLFFBQVEsQ0FDcEMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQy9CLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQ2pCLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUMzQixJQUFJLENBQUMsR0FBRyxFQUNSLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsRUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FDYixDQUNGLEVBQ0QsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUN6QixDQUNGLENBQUM7S0FDSDtJQTFCVSxZQUFZLENBQXFDO0lBTWpELFNBQVMsQ0FNZjs4R0FiUSxtQkFBbUI7a0dBQW5CLG1CQUFtQiwrZENqQ2hDLHlMQU9BLDA5Q0RtQlksT0FBTzs7MkZBT04sbUJBQW1CO2tCQVYvQixTQUFTOytCQUNFLGNBQWMsY0FDWixJQUFJLFdBQ1AsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdDbGFzcywgTmdTdHlsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBpbmplY3QsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0b09ic2VydmFibGUsIHRvU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBvZiwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNreUljb25TdmdSZXNvbHZlclNlcnZpY2UgfSBmcm9tICcuL2ljb24tc3ZnLXJlc29sdmVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5SWNvblZhcmlhbnRUeXBlIH0gZnJvbSAnLi90eXBlcy9pY29uLXZhcmlhbnQtdHlwZSc7XG5cbmNvbnN0IFNJWkVfQkFTRSA9IDE2O1xuXG5jb25zdCBTSVpFUyA9IG5ldyBNYXAoW1xuICBbJycsIFNJWkVfQkFTRV0sXG4gIFsnbGcnLCAyMS4zMzMgLyogU0laRV9CQVNFICogKDQvMykgKi9dLFxuICBbJzJ4JywgMzIgLyogU0laRV9CQVNFICogMiAqL10sXG4gIFsnM3gnLCA0OCAvKiBTSVpFX0JBU0UgKiAzICovXSxcbiAgWyc0eCcsIDY0IC8qIFNJWkVfQkFTRSAqIDQgKi9dLFxuICBbJzV4JywgODAgLyogU0laRV9CQVNFICogNSAqL10sXG5dKTtcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWljb24tc3ZnJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nQ2xhc3MsIE5nU3R5bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vaWNvbi1zdmcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFtcbiAgICAnLi9pY29uLXN2Zy5kZWZhdWx0LmNvbXBvbmVudC5zY3NzJyxcbiAgICAnLi9pY29uLXN2Zy5tb2Rlcm4uY29tcG9uZW50LnNjc3MnLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lJY29uU3ZnQ29tcG9uZW50IHtcbiAgcmVhZG9ubHkgI3Jlc29sdmVyU3ZjID0gaW5qZWN0KFNreUljb25TdmdSZXNvbHZlclNlcnZpY2UpO1xuXG4gIHB1YmxpYyByZWFkb25seSBpY29uTmFtZSA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcbiAgcHVibGljIHJlYWRvbmx5IGljb25TaXplID0gaW5wdXQ8c3RyaW5nPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgaWNvblZhcmlhbnQgPSBpbnB1dDxTa3lJY29uVmFyaWFudFR5cGU+KCk7XG5cbiAgcmVhZG9ubHkgI2ljb25JbmZvID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICBzcmM6IHRoaXMuaWNvbk5hbWUoKSxcbiAgICAgIHNpemU6IHRoaXMuaWNvblNpemUoKSxcbiAgICAgIHZhcmlhbnQ6IHRoaXMuaWNvblZhcmlhbnQoKSxcbiAgICB9O1xuICB9KTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaWNvbkhyZWYgPSB0b1NpZ25hbChcbiAgICB0b09ic2VydmFibGUodGhpcy4jaWNvbkluZm8pLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKGluZm8pID0+XG4gICAgICAgIHRoaXMuI3Jlc29sdmVyU3ZjLnJlc29sdmVIcmVmKFxuICAgICAgICAgIGluZm8uc3JjLFxuICAgICAgICAgIFNJWkVTLmdldChpbmZvLnNpemUgPz8gJycpLFxuICAgICAgICAgIGluZm8udmFyaWFudCxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgICBjYXRjaEVycm9yKCgpID0+IG9mKCcnKSksXG4gICAgKSxcbiAgKTtcbn1cbiIsIjxzdmdcbiAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgY2xhc3M9XCJza3ktaWNvbi1zdmctaW1nXCJcbiAgW25nQ2xhc3NdPVwiaWNvblNpemUoKSAmJiAnc2t5LWljb24tc3ZnLWltZy0nICsgaWNvblNpemUoKVwiXG4+XG4gIDx1c2UgW2F0dHIueGxpbms6aHJlZl09XCJpY29uSHJlZigpXCI+PC91c2U+XG48L3N2Zz5cbiJdfQ==
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input, inject, } from '@angular/core';
|
|
2
|
+
import { SkyThemeService } from '@skyux/theme';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
import * as i2 from "./icon-svg.component";
|
|
6
|
+
import * as i3 from "./icon-class-list.pipe";
|
|
7
|
+
export class SkyIconComponent {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.themeSvc = inject(SkyThemeService, { optional: true });
|
|
10
|
+
}
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: SkyIconComponent, selector: "sky-icon", inputs: { icon: "icon", iconName: "iconName", iconType: "iconType", size: "size", fixedWidth: "fixedWidth", variant: "variant" }, ngImport: i0, template: "@if (iconName) {\n <sky-icon-svg\n [iconName]=\"iconName\"\n [iconSize]=\"size\"\n [iconVariant]=\"variant\"\n />\n} @else {\n <i\n *ngIf=\"icon\"\n aria-hidden=\"true\"\n class=\"sky-icon\"\n [attr.data-sky-icon]=\"icon\"\n [attr.data-sky-icon-type]=\"iconType\"\n [attr.data-sky-icon-variant]=\"variant\"\n [ngClass]=\"\n icon\n | skyIconClassList\n : (themeSvc?.settingsChange | async)?.currentSettings\n : size\n : fixedWidth\n : variant\n \"\n ></i>\n}\n", styles: [":host{display:inline-block}i{display:inherit}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.SkyIconSvgComponent, selector: "sky-icon-svg", inputs: ["iconName", "iconSize", "iconVariant"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.SkyIconClassListPipe, name: "skyIconClassList" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
13
|
+
}
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyIconComponent, decorators: [{
|
|
15
|
+
type: Component,
|
|
16
|
+
args: [{ selector: 'sky-icon', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (iconName) {\n <sky-icon-svg\n [iconName]=\"iconName\"\n [iconSize]=\"size\"\n [iconVariant]=\"variant\"\n />\n} @else {\n <i\n *ngIf=\"icon\"\n aria-hidden=\"true\"\n class=\"sky-icon\"\n [attr.data-sky-icon]=\"icon\"\n [attr.data-sky-icon-type]=\"iconType\"\n [attr.data-sky-icon-variant]=\"variant\"\n [ngClass]=\"\n icon\n | skyIconClassList\n : (themeSvc?.settingsChange | async)?.currentSettings\n : size\n : fixedWidth\n : variant\n \"\n ></i>\n}\n", styles: [":host{display:inline-block}i{display:inherit}\n"] }]
|
|
17
|
+
}], propDecorators: { icon: [{
|
|
18
|
+
type: Input
|
|
19
|
+
}], iconName: [{
|
|
20
|
+
type: Input
|
|
21
|
+
}], iconType: [{
|
|
22
|
+
type: Input
|
|
23
|
+
}], size: [{
|
|
24
|
+
type: Input
|
|
25
|
+
}], fixedWidth: [{
|
|
26
|
+
type: Input
|
|
27
|
+
}], variant: [{
|
|
28
|
+
type: Input
|
|
29
|
+
}] } });
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvaWNvbi9zcmMvbGliL21vZHVsZXMvaWNvbi9pY29uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9pY29uL3NyYy9saWIvbW9kdWxlcy9pY29uL2ljb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7OztBQVcvQyxNQUFNLE9BQU8sZ0JBQWdCO0lBTjdCO1FBd0RZLGFBQVEsR0FBRyxNQUFNLENBQUMsZUFBZSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7S0FDbEU7OEdBbkRZLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLGtMQ2pCN0Isa2lCQXdCQTs7MkZEUGEsZ0JBQWdCO2tCQU41QixTQUFTOytCQUNFLFVBQVUsbUJBR0gsdUJBQXVCLENBQUMsTUFBTTs4QkFVeEMsSUFBSTtzQkFEVixLQUFLO2dCQVFDLFFBQVE7c0JBRGQsS0FBSztnQkFXQyxRQUFRO3NCQURkLEtBQUs7Z0JBUUMsSUFBSTtzQkFEVixLQUFLO2dCQVVDLFVBQVU7c0JBRGhCLEtBQUs7Z0JBUUMsT0FBTztzQkFEYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIGluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lUaGVtZVNlcnZpY2UgfSBmcm9tICdAc2t5dXgvdGhlbWUnO1xuXG5pbXBvcnQgeyBTa3lJY29uVHlwZSB9IGZyb20gJy4vdHlwZXMvaWNvbi10eXBlJztcbmltcG9ydCB7IFNreUljb25WYXJpYW50VHlwZSB9IGZyb20gJy4vdHlwZXMvaWNvbi12YXJpYW50LXR5cGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktaWNvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9pY29uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaWNvbi5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2t5SWNvbkNvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZlxuICAgKiBbdGhlIEZvbnQgQXdlc29tZSA0LjcgaWNvbl0oaHR0cHM6Ly9mb250YXdlc29tZS5jb20vdjQuNy9pY29ucy8pIG9yIHRoZSBTS1kgVVggaWNvbiB0b1xuICAgKiBkaXNwbGF5LiBXaGVuIHNwZWNpZnlpbmcgYSBGb250IEF3ZXNvbWUgaWNvbiwgZG8gbm90IHByZWZpeCB0aGUgbmFtZSB3aXRoIGBmYS1gLlxuICAgKiBAcmVxdWlyZWRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpY29uOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBCbGFja2JhdWQgU1ZHIGljb24gdG8gZGlzcGxheS4gRm9yIGludGVybmFsIHVzZSBvbmx5LlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpY29uTmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiBpY29uIHRvIGRpc3BsYXkuIFNwZWNpZnlpbmcgYFwiZmFcImAgZGlzcGxheXMgYSBGb250IEF3ZXNvbWUgaWNvbixcbiAgICogd2hpbGUgc3BlY2lmeWluZyBgXCJza3l1eFwiYCBkaXNwbGF5cyBhbiBpY29uIGZyb20gdGhlIGN1c3RvbSBTS1kgVVggaWNvbiBmb250LiBOb3RlIHRoYXRcbiAgICogdGhlIGN1c3RvbSBTS1kgVVggaWNvbiBmb250IGlzIGN1cnJlbnRseSBpbiBiZXRhLlxuICAgKiBAZGVmYXVsdCBcImZhXCJcbiAgICogQGRlcHJlY2F0ZWQgVGhlIGljb24gY29tcG9uZW50IG5vdyBhdXRvbWF0aWNhbGx5IGluZmVycyB3aGljaCB0eXBlIG9mIGljb24gdG8gdXNlIGJhc2VkIG9uIHRoZSBjdXJyZW50IHRoZW1lLiBUaGlzIGlucHV0IHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSB2ZXJzaW9uLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGljb25UeXBlOiBTa3lJY29uVHlwZSB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIHNpemUgb2YgdGhlIGljb24gdXNpbmdcbiAgICogW0ZvbnQgQXdlc29tZSBzaXplc10oaHR0cHM6Ly9mb250YXdlc29tZS5jb20vdjQvZXhhbXBsZXMvKS4gRG8gbm90IHByZWZpeCB0aGUgc2l6ZSB3aXRoIGBmYS1gLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNpemU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogV2hldGhlciB0byBlbmZvcmNlIGEgZml4ZWQgd2lkdGggYmFzZWQgb24gaWNvbiBzaXplLiBCeSBkZWZhdWx0LCBpY29ucyBvZiBhIHNwZWNpZmllZCBzaXplIHNoYXJlIGFcbiAgICogY29uc2lzdGVudCBoZWlnaHQsIGJ1dCB0aGVpciB3aWR0aHMgdmFyeSBhbmQgY2FuIHRocm93IG9mZiB2ZXJ0aWNhbCBhbGlnbm1lbnQuIFVzZSBhIGZpeGVkIHdpZHRoIHdoZW5cbiAgICogeW91IHN0YWNrIGljb25zIHZlcnRpY2FsbHksIHN1Y2ggYXMgaW4gbGlzdHMuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZml4ZWRXaWR0aDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIGljb24gdmFyaWFudC4gSWYgdGhlIHZhcmlhbnQgZG9lc24ndCBleGlzdCBmb3IgdGhlXG4gICAqIHNwZWNpZmllZCBpY29uLCB0aGUgbm9ybWFsIGljb24gaXMgZGlzcGxheWVkLiBUaGlzIHByb3BlcnR5IG9ubHkgYXBwbGllcyB3aGVuIHVzaW5nIFNLWSBVWCBpY29ucy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB2YXJpYW50OiBTa3lJY29uVmFyaWFudFR5cGUgfCB1bmRlZmluZWQ7XG5cbiAgcHJvdGVjdGVkIHRoZW1lU3ZjID0gaW5qZWN0KFNreVRoZW1lU2VydmljZSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcbn1cbiIsIkBpZiAoaWNvbk5hbWUpIHtcbiAgPHNreS1pY29uLXN2Z1xuICAgIFtpY29uTmFtZV09XCJpY29uTmFtZVwiXG4gICAgW2ljb25TaXplXT1cInNpemVcIlxuICAgIFtpY29uVmFyaWFudF09XCJ2YXJpYW50XCJcbiAgLz5cbn0gQGVsc2Uge1xuICA8aVxuICAgICpuZ0lmPVwiaWNvblwiXG4gICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICBjbGFzcz1cInNreS1pY29uXCJcbiAgICBbYXR0ci5kYXRhLXNreS1pY29uXT1cImljb25cIlxuICAgIFthdHRyLmRhdGEtc2t5LWljb24tdHlwZV09XCJpY29uVHlwZVwiXG4gICAgW2F0dHIuZGF0YS1za3ktaWNvbi12YXJpYW50XT1cInZhcmlhbnRcIlxuICAgIFtuZ0NsYXNzXT1cIlxuICAgICAgaWNvblxuICAgICAgICB8IHNreUljb25DbGFzc0xpc3RcbiAgICAgICAgICA6ICh0aGVtZVN2Yz8uc2V0dGluZ3NDaGFuZ2UgfCBhc3luYyk/LmN1cnJlbnRTZXR0aW5nc1xuICAgICAgICAgIDogc2l6ZVxuICAgICAgICAgIDogZml4ZWRXaWR0aFxuICAgICAgICAgIDogdmFyaWFudFxuICAgIFwiXG4gID48L2k+XG59XG4iXX0=
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { SkyIconClassListPipe } from './icon-class-list.pipe';
|
|
4
|
+
import { SkyIconStackComponent } from './icon-stack.component';
|
|
5
|
+
import { SkyIconSvgComponent } from './icon-svg.component';
|
|
6
|
+
import { SkyIconComponent } from './icon.component';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export class SkyIconModule {
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyIconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
10
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: SkyIconModule, declarations: [SkyIconClassListPipe, SkyIconComponent, SkyIconStackComponent], imports: [CommonModule, SkyIconSvgComponent], exports: [SkyIconComponent, SkyIconStackComponent] }); }
|
|
11
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyIconModule, imports: [CommonModule] }); }
|
|
12
|
+
}
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyIconModule, decorators: [{
|
|
14
|
+
type: NgModule,
|
|
15
|
+
args: [{
|
|
16
|
+
declarations: [SkyIconClassListPipe, SkyIconComponent, SkyIconStackComponent],
|
|
17
|
+
imports: [CommonModule, SkyIconSvgComponent],
|
|
18
|
+
exports: [SkyIconComponent, SkyIconStackComponent],
|
|
19
|
+
}]
|
|
20
|
+
}] });
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvaWNvbi9zcmMvbGliL21vZHVsZXMvaWNvbi9pY29uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFPcEQsTUFBTSxPQUFPLGFBQWE7OEdBQWIsYUFBYTsrR0FBYixhQUFhLGlCQUpULG9CQUFvQixFQUFFLGdCQUFnQixFQUFFLHFCQUFxQixhQUNsRSxZQUFZLEVBQUUsbUJBQW1CLGFBQ2pDLGdCQUFnQixFQUFFLHFCQUFxQjsrR0FFdEMsYUFBYSxZQUhkLFlBQVk7OzJGQUdYLGFBQWE7a0JBTHpCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsb0JBQW9CLEVBQUUsZ0JBQWdCLEVBQUUscUJBQXFCLENBQUM7b0JBQzdFLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsQ0FBQztvQkFDNUMsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUscUJBQXFCLENBQUM7aUJBQ25EIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreUljb25DbGFzc0xpc3RQaXBlIH0gZnJvbSAnLi9pY29uLWNsYXNzLWxpc3QucGlwZSc7XG5pbXBvcnQgeyBTa3lJY29uU3RhY2tDb21wb25lbnQgfSBmcm9tICcuL2ljb24tc3RhY2suY29tcG9uZW50JztcbmltcG9ydCB7IFNreUljb25TdmdDb21wb25lbnQgfSBmcm9tICcuL2ljb24tc3ZnLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lJY29uQ29tcG9uZW50IH0gZnJvbSAnLi9pY29uLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1NreUljb25DbGFzc0xpc3RQaXBlLCBTa3lJY29uQ29tcG9uZW50LCBTa3lJY29uU3RhY2tDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBTa3lJY29uU3ZnQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW1NreUljb25Db21wb25lbnQsIFNreUljb25TdGFja0NvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFNreUljb25Nb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1yZXNvbHZlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9pY29uL3NyYy9saWIvbW9kdWxlcy9pY29uL3R5cGVzL2ljb24tcmVzb2x2ZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2t5SWNvblJlc29sdmVkIHtcbiAgaWNvbjogc3RyaW5nO1xuICBpY29uVHlwZTogc3RyaW5nO1xufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2ljb24vc3JjL2xpYi9tb2R1bGVzL2ljb24vdHlwZXMvaWNvbi10eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBkZXByZWNhdGVkXG4gKi9cbmV4cG9ydCB0eXBlIFNreUljb25UeXBlID0gJ2ZhJyB8ICdza3l1eCc7XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi12YXJpYW50LXR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvaWNvbi9zcmMvbGliL21vZHVsZXMvaWNvbi90eXBlcy9pY29uLXZhcmlhbnQtdHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgU2t5SWNvblZhcmlhbnRUeXBlID0gJ2xpbmUnIHwgJ3NvbGlkJztcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { SkyIconHarness } from './icon/icon-harness';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9pY29uL3Rlc3Rpbmcvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgU2t5SWNvbkhhcm5lc3MgfSBmcm9tICcuL2ljb24vaWNvbi1oYXJuZXNzJztcbmV4cG9ydCB7IFNreUljb25IYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vaWNvbi9pY29uLWhhcm5lc3MtZmlsdGVycyc7XG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Generated bundle index. Do not edit.
|
|
3
3
|
*/
|
|
4
|
-
export * from './
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5dXgtaWNvbi10ZXN0aW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2ljb24vdGVzdGluZy9zcmMvc2t5dXgtaWNvbi10ZXN0aW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skyux-icon-testing.mjs","sources":["../../../../../libs/components/icon/testing/src/icon/icon-harness.ts","../../../../../libs/components/icon/testing/src/skyux-icon-testing.ts"],"sourcesContent":["import { HarnessPredicate, TestElement } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyIconHarnessFilters } from './icon-harness-filters';\n\n/**\n * Harness for interacting with an icon component in tests.\n */\nexport class SkyIconHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-icon';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyIconHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyIconHarnessFilters,\n ): HarnessPredicate<SkyIconHarness> {\n return SkyIconHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets the icon name.\n */\n public async getIconName(): Promise<string | undefined> {\n // No need to check for null here since #getIcon() will throw an error when\n // icon name is null.\n return (await this.#getSpecifiedIconInfo()).icon as string;\n }\n\n /**\n * Gets the icon size.\n */\n public async getIconSize(): Promise<string | undefined> {\n const iconClasses = await this.#getIconClasses();\n\n for (const iconClass of iconClasses) {\n // match a class name that starts with `fa-` and follows with `lg`, `2x`, `3x`, `4x`, `5x`\n if (/^fa-(?=2xs|lg|[2-5]+x)/.test(iconClass)) {\n return iconClass.replace('fa-', '');\n }\n }\n\n return undefined;\n }\n\n /**\n * Gets the icon type.\n * @deprecated The `iconType` input is no longer used. This method will be removed in a future version.\n */\n public async getIconType(): Promise<string> {\n return (await this.#getSpecifiedIconInfo()).iconType || 'fa';\n }\n\n /**\n * Gets if the icon is a variant.\n */\n public async getVariant(): Promise<string | undefined> {\n const iconInfo = await this.#getSpecifiedIconInfo();\n\n if (iconInfo.iconType === 'skyux') {\n return iconInfo.variant || 'line';\n }\n\n throw new Error(\n 'Variant cannot be determined because variants are only assigned to icons with type `skyux`.',\n );\n }\n\n /**\n * Whether the icon has fixed width.\n */\n public async isFixedWidth(): Promise<boolean> {\n const icon = await this.#getIcon();\n return icon.hasClass(`fa-fw`);\n }\n\n async #getIcon(): Promise<TestElement> {\n const icon = await this.locatorForOptional('.sky-icon')();\n\n if (icon) {\n return icon;\n }\n\n throw new Error('Icon could not be rendered.');\n }\n\n async #getIconClasses(): Promise<string[]> {\n const iconClasses = await (await this.#getIcon()).getProperty('classList');\n return Array.from(iconClasses);\n }\n\n async #getSpecifiedIconInfo(): Promise<{\n icon: string | null;\n iconType: string | null;\n variant: string | null;\n }> {\n // Since SKY UX icons have Font Awesome alternatives that may be used\n // in default theme instead of the icon specified by the consumer, we\n // need to get the specified values using data- attributes added by\n // the icon component. This conflicts with the usual pattern of giving\n // the effective state of the component but is necessary in this case.\n const icon = await this.#getIcon();\n\n return {\n icon: await icon.getAttribute('data-sky-icon'),\n iconType: await icon.getAttribute('data-sky-icon-type'),\n variant: await icon.getAttribute('data-sky-icon-variant'),\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './
|
|
1
|
+
{"version":3,"file":"skyux-icon-testing.mjs","sources":["../../../../../libs/components/icon/testing/src/icon/icon-harness.ts","../../../../../libs/components/icon/testing/src/skyux-icon-testing.ts"],"sourcesContent":["import { HarnessPredicate, TestElement } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyIconHarnessFilters } from './icon-harness-filters';\n\n/**\n * Harness for interacting with an icon component in tests.\n */\nexport class SkyIconHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-icon';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyIconHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyIconHarnessFilters,\n ): HarnessPredicate<SkyIconHarness> {\n return SkyIconHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets the icon name.\n */\n public async getIconName(): Promise<string | undefined> {\n // No need to check for null here since #getIcon() will throw an error when\n // icon name is null.\n return (await this.#getSpecifiedIconInfo()).icon as string;\n }\n\n /**\n * Gets the icon size.\n */\n public async getIconSize(): Promise<string | undefined> {\n const iconClasses = await this.#getIconClasses();\n\n for (const iconClass of iconClasses) {\n // match a class name that starts with `fa-` and follows with `lg`, `2x`, `3x`, `4x`, `5x`\n if (/^fa-(?=2xs|lg|[2-5]+x)/.test(iconClass)) {\n return iconClass.replace('fa-', '');\n }\n }\n\n return undefined;\n }\n\n /**\n * Gets the icon type.\n * @deprecated The `iconType` input is no longer used. This method will be removed in a future version.\n */\n public async getIconType(): Promise<string> {\n return (await this.#getSpecifiedIconInfo()).iconType || 'fa';\n }\n\n /**\n * Gets if the icon is a variant.\n */\n public async getVariant(): Promise<string | undefined> {\n const iconInfo = await this.#getSpecifiedIconInfo();\n\n if (iconInfo.iconType === 'skyux') {\n return iconInfo.variant || 'line';\n }\n\n throw new Error(\n 'Variant cannot be determined because variants are only assigned to icons with type `skyux`.',\n );\n }\n\n /**\n * Whether the icon has fixed width.\n */\n public async isFixedWidth(): Promise<boolean> {\n const icon = await this.#getIcon();\n return icon.hasClass(`fa-fw`);\n }\n\n async #getIcon(): Promise<TestElement> {\n const icon = await this.locatorForOptional('.sky-icon')();\n\n if (icon) {\n return icon;\n }\n\n throw new Error('Icon could not be rendered.');\n }\n\n async #getIconClasses(): Promise<string[]> {\n const iconClasses = await (await this.#getIcon()).getProperty('classList');\n return Array.from(iconClasses);\n }\n\n async #getSpecifiedIconInfo(): Promise<{\n icon: string | null;\n iconType: string | null;\n variant: string | null;\n }> {\n // Since SKY UX icons have Font Awesome alternatives that may be used\n // in default theme instead of the icon specified by the consumer, we\n // need to get the specified values using data- attributes added by\n // the icon component. This conflicts with the usual pattern of giving\n // the effective state of the component but is necessary in this case.\n const icon = await this.#getIcon();\n\n return {\n icon: await icon.getAttribute('data-sky-icon'),\n iconType: await icon.getAttribute('data-sky-icon-type'),\n variant: await icon.getAttribute('data-sky-icon-variant'),\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;AAKA;;AAEG;AACG,MAAO,cAAe,SAAQ,mBAAmB,CAAA;AACrD;;AAEG;aACW,IAAY,CAAA,YAAA,GAAG,UAAU,CAAC,EAAA;AAExC;;;AAGG;IACI,OAAO,IAAI,CAChB,OAA8B,EAAA;AAE9B,QAAA,OAAO,cAAc,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;KACtD;AAED;;AAEG;AACI,IAAA,MAAM,WAAW,GAAA;;;QAGtB,OAAO,CAAC,MAAM,IAAI,CAAC,qBAAqB,EAAE,EAAE,IAAc,CAAC;KAC5D;AAED;;AAEG;AACI,IAAA,MAAM,WAAW,GAAA;AACtB,QAAA,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;AAEjD,QAAA,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE;;AAEnC,YAAA,IAAI,wBAAwB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;gBAC5C,OAAO,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;aACrC;SACF;AAED,QAAA,OAAO,SAAS,CAAC;KAClB;AAED;;;AAGG;AACI,IAAA,MAAM,WAAW,GAAA;QACtB,OAAO,CAAC,MAAM,IAAI,CAAC,qBAAqB,EAAE,EAAE,QAAQ,IAAI,IAAI,CAAC;KAC9D;AAED;;AAEG;AACI,IAAA,MAAM,UAAU,GAAA;AACrB,QAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;AAEpD,QAAA,IAAI,QAAQ,CAAC,QAAQ,KAAK,OAAO,EAAE;AACjC,YAAA,OAAO,QAAQ,CAAC,OAAO,IAAI,MAAM,CAAC;SACnC;AAED,QAAA,MAAM,IAAI,KAAK,CACb,6FAA6F,CAC9F,CAAC;KACH;AAED;;AAEG;AACI,IAAA,MAAM,YAAY,GAAA;AACvB,QAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAA,KAAA,CAAO,CAAC,CAAC;KAC/B;AAED,IAAA,MAAM,QAAQ,GAAA;QACZ,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC;QAE1D,IAAI,IAAI,EAAE;AACR,YAAA,OAAO,IAAI,CAAC;SACb;AAED,QAAA,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;KAChD;AAED,IAAA,MAAM,eAAe,GAAA;AACnB,QAAA,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;AAC3E,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;KAChC;AAED,IAAA,MAAM,qBAAqB,GAAA;;;;;;AAUzB,QAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QAEnC,OAAO;AACL,YAAA,IAAI,EAAE,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC;AAC9C,YAAA,QAAQ,EAAE,MAAM,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC;AACvD,YAAA,OAAO,EAAE,MAAM,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC;SAC1D,CAAC;KACH;;;AChHH;;AAEG;;;;"}
|