@skyux/theme 13.0.0-alpha.1 → 13.0.0-alpha.2
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.
|
@@ -150,7 +150,7 @@
|
|
|
150
150
|
--bb-font-weight-light: 300;
|
|
151
151
|
--bb-font-weight-regular: 400;
|
|
152
152
|
--bb-font-weight-semibold: 600;
|
|
153
|
-
--bb-image-logo-primary-src: url("https://sky.blackbaudcdn.net/static/skyux-design-tokens/2.0.0-alpha.
|
|
153
|
+
--bb-image-logo-primary-src: url("https://sky.blackbaudcdn.net/static/skyux-design-tokens/2.0.0-alpha.4/assets/images/bb-logo.png");
|
|
154
154
|
--bb-letter_spacing-normal: normal;
|
|
155
155
|
--bb-letter_spacing-wider: 0.16px;
|
|
156
156
|
--bb-line_height-300: calc(18/13);
|
|
@@ -268,11 +268,6 @@
|
|
|
268
268
|
--sky-color-background-action-tertiary-disabled: var(--bb-color-gray-700);
|
|
269
269
|
--sky-color-background-action-tertiary-focus: var(--bb-color-transparent);
|
|
270
270
|
--sky-color-background-action-tertiary-hover: var(--bb-color-transparent);
|
|
271
|
-
--sky-color-background-action-toolbar-active: var(--bb-color-transparent);
|
|
272
|
-
--sky-color-background-action-toolbar-base: var(--bb-color-transparent);
|
|
273
|
-
--sky-color-background-action-toolbar-disabled: var(--bb-color-gray-700);
|
|
274
|
-
--sky-color-background-action-toolbar-focus: var(--bb-color-transparent);
|
|
275
|
-
--sky-color-background-action-toolbar-hover: var(--bb-color-transparent);
|
|
276
271
|
--sky-color-background-blocking: var(--bb-color-blocking);
|
|
277
272
|
--sky-color-background-container-base: var(--bb-color-gray-1000);
|
|
278
273
|
--sky-color-background-container-danger: var(--bb-color-red-800);
|
|
@@ -288,17 +283,17 @@
|
|
|
288
283
|
--sky-color-background-icon_matte-warning: var(--bb-color-yellow-600);
|
|
289
284
|
--sky-color-background-input-base: var(--bb-color-gray-900);
|
|
290
285
|
--sky-color-background-input-disabled: var(--bb-color-gray-700);
|
|
291
|
-
--sky-color-background-list-active: var(--bb-color-transparent);
|
|
292
|
-
--sky-color-background-list-base: var(--bb-color-transparent);
|
|
293
|
-
--sky-color-background-list-disabled: var(--bb-color-gray-50);
|
|
294
|
-
--sky-color-background-list-focus: var(--bb-color-transparent);
|
|
295
|
-
--sky-color-background-list-hover: var(--bb-color-transparent);
|
|
296
286
|
--sky-color-background-nav-active: var(--bb-color-transparent);
|
|
297
287
|
--sky-color-background-nav-base: var(--bb-color-transparent);
|
|
298
288
|
--sky-color-background-nav-disabled: var(--bb-color-gray-50);
|
|
299
289
|
--sky-color-background-nav-focus: var(--bb-color-transparent);
|
|
300
290
|
--sky-color-background-nav-hover: var(--bb-color-transparent);
|
|
301
291
|
--sky-color-background-page: var(--bb-color-gray-1100);
|
|
292
|
+
--sky-color-background-row-active: var(--bb-color-transparent);
|
|
293
|
+
--sky-color-background-row-base: var(--bb-color-gray-1000);
|
|
294
|
+
--sky-color-background-row-disabled: var(--bb-color-gray-50);
|
|
295
|
+
--sky-color-background-row-focus: var(--bb-color-transparent);
|
|
296
|
+
--sky-color-background-row-hover: var(--bb-color-transparent);
|
|
302
297
|
--sky-color-background-scrim: var(--bb-color-scrim);
|
|
303
298
|
--sky-color-background-selected-danger: var(--bb-color-red-900);
|
|
304
299
|
--sky-color-background-selected-heavy: var(--bb-color-blue-600);
|
|
@@ -339,11 +334,6 @@
|
|
|
339
334
|
--sky-color-border-action-tertiary-disabled: var(--bb-color-gray-800);
|
|
340
335
|
--sky-color-border-action-tertiary-focus: var(--bb-color-sky-600);
|
|
341
336
|
--sky-color-border-action-tertiary-hover: var(--bb-color-sky-600);
|
|
342
|
-
--sky-color-border-action-toolbar-active: var(--bb-color-sky-500);
|
|
343
|
-
--sky-color-border-action-toolbar-base: var(--bb-color-transparent);
|
|
344
|
-
--sky-color-border-action-toolbar-disabled: var(--bb-color-gray-800);
|
|
345
|
-
--sky-color-border-action-toolbar-focus: var(--bb-color-sky-600);
|
|
346
|
-
--sky-color-border-action-toolbar-hover: var(--bb-color-sky-600);
|
|
347
337
|
--sky-color-border-column_divider: var(--bb-color-blue-400);
|
|
348
338
|
--sky-color-border-container-base: var(--bb-color-blue-900);
|
|
349
339
|
--sky-color-border-danger: var(--bb-color-red-400);
|
|
@@ -442,11 +432,6 @@
|
|
|
442
432
|
--sky-color-background-action-tertiary-disabled: var(--bb-color-gray-50);
|
|
443
433
|
--sky-color-background-action-tertiary-focus: var(--bb-color-transparent);
|
|
444
434
|
--sky-color-background-action-tertiary-hover: var(--bb-color-blue-50);
|
|
445
|
-
--sky-color-background-action-toolbar-active: var(--bb-color-blue-100);
|
|
446
|
-
--sky-color-background-action-toolbar-base: var(--bb-color-white);
|
|
447
|
-
--sky-color-background-action-toolbar-disabled: var(--bb-color-gray-50);
|
|
448
|
-
--sky-color-background-action-toolbar-focus: var(--bb-color-white);
|
|
449
|
-
--sky-color-background-action-toolbar-hover: var(--bb-color-blue-50);
|
|
450
435
|
--sky-color-background-blocking: var(--bb-color-blocking);
|
|
451
436
|
--sky-color-background-container-base: var(--bb-color-white);
|
|
452
437
|
--sky-color-background-container-danger: var(--bb-color-red-300);
|
|
@@ -462,17 +447,17 @@
|
|
|
462
447
|
--sky-color-background-icon_matte-warning: var(--bb-color-yellow-600);
|
|
463
448
|
--sky-color-background-input-base: var(--bb-color-blue-25);
|
|
464
449
|
--sky-color-background-input-disabled: var(--bb-color-gray-50);
|
|
465
|
-
--sky-color-background-list-active: var(--bb-color-blue-100);
|
|
466
|
-
--sky-color-background-list-base: var(--bb-color-transparent);
|
|
467
|
-
--sky-color-background-list-disabled: var(--bb-color-gray-50);
|
|
468
|
-
--sky-color-background-list-focus: var(--bb-color-transparent);
|
|
469
|
-
--sky-color-background-list-hover: var(--bb-color-blue-50);
|
|
470
450
|
--sky-color-background-nav-active: var(--bb-color-blue-100);
|
|
471
451
|
--sky-color-background-nav-base: var(--bb-color-transparent);
|
|
472
452
|
--sky-color-background-nav-disabled: var(--bb-color-gray-50);
|
|
473
453
|
--sky-color-background-nav-focus: var(--bb-color-transparent);
|
|
474
454
|
--sky-color-background-nav-hover: var(--bb-color-blue-50);
|
|
475
455
|
--sky-color-background-page: var(--bb-color-slate-100);
|
|
456
|
+
--sky-color-background-row-active: var(--bb-color-blue-100);
|
|
457
|
+
--sky-color-background-row-base: var(--bb-color-white);
|
|
458
|
+
--sky-color-background-row-disabled: var(--bb-color-gray-50);
|
|
459
|
+
--sky-color-background-row-focus: var(--bb-color-transparent);
|
|
460
|
+
--sky-color-background-row-hover: var(--bb-color-blue-50);
|
|
476
461
|
--sky-color-background-scrim: var(--bb-color-scrim);
|
|
477
462
|
--sky-color-background-selected-danger: var(--bb-color-red-300);
|
|
478
463
|
--sky-color-background-selected-heavy: var(--bb-color-blue-600);
|
|
@@ -513,11 +498,6 @@
|
|
|
513
498
|
--sky-color-border-action-tertiary-disabled: var(--bb-color-gray-200);
|
|
514
499
|
--sky-color-border-action-tertiary-focus: var(--bb-color-blue-600);
|
|
515
500
|
--sky-color-border-action-tertiary-hover: var(--bb-color-blue-600);
|
|
516
|
-
--sky-color-border-action-toolbar-active: var(--bb-color-blue-600);
|
|
517
|
-
--sky-color-border-action-toolbar-base: var(--bb-color-blue-300);
|
|
518
|
-
--sky-color-border-action-toolbar-disabled: var(--bb-color-gray-200);
|
|
519
|
-
--sky-color-border-action-toolbar-focus: var(--bb-color-blue-600);
|
|
520
|
-
--sky-color-border-action-toolbar-hover: var(--bb-color-blue-600);
|
|
521
501
|
--sky-color-border-column_divider: var(--bb-color-blue-600);
|
|
522
502
|
--sky-color-border-container-base: var(--bb-color-blue-200);
|
|
523
503
|
--sky-color-border-danger: var(--bb-color-red-600);
|
|
@@ -1384,7 +1364,7 @@
|
|
|
1384
1364
|
--modern-font-weight-light: 300;
|
|
1385
1365
|
--modern-font-weight-regular: 400;
|
|
1386
1366
|
--modern-font-weight-semibold: 600;
|
|
1387
|
-
--modern-image-logo-primary-src: url("https://sky.blackbaudcdn.net/static/skyux-design-tokens/2.0.0-alpha.
|
|
1367
|
+
--modern-image-logo-primary-src: url("https://sky.blackbaudcdn.net/static/skyux-design-tokens/2.0.0-alpha.4/assets/images/bb-logo.png");
|
|
1388
1368
|
--modern-letter_spacing-normal: normal;
|
|
1389
1369
|
--modern-line_height-110: 1.1;
|
|
1390
1370
|
--modern-line_height-115: 1.15;
|
|
@@ -1474,11 +1454,6 @@
|
|
|
1474
1454
|
--sky-color-background-action-tertiary-disabled: var(--modern-color-gray-07);
|
|
1475
1455
|
--sky-color-background-action-tertiary-focus: var(--modern-color-transparent);
|
|
1476
1456
|
--sky-color-background-action-tertiary-hover: var(--modern-color-transparent);
|
|
1477
|
-
--sky-color-background-action-toolbar-active: var(--modern-color-transparent);
|
|
1478
|
-
--sky-color-background-action-toolbar-base: var(--modern-color-transparent);
|
|
1479
|
-
--sky-color-background-action-toolbar-disabled: var(--modern-color-gray-07);
|
|
1480
|
-
--sky-color-background-action-toolbar-focus: var(--modern-color-transparent);
|
|
1481
|
-
--sky-color-background-action-toolbar-hover: var(--modern-color-transparent);
|
|
1482
1457
|
--sky-color-background-blocking: var(--modern-color-blocking);
|
|
1483
1458
|
--sky-color-background-container-base: var(--modern-color-white);
|
|
1484
1459
|
--sky-color-background-container-danger: var(--modern-color-red-30);
|
|
@@ -1494,17 +1469,17 @@
|
|
|
1494
1469
|
--sky-color-background-icon_matte-warning: var(--modern-color-yellow-50);
|
|
1495
1470
|
--sky-color-background-input-base: var(--modern-color-transparent);
|
|
1496
1471
|
--sky-color-background-input-disabled: var(--modern-color-gray-07);
|
|
1497
|
-
--sky-color-background-list-active: var(--modern-color-transparent);
|
|
1498
|
-
--sky-color-background-list-base: var(--modern-color-transparent);
|
|
1499
|
-
--sky-color-background-list-disabled: var(--modern-color-gray-07);
|
|
1500
|
-
--sky-color-background-list-focus: var(--modern-color-transparent);
|
|
1501
|
-
--sky-color-background-list-hover: var(--modern-color-transparent);
|
|
1502
1472
|
--sky-color-background-nav-active: var(--modern-color-transparent);
|
|
1503
1473
|
--sky-color-background-nav-base: var(--modern-color-transparent);
|
|
1504
1474
|
--sky-color-background-nav-disabled: var(--modern-color-gray-07);
|
|
1505
1475
|
--sky-color-background-nav-focus: var(--modern-color-transparent);
|
|
1506
1476
|
--sky-color-background-nav-hover: var(--modern-color-transparent);
|
|
1507
1477
|
--sky-color-background-page: var(--modern-color-gray-005);
|
|
1478
|
+
--sky-color-background-row-active: var(--modern-color-transparent);
|
|
1479
|
+
--sky-color-background-row-base: var(--modern-color-transparent);
|
|
1480
|
+
--sky-color-background-row-disabled: var(--modern-color-gray-07);
|
|
1481
|
+
--sky-color-background-row-focus: var(--modern-color-transparent);
|
|
1482
|
+
--sky-color-background-row-hover: var(--modern-color-transparent);
|
|
1508
1483
|
--sky-color-background-scrim: var(--modern-color-scrim);
|
|
1509
1484
|
--sky-color-background-selected-danger: var(--modern-color-red-30);
|
|
1510
1485
|
--sky-color-background-selected-heavy: var(--modern-color-blue-05);
|
|
@@ -1545,11 +1520,6 @@
|
|
|
1545
1520
|
--sky-color-border-action-tertiary-disabled: var(--modern-color-gray-15);
|
|
1546
1521
|
--sky-color-border-action-tertiary-focus: var(--modern-color-blue-74);
|
|
1547
1522
|
--sky-color-border-action-tertiary-hover: var(--modern-color-blue-74);
|
|
1548
|
-
--sky-color-border-action-toolbar-active: var(--modern-color-blue-74);
|
|
1549
|
-
--sky-color-border-action-toolbar-base: var(--modern-color-transparent);
|
|
1550
|
-
--sky-color-border-action-toolbar-disabled: var(--modern-color-gray-15);
|
|
1551
|
-
--sky-color-border-action-toolbar-focus: var(--modern-color-blue-74);
|
|
1552
|
-
--sky-color-border-action-toolbar-hover: var(--modern-color-blue-74);
|
|
1553
1523
|
--sky-color-border-column_divider: var(--modern-color-gray-70);
|
|
1554
1524
|
--sky-color-border-container-base: var(--modern-color-gray-15);
|
|
1555
1525
|
--sky-color-border-danger: var(--modern-color-red-50);
|
package/fesm2022/skyux-theme.mjs
CHANGED
|
@@ -249,7 +249,7 @@ class SkyThemeBrand {
|
|
|
249
249
|
this.styleUrl = styleUrl;
|
|
250
250
|
this.sriHash = sriHash;
|
|
251
251
|
this.hostClass = hostClass;
|
|
252
|
-
if (
|
|
252
|
+
if (!/^(\d+|\d+\.\d+\.\d+)(?:-(?:alpha|beta|rc)\.\d+)*$/.test(version)) {
|
|
253
253
|
throw new Error(`Invalid version format "${version}" for theme brand "${name}".`);
|
|
254
254
|
}
|
|
255
255
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skyux-theme.mjs","sources":["../tmp-esm2022/lib/icons/icon-manifest.service.js","../tmp-esm2022/lib/theming/theme-mode.js","../tmp-esm2022/lib/theming/theme-spacing.js","../tmp-esm2022/lib/theming/theme.js","../tmp-esm2022/lib/theming/theme-brand.js","../tmp-esm2022/lib/theming/theme-settings.js","../tmp-esm2022/lib/theming/theme.service.js","../tmp-esm2022/lib/style-loader.js","../tmp-esm2022/lib/theming/theme-class.directive.js","../tmp-esm2022/lib/theming/theme-if.directive.js","../tmp-esm2022/lib/theming/theme.directive.js","../tmp-esm2022/lib/theme.module.js","../tmp-esm2022/lib/theming/theme-component-class.directive.js","../tmp-esm2022/lib/viewport/viewport.service.js","../tmp-esm2022/lib/providers/provide-initial-theme.js","../tmp-esm2022/skyux-theme.js"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { getIconManifest } from '@skyux/icons';\nimport * as i0 from \"@angular/core\";\n/**\n * Provides a method for retrieving metadata about the SKY UX icon font.\n * @internal\n */\nexport class SkyThemeIconManifestService {\n /**\n * Gets metadata about the SKY UX icon font.\n */\n getManifest() {\n return getIconManifest();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SkyThemeIconManifestService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SkyThemeIconManifestService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SkyThemeIconManifestService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1tYW5pZmVzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RoZW1lL3NyYy9saWIvaWNvbnMvaWNvbi1tYW5pZmVzdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFJL0M7OztHQUdHO0FBSUgsTUFBTSxPQUFPLDJCQUEyQjtJQUN0Qzs7T0FFRztJQUNJLFdBQVc7UUFDaEIsT0FBTyxlQUFlLEVBQUUsQ0FBQztJQUMzQixDQUFDOzhHQU5VLDJCQUEyQjtrSEFBM0IsMkJBQTJCLGNBRjFCLE1BQU07OzJGQUVQLDJCQUEyQjtrQkFIdkMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBnZXRJY29uTWFuaWZlc3QgfSBmcm9tICdAc2t5dXgvaWNvbnMnO1xuXG5pbXBvcnQgeyBTa3lUaGVtZUljb25NYW5pZmVzdCB9IGZyb20gJy4vaWNvbi1tYW5pZmVzdCc7XG5cbi8qKlxuICogUHJvdmlkZXMgYSBtZXRob2QgZm9yIHJldHJpZXZpbmcgbWV0YWRhdGEgYWJvdXQgdGhlIFNLWSBVWCBpY29uIGZvbnQuXG4gKiBAaW50ZXJuYWxcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNreVRoZW1lSWNvbk1hbmlmZXN0U2VydmljZSB7XG4gIC8qKlxuICAgKiBHZXRzIG1ldGFkYXRhIGFib3V0IHRoZSBTS1kgVVggaWNvbiBmb250LlxuICAgKi9cbiAgcHVibGljIGdldE1hbmlmZXN0KCk6IFNreVRoZW1lSWNvbk1hbmlmZXN0IHtcbiAgICByZXR1cm4gZ2V0SWNvbk1hbmlmZXN0KCk7XG4gIH1cbn1cbiJdfQ==","/**\n * Defines properties of a SKY UX theme mode.\n */\nexport class SkyThemeMode {\n /**\n * The preset themes available in SKY UX.\n */\n static { this.presets = {\n light: new SkyThemeMode('light', 'sky-theme-mode-light'),\n dark: new SkyThemeMode('dark', 'sky-theme-mode-dark'),\n }; }\n /**\n * Creates a new theme mode.\n * @param name The name of the theme mode.\n * @param hostClass The class on the host element which child components should reference when\n * adjusting for a specified theme mode.\n */\n constructor(name, hostClass) {\n this.name = name;\n this.hostClass = hostClass;\n }\n /**\n * @internal\n * Serializes the theme mode to a JSON-compatible object.\n */\n serialize() {\n // Check if this instance is a preset\n const presetEntry = Object.entries(SkyThemeMode.presets).find(([, preset]) => preset === this);\n if (presetEntry) {\n return {\n name: this.name,\n isPreset: true,\n };\n }\n return {\n name: this.name,\n hostClass: this.hostClass,\n };\n }\n /**\n * @internal\n * Deserializes a JSON object to a SkyThemeMode instance.\n */\n static deserialize(data) {\n if (data.isPreset) {\n const preset = SkyThemeMode.presets[data.name];\n if (preset) {\n return preset;\n }\n throw new Error(`Unknown theme mode preset: ${data.name}`);\n }\n if (!data.hostClass) {\n throw new Error('hostClass is required for non-preset theme modes');\n }\n return new SkyThemeMode(data.name, data.hostClass);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtbW9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90aGVtZS9zcmMvbGliL3RoZW1pbmcvdGhlbWUtbW9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7R0FFRztBQUNILE1BQU0sT0FBTyxZQUFZO0lBQ3ZCOztPQUVHO2FBQ29CLFlBQU8sR0FBRztRQUMvQixLQUFLLEVBQUUsSUFBSSxZQUFZLENBQUMsT0FBTyxFQUFFLHNCQUFzQixDQUFDO1FBQ3hELElBQUksRUFBRSxJQUFJLFlBQVksQ0FBQyxNQUFNLEVBQUUscUJBQXFCLENBQUM7S0FDdEQsQ0FBQztJQUVGOzs7OztPQUtHO0lBQ0gsWUFDa0IsSUFBWSxFQUNaLFNBQWlCO1FBRGpCLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWixjQUFTLEdBQVQsU0FBUyxDQUFRO0lBQ2hDLENBQUM7SUFFSjs7O09BR0c7SUFDSSxTQUFTO1FBQ2QscUNBQXFDO1FBQ3JDLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDM0QsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQ2hDLENBQUM7UUFFRixJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ2hCLE9BQU87Z0JBQ0wsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO2dCQUNmLFFBQVEsRUFBRSxJQUFJO2FBQ2YsQ0FBQztRQUNKLENBQUM7UUFFRCxPQUFPO1lBQ0wsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1NBQzFCLENBQUM7SUFDSixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFzQjtRQUM5QyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixNQUFNLE1BQU0sR0FDVixZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUF5QyxDQUFDLENBQUM7WUFFdkUsSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDWCxPQUFPLE1BQU0sQ0FBQztZQUNoQixDQUFDO1lBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDN0QsQ0FBQztRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxrREFBa0QsQ0FBQyxDQUFDO1FBQ3RFLENBQUM7UUFFRCxPQUFPLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lUaGVtZU1vZGVEYXRhIH0gZnJvbSAnLi90aGVtZS1zZXJpYWxpemF0aW9uLXR5cGVzJztcblxuLyoqXG4gKiBEZWZpbmVzIHByb3BlcnRpZXMgb2YgYSBTS1kgVVggdGhlbWUgbW9kZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreVRoZW1lTW9kZSB7XG4gIC8qKlxuICAgKiBUaGUgcHJlc2V0IHRoZW1lcyBhdmFpbGFibGUgaW4gU0tZIFVYLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBwcmVzZXRzID0ge1xuICAgIGxpZ2h0OiBuZXcgU2t5VGhlbWVNb2RlKCdsaWdodCcsICdza3ktdGhlbWUtbW9kZS1saWdodCcpLFxuICAgIGRhcms6IG5ldyBTa3lUaGVtZU1vZGUoJ2RhcmsnLCAnc2t5LXRoZW1lLW1vZGUtZGFyaycpLFxuICB9O1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IHRoZW1lIG1vZGUuXG4gICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSB0aGVtZSBtb2RlLlxuICAgKiBAcGFyYW0gaG9zdENsYXNzIFRoZSBjbGFzcyBvbiB0aGUgaG9zdCBlbGVtZW50IHdoaWNoIGNoaWxkIGNvbXBvbmVudHMgc2hvdWxkIHJlZmVyZW5jZSB3aGVuXG4gICAqIGFkanVzdGluZyBmb3IgYSBzcGVjaWZpZWQgdGhlbWUgbW9kZS5cbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBuYW1lOiBzdHJpbmcsXG4gICAgcHVibGljIHJlYWRvbmx5IGhvc3RDbGFzczogc3RyaW5nLFxuICApIHt9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKiBTZXJpYWxpemVzIHRoZSB0aGVtZSBtb2RlIHRvIGEgSlNPTi1jb21wYXRpYmxlIG9iamVjdC5cbiAgICovXG4gIHB1YmxpYyBzZXJpYWxpemUoKTogU2t5VGhlbWVNb2RlRGF0YSB7XG4gICAgLy8gQ2hlY2sgaWYgdGhpcyBpbnN0YW5jZSBpcyBhIHByZXNldFxuICAgIGNvbnN0IHByZXNldEVudHJ5ID0gT2JqZWN0LmVudHJpZXMoU2t5VGhlbWVNb2RlLnByZXNldHMpLmZpbmQoXG4gICAgICAoWywgcHJlc2V0XSkgPT4gcHJlc2V0ID09PSB0aGlzLFxuICAgICk7XG5cbiAgICBpZiAocHJlc2V0RW50cnkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG5hbWU6IHRoaXMubmFtZSxcbiAgICAgICAgaXNQcmVzZXQ6IHRydWUsXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBuYW1lOiB0aGlzLm5hbWUsXG4gICAgICBob3N0Q2xhc3M6IHRoaXMuaG9zdENsYXNzLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqIERlc2VyaWFsaXplcyBhIEpTT04gb2JqZWN0IHRvIGEgU2t5VGhlbWVNb2RlIGluc3RhbmNlLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBkZXNlcmlhbGl6ZShkYXRhOiBTa3lUaGVtZU1vZGVEYXRhKTogU2t5VGhlbWVNb2RlIHtcbiAgICBpZiAoZGF0YS5pc1ByZXNldCkge1xuICAgICAgY29uc3QgcHJlc2V0ID1cbiAgICAgICAgU2t5VGhlbWVNb2RlLnByZXNldHNbZGF0YS5uYW1lIGFzIGtleW9mIHR5cGVvZiBTa3lUaGVtZU1vZGUucHJlc2V0c107XG5cbiAgICAgIGlmIChwcmVzZXQpIHtcbiAgICAgICAgcmV0dXJuIHByZXNldDtcbiAgICAgIH1cblxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIHRoZW1lIG1vZGUgcHJlc2V0OiAke2RhdGEubmFtZX1gKTtcbiAgICB9XG5cbiAgICBpZiAoIWRhdGEuaG9zdENsYXNzKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2hvc3RDbGFzcyBpcyByZXF1aXJlZCBmb3Igbm9uLXByZXNldCB0aGVtZSBtb2RlcycpO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgU2t5VGhlbWVNb2RlKGRhdGEubmFtZSwgZGF0YS5ob3N0Q2xhc3MpO1xuICB9XG59XG4iXX0=","/**\n * Defines properties of SKY UX theme spacing.\n */\nexport class SkyThemeSpacing {\n /**\n * The preset spacing available in SKY UX.\n */\n static { this.presets = {\n standard: new SkyThemeSpacing('standard', 'sky-theme-spacing-standard'),\n compact: new SkyThemeSpacing('compact', 'sky-theme-spacing-compact'),\n }; }\n /**\n * Creates a new theme spacing.\n * @param name The name of the theme spacing.\n * @param hostClass The class on the host element which child components should reference when\n * adjusting for a specified theme spacing.\n */\n constructor(name, hostClass) {\n this.name = name;\n this.hostClass = hostClass;\n }\n /**\n * @internal\n * Serializes the theme spacing to a JSON-compatible object.\n */\n serialize() {\n // Check if this instance is a preset\n const presetEntry = Object.entries(SkyThemeSpacing.presets).find(([, preset]) => preset === this);\n if (presetEntry) {\n return {\n name: this.name,\n isPreset: true,\n };\n }\n return {\n name: this.name,\n hostClass: this.hostClass,\n };\n }\n /**\n * @internal\n * Deserializes a JSON object to a SkyThemeSpacing instance.\n */\n static deserialize(data) {\n if (data.isPreset) {\n const preset = SkyThemeSpacing.presets[data.name];\n if (preset) {\n return preset;\n }\n throw new Error(`Unknown theme spacing preset: ${data.name}`);\n }\n if (!data.hostClass) {\n throw new Error('hostClass is required for non-preset theme spacing');\n }\n return new SkyThemeSpacing(data.name, data.hostClass);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtc3BhY2luZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90aGVtZS9zcmMvbGliL3RoZW1pbmcvdGhlbWUtc3BhY2luZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7R0FFRztBQUNILE1BQU0sT0FBTyxlQUFlO0lBQzFCOztPQUVHO2FBQ29CLFlBQU8sR0FBRztRQUMvQixRQUFRLEVBQUUsSUFBSSxlQUFlLENBQUMsVUFBVSxFQUFFLDRCQUE0QixDQUFDO1FBQ3ZFLE9BQU8sRUFBRSxJQUFJLGVBQWUsQ0FBQyxTQUFTLEVBQUUsMkJBQTJCLENBQUM7S0FDckUsQ0FBQztJQUVGOzs7OztPQUtHO0lBQ0gsWUFDa0IsSUFBWSxFQUNaLFNBQWlCO1FBRGpCLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWixjQUFTLEdBQVQsU0FBUyxDQUFRO0lBQ2hDLENBQUM7SUFFSjs7O09BR0c7SUFDSSxTQUFTO1FBQ2QscUNBQXFDO1FBQ3JDLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDOUQsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQ2hDLENBQUM7UUFFRixJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ2hCLE9BQU87Z0JBQ0wsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO2dCQUNmLFFBQVEsRUFBRSxJQUFJO2FBQ2YsQ0FBQztRQUNKLENBQUM7UUFFRCxPQUFPO1lBQ0wsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1NBQzFCLENBQUM7SUFDSixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUF5QjtRQUNqRCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixNQUFNLE1BQU0sR0FDVixlQUFlLENBQUMsT0FBTyxDQUNyQixJQUFJLENBQUMsSUFBNEMsQ0FDbEQsQ0FBQztZQUVKLElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQ1gsT0FBTyxNQUFNLENBQUM7WUFDaEIsQ0FBQztZQUVELE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQWlDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsb0RBQW9ELENBQUMsQ0FBQztRQUN4RSxDQUFDO1FBRUQsT0FBTyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN4RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5VGhlbWVTcGFjaW5nRGF0YSB9IGZyb20gJy4vdGhlbWUtc2VyaWFsaXphdGlvbi10eXBlcyc7XG5cbi8qKlxuICogRGVmaW5lcyBwcm9wZXJ0aWVzIG9mIFNLWSBVWCB0aGVtZSBzcGFjaW5nLlxuICovXG5leHBvcnQgY2xhc3MgU2t5VGhlbWVTcGFjaW5nIHtcbiAgLyoqXG4gICAqIFRoZSBwcmVzZXQgc3BhY2luZyBhdmFpbGFibGUgaW4gU0tZIFVYLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBwcmVzZXRzID0ge1xuICAgIHN0YW5kYXJkOiBuZXcgU2t5VGhlbWVTcGFjaW5nKCdzdGFuZGFyZCcsICdza3ktdGhlbWUtc3BhY2luZy1zdGFuZGFyZCcpLFxuICAgIGNvbXBhY3Q6IG5ldyBTa3lUaGVtZVNwYWNpbmcoJ2NvbXBhY3QnLCAnc2t5LXRoZW1lLXNwYWNpbmctY29tcGFjdCcpLFxuICB9O1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IHRoZW1lIHNwYWNpbmcuXG4gICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSB0aGVtZSBzcGFjaW5nLlxuICAgKiBAcGFyYW0gaG9zdENsYXNzIFRoZSBjbGFzcyBvbiB0aGUgaG9zdCBlbGVtZW50IHdoaWNoIGNoaWxkIGNvbXBvbmVudHMgc2hvdWxkIHJlZmVyZW5jZSB3aGVuXG4gICAqIGFkanVzdGluZyBmb3IgYSBzcGVjaWZpZWQgdGhlbWUgc3BhY2luZy5cbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBuYW1lOiBzdHJpbmcsXG4gICAgcHVibGljIHJlYWRvbmx5IGhvc3RDbGFzczogc3RyaW5nLFxuICApIHt9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKiBTZXJpYWxpemVzIHRoZSB0aGVtZSBzcGFjaW5nIHRvIGEgSlNPTi1jb21wYXRpYmxlIG9iamVjdC5cbiAgICovXG4gIHB1YmxpYyBzZXJpYWxpemUoKTogU2t5VGhlbWVTcGFjaW5nRGF0YSB7XG4gICAgLy8gQ2hlY2sgaWYgdGhpcyBpbnN0YW5jZSBpcyBhIHByZXNldFxuICAgIGNvbnN0IHByZXNldEVudHJ5ID0gT2JqZWN0LmVudHJpZXMoU2t5VGhlbWVTcGFjaW5nLnByZXNldHMpLmZpbmQoXG4gICAgICAoWywgcHJlc2V0XSkgPT4gcHJlc2V0ID09PSB0aGlzLFxuICAgICk7XG5cbiAgICBpZiAocHJlc2V0RW50cnkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG5hbWU6IHRoaXMubmFtZSxcbiAgICAgICAgaXNQcmVzZXQ6IHRydWUsXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBuYW1lOiB0aGlzLm5hbWUsXG4gICAgICBob3N0Q2xhc3M6IHRoaXMuaG9zdENsYXNzLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqIERlc2VyaWFsaXplcyBhIEpTT04gb2JqZWN0IHRvIGEgU2t5VGhlbWVTcGFjaW5nIGluc3RhbmNlLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBkZXNlcmlhbGl6ZShkYXRhOiBTa3lUaGVtZVNwYWNpbmdEYXRhKTogU2t5VGhlbWVTcGFjaW5nIHtcbiAgICBpZiAoZGF0YS5pc1ByZXNldCkge1xuICAgICAgY29uc3QgcHJlc2V0ID1cbiAgICAgICAgU2t5VGhlbWVTcGFjaW5nLnByZXNldHNbXG4gICAgICAgICAgZGF0YS5uYW1lIGFzIGtleW9mIHR5cGVvZiBTa3lUaGVtZVNwYWNpbmcucHJlc2V0c1xuICAgICAgICBdO1xuXG4gICAgICBpZiAocHJlc2V0KSB7XG4gICAgICAgIHJldHVybiBwcmVzZXQ7XG4gICAgICB9XG5cbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biB0aGVtZSBzcGFjaW5nIHByZXNldDogJHtkYXRhLm5hbWV9YCk7XG4gICAgfVxuXG4gICAgaWYgKCFkYXRhLmhvc3RDbGFzcykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdob3N0Q2xhc3MgaXMgcmVxdWlyZWQgZm9yIG5vbi1wcmVzZXQgdGhlbWUgc3BhY2luZycpO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgU2t5VGhlbWVTcGFjaW5nKGRhdGEubmFtZSwgZGF0YS5ob3N0Q2xhc3MpO1xuICB9XG59XG4iXX0=","import { SkyThemeMode } from './theme-mode';\nimport { SkyThemeSpacing } from './theme-spacing';\n/**\n * Defines properties of a SKY UX theme.\n */\nexport class SkyTheme {\n /**\n * The preset themes available in SKY UX.\n */\n static { this.presets = {\n default: new SkyTheme('default', 'sky-theme-default', [SkyThemeMode.presets.light], [SkyThemeSpacing.presets.standard]),\n modern: new SkyTheme('modern', 'sky-theme-modern', [SkyThemeMode.presets.light, SkyThemeMode.presets.dark], [SkyThemeSpacing.presets.standard, SkyThemeSpacing.presets.compact], true),\n }; }\n /**\n * Creates a new theme.\n * @param name The name of the theme.\n * @param hostClass The class on the host element which child components should reference when\n * adjusting for a specified theme.\n * @param supportedModes An array of modes supported by the theme.\n * @param supportedSpacing An array of spacing modes supported by the theme.\n */\n constructor(name, hostClass, supportedModes, supportedSpacing = [SkyThemeSpacing.presets.standard], supportsBranding = false) {\n this.name = name;\n this.hostClass = hostClass;\n this.supportedModes = supportedModes;\n this.supportedSpacing = supportedSpacing;\n this.supportsBranding = supportsBranding;\n }\n /**\n * @internal\n * Serializes the theme to a JSON-compatible object.\n */\n serialize() {\n // Check if this instance is a preset\n const presetEntry = Object.entries(SkyTheme.presets).find(([, preset]) => preset === this);\n if (presetEntry) {\n return {\n name: this.name,\n supportedModes: this.supportedModes.map((mode) => mode.serialize()),\n isPreset: true,\n };\n }\n const result = {\n name: this.name,\n hostClass: this.hostClass,\n supportedModes: this.supportedModes.map((mode) => mode.serialize()),\n };\n // Only include supportedSpacing if it's not the default\n if (this.supportedSpacing.length !== 1 ||\n this.supportedSpacing[0] !== SkyThemeSpacing.presets.standard) {\n result.supportedSpacing = this.supportedSpacing.map((spacing) => spacing.serialize());\n }\n // Only include supportsBranding if it's true\n if (this.supportsBranding) {\n result.supportsBranding = this.supportsBranding;\n }\n return result;\n }\n /**\n * @internal\n * Deserializes a JSON object to a SkyTheme instance.\n */\n static deserialize(data) {\n if (data.isPreset) {\n const preset = SkyTheme.presets[data.name];\n if (preset) {\n return preset;\n }\n throw new Error(`Unknown theme preset: ${data.name}`);\n }\n if (!data.hostClass) {\n throw new Error('hostClass is required for non-preset themes');\n }\n const supportedModes = data.supportedModes.map((modeData) => SkyThemeMode.deserialize(modeData));\n const supportedSpacing = data.supportedSpacing\n ? data.supportedSpacing.map((spacingData) => SkyThemeSpacing.deserialize(spacingData))\n : [SkyThemeSpacing.presets.standard];\n return new SkyTheme(data.name, data.hostClass, supportedModes, supportedSpacing, data.supportsBranding ?? false);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGhlbWUvc3JjL2xpYi90aGVtaW5nL3RoZW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFNUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWxEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFFBQVE7SUFDbkI7O09BRUc7YUFDb0IsWUFBTyxHQUFHO1FBQy9CLE9BQU8sRUFBRSxJQUFJLFFBQVEsQ0FDbkIsU0FBUyxFQUNULG1CQUFtQixFQUNuQixDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQzVCLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FDbkM7UUFDRCxNQUFNLEVBQUUsSUFBSSxRQUFRLENBQ2xCLFFBQVEsRUFDUixrQkFBa0IsRUFDbEIsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUN2RCxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLGVBQWUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQ25FLElBQUksQ0FDTDtLQUNGLENBQUM7SUFFRjs7Ozs7OztPQU9HO0lBQ0gsWUFDa0IsSUFBWSxFQUNaLFNBQWlCLEVBQ2pCLGNBQThCLEVBQzlCLG1CQUFtQixDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQ3JELG1CQUFtQixLQUFLO1FBSnhCLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWixjQUFTLEdBQVQsU0FBUyxDQUFRO1FBQ2pCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXFDO1FBQ3JELHFCQUFnQixHQUFoQixn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QUFJLEtBQUssQ0FDL0IsQ0FBQztJQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lUaGVtZU1vZGUgfSBmcm9tICcuL3RoZW1lLW1vZGUnO1xuaW1wb3J0IHsgU2t5VGhlbWVEYXRhIH0gZnJvbSAnLi90aGVtZS1zZXJpYWxpemF0aW9uLXR5cGVzJztcbmltcG9ydCB7IFNreVRoZW1lU3BhY2luZyB9IGZyb20gJy4vdGhlbWUtc3BhY2luZyc7XG5cbi8qKlxuICogRGVmaW5lcyBwcm9wZXJ0aWVzIG9mIGEgU0tZIFVYIHRoZW1lLlxuICovXG5leHBvcnQgY2xhc3MgU2t5VGhlbWUge1xuICAvKipcbiAgICogVGhlIHByZXNldCB0aGVtZXMgYXZhaWxhYmxlIGluIFNLWSBVWC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgcHJlc2V0cyA9IHtcbiAgICBkZWZhdWx0OiBuZXcgU2t5VGhlbWUoXG4gICAgICAnZGVmYXVsdCcsXG4gICAgICAnc2t5LXRoZW1lLWRlZmF1bHQnLFxuICAgICAgW1NreVRoZW1lTW9kZS5wcmVzZXRzLmxpZ2h0XSxcbiAgICAgIFtTa3lUaGVtZVNwYWNpbmcucHJlc2V0cy5zdGFuZGFyZF0sXG4gICAgKSxcbiAgICBtb2Rlcm46IG5ldyBTa3lUaGVtZShcbiAgICAgICdtb2Rlcm4nLFxuICAgICAgJ3NreS10aGVtZS1tb2Rlcm4nLFxuICAgICAgW1NreVRoZW1lTW9kZS5wcmVzZXRzLmxpZ2h0LCBTa3lUaGVtZU1vZGUucHJlc2V0cy5kYXJrXSxcbiAgICAgIFtTa3lUaGVtZVNwYWNpbmcucHJlc2V0cy5zdGFuZGFyZCwgU2t5VGhlbWVTcGFjaW5nLnByZXNldHMuY29tcGFjdF0sXG4gICAgICB0cnVlLFxuICAgICksXG4gIH07XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgdGhlbWUuXG4gICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSB0aGVtZS5cbiAgICogQHBhcmFtIGhvc3RDbGFzcyBUaGUgY2xhc3Mgb24gdGhlIGhvc3QgZWxlbWVudCB3aGljaCBjaGlsZCBjb21wb25lbnRzIHNob3VsZCByZWZlcmVuY2Ugd2hlblxuICAgKiBhZGp1c3RpbmcgZm9yIGEgc3BlY2lmaWVkIHRoZW1lLlxuICAgKiBAcGFyYW0gc3VwcG9ydGVkTW9kZXMgQW4gYXJyYXkgb2YgbW9kZXMgc3VwcG9ydGVkIGJ5IHRoZSB0aGVtZS5cbiAgICogQHBhcmFtIHN1cHBvcnRlZFNwYWNpbmcgQW4gYXJyYXkgb2Ygc3BhY2luZyBtb2RlcyBzdXBwb3J0ZWQgYnkgdGhlIHRoZW1lLlxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IG5hbWU6IHN0cmluZyxcbiAgICBwdWJsaWMgcmVhZG9ubHkgaG9zdENsYXNzOiBzdHJpbmcsXG4gICAgcHVibGljIHJlYWRvbmx5IHN1cHBvcnRlZE1vZGVzOiBTa3lUaGVtZU1vZGVbXSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgc3VwcG9ydGVkU3BhY2luZyA9IFtTa3lUaGVtZVNwYWNpbmcucHJlc2V0cy5zdGFuZGFyZF0sXG4gICAgcHVibGljIHJlYWRvbmx5IHN1cHBvcnRzQnJhbmRpbmcgPSBmYWxzZSxcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICogU2VyaWFsaXplcyB0aGUgdGhlbWUgdG8gYSBKU09OLWNvbXBhdGlibGUgb2JqZWN0LlxuICAgKi9cbiAgcHVibGljIHNlcmlhbGl6ZSgpOiBTa3lUaGVtZURhdGEge1xuICAgIC8vIENoZWNrIGlmIHRoaXMgaW5zdGFuY2UgaXMgYSBwcmVzZXRcbiAgICBjb25zdCBwcmVzZXRFbnRyeSA9IE9iamVjdC5lbnRyaWVzKFNreVRoZW1lLnByZXNldHMpLmZpbmQoXG4gICAgICAoWywgcHJlc2V0XSkgPT4gcHJlc2V0ID09PSB0aGlzLFxuICAgICk7XG5cbiAgICBpZiAocHJlc2V0RW50cnkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG5hbWU6IHRoaXMubmFtZSxcbiAgICAgICAgc3VwcG9ydGVkTW9kZXM6IHRoaXMuc3VwcG9ydGVkTW9kZXMubWFwKChtb2RlKSA9PiBtb2RlLnNlcmlhbGl6ZSgpKSxcbiAgICAgICAgaXNQcmVzZXQ6IHRydWUsXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNvbnN0IHJlc3VsdDogU2t5VGhlbWVEYXRhID0ge1xuICAgICAgbmFtZTogdGhpcy5uYW1lLFxuICAgICAgaG9zdENsYXNzOiB0aGlzLmhvc3RDbGFzcyxcbiAgICAgIHN1cHBvcnRlZE1vZGVzOiB0aGlzLnN1cHBvcnRlZE1vZGVzLm1hcCgobW9kZSkgPT4gbW9kZS5zZXJpYWxpemUoKSksXG4gICAgfTtcblxuICAgIC8vIE9ubHkgaW5jbHVkZSBzdXBwb3J0ZWRTcGFjaW5nIGlmIGl0J3Mgbm90IHRoZSBkZWZhdWx0XG4gICAgaWYgKFxuICAgICAgdGhpcy5zdXBwb3J0ZWRTcGFjaW5nLmxlbmd0aCAhPT0gMSB8fFxuICAgICAgdGhpcy5zdXBwb3J0ZWRTcGFjaW5nWzBdICE9PSBTa3lUaGVtZVNwYWNpbmcucHJlc2V0cy5zdGFuZGFyZFxuICAgICkge1xuICAgICAgcmVzdWx0LnN1cHBvcnRlZFNwYWNpbmcgPSB0aGlzLnN1cHBvcnRlZFNwYWNpbmcubWFwKChzcGFjaW5nKSA9PlxuICAgICAgICBzcGFjaW5nLnNlcmlhbGl6ZSgpLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBPbmx5IGluY2x1ZGUgc3VwcG9ydHNCcmFuZGluZyBpZiBpdCdzIHRydWVcbiAgICBpZiAodGhpcy5zdXBwb3J0c0JyYW5kaW5nKSB7XG4gICAgICByZXN1bHQuc3VwcG9ydHNCcmFuZGluZyA9IHRoaXMuc3VwcG9ydHNCcmFuZGluZztcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKiBEZXNlcmlhbGl6ZXMgYSBKU09OIG9iamVjdCB0byBhIFNreVRoZW1lIGluc3RhbmNlLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBkZXNlcmlhbGl6ZShkYXRhOiBTa3lUaGVtZURhdGEpOiBTa3lUaGVtZSB7XG4gICAgaWYgKGRhdGEuaXNQcmVzZXQpIHtcbiAgICAgIGNvbnN0IHByZXNldCA9XG4gICAgICAgIFNreVRoZW1lLnByZXNldHNbZGF0YS5uYW1lIGFzIGtleW9mIHR5cGVvZiBTa3lUaGVtZS5wcmVzZXRzXTtcblxuICAgICAgaWYgKHByZXNldCkge1xuICAgICAgICByZXR1cm4gcHJlc2V0O1xuICAgICAgfVxuXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gdGhlbWUgcHJlc2V0OiAke2RhdGEubmFtZX1gKTtcbiAgICB9XG5cbiAgICBpZiAoIWRhdGEuaG9zdENsYXNzKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2hvc3RDbGFzcyBpcyByZXF1aXJlZCBmb3Igbm9uLXByZXNldCB0aGVtZXMnKTtcbiAgICB9XG5cbiAgICBjb25zdCBzdXBwb3J0ZWRNb2RlcyA9IGRhdGEuc3VwcG9ydGVkTW9kZXMubWFwKChtb2RlRGF0YSkgPT5cbiAgICAgIFNreVRoZW1lTW9kZS5kZXNlcmlhbGl6ZShtb2RlRGF0YSksXG4gICAgKTtcblxuICAgIGNvbnN0IHN1cHBvcnRlZFNwYWNpbmcgPSBkYXRhLnN1cHBvcnRlZFNwYWNpbmdcbiAgICAgID8gZGF0YS5zdXBwb3J0ZWRTcGFjaW5nLm1hcCgoc3BhY2luZ0RhdGEpID0+XG4gICAgICAgICAgU2t5VGhlbWVTcGFjaW5nLmRlc2VyaWFsaXplKHNwYWNpbmdEYXRhKSxcbiAgICAgICAgKVxuICAgICAgOiBbU2t5VGhlbWVTcGFjaW5nLnByZXNldHMuc3RhbmRhcmRdO1xuXG4gICAgcmV0dXJuIG5ldyBTa3lUaGVtZShcbiAgICAgIGRhdGEubmFtZSxcbiAgICAgIGRhdGEuaG9zdENsYXNzLFxuICAgICAgc3VwcG9ydGVkTW9kZXMsXG4gICAgICBzdXBwb3J0ZWRTcGFjaW5nLFxuICAgICAgZGF0YS5zdXBwb3J0c0JyYW5kaW5nID8/IGZhbHNlLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==","/**\n * @internal\n * Defines properties of SKY UX theme branding.\n */\nexport class SkyThemeBrand {\n get hostClass() {\n return this.#hostClass || this.#buildDefaultHostClassName();\n }\n set hostClass(value) {\n this.#hostClass = value;\n }\n #hostClass;\n /**\n * Creates a new theme brand.\n * @param name The name of the theme brand.\n * @param version The version of the theme brand.\n * @param hostClass The class on the host element which child components should reference when\n * adjusting for a specified theme brand. This defaults to `sky-theme-brand-<name>`\n * @param styleUrl The URL of the stylesheet to load for this brand\n * @param sriHash The subresource integrity hash for the stylesheet\n */\n constructor(name, version, hostClass, styleUrl, sriHash) {\n this.name = name;\n this.version = version;\n this.styleUrl = styleUrl;\n this.sriHash = sriHash;\n this.hostClass = hostClass;\n if (!/\\d+\\.\\d+\\.\\d+(?:-(?:alpha|beta|rc)\\.\\d)*$/.test(version)) {\n throw new Error(`Invalid version format \"${version}\" for theme brand \"${name}\".`);\n }\n }\n /**\n * @internal\n * Serializes the theme brand to a JSON-compatible object.\n */\n serialize() {\n const result = {\n name: this.name,\n version: this.version,\n };\n // Only include hostClass if it's different from the default\n const defaultHostClass = this.#buildDefaultHostClassName();\n if (this.hostClass !== defaultHostClass) {\n result.hostClass = this.hostClass;\n }\n // Include styleUrl and sriHash if they are provided\n if (this.styleUrl) {\n result.styleUrl = this.styleUrl;\n }\n if (this.sriHash) {\n result.sriHash = this.sriHash;\n }\n return result;\n }\n /**\n * @internal\n * Deserializes a JSON object to a SkyThemeBrand instance.\n */\n static deserialize(data) {\n return new SkyThemeBrand(data.name, data.version, data.hostClass, data.styleUrl, data.sriHash);\n }\n #buildDefaultHostClassName() {\n return `sky-theme-brand-${this.name}`;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtYnJhbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGhlbWUvc3JjL2xpYi90aGVtaW5nL3RoZW1lLWJyYW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOzs7R0FHRztBQUNILE1BQU0sT0FBTyxhQUFhO0lBQ3hCLElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7SUFDOUQsQ0FBQztJQUVELElBQVksU0FBUyxDQUFDLEtBQXlCO1FBQzdDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFFRCxVQUFVLENBQXFCO0lBQy9COzs7Ozs7OztPQVFHO0lBQ0gsWUFDa0IsSUFBWSxFQUNaLE9BQWUsRUFDL0IsU0FBa0IsRUFDRixRQUFpQixFQUNqQixPQUFnQjtRQUpoQixTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ1osWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUVmLGFBQVEsR0FBUixRQUFRLENBQVM7UUFDakIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUVoQyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUUzQixJQUFJLENBQUMsMkNBQTJDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDL0QsTUFBTSxJQUFJLEtBQUssQ0FDYiwyQkFBMkIsT0FBTyxzQkFBc0IsSUFBSSxJQUFJLENBQ2pFLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFNBQVM7UUFDZCxNQUFNLE1BQU0sR0FBc0I7WUFDaEMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQ3RCLENBQUM7UUFFRiw0REFBNEQ7UUFDNUQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztRQUUzRCxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssZ0JBQWdCLEVBQUUsQ0FBQztZQUN4QyxNQUFNLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDcEMsQ0FBQztRQUVELG9EQUFvRDtRQUNwRCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixNQUFNLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDbEMsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLE1BQU0sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUNoQyxDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBdUI7UUFDL0MsT0FBTyxJQUFJLGFBQWEsQ0FDdEIsSUFBSSxDQUFDLElBQUksRUFDVCxJQUFJLENBQUMsT0FBTyxFQUNaLElBQUksQ0FBQyxTQUFTLEVBQ2QsSUFBSSxDQUFDLFFBQVEsRUFDYixJQUFJLENBQUMsT0FBTyxDQUNiLENBQUM7SUFDSixDQUFDO0lBRUQsMEJBQTBCO1FBQ3hCLE9BQU8sbUJBQW1CLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lUaGVtZUJyYW5kRGF0YSB9IGZyb20gJy4vdGhlbWUtc2VyaWFsaXphdGlvbi10eXBlcyc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKiBEZWZpbmVzIHByb3BlcnRpZXMgb2YgU0tZIFVYIHRoZW1lIGJyYW5kaW5nLlxuICovXG5leHBvcnQgY2xhc3MgU2t5VGhlbWVCcmFuZCB7XG4gIHB1YmxpYyBnZXQgaG9zdENsYXNzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuI2hvc3RDbGFzcyB8fCB0aGlzLiNidWlsZERlZmF1bHRIb3N0Q2xhc3NOYW1lKCk7XG4gIH1cblxuICBwcml2YXRlIHNldCBob3N0Q2xhc3ModmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI2hvc3RDbGFzcyA9IHZhbHVlO1xuICB9XG5cbiAgI2hvc3RDbGFzczogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyB0aGVtZSBicmFuZC5cbiAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIHRoZW1lIGJyYW5kLlxuICAgKiBAcGFyYW0gdmVyc2lvbiBUaGUgdmVyc2lvbiBvZiB0aGUgdGhlbWUgYnJhbmQuXG4gICAqIEBwYXJhbSBob3N0Q2xhc3MgVGhlIGNsYXNzIG9uIHRoZSBob3N0IGVsZW1lbnQgd2hpY2ggY2hpbGQgY29tcG9uZW50cyBzaG91bGQgcmVmZXJlbmNlIHdoZW5cbiAgICogYWRqdXN0aW5nIGZvciBhIHNwZWNpZmllZCB0aGVtZSBicmFuZC4gVGhpcyBkZWZhdWx0cyB0byBgc2t5LXRoZW1lLWJyYW5kLTxuYW1lPmBcbiAgICogQHBhcmFtIHN0eWxlVXJsIFRoZSBVUkwgb2YgdGhlIHN0eWxlc2hlZXQgdG8gbG9hZCBmb3IgdGhpcyBicmFuZFxuICAgKiBAcGFyYW0gc3JpSGFzaCBUaGUgc3VicmVzb3VyY2UgaW50ZWdyaXR5IGhhc2ggZm9yIHRoZSBzdHlsZXNoZWV0XG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgbmFtZTogc3RyaW5nLFxuICAgIHB1YmxpYyByZWFkb25seSB2ZXJzaW9uOiBzdHJpbmcsXG4gICAgaG9zdENsYXNzPzogc3RyaW5nLFxuICAgIHB1YmxpYyByZWFkb25seSBzdHlsZVVybD86IHN0cmluZyxcbiAgICBwdWJsaWMgcmVhZG9ubHkgc3JpSGFzaD86IHN0cmluZyxcbiAgKSB7XG4gICAgdGhpcy5ob3N0Q2xhc3MgPSBob3N0Q2xhc3M7XG5cbiAgICBpZiAoIS9cXGQrXFwuXFxkK1xcLlxcZCsoPzotKD86YWxwaGF8YmV0YXxyYylcXC5cXGQpKiQvLnRlc3QodmVyc2lvbikpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYEludmFsaWQgdmVyc2lvbiBmb3JtYXQgXCIke3ZlcnNpb259XCIgZm9yIHRoZW1lIGJyYW5kIFwiJHtuYW1lfVwiLmAsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICogU2VyaWFsaXplcyB0aGUgdGhlbWUgYnJhbmQgdG8gYSBKU09OLWNvbXBhdGlibGUgb2JqZWN0LlxuICAgKi9cbiAgcHVibGljIHNlcmlhbGl6ZSgpOiBTa3lUaGVtZUJyYW5kRGF0YSB7XG4gICAgY29uc3QgcmVzdWx0OiBTa3lUaGVtZUJyYW5kRGF0YSA9IHtcbiAgICAgIG5hbWU6IHRoaXMubmFtZSxcbiAgICAgIHZlcnNpb246IHRoaXMudmVyc2lvbixcbiAgICB9O1xuXG4gICAgLy8gT25seSBpbmNsdWRlIGhvc3RDbGFzcyBpZiBpdCdzIGRpZmZlcmVudCBmcm9tIHRoZSBkZWZhdWx0XG4gICAgY29uc3QgZGVmYXVsdEhvc3RDbGFzcyA9IHRoaXMuI2J1aWxkRGVmYXVsdEhvc3RDbGFzc05hbWUoKTtcblxuICAgIGlmICh0aGlzLmhvc3RDbGFzcyAhPT0gZGVmYXVsdEhvc3RDbGFzcykge1xuICAgICAgcmVzdWx0Lmhvc3RDbGFzcyA9IHRoaXMuaG9zdENsYXNzO1xuICAgIH1cblxuICAgIC8vIEluY2x1ZGUgc3R5bGVVcmwgYW5kIHNyaUhhc2ggaWYgdGhleSBhcmUgcHJvdmlkZWRcbiAgICBpZiAodGhpcy5zdHlsZVVybCkge1xuICAgICAgcmVzdWx0LnN0eWxlVXJsID0gdGhpcy5zdHlsZVVybDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zcmlIYXNoKSB7XG4gICAgICByZXN1bHQuc3JpSGFzaCA9IHRoaXMuc3JpSGFzaDtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKiBEZXNlcmlhbGl6ZXMgYSBKU09OIG9iamVjdCB0byBhIFNreVRoZW1lQnJhbmQgaW5zdGFuY2UuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGRlc2VyaWFsaXplKGRhdGE6IFNreVRoZW1lQnJhbmREYXRhKTogU2t5VGhlbWVCcmFuZCB7XG4gICAgcmV0dXJuIG5ldyBTa3lUaGVtZUJyYW5kKFxuICAgICAgZGF0YS5uYW1lLFxuICAgICAgZGF0YS52ZXJzaW9uLFxuICAgICAgZGF0YS5ob3N0Q2xhc3MsXG4gICAgICBkYXRhLnN0eWxlVXJsLFxuICAgICAgZGF0YS5zcmlIYXNoLFxuICAgICk7XG4gIH1cblxuICAjYnVpbGREZWZhdWx0SG9zdENsYXNzTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgc2t5LXRoZW1lLWJyYW5kLSR7dGhpcy5uYW1lfWA7XG4gIH1cbn1cbiJdfQ==","import { SkyTheme } from './theme';\nimport { SkyThemeBrand } from './theme-brand';\nimport { SkyThemeMode } from './theme-mode';\nimport { SkyThemeSpacing } from './theme-spacing';\n/**\n * Specifies the theme and mode to be applied to a host element.\n */\nexport class SkyThemeSettings {\n /**\n * Creates a new SkyThemeSettings instance.\n * @param theme The theme configuration.\n * @param mode The theme mode.\n */\n constructor(theme, mode, spacing = SkyThemeSpacing.presets.standard, brand) {\n this.theme = theme;\n this.mode = mode;\n this.spacing = spacing;\n this.brand = brand;\n }\n /**\n * Serializes the theme settings to a string.\n */\n serialize() {\n const result = {\n theme: this.theme.serialize(),\n mode: this.mode.serialize(),\n };\n // Only include spacing if it's not the default\n if (this.spacing !== SkyThemeSpacing.presets.standard) {\n result.spacing = this.spacing.serialize();\n }\n // Only include brand if it exists\n if (this.brand) {\n result.brand = this.brand.serialize();\n }\n return JSON.stringify(result);\n }\n /**\n * Deserializes a string to a SkyThemeSettings instance.\n */\n static deserialize(value) {\n const settingsData = JSON.parse(value);\n const theme = SkyTheme.deserialize(settingsData.theme);\n const mode = SkyThemeMode.deserialize(settingsData.mode);\n const spacing = settingsData.spacing\n ? SkyThemeSpacing.deserialize(settingsData.spacing)\n : SkyThemeSpacing.presets.standard;\n const brand = settingsData.brand\n ? SkyThemeBrand.deserialize(settingsData.brand)\n : undefined;\n return new SkyThemeSettings(theme, mode, spacing, brand);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtc2V0dGluZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGhlbWUvc3JjL2xpYi90aGVtaW5nL3RoZW1lLXNldHRpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDbkMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVsRDs7R0FFRztBQUNILE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0I7Ozs7T0FJRztJQUNILFlBQ2tCLEtBQWUsRUFDZixJQUFrQixFQUNsQixVQUFVLGVBQWUsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUMxQyxLQUFxQjtRQUhyQixVQUFLLEdBQUwsS0FBSyxDQUFVO1FBQ2YsU0FBSSxHQUFKLElBQUksQ0FBYztRQUNsQixZQUFPLEdBQVAsT0FBTyxDQUFtQztRQUMxQyxVQUFLLEdBQUwsS0FBSyxDQUFnQjtJQUNwQyxDQUFDO0lBRUo7O09BRUc7SUFDSSxTQUFTO1FBQ2QsTUFBTSxNQUFNLEdBQXlCO1lBQ25DLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRTtZQUM3QixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7U0FDNUIsQ0FBQztRQUVGLCtDQUErQztRQUMvQyxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssZUFBZSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN0RCxNQUFNLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDNUMsQ0FBQztRQUVELGtDQUFrQztRQUNsQyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNmLE1BQU0sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUN4QyxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxXQUFXLENBQUMsS0FBYTtRQUNyQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBeUIsQ0FBQztRQUUvRCxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2RCxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6RCxNQUFNLE9BQU8sR0FBRyxZQUFZLENBQUMsT0FBTztZQUNsQyxDQUFDLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDO1lBQ25ELENBQUMsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUNyQyxNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsS0FBSztZQUM5QixDQUFDLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDO1lBQy9DLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFFZCxPQUFPLElBQUksZ0JBQWdCLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDM0QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5VGhlbWUgfSBmcm9tICcuL3RoZW1lJztcbmltcG9ydCB7IFNreVRoZW1lQnJhbmQgfSBmcm9tICcuL3RoZW1lLWJyYW5kJztcbmltcG9ydCB7IFNreVRoZW1lTW9kZSB9IGZyb20gJy4vdGhlbWUtbW9kZSc7XG5pbXBvcnQgeyBTa3lUaGVtZVNldHRpbmdzRGF0YSB9IGZyb20gJy4vdGhlbWUtc2VyaWFsaXphdGlvbi10eXBlcyc7XG5pbXBvcnQgeyBTa3lUaGVtZVNwYWNpbmcgfSBmcm9tICcuL3RoZW1lLXNwYWNpbmcnO1xuXG4vKipcbiAqIFNwZWNpZmllcyB0aGUgdGhlbWUgYW5kIG1vZGUgdG8gYmUgYXBwbGllZCB0byBhIGhvc3QgZWxlbWVudC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreVRoZW1lU2V0dGluZ3Mge1xuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBTa3lUaGVtZVNldHRpbmdzIGluc3RhbmNlLlxuICAgKiBAcGFyYW0gdGhlbWUgVGhlIHRoZW1lIGNvbmZpZ3VyYXRpb24uXG4gICAqIEBwYXJhbSBtb2RlIFRoZSB0aGVtZSBtb2RlLlxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IHRoZW1lOiBTa3lUaGVtZSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgbW9kZTogU2t5VGhlbWVNb2RlLFxuICAgIHB1YmxpYyByZWFkb25seSBzcGFjaW5nID0gU2t5VGhlbWVTcGFjaW5nLnByZXNldHMuc3RhbmRhcmQsXG4gICAgcHVibGljIHJlYWRvbmx5IGJyYW5kPzogU2t5VGhlbWVCcmFuZCxcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBTZXJpYWxpemVzIHRoZSB0aGVtZSBzZXR0aW5ncyB0byBhIHN0cmluZy5cbiAgICovXG4gIHB1YmxpYyBzZXJpYWxpemUoKTogc3RyaW5nIHtcbiAgICBjb25zdCByZXN1bHQ6IFNreVRoZW1lU2V0dGluZ3NEYXRhID0ge1xuICAgICAgdGhlbWU6IHRoaXMudGhlbWUuc2VyaWFsaXplKCksXG4gICAgICBtb2RlOiB0aGlzLm1vZGUuc2VyaWFsaXplKCksXG4gICAgfTtcblxuICAgIC8vIE9ubHkgaW5jbHVkZSBzcGFjaW5nIGlmIGl0J3Mgbm90IHRoZSBkZWZhdWx0XG4gICAgaWYgKHRoaXMuc3BhY2luZyAhPT0gU2t5VGhlbWVTcGFjaW5nLnByZXNldHMuc3RhbmRhcmQpIHtcbiAgICAgIHJlc3VsdC5zcGFjaW5nID0gdGhpcy5zcGFjaW5nLnNlcmlhbGl6ZSgpO1xuICAgIH1cblxuICAgIC8vIE9ubHkgaW5jbHVkZSBicmFuZCBpZiBpdCBleGlzdHNcbiAgICBpZiAodGhpcy5icmFuZCkge1xuICAgICAgcmVzdWx0LmJyYW5kID0gdGhpcy5icmFuZC5zZXJpYWxpemUoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkocmVzdWx0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXNlcmlhbGl6ZXMgYSBzdHJpbmcgdG8gYSBTa3lUaGVtZVNldHRpbmdzIGluc3RhbmNlLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBkZXNlcmlhbGl6ZSh2YWx1ZTogc3RyaW5nKTogU2t5VGhlbWVTZXR0aW5ncyB7XG4gICAgY29uc3Qgc2V0dGluZ3NEYXRhID0gSlNPTi5wYXJzZSh2YWx1ZSkgYXMgU2t5VGhlbWVTZXR0aW5nc0RhdGE7XG5cbiAgICBjb25zdCB0aGVtZSA9IFNreVRoZW1lLmRlc2VyaWFsaXplKHNldHRpbmdzRGF0YS50aGVtZSk7XG4gICAgY29uc3QgbW9kZSA9IFNreVRoZW1lTW9kZS5kZXNlcmlhbGl6ZShzZXR0aW5nc0RhdGEubW9kZSk7XG4gICAgY29uc3Qgc3BhY2luZyA9IHNldHRpbmdzRGF0YS5zcGFjaW5nXG4gICAgICA/IFNreVRoZW1lU3BhY2luZy5kZXNlcmlhbGl6ZShzZXR0aW5nc0RhdGEuc3BhY2luZylcbiAgICAgIDogU2t5VGhlbWVTcGFjaW5nLnByZXNldHMuc3RhbmRhcmQ7XG4gICAgY29uc3QgYnJhbmQgPSBzZXR0aW5nc0RhdGEuYnJhbmRcbiAgICAgID8gU2t5VGhlbWVCcmFuZC5kZXNlcmlhbGl6ZShzZXR0aW5nc0RhdGEuYnJhbmQpXG4gICAgICA6IHVuZGVmaW5lZDtcblxuICAgIHJldHVybiBuZXcgU2t5VGhlbWVTZXR0aW5ncyh0aGVtZSwgbW9kZSwgc3BhY2luZywgYnJhbmQpO1xuICB9XG59XG4iXX0=","import { Injectable } from '@angular/core';\nimport { ReplaySubject } from 'rxjs';\nimport { SkyThemeMode } from './theme-mode';\nimport { SkyThemeSettings } from './theme-settings';\nimport { SkyThemeSpacing } from './theme-spacing';\nimport * as i0 from \"@angular/core\";\nconst BRAND_BLACKBAUD = 'blackbaud';\nfunction assertCurrentSettings(currentSettings) {\n if (!currentSettings) {\n throw new Error('Theme service is not initialized. Call init() first.');\n }\n}\n/**\n * Provides methods for updating and handling changes to the current theme.\n */\nexport class SkyThemeService {\n /**\n * Notifies consumers when the current theme settings have changed.\n */\n get settingsChange() {\n return this.#_settingsObs;\n }\n #current;\n #brandLinkElement;\n #hostEl;\n #renderer;\n #settings;\n #registeredBrands = new Map();\n #_settingsObs;\n constructor() {\n this.#settings = new ReplaySubject(1);\n this.#_settingsObs = this.#settings.asObservable();\n }\n /**\n * Initializes the theme service with the specified parameters. This should only be called\n * from a host component that provides its own theme to child components.\n * @param hostEl The host element under which themed components are rendered.\n * @param renderer A Renderer2 instance for updating the host element with theme changes.\n * @param theme The initial theme.\n * @param registeredBrands An initial set of brands to register. Additional brands can\n * be registered later via the registerBrand() method.\n */\n init(hostEl, renderer, theme, registeredBrands) {\n this.#hostEl = hostEl;\n this.#renderer = renderer;\n if (registeredBrands) {\n for (const brand of registeredBrands) {\n this.#registeredBrands.set(brand.name, brand);\n }\n }\n this.setTheme(theme);\n }\n /**\n * Destroys the current theme service. This should only be called from a host component that\n * provides its own theme to child components.\n */\n destroy() {\n this.#settings.complete();\n this.#hostEl = this.#renderer = undefined;\n }\n /**\n * Updates the current theme mode.\n * @param mode The new theme mode to apply.\n */\n setThemeMode(mode) {\n this.#updateThemeProperty('mode', mode);\n }\n /**\n * Updates the current theme spacing.\n * @param spacing The new theme spacing to apply.\n */\n setThemeSpacing(spacing) {\n this.#updateThemeProperty('spacing', spacing);\n }\n /**\n * Updates the current theme brand.\n * @param brand The new theme brand to apply.\n */\n setThemeBrand(brand) {\n this.#updateThemeProperty('brand', brand);\n }\n setTheme(settingsOrTheme) {\n let settings;\n if (settingsOrTheme instanceof SkyThemeSettings) {\n settings = this.#applyRegisteredBrand(settingsOrTheme);\n }\n else {\n const current = this.#current;\n assertCurrentSettings(current);\n settings = new SkyThemeSettings(settingsOrTheme, current.mode, current.spacing, settingsOrTheme.supportsBranding ? current.brand : undefined);\n }\n const previous = this.#current;\n this.#applyThemeClass(previous, settings, 'theme');\n this.#applyThemeClass(previous, settings, 'mode', 'supportedModes');\n this.#applyThemeClass(previous, settings, 'spacing', 'supportedSpacing');\n this.#applyThemeClass(previous, settings, 'brand');\n this.#settings.next({\n currentSettings: settings,\n previousSettings: previous,\n });\n this.#current = settings;\n }\n registerBrand(brand) {\n this.#registeredBrands.set(brand.name, brand);\n }\n unregisterBrand(name) {\n this.#registeredBrands.delete(name);\n }\n #applyRegisteredBrand(settings) {\n const brandName = settings.brand?.name;\n if (brandName) {\n const registeredBrand = this.#registeredBrands.get(brandName);\n if (registeredBrand) {\n settings = new SkyThemeSettings(settings.theme, settings.mode, settings.spacing, registeredBrand);\n }\n }\n return settings;\n }\n #updateThemeProperty(property, value) {\n const current = this.#current;\n assertCurrentSettings(current);\n const currentTheme = current.theme;\n let supportedValues = undefined;\n switch (property) {\n case 'mode':\n supportedValues = currentTheme.supportedModes;\n break;\n case 'spacing':\n supportedValues = currentTheme.supportedSpacing;\n break;\n default:\n }\n if (supportedValues && !supportedValues.includes(value)) {\n throw new Error(`The current theme does not support the specified ${property}.`);\n }\n const updatedSettings = {\n theme: current.theme,\n mode: current.mode,\n spacing: current.spacing,\n brand: current.brand,\n [property]: value,\n };\n this.setTheme(new SkyThemeSettings(updatedSettings.theme, updatedSettings.mode, updatedSettings.spacing, updatedSettings.brand));\n }\n #applyThemeClass(previous, current, prop, supportedProp) {\n const currentSetting = current[prop];\n const previousClass = previous?.[prop]?.hostClass;\n const currentClass = currentSetting?.hostClass;\n if (!previousClass || previousClass !== currentClass) {\n this.#updateHostClass(prop, previousClass, currentClass, currentSetting, current, supportedProp);\n if (prop === 'brand') {\n if (!current.theme.supportsBranding && currentSetting) {\n throw new Error('Branding is not supported for the given theme.');\n }\n this.#updateBrandStylesheet(current.brand, previous?.brand);\n }\n }\n }\n #updateBrandStylesheet(currentBrand, previousBrand) {\n if (previousBrand && previousBrand.name !== BRAND_BLACKBAUD) {\n this.#removeBrandStylesheet();\n }\n if (currentBrand && currentBrand.name !== BRAND_BLACKBAUD) {\n this.#addBrandStylesheet(currentBrand);\n }\n }\n #updateHostClass(prop, previousClass, currentClass, currentSetting, current, supportedProp) {\n if (previousClass) {\n this.#removeHostClass(previousClass);\n }\n if (prop === 'brand') {\n if (currentClass && !previousClass) {\n this.#addHostClass('sky-theme-brand-base');\n }\n else if (!currentClass && previousClass) {\n this.#removeHostClass('sky-theme-brand-base');\n }\n }\n if (currentClass &&\n this.#isSupportedProperty(currentSetting, current, supportedProp)) {\n this.#addHostClass(currentClass);\n }\n }\n #addBrandStylesheet(brand) {\n if (brand.name !== BRAND_BLACKBAUD) {\n // Use styleUrl if provided, otherwise build the default URL\n const styleUrl = brand.styleUrl ||\n `https://sky.blackbaudcdn.net/static/skyux-brand-${brand.name}/${brand.version}/assets/scss/${brand.name}.css`;\n const renderer = this.#getRenderer();\n this.#brandLinkElement = renderer.createElement('link');\n renderer.appendChild(this.#hostEl, this.#brandLinkElement);\n renderer.setAttribute(this.#brandLinkElement, 'rel', 'stylesheet');\n renderer.setAttribute(this.#brandLinkElement, 'href', styleUrl);\n if (brand.sriHash) {\n renderer.setAttribute(this.#brandLinkElement, 'integrity', brand.sriHash);\n renderer.setAttribute(this.#brandLinkElement, 'crossorigin', 'anonymous');\n }\n }\n }\n #removeBrandStylesheet() {\n if (this.#brandLinkElement) {\n this.#getRenderer().removeChild(this.#hostEl, this.#brandLinkElement);\n this.#brandLinkElement = undefined;\n }\n }\n #addHostClass(className) {\n this.#getRenderer().addClass(this.#hostEl, className);\n }\n #removeHostClass(className) {\n this.#getRenderer().removeClass(this.#hostEl, className);\n }\n #getRenderer() {\n if (!this.#renderer) {\n throw new Error('Renderer is not initialized. Have you called the theme service `init` method?');\n }\n return this.#renderer;\n }\n #isSupportedProperty(currentSetting, current, supportedProp) {\n return (!supportedProp ||\n ((currentSetting instanceof SkyThemeMode ||\n currentSetting instanceof SkyThemeSpacing) &&\n current.theme[supportedProp].includes(currentSetting)));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SkyThemeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SkyThemeService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SkyThemeService, decorators: [{\n type: Injectable\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90aGVtZS9zcmMvbGliL3RoZW1pbmcvdGhlbWUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRXRELE9BQU8sRUFBYyxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM1QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBRWxELE1BQU0sZUFBZSxHQUFHLFdBQVcsQ0FBQztBQUVwQyxTQUFTLHFCQUFxQixDQUM1QixlQUE2QztJQUU3QyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDckIsTUFBTSxJQUFJLEtBQUssQ0FBQyxzREFBc0QsQ0FBQyxDQUFDO0lBQzFFLENBQUM7QUFDSCxDQUFDO0FBRUQ7O0dBRUc7QUFFSCxNQUFNLE9BQU8sZUFBZTtJQUMxQjs7T0FFRztJQUNILElBQVcsY0FBYztRQUN2QixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUVELFFBQVEsQ0FBK0I7SUFFdkMsaUJBQWlCLENBQThCO0lBRS9DLE9BQU8sQ0FBa0I7SUFFekIsU0FBUyxDQUF3QjtJQUVqQyxTQUFTLENBQXdDO0lBRWpELGlCQUFpQixHQUFHLElBQUksR0FBRyxFQUF5QixDQUFDO0lBRXJELGFBQWEsQ0FBcUM7SUFFbEQ7UUFDRSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksYUFBYSxDQUF5QixDQUFDLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUM7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N0IsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxTQUFpQjtRQUNoQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQ2IsK0VBQStFLENBQ2hGLENBQUM7UUFDSixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxvQkFBb0IsQ0FDbEIsY0FLYSxFQUNiLE9BQXlCLEVBQ3pCLGFBQXFEO1FBRXJELE9BQU8sQ0FDTCxDQUFDLGFBQWE7WUFDZCxDQUFDLENBQUMsY0FBYyxZQUFZLFlBQVk7Z0JBQ3RDLGNBQWMsWUFBWSxlQUFlLENBQUM7Z0JBQzFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQ3pELENBQUM7SUFDSixDQUFDOzhHQXJXVSxlQUFlO2tIQUFmLGVBQWU7OzJGQUFmLGVBQWU7a0JBRDNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTa3lUaGVtZSB9IGZyb20gJy4vdGhlbWUnO1xuaW1wb3J0IHsgU2t5VGhlbWVCcmFuZCB9IGZyb20gJy4vdGhlbWUtYnJhbmQnO1xuaW1wb3J0IHsgU2t5VGhlbWVNb2RlIH0gZnJvbSAnLi90aGVtZS1tb2RlJztcbmltcG9ydCB7IFNreVRoZW1lU2V0dGluZ3MgfSBmcm9tICcuL3RoZW1lLXNldHRpbmdzJztcbmltcG9ydCB7IFNreVRoZW1lU2V0dGluZ3NDaGFuZ2UgfSBmcm9tICcuL3RoZW1lLXNldHRpbmdzLWNoYW5nZSc7XG5pbXBvcnQgeyBTa3lUaGVtZVNwYWNpbmcgfSBmcm9tICcuL3RoZW1lLXNwYWNpbmcnO1xuXG5jb25zdCBCUkFORF9CTEFDS0JBVUQgPSAnYmxhY2tiYXVkJztcblxuZnVuY3Rpb24gYXNzZXJ0Q3VycmVudFNldHRpbmdzKFxuICBjdXJyZW50U2V0dGluZ3M6IFNreVRoZW1lU2V0dGluZ3MgfCB1bmRlZmluZWQsXG4pOiBhc3NlcnRzIGN1cnJlbnRTZXR0aW5ncyBpcyBTa3lUaGVtZVNldHRpbmdzIHtcbiAgaWYgKCFjdXJyZW50U2V0dGluZ3MpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZW1lIHNlcnZpY2UgaXMgbm90IGluaXRpYWxpemVkLiBDYWxsIGluaXQoKSBmaXJzdC4nKTtcbiAgfVxufVxuXG4vKipcbiAqIFByb3ZpZGVzIG1ldGhvZHMgZm9yIHVwZGF0aW5nIGFuZCBoYW5kbGluZyBjaGFuZ2VzIHRvIHRoZSBjdXJyZW50IHRoZW1lLlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5VGhlbWVTZXJ2aWNlIHtcbiAgLyoqXG4gICAqIE5vdGlmaWVzIGNvbnN1bWVycyB3aGVuIHRoZSBjdXJyZW50IHRoZW1lIHNldHRpbmdzIGhhdmUgY2hhbmdlZC5cbiAgICovXG4gIHB1YmxpYyBnZXQgc2V0dGluZ3NDaGFuZ2UoKTogT2JzZXJ2YWJsZTxTa3lUaGVtZVNldHRpbmdzQ2hhbmdlPiB7XG4gICAgcmV0dXJuIHRoaXMuI19zZXR0aW5nc09icztcbiAgfVxuXG4gICNjdXJyZW50OiBTa3lUaGVtZVNldHRpbmdzIHwgdW5kZWZpbmVkO1xuXG4gICNicmFuZExpbmtFbGVtZW50OiBIVE1MTGlua0VsZW1lbnQgfCB1bmRlZmluZWQ7XG5cbiAgI2hvc3RFbDogYW55IHwgdW5kZWZpbmVkO1xuXG4gICNyZW5kZXJlcjogUmVuZGVyZXIyIHwgdW5kZWZpbmVkO1xuXG4gICNzZXR0aW5nczogUmVwbGF5U3ViamVjdDxTa3lUaGVtZVNldHRpbmdzQ2hhbmdlPjtcblxuICAjcmVnaXN0ZXJlZEJyYW5kcyA9IG5ldyBNYXA8c3RyaW5nLCBTa3lUaGVtZUJyYW5kPigpO1xuXG4gICNfc2V0dGluZ3NPYnM6IE9ic2VydmFibGU8U2t5VGhlbWVTZXR0aW5nc0NoYW5nZT47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy4jc2V0dGluZ3MgPSBuZXcgUmVwbGF5U3ViamVjdDxTa3lUaGVtZVNldHRpbmdzQ2hhbmdlPigxKTtcbiAgICB0aGlzLiNfc2V0dGluZ3NPYnMgPSB0aGlzLiNzZXR0aW5ncy5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplcyB0aGUgdGhlbWUgc2VydmljZSB3aXRoIHRoZSBzcGVjaWZpZWQgcGFyYW1ldGVycy4gVGhpcyBzaG91bGQgb25seSBiZSBjYWxsZWRcbiAgICogZnJvbSBhIGhvc3QgY29tcG9uZW50IHRoYXQgcHJvdmlkZXMgaXRzIG93biB0aGVtZSB0byBjaGlsZCBjb21wb25lbnRzLlxuICAgKiBAcGFyYW0gaG9zdEVsIFRoZSBob3N0IGVsZW1lbnQgdW5kZXIgd2hpY2ggdGhlbWVkIGNvbXBvbmVudHMgYXJlIHJlbmRlcmVkLlxuICAgKiBAcGFyYW0gcmVuZGVyZXIgQSBSZW5kZXJlcjIgaW5zdGFuY2UgZm9yIHVwZGF0aW5nIHRoZSBob3N0IGVsZW1lbnQgd2l0aCB0aGVtZSBjaGFuZ2VzLlxuICAgKiBAcGFyYW0gdGhlbWUgVGhlIGluaXRpYWwgdGhlbWUuXG4gICAqIEBwYXJhbSByZWdpc3RlcmVkQnJhbmRzIEFuIGluaXRpYWwgc2V0IG9mIGJyYW5kcyB0byByZWdpc3Rlci4gQWRkaXRpb25hbCBicmFuZHMgY2FuXG4gICAqIGJlIHJlZ2lzdGVyZWQgbGF0ZXIgdmlhIHRoZSByZWdpc3RlckJyYW5kKCkgbWV0aG9kLlxuICAgKi9cbiAgcHVibGljIGluaXQoXG4gICAgaG9zdEVsOiBhbnksXG4gICAgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICB0aGVtZTogU2t5VGhlbWVTZXR0aW5ncyxcbiAgICByZWdpc3RlcmVkQnJhbmRzPzogU2t5VGhlbWVCcmFuZFtdLFxuICApOiB2b2lkIHtcbiAgICB0aGlzLiNob3N0RWwgPSBob3N0RWw7XG4gICAgdGhpcy4jcmVuZGVyZXIgPSByZW5kZXJlcjtcblxuICAgIGlmIChyZWdpc3RlcmVkQnJhbmRzKSB7XG4gICAgICBmb3IgKGNvbnN0IGJyYW5kIG9mIHJlZ2lzdGVyZWRCcmFuZHMpIHtcbiAgICAgICAgdGhpcy4jcmVnaXN0ZXJlZEJyYW5kcy5zZXQoYnJhbmQubmFtZSwgYnJhbmQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuc2V0VGhlbWUodGhlbWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlc3Ryb3lzIHRoZSBjdXJyZW50IHRoZW1lIHNlcnZpY2UuIFRoaXMgc2hvdWxkIG9ubHkgYmUgY2FsbGVkIGZyb20gYSBob3N0IGNvbXBvbmVudCB0aGF0XG4gICAqIHByb3ZpZGVzIGl0cyBvd24gdGhlbWUgdG8gY2hpbGQgY29tcG9uZW50cy5cbiAgICovXG4gIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI3NldHRpbmdzLmNvbXBsZXRlKCk7XG5cbiAgICB0aGlzLiNob3N0RWwgPSB0aGlzLiNyZW5kZXJlciA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGVzIHRoZSBjdXJyZW50IHRoZW1lIG1vZGUuXG4gICAqIEBwYXJhbSBtb2RlIFRoZSBuZXcgdGhlbWUgbW9kZSB0byBhcHBseS5cbiAgICovXG4gIHB1YmxpYyBzZXRUaGVtZU1vZGUobW9kZTogU2t5VGhlbWVNb2RlKTogdm9pZCB7XG4gICAgdGhpcy4jdXBkYXRlVGhlbWVQcm9wZXJ0eSgnbW9kZScsIG1vZGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGhlIGN1cnJlbnQgdGhlbWUgc3BhY2luZy5cbiAgICogQHBhcmFtIHNwYWNpbmcgVGhlIG5ldyB0aGVtZSBzcGFjaW5nIHRvIGFwcGx5LlxuICAgKi9cbiAgcHVibGljIHNldFRoZW1lU3BhY2luZyhzcGFjaW5nOiBTa3lUaGVtZVNwYWNpbmcpOiB2b2lkIHtcbiAgICB0aGlzLiN1cGRhdGVUaGVtZVByb3BlcnR5KCdzcGFjaW5nJywgc3BhY2luZyk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUgY3VycmVudCB0aGVtZSBicmFuZC5cbiAgICogQHBhcmFtIGJyYW5kIFRoZSBuZXcgdGhlbWUgYnJhbmQgdG8gYXBwbHkuXG4gICAqL1xuICBwdWJsaWMgc2V0VGhlbWVCcmFuZChicmFuZDogU2t5VGhlbWVCcmFuZCk6IHZvaWQge1xuICAgIHRoaXMuI3VwZGF0ZVRoZW1lUHJvcGVydHkoJ2JyYW5kJywgYnJhbmQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGhlIGN1cnJlbnQgdGhlbWUgc2V0dGluZ3MuXG4gICAqIEBwYXJhbSBzZXR0aW5ncyBUaGUgbmV3IHRoZW1lIHNldHRpbmdzIHRvIGFwcGx5LlxuICAgKi9cbiAgcHVibGljIHNldFRoZW1lKHNldHRpbmdzOiBTa3lUaGVtZVNldHRpbmdzKTogdm9pZDtcblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUgY3VycmVudCB0aGVtZS5cbiAgICogQHBhcmFtIHRoZW1lIFRoZSBuZXcgdGhlbWUgdG8gYXBwbHkuXG4gICAqL1xuICBwdWJsaWMgc2V0VGhlbWUodGhlbWU6IFNreVRoZW1lKTogdm9pZDtcblxuICBwdWJsaWMgc2V0VGhlbWUoc2V0dGluZ3NPclRoZW1lOiBTa3lUaGVtZVNldHRpbmdzIHwgU2t5VGhlbWUpOiB2b2lkIHtcbiAgICBsZXQgc2V0dGluZ3M6IFNreVRoZW1lU2V0dGluZ3M7XG5cbiAgICBpZiAoc2V0dGluZ3NPclRoZW1lIGluc3RhbmNlb2YgU2t5VGhlbWVTZXR0aW5ncykge1xuICAgICAgc2V0dGluZ3MgPSB0aGlzLiNhcHBseVJlZ2lzdGVyZWRCcmFuZChzZXR0aW5nc09yVGhlbWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBjdXJyZW50ID0gdGhpcy4jY3VycmVudDtcblxuICAgICAgYXNzZXJ0Q3VycmVudFNldHRpbmdzKGN1cnJlbnQpO1xuXG4gICAgICBzZXR0aW5ncyA9IG5ldyBTa3lUaGVtZVNldHRpbmdzKFxuICAgICAgICBzZXR0aW5nc09yVGhlbWUsXG4gICAgICAgIGN1cnJlbnQubW9kZSxcbiAgICAgICAgY3VycmVudC5zcGFjaW5nLFxuICAgICAgICBzZXR0aW5nc09yVGhlbWUuc3VwcG9ydHNCcmFuZGluZyA/IGN1cnJlbnQuYnJhbmQgOiB1bmRlZmluZWQsXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IHByZXZpb3VzID0gdGhpcy4jY3VycmVudDtcblxuICAgIHRoaXMuI2FwcGx5VGhlbWVDbGFzcyhwcmV2aW91cywgc2V0dGluZ3MsICd0aGVtZScpO1xuICAgIHRoaXMuI2FwcGx5VGhlbWVDbGFzcyhwcmV2aW91cywgc2V0dGluZ3MsICdtb2RlJywgJ3N1cHBvcnRlZE1vZGVzJyk7XG4gICAgdGhpcy4jYXBwbHlUaGVtZUNsYXNzKHByZXZpb3VzLCBzZXR0aW5ncywgJ3NwYWNpbmcnLCAnc3VwcG9ydGVkU3BhY2luZycpO1xuICAgIHRoaXMuI2FwcGx5VGhlbWVDbGFzcyhwcmV2aW91cywgc2V0dGluZ3MsICdicmFuZCcpO1xuXG4gICAgdGhpcy4jc2V0dGluZ3MubmV4dCh7XG4gICAgICBjdXJyZW50U2V0dGluZ3M6IHNldHRpbmdzLFxuICAgICAgcHJldmlvdXNTZXR0aW5nczogcHJldmlvdXMsXG4gICAgfSk7XG5cbiAgICB0aGlzLiNjdXJyZW50ID0gc2V0dGluZ3M7XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJCcmFuZChicmFuZDogU2t5VGhlbWVCcmFuZCk6IHZvaWQge1xuICAgIHRoaXMuI3JlZ2lzdGVyZWRCcmFuZHMuc2V0KGJyYW5kLm5hbWUsIGJyYW5kKTtcbiAgfVxuXG4gIHB1YmxpYyB1bnJlZ2lzdGVyQnJhbmQobmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy4jcmVnaXN0ZXJlZEJyYW5kcy5kZWxldGUobmFtZSk7XG4gIH1cblxuICAjYXBwbHlSZWdpc3RlcmVkQnJhbmQoc2V0dGluZ3M6IFNreVRoZW1lU2V0dGluZ3MpOiBTa3lUaGVtZVNldHRpbmdzIHtcbiAgICBjb25zdCBicmFuZE5hbWUgPSBzZXR0aW5ncy5icmFuZD8ubmFtZTtcblxuICAgIGlmIChicmFuZE5hbWUpIHtcbiAgICAgIGNvbnN0IHJlZ2lzdGVyZWRCcmFuZCA9IHRoaXMuI3JlZ2lzdGVyZWRCcmFuZHMuZ2V0KGJyYW5kTmFtZSk7XG5cbiAgICAgIGlmIChyZWdpc3RlcmVkQnJhbmQpIHtcbiAgICAgICAgc2V0dGluZ3MgPSBuZXcgU2t5VGhlbWVTZXR0aW5ncyhcbiAgICAgICAgICBzZXR0aW5ncy50aGVtZSxcbiAgICAgICAgICBzZXR0aW5ncy5tb2RlLFxuICAgICAgICAgIHNldHRpbmdzLnNwYWNpbmcsXG4gICAgICAgICAgcmVnaXN0ZXJlZEJyYW5kLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBzZXR0aW5ncztcbiAgfVxuXG4gICN1cGRhdGVUaGVtZVByb3BlcnR5KFxuICAgIHByb3BlcnR5OiAnbW9kZScgfCAnc3BhY2luZycgfCAnYnJhbmQnLFxuICAgIHZhbHVlOiBTa3lUaGVtZU1vZGUgfCBTa3lUaGVtZVNwYWNpbmcgfCBTa3lUaGVtZUJyYW5kLFxuICApOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50ID0gdGhpcy4jY3VycmVudDtcblxuICAgIGFzc2VydEN1cnJlbnRTZXR0aW5ncyhjdXJyZW50KTtcblxuICAgIGNvbnN0IGN1cnJlbnRUaGVtZSA9IGN1cnJlbnQudGhlbWU7XG5cbiAgICBsZXQgc3VwcG9ydGVkVmFsdWVzOiBTa3lUaGVtZU1vZGVbXSB8IFNreVRoZW1lU3BhY2luZ1tdIHwgdW5kZWZpbmVkID1cbiAgICAgIHVuZGVmaW5lZDtcblxuICAgIHN3aXRjaCAocHJvcGVydHkpIHtcbiAgICAgIGNhc2UgJ21vZGUnOlxuICAgICAgICBzdXBwb3J0ZWRWYWx1ZXMgPSBjdXJyZW50VGhlbWUuc3VwcG9ydGVkTW9kZXM7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnc3BhY2luZyc6XG4gICAgICAgIHN1cHBvcnRlZFZhbHVlcyA9IGN1cnJlbnRUaGVtZS5zdXBwb3J0ZWRTcGFjaW5nO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgfVxuXG4gICAgaWYgKHN1cHBvcnRlZFZhbHVlcyAmJiAhc3VwcG9ydGVkVmFsdWVzLmluY2x1ZGVzKHZhbHVlKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgVGhlIGN1cnJlbnQgdGhlbWUgZG9lcyBub3Qgc3VwcG9ydCB0aGUgc3BlY2lmaWVkICR7cHJvcGVydHl9LmAsXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IHVwZGF0ZWRTZXR0aW5ncyA9IHtcbiAgICAgIHRoZW1lOiBjdXJyZW50LnRoZW1lLFxuICAgICAgbW9kZTogY3VycmVudC5tb2RlLFxuICAgICAgc3BhY2luZzogY3VycmVudC5zcGFjaW5nLFxuICAgICAgYnJhbmQ6IGN1cnJlbnQuYnJhbmQsXG4gICAgICBbcHJvcGVydHldOiB2YWx1ZSxcbiAgICB9O1xuXG4gICAgdGhpcy5zZXRUaGVtZShcbiAgICAgIG5ldyBTa3lUaGVtZVNldHRpbmdzKFxuICAgICAgICB1cGRhdGVkU2V0dGluZ3MudGhlbWUsXG4gICAgICAgIHVwZGF0ZWRTZXR0aW5ncy5tb2RlLFxuICAgICAgICB1cGRhdGVkU2V0dGluZ3Muc3BhY2luZyxcbiAgICAgICAgdXBkYXRlZFNldHRpbmdzLmJyYW5kLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgI2FwcGx5VGhlbWVDbGFzcyhcbiAgICBwcmV2aW91czogU2t5VGhlbWVTZXR0aW5ncyB8IHVuZGVmaW5lZCxcbiAgICBjdXJyZW50OiBTa3lUaGVtZVNldHRpbmdzLFxuICAgIHByb3A6ICd0aGVtZScgfCAnbW9kZScgfCAnc3BhY2luZycgfCAnYnJhbmQnLFxuICAgIHN1cHBvcnRlZFByb3A/OiAnc3VwcG9ydGVkTW9kZXMnIHwgJ3N1cHBvcnRlZFNwYWNpbmcnLFxuICApOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50U2V0dGluZyA9IGN1cnJlbnRbcHJvcF07XG4gICAgY29uc3QgcHJldmlvdXNDbGFzcyA9IHByZXZpb3VzPy5bcHJvcF0/Lmhvc3RDbGFzcztcbiAgICBjb25zdCBjdXJyZW50Q2xhc3MgPSBjdXJyZW50U2V0dGluZz8uaG9zdENsYXNzO1xuXG4gICAgaWYgKCFwcmV2aW91c0NsYXNzIHx8IHByZXZpb3VzQ2xhc3MgIT09IGN1cnJlbnRDbGFzcykge1xuICAgICAgdGhpcy4jdXBkYXRlSG9zdENsYXNzKFxuICAgICAgICBwcm9wLFxuICAgICAgICBwcmV2aW91c0NsYXNzLFxuICAgICAgICBjdXJyZW50Q2xhc3MsXG4gICAgICAgIGN1cnJlbnRTZXR0aW5nLFxuICAgICAgICBjdXJyZW50LFxuICAgICAgICBzdXBwb3J0ZWRQcm9wLFxuICAgICAgKTtcblxuICAgICAgaWYgKHByb3AgPT09ICdicmFuZCcpIHtcbiAgICAgICAgaWYgKCFjdXJyZW50LnRoZW1lLnN1cHBvcnRzQnJhbmRpbmcgJiYgY3VycmVudFNldHRpbmcpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0JyYW5kaW5nIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIHRoZSBnaXZlbiB0aGVtZS4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuI3VwZGF0ZUJyYW5kU3R5bGVzaGVldChjdXJyZW50LmJyYW5kLCBwcmV2aW91cz8uYnJhbmQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICN1cGRhdGVCcmFuZFN0eWxlc2hlZXQoXG4gICAgY3VycmVudEJyYW5kOiBTa3lUaGVtZUJyYW5kIHwgdW5kZWZpbmVkLFxuICAgIHByZXZpb3VzQnJhbmQ6IFNreVRoZW1lQnJhbmQgfCB1bmRlZmluZWQsXG4gICk6IHZvaWQge1xuICAgIGlmIChwcmV2aW91c0JyYW5kICYmIHByZXZpb3VzQnJhbmQubmFtZSAhPT0gQlJBTkRfQkxBQ0tCQVVEKSB7XG4gICAgICB0aGlzLiNyZW1vdmVCcmFuZFN0eWxlc2hlZXQoKTtcbiAgICB9XG5cbiAgICBpZiAoY3VycmVudEJyYW5kICYmIGN1cnJlbnRCcmFuZC5uYW1lICE9PSBCUkFORF9CTEFDS0JBVUQpIHtcbiAgICAgIHRoaXMuI2FkZEJyYW5kU3R5bGVzaGVldChjdXJyZW50QnJhbmQpO1xuICAgIH1cbiAgfVxuXG4gICN1cGRhdGVIb3N0Q2xhc3MoXG4gICAgcHJvcDogJ3RoZW1lJyB8ICdtb2RlJyB8ICdzcGFjaW5nJyB8ICdicmFuZCcsXG4gICAgcHJldmlvdXNDbGFzczogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIGN1cnJlbnRDbGFzczogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIGN1cnJlbnRTZXR0aW5nOlxuICAgICAgfCBTa3lUaGVtZVxuICAgICAgfCBTa3lUaGVtZU1vZGVcbiAgICAgIHwgU2t5VGhlbWVTcGFjaW5nXG4gICAgICB8IFNreVRoZW1lQnJhbmRcbiAgICAgIHwgdW5kZWZpbmVkLFxuICAgIGN1cnJlbnQ6IFNreVRoZW1lU2V0dGluZ3MsXG4gICAgc3VwcG9ydGVkUHJvcD86ICdzdXBwb3J0ZWRNb2RlcycgfCAnc3VwcG9ydGVkU3BhY2luZycsXG4gICk6IHZvaWQge1xuICAgIGlmIChwcmV2aW91c0NsYXNzKSB7XG4gICAgICB0aGlzLiNyZW1vdmVIb3N0Q2xhc3MocHJldmlvdXNDbGFzcyk7XG4gICAgfVxuXG4gICAgaWYgKHByb3AgPT09ICdicmFuZCcpIHtcbiAgICAgIGlmIChjdXJyZW50Q2xhc3MgJiYgIXByZXZpb3VzQ2xhc3MpIHtcbiAgICAgICAgdGhpcy4jYWRkSG9zdENsYXNzKCdza3ktdGhlbWUtYnJhbmQtYmFzZScpO1xuICAgICAgfSBlbHNlIGlmICghY3VycmVudENsYXNzICYmIHByZXZpb3VzQ2xhc3MpIHtcbiAgICAgICAgdGhpcy4jcmVtb3ZlSG9zdENsYXNzKCdza3ktdGhlbWUtYnJhbmQtYmFzZScpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChcbiAgICAgIGN1cnJlbnRDbGFzcyAmJlxuICAgICAgdGhpcy4jaXNTdXBwb3J0ZWRQcm9wZXJ0eShjdXJyZW50U2V0dGluZywgY3VycmVudCwgc3VwcG9ydGVkUHJvcClcbiAgICApIHtcbiAgICAgIHRoaXMuI2FkZEhvc3RDbGFzcyhjdXJyZW50Q2xhc3MpO1xuICAgIH1cbiAgfVxuXG4gICNhZGRCcmFuZFN0eWxlc2hlZXQoYnJhbmQ6IFNreVRoZW1lQnJhbmQpOiB2b2lkIHtcbiAgICBpZiAoYnJhbmQubmFtZSAhPT0gQlJBTkRfQkxBQ0tCQVVEKSB7XG4gICAgICAvLyBVc2Ugc3R5bGVVcmwgaWYgcHJvdmlkZWQsIG90aGVyd2lzZSBidWlsZCB0aGUgZGVmYXVsdCBVUkxcbiAgICAgIGNvbnN0IHN0eWxlVXJsID1cbiAgICAgICAgYnJhbmQuc3R5bGVVcmwgfHxcbiAgICAgICAgYGh0dHBzOi8vc2t5LmJsYWNrYmF1ZGNkbi5uZXQvc3RhdGljL3NreXV4LWJyYW5kLSR7YnJhbmQubmFtZX0vJHticmFuZC52ZXJzaW9ufS9hc3NldHMvc2Nzcy8ke2JyYW5kLm5hbWV9LmNzc2A7XG5cbiAgICAgIGNvbnN0IHJlbmRlcmVyID0gdGhpcy4jZ2V0UmVuZGVyZXIoKTtcblxuICAgICAgdGhpcy4jYnJhbmRMaW5rRWxlbWVudCA9IHJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoXG4gICAgICAgICdsaW5rJyxcbiAgICAgICkgYXMgSFRNTExpbmtFbGVtZW50O1xuXG4gICAgICByZW5kZXJlci5hcHBlbmRDaGlsZCh0aGlzLiNob3N0RWwsIHRoaXMuI2JyYW5kTGlua0VsZW1lbnQpO1xuXG4gICAgICByZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy4jYnJhbmRMaW5rRWxlbWVudCwgJ3JlbCcsICdzdHlsZXNoZWV0Jyk7XG4gICAgICByZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy4jYnJhbmRMaW5rRWxlbWVudCwgJ2hyZWYnLCBzdHlsZVVybCk7XG5cbiAgICAgIGlmIChicmFuZC5zcmlIYXNoKSB7XG4gICAgICAgIHJlbmRlcmVyLnNldEF0dHJpYnV0ZShcbiAgICAgICAgICB0aGlzLiNicmFuZExpbmtFbGVtZW50LFxuICAgICAgICAgICdpbnRlZ3JpdHknLFxuICAgICAgICAgIGJyYW5kLnNyaUhhc2gsXG4gICAgICAgICk7XG5cbiAgICAgICAgcmVuZGVyZXIuc2V0QXR0cmlidXRlKFxuICAgICAgICAgIHRoaXMuI2JyYW5kTGlua0VsZW1lbnQsXG4gICAgICAgICAgJ2Nyb3Nzb3JpZ2luJyxcbiAgICAgICAgICAnYW5vbnltb3VzJyxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjcmVtb3ZlQnJhbmRTdHlsZXNoZWV0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNicmFuZExpbmtFbGVtZW50KSB7XG4gICAgICB0aGlzLiNnZXRSZW5kZXJlcigpLnJlbW92ZUNoaWxkKHRoaXMuI2hvc3RFbCwgdGhpcy4jYnJhbmRMaW5rRWxlbWVudCk7XG4gICAgICB0aGlzLiNicmFuZExpbmtFbGVtZW50ID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gICNhZGRIb3N0Q2xhc3MoY2xhc3NOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLiNnZXRSZW5kZXJlcigpLmFkZENsYXNzKHRoaXMuI2hvc3RFbCwgY2xhc3NOYW1lKTtcbiAgfVxuXG4gICNyZW1vdmVIb3N0Q2xhc3MoY2xhc3NOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLiNnZXRSZW5kZXJlcigpLnJlbW92ZUNsYXNzKHRoaXMuI2hvc3RFbCwgY2xhc3NOYW1lKTtcbiAgfVxuXG4gICNnZXRSZW5kZXJlcigpOiBSZW5kZXJlcjIge1xuICAgIGlmICghdGhpcy4jcmVuZGVyZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ1JlbmRlcmVyIGlzIG5vdCBpbml0aWFsaXplZC4gSGF2ZSB5b3UgY2FsbGVkIHRoZSB0aGVtZSBzZXJ2aWNlIGBpbml0YCBtZXRob2Q/JyxcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLiNyZW5kZXJlcjtcbiAgfVxuXG4gICNpc1N1cHBvcnRlZFByb3BlcnR5KFxuICAgIGN1cnJlbnRTZXR0aW5nOlxuICAgICAgfCBTa3lUaGVtZVxuICAgICAgfCBTa3lUaGVtZU1vZGVcbiAgICAgIHwgU2t5VGhlbWVTcGFjaW5nXG4gICAgICB8IFNreVRoZW1lQnJhbmRcbiAgICAgIHwgdW5kZWZpbmVkLFxuICAgIGN1cnJlbnQ6IFNreVRoZW1lU2V0dGluZ3MsXG4gICAgc3VwcG9ydGVkUHJvcD86ICdzdXBwb3J0ZWRNb2RlcycgfCAnc3VwcG9ydGVkU3BhY2luZycsXG4gICk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICAhc3VwcG9ydGVkUHJvcCB8fFxuICAgICAgKChjdXJyZW50U2V0dGluZyBpbnN0YW5jZW9mIFNreVRoZW1lTW9kZSB8fFxuICAgICAgICBjdXJyZW50U2V0dGluZyBpbnN0YW5jZW9mIFNreVRoZW1lU3BhY2luZykgJiZcbiAgICAgICAgY3VycmVudC50aGVtZVtzdXBwb3J0ZWRQcm9wXS5pbmNsdWRlcyhjdXJyZW50U2V0dGluZykpXG4gICAgKTtcbiAgfVxufVxuIl19","import { Injectable, Optional } from '@angular/core';\nimport FontFaceObserver from 'fontfaceobserver';\nimport { take } from 'rxjs/operators';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"./theming/theme.service\";\nexport class SkyAppStyleLoader {\n static { this.LOAD_TIMEOUT = 3000; }\n #themeSvc;\n constructor(themeSvc) {\n this.isLoaded = false;\n this.#themeSvc = themeSvc;\n }\n loadStyles() {\n if (this.isLoaded) {\n return Promise.resolve();\n }\n let themePromise;\n if (this.#themeSvc) {\n themePromise = this.#themeSvc.settingsChange.pipe(take(1)).toPromise();\n }\n else {\n themePromise = Promise.resolve();\n }\n const fontAwesome = new FontFaceObserver('FontAwesome');\n const skyuxIcons = new FontFaceObserver('skyux-icons');\n const blackbaudSans = new FontFaceObserver('BLKB Sans');\n return Promise.all([\n // Specify a character for FontAwesome since some browsers will fail to detect\n // when the font is loaded unless a known character with a different width\n // than the default is not specified.\n fontAwesome.load('\\uf0fc', SkyAppStyleLoader.LOAD_TIMEOUT),\n skyuxIcons.load('\\ue999', SkyAppStyleLoader.LOAD_TIMEOUT),\n blackbaudSans.load(undefined, SkyAppStyleLoader.LOAD_TIMEOUT),\n themePromise,\n ])\n .then(() => {\n this.isLoaded = true;\n })\n .catch((error) => {\n // Errors loading the font should not stop the page from rendering.\n // Passing the error along in case the client wants to do something with it.\n return Promise.resolve({\n error,\n });\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SkyAppStyleLoader, deps: [{ token: i1.SkyThemeService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SkyAppStyleLoader, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SkyAppStyleLoader, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: () => [{ type: i1.SkyThemeService, decorators: [{\n type: Optional\n }] }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUtbG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RoZW1lL3NyYy9saWIvc3R5bGUtbG9hZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXJELE9BQU8sZ0JBQWdCLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFPdEMsTUFBTSxPQUFPLGlCQUFpQjthQUNMLGlCQUFZLEdBQUcsSUFBSSxBQUFQLENBQVE7SUFHM0MsU0FBUyxDQUE4QjtJQUV2QyxZQUF3QixRQUEwQjtRQUozQyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBS3RCLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO0lBQzVCLENBQUM7SUFFTSxVQUFVO1FBQ2YsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsT0FBTyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDM0IsQ0FBQztRQUVELElBQUksWUFBMEIsQ0FBQztRQUUvQixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNuQixZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3pFLENBQUM7YUFBTSxDQUFDO1lBQ04sWUFBWSxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNuQyxDQUFDO1FBRUQsTUFBTSxXQUFXLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN4RCxNQUFNLFVBQVUsR0FBRyxJQUFJLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3ZELE1BQU0sYUFBYSxHQUFHLElBQUksZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFeEQsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDO1lBQ2pCLDhFQUE4RTtZQUM5RSwwRUFBMEU7WUFDMUUscUNBQXFDO1lBQ3JDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLGlCQUFpQixDQUFDLFlBQVksQ0FBQztZQUMxRCxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxZQUFZLENBQUM7WUFDekQsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsaUJBQWlCLENBQUMsWUFBWSxDQUFDO1lBQzdELFlBQVk7U0FDYixDQUFDO2FBQ0MsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNULElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQzthQUNELEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ2YsbUVBQW1FO1lBQ25FLDRFQUE0RTtZQUM1RSxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUM7Z0JBQ3JCLEtBQUs7YUFDTixDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBOUNVLGlCQUFpQjtrSEFBakIsaUJBQWlCLGNBRmhCLE1BQU07OzJGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQU9jLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgRm9udEZhY2VPYnNlcnZlciBmcm9tICdmb250ZmFjZW9ic2VydmVyJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreVRoZW1lU2VydmljZSB9IGZyb20gJy4vdGhlbWluZy90aGVtZS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNreUFwcFN0eWxlTG9hZGVyIHtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBMT0FEX1RJTUVPVVQgPSAzMDAwO1xuICBwdWJsaWMgaXNMb2FkZWQgPSBmYWxzZTtcblxuICAjdGhlbWVTdmM6IFNreVRoZW1lU2VydmljZSB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSB0aGVtZVN2Yz86IFNreVRoZW1lU2VydmljZSkge1xuICAgIHRoaXMuI3RoZW1lU3ZjID0gdGhlbWVTdmM7XG4gIH1cblxuICBwdWJsaWMgbG9hZFN0eWxlcygpOiBQcm9taXNlPGFueT4ge1xuICAgIGlmICh0aGlzLmlzTG9hZGVkKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgfVxuXG4gICAgbGV0IHRoZW1lUHJvbWlzZTogUHJvbWlzZTxhbnk+O1xuXG4gICAgaWYgKHRoaXMuI3RoZW1lU3ZjKSB7XG4gICAgICB0aGVtZVByb21pc2UgPSB0aGlzLiN0aGVtZVN2Yy5zZXR0aW5nc0NoYW5nZS5waXBlKHRha2UoMSkpLnRvUHJvbWlzZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGVtZVByb21pc2UgPSBQcm9taXNlLnJlc29sdmUoKTtcbiAgICB9XG5cbiAgICBjb25zdCBmb250QXdlc29tZSA9IG5ldyBGb250RmFjZU9ic2VydmVyKCdGb250QXdlc29tZScpO1xuICAgIGNvbnN0IHNreXV4SWNvbnMgPSBuZXcgRm9udEZhY2VPYnNlcnZlcignc2t5dXgtaWNvbnMnKTtcbiAgICBjb25zdCBibGFja2JhdWRTYW5zID0gbmV3IEZvbnRGYWNlT2JzZXJ2ZXIoJ0JMS0IgU2FucycpO1xuXG4gICAgcmV0dXJuIFByb21pc2UuYWxsKFtcbiAgICAgIC8vIFNwZWNpZnkgYSBjaGFyYWN0ZXIgZm9yIEZvbnRBd2Vzb21lIHNpbmNlIHNvbWUgYnJvd3NlcnMgd2lsbCBmYWlsIHRvIGRldGVjdFxuICAgICAgLy8gd2hlbiB0aGUgZm9udCBpcyBsb2FkZWQgdW5sZXNzIGEga25vd24gY2hhcmFjdGVyIHdpdGggYSBkaWZmZXJlbnQgd2lkdGhcbiAgICAgIC8vIHRoYW4gdGhlIGRlZmF1bHQgaXMgbm90IHNwZWNpZmllZC5cbiAgICAgIGZvbnRBd2Vzb21lLmxvYWQoJ1xcdWYwZmMnLCBTa3lBcHBTdHlsZUxvYWRlci5MT0FEX1RJTUVPVVQpLFxuICAgICAgc2t5dXhJY29ucy5sb2FkKCdcXHVlOTk5JywgU2t5QXBwU3R5bGVMb2FkZXIuTE9BRF9USU1FT1VUKSxcbiAgICAgIGJsYWNrYmF1ZFNhbnMubG9hZCh1bmRlZmluZWQsIFNreUFwcFN0eWxlTG9hZGVyLkxPQURfVElNRU9VVCksXG4gICAgICB0aGVtZVByb21pc2UsXG4gICAgXSlcbiAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5pc0xvYWRlZCA9IHRydWU7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAvLyBFcnJvcnMgbG9hZGluZyB0aGUgZm9udCBzaG91bGQgbm90IHN0b3AgdGhlIHBhZ2UgZnJvbSByZW5kZXJpbmcuXG4gICAgICAgIC8vIFBhc3NpbmcgdGhlIGVycm9yIGFsb25nIGluIGNhc2UgdGhlIGNsaWVudCB3YW50cyB0byBkbyBzb21ldGhpbmcgd2l0aCBpdC5cbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7XG4gICAgICAgICAgZXJyb3IsXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gIH1cbn1cbiJdfQ==","import { Directive, Input, Optional, } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"./theme.service\";\n/**\n * Component to add classes conditionally based on the current theme.\n *\n * If the directive is within a `skyTheme` directive, it uses settings from that directive.\n */\nexport class SkyThemeClassDirective {\n /**\n * The HTML class attribute.\n *\n * @param value\n */\n set class(value) {\n this.#removeInitialClasses(this.#initialClasses);\n this.#initialClasses = typeof value === 'string' ? value.split(/\\s+/) : [];\n this.#applyInitialClasses(this.#initialClasses);\n this.#applySkyThemeClassMap(this.#skyThemeClassMap);\n }\n /**\n * An object with class names in a string for keys, and theme names (e.g. 'default' or 'modern') as values.\n *\n * @param value\n */\n set skyThemeClass(value) {\n this.#removeSkyThemeClassMap(this.#skyThemeClassMap);\n this.#applyInitialClasses(this.#initialClasses);\n this.#skyThemeClassMap = value;\n /* istanbul ignore else */\n if (this.#skyThemeClassMap) {\n this.#applySkyThemeClassMap(this.#skyThemeClassMap);\n }\n }\n set #themeSettings(settings) {\n this.#currentTheme = settings;\n this.#removeSkyThemeClassMap(this.#skyThemeClassMap);\n this.#applyInitialClasses(this.#initialClasses);\n this.#applySkyThemeClassMap(this.#skyThemeClassMap);\n }\n #currentTheme;\n #ngUnsubscribe = new Subject();\n #initialClasses = [];\n #skyThemeClassMap;\n #ngEl;\n #renderer;\n constructor(ngEl, renderer, themeSvc) {\n this.#ngEl = ngEl;\n this.#renderer = renderer;\n if (themeSvc) {\n themeSvc.settingsChange\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((settingsChange) => {\n this.#themeSettings = settingsChange.currentSettings;\n });\n }\n }\n ngOnDestroy() {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n #applyInitialClasses(classes) {\n /* istanbul ignore else */\n if (classes) {\n classes.forEach((className) => this.#toggleClass(className, true));\n }\n }\n #applySkyThemeClassMap(skyThemeClassMap) {\n if (skyThemeClassMap) {\n const themeName = this.#currentTheme?.theme.name || 'default';\n Object.keys(skyThemeClassMap).forEach((className) => {\n const enabled = themeName === skyThemeClassMap[className];\n this.#toggleClass(className, enabled);\n });\n }\n }\n #removeInitialClasses(classes) {\n /* istanbul ignore else */\n if (classes) {\n classes.forEach((className) => this.#toggleClass(className, false));\n }\n }\n #removeSkyThemeClassMap(skyThemeClassMap) {\n if (skyThemeClassMap) {\n Object.keys(skyThemeClassMap).forEach((className) => this.#toggleClass(className, false));\n }\n }\n #toggleClass(className, enabled) {\n className = className.trim();\n /* istanbul ignore else */\n if (className) {\n className.split(/\\s+/g).forEach((classNameItem) => {\n if (enabled) {\n this.#renderer.addClass(this.#ngEl.nativeElement, classNameItem);\n }\n else {\n this.#renderer.removeClass(this.#ngEl.nativeElement, classNameItem);\n }\n });\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SkyThemeClassDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.SkyThemeService, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.5\", type: SkyThemeClassDirective, isStandalone: false, selector: \"[skyThemeClass]\", inputs: { class: \"class\", skyThemeClass: \"skyThemeClass\" }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SkyThemeClassDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[skyThemeClass]',\n standalone: false,\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.SkyThemeService, decorators: [{\n type: Optional\n }] }], propDecorators: { class: [{\n type: Input\n }], skyThemeClass: [{\n type: Input\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtY2xhc3MuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RoZW1lL3NyYy9saWIvdGhlbWluZy90aGVtZS1jbGFzcy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEVBRUwsUUFBUSxHQUVULE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFPM0M7Ozs7R0FJRztBQUtILE1BQU0sT0FBTyxzQkFBc0I7SUFDakM7Ozs7T0FJRztJQUNILElBQ1csS0FBSyxDQUFDLEtBQXlCO1FBQ3hDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLGVBQWUsR0FBRyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUMzRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQ1csYUFBYSxDQUFDLEtBQW1DO1FBQzFELElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRWhELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUF5QixDQUFDO1FBRW5ELDBCQUEwQjtRQUMxQixJ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QyxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7SUFFRCxZQUFZLENBQUMsU0FBaUIsRUFBRSxPQUFnQjtRQUM5QyxTQUFTLEdBQUcsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzdCLDBCQUEwQjtRQUMxQixJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ2QsU0FBUyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxhQUFhLEVBQUUsRUFBRTtnQkFDaEQsSUFBSSxPQUFPLEVBQUUsQ0FBQztvQkFDWixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxhQUFhLENBQUMsQ0FBQztnQkFDbkUsQ0FBQztxQkFBTSxDQUFDO29CQUNOLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLGFBQWEsQ0FBQyxDQUFDO2dCQUN0RSxDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQzs4R0FsSFUsc0JBQXNCO2tHQUF0QixzQkFBc0I7OzJGQUF0QixzQkFBc0I7a0JBSmxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsVUFBVSxFQUFFLEtBQUs7aUJBQ2xCOzswQkFtREksUUFBUTt5Q0EzQ0EsS0FBSztzQkFEZixLQUFLO2dCQWNLLGFBQWE7c0JBRHZCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9wdGlvbmFsLFxuICBSZW5kZXJlcjIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreVRoZW1lU2V0dGluZ3MgfSBmcm9tICcuL3RoZW1lLXNldHRpbmdzJztcbmltcG9ydCB7IFNreVRoZW1lU2VydmljZSB9IGZyb20gJy4vdGhlbWUuc2VydmljZSc7XG5cbnR5cGUgU2t5VGhlbWVDbGFzc01hcCA9IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cbi8qKlxuICogQ29tcG9uZW50IHRvIGFkZCBjbGFzc2VzIGNvbmRpdGlvbmFsbHkgYmFzZWQgb24gdGhlIGN1cnJlbnQgdGhlbWUuXG4gKlxuICogSWYgdGhlIGRpcmVjdGl2ZSBpcyB3aXRoaW4gYSBgc2t5VGhlbWVgIGRpcmVjdGl2ZSwgaXQgdXNlcyBzZXR0aW5ncyBmcm9tIHRoYXQgZGlyZWN0aXZlLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbc2t5VGhlbWVDbGFzc10nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5VGhlbWVDbGFzc0RpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBUaGUgSFRNTCBjbGFzcyBhdHRyaWJ1dGUuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBjbGFzcyh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jcmVtb3ZlSW5pdGlhbENsYXNzZXModGhpcy4jaW5pdGlhbENsYXNzZXMpO1xuICAgIHRoaXMuI2luaXRpYWxDbGFzc2VzID0gdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyA/IHZhbHVlLnNwbGl0KC9cXHMrLykgOiBbXTtcbiAgICB0aGlzLiNhcHBseUluaXRpYWxDbGFzc2VzKHRoaXMuI2luaXRpYWxDbGFzc2VzKTtcbiAgICB0aGlzLiNhcHBseVNreVRoZW1lQ2xhc3NNYXAodGhpcy4jc2t5VGhlbWVDbGFzc01hcCk7XG4gIH1cblxuICAvKipcbiAgICogQW4gb2JqZWN0IHdpdGggY2xhc3MgbmFtZXMgaW4gYSBzdHJpbmcgZm9yIGtleXMsIGFuZCB0aGVtZSBuYW1lcyAoZS5nLiAnZGVmYXVsdCcgb3IgJ21vZGVybicpIGFzIHZhbHVlcy5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNreVRoZW1lQ2xhc3ModmFsdWU6IFNreVRoZW1lQ2xhc3NNYXAgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNyZW1vdmVTa3lUaGVtZUNsYXNzTWFwKHRoaXMuI3NreVRoZW1lQ2xhc3NNYXApO1xuICAgIHRoaXMuI2FwcGx5SW5pdGlhbENsYXNzZXModGhpcy4jaW5pdGlhbENsYXNzZXMpO1xuXG4gICAgdGhpcy4jc2t5VGhlbWVDbGFzc01hcCA9IHZhbHVlIGFzIFNreVRoZW1lQ2xhc3NNYXA7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLiNza3lUaGVtZUNsYXNzTWFwKSB7XG4gICAgICB0aGlzLiNhcHBseVNreVRoZW1lQ2xhc3NNYXAodGhpcy4jc2t5VGhlbWVDbGFzc01hcCk7XG4gICAgfVxuICB9XG5cbiAgc2V0ICN0aGVtZVNldHRpbmdzKHNldHRpbmdzOiBTa3lUaGVtZVNldHRpbmdzKSB7XG4gICAgdGhpcy4jY3VycmVudFRoZW1lID0gc2V0dGluZ3M7XG4gICAgdGhpcy4jcmVtb3ZlU2t5VGhlbWVDbGFzc01hcCh0aGlzLiNza3lUaGVtZUNsYXNzTWFwKTtcbiAgICB0aGlzLiNhcHBseUluaXRpYWxDbGFzc2VzKHRoaXMuI2luaXRpYWxDbGFzc2VzKTtcbiAgICB0aGlzLiNhcHBseVNreVRoZW1lQ2xhc3NNYXAodGhpcy4jc2t5VGhlbWVDbGFzc01hcCk7XG4gIH1cblxuICAjY3VycmVudFRoZW1lOiBTa3lUaGVtZVNldHRpbmdzIHwgdW5kZWZpbmVkO1xuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICNpbml0aWFsQ2xhc3Nlczogc3RyaW5nW10gPSBbXTtcbiAgI3NreVRoZW1lQ2xhc3NNYXA6IFNreVRoZW1lQ2xhc3NNYXAgfCB1bmRlZmluZWQ7XG5cbiAgI25nRWw6IEVsZW1lbnRSZWY7XG4gICNyZW5kZXJlcjogUmVuZGVyZXIyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIG5nRWw6IEVsZW1lbnRSZWYsXG4gICAgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBAT3B0aW9uYWwoKSB0aGVtZVN2Yz86IFNreVRoZW1lU2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy4jbmdFbCA9IG5nRWw7XG4gICAgdGhpcy4jcmVuZGVyZXIgPSByZW5kZXJlcjtcbiAgICBpZiAodGhlbWVTdmMpIHtcbiAgICAgIHRoZW1lU3ZjLnNldHRpbmdzQ2hhbmdlXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoc2V0dGluZ3NDaGFuZ2UpID0+IHtcbiAgICAgICAgICB0aGlzLiN0aGVtZVNldHRpbmdzID0gc2V0dGluZ3NDaGFuZ2UuY3VycmVudFNldHRpbmdzO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgI2FwcGx5SW5pdGlhbENsYXNzZXMoY2xhc3Nlczogc3RyaW5nW10pOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChjbGFzc2VzKSB7XG4gICAgICBjbGFzc2VzLmZvckVhY2goKGNsYXNzTmFtZSkgPT4gdGhpcy4jdG9nZ2xlQ2xhc3MoY2xhc3NOYW1lLCB0cnVlKSk7XG4gICAgfVxuICB9XG5cbiAgI2FwcGx5U2t5VGhlbWVDbGFzc01hcChza3lUaGVtZUNsYXNzTWFwOiBTa3lUaGVtZUNsYXNzTWFwIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgaWYgKHNreVRoZW1lQ2xhc3NNYXApIHtcbiAgICAgIGNvbnN0IHRoZW1lTmFtZSA9IHRoaXMuI2N1cnJlbnRUaGVtZT8udGhlbWUubmFtZSB8fCAnZGVmYXVsdCc7XG4gICAgICBPYmplY3Qua2V5cyhza3lUaGVtZUNsYXNzTWFwKS5mb3JFYWNoKChjbGFzc05hbWUpID0+IHtcbiAgICAgICAgY29uc3QgZW5hYmxlZCA9IHRoZW1lTmFtZSA9PT0gc2t5VGhlbWVDbGFzc01hcFtjbGFzc05hbWVdO1xuICAgICAgICB0aGlzLiN0b2dnbGVDbGFzcyhjbGFzc05hbWUsIGVuYWJsZWQpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgI3JlbW92ZUluaXRpYWxDbGFzc2VzKGNsYXNzZXM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoY2xhc3Nlcykge1xuICAgICAgY2xhc3Nlcy5mb3JFYWNoKChjbGFzc05hbWUpID0+IHRoaXMuI3RvZ2dsZUNsYXNzKGNsYXNzTmFtZSwgZmFsc2UpKTtcbiAgICB9XG4gIH1cblxuICAjcmVtb3ZlU2t5VGhlbWVDbGFzc01hcChcbiAgICBza3lUaGVtZUNsYXNzTWFwOiBTa3lUaGVtZUNsYXNzTWFwIHwgdW5kZWZpbmVkLFxuICApOiB2b2lkIHtcbiAgICBpZiAoc2t5VGhlbWVDbGFzc01hcCkge1xuICAgICAgT2JqZWN0LmtleXMoc2t5VGhlbWVDbGFzc01hcCkuZm9yRWFjaCgoY2xhc3NOYW1lKSA9PlxuICAgICAgICB0aGlzLiN0b2dnbGVDbGFzcyhjbGFzc05hbWUsIGZhbHNlKSxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgI3RvZ2dsZUNsYXNzKGNsYXNzTmFtZTogc3RyaW5nLCBlbmFibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgY2xhc3NOYW1lID0gY2xhc3NOYW1lLnRyaW0oKTtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChjbGFzc05hbWUpIHtcbiAgICAgIGNsYXNzTmFtZS5zcGxpdCgvXFxzKy9nKS5mb3JFYWNoKChjbGFzc05hbWVJdGVtKSA9PiB7XG4gICAgICAgIGlmIChlbmFibGVkKSB7XG4gICAgICAgICAgdGhpcy4jcmVuZGVyZXIuYWRkQ2xhc3ModGhpcy4jbmdFbC5uYXRpdmVFbGVtZW50LCBjbGFzc05hbWVJdGVtKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLiNyZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLiNuZ0VsLm5hdGl2ZUVsZW1lbnQsIGNsYXNzTmFtZUl0ZW0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==","import { Directive, Input, Optional, } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"./theme.service\";\n/**\n * Component that works like `ngIf` to show markup for matching theme.\n *\n * If the directive is within a `skyTheme` directive, it uses settings from that directive.\n */\nexport class SkyThemeIfDirective {\n /**\n * A string that should match the name of a theme, `'default'` or `'modern'`.\n *\n * @param value\n */\n set skyThemeIf(value) {\n this.#context = value;\n this.#updateView();\n }\n #context;\n #currentTheme;\n #ngUnsubscribe = new Subject();\n #hasView = false;\n #templateRef;\n #viewContainer;\n constructor(templateRef, viewContainer, changeDetector, themeSvc) {\n this.#templateRef = templateRef;\n this.#viewContainer = viewContainer;\n if (themeSvc) {\n themeSvc.settingsChange\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((settingsChange) => {\n this.#currentTheme = settingsChange.currentSettings;\n this.#updateView();\n // Components that use OnPush change detection will not automatically\n // check for changes when created as a result of a theme change if\n // it happens outside of an Angular change detection cycle. This\n // ensures change detection runs on those components.\n changeDetector.markForCheck();\n });\n }\n }\n ngOnDestroy() {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n #updateView() {\n const themeName = this.#currentTheme?.theme.name || 'default';\n const condition = this.#context && themeName === this.#context;\n if (condition && !this.#hasView) {\n this.#viewContainer.createEmbeddedView(this.#templateRef);\n this.#hasView = true;\n }\n else if (!condition && this.#hasView) {\n this.#viewContainer.clear();\n this.#hasView = false;\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SkyThemeIfDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i0.ChangeDetectorRef }, { token: i1.SkyThemeService, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.5\", type: SkyThemeIfDirective, isStandalone: false, selector: \"[skyThemeIf]\", inputs: { skyThemeIf: \"skyThemeIf\" }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SkyThemeIfDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[skyThemeIf]',\n standalone: false,\n }]\n }], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: i0.ChangeDetectorRef }, { type: i1.SkyThemeService, decorators: [{\n type: Optional\n }] }], propDecorators: { skyThemeIf: [{\n type: Input\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtaWYuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RoZW1lL3NyYy9saWIvdGhlbWluZy90aGVtZS1pZi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxLQUFLLEVBRUwsUUFBUSxHQUdULE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFLM0M7Ozs7R0FJRztBQUtILE1BQU0sT0FBTyxtQkFBbUI7SUFDOUI7Ozs7T0FJRztJQUNILElBQ1csVUFBVSxDQUFDLEtBQXVDO1FBQzNELElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsUUFBUSxDQUFxQjtJQUM3QixhQUFhLENBQStCO0lBQzVDLGNBQWMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBQ3JDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFFakIsWUFBWSxDQUF1QjtJQUNuQyxjQUFjLENBQW1CO0lBRWpDLFlBQ0UsV0FBaUMsRUFDakMsYUFBK0IsRUFDL0IsY0FBaUMsRUFDckIsUUFBMEI7UUFFdEMsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7UUFDaEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxhQUFhLENBQUM7UUFDcEMsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNiLFFBQVEsQ0FBQyxjQUFjO2lCQUNwQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztpQkFDcEMsU0FBUyxDQUFDLENBQUMsY0FBYyxFQUFFLEVBQUU7Z0JBQzVCLElBQUksQ0FBQyxhQUFhLEdBQUcsY0FBYyxDQUFDLGVBQWUsQ0FBQztnQkFDcEQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUVuQixxRUFBcUU7Z0JBQ3JFLGtFQUFrRTtnQkFDbEUsZ0VBQWdFO2dCQUNoRSxxREFBcUQ7Z0JBQ3JELGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNoQyxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7SUFDSCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELFdBQVc7UUFDVCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxJQUFJLElBQUksU0FBUyxDQUFDO1FBQzlELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLElBQUksU0FBUyxLQUFLLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDL0QsSUFBSSxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDMUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDdkIsQ0FBQzthQUFNLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDeEIsQ0FBQztJQUNILENBQUM7OEdBM0RVLG1CQUFtQjtrR0FBbkIsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQUovQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxjQUFjO29CQUN4QixVQUFVLEVBQUUsS0FBSztpQkFDbEI7OzBCQXlCSSxRQUFRO3lDQWpCQSxVQUFVO3NCQURwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIERpcmVjdGl2ZSxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3B0aW9uYWwsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lUaGVtZVNldHRpbmdzIH0gZnJvbSAnLi90aGVtZS1zZXR0aW5ncyc7XG5pbXBvcnQgeyBTa3lUaGVtZVNlcnZpY2UgfSBmcm9tICcuL3RoZW1lLnNlcnZpY2UnO1xuXG4vKipcbiAqIENvbXBvbmVudCB0aGF0IHdvcmtzIGxpa2UgYG5nSWZgIHRvIHNob3cgbWFya3VwIGZvciBtYXRjaGluZyB0aGVtZS5cbiAqXG4gKiBJZiB0aGUgZGlyZWN0aXZlIGlzIHdpdGhpbiBhIGBza3lUaGVtZWAgZGlyZWN0aXZlLCBpdCB1c2VzIHNldHRpbmdzIGZyb20gdGhhdCBkaXJlY3RpdmUuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tza3lUaGVtZUlmXScsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lUaGVtZUlmRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgLyoqXG4gICAqIEEgc3RyaW5nIHRoYXQgc2hvdWxkIG1hdGNoIHRoZSBuYW1lIG9mIGEgdGhlbWUsIGAnZGVmYXVsdCdgIG9yIGAnbW9kZXJuJ2AuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBza3lUaGVtZUlmKHZhbHVlOiAnZGVmYXVsdCcgfCAnbW9kZXJuJyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI2NvbnRleHQgPSB2YWx1ZTtcbiAgICB0aGlzLiN1cGRhdGVWaWV3KCk7XG4gIH1cblxuICAjY29udGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAjY3VycmVudFRoZW1lOiBTa3lUaGVtZVNldHRpbmdzIHwgdW5kZWZpbmVkO1xuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICNoYXNWaWV3ID0gZmFsc2U7XG5cbiAgI3RlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcbiAgI3ZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWY7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPHVua25vd24+LFxuICAgIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXG4gICAgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIEBPcHRpb25hbCgpIHRoZW1lU3ZjPzogU2t5VGhlbWVTZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLiN0ZW1wbGF0ZVJlZiA9IHRlbXBsYXRlUmVmO1xuICAgIHRoaXMuI3ZpZXdDb250YWluZXIgPSB2aWV3Q29udGFpbmVyO1xuICAgIGlmICh0aGVtZVN2Yykge1xuICAgICAgdGhlbWVTdmMuc2V0dGluZ3NDaGFuZ2VcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKChzZXR0aW5nc0NoYW5nZSkgPT4ge1xuICAgICAgICAgIHRoaXMuI2N1cnJlbnRUaGVtZSA9IHNldHRpbmdzQ2hhbmdlLmN1cnJlbnRTZXR0aW5ncztcbiAgICAgICAgICB0aGlzLiN1cGRhdGVWaWV3KCk7XG5cbiAgICAgICAgICAvLyBDb21wb25lbnRzIHRoYXQgdXNlIE9uUHVzaCBjaGFuZ2UgZGV0ZWN0aW9uIHdpbGwgbm90IGF1dG9tYXRpY2FsbHlcbiAgICAgICAgICAvLyBjaGVjayBmb3IgY2hhbmdlcyB3aGVuIGNyZWF0ZWQgYXMgYSByZXN1bHQgb2YgYSB0aGVtZSBjaGFuZ2UgaWZcbiAgICAgICAgICAvLyBpdCBoYXBwZW5zIG91dHNpZGUgb2YgYW4gQW5ndWxhciBjaGFuZ2UgZGV0ZWN0aW9uIGN5Y2xlLiBUaGlzXG4gICAgICAgICAgLy8gZW5zdXJlcyBjaGFuZ2UgZGV0ZWN0aW9uIHJ1bnMgb24gdGhvc2UgY29tcG9uZW50cy5cbiAgICAgICAgICBjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxuXG4gICN1cGRhdGVWaWV3KCk6IHZvaWQge1xuICAgIGNvbnN0IHRoZW1lTmFtZSA9IHRoaXMuI2N1cnJlbnRUaGVtZT8udGhlbWUubmFtZSB8fCAnZGVmYXVsdCc7XG4gICAgY29uc3QgY29uZGl0aW9uID0gdGhpcy4jY29udGV4dCAmJiB0aGVtZU5hbWUgPT09IHRoaXMuI2NvbnRleHQ7XG4gICAgaWYgKGNvbmRpdGlvbiAmJiAhdGhpcy4jaGFzVmlldykge1xuICAgICAgdGhpcy4jdmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy4jdGVtcGxhdGVSZWYpO1xuICAgICAgdGhpcy4jaGFzVmlldyA9IHRydWU7XG4gICAgfSBlbHNlIGlmICghY29uZGl0aW9uICYmIHRoaXMuI2hhc1ZpZXcpIHtcbiAgICAgIHRoaXMuI3ZpZXdDb250YWluZXIuY2xlYXIoKTtcbiAgICAgIHRoaXMuI2hhc1ZpZXcgPSBmYWxzZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==","import { Directive, Input, } from '@angular/core';\nimport { SkyTheme } from './theme';\nimport { SkyThemeMode } from './theme-mode';\nimport { SkyThemeSettings } from './theme-settings';\nimport { SkyThemeService } from './theme.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"./theme.service\";\nconst defaultTheme = new SkyThemeSettings(SkyTheme.presets.default, SkyThemeMode.presets.light);\n/**\n * Creates a new instance of `SkyThemeService` to allow a container\n * to have its own theme.\n */\nexport class SkyThemeDirective {\n set skyTheme(value) {\n this.skyThemeOrDefault = value || defaultTheme;\n if (this.#initialized) {\n this.#themeSvc.setTheme(this.skyThemeOrDefault);\n }\n }\n #initialized;\n #elRef;\n #renderer;\n #themeSvc;\n constructor(elRef, renderer, themeSvc) {\n this.skyThemeOrDefault = defaultTheme;\n this.#initialized = false;\n this.#elRef = elRef;\n this.#renderer = renderer;\n this.#themeSvc = themeSvc;\n }\n ngOnInit() {\n this.#themeSvc.init(this.#elRef.nativeElement, this.#renderer, this.skyThemeOrDefault);\n this.#initialized = true;\n }\n ngOnDestroy() {\n this.#themeSvc.destroy();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SkyThemeDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.SkyThemeService }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.5\", type: SkyThemeDirective, isStandalone: false, selector: \"[skyTheme]\", inputs: { skyTheme: \"skyTheme\" }, providers: [SkyThemeService], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SkyThemeDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[skyTheme]',\n providers: [SkyThemeService],\n standalone: false,\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.SkyThemeService }], propDecorators: { skyTheme: [{\n type: Input\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RoZW1lL3NyYy9saWIvdGhlbWluZy90aGVtZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEdBSU4sTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNuQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBRWxELE1BQU0sWUFBWSxHQUFHLElBQUksZ0JBQWdCLENBQ3ZDLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUN4QixZQUFZLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FDM0IsQ0FBQztBQUVGOzs7R0FHRztBQU1ILE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsSUFDVyxRQUFRLENBQUMsS0FBbUM7UUFDckQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssSUFBSSxZQUFZLENBQUM7UUFFL0MsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDbEQsQ0FBQztJQUNILENBQUM7SUFJRCxZQUFZLENBQVM7SUFFckIsTUFBTSxDQUFhO0lBQ25CLFNBQVMsQ0FBWTtJQUNyQixTQUFTLENBQWtCO0lBRTNCLFlBQ0UsS0FBaUIsRUFDakIsUUFBbUIsRUFDbkIsUUFBeUI7UUFYcEIsc0JBQWlCLEdBQUcsWUFBWSxDQUFDO1FBRXhDLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBV25CLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1FBQzFCLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO0lBQzVCLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUN6QixJQUFJLENBQUMsU0FBUyxFQUNkLElBQUksQ0FBQyxpQkFBaUIsQ0FDdkIsQ0FBQztRQUVGLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO0lBQzNCLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDM0IsQ0FBQzs4R0F4Q1UsaUJBQWlCO2tHQUFqQixpQkFBaUIsNEZBSGpCLENBQUMsZUFBZSxDQUFDOzsyRkFHakIsaUJBQWlCO2tCQUw3QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxZQUFZO29CQUN0QixTQUFTLEVBQUUsQ0FBQyxlQUFlLENBQUM7b0JBQzVCLFVBQVUsRUFBRSxLQUFLO2lCQUNsQjtxSUFHWSxRQUFRO3NCQURsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFJlbmRlcmVyMixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreVRoZW1lIH0gZnJvbSAnLi90aGVtZSc7XG5pbXBvcnQgeyBTa3lUaGVtZU1vZGUgfSBmcm9tICcuL3RoZW1lLW1vZGUnO1xuaW1wb3J0IHsgU2t5VGhlbWVTZXR0aW5ncyB9IGZyb20gJy4vdGhlbWUtc2V0dGluZ3MnO1xuaW1wb3J0IHsgU2t5VGhlbWVTZXJ2aWNlIH0gZnJvbSAnLi90aGVtZS5zZXJ2aWNlJztcblxuY29uc3QgZGVmYXVsdFRoZW1lID0gbmV3IFNreVRoZW1lU2V0dGluZ3MoXG4gIFNreVRoZW1lLnByZXNldHMuZGVmYXVsdCxcbiAgU2t5VGhlbWVNb2RlLnByZXNldHMubGlnaHQsXG4pO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBuZXcgaW5zdGFuY2Ugb2YgYFNreVRoZW1lU2VydmljZWAgdG8gYWxsb3cgYSBjb250YWluZXJcbiAqIHRvIGhhdmUgaXRzIG93biB0aGVtZS5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NreVRoZW1lXScsXG4gIHByb3ZpZGVyczogW1NreVRoZW1lU2VydmljZV0sXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lUaGVtZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KClcbiAgcHVibGljIHNldCBza3lUaGVtZSh2YWx1ZTogU2t5VGhlbWVTZXR0aW5ncyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuc2t5VGhlbWVPckRlZmF1bHQgPSB2YWx1ZSB8fCBkZWZhdWx0VGhlbWU7XG5cbiAgICBpZiAodGhpcy4jaW5pdGlhbGl6ZWQpIHtcbiAgICAgIHRoaXMuI3RoZW1lU3ZjLnNldFRoZW1lKHRoaXMuc2t5VGhlbWVPckRlZmF1bHQpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBza3lUaGVtZU9yRGVmYXVsdCA9IGRlZmF1bHRUaGVtZTtcblxuICAjaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICAjZWxSZWY6IEVsZW1lbnRSZWY7XG4gICNyZW5kZXJlcjogUmVuZGVyZXIyO1xuICAjdGhlbWVTdmM6IFNreVRoZW1lU2VydmljZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBlbFJlZjogRWxlbWVudFJlZixcbiAgICByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHRoZW1lU3ZjOiBTa3lUaGVtZVNlcnZpY2UsXG4gICkge1xuICAgIHRoaXMuI2VsUmVmID0gZWxSZWY7XG4gICAgdGhpcy4jcmVuZGVyZXIgPSByZW5kZXJlcjtcbiAgICB0aGlzLiN0aGVtZVN2YyA9IHRoZW1lU3ZjO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuI3RoZW1lU3ZjLmluaXQoXG4gICAgICB0aGlzLiNlbFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgdGhpcy4jcmVuZGVyZXIsXG4gICAgICB0aGlzLnNreVRoZW1lT3JEZWZhdWx0LFxuICAgICk7XG5cbiAgICB0aGlzLiNpbml0aWFsaXplZCA9IHRydWU7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jdGhlbWVTdmMuZGVzdHJveSgpO1xuICB9XG59XG4iXX0=","import { NgModule } from '@angular/core';\nimport { SkyThemeClassDirective } from './theming/theme-class.directive';\nimport { SkyThemeIfDirective } from './theming/theme-if.directive';\nimport { SkyThemeDirective } from './theming/theme.directive';\nimport * as i0 from \"@angular/core\";\nexport class SkyThemeModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SkyThemeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.0.5\", ngImport: i0, type: SkyThemeModule, declarations: [SkyThemeClassDirective,\n SkyThemeDirective,\n SkyThemeIfDirective], exports: [SkyThemeClassDirective, SkyThemeDirective, SkyThemeIfDirective] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SkyThemeModule }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SkyThemeModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [\n SkyThemeClassDirective,\n SkyThemeDirective,\n SkyThemeIfDirective,\n ],\n exports: [SkyThemeClassDirective, SkyThemeDirective, SkyThemeIfDirective],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RoZW1lL3NyYy9saWIvdGhlbWUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDekUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBVTlELE1BQU0sT0FBTyxjQUFjOzhHQUFkLGNBQWM7K0dBQWQsY0FBYyxpQkFOdkIsc0JBQXNCO1lBQ3RCLGlCQUFpQjtZQUNqQixtQkFBbUIsYUFFWCxzQkFBc0IsRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUI7K0dBRTdELGNBQWM7OzJGQUFkLGNBQWM7a0JBUjFCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLHNCQUFzQjt3QkFDdEIsaUJBQWlCO3dCQUNqQixtQkFBbUI7cUJBQ3BCO29CQUNELE9BQU8sRUFBRSxDQUFDLHNCQUFzQixFQUFFLGlCQUFpQixFQUFFLG1CQUFtQixDQUFDO2lCQUMxRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreVRoZW1lQ2xhc3NEaXJlY3RpdmUgfSBmcm9tICcuL3RoZW1pbmcvdGhlbWUtY2xhc3MuZGlyZWN0aXZlJztcbmltcG9ydCB7IFNreVRoZW1lSWZEaXJlY3RpdmUgfSBmcm9tICcuL3RoZW1pbmcvdGhlbWUtaWYuZGlyZWN0aXZlJztcbmltcG9ydCB7IFNreVRoZW1lRGlyZWN0aXZlIH0gZnJvbSAnLi90aGVtaW5nL3RoZW1lLmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFNreVRoZW1lQ2xhc3NEaXJlY3RpdmUsXG4gICAgU2t5VGhlbWVEaXJlY3RpdmUsXG4gICAgU2t5VGhlbWVJZkRpcmVjdGl2ZSxcbiAgXSxcbiAgZXhwb3J0czogW1NreVRoZW1lQ2xhc3NEaXJlY3RpdmUsIFNreVRoZW1lRGlyZWN0aXZlLCBTa3lUaGVtZUlmRGlyZWN0aXZlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5VGhlbWVNb2R1bGUge31cbiJdfQ==","import { ChangeDetectorRef, Directive, HostBinding, inject, } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { SkyThemeService } from '../theming/theme.service';\nimport * as i0 from \"@angular/core\";\nexport class SkyThemeComponentClassDirective {\n #changeDetector;\n #themeService;\n constructor() {\n this.theme = 'sky-cmp-theme-default';\n this.#changeDetector = inject(ChangeDetectorRef);\n this.#themeService = inject(SkyThemeService, { optional: true });\n this.#themeService?.settingsChange\n .pipe(takeUntilDestroyed())\n .subscribe((change) => {\n this.theme = `sky-cmp-theme-${change.currentSettings.theme.name}`;\n this.#changeDetector.markForCheck();\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SkyThemeComponentClassDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.5\", type: SkyThemeComponentClassDirective, isStandalone: true, selector: \"[skyThemeClass]\", host: { properties: { \"class\": \"this.theme\" } }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SkyThemeComponentClassDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[skyThemeClass]',\n standalone: true,\n }]\n }], ctorParameters: () => [], propDecorators: { theme: [{\n type: HostBinding,\n args: ['class']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtY29tcG9uZW50LWNsYXNzLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90aGVtZS9zcmMvbGliL3RoZW1pbmcvdGhlbWUtY29tcG9uZW50LWNsYXNzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRWhFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFNM0QsTUFBTSxPQUFPLCtCQUErQjtJQUkxQyxlQUFlLENBQTZCO0lBQzVDLGFBQWEsQ0FBK0M7SUFFNUQ7UUFMTyxVQUFLLEdBQUcsdUJBQXVCLENBQUM7UUFFdkMsb0JBQWUsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM1QyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxlQUFlLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUcxRCxJQUFJLENBQUMsYUFBYSxFQUFFLGNBQWM7YUFDL0IsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7YUFDMUIsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxpQkFBaUIsTUFBTSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbEUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN0QyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBZFUsK0JBQStCO2tHQUEvQiwrQkFBK0I7OzJGQUEvQiwrQkFBK0I7a0JBSjNDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsVUFBVSxFQUFFLElBQUk7aUJBQ2pCO3dEQUdRLEtBQUs7c0JBRFgsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIERpcmVjdGl2ZSxcbiAgSG9zdEJpbmRpbmcsXG4gIGluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5cbmltcG9ydCB7IFNreVRoZW1lU2VydmljZSB9IGZyb20gJy4uL3RoZW1pbmcvdGhlbWUuc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tza3lUaGVtZUNsYXNzXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFNreVRoZW1lQ29tcG9uZW50Q2xhc3NEaXJlY3RpdmUge1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgcHVibGljIHRoZW1lID0gJ3NreS1jbXAtdGhlbWUtZGVmYXVsdCc7XG5cbiAgI2NoYW5nZURldGVjdG9yID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgI3RoZW1lU2VydmljZSA9IGluamVjdChTa3lUaGVtZVNlcnZpY2UsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy4jdGhlbWVTZXJ2aWNlPy5zZXR0aW5nc0NoYW5nZVxuICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpXG4gICAgICAuc3Vic2NyaWJlKChjaGFuZ2UpID0+IHtcbiAgICAgICAgdGhpcy50aGVtZSA9IGBza3ktY21wLXRoZW1lLSR7Y2hhbmdlLmN1cnJlbnRTZXR0aW5ncy50aGVtZS5uYW1lfWA7XG4gICAgICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG4gIH1cbn1cbiJdfQ==","import { DOCUMENT, DestroyRef, Injectable, NgZone, inject, } from '@angular/core';\nimport { ReplaySubject } from 'rxjs';\nimport * as i0 from \"@angular/core\";\n/**\n * Provides information about the state of the application's viewport.\n */\nexport class SkyAppViewportService {\n // ESLint doesn't recognize how this is used.\n #updateRequest;\n #reserveItems;\n #conditionallyReserveItems;\n #document;\n #ngZone;\n // Observe elements crossing the browser's viewport boundaries.\n #intersectionObserver;\n #reservedSpaces;\n constructor() {\n /**\n * Updated when the viewport becomes visible. While the page is rendered, the\n * viewport may remain hidden as fonts and styles are loaded asynchronously;\n * this is done to avoid a FOUC (Flash Of Unstyled Content) before the fonts\n * and styles are ready.\n */\n this.visible = new ReplaySubject(1);\n // ESLint doesn't recognize how this is used.\n this.#updateRequest = undefined;\n this.#reserveItems = new Map();\n this.#conditionallyReserveItems = new Map();\n this.#document = inject(DOCUMENT);\n this.#ngZone = inject(NgZone);\n // Observe elements crossing the browser's viewport boundaries.\n this.#intersectionObserver = this.#ngZone.runOutsideAngular(() => new IntersectionObserver(() => this.#ngZone.run(() => this.#updateViewportArea()), { threshold: Array.from({ length: 101 }, (_, i) => i / 100) }));\n this.#reservedSpaces = {\n bottom: 0,\n left: 0,\n right: 0,\n top: 0,\n };\n const onScroll = () => {\n if (this.#conditionallyReserveItems.size > 0) {\n this.#updateViewportArea();\n }\n };\n this.#document.addEventListener('scroll', onScroll);\n inject(DestroyRef).onDestroy(() => {\n /* istanbul ignore next */\n if (this.#updateRequest !== undefined) {\n cancelAnimationFrame(this.#updateRequest);\n }\n this.#intersectionObserver.disconnect();\n this.#document.removeEventListener('scroll', onScroll);\n });\n }\n /**\n * Reserves space for components docked to the left, top, right, or bottom of the viewport.\n * @param args\n */\n reserveSpace(args) {\n const item = {\n ...args,\n active: this.#isElementVisible({ ...args, active: false }),\n };\n this.#reserveItems.set(args.id, item);\n this.#watchVisibility(item);\n this.#updateViewportArea();\n }\n /**\n * Removes reserved space for a component by the ID provided when it was reserved.\n * @param id\n */\n unreserveSpace(id) {\n const args = this.#reserveItems.get(id);\n if (args?.reserveForElement) {\n this.#intersectionObserver.unobserve(args.reserveForElement);\n this.#conditionallyReserveItems.delete(args.reserveForElement);\n }\n this.#reserveItems.delete(id);\n this.#updateViewportArea();\n }\n #updateViewportArea() {\n this.#updateRequest ??= requestAnimationFrame(() => {\n this.#updateRequest = undefined;\n const reservedSpaces = {\n bottom: 0,\n left: 0,\n right: 0,\n top: 0,\n };\n for (const args of this.#reserveItems.values()) {\n args.active = this.#isElementVisible(args, reservedSpaces);\n if (args.active) {\n reservedSpaces[args.position] += args.size;\n }\n }\n this.#reservedSpaces = reservedSpaces;\n const documentElementStyle = this.#document.documentElement.style;\n for (const [position, size] of Object.entries(reservedSpaces)) {\n documentElementStyle.setProperty(`--sky-viewport-${position}`, size + 'px');\n }\n });\n }\n #watchVisibility(item) {\n if (item.reserveForElement) {\n this.#conditionallyReserveItems.set(item.reserveForElement, item);\n this.#intersectionObserver.observe(item.reserveForElement);\n }\n }\n #isElementVisible(args, reservedSpaces = this\n .#reservedSpaces) {\n if (!args.reserveForElement) {\n return true;\n }\n const rect = args.reserveForElement.getBoundingClientRect();\n if (!rect || !rect.height || !rect.width) {\n return false;\n }\n const midpoint = {\n x: rect.x + Math.floor(rect.width / 2),\n y: rect.y + Math.floor(rect.height / 2),\n };\n if (\n // Vertically in view\n midpoint.y <= window.innerHeight &&\n midpoint.y >= 0 &&\n // Horizontally in view\n midpoint.x <= window.innerWidth &&\n midpoint.x >= 0) {\n // Element is not hidden by another element\n if (args.reserveForElement.contains(this.#document.elementFromPoint(midpoint.x, midpoint.y))) {\n return true;\n }\n // Check if the item's midpoint is visible based on current reserved spaces.\n // Assumes reserved spaces are intended to be additive and not overlapping.\n const threshold = reservedSpaces[args.position];\n switch (args.position) {\n case 'top':\n return midpoint.y >= threshold;\n case 'right':\n return midpoint.x <= window.innerWidth - threshold;\n case 'bottom':\n return midpoint.y <= window.innerHeight - threshold;\n case 'left':\n return midpoint.x >= threshold;\n }\n }\n return false;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SkyAppViewportService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SkyAppViewportService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SkyAppViewportService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld3BvcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90aGVtZS9zcmMvbGliL3ZpZXdwb3J0L3ZpZXdwb3J0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFFBQVEsRUFDUixVQUFVLEVBQ1YsVUFBVSxFQUNWLE1BQU0sRUFDTixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFTckM7O0dBRUc7QUFJSCxNQUFNLE9BQU8scUJBQXFCO0lBU2hDLDZDQUE2QztJQUM3QyxjQUFjLENBQWlDO0lBQ3RDLGFBQWEsQ0FBc0M7SUFDbkQsMEJBQTBCLENBQXVDO0lBQ2pFLFNBQVMsQ0FBb0I7SUFDN0IsT0FBTyxDQUFrQjtJQUNsQywrREFBK0Q7SUFDdEQscUJBQXFCLENBTTVCO0lBQ0YsZUFBZSxDQUtiO0lBRUY7UUE3QkE7Ozs7O1dBS0c7UUFDSSxZQUFPLEdBQUcsSUFBSSxhQUFhLENBQVUsQ0FBQyxDQUFDLENBQUM7UUFFL0MsNkNBQTZDO1FBQzdDLG1CQUFjLEdBQXVCLFNBQVMsQ0FBQztRQUN0QyxrQkFBYSxHQUFHLElBQUksR0FBRyxFQUEyQixDQUFDO1FBQ25ELCtCQUEwQixHQUFHLElBQUksR0FBRyxFQUE0QixDQUFDO1FBQ2pFLGNBQVMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0IsWUFBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQywrREFBK0Q7UUFDdEQsMEJBQXFCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FDN0QsR0FBRyxFQUFFLENBQ0gsSUFBSSxvQkFBb0IsQ0FDdEIsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMs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LFFBQVE7b0JBQ1gsT0FBTyxRQUFRLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxXQUFXLEdBQUcsU0FBUyxDQUFDO2dCQUN0RCxLQUFLLE1BQU07b0JBQ1QsT0FBTyxRQUFRLENBQUMsQ0FBQyxJQUFJLFNBQVMsQ0FBQztZQUNuQyxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs4R0FoS1UscUJBQXFCO2tIQUFyQixxQkFBcUIsY0FGcEIsTUFBTTs7MkZBRVAscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERPQ1VNRU5ULFxuICBEZXN0cm95UmVmLFxuICBJbmplY3RhYmxlLFxuICBOZ1pvbmUsXG4gIGluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2t5QXBwVmlld3BvcnRSZXNlcnZlQXJncyB9IGZyb20gJy4vdmlld3BvcnQtcmVzZXJ2ZS1hcmdzJztcbmltcG9ydCB7IFNreUFwcFZpZXdwb3J0UmVzZXJ2ZWRQb3NpdGlvblR5cGUgfSBmcm9tICcuL3ZpZXdwb3J0LXJlc2VydmUtcG9zaXRpb24tdHlwZSc7XG5cbnR5cGUgUmVzZXJ2ZUl0ZW1UeXBlID0gU2t5QXBwVmlld3BvcnRSZXNlcnZlQXJncyAmIHtcbiAgYWN0aXZlOiBib29sZWFuO1xufTtcblxuLyoqXG4gKiBQcm92aWRlcyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc3RhdGUgb2YgdGhlIGFwcGxpY2F0aW9uJ3Mgdmlld3BvcnQuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lBcHBWaWV3cG9ydFNlcnZpY2Uge1xuICAvKipcbiAgICogVXBkYXRlZCB3aGVuIHRoZSB2aWV3cG9ydCBiZWNvbWVzIHZpc2libGUuICBXaGlsZSB0aGUgcGFnZSBpcyByZW5kZXJlZCwgdGhlXG4gICAqIHZpZXdwb3J0IG1heSByZW1haW4gaGlkZGVuIGFzIGZvbnRzIGFuZCBzdHlsZXMgYXJlIGxvYWRlZCBhc3luY2hyb25vdXNseTtcbiAgICogdGhpcyBpcyBkb25lIHRvIGF2b2lkIGEgRk9VQyAoRmxhc2ggT2YgVW5zdHlsZWQgQ29udGVudCkgYmVmb3JlIHRoZSBmb250c1xuICAgKiBhbmQgc3R5bGVzIGFyZSByZWFkeS5cbiAgICovXG4gIHB1YmxpYyB2aXNpYmxlID0gbmV3IFJlcGxheVN1YmplY3Q8Ym9vbGVhbj4oMSk7XG5cbiAgLy8gRVNMaW50IGRvZXNuJ3QgcmVjb2duaXplIGhvdyB0aGlzIGlzIHVzZWQuXG4gICN1cGRhdGVSZXF1ZXN0OiBudW1iZXIgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gIHJlYWRvbmx5ICNyZXNlcnZlSXRlbXMgPSBuZXcgTWFwPHN0cmluZywgUmVzZXJ2ZUl0ZW1UeXBlPigpO1xuICByZWFkb25seSAjY29uZGl0aW9uYWxseVJlc2VydmVJdGVtcyA9IG5ldyBNYXA8RWxlbWVudCwgUmVzZXJ2ZUl0ZW1UeXBlPigpO1xuICByZWFkb25seSAjZG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xuICByZWFkb25seSAjbmdab25lID0gaW5qZWN0KE5nWm9uZSk7XG4gIC8vIE9ic2VydmUgZWxlbWVudHMgY3Jvc3NpbmcgdGhlIGJyb3dzZXIncyB2aWV3cG9ydCBib3VuZGFyaWVzLlxuICByZWFkb25seSAjaW50ZXJzZWN0aW9uT2JzZXJ2ZXIgPSB0aGlzLiNuZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoXG4gICAgKCkgPT5cbiAgICAgIG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihcbiAgICAgICAgKCkgPT4gdGhpcy4jbmdab25lLnJ1bigoKSA9PiB0aGlzLiN1cGRhdGVWaWV3cG9ydEFyZWEoKSksXG4gICAgICAgIHsgdGhyZXNob2xkOiBBcnJheS5mcm9tKHsgbGVuZ3RoOiAxMDEgfSwgKF8sIGkpID0+IGkgLyAxMDApIH0sXG4gICAgICApLFxuICApO1xuICAjcmVzZXJ2ZWRTcGFjZXM6IFJlY29yZDxTa3lBcHBWaWV3cG9ydFJlc2VydmVkUG9zaXRpb25UeXBlLCBudW1iZXI+ID0ge1xuICAgIGJvdHRvbTogMCxcbiAgICBsZWZ0OiAwLFxuICAgIHJpZ2h0OiAwLFxuICAgIHRvcDogMCxcbiAgfTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBjb25zdCBvblNjcm9sbCA9ICgpOiB2b2lkID0+IHtcbiAgICAgIGlmICh0aGlzLiNjb25kaXRpb25hbGx5UmVzZXJ2ZUl0ZW1zLnNpemUgPiAwKSB7XG4gICAgICAgIHRoaXMuI3VwZGF0ZVZpZXdwb3J0QXJlYSgpO1xuICAgICAgfVxuICAgIH07XG4gICAgdGhpcy4jZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgb25TY3JvbGwpO1xuICAgIGluamVjdChEZXN0cm95UmVmKS5vbkRlc3Ryb3koKCkgPT4ge1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIGlmICh0aGlzLiN1cGRhdGVSZXF1ZXN0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy4jdXBkYXRlUmVxdWVzdCk7XG4gICAgICB9XG4gICAgICB0aGlzLiNpbnRlcnNlY3Rpb25PYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICB0aGlzLiNkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBvblNjcm9sbCk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmVzZXJ2ZXMgc3BhY2UgZm9yIGNvbXBvbmVudHMgZG9ja2VkIHRvIHRoZSBsZWZ0LCB0b3AsIHJpZ2h0LCBvciBib3R0b20gb2YgdGhlIHZpZXdwb3J0LlxuICAgKiBAcGFyYW0gYXJnc1xuICAgKi9cbiAgcHVibGljIHJlc2VydmVTcGFjZShhcmdzOiBTa3lBcHBWaWV3cG9ydFJlc2VydmVBcmdzKTogdm9pZCB7XG4gICAgY29uc3QgaXRlbSA9IHtcbiAgICAgIC4uLmFyZ3MsXG4gICAgICBhY3RpdmU6IHRoaXMuI2lzRWxlbWVudFZpc2libGUoeyAuLi5hcmdzLCBhY3RpdmU6IGZhbHNlIH0pLFxuICAgIH07XG4gICAgdGhpcy4jcmVzZXJ2ZUl0ZW1zLnNldChhcmdzLmlkLCBpdGVtKTtcbiAgICB0aGlzLiN3YXRjaFZpc2liaWxpdHkoaXRlbSk7XG4gICAgdGhpcy4jdXBkYXRlVmlld3BvcnRBcmVhKCk7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlcyByZXNlcnZlZCBzcGFjZSBmb3IgYSBjb21wb25lbnQgYnkgdGhlIElEIHByb3ZpZGVkIHdoZW4gaXQgd2FzIHJlc2VydmVkLlxuICAgKiBAcGFyYW0gaWRcbiAgICovXG4gIHB1YmxpYyB1bnJlc2VydmVTcGFjZShpZDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgYXJncyA9IHRoaXMuI3Jlc2VydmVJdGVtcy5nZXQoaWQpO1xuICAgIGlmIChhcmdzPy5yZXNlcnZlRm9yRWxlbWVudCkge1xuICAgICAgdGhpcy4jaW50ZXJzZWN0aW9uT2JzZXJ2ZXIudW5vYnNlcnZlKGFyZ3MucmVzZXJ2ZUZvckVsZW1lbnQpO1xuICAgICAgdGhpcy4jY29uZGl0aW9uYWxseVJlc2VydmVJdGVtcy5kZWxldGUoYXJncy5yZXNlcnZlRm9yRWxlbWVudCk7XG4gICAgfVxuICAgIHRoaXMuI3Jlc2VydmVJdGVtcy5kZWxldGUoaWQpO1xuICAgIHRoaXMuI3VwZGF0ZVZpZXdwb3J0QXJlYSgpO1xuICB9XG5cbiAgI3VwZGF0ZVZpZXdwb3J0QXJlYSgpOiB2b2lkIHtcbiAgICB0aGlzLiN1cGRhdGVSZXF1ZXN0ID8/PSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgdGhpcy4jdXBkYXRlUmVxdWVzdCA9IHVuZGVmaW5lZDtcbiAgICAgIGNvbnN0IHJlc2VydmVkU3BhY2VzOiBSZWNvcmQ8U2t5QXBwVmlld3BvcnRSZXNlcnZlZFBvc2l0aW9uVHlwZSwgbnVtYmVyPiA9XG4gICAgICAgIHtcbiAgICAgICAgICBib3R0b206IDAsXG4gICAgICAgICAgbGVmdDogMCxcbiAgICAgICAgICByaWdodDogMCxcbiAgICAgICAgICB0b3A6IDAsXG4gICAgICAgIH07XG5cbiAgICAgIGZvciAoY29uc3QgYXJncyBvZiB0aGlzLiNyZXNlcnZlSXRlbXMudmFsdWVzKCkpIHtcbiAgICAgICAgYXJncy5hY3RpdmUgPSB0aGlzLiNpc0VsZW1lbnRWaXNpYmxlKGFyZ3MsIHJlc2VydmVkU3BhY2VzKTtcbiAgICAgICAgaWYgKGFyZ3MuYWN0aXZlKSB7XG4gICAgICAgICAgcmVzZXJ2ZWRTcGFjZXNbYXJncy5wb3NpdGlvbl0gKz0gYXJncy5zaXplO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHRoaXMuI3Jlc2VydmVkU3BhY2VzID0gcmVzZXJ2ZWRTcGFjZXM7XG4gICAgICBjb25zdCBkb2N1bWVudEVsZW1lbnRTdHlsZSA9IHRoaXMuI2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZTtcblxuICAgICAgZm9yIChjb25zdCBbcG9zaXRpb24sIHNpemVdIG9mIE9iamVjdC5lbnRyaWVzKHJlc2VydmVkU3BhY2VzKSkge1xuICAgICAgICBkb2N1bWVudEVsZW1lbnRTdHlsZS5zZXRQcm9wZXJ0eShcbiAgICAgICAgICBgLS1za3ktdmlld3BvcnQtJHtwb3NpdGlvbn1gLFxuICAgICAgICAgIHNpemUgKyAncHgnLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgI3dhdGNoVmlzaWJpbGl0eShpdGVtOiBSZXNlcnZlSXRlbVR5cGUpOiB2b2lkIHtcbiAgICBpZiAoaXRlbS5yZXNlcnZlRm9yRWxlbWVudCkge1xuICAgICAgdGhpcy4jY29uZGl0aW9uYWxseVJlc2VydmVJdGVtcy5zZXQoaXRlbS5yZXNlcnZlRm9yRWxlbWVudCwgaXRlbSk7XG4gICAgICB0aGlzLiNpbnRlcnNlY3Rpb25PYnNlcnZlci5vYnNlcnZlKGl0ZW0ucmVzZXJ2ZUZvckVsZW1lbnQpO1xuICAgIH1cbiAgfVxuXG4gICNpc0VsZW1lbnRWaXNpYmxlKFxuICAgIGFyZ3M6IFJlc2VydmVJdGVtVHlwZSxcbiAgICByZXNlcnZlZFNwYWNlczogUmVjb3JkPFNreUFwcFZpZXdwb3J0UmVzZXJ2ZWRQb3NpdGlvblR5cGUsIG51bWJlcj4gPSB0aGlzXG4gICAgICAuI3Jlc2VydmVkU3BhY2VzLFxuICApOiBib29sZWFuIHtcbiAgICBpZiAoIWFyZ3MucmVzZXJ2ZUZvckVsZW1lbnQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBjb25zdCByZWN0ID0gYXJncy5yZXNlcnZlRm9yRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBpZiAoIXJlY3QgfHwgIXJlY3QuaGVpZ2h0IHx8ICFyZWN0LndpZHRoKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGNvbnN0IG1pZHBvaW50ID0ge1xuICAgICAgeDogcmVjdC54ICsgTWF0aC5mbG9vcihyZWN0LndpZHRoIC8gMiksXG4gICAgICB5OiByZWN0LnkgKyBNYXRoLmZsb29yKHJlY3QuaGVpZ2h0IC8gMiksXG4gICAgfTtcbiAgICBpZiAoXG4gICAgICAvLyBWZXJ0aWNhbGx5IGluIHZpZXdcbiAgICAgIG1pZHBvaW50LnkgPD0gd2luZG93LmlubmVySGVpZ2h0ICYmXG4gICAgICBtaWRwb2ludC55ID49IDAgJiZcbiAgICAgIC8vIEhvcml6b250YWxseSBpbiB2aWV3XG4gICAgICBtaWRwb2ludC54IDw9IHdpbmRvdy5pbm5lcldpZHRoICYmXG4gICAgICBtaWRwb2ludC54ID49IDBcbiAgICApIHtcbiAgICAgIC8vIEVsZW1lbnQgaXMgbm90IGhpZGRlbiBieSBhbm90aGVyIGVsZW1lbnRcbiAgICAgIGlmIChcbiAgICAgICAgYXJncy5yZXNlcnZlRm9yRWxlbWVudC5jb250YWlucyhcbiAgICAgICAgICB0aGlzLiNkb2N1bWVudC5lbGVtZW50RnJvbVBvaW50KG1pZHBvaW50LngsIG1pZHBvaW50LnkpLFxuICAgICAgICApXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICAgIC8vIENoZWNrIGlmIHRoZSBpdGVtJ3MgbWlkcG9pbnQgaXMgdmlzaWJsZSBiYXNlZCBvbiBjdXJyZW50IHJlc2VydmVkIHNwYWNlcy5cbiAgICAgIC8vIEFzc3VtZXMgcmVzZXJ2ZWQgc3BhY2VzIGFyZSBpbnRlbmRlZCB0byBiZSBhZGRpdGl2ZSBhbmQgbm90IG92ZXJsYXBwaW5nLlxuICAgICAgY29uc3QgdGhyZXNob2xkID0gcmVzZXJ2ZWRTcGFjZXNbYXJncy5wb3NpdGlvbl07XG4gICAgICBzd2l0Y2ggKGFyZ3MucG9zaXRpb24pIHtcbiAgICAgICAgY2FzZSAndG9wJzpcbiAgICAgICAgICByZXR1cm4gbWlkcG9pbnQueSA+PSB0aHJlc2hvbGQ7XG4gICAgICAgIGNhc2UgJ3JpZ2h0JzpcbiAgICAgICAgICByZXR1cm4gbWlkcG9pbnQueCA8PSB3aW5kb3cuaW5uZXJXaWR0aCAtIHRocmVzaG9sZDtcbiAgICAgICAgY2FzZSAnYm90dG9tJzpcbiAgICAgICAgICByZXR1cm4gbWlkcG9pbnQueSA8PSB3aW5kb3cuaW5uZXJIZWlnaHQgLSB0aHJlc2hvbGQ7XG4gICAgICAgIGNhc2UgJ2xlZnQnOlxuICAgICAgICAgIHJldHVybiBtaWRwb2ludC54ID49IHRocmVzaG9sZDtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iXX0=","import { DOCUMENT, RendererFactory2, inject, makeEnvironmentProviders, provideAppInitializer, } from '@angular/core';\nimport { SkyTheme } from '../theming/theme';\nimport { SkyThemeMode } from '../theming/theme-mode';\nimport { SkyThemeSettings } from '../theming/theme-settings';\nimport { SkyThemeSpacing } from '../theming/theme-spacing';\nimport { SkyThemeService } from '../theming/theme.service';\nexport function provideInitialTheme(name = 'default', options) {\n return makeEnvironmentProviders([\n SkyThemeService,\n provideAppInitializer(() => {\n const initializerFn = ((themeService, doc, rendererFactory) => {\n return () => {\n themeService.init(doc.body, rendererFactory.createRenderer(null, null), new SkyThemeSettings(SkyTheme.presets[name], SkyThemeMode.presets[options?.mode ?? 'light'], SkyThemeSpacing.presets[options?.spacing ?? 'standard']));\n };\n })(inject(SkyThemeService), inject(DOCUMENT), inject(RendererFactory2));\n return initializerFn();\n }),\n ]);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1pbml0aWFsLXRoZW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RoZW1lL3NyYy9saWIvcHJvdmlkZXJzL3Byb3ZpZGUtaW5pdGlhbC10aGVtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsUUFBUSxFQUVSLGdCQUFnQixFQUNoQixNQUFNLEVBQ04sd0JBQXdCLEVBQ3hCLHFCQUFxQixHQUN0QixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFM0QsTUFBTSxVQUFVLG1CQUFtQixDQUNqQyxPQUFzQyxTQUFTLEVBQy9DLE9BR0M7SUFFRCxPQUFPLHdCQUF3QixDQUFDO1FBQzlCLGVBQWU7UUFDZixxQkFBcUIsQ0FBQyxHQUFHLEVBQUU7WUFDekIsTUFBTSxhQUFhLEdBQUcsQ0FBQyxDQUNyQixZQUE2QixFQUM3QixHQUFhLEVBQ2IsZUFBaUMsRUFDakMsRUFBRTtnQkFDRixPQUFPLEdBQVMsRUFBRTtvQkFDaEIsWUFBWSxDQUFDLElBQUksQ0FDZixHQUFHLENBQUMsSUFBSSxFQUNSLGVBQWUsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUMxQyxJQUFJLGdCQUFnQixDQUNsQixRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUN0QixZQUFZLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLElBQUksT0FBTyxDQUFDLEVBQzlDLGVBQWUsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLE9BQU8sSUFBSSxVQUFVLENBQUMsQ0FDeEQsQ0FDRixDQUFDO2dCQUNKLENBQUMsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztZQUN4RSxPQUFPLGFBQWEsRUFBRSxDQUFDO1FBQ3pCLENBQUMsQ0FBQztLQUNILENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBET0NVTUVOVCxcbiAgRW52aXJvbm1lbnRQcm92aWRlcnMsXG4gIFJlbmRlcmVyRmFjdG9yeTIsXG4gIGluamVjdCxcbiAgbWFrZUVudmlyb25tZW50UHJvdmlkZXJzLFxuICBwcm92aWRlQXBwSW5pdGlhbGl6ZXIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTa3lUaGVtZSB9IGZyb20gJy4uL3RoZW1pbmcvdGhlbWUnO1xuaW1wb3J0IHsgU2t5VGhlbWVNb2RlIH0gZnJvbSAnLi4vdGhlbWluZy90aGVtZS1tb2RlJztcbmltcG9ydCB7IFNreVRoZW1lU2V0dGluZ3MgfSBmcm9tICcuLi90aGVtaW5nL3RoZW1lLXNldHRpbmdzJztcbmltcG9ydCB7IFNreVRoZW1lU3BhY2luZyB9IGZyb20gJy4uL3RoZW1pbmcvdGhlbWUtc3BhY2luZyc7XG5pbXBvcnQgeyBTa3lUaGVtZVNlcnZpY2UgfSBmcm9tICcuLi90aGVtaW5nL3RoZW1lLnNlcnZpY2UnO1xuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUluaXRpYWxUaGVtZShcbiAgbmFtZToga2V5b2YgdHlwZW9mIFNreVRoZW1lLnByZXNldHMgPSAnZGVmYXVsdCcsXG4gIG9wdGlvbnM/OiB7XG4gICAgbW9kZT86IGtleW9mIHR5cGVvZiBTa3lUaGVtZU1vZGUucHJlc2V0cztcbiAgICBzcGFjaW5nPzoga2V5b2YgdHlwZW9mIFNreVRoZW1lU3BhY2luZy5wcmVzZXRzO1xuICB9LFxuKTogRW52aXJvbm1lbnRQcm92aWRlcnMge1xuICByZXR1cm4gbWFrZUVudmlyb25tZW50UHJvdmlkZXJzKFtcbiAgICBTa3lUaGVtZVNlcnZpY2UsXG4gICAgcHJvdmlkZUFwcEluaXRpYWxpemVyKCgpID0+IHtcbiAgICAgIGNvbnN0IGluaXRpYWxpemVyRm4gPSAoKFxuICAgICAgICB0aGVtZVNlcnZpY2U6IFNreVRoZW1lU2VydmljZSxcbiAgICAgICAgZG9jOiBEb2N1bWVudCxcbiAgICAgICAgcmVuZGVyZXJGYWN0b3J5OiBSZW5kZXJlckZhY3RvcnkyLFxuICAgICAgKSA9PiB7XG4gICAgICAgIHJldHVybiAoKTogdm9pZCA9PiB7XG4gICAgICAgICAgdGhlbWVTZXJ2aWNlLmluaXQoXG4gICAgICAgICAgICBkb2MuYm9keSxcbiAgICAgICAgICAgIHJlbmRlcmVyRmFjdG9yeS5jcmVhdGVSZW5kZXJlcihudWxsLCBudWxsKSxcbiAgICAgICAgICAgIG5ldyBTa3lUaGVtZVNldHRpbmdzKFxuICAgICAgICAgICAgICBTa3lUaGVtZS5wcmVzZXRzW25hbWVdLFxuICAgICAgICAgICAgICBTa3lUaGVtZU1vZGUucHJlc2V0c1tvcHRpb25zPy5tb2RlID8/ICdsaWdodCddLFxuICAgICAgICAgICAgICBTa3lUaGVtZVNwYWNpbmcucHJlc2V0c1tvcHRpb25zPy5zcGFjaW5nID8/ICdzdGFuZGFyZCddLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICApO1xuICAgICAgICB9O1xuICAgICAgfSkoaW5qZWN0KFNreVRoZW1lU2VydmljZSksIGluamVjdChET0NVTUVOVCksIGluamVjdChSZW5kZXJlckZhY3RvcnkyKSk7XG4gICAgICByZXR1cm4gaW5pdGlhbGl6ZXJGbigpO1xuICAgIH0pLFxuICBdKTtcbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5dXgtdGhlbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGhlbWUvc3JjL3NreXV4LXRoZW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["i1.SkyThemeService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"skyux-theme.mjs","sources":["../tmp-esm2022/lib/icons/icon-manifest.service.js","../tmp-esm2022/lib/theming/theme-mode.js","../tmp-esm2022/lib/theming/theme-spacing.js","../tmp-esm2022/lib/theming/theme.js","../tmp-esm2022/lib/theming/theme-brand.js","../tmp-esm2022/lib/theming/theme-settings.js","../tmp-esm2022/lib/theming/theme.service.js","../tmp-esm2022/lib/style-loader.js","../tmp-esm2022/lib/theming/theme-class.directive.js","../tmp-esm2022/lib/theming/theme-if.directive.js","../tmp-esm2022/lib/theming/theme.directive.js","../tmp-esm2022/lib/theme.module.js","../tmp-esm2022/lib/theming/theme-component-class.directive.js","../tmp-esm2022/lib/viewport/viewport.service.js","../tmp-esm2022/lib/providers/provide-initial-theme.js","../tmp-esm2022/skyux-theme.js"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { getIconManifest } from '@skyux/icons';\nimport * as i0 from \"@angular/core\";\n/**\n * Provides a method for retrieving metadata about the SKY UX icon font.\n * @internal\n */\nexport class SkyThemeIconManifestService {\n /**\n * Gets metadata about the SKY UX icon font.\n */\n getManifest() {\n return getIconManifest();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SkyThemeIconManifestService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SkyThemeIconManifestService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SkyThemeIconManifestService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1tYW5pZmVzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RoZW1lL3NyYy9saWIvaWNvbnMvaWNvbi1tYW5pZmVzdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFJL0M7OztHQUdHO0FBSUgsTUFBTSxPQUFPLDJCQUEyQjtJQUN0Qzs7T0FFRztJQUNJLFdBQVc7UUFDaEIsT0FBTyxlQUFlLEVBQUUsQ0FBQztJQUMzQixDQUFDOzhHQU5VLDJCQUEyQjtrSEFBM0IsMkJBQTJCLGNBRjFCLE1BQU07OzJGQUVQLDJCQUEyQjtrQkFIdkMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBnZXRJY29uTWFuaWZlc3QgfSBmcm9tICdAc2t5dXgvaWNvbnMnO1xuXG5pbXBvcnQgeyBTa3lUaGVtZUljb25NYW5pZmVzdCB9IGZyb20gJy4vaWNvbi1tYW5pZmVzdCc7XG5cbi8qKlxuICogUHJvdmlkZXMgYSBtZXRob2QgZm9yIHJldHJpZXZpbmcgbWV0YWRhdGEgYWJvdXQgdGhlIFNLWSBVWCBpY29uIGZvbnQuXG4gKiBAaW50ZXJuYWxcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNreVRoZW1lSWNvbk1hbmlmZXN0U2VydmljZSB7XG4gIC8qKlxuICAgKiBHZXRzIG1ldGFkYXRhIGFib3V0IHRoZSBTS1kgVVggaWNvbiBmb250LlxuICAgKi9cbiAgcHVibGljIGdldE1hbmlmZXN0KCk6IFNreVRoZW1lSWNvbk1hbmlmZXN0IHtcbiAgICByZXR1cm4gZ2V0SWNvbk1hbmlmZXN0KCk7XG4gIH1cbn1cbiJdfQ==","/**\n * Defines properties of a SKY UX theme mode.\n */\nexport class SkyThemeMode {\n /**\n * The preset themes available in SKY UX.\n */\n static { this.presets = {\n light: new SkyThemeMode('light', 'sky-theme-mode-light'),\n dark: new SkyThemeMode('dark', 'sky-theme-mode-dark'),\n }; }\n /**\n * Creates a new theme mode.\n * @param name The name of the theme mode.\n * @param hostClass The class on the host element which child components should reference when\n * adjusting for a specified theme mode.\n */\n constructor(name, hostClass) {\n this.name = name;\n this.hostClass = hostClass;\n }\n /**\n * @internal\n * Serializes the theme mode to a JSON-compatible object.\n */\n serialize() {\n // Check if this instance is a preset\n const presetEntry = Object.entries(SkyThemeMode.presets).find(([, preset]) => preset === this);\n if (presetEntry) {\n return {\n name: this.name,\n isPreset: true,\n };\n }\n return {\n name: this.name,\n hostClass: this.hostClass,\n };\n }\n /**\n * @internal\n * Deserializes a JSON object to a SkyThemeMode instance.\n */\n static deserialize(data) {\n if (data.isPreset) {\n const preset = SkyThemeMode.presets[data.name];\n if (preset) {\n return preset;\n }\n throw new Error(`Unknown theme mode preset: ${data.name}`);\n }\n if (!data.hostClass) {\n throw new Error('hostClass is required for non-preset theme modes');\n }\n return new SkyThemeMode(data.name, data.hostClass);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtbW9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90aGVtZS9zcmMvbGliL3RoZW1pbmcvdGhlbWUtbW9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7R0FFRztBQUNILE1BQU0sT0FBTyxZQUFZO0lBQ3ZCOztPQUVHO2FBQ29CLFlBQU8sR0FBRztRQUMvQixLQUFLLEVBQUUsSUFBSSxZQUFZLENBQUMsT0FBTyxFQUFFLHNCQUFzQixDQUFDO1FBQ3hELElBQUksRUFBRSxJQUFJLFlBQVksQ0FBQyxNQUFNLEVBQUUscUJBQXFCLENBQUM7S0FDdEQsQ0FBQztJQUVGOzs7OztPQUtHO0lBQ0gsWUFDa0IsSUFBWSxFQUNaLFNBQWlCO1FBRGpCLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWixjQUFTLEdBQVQsU0FBUyxDQUFRO0lBQ2hDLENBQUM7SUFFSjs7O09BR0c7SUFDSSxTQUFTO1FBQ2QscUNBQXFDO1FBQ3JDLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDM0QsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQ2hDLENBQUM7UUFFRixJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ2hCLE9BQU87Z0JBQ0wsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO2dCQUNmLFFBQVEsRUFBRSxJQUFJO2FBQ2YsQ0FBQztRQUNKLENBQUM7UUFFRCxPQUFPO1lBQ0wsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1NBQzFCLENBQUM7SUFDSixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFzQjtRQUM5QyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixNQUFNLE1BQU0sR0FDVixZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUF5QyxDQUFDLENBQUM7WUFFdkUsSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDWCxPQUFPLE1BQU0sQ0FBQztZQUNoQixDQUFDO1lBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDN0QsQ0FBQztRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxrREFBa0QsQ0FBQyxDQUFDO1FBQ3RFLENBQUM7UUFFRCxPQUFPLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lUaGVtZU1vZGVEYXRhIH0gZnJvbSAnLi90aGVtZS1zZXJpYWxpemF0aW9uLXR5cGVzJztcblxuLyoqXG4gKiBEZWZpbmVzIHByb3BlcnRpZXMgb2YgYSBTS1kgVVggdGhlbWUgbW9kZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreVRoZW1lTW9kZSB7XG4gIC8qKlxuICAgKiBUaGUgcHJlc2V0IHRoZW1lcyBhdmFpbGFibGUgaW4gU0tZIFVYLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBwcmVzZXRzID0ge1xuICAgIGxpZ2h0OiBuZXcgU2t5VGhlbWVNb2RlKCdsaWdodCcsICdza3ktdGhlbWUtbW9kZS1saWdodCcpLFxuICAgIGRhcms6IG5ldyBTa3lUaGVtZU1vZGUoJ2RhcmsnLCAnc2t5LXRoZW1lLW1vZGUtZGFyaycpLFxuICB9O1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IHRoZW1lIG1vZGUuXG4gICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSB0aGVtZSBtb2RlLlxuICAgKiBAcGFyYW0gaG9zdENsYXNzIFRoZSBjbGFzcyBvbiB0aGUgaG9zdCBlbGVtZW50IHdoaWNoIGNoaWxkIGNvbXBvbmVudHMgc2hvdWxkIHJlZmVyZW5jZSB3aGVuXG4gICAqIGFkanVzdGluZyBmb3IgYSBzcGVjaWZpZWQgdGhlbWUgbW9kZS5cbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBuYW1lOiBzdHJpbmcsXG4gICAgcHVibGljIHJlYWRvbmx5IGhvc3RDbGFzczogc3RyaW5nLFxuICApIHt9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKiBTZXJpYWxpemVzIHRoZSB0aGVtZSBtb2RlIHRvIGEgSlNPTi1jb21wYXRpYmxlIG9iamVjdC5cbiAgICovXG4gIHB1YmxpYyBzZXJpYWxpemUoKTogU2t5VGhlbWVNb2RlRGF0YSB7XG4gICAgLy8gQ2hlY2sgaWYgdGhpcyBpbnN0YW5jZSBpcyBhIHByZXNldFxuICAgIGNvbnN0IHByZXNldEVudHJ5ID0gT2JqZWN0LmVudHJpZXMoU2t5VGhlbWVNb2RlLnByZXNldHMpLmZpbmQoXG4gICAgICAoWywgcHJlc2V0XSkgPT4gcHJlc2V0ID09PSB0aGlzLFxuICAgICk7XG5cbiAgICBpZiAocHJlc2V0RW50cnkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG5hbWU6IHRoaXMubmFtZSxcbiAgICAgICAgaXNQcmVzZXQ6IHRydWUsXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBuYW1lOiB0aGlzLm5hbWUsXG4gICAgICBob3N0Q2xhc3M6IHRoaXMuaG9zdENsYXNzLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqIERlc2VyaWFsaXplcyBhIEpTT04gb2JqZWN0IHRvIGEgU2t5VGhlbWVNb2RlIGluc3RhbmNlLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBkZXNlcmlhbGl6ZShkYXRhOiBTa3lUaGVtZU1vZGVEYXRhKTogU2t5VGhlbWVNb2RlIHtcbiAgICBpZiAoZGF0YS5pc1ByZXNldCkge1xuICAgICAgY29uc3QgcHJlc2V0ID1cbiAgICAgICAgU2t5VGhlbWVNb2RlLnByZXNldHNbZGF0YS5uYW1lIGFzIGtleW9mIHR5cGVvZiBTa3lUaGVtZU1vZGUucHJlc2V0c107XG5cbiAgICAgIGlmIChwcmVzZXQpIHtcbiAgICAgICAgcmV0dXJuIHByZXNldDtcbiAgICAgIH1cblxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIHRoZW1lIG1vZGUgcHJlc2V0OiAke2RhdGEubmFtZX1gKTtcbiAgICB9XG5cbiAgICBpZiAoIWRhdGEuaG9zdENsYXNzKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2hvc3RDbGFzcyBpcyByZXF1aXJlZCBmb3Igbm9uLXByZXNldCB0aGVtZSBtb2RlcycpO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgU2t5VGhlbWVNb2RlKGRhdGEubmFtZSwgZGF0YS5ob3N0Q2xhc3MpO1xuICB9XG59XG4iXX0=","/**\n * Defines properties of SKY UX theme spacing.\n */\nexport class SkyThemeSpacing {\n /**\n * The preset spacing available in SKY UX.\n */\n static { this.presets = {\n standard: new SkyThemeSpacing('standard', 'sky-theme-spacing-standard'),\n compact: new SkyThemeSpacing('compact', 'sky-theme-spacing-compact'),\n }; }\n /**\n * Creates a new theme spacing.\n * @param name The name of the theme spacing.\n * @param hostClass The class on the host element which child components should reference when\n * adjusting for a specified theme spacing.\n */\n constructor(name, hostClass) {\n this.name = name;\n this.hostClass = hostClass;\n }\n /**\n * @internal\n * Serializes the theme spacing to a JSON-compatible object.\n */\n serialize() {\n // Check if this instance is a preset\n const presetEntry = Object.entries(SkyThemeSpacing.presets).find(([, preset]) => preset === this);\n if (presetEntry) {\n return {\n name: this.name,\n isPreset: true,\n };\n }\n return {\n name: this.name,\n hostClass: this.hostClass,\n };\n }\n /**\n * @internal\n * Deserializes a JSON object to a SkyThemeSpacing instance.\n */\n static deserialize(data) {\n if (data.isPreset) {\n const preset = SkyThemeSpacing.presets[data.name];\n if (preset) {\n return preset;\n }\n throw new Error(`Unknown theme spacing preset: ${data.name}`);\n }\n if (!data.hostClass) {\n throw new Error('hostClass is required for non-preset theme spacing');\n }\n return new SkyThemeSpacing(data.name, data.hostClass);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtc3BhY2luZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90aGVtZS9zcmMvbGliL3RoZW1pbmcvdGhlbWUtc3BhY2luZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7R0FFRztBQUNILE1BQU0sT0FBTyxlQUFlO0lBQzFCOztPQUVHO2FBQ29CLFlBQU8sR0FBRztRQUMvQixRQUFRLEVBQUUsSUFBSSxlQUFlLENBQUMsVUFBVSxFQUFFLDRCQUE0QixDQUFDO1FBQ3ZFLE9BQU8sRUFBRSxJQUFJLGVBQWUsQ0FBQyxTQUFTLEVBQUUsMkJBQTJCLENBQUM7S0FDckUsQ0FBQztJQUVGOzs7OztPQUtHO0lBQ0gsWUFDa0IsSUFBWSxFQUNaLFNBQWlCO1FBRGpCLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWixjQUFTLEdBQVQsU0FBUyxDQUFRO0lBQ2hDLENBQUM7SUFFSjs7O09BR0c7SUFDSSxTQUFTO1FBQ2QscUNBQXFDO1FBQ3JDLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDOUQsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQ2hDLENBQUM7UUFFRixJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ2hCLE9BQU87Z0JBQ0wsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO2dCQUNmLFFBQVEsRUFBRSxJQUFJO2FBQ2YsQ0FBQztRQUNKLENBQUM7UUFFRCxPQUFPO1lBQ0wsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1NBQzFCLENBQUM7SUFDSixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUF5QjtRQUNqRCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixNQUFNLE1BQU0sR0FDVixlQUFlLENBQUMsT0FBTyxDQUNyQixJQUFJLENBQUMsSUFBNEMsQ0FDbEQsQ0FBQztZQUVKLElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQ1gsT0FBTyxNQUFNLENBQUM7WUFDaEIsQ0FBQztZQUVELE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQWlDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsb0RBQW9ELENBQUMsQ0FBQztRQUN4RSxDQUFDO1FBRUQsT0FBTyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN4RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5VGhlbWVTcGFjaW5nRGF0YSB9IGZyb20gJy4vdGhlbWUtc2VyaWFsaXphdGlvbi10eXBlcyc7XG5cbi8qKlxuICogRGVmaW5lcyBwcm9wZXJ0aWVzIG9mIFNLWSBVWCB0aGVtZSBzcGFjaW5nLlxuICovXG5leHBvcnQgY2xhc3MgU2t5VGhlbWVTcGFjaW5nIHtcbiAgLyoqXG4gICAqIFRoZSBwcmVzZXQgc3BhY2luZyBhdmFpbGFibGUgaW4gU0tZIFVYLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBwcmVzZXRzID0ge1xuICAgIHN0YW5kYXJkOiBuZXcgU2t5VGhlbWVTcGFjaW5nKCdzdGFuZGFyZCcsICdza3ktdGhlbWUtc3BhY2luZy1zdGFuZGFyZCcpLFxuICAgIGNvbXBhY3Q6IG5ldyBTa3lUaGVtZVNwYWNpbmcoJ2NvbXBhY3QnLCAnc2t5LXRoZW1lLXNwYWNpbmctY29tcGFjdCcpLFxuICB9O1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IHRoZW1lIHNwYWNpbmcuXG4gICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSB0aGVtZSBzcGFjaW5nLlxuICAgKiBAcGFyYW0gaG9zdENsYXNzIFRoZSBjbGFzcyBvbiB0aGUgaG9zdCBlbGVtZW50IHdoaWNoIGNoaWxkIGNvbXBvbmVudHMgc2hvdWxkIHJlZmVyZW5jZSB3aGVuXG4gICAqIGFkanVzdGluZyBmb3IgYSBzcGVjaWZpZWQgdGhlbWUgc3BhY2luZy5cbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBuYW1lOiBzdHJpbmcsXG4gICAgcHVibGljIHJlYWRvbmx5IGhvc3RDbGFzczogc3RyaW5nLFxuICApIHt9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKiBTZXJpYWxpemVzIHRoZSB0aGVtZSBzcGFjaW5nIHRvIGEgSlNPTi1jb21wYXRpYmxlIG9iamVjdC5cbiAgICovXG4gIHB1YmxpYyBzZXJpYWxpemUoKTogU2t5VGhlbWVTcGFjaW5nRGF0YSB7XG4gICAgLy8gQ2hlY2sgaWYgdGhpcyBpbnN0YW5jZSBpcyBhIHByZXNldFxuICAgIGNvbnN0IHByZXNldEVudHJ5ID0gT2JqZWN0LmVudHJpZXMoU2t5VGhlbWVTcGFjaW5nLnByZXNldHMpLmZpbmQoXG4gICAgICAoWywgcHJlc2V0XSkgPT4gcHJlc2V0ID09PSB0aGlzLFxuICAgICk7XG5cbiAgICBpZiAocHJlc2V0RW50cnkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG5hbWU6IHRoaXMubmFtZSxcbiAgICAgICAgaXNQcmVzZXQ6IHRydWUsXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBuYW1lOiB0aGlzLm5hbWUsXG4gICAgICBob3N0Q2xhc3M6IHRoaXMuaG9zdENsYXNzLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqIERlc2VyaWFsaXplcyBhIEpTT04gb2JqZWN0IHRvIGEgU2t5VGhlbWVTcGFjaW5nIGluc3RhbmNlLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBkZXNlcmlhbGl6ZShkYXRhOiBTa3lUaGVtZVNwYWNpbmdEYXRhKTogU2t5VGhlbWVTcGFjaW5nIHtcbiAgICBpZiAoZGF0YS5pc1ByZXNldCkge1xuICAgICAgY29uc3QgcHJlc2V0ID1cbiAgICAgICAgU2t5VGhlbWVTcGFjaW5nLnByZXNldHNbXG4gICAgICAgICAgZGF0YS5uYW1lIGFzIGtleW9mIHR5cGVvZiBTa3lUaGVtZVNwYWNpbmcucHJlc2V0c1xuICAgICAgICBdO1xuXG4gICAgICBpZiAocHJlc2V0KSB7XG4gICAgICAgIHJldHVybiBwcmVzZXQ7XG4gICAgICB9XG5cbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biB0aGVtZSBzcGFjaW5nIHByZXNldDogJHtkYXRhLm5hbWV9YCk7XG4gICAgfVxuXG4gICAgaWYgKCFkYXRhLmhvc3RDbGFzcykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdob3N0Q2xhc3MgaXMgcmVxdWlyZWQgZm9yIG5vbi1wcmVzZXQgdGhlbWUgc3BhY2luZycpO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgU2t5VGhlbWVTcGFjaW5nKGRhdGEubmFtZSwgZGF0YS5ob3N0Q2xhc3MpO1xuICB9XG59XG4iXX0=","import { SkyThemeMode } from './theme-mode';\nimport { SkyThemeSpacing } from './theme-spacing';\n/**\n * Defines properties of a SKY UX theme.\n */\nexport class SkyTheme {\n /**\n * The preset themes available in SKY UX.\n */\n static { this.presets = {\n default: new SkyTheme('default', 'sky-theme-default', [SkyThemeMode.presets.light], [SkyThemeSpacing.presets.standard]),\n modern: new SkyTheme('modern', 'sky-theme-modern', [SkyThemeMode.presets.light, SkyThemeMode.presets.dark], [SkyThemeSpacing.presets.standard, SkyThemeSpacing.presets.compact], true),\n }; }\n /**\n * Creates a new theme.\n * @param name The name of the theme.\n * @param hostClass The class on the host element which child components should reference when\n * adjusting for a specified theme.\n * @param supportedModes An array of modes supported by the theme.\n * @param supportedSpacing An array of spacing modes supported by the theme.\n */\n constructor(name, hostClass, supportedModes, supportedSpacing = [SkyThemeSpacing.presets.standard], supportsBranding = false) {\n this.name = name;\n this.hostClass = hostClass;\n this.supportedModes = supportedModes;\n this.supportedSpacing = supportedSpacing;\n this.supportsBranding = supportsBranding;\n }\n /**\n * @internal\n * Serializes the theme to a JSON-compatible object.\n */\n serialize() {\n // Check if this instance is a preset\n const presetEntry = Object.entries(SkyTheme.presets).find(([, preset]) => preset === this);\n if (presetEntry) {\n return {\n name: this.name,\n supportedModes: this.supportedModes.map((mode) => mode.serialize()),\n isPreset: true,\n };\n }\n const result = {\n name: this.name,\n hostClass: this.hostClass,\n supportedModes: this.supportedModes.map((mode) => mode.serialize()),\n };\n // Only include supportedSpacing if it's not the default\n if (this.supportedSpacing.length !== 1 ||\n this.supportedSpacing[0] !== SkyThemeSpacing.presets.standard) {\n result.supportedSpacing = this.supportedSpacing.map((spacing) => spacing.serialize());\n }\n // Only include supportsBranding if it's true\n if (this.supportsBranding) {\n result.supportsBranding = this.supportsBranding;\n }\n return result;\n }\n /**\n * @internal\n * Deserializes a JSON object to a SkyTheme instance.\n */\n static deserialize(data) {\n if (data.isPreset) {\n const preset = SkyTheme.presets[data.name];\n if (preset) {\n return preset;\n }\n throw new Error(`Unknown theme preset: ${data.name}`);\n }\n if (!data.hostClass) {\n throw new Error('hostClass is required for non-preset themes');\n }\n const supportedModes = data.supportedModes.map((modeData) => SkyThemeMode.deserialize(modeData));\n const supportedSpacing = data.supportedSpacing\n ? data.supportedSpacing.map((spacingData) => SkyThemeSpacing.deserialize(spacingData))\n : [SkyThemeSpacing.presets.standard];\n return new SkyTheme(data.name, data.hostClass, supportedModes, supportedSpacing, data.supportsBranding ?? false);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGhlbWUvc3JjL2xpYi90aGVtaW5nL3RoZW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFNUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWxEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFFBQVE7SUFDbkI7O09BRUc7YUFDb0IsWUFBTyxHQUFHO1FBQy9CLE9BQU8sRUFBRSxJQUFJLFFBQVEsQ0FDbkIsU0FBUyxFQUNULG1CQUFtQixFQUNuQixDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQzVCLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FDbkM7UUFDRCxNQUFNLEVBQUUsSUFBSSxRQUFRLENBQ2xCLFFBQVEsRUFDUixrQkFBa0IsRUFDbEIsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUN2RCxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLGVBQWUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQ25FLElBQUksQ0FDTDtLQUNGLENBQUM7SUFFRjs7Ozs7OztPQU9HO0lBQ0gsWUFDa0IsSUFBWSxFQUNaLFNBQWlCLEVBQ2pCLGNBQThCLEVBQzlCLG1CQUFtQixDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQ3JELG1CQUFtQixLQUFLO1FBSnhCLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWixjQUFTLEdBQVQsU0FBUyxDQUFRO1FBQ2pCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXFDO1FBQ3JELHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBUTtJQUN2QyxDQUFDO0lBRUo7OztPQUdHO0lBQ0ksU0FBUztRQUNkLHFDQUFxQztRQUNyQyxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQ3ZELENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUNoQyxDQUFDO1FBRUYsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNoQixPQUFPO2dCQUNMLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtnQkFDZixjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDbkUsUUFBUSxFQUFFLElBQUk7YUFDZixDQUFDO1FBQ0osQ0FBQztRQUVELE1BQU0sTUFBTSxHQUFpQjtZQUMzQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDekIsY0FBYyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDcEUsQ0FBQztRQUVGLHdEQUF3RDtRQUN4RCxJQUNFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEtBQUssQ0FBQztZQUNsQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLEtBQUssZUFBZSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQzdELENBQUM7WUFDRCxNQUFNLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQzlELE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FDcEIsQ0FBQztRQUNKLENBQUM7UUFFRCw2Q0FBNkM7UUFDN0MsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUMxQixNQUFNLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBQ2xELENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFrQjtRQUMxQyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixNQUFNLE1BQU0sR0FDVixRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFxQyxDQUFDLENBQUM7WUFFL0QsSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDWCxPQUFPLE1BQU0sQ0FBQztZQUNoQixDQUFDO1lBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDeEQsQ0FBQztRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7UUFFRCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQzFELFlBQVksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQ25DLENBQUM7UUFFRixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0I7WUFDNUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUN4QyxlQUFlLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUN6QztZQUNILENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFdkMsT0FBTyxJQUFJLFFBQVEsQ0FDakIsSUFBSSxDQUFDLElBQUksRUFDVCxJQUFJLENBQUMsU0FBUyxFQUNkLGNBQWMsRUFDZCxnQkFBZ0IsRUFDaEIsSUFBSSxDQUFDLGdCQUFnQixJQUFJLEtBQUssQ0FDL0IsQ0FBQztJQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lUaGVtZU1vZGUgfSBmcm9tICcuL3RoZW1lLW1vZGUnO1xuaW1wb3J0IHsgU2t5VGhlbWVEYXRhIH0gZnJvbSAnLi90aGVtZS1zZXJpYWxpemF0aW9uLXR5cGVzJztcbmltcG9ydCB7IFNreVRoZW1lU3BhY2luZyB9IGZyb20gJy4vdGhlbWUtc3BhY2luZyc7XG5cbi8qKlxuICogRGVmaW5lcyBwcm9wZXJ0aWVzIG9mIGEgU0tZIFVYIHRoZW1lLlxuICovXG5leHBvcnQgY2xhc3MgU2t5VGhlbWUge1xuICAvKipcbiAgICogVGhlIHByZXNldCB0aGVtZXMgYXZhaWxhYmxlIGluIFNLWSBVWC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgcHJlc2V0cyA9IHtcbiAgICBkZWZhdWx0OiBuZXcgU2t5VGhlbWUoXG4gICAgICAnZGVmYXVsdCcsXG4gICAgICAnc2t5LXRoZW1lLWRlZmF1bHQnLFxuICAgICAgW1NreVRoZW1lTW9kZS5wcmVzZXRzLmxpZ2h0XSxcbiAgICAgIFtTa3lUaGVtZVNwYWNpbmcucHJlc2V0cy5zdGFuZGFyZF0sXG4gICAgKSxcbiAgICBtb2Rlcm46IG5ldyBTa3lUaGVtZShcbiAgICAgICdtb2Rlcm4nLFxuICAgICAgJ3NreS10aGVtZS1tb2Rlcm4nLFxuICAgICAgW1NreVRoZW1lTW9kZS5wcmVzZXRzLmxpZ2h0LCBTa3lUaGVtZU1vZGUucHJlc2V0cy5kYXJrXSxcbiAgICAgIFtTa3lUaGVtZVNwYWNpbmcucHJlc2V0cy5zdGFuZGFyZCwgU2t5VGhlbWVTcGFjaW5nLnByZXNldHMuY29tcGFjdF0sXG4gICAgICB0cnVlLFxuICAgICksXG4gIH07XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgdGhlbWUuXG4gICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSB0aGVtZS5cbiAgICogQHBhcmFtIGhvc3RDbGFzcyBUaGUgY2xhc3Mgb24gdGhlIGhvc3QgZWxlbWVudCB3aGljaCBjaGlsZCBjb21wb25lbnRzIHNob3VsZCByZWZlcmVuY2Ugd2hlblxuICAgKiBhZGp1c3RpbmcgZm9yIGEgc3BlY2lmaWVkIHRoZW1lLlxuICAgKiBAcGFyYW0gc3VwcG9ydGVkTW9kZXMgQW4gYXJyYXkgb2YgbW9kZXMgc3VwcG9ydGVkIGJ5IHRoZSB0aGVtZS5cbiAgICogQHBhcmFtIHN1cHBvcnRlZFNwYWNpbmcgQW4gYXJyYXkgb2Ygc3BhY2luZyBtb2RlcyBzdXBwb3J0ZWQgYnkgdGhlIHRoZW1lLlxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IG5hbWU6IHN0cmluZyxcbiAgICBwdWJsaWMgcmVhZG9ubHkgaG9zdENsYXNzOiBzdHJpbmcsXG4gICAgcHVibGljIHJlYWRvbmx5IHN1cHBvcnRlZE1vZGVzOiBTa3lUaGVtZU1vZGVbXSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgc3VwcG9ydGVkU3BhY2luZyA9IFtTa3lUaGVtZVNwYWNpbmcucHJlc2V0cy5zdGFuZGFyZF0sXG4gICAgcHVibGljIHJlYWRvbmx5IHN1cHBvcnRzQnJhbmRpbmcgPSBmYWxzZSxcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICogU2VyaWFsaXplcyB0aGUgdGhlbWUgdG8gYSBKU09OLWNvbXBhdGlibGUgb2JqZWN0LlxuICAgKi9cbiAgcHVibGljIHNlcmlhbGl6ZSgpOiBTa3lUaGVtZURhdGEge1xuICAgIC8vIENoZWNrIGlmIHRoaXMgaW5zdGFuY2UgaXMgYSBwcmVzZXRcbiAgICBjb25zdCBwcmVzZXRFbnRyeSA9IE9iamVjdC5lbnRyaWVzKFNreVRoZW1lLnByZXNldHMpLmZpbmQoXG4gICAgICAoWywgcHJlc2V0XSkgPT4gcHJlc2V0ID09PSB0aGlzLFxuICAgICk7XG5cbiAgICBpZiAocHJlc2V0RW50cnkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG5hbWU6IHRoaXMubmFtZSxcbiAgICAgICAgc3VwcG9ydGVkTW9kZXM6IHRoaXMuc3VwcG9ydGVkTW9kZXMubWFwKChtb2RlKSA9PiBtb2RlLnNlcmlhbGl6ZSgpKSxcbiAgICAgICAgaXNQcmVzZXQ6IHRydWUsXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNvbnN0IHJlc3VsdDogU2t5VGhlbWVEYXRhID0ge1xuICAgICAgbmFtZTogdGhpcy5uYW1lLFxuICAgICAgaG9zdENsYXNzOiB0aGlzLmhvc3RDbGFzcyxcbiAgICAgIHN1cHBvcnRlZE1vZGVzOiB0aGlzLnN1cHBvcnRlZE1vZGVzLm1hcCgobW9kZSkgPT4gbW9kZS5zZXJpYWxpemUoKSksXG4gICAgfTtcblxuICAgIC8vIE9ubHkgaW5jbHVkZSBzdXBwb3J0ZWRTcGFjaW5nIGlmIGl0J3Mgbm90IHRoZSBkZWZhdWx0XG4gICAgaWYgKFxuICAgICAgdGhpcy5zdXBwb3J0ZWRTcGFjaW5nLmxlbmd0aCAhPT0gMSB8fFxuICAgICAgdGhpcy5zdXBwb3J0ZWRTcGFjaW5nWzBdICE9PSBTa3lUaGVtZVNwYWNpbmcucHJlc2V0cy5zdGFuZGFyZFxuICAgICkge1xuICAgICAgcmVzdWx0LnN1cHBvcnRlZFNwYWNpbmcgPSB0aGlzLnN1cHBvcnRlZFNwYWNpbmcubWFwKChzcGFjaW5nKSA9PlxuICAgICAgICBzcGFjaW5nLnNlcmlhbGl6ZSgpLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBPbmx5IGluY2x1ZGUgc3VwcG9ydHNCcmFuZGluZyBpZiBpdCdzIHRydWVcbiAgICBpZiAodGhpcy5zdXBwb3J0c0JyYW5kaW5nKSB7XG4gICAgICByZXN1bHQuc3VwcG9ydHNCcmFuZGluZyA9IHRoaXMuc3VwcG9ydHNCcmFuZGluZztcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKiBEZXNlcmlhbGl6ZXMgYSBKU09OIG9iamVjdCB0byBhIFNreVRoZW1lIGluc3RhbmNlLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBkZXNlcmlhbGl6ZShkYXRhOiBTa3lUaGVtZURhdGEpOiBTa3lUaGVtZSB7XG4gICAgaWYgKGRhdGEuaXNQcmVzZXQpIHtcbiAgICAgIGNvbnN0IHByZXNldCA9XG4gICAgICAgIFNreVRoZW1lLnByZXNldHNbZGF0YS5uYW1lIGFzIGtleW9mIHR5cGVvZiBTa3lUaGVtZS5wcmVzZXRzXTtcblxuICAgICAgaWYgKHByZXNldCkge1xuICAgICAgICByZXR1cm4gcHJlc2V0O1xuICAgICAgfVxuXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gdGhlbWUgcHJlc2V0OiAke2RhdGEubmFtZX1gKTtcbiAgICB9XG5cbiAgICBpZiAoIWRhdGEuaG9zdENsYXNzKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2hvc3RDbGFzcyBpcyByZXF1aXJlZCBmb3Igbm9uLXByZXNldCB0aGVtZXMnKTtcbiAgICB9XG5cbiAgICBjb25zdCBzdXBwb3J0ZWRNb2RlcyA9IGRhdGEuc3VwcG9ydGVkTW9kZXMubWFwKChtb2RlRGF0YSkgPT5cbiAgICAgIFNreVRoZW1lTW9kZS5kZXNlcmlhbGl6ZShtb2RlRGF0YSksXG4gICAgKTtcblxuICAgIGNvbnN0IHN1cHBvcnRlZFNwYWNpbmcgPSBkYXRhLnN1cHBvcnRlZFNwYWNpbmdcbiAgICAgID8gZGF0YS5zdXBwb3J0ZWRTcGFjaW5nLm1hcCgoc3BhY2luZ0RhdGEpID0+XG4gICAgICAgICAgU2t5VGhlbWVTcGFjaW5nLmRlc2VyaWFsaXplKHNwYWNpbmdEYXRhKSxcbiAgICAgICAgKVxuICAgICAgOiBbU2t5VGhlbWVTcGFjaW5nLnByZXNldHMuc3RhbmRhcmRdO1xuXG4gICAgcmV0dXJuIG5ldyBTa3lUaGVtZShcbiAgICAgIGRhdGEubmFtZSxcbiAgICAgIGRhdGEuaG9zdENsYXNzLFxuICAgICAgc3VwcG9ydGVkTW9kZXMsXG4gICAgICBzdXBwb3J0ZWRTcGFjaW5nLFxuICAgICAgZGF0YS5zdXBwb3J0c0JyYW5kaW5nID8/IGZhbHNlLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==","/**\n * @internal\n * Defines properties of SKY UX theme branding.\n */\nexport class SkyThemeBrand {\n get hostClass() {\n return this.#hostClass || this.#buildDefaultHostClassName();\n }\n set hostClass(value) {\n this.#hostClass = value;\n }\n #hostClass;\n /**\n * Creates a new theme brand.\n * @param name The name of the theme brand.\n * @param version The version of the theme brand.\n * @param hostClass The class on the host element which child components should reference when\n * adjusting for a specified theme brand. This defaults to `sky-theme-brand-<name>`\n * @param styleUrl The URL of the stylesheet to load for this brand\n * @param sriHash The subresource integrity hash for the stylesheet\n */\n constructor(name, version, hostClass, styleUrl, sriHash) {\n this.name = name;\n this.version = version;\n this.styleUrl = styleUrl;\n this.sriHash = sriHash;\n this.hostClass = hostClass;\n if (!/^(\\d+|\\d+\\.\\d+\\.\\d+)(?:-(?:alpha|beta|rc)\\.\\d+)*$/.test(version)) {\n throw new Error(`Invalid version format \"${version}\" for theme brand \"${name}\".`);\n }\n }\n /**\n * @internal\n * Serializes the theme brand to a JSON-compatible object.\n */\n serialize() {\n const result = {\n name: this.name,\n version: this.version,\n };\n // Only include hostClass if it's different from the default\n const defaultHostClass = this.#buildDefaultHostClassName();\n if (this.hostClass !== defaultHostClass) {\n result.hostClass = this.hostClass;\n }\n // Include styleUrl and sriHash if they are provided\n if (this.styleUrl) {\n result.styleUrl = this.styleUrl;\n }\n if (this.sriHash) {\n result.sriHash = this.sriHash;\n }\n return result;\n }\n /**\n * @internal\n * Deserializes a JSON object to a SkyThemeBrand instance.\n */\n static deserialize(data) {\n return new SkyThemeBrand(data.name, data.version, data.hostClass, data.styleUrl, data.sriHash);\n }\n #buildDefaultHostClassName() {\n return `sky-theme-brand-${this.name}`;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtYnJhbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGhlbWUvc3JjL2xpYi90aGVtaW5nL3RoZW1lLWJyYW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOzs7R0FHRztBQUNILE1BQU0sT0FBTyxhQUFhO0lBQ3hCLElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7SUFDOUQsQ0FBQztJQUVELElBQVksU0FBUyxDQUFDLEtBQXlCO1FBQzdDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFFRCxVQUFVLENBQXFCO0lBQy9COzs7Ozs7OztPQVFHO0lBQ0gsWUFDa0IsSUFBWSxFQUNaLE9BQWUsRUFDL0IsU0FBa0IsRUFDRixRQUFpQixFQUNqQixPQUFnQjtRQUpoQixTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ1osWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUVmLGFBQVEsR0FBUixRQUFRLENBQVM7UUFDakIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUVoQyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUUzQixJQUFJLENBQUMsbURBQW1ELENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDdkUsTUFBTSxJQUFJLEtBQUssQ0FDYiwyQkFBMkIsT0FBTyxzQkFBc0IsSUFBSSxJQUFJLENBQ2pFLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFNBQVM7UUFDZCxNQUFNLE1BQU0sR0FBc0I7WUFDaEMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQ3RCLENBQUM7UUFFRiw0REFBNEQ7UUFDNUQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztRQUUzRCxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssZ0JBQWdCLEVBQUUsQ0FBQztZQUN4QyxNQUFNLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDcEMsQ0FBQztRQUVELG9EQUFvRDtRQUNwRCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixNQUFNLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDbEMsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLE1BQU0sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUNoQyxDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBdUI7UUFDL0MsT0FBTyxJQUFJLGFBQWEsQ0FDdEIsSUFBSSxDQUFDLElBQUksRUFDVCxJQUFJLENBQUMsT0FBTyxFQUNaLElBQUksQ0FBQyxTQUFTLEVBQ2QsSUFBSSxDQUFDLFFBQVEsRUFDYixJQUFJLENBQUMsT0FBTyxDQUNiLENBQUM7SUFDSixDQUFDO0lBRUQsMEJBQTBCO1FBQ3hCLE9BQU8sbUJBQW1CLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lUaGVtZUJyYW5kRGF0YSB9IGZyb20gJy4vdGhlbWUtc2VyaWFsaXphdGlvbi10eXBlcyc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKiBEZWZpbmVzIHByb3BlcnRpZXMgb2YgU0tZIFVYIHRoZW1lIGJyYW5kaW5nLlxuICovXG5leHBvcnQgY2xhc3MgU2t5VGhlbWVCcmFuZCB7XG4gIHB1YmxpYyBnZXQgaG9zdENsYXNzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuI2hvc3RDbGFzcyB8fCB0aGlzLiNidWlsZERlZmF1bHRIb3N0Q2xhc3NOYW1lKCk7XG4gIH1cblxuICBwcml2YXRlIHNldCBob3N0Q2xhc3ModmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI2hvc3RDbGFzcyA9IHZhbHVlO1xuICB9XG5cbiAgI2hvc3RDbGFzczogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyB0aGVtZSBicmFuZC5cbiAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIHRoZW1lIGJyYW5kLlxuICAgKiBAcGFyYW0gdmVyc2lvbiBUaGUgdmVyc2lvbiBvZiB0aGUgdGhlbWUgYnJhbmQuXG4gICAqIEBwYXJhbSBob3N0Q2xhc3MgVGhlIGNsYXNzIG9uIHRoZSBob3N0IGVsZW1lbnQgd2hpY2ggY2hpbGQgY29tcG9uZW50cyBzaG91bGQgcmVmZXJlbmNlIHdoZW5cbiAgICogYWRqdXN0aW5nIGZvciBhIHNwZWNpZmllZCB0aGVtZSBicmFuZC4gVGhpcyBkZWZhdWx0cyB0byBgc2t5LXRoZW1lLWJyYW5kLTxuYW1lPmBcbiAgICogQHBhcmFtIHN0eWxlVXJsIFRoZSBVUkwgb2YgdGhlIHN0eWxlc2hlZXQgdG8gbG9hZCBmb3IgdGhpcyBicmFuZFxuICAgKiBAcGFyYW0gc3JpSGFzaCBUaGUgc3VicmVzb3VyY2UgaW50ZWdyaXR5IGhhc2ggZm9yIHRoZSBzdHlsZXNoZWV0XG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgbmFtZTogc3RyaW5nLFxuICAgIHB1YmxpYyByZWFkb25seSB2ZXJzaW9uOiBzdHJpbmcsXG4gICAgaG9zdENsYXNzPzogc3RyaW5nLFxuICAgIHB1YmxpYyByZWFkb25seSBzdHlsZVVybD86IHN0cmluZyxcbiAgICBwdWJsaWMgcmVhZG9ubHkgc3JpSGFzaD86IHN0cmluZyxcbiAgKSB7XG4gICAgdGhpcy5ob3N0Q2xhc3MgPSBob3N0Q2xhc3M7XG5cbiAgICBpZiAoIS9eKFxcZCt8XFxkK1xcLlxcZCtcXC5cXGQrKSg/Oi0oPzphbHBoYXxiZXRhfHJjKVxcLlxcZCspKiQvLnRlc3QodmVyc2lvbikpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYEludmFsaWQgdmVyc2lvbiBmb3JtYXQgXCIke3ZlcnNpb259XCIgZm9yIHRoZW1lIGJyYW5kIFwiJHtuYW1lfVwiLmAsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICogU2VyaWFsaXplcyB0aGUgdGhlbWUgYnJhbmQgdG8gYSBKU09OLWNvbXBhdGlibGUgb2JqZWN0LlxuICAgKi9cbiAgcHVibGljIHNlcmlhbGl6ZSgpOiBTa3lUaGVtZUJyYW5kRGF0YSB7XG4gICAgY29uc3QgcmVzdWx0OiBTa3lUaGVtZUJyYW5kRGF0YSA9IHtcbiAgICAgIG5hbWU6IHRoaXMubmFtZSxcbiAgICAgIHZlcnNpb246IHRoaXMudmVyc2lvbixcbiAgICB9O1xuXG4gICAgLy8gT25seSBpbmNsdWRlIGhvc3RDbGFzcyBpZiBpdCdzIGRpZmZlcmVudCBmcm9tIHRoZSBkZWZhdWx0XG4gICAgY29uc3QgZGVmYXVsdEhvc3RDbGFzcyA9IHRoaXMuI2J1aWxkRGVmYXVsdEhvc3RDbGFzc05hbWUoKTtcblxuICAgIGlmICh0aGlzLmhvc3RDbGFzcyAhPT0gZGVmYXVsdEhvc3RDbGFzcykge1xuICAgICAgcmVzdWx0Lmhvc3RDbGFzcyA9IHRoaXMuaG9zdENsYXNzO1xuICAgIH1cblxuICAgIC8vIEluY2x1ZGUgc3R5bGVVcmwgYW5kIHNyaUhhc2ggaWYgdGhleSBhcmUgcHJvdmlkZWRcbiAgICBpZiAodGhpcy5zdHlsZVVybCkge1xuICAgICAgcmVzdWx0LnN0eWxlVXJsID0gdGhpcy5zdHlsZVVybDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zcmlIYXNoKSB7XG4gICAgICByZXN1bHQuc3JpSGFzaCA9IHRoaXMuc3JpSGFzaDtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKiBEZXNlcmlhbGl6ZXMgYSBKU09OIG9iamVjdCB0byBhIFNreVRoZW1lQnJhbmQgaW5zdGFuY2UuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGRlc2VyaWFsaXplKGRhdGE6IFNreVRoZW1lQnJhbmREYXRhKTogU2t5VGhlbWVCcmFuZCB7XG4gICAgcmV0dXJuIG5ldyBTa3lUaGVtZUJyYW5kKFxuICAgICAgZGF0YS5uYW1lLFxuICAgICAgZGF0YS52ZXJzaW9uLFxuICAgICAgZGF0YS5ob3N0Q2xhc3MsXG4gICAgICBkYXRhLnN0eWxlVXJsLFxuICAgICAgZGF0YS5zcmlIYXNoLFxuICAgICk7XG4gIH1cblxuICAjYnVpbGREZWZhdWx0SG9zdENsYXNzTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgc2t5LXRoZW1lLWJyYW5kLSR7dGhpcy5uYW1lfWA7XG4gIH1cbn1cbiJdfQ==","import { SkyTheme } from './theme';\nimport { SkyThemeBrand } from './theme-brand';\nimport { SkyThemeMode } from './theme-mode';\nimport { SkyThemeSpacing } from './theme-spacing';\n/**\n * Specifies the theme and mode to be applied to a host element.\n */\nexport class SkyThemeSettings {\n /**\n * Creates a new SkyThemeSettings instance.\n * @param theme The theme configuration.\n * @param mode The theme mode.\n */\n constructor(theme, mode, spacing = SkyThemeSpacing.presets.standard, brand) {\n this.theme = theme;\n this.mode = mode;\n this.spacing = spacing;\n this.brand = brand;\n }\n /**\n * Serializes the theme settings to a string.\n */\n serialize() {\n const result = {\n theme: this.theme.serialize(),\n mode: this.mode.serialize(),\n };\n // Only include spacing if it's not the default\n if (this.spacing !== SkyThemeSpacing.presets.standard) {\n result.spacing = this.spacing.serialize();\n }\n // Only include brand if it exists\n if (this.brand) {\n result.brand = this.brand.serialize();\n }\n return JSON.stringify(result);\n }\n /**\n * Deserializes a string to a SkyThemeSettings instance.\n */\n static deserialize(value) {\n const settingsData = JSON.parse(value);\n const theme = SkyTheme.deserialize(settingsData.theme);\n const mode = SkyThemeMode.deserialize(settingsData.mode);\n const spacing = settingsData.spacing\n ? SkyThemeSpacing.deserialize(settingsData.spacing)\n : SkyThemeSpacing.presets.standard;\n const brand = settingsData.brand\n ? SkyThemeBrand.deserialize(settingsData.brand)\n : undefined;\n return new SkyThemeSettings(theme, mode, spacing, brand);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtc2V0dGluZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGhlbWUvc3JjL2xpYi90aGVtaW5nL3RoZW1lLXNldHRpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDbkMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVsRDs7R0FFRztBQUNILE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0I7Ozs7T0FJRztJQUNILFlBQ2tCLEtBQWUsRUFDZixJQUFrQixFQUNsQixVQUFVLGVBQWUsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUMxQyxLQUFxQjtRQUhyQixVQUFLLEdBQUwsS0FBSyxDQUFVO1FBQ2YsU0FBSSxHQUFKLElBQUksQ0FBYztRQUNsQixZQUFPLEdBQVAsT0FBTyxDQUFtQztRQUMxQyxVQUFLLEdBQUwsS0FBSyxDQUFnQjtJQUNwQyxDQUFDO0lBRUo7O09BRUc7SUFDSSxTQUFTO1FBQ2QsTUFBTSxNQUFNLEdBQXlCO1lBQ25DLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRTtZQUM3QixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7U0FDNUIsQ0FBQztRQUVGLCtDQUErQztRQUMvQyxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssZUFBZSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN0RCxNQUFNLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDNUMsQ0FBQztRQUVELGtDQUFrQztRQUNsQyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNmLE1BQU0sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUN4QyxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxXQUFXLENBQUMsS0FBYTtRQUNyQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBeUIsQ0FBQztRQUUvRCxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2RCxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6RCxNQUFNLE9BQU8sR0FBRyxZQUFZLENBQUMsT0FBTztZQUNsQyxDQUFDLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDO1lBQ25ELENBQUMsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUNyQyxNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsS0FBSztZQUM5QixDQUFDLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDO1lBQy9DLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFFZCxPQUFPLElBQUksZ0JBQWdCLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDM0QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5VGhlbWUgfSBmcm9tICcuL3RoZW1lJztcbmltcG9ydCB7IFNreVRoZW1lQnJhbmQgfSBmcm9tICcuL3RoZW1lLWJyYW5kJztcbmltcG9ydCB7IFNreVRoZW1lTW9kZSB9IGZyb20gJy4vdGhlbWUtbW9kZSc7XG5pbXBvcnQgeyBTa3lUaGVtZVNldHRpbmdzRGF0YSB9IGZyb20gJy4vdGhlbWUtc2VyaWFsaXphdGlvbi10eXBlcyc7XG5pbXBvcnQgeyBTa3lUaGVtZVNwYWNpbmcgfSBmcm9tICcuL3RoZW1lLXNwYWNpbmcnO1xuXG4vKipcbiAqIFNwZWNpZmllcyB0aGUgdGhlbWUgYW5kIG1vZGUgdG8gYmUgYXBwbGllZCB0byBhIGhvc3QgZWxlbWVudC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreVRoZW1lU2V0dGluZ3Mge1xuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBTa3lUaGVtZVNldHRpbmdzIGluc3RhbmNlLlxuICAgKiBAcGFyYW0gdGhlbWUgVGhlIHRoZW1lIGNvbmZpZ3VyYXRpb24uXG4gICAqIEBwYXJhbSBtb2RlIFRoZSB0aGVtZSBtb2RlLlxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IHRoZW1lOiBTa3lUaGVtZSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgbW9kZTogU2t5VGhlbWVNb2RlLFxuICAgIHB1YmxpYyByZWFkb25seSBzcGFjaW5nID0gU2t5VGhlbWVTcGFjaW5nLnByZXNldHMuc3RhbmRhcmQsXG4gICAgcHVibGljIHJlYWRvbmx5IGJyYW5kPzogU2t5VGhlbWVCcmFuZCxcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBTZXJpYWxpemVzIHRoZSB0aGVtZSBzZXR0aW5ncyB0byBhIHN0cmluZy5cbiAgICovXG4gIHB1YmxpYyBzZXJpYWxpemUoKTogc3RyaW5nIHtcbiAgICBjb25zdCByZXN1bHQ6IFNreVRoZW1lU2V0dGluZ3NEYXRhID0ge1xuICAgICAgdGhlbWU6IHRoaXMudGhlbWUuc2VyaWFsaXplKCksXG4gICAgICBtb2RlOiB0aGlzLm1vZGUuc2VyaWFsaXplKCksXG4gICAgfTtcblxuICAgIC8vIE9ubHkgaW5jbHVkZSBzcGFjaW5nIGlmIGl0J3Mgbm90IHRoZSBkZWZhdWx0XG4gICAgaWYgKHRoaXMuc3BhY2luZyAhPT0gU2t5VGhlbWVTcGFjaW5nLnByZXNldHMuc3RhbmRhcmQpIHtcbiAgICAgIHJlc3VsdC5zcGFjaW5nID0gdGhpcy5zcGFjaW5nLnNlcmlhbGl6ZSgpO1xuICAgIH1cblxuICAgIC8vIE9ubHkgaW5jbHVkZSBicmFuZCBpZiBpdCBleGlzdHNcbiAgICBpZiAodGhpcy5icmFuZCkge1xuICAgICAgcmVzdWx0LmJyYW5kID0gdGhpcy5icmFuZC5zZXJpYWxpemUoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkocmVzdWx0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXNlcmlhbGl6ZXMgYSBzdHJpbmcgdG8gYSBTa3lUaGVtZVNldHRpbmdzIGluc3RhbmNlLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBkZXNlcmlhbGl6ZSh2YWx1ZTogc3RyaW5nKTogU2t5VGhlbWVTZXR0aW5ncyB7XG4gICAgY29uc3Qgc2V0dGluZ3NEYXRhID0gSlNPTi5wYXJzZSh2YWx1ZSkgYXMgU2t5VGhlbWVTZXR0aW5nc0RhdGE7XG5cbiAgICBjb25zdCB0aGVtZSA9IFNreVRoZW1lLmRlc2VyaWFsaXplKHNldHRpbmdzRGF0YS50aGVtZSk7XG4gICAgY29uc3QgbW9kZSA9IFNreVRoZW1lTW9kZS5kZXNlcmlhbGl6ZShzZXR0aW5nc0RhdGEubW9kZSk7XG4gICAgY29uc3Qgc3BhY2luZyA9IHNldHRpbmdzRGF0YS5zcGFjaW5nXG4gICAgICA/IFNreVRoZW1lU3BhY2luZy5kZXNlcmlhbGl6ZShzZXR0aW5nc0RhdGEuc3BhY2luZylcbiAgICAgIDogU2t5VGhlbWVTcGFjaW5nLnByZXNldHMuc3RhbmRhcmQ7XG4gICAgY29uc3QgYnJhbmQgPSBzZXR0aW5nc0RhdGEuYnJhbmRcbiAgICAgID8gU2t5VGhlbWVCcmFuZC5kZXNlcmlhbGl6ZShzZXR0aW5nc0RhdGEuYnJhbmQpXG4gICAgICA6IHVuZGVmaW5lZDtcblxuICAgIHJldHVybiBuZXcgU2t5VGhlbWVTZXR0aW5ncyh0aGVtZSwgbW9kZSwgc3BhY2luZywgYnJhbmQpO1xuICB9XG59XG4iXX0=","import { Injectable } from '@angular/core';\nimport { ReplaySubject } from 'rxjs';\nimport { SkyThemeMode } from './theme-mode';\nimport { SkyThemeSettings } from './theme-settings';\nimport { SkyThemeSpacing } from './theme-spacing';\nimport * as i0 from \"@angular/core\";\nconst BRAND_BLACKBAUD = 'blackbaud';\nfunction assertCurrentSettings(currentSettings) {\n if (!currentSettings) {\n throw new Error('Theme service is not initialized. Call init() first.');\n }\n}\n/**\n * Provides methods for updating and handling changes to the current theme.\n */\nexport class SkyThemeService {\n /**\n * Notifies consumers when the current theme settings have changed.\n */\n get settingsChange() {\n return this.#_settingsObs;\n }\n #current;\n #brandLinkElement;\n #hostEl;\n #renderer;\n #settings;\n #registeredBrands = new Map();\n #_settingsObs;\n constructor() {\n this.#settings = new ReplaySubject(1);\n this.#_settingsObs = this.#settings.asObservable();\n }\n /**\n * Initializes the theme service with the specified parameters. This should only be called\n * from a host component that provides its own theme to child components.\n * @param hostEl The host element under which themed components are rendered.\n * @param renderer A Renderer2 instance for updating the host element with theme changes.\n * @param theme The initial theme.\n * @param registeredBrands An initial set of brands to register. Additional brands can\n * be registered later via the registerBrand() method.\n */\n init(hostEl, renderer, theme, registeredBrands) {\n this.#hostEl = hostEl;\n this.#renderer = renderer;\n if (registeredBrands) {\n for (const brand of registeredBrands) {\n this.#registeredBrands.set(brand.name, brand);\n }\n }\n this.setTheme(theme);\n }\n /**\n * Destroys the current theme service. This should only be called from a host component that\n * provides its own theme to child components.\n */\n destroy() {\n this.#settings.complete();\n this.#hostEl = this.#renderer = undefined;\n }\n /**\n * Updates the current theme mode.\n * @param mode The new theme mode to apply.\n */\n setThemeMode(mode) {\n this.#updateThemeProperty('mode', mode);\n }\n /**\n * Updates the current theme spacing.\n * @param spacing The new theme spacing to apply.\n */\n setThemeSpacing(spacing) {\n this.#updateThemeProperty('spacing', spacing);\n }\n /**\n * Updates the current theme brand.\n * @param brand The new theme brand to apply.\n */\n setThemeBrand(brand) {\n this.#updateThemeProperty('brand', brand);\n }\n setTheme(settingsOrTheme) {\n let settings;\n if (settingsOrTheme instanceof SkyThemeSettings) {\n settings = this.#applyRegisteredBrand(settingsOrTheme);\n }\n else {\n const current = this.#current;\n assertCurrentSettings(current);\n settings = new SkyThemeSettings(settingsOrTheme, current.mode, current.spacing, settingsOrTheme.supportsBranding ? current.brand : undefined);\n }\n const previous = this.#current;\n this.#applyThemeClass(previous, settings, 'theme');\n this.#applyThemeClass(previous, settings, 'mode', 'supportedModes');\n this.#applyThemeClass(previous, settings, 'spacing', 'supportedSpacing');\n this.#applyThemeClass(previous, settings, 'brand');\n this.#settings.next({\n currentSettings: settings,\n previousSettings: previous,\n });\n this.#current = settings;\n }\n registerBrand(brand) {\n this.#registeredBrands.set(brand.name, brand);\n }\n unregisterBrand(name) {\n this.#registeredBrands.delete(name);\n }\n #applyRegisteredBrand(settings) {\n const brandName = settings.brand?.name;\n if (brandName) {\n const registeredBrand = this.#registeredBrands.get(brandName);\n if (registeredBrand) {\n settings = new SkyThemeSettings(settings.theme, settings.mode, settings.spacing, registeredBrand);\n }\n }\n return settings;\n }\n #updateThemeProperty(property, value) {\n const current = this.#current;\n assertCurrentSettings(current);\n const currentTheme = current.theme;\n let supportedValues = undefined;\n switch (property) {\n case 'mode':\n supportedValues = currentTheme.supportedModes;\n break;\n case 'spacing':\n supportedValues = currentTheme.supportedSpacing;\n break;\n default:\n }\n if (supportedValues && !supportedValues.includes(value)) {\n throw new Error(`The current theme does not support the specified ${property}.`);\n }\n const updatedSettings = {\n theme: current.theme,\n mode: current.mode,\n spacing: current.spacing,\n brand: current.brand,\n [property]: value,\n };\n this.setTheme(new SkyThemeSettings(updatedSettings.theme, updatedSettings.mode, updatedSettings.spacing, updatedSettings.brand));\n }\n #applyThemeClass(previous, current, prop, supportedProp) {\n const currentSetting = current[prop];\n const previousClass = previous?.[prop]?.hostClass;\n const currentClass = currentSetting?.hostClass;\n if (!previousClass || previousClass !== currentClass) {\n this.#updateHostClass(prop, previousClass, currentClass, currentSetting, current, supportedProp);\n if (prop === 'brand') {\n if (!current.theme.supportsBranding && currentSetting) {\n throw new Error('Branding is not supported for the given theme.');\n }\n this.#updateBrandStylesheet(current.brand, previous?.brand);\n }\n }\n }\n #updateBrandStylesheet(currentBrand, previousBrand) {\n if (previousBrand && previousBrand.name !== BRAND_BLACKBAUD) {\n this.#removeBrandStylesheet();\n }\n if (currentBrand && currentBrand.name !== BRAND_BLACKBAUD) {\n this.#addBrandStylesheet(currentBrand);\n }\n }\n #updateHostClass(prop, previousClass, currentClass, currentSetting, current, supportedProp) {\n if (previousClass) {\n this.#removeHostClass(previousClass);\n }\n if (prop === 'brand') {\n if (currentClass && !previousClass) {\n this.#addHostClass('sky-theme-brand-base');\n }\n else if (!currentClass && previousClass) {\n this.#removeHostClass('sky-theme-brand-base');\n }\n }\n if (currentClass &&\n this.#isSupportedProperty(currentSetting, current, supportedProp)) {\n this.#addHostClass(currentClass);\n }\n }\n #addBrandStylesheet(brand) {\n if (brand.name !== BRAND_BLACKBAUD) {\n // Use styleUrl if provided, otherwise build the default URL\n const styleUrl = brand.styleUrl ||\n `https://sky.blackbaudcdn.net/static/skyux-brand-${brand.name}/${brand.version}/assets/scss/${brand.name}.css`;\n const renderer = this.#getRenderer();\n this.#brandLinkElement = renderer.createElement('link');\n renderer.appendChild(this.#hostEl, this.#brandLinkElement);\n renderer.setAttribute(this.#brandLinkElement, 'rel', 'stylesheet');\n renderer.setAttribute(this.#brandLinkElement, 'href', styleUrl);\n if (brand.sriHash) {\n renderer.setAttribute(this.#brandLinkElement, 'integrity', brand.sriHash);\n renderer.setAttribute(this.#brandLinkElement, 'crossorigin', 'anonymous');\n }\n }\n }\n #removeBrandStylesheet() {\n if (this.#brandLinkElement) {\n this.#getRenderer().removeChild(this.#hostEl, this.#brandLinkElement);\n this.#brandLinkElement = undefined;\n }\n }\n #addHostClass(className) {\n this.#getRenderer().addClass(this.#hostEl, className);\n }\n #removeHostClass(className) {\n this.#getRenderer().removeClass(this.#hostEl, className);\n }\n #getRenderer() {\n if (!this.#renderer) {\n throw new Error('Renderer is not initialized. Have you called the theme service `init` method?');\n }\n return this.#renderer;\n }\n #isSupportedProperty(currentSetting, current, supportedProp) {\n return (!supportedProp ||\n ((currentSetting instanceof SkyThemeMode ||\n currentSetting instanceof SkyThemeSpacing) &&\n current.theme[supportedProp].includes(currentSetting)));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SkyThemeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SkyThemeService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SkyThemeService, decorators: [{\n type: Injectable\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90aGVtZS9zcmMvbGliL3RoZW1pbmcvdGhlbWUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRXRELE9BQU8sRUFBYyxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM1QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBRWxELE1BQU0sZUFBZSxHQUFHLFdBQVcsQ0FBQztBQUVwQyxTQUFTLHFCQUFxQixDQUM1QixlQUE2QztJQUU3QyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDckIsTUFBTSxJQUFJLEtBQUssQ0FBQyxzREFBc0QsQ0FBQyxDQUFDO0lBQzFFLENBQUM7QUFDSCxDQUFDO0FBRUQ7O0dBRUc7QUFFSCxNQUFNLE9BQU8sZUFBZTtJQUMxQjs7T0FFRztJQUNILElBQVcsY0FBYztRQUN2QixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUVELFFBQVEsQ0FBK0I7SUFFdkMsaUJBQWlCLENBQThCO0lBRS9DLE9BQU8sQ0FBa0I7SUFFekIsU0FBUyxDQUF3QjtJQUVqQyxTQUFTLENBQXdDO0lBRWpELGlCQUFpQixHQUFHLElBQUksR0FBRyxFQUF5QixDQUFDO0lBRXJELGFBQWEsQ0FBcUM7SUFFbEQ7UUFDRSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksYUFBYSxDQUF5QixDQUFDLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUM7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N0IsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxTQUFpQjtRQUNoQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQ2IsK0VBQStFLENBQ2hGLENBQUM7UUFDSixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxvQkFBb0IsQ0FDbEIsY0FLYSxFQUNiLE9BQXlCLEVBQ3pCLGFBQXFEO1FBRXJELE9BQU8sQ0FDTCxDQUFDLGFBQWE7WUFDZCxDQUFDLENBQUMsY0FBYyxZQUFZLFlBQVk7Z0JBQ3RDLGNBQWMsWUFBWSxlQUFlLENBQUM7Z0JBQzFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQ3pELENBQUM7SUFDSixDQUFDOzhHQXJXVSxlQUFlO2tIQUFmLGVBQWU7OzJGQUFmLGVBQWU7a0JBRDNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTa3lUaGVtZSB9IGZyb20gJy4vdGhlbWUnO1xuaW1wb3J0IHsgU2t5VGhlbWVCcmFuZCB9IGZyb20gJy4vdGhlbWUtYnJhbmQnO1xuaW1wb3J0IHsgU2t5VGhlbWVNb2RlIH0gZnJvbSAnLi90aGVtZS1tb2RlJztcbmltcG9ydCB7IFNreVRoZW1lU2V0dGluZ3MgfSBmcm9tICcuL3RoZW1lLXNldHRpbmdzJztcbmltcG9ydCB7IFNreVRoZW1lU2V0dGluZ3NDaGFuZ2UgfSBmcm9tICcuL3RoZW1lLXNldHRpbmdzLWNoYW5nZSc7XG5pbXBvcnQgeyBTa3lUaGVtZVNwYWNpbmcgfSBmcm9tICcuL3RoZW1lLXNwYWNpbmcnO1xuXG5jb25zdCBCUkFORF9CTEFDS0JBVUQgPSAnYmxhY2tiYXVkJztcblxuZnVuY3Rpb24gYXNzZXJ0Q3VycmVudFNldHRpbmdzKFxuICBjdXJyZW50U2V0dGluZ3M6IFNreVRoZW1lU2V0dGluZ3MgfCB1bmRlZmluZWQsXG4pOiBhc3NlcnRzIGN1cnJlbnRTZXR0aW5ncyBpcyBTa3lUaGVtZVNldHRpbmdzIHtcbiAgaWYgKCFjdXJyZW50U2V0dGluZ3MpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZW1lIHNlcnZpY2UgaXMgbm90IGluaXRpYWxpemVkLiBDYWxsIGluaXQoKSBmaXJzdC4nKTtcbiAgfVxufVxuXG4vKipcbiAqIFByb3ZpZGVzIG1ldGhvZHMgZm9yIHVwZGF0aW5nIGFuZCBoYW5kbGluZyBjaGFuZ2VzIHRvIHRoZSBjdXJyZW50IHRoZW1lLlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5VGhlbWVTZXJ2aWNlIHtcbiAgLyoqXG4gICAqIE5vdGlmaWVzIGNvbnN1bWVycyB3aGVuIHRoZSBjdXJyZW50IHRoZW1lIHNldHRpbmdzIGhhdmUgY2hhbmdlZC5cbiAgICovXG4gIHB1YmxpYyBnZXQgc2V0dGluZ3NDaGFuZ2UoKTogT2JzZXJ2YWJsZTxTa3lUaGVtZVNldHRpbmdzQ2hhbmdlPiB7XG4gICAgcmV0dXJuIHRoaXMuI19zZXR0aW5nc09icztcbiAgfVxuXG4gICNjdXJyZW50OiBTa3lUaGVtZVNldHRpbmdzIHwgdW5kZWZpbmVkO1xuXG4gICNicmFuZExpbmtFbGVtZW50OiBIVE1MTGlua0VsZW1lbnQgfCB1bmRlZmluZWQ7XG5cbiAgI2hvc3RFbDogYW55IHwgdW5kZWZpbmVkO1xuXG4gICNyZW5kZXJlcjogUmVuZGVyZXIyIHwgdW5kZWZpbmVkO1xuXG4gICNzZXR0aW5nczogUmVwbGF5U3ViamVjdDxTa3lUaGVtZVNldHRpbmdzQ2hhbmdlPjtcblxuICAjcmVnaXN0ZXJlZEJyYW5kcyA9IG5ldyBNYXA8c3RyaW5nLCBTa3lUaGVtZUJyYW5kPigpO1xuXG4gICNfc2V0dGluZ3NPYnM6IE9ic2VydmFibGU8U2t5VGhlbWVTZXR0aW5nc0NoYW5nZT47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy4jc2V0dGluZ3MgPSBuZXcgUmVwbGF5U3ViamVjdDxTa3lUaGVtZVNldHRpbmdzQ2hhbmdlPigxKTtcbiAgICB0aGlzLiNfc2V0dGluZ3NPYnMgPSB0aGlzLiNzZXR0aW5ncy5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplcyB0aGUgdGhlbWUgc2VydmljZSB3aXRoIHRoZSBzcGVjaWZpZWQgcGFyYW1ldGVycy4gVGhpcyBzaG91bGQgb25seSBiZSBjYWxsZWRcbiAgICogZnJvbSBhIGhvc3QgY29tcG9uZW50IHRoYXQgcHJvdmlkZXMgaXRzIG93biB0aGVtZSB0byBjaGlsZCBjb21wb25lbnRzLlxuICAgKiBAcGFyYW0gaG9zdEVsIFRoZSBob3N0IGVsZW1lbnQgdW5kZXIgd2hpY2ggdGhlbWVkIGNvbXBvbmVudHMgYXJlIHJlbmRlcmVkLlxuICAgKiBAcGFyYW0gcmVuZGVyZXIgQSBSZW5kZXJlcjIgaW5zdGFuY2UgZm9yIHVwZGF0aW5nIHRoZSBob3N0IGVsZW1lbnQgd2l0aCB0aGVtZSBjaGFuZ2VzLlxuICAgKiBAcGFyYW0gdGhlbWUgVGhlIGluaXRpYWwgdGhlbWUuXG4gICAqIEBwYXJhbSByZWdpc3RlcmVkQnJhbmRzIEFuIGluaXRpYWwgc2V0IG9mIGJyYW5kcyB0byByZWdpc3Rlci4gQWRkaXRpb25hbCBicmFuZHMgY2FuXG4gICAqIGJlIHJlZ2lzdGVyZWQgbGF0ZXIgdmlhIHRoZSByZWdpc3RlckJyYW5kKCkgbWV0aG9kLlxuICAgKi9cbiAgcHVibGljIGluaXQoXG4gICAgaG9zdEVsOiBhbnksXG4gICAgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICB0aGVtZTogU2t5VGhlbWVTZXR0aW5ncyxcbiAgICByZWdpc3RlcmVkQnJhbmRzPzogU2t5VGhlbWVCcmFuZFtdLFxuICApOiB2b2lkIHtcbiAgICB0aGlzLiNob3N0RWwgPSBob3N0RWw7XG4gICAgdGhpcy4jcmVuZGVyZXIgPSByZW5kZXJlcjtcblxuICAgIGlmIChyZWdpc3RlcmVkQnJhbmRzKSB7XG4gICAgICBmb3IgKGNvbnN0IGJyYW5kIG9mIHJlZ2lzdGVyZWRCcmFuZHMpIHtcbiAgICAgICAgdGhpcy4jcmVnaXN0ZXJlZEJyYW5kcy5zZXQoYnJhbmQubmFtZSwgYnJhbmQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuc2V0VGhlbWUodGhlbWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlc3Ryb3lzIHRoZSBjdXJyZW50IHRoZW1lIHNlcnZpY2UuIFRoaXMgc2hvdWxkIG9ubHkgYmUgY2FsbGVkIGZyb20gYSBob3N0IGNvbXBvbmVudCB0aGF0XG4gICAqIHByb3ZpZGVzIGl0cyBvd24gdGhlbWUgdG8gY2hpbGQgY29tcG9uZW50cy5cbiAgICovXG4gIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI3NldHRpbmdzLmNvbXBsZXRlKCk7XG5cbiAgICB0aGlzLiNob3N0RWwgPSB0aGlzLiNyZW5kZXJlciA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGVzIHRoZSBjdXJyZW50IHRoZW1lIG1vZGUuXG4gICAqIEBwYXJhbSBtb2RlIFRoZSBuZXcgdGhlbWUgbW9kZSB0byBhcHBseS5cbiAgICovXG4gIHB1YmxpYyBzZXRUaGVtZU1vZGUobW9kZTogU2t5VGhlbWVNb2RlKTogdm9pZCB7XG4gICAgdGhpcy4jdXBkYXRlVGhlbWVQcm9wZXJ0eSgnbW9kZScsIG1vZGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGhlIGN1cnJlbnQgdGhlbWUgc3BhY2luZy5cbiAgICogQHBhcmFtIHNwYWNpbmcgVGhlIG5ldyB0aGVtZSBzcGFjaW5nIHRvIGFwcGx5LlxuICAgKi9cbiAgcHVibGljIHNldFRoZW1lU3BhY2luZyhzcGFjaW5nOiBTa3lUaGVtZVNwYWNpbmcpOiB2b2lkIHtcbiAgICB0aGlzLiN1cGRhdGVUaGVtZVByb3BlcnR5KCdzcGFjaW5nJywgc3BhY2luZyk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUgY3VycmVudCB0aGVtZSBicmFuZC5cbiAgICogQHBhcmFtIGJyYW5kIFRoZSBuZXcgdGhlbWUgYnJhbmQgdG8gYXBwbHkuXG4gICAqL1xuICBwdWJsaWMgc2V0VGhlbWVCcmFuZChicmFuZDogU2t5VGhlbWVCcmFuZCk6IHZvaWQge1xuICAgIHRoaXMuI3VwZGF0ZVRoZW1lUHJvcGVydHkoJ2JyYW5kJywgYnJhbmQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGhlIGN1cnJlbnQgdGhlbWUgc2V0dGluZ3MuXG4gICAqIEBwYXJhbSBzZXR0aW5ncyBUaGUgbmV3IHRoZW1lIHNldHRpbmdzIHRvIGFwcGx5LlxuICAgKi9cbiAgcHVibGljIHNldFRoZW1lKHNldHRpbmdzOiBTa3lUaGVtZVNldHRpbmdzKTogdm9pZDtcblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUgY3VycmVudCB0aGVtZS5cbiAgICogQHBhcmFtIHRoZW1lIFRoZSBuZXcgdGhlbWUgdG8gYXBwbHkuXG4gICAqL1xuICBwdWJsaWMgc2V0VGhlbWUodGhlbWU6IFNreVRoZW1lKTogdm9pZDtcblxuICBwdWJsaWMgc2V0VGhlbWUoc2V0dGluZ3NPclRoZW1lOiBTa3lUaGVtZVNldHRpbmdzIHwgU2t5VGhlbWUpOiB2b2lkIHtcbiAgICBsZXQgc2V0dGluZ3M6IFNreVRoZW1lU2V0dGluZ3M7XG5cbiAgICBpZiAoc2V0dGluZ3NPclRoZW1lIGluc3RhbmNlb2YgU2t5VGhlbWVTZXR0aW5ncykge1xuICAgICAgc2V0dGluZ3MgPSB0aGlzLiNhcHBseVJlZ2lzdGVyZWRCcmFuZChzZXR0aW5nc09yVGhlbWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBjdXJyZW50ID0gdGhpcy4jY3VycmVudDtcblxuICAgICAgYXNzZXJ0Q3VycmVudFNldHRpbmdzKGN1cnJlbnQpO1xuXG4gICAgICBzZXR0aW5ncyA9IG5ldyBTa3lUaGVtZVNldHRpbmdzKFxuICAgICAgICBzZXR0aW5nc09yVGhlbWUsXG4gICAgICAgIGN1cnJlbnQubW9kZSxcbiAgICAgICAgY3VycmVudC5zcGFjaW5nLFxuICAgICAgICBzZXR0aW5nc09yVGhlbWUuc3VwcG9ydHNCcmFuZGluZyA/IGN1cnJlbnQuYnJhbmQgOiB1bmRlZmluZWQsXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IHByZXZpb3VzID0gdGhpcy4jY3VycmVudDtcblxuICAgIHRoaXMuI2FwcGx5VGhlbWVDbGFzcyhwcmV2aW91cywgc2V0dGluZ3MsICd0aGVtZScpO1xuICAgIHRoaXMuI2FwcGx5VGhlbWVDbGFzcyhwcmV2aW91cywgc2V0dGluZ3MsICdtb2RlJywgJ3N1cHBvcnRlZE1vZGVzJyk7XG4gICAgdGhpcy4jYXBwbHlUaGVtZUNsYXNzKHByZXZpb3VzLCBzZXR0aW5ncywgJ3NwYWNpbmcnLCAnc3VwcG9ydGVkU3BhY2luZycpO1xuICAgIHRoaXMuI2FwcGx5VGhlbWVDbGFzcyhwcmV2aW91cywgc2V0dGluZ3MsICdicmFuZCcpO1xuXG4gICAgdGhpcy4jc2V0dGluZ3MubmV4dCh7XG4gICAgICBjdXJyZW50U2V0dGluZ3M6IHNldHRpbmdzLFxuICAgICAgcHJldmlvdXNTZXR0aW5nczogcHJldmlvdXMsXG4gICAgfSk7XG5cbiAgICB0aGlzLiNjdXJyZW50ID0gc2V0dGluZ3M7XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJCcmFuZChicmFuZDogU2t5VGhlbWVCcmFuZCk6IHZvaWQge1xuICAgIHRoaXMuI3JlZ2lzdGVyZWRCcmFuZHMuc2V0KGJyYW5kLm5hbWUsIGJyYW5kKTtcbiAgfVxuXG4gIHB1YmxpYyB1bnJlZ2lzdGVyQnJhbmQobmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy4jcmVnaXN0ZXJlZEJyYW5kcy5kZWxldGUobmFtZSk7XG4gIH1cblxuICAjYXBwbHlSZWdpc3RlcmVkQnJhbmQoc2V0dGluZ3M6IFNreVRoZW1lU2V0dGluZ3MpOiBTa3lUaGVtZVNldHRpbmdzIHtcbiAgICBjb25zdCBicmFuZE5hbWUgPSBzZXR0aW5ncy5icmFuZD8ubmFtZTtcblxuICAgIGlmIChicmFuZE5hbWUpIHtcbiAgICAgIGNvbnN0IHJlZ2lzdGVyZWRCcmFuZCA9IHRoaXMuI3JlZ2lzdGVyZWRCcmFuZHMuZ2V0KGJyYW5kTmFtZSk7XG5cbiAgICAgIGlmIChyZWdpc3RlcmVkQnJhbmQpIHtcbiAgICAgICAgc2V0dGluZ3MgPSBuZXcgU2t5VGhlbWVTZXR0aW5ncyhcbiAgICAgICAgICBzZXR0aW5ncy50aGVtZSxcbiAgICAgICAgICBzZXR0aW5ncy5tb2RlLFxuICAgICAgICAgIHNldHRpbmdzLnNwYWNpbmcsXG4gICAgICAgICAgcmVnaXN0ZXJlZEJyYW5kLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBzZXR0aW5ncztcbiAgfVxuXG4gICN1cGRhdGVUaGVtZVByb3BlcnR5KFxuICAgIHByb3BlcnR5OiAnbW9kZScgfCAnc3BhY2luZycgfCAnYnJhbmQnLFxuICAgIHZhbHVlOiBTa3lUaGVtZU1vZGUgfCBTa3lUaGVtZVNwYWNpbmcgfCBTa3lUaGVtZUJyYW5kLFxuICApOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50ID0gdGhpcy4jY3VycmVudDtcblxuICAgIGFzc2VydEN1cnJlbnRTZXR0aW5ncyhjdXJyZW50KTtcblxuICAgIGNvbnN0IGN1cnJlbnRUaGVtZSA9IGN1cnJlbnQudGhlbWU7XG5cbiAgICBsZXQgc3VwcG9ydGVkVmFsdWVzOiBTa3lUaGVtZU1vZGVbXSB8IFNreVRoZW1lU3BhY2luZ1tdIHwgdW5kZWZpbmVkID1cbiAgICAgIHVuZGVmaW5lZDtcblxuICAgIHN3aXRjaCAocHJvcGVydHkpIHtcbiAgICAgIGNhc2UgJ21vZGUnOlxuICAgICAgICBzdXBwb3J0ZWRWYWx1ZXMgPSBjdXJyZW50VGhlbWUuc3VwcG9ydGVkTW9kZXM7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnc3BhY2luZyc6XG4gICAgICAgIHN1cHBvcnRlZFZhbHVlcyA9IGN1cnJlbnRUaGVtZS5zdXBwb3J0ZWRTcGFjaW5nO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgfVxuXG4gICAgaWYgKHN1cHBvcnRlZFZhbHVlcyAmJiAhc3VwcG9ydGVkVmFsdWVzLmluY2x1ZGVzKHZhbHVlKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgVGhlIGN1cnJlbnQgdGhlbWUgZG9lcyBub3Qgc3VwcG9ydCB0aGUgc3BlY2lmaWVkICR7cHJvcGVydHl9LmAsXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IHVwZGF0ZWRTZXR0aW5ncyA9IHtcbiAgICAgIHRoZW1lOiBjdXJyZW50LnRoZW1lLFxuICAgICAgbW9kZTogY3VycmVudC5tb2RlLFxuICAgICAgc3BhY2luZzogY3VycmVudC5zcGFjaW5nLFxuICAgICAgYnJhbmQ6IGN1cnJlbnQuYnJhbmQsXG4gICAgICBbcHJvcGVydHldOiB2YWx1ZSxcbiAgICB9O1xuXG4gICAgdGhpcy5zZXRUaGVtZShcbiAgICAgIG5ldyBTa3lUaGVtZVNldHRpbmdzKFxuICAgICAgICB1cGRhdGVkU2V0dGluZ3MudGhlbWUsXG4gICAgICAgIHVwZGF0ZWRTZXR0aW5ncy5tb2RlLFxuICAgICAgICB1cGRhdGVkU2V0dGluZ3Muc3BhY2luZyxcbiAgICAgICAgdXBkYXRlZFNldHRpbmdzLmJyYW5kLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgI2FwcGx5VGhlbWVDbGFzcyhcbiAgICBwcmV2aW91czogU2t5VGhlbWVTZXR0aW5ncyB8IHVuZGVmaW5lZCxcbiAgICBjdXJyZW50OiBTa3lUaGVtZVNldHRpbmdzLFxuICAgIHByb3A6ICd0aGVtZScgfCAnbW9kZScgfCAnc3BhY2luZycgfCAnYnJhbmQnLFxuICAgIHN1cHBvcnRlZFByb3A/OiAnc3VwcG9ydGVkTW9kZXMnIHwgJ3N1cHBvcnRlZFNwYWNpbmcnLFxuICApOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50U2V0dGluZyA9IGN1cnJlbnRbcHJvcF07XG4gICAgY29uc3QgcHJldmlvdXNDbGFzcyA9IHByZXZpb3VzPy5bcHJvcF0/Lmhvc3RDbGFzcztcbiAgICBjb25zdCBjdXJyZW50Q2xhc3MgPSBjdXJyZW50U2V0dGluZz8uaG9zdENsYXNzO1xuXG4gICAgaWYgKCFwcmV2aW91c0NsYXNzIHx8IHByZXZpb3VzQ2xhc3MgIT09IGN1cnJlbnRDbGFzcykge1xuICAgICAgdGhpcy4jdXBkYXRlSG9zdENsYXNzKFxuICAgICAgICBwcm9wLFxuICAgICAgICBwcmV2aW91c0NsYXNzLFxuICAgICAgICBjdXJyZW50Q2xhc3MsXG4gICAgICAgIGN1cnJlbnRTZXR0aW5nLFxuICAgICAgICBjdXJyZW50LFxuICAgICAgICBzdXBwb3J0ZWRQcm9wLFxuICAgICAgKTtcblxuICAgICAgaWYgKHByb3AgPT09ICdicmFuZCcpIHtcbiAgICAgICAgaWYgKCFjdXJyZW50LnRoZW1lLnN1cHBvcnRzQnJhbmRpbmcgJiYgY3VycmVudFNldHRpbmcpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0JyYW5kaW5nIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIHRoZSBnaXZlbiB0aGVtZS4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuI3VwZGF0ZUJyYW5kU3R5bGVzaGVldChjdXJyZW50LmJyYW5kLCBwcmV2aW91cz8uYnJhbmQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICN1cGRhdGVCcmFuZFN0eWxlc2hlZXQoXG4gICAgY3VycmVudEJyYW5kOiBTa3lUaGVtZUJyYW5kIHwgdW5kZWZpbmVkLFxuICAgIHByZXZpb3VzQnJhbmQ6IFNreVRoZW1lQnJhbmQgfCB1bmRlZmluZWQsXG4gICk6IHZvaWQge1xuICAgIGlmIChwcmV2aW91c0JyYW5kICYmIHByZXZpb3VzQnJhbmQubmFtZSAhPT0gQlJBTkRfQkxBQ0tCQVVEKSB7XG4gICAgICB0aGlzLiNyZW1vdmVCcmFuZFN0eWxlc2hlZXQoKTtcbiAgICB9XG5cbiAgICBpZiAoY3VycmVudEJyYW5kICYmIGN1cnJlbnRCcmFuZC5uYW1lICE9PSBCUkFORF9CTEFDS0JBVUQpIHtcbiAgICAgIHRoaXMuI2FkZEJyYW5kU3R5bGVzaGVldChjdXJyZW50QnJhbmQpO1xuICAgIH1cbiAgfVxuXG4gICN1cGRhdGVIb3N0Q2xhc3MoXG4gICAgcHJvcDogJ3RoZW1lJyB8ICdtb2RlJyB8ICdzcGFjaW5nJyB8ICdicmFuZCcsXG4gICAgcHJldmlvdXNDbGFzczogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIGN1cnJlbnRDbGFzczogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIGN1cnJlbnRTZXR0aW5nOlxuICAgICAgfCBTa3lUaGVtZVxuICAgICAgfCBTa3lUaGVtZU1vZGVcbiAgICAgIHwgU2t5VGhlbWVTcGFjaW5nXG4gICAgICB8IFNreVRoZW1lQnJhbmRcbiAgICAgIHwgdW5kZWZpbmVkLFxuICAgIGN1cnJlbnQ6IFNreVRoZW1lU2V0dGluZ3MsXG4gICAgc3VwcG9ydGVkUHJvcD86ICdzdXBwb3J0ZWRNb2RlcycgfCAnc3VwcG9ydGVkU3BhY2luZycsXG4gICk6IHZvaWQge1xuICAgIGlmIChwcmV2aW91c0NsYXNzKSB7XG4gICAgICB0aGlzLiNyZW1vdmVIb3N0Q2xhc3MocHJldmlvdXNDbGFzcyk7XG4gICAgfVxuXG4gICAgaWYgKHByb3AgPT09ICdicmFuZCcpIHtcbiAgICAgIGlmIChjdXJyZW50Q2xhc3MgJiYgIXByZXZpb3VzQ2xhc3MpIHtcbiAgICAgICAgdGhpcy4jYWRkSG9zdENsYXNzKCdza3ktdGhlbWUtYnJhbmQtYmFzZScpO1xuICAgICAgfSBlbHNlIGlmICghY3VycmVudENsYXNzICYmIHByZXZpb3VzQ2xhc3MpIHtcbiAgICAgICAgdGhpcy4jcmVtb3ZlSG9zdENsYXNzKCdza3ktdGhlbWUtYnJhbmQtYmFzZScpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChcbiAgICAgIGN1cnJlbnRDbGFzcyAmJlxuICAgICAgdGhpcy4jaXNTdXBwb3J0ZWRQcm9wZXJ0eShjdXJyZW50U2V0dGluZywgY3VycmVudCwgc3VwcG9ydGVkUHJvcClcbiAgICApIHtcbiAgICAgIHRoaXMuI2FkZEhvc3RDbGFzcyhjdXJyZW50Q2xhc3MpO1xuICAgIH1cbiAgfVxuXG4gICNhZGRCcmFuZFN0eWxlc2hlZXQoYnJhbmQ6IFNreVRoZW1lQnJhbmQpOiB2b2lkIHtcbiAgICBpZiAoYnJhbmQubmFtZSAhPT0gQlJBTkRfQkxBQ0tCQVVEKSB7XG4gICAgICAvLyBVc2Ugc3R5bGVVcmwgaWYgcHJvdmlkZWQsIG90aGVyd2lzZSBidWlsZCB0aGUgZGVmYXVsdCBVUkxcbiAgICAgIGNvbnN0IHN0eWxlVXJsID1cbiAgICAgICAgYnJhbmQuc3R5bGVVcmwgfHxcbiAgICAgICAgYGh0dHBzOi8vc2t5LmJsYWNrYmF1ZGNkbi5uZXQvc3RhdGljL3NreXV4LWJyYW5kLSR7YnJhbmQubmFtZX0vJHticmFuZC52ZXJzaW9ufS9hc3NldHMvc2Nzcy8ke2JyYW5kLm5hbWV9LmNzc2A7XG5cbiAgICAgIGNvbnN0IHJlbmRlcmVyID0gdGhpcy4jZ2V0UmVuZGVyZXIoKTtcblxuICAgICAgdGhpcy4jYnJhbmRMaW5rRWxlbWVudCA9IHJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoXG4gICAgICAgICdsaW5rJyxcbiAgICAgICkgYXMgSFRNTExpbmtFbGVtZW50O1xuXG4gICAgICByZW5kZXJlci5hcHBlbmRDaGlsZCh0aGlzLiNob3N0RWwsIHRoaXMuI2JyYW5kTGlua0VsZW1lbnQpO1xuXG4gICAgICByZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy4jYnJhbmRMaW5rRWxlbWVudCwgJ3JlbCcsICdzdHlsZXNoZWV0Jyk7XG4gICAgICByZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy4jYnJhbmRMaW5rRWxlbWVudCwgJ2hyZWYnLCBzdHlsZVVybCk7XG5cbiAgICAgIGlmIChicmFuZC5zcmlIYXNoKSB7XG4gICAgICAgIHJlbmRlcmVyLnNldEF0dHJpYnV0ZShcbiAgICAgICAgICB0aGlzLiNicmFuZExpbmtFbGVtZW50LFxuICAgICAgICAgICdpbnRlZ3JpdHknLFxuICAgICAgICAgIGJyYW5kLnNyaUhhc2gsXG4gICAgICAgICk7XG5cbiAgICAgICAgcmVuZGVyZXIuc2V0QXR0cmlidXRlKFxuICAgICAgICAgIHRoaXMuI2JyYW5kTGlua0VsZW1lbnQsXG4gICAgICAgICAgJ2Nyb3Nzb3JpZ2luJyxcbiAgICAgICAgICAnYW5vbnltb3VzJyxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjcmVtb3ZlQnJhbmRTdHlsZXNoZWV0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNicmFuZExpbmtFbGVtZW50KSB7XG4gICAgICB0aGlzLiNnZXRSZW5kZXJlcigpLnJlbW92ZUNoaWxkKHRoaXMuI2hvc3RFbCwgdGhpcy4jYnJhbmRMaW5rRWxlbWVudCk7XG4gICAgICB0aGlzLiNicmFuZExpbmtFbGVtZW50ID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gICNhZGRIb3N0Q2xhc3MoY2xhc3NOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLiNnZXRSZW5kZXJlcigpLmFkZENsYXNzKHRoaXMuI2hvc3RFbCwgY2xhc3NOYW1lKTtcbiAgfVxuXG4gICNyZW1vdmVIb3N0Q2xhc3MoY2xhc3NOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLiNnZXRSZW5kZXJlcigpLnJlbW92ZUNsYXNzKHRoaXMuI2hvc3RFbCwgY2xhc3NOYW1lKTtcbiAgfVxuXG4gICNnZXRSZW5kZXJlcigpOiBSZW5kZXJlcjIge1xuICAgIGlmICghdGhpcy4jcmVuZGVyZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ1JlbmRlcmVyIGlzIG5vdCBpbml0aWFsaXplZC4gSGF2ZSB5b3UgY2FsbGVkIHRoZSB0aGVtZSBzZXJ2aWNlIGBpbml0YCBtZXRob2Q/JyxcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLiNyZW5kZXJlcjtcbiAgfVxuXG4gICNpc1N1cHBvcnRlZFByb3BlcnR5KFxuICAgIGN1cnJlbnRTZXR0aW5nOlxuICAgICAgfCBTa3lUaGVtZVxuICAgICAgfCBTa3lUaGVtZU1vZGVcbiAgICAgIHwgU2t5VGhlbWVTcGFjaW5nXG4gICAgICB8IFNreVRoZW1lQnJhbmRcbiAgICAgIHwgdW5kZWZpbmVkLFxuICAgIGN1cnJlbnQ6IFNreVRoZW1lU2V0dGluZ3MsXG4gICAgc3VwcG9ydGVkUHJvcD86ICdzdXBwb3J0ZWRNb2RlcycgfCAnc3VwcG9ydGVkU3BhY2luZycsXG4gICk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICAhc3VwcG9ydGVkUHJvcCB8fFxuICAgICAgKChjdXJyZW50U2V0dGluZyBpbnN0YW5jZW9mIFNreVRoZW1lTW9kZSB8fFxuICAgICAgICBjdXJyZW50U2V0dGluZyBpbnN0YW5jZW9mIFNreVRoZW1lU3BhY2luZykgJiZcbiAgICAgICAgY3VycmVudC50aGVtZVtzdXBwb3J0ZWRQcm9wXS5pbmNsdWRlcyhjdXJyZW50U2V0dGluZykpXG4gICAgKTtcbiAgfVxufVxuIl19","import { Injectable, Optional } from '@angular/core';\nimport FontFaceObserver from 'fontfaceobserver';\nimport { take } from 'rxjs/operators';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"./theming/theme.service\";\nexport class SkyAppStyleLoader {\n static { this.LOAD_TIMEOUT = 3000; }\n #themeSvc;\n constructor(themeSvc) {\n this.isLoaded = false;\n this.#themeSvc = themeSvc;\n }\n loadStyles() {\n if (this.isLoaded) {\n return Promise.resolve();\n }\n let themePromise;\n if (this.#themeSvc) {\n themePromise = this.#themeSvc.settingsChange.pipe(take(1)).toPromise();\n }\n else {\n themePromise = Promise.resolve();\n }\n const fontAwesome = new FontFaceObserver('FontAwesome');\n const skyuxIcons = new FontFaceObserver('skyux-icons');\n const blackbaudSans = new FontFaceObserver('BLKB Sans');\n return Promise.all([\n // Specify a character for FontAwesome since some browsers will fail to detect\n // when the font is loaded unless a known character with a different width\n // than the default is not specified.\n fontAwesome.load('\\uf0fc', SkyAppStyleLoader.LOAD_TIMEOUT),\n skyuxIcons.load('\\ue999', SkyAppStyleLoader.LOAD_TIMEOUT),\n blackbaudSans.load(undefined, SkyAppStyleLoader.LOAD_TIMEOUT),\n themePromise,\n ])\n .then(() => {\n this.isLoaded = true;\n })\n .catch((error) => {\n // Errors loading the font should not stop the page from rendering.\n // Passing the error along in case the client wants to do something with it.\n return Promise.resolve({\n error,\n });\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SkyAppStyleLoader, deps: [{ token: i1.SkyThemeService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SkyAppStyleLoader, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SkyAppStyleLoader, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: () => [{ type: i1.SkyThemeService, decorators: [{\n type: Optional\n }] }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUtbG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RoZW1lL3NyYy9saWIvc3R5bGUtbG9hZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXJELE9BQU8sZ0JBQWdCLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFPdEMsTUFBTSxPQUFPLGlCQUFpQjthQUNMLGlCQUFZLEdBQUcsSUFBSSxBQUFQLENBQVE7SUFHM0MsU0FBUyxDQUE4QjtJQUV2QyxZQUF3QixRQUEwQjtRQUozQyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBS3RCLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO0lBQzVCLENBQUM7SUFFTSxVQUFVO1FBQ2YsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsT0FBTyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDM0IsQ0FBQztRQUVELElBQUksWUFBMEIsQ0FBQztRQUUvQixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNuQixZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3pFLENBQUM7YUFBTSxDQUFDO1lBQ04sWUFBWSxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNuQyxDQUFDO1FBRUQsTUFBTSxXQUFXLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN4RCxNQUFNLFVBQVUsR0FBRyxJQUFJLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3ZELE1BQU0sYUFBYSxHQUFHLElBQUksZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFeEQsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDO1lBQ2pCLDhFQUE4RTtZQUM5RSwwRUFBMEU7WUFDMUUscUNBQXFDO1lBQ3JDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLGlCQUFpQixDQUFDLFlBQVksQ0FBQztZQUMxRCxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxZQUFZLENBQUM7WUFDekQsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsaUJBQWlCLENBQUMsWUFBWSxDQUFDO1lBQzdELFlBQVk7U0FDYixDQUFDO2FBQ0MsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNULElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQzthQUNELEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ2YsbUVBQW1FO1lBQ25FLDRFQUE0RTtZQUM1RSxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUM7Z0JBQ3JCLEtBQUs7YUFDTixDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBOUNVLGlCQUFpQjtrSEFBakIsaUJBQWlCLGNBRmhCLE1BQU07OzJGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQU9jLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgRm9udEZhY2VPYnNlcnZlciBmcm9tICdmb250ZmFjZW9ic2VydmVyJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreVRoZW1lU2VydmljZSB9IGZyb20gJy4vdGhlbWluZy90aGVtZS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNreUFwcFN0eWxlTG9hZGVyIHtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBMT0FEX1RJTUVPVVQgPSAzMDAwO1xuICBwdWJsaWMgaXNMb2FkZWQgPSBmYWxzZTtcblxuICAjdGhlbWVTdmM6IFNreVRoZW1lU2VydmljZSB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSB0aGVtZVN2Yz86IFNreVRoZW1lU2VydmljZSkge1xuICAgIHRoaXMuI3RoZW1lU3ZjID0gdGhlbWVTdmM7XG4gIH1cblxuICBwdWJsaWMgbG9hZFN0eWxlcygpOiBQcm9taXNlPGFueT4ge1xuICAgIGlmICh0aGlzLmlzTG9hZGVkKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgfVxuXG4gICAgbGV0IHRoZW1lUHJvbWlzZTogUHJvbWlzZTxhbnk+O1xuXG4gICAgaWYgKHRoaXMuI3RoZW1lU3ZjKSB7XG4gICAgICB0aGVtZVByb21pc2UgPSB0aGlzLiN0aGVtZVN2Yy5zZXR0aW5nc0NoYW5nZS5waXBlKHRha2UoMSkpLnRvUHJvbWlzZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGVtZVByb21pc2UgPSBQcm9taXNlLnJlc29sdmUoKTtcbiAgICB9XG5cbiAgICBjb25zdCBmb250QXdlc29tZSA9IG5ldyBGb250RmFjZU9ic2VydmVyKCdGb250QXdlc29tZScpO1xuICAgIGNvbnN0IHNreXV4SWNvbnMgPSBuZXcgRm9udEZhY2VPYnNlcnZlcignc2t5dXgtaWNvbnMnKTtcbiAgICBjb25zdCBibGFja2JhdWRTYW5zID0gbmV3IEZvbnRGYWNlT2JzZXJ2ZXIoJ0JMS0IgU2FucycpO1xuXG4gICAgcmV0dXJuIFByb21pc2UuYWxsKFtcbiAgICAgIC8vIFNwZWNpZnkgYSBjaGFyYWN0ZXIgZm9yIEZvbnRBd2Vzb21lIHNpbmNlIHNvbWUgYnJvd3NlcnMgd2lsbCBmYWlsIHRvIGRldGVjdFxuICAgICAgLy8gd2hlbiB0aGUgZm9udCBpcyBsb2FkZWQgdW5sZXNzIGEga25vd24gY2hhcmFjdGVyIHdpdGggYSBkaWZmZXJlbnQgd2lkdGhcbiAgICAgIC8vIHRoYW4gdGhlIGRlZmF1bHQgaXMgbm90IHNwZWNpZmllZC5cbiAgICAgIGZvbnRBd2Vzb21lLmxvYWQoJ1xcdWYwZmMnLCBTa3lBcHBTdHlsZUxvYWRlci5MT0FEX1RJTUVPVVQpLFxuICAgICAgc2t5dXhJY29ucy5sb2FkKCdcXHVlOTk5JywgU2t5QXBwU3R5bGVMb2FkZXIuTE9BRF9USU1FT1VUKSxcbiAgICAgIGJsYWNrYmF1ZFNhbnMubG9hZCh1bmRlZmluZWQsIFNreUFwcFN0eWxlTG9hZGVyLkxPQURfVElNRU9VVCksXG4gICAgICB0aGVtZVByb21pc2UsXG4gICAgXSlcbiAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5pc0xvYWRlZCA9IHRydWU7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAvLyBFcnJvcnMgbG9hZGluZyB0aGUgZm9udCBzaG91bGQgbm90IHN0b3AgdGhlIHBhZ2UgZnJvbSByZW5kZXJpbmcuXG4gICAgICAgIC8vIFBhc3NpbmcgdGhlIGVycm9yIGFsb25nIGluIGNhc2UgdGhlIGNsaWVudCB3YW50cyB0byBkbyBzb21ldGhpbmcgd2l0aCBpdC5cbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7XG4gICAgICAgICAgZXJyb3IsXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gIH1cbn1cbiJdfQ==","import { Directive, Input, Optional, } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"./theme.service\";\n/**\n * Component to add classes conditionally based on the current theme.\n *\n * If the directive is within a `skyTheme` directive, it uses settings from that directive.\n */\nexport class SkyThemeClassDirective {\n /**\n * The HTML class attribute.\n *\n * @param value\n */\n set class(value) {\n this.#removeInitialClasses(this.#initialClasses);\n this.#initialClasses = typeof value === 'string' ? value.split(/\\s+/) : [];\n this.#applyInitialClasses(this.#initialClasses);\n this.#applySkyThemeClassMap(this.#skyThemeClassMap);\n }\n /**\n * An object with class names in a string for keys, and theme names (e.g. 'default' or 'modern') as values.\n *\n * @param value\n */\n set skyThemeClass(value) {\n this.#removeSkyThemeClassMap(this.#skyThemeClassMap);\n this.#applyInitialClasses(this.#initialClasses);\n this.#skyThemeClassMap = value;\n /* istanbul ignore else */\n if (this.#skyThemeClassMap) {\n this.#applySkyThemeClassMap(this.#skyThemeClassMap);\n }\n }\n set #themeSettings(settings) {\n this.#currentTheme = settings;\n this.#removeSkyThemeClassMap(this.#skyThemeClassMap);\n this.#applyInitialClasses(this.#initialClasses);\n this.#applySkyThemeClassMap(this.#skyThemeClassMap);\n }\n #currentTheme;\n #ngUnsubscribe = new Subject();\n #initialClasses = [];\n #skyThemeClassMap;\n #ngEl;\n #renderer;\n constructor(ngEl, renderer, themeSvc) {\n this.#ngEl = ngEl;\n this.#renderer = renderer;\n if (themeSvc) {\n themeSvc.settingsChange\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((settingsChange) => {\n this.#themeSettings = settingsChange.currentSettings;\n });\n }\n }\n ngOnDestroy() {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n #applyInitialClasses(classes) {\n /* istanbul ignore else */\n if (classes) {\n classes.forEach((className) => this.#toggleClass(className, true));\n }\n }\n #applySkyThemeClassMap(skyThemeClassMap) {\n if (skyThemeClassMap) {\n const themeName = this.#currentTheme?.theme.name || 'default';\n Object.keys(skyThemeClassMap).forEach((className) => {\n const enabled = themeName === skyThemeClassMap[className];\n this.#toggleClass(className, enabled);\n });\n }\n }\n #removeInitialClasses(classes) {\n /* istanbul ignore else */\n if (classes) {\n classes.forEach((className) => this.#toggleClass(className, false));\n }\n }\n #removeSkyThemeClassMap(skyThemeClassMap) {\n if (skyThemeClassMap) {\n Object.keys(skyThemeClassMap).forEach((className) => this.#toggleClass(className, false));\n }\n }\n #toggleClass(className, enabled) {\n className = className.trim();\n /* istanbul ignore else */\n if (className) {\n className.split(/\\s+/g).forEach((classNameItem) => {\n if (enabled) {\n this.#renderer.addClass(this.#ngEl.nativeElement, classNameItem);\n }\n else {\n this.#renderer.removeClass(this.#ngEl.nativeElement, classNameItem);\n }\n });\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SkyThemeClassDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.SkyThemeService, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.5\", type: SkyThemeClassDirective, isStandalone: false, selector: \"[skyThemeClass]\", inputs: { class: \"class\", skyThemeClass: \"skyThemeClass\" }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SkyThemeClassDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[skyThemeClass]',\n standalone: false,\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.SkyThemeService, decorators: [{\n type: Optional\n }] }], propDecorators: { class: [{\n type: Input\n }], skyThemeClass: [{\n type: Input\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtY2xhc3MuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RoZW1lL3NyYy9saWIvdGhlbWluZy90aGVtZS1jbGFzcy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEVBRUwsUUFBUSxHQUVULE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFPM0M7Ozs7R0FJRztBQUtILE1BQU0sT0FBTyxzQkFBc0I7SUFDakM7Ozs7T0FJRztJQUNILElBQ1csS0FBSyxDQUFDLEtBQXlCO1FBQ3hDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLGVBQWUsR0FBRyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUMzRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQ1csYUFBYSxDQUFDLEtBQW1DO1FBQzFELElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRWhELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUF5QixDQUFDO1FBRW5ELDBCQUEwQjtRQUMxQixJ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QyxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7SUFFRCxZQUFZLENBQUMsU0FBaUIsRUFBRSxPQUFnQjtRQUM5QyxTQUFTLEdBQUcsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzdCLDBCQUEwQjtRQUMxQixJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ2QsU0FBUyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxhQUFhLEVBQUUsRUFBRTtnQkFDaEQsSUFBSSxPQUFPLEVBQUUsQ0FBQztvQkFDWixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxhQUFhLENBQUMsQ0FBQztnQkFDbkUsQ0FBQztxQkFBTSxDQUFDO29CQUNOLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLGFBQWEsQ0FBQyxDQUFDO2dCQUN0RSxDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQzs4R0FsSFUsc0JBQXNCO2tHQUF0QixzQkFBc0I7OzJGQUF0QixzQkFBc0I7a0JBSmxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsVUFBVSxFQUFFLEtBQUs7aUJBQ2xCOzswQkFtREksUUFBUTt5Q0EzQ0EsS0FBSztzQkFEZixLQUFLO2dCQWNLLGFBQWE7c0JBRHZCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9wdGlvbmFsLFxuICBSZW5kZXJlcjIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreVRoZW1lU2V0dGluZ3MgfSBmcm9tICcuL3RoZW1lLXNldHRpbmdzJztcbmltcG9ydCB7IFNreVRoZW1lU2VydmljZSB9IGZyb20gJy4vdGhlbWUuc2VydmljZSc7XG5cbnR5cGUgU2t5VGhlbWVDbGFzc01hcCA9IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cbi8qKlxuICogQ29tcG9uZW50IHRvIGFkZCBjbGFzc2VzIGNvbmRpdGlvbmFsbHkgYmFzZWQgb24gdGhlIGN1cnJlbnQgdGhlbWUuXG4gKlxuICogSWYgdGhlIGRpcmVjdGl2ZSBpcyB3aXRoaW4gYSBgc2t5VGhlbWVgIGRpcmVjdGl2ZSwgaXQgdXNlcyBzZXR0aW5ncyBmcm9tIHRoYXQgZGlyZWN0aXZlLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbc2t5VGhlbWVDbGFzc10nLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5VGhlbWVDbGFzc0RpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBUaGUgSFRNTCBjbGFzcyBhdHRyaWJ1dGUuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBjbGFzcyh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jcmVtb3ZlSW5pdGlhbENsYXNzZXModGhpcy4jaW5pdGlhbENsYXNzZXMpO1xuICAgIHRoaXMuI2luaXRpYWxDbGFzc2VzID0gdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyA/IHZhbHVlLnNwbGl0KC9cXHMrLykgOiBbXTtcbiAgICB0aGlzLiNhcHBseUluaXRpYWxDbGFzc2VzKHRoaXMuI2luaXRpYWxDbGFzc2VzKTtcbiAgICB0aGlzLiNhcHBseVNreVRoZW1lQ2xhc3NNYXAodGhpcy4jc2t5VGhlbWVDbGFzc01hcCk7XG4gIH1cblxuICAvKipcbiAgICogQW4gb2JqZWN0IHdpdGggY2xhc3MgbmFtZXMgaW4gYSBzdHJpbmcgZm9yIGtleXMsIGFuZCB0aGVtZSBuYW1lcyAoZS5nLiAnZGVmYXVsdCcgb3IgJ21vZGVybicpIGFzIHZhbHVlcy5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNreVRoZW1lQ2xhc3ModmFsdWU6IFNreVRoZW1lQ2xhc3NNYXAgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNyZW1vdmVTa3lUaGVtZUNsYXNzTWFwKHRoaXMuI3NreVRoZW1lQ2xhc3NNYXApO1xuICAgIHRoaXMuI2FwcGx5SW5pdGlhbENsYXNzZXModGhpcy4jaW5pdGlhbENsYXNzZXMpO1xuXG4gICAgdGhpcy4jc2t5VGhlbWVDbGFzc01hcCA9IHZhbHVlIGFzIFNreVRoZW1lQ2xhc3NNYXA7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLiNza3lUaGVtZUNsYXNzTWFwKSB7XG4gICAgICB0aGlzLiNhcHBseVNreVRoZW1lQ2xhc3NNYXAodGhpcy4jc2t5VGhlbWVDbGFzc01hcCk7XG4gICAgfVxuICB9XG5cbiAgc2V0ICN0aGVtZVNldHRpbmdzKHNldHRpbmdzOiBTa3lUaGVtZVNldHRpbmdzKSB7XG4gICAgdGhpcy4jY3VycmVudFRoZW1lID0gc2V0dGluZ3M7XG4gICAgdGhpcy4jcmVtb3ZlU2t5VGhlbWVDbGFzc01hcCh0aGlzLiNza3lUaGVtZUNsYXNzTWFwKTtcbiAgICB0aGlzLiNhcHBseUluaXRpYWxDbGFzc2VzKHRoaXMuI2luaXRpYWxDbGFzc2VzKTtcbiAgICB0aGlzLiNhcHBseVNreVRoZW1lQ2xhc3NNYXAodGhpcy4jc2t5VGhlbWVDbGFzc01hcCk7XG4gIH1cblxuICAjY3VycmVudFRoZW1lOiBTa3lUaGVtZVNldHRpbmdzIHwgdW5kZWZpbmVkO1xuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICNpbml0aWFsQ2xhc3Nlczogc3RyaW5nW10gPSBbXTtcbiAgI3NreVRoZW1lQ2xhc3NNYXA6IFNreVRoZW1lQ2xhc3NNYXAgfCB1bmRlZmluZWQ7XG5cbiAgI25nRWw6IEVsZW1lbnRSZWY7XG4gICNyZW5kZXJlcjogUmVuZGVyZXIyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIG5nRWw6IEVsZW1lbnRSZWYsXG4gICAgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBAT3B0aW9uYWwoKSB0aGVtZVN2Yz86IFNreVRoZW1lU2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy4jbmdFbCA9IG5nRWw7XG4gICAgdGhpcy4jcmVuZGVyZXIgPSByZW5kZXJlcjtcbiAgICBpZiAodGhlbWVTdmMpIHtcbiAgICAgIHRoZW1lU3ZjLnNldHRpbmdzQ2hhbmdlXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoc2V0dGluZ3NDaGFuZ2UpID0+IHtcbiAgICAgICAgICB0aGlzLiN0aGVtZVNldHRpbmdzID0gc2V0dGluZ3NDaGFuZ2UuY3VycmVudFNldHRpbmdzO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgI2FwcGx5SW5pdGlhbENsYXNzZXMoY2xhc3Nlczogc3RyaW5nW10pOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChjbGFzc2VzKSB7XG4gICAgICBjbGFzc2VzLmZvckVhY2goKGNsYXNzTmFtZSkgPT4gdGhpcy4jdG9nZ2xlQ2xhc3MoY2xhc3NOYW1lLCB0cnVlKSk7XG4gICAgfVxuICB9XG5cbiAgI2FwcGx5U2t5VGhlbWVDbGFzc01hcChza3lUaGVtZUNsYXNzTWFwOiBTa3lUaGVtZUNsYXNzTWFwIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgaWYgKHNreVRoZW1lQ2xhc3NNYXApIHtcbiAgICAgIGNvbnN0IHRoZW1lTmFtZSA9IHRoaXMuI2N1cnJlbnRUaGVtZT8udGhlbWUubmFtZSB8fCAnZGVmYXVsdCc7XG4gICAgICBPYmplY3Qua2V5cyhza3lUaGVtZUNsYXNzTWFwKS5mb3JFYWNoKChjbGFzc05hbWUpID0+IHtcbiAgICAgICAgY29uc3QgZW5hYmxlZCA9IHRoZW1lTmFtZSA9PT0gc2t5VGhlbWVDbGFzc01hcFtjbGFzc05hbWVdO1xuICAgICAgICB0aGlzLiN0b2dnbGVDbGFzcyhjbGFzc05hbWUsIGVuYWJsZWQpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgI3JlbW92ZUluaXRpYWxDbGFzc2VzKGNsYXNzZXM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoY2xhc3Nlcykge1xuICAgICAgY2xhc3Nlcy5mb3JFYWNoKChjbGFzc05hbWUpID0+IHRoaXMuI3RvZ2dsZUNsYXNzKGNsYXNzTmFtZSwgZmFsc2UpKTtcbiAgICB9XG4gIH1cblxuICAjcmVtb3ZlU2t5VGhlbWVDbGFzc01hcChcbiAgICBza3lUaGVtZUNsYXNzTWFwOiBTa3lUaGVtZUNsYXNzTWFwIHwgdW5kZWZpbmVkLFxuICApOiB2b2lkIHtcbiAgICBpZiAoc2t5VGhlbWVDbGFzc01hcCkge1xuICAgICAgT2JqZWN0LmtleXMoc2t5VGhlbWVDbGFzc01hcCkuZm9yRWFjaCgoY2xhc3NOYW1lKSA9PlxuICAgICAgICB0aGlzLiN0b2dnbGVDbGFzcyhjbGFzc05hbWUsIGZhbHNlKSxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgI3RvZ2dsZUNsYXNzKGNsYXNzTmFtZTogc3RyaW5nLCBlbmFibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgY2xhc3NOYW1lID0gY2xhc3NOYW1lLnRyaW0oKTtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChjbGFzc05hbWUpIHtcbiAgICAgIGNsYXNzTmFtZS5zcGxpdCgvXFxzKy9nKS5mb3JFYWNoKChjbGFzc05hbWVJdGVtKSA9PiB7XG4gICAgICAgIGlmIChlbmFibGVkKSB7XG4gICAgICAgICAgdGhpcy4jcmVuZGVyZXIuYWRkQ2xhc3ModGhpcy4jbmdFbC5uYXRpdmVFbGVtZW50LCBjbGFzc05hbWVJdGVtKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLiNyZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLiNuZ0VsLm5hdGl2ZUVsZW1lbnQsIGNsYXNzTmFtZUl0ZW0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==","import { Directive, Input, Optional, } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"./theme.service\";\n/**\n * Component that works like `ngIf` to show markup for matching theme.\n *\n * If the directive is within a `skyTheme` directive, it uses settings from that directive.\n */\nexport class SkyThemeIfDirective {\n /**\n * A string that should match the name of a theme, `'default'` or `'modern'`.\n *\n * @param value\n */\n set skyThemeIf(value) {\n this.#context = value;\n this.#updateView();\n }\n #context;\n #currentTheme;\n #ngUnsubscribe = new Subject();\n #hasView = false;\n #templateRef;\n #viewContainer;\n constructor(templateRef, viewContainer, changeDetector, themeSvc) {\n this.#templateRef = templateRef;\n this.#viewContainer = viewContainer;\n if (themeSvc) {\n themeSvc.settingsChange\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((settingsChange) => {\n this.#currentTheme = settingsChange.currentSettings;\n this.#updateView();\n // Components that use OnPush change detection will not automatically\n // check for changes when created as a result of a theme change if\n // it happens outside of an Angular change detection cycle. This\n // ensures change detection runs on those components.\n changeDetector.markForCheck();\n });\n }\n }\n ngOnDestroy() {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n #updateView() {\n const themeName = this.#currentTheme?.theme.name || 'default';\n const condition = this.#context && themeName === this.#context;\n if (condition && !this.#hasView) {\n this.#viewContainer.createEmbeddedView(this.#templateRef);\n this.#hasView = true;\n }\n else if (!condition && this.#hasView) {\n this.#viewContainer.clear();\n this.#hasView = false;\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SkyThemeIfDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i0.ChangeDetectorRef }, { token: i1.SkyThemeService, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.5\", type: SkyThemeIfDirective, isStandalone: false, selector: \"[skyThemeIf]\", inputs: { skyThemeIf: \"skyThemeIf\" }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SkyThemeIfDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[skyThemeIf]',\n standalone: false,\n }]\n }], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: i0.ChangeDetectorRef }, { type: i1.SkyThemeService, decorators: [{\n type: Optional\n }] }], propDecorators: { skyThemeIf: [{\n type: Input\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtaWYuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RoZW1lL3NyYy9saWIvdGhlbWluZy90aGVtZS1pZi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxLQUFLLEVBRUwsUUFBUSxHQUdULE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFLM0M7Ozs7R0FJRztBQUtILE1BQU0sT0FBTyxtQkFBbUI7SUFDOUI7Ozs7T0FJRztJQUNILElBQ1csVUFBVSxDQUFDLEtBQXVDO1FBQzNELElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsUUFBUSxDQUFxQjtJQUM3QixhQUFhLENBQStCO0lBQzVDLGNBQWMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBQ3JDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFFakIsWUFBWSxDQUF1QjtJQUNuQyxjQUFjLENBQW1CO0lBRWpDLFlBQ0UsV0FBaUMsRUFDakMsYUFBK0IsRUFDL0IsY0FBaUMsRUFDckIsUUFBMEI7UUFFdEMsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7UUFDaEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxhQUFhLENBQUM7UUFDcEMsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNiLFFBQVEsQ0FBQyxjQUFjO2lCQUNwQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztpQkFDcEMsU0FBUyxDQUFDLENBQUMsY0FBYyxFQUFFLEVBQUU7Z0JBQzVCLElBQUksQ0FBQyxhQUFhLEdBQUcsY0FBYyxDQUFDLGVBQWUsQ0FBQztnQkFDcEQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUVuQixxRUFBcUU7Z0JBQ3JFLGtFQUFrRTtnQkFDbEUsZ0VBQWdFO2dCQUNoRSxxREFBcUQ7Z0JBQ3JELGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNoQyxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7SUFDSCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELFdBQVc7UUFDVCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxJQUFJLElBQUksU0FBUyxDQUFDO1FBQzlELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLElBQUksU0FBUyxLQUFLLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDL0QsSUFBSSxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDMUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDdkIsQ0FBQzthQUFNLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDeEIsQ0FBQztJQUNILENBQUM7OEdBM0RVLG1CQUFtQjtrR0FBbkIsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQUovQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxjQUFjO29CQUN4QixVQUFVLEVBQUUsS0FBSztpQkFDbEI7OzBCQXlCSSxRQUFRO3lDQWpCQSxVQUFVO3NCQURwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIERpcmVjdGl2ZSxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3B0aW9uYWwsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lUaGVtZVNldHRpbmdzIH0gZnJvbSAnLi90aGVtZS1zZXR0aW5ncyc7XG5pbXBvcnQgeyBTa3lUaGVtZVNlcnZpY2UgfSBmcm9tICcuL3RoZW1lLnNlcnZpY2UnO1xuXG4vKipcbiAqIENvbXBvbmVudCB0aGF0IHdvcmtzIGxpa2UgYG5nSWZgIHRvIHNob3cgbWFya3VwIGZvciBtYXRjaGluZyB0aGVtZS5cbiAqXG4gKiBJZiB0aGUgZGlyZWN0aXZlIGlzIHdpdGhpbiBhIGBza3lUaGVtZWAgZGlyZWN0aXZlLCBpdCB1c2VzIHNldHRpbmdzIGZyb20gdGhhdCBkaXJlY3RpdmUuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tza3lUaGVtZUlmXScsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lUaGVtZUlmRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgLyoqXG4gICAqIEEgc3RyaW5nIHRoYXQgc2hvdWxkIG1hdGNoIHRoZSBuYW1lIG9mIGEgdGhlbWUsIGAnZGVmYXVsdCdgIG9yIGAnbW9kZXJuJ2AuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBza3lUaGVtZUlmKHZhbHVlOiAnZGVmYXVsdCcgfCAnbW9kZXJuJyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI2NvbnRleHQgPSB2YWx1ZTtcbiAgICB0aGlzLiN1cGRhdGVWaWV3KCk7XG4gIH1cblxuICAjY29udGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAjY3VycmVudFRoZW1lOiBTa3lUaGVtZVNldHRpbmdzIHwgdW5kZWZpbmVkO1xuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICNoYXNWaWV3ID0gZmFsc2U7XG5cbiAgI3RlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcbiAgI3ZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWY7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPHVua25vd24+LFxuICAgIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXG4gICAgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIEBPcHRpb25hbCgpIHRoZW1lU3ZjPzogU2t5VGhlbWVTZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLiN0ZW1wbGF0ZVJlZiA9IHRlbXBsYXRlUmVmO1xuICAgIHRoaXMuI3ZpZXdDb250YWluZXIgPSB2aWV3Q29udGFpbmVyO1xuICAgIGlmICh0aGVtZVN2Yykge1xuICAgICAgdGhlbWVTdmMuc2V0dGluZ3NDaGFuZ2VcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKChzZXR0aW5nc0NoYW5nZSkgPT4ge1xuICAgICAgICAgIHRoaXMuI2N1cnJlbnRUaGVtZSA9IHNldHRpbmdzQ2hhbmdlLmN1cnJlbnRTZXR0aW5ncztcbiAgICAgICAgICB0aGlzLiN1cGRhdGVWaWV3KCk7XG5cbiAgICAgICAgICAvLyBDb21wb25lbnRzIHRoYXQgdXNlIE9uUHVzaCBjaGFuZ2UgZGV0ZWN0aW9uIHdpbGwgbm90IGF1dG9tYXRpY2FsbHlcbiAgICAgICAgICAvLyBjaGVjayBmb3IgY2hhbmdlcyB3aGVuIGNyZWF0ZWQgYXMgYSByZXN1bHQgb2YgYSB0aGVtZSBjaGFuZ2UgaWZcbiAgICAgICAgICAvLyBpdCBoYXBwZW5zIG91dHNpZGUgb2YgYW4gQW5ndWxhciBjaGFuZ2UgZGV0ZWN0aW9uIGN5Y2xlLiBUaGlzXG4gICAgICAgICAgLy8gZW5zdXJlcyBjaGFuZ2UgZGV0ZWN0aW9uIHJ1bnMgb24gdGhvc2UgY29tcG9uZW50cy5cbiAgICAgICAgICBjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxuXG4gICN1cGRhdGVWaWV3KCk6IHZvaWQge1xuICAgIGNvbnN0IHRoZW1lTmFtZSA9IHRoaXMuI2N1cnJlbnRUaGVtZT8udGhlbWUubmFtZSB8fCAnZGVmYXVsdCc7XG4gICAgY29uc3QgY29uZGl0aW9uID0gdGhpcy4jY29udGV4dCAmJiB0aGVtZU5hbWUgPT09IHRoaXMuI2NvbnRleHQ7XG4gICAgaWYgKGNvbmRpdGlvbiAmJiAhdGhpcy4jaGFzVmlldykge1xuICAgICAgdGhpcy4jdmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy4jdGVtcGxhdGVSZWYpO1xuICAgICAgdGhpcy4jaGFzVmlldyA9IHRydWU7XG4gICAgfSBlbHNlIGlmICghY29uZGl0aW9uICYmIHRoaXMuI2hhc1ZpZXcpIHtcbiAgICAgIHRoaXMuI3ZpZXdDb250YWluZXIuY2xlYXIoKTtcbiAgICAgIHRoaXMuI2hhc1ZpZXcgPSBmYWxzZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==","import { Directive, Input, } from '@angular/core';\nimport { SkyTheme } from './theme';\nimport { SkyThemeMode } from './theme-mode';\nimport { SkyThemeSettings } from './theme-settings';\nimport { SkyThemeService } from './theme.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"./theme.service\";\nconst defaultTheme = new SkyThemeSettings(SkyTheme.presets.default, SkyThemeMode.presets.light);\n/**\n * Creates a new instance of `SkyThemeService` to allow a container\n * to have its own theme.\n */\nexport class SkyThemeDirective {\n set skyTheme(value) {\n this.skyThemeOrDefault = value || defaultTheme;\n if (this.#initialized) {\n this.#themeSvc.setTheme(this.skyThemeOrDefault);\n }\n }\n #initialized;\n #elRef;\n #renderer;\n #themeSvc;\n constructor(elRef, renderer, themeSvc) {\n this.skyThemeOrDefault = defaultTheme;\n this.#initialized = false;\n this.#elRef = elRef;\n this.#renderer = renderer;\n this.#themeSvc = themeSvc;\n }\n ngOnInit() {\n this.#themeSvc.init(this.#elRef.nativeElement, this.#renderer, this.skyThemeOrDefault);\n this.#initialized = true;\n }\n ngOnDestroy() {\n this.#themeSvc.destroy();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SkyThemeDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.SkyThemeService }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.5\", type: SkyThemeDirective, isStandalone: false, selector: \"[skyTheme]\", inputs: { skyTheme: \"skyTheme\" }, providers: [SkyThemeService], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SkyThemeDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[skyTheme]',\n providers: [SkyThemeService],\n standalone: false,\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.SkyThemeService }], propDecorators: { skyTheme: [{\n type: Input\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RoZW1lL3NyYy9saWIvdGhlbWluZy90aGVtZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEdBSU4sTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNuQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBRWxELE1BQU0sWUFBWSxHQUFHLElBQUksZ0JBQWdCLENBQ3ZDLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUN4QixZQUFZLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FDM0IsQ0FBQztBQUVGOzs7R0FHRztBQU1ILE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsSUFDVyxRQUFRLENBQUMsS0FBbUM7UUFDckQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssSUFBSSxZQUFZLENBQUM7UUFFL0MsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDbEQsQ0FBQztJQUNILENBQUM7SUFJRCxZQUFZLENBQVM7SUFFckIsTUFBTSxDQUFhO0lBQ25CLFNBQVMsQ0FBWTtJQUNyQixTQUFTLENBQWtCO0lBRTNCLFlBQ0UsS0FBaUIsRUFDakIsUUFBbUIsRUFDbkIsUUFBeUI7UUFYcEIsc0JBQWlCLEdBQUcsWUFBWSxDQUFDO1FBRXhDLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBV25CLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1FBQzFCLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO0lBQzVCLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUN6QixJQUFJLENBQUMsU0FBUyxFQUNkLElBQUksQ0FBQyxpQkFBaUIsQ0FDdkIsQ0FBQztRQUVGLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO0lBQzNCLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDM0IsQ0FBQzs4R0F4Q1UsaUJBQWlCO2tHQUFqQixpQkFBaUIsNEZBSGpCLENBQUMsZUFBZSxDQUFDOzsyRkFHakIsaUJBQWlCO2tCQUw3QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxZQUFZO29CQUN0QixTQUFTLEVBQUUsQ0FBQyxlQUFlLENBQUM7b0JBQzVCLFVBQVUsRUFBRSxLQUFLO2lCQUNsQjtxSUFHWSxRQUFRO3NCQURsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFJlbmRlcmVyMixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreVRoZW1lIH0gZnJvbSAnLi90aGVtZSc7XG5pbXBvcnQgeyBTa3lUaGVtZU1vZGUgfSBmcm9tICcuL3RoZW1lLW1vZGUnO1xuaW1wb3J0IHsgU2t5VGhlbWVTZXR0aW5ncyB9IGZyb20gJy4vdGhlbWUtc2V0dGluZ3MnO1xuaW1wb3J0IHsgU2t5VGhlbWVTZXJ2aWNlIH0gZnJvbSAnLi90aGVtZS5zZXJ2aWNlJztcblxuY29uc3QgZGVmYXVsdFRoZW1lID0gbmV3IFNreVRoZW1lU2V0dGluZ3MoXG4gIFNreVRoZW1lLnByZXNldHMuZGVmYXVsdCxcbiAgU2t5VGhlbWVNb2RlLnByZXNldHMubGlnaHQsXG4pO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBuZXcgaW5zdGFuY2Ugb2YgYFNreVRoZW1lU2VydmljZWAgdG8gYWxsb3cgYSBjb250YWluZXJcbiAqIHRvIGhhdmUgaXRzIG93biB0aGVtZS5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NreVRoZW1lXScsXG4gIHByb3ZpZGVyczogW1NreVRoZW1lU2VydmljZV0sXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lUaGVtZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KClcbiAgcHVibGljIHNldCBza3lUaGVtZSh2YWx1ZTogU2t5VGhlbWVTZXR0aW5ncyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuc2t5VGhlbWVPckRlZmF1bHQgPSB2YWx1ZSB8fCBkZWZhdWx0VGhlbWU7XG5cbiAgICBpZiAodGhpcy4jaW5pdGlhbGl6ZWQpIHtcbiAgICAgIHRoaXMuI3RoZW1lU3ZjLnNldFRoZW1lKHRoaXMuc2t5VGhlbWVPckRlZmF1bHQpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBza3lUaGVtZU9yRGVmYXVsdCA9IGRlZmF1bHRUaGVtZTtcblxuICAjaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICAjZWxSZWY6IEVsZW1lbnRSZWY7XG4gICNyZW5kZXJlcjogUmVuZGVyZXIyO1xuICAjdGhlbWVTdmM6IFNreVRoZW1lU2VydmljZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBlbFJlZjogRWxlbWVudFJlZixcbiAgICByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHRoZW1lU3ZjOiBTa3lUaGVtZVNlcnZpY2UsXG4gICkge1xuICAgIHRoaXMuI2VsUmVmID0gZWxSZWY7XG4gICAgdGhpcy4jcmVuZGVyZXIgPSByZW5kZXJlcjtcbiAgICB0aGlzLiN0aGVtZVN2YyA9IHRoZW1lU3ZjO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuI3RoZW1lU3ZjLmluaXQoXG4gICAgICB0aGlzLiNlbFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgdGhpcy4jcmVuZGVyZXIsXG4gICAgICB0aGlzLnNreVRoZW1lT3JEZWZhdWx0LFxuICAgICk7XG5cbiAgICB0aGlzLiNpbml0aWFsaXplZCA9IHRydWU7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jdGhlbWVTdmMuZGVzdHJveSgpO1xuICB9XG59XG4iXX0=","import { NgModule } from '@angular/core';\nimport { SkyThemeClassDirective } from './theming/theme-class.directive';\nimport { SkyThemeIfDirective } from './theming/theme-if.directive';\nimport { SkyThemeDirective } from './theming/theme.directive';\nimport * as i0 from \"@angular/core\";\nexport class SkyThemeModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SkyThemeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.0.5\", ngImport: i0, type: SkyThemeModule, declarations: [SkyThemeClassDirective,\n SkyThemeDirective,\n SkyThemeIfDirective], exports: [SkyThemeClassDirective, SkyThemeDirective, SkyThemeIfDirective] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SkyThemeModule }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SkyThemeModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [\n SkyThemeClassDirective,\n SkyThemeDirective,\n SkyThemeIfDirective,\n ],\n exports: [SkyThemeClassDirective, SkyThemeDirective, SkyThemeIfDirective],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RoZW1lL3NyYy9saWIvdGhlbWUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDekUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBVTlELE1BQU0sT0FBTyxjQUFjOzhHQUFkLGNBQWM7K0dBQWQsY0FBYyxpQkFOdkIsc0JBQXNCO1lBQ3RCLGlCQUFpQjtZQUNqQixtQkFBbUIsYUFFWCxzQkFBc0IsRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUI7K0dBRTdELGNBQWM7OzJGQUFkLGNBQWM7a0JBUjFCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLHNCQUFzQjt3QkFDdEIsaUJBQWlCO3dCQUNqQixtQkFBbUI7cUJBQ3BCO29CQUNELE9BQU8sRUFBRSxDQUFDLHNCQUFzQixFQUFFLGlCQUFpQixFQUFFLG1CQUFtQixDQUFDO2lCQUMxRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreVRoZW1lQ2xhc3NEaXJlY3RpdmUgfSBmcm9tICcuL3RoZW1pbmcvdGhlbWUtY2xhc3MuZGlyZWN0aXZlJztcbmltcG9ydCB7IFNreVRoZW1lSWZEaXJlY3RpdmUgfSBmcm9tICcuL3RoZW1pbmcvdGhlbWUtaWYuZGlyZWN0aXZlJztcbmltcG9ydCB7IFNreVRoZW1lRGlyZWN0aXZlIH0gZnJvbSAnLi90aGVtaW5nL3RoZW1lLmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFNreVRoZW1lQ2xhc3NEaXJlY3RpdmUsXG4gICAgU2t5VGhlbWVEaXJlY3RpdmUsXG4gICAgU2t5VGhlbWVJZkRpcmVjdGl2ZSxcbiAgXSxcbiAgZXhwb3J0czogW1NreVRoZW1lQ2xhc3NEaXJlY3RpdmUsIFNreVRoZW1lRGlyZWN0aXZlLCBTa3lUaGVtZUlmRGlyZWN0aXZlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5VGhlbWVNb2R1bGUge31cbiJdfQ==","import { ChangeDetectorRef, Directive, HostBinding, inject, } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { SkyThemeService } from '../theming/theme.service';\nimport * as i0 from \"@angular/core\";\nexport class SkyThemeComponentClassDirective {\n #changeDetector;\n #themeService;\n constructor() {\n this.theme = 'sky-cmp-theme-default';\n this.#changeDetector = inject(ChangeDetectorRef);\n this.#themeService = inject(SkyThemeService, { optional: true });\n this.#themeService?.settingsChange\n .pipe(takeUntilDestroyed())\n .subscribe((change) => {\n this.theme = `sky-cmp-theme-${change.currentSettings.theme.name}`;\n this.#changeDetector.markForCheck();\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SkyThemeComponentClassDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.5\", type: SkyThemeComponentClassDirective, isStandalone: true, selector: \"[skyThemeClass]\", host: { properties: { \"class\": \"this.theme\" } }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SkyThemeComponentClassDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[skyThemeClass]',\n standalone: true,\n }]\n }], ctorParameters: () => [], propDecorators: { theme: [{\n type: HostBinding,\n args: ['class']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtY29tcG9uZW50LWNsYXNzLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90aGVtZS9zcmMvbGliL3RoZW1pbmcvdGhlbWUtY29tcG9uZW50LWNsYXNzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRWhFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFNM0QsTUFBTSxPQUFPLCtCQUErQjtJQUkxQyxlQUFlLENBQTZCO0lBQzVDLGFBQWEsQ0FBK0M7SUFFNUQ7UUFMTyxVQUFLLEdBQUcsdUJBQXVCLENBQUM7UUFFdkMsb0JBQWUsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM1QyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxlQUFlLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUcxRCxJQUFJLENBQUMsYUFBYSxFQUFFLGNBQWM7YUFDL0IsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7YUFDMUIsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxpQkFBaUIsTUFBTSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbEUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN0QyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBZFUsK0JBQStCO2tHQUEvQiwrQkFBK0I7OzJGQUEvQiwrQkFBK0I7a0JBSjNDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsVUFBVSxFQUFFLElBQUk7aUJBQ2pCO3dEQUdRLEtBQUs7c0JBRFgsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIERpcmVjdGl2ZSxcbiAgSG9zdEJpbmRpbmcsXG4gIGluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5cbmltcG9ydCB7IFNreVRoZW1lU2VydmljZSB9IGZyb20gJy4uL3RoZW1pbmcvdGhlbWUuc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tza3lUaGVtZUNsYXNzXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFNreVRoZW1lQ29tcG9uZW50Q2xhc3NEaXJlY3RpdmUge1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgcHVibGljIHRoZW1lID0gJ3NreS1jbXAtdGhlbWUtZGVmYXVsdCc7XG5cbiAgI2NoYW5nZURldGVjdG9yID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgI3RoZW1lU2VydmljZSA9IGluamVjdChTa3lUaGVtZVNlcnZpY2UsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy4jdGhlbWVTZXJ2aWNlPy5zZXR0aW5nc0NoYW5nZVxuICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpXG4gICAgICAuc3Vic2NyaWJlKChjaGFuZ2UpID0+IHtcbiAgICAgICAgdGhpcy50aGVtZSA9IGBza3ktY21wLXRoZW1lLSR7Y2hhbmdlLmN1cnJlbnRTZXR0aW5ncy50aGVtZS5uYW1lfWA7XG4gICAgICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG4gIH1cbn1cbiJdfQ==","import { DOCUMENT, DestroyRef, Injectable, NgZone, inject, } from '@angular/core';\nimport { ReplaySubject } from 'rxjs';\nimport * as i0 from \"@angular/core\";\n/**\n * Provides information about the state of the application's viewport.\n */\nexport class SkyAppViewportService {\n // ESLint doesn't recognize how this is used.\n #updateRequest;\n #reserveItems;\n #conditionallyReserveItems;\n #document;\n #ngZone;\n // Observe elements crossing the browser's viewport boundaries.\n #intersectionObserver;\n #reservedSpaces;\n constructor() {\n /**\n * Updated when the viewport becomes visible. While the page is rendered, the\n * viewport may remain hidden as fonts and styles are loaded asynchronously;\n * this is done to avoid a FOUC (Flash Of Unstyled Content) before the fonts\n * and styles are ready.\n */\n this.visible = new ReplaySubject(1);\n // ESLint doesn't recognize how this is used.\n this.#updateRequest = undefined;\n this.#reserveItems = new Map();\n this.#conditionallyReserveItems = new Map();\n this.#document = inject(DOCUMENT);\n this.#ngZone = inject(NgZone);\n // Observe elements crossing the browser's viewport boundaries.\n this.#intersectionObserver = this.#ngZone.runOutsideAngular(() => new IntersectionObserver(() => this.#ngZone.run(() => this.#updateViewportArea()), { threshold: Array.from({ length: 101 }, (_, i) => i / 100) }));\n this.#reservedSpaces = {\n bottom: 0,\n left: 0,\n right: 0,\n top: 0,\n };\n const onScroll = () => {\n if (this.#conditionallyReserveItems.size > 0) {\n this.#updateViewportArea();\n }\n };\n this.#document.addEventListener('scroll', onScroll);\n inject(DestroyRef).onDestroy(() => {\n /* istanbul ignore next */\n if (this.#updateRequest !== undefined) {\n cancelAnimationFrame(this.#updateRequest);\n }\n this.#intersectionObserver.disconnect();\n this.#document.removeEventListener('scroll', onScroll);\n });\n }\n /**\n * Reserves space for components docked to the left, top, right, or bottom of the viewport.\n * @param args\n */\n reserveSpace(args) {\n const item = {\n ...args,\n active: this.#isElementVisible({ ...args, active: false }),\n };\n this.#reserveItems.set(args.id, item);\n this.#watchVisibility(item);\n this.#updateViewportArea();\n }\n /**\n * Removes reserved space for a component by the ID provided when it was reserved.\n * @param id\n */\n unreserveSpace(id) {\n const args = this.#reserveItems.get(id);\n if (args?.reserveForElement) {\n this.#intersectionObserver.unobserve(args.reserveForElement);\n this.#conditionallyReserveItems.delete(args.reserveForElement);\n }\n this.#reserveItems.delete(id);\n this.#updateViewportArea();\n }\n #updateViewportArea() {\n this.#updateRequest ??= requestAnimationFrame(() => {\n this.#updateRequest = undefined;\n const reservedSpaces = {\n bottom: 0,\n left: 0,\n right: 0,\n top: 0,\n };\n for (const args of this.#reserveItems.values()) {\n args.active = this.#isElementVisible(args, reservedSpaces);\n if (args.active) {\n reservedSpaces[args.position] += args.size;\n }\n }\n this.#reservedSpaces = reservedSpaces;\n const documentElementStyle = this.#document.documentElement.style;\n for (const [position, size] of Object.entries(reservedSpaces)) {\n documentElementStyle.setProperty(`--sky-viewport-${position}`, size + 'px');\n }\n });\n }\n #watchVisibility(item) {\n if (item.reserveForElement) {\n this.#conditionallyReserveItems.set(item.reserveForElement, item);\n this.#intersectionObserver.observe(item.reserveForElement);\n }\n }\n #isElementVisible(args, reservedSpaces = this\n .#reservedSpaces) {\n if (!args.reserveForElement) {\n return true;\n }\n const rect = args.reserveForElement.getBoundingClientRect();\n if (!rect || !rect.height || !rect.width) {\n return false;\n }\n const midpoint = {\n x: rect.x + Math.floor(rect.width / 2),\n y: rect.y + Math.floor(rect.height / 2),\n };\n if (\n // Vertically in view\n midpoint.y <= window.innerHeight &&\n midpoint.y >= 0 &&\n // Horizontally in view\n midpoint.x <= window.innerWidth &&\n midpoint.x >= 0) {\n // Element is not hidden by another element\n if (args.reserveForElement.contains(this.#document.elementFromPoint(midpoint.x, midpoint.y))) {\n return true;\n }\n // Check if the item's midpoint is visible based on current reserved spaces.\n // Assumes reserved spaces are intended to be additive and not overlapping.\n const threshold = reservedSpaces[args.position];\n switch (args.position) {\n case 'top':\n return midpoint.y >= threshold;\n case 'right':\n return midpoint.x <= window.innerWidth - threshold;\n case 'bottom':\n return midpoint.y <= window.innerHeight - threshold;\n case 'left':\n return midpoint.x >= threshold;\n }\n }\n return false;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SkyAppViewportService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SkyAppViewportService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SkyAppViewportService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld3BvcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90aGVtZS9zcmMvbGliL3ZpZXdwb3J0L3ZpZXdwb3J0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFFBQVEsRUFDUixVQUFVLEVBQ1YsVUFBVSxFQUNWLE1BQU0sRUFDTixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFTckM7O0dBRUc7QUFJSCxNQUFNLE9BQU8scUJBQXFCO0lBU2hDLDZDQUE2QztJQUM3QyxjQUFjLENBQWlDO0lBQ3RDLGFBQWEsQ0FBc0M7SUFDbkQsMEJBQTBCLENBQXVDO0lBQ2pFLFNBQVMsQ0FBb0I7SUFDN0IsT0FBTyxDQUFrQjtJQUNsQywrREFBK0Q7SUFDdEQscUJBQXFCLENBTTVCO0lBQ0YsZUFBZSxDQUtiO0lBRUY7UUE3QkE7Ozs7O1dBS0c7UUFDSSxZQUFPLEdBQUcsSUFBSSxhQUFhLENBQVUsQ0FBQyxDQUFDLENBQUM7UUFFL0MsNkNBQTZDO1FBQzdDLG1CQUFjLEdBQXVCLFNBQVMsQ0FBQztRQUN0QyxrQkFBYSxHQUFHLElBQUksR0FBRyxFQUEyQixDQUFDO1FBQ25ELCtCQUEwQixHQUFHLElBQUksR0FBRyxFQUE0QixDQUFDO1FBQ2pFLGNBQVMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0IsWUFBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQywrREFBK0Q7UUFDdEQsMEJBQXFCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FDN0QsR0FBRyxFQUFFLENBQ0gsSUFBSSxvQkFBb0IsQ0FDdEIsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMs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LFFBQVE7b0JBQ1gsT0FBTyxRQUFRLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxXQUFXLEdBQUcsU0FBUyxDQUFDO2dCQUN0RCxLQUFLLE1BQU07b0JBQ1QsT0FBTyxRQUFRLENBQUMsQ0FBQyxJQUFJLFNBQVMsQ0FBQztZQUNuQyxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs4R0FoS1UscUJBQXFCO2tIQUFyQixxQkFBcUIsY0FGcEIsTUFBTTs7MkZBRVAscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERPQ1VNRU5ULFxuICBEZXN0cm95UmVmLFxuICBJbmplY3RhYmxlLFxuICBOZ1pvbmUsXG4gIGluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2t5QXBwVmlld3BvcnRSZXNlcnZlQXJncyB9IGZyb20gJy4vdmlld3BvcnQtcmVzZXJ2ZS1hcmdzJztcbmltcG9ydCB7IFNreUFwcFZpZXdwb3J0UmVzZXJ2ZWRQb3NpdGlvblR5cGUgfSBmcm9tICcuL3ZpZXdwb3J0LXJlc2VydmUtcG9zaXRpb24tdHlwZSc7XG5cbnR5cGUgUmVzZXJ2ZUl0ZW1UeXBlID0gU2t5QXBwVmlld3BvcnRSZXNlcnZlQXJncyAmIHtcbiAgYWN0aXZlOiBib29sZWFuO1xufTtcblxuLyoqXG4gKiBQcm92aWRlcyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc3RhdGUgb2YgdGhlIGFwcGxpY2F0aW9uJ3Mgdmlld3BvcnQuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lBcHBWaWV3cG9ydFNlcnZpY2Uge1xuICAvKipcbiAgICogVXBkYXRlZCB3aGVuIHRoZSB2aWV3cG9ydCBiZWNvbWVzIHZpc2libGUuICBXaGlsZSB0aGUgcGFnZSBpcyByZW5kZXJlZCwgdGhlXG4gICAqIHZpZXdwb3J0IG1heSByZW1haW4gaGlkZGVuIGFzIGZvbnRzIGFuZCBzdHlsZXMgYXJlIGxvYWRlZCBhc3luY2hyb25vdXNseTtcbiAgICogdGhpcyBpcyBkb25lIHRvIGF2b2lkIGEgRk9VQyAoRmxhc2ggT2YgVW5zdHlsZWQgQ29udGVudCkgYmVmb3JlIHRoZSBmb250c1xuICAgKiBhbmQgc3R5bGVzIGFyZSByZWFkeS5cbiAgICovXG4gIHB1YmxpYyB2aXNpYmxlID0gbmV3IFJlcGxheVN1YmplY3Q8Ym9vbGVhbj4oMSk7XG5cbiAgLy8gRVNMaW50IGRvZXNuJ3QgcmVjb2duaXplIGhvdyB0aGlzIGlzIHVzZWQuXG4gICN1cGRhdGVSZXF1ZXN0OiBudW1iZXIgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gIHJlYWRvbmx5ICNyZXNlcnZlSXRlbXMgPSBuZXcgTWFwPHN0cmluZywgUmVzZXJ2ZUl0ZW1UeXBlPigpO1xuICByZWFkb25seSAjY29uZGl0aW9uYWxseVJlc2VydmVJdGVtcyA9IG5ldyBNYXA8RWxlbWVudCwgUmVzZXJ2ZUl0ZW1UeXBlPigpO1xuICByZWFkb25seSAjZG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xuICByZWFkb25seSAjbmdab25lID0gaW5qZWN0KE5nWm9uZSk7XG4gIC8vIE9ic2VydmUgZWxlbWVudHMgY3Jvc3NpbmcgdGhlIGJyb3dzZXIncyB2aWV3cG9ydCBib3VuZGFyaWVzLlxuICByZWFkb25seSAjaW50ZXJzZWN0aW9uT2JzZXJ2ZXIgPSB0aGlzLiNuZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoXG4gICAgKCkgPT5cbiAgICAgIG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihcbiAgICAgICAgKCkgPT4gdGhpcy4jbmdab25lLnJ1bigoKSA9PiB0aGlzLiN1cGRhdGVWaWV3cG9ydEFyZWEoKSksXG4gICAgICAgIHsgdGhyZXNob2xkOiBBcnJheS5mcm9tKHsgbGVuZ3RoOiAxMDEgfSwgKF8sIGkpID0+IGkgLyAxMDApIH0sXG4gICAgICApLFxuICApO1xuICAjcmVzZXJ2ZWRTcGFjZXM6IFJlY29yZDxTa3lBcHBWaWV3cG9ydFJlc2VydmVkUG9zaXRpb25UeXBlLCBudW1iZXI+ID0ge1xuICAgIGJvdHRvbTogMCxcbiAgICBsZWZ0OiAwLFxuICAgIHJpZ2h0OiAwLFxuICAgIHRvcDogMCxcbiAgfTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBjb25zdCBvblNjcm9sbCA9ICgpOiB2b2lkID0+IHtcbiAgICAgIGlmICh0aGlzLiNjb25kaXRpb25hbGx5UmVzZXJ2ZUl0ZW1zLnNpemUgPiAwKSB7XG4gICAgICAgIHRoaXMuI3VwZGF0ZVZpZXdwb3J0QXJlYSgpO1xuICAgICAgfVxuICAgIH07XG4gICAgdGhpcy4jZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgb25TY3JvbGwpO1xuICAgIGluamVjdChEZXN0cm95UmVmKS5vbkRlc3Ryb3koKCkgPT4ge1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIGlmICh0aGlzLiN1cGRhdGVSZXF1ZXN0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy4jdXBkYXRlUmVxdWVzdCk7XG4gICAgICB9XG4gICAgICB0aGlzLiNpbnRlcnNlY3Rpb25PYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICB0aGlzLiNkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBvblNjcm9sbCk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmVzZXJ2ZXMgc3BhY2UgZm9yIGNvbXBvbmVudHMgZG9ja2VkIHRvIHRoZSBsZWZ0LCB0b3AsIHJpZ2h0LCBvciBib3R0b20gb2YgdGhlIHZpZXdwb3J0LlxuICAgKiBAcGFyYW0gYXJnc1xuICAgKi9cbiAgcHVibGljIHJlc2VydmVTcGFjZShhcmdzOiBTa3lBcHBWaWV3cG9ydFJlc2VydmVBcmdzKTogdm9pZCB7XG4gICAgY29uc3QgaXRlbSA9IHtcbiAgICAgIC4uLmFyZ3MsXG4gICAgICBhY3RpdmU6IHRoaXMuI2lzRWxlbWVudFZpc2libGUoeyAuLi5hcmdzLCBhY3RpdmU6IGZhbHNlIH0pLFxuICAgIH07XG4gICAgdGhpcy4jcmVzZXJ2ZUl0ZW1zLnNldChhcmdzLmlkLCBpdGVtKTtcbiAgICB0aGlzLiN3YXRjaFZpc2liaWxpdHkoaXRlbSk7XG4gICAgdGhpcy4jdXBkYXRlVmlld3BvcnRBcmVhKCk7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlcyByZXNlcnZlZCBzcGFjZSBmb3IgYSBjb21wb25lbnQgYnkgdGhlIElEIHByb3ZpZGVkIHdoZW4gaXQgd2FzIHJlc2VydmVkLlxuICAgKiBAcGFyYW0gaWRcbiAgICovXG4gIHB1YmxpYyB1bnJlc2VydmVTcGFjZShpZDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgYXJncyA9IHRoaXMuI3Jlc2VydmVJdGVtcy5nZXQoaWQpO1xuICAgIGlmIChhcmdzPy5yZXNlcnZlRm9yRWxlbWVudCkge1xuICAgICAgdGhpcy4jaW50ZXJzZWN0aW9uT2JzZXJ2ZXIudW5vYnNlcnZlKGFyZ3MucmVzZXJ2ZUZvckVsZW1lbnQpO1xuICAgICAgdGhpcy4jY29uZGl0aW9uYWxseVJlc2VydmVJdGVtcy5kZWxldGUoYXJncy5yZXNlcnZlRm9yRWxlbWVudCk7XG4gICAgfVxuICAgIHRoaXMuI3Jlc2VydmVJdGVtcy5kZWxldGUoaWQpO1xuICAgIHRoaXMuI3VwZGF0ZVZpZXdwb3J0QXJlYSgpO1xuICB9XG5cbiAgI3VwZGF0ZVZpZXdwb3J0QXJlYSgpOiB2b2lkIHtcbiAgICB0aGlzLiN1cGRhdGVSZXF1ZXN0ID8/PSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgdGhpcy4jdXBkYXRlUmVxdWVzdCA9IHVuZGVmaW5lZDtcbiAgICAgIGNvbnN0IHJlc2VydmVkU3BhY2VzOiBSZWNvcmQ8U2t5QXBwVmlld3BvcnRSZXNlcnZlZFBvc2l0aW9uVHlwZSwgbnVtYmVyPiA9XG4gICAgICAgIHtcbiAgICAgICAgICBib3R0b206IDAsXG4gICAgICAgICAgbGVmdDogMCxcbiAgICAgICAgICByaWdodDogMCxcbiAgICAgICAgICB0b3A6IDAsXG4gICAgICAgIH07XG5cbiAgICAgIGZvciAoY29uc3QgYXJncyBvZiB0aGlzLiNyZXNlcnZlSXRlbXMudmFsdWVzKCkpIHtcbiAgICAgICAgYXJncy5hY3RpdmUgPSB0aGlzLiNpc0VsZW1lbnRWaXNpYmxlKGFyZ3MsIHJlc2VydmVkU3BhY2VzKTtcbiAgICAgICAgaWYgKGFyZ3MuYWN0aXZlKSB7XG4gICAgICAgICAgcmVzZXJ2ZWRTcGFjZXNbYXJncy5wb3NpdGlvbl0gKz0gYXJncy5zaXplO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHRoaXMuI3Jlc2VydmVkU3BhY2VzID0gcmVzZXJ2ZWRTcGFjZXM7XG4gICAgICBjb25zdCBkb2N1bWVudEVsZW1lbnRTdHlsZSA9IHRoaXMuI2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZTtcblxuICAgICAgZm9yIChjb25zdCBbcG9zaXRpb24sIHNpemVdIG9mIE9iamVjdC5lbnRyaWVzKHJlc2VydmVkU3BhY2VzKSkge1xuICAgICAgICBkb2N1bWVudEVsZW1lbnRTdHlsZS5zZXRQcm9wZXJ0eShcbiAgICAgICAgICBgLS1za3ktdmlld3BvcnQtJHtwb3NpdGlvbn1gLFxuICAgICAgICAgIHNpemUgKyAncHgnLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgI3dhdGNoVmlzaWJpbGl0eShpdGVtOiBSZXNlcnZlSXRlbVR5cGUpOiB2b2lkIHtcbiAgICBpZiAoaXRlbS5yZXNlcnZlRm9yRWxlbWVudCkge1xuICAgICAgdGhpcy4jY29uZGl0aW9uYWxseVJlc2VydmVJdGVtcy5zZXQoaXRlbS5yZXNlcnZlRm9yRWxlbWVudCwgaXRlbSk7XG4gICAgICB0aGlzLiNpbnRlcnNlY3Rpb25PYnNlcnZlci5vYnNlcnZlKGl0ZW0ucmVzZXJ2ZUZvckVsZW1lbnQpO1xuICAgIH1cbiAgfVxuXG4gICNpc0VsZW1lbnRWaXNpYmxlKFxuICAgIGFyZ3M6IFJlc2VydmVJdGVtVHlwZSxcbiAgICByZXNlcnZlZFNwYWNlczogUmVjb3JkPFNreUFwcFZpZXdwb3J0UmVzZXJ2ZWRQb3NpdGlvblR5cGUsIG51bWJlcj4gPSB0aGlzXG4gICAgICAuI3Jlc2VydmVkU3BhY2VzLFxuICApOiBib29sZWFuIHtcbiAgICBpZiAoIWFyZ3MucmVzZXJ2ZUZvckVsZW1lbnQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBjb25zdCByZWN0ID0gYXJncy5yZXNlcnZlRm9yRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBpZiAoIXJlY3QgfHwgIXJlY3QuaGVpZ2h0IHx8ICFyZWN0LndpZHRoKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGNvbnN0IG1pZHBvaW50ID0ge1xuICAgICAgeDogcmVjdC54ICsgTWF0aC5mbG9vcihyZWN0LndpZHRoIC8gMiksXG4gICAgICB5OiByZWN0LnkgKyBNYXRoLmZsb29yKHJlY3QuaGVpZ2h0IC8gMiksXG4gICAgfTtcbiAgICBpZiAoXG4gICAgICAvLyBWZXJ0aWNhbGx5IGluIHZpZXdcbiAgICAgIG1pZHBvaW50LnkgPD0gd2luZG93LmlubmVySGVpZ2h0ICYmXG4gICAgICBtaWRwb2ludC55ID49IDAgJiZcbiAgICAgIC8vIEhvcml6b250YWxseSBpbiB2aWV3XG4gICAgICBtaWRwb2ludC54IDw9IHdpbmRvdy5pbm5lcldpZHRoICYmXG4gICAgICBtaWRwb2ludC54ID49IDBcbiAgICApIHtcbiAgICAgIC8vIEVsZW1lbnQgaXMgbm90IGhpZGRlbiBieSBhbm90aGVyIGVsZW1lbnRcbiAgICAgIGlmIChcbiAgICAgICAgYXJncy5yZXNlcnZlRm9yRWxlbWVudC5jb250YWlucyhcbiAgICAgICAgICB0aGlzLiNkb2N1bWVudC5lbGVtZW50RnJvbVBvaW50KG1pZHBvaW50LngsIG1pZHBvaW50LnkpLFxuICAgICAgICApXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICAgIC8vIENoZWNrIGlmIHRoZSBpdGVtJ3MgbWlkcG9pbnQgaXMgdmlzaWJsZSBiYXNlZCBvbiBjdXJyZW50IHJlc2VydmVkIHNwYWNlcy5cbiAgICAgIC8vIEFzc3VtZXMgcmVzZXJ2ZWQgc3BhY2VzIGFyZSBpbnRlbmRlZCB0byBiZSBhZGRpdGl2ZSBhbmQgbm90IG92ZXJsYXBwaW5nLlxuICAgICAgY29uc3QgdGhyZXNob2xkID0gcmVzZXJ2ZWRTcGFjZXNbYXJncy5wb3NpdGlvbl07XG4gICAgICBzd2l0Y2ggKGFyZ3MucG9zaXRpb24pIHtcbiAgICAgICAgY2FzZSAndG9wJzpcbiAgICAgICAgICByZXR1cm4gbWlkcG9pbnQueSA+PSB0aHJlc2hvbGQ7XG4gICAgICAgIGNhc2UgJ3JpZ2h0JzpcbiAgICAgICAgICByZXR1cm4gbWlkcG9pbnQueCA8PSB3aW5kb3cuaW5uZXJXaWR0aCAtIHRocmVzaG9sZDtcbiAgICAgICAgY2FzZSAnYm90dG9tJzpcbiAgICAgICAgICByZXR1cm4gbWlkcG9pbnQueSA8PSB3aW5kb3cuaW5uZXJIZWlnaHQgLSB0aHJlc2hvbGQ7XG4gICAgICAgIGNhc2UgJ2xlZnQnOlxuICAgICAgICAgIHJldHVybiBtaWRwb2ludC54ID49IHRocmVzaG9sZDtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iXX0=","import { DOCUMENT, RendererFactory2, inject, makeEnvironmentProviders, provideAppInitializer, } from '@angular/core';\nimport { SkyTheme } from '../theming/theme';\nimport { SkyThemeMode } from '../theming/theme-mode';\nimport { SkyThemeSettings } from '../theming/theme-settings';\nimport { SkyThemeSpacing } from '../theming/theme-spacing';\nimport { SkyThemeService } from '../theming/theme.service';\nexport function provideInitialTheme(name = 'default', options) {\n return makeEnvironmentProviders([\n SkyThemeService,\n provideAppInitializer(() => {\n const initializerFn = ((themeService, doc, rendererFactory) => {\n return () => {\n themeService.init(doc.body, rendererFactory.createRenderer(null, null), new SkyThemeSettings(SkyTheme.presets[name], SkyThemeMode.presets[options?.mode ?? 'light'], SkyThemeSpacing.presets[options?.spacing ?? 'standard']));\n };\n })(inject(SkyThemeService), inject(DOCUMENT), inject(RendererFactory2));\n return initializerFn();\n }),\n ]);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1pbml0aWFsLXRoZW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RoZW1lL3NyYy9saWIvcHJvdmlkZXJzL3Byb3ZpZGUtaW5pdGlhbC10aGVtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsUUFBUSxFQUVSLGdCQUFnQixFQUNoQixNQUFNLEVBQ04sd0JBQXdCLEVBQ3hCLHFCQUFxQixHQUN0QixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFM0QsTUFBTSxVQUFVLG1CQUFtQixDQUNqQyxPQUFzQyxTQUFTLEVBQy9DLE9BR0M7SUFFRCxPQUFPLHdCQUF3QixDQUFDO1FBQzlCLGVBQWU7UUFDZixxQkFBcUIsQ0FBQyxHQUFHLEVBQUU7WUFDekIsTUFBTSxhQUFhLEdBQUcsQ0FBQyxDQUNyQixZQUE2QixFQUM3QixHQUFhLEVBQ2IsZUFBaUMsRUFDakMsRUFBRTtnQkFDRixPQUFPLEdBQVMsRUFBRTtvQkFDaEIsWUFBWSxDQUFDLElBQUksQ0FDZixHQUFHLENBQUMsSUFBSSxFQUNSLGVBQWUsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUMxQyxJQUFJLGdCQUFnQixDQUNsQixRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUN0QixZQUFZLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLElBQUksT0FBTyxDQUFDLEVBQzlDLGVBQWUsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLE9BQU8sSUFBSSxVQUFVLENBQUMsQ0FDeEQsQ0FDRixDQUFDO2dCQUNKLENBQUMsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztZQUN4RSxPQUFPLGFBQWEsRUFBRSxDQUFDO1FBQ3pCLENBQUMsQ0FBQztLQUNILENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBET0NVTUVOVCxcbiAgRW52aXJvbm1lbnRQcm92aWRlcnMsXG4gIFJlbmRlcmVyRmFjdG9yeTIsXG4gIGluamVjdCxcbiAgbWFrZUVudmlyb25tZW50UHJvdmlkZXJzLFxuICBwcm92aWRlQXBwSW5pdGlhbGl6ZXIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTa3lUaGVtZSB9IGZyb20gJy4uL3RoZW1pbmcvdGhlbWUnO1xuaW1wb3J0IHsgU2t5VGhlbWVNb2RlIH0gZnJvbSAnLi4vdGhlbWluZy90aGVtZS1tb2RlJztcbmltcG9ydCB7IFNreVRoZW1lU2V0dGluZ3MgfSBmcm9tICcuLi90aGVtaW5nL3RoZW1lLXNldHRpbmdzJztcbmltcG9ydCB7IFNreVRoZW1lU3BhY2luZyB9IGZyb20gJy4uL3RoZW1pbmcvdGhlbWUtc3BhY2luZyc7XG5pbXBvcnQgeyBTa3lUaGVtZVNlcnZpY2UgfSBmcm9tICcuLi90aGVtaW5nL3RoZW1lLnNlcnZpY2UnO1xuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUluaXRpYWxUaGVtZShcbiAgbmFtZToga2V5b2YgdHlwZW9mIFNreVRoZW1lLnByZXNldHMgPSAnZGVmYXVsdCcsXG4gIG9wdGlvbnM/OiB7XG4gICAgbW9kZT86IGtleW9mIHR5cGVvZiBTa3lUaGVtZU1vZGUucHJlc2V0cztcbiAgICBzcGFjaW5nPzoga2V5b2YgdHlwZW9mIFNreVRoZW1lU3BhY2luZy5wcmVzZXRzO1xuICB9LFxuKTogRW52aXJvbm1lbnRQcm92aWRlcnMge1xuICByZXR1cm4gbWFrZUVudmlyb25tZW50UHJvdmlkZXJzKFtcbiAgICBTa3lUaGVtZVNlcnZpY2UsXG4gICAgcHJvdmlkZUFwcEluaXRpYWxpemVyKCgpID0+IHtcbiAgICAgIGNvbnN0IGluaXRpYWxpemVyRm4gPSAoKFxuICAgICAgICB0aGVtZVNlcnZpY2U6IFNreVRoZW1lU2VydmljZSxcbiAgICAgICAgZG9jOiBEb2N1bWVudCxcbiAgICAgICAgcmVuZGVyZXJGYWN0b3J5OiBSZW5kZXJlckZhY3RvcnkyLFxuICAgICAgKSA9PiB7XG4gICAgICAgIHJldHVybiAoKTogdm9pZCA9PiB7XG4gICAgICAgICAgdGhlbWVTZXJ2aWNlLmluaXQoXG4gICAgICAgICAgICBkb2MuYm9keSxcbiAgICAgICAgICAgIHJlbmRlcmVyRmFjdG9yeS5jcmVhdGVSZW5kZXJlcihudWxsLCBudWxsKSxcbiAgICAgICAgICAgIG5ldyBTa3lUaGVtZVNldHRpbmdzKFxuICAgICAgICAgICAgICBTa3lUaGVtZS5wcmVzZXRzW25hbWVdLFxuICAgICAgICAgICAgICBTa3lUaGVtZU1vZGUucHJlc2V0c1tvcHRpb25zPy5tb2RlID8/ICdsaWdodCddLFxuICAgICAgICAgICAgICBTa3lUaGVtZVNwYWNpbmcucHJlc2V0c1tvcHRpb25zPy5zcGFjaW5nID8/ICdzdGFuZGFyZCddLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICApO1xuICAgICAgICB9O1xuICAgICAgfSkoaW5qZWN0KFNreVRoZW1lU2VydmljZSksIGluamVjdChET0NVTUVOVCksIGluamVjdChSZW5kZXJlckZhY3RvcnkyKSk7XG4gICAgICByZXR1cm4gaW5pdGlhbGl6ZXJGbigpO1xuICAgIH0pLFxuICBdKTtcbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5dXgtdGhlbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGhlbWUvc3JjL3NreXV4LXRoZW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["i1.SkyThemeService"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skyux/theme",
|
|
3
|
-
"version": "13.0.0-alpha.
|
|
3
|
+
"version": "13.0.0-alpha.2",
|
|
4
4
|
"author": "Blackbaud, Inc.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"blackbaud",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"@angular/core": "^20.0.5"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@blackbaud/skyux-design-tokens": "2.0.0-alpha.
|
|
23
|
+
"@blackbaud/skyux-design-tokens": "2.0.0-alpha.4",
|
|
24
24
|
"@skyux/icons": "9.0.0",
|
|
25
25
|
"fontfaceobserver": "2.3.0",
|
|
26
26
|
"tslib": "^2.8.1"
|