@skyux/icon 11.22.0 → 11.24.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.
@@ -34,7 +34,7 @@
34
34
  "fileName": "projects/icon/src/modules/icon/icon.module.ts",
35
35
  "line": 14,
36
36
  "character": 13,
37
- "url": "https://github.com/blackbaud/skyux/blob/96254db/libs/components/icon/src/lib/modules/icon/icon.module.ts#L14"
37
+ "url": "https://github.com/blackbaud/skyux/blob/9e56067/libs/components/icon/src/lib/modules/icon/icon.module.ts#L14"
38
38
  }
39
39
  ],
40
40
  "decorators": [
@@ -85,7 +85,7 @@
85
85
  "fileName": "projects/icon/src/modules/icon/icon.component.ts",
86
86
  "line": 59,
87
87
  "character": 9,
88
- "url": "https://github.com/blackbaud/skyux/blob/96254db/libs/components/icon/src/lib/modules/icon/icon.component.ts#L59"
88
+ "url": "https://github.com/blackbaud/skyux/blob/9e56067/libs/components/icon/src/lib/modules/icon/icon.component.ts#L59"
89
89
  }
90
90
  ],
91
91
  "type": {
@@ -133,7 +133,7 @@
133
133
  "fileName": "projects/icon/src/modules/icon/icon.component.ts",
134
134
  "line": 26,
135
135
  "character": 9,
136
- "url": "https://github.com/blackbaud/skyux/blob/96254db/libs/components/icon/src/lib/modules/icon/icon.component.ts#L26"
136
+ "url": "https://github.com/blackbaud/skyux/blob/9e56067/libs/components/icon/src/lib/modules/icon/icon.component.ts#L26"
137
137
  }
138
138
  ],
139
139
  "type": {
@@ -203,7 +203,7 @@
203
203
  "fileName": "projects/icon/src/modules/icon/icon.component.ts",
204
204
  "line": 43,
205
205
  "character": 9,
206
- "url": "https://github.com/blackbaud/skyux/blob/96254db/libs/components/icon/src/lib/modules/icon/icon.component.ts#L43"
206
+ "url": "https://github.com/blackbaud/skyux/blob/9e56067/libs/components/icon/src/lib/modules/icon/icon.component.ts#L43"
207
207
  }
208
208
  ],
209
209
  "type": {
@@ -247,7 +247,7 @@
247
247
  "fileName": "projects/icon/src/modules/icon/icon.component.ts",
248
248
  "line": 50,
249
249
  "character": 9,
250
- "url": "https://github.com/blackbaud/skyux/blob/96254db/libs/components/icon/src/lib/modules/icon/icon.component.ts#L50"
250
+ "url": "https://github.com/blackbaud/skyux/blob/9e56067/libs/components/icon/src/lib/modules/icon/icon.component.ts#L50"
251
251
  }
252
252
  ],
253
253
  "type": {
@@ -281,7 +281,7 @@
281
281
  "fileName": "projects/icon/src/modules/icon/icon.component.ts",
282
282
  "line": 66,
283
283
  "character": 9,
284
- "url": "https://github.com/blackbaud/skyux/blob/96254db/libs/components/icon/src/lib/modules/icon/icon.component.ts#L66"
284
+ "url": "https://github.com/blackbaud/skyux/blob/9e56067/libs/components/icon/src/lib/modules/icon/icon.component.ts#L66"
285
285
  }
286
286
  ],
287
287
  "type": {
@@ -320,7 +320,7 @@
320
320
  "fileName": "projects/icon/src/modules/icon/icon.component.ts",
321
321
  "line": 18,
322
322
  "character": 13,
323
- "url": "https://github.com/blackbaud/skyux/blob/96254db/libs/components/icon/src/lib/modules/icon/icon.component.ts#L18"
323
+ "url": "https://github.com/blackbaud/skyux/blob/9e56067/libs/components/icon/src/lib/modules/icon/icon.component.ts#L18"
324
324
  }
325
325
  ],
326
326
  "decorators": [
@@ -352,7 +352,7 @@
352
352
  "fileName": "projects/icon/src/modules/icon/types/icon-type.ts",
353
353
  "line": 4,
354
354
  "character": 12,
355
- "url": "https://github.com/blackbaud/skyux/blob/96254db/libs/components/icon/src/lib/modules/icon/types/icon-type.ts#L4"
355
+ "url": "https://github.com/blackbaud/skyux/blob/9e56067/libs/components/icon/src/lib/modules/icon/types/icon-type.ts#L4"
356
356
  }
357
357
  ],
358
358
  "type": {
@@ -380,7 +380,7 @@
380
380
  "fileName": "projects/icon/src/modules/icon/types/icon-variant-type.ts",
381
381
  "line": 1,
382
382
  "character": 12,
383
- "url": "https://github.com/blackbaud/skyux/blob/96254db/libs/components/icon/src/lib/modules/icon/types/icon-variant-type.ts#L1"
383
+ "url": "https://github.com/blackbaud/skyux/blob/9e56067/libs/components/icon/src/lib/modules/icon/types/icon-variant-type.ts#L1"
384
384
  }
385
385
  ],
386
386
  "type": {
@@ -486,10 +486,10 @@
486
486
  },
487
487
  "sources": [
488
488
  {
489
- "fileName": "projects/icon/src/testing/icon/icon-harness.ts",
489
+ "fileName": "projects/icon/src/testing/modules/icon/icon-harness.ts",
490
490
  "line": 28,
491
491
  "character": 15,
492
- "url": "https://github.com/blackbaud/skyux/blob/96254db/libs/components/icon/testing/src/icon/icon-harness.ts#L28"
492
+ "url": "https://github.com/blackbaud/skyux/blob/9e56067/libs/components/icon/testing/src/modules/icon/icon-harness.ts#L28"
493
493
  }
494
494
  ],
495
495
  "signatures": [
@@ -509,10 +509,10 @@
509
509
  },
510
510
  "sources": [
511
511
  {
512
- "fileName": "libs/components/icon/testing/src/icon/icon-harness.ts",
512
+ "fileName": "libs/components/icon/testing/src/modules/icon/icon-harness.ts",
513
513
  "line": 28,
514
514
  "character": 15,
515
- "url": "https://github.com/blackbaud/skyux/blob/96254db/libs/components/icon/testing/src/icon/icon-harness.ts#L28"
515
+ "url": "https://github.com/blackbaud/skyux/blob/9e56067/libs/components/icon/testing/src/modules/icon/icon-harness.ts#L28"
516
516
  }
517
517
  ],
518
518
  "type": {
@@ -544,10 +544,10 @@
544
544
  },
545
545
  "sources": [
546
546
  {
547
- "fileName": "projects/icon/src/testing/icon/icon-harness.ts",
547
+ "fileName": "projects/icon/src/testing/modules/icon/icon-harness.ts",
548
548
  "line": 37,
549
549
  "character": 15,
550
- "url": "https://github.com/blackbaud/skyux/blob/96254db/libs/components/icon/testing/src/icon/icon-harness.ts#L37"
550
+ "url": "https://github.com/blackbaud/skyux/blob/9e56067/libs/components/icon/testing/src/modules/icon/icon-harness.ts#L37"
551
551
  }
552
552
  ],
553
553
  "signatures": [
@@ -567,10 +567,10 @@
567
567
  },
568
568
  "sources": [
569
569
  {
570
- "fileName": "libs/components/icon/testing/src/icon/icon-harness.ts",
570
+ "fileName": "libs/components/icon/testing/src/modules/icon/icon-harness.ts",
571
571
  "line": 37,
572
572
  "character": 15,
573
- "url": "https://github.com/blackbaud/skyux/blob/96254db/libs/components/icon/testing/src/icon/icon-harness.ts#L37"
573
+ "url": "https://github.com/blackbaud/skyux/blob/9e56067/libs/components/icon/testing/src/modules/icon/icon-harness.ts#L37"
574
574
  }
575
575
  ],
576
576
  "type": {
@@ -602,10 +602,10 @@
602
602
  },
603
603
  "sources": [
604
604
  {
605
- "fileName": "projects/icon/src/testing/icon/icon-harness.ts",
605
+ "fileName": "projects/icon/src/testing/modules/icon/icon-harness.ts",
606
606
  "line": 54,
607
607
  "character": 15,
608
- "url": "https://github.com/blackbaud/skyux/blob/96254db/libs/components/icon/testing/src/icon/icon-harness.ts#L54"
608
+ "url": "https://github.com/blackbaud/skyux/blob/9e56067/libs/components/icon/testing/src/modules/icon/icon-harness.ts#L54"
609
609
  }
610
610
  ],
611
611
  "signatures": [
@@ -644,10 +644,10 @@
644
644
  },
645
645
  "sources": [
646
646
  {
647
- "fileName": "libs/components/icon/testing/src/icon/icon-harness.ts",
647
+ "fileName": "libs/components/icon/testing/src/modules/icon/icon-harness.ts",
648
648
  "line": 54,
649
649
  "character": 15,
650
- "url": "https://github.com/blackbaud/skyux/blob/96254db/libs/components/icon/testing/src/icon/icon-harness.ts#L54"
650
+ "url": "https://github.com/blackbaud/skyux/blob/9e56067/libs/components/icon/testing/src/modules/icon/icon-harness.ts#L54"
651
651
  }
652
652
  ],
653
653
  "type": {
@@ -679,10 +679,10 @@
679
679
  },
680
680
  "sources": [
681
681
  {
682
- "fileName": "projects/icon/src/testing/icon/icon-harness.ts",
682
+ "fileName": "projects/icon/src/testing/modules/icon/icon-harness.ts",
683
683
  "line": 61,
684
684
  "character": 15,
685
- "url": "https://github.com/blackbaud/skyux/blob/96254db/libs/components/icon/testing/src/icon/icon-harness.ts#L61"
685
+ "url": "https://github.com/blackbaud/skyux/blob/9e56067/libs/components/icon/testing/src/modules/icon/icon-harness.ts#L61"
686
686
  }
687
687
  ],
688
688
  "signatures": [
@@ -702,10 +702,10 @@
702
702
  },
703
703
  "sources": [
704
704
  {
705
- "fileName": "libs/components/icon/testing/src/icon/icon-harness.ts",
705
+ "fileName": "libs/components/icon/testing/src/modules/icon/icon-harness.ts",
706
706
  "line": 61,
707
707
  "character": 15,
708
- "url": "https://github.com/blackbaud/skyux/blob/96254db/libs/components/icon/testing/src/icon/icon-harness.ts#L61"
708
+ "url": "https://github.com/blackbaud/skyux/blob/9e56067/libs/components/icon/testing/src/modules/icon/icon-harness.ts#L61"
709
709
  }
710
710
  ],
711
711
  "type": {
@@ -821,10 +821,10 @@
821
821
  },
822
822
  "sources": [
823
823
  {
824
- "fileName": "projects/icon/src/testing/icon/icon-harness.ts",
824
+ "fileName": "projects/icon/src/testing/modules/icon/icon-harness.ts",
825
825
  "line": 76,
826
826
  "character": 15,
827
- "url": "https://github.com/blackbaud/skyux/blob/96254db/libs/components/icon/testing/src/icon/icon-harness.ts#L76"
827
+ "url": "https://github.com/blackbaud/skyux/blob/9e56067/libs/components/icon/testing/src/modules/icon/icon-harness.ts#L76"
828
828
  }
829
829
  ],
830
830
  "signatures": [
@@ -844,10 +844,10 @@
844
844
  },
845
845
  "sources": [
846
846
  {
847
- "fileName": "libs/components/icon/testing/src/icon/icon-harness.ts",
847
+ "fileName": "libs/components/icon/testing/src/modules/icon/icon-harness.ts",
848
848
  "line": 76,
849
849
  "character": 15,
850
- "url": "https://github.com/blackbaud/skyux/blob/96254db/libs/components/icon/testing/src/icon/icon-harness.ts#L76"
850
+ "url": "https://github.com/blackbaud/skyux/blob/9e56067/libs/components/icon/testing/src/modules/icon/icon-harness.ts#L76"
851
851
  }
852
852
  ],
853
853
  "type": {
@@ -880,10 +880,10 @@
880
880
  },
881
881
  "sources": [
882
882
  {
883
- "fileName": "projects/icon/src/testing/icon/icon-harness.ts",
883
+ "fileName": "projects/icon/src/testing/modules/icon/icon-harness.ts",
884
884
  "line": 19,
885
885
  "character": 16,
886
- "url": "https://github.com/blackbaud/skyux/blob/96254db/libs/components/icon/testing/src/icon/icon-harness.ts#L19"
886
+ "url": "https://github.com/blackbaud/skyux/blob/9e56067/libs/components/icon/testing/src/modules/icon/icon-harness.ts#L19"
887
887
  }
888
888
  ],
