@skyux/indicators 8.0.0-alpha.19 → 8.0.0-alpha.20

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.
@@ -10,14 +10,14 @@ export class SkyIconClassListPipe {
10
10
  constructor() {
11
11
  _SkyIconClassListPipe_resolver.set(this, inject(SkyIconResolverService));
12
12
  }
13
- transform(icon, iconType, size, fixedWidth, variant) {
13
+ transform(icon, themeSettings, iconType, size, fixedWidth, variant) {
14
14
  let classList;
15
- if (iconType === 'skyux') {
16
- const resolvedIcon = __classPrivateFieldGet(this, _SkyIconClassListPipe_resolver, "f").resolveIcon(icon, variant);
15
+ const { icon: resolvedIcon, iconType: resolvedIconType } = __classPrivateFieldGet(this, _SkyIconClassListPipe_resolver, "f").resolveIcon(icon, variant, iconType, themeSettings);
16
+ if (resolvedIconType === 'skyux') {
17
17
  classList = ['sky-i-' + resolvedIcon];
18
18
  }
19
19
  else {
20
- classList = ['fa', 'fa-' + icon];
20
+ classList = ['fa', 'fa-' + resolvedIcon];
21
21
  }
22
22
  if (size) {
23
23
  classList.push('fa-' + size);
@@ -37,4 +37,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImpor
37
37
  name: 'skyIconClassList',
38
38
  }]
39
39
  }] });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1jbGFzcy1saXN0LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvaW5kaWNhdG9ycy9zcmMvbGliL21vZHVsZXMvaWNvbi9pY29uLWNsYXNzLWxpc3QucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU1RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFHakU7O0dBRUc7QUFJSCxNQUFNLE9BQU8sb0JBQW9CO0lBSGpDO1FBSUUseUNBQVksTUFBTSxDQUFDLHNCQUFzQixDQUFDLEVBQUM7S0E0QjVDO0lBMUJRLFNBQVMsQ0FDZCxJQUFZLEVBQ1osUUFBaUIsRUFDakIsSUFBYSxFQUNiLFVBQW9CLEVBQ3BCLE9BQTRCO1FBRTVCLElBQUksU0FBbUIsQ0FBQztRQUV4QixJQUFJLFFBQVEsS0FBSyxPQUFPLEVBQUU7WUFDeEIsTUFBTSxZQUFZLEdBQUcsdUJBQUEsSUFBSSxzQ0FBVSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDL0QsU0FBUyxHQUFHLENBQUMsUUFBUSxHQUFHLFlBQVksQ0FBQyxDQUFDO1NBQ3ZDO2FBQU07WUFDTCxTQUFTLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxHQUFHLElBQUksQ0FBQyxDQUFDO1NBQ2xDO1FBRUQsSUFBSSxJQUFJLEVBQUU7WUFDUixTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQztTQUM5QjtRQUVELElBQUksVUFBVSxFQUFFO1lBQ2QsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUN6QjtRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7OztpSEE1QlUsb0JBQW9COytHQUFwQixvQkFBb0I7MkZBQXBCLG9CQUFvQjtrQkFIaEMsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsa0JBQWtCO2lCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0sIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTa3lJY29uUmVzb2x2ZXJTZXJ2aWNlIH0gZnJvbSAnLi9pY29uLXJlc29sdmVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5SWNvblZhcmlhbnRUeXBlIH0gZnJvbSAnLi90eXBlcy9pY29uLXZhcmlhbnQtdHlwZSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBQaXBlKHtcbiAgbmFtZTogJ3NreUljb25DbGFzc0xpc3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lJY29uQ2xhc3NMaXN0UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAjcmVzb2x2ZXIgPSBpbmplY3QoU2t5SWNvblJlc29sdmVyU2VydmljZSk7XG5cbiAgcHVibGljIHRyYW5zZm9ybShcbiAgICBpY29uOiBzdHJpbmcsXG4gICAgaWNvblR5cGU/OiBzdHJpbmcsXG4gICAgc2l6ZT86IHN0cmluZyxcbiAgICBmaXhlZFdpZHRoPzogYm9vbGVhbixcbiAgICB2YXJpYW50PzogU2t5SWNvblZhcmlhbnRUeXBlXG4gICk6IHN0cmluZ1tdIHtcbiAgICBsZXQgY2xhc3NMaXN0OiBzdHJpbmdbXTtcblxuICAgIGlmIChpY29uVHlwZSA9PT0gJ3NreXV4Jykge1xuICAgICAgY29uc3QgcmVzb2x2ZWRJY29uID0gdGhpcy4jcmVzb2x2ZXIucmVzb2x2ZUljb24oaWNvbiwgdmFyaWFudCk7XG4gICAgICBjbGFzc0xpc3QgPSBbJ3NreS1pLScgKyByZXNvbHZlZEljb25dO1xuICAgIH0gZWxzZSB7XG4gICAgICBjbGFzc0xpc3QgPSBbJ2ZhJywgJ2ZhLScgKyBpY29uXTtcbiAgICB9XG5cbiAgICBpZiAoc2l6ZSkge1xuICAgICAgY2xhc3NMaXN0LnB1c2goJ2ZhLScgKyBzaXplKTtcbiAgICB9XG5cbiAgICBpZiAoZml4ZWRXaWR0aCkge1xuICAgICAgY2xhc3NMaXN0LnB1c2goJ2ZhLWZ3Jyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNsYXNzTGlzdDtcbiAgfVxufVxuIl19
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1jbGFzcy1saXN0LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvaW5kaWNhdG9ycy9zcmMvbGliL21vZHVsZXMvaWNvbi9pY29uLWNsYXNzLWxpc3QucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc1RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFHakU7O0dBRUc7QUFJSCxNQUFNLE9BQU8sb0JBQW9CO0lBSGpDO1FBSUUseUNBQVksTUFBTSxDQUFDLHNCQUFzQixDQUFDLEVBQUM7S0ErQjVDO0lBN0JRLFNBQVMsQ0FDZCxJQUFZLEVBQ1osYUFBZ0MsRUFDaEMsUUFBaUIsRUFDakIsSUFBYSxFQUNiLFVBQW9CLEVBQ3BCLE9BQTRCO1FBRTVCLElBQUksU0FBbUIsQ0FBQztRQUV4QixNQUFNLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsR0FDdEQsdUJBQUEsSUFBSSxzQ0FBVSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUVyRSxJQUFJLGdCQUFnQixLQUFLLE9BQU8sRUFBRTtZQUNoQyxTQUFTLEdBQUcsQ0FBQyxRQUFRLEdBQUcsWUFBWSxDQUFDLENBQUM7U0FDdkM7YUFBTTtZQUNMLFNBQVMsR0FBRyxDQUFDLElBQUksRUFBRSxLQUFLLEdBQUcsWUFBWSxDQUFDLENBQUM7U0FDMUM7UUFFRCxJQUFJLElBQUksRUFBRTtZQUNSLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxDQUFDO1NBQzlCO1FBRUQsSUFBSSxVQUFVLEVBQUU7WUFDZCxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3pCO1FBRUQsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQzs7O2lIQS9CVSxvQkFBb0I7K0dBQXBCLG9CQUFvQjsyRkFBcEIsb0JBQW9CO2tCQUhoQyxJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxrQkFBa0I7aUJBQ3pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lUaGVtZVNldHRpbmdzIH0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuaW1wb3J0IHsgU2t5SWNvblJlc29sdmVyU2VydmljZSB9IGZyb20gJy4vaWNvbi1yZXNvbHZlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNreUljb25WYXJpYW50VHlwZSB9IGZyb20gJy4vdHlwZXMvaWNvbi12YXJpYW50LXR5cGUnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5AUGlwZSh7XG4gIG5hbWU6ICdza3lJY29uQ2xhc3NMaXN0Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5SWNvbkNsYXNzTGlzdFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgI3Jlc29sdmVyID0gaW5qZWN0KFNreUljb25SZXNvbHZlclNlcnZpY2UpO1xuXG4gIHB1YmxpYyB0cmFuc2Zvcm0oXG4gICAgaWNvbjogc3RyaW5nLFxuICAgIHRoZW1lU2V0dGluZ3M/OiBTa3lUaGVtZVNldHRpbmdzLFxuICAgIGljb25UeXBlPzogc3RyaW5nLFxuICAgIHNpemU/OiBzdHJpbmcsXG4gICAgZml4ZWRXaWR0aD86IGJvb2xlYW4sXG4gICAgdmFyaWFudD86IFNreUljb25WYXJpYW50VHlwZVxuICApOiBzdHJpbmdbXSB7XG4gICAgbGV0IGNsYXNzTGlzdDogc3RyaW5nW107XG5cbiAgICBjb25zdCB7IGljb246IHJlc29sdmVkSWNvbiwgaWNvblR5cGU6IHJlc29sdmVkSWNvblR5cGUgfSA9XG4gICAgICB0aGlzLiNyZXNvbHZlci5yZXNvbHZlSWNvbihpY29uLCB2YXJpYW50LCBpY29uVHlwZSwgdGhlbWVTZXR0aW5ncyk7XG5cbiAgICBpZiAocmVzb2x2ZWRJY29uVHlwZSA9PT0gJ3NreXV4Jykge1xuICAgICAgY2xhc3NMaXN0ID0gWydza3ktaS0nICsgcmVzb2x2ZWRJY29uXTtcbiAgICB9IGVsc2Uge1xuICAgICAgY2xhc3NMaXN0ID0gWydmYScsICdmYS0nICsgcmVzb2x2ZWRJY29uXTtcbiAgICB9XG5cbiAgICBpZiAoc2l6ZSkge1xuICAgICAgY2xhc3NMaXN0LnB1c2goJ2ZhLScgKyBzaXplKTtcbiAgICB9XG5cbiAgICBpZiAoZml4ZWRXaWR0aCkge1xuICAgICAgY2xhc3NMaXN0LnB1c2goJ2ZhLWZ3Jyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNsYXNzTGlzdDtcbiAgfVxufVxuIl19
@@ -1,44 +1,60 @@
1
- var _SkyIconResolverService_glyphMap;
1
+ var _SkyIconResolverService_glyphMap, _SkyIconResolverService_manifestSvc;
2
2
  import { __classPrivateFieldGet } from "tslib";
3
- import { Injectable } from '@angular/core';
3
+ import { Injectable, inject } from '@angular/core';
4
+ import { SkyThemeIconManifestService, } from '@skyux/theme';
4
5
  import * as i0 from "@angular/core";
5
- import * as i1 from "@skyux/theme";
6
6
  /**
7
7
  * @internal
8
8
  */
9
9
  export class SkyIconResolverService {
10
- constructor(manifestSvc) {
10
+ constructor() {
11
11
  _SkyIconResolverService_glyphMap.set(this, new Map());
12
+ _SkyIconResolverService_manifestSvc.set(this, inject(SkyThemeIconManifestService));
12
13
  // Map the icons by name for more efficient lookup.
13
- for (const glyph of manifestSvc.getManifest().glyphs) {
14
+ for (const glyph of __classPrivateFieldGet(this, _SkyIconResolverService_manifestSvc, "f").getManifest().glyphs) {
14
15
  __classPrivateFieldGet(this, _SkyIconResolverService_glyphMap, "f").set(glyph.name, glyph);
15
16
  }
16
17
  }
17
- resolveIcon(iconName, variant) {
18
- const variantIconName = variant && `${iconName}-${variant}`;
19
- if (variantIconName && __classPrivateFieldGet(this, _SkyIconResolverService_glyphMap, "f").has(variantIconName)) {
20
- // A variant was specified and exists; return it.
21
- return variantIconName;
22
- }
23
- if (variant !== 'line' && !__classPrivateFieldGet(this, _SkyIconResolverService_glyphMap, "f").has(iconName)) {
24
- // Either the solid variant was specified and doesn't exist, or no variant was
25
- // specified and a non-variant doesn't exist; fall back to the line variant.
26
- const lineIconName = `${iconName}-line`;
27
- if (__classPrivateFieldGet(this, _SkyIconResolverService_glyphMap, "f").has(lineIconName)) {
28
- return lineIconName;
18
+ resolveIcon(icon, variant, iconType, themeSettings) {
19
+ iconType || (iconType = 'fa');
20
+ if (iconType === 'skyux') {
21
+ if (themeSettings?.theme.name === 'modern') {
22
+ const variantIcon = variant && `${icon}-${variant}`;
23
+ if (variantIcon && __classPrivateFieldGet(this, _SkyIconResolverService_glyphMap, "f").has(variantIcon)) {
24
+ // A variant was specified and exists; use it.
25
+ icon = variantIcon;
26
+ }
27
+ else if (variant !== 'line' && !__classPrivateFieldGet(this, _SkyIconResolverService_glyphMap, "f").has(icon)) {
28
+ // Either the solid variant was specified and doesn't exist, or no variant was
29
+ // specified and a non-variant doesn't exist; fall back to the line variant.
30
+ const lineIcon = `${icon}-line`;
31
+ if (__classPrivateFieldGet(this, _SkyIconResolverService_glyphMap, "f").has(lineIcon)) {
32
+ icon = lineIcon;
33
+ }
34
+ }
35
+ }
36
+ else {
37
+ // Use the Font Awesome equivalent in default theme if one exists.
38
+ const faName = __classPrivateFieldGet(this, _SkyIconResolverService_glyphMap, "f").get(icon)?.faName;
39
+ if (faName) {
40
+ icon = faName;
41
+ iconType = 'fa';
42
+ }
29
43
  }
30
44
  }
31
- // Fall back to the icon name as-is.
32
- return iconName;
45
+ return {
46
+ icon,
47
+ iconType,
48
+ };
33
49
  }
34
50
  }
35
- _SkyIconResolverService_glyphMap = new WeakMap();
36
- SkyIconResolverService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyIconResolverService, deps: [{ token: i1.SkyThemeIconManifestService }], target: i0.ɵɵFactoryTarget.Injectable });
51
+ _SkyIconResolverService_glyphMap = new WeakMap(), _SkyIconResolverService_manifestSvc = new WeakMap();
52
+ SkyIconResolverService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyIconResolverService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
37
53
  SkyIconResolverService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyIconResolverService, providedIn: 'root' });
38
54
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyIconResolverService, decorators: [{
39
55
  type: Injectable,
40
56
  args: [{
41
57
  providedIn: 'root',
42
58
  }]
43
- }], ctorParameters: function () { return [{ type: i1.SkyThemeIconManifestService }]; } });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1yZXNvbHZlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2luZGljYXRvcnMvc3JjL2xpYi9tb2R1bGVzL2ljb24vaWNvbi1yZXNvbHZlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBTTNDOztHQUVHO0FBSUgsTUFBTSxPQUFPLHNCQUFzQjtJQUdqQyxZQUFZLFdBQXdDO1FBRnBELDJDQUFZLElBQUksR0FBRyxFQUFxQyxFQUFDO1FBR3ZELG1EQUFtRDtRQUNuRCxLQUFLLE1BQU0sS0FBSyxJQUFJLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxNQUFNLEVBQUU7WUFDcEQsdUJBQUEsSUFBSSx3Q0FBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ3ZDO0lBQ0gsQ0FBQztJQUVNLFdBQVcsQ0FBQyxRQUFnQixFQUFFLE9BQTRCO1FBQy9ELE1BQU0sZUFBZSxHQUFHLE9BQU8sSUFBSSxHQUFHLFFBQVEsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUU1RCxJQUFJLGVBQWUsSUFBSSx1QkFBQSxJQUFJLHdDQUFVLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxFQUFFO1lBQzFELGlEQUFpRDtZQUNqRCxPQUFPLGVBQWUsQ0FBQztTQUN4QjtRQUVELElBQUksT0FBTyxLQUFLLE1BQU0sSUFBSSxDQUFDLHVCQUFBLElBQUksd0NBQVUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDdkQsOEVBQThFO1lBQzlFLDRFQUE0RTtZQUM1RSxNQUFNLFlBQVksR0FBRyxHQUFHLFFBQVEsT0FBTyxDQUFDO1lBRXhDLElBQUksdUJBQUEsSUFBSSx3Q0FBVSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRTtnQkFDcEMsT0FBTyxZQUFZLENBQUM7YUFDckI7U0FDRjtRQUVELG9DQUFvQztRQUNwQyxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDOzs7bUhBOUJVLHNCQUFzQjt1SEFBdEIsc0JBQXNCLGNBRnJCLE1BQU07MkZBRVAsc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgU2t5VGhlbWVJY29uTWFuaWZlc3RHbHlwaCB9IGZyb20gJ0Bza3l1eC9pY29ucyc7XG5pbXBvcnQgeyBTa3lUaGVtZUljb25NYW5pZmVzdFNlcnZpY2UgfSBmcm9tICdAc2t5dXgvdGhlbWUnO1xuXG5pbXBvcnQgdHlwZSB7IFNreUljb25WYXJpYW50VHlwZSB9IGZyb20gJy4vdHlwZXMvaWNvbi12YXJpYW50LXR5cGUnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5SWNvblJlc29sdmVyU2VydmljZSB7XG4gICNnbHlwaE1hcCA9IG5ldyBNYXA8c3RyaW5nLCBTa3lUaGVtZUljb25NYW5pZmVzdEdseXBoPigpO1xuXG4gIGNvbnN0cnVjdG9yKG1hbmlmZXN0U3ZjOiBTa3lUaGVtZUljb25NYW5pZmVzdFNlcnZpY2UpIHtcbiAgICAvLyBNYXAgdGhlIGljb25zIGJ5IG5hbWUgZm9yIG1vcmUgZWZmaWNpZW50IGxvb2t1cC5cbiAgICBmb3IgKGNvbnN0IGdseXBoIG9mIG1hbmlmZXN0U3ZjLmdldE1hbmlmZXN0KCkuZ2x5cGhzKSB7XG4gICAgICB0aGlzLiNnbHlwaE1hcC5zZXQoZ2x5cGgubmFtZSwgZ2x5cGgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyByZXNvbHZlSWNvbihpY29uTmFtZTogc3RyaW5nLCB2YXJpYW50PzogU2t5SWNvblZhcmlhbnRUeXBlKTogc3RyaW5nIHtcbiAgICBjb25zdCB2YXJpYW50SWNvbk5hbWUgPSB2YXJpYW50ICYmIGAke2ljb25OYW1lfS0ke3ZhcmlhbnR9YDtcblxuICAgIGlmICh2YXJpYW50SWNvbk5hbWUgJiYgdGhpcy4jZ2x5cGhNYXAuaGFzKHZhcmlhbnRJY29uTmFtZSkpIHtcbiAgICAgIC8vIEEgdmFyaWFudCB3YXMgc3BlY2lmaWVkIGFuZCBleGlzdHM7IHJldHVybiBpdC5cbiAgICAgIHJldHVybiB2YXJpYW50SWNvbk5hbWU7XG4gICAgfVxuXG4gICAgaWYgKHZhcmlhbnQgIT09ICdsaW5lJyAmJiAhdGhpcy4jZ2x5cGhNYXAuaGFzKGljb25OYW1lKSkge1xuICAgICAgLy8gRWl0aGVyIHRoZSBzb2xpZCB2YXJpYW50IHdhcyBzcGVjaWZpZWQgYW5kIGRvZXNuJ3QgZXhpc3QsIG9yIG5vIHZhcmlhbnQgd2FzXG4gICAgICAvLyBzcGVjaWZpZWQgYW5kIGEgbm9uLXZhcmlhbnQgZG9lc24ndCBleGlzdDsgZmFsbCBiYWNrIHRvIHRoZSBsaW5lIHZhcmlhbnQuXG4gICAgICBjb25zdCBsaW5lSWNvbk5hbWUgPSBgJHtpY29uTmFtZX0tbGluZWA7XG5cbiAgICAgIGlmICh0aGlzLiNnbHlwaE1hcC5oYXMobGluZUljb25OYW1lKSkge1xuICAgICAgICByZXR1cm4gbGluZUljb25OYW1lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEZhbGwgYmFjayB0byB0aGUgaWNvbiBuYW1lIGFzLWlzLlxuICAgIHJldHVybiBpY29uTmFtZTtcbiAgfVxufVxuIl19
59
+ }], ctorParameters: function () { return []; } });
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1yZXNvbHZlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2luZGljYXRvcnMvc3JjL2xpYi9tb2R1bGVzL2ljb24vaWNvbi1yZXNvbHZlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUVMLDJCQUEyQixHQUU1QixNQUFNLGNBQWMsQ0FBQzs7QUFLdEI7O0dBRUc7QUFJSCxNQUFNLE9BQU8sc0JBQXNCO0lBS2pDO1FBSkEsMkNBQVksSUFBSSxHQUFHLEVBQXFDLEVBQUM7UUFFekQsOENBQWUsTUFBTSxDQUFDLDJCQUEyQixDQUFDLEVBQUM7UUFHakQsbURBQW1EO1FBQ25ELEtBQUssTUFBTSxLQUFLLElBQUksdUJBQUEsSUFBSSwyQ0FBYSxDQUFDLFdBQVcsRUFBRSxDQUFDLE1BQU0sRUFBRTtZQUMxRCx1QkFBQSxJQUFJLHdDQUFVLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDdkM7SUFDSCxDQUFDO0lBRU0sV0FBVyxDQUNoQixJQUFZLEVBQ1osT0FBNEIsRUFDNUIsUUFBaUIsRUFDakIsYUFBZ0M7UUFFaEMsUUFBUSxLQUFSLFFBQVEsR0FBSyxJQUFJLEVBQUM7UUFFbEIsSUFBSSxRQUFRLEtBQUssT0FBTyxFQUFFO1lBQ3hCLElBQUksYUFBYSxFQUFFLEtBQUssQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO2dCQUMxQyxNQUFNLFdBQVcsR0FBRyxPQUFPLElBQUksR0FBRyxJQUFJLElBQUksT0FBTyxFQUFFLENBQUM7Z0JBRXBELElBQUksV0FBVyxJQUFJLHVCQUFBLElBQUksd0NBQVUsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUU7b0JBQ2xELDhDQUE4QztvQkFDOUMsSUFBSSxHQUFHLFdBQVcsQ0FBQztpQkFDcEI7cUJBQU0sSUFBSSxPQUFPLEtBQUssTUFBTSxJQUFJLENBQUMsdUJBQUEsSUFBSSx3Q0FBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDMUQsOEVBQThFO29CQUM5RSw0RUFBNEU7b0JBQzVFLE1BQU0sUUFBUSxHQUFHLEdBQUcsSUFBSSxPQUFPLENBQUM7b0JBRWhDLElBQUksdUJBQUEsSUFBSSx3Q0FBVSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRTt3QkFDaEMsSUFBSSxHQUFHLFFBQVEsQ0FBQztxQkFDakI7aUJBQ0Y7YUFDRjtpQkFBTTtnQkFDTCxrRUFBa0U7Z0JBQ2xFLE1BQU0sTUFBTSxHQUFHLHVCQUFBLElBQUksd0NBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxDQUFDO2dCQUVoRCxJQUFJLE1BQU0sRUFBRTtvQkFDVixJQUFJLEdBQUcsTUFBTSxDQUFDO29CQUNkLFFBQVEsR0FBRyxJQUFJLENBQUM7aUJBQ2pCO2FBQ0Y7U0FDRjtRQUVELE9BQU87WUFDTCxJQUFJO1lBQ0osUUFBUTtTQUNULENBQUM7SUFDSixDQUFDOzs7bUhBbkRVLHNCQUFzQjt1SEFBdEIsc0JBQXNCLGNBRnJCLE1BQU07MkZBRVAsc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU2t5VGhlbWVJY29uTWFuaWZlc3RHbHlwaCxcbiAgU2t5VGhlbWVJY29uTWFuaWZlc3RTZXJ2aWNlLFxuICBTa3lUaGVtZVNldHRpbmdzLFxufSBmcm9tICdAc2t5dXgvdGhlbWUnO1xuXG5pbXBvcnQgeyBTa3lJY29uUmVzb2x2ZWQgfSBmcm9tICcuL3R5cGVzL2ljb24tcmVzb2x2ZWQnO1xuaW1wb3J0IHR5cGUgeyBTa3lJY29uVmFyaWFudFR5cGUgfSBmcm9tICcuL3R5cGVzL2ljb24tdmFyaWFudC10eXBlJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNreUljb25SZXNvbHZlclNlcnZpY2Uge1xuICAjZ2x5cGhNYXAgPSBuZXcgTWFwPHN0cmluZywgU2t5VGhlbWVJY29uTWFuaWZlc3RHbHlwaD4oKTtcblxuICAjbWFuaWZlc3RTdmMgPSBpbmplY3QoU2t5VGhlbWVJY29uTWFuaWZlc3RTZXJ2aWNlKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICAvLyBNYXAgdGhlIGljb25zIGJ5IG5hbWUgZm9yIG1vcmUgZWZmaWNpZW50IGxvb2t1cC5cbiAgICBmb3IgKGNvbnN0IGdseXBoIG9mIHRoaXMuI21hbmlmZXN0U3ZjLmdldE1hbmlmZXN0KCkuZ2x5cGhzKSB7XG4gICAgICB0aGlzLiNnbHlwaE1hcC5zZXQoZ2x5cGgubmFtZSwgZ2x5cGgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyByZXNvbHZlSWNvbihcbiAgICBpY29uOiBzdHJpbmcsXG4gICAgdmFyaWFudD86IFNreUljb25WYXJpYW50VHlwZSxcbiAgICBpY29uVHlwZT86IHN0cmluZyxcbiAgICB0aGVtZVNldHRpbmdzPzogU2t5VGhlbWVTZXR0aW5nc1xuICApOiBTa3lJY29uUmVzb2x2ZWQge1xuICAgIGljb25UeXBlIHx8PSAnZmEnO1xuXG4gICAgaWYgKGljb25UeXBlID09PSAnc2t5dXgnKSB7XG4gICAgICBpZiAodGhlbWVTZXR0aW5ncz8udGhlbWUubmFtZSA9PT0gJ21vZGVybicpIHtcbiAgICAgICAgY29uc3QgdmFyaWFudEljb24gPSB2YXJpYW50ICYmIGAke2ljb259LSR7dmFyaWFudH1gO1xuXG4gICAgICAgIGlmICh2YXJpYW50SWNvbiAmJiB0aGlzLiNnbHlwaE1hcC5oYXModmFyaWFudEljb24pKSB7XG4gICAgICAgICAgLy8gQSB2YXJpYW50IHdhcyBzcGVjaWZpZWQgYW5kIGV4aXN0czsgdXNlIGl0LlxuICAgICAgICAgIGljb24gPSB2YXJpYW50SWNvbjtcbiAgICAgICAgfSBlbHNlIGlmICh2YXJpYW50ICE9PSAnbGluZScgJiYgIXRoaXMuI2dseXBoTWFwLmhhcyhpY29uKSkge1xuICAgICAgICAgIC8vIEVpdGhlciB0aGUgc29saWQgdmFyaWFudCB3YXMgc3BlY2lmaWVkIGFuZCBkb2Vzbid0IGV4aXN0LCBvciBubyB2YXJpYW50IHdhc1xuICAgICAgICAgIC8vIHNwZWNpZmllZCBhbmQgYSBub24tdmFyaWFudCBkb2Vzbid0IGV4aXN0OyBmYWxsIGJhY2sgdG8gdGhlIGxpbmUgdmFyaWFudC5cbiAgICAgICAgICBjb25zdCBsaW5lSWNvbiA9IGAke2ljb259LWxpbmVgO1xuXG4gICAgICAgICAgaWYgKHRoaXMuI2dseXBoTWFwLmhhcyhsaW5lSWNvbikpIHtcbiAgICAgICAgICAgIGljb24gPSBsaW5lSWNvbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFVzZSB0aGUgRm9udCBBd2Vzb21lIGVxdWl2YWxlbnQgaW4gZGVmYXVsdCB0aGVtZSBpZiBvbmUgZXhpc3RzLlxuICAgICAgICBjb25zdCBmYU5hbWUgPSB0aGlzLiNnbHlwaE1hcC5nZXQoaWNvbik/LmZhTmFtZTtcblxuICAgICAgICBpZiAoZmFOYW1lKSB7XG4gICAgICAgICAgaWNvbiA9IGZhTmFtZTtcbiAgICAgICAgICBpY29uVHlwZSA9ICdmYSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgaWNvbixcbiAgICAgIGljb25UeXBlLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -1,4 +1,5 @@
1
- import { Component, Input } from '@angular/core';
1
+ import { Component, Input, inject } from '@angular/core';
2
+ import { SkyThemeService } from '@skyux/theme';
2
3
  import * as i0 from "@angular/core";