889
889
  "signatures": [
@@ -919,10 +919,10 @@
919
919
  },
920
920
  "sources": [
921
921
  {
922
- "fileName": "libs/components/icon/testing/src/icon/icon-harness.ts",
922
+ "fileName": "libs/components/icon/testing/src/modules/icon/icon-harness.ts",
923
923
  "line": 19,
924
924
  "character": 16,
925
- "url": "https://github.com/blackbaud/skyux/blob/96254db/libs/components/icon/testing/src/icon/icon-harness.ts#L19"
925
+ "url": "https://github.com/blackbaud/skyux/blob/9e56067/libs/components/icon/testing/src/modules/icon/icon-harness.ts#L19"
926
926
  }
927
927
  ],
928
928
  "parameters": [
@@ -984,10 +984,10 @@
984
984
  ],
985
985
  "sources": [
986
986
  {
987
- "fileName": "projects/icon/src/testing/icon/icon-harness.ts",
987
+ "fileName": "projects/icon/src/testing/modules/icon/icon-harness.ts",
988
988
  "line": 9,
989
989
  "character": 13,
990
- "url": "https://github.com/blackbaud/skyux/blob/96254db/libs/components/icon/testing/src/icon/icon-harness.ts#L9"
990
+ "url": "https://github.com/blackbaud/skyux/blob/9e56067/libs/components/icon/testing/src/modules/icon/icon-harness.ts#L9"
991
991
  }
992
992
  ],
993
993
  "extendedTypes": [
@@ -1080,7 +1080,7 @@
1080
1080
  "fileName": "libs/components/core/testing/src/shared/harness-filters.ts",
1081
1081
  "line": 11,
1082
1082
  "character": 2,
1083
- "url": "https://github.com/blackbaud/skyux/blob/96254db/libs/components/core/testing/src/shared/harness-filters.ts#L11"
1083
+ "url": "https://github.com/blackbaud/skyux/blob/9e56067/libs/components/core/testing/src/shared/harness-filters.ts#L11"
1084
1084
  }
1085
1085
  ],
1086
1086
  "type": {
@@ -1153,10 +1153,10 @@
1153
1153
  ],
1154
1154
  "sources": [
1155
1155
  {
1156
- "fileName": "projects/icon/src/testing/icon/icon-harness-filters.ts",
1156
+ "fileName": "projects/icon/src/testing/modules/icon/icon-harness-filters.ts",
1157
1157
  "line": 7,
1158
1158
  "character": 17,
1159
- "url": "https://github.com/blackbaud/skyux/blob/96254db/libs/components/icon/testing/src/icon/icon-harness-filters.ts#L7"
1159
+ "url": "https://github.com/blackbaud/skyux/blob/9e56067/libs/components/icon/testing/src/modules/icon/icon-harness-filters.ts#L7"
1160
1160
  }
1161
1161
  ],
1162
1162
  "extendedTypes": [
@@ -1234,19 +1234,19 @@
1234
1234
  "qualifiedName": "SkyIconComponent.variant"
1235
1235
  },
1236
1236
  "28": {
1237
- "sourceFileName": "libs/components/icon/testing/src/icon/icon-harness.ts",
1237
+ "sourceFileName": "libs/components/icon/testing/src/modules/icon/icon-harness.ts",
1238
1238
  "qualifiedName": "SkyIconHarness"
1239
1239
  },
1240
1240
  "30": {
1241
- "sourceFileName": "libs/components/icon/testing/src/icon/icon-harness.ts",
1241
+ "sourceFileName": "libs/components/icon/testing/src/modules/icon/icon-harness.ts",
1242
1242
  "qualifiedName": "SkyIconHarness.with"
1243
1243
  },
1244
1244
  "31": {
1245
- "sourceFileName": "libs/components/icon/testing/src/icon/icon-harness.ts",
1245
+ "sourceFileName": "libs/components/icon/testing/src/modules/icon/icon-harness.ts",
1246
1246
  "qualifiedName": "SkyIconHarness.with"
1247
1247
  },
1248
1248
  "32": {
1249
- "sourceFileName": "libs/components/icon/testing/src/icon/icon-harness.ts",
1249
+ "sourceFileName": "libs/components/icon/testing/src/modules/icon/icon-harness.ts",
1250
1250
  "qualifiedName": "filters"
1251
1251
  },
1252
1252
  "38": {
@@ -1262,43 +1262,43 @@
1262
1262
  "qualifiedName": "locatorFactory"
1263
1263
  },
1264
1264
  "41": {
1265
- "sourceFileName": "libs/components/icon/testing/src/icon/icon-harness.ts",
1265
+ "sourceFileName": "libs/components/icon/testing/src/modules/icon/icon-harness.ts",
1266
1266
  "qualifiedName": "SkyIconHarness.getIconName"
1267
1267
  },
1268
1268
  "42": {
1269
- "sourceFileName": "libs/components/icon/testing/src/icon/icon-harness.ts",
1269
+ "sourceFileName": "libs/components/icon/testing/src/modules/icon/icon-harness.ts",
1270
1270
  "qualifiedName": "SkyIconHarness.getIconName"
1271
1271
  },
1272
1272
  "43": {
1273
- "sourceFileName": "libs/components/icon/testing/src/icon/icon-harness.ts",
1273
+ "sourceFileName": "libs/components/icon/testing/src/modules/icon/icon-harness.ts",
1274
1274
  "qualifiedName": "SkyIconHarness.getIconSize"
1275
1275
  },
1276
1276
  "44": {
1277
- "sourceFileName": "libs/components/icon/testing/src/icon/icon-harness.ts",
1277
+ "sourceFileName": "libs/components/icon/testing/src/modules/icon/icon-harness.ts",
1278
1278
  "qualifiedName": "SkyIconHarness.getIconSize"
1279
1279
  },
1280
1280
  "45": {
1281
- "sourceFileName": "libs/components/icon/testing/src/icon/icon-harness.ts",
1281
+ "sourceFileName": "libs/components/icon/testing/src/modules/icon/icon-harness.ts",
1282
1282
  "qualifiedName": "SkyIconHarness.getIconType"
1283
1283
  },
1284
1284
  "46": {
1285
- "sourceFileName": "libs/components/icon/testing/src/icon/icon-harness.ts",
1285
+ "sourceFileName": "libs/components/icon/testing/src/modules/icon/icon-harness.ts",
1286
1286
  "qualifiedName": "SkyIconHarness.getIconType"
1287
1287
  },
1288
1288
  "47": {
1289
- "sourceFileName": "libs/components/icon/testing/src/icon/icon-harness.ts",
1289
+ "sourceFileName": "libs/components/icon/testing/src/modules/icon/icon-harness.ts",
1290
1290
  "qualifiedName": "SkyIconHarness.getVariant"
1291
1291
  },
1292
1292
  "48": {
1293
- "sourceFileName": "libs/components/icon/testing/src/icon/icon-harness.ts",
1293
+ "sourceFileName": "libs/components/icon/testing/src/modules/icon/icon-harness.ts",
1294
1294
  "qualifiedName": "SkyIconHarness.getVariant"
1295
1295
  },
1296
1296
  "49": {
1297
- "sourceFileName": "libs/components/icon/testing/src/icon/icon-harness.ts",
1297
+ "sourceFileName": "libs/components/icon/testing/src/modules/icon/icon-harness.ts",
1298
1298
  "qualifiedName": "SkyIconHarness.isFixedWidth"
1299
1299
  },
1300
1300
  "50": {
1301
- "sourceFileName": "libs/components/icon/testing/src/icon/icon-harness.ts",
1301
+ "sourceFileName": "libs/components/icon/testing/src/modules/icon/icon-harness.ts",
1302
1302
  "qualifiedName": "SkyIconHarness.isFixedWidth"
1303
1303
  },
1304
1304
  "64": {
@@ -1310,7 +1310,7 @@
1310
1310
  "qualifiedName": "ComponentHarness.host"
1311
1311
  },
1312
1312
  "84": {
1313
- "sourceFileName": "libs/components/icon/testing/src/icon/icon-harness-filters.ts",
1313
+ "sourceFileName": "libs/components/icon/testing/src/modules/icon/icon-harness-filters.ts",
1314
1314
  "qualifiedName": "SkyIconHarnessFilters"
1315
1315
  },