3
4
  import * as i1 from "@angular/common";
4
5
  import * as i2 from "./icon-class-list.pipe";
@@ -6,12 +7,15 @@ import * as i2 from "./icon-class-list.pipe";
6
7
  * @internal
7
8
  */
8
9
  export class SkyIconStackComponent {
10
+ constructor() {
11
+ this.themeSvc = inject(SkyThemeService, { optional: true });
12
+ }
9
13
  }
10
14
  SkyIconStackComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyIconStackComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11
- SkyIconStackComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", 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]=\"baseIcon.icon | skyIconClassList : baseIcon.iconType\"\n ></i>\n <i\n *ngIf=\"topIcon\"\n class=\"sky-icon fa-stack-1x fa-inverse sky-icon-inverse\"\n [ngClass]=\"topIcon.icon | skyIconClassList : topIcon.iconType\"\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:1px}.fa-stack-1x.sky-i-exclamation:before{position:relative;top:2px;left:-.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: i2.SkyIconClassListPipe, name: "skyIconClassList" }] });
15
+ SkyIconStackComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", 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\n : (themeSvc?.settingsChange | async)?.currentSettings\n : baseIcon.iconType\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\n : (themeSvc?.settingsChange | async)?.currentSettings\n : topIcon.iconType\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:1px}.fa-stack-1x.sky-i-exclamation:before{position:relative;top:2px;left:-.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" }] });
12
16
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyIconStackComponent, decorators: [{
13
17
  type: Component,
14
- 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]=\"baseIcon.icon | skyIconClassList : baseIcon.iconType\"\n ></i>\n <i\n *ngIf=\"topIcon\"\n class=\"sky-icon fa-stack-1x fa-inverse sky-icon-inverse\"\n [ngClass]=\"topIcon.icon | skyIconClassList : topIcon.iconType\"\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:1px}.fa-stack-1x.sky-i-exclamation:before{position:relative;top:2px;left:-.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"] }]
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\n : (themeSvc?.settingsChange | async)?.currentSettings\n : baseIcon.iconType\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\n : (themeSvc?.settingsChange | async)?.currentSettings\n : topIcon.iconType\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:1px}.fa-stack-1x.sky-i-exclamation:before{position:relative;top:2px;left:-.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"] }]
15
19
  }], propDecorators: { size: [{
16
20
  type: Input
17
21
  }], baseIcon: [{
@@ -19,4 +23,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImpor
19
23
  }], topIcon: [{
20
24
  type: Input
21
25
  }] } });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1zdGFjay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvaW5kaWNhdG9ycy9zcmMvbGliL21vZHVsZXMvaWNvbi9pY29uLXN0YWNrLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9pbmRpY2F0b3JzL3NyYy9saWIvbW9kdWxlcy9pY29uL2ljb24tc3RhY2suY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFJakQ7O0dBRUc7QUFNSCxNQUFNLE9BQU8scUJBQXFCOztrSEFBckIscUJBQXFCO3NHQUFyQixxQkFBcUIsMEhDWmxDLDRkQWdCQTsyRkRKYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0UsZ0JBQWdCOzhCQVVuQixJQUFJO3NCQURWLEtBQUs7Z0JBT0MsUUFBUTtzQkFEZCxLQUFLO2dCQU9DLE9BQU87c0JBRGIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2t5SWNvblN0YWNrSXRlbSB9IGZyb20gJy4vaWNvbi1zdGFjay1pdGVtJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWljb24tc3RhY2snLFxuICB0ZW1wbGF0ZVVybDogJy4vaWNvbi1zdGFjay5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ljb24tc3RhY2suY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5SWNvblN0YWNrQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIFRoZSBzaXplIG9mIHRoZSBpY29uIHVzaW5nXG4gICAqIFtGb250IEF3ZXNvbWUgc2l6ZXNdKGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL3Y0L2V4YW1wbGVzLykuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2l6ZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgaWNvbiB0byBkaXNwbGF5IGF0IHRoZSBib3R0b20gb2YgdGhlIHN0YWNrLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGJhc2VJY29uOiBTa3lJY29uU3RhY2tJdGVtIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgaWNvbiB0byBkaXNwbGF5IGF0IHRoZSB0b3Agb2YgdGhlIHN0YWNrLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHRvcEljb246IFNreUljb25TdGFja0l0ZW0gfCB1bmRlZmluZWQ7XG59XG4iLCI8c3BhblxuICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICBjbGFzcz1cInNreS1pY29uLXN0YWNrIGZhLXN0YWNrXCJcbiAgW25nQ2xhc3NdPVwic2l6ZSA/ICdmYS0nICsgc2l6ZSArICcgc2t5LWljb24tc3RhY2stc2l6ZS0nICsgc2l6ZSA6ICcnXCJcbj5cbiAgPGlcbiAgICAqbmdJZj1cImJhc2VJY29uXCJcbiAgICBjbGFzcz1cInNreS1pY29uIGZhLXN0YWNrLTJ4XCJcbiAgICBbbmdDbGFzc109XCJiYXNlSWNvbi5pY29uIHwgc2t5SWNvbkNsYXNzTGlzdCA6IGJhc2VJY29uLmljb25UeXBlXCJcbiAgPjwvaT5cbiAgPGlcbiAgICAqbmdJZj1cInRvcEljb25cIlxuICAgIGNsYXNzPVwic2t5LWljb24gZmEtc3RhY2stMXggZmEtaW52ZXJzZSBza3ktaWNvbi1pbnZlcnNlXCJcbiAgICBbbmdDbGFzc109XCJ0b3BJY29uLmljb24gfCBza3lJY29uQ2xhc3NMaXN0IDogdG9wSWNvbi5pY29uVHlwZVwiXG4gID48L2k+XG48L3NwYW4+XG4iXX0=
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1zdGFjay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvaW5kaWNhdG9ycy9zcmMvbGliL21vZHVsZXMvaWNvbi9pY29uLXN0YWNrLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9pbmRpY2F0b3JzL3NyYy9saWIvbW9kdWxlcy9pY29uL2ljb24tc3RhY2suY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7QUFJL0M7O0dBRUc7QUFNSCxNQUFNLE9BQU8scUJBQXFCO0lBTGxDO1FBeUJZLGFBQVEsR0FBRyxNQUFNLENBQUMsZUFBZSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7S0FDbEU7O2tIQXJCWSxxQkFBcUI7c0dBQXJCLHFCQUFxQiwwSENibEMsa3FCQTBCQTsyRkRiYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0UsZ0JBQWdCOzhCQVVuQixJQUFJO3NCQURWLEtBQUs7Z0JBT0MsUUFBUTtzQkFEZCxLQUFLO2dCQU9DLE9BQU87c0JBRGIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5VGhlbWVTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuaW1wb3J0IHsgU2t5SWNvblN0YWNrSXRlbSB9IGZyb20gJy4vaWNvbi1zdGFjay1pdGVtJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWljb24tc3RhY2snLFxuICB0ZW1wbGF0ZVVybDogJy4vaWNvbi1zdGFjay5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ljb24tc3RhY2suY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5SWNvblN0YWNrQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIFRoZSBzaXplIG9mIHRoZSBpY29uIHVzaW5nXG4gICAqIFtGb250IEF3ZXNvbWUgc2l6ZXNdKGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL3Y0L2V4YW1wbGVzLykuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2l6ZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgaWNvbiB0byBkaXNwbGF5IGF0IHRoZSBib3R0b20gb2YgdGhlIHN0YWNrLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGJhc2VJY29uOiBTa3lJY29uU3RhY2tJdGVtIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgaWNvbiB0byBkaXNwbGF5IGF0IHRoZSB0b3Agb2YgdGhlIHN0YWNrLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHRvcEljb246IFNreUljb25TdGFja0l0ZW0gfCB1bmRlZmluZWQ7XG5cbiAgcHJvdGVjdGVkIHRoZW1lU3ZjID0gaW5qZWN0KFNreVRoZW1lU2VydmljZSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcbn1cbiIsIjxzcGFuXG4gIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gIGNsYXNzPVwic2t5LWljb24tc3RhY2sgZmEtc3RhY2tcIlxuICBbbmdDbGFzc109XCJzaXplID8gJ2ZhLScgKyBzaXplICsgJyBza3ktaWNvbi1zdGFjay1zaXplLScgKyBzaXplIDogJydcIlxuPlxuICA8aVxuICAgICpuZ0lmPVwiYmFzZUljb25cIlxuICAgIGNsYXNzPVwic2t5LWljb24gZmEtc3RhY2stMnhcIlxuICAgIFtuZ0NsYXNzXT1cIlxuICAgICAgYmFzZUljb24uaWNvblxuICAgICAgICB8IHNreUljb25DbGFzc0xpc3RcbiAgICAgICAgICA6ICh0aGVtZVN2Yz8uc2V0dGluZ3NDaGFuZ2UgfCBhc3luYyk/LmN1cnJlbnRTZXR0aW5nc1xuICAgICAgICAgIDogYmFzZUljb24uaWNvblR5cGVcbiAgICBcIlxuICA+PC9pPlxuICA8aVxuICAgICpuZ0lmPVwidG9wSWNvblwiXG4gICAgY2xhc3M9XCJza3ktaWNvbiBmYS1zdGFjay0xeCBmYS1pbnZlcnNlIHNreS1pY29uLWludmVyc2VcIlxuICAgIFtuZ0NsYXNzXT1cIlxuICAgICAgdG9wSWNvbi5pY29uXG4gICAgICAgIHwgc2t5SWNvbkNsYXNzTGlzdFxuICAgICAgICAgIDogKHRoZW1lU3ZjPy5zZXR0aW5nc0NoYW5nZSB8IGFzeW5jKT8uY3VycmVudFNldHRpbmdzXG4gICAgICAgICAgOiB0b3BJY29uLmljb25UeXBlXG4gICAgXCJcbiAgPjwvaT5cbjwvc3Bhbj5cbiJdfQ==
@@ -1,14 +1,18 @@
1
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, Input, inject, } from '@angular/core';
2
+ import { SkyThemeService } from '@skyux/theme';
2
3
  import * as i0 from "@angular/core";
3
4
  import * as i1 from "@angular/common";
4
5
  import * as i2 from "./icon-class-list.pipe";
5
6
  export class SkyIconComponent {
7
+ constructor() {
8
+ this.themeSvc = inject(SkyThemeService, { optional: true });
9
+ }
6
10
  }
7
11
  SkyIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8
- SkyIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: SkyIconComponent, selector: "sky-icon", inputs: { icon: "icon", iconType: "iconType", size: "size", fixedWidth: "fixedWidth", variant: "variant" }, ngImport: i0, template: "<i\n *ngIf=\"icon\"\n aria-hidden=\"true\"\n class=\"sky-icon\"\n [ngClass]=\"icon | skyIconClassList : iconType : size : fixedWidth : variant\"\n>\n</i>\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: "pipe", type: i2.SkyIconClassListPipe, name: "skyIconClassList" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
12
+ SkyIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: SkyIconComponent, selector: "sky-icon", inputs: { icon: "icon", iconType: "iconType", size: "size", fixedWidth: "fixedWidth", variant: "variant" }, ngImport: i0, template: "<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 : iconType\n : size\n : fixedWidth\n : variant\n \"\n></i>\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: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.SkyIconClassListPipe, name: "skyIconClassList" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
9
13
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyIconComponent, decorators: [{
10
14
  type: Component,
11
- args: [{ selector: 'sky-icon', changeDetection: ChangeDetectionStrategy.OnPush, template: "<i\n *ngIf=\"icon\"\n aria-hidden=\"true\"\n class=\"sky-icon\"\n [ngClass]=\"icon | skyIconClassList : iconType : size : fixedWidth : variant\"\n>\n</i>\n", styles: [":host{display:inline-block}i{display:inherit}\n"] }]
15
+ args: [{ selector: 'sky-icon', changeDetection: ChangeDetectionStrategy.OnPush, template: "<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 : iconType\n : size\n : fixedWidth\n : variant\n \"\n></i>\n", styles: [":host{display:inline-block}i{display:inherit}\n"] }]
12
16
  }], propDecorators: { icon: [{
13
17
  type: Input
14
18
  }], iconType: [{
@@ -20,4 +24,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImpor
20
24
  }], variant: [{
21
25
  type: Input
22
26
  }] } });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvaW5kaWNhdG9ycy9zcmMvbGliL21vZHVsZXMvaWNvbi9pY29uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9pbmRpY2F0b3JzL3NyYy9saWIvbW9kdWxlcy9pY29uL2ljb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFXMUUsTUFBTSxPQUFPLGdCQUFnQjs7NkdBQWhCLGdCQUFnQjtpR0FBaEIsZ0JBQWdCLDRKQ1g3QixpS0FPQTsyRkRJYSxnQkFBZ0I7a0JBTjVCLFNBQVM7K0JBQ0UsVUFBVSxtQkFHSCx1QkFBdUIsQ0FBQyxNQUFNOzhCQVV4QyxJQUFJO3NCQURWLEtBQUs7Z0JBVUMsUUFBUTtzQkFEZCxLQUFLO2dCQVFDLElBQUk7c0JBRFYsS0FBSztnQkFVQyxVQUFVO3NCQURoQixLQUFLO2dCQVFDLE9BQU87c0JBRGIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreUljb25UeXBlIH0gZnJvbSAnLi90eXBlcy9pY29uLXR5cGUnO1xuaW1wb3J0IHsgU2t5SWNvblZhcmlhbnRUeXBlIH0gZnJvbSAnLi90eXBlcy9pY29uLXZhcmlhbnQtdHlwZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1pY29uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ljb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pY29uLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lJY29uQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mXG4gICAqIFt0aGUgRm9udCBBd2Vzb21lIDQuNyBpY29uXShodHRwczovL2ZvbnRhd2Vzb21lLmNvbS92NC43L2ljb25zLykgb3IgdGhlIFNLWSBVWCBpY29uIHRvXG4gICAqIGRpc3BsYXkuIFdoZW4gc3BlY2lmeWluZyBhIEZvbnQgQXdlc29tZSBpY29uLCBkbyBub3QgcHJlZml4IHRoZSBuYW1lIHdpdGggYGZhLWAuXG4gICAqIEByZXF1aXJlZFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGljb246IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIHR5cGUgb2YgaWNvbiB0byBkaXNwbGF5LiBTcGVjaWZ5aW5nIGBcImZhXCJgIGRpc3BsYXlzIGEgRm9udCBBd2Vzb21lIGljb24sXG4gICAqIHdoaWxlIHNwZWNpZnlpbmcgYFwic2t5dXhcImAgZGlzcGxheXMgYW4gaWNvbiBmcm9tIHRoZSBjdXN0b20gU0tZIFVYIGljb24gZm9udC4gTm90ZSB0aGF0XG4gICAqIHRoZSBjdXN0b20gU0tZIFVYIGljb24gZm9udCBpcyBjdXJyZW50bHkgaW4gYmV0YS5cbiAgICogQGRlZmF1bHQgXCJmYVwiXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgaWNvblR5cGU6IFNreUljb25UeXBlIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgc2l6ZSBvZiB0aGUgaWNvbiB1c2luZ1xuICAgKiBbRm9udCBBd2Vzb21lIHNpemVzXShodHRwczovL2ZvbnRhd2Vzb21lLmNvbS92NC9leGFtcGxlcy8pLiBEbyBub3QgcHJlZml4IHRoZSBzaXplIHdpdGggYGZhLWAuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2l6ZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGVuZm9yY2UgYSBmaXhlZCB3aWR0aCBiYXNlZCBvbiBpY29uIHNpemUuIEJ5IGRlZmF1bHQsIGljb25zIG9mIGEgc3BlY2lmaWVkIHNpemUgc2hhcmUgYVxuICAgKiBjb25zaXN0ZW50IGhlaWdodCwgYnV0IHRoZWlyIHdpZHRocyB2YXJ5IGFuZCBjYW4gdGhyb3cgb2ZmIHZlcnRpY2FsIGFsaWdubWVudC4gVXNlIGEgZml4ZWQgd2lkdGggd2hlblxuICAgKiB5b3Ugc3RhY2sgaWNvbnMgdmVydGljYWxseSwgc3VjaCBhcyBpbiBsaXN0cy5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmaXhlZFdpZHRoOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgaWNvbiB2YXJpYW50LiBJZiB0aGUgdmFyaWFudCBkb2Vzbid0IGV4aXN0IGZvciB0aGVcbiAgICogc3BlY2lmaWVkIGljb24sIHRoZSBub3JtYWwgaWNvbiBpcyBkaXNwbGF5ZWQuIFRoaXMgcHJvcGVydHkgb25seSBhcHBsaWVzIHdoZW4gdXNpbmcgU0tZIFVYIGljb25zLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHZhcmlhbnQ6IFNreUljb25WYXJpYW50VHlwZSB8IHVuZGVmaW5lZDtcbn1cbiIsIjxpXG4gICpuZ0lmPVwiaWNvblwiXG4gIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gIGNsYXNzPVwic2t5LWljb25cIlxuICBbbmdDbGFzc109XCJpY29uIHwgc2t5SWNvbkNsYXNzTGlzdCA6IGljb25UeXBlIDogc2l6ZSA6IGZpeGVkV2lkdGggOiB2YXJpYW50XCJcbj5cbjwvaT5cbiJdfQ==
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvaW5kaWNhdG9ycy9zcmMvbGliL21vZHVsZXMvaWNvbi9pY29uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9pbmRpY2F0b3JzL3NyYy9saWIvbW9kdWxlcy9pY29uL2ljb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7O0FBVy9DLE1BQU0sT0FBTyxnQkFBZ0I7SUFON0I7UUFnRFksYUFBUSxHQUFHLE1BQU0sQ0FBQyxlQUFlLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztLQUNsRTs7NkdBM0NZLGdCQUFnQjtpR0FBaEIsZ0JBQWdCLDRKQ2pCN0IsMFlBaUJBOzJGREFhLGdCQUFnQjtrQkFONUIsU0FBUzsrQkFDRSxVQUFVLG1CQUdILHVCQUF1QixDQUFDLE1BQU07OEJBVXhDLElBQUk7c0JBRFYsS0FBSztnQkFVQyxRQUFRO3NCQURkLEtBQUs7Z0JBUUMsSUFBSTtzQkFEVixLQUFLO2dCQVVDLFVBQVU7c0JBRGhCLEtBQUs7Z0JBUUMsT0FBTztzQkFEYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIGluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lUaGVtZVNlcnZpY2UgfSBmcm9tICdAc2t5dXgvdGhlbWUnO1xuXG5pbXBvcnQgeyBTa3lJY29uVHlwZSB9IGZyb20gJy4vdHlwZXMvaWNvbi10eXBlJztcbmltcG9ydCB7IFNreUljb25WYXJpYW50VHlwZSB9IGZyb20gJy4vdHlwZXMvaWNvbi12YXJpYW50LXR5cGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktaWNvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9pY29uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaWNvbi5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2t5SWNvbkNvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZlxuICAgKiBbdGhlIEZvbnQgQXdlc29tZSA0LjcgaWNvbl0oaHR0cHM6Ly9mb250YXdlc29tZS5jb20vdjQuNy9pY29ucy8pIG9yIHRoZSBTS1kgVVggaWNvbiB0b1xuICAgKiBkaXNwbGF5LiBXaGVuIHNwZWNpZnlpbmcgYSBGb250IEF3ZXNvbWUgaWNvbiwgZG8gbm90IHByZWZpeCB0aGUgbmFtZSB3aXRoIGBmYS1gLlxuICAgKiBAcmVxdWlyZWRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpY29uOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIGljb24gdG8gZGlzcGxheS4gU3BlY2lmeWluZyBgXCJmYVwiYCBkaXNwbGF5cyBhIEZvbnQgQXdlc29tZSBpY29uLFxuICAgKiB3aGlsZSBzcGVjaWZ5aW5nIGBcInNreXV4XCJgIGRpc3BsYXlzIGFuIGljb24gZnJvbSB0aGUgY3VzdG9tIFNLWSBVWCBpY29uIGZvbnQuIE5vdGUgdGhhdFxuICAgKiB0aGUgY3VzdG9tIFNLWSBVWCBpY29uIGZvbnQgaXMgY3VycmVudGx5IGluIGJldGEuXG4gICAqIEBkZWZhdWx0IFwiZmFcIlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGljb25UeXBlOiBTa3lJY29uVHlwZSB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIHNpemUgb2YgdGhlIGljb24gdXNpbmdcbiAgICogW0ZvbnQgQXdlc29tZSBzaXplc10oaHR0cHM6Ly9mb250YXdlc29tZS5jb20vdjQvZXhhbXBsZXMvKS4gRG8gbm90IHByZWZpeCB0aGUgc2l6ZSB3aXRoIGBmYS1gLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNpemU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogV2hldGhlciB0byBlbmZvcmNlIGEgZml4ZWQgd2lkdGggYmFzZWQgb24gaWNvbiBzaXplLiBCeSBkZWZhdWx0LCBpY29ucyBvZiBhIHNwZWNpZmllZCBzaXplIHNoYXJlIGFcbiAgICogY29uc2lzdGVudCBoZWlnaHQsIGJ1dCB0aGVpciB3aWR0aHMgdmFyeSBhbmQgY2FuIHRocm93IG9mZiB2ZXJ0aWNhbCBhbGlnbm1lbnQuIFVzZSBhIGZpeGVkIHdpZHRoIHdoZW5cbiAgICogeW91IHN0YWNrIGljb25zIHZlcnRpY2FsbHksIHN1Y2ggYXMgaW4gbGlzdHMuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZml4ZWRXaWR0aDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIGljb24gdmFyaWFudC4gSWYgdGhlIHZhcmlhbnQgZG9lc24ndCBleGlzdCBmb3IgdGhlXG4gICAqIHNwZWNpZmllZCBpY29uLCB0aGUgbm9ybWFsIGljb24gaXMgZGlzcGxheWVkLiBUaGlzIHByb3BlcnR5IG9ubHkgYXBwbGllcyB3aGVuIHVzaW5nIFNLWSBVWCBpY29ucy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB2YXJpYW50OiBTa3lJY29uVmFyaWFudFR5cGUgfCB1bmRlZmluZWQ7XG5cbiAgcHJvdGVjdGVkIHRoZW1lU3ZjID0gaW5qZWN0KFNreVRoZW1lU2VydmljZSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcbn1cbiIsIjxpXG4gICpuZ0lmPVwiaWNvblwiXG4gIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gIGNsYXNzPVwic2t5LWljb25cIlxuICBbYXR0ci5kYXRhLXNreS1pY29uXT1cImljb25cIlxuICBbYXR0ci5kYXRhLXNreS1pY29uLXR5cGVdPVwiaWNvblR5cGVcIlxuICBbYXR0ci5kYXRhLXNreS1pY29uLXZhcmlhbnRdPVwidmFyaWFudFwiXG4gIFtuZ0NsYXNzXT1cIlxuICAgIGljb25cbiAgICAgIHwgc2t5SWNvbkNsYXNzTGlzdFxuICAgICAgICA6ICh0aGVtZVN2Yz8uc2V0dGluZ3NDaGFuZ2UgfCBhc3luYyk/LmN1cnJlbnRTZXR0aW5nc1xuICAgICAgICA6IGljb25UeXBlXG4gICAgICAgIDogc2l6ZVxuICAgICAgICA6IGZpeGVkV2lkdGhcbiAgICAgICAgOiB2YXJpYW50XG4gIFwiXG4+PC9pPlxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1yZXNvbHZlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9pbmRpY2F0b3JzL3NyYy9saWIvbW9kdWxlcy9pY29uL3R5cGVzL2ljb24tcmVzb2x2ZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2t5SWNvblJlc29sdmVkIHtcbiAgaWNvbjogc3RyaW5nO1xuICBpY29uVHlwZTogc3RyaW5nO1xufVxuIl19
@@ -1,8 +1,6 @@
1
- var _SkyIconHarness_instances, _SkyIconHarness_getIcon, _SkyIconHarness_getIconClasses;
1
+ var _SkyIconHarness_instances, _SkyIconHarness_getIcon, _SkyIconHarness_getIconClasses, _SkyIconHarness_getSpecifiedIconInfo;
2
2
  import { __classPrivateFieldGet } from "tslib";