1316
1316
  "85": {
@@ -1370,18 +1370,18 @@
1370
1370
  "@angular/core": "18.2.8",
1371
1371
  "@angular/platform-browser": "18.2.8",
1372
1372
  "@angular/router": "18.2.8",
1373
- "@blackbaud/skyux-design-tokens": "0.0.41",
1373
+ "@blackbaud/skyux-design-tokens": "0.0.42",
1374
1374
  "@schematics/angular": "18.2.8",
1375
- "@skyux-sdk/testing": "11.22.0",
1376
- "@skyux/assets": "11.22.0",
1377
- "@skyux/core": "11.22.0",
1378
- "@skyux/help-inline": "11.22.0",
1379
- "@skyux/i18n": "11.22.0",
1380
- "@skyux/icon": "11.22.0",
1375
+ "@skyux-sdk/testing": "11.24.0",
1376
+ "@skyux/assets": "11.24.0",
1377
+ "@skyux/core": "11.24.0",
1378
+ "@skyux/help-inline": "11.24.0",
1379
+ "@skyux/i18n": "11.24.0",
1380
+ "@skyux/icon": "11.24.0",
1381
1381
  "@skyux/icons": "7.8.0",
1382
- "@skyux/indicators": "11.22.0",
1383
- "@skyux/popovers": "11.22.0",
1384
- "@skyux/theme": "11.22.0",
1382
+ "@skyux/indicators": "11.24.0",
1383
+ "@skyux/popovers": "11.24.0",
1384
+ "@skyux/theme": "11.24.0",
1385
1385
  "@types/node": "20.14.12",
1386
1386
  "axe-core": "4.10.0",
1387
1387
  "cross-spawn": "7.0.3",
@@ -1402,18 +1402,18 @@
1402
1402
  "@angular/core": "18.2.8",
1403
1403
  "@angular/platform-browser": "18.2.8",
1404
1404
  "@angular/router": "18.2.8",
1405
- "@blackbaud/skyux-design-tokens": "0.0.41",
1405
+ "@blackbaud/skyux-design-tokens": "0.0.42",
1406
1406
  "@schematics/angular": "18.2.8",
1407
- "@skyux-sdk/testing": "11.22.0",
1408
- "@skyux/assets": "11.22.0",
1409
- "@skyux/core": "11.22.0",
1410
- "@skyux/help-inline": "11.22.0",
1411
- "@skyux/i18n": "11.22.0",
1412
- "@skyux/icon": "11.22.0",
1407
+ "@skyux-sdk/testing": "11.24.0",
1408
+ "@skyux/assets": "11.24.0",
1409
+ "@skyux/core": "11.24.0",
1410
+ "@skyux/help-inline": "11.24.0",
1411
+ "@skyux/i18n": "11.24.0",
1412
+ "@skyux/icon": "11.24.0",
1413
1413
  "@skyux/icons": "7.8.0",
1414
- "@skyux/indicators": "11.22.0",
1415
- "@skyux/popovers": "11.22.0",
1416
- "@skyux/theme": "11.22.0",
1414
+ "@skyux/indicators": "11.24.0",
1415
+ "@skyux/popovers": "11.24.0",
1416
+ "@skyux/theme": "11.24.0",
1417
1417
  "@types/node": "20.14.12",
1418
1418
  "axe-core": "4.10.0",
1419
1419
  "cross-spawn": "7.0.3",
@@ -34,10 +34,10 @@ export class SkyIconSvgComponent {
34
34
  #resolverSvc;
35
35
  #iconInfo;
36
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"] }] }); }
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()\" />\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
39
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyIconSvgComponent, decorators: [{
40
40
  type: Component,
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"] }]
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()\" />\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1zdmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2ljb24vc3JjL2xpYi9tb2R1bGVzL2ljb24vaWNvbi1zdmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2ljb24vc3JjL2xpYi9tb2R1bGVzL2ljb24vaWNvbi1zdmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFcEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWpELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQUd4RSxNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUM7QUFFckIsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLENBQUM7SUFDcEIsQ0FBQyxFQUFFLEVBQUUsU0FBUyxDQUFDO0lBQ2YsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLHVCQUF1QixDQUFDO0lBQ3RDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztJQUM5QixDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsbUJBQW1CLENBQUM7SUFDOUIsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLG1CQUFtQixDQUFDO0lBQzlCLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztDQUMvQixDQUFDLENBQUM7QUFFSDs7R0FFRztBQVdILE1BQU0sT0FBTyxtQkFBbUI7SUFWaEM7UUFXVyxpQkFBWSxHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBRTFDLGFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7UUFDcEMsYUFBUSxHQUFHLEtBQUssRUFBVSxDQUFDO1FBQzNCLGdCQUFXLEdBQUcsS0FBSyxFQUFzQixDQUFDO1FBRWpELGNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ2pDLE9BQU87Z0JBQ0wsR0FBRyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ3BCLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNyQixPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRTthQUM1QixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFFZ0IsYUFBUSxHQUFHLFFBQVEsQ0FDcEMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQy9CLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQ2pCLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUMzQixJQUFJLENBQUMsR0FBRyxFQUNSLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsRUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FDYixDQUNGLEVBQ0QsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUN6QixDQUNGLENBQUM7S0FDSDtJQTFCVSxZQUFZLENBQXFDO0lBTWpELFNBQVMsQ0FNZjs4R0FiUSxtQkFBbUI7a0dBQW5CLG1CQUFtQiwrZENqQ2hDLHlMQU9BLDA5Q0RtQlksT0FBTzs7MkZBT04sbUJBQW1CO2tCQVYvQixTQUFTOytCQUNFLGNBQWMsY0FDWixJQUFJLFdBQ1AsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdDbGFzcywgTmdTdHlsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBpbmplY3QsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0b09ic2VydmFibGUsIHRvU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBvZiwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNreUljb25TdmdSZXNvbHZlclNlcnZpY2UgfSBmcm9tICcuL2ljb24tc3ZnLXJlc29sdmVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5SWNvblZhcmlhbnRUeXBlIH0gZnJvbSAnLi90eXBlcy9pY29uLXZhcmlhbnQtdHlwZSc7XG5cbmNvbnN0IFNJWkVfQkFTRSA9IDE2O1xuXG5jb25zdCBTSVpFUyA9IG5ldyBNYXAoW1xuICBbJycsIFNJWkVfQkFTRV0sXG4gIFsnbGcnLCAyMS4zMzMgLyogU0laRV9CQVNFICogKDQvMykgKi9dLFxuICBbJzJ4JywgMzIgLyogU0laRV9CQVNFICogMiAqL10sXG4gIFsnM3gnLCA0OCAvKiBTSVpFX0JBU0UgKiAzICovXSxcbiAgWyc0eCcsIDY0IC8qIFNJWkVfQkFTRSAqIDQgKi9dLFxuICBbJzV4JywgODAgLyogU0laRV9CQVNFICogNSAqL10sXG5dKTtcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWljb24tc3ZnJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nQ2xhc3MsIE5nU3R5bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vaWNvbi1zdmcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFtcbiAgICAnLi9pY29uLXN2Zy5kZWZhdWx0LmNvbXBvbmVudC5zY3NzJyxcbiAgICAnLi9pY29uLXN2Zy5tb2Rlcm4uY29tcG9uZW50LnNjc3MnLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lJY29uU3ZnQ29tcG9uZW50IHtcbiAgcmVhZG9ubHkgI3Jlc29sdmVyU3ZjID0gaW5qZWN0KFNreUljb25TdmdSZXNvbHZlclNlcnZpY2UpO1xuXG4gIHB1YmxpYyByZWFkb25seSBpY29uTmFtZSA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcbiAgcHVibGljIHJlYWRvbmx5IGljb25TaXplID0gaW5wdXQ8c3RyaW5nPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgaWNvblZhcmlhbnQgPSBpbnB1dDxTa3lJY29uVmFyaWFudFR5cGU+KCk7XG5cbiAgcmVhZG9ubHkgI2ljb25JbmZvID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICBzcmM6IHRoaXMuaWNvbk5hbWUoKSxcbiAgICAgIHNpemU6IHRoaXMuaWNvblNpemUoKSxcbiAgICAgIHZhcmlhbnQ6IHRoaXMuaWNvblZhcmlhbnQoKSxcbiAgICB9O1xuICB9KTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaWNvbkhyZWYgPSB0b1NpZ25hbChcbiAgICB0b09ic2VydmFibGUodGhpcy4jaWNvbkluZm8pLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKGluZm8pID0+XG4gICAgICAgIHRoaXMuI3Jlc29sdmVyU3ZjLnJlc29sdmVIcmVmKFxuICAgICAgICAgIGluZm8uc3JjLFxuICAgICAgICAgIFNJWkVTLmdldChpbmZvLnNpemUgPz8gJycpLFxuICAgICAgICAgIGluZm8udmFyaWFudCxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgICBjYXRjaEVycm9yKCgpID0+IG9mKCcnKSksXG4gICAgKSxcbiAgKTtcbn1cbiIsIjxzdmdcbiAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgY2xhc3M9XCJza3ktaWNvbi1zdmctaW1nXCJcbiAgW25nQ2xhc3NdPVwiaWNvblNpemUoKSAmJiAnc2t5LWljb24tc3ZnLWltZy0nICsgaWNvblNpemUoKVwiXG4+XG4gIDx1c2UgW2F0dHIueGxpbms6aHJlZl09XCJpY29uSHJlZigpXCI+PC91c2U+XG48L3N2Zz5cbiJdfQ==
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1zdmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2ljb24vc3JjL2xpYi9tb2R1bGVzL2ljb24vaWNvbi1zdmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2ljb24vc3JjL2xpYi9tb2R1bGVzL2ljb24vaWNvbi1zdmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFcEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWpELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQUd4RSxNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUM7QUFFckIsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLENBQUM7SUFDcEIsQ0FBQyxFQUFFLEVBQUUsU0FBUyxDQUFDO0lBQ2YsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLHVCQUF1QixDQUFDO0lBQ3RDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztJQUM5QixDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsbUJBQW1CLENBQUM7SUFDOUIsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLG1CQUFtQixDQUFDO0lBQzlCLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztDQUMvQixDQUFDLENBQUM7QUFFSDs7R0FFRztBQVdILE1BQU0sT0FBTyxtQkFBbUI7SUFWaEM7UUFXVyxpQkFBWSxHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBRTFDLGFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7UUFDcEMsYUFBUSxHQUFHLEtBQUssRUFBVSxDQUFDO1FBQzNCLGdCQUFXLEdBQUcsS0FBSyxFQUFzQixDQUFDO1FBRWpELGNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ2pDLE9BQU87Z0JBQ0wsR0FBRyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ3BCLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNyQixPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRTthQUM1QixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFFZ0IsYUFBUSxHQUFHLFFBQVEsQ0FDcEMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQy9CLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQ2pCLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUMzQixJQUFJLENBQUMsR0FBRyxFQUNSLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsRUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FDYixDQUNGLEVBQ0QsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUN6QixDQUNGLENBQUM7S0FDSDtJQTFCVSxZQUFZLENBQXFDO0lBTWpELFNBQVMsQ0FNZjs4R0FiUSxtQkFBbUI7a0dBQW5CLG1CQUFtQiwrZENqQ2hDLHFMQU9BLDA5Q0RtQlksT0FBTzs7MkZBT04sbUJBQW1CO2tCQVYvQixTQUFTOytCQUNFLGNBQWMsY0FDWixJQUFJLFdBQ1AsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdDbGFzcywgTmdTdHlsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBpbmplY3QsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0b09ic2VydmFibGUsIHRvU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBvZiwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNreUljb25TdmdSZXNvbHZlclNlcnZpY2UgfSBmcm9tICcuL2ljb24tc3ZnLXJlc29sdmVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5SWNvblZhcmlhbnRUeXBlIH0gZnJvbSAnLi90eXBlcy9pY29uLXZhcmlhbnQtdHlwZSc7XG5cbmNvbnN0IFNJWkVfQkFTRSA9IDE2O1xuXG5jb25zdCBTSVpFUyA9IG5ldyBNYXAoW1xuICBbJycsIFNJWkVfQkFTRV0sXG4gIFsnbGcnLCAyMS4zMzMgLyogU0laRV9CQVNFICogKDQvMykgKi9dLFxuICBbJzJ4JywgMzIgLyogU0laRV9CQVNFICogMiAqL10sXG4gIFsnM3gnLCA0OCAvKiBTSVpFX0JBU0UgKiAzICovXSxcbiAgWyc0eCcsIDY0IC8qIFNJWkVfQkFTRSAqIDQgKi9dLFxuICBbJzV4JywgODAgLyogU0laRV9CQVNFICogNSAqL10sXG5dKTtcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWljb24tc3ZnJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nQ2xhc3MsIE5nU3R5bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vaWNvbi1zdmcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFtcbiAgICAnLi9pY29uLXN2Zy5kZWZhdWx0LmNvbXBvbmVudC5zY3NzJyxcbiAgICAnLi9pY29uLXN2Zy5tb2Rlcm4uY29tcG9uZW50LnNjc3MnLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lJY29uU3ZnQ29tcG9uZW50IHtcbiAgcmVhZG9ubHkgI3Jlc29sdmVyU3ZjID0gaW5qZWN0KFNreUljb25TdmdSZXNvbHZlclNlcnZpY2UpO1xuXG4gIHB1YmxpYyByZWFkb25seSBpY29uTmFtZSA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcbiAgcHVibGljIHJlYWRvbmx5IGljb25TaXplID0gaW5wdXQ8c3RyaW5nPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgaWNvblZhcmlhbnQgPSBpbnB1dDxTa3lJY29uVmFyaWFudFR5cGU+KCk7XG5cbiAgcmVhZG9ubHkgI2ljb25JbmZvID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICBzcmM6IHRoaXMuaWNvbk5hbWUoKSxcbiAgICAgIHNpemU6IHRoaXMuaWNvblNpemUoKSxcbiAgICAgIHZhcmlhbnQ6IHRoaXMuaWNvblZhcmlhbnQoKSxcbiAgICB9O1xuICB9KTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaWNvbkhyZWYgPSB0b1NpZ25hbChcbiAgICB0b09ic2VydmFibGUodGhpcy4jaWNvbkluZm8pLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKGluZm8pID0+XG4gICAgICAgIHRoaXMuI3Jlc29sdmVyU3ZjLnJlc29sdmVIcmVmKFxuICAgICAgICAgIGluZm8uc3JjLFxuICAgICAgICAgIFNJWkVTLmdldChpbmZvLnNpemUgPz8gJycpLFxuICAgICAgICAgIGluZm8udmFyaWFudCxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgICBjYXRjaEVycm9yKCgpID0+IG9mKCcnKSksXG4gICAgKSxcbiAgKTtcbn1cbiIsIjxzdmdcbiAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgY2xhc3M9XCJza3ktaWNvbi1zdmctaW1nXCJcbiAgW25nQ2xhc3NdPVwiaWNvblNpemUoKSAmJiAnc2t5LWljb24tc3ZnLWltZy0nICsgaWNvblNpemUoKVwiXG4+XG4gIDx1c2UgW2F0dHIueGxpbms6aHJlZl09XCJpY29uSHJlZigpXCIgLz5cbjwvc3ZnPlxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1oYXJuZXNzLWZpbHRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvaWNvbi90ZXN0aW5nL3NyYy9tb2R1bGVzL2ljb24vaWNvbi1oYXJuZXNzLWZpbHRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNreUhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnQHNreXV4L2NvcmUvdGVzdGluZyc7XG5cbi8qKlxuICogQSBzZXQgb2YgY3JpdGVyaWEgdGhhdCBjYW4gYmUgdXNlZCB0byBmaWx0ZXIgYSBsaXN0IG9mIFNreUljb25IYXJuZXNzIGluc3RhbmNlcy5cbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1pbnRlcmZhY2UsIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1vYmplY3QtdHlwZVxuZXhwb3J0IGludGVyZmFjZSBTa3lJY29uSGFybmVzc0ZpbHRlcnMgZXh0ZW5kcyBTa3lIYXJuZXNzRmlsdGVycyB7fVxuIl19
@@ -0,0 +1,87 @@
1
+ import { SkyComponentHarness } from '@skyux/core/testing';
2
+ /**
3
+ * Harness for interacting with an icon component in tests.
4
+ */
5
+ export class SkyIconHarness extends SkyComponentHarness {
6
+ /**
7
+ * @internal
8
+ */
9
+ static { this.hostSelector = 'sky-icon'; }
10
+ /**
11
+ * Gets a `HarnessPredicate` that can be used to search for a
12
+ * `SkyIconHarness` that meets certain criteria.
13
+ */
14
+ static with(filters) {
15
+ return SkyIconHarness.getDataSkyIdPredicate(filters);
16
+ }
17
+ /**
18
+ * Gets the icon name.
19
+ */
20
+ async getIconName() {
21
+ // No need to check for null here since #getIcon() will throw an error when
22
+ // icon name is null.
23
+ return (await this.#getSpecifiedIconInfo()).icon;
24
+ }
25
+ /**
26
+ * Gets the icon size.
27
+ */
28
+ async getIconSize() {
29
+ const iconClasses = await this.#getIconClasses();
30
+ for (const iconClass of iconClasses) {
31
+ // match a class name that starts with `fa-` and follows with `lg`, `2x`, `3x`, `4x`, `5x`
32
+ if (/^fa-(?=2xs|lg|[2-5]+x)/.test(iconClass)) {
33
+ return iconClass.replace('fa-', '');
34
+ }
35
+ }
36
+ return undefined;
37
+ }
38
+ /**
39
+ * Gets the icon type.
40
+ * @deprecated The `iconType` input is no longer used. This method will be removed in a future version.
41
+ */
42
+ async getIconType() {
43
+ return (await this.#getSpecifiedIconInfo()).iconType || 'fa';
44
+ }
45
+ /**
46
+ * Gets if the icon is a variant.
47
+ */
48
+ async getVariant() {
49
+ const iconInfo = await this.#getSpecifiedIconInfo();
50
+ if (iconInfo.iconType === 'skyux') {
51
+ return iconInfo.variant || 'line';
52
+ }
53
+ throw new Error('Variant cannot be determined because variants are only assigned to icons with type `skyux`.');
54
+ }
55
+ /**
56
+ * Whether the icon has fixed width.
57
+ */
58
+ async isFixedWidth() {
59
+ const icon = await this.#getIcon();
60
+ return await icon.hasClass(`fa-fw`);
61
+ }
62
+ async #getIcon() {
63
+ const icon = await this.locatorForOptional('.sky-icon')();
64
+ if (icon) {
65
+ return icon;
66
+ }
67
+ throw new Error('Icon could not be rendered.');
68
+ }
69
+ async #getIconClasses() {
70
+ const iconClasses = await (await this.#getIcon()).getProperty('classList');
71
+ return Array.from(iconClasses);
72
+ }
73
+ async #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 this.#getIcon();
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
+ };
85
+ }
86
+ }
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2ljb24vdGVzdGluZy9zcmMvbW9kdWxlcy9pY29uL2ljb24taGFybmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUkxRDs7R0FFRztBQUNILE1BQU0sT0FBTyxjQUFlLFNBQVEsbUJBQW1CO0lBQ3JEOztPQUVHO2FBQ1csaUJBQVksR0FBRyxVQUFVLENBQUM7SUFFeEM7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FDaEIsT0FBOEI7UUFFOUIsT0FBTyxjQUFjLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFdBQVc7UUFDdEIsMkVBQTJFO1FBQzNFLHFCQUFxQjtRQUNyQixPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDLElBQWMsQ0FBQztJQUM3RCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsV0FBVztRQUN0QixNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUVqRCxLQUFLLE1BQU0sU0FBUyxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ3BDLDBGQUEwRjtZQUMxRixJQUFJLHdCQUF3QixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO2dCQUM3QyxPQUFPLFNBQVMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3RDLENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVEOzs7T0FHRztJQUNJLEtBQUssQ0FBQyxXQUFXO1FBQ3RCLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQztJQUMvRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsVUFBVTtRQUNyQixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBRXBELElBQUksUUFBUSxDQUFDLFFBQVEsS0FBSyxPQUFPLEVBQUUsQ0FBQztZQUNsQyxPQUFPLFFBQVEsQ0FBQyxPQUFPLElBQUksTUFBTSxDQUFDO1FBQ3BDLENBQUM7UUFFRCxNQUFNLElBQUksS0FBSyxDQUNiLDZGQUE2RixDQUM5RixDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFlBQVk7UUFDdkIsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbkMsT0FBTyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELEtBQUssQ0FBQyxRQUFRO1FBQ1osTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztRQUUxRCxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1QsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxLQUFLLENBQUMsZUFBZTtRQUNuQixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDM0UsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxLQUFLLENBQUMscUJBQXFCO1FBS3pCLHFFQUFxRTtRQUNyRSxxRUFBcUU7UUFDckUsbUVBQW1FO1FBQ25FLHNFQUFzRTtRQUN0RSxzRUFBc0U7UUFDdEUsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFbkMsT0FBTztZQUNMLElBQUksRUFBRSxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDO1lBQzlDLFFBQVEsRUFBRSxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsb0JBQW9CLENBQUM7WUFDdkQsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyx1QkFBdUIsQ0FBQztTQUMxRCxDQUFDO0lBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhhcm5lc3NQcmVkaWNhdGUsIFRlc3RFbGVtZW50IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuaW1wb3J0IHsgU2t5Q29tcG9uZW50SGFybmVzcyB9IGZyb20gJ0Bza3l1eC9jb3JlL3Rlc3RpbmcnO1xuXG5pbXBvcnQgeyBTa3lJY29uSGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL2ljb24taGFybmVzcy1maWx0ZXJzJztcblxuLyoqXG4gKiBIYXJuZXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIGFuIGljb24gY29tcG9uZW50IGluIHRlc3RzLlxuICovXG5leHBvcnQgY2xhc3MgU2t5SWNvbkhhcm5lc3MgZXh0ZW5kcyBTa3lDb21wb25lbnRIYXJuZXNzIHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnc2t5LWljb24nO1xuXG4gIC8qKlxuICAgKiBHZXRzIGEgYEhhcm5lc3NQcmVkaWNhdGVgIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VhcmNoIGZvciBhXG4gICAqIGBTa3lJY29uSGFybmVzc2AgdGhhdCBtZWV0cyBjZXJ0YWluIGNyaXRlcmlhLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB3aXRoKFxuICAgIGZpbHRlcnM6IFNreUljb25IYXJuZXNzRmlsdGVycyxcbiAgKTogSGFybmVzc1ByZWRpY2F0ZTxTa3lJY29uSGFybmVzcz4ge1xuICAgIHJldHVybiBTa3lJY29uSGFybmVzcy5nZXREYXRhU2t5SWRQcmVkaWNhdGUoZmlsdGVycyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgaWNvbiBuYW1lLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEljb25OYW1lKCk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgLy8gTm8gbmVlZCB0byBjaGVjayBmb3IgbnVsbCBoZXJlIHNpbmNlICNnZXRJY29uKCkgd2lsbCB0aHJvdyBhbiBlcnJvciB3aGVuXG4gICAgLy8gaWNvbiBuYW1lIGlzIG51bGwuXG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLiNnZXRTcGVjaWZpZWRJY29uSW5mbygpKS5pY29uIGFzIHN0cmluZztcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBpY29uIHNpemUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0SWNvblNpemUoKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgICBjb25zdCBpY29uQ2xhc3NlcyA9IGF3YWl0IHRoaXMuI2dldEljb25DbGFzc2VzKCk7XG5cbiAgICBmb3IgKGNvbnN0IGljb25DbGFzcyBvZiBpY29uQ2xhc3Nlcykge1xuICAgICAgLy8gbWF0Y2ggYSBjbGFzcyBuYW1lIHRoYXQgc3RhcnRzIHdpdGggYGZhLWAgYW5kIGZvbGxvd3Mgd2l0aCBgbGdgLCBgMnhgLCBgM3hgLCBgNHhgLCBgNXhgXG4gICAgICBpZiAoL15mYS0oPz0yeHN8bGd8WzItNV0reCkvLnRlc3QoaWNvbkNsYXNzKSkge1xuICAgICAgICByZXR1cm4gaWNvbkNsYXNzLnJlcGxhY2UoJ2ZhLScsICcnKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGljb24gdHlwZS5cbiAgICogQGRlcHJlY2F0ZWQgVGhlIGBpY29uVHlwZWAgaW5wdXQgaXMgbm8gbG9uZ2VyIHVzZWQuIFRoaXMgbWV0aG9kIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSB2ZXJzaW9uLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEljb25UeXBlKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLiNnZXRTcGVjaWZpZWRJY29uSW5mbygpKS5pY29uVHlwZSB8fCAnZmEnO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgaWYgdGhlIGljb24gaXMgYSB2YXJpYW50LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFZhcmlhbnQoKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgICBjb25zdCBpY29uSW5mbyA9IGF3YWl0IHRoaXMuI2dldFNwZWNpZmllZEljb25JbmZvKCk7XG5cbiAgICBpZiAoaWNvbkluZm8uaWNvblR5cGUgPT09ICdza3l1eCcpIHtcbiAgICAgIHJldHVybiBpY29uSW5mby52YXJpYW50IHx8ICdsaW5lJztcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAnVmFyaWFudCBjYW5ub3QgYmUgZGV0ZXJtaW5lZCBiZWNhdXNlIHZhcmlhbnRzIGFyZSBvbmx5IGFzc2lnbmVkIHRvIGljb25zIHdpdGggdHlwZSBgc2t5dXhgLicsXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBpY29uIGhhcyBmaXhlZCB3aWR0aC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc0ZpeGVkV2lkdGgoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgaWNvbiA9IGF3YWl0IHRoaXMuI2dldEljb24oKTtcbiAgICByZXR1cm4gYXdhaXQgaWNvbi5oYXNDbGFzcyhgZmEtZndgKTtcbiAgfVxuXG4gIGFzeW5jICNnZXRJY29uKCk6IFByb21pc2U8VGVzdEVsZW1lbnQ+IHtcbiAgICBjb25zdCBpY29uID0gYXdhaXQgdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoJy5za3ktaWNvbicpKCk7XG5cbiAgICBpZiAoaWNvbikge1xuICAgICAgcmV0dXJuIGljb247XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKCdJY29uIGNvdWxkIG5vdCBiZSByZW5kZXJlZC4nKTtcbiAgfVxuXG4gIGFzeW5jICNnZXRJY29uQ2xhc3NlcygpOiBQcm9taXNlPHN0cmluZ1tdPiB7XG4gICAgY29uc3QgaWNvbkNsYXNzZXMgPSBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0SWNvbigpKS5nZXRQcm9wZXJ0eSgnY2xhc3NMaXN0Jyk7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oaWNvbkNsYXNzZXMpO1xuICB9XG5cbiAgYXN5bmMgI2dldFNwZWNpZmllZEljb25JbmZvKCk6IFByb21pc2U8e1xuICAgIGljb246IHN0cmluZyB8IG51bGw7XG4gICAgaWNvblR5cGU6IHN0cmluZyB8IG51bGw7XG4gICAgdmFyaWFudDogc3RyaW5nIHwgbnVsbDtcbiAgfT4ge1xuICAgIC8vIFNpbmNlIFNLWSBVWCBpY29ucyBoYXZlIEZvbnQgQXdlc29tZSBhbHRlcm5hdGl2ZXMgdGhhdCBtYXkgYmUgdXNlZFxuICAgIC8vIGluIGRlZmF1bHQgdGhlbWUgaW5zdGVhZCBvZiB0aGUgaWNvbiBzcGVjaWZpZWQgYnkgdGhlIGNvbnN1bWVyLCB3ZVxuICAgIC8vIG5lZWQgdG8gZ2V0IHRoZSBzcGVjaWZpZWQgdmFsdWVzIHVzaW5nIGRhdGEtIGF0dHJpYnV0ZXMgYWRkZWQgYnlcbiAgICAvLyB0aGUgaWNvbiBjb21wb25lbnQuIFRoaXMgY29uZmxpY3RzIHdpdGggdGhlIHVzdWFsIHBhdHRlcm4gb2YgZ2l2aW5nXG4gICAgLy8gdGhlIGVmZmVjdGl2ZSBzdGF0ZSBvZiB0aGUgY29tcG9uZW50IGJ1dCBpcyBuZWNlc3NhcnkgaW4gdGhpcyBjYXNlLlxuICAgIGNvbnN0IGljb24gPSBhd2FpdCB0aGlzLiNnZXRJY29uKCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgaWNvbjogYXdhaXQgaWNvbi5nZXRBdHRyaWJ1dGUoJ2RhdGEtc2t5LWljb24nKSxcbiAgICAgIGljb25UeXBlOiBhd2FpdCBpY29uLmdldEF0dHJpYnV0ZSgnZGF0YS1za3ktaWNvbi10eXBlJyksXG4gICAgICB2YXJpYW50OiBhd2FpdCBpY29uLmdldEF0dHJpYnV0ZSgnZGF0YS1za3ktaWNvbi12YXJpYW50JyksXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -1,2 +1,2 @@
1
- export { SkyIconHarness } from './icon/icon-harness';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9pY29uL3Rlc3Rpbmcvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgU2t5SWNvbkhhcm5lc3MgfSBmcm9tICcuL2ljb24vaWNvbi1oYXJuZXNzJztcbmV4cG9ydCB7IFNreUljb25IYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vaWNvbi9pY29uLWhhcm5lc3MtZmlsdGVycyc7XG4iXX0=
1
+ export { SkyIconHarness } from './modules/icon/icon-harness';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9pY29uL3Rlc3Rpbmcvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgU2t5SWNvbkhhcm5lc3MgfSBmcm9tICcuL21vZHVsZXMvaWNvbi9pY29uLWhhcm5lc3MnO1xuZXhwb3J0IHsgU2t5SWNvbkhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9tb2R1bGVzL2ljb24vaWNvbi1oYXJuZXNzLWZpbHRlcnMnO1xuIl19
@@ -58,7 +58,7 @@ class SkyIconHarness extends SkyComponentHarness {
58
58
  */
59
59
  async isFixedWidth() {
60
60
  const icon = await this.#getIcon();
61
- return icon.hasClass(`fa-fw`);
61
+ return await icon.hasClass(`fa-fw`);
62
62
  }
63
63
  async #getIcon() {
64
64
  const icon = await this.locatorForOptional('.sky-icon')();
@@ -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 './public-api';\n"],"names":[],"mappings":";;AAKA;;AAEG;AACG,MAAO,cAAe,SAAQ,mBAAmB,CAAA;AACrD;;AAEG;aACW,IAAY,CAAA,YAAA,GAAG,UAAU,CAAC;AAExC;;;AAGG;IACI,OAAO,IAAI,CAChB,OAA8B,EAAA;AAE9B,QAAA,OAAO,cAAc,CAAC,qBAAqB,CAAC,OAAO,CAAC;;AAGtD;;AAEG;AACI,IAAA,MAAM,WAAW,GAAA;;;QAGtB,OAAO,CAAC,MAAM,IAAI,CAAC,qBAAqB,EAAE,EAAE,IAAc;;AAG5D;;AAEG;AACI,IAAA,MAAM,WAAW,GAAA;AACtB,QAAA,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE;AAEhD,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;;;AAIvC,QAAA,OAAO,SAAS;;AAGlB;;;AAGG;AACI,IAAA,MAAM,WAAW,GAAA;QACtB,OAAO,CAAC,MAAM,IAAI,CAAC,qBAAqB,EAAE,EAAE,QAAQ,IAAI,IAAI;;AAG9D;;AAEG;AACI,IAAA,MAAM,UAAU,GAAA;AACrB,QAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,qBAAqB,EAAE;AAEnD,QAAA,IAAI,QAAQ,CAAC,QAAQ,KAAK,OAAO,EAAE;AACjC,YAAA,OAAO,QAAQ,CAAC,OAAO,IAAI,MAAM;;AAGnC,QAAA,MAAM,IAAI,KAAK,CACb,6FAA6F,CAC9F;;AAGH;;AAEG;AACI,IAAA,MAAM,YAAY,GAAA;AACvB,QAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE;AAClC,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAA,KAAA,CAAO,CAAC;;AAG/B,IAAA,MAAM,QAAQ,GAAA;QACZ,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE;QAEzD,IAAI,IAAI,EAAE;AACR,YAAA,OAAO,IAAI;;AAGb,QAAA,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC;;AAGhD,IAAA,MAAM,eAAe,GAAA;AACnB,QAAA,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,EAAE,WAAW,CAAC,WAAW,CAAC;AAC1E,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;;AAGhC,IAAA,MAAM,qBAAqB,GAAA;;;;;;AAUzB,QAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE;QAElC,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;;;;AC/GL;;AAEG;;;;"}
1
+ {"version":3,"file":"skyux-icon-testing.mjs","sources":["../../../../../libs/components/icon/testing/src/modules/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 await 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;AAExC;;;AAGG;IACI,OAAO,IAAI,CAChB,OAA8B,EAAA;AAE9B,QAAA,OAAO,cAAc,CAAC,qBAAqB,CAAC,OAAO,CAAC;;AAGtD;;AAEG;AACI,IAAA,MAAM,WAAW,GAAA;;;QAGtB,OAAO,CAAC,MAAM,IAAI,CAAC,qBAAqB,EAAE,EAAE,IAAc;;AAG5D;;AAEG;AACI,IAAA,MAAM,WAAW,GAAA;AACtB,QAAA,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE;AAEhD,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;;;AAIvC,QAAA,OAAO,SAAS;;AAGlB;;;AAGG;AACI,IAAA,MAAM,WAAW,GAAA;QACtB,OAAO,CAAC,MAAM,IAAI,CAAC,qBAAqB,EAAE,EAAE,QAAQ,IAAI,IAAI;;AAG9D;;AAEG;AACI,IAAA,MAAM,UAAU,GAAA;AACrB,QAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,qBAAqB,EAAE;AAEnD,QAAA,IAAI,QAAQ,CAAC,QAAQ,KAAK,OAAO,EAAE;AACjC,YAAA,OAAO,QAAQ,CAAC,OAAO,IAAI,MAAM;;AAGnC,QAAA,MAAM,IAAI,KAAK,CACb,6FAA6F,CAC9F;;AAGH;;AAEG;AACI,IAAA,MAAM,YAAY,GAAA;AACvB,QAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE;AAClC,QAAA,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAA,KAAA,CAAO,CAAC;;AAGrC,IAAA,MAAM,QAAQ,GAAA;QACZ,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE;QAEzD,IAAI,IAAI,EAAE;AACR,YAAA,OAAO,IAAI;;AAGb,QAAA,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC;;AAGhD,IAAA,MAAM,eAAe,GAAA;AACnB,QAAA,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,EAAE,WAAW,CAAC,WAAW,CAAC;AAC1E,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;;AAGhC,IAAA,MAAM,qBAAqB,GAAA;;;;;;AAUzB,QAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE;QAElC,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;;;;AC/GL;;AAEG;;;;"}
@@ -248,11 +248,11 @@ class SkyIconSvgComponent {
248
248
  #resolverSvc;
249
249
  #iconInfo;
250
250
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyIconSvgComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
251
- 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"] }] }); }
251
+ 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()\" />\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"] }] }); }
252
252
  }
253
253
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyIconSvgComponent, decorators: [{
254
254
  type: Component,
255
- 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"] }]
255
+ 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()\" />\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"] }]
256
256
  }] });
257
257
 
258
258
  class SkyIconComponent {
@@ -1 +1 @@
1
- {"version":3,"file":"skyux-icon.mjs","sources":["../../../../../libs/components/icon/src/lib/modules/icon/icon-resolver.service.ts","../../../../../libs/components/icon/src/lib/modules/icon/icon-class-list.pipe.ts","../../../../../libs/components/icon/src/lib/modules/icon/icon-stack.component.ts","../../../../../libs/components/icon/src/lib/modules/icon/icon-stack.component.html","../../../../../libs/components/icon/src/lib/modules/icon/icon-svg-resolver.service.ts","../../../../../libs/components/icon/src/lib/modules/icon/icon-svg.component.ts","../../../../../libs/components/icon/src/lib/modules/icon/icon-svg.component.html","../../../../../libs/components/icon/src/lib/modules/icon/icon.component.ts","../../../../../libs/components/icon/src/lib/modules/icon/icon.component.html","../../../../../libs/components/icon/src/lib/modules/icon/icon.module.ts","../../../../../libs/components/icon/src/skyux-icon.ts"],"sourcesContent":["import { Injectable, inject } from '@angular/core';\nimport {\n SkyThemeIconManifestGlyph,\n SkyThemeIconManifestService,\n SkyThemeSettings,\n} from '@skyux/theme';\n\nimport { SkyIconResolved } from './types/icon-resolved';\nimport type { SkyIconVariantType } from './types/icon-variant-type';\n\n/**\n * @internal\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class SkyIconResolverService {\n #glyphMap = new Map<string, SkyThemeIconManifestGlyph>();\n\n #manifestSvc = inject(SkyThemeIconManifestService);\n\n constructor() {\n // Map the icons by name for more efficient lookup.\n for (const glyph of this.#manifestSvc.getManifest().glyphs) {\n // TODO: keep this until `faName` is removed just in case any icons get added with the wrong shape\n if (glyph.faName && !glyph.faNames) {\n glyph.faNames = [glyph.faName];\n }\n this.#glyphMap.set(glyph.name, glyph);\n }\n }\n\n public resolveIcon(\n icon: string,\n variant?: SkyIconVariantType,\n themeSettings?: SkyThemeSettings,\n ): SkyIconResolved {\n let iconType = 'fa';\n const variantIcon = variant && `${icon}-${variant}`;\n const lineIcon = `${icon}-line`;\n\n // Get the specified variant, or fall back to the icon name.\n // If the pure icon name doesn't exist, try the line variant.\n let glyph =\n this.#glyphMap.get(variantIcon as string) ??\n this.#glyphMap.get(icon) ??\n this.#glyphMap.get(lineIcon) ??\n Array.from(this.#glyphMap.values()).find(\n (glyph) =>\n glyph.aliases?.includes(variantIcon as string) ||\n glyph.aliases?.includes(lineIcon) ||\n glyph.aliases?.includes(icon),\n );\n\n // If still no icon is found, search through the icons that match the FA name.\n if (!glyph) {\n let glyphs = Array.from(this.#glyphMap.values()).filter((g) =>\n g.faNames?.includes(icon),\n );\n if (glyphs.length) {\n if (glyphs.length > 1) {\n // If multiples are found, make sure we select the correct variant, if requested.\n // The icons are ordered such that the \"default\" variant will be the first one.\n if (variant) {\n const variantGlyph = glyphs.find((g) => g.name.endsWith(variant));\n if (variantGlyph) {\n glyphs = [variantGlyph];\n }\n }\n }\n glyph = glyphs[0];\n }\n // If none of the above works, no matching icon was found\n }\n\n if (glyph) {\n // If a glyph is found, use it for modern theme or if no FA fallback exists.\n if (themeSettings?.theme.name === 'modern' || !glyph.faNames?.length) {\n icon = glyph.name;\n iconType = 'skyux';\n } else {\n // For default theme, use a known FA fallback.\n // If the icon name requested is already a FA icon, just use it. Otherwise use the first one.\n if (!glyph.faNames?.includes(icon)) {\n icon = glyph.faNames[0];\n }\n }\n }\n\n // If no SKY UX glyph is found, assume icon is part of FA and pass it along.\n return {\n icon,\n iconType,\n };\n }\n}\n","import { Pipe, PipeTransform, inject } from '@angular/core';\nimport { SkyThemeSettings } from '@skyux/theme';\n\nimport { SkyIconResolverService } from './icon-resolver.service';\nimport { SkyIconVariantType } from './types/icon-variant-type';\n\n/**\n * @internal\n */\n@Pipe({\n name: 'skyIconClassList',\n})\nexport class SkyIconClassListPipe implements PipeTransform {\n #resolver = inject(SkyIconResolverService);\n\n public transform(\n icon: string,\n themeSettings?: SkyThemeSettings,\n size?: string,\n fixedWidth?: boolean,\n variant?: SkyIconVariantType,\n ): string[] {\n let classList: string[];\n\n const { icon: resolvedIcon, iconType: resolvedIconType } =\n this.#resolver.resolveIcon(icon, variant, themeSettings);\n\n if (resolvedIconType === 'skyux') {\n classList = ['sky-i-' + resolvedIcon];\n } else {\n classList = ['fa', 'fa-' + resolvedIcon];\n }\n\n if (size) {\n classList.push('fa-' + size);\n }\n\n if (fixedWidth) {\n classList.push('fa-fw');\n }\n\n return classList;\n }\n}\n","import { Component, Input, inject } from '@angular/core';\nimport { SkyThemeService } from '@skyux/theme';\n\nimport { SkyIconStackItem } from './icon-stack-item';\n\n/**\n * @internal\n */\n@Component({\n selector: 'sky-icon-stack',\n templateUrl: './icon-stack.component.html',\n styleUrls: ['./icon-stack.component.scss'],\n})\nexport class SkyIconStackComponent {\n /**\n * The size of the icon using\n * [Font Awesome sizes](https://fontawesome.com/v4/examples/).\n */\n @Input()\n public size: string | undefined;\n\n /**\n * The icon to display at the bottom of the stack.\n */\n @Input()\n public baseIcon: SkyIconStackItem | undefined;\n\n /**\n * The icon to display at the top of the stack.\n */\n @Input()\n public topIcon: SkyIconStackItem | undefined;\n\n protected themeSvc = inject(SkyThemeService, { optional: true });\n}\n","<span\n aria-hidden=\"true\"\n class=\"sky-icon-stack fa-stack\"\n [ngClass]=\"size ? 'fa-' + size + ' sky-icon-stack-size-' + size : ''\"\n>\n @if (baseIcon) {\n <i\n class=\"sky-icon fa-stack-2x\"\n [ngClass]=\"\n baseIcon.icon\n | skyIconClassList\n : (themeSvc?.settingsChange | async)?.currentSettings\n \"\n ></i>\n }\n @if (topIcon) {\n <i\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 \"\n ></i>\n }\n</span>\n","import { Injectable } from '@angular/core';\n\nimport { SkyIconVariantType } from './types/icon-variant-type';\n\nasync function getIconMap(): Promise<Map<string, number[]>> {\n const response = await fetch(\n `https://sky.blackbaudcdn.net/static/skyux-icons/7/assets/svg/skyux-icons.svg`,\n );\n\n if (!response.ok) {\n throw new Error('Icon sprite could not be loaded.');\n }\n\n const markup = await response.text();\n\n document.body.insertAdjacentHTML('afterbegin', markup);\n\n const iconMap = Array.from<SVGSymbolElement>(\n document.querySelectorAll('#sky-icon-svg-sprite symbol'),\n ).reduce((map, el) => {\n const idParts = el.id.split('-');\n\n // Construct the icon name by removing `sky-i-` from the beginning\n // and `-<size>-<variant>` from the end.\n const name = idParts.slice(2, idParts.length - 2).join('-');\n\n let sizes = map.get(name);\n\n if (!sizes) {\n sizes = [];\n map.set(name, sizes);\n }\n\n // The penultimate segment is the size for which the icon has\n // been optimized.\n sizes.push(+idParts[idParts.length - 2]);\n\n return map;\n }, new Map<string, number[]>());\n\n // Sort all the sizes for later comparison.\n for (const id of iconMap.keys()) {\n // Dedupe and sort the icon sizes.\n iconMap.set(id, [...new Set(iconMap.get(id))].sort());\n }\n\n return iconMap;\n}\n\nfunction getNearestSize(\n iconMap: Map<string, number[]>,\n name: string,\n pixelSize: number,\n): number | undefined {\n const sizes = iconMap.get(name);\n\n if (sizes) {\n let nearestSizeUnder = -Infinity;\n let nearestSizeOver = Infinity;\n\n for (const availableSize of sizes) {\n if (availableSize === pixelSize) {\n return pixelSize;\n } else if (availableSize < pixelSize) {\n nearestSizeUnder = availableSize;\n } else {\n nearestSizeOver = availableSize;\n break;\n }\n }\n\n const underDiff = Math.abs(pixelSize - nearestSizeUnder);\n const overDiff = Math.abs(pixelSize - nearestSizeOver);\n\n return isNaN(overDiff) || underDiff < overDiff\n ? nearestSizeUnder\n : nearestSizeOver;\n }\n\n return undefined;\n}\n\n/**\n * @internal\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class SkyIconSvgResolverService {\n #iconMapPromise: Promise<Map<string, number[]>> | undefined;\n\n public async resolveHref(\n name: string,\n pixelSize = 16,\n variant: SkyIconVariantType = 'line',\n ): Promise<string> {\n if (!this.#iconMapPromise) {\n this.#iconMapPromise = getIconMap();\n }\n\n const iconMap = await this.#iconMapPromise;\n\n let href = `#sky-i-${name}`;\n\n // Find the icon with the optimal size nearest to the requested size.\n const nearestSize = getNearestSize(iconMap, name, pixelSize);\n\n if (!nearestSize) {\n throw new Error(`Icon with name '${name}' was not found.`);\n }\n\n href = `${href}-${nearestSize}-${variant}`;\n\n return href;\n }\n}\n","import { NgClass, NgStyle } from '@angular/common';\nimport { Component, computed, inject, input } from '@angular/core';\nimport { toObservable, toSignal } from '@angular/core/rxjs-interop';\n\nimport { catchError, of, switchMap } from 'rxjs';\n\nimport { SkyIconSvgResolverService } from './icon-svg-resolver.service';\nimport { SkyIconVariantType } from './types/icon-variant-type';\n\nconst SIZE_BASE = 16;\n\nconst SIZES = new Map([\n ['', SIZE_BASE],\n ['lg', 21.333 /* SIZE_BASE * (4/3) */],\n ['2x', 32 /* SIZE_BASE * 2 */],\n ['3x', 48 /* SIZE_BASE * 3 */],\n ['4x', 64 /* SIZE_BASE * 4 */],\n ['5x', 80 /* SIZE_BASE * 5 */],\n]);\n\n/**\n * @internal\n */\n@Component({\n selector: 'sky-icon-svg',\n standalone: true,\n imports: [NgClass, NgStyle],\n templateUrl: './icon-svg.component.html',\n styleUrls: [\n './icon-svg.default.component.scss',\n './icon-svg.modern.component.scss',\n ],\n})\nexport class SkyIconSvgComponent {\n readonly #resolverSvc = inject(SkyIconSvgResolverService);\n\n public readonly iconName = input.required<string>();\n public readonly iconSize = input<string>();\n public readonly iconVariant = input<SkyIconVariantType>();\n\n readonly #iconInfo = computed(() => {\n return {\n src: this.iconName(),\n size: this.iconSize(),\n variant: this.iconVariant(),\n };\n });\n\n protected readonly iconHref = toSignal(\n toObservable(this.#iconInfo).pipe(\n switchMap((info) =>\n this.#resolverSvc.resolveHref(\n info.src,\n SIZES.get(info.size ?? ''),\n info.variant,\n ),\n ),\n catchError(() => of('')),\n ),\n );\n}\n","<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","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n inject,\n} from '@angular/core';\nimport { SkyThemeService } from '@skyux/theme';\n\nimport { SkyIconType } from './types/icon-type';\nimport { SkyIconVariantType } from './types/icon-variant-type';\n\n@Component({\n selector: 'sky-icon',\n templateUrl: './icon.component.html',\n styleUrls: ['./icon.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyIconComponent {\n /**\n * The name of\n * [the Font Awesome 4.7 icon](https://fontawesome.com/v4.7/icons/) or the SKY UX icon to\n * display. When specifying a Font Awesome icon, do not prefix the name with `fa-`.\n * @required\n */\n @Input()\n public icon: string | undefined;\n\n /**\n * The name of the Blackbaud SVG icon to display. For internal use only.\n * @internal\n */\n @Input()\n public iconName: string | undefined;\n\n /**\n * The type of icon to display. Specifying `\"fa\"` displays a Font Awesome icon,\n * while specifying `\"skyux\"` displays an icon from the custom SKY UX icon font. Note that\n * the custom SKY UX icon font is currently in beta.\n * @default \"fa\"\n * @deprecated The icon component now automatically infers which type of icon to use based on the current theme. This input will be removed in a future version.\n */\n @Input()\n public iconType: SkyIconType | undefined;\n\n /**\n * The size of the icon using\n * [Font Awesome sizes](https://fontawesome.com/v4/examples/). Do not prefix the size with `fa-`.\n */\n @Input()\n public size: string | undefined;\n\n /**\n * Whether to enforce a fixed width based on icon size. By default, icons of a specified size share a\n * consistent height, but their widths vary and can throw off vertical alignment. Use a fixed width when\n * you stack icons vertically, such as in lists.\n * @default false\n */\n @Input()\n public fixedWidth: boolean | undefined;\n\n /**\n * The icon variant. If the variant doesn't exist for the\n * specified icon, the normal icon is displayed. This property only applies when using SKY UX icons.\n */\n @Input()\n public variant: SkyIconVariantType | undefined;\n\n protected themeSvc = inject(SkyThemeService, { optional: true });\n}\n","@if (iconName) {\n <sky-icon-svg\n [iconName]=\"iconName\"\n [iconSize]=\"size\"\n [iconVariant]=\"variant\"\n />\n} @else if (icon) {\n <i\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","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { SkyIconClassListPipe } from './icon-class-list.pipe';\nimport { SkyIconStackComponent } from './icon-stack.component';\nimport { SkyIconSvgComponent } from './icon-svg.component';\nimport { SkyIconComponent } from './icon.component';\n\n@NgModule({\n declarations: [SkyIconClassListPipe, SkyIconComponent, SkyIconStackComponent],\n imports: [CommonModule, SkyIconSvgComponent],\n exports: [SkyIconComponent, SkyIconStackComponent],\n})\nexport class SkyIconModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.SkyIconClassListPipe","i2.SkyIconSvgComponent","i3.SkyIconClassListPipe"],"mappings":"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"}
1
+ {"version":3,"file":"skyux-icon.mjs","sources":["../../../../../libs/components/icon/src/lib/modules/icon/icon-resolver.service.ts","../../../../../libs/components/icon/src/lib/modules/icon/icon-class-list.pipe.ts","../../../../../libs/components/icon/src/lib/modules/icon/icon-stack.component.ts","../../../../../libs/components/icon/src/lib/modules/icon/icon-stack.component.html","../../../../../libs/components/icon/src/lib/modules/icon/icon-svg-resolver.service.ts","../../../../../libs/components/icon/src/lib/modules/icon/icon-svg.component.ts","../../../../../libs/components/icon/src/lib/modules/icon/icon-svg.component.html","../../../../../libs/components/icon/src/lib/modules/icon/icon.component.ts","../../../../../libs/components/icon/src/lib/modules/icon/icon.component.html","../../../../../libs/components/icon/src/lib/modules/icon/icon.module.ts","../../../../../libs/components/icon/src/skyux-icon.ts"],"sourcesContent":["import { Injectable, inject } from '@angular/core';\nimport {\n SkyThemeIconManifestGlyph,\n SkyThemeIconManifestService,\n SkyThemeSettings,\n} from '@skyux/theme';\n\nimport { SkyIconResolved } from './types/icon-resolved';\nimport type { SkyIconVariantType } from './types/icon-variant-type';\n\n/**\n * @internal\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class SkyIconResolverService {\n #glyphMap = new Map<string, SkyThemeIconManifestGlyph>();\n\n #manifestSvc = inject(SkyThemeIconManifestService);\n\n constructor() {\n // Map the icons by name for more efficient lookup.\n for (const glyph of this.#manifestSvc.getManifest().glyphs) {\n // TODO: keep this until `faName` is removed just in case any icons get added with the wrong shape\n if (glyph.faName && !glyph.faNames) {\n glyph.faNames = [glyph.faName];\n }\n this.#glyphMap.set(glyph.name, glyph);\n }\n }\n\n public resolveIcon(\n icon: string,\n variant?: SkyIconVariantType,\n themeSettings?: SkyThemeSettings,\n ): SkyIconResolved {\n let iconType = 'fa';\n const variantIcon = variant && `${icon}-${variant}`;\n const lineIcon = `${icon}-line`;\n\n // Get the specified variant, or fall back to the icon name.\n // If the pure icon name doesn't exist, try the line variant.\n let glyph =\n this.#glyphMap.get(variantIcon as string) ??\n this.#glyphMap.get(icon) ??\n this.#glyphMap.get(lineIcon) ??\n Array.from(this.#glyphMap.values()).find(\n (glyph) =>\n glyph.aliases?.includes(variantIcon as string) ||\n glyph.aliases?.includes(lineIcon) ||\n glyph.aliases?.includes(icon),\n );\n\n // If still no icon is found, search through the icons that match the FA name.\n if (!glyph) {\n let glyphs = Array.from(this.#glyphMap.values()).filter((g) =>\n g.faNames?.includes(icon),\n );\n if (glyphs.length) {\n if (glyphs.length > 1) {\n // If multiples are found, make sure we select the correct variant, if requested.\n // The icons are ordered such that the \"default\" variant will be the first one.\n if (variant) {\n const variantGlyph = glyphs.find((g) => g.name.endsWith(variant));\n if (variantGlyph) {\n glyphs = [variantGlyph];\n }\n }\n }\n glyph = glyphs[0];\n }\n // If none of the above works, no matching icon was found\n }\n\n if (glyph) {\n // If a glyph is found, use it for modern theme or if no FA fallback exists.\n if (themeSettings?.theme.name === 'modern' || !glyph.faNames?.length) {\n icon = glyph.name;\n iconType = 'skyux';\n } else {\n // For default theme, use a known FA fallback.\n // If the icon name requested is already a FA icon, just use it. Otherwise use the first one.\n if (!glyph.faNames?.includes(icon)) {\n icon = glyph.faNames[0];\n }\n }\n }\n\n // If no SKY UX glyph is found, assume icon is part of FA and pass it along.\n return {\n icon,\n iconType,\n };\n }\n}\n","import { Pipe, PipeTransform, inject } from '@angular/core';\nimport { SkyThemeSettings } from '@skyux/theme';\n\nimport { SkyIconResolverService } from './icon-resolver.service';\nimport { SkyIconVariantType } from './types/icon-variant-type';\n\n/**\n * @internal\n */\n@Pipe({\n name: 'skyIconClassList',\n})\nexport class SkyIconClassListPipe implements PipeTransform {\n #resolver = inject(SkyIconResolverService);\n\n public transform(\n icon: string,\n themeSettings?: SkyThemeSettings,\n size?: string,\n fixedWidth?: boolean,\n variant?: SkyIconVariantType,\n ): string[] {\n let classList: string[];\n\n const { icon: resolvedIcon, iconType: resolvedIconType } =\n this.#resolver.resolveIcon(icon, variant, themeSettings);\n\n if (resolvedIconType === 'skyux') {\n classList = ['sky-i-' + resolvedIcon];\n } else {\n classList = ['fa', 'fa-' + resolvedIcon];\n }\n\n if (size) {\n classList.push('fa-' + size);\n }\n\n if (fixedWidth) {\n classList.push('fa-fw');\n }\n\n return classList;\n }\n}\n","import { Component, Input, inject } from '@angular/core';\nimport { SkyThemeService } from '@skyux/theme';\n\nimport { SkyIconStackItem } from './icon-stack-item';\n\n/**\n * @internal\n */\n@Component({\n selector: 'sky-icon-stack',\n templateUrl: './icon-stack.component.html',\n styleUrls: ['./icon-stack.component.scss'],\n})\nexport class SkyIconStackComponent {\n /**\n * The size of the icon using\n * [Font Awesome sizes](https://fontawesome.com/v4/examples/).\n */\n @Input()\n public size: string | undefined;\n\n /**\n * The icon to display at the bottom of the stack.\n */\n @Input()\n public baseIcon: SkyIconStackItem | undefined;\n\n /**\n * The icon to display at the top of the stack.\n */\n @Input()\n public topIcon: SkyIconStackItem | undefined;\n\n protected themeSvc = inject(SkyThemeService, { optional: true });\n}\n","<span\n aria-hidden=\"true\"\n class=\"sky-icon-stack fa-stack\"\n [ngClass]=\"size ? 'fa-' + size + ' sky-icon-stack-size-' + size : ''\"\n>\n @if (baseIcon) {\n <i\n class=\"sky-icon fa-stack-2x\"\n [ngClass]=\"\n baseIcon.icon\n | skyIconClassList\n : (themeSvc?.settingsChange | async)?.currentSettings\n \"\n ></i>\n }\n @if (topIcon) {\n <i\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 \"\n ></i>\n }\n</span>\n","import { Injectable } from '@angular/core';\n\nimport { SkyIconVariantType } from './types/icon-variant-type';\n\nasync function getIconMap(): Promise<Map<string, number[]>> {\n const response = await fetch(\n `https://sky.blackbaudcdn.net/static/skyux-icons/7/assets/svg/skyux-icons.svg`,\n );\n\n if (!response.ok) {\n throw new Error('Icon sprite could not be loaded.');\n }\n\n const markup = await response.text();\n\n document.body.insertAdjacentHTML('afterbegin', markup);\n\n const iconMap = Array.from<SVGSymbolElement>(\n document.querySelectorAll('#sky-icon-svg-sprite symbol'),\n ).reduce((map, el) => {\n const idParts = el.id.split('-');\n\n // Construct the icon name by removing `sky-i-` from the beginning\n // and `-<size>-<variant>` from the end.\n const name = idParts.slice(2, idParts.length - 2).join('-');\n\n let sizes = map.get(name);\n\n if (!sizes) {\n sizes = [];\n map.set(name, sizes);\n }\n\n // The penultimate segment is the size for which the icon has\n // been optimized.\n sizes.push(+idParts[idParts.length - 2]);\n\n return map;\n }, new Map<string, number[]>());\n\n // Sort all the sizes for later comparison.\n for (const id of iconMap.keys()) {\n // Dedupe and sort the icon sizes.\n iconMap.set(id, [...new Set(iconMap.get(id))].sort());\n }\n\n return iconMap;\n}\n\nfunction getNearestSize(\n iconMap: Map<string, number[]>,\n name: string,\n pixelSize: number,\n): number | undefined {\n const sizes = iconMap.get(name);\n\n if (sizes) {\n let nearestSizeUnder = -Infinity;\n let nearestSizeOver = Infinity;\n\n for (const availableSize of sizes) {\n if (availableSize === pixelSize) {\n return pixelSize;\n } else if (availableSize < pixelSize) {\n nearestSizeUnder = availableSize;\n } else {\n nearestSizeOver = availableSize;\n break;\n }\n }\n\n const underDiff = Math.abs(pixelSize - nearestSizeUnder);\n const overDiff = Math.abs(pixelSize - nearestSizeOver);\n\n return isNaN(overDiff) || underDiff < overDiff\n ? nearestSizeUnder\n : nearestSizeOver;\n }\n\n return undefined;\n}\n\n/**\n * @internal\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class SkyIconSvgResolverService {\n #iconMapPromise: Promise<Map<string, number[]>> | undefined;\n\n public async resolveHref(\n name: string,\n pixelSize = 16,\n variant: SkyIconVariantType = 'line',\n ): Promise<string> {\n if (!this.#iconMapPromise) {\n this.#iconMapPromise = getIconMap();\n }\n\n const iconMap = await this.#iconMapPromise;\n\n let href = `#sky-i-${name}`;\n\n // Find the icon with the optimal size nearest to the requested size.\n const nearestSize = getNearestSize(iconMap, name, pixelSize);\n\n if (!nearestSize) {\n throw new Error(`Icon with name '${name}' was not found.`);\n }\n\n href = `${href}-${nearestSize}-${variant}`;\n\n return href;\n }\n}\n","import { NgClass, NgStyle } from '@angular/common';\nimport { Component, computed, inject, input } from '@angular/core';\nimport { toObservable, toSignal } from '@angular/core/rxjs-interop';\n\nimport { catchError, of, switchMap } from 'rxjs';\n\nimport { SkyIconSvgResolverService } from './icon-svg-resolver.service';\nimport { SkyIconVariantType } from './types/icon-variant-type';\n\nconst SIZE_BASE = 16;\n\nconst SIZES = new Map([\n ['', SIZE_BASE],\n ['lg', 21.333 /* SIZE_BASE * (4/3) */],\n ['2x', 32 /* SIZE_BASE * 2 */],\n ['3x', 48 /* SIZE_BASE * 3 */],\n ['4x', 64 /* SIZE_BASE * 4 */],\n ['5x', 80 /* SIZE_BASE * 5 */],\n]);\n\n/**\n * @internal\n */\n@Component({\n selector: 'sky-icon-svg',\n standalone: true,\n imports: [NgClass, NgStyle],\n templateUrl: './icon-svg.component.html',\n styleUrls: [\n './icon-svg.default.component.scss',\n './icon-svg.modern.component.scss',\n ],\n})\nexport class SkyIconSvgComponent {\n readonly #resolverSvc = inject(SkyIconSvgResolverService);\n\n public readonly iconName = input.required<string>();\n public readonly iconSize = input<string>();\n public readonly iconVariant = input<SkyIconVariantType>();\n\n readonly #iconInfo = computed(() => {\n return {\n src: this.iconName(),\n size: this.iconSize(),\n variant: this.iconVariant(),\n };\n });\n\n protected readonly iconHref = toSignal(\n toObservable(this.#iconInfo).pipe(\n switchMap((info) =>\n this.#resolverSvc.resolveHref(\n info.src,\n SIZES.get(info.size ?? ''),\n info.variant,\n ),\n ),\n catchError(() => of('')),\n ),\n );\n}\n","<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()\" />\n</svg>\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n inject,\n} from '@angular/core';\nimport { SkyThemeService } from '@skyux/theme';\n\nimport { SkyIconType } from './types/icon-type';\nimport { SkyIconVariantType } from './types/icon-variant-type';\n\n@Component({\n selector: 'sky-icon',\n templateUrl: './icon.component.html',\n styleUrls: ['./icon.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyIconComponent {\n /**\n * The name of\n * [the Font Awesome 4.7 icon](https://fontawesome.com/v4.7/icons/) or the SKY UX icon to\n * display. When specifying a Font Awesome icon, do not prefix the name with `fa-`.\n * @required\n */\n @Input()\n public icon: string | undefined;\n\n /**\n * The name of the Blackbaud SVG icon to display. For internal use only.\n * @internal\n */\n @Input()\n public iconName: string | undefined;\n\n /**\n * The type of icon to display. Specifying `\"fa\"` displays a Font Awesome icon,\n * while specifying `\"skyux\"` displays an icon from the custom SKY UX icon font. Note that\n * the custom SKY UX icon font is currently in beta.\n * @default \"fa\"\n * @deprecated The icon component now automatically infers which type of icon to use based on the current theme. This input will be removed in a future version.\n */\n @Input()\n public iconType: SkyIconType | undefined;\n\n /**\n * The size of the icon using\n * [Font Awesome sizes](https://fontawesome.com/v4/examples/). Do not prefix the size with `fa-`.\n */\n @Input()\n public size: string | undefined;\n\n /**\n * Whether to enforce a fixed width based on icon size. By default, icons of a specified size share a\n * consistent height, but their widths vary and can throw off vertical alignment. Use a fixed width when\n * you stack icons vertically, such as in lists.\n * @default false\n */\n @Input()\n public fixedWidth: boolean | undefined;\n\n /**\n * The icon variant. If the variant doesn't exist for the\n * specified icon, the normal icon is displayed. This property only applies when using SKY UX icons.\n */\n @Input()\n public variant: SkyIconVariantType | undefined;\n\n protected themeSvc = inject(SkyThemeService, { optional: true });\n}\n","@if (iconName) {\n <sky-icon-svg\n [iconName]=\"iconName\"\n [iconSize]=\"size\"\n [iconVariant]=\"variant\"\n />\n} @else if (icon) {\n <i\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","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { SkyIconClassListPipe } from './icon-class-list.pipe';\nimport { SkyIconStackComponent } from './icon-stack.component';\nimport { SkyIconSvgComponent } from './icon-svg.component';\nimport { SkyIconComponent } from './icon.component';\n\n@NgModule({\n declarations: [SkyIconClassListPipe, SkyIconComponent, SkyIconStackComponent],\n imports: [CommonModule, SkyIconSvgComponent],\n exports: [SkyIconComponent, SkyIconStackComponent],\n})\nexport class SkyIconModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.SkyIconClassListPipe","i2.SkyIconSvgComponent","i3.SkyIconClassListPipe"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skyux/icon",
3
- "version": "11.22.0",
3
+ "version": "11.24.0",
4
4
  "author": "Blackbaud, Inc.",
5
5
  "keywords": [
6
6
  "blackbaud",
@@ -39,8 +39,8 @@
39
39
  "@angular/cdk": "^18.2.8",
40
40
  "@angular/common": "^18.2.8",
41
41
  "@angular/core": "^18.2.8",
42
- "@skyux/core": "11.22.0",
43
- "@skyux/theme": "11.22.0"
42
+ "@skyux/core": "11.24.0",
43
+ "@skyux/theme": "11.24.0"
44
44
  },
45
45
  "dependencies": {
46
46
  "tslib": "^2.6.3"
@@ -1,2 +1,2 @@
1
- export { SkyIconHarness } from './icon/icon-harness';
2
- export { SkyIconHarnessFilters } from './icon/icon-harness-filters';
1
+ export { SkyIconHarness } from './modules/icon/icon-harness';
2
+ export { SkyIconHarnessFilters } from './modules/icon/icon-harness-filters';
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1oYXJuZXNzLWZpbHRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvaWNvbi90ZXN0aW5nL3NyYy9pY29uL2ljb24taGFybmVzcy1maWx0ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lIYXJuZXNzRmlsdGVycyB9IGZyb20gJ0Bza3l1eC9jb3JlL3Rlc3RpbmcnO1xuXG4vKipcbiAqIEEgc2V0IG9mIGNyaXRlcmlhIHRoYXQgY2FuIGJlIHVzZWQgdG8gZmlsdGVyIGEgbGlzdCBvZiBTa3lJY29uSGFybmVzcyBpbnN0YW5jZXMuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktaW50ZXJmYWNlLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktb2JqZWN0LXR5cGVcbmV4cG9ydCBpbnRlcmZhY2UgU2t5SWNvbkhhcm5lc3NGaWx0ZXJzIGV4dGVuZHMgU2t5SGFybmVzc0ZpbHRlcnMge31cbiJdfQ==
@@ -1,87 +0,0 @@
1
- import { SkyComponentHarness } from '@skyux/core/testing';
2
- /**
3
- * Harness for interacting with an icon component in tests.
4
- */
5
- export class SkyIconHarness extends SkyComponentHarness {
6
- /**
7
- * @internal
8
- */
9
- static { this.hostSelector = 'sky-icon'; }
10
- /**
11
- * Gets a `HarnessPredicate` that can be used to search for a
12
- * `SkyIconHarness` that meets certain criteria.
13
- */
14
- static with(filters) {
15
- return SkyIconHarness.getDataSkyIdPredicate(filters);
16
- }
17
- /**
18
- * Gets the icon name.
19
- */
20
- async getIconName() {
21
- // No need to check for null here since #getIcon() will throw an error when
22
- // icon name is null.
23
- return (await this.#getSpecifiedIconInfo()).icon;
24
- }
25
- /**
26
- * Gets the icon size.
27
- */
28
- async getIconSize() {
29
- const iconClasses = await this.#getIconClasses();
30
- for (const iconClass of iconClasses) {
31
- // match a class name that starts with `fa-` and follows with `lg`, `2x`, `3x`, `4x`, `5x`
32
- if (/^fa-(?=2xs|lg|[2-5]+x)/.test(iconClass)) {
33
- return iconClass.replace('fa-', '');
34
- }
35
- }
36
- return undefined;
37
- }
38
- /**
39
- * Gets the icon type.
40
- * @deprecated The `iconType` input is no longer used. This method will be removed in a future version.
41
- */
42
- async getIconType() {
43
- return (await this.#getSpecifiedIconInfo()).iconType || 'fa';
44
- }
45
- /**
46
- * Gets if the icon is a variant.
47
- */
48
- async getVariant() {
49
- const iconInfo = await this.#getSpecifiedIconInfo();
50
- if (iconInfo.iconType === 'skyux') {
51
- return iconInfo.variant || 'line';
52
- }
53
- throw new Error('Variant cannot be determined because variants are only assigned to icons with type `skyux`.');
54
- }
55
- /**
56
- * Whether the icon has fixed width.
57
- */
58
- async isFixedWidth() {
59
- const icon = await this.#getIcon();
60
- return icon.hasClass(`fa-fw`);
61
- }
62
- async #getIcon() {
63
- const icon = await this.locatorForOptional('.sky-icon')();
64
- if (icon) {
65
- return icon;
66
- }
67
- throw new Error('Icon could not be rendered.');
68
- }
69
- async #getIconClasses() {
70
- const iconClasses = await (await this.#getIcon()).getProperty('classList');
71
- return Array.from(iconClasses);
72
- }
73
- async #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 this.#getIcon();
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
- };
85
- }
86
- }
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2ljb24vdGVzdGluZy9zcmMvaWNvbi9pY29uLWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFJMUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sY0FBZSxTQUFRLG1CQUFtQjtJQUNyRDs7T0FFRzthQUNXLGlCQUFZLEdBQUcsVUFBVSxDQUFDO0lBRXhDOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQ2hCLE9BQThCO1FBRTlCLE9BQU8sY0FBYyxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxXQUFXO1FBQ3RCLDJFQUEyRTtRQUMzRSxxQkFBcUI7UUFDckIsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQyxJQUFjLENBQUM7SUFDN0QsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFdBQVc7UUFDdEIsTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFakQsS0FBSyxNQUFNLFNBQVMsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNwQywwRkFBMEY7WUFDMUYsSUFBSSx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztnQkFDN0MsT0FBTyxTQUFTLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN0QyxDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRDs7O09BR0c7SUFDSSxLQUFLLENBQUMsV0FBVztRQUN0QixPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUM7SUFDL0QsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFVBQVU7UUFDckIsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUVwRCxJQUFJLFFBQVEsQ0FBQyxRQUFRLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDbEMsT0FBTyxRQUFRLENBQUMsT0FBTyxJQUFJLE1BQU0sQ0FBQztRQUNwQyxDQUFDO1FBRUQsTUFBTSxJQUFJLEtBQUssQ0FDYiw2RkFBNkYsQ0FDOUYsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxZQUFZO1FBQ3ZCLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsS0FBSyxDQUFDLFFBQVE7UUFDWixNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1FBRTFELElBQUksSUFBSSxFQUFFLENBQUM7WUFDVCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELEtBQUssQ0FBQyxlQUFlO1FBQ25CLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMzRSxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELEtBQUssQ0FBQyxxQkFBcUI7UUFLekIscUVBQXFFO1FBQ3JFLHFFQUFxRTtRQUNyRSxtRUFBbUU7UUFDbkUsc0VBQXNFO1FBQ3RFLHNFQUFzRTtRQUN0RSxNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUVuQyxPQUFPO1lBQ0wsSUFBSSxFQUFFLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUM7WUFDOUMsUUFBUSxFQUFFLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsQ0FBQztZQUN2RCxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLHVCQUF1QixDQUFDO1NBQzFELENBQUM7SUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSGFybmVzc1ByZWRpY2F0ZSwgVGVzdEVsZW1lbnQgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lDb21wb25lbnRIYXJuZXNzIH0gZnJvbSAnQHNreXV4L2NvcmUvdGVzdGluZyc7XG5cbmltcG9ydCB7IFNreUljb25IYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vaWNvbi1oYXJuZXNzLWZpbHRlcnMnO1xuXG4vKipcbiAqIEhhcm5lc3MgZm9yIGludGVyYWN0aW5nIHdpdGggYW4gaWNvbiBjb21wb25lbnQgaW4gdGVzdHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lJY29uSGFybmVzcyBleHRlbmRzIFNreUNvbXBvbmVudEhhcm5lc3Mge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9ICdza3ktaWNvbic7XG5cbiAgLyoqXG4gICAqIEdldHMgYSBgSGFybmVzc1ByZWRpY2F0ZWAgdGhhdCBjYW4gYmUgdXNlZCB0byBzZWFyY2ggZm9yIGFcbiAgICogYFNreUljb25IYXJuZXNzYCB0aGF0IG1lZXRzIGNlcnRhaW4gY3JpdGVyaWEuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpdGgoXG4gICAgZmlsdGVyczogU2t5SWNvbkhhcm5lc3NGaWx0ZXJzLFxuICApOiBIYXJuZXNzUHJlZGljYXRlPFNreUljb25IYXJuZXNzPiB7XG4gICAgcmV0dXJuIFNreUljb25IYXJuZXNzLmdldERhdGFTa3lJZFByZWRpY2F0ZShmaWx0ZXJzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBpY29uIG5hbWUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0SWNvbk5hbWUoKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgICAvLyBObyBuZWVkIHRvIGNoZWNrIGZvciBudWxsIGhlcmUgc2luY2UgI2dldEljb24oKSB3aWxsIHRocm93IGFuIGVycm9yIHdoZW5cbiAgICAvLyBpY29uIG5hbWUgaXMgbnVsbC5cbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuI2dldFNwZWNpZmllZEljb25JbmZvKCkpLmljb24gYXMgc3RyaW5nO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGljb24gc2l6ZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRJY29uU2l6ZSgpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIGNvbnN0IGljb25DbGFzc2VzID0gYXdhaXQgdGhpcy4jZ2V0SWNvbkNsYXNzZXMoKTtcblxuICAgIGZvciAoY29uc3QgaWNvbkNsYXNzIG9mIGljb25DbGFzc2VzKSB7XG4gICAgICAvLyBtYXRjaCBhIGNsYXNzIG5hbWUgdGhhdCBzdGFydHMgd2l0aCBgZmEtYCBhbmQgZm9sbG93cyB3aXRoIGBsZ2AsIGAyeGAsIGAzeGAsIGA0eGAsIGA1eGBcbiAgICAgIGlmICgvXmZhLSg/PTJ4c3xsZ3xbMi01XSt4KS8udGVzdChpY29uQ2xhc3MpKSB7XG4gICAgICAgIHJldHVybiBpY29uQ2xhc3MucmVwbGFjZSgnZmEtJywgJycpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgaWNvbiB0eXBlLlxuICAgKiBAZGVwcmVjYXRlZCBUaGUgYGljb25UeXBlYCBpbnB1dCBpcyBubyBsb25nZXIgdXNlZC4gVGhpcyBtZXRob2Qgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIHZlcnNpb24uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0SWNvblR5cGUoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuI2dldFNwZWNpZmllZEljb25JbmZvKCkpLmljb25UeXBlIHx8ICdmYSc7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBpZiB0aGUgaWNvbiBpcyBhIHZhcmlhbnQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0VmFyaWFudCgpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIGNvbnN0IGljb25JbmZvID0gYXdhaXQgdGhpcy4jZ2V0U3BlY2lmaWVkSWNvbkluZm8oKTtcblxuICAgIGlmIChpY29uSW5mby5pY29uVHlwZSA9PT0gJ3NreXV4Jykge1xuICAgICAgcmV0dXJuIGljb25JbmZvLnZhcmlhbnQgfHwgJ2xpbmUnO1xuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICdWYXJpYW50IGNhbm5vdCBiZSBkZXRlcm1pbmVkIGJlY2F1c2UgdmFyaWFudHMgYXJlIG9ubHkgYXNzaWduZWQgdG8gaWNvbnMgd2l0aCB0eXBlIGBza3l1eGAuJyxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGljb24gaGFzIGZpeGVkIHdpZHRoLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGlzRml4ZWRXaWR0aCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBpY29uID0gYXdhaXQgdGhpcy4jZ2V0SWNvbigpO1xuICAgIHJldHVybiBpY29uLmhhc0NsYXNzKGBmYS1md2ApO1xuICB9XG5cbiAgYXN5bmMgI2dldEljb24oKTogUHJvbWlzZTxUZXN0RWxlbWVudD4ge1xuICAgIGNvbnN0IGljb24gPSBhd2FpdCB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbCgnLnNreS1pY29uJykoKTtcblxuICAgIGlmIChpY29uKSB7XG4gICAgICByZXR1cm4gaWNvbjtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ljb24gY291bGQgbm90IGJlIHJlbmRlcmVkLicpO1xuICB9XG5cbiAgYXN5bmMgI2dldEljb25DbGFzc2VzKCk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgICBjb25zdCBpY29uQ2xhc3NlcyA9IGF3YWl0IChhd2FpdCB0aGlzLiNnZXRJY29uKCkpLmdldFByb3BlcnR5KCdjbGFzc0xpc3QnKTtcbiAgICByZXR1cm4gQXJyYXkuZnJvbShpY29uQ2xhc3Nlcyk7XG4gIH1cblxuICBhc3luYyAjZ2V0U3BlY2lmaWVkSWNvbkluZm8oKTogUHJvbWlzZTx7XG4gICAgaWNvbjogc3RyaW5nIHwgbnVsbDtcbiAgICBpY29uVHlwZTogc3RyaW5nIHwgbnVsbDtcbiAgICB2YXJpYW50OiBzdHJpbmcgfCBudWxsO1xuICB9PiB7XG4gICAgLy8gU2luY2UgU0tZIFVYIGljb25zIGhhdmUgRm9udCBBd2Vzb21lIGFsdGVybmF0aXZlcyB0aGF0IG1heSBiZSB1c2VkXG4gICAgLy8gaW4gZGVmYXVsdCB0aGVtZSBpbnN0ZWFkIG9mIHRoZSBpY29uIHNwZWNpZmllZCBieSB0aGUgY29uc3VtZXIsIHdlXG4gICAgLy8gbmVlZCB0byBnZXQgdGhlIHNwZWNpZmllZCB2YWx1ZXMgdXNpbmcgZGF0YS0gYXR0cmlidXRlcyBhZGRlZCBieVxuICAgIC8vIHRoZSBpY29uIGNvbXBvbmVudC4gVGhpcyBjb25mbGljdHMgd2l0aCB0aGUgdXN1YWwgcGF0dGVybiBvZiBnaXZpbmdcbiAgICAvLyB0aGUgZWZmZWN0aXZlIHN0YXRlIG9mIHRoZSBjb21wb25lbnQgYnV0IGlzIG5lY2Vzc2FyeSBpbiB0aGlzIGNhc2UuXG4gICAgY29uc3QgaWNvbiA9IGF3YWl0IHRoaXMuI2dldEljb24oKTtcblxuICAgIHJldHVybiB7XG4gICAgICBpY29uOiBhd2FpdCBpY29uLmdldEF0dHJpYnV0ZSgnZGF0YS1za3ktaWNvbicpLFxuICAgICAgaWNvblR5cGU6IGF3YWl0IGljb24uZ2V0QXR0cmlidXRlKCdkYXRhLXNreS1pY29uLXR5cGUnKSxcbiAgICAgIHZhcmlhbnQ6IGF3YWl0IGljb24uZ2V0QXR0cmlidXRlKCdkYXRhLXNreS1pY29uLXZhcmlhbnQnKSxcbiAgICB9O1xuICB9XG59XG4iXX0=