3
3
  import { SkyComponentHarness } from '@skyux/core/testing';
4
- // match class ending in `-line` or `-solid`
5
- const ICON_CLASS_VARIANT_REGEXP = /(-line|-solid)$/;
6
4
  /**
7
5
  * Harness for interacting with an icon component in tests.
8
6
  */
@@ -22,19 +20,9 @@ export class SkyIconHarness extends SkyComponentHarness {
22
20
  * Gets the icon name.
23
21
  */
24
22
  async getIconName() {
25
- const iconClasses = await __classPrivateFieldGet(this, _SkyIconHarness_instances, "m", _SkyIconHarness_getIconClasses).call(this);
26
- for (const iconClass of iconClasses) {
27
- // match a class name that starts with `sky-i` or starts with `fa-` but does not follow with `fw` (fixed width) or `lg`, `2x`, `3x`, `4x`, `5x`
28
- if (/^sky-i-|^fa-(?!fw|lg|[2-5]+x)/.test(iconClass)) {
29
- return (iconClass
30
- .replace(ICON_CLASS_VARIANT_REGEXP, '')
31
- // remove `sky-i` or `fa-` from the beginning of the icon class name
32
- .replace(/^(sky-i-|fa-)/, ''));
33
- }
34
- }
35
- // this return will never be reached. If icon does not exist, the error in #getIcon() will be thrown
36
- /*istanbul ignore next*/
37
- return undefined;
23
+ // No need to check for null here since #getIcon() will throw an error when
24
+ // icon name is null.
25
+ return (await __classPrivateFieldGet(this, _SkyIconHarness_instances, "m", _SkyIconHarness_getSpecifiedIconInfo).call(this)).icon;
38
26
  }
39
27
  /**
40
28
  * Gets the icon size.
@@ -53,27 +41,15 @@ export class SkyIconHarness extends SkyComponentHarness {
53
41
  * Gets the icon type.
54
42
  */
55
43
  async getIconType() {
56
- const iconClasses = await __classPrivateFieldGet(this, _SkyIconHarness_instances, "m", _SkyIconHarness_getIconClasses).call(this);
57
- for (const iconClass of iconClasses) {
58
- // match a class name that starts with `sky-i`
59
- if (/^sky-i-/.test(iconClass)) {
60
- return 'skyux';
61
- }
62
- }
63
- return 'fa';
44
+ return (await __classPrivateFieldGet(this, _SkyIconHarness_instances, "m", _SkyIconHarness_getSpecifiedIconInfo).call(this)).iconType || 'fa';
64
45
  }
65
46
  /**
66
47
  * Gets if the icon is a variant.
67
48
  */
68
49
  async getVariant() {
69
- if ((await this.getIconType()) === 'skyux') {
70
- const iconClasses = await __classPrivateFieldGet(this, _SkyIconHarness_instances, "m", _SkyIconHarness_getIconClasses).call(this);
71
- for (const iconClass of iconClasses) {
72
- if (ICON_CLASS_VARIANT_REGEXP.test(iconClass)) {
73
- return iconClass.substring(iconClass.lastIndexOf('-') + 1);
74
- }
75
- }
76
- return 'line';
50
+ const iconInfo = await __classPrivateFieldGet(this, _SkyIconHarness_instances, "m", _SkyIconHarness_getSpecifiedIconInfo).call(this);
51
+ if (iconInfo.iconType === 'skyux') {
52
+ return iconInfo.variant || 'line';
77
53
  }
78
54
  throw new Error('Variant cannot be determined because variants are only assigned to icons with type `skyux`.');
79
55
  }
@@ -90,15 +66,25 @@ _SkyIconHarness_instances = new WeakSet(), _SkyIconHarness_getIcon = async funct
90
66
  if (icon) {
91
67
  return icon;
92
68
  }
93
- else {
94
- throw new Error('Icon could not be rendered.');
95
- }
69
+ throw new Error('Icon could not be rendered.');
96
70
  }, _SkyIconHarness_getIconClasses = async function _SkyIconHarness_getIconClasses() {
97
71
  const iconClasses = await (await __classPrivateFieldGet(this, _SkyIconHarness_instances, "m", _SkyIconHarness_getIcon).call(this)).getProperty('classList');
98
72
  return Array.from(iconClasses);
73
+ }, _SkyIconHarness_getSpecifiedIconInfo = async function _SkyIconHarness_getSpecifiedIconInfo() {
74
+ // Since SKY UX icons have Font Awesome alternatives that may be used
75
+ // in default theme instead of the icon specified by the consumer, we
76
+ // need to get the specified values using data- attributes added by
77
+ // the icon component. This conflicts with the usual pattern of giving
78
+ // the effective state of the component but is necessary in this case.
79
+ const icon = await __classPrivateFieldGet(this, _SkyIconHarness_instances, "m", _SkyIconHarness_getIcon).call(this);
80
+ return {
81
+ icon: await icon.getAttribute('data-sky-icon'),
82
+ iconType: await icon.getAttribute('data-sky-icon-type'),
83
+ variant: await icon.getAttribute('data-sky-icon-variant'),
84
+ };
99
85
  };
100
86
  /**
101
87
  * @internal
102
88
  */
103
89
  SkyIconHarness.hostSelector = 'sky-icon';
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2luZGljYXRvcnMvdGVzdGluZy9zcmMvaWNvbi9pY29uLWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUkxRCw0Q0FBNEM7QUFDNUMsTUFBTSx5QkFBeUIsR0FBRyxpQkFBaUIsQ0FBQztBQUVwRDs7R0FFRztBQUNILE1BQU0sT0FBTyxjQUFlLFNBQVEsbUJBQW1CO0lBQXZEOzs7SUFrSEEsQ0FBQztJQTVHQzs7O09BR0c7SUFDSSxNQUFNLENBQUMsSUFBSSxDQUNoQixPQUE4QjtRQUU5QixPQUFPLGNBQWMsQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBaUJEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFdBQVc7UUFDdEIsTUFBTSxXQUFXLEdBQUcsTUFBTSx1QkFBQSxJQUFJLGlFQUFnQixNQUFwQixJQUFJLENBQWtCLENBQUM7UUFFakQsS0FBSyxNQUFNLFNBQVMsSUFBSSxXQUFXLEVBQUU7WUFDbkMsK0lBQStJO1lBQy9JLElBQUksK0JBQStCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUNuRCxPQUFPLENBQ0wsU0FBUztxQkFDTixPQUFPLENBQUMseUJBQXlCLEVBQUUsRUFBRSxDQUFDO29CQUN2QyxvRUFBb0U7cUJBQ25FLE9BQU8sQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDLENBQ2hDLENBQUM7YUFDSDtTQUNGO1FBRUQsb0dBQW9HO1FBQ3BHLHdCQUF3QjtRQUN4QixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsV0FBVztRQUN0QixNQUFNLFdBQVcsR0FBRyxNQUFNLHVCQUFBLElBQUksaUVBQWdCLE1BQXBCLElBQUksQ0FBa0IsQ0FBQztRQUVqRCxLQUFLLE1BQU0sU0FBUyxJQUFJLFdBQVcsRUFBRTtZQUNuQywwRkFBMEY7WUFDMUYsSUFBSSx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUU7Z0JBQzVDLE9BQU8sU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7YUFDckM7U0FDRjtRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxXQUFXO1FBQ3RCLE1BQU0sV0FBVyxHQUFHLE1BQU0sdUJBQUEsSUFBSSxpRUFBZ0IsTUFBcEIsSUFBSSxDQUFrQixDQUFDO1FBRWpELEtBQUssTUFBTSxTQUFTLElBQUksV0FBVyxFQUFFO1lBQ25DLDhDQUE4QztZQUM5QyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUU7Z0JBQzdCLE9BQU8sT0FBTyxDQUFDO2FBQ2hCO1NBQ0Y7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxVQUFVO1FBQ3JCLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLE9BQU8sRUFBRTtZQUMxQyxNQUFNLFdBQVcsR0FBRyxNQUFNLHVCQUFBLElBQUksaUVBQWdCLE1BQXBCLElBQUksQ0FBa0IsQ0FBQztZQUVqRCxLQUFLLE1BQU0sU0FBUyxJQUFJLFdBQVcsRUFBRTtnQkFDbkMsSUFBSSx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUU7b0JBQzdDLE9BQU8sU0FBUyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2lCQUM1RDthQUNGO1lBRUQsT0FBTyxNQUFNLENBQUM7U0FDZjtRQUVELE1BQU0sSUFBSSxLQUFLLENBQ2IsNkZBQTZGLENBQzlGLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsWUFBWTtRQUN2QixNQUFNLElBQUksR0FBRyxNQUFNLHVCQUFBLElBQUksMERBQVMsTUFBYixJQUFJLENBQVcsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEMsQ0FBQzs7cUVBakdELEtBQUs7SUFDSCxNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO0lBRTFELElBQUksSUFBSSxFQUFFO1FBQ1IsT0FBTyxJQUFJLENBQUM7S0FDYjtTQUFNO1FBQ0wsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0tBQ2hEO0FBQ0gsQ0FBQyxtQ0FFRCxLQUFLO0lBQ0gsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLE1BQU0sdUJBQUEsSUFBSSwwREFBUyxNQUFiLElBQUksQ0FBVyxDQUFDLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzNFLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUNqQyxDQUFDO0FBNUJEOztHQUVHO0FBQ1csMkJBQVksR0FBRyxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIYXJuZXNzUHJlZGljYXRlLCBUZXN0RWxlbWVudCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcbmltcG9ydCB7IFNreUNvbXBvbmVudEhhcm5lc3MgfSBmcm9tICdAc2t5dXgvY29yZS90ZXN0aW5nJztcblxuaW1wb3J0IHsgU2t5SWNvbkhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9pY29uLWhhcm5lc3MtZmlsdGVycyc7XG5cbi8vIG1hdGNoIGNsYXNzIGVuZGluZyBpbiBgLWxpbmVgIG9yIGAtc29saWRgXG5jb25zdCBJQ09OX0NMQVNTX1ZBUklBTlRfUkVHRVhQID0gLygtbGluZXwtc29saWQpJC87XG5cbi8qKlxuICogSGFybmVzcyBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBhbiBpY29uIGNvbXBvbmVudCBpbiB0ZXN0cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreUljb25IYXJuZXNzIGV4dGVuZHMgU2t5Q29tcG9uZW50SGFybmVzcyB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJ3NreS1pY29uJztcblxuICAvKipcbiAgICogR2V0cyBhIGBIYXJuZXNzUHJlZGljYXRlYCB0aGF0IGNhbiBiZSB1c2VkIHRvIHNlYXJjaCBmb3IgYVxuICAgKiBgU2t5SWNvbkhhcm5lc3NgIHRoYXQgbWVldHMgY2VydGFpbiBjcml0ZXJpYS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2l0aChcbiAgICBmaWx0ZXJzOiBTa3lJY29uSGFybmVzc0ZpbHRlcnNcbiAgKTogSGFybmVzc1ByZWRpY2F0ZTxTa3lJY29uSGFybmVzcz4ge1xuICAgIHJldHVybiBTa3lJY29uSGFybmVzcy5nZXREYXRhU2t5SWRQcmVkaWNhdGUoZmlsdGVycyk7XG4gIH1cblxuICBhc3luYyAjZ2V0SWNvbigpOiBQcm9taXNlPFRlc3RFbGVtZW50PiB7XG4gICAgY29uc3QgaWNvbiA9IGF3YWl0IHRoaXMubG9jYXRvckZvck9wdGlvbmFsKCcuc2t5LWljb24nKSgpO1xuXG4gICAgaWYgKGljb24pIHtcbiAgICAgIHJldHVybiBpY29uO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ljb24gY291bGQgbm90IGJlIHJlbmRlcmVkLicpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jICNnZXRJY29uQ2xhc3NlcygpOiBQcm9taXNlPHN0cmluZ1tdPiB7XG4gICAgY29uc3QgaWNvbkNsYXNzZXMgPSBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0SWNvbigpKS5nZXRQcm9wZXJ0eSgnY2xhc3NMaXN0Jyk7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oaWNvbkNsYXNzZXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGljb24gbmFtZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRJY29uTmFtZSgpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIGNvbnN0IGljb25DbGFzc2VzID0gYXdhaXQgdGhpcy4jZ2V0SWNvbkNsYXNzZXMoKTtcblxuICAgIGZvciAoY29uc3QgaWNvbkNsYXNzIG9mIGljb25DbGFzc2VzKSB7XG4gICAgICAvLyBtYXRjaCBhIGNsYXNzIG5hbWUgdGhhdCBzdGFydHMgd2l0aCBgc2t5LWlgIG9yIHN0YXJ0cyB3aXRoIGBmYS1gIGJ1dCBkb2VzIG5vdCBmb2xsb3cgd2l0aCBgZndgIChmaXhlZCB3aWR0aCkgb3IgYGxnYCwgYDJ4YCwgYDN4YCwgYDR4YCwgYDV4YFxuICAgICAgaWYgKC9ec2t5LWktfF5mYS0oPyFmd3xsZ3xbMi01XSt4KS8udGVzdChpY29uQ2xhc3MpKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgaWNvbkNsYXNzXG4gICAgICAgICAgICAucmVwbGFjZShJQ09OX0NMQVNTX1ZBUklBTlRfUkVHRVhQLCAnJylcbiAgICAgICAgICAgIC8vIHJlbW92ZSBgc2t5LWlgIG9yIGBmYS1gIGZyb20gdGhlIGJlZ2lubmluZyBvZiB0aGUgaWNvbiBjbGFzcyBuYW1lXG4gICAgICAgICAgICAucmVwbGFjZSgvXihza3ktaS18ZmEtKS8sICcnKVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIHRoaXMgcmV0dXJuIHdpbGwgbmV2ZXIgYmUgcmVhY2hlZC4gSWYgaWNvbiBkb2VzIG5vdCBleGlzdCwgdGhlIGVycm9yIGluICNnZXRJY29uKCkgd2lsbCBiZSB0aHJvd25cbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBuZXh0Ki9cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGljb24gc2l6ZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRJY29uU2l6ZSgpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIGNvbnN0IGljb25DbGFzc2VzID0gYXdhaXQgdGhpcy4jZ2V0SWNvbkNsYXNzZXMoKTtcblxuICAgIGZvciAoY29uc3QgaWNvbkNsYXNzIG9mIGljb25DbGFzc2VzKSB7XG4gICAgICAvLyBtYXRjaCBhIGNsYXNzIG5hbWUgdGhhdCBzdGFydHMgd2l0aCBgZmEtYCBhbmQgZm9sbG93cyB3aXRoIGBsZ2AsIGAyeGAsIGAzeGAsIGA0eGAsIGA1eGBcbiAgICAgIGlmICgvXmZhLSg/PTJ4c3xsZ3xbMi01XSt4KS8udGVzdChpY29uQ2xhc3MpKSB7XG4gICAgICAgIHJldHVybiBpY29uQ2xhc3MucmVwbGFjZSgnZmEtJywgJycpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgaWNvbiB0eXBlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEljb25UeXBlKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3QgaWNvbkNsYXNzZXMgPSBhd2FpdCB0aGlzLiNnZXRJY29uQ2xhc3NlcygpO1xuXG4gICAgZm9yIChjb25zdCBpY29uQ2xhc3Mgb2YgaWNvbkNsYXNzZXMpIHtcbiAgICAgIC8vIG1hdGNoIGEgY2xhc3MgbmFtZSB0aGF0IHN0YXJ0cyB3aXRoIGBza3ktaWBcbiAgICAgIGlmICgvXnNreS1pLS8udGVzdChpY29uQ2xhc3MpKSB7XG4gICAgICAgIHJldHVybiAnc2t5dXgnO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiAnZmEnO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgaWYgdGhlIGljb24gaXMgYSB2YXJpYW50LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFZhcmlhbnQoKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgICBpZiAoKGF3YWl0IHRoaXMuZ2V0SWNvblR5cGUoKSkgPT09ICdza3l1eCcpIHtcbiAgICAgIGNvbnN0IGljb25DbGFzc2VzID0gYXdhaXQgdGhpcy4jZ2V0SWNvbkNsYXNzZXMoKTtcblxuICAgICAgZm9yIChjb25zdCBpY29uQ2xhc3Mgb2YgaWNvbkNsYXNzZXMpIHtcbiAgICAgICAgaWYgKElDT05fQ0xBU1NfVkFSSUFOVF9SRUdFWFAudGVzdChpY29uQ2xhc3MpKSB7XG4gICAgICAgICAgcmV0dXJuIGljb25DbGFzcy5zdWJzdHJpbmcoaWNvbkNsYXNzLmxhc3RJbmRleE9mKCctJykgKyAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gJ2xpbmUnO1xuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICdWYXJpYW50IGNhbm5vdCBiZSBkZXRlcm1pbmVkIGJlY2F1c2UgdmFyaWFudHMgYXJlIG9ubHkgYXNzaWduZWQgdG8gaWNvbnMgd2l0aCB0eXBlIGBza3l1eGAuJ1xuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgaWNvbiBoYXMgZml4ZWQgd2lkdGguXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaXNGaXhlZFdpZHRoKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGljb24gPSBhd2FpdCB0aGlzLiNnZXRJY29uKCk7XG4gICAgcmV0dXJuIGljb24uaGFzQ2xhc3MoYGZhLWZ3YCk7XG4gIH1cbn1cbiJdfQ==
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2luZGljYXRvcnMvdGVzdGluZy9zcmMvaWNvbi9pY29uLWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUkxRDs7R0FFRztBQUNILE1BQU0sT0FBTyxjQUFlLFNBQVEsbUJBQW1CO0lBQXZEOzs7SUF3R0EsQ0FBQztJQWxHQzs7O09BR0c7SUFDSSxNQUFNLENBQUMsSUFBSSxDQUNoQixPQUE4QjtRQUU5QixPQUFPLGNBQWMsQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsV0FBVztRQUN0QiwyRUFBMkU7UUFDM0UscUJBQXFCO1FBQ3JCLE9BQU8sQ0FBQyxNQUFNLHVCQUFBLElBQUksdUVBQXNCLE1BQTFCLElBQUksQ0FBd0IsQ0FBQyxDQUFDLElBQWMsQ0FBQztJQUM3RCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsV0FBVztRQUN0QixNQUFNLFdBQVcsR0FBRyxNQUFNLHVCQUFBLElBQUksaUVBQWdCLE1BQXBCLElBQUksQ0FBa0IsQ0FBQztRQUVqRCxLQUFLLE1BQU0sU0FBUyxJQUFJLFdBQVcsRUFBRTtZQUNuQywwRkFBMEY7WUFDMUYsSUFBSSx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUU7Z0JBQzVDLE9BQU8sU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7YUFDckM7U0FDRjtRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxXQUFXO1FBQ3RCLE9BQU8sQ0FBQyxNQUFNLHVCQUFBLElBQUksdUVBQXNCLE1BQTFCLElBQUksQ0FBd0IsQ0FBQyxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUM7SUFDL0QsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFVBQVU7UUFDckIsTUFBTSxRQUFRLEdBQUcsTUFBTSx1QkFBQSxJQUFJLHVFQUFzQixNQUExQixJQUFJLENBQXdCLENBQUM7UUFFcEQsSUFBSSxRQUFRLENBQUMsUUFBUSxLQUFLLE9BQU8sRUFBRTtZQUNqQyxPQUFPLFFBQVEsQ0FBQyxPQUFPLElBQUksTUFBTSxDQUFDO1NBQ25DO1FBRUQsTUFBTSxJQUFJLEtBQUssQ0FDYiw2RkFBNkYsQ0FDOUYsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxZQUFZO1FBQ3ZCLE1BQU0sSUFBSSxHQUFHLE1BQU0sdUJBQUEsSUFBSSwwREFBUyxNQUFiLElBQUksQ0FBVyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoQyxDQUFDOztxRUFFRCxLQUFLO0lBQ0gsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztJQUUxRCxJQUFJLElBQUksRUFBRTtRQUNSLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFFRCxNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7QUFDakQsQ0FBQyxtQ0FFRCxLQUFLO0lBQ0gsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLE1BQU0sdUJBQUEsSUFBSSwwREFBUyxNQUFiLElBQUksQ0FBVyxDQUFDLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzNFLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUNqQyxDQUFDLHlDQUVELEtBQUs7SUFLSCxxRUFBcUU7SUFDckUscUVBQXFFO0lBQ3JFLG1FQUFtRTtJQUNuRSxzRUFBc0U7SUFDdEUsc0VBQXNFO0lBQ3RFLE1BQU0sSUFBSSxHQUFHLE1BQU0sdUJBQUEsSUFBSSwwREFBUyxNQUFiLElBQUksQ0FBVyxDQUFDO0lBRW5DLE9BQU87UUFDTCxJQUFJLEVBQUUsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQztRQUM5QyxRQUFRLEVBQUUsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLG9CQUFvQixDQUFDO1FBQ3ZELE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsdUJBQXVCLENBQUM7S0FDMUQsQ0FBQztBQUNKLENBQUM7QUF0R0Q7O0dBRUc7QUFDVywyQkFBWSxHQUFHLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhhcm5lc3NQcmVkaWNhdGUsIFRlc3RFbGVtZW50IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuaW1wb3J0IHsgU2t5Q29tcG9uZW50SGFybmVzcyB9IGZyb20gJ0Bza3l1eC9jb3JlL3Rlc3RpbmcnO1xuXG5pbXBvcnQgeyBTa3lJY29uSGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL2ljb24taGFybmVzcy1maWx0ZXJzJztcblxuLyoqXG4gKiBIYXJuZXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIGFuIGljb24gY29tcG9uZW50IGluIHRlc3RzLlxuICovXG5leHBvcnQgY2xhc3MgU2t5SWNvbkhhcm5lc3MgZXh0ZW5kcyBTa3lDb21wb25lbnRIYXJuZXNzIHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnc2t5LWljb24nO1xuXG4gIC8qKlxuICAgKiBHZXRzIGEgYEhhcm5lc3NQcmVkaWNhdGVgIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VhcmNoIGZvciBhXG4gICAqIGBTa3lJY29uSGFybmVzc2AgdGhhdCBtZWV0cyBjZXJ0YWluIGNyaXRlcmlhLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB3aXRoKFxuICAgIGZpbHRlcnM6IFNreUljb25IYXJuZXNzRmlsdGVyc1xuICApOiBIYXJuZXNzUHJlZGljYXRlPFNreUljb25IYXJuZXNzPiB7XG4gICAgcmV0dXJuIFNreUljb25IYXJuZXNzLmdldERhdGFTa3lJZFByZWRpY2F0ZShmaWx0ZXJzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBpY29uIG5hbWUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0SWNvbk5hbWUoKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgICAvLyBObyBuZWVkIHRvIGNoZWNrIGZvciBudWxsIGhlcmUgc2luY2UgI2dldEljb24oKSB3aWxsIHRocm93IGFuIGVycm9yIHdoZW5cbiAgICAvLyBpY29uIG5hbWUgaXMgbnVsbC5cbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuI2dldFNwZWNpZmllZEljb25JbmZvKCkpLmljb24gYXMgc3RyaW5nO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGljb24gc2l6ZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRJY29uU2l6ZSgpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIGNvbnN0IGljb25DbGFzc2VzID0gYXdhaXQgdGhpcy4jZ2V0SWNvbkNsYXNzZXMoKTtcblxuICAgIGZvciAoY29uc3QgaWNvbkNsYXNzIG9mIGljb25DbGFzc2VzKSB7XG4gICAgICAvLyBtYXRjaCBhIGNsYXNzIG5hbWUgdGhhdCBzdGFydHMgd2l0aCBgZmEtYCBhbmQgZm9sbG93cyB3aXRoIGBsZ2AsIGAyeGAsIGAzeGAsIGA0eGAsIGA1eGBcbiAgICAgIGlmICgvXmZhLSg/PTJ4c3xsZ3xbMi01XSt4KS8udGVzdChpY29uQ2xhc3MpKSB7XG4gICAgICAgIHJldHVybiBpY29uQ2xhc3MucmVwbGFjZSgnZmEtJywgJycpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgaWNvbiB0eXBlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEljb25UeXBlKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLiNnZXRTcGVjaWZpZWRJY29uSW5mbygpKS5pY29uVHlwZSB8fCAnZmEnO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgaWYgdGhlIGljb24gaXMgYSB2YXJpYW50LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFZhcmlhbnQoKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgICBjb25zdCBpY29uSW5mbyA9IGF3YWl0IHRoaXMuI2dldFNwZWNpZmllZEljb25JbmZvKCk7XG5cbiAgICBpZiAoaWNvbkluZm8uaWNvblR5cGUgPT09ICdza3l1eCcpIHtcbiAgICAgIHJldHVybiBpY29uSW5mby52YXJpYW50IHx8ICdsaW5lJztcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAnVmFyaWFudCBjYW5ub3QgYmUgZGV0ZXJtaW5lZCBiZWNhdXNlIHZhcmlhbnRzIGFyZSBvbmx5IGFzc2lnbmVkIHRvIGljb25zIHdpdGggdHlwZSBgc2t5dXhgLidcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGljb24gaGFzIGZpeGVkIHdpZHRoLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGlzRml4ZWRXaWR0aCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBpY29uID0gYXdhaXQgdGhpcy4jZ2V0SWNvbigpO1xuICAgIHJldHVybiBpY29uLmhhc0NsYXNzKGBmYS1md2ApO1xuICB9XG5cbiAgYXN5bmMgI2dldEljb24oKTogUHJvbWlzZTxUZXN0RWxlbWVudD4ge1xuICAgIGNvbnN0IGljb24gPSBhd2FpdCB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbCgnLnNreS1pY29uJykoKTtcblxuICAgIGlmIChpY29uKSB7XG4gICAgICByZXR1cm4gaWNvbjtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ljb24gY291bGQgbm90IGJlIHJlbmRlcmVkLicpO1xuICB9XG5cbiAgYXN5bmMgI2dldEljb25DbGFzc2VzKCk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgICBjb25zdCBpY29uQ2xhc3NlcyA9IGF3YWl0IChhd2FpdCB0aGlzLiNnZXRJY29uKCkpLmdldFByb3BlcnR5KCdjbGFzc0xpc3QnKTtcbiAgICByZXR1cm4gQXJyYXkuZnJvbShpY29uQ2xhc3Nlcyk7XG4gIH1cblxuICBhc3luYyAjZ2V0U3BlY2lmaWVkSWNvbkluZm8oKTogUHJvbWlzZTx7XG4gICAgaWNvbjogc3RyaW5nIHwgbnVsbDtcbiAgICBpY29uVHlwZTogc3RyaW5nIHwgbnVsbDtcbiAgICB2YXJpYW50OiBzdHJpbmcgfCBudWxsO1xuICB9PiB7XG4gICAgLy8gU2luY2UgU0tZIFVYIGljb25zIGhhdmUgRm9udCBBd2Vzb21lIGFsdGVybmF0aXZlcyB0aGF0IG1heSBiZSB1c2VkXG4gICAgLy8gaW4gZGVmYXVsdCB0aGVtZSBpbnN0ZWFkIG9mIHRoZSBpY29uIHNwZWNpZmllZCBieSB0aGUgY29uc3VtZXIsIHdlXG4gICAgLy8gbmVlZCB0byBnZXQgdGhlIHNwZWNpZmllZCB2YWx1ZXMgdXNpbmcgZGF0YS0gYXR0cmlidXRlcyBhZGRlZCBieVxuICAgIC8vIHRoZSBpY29uIGNvbXBvbmVudC4gVGhpcyBjb25mbGljdHMgd2l0aCB0aGUgdXN1YWwgcGF0dGVybiBvZiBnaXZpbmdcbiAgICAvLyB0aGUgZWZmZWN0aXZlIHN0YXRlIG9mIHRoZSBjb21wb25lbnQgYnV0IGlzIG5lY2Vzc2FyeSBpbiB0aGlzIGNhc2UuXG4gICAgY29uc3QgaWNvbiA9IGF3YWl0IHRoaXMuI2dldEljb24oKTtcblxuICAgIHJldHVybiB7XG4gICAgICBpY29uOiBhd2FpdCBpY29uLmdldEF0dHJpYnV0ZSgnZGF0YS1za3ktaWNvbicpLFxuICAgICAgaWNvblR5cGU6IGF3YWl0IGljb24uZ2V0QXR0cmlidXRlKCdkYXRhLXNreS1pY29uLXR5cGUnKSxcbiAgICAgIHZhcmlhbnQ6IGF3YWl0IGljb24uZ2V0QXR0cmlidXRlKCdkYXRhLXNreS1pY29uLXZhcmlhbnQnKSxcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -213,9 +213,7 @@ _SkyHelpInlineHarness_getInlineHelpButton = new WeakMap();
213
213
  */
214
214
  SkyHelpInlineHarness.hostSelector = 'sky-help-inline';
215
215
 
216
- var _SkyIconHarness_instances, _SkyIconHarness_getIcon, _SkyIconHarness_getIconClasses;
217
- // match class ending in `-line` or `-solid`
218
- const ICON_CLASS_VARIANT_REGEXP = /(-line|-solid)$/;
216
+ var _SkyIconHarness_instances, _SkyIconHarness_getIcon, _SkyIconHarness_getIconClasses, _SkyIconHarness_getSpecifiedIconInfo;
219
217
  /**
220
218
  * Harness for interacting with an icon component in tests.
221
219
  */
@@ -236,19 +234,9 @@ class SkyIconHarness extends SkyComponentHarness {
236
234
  */
237
235
  getIconName() {
238
236
  return __awaiter(this, void 0, void 0, function* () {
239
- const iconClasses = yield __classPrivateFieldGet(this, _SkyIconHarness_instances, "m", _SkyIconHarness_getIconClasses).call(this);
240
- for (const iconClass of iconClasses) {
241
- // match a class name that starts with `sky-i` or starts with `fa-` but does not follow with `fw` (fixed width) or `lg`, `2x`, `3x`, `4x`, `5x`
242
- if (/^sky-i-|^fa-(?!fw|lg|[2-5]+x)/.test(iconClass)) {
243
- return (iconClass
244
- .replace(ICON_CLASS_VARIANT_REGEXP, '')
245
- // remove `sky-i` or `fa-` from the beginning of the icon class name
246
- .replace(/^(sky-i-|fa-)/, ''));
247
- }
248
- }
249
- // this return will never be reached. If icon does not exist, the error in #getIcon() will be thrown
250
- /*istanbul ignore next*/
251
- return undefined;
237
+ // No need to check for null here since #getIcon() will throw an error when
238
+ // icon name is null.
239
+ return (yield __classPrivateFieldGet(this, _SkyIconHarness_instances, "m", _SkyIconHarness_getSpecifiedIconInfo).call(this)).icon;
252
240
  });
253
241
  }
254
242
  /**
@@ -271,14 +259,7 @@ class SkyIconHarness extends SkyComponentHarness {
271
259
  */
272
260
  getIconType() {
273
261
  return __awaiter(this, void 0, void 0, function* () {
274
- const iconClasses = yield __classPrivateFieldGet(this, _SkyIconHarness_instances, "m", _SkyIconHarness_getIconClasses).call(this);
275
- for (const iconClass of iconClasses) {
276
- // match a class name that starts with `sky-i`
277
- if (/^sky-i-/.test(iconClass)) {
278
- return 'skyux';
279
- }
280
- }
281
- return 'fa';
262
+ return (yield __classPrivateFieldGet(this, _SkyIconHarness_instances, "m", _SkyIconHarness_getSpecifiedIconInfo).call(this)).iconType || 'fa';
282
263
  });
283
264
  }
284
265
  /**
@@ -286,14 +267,9 @@ class SkyIconHarness extends SkyComponentHarness {
286
267
  */
287
268
  getVariant() {
288
269
  return __awaiter(this, void 0, void 0, function* () {
289
- if ((yield this.getIconType()) === 'skyux') {
290
- const iconClasses = yield __classPrivateFieldGet(this, _SkyIconHarness_instances, "m", _SkyIconHarness_getIconClasses).call(this);
291
- for (const iconClass of iconClasses) {
292
- if (ICON_CLASS_VARIANT_REGEXP.test(iconClass)) {
293
- return iconClass.substring(iconClass.lastIndexOf('-') + 1);
294
- }
295
- }
296
- return 'line';
270
+ const iconInfo = yield __classPrivateFieldGet(this, _SkyIconHarness_instances, "m", _SkyIconHarness_getSpecifiedIconInfo).call(this);
271
+ if (iconInfo.iconType === 'skyux') {
272
+ return iconInfo.variant || 'line';
297
273
  }
298
274
  throw new Error('Variant cannot be determined because variants are only assigned to icons with type `skyux`.');
299
275
  });
@@ -314,15 +290,27 @@ _SkyIconHarness_instances = new WeakSet(), _SkyIconHarness_getIcon = function _S
314
290
  if (icon) {
315
291
  return icon;
316
292
  }
317
- else {
318
- throw new Error('Icon could not be rendered.');
319
- }
293
+ throw new Error('Icon could not be rendered.');
320
294
  });
321
295
  }, _SkyIconHarness_getIconClasses = function _SkyIconHarness_getIconClasses() {
322
296
  return __awaiter(this, void 0, void 0, function* () {
323
297
  const iconClasses = yield (yield __classPrivateFieldGet(this, _SkyIconHarness_instances, "m", _SkyIconHarness_getIcon).call(this)).getProperty('classList');
324
298
  return Array.from(iconClasses);
325
299
  });
300
+ }, _SkyIconHarness_getSpecifiedIconInfo = function _SkyIconHarness_getSpecifiedIconInfo() {
301
+ return __awaiter(this, void 0, void 0, function* () {
302
+ // Since SKY UX icons have Font Awesome alternatives that may be used
303
+ // in default theme instead of the icon specified by the consumer, we
304
+ // need to get the specified values using data- attributes added by
305
+ // the icon component. This conflicts with the usual pattern of giving
306
+ // the effective state of the component but is necessary in this case.
307
+ const icon = yield __classPrivateFieldGet(this, _SkyIconHarness_instances, "m", _SkyIconHarness_getIcon).call(this);
308
+ return {
309
+ icon: yield icon.getAttribute('data-sky-icon'),
310
+ iconType: yield icon.getAttribute('data-sky-icon-type'),
311
+ variant: yield icon.getAttribute('data-sky-icon-variant'),
312
+ };
313
+ });
326
314
  };
327
315
  /**
328
316
  * @internal