@siemens/element-ng 51.5.0 → 51.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/siemens-element-ng-application-header.mjs +39 -9
- package/fesm2022/siemens-element-ng-application-header.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-dashboard.mjs +5 -2
- package/fesm2022/siemens-element-ng-dashboard.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-datepicker.mjs +17 -5
- package/fesm2022/siemens-element-ng-datepicker.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-filtered-search.mjs +19 -5
- package/fesm2022/siemens-element-ng-filtered-search.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-navbar.mjs +1 -1
- package/fesm2022/siemens-element-ng-navbar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-notification-item.mjs +2 -2
- package/fesm2022/siemens-element-ng-notification-item.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-translate.mjs.map +1 -1
- package/package.json +4 -4
- package/template-i18n.json +1 -0
- package/types/siemens-element-ng-application-header.d.ts +11 -2
- package/types/siemens-element-ng-dashboard.d.ts +4 -1
- package/types/siemens-element-ng-translate.d.ts +1 -0
|
@@ -492,6 +492,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
492
492
|
*/
|
|
493
493
|
/** Adds an account item to the header. Should be located inside `.header-actions`. */
|
|
494
494
|
class SiHeaderAccountItemComponent extends SiHeaderActionIconItemBase {
|
|
495
|
+
itemTitle = viewChild.required('itemTitle', { ...(ngDevMode ? { debugName: "itemTitle" } : /* istanbul ignore next */ {}), read: ElementRef });
|
|
495
496
|
/** Name of the account. */
|
|
496
497
|
name = input.required(/* @ts-ignore */
|
|
497
498
|
...(ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []));
|
|
@@ -501,17 +502,26 @@ class SiHeaderAccountItemComponent extends SiHeaderActionIconItemBase {
|
|
|
501
502
|
/** URL to an image which should be shown instead of the initials. */
|
|
502
503
|
imageUrl = input(/* @ts-ignore */
|
|
503
504
|
...(ngDevMode ? [undefined, { debugName: "imageUrl" }] : /* istanbul ignore next */ []));
|
|
504
|
-
|
|
505
|
+
/**
|
|
506
|
+
* Accessible label for the account item.
|
|
507
|
+
*
|
|
508
|
+
* @defaultValue
|
|
509
|
+
* ```
|
|
510
|
+
* t(() => $localize`:@@SI_APPLICATION_HEADER.ACCOUNT:Account of {{name}}`)
|
|
511
|
+
* ```
|
|
512
|
+
*/
|
|
513
|
+
accountItemLabel = input(t(() => $localize `:@@SI_APPLICATION_HEADER.ACCOUNT:Account of {{name}}`), /* @ts-ignore */
|
|
514
|
+
...(ngDevMode ? [{ debugName: "accountItemLabel" }] : /* istanbul ignore next */ []));
|
|
505
515
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiHeaderAccountItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
506
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SiHeaderAccountItemComponent, isStandalone: true, selector: "button[si-header-account-item]", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null }, initials: { classPropertyName: "initials", publicName: "initials", isSignal: true, isRequired: false, transformFunction: null }, imageUrl: { classPropertyName: "imageUrl", publicName: "imageUrl", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.dropdown-toggle": "!!dropdownTrigger" }, classAttribute: "header-item focus-inside px-4 py-0" }, providers: [SiTooltipService], usesInheritance: true, ngImport: i0, template: "<si-avatar\n size=\"small\"\n color=\"0\"\n [altText]=\"name()\"\n [initials]=\"initials()\"\n [imageUrl]=\"imageUrl()\"\n/>\n<div class=\"item-title\"
|
|
516
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SiHeaderAccountItemComponent, isStandalone: true, selector: "button[si-header-account-item]", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null }, initials: { classPropertyName: "initials", publicName: "initials", isSignal: true, isRequired: false, transformFunction: null }, imageUrl: { classPropertyName: "imageUrl", publicName: "imageUrl", isSignal: true, isRequired: false, transformFunction: null }, accountItemLabel: { classPropertyName: "accountItemLabel", publicName: "accountItemLabel", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.dropdown-toggle": "!!dropdownTrigger" }, classAttribute: "header-item focus-inside px-4 py-0" }, providers: [SiTooltipService], viewQueries: [{ propertyName: "itemTitle", first: true, predicate: ["itemTitle"], descendants: true, read: ElementRef, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<si-avatar\n size=\"small\"\n color=\"0\"\n aria-hidden=\"true\"\n [altText]=\"name()\"\n [initials]=\"initials()\"\n [imageUrl]=\"imageUrl()\"\n/>\n<div #itemTitle class=\"item-title\" [class.visually-hidden]=\"visuallyHideTitle()\">\n {{ accountItemLabel() | translate: { name: name() } }}\n</div>\n@if (badgeValue()) {\n <div class=\"badge-text\">{{ badgeValue() }}</div>\n}\n@if (dropdownTrigger) {\n <si-icon class=\"dropdown-caret\" [icon]=\"icons.elementDown2\" />\n}\n", styles: ["si-avatar.small{--avatar-size: calc(1.5rem + 2 * var(--si-sys-sizing-spacing-y-20))}\n"], dependencies: [{ kind: "component", type: SiAvatarComponent, selector: "si-avatar", inputs: ["size", "imageUrl", "icon", "initials", "color", "altText", "status", "statusAriaLabel"] }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }] });
|
|
507
517
|
}
|
|
508
518
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiHeaderAccountItemComponent, decorators: [{
|
|
509
519
|
type: Component,
|
|
510
|
-
args: [{ selector: 'button[si-header-account-item]', imports: [SiAvatarComponent, SiIconComponent], providers: [SiTooltipService], host: {
|
|
520
|
+
args: [{ selector: 'button[si-header-account-item]', imports: [SiAvatarComponent, SiIconComponent, SiTranslatePipe], providers: [SiTooltipService], host: {
|
|
511
521
|
class: 'header-item focus-inside px-4 py-0',
|
|
512
522
|
'[class.dropdown-toggle]': '!!dropdownTrigger'
|
|
513
|
-
}, template: "<si-avatar\n size=\"small\"\n color=\"0\"\n [altText]=\"name()\"\n [initials]=\"initials()\"\n [imageUrl]=\"imageUrl()\"\n/>\n<div class=\"item-title\"
|
|
514
|
-
}], propDecorators: { name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: true }] }], initials: [{ type: i0.Input, args: [{ isSignal: true, alias: "initials", required: false }] }], imageUrl: [{ type: i0.Input, args: [{ isSignal: true, alias: "imageUrl", required: false }] }] } });
|
|
523
|
+
}, template: "<si-avatar\n size=\"small\"\n color=\"0\"\n aria-hidden=\"true\"\n [altText]=\"name()\"\n [initials]=\"initials()\"\n [imageUrl]=\"imageUrl()\"\n/>\n<div #itemTitle class=\"item-title\" [class.visually-hidden]=\"visuallyHideTitle()\">\n {{ accountItemLabel() | translate: { name: name() } }}\n</div>\n@if (badgeValue()) {\n <div class=\"badge-text\">{{ badgeValue() }}</div>\n}\n@if (dropdownTrigger) {\n <si-icon class=\"dropdown-caret\" [icon]=\"icons.elementDown2\" />\n}\n", styles: ["si-avatar.small{--avatar-size: calc(1.5rem + 2 * var(--si-sys-sizing-spacing-y-20))}\n"] }]
|
|
524
|
+
}], propDecorators: { itemTitle: [{ type: i0.ViewChild, args: ['itemTitle', { ...{ read: ElementRef }, isSignal: true }] }], name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: true }] }], initials: [{ type: i0.Input, args: [{ isSignal: true, alias: "initials", required: false }] }], imageUrl: [{ type: i0.Input, args: [{ isSignal: true, alias: "imageUrl", required: false }] }], accountItemLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "accountItemLabel", required: false }] }] } });
|
|
515
525
|
|
|
516
526
|
/**
|
|
517
527
|
* Copyright (c) Siemens 2016 - 2026
|
|
@@ -683,6 +693,26 @@ class SiLaunchpadAppComponent {
|
|
|
683
693
|
...(ngDevMode ? [{ debugName: "externalLinkText" }] : /* istanbul ignore next */ []));
|
|
684
694
|
icons = addIcons({ elementExport, elementFavorites, elementFavoritesFilled });
|
|
685
695
|
header = inject(SiApplicationHeaderComponent);
|
|
696
|
+
appName = viewChild('appName', /* @ts-ignore */
|
|
697
|
+
...(ngDevMode ? [{ debugName: "appName" }] : /* istanbul ignore next */ []));
|
|
698
|
+
systemName = viewChild('systemName', /* @ts-ignore */
|
|
699
|
+
...(ngDevMode ? [{ debugName: "systemName" }] : /* istanbul ignore next */ []));
|
|
700
|
+
tooltip = viewChild.required('appTooltip', /* @ts-ignore */
|
|
701
|
+
...(ngDevMode ? [{ debugName: "tooltip" }] : /* istanbul ignore next */ []));
|
|
702
|
+
constructor() {
|
|
703
|
+
inject(SiTooltipService).createTooltip({
|
|
704
|
+
element: inject(ElementRef),
|
|
705
|
+
placement: () => 'auto',
|
|
706
|
+
canShow: () => {
|
|
707
|
+
const appName = this.appName()?.nativeElement;
|
|
708
|
+
const systemName = this.systemName()?.nativeElement;
|
|
709
|
+
return !!((appName && appName.scrollWidth > appName.clientWidth) ||
|
|
710
|
+
(systemName && systemName.scrollWidth > systemName.clientWidth));
|
|
711
|
+
},
|
|
712
|
+
tooltip: this.tooltip,
|
|
713
|
+
tooltipContext: () => undefined
|
|
714
|
+
});
|
|
715
|
+
}
|
|
686
716
|
favoriteClicked(event) {
|
|
687
717
|
event.stopPropagation();
|
|
688
718
|
event.preventDefault();
|
|
@@ -692,16 +722,16 @@ class SiLaunchpadAppComponent {
|
|
|
692
722
|
this.header.closeLaunchpad();
|
|
693
723
|
}
|
|
694
724
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiLaunchpadAppComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
695
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SiLaunchpadAppComponent, isStandalone: true, selector: "a[si-launchpad-app]", inputs: { external: { classPropertyName: "external", publicName: "external", isSignal: true, isRequired: false, transformFunction: null }, active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null }, enableFavoriteToggle: { classPropertyName: "enableFavoriteToggle", publicName: "enableFavoriteToggle", isSignal: true, isRequired: false, transformFunction: null }, favorite: { classPropertyName: "favorite", publicName: "favorite", isSignal: true, isRequired: false, transformFunction: null }, action: { classPropertyName: "action", publicName: "action", isSignal: true, isRequired: false, transformFunction: null }, iconUrl: { classPropertyName: "iconUrl", publicName: "iconUrl", isSignal: true, isRequired: false, transformFunction: null }, iconClass: { classPropertyName: "iconClass", publicName: "iconClass", isSignal: true, isRequired: false, transformFunction: null }, externalLinkText: { classPropertyName: "externalLinkText", publicName: "externalLinkText", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { favorite: "favoriteChange" }, host: { listeners: { "keydown.space": "favoriteClicked($event)", "click": "click()" }, properties: { "class.active": "active()", "class.action": "action()" }, classAttribute: "focus-inside" }, ngImport: i0, template: "@if (iconUrl()) {\n <img alt=\"\" width=\"64\" height=\"64\" class=\"app-icon\" [src]=\"iconUrl()\" />\n} @else if (iconClass()) {\n <si-icon class=\"app-icon\" [icon]=\"iconClass()!\" />\n}\n<div class=\"app-text\">\n <div class=\"si-h4 d-flex align-items-center mw-100 gap-1\">\n <span class=\"text-truncate\">\n <ng-content select=\"[app-name]\" />\n </span>\n @if (external()) {\n <si-icon\n class=\"icon\"\n [icon]=\"icons.elementExport\"\n [attr.aria-label]=\"externalLinkText() | translate\"\n />\n }\n </div>\n <div class=\"si-body text-secondary mt-2 text-truncate mw-100\">\n <ng-content select=\"[app-systemName]\" />\n </div>\n</div>\n@if (enableFavoriteToggle()) {\n <si-icon\n class=\"icon favorite-icon\"\n [class.is-favorite]=\"favorite()\"\n [icon]=\"favorite() ? icons.elementFavoritesFilled : icons.elementFavorites\"\n (click)=\"favoriteClicked($event)\"\n />\n}\n", styles: [":host{display:flex;align-items:center;flex-flow:column nowrap;position:relative;padding-block:var(--si-sys-sizing-spacing-y-80);inline-size:calc(7rem + 2 * var(--si-sys-sizing-spacing-x-70));max-inline-size:calc(7rem + 2 * var(--si-sys-sizing-spacing-x-70));padding-inline:var(--si-sys-sizing-spacing-x-40);color:var(--si-sys-color-text-primary);border-radius:var(--element-radius-2)}:host.action{color:var(--si-sys-color-text-accent)}:host.active,:host:hover{color:var(--si-sys-color-text-primary);text-decoration:none}:host.active{background-color:var(--si-sys-color-background-active)}:host:hover{background-color:var(--si-sys-color-background-hover)}.app-text{display:flex;align-items:center;flex-direction:column;max-inline-size:100%;overflow:hidden}.app-icon{display:flex;align-items:center;justify-content:center;inline-size:3rem;block-size:3rem;margin-block-end:var(--si-sys-sizing-spacing-y-40);border-radius:var(--element-radius-2)}.app-icon:is(si-icon){background:var(--element-launchpad-app-background);font-size:2.5rem;padding:var(--si-sys-sizing-spacing-y-20) var(--si-sys-sizing-spacing-x-20);color:var(--element-launchpad-app-color)}.favorite-icon{position:absolute;inset-inline-end:var(--si-sys-sizing-spacing-x-60);inset-block-start:var(--si-sys-sizing-spacing-y-60);color:var(--si-sys-color-text-secondary)}.is-favorite{color:var(--si-sys-color-background-caution)}@media(max-width:767.98px){:host{flex-flow:row nowrap;inline-size:100%;max-inline-size:100%;padding:var(--si-sys-sizing-spacing-y-40) var(--si-sys-sizing-spacing-x-40)}:host:has(.favorite-icon){padding-inline-end:var(--si-sys-sizing-spacing-x-90)}.app-icon{margin-block-end:0;margin-inline-end:var(--si-sys-sizing-spacing-x-40)}.app-text{align-items:start}.favorite-icon{inset-inline-end:var(--si-sys-sizing-spacing-x-40);inset-block-start:var(--si-sys-sizing-spacing-y-40)}}\n"], dependencies: [{ kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }] });
|
|
725
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SiLaunchpadAppComponent, isStandalone: true, selector: "a[si-launchpad-app]", inputs: { external: { classPropertyName: "external", publicName: "external", isSignal: true, isRequired: false, transformFunction: null }, active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null }, enableFavoriteToggle: { classPropertyName: "enableFavoriteToggle", publicName: "enableFavoriteToggle", isSignal: true, isRequired: false, transformFunction: null }, favorite: { classPropertyName: "favorite", publicName: "favorite", isSignal: true, isRequired: false, transformFunction: null }, action: { classPropertyName: "action", publicName: "action", isSignal: true, isRequired: false, transformFunction: null }, iconUrl: { classPropertyName: "iconUrl", publicName: "iconUrl", isSignal: true, isRequired: false, transformFunction: null }, iconClass: { classPropertyName: "iconClass", publicName: "iconClass", isSignal: true, isRequired: false, transformFunction: null }, externalLinkText: { classPropertyName: "externalLinkText", publicName: "externalLinkText", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { favorite: "favoriteChange" }, host: { listeners: { "keydown.space": "favoriteClicked($event)", "click": "click()" }, properties: { "class.active": "active()", "class.action": "action()" }, classAttribute: "focus-inside" }, providers: [SiTooltipService], viewQueries: [{ propertyName: "appName", first: true, predicate: ["appName"], descendants: true, isSignal: true }, { propertyName: "systemName", first: true, predicate: ["systemName"], descendants: true, isSignal: true }, { propertyName: "tooltip", first: true, predicate: ["appTooltip"], descendants: true, isSignal: true }], ngImport: i0, template: "@if (iconUrl()) {\n <img alt=\"\" width=\"64\" height=\"64\" class=\"app-icon\" [src]=\"iconUrl()\" />\n} @else if (iconClass()) {\n <si-icon class=\"app-icon\" [icon]=\"iconClass()!\" />\n}\n<div class=\"app-text\">\n <div class=\"si-h4 d-flex align-items-center mw-100 gap-1\">\n <span #appName class=\"text-truncate\">\n <ng-content select=\"[app-name]\" />\n </span>\n @if (external()) {\n <si-icon\n class=\"icon\"\n [icon]=\"icons.elementExport\"\n [attr.aria-label]=\"externalLinkText() | translate\"\n />\n }\n </div>\n <div #systemName class=\"si-body text-secondary mt-2 text-truncate mw-100\">\n <ng-content select=\"[app-systemName]\" />\n </div>\n</div>\n<ng-template #appTooltip>\n <div class=\"si-body-sbold\">{{ appName.textContent?.trim() }}</div>\n @if (systemName.textContent?.trim(); as systemNameText) {\n <div class=\"si-body\">{{ systemNameText }}</div>\n }\n</ng-template>\n@if (enableFavoriteToggle()) {\n <si-icon\n class=\"icon favorite-icon\"\n [class.is-favorite]=\"favorite()\"\n [icon]=\"favorite() ? icons.elementFavoritesFilled : icons.elementFavorites\"\n (click)=\"favoriteClicked($event)\"\n />\n}\n", styles: [":host{display:flex;align-items:center;flex-flow:column nowrap;position:relative;padding-block:var(--si-sys-sizing-spacing-y-80);inline-size:calc(7rem + 2 * var(--si-sys-sizing-spacing-x-70));max-inline-size:calc(7rem + 2 * var(--si-sys-sizing-spacing-x-70));padding-inline:var(--si-sys-sizing-spacing-x-40);color:var(--si-sys-color-text-primary);border-radius:var(--element-radius-2)}:host.action{color:var(--si-sys-color-text-accent)}:host.active,:host:hover{color:var(--si-sys-color-text-primary);text-decoration:none}:host.active{background-color:var(--si-sys-color-background-active)}:host:hover{background-color:var(--si-sys-color-background-hover)}.app-text{display:flex;align-items:center;flex-direction:column;max-inline-size:100%;overflow:hidden}.app-icon{display:flex;align-items:center;justify-content:center;inline-size:3rem;block-size:3rem;margin-block-end:var(--si-sys-sizing-spacing-y-40);border-radius:var(--element-radius-2)}.app-icon:is(si-icon){background:var(--element-launchpad-app-background);font-size:2.5rem;padding:var(--si-sys-sizing-spacing-y-20) var(--si-sys-sizing-spacing-x-20);color:var(--element-launchpad-app-color)}.favorite-icon{position:absolute;inset-inline-end:var(--si-sys-sizing-spacing-x-60);inset-block-start:var(--si-sys-sizing-spacing-y-60);color:var(--si-sys-color-text-secondary)}.is-favorite{color:var(--si-sys-color-background-caution)}@media(max-width:767.98px){:host{flex-flow:row nowrap;inline-size:100%;max-inline-size:100%;padding:var(--si-sys-sizing-spacing-y-40) var(--si-sys-sizing-spacing-x-40)}:host:has(.favorite-icon){padding-inline-end:var(--si-sys-sizing-spacing-x-90)}.app-icon{margin-block-end:0;margin-inline-end:var(--si-sys-sizing-spacing-x-40)}.app-text{align-items:start}.favorite-icon{inset-inline-end:var(--si-sys-sizing-spacing-x-40);inset-block-start:var(--si-sys-sizing-spacing-y-40)}}\n"], dependencies: [{ kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }] });
|
|
696
726
|
}
|
|
697
727
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiLaunchpadAppComponent, decorators: [{
|
|
698
728
|
type: Component,
|
|
699
|
-
args: [{ selector: 'a[si-launchpad-app]', imports: [SiIconComponent, SiTranslatePipe], host: {
|
|
729
|
+
args: [{ selector: 'a[si-launchpad-app]', imports: [SiIconComponent, SiTranslatePipe], providers: [SiTooltipService], host: {
|
|
700
730
|
class: 'focus-inside',
|
|
701
731
|
'[class.active]': 'active()',
|
|
702
732
|
'[class.action]': 'action()'
|
|
703
|
-
}, template: "@if (iconUrl()) {\n <img alt=\"\" width=\"64\" height=\"64\" class=\"app-icon\" [src]=\"iconUrl()\" />\n} @else if (iconClass()) {\n <si-icon class=\"app-icon\" [icon]=\"iconClass()!\" />\n}\n<div class=\"app-text\">\n <div class=\"si-h4 d-flex align-items-center mw-100 gap-1\">\n <span class=\"text-truncate\">\n <ng-content select=\"[app-name]\" />\n </span>\n @if (external()) {\n <si-icon\n class=\"icon\"\n [icon]=\"icons.elementExport\"\n [attr.aria-label]=\"externalLinkText() | translate\"\n />\n }\n </div>\n <div class=\"si-body text-secondary mt-2 text-truncate mw-100\">\n <ng-content select=\"[app-systemName]\" />\n </div>\n</div>\n@if (enableFavoriteToggle()) {\n <si-icon\n class=\"icon favorite-icon\"\n [class.is-favorite]=\"favorite()\"\n [icon]=\"favorite() ? icons.elementFavoritesFilled : icons.elementFavorites\"\n (click)=\"favoriteClicked($event)\"\n />\n}\n", styles: [":host{display:flex;align-items:center;flex-flow:column nowrap;position:relative;padding-block:var(--si-sys-sizing-spacing-y-80);inline-size:calc(7rem + 2 * var(--si-sys-sizing-spacing-x-70));max-inline-size:calc(7rem + 2 * var(--si-sys-sizing-spacing-x-70));padding-inline:var(--si-sys-sizing-spacing-x-40);color:var(--si-sys-color-text-primary);border-radius:var(--element-radius-2)}:host.action{color:var(--si-sys-color-text-accent)}:host.active,:host:hover{color:var(--si-sys-color-text-primary);text-decoration:none}:host.active{background-color:var(--si-sys-color-background-active)}:host:hover{background-color:var(--si-sys-color-background-hover)}.app-text{display:flex;align-items:center;flex-direction:column;max-inline-size:100%;overflow:hidden}.app-icon{display:flex;align-items:center;justify-content:center;inline-size:3rem;block-size:3rem;margin-block-end:var(--si-sys-sizing-spacing-y-40);border-radius:var(--element-radius-2)}.app-icon:is(si-icon){background:var(--element-launchpad-app-background);font-size:2.5rem;padding:var(--si-sys-sizing-spacing-y-20) var(--si-sys-sizing-spacing-x-20);color:var(--element-launchpad-app-color)}.favorite-icon{position:absolute;inset-inline-end:var(--si-sys-sizing-spacing-x-60);inset-block-start:var(--si-sys-sizing-spacing-y-60);color:var(--si-sys-color-text-secondary)}.is-favorite{color:var(--si-sys-color-background-caution)}@media(max-width:767.98px){:host{flex-flow:row nowrap;inline-size:100%;max-inline-size:100%;padding:var(--si-sys-sizing-spacing-y-40) var(--si-sys-sizing-spacing-x-40)}:host:has(.favorite-icon){padding-inline-end:var(--si-sys-sizing-spacing-x-90)}.app-icon{margin-block-end:0;margin-inline-end:var(--si-sys-sizing-spacing-x-40)}.app-text{align-items:start}.favorite-icon{inset-inline-end:var(--si-sys-sizing-spacing-x-40);inset-block-start:var(--si-sys-sizing-spacing-y-40)}}\n"] }]
|
|
704
|
-
}], propDecorators: { external: [{ type: i0.Input, args: [{ isSignal: true, alias: "external", required: false }] }], active: [{ type: i0.Input, args: [{ isSignal: true, alias: "active", required: false }] }], enableFavoriteToggle: [{ type: i0.Input, args: [{ isSignal: true, alias: "enableFavoriteToggle", required: false }] }], favorite: [{ type: i0.Input, args: [{ isSignal: true, alias: "favorite", required: false }] }, { type: i0.Output, args: ["favoriteChange"] }], action: [{ type: i0.Input, args: [{ isSignal: true, alias: "action", required: false }] }], iconUrl: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconUrl", required: false }] }], iconClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconClass", required: false }] }], externalLinkText: [{ type: i0.Input, args: [{ isSignal: true, alias: "externalLinkText", required: false }] }], favoriteClicked: [{
|
|
733
|
+
}, template: "@if (iconUrl()) {\n <img alt=\"\" width=\"64\" height=\"64\" class=\"app-icon\" [src]=\"iconUrl()\" />\n} @else if (iconClass()) {\n <si-icon class=\"app-icon\" [icon]=\"iconClass()!\" />\n}\n<div class=\"app-text\">\n <div class=\"si-h4 d-flex align-items-center mw-100 gap-1\">\n <span #appName class=\"text-truncate\">\n <ng-content select=\"[app-name]\" />\n </span>\n @if (external()) {\n <si-icon\n class=\"icon\"\n [icon]=\"icons.elementExport\"\n [attr.aria-label]=\"externalLinkText() | translate\"\n />\n }\n </div>\n <div #systemName class=\"si-body text-secondary mt-2 text-truncate mw-100\">\n <ng-content select=\"[app-systemName]\" />\n </div>\n</div>\n<ng-template #appTooltip>\n <div class=\"si-body-sbold\">{{ appName.textContent?.trim() }}</div>\n @if (systemName.textContent?.trim(); as systemNameText) {\n <div class=\"si-body\">{{ systemNameText }}</div>\n }\n</ng-template>\n@if (enableFavoriteToggle()) {\n <si-icon\n class=\"icon favorite-icon\"\n [class.is-favorite]=\"favorite()\"\n [icon]=\"favorite() ? icons.elementFavoritesFilled : icons.elementFavorites\"\n (click)=\"favoriteClicked($event)\"\n />\n}\n", styles: [":host{display:flex;align-items:center;flex-flow:column nowrap;position:relative;padding-block:var(--si-sys-sizing-spacing-y-80);inline-size:calc(7rem + 2 * var(--si-sys-sizing-spacing-x-70));max-inline-size:calc(7rem + 2 * var(--si-sys-sizing-spacing-x-70));padding-inline:var(--si-sys-sizing-spacing-x-40);color:var(--si-sys-color-text-primary);border-radius:var(--element-radius-2)}:host.action{color:var(--si-sys-color-text-accent)}:host.active,:host:hover{color:var(--si-sys-color-text-primary);text-decoration:none}:host.active{background-color:var(--si-sys-color-background-active)}:host:hover{background-color:var(--si-sys-color-background-hover)}.app-text{display:flex;align-items:center;flex-direction:column;max-inline-size:100%;overflow:hidden}.app-icon{display:flex;align-items:center;justify-content:center;inline-size:3rem;block-size:3rem;margin-block-end:var(--si-sys-sizing-spacing-y-40);border-radius:var(--element-radius-2)}.app-icon:is(si-icon){background:var(--element-launchpad-app-background);font-size:2.5rem;padding:var(--si-sys-sizing-spacing-y-20) var(--si-sys-sizing-spacing-x-20);color:var(--element-launchpad-app-color)}.favorite-icon{position:absolute;inset-inline-end:var(--si-sys-sizing-spacing-x-60);inset-block-start:var(--si-sys-sizing-spacing-y-60);color:var(--si-sys-color-text-secondary)}.is-favorite{color:var(--si-sys-color-background-caution)}@media(max-width:767.98px){:host{flex-flow:row nowrap;inline-size:100%;max-inline-size:100%;padding:var(--si-sys-sizing-spacing-y-40) var(--si-sys-sizing-spacing-x-40)}:host:has(.favorite-icon){padding-inline-end:var(--si-sys-sizing-spacing-x-90)}.app-icon{margin-block-end:0;margin-inline-end:var(--si-sys-sizing-spacing-x-40)}.app-text{align-items:start}.favorite-icon{inset-inline-end:var(--si-sys-sizing-spacing-x-40);inset-block-start:var(--si-sys-sizing-spacing-y-40)}}\n"] }]
|
|
734
|
+
}], ctorParameters: () => [], propDecorators: { external: [{ type: i0.Input, args: [{ isSignal: true, alias: "external", required: false }] }], active: [{ type: i0.Input, args: [{ isSignal: true, alias: "active", required: false }] }], enableFavoriteToggle: [{ type: i0.Input, args: [{ isSignal: true, alias: "enableFavoriteToggle", required: false }] }], favorite: [{ type: i0.Input, args: [{ isSignal: true, alias: "favorite", required: false }] }, { type: i0.Output, args: ["favoriteChange"] }], action: [{ type: i0.Input, args: [{ isSignal: true, alias: "action", required: false }] }], iconUrl: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconUrl", required: false }] }], iconClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconClass", required: false }] }], externalLinkText: [{ type: i0.Input, args: [{ isSignal: true, alias: "externalLinkText", required: false }] }], appName: [{ type: i0.ViewChild, args: ['appName', { isSignal: true }] }], systemName: [{ type: i0.ViewChild, args: ['systemName', { isSignal: true }] }], tooltip: [{ type: i0.ViewChild, args: ['appTooltip', { isSignal: true }] }], favoriteClicked: [{
|
|
705
735
|
type: HostListener,
|
|
706
736
|
args: ['keydown.space', ['$event']]
|
|
707
737
|
}], click: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"siemens-element-ng-application-header.mjs","sources":["../../../../projects/element-ng/application-header/si-application-header.component.ts","../../../../projects/element-ng/application-header/si-application-header.component.html","../../../../projects/element-ng/application-header/si-account-details.component.ts","../../../../projects/element-ng/application-header/si-header-navigation-item.component.ts","../../../../projects/element-ng/application-header/si-header-collapsible-actions.component.ts","../../../../projects/element-ng/application-header/si-header-collapsible-actions.component.html","../../../../projects/element-ng/application-header/si-header-action-item.base.ts","../../../../projects/element-ng/application-header/si-header-action-item-icon-base.directive.ts","../../../../projects/element-ng/application-header/si-header-action-item.component.ts","../../../../projects/element-ng/application-header/si-header-action-item.component.html","../../../../projects/element-ng/application-header/si-header-account-item.component.ts","../../../../projects/element-ng/application-header/si-header-account-item.component.html","../../../../projects/element-ng/application-header/si-header-selection-item.component.ts","../../../../projects/element-ng/application-header/si-header-selection-item.component.html","../../../../projects/element-ng/application-header/si-header-logo.directive.ts","../../../../projects/element-ng/application-header/si-header-actions.directive.ts","../../../../projects/element-ng/application-header/si-header-brand.directive.ts","../../../../projects/element-ng/application-header/si-header-navigation.component.ts","../../../../projects/element-ng/application-header/si-header-navigation.component.html","../../../../projects/element-ng/application-header/launchpad/si-launchpad-app.component.ts","../../../../projects/element-ng/application-header/launchpad/si-launchpad-app.component.html","../../../../projects/element-ng/application-header/launchpad/si-launchpad-category.component.ts","../../../../projects/element-ng/application-header/launchpad/si-launchpad-category.component.html","../../../../projects/element-ng/application-header/launchpad/si-launchpad-factory.component.ts","../../../../projects/element-ng/application-header/launchpad/si-launchpad-factory.component.html","../../../../projects/element-ng/application-header/index.ts","../../../../projects/element-ng/application-header/siemens-element-ng-application-header.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { A11yModule, CdkTrapFocus } from '@angular/cdk/a11y';\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n Component,\n effect,\n ElementRef,\n inject,\n Injector,\n input,\n OnDestroy,\n signal,\n TemplateRef,\n untracked,\n viewChild\n} from '@angular/core';\nimport { toObservable, toSignal } from '@angular/core/rxjs-interop';\nimport { elementMenu, elementThumbnails } from '@siemens/element-icons';\nimport {\n HeaderWithDropdowns,\n SI_HEADER_WITH_DROPDOWNS,\n SiHeaderDropdownTriggerDirective\n} from '@siemens/element-ng/header-dropdown';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { BOOTSTRAP_BREAKPOINTS, Breakpoints } from '@siemens/element-ng/resize-observer';\nimport { SiTranslatePipe, t } from '@siemens/element-translate-ng/translate';\nimport { of, Subject } from 'rxjs';\nimport { map, switchMap } from 'rxjs/operators';\n\n/** Root component for the application header. */\n@Component({\n selector: 'si-application-header',\n imports: [SiTranslatePipe, A11yModule, NgTemplateOutlet, SiIconComponent],\n templateUrl: './si-application-header.component.html',\n styleUrl: './si-application-header.component.scss',\n providers: [{ provide: SI_HEADER_WITH_DROPDOWNS, useExisting: SiApplicationHeaderComponent }]\n})\nexport class SiApplicationHeaderComponent implements HeaderWithDropdowns, OnDestroy {\n private static idCounter = 0;\n\n /**\n * Defines the minimum breakpoint which must be matched to expand the header / switch to desktop mode.\n *\n * @defaultValue 'sm'\n */\n readonly expandBreakpoint = input<'sm' | 'md' | 'lg' | 'xl' | 'xxl' | 'never'>('sm');\n /** Template reference for the launchpad content rendered inside the header. */\n readonly launchpad = input<TemplateRef<void>>();\n /**\n * Accessible label for the launchpad toggle button.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_APPLICATION_HEADER.LAUNCHPAD:Launchpad`)\n * ```\n */\n readonly launchpadLabel = input(t(() => $localize`:@@SI_APPLICATION_HEADER.LAUNCHPAD:Launchpad`));\n\n /** @internal */\n readonly closeMobileMenus = new Subject<void>();\n\n /** @internal */\n readonly mobileNavigationExpanded = signal(false);\n /** @internal */\n readonly hasNavigation = signal(false);\n\n protected readonly openDropdownCount = signal(0);\n protected readonly launchpadOpen = signal(false);\n protected readonly id = `__si-application-header-${SiApplicationHeaderComponent.idCounter++}`;\n protected toggleNavigation = t(\n () => $localize`:@@SI_APPLICATION_HEADER.TOGGLE_NAVIGATION:Show navigation`\n );\n protected injector = inject(Injector);\n protected readonly icons = addIcons({ elementThumbnails, elementMenu });\n\n private readonly navigationToggle = viewChild<ElementRef<HTMLDivElement>>('navigationToggle');\n private readonly focusTrap = viewChild.required(CdkTrapFocus);\n private breakpointObserver = inject(BreakpointObserver);\n private openDropdown?: SiHeaderDropdownTriggerDirective;\n private closeMobileSub = this.closeMobileMenus.subscribe(() => {\n this.closeMobileNavigation();\n this.closeLaunchpad();\n });\n\n /** @internal */\n readonly inlineDropdown = toSignal(\n toObservable(this.expandBreakpoint).pipe(\n switchMap(expandBreakpoint => {\n if (expandBreakpoint === 'never') {\n return of(true);\n }\n return this.breakpointObserver\n .observe(\n `(min-width: ${\n BOOTSTRAP_BREAKPOINTS[(expandBreakpoint + 'Minimum') as keyof Breakpoints]\n }px)`\n )\n .pipe(map(({ matches }) => !matches));\n })\n ),\n { initialValue: false }\n );\n\n constructor() {\n effect(() => {\n this.inlineDropdown();\n untracked(() => this.closeMobileMenus.next());\n });\n }\n\n ngOnDestroy(): void {\n this.closeMobileSub.unsubscribe();\n this.closeMobileMenus.next();\n this.closeMobileMenus.complete();\n }\n\n /** @internal */\n onDropdownItemTriggered(): void {\n this.closeMobileMenus.next();\n }\n\n /** @internal */\n dropdownClosed(trigger?: SiHeaderDropdownTriggerDirective): void {\n this.openDropdownCount.update(v => v - 1);\n if (trigger === this.openDropdown) {\n this.openDropdown = undefined;\n }\n }\n\n /** @internal */\n dropdownOpened(trigger?: SiHeaderDropdownTriggerDirective): void {\n this.openDropdown ??= trigger;\n this.openDropdownCount.update(v => v + 1);\n this.closeLaunchpad();\n }\n\n /** @internal */\n closeLaunchpad(): void {\n if (this.launchpadOpen()) {\n this.launchpadOpen.set(false);\n this.dropdownClosed();\n\n if (this.hasNavigation()) {\n // This is also fine in expanded view when the mobile toggle is not visible.\n // Then the focus call will be ignored.\n this.navigationToggle()?.nativeElement.focus();\n }\n }\n }\n\n /** @internal */\n openLaunchpad(): void {\n if (!this.launchpadOpen()) {\n this.dropdownOpened();\n this.closeMobileMenus.next();\n this.launchpadOpen.set(true);\n }\n }\n\n protected toggleMobileNavigationExpanded(): void {\n if (this.mobileNavigationExpanded()) {\n this.closeMobileNavigation();\n } else {\n this.openMobileNavigation();\n }\n }\n\n protected toggleLaunchpad(): void {\n if (this.launchpadOpen()) {\n this.closeLaunchpad();\n } else {\n this.openLaunchpad();\n }\n }\n\n protected navigationEscapePressed(): void {\n this.closeMobileNavigation();\n this.navigationToggle()?.nativeElement.focus();\n }\n\n protected backdropClicked(): void {\n this.closeMobileMenus.next();\n }\n\n private openMobileNavigation(): void {\n if (!this.mobileNavigationExpanded()) {\n this.closeMobileMenus.next();\n this.mobileNavigationExpanded.set(true);\n this.dropdownOpened();\n this.focusTrap().focusTrap.focusFirstTabbableElementWhenReady();\n }\n }\n\n private closeMobileNavigation(): void {\n if (this.mobileNavigationExpanded()) {\n this.mobileNavigationExpanded.set(false);\n this.openDropdown?.close();\n this.dropdownClosed();\n }\n }\n}\n","<header\n [class]=\"`application-header expand-${expandBreakpoint()}`\"\n [class.show-navigation]=\"mobileNavigationExpanded()\"\n>\n @if (launchpad()) {\n <button\n type=\"button\"\n aria-haspopup=\"dialog\"\n [class]=\"`header-toggle focus-inside d-${expandBreakpoint()}-block`\"\n [class.show]=\"launchpadOpen()\"\n [class.d-none]=\"hasNavigation()\"\n [attr.aria-expanded]=\"launchpadOpen()\"\n [attr.aria-label]=\"launchpadLabel() | translate\"\n [attr.aria-controls]=\"id + '-launchpad'\"\n (click)=\"toggleLaunchpad()\"\n >\n <si-icon class=\"icon\" [icon]=\"icons.elementThumbnails\" />\n </button>\n }\n @if (hasNavigation()) {\n <button\n #navigationToggle\n type=\"button\"\n class=\"header-toggle focus-inside\"\n [class.show]=\"mobileNavigationExpanded()\"\n [attr.aria-expanded]=\"mobileNavigationExpanded()\"\n [attr.aria-label]=\"toggleNavigation | translate\"\n [attr.aria-controls]=\"id + '-navigation-wrapper'\"\n (click)=\"toggleMobileNavigationExpanded()\"\n >\n <si-icon class=\"icon\" [icon]=\"icons.elementMenu\" />\n </button>\n }\n <ng-content select=\"si-header-brand, element-header-brand\">\n <div class=\"header-brand\"></div>\n </ng-content>\n\n <div\n class=\"d-contents\"\n [id]=\"id + '-navigation-wrapper'\"\n [cdkTrapFocus]=\"mobileNavigationExpanded()\"\n (keydown.escape)=\"navigationEscapePressed()\"\n >\n <ng-content select=\"si-header-navigation, element-header-navigation\">\n <div class=\"header-navigation\"></div>\n </ng-content>\n </div>\n\n <ng-content select=\"si-header-actions, element-header-actions\">\n <div class=\"header-actions\"></div>\n </ng-content>\n</header>\n\n@if (launchpadOpen() && launchpad()) {\n <div\n role=\"dialog\"\n aria-modal=\"true\"\n [id]=\"id + '-launchpad'\"\n [attr.aria-label]=\"launchpadLabel() | translate\"\n >\n <ng-template [ngTemplateOutlet]=\"launchpad()!\" [ngTemplateOutletInjector]=\"injector\" />\n </div>\n}\n\n@if (openDropdownCount() || launchpadOpen()) {\n <div\n [class]=\"`modal-backdrop ${launchpadOpen() ? 'd-block' : `d-${expandBreakpoint()}-none`}`\"\n (click)=\"backdropClicked()\"\n ></div>\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Component, input } from '@angular/core';\nimport { SiTranslatePipe, TranslatableString } from '@siemens/element-translate-ng/translate';\n\n@Component({\n selector: 'si-account-details',\n imports: [SiTranslatePipe],\n template: `\n <div class=\"mx-5\">\n <div class=\"si-h5\">{{ name() }}</div>\n @if (email()) {\n <div>{{ email() }}</div>\n }\n @if (company() || userRole()) {\n <div class=\"d-flex align-items-center text-secondary mt-2\">\n @if (company()) {\n {{ company() }}\n }\n @if (userRole()) {\n <span class=\"badge bg-default\">{{ userRole()! | translate }}</span>\n }\n </div>\n }\n </div>\n `\n})\nexport class SiAccountDetailsComponent {\n /** The user's full name. */\n readonly name = input.required<string>();\n /** The user's company name. */\n readonly company = input<string>();\n /** The user's email address. */\n readonly email = input<string>();\n /** The user's role. */\n readonly userRole = input<TranslatableString>();\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Component, inject } from '@angular/core';\nimport { elementDown2 } from '@siemens/element-icons';\nimport {\n SI_HEADER_DROPDOWN_OPTIONS,\n SiHeaderDropdownTriggerDirective\n} from '@siemens/element-ng/header-dropdown';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\n\n/** Adds a navigation item to the header. Should be located inside `.header-navigation`. */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[si-header-navigation-item], a[si-header-navigation-item]',\n imports: [SiIconComponent],\n template: `\n <div class=\"item-title\">\n <ng-content />\n </div>\n @if (dropdownTrigger) {\n <si-icon class=\"dropdown-caret\" [icon]=\"icons.elementDown2\" />\n }\n `,\n providers: [\n { provide: SI_HEADER_DROPDOWN_OPTIONS, useValue: { disableRootFocusTrapForInlineMode: true } }\n ],\n host: {\n class: 'header-item focus-inside',\n '[class.dropdown-toggle]': '!!dropdownTrigger'\n }\n})\nexport class SiHeaderNavigationItemComponent {\n /** @internal */\n dropdownTrigger = inject(SiHeaderDropdownTriggerDirective, {\n self: true,\n optional: true\n });\n protected readonly icons = addIcons({ elementDown2 });\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { A11yModule, CdkTrapFocus } from '@angular/cdk/a11y';\nimport { Component, ElementRef, inject, input, OnDestroy, signal, viewChild } from '@angular/core';\nimport { elementOptionsVertical } from '@siemens/element-icons';\nimport { SI_HEADER_DROPDOWN_OPTIONS } from '@siemens/element-ng/header-dropdown';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiTranslatePipe, t } from '@siemens/element-translate-ng/translate';\n\nimport { SiApplicationHeaderComponent } from './si-application-header.component';\n\n/** Container for actions that should be collapsed in mobile mode. */\n@Component({\n selector: 'si-header-collapsible-actions',\n imports: [SiTranslatePipe, A11yModule, SiIconComponent],\n templateUrl: './si-header-collapsible-actions.component.html',\n styles: '.badge-dot::after { inset-inline-end: 4px; }',\n providers: [\n { provide: SI_HEADER_DROPDOWN_OPTIONS, useValue: { disableRootFocusTrapForInlineMode: true } }\n ],\n host: { class: 'd-contents' }\n})\nexport class SiHeaderCollapsibleActionsComponent implements OnDestroy {\n private static idCounter = 0;\n\n /**\n * Accessible label of the toggle button if actions are collapsed.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_APPLICATION_HEADER.TOGGLE_ACTIONS:Show actions`)\n * ```\n */\n readonly mobileToggleLabel = input(\n t(() => $localize`:@@SI_APPLICATION_HEADER.TOGGLE_ACTIONS:Show actions`)\n );\n\n /** @internal **/\n readonly mobileExpanded = signal(false);\n /** @internal **/\n readonly badgeCount = signal(0);\n\n protected readonly id = `__si-header-collapsible-actions-${SiHeaderCollapsibleActionsComponent.idCounter++}`;\n protected readonly icons = addIcons({ elementOptionsVertical });\n\n private readonly toggle = viewChild.required<ElementRef<HTMLDivElement>>('toggle');\n private readonly focusTrap = viewChild.required(CdkTrapFocus);\n private header = inject(SiApplicationHeaderComponent);\n private closeMobileSub = this.header.closeMobileMenus.subscribe(() => this.closeMobile());\n\n ngOnDestroy(): void {\n this.closeMobileSub.unsubscribe();\n }\n\n protected toggleMobileExpanded(): void {\n if (this.mobileExpanded()) {\n this.closeMobile();\n } else {\n this.openMobile();\n }\n }\n\n protected escapePressed(): void {\n this.closeMobile();\n this.toggle().nativeElement.focus();\n }\n\n private openMobile(): void {\n if (!this.mobileExpanded()) {\n this.header.closeMobileMenus.next();\n this.header.dropdownOpened();\n this.mobileExpanded.set(true);\n this.focusTrap().focusTrap.focusFirstTabbableElementWhenReady();\n }\n }\n\n private closeMobile(): void {\n if (this.mobileExpanded()) {\n this.header.dropdownClosed();\n this.mobileExpanded.set(false);\n this.toggle().nativeElement.focus();\n }\n }\n}\n","<button\n #toggle\n type=\"button\"\n class=\"header-toggle focus-inside\"\n [class.show]=\"mobileExpanded()\"\n [attr.aria-expanded]=\"mobileExpanded()\"\n [attr.aria-label]=\"mobileToggleLabel() | translate\"\n [attr.aria-controls]=\"id + '-content'\"\n (click)=\"toggleMobileExpanded()\"\n>\n <si-icon class=\"icon\" [icon]=\"icons.elementOptionsVertical\" [class.badge-dot]=\"badgeCount()\" />\n</button>\n<div\n class=\"header-collapsible-actions\"\n [id]=\"id + '-content'\"\n [class.show]=\"mobileExpanded()\"\n [cdkTrapFocus]=\"mobileExpanded()\"\n (keydown.escape)=\"escapePressed()\"\n>\n <ng-content />\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Directive, inject, OnInit } from '@angular/core';\nimport { elementDown2 } from '@siemens/element-icons';\nimport { SiHeaderDropdownTriggerDirective } from '@siemens/element-ng/header-dropdown';\nimport { addIcons } from '@siemens/element-ng/icon';\n\nimport { SiApplicationHeaderComponent } from './si-application-header.component';\nimport { SiHeaderCollapsibleActionsComponent } from './si-header-collapsible-actions.component';\n\n@Directive({\n host: {\n '(click)': 'click()'\n }\n})\nexport abstract class SiHeaderActionItemBase implements OnInit {\n /** @internal */\n readonly dropdownTrigger = inject(SiHeaderDropdownTriggerDirective, {\n self: true,\n optional: true\n });\n protected readonly collapsibleActions = inject(SiHeaderCollapsibleActionsComponent, {\n optional: true\n });\n protected readonly icons = addIcons({ elementDown2 });\n\n private readonly header = inject(SiApplicationHeaderComponent);\n\n ngOnInit(): void {\n if (this.dropdownTrigger) {\n this.header.closeMobileMenus.subscribe(() => this.dropdownTrigger!.close());\n }\n }\n\n protected click(): void {\n if (!this.dropdownTrigger?.isOpen && !this.collapsibleActions?.mobileExpanded()) {\n // we must close other immediately as we would close the dropdown else wise immediately after opening.\n this.header.closeMobileMenus.next();\n } else if (!this.dropdownTrigger || !this.collapsibleActions?.mobileExpanded()) {\n // we must use queueMicrotask, otherwise the dropdown gets re-opened immediately.\n queueMicrotask(() => this.header.closeMobileMenus.next());\n }\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport {\n computed,\n Directive,\n ElementRef,\n inject,\n input,\n OnChanges,\n Signal,\n SimpleChanges\n} from '@angular/core';\nimport { SiTooltipDirective, SiTooltipService } from '@siemens/element-ng/tooltip';\n\nimport { SiHeaderActionItemBase } from './si-header-action-item.base';\n\n/**\n * Base for icon based actions.\n * @internal\n */\n@Directive({})\nexport abstract class SiHeaderActionIconItemBase\n extends SiHeaderActionItemBase\n implements OnChanges\n{\n /**\n * Adds a badge to the header item.\n * If type\n * - =number, the number will be shown and automatically trimmed if \\>99\n * - =true, an empty red dot will be shown\n */\n readonly badge = input<number | boolean | undefined | null>();\n\n protected abstract readonly itemTitle: Signal<string | ElementRef<Element>>;\n\n private readonly tooltipService = inject(SiTooltipService);\n private readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly existingTooltip = inject(SiTooltipDirective, { optional: true, host: true });\n private readonly canShowTooltip = computed(\n () =>\n this.visuallyHideTitle() &&\n (!this.existingTooltip ||\n this.existingTooltip.isDisabled() ||\n !this.existingTooltip.siTooltip())\n );\n\n protected readonly badgeDot = computed(() =>\n typeof this.badge() === 'boolean' ? (this.badge() as boolean) : false\n );\n protected readonly badgeValue = computed(() => {\n const badge = this.badge();\n return typeof badge === 'number'\n ? `${badge > 99 ? '+' : ''}${Math.min(99, Math.round(badge))}`\n : undefined;\n });\n\n constructor() {\n super();\n this.tooltipService.createTooltip({\n element: this.elementRef,\n placement: () => 'auto',\n canShow: this.canShowTooltip,\n // Subclass field initializers run after this base constructor. So we cannot directly pass `this.itemTitle`.\n tooltip: () => this.itemTitle(),\n tooltipContext: () => undefined\n });\n }\n\n ngOnChanges(changes: SimpleChanges<this>): void {\n if (changes.badge) {\n if (changes.badge.currentValue && !changes.badge.previousValue) {\n this.collapsibleActions?.badgeCount.update(count => count + 1);\n } else if (!changes.badge.currentValue && changes.badge.previousValue) {\n this.collapsibleActions?.badgeCount.update(count => count - 1);\n }\n }\n }\n\n protected readonly visuallyHideTitle = computed(() => !this.collapsibleActions?.mobileExpanded());\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Component, ElementRef, input, viewChild } from '@angular/core';\nimport { SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiTooltipService } from '@siemens/element-ng/tooltip';\n\nimport { SiHeaderActionIconItemBase } from './si-header-action-item-icon-base.directive';\n\n/** Adds an action item to the header. Should be located inside `.header-actions`. */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[si-header-action-item], a[si-header-action-item]',\n imports: [SiIconComponent],\n templateUrl: './si-header-action-item.component.html',\n providers: [SiTooltipService],\n host: {\n class: 'header-item focus-inside',\n '[class.dropdown-toggle]': '!!dropdownTrigger'\n }\n})\nexport class SiHeaderActionItemComponent extends SiHeaderActionIconItemBase {\n /** The icon to be shown. */\n readonly icon = input.required<string>();\n\n protected readonly itemTitle = viewChild.required<ElementRef<HTMLElement>>('itemTitle');\n}\n","<si-icon class=\"icon\" [class.badge-dot]=\"badgeDot()\" [icon]=\"icon()\" />\n@if (badgeValue()) {\n <span class=\"badge-text\">{{ badgeValue() }}</span>\n}\n<ng-content select=\"si-avatar\" />\n<div #itemTitle class=\"item-title\" [class.visually-hidden]=\"visuallyHideTitle()\">\n <ng-content />\n</div>\n@if (dropdownTrigger) {\n <si-icon class=\"dropdown-caret\" [icon]=\"icons.elementDown2\" />\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Component, input } from '@angular/core';\nimport { SiAvatarComponent } from '@siemens/element-ng/avatar';\nimport { SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiTooltipService } from '@siemens/element-ng/tooltip';\n\nimport { SiHeaderActionIconItemBase } from './si-header-action-item-icon-base.directive';\n\n/** Adds an account item to the header. Should be located inside `.header-actions`. */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[si-header-account-item]',\n imports: [SiAvatarComponent, SiIconComponent],\n templateUrl: './si-header-account-item.component.html',\n styleUrl: './si-header-account-item.component.scss',\n providers: [SiTooltipService],\n host: {\n class: 'header-item focus-inside px-4 py-0',\n '[class.dropdown-toggle]': '!!dropdownTrigger'\n }\n})\nexport class SiHeaderAccountItemComponent extends SiHeaderActionIconItemBase {\n /** Name of the account. */\n readonly name = input.required<string>();\n /** Initials of the account. If not provided, they will be calculated. */\n readonly initials = input<string>();\n /** URL to an image which should be shown instead of the initials. */\n readonly imageUrl = input<string>();\n\n protected readonly itemTitle = this.name;\n}\n","<si-avatar\n size=\"small\"\n color=\"0\"\n [altText]=\"name()\"\n [initials]=\"initials()\"\n [imageUrl]=\"imageUrl()\"\n/>\n<div class=\"item-title\" aria-hidden=\"true\" [class.d-none]=\"visuallyHideTitle()\">\n {{ name() }}\n</div>\n@if (badgeValue()) {\n <div class=\"badge-text\">{{ badgeValue() }}</div>\n}\n@if (dropdownTrigger) {\n <si-icon class=\"dropdown-caret\" [icon]=\"icons.elementDown2\" />\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Component, input } from '@angular/core';\nimport { SiIconComponent } from '@siemens/element-ng/icon';\n\nimport { SiHeaderActionItemBase } from './si-header-action-item.base';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[si-header-selection-item]',\n imports: [SiIconComponent],\n templateUrl: './si-header-selection-item.component.html',\n host: {\n class: 'header-item header-selection-item focus-inside dropdown-toggle',\n '[class.show]': 'open()'\n }\n})\nexport class SiHeaderSelectionItemComponent extends SiHeaderActionItemBase {\n /**\n * Sets the open state which will only affect the arrow. Only use this property when not using {@link SiHeaderDropdownTriggerDirective}.\n *\n * @defaultValue false\n */\n readonly open = input(false);\n}\n","<div class=\"item-title\">\n <ng-content />\n</div>\n<si-icon class=\"d-block dropdown-caret\" [icon]=\"icons.elementDown2\" />\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport {\n afterNextRender,\n Directive,\n ElementRef,\n HostListener,\n inject,\n Injector,\n OnInit,\n signal\n} from '@angular/core';\n\n/** The siemens logo. Should be located inside `.header-brand`. */\n@Directive({\n selector: 'si-header-logo, [siHeaderLogo]',\n host: {\n class: 'header-logo px-6 focus-inside',\n '[attr.aria-label]': 'logoText()'\n }\n})\nexport class SiHeaderLogoDirective implements OnInit {\n protected readonly logoText = signal<string | undefined>(undefined);\n\n private elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private injector = inject(Injector);\n\n ngOnInit(): void {\n this.updateLogoText();\n }\n\n @HostListener('window:theme-switch')\n protected updateLogoText(): void {\n afterNextRender(\n {\n read: () =>\n this.logoText.set(\n window\n .getComputedStyle(this.elementRef.nativeElement)\n .getPropertyValue('--element-brand-logo-text')\n .replace(/^[\"']|[\"']$/g, '')\n )\n },\n { injector: this.injector }\n );\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Directive } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'si-header-actions',\n host: { class: 'header-actions' }\n})\nexport class SiHeaderActionsDirective {}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Directive } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'si-header-brand',\n host: { class: 'header-brand' }\n})\nexport class SiHeaderBrandDirective {}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Component, inject, OnDestroy } from '@angular/core';\nimport { elementThumbnails } from '@siemens/element-icons';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiTranslatePipe } from '@siemens/element-translate-ng/translate';\n\nimport { SiApplicationHeaderComponent } from './si-application-header.component';\n\n@Component({\n selector: 'si-header-navigation',\n imports: [SiTranslatePipe, SiIconComponent],\n templateUrl: './si-header-navigation.component.html',\n host: { class: 'header-navigation', role: 'navigation' }\n})\nexport class SiHeaderNavigationComponent implements OnDestroy {\n protected header = inject(SiApplicationHeaderComponent);\n protected readonly icons = addIcons({ elementThumbnails });\n\n constructor() {\n this.header.hasNavigation.set(true);\n }\n\n ngOnDestroy(): void {\n this.header.hasNavigation.set(false);\n }\n}\n","@if (header.launchpad()) {\n <button\n type=\"button\"\n [class]=\"`header-item focus-inside d-${header.expandBreakpoint()}-none`\"\n (click)=\"header.openLaunchpad()\"\n >\n <si-icon class=\"icon pe-5\" [icon]=\"icons.elementThumbnails\" />\n {{ header.launchpadLabel() | translate }}\n </button>\n}\n<ng-content />\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { booleanAttribute, Component, HostListener, inject, input, model } from '@angular/core';\nimport { elementExport, elementFavorites, elementFavoritesFilled } from '@siemens/element-icons';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiTranslatePipe, t, TranslatableString } from '@siemens/element-translate-ng/translate';\n\nimport { SiApplicationHeaderComponent } from '../si-application-header.component';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'a[si-launchpad-app]',\n imports: [SiIconComponent, SiTranslatePipe],\n templateUrl: './si-launchpad-app.component.html',\n styleUrl: './si-launchpad-app.component.scss',\n host: {\n class: 'focus-inside',\n '[class.active]': 'active()',\n '[class.action]': 'action()'\n }\n})\nexport class SiLaunchpadAppComponent {\n /**\n * When `true`, an external link icon is shown to indicate the app opens in a new tab.\n *\n * @defaultValue false\n */\n readonly external = input(false, { transform: booleanAttribute });\n /**\n * When `true`, the app item is highlighted as the currently active application.\n *\n * @defaultValue false\n */\n readonly active = input(false, { transform: booleanAttribute });\n /**\n * When `true`, a toggle button is shown to allow the user to mark or unmark this app as a favorite.\n *\n * @defaultValue false\n */\n readonly enableFavoriteToggle = input(false, { transform: booleanAttribute });\n /**\n * Whether this app is currently marked as a favorite by the user.\n *\n * @defaultValue false\n */\n readonly favorite = model(false);\n /**\n * When `true`, the item is styled as an action entry rather than a regular app link.\n *\n * @defaultValue false\n */\n readonly action = input(false, { transform: booleanAttribute });\n\n /** URL of the app icon. */\n readonly iconUrl = input<string>();\n /** CSS class applied to the app icon element. */\n readonly iconClass = input<string>();\n /**\n * Aria-label for the external link icon.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_LAUNCHPAD.EXTERNAL_LINK:Open in new tab`)\n * ```\n */\n readonly externalLinkText = input<TranslatableString>(\n t(() => $localize`:@@SI_LAUNCHPAD.EXTERNAL_LINK:Open in new tab`)\n );\n\n protected readonly icons = addIcons({ elementExport, elementFavorites, elementFavoritesFilled });\n\n private header = inject(SiApplicationHeaderComponent);\n\n @HostListener('keydown.space', ['$event'])\n protected favoriteClicked(event: Event): void {\n event.stopPropagation();\n event.preventDefault();\n this.favorite.update(old => !old);\n }\n\n @HostListener('click') protected click(): void {\n this.header.closeLaunchpad();\n }\n}\n","@if (iconUrl()) {\n <img alt=\"\" width=\"64\" height=\"64\" class=\"app-icon\" [src]=\"iconUrl()\" />\n} @else if (iconClass()) {\n <si-icon class=\"app-icon\" [icon]=\"iconClass()!\" />\n}\n<div class=\"app-text\">\n <div class=\"si-h4 d-flex align-items-center mw-100 gap-1\">\n <span class=\"text-truncate\">\n <ng-content select=\"[app-name]\" />\n </span>\n @if (external()) {\n <si-icon\n class=\"icon\"\n [icon]=\"icons.elementExport\"\n [attr.aria-label]=\"externalLinkText() | translate\"\n />\n }\n </div>\n <div class=\"si-body text-secondary mt-2 text-truncate mw-100\">\n <ng-content select=\"[app-systemName]\" />\n </div>\n</div>\n@if (enableFavoriteToggle()) {\n <si-icon\n class=\"icon favorite-icon\"\n [class.is-favorite]=\"favorite()\"\n [icon]=\"favorite() ? icons.elementFavoritesFilled : icons.elementFavorites\"\n (click)=\"favoriteClicked($event)\"\n />\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Component, inject, input, output } from '@angular/core';\nimport { ActivatedRoute, RouterLink, RouterLinkActive } from '@angular/router';\nimport { SiTranslatePipe } from '@siemens/element-translate-ng/translate';\n\nimport { SiLaunchpadAppComponent } from './si-launchpad-app.component';\nimport { App, AppCategory, FavoriteChangeEvent } from './si-launchpad.model';\n\n@Component({\n selector: 'si-launchpad-category',\n imports: [SiLaunchpadAppComponent, SiTranslatePipe, RouterLinkActive, RouterLink],\n templateUrl: './si-launchpad-category.component.html',\n host: {\n class: 'd-block',\n '[class.has-title]': '!!category().name'\n }\n})\nexport class SiLaunchpadCategoryComponent {\n readonly category = input.required<AppCategory>();\n /** @defaultValue false */\n readonly enableFavorites = input(false);\n\n readonly favoriteChange = output<FavoriteChangeEvent>();\n\n protected readonly activatedRoute = inject(ActivatedRoute, { optional: true });\n\n protected toggleFavorite(app: App, favorite: boolean): void {\n this.favoriteChange.emit({ app, favorite });\n }\n\n protected isFavoriteToggleDisabled(app: App): boolean {\n return '_noFavorite' in app && !!app._noFavorite;\n }\n}\n","@if (category().name) {\n <div class=\"si-h4 launchpad-category-title mt-4 mb-6\">\n {{ category().name | translate }}\n </div>\n}\n<div class=\"d-flex flex-wrap gap-4\">\n @for (app of category().apps; track app) {\n @switch (app.type) {\n @case ('router-link') {\n <a\n si-launchpad-app\n routerLinkActive=\"active\"\n [routerLinkActiveOptions]=\"app.activeMatchOptions ?? { exact: false }\"\n [enableFavoriteToggle]=\"enableFavorites() && !isFavoriteToggleDisabled(app)\"\n [external]=\"app.external\"\n [iconUrl]=\"app.iconUrl\"\n [iconClass]=\"app.iconClass\"\n [favorite]=\"!!app.favorite\"\n [routerLink]=\"app.routerLink\"\n [queryParams]=\"app.extras?.queryParams\"\n [queryParamsHandling]=\"app.extras?.queryParamsHandling\"\n [fragment]=\"app.extras?.fragment\"\n [state]=\"app.extras?.state\"\n [relativeTo]=\"app.extras?.relativeTo ?? this.activatedRoute\"\n [preserveFragment]=\"app.extras?.preserveFragment\"\n [skipLocationChange]=\"app.extras?.skipLocationChange\"\n [replaceUrl]=\"app.extras?.replaceUrl\"\n (favoriteChange)=\"toggleFavorite(app, $event)\"\n >\n <span app-name>{{ app.name | translate }}</span>\n <span app-systemName>{{ app.systemName | translate }}</span>\n </a>\n }\n @default {\n <!--fallback for existing apps that do not have a type defined -->\n <a\n si-launchpad-app\n [enableFavoriteToggle]=\"enableFavorites() && !isFavoriteToggleDisabled(app)\"\n [favorite]=\"!!app.favorite\"\n [href]=\"app.href\"\n [target]=\"app.target ?? ''\"\n [active]=\"app.active\"\n [external]=\"app.external\"\n [iconUrl]=\"app.iconUrl\"\n [iconClass]=\"app.iconClass\"\n (favoriteChange)=\"toggleFavorite(app, $event)\"\n >\n <span app-name>{{ app.name | translate }}</span>\n <span app-systemName>{{ app.systemName | translate }}</span>\n </a>\n }\n }\n }\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { booleanAttribute, Component, computed, inject, input, output } from '@angular/core';\nimport { elementCancel, elementDown2 } from '@siemens/element-icons';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiLinkModule } from '@siemens/element-ng/link';\nimport { SiTranslatePipe, t, TranslatableString } from '@siemens/element-translate-ng/translate';\n\nimport { SiApplicationHeaderComponent } from '../si-application-header.component';\nimport { SiLaunchpadCategoryComponent } from './si-launchpad-category.component';\nimport { App, AppCategory, FavoriteChangeEvent } from './si-launchpad.model';\n\n@Component({\n selector: 'si-launchpad-factory',\n imports: [\n A11yModule,\n SiLinkModule,\n SiTranslatePipe,\n SiLaunchpadCategoryComponent,\n SiIconComponent\n ],\n templateUrl: './si-launchpad-factory.component.html',\n styleUrl: './si-launchpad-factory.component.scss'\n})\nexport class SiLaunchpadFactoryComponent {\n /**\n * Text to close the launchpad. Needed for a11y.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_LAUNCHPAD.CLOSE:Close launchpad`)\n * ```\n */\n readonly closeText = input(t(() => $localize`:@@SI_LAUNCHPAD.CLOSE:Close launchpad`));\n\n /**\n * Title of the launchpad.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_LAUNCHPAD.TITLE:Switch app`)\n * ```\n */\n readonly titleText = input(t(() => $localize`:@@SI_LAUNCHPAD.TITLE:Switch app`));\n\n /**\n * Subtitle of the launchpad.\n * When not provided, no subtitle is displayed.\n */\n readonly subtitleText = input<TranslatableString>();\n\n /** All app items shown in the launchpad. */\n readonly apps = input.required<App[] | AppCategory[]>();\n\n /**\n * Allow the user to select favorite apps which will then be displayed at the top.\n *\n * @defaultValue false\n */\n readonly enableFavorites = input(false, { transform: booleanAttribute });\n\n /**\n * Title of the favorite apps section.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_LAUNCHPAD.FAVORITE_APPS:Favorites`)\n * ```\n */\n readonly favoriteAppsText = input(t(() => $localize`:@@SI_LAUNCHPAD.FAVORITE_APPS:Favorites`));\n\n /**\n * Title of the show more apps button.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_LAUNCHPAD.SHOW_MORE:Show more`)\n * ```\n */\n readonly showMoreAppsText = input(t(() => $localize`:@@SI_LAUNCHPAD.SHOW_MORE:Show more`));\n\n /** @deprecated This input no longer has an effect. {@link showMoreAppsText} is shown in all cases. */\n readonly showLessAppsText = input();\n\n readonly favoriteChange = output<FavoriteChangeEvent>();\n\n protected showAllApps = false;\n protected readonly allAppsId = '__si-launchpad-factory-all-apps';\n protected readonly categories = computed(() => {\n const apps = this.apps();\n if (this.isCategories(apps)) {\n return apps;\n }\n return [{ name: '', apps: [...apps] }];\n });\n protected readonly favorites = computed(() =>\n this.apps()\n .flatMap(app => ('apps' in app ? app.apps : (app as App)))\n .filter(app => app.favorite)\n );\n protected readonly hasFavorites = computed(() => this.favorites().length > 0);\n protected readonly icons = addIcons({ elementDown2, elementCancel });\n private header = inject(SiApplicationHeaderComponent);\n\n protected closeLaunchpad(): void {\n this.header.closeLaunchpad();\n }\n\n protected toggleFavorite(event: FavoriteChangeEvent): void {\n this.favoriteChange.emit(event);\n }\n\n protected escape(): void {\n this.closeLaunchpad();\n }\n\n protected isCategories(items: App[] | AppCategory[]): items is AppCategory[] {\n return items.some(item => 'apps' in item);\n }\n}\n","<!-- temporary until old primary-navbar is removed -->\n<div\n class=\"app-switcher gap-6 g-5 g-sm-9 container-fluid\"\n cdkTrapFocus\n cdkTrapFocusAutoCapture\n (keydown.escape)=\"escape()\"\n>\n @if (titleText()) {\n <div class=\"apps-header\">\n <span>\n <p class=\"si-h4 lh-1 m-0\">{{ titleText() | translate }}</p>\n @if (subtitleText()) {\n <p class=\"si-body text-secondary mt-4 mb-0\">{{ subtitleText() | translate }}</p>\n }\n </span>\n <button\n type=\"button\"\n class=\"btn btn-circle btn-tertiary-ghost\"\n [attr.aria-label]=\"closeText() | translate\"\n (click)=\"closeLaunchpad()\"\n >\n <si-icon [icon]=\"icons.elementCancel\" />\n </button>\n </div>\n }\n <div class=\"apps-scroll ms-n2 ps-2\">\n @if (enableFavorites() && hasFavorites()) {\n <si-launchpad-category\n [category]=\"{ name: favoriteAppsText(), apps: favorites() }\"\n [enableFavorites]=\"enableFavorites()\"\n (favoriteChange)=\"toggleFavorite($event)\"\n />\n <button\n type=\"button\"\n class=\"btn btn-link btn-show-all dropdown-toggle text-decoration-none\"\n [class.show]=\"showAllApps\"\n [attr.aria-expanded]=\"showAllApps\"\n [attr.aria-controls]=\"allAppsId\"\n (click)=\"showAllApps = !showAllApps\"\n >\n <b>{{ showMoreAppsText() | translate }}</b>\n <si-icon class=\"link-icon dropdown-caret\" [icon]=\"icons.elementDown2\" />\n </button>\n }\n\n <div class=\"all-apps\" [id]=\"allAppsId\">\n @if (!enableFavorites() || !hasFavorites() || showAllApps) {\n @for (category of categories(); track category.name) {\n <si-launchpad-category\n [class.pt-6]=\"!!category.name && (hasFavorites() || !$first)\"\n [category]=\"category\"\n [enableFavorites]=\"enableFavorites()\"\n (favoriteChange)=\"toggleFavorite($event)\"\n />\n }\n }\n </div>\n </div>\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-application-header.component';\nexport * from './si-account-details.component';\nexport * from './si-header-navigation-item.component';\nexport * from './si-header-collapsible-actions.component';\nexport * from './si-header-action-item.component';\nexport * from './si-header-account-item.component';\nexport * from './si-header-selection-item.component';\nexport * from './si-header-logo.directive';\nexport * from './si-header-actions.directive';\nexport * from './si-header-brand.directive';\nexport * from './si-header-navigation.component';\nexport * from './launchpad/si-launchpad-factory.component';\nexport * from './launchpad/si-launchpad.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;;AAGG;AA8BH;MAQa,4BAA4B,CAAA;AAC/B,IAAA,OAAO,SAAS,GAAG,CAAC;AAE5B;;;;AAIG;IACM,gBAAgB,GAAG,KAAK,CAA8C,IAAI;yFAAC;;AAE3E,IAAA,SAAS,GAAG,KAAK;6FAAqB;AAC/C;;;;;;;AAOG;IACM,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,SAAS,CAAA,CAAA,4CAAA,CAA8C,CAAC;uFAAC;;AAGxF,IAAA,gBAAgB,GAAG,IAAI,OAAO,EAAQ;;IAGtC,wBAAwB,GAAG,MAAM,CAAC,KAAK;iGAAC;;IAExC,aAAa,GAAG,MAAM,CAAC,KAAK;sFAAC;IAEnB,iBAAiB,GAAG,MAAM,CAAC,CAAC;0FAAC;IAC7B,aAAa,GAAG,MAAM,CAAC,KAAK;sFAAC;AAC7B,IAAA,EAAE,GAAG,CAAA,wBAAA,EAA2B,4BAA4B,CAAC,SAAS,EAAE,EAAE;IACnF,gBAAgB,GAAG,CAAC,CAC5B,MAAM,SAAS,CAAA,CAAA,0DAAA,CAA4D,CAC5E;AACS,IAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IAClB,KAAK,GAAG,QAAQ,CAAC,EAAE,iBAAiB,EAAE,WAAW,EAAE,CAAC;IAEtD,gBAAgB,GAAG,SAAS,CAA6B,kBAAkB;yFAAC;AAC5E,IAAA,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,YAAY;kFAAC;AACrD,IAAA,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAC/C,IAAA,YAAY;IACZ,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,MAAK;QAC5D,IAAI,CAAC,qBAAqB,EAAE;QAC5B,IAAI,CAAC,cAAc,EAAE;AACvB,IAAA,CAAC,CAAC;;AAGO,IAAA,cAAc,GAAG,QAAQ,CAChC,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,CACtC,SAAS,CAAC,gBAAgB,IAAG;AAC3B,QAAA,IAAI,gBAAgB,KAAK,OAAO,EAAE;AAChC,YAAA,OAAO,EAAE,CAAC,IAAI,CAAC;QACjB;QACA,OAAO,IAAI,CAAC;aACT,OAAO,CACN,CAAA,YAAA,EACE,qBAAqB,EAAE,gBAAgB,GAAG,SAAS,EACrD,CAAA,GAAA,CAAK;AAEN,aAAA,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC,CAAC,CACH,EACD,EAAE,YAAY,EAAE,KAAK,EAAE,CACxB;AAED,IAAA,WAAA,GAAA;QACE,MAAM,CAAC,MAAK;YACV,IAAI,CAAC,cAAc,EAAE;YACrB,SAAS,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;AAC/C,QAAA,CAAC,CAAC;IACJ;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE;AACjC,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE;AAC5B,QAAA,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE;IAClC;;IAGA,uBAAuB,GAAA;AACrB,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE;IAC9B;;AAGA,IAAA,cAAc,CAAC,OAA0C,EAAA;AACvD,QAAA,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzC,QAAA,IAAI,OAAO,KAAK,IAAI,CAAC,YAAY,EAAE;AACjC,YAAA,IAAI,CAAC,YAAY,GAAG,SAAS;QAC/B;IACF;;AAGA,IAAA,cAAc,CAAC,OAA0C,EAAA;AACvD,QAAA,IAAI,CAAC,YAAY,KAAK,OAAO;AAC7B,QAAA,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,cAAc,EAAE;IACvB;;IAGA,cAAc,GAAA;AACZ,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;AACxB,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC;YAC7B,IAAI,CAAC,cAAc,EAAE;AAErB,YAAA,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;;;gBAGxB,IAAI,CAAC,gBAAgB,EAAE,EAAE,aAAa,CAAC,KAAK,EAAE;YAChD;QACF;IACF;;IAGA,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE;YACzB,IAAI,CAAC,cAAc,EAAE;AACrB,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE;AAC5B,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;QAC9B;IACF;IAEU,8BAA8B,GAAA;AACtC,QAAA,IAAI,IAAI,CAAC,wBAAwB,EAAE,EAAE;YACnC,IAAI,CAAC,qBAAqB,EAAE;QAC9B;aAAO;YACL,IAAI,CAAC,oBAAoB,EAAE;QAC7B;IACF;IAEU,eAAe,GAAA;AACvB,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;YACxB,IAAI,CAAC,cAAc,EAAE;QACvB;aAAO;YACL,IAAI,CAAC,aAAa,EAAE;QACtB;IACF;IAEU,uBAAuB,GAAA;QAC/B,IAAI,CAAC,qBAAqB,EAAE;QAC5B,IAAI,CAAC,gBAAgB,EAAE,EAAE,aAAa,CAAC,KAAK,EAAE;IAChD;IAEU,eAAe,GAAA;AACvB,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE;IAC9B;IAEQ,oBAAoB,GAAA;AAC1B,QAAA,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE;AACpC,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE;AAC5B,YAAA,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC;YACvC,IAAI,CAAC,cAAc,EAAE;YACrB,IAAI,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,kCAAkC,EAAE;QACjE;IACF;IAEQ,qBAAqB,GAAA;AAC3B,QAAA,IAAI,IAAI,CAAC,wBAAwB,EAAE,EAAE;AACnC,YAAA,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,KAAK,CAAC;AACxC,YAAA,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE;YAC1B,IAAI,CAAC,cAAc,EAAE;QACvB;IACF;uGAlKW,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAA5B,4BAA4B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,gBAAA,EAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,SAAA,EAF5B,CAAC,EAAE,OAAO,EAAE,wBAAwB,EAAE,WAAW,EAAE,4BAA4B,EAAE,CAAC,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAyC7C,YAAY,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChF9D,2uEAsEA,EAAA,MAAA,EAAA,CAAA,iCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDlC6B,UAAU,0LAAE,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,eAAe,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAA9D,eAAe,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA;;2FAKd,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAPxC,SAAS;+BACE,uBAAuB,EAAA,OAAA,EACxB,CAAC,eAAe,EAAE,UAAU,EAAE,gBAAgB,EAAE,eAAe,CAAC,aAG9D,CAAC,EAAE,OAAO,EAAE,wBAAwB,EAAE,WAAW,EAAA,4BAA8B,EAAE,CAAC,EAAA,QAAA,EAAA,2uEAAA,EAAA,MAAA,EAAA,CAAA,iCAAA,CAAA,EAAA;AAwCnB,SAAA,CAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,EAAA,gBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,WAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,gBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CAAA,kBAAkB,uFAC5C,YAAY,CAAA,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;AEhF9D;;;AAGG;MA0BU,yBAAyB,CAAA;;IAE3B,IAAI,GAAG,KAAK,CAAC,QAAQ;6EAAU;;AAE/B,IAAA,OAAO,GAAG,KAAK;2FAAU;;AAEzB,IAAA,KAAK,GAAG,KAAK;yFAAU;;AAEvB,IAAA,QAAQ,GAAG,KAAK;4FAAsB;uGARpC,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAzB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAnB1B;;;;;;;;;;;;;;;;;AAiBT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAlBS,eAAe,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA;;2FAoBd,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAtBrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;oBAC9B,OAAO,EAAE,CAAC,eAAe,CAAC;AAC1B,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;AAiBT,EAAA;AACF,iBAAA;;;AC5BD;;;AAGG;AASH;MAqBa,+BAA+B,CAAA;;AAE1C,IAAA,eAAe,GAAG,MAAM,CAAC,gCAAgC,EAAE;AACzD,QAAA,IAAI,EAAE,IAAI;AACV,QAAA,QAAQ,EAAE;AACX,KAAA,CAAC;AACiB,IAAA,KAAK,GAAG,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;uGAN1C,+BAA+B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAA/B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,+BAA+B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iEAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,uBAAA,EAAA,mBAAA,EAAA,EAAA,cAAA,EAAA,0BAAA,EAAA,EAAA,SAAA,EAR/B;YACT,EAAE,OAAO,EAAE,0BAA0B,EAAE,QAAQ,EAAE,EAAE,iCAAiC,EAAE,IAAI,EAAE;SAC7F,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAVS;;;;;;;AAOT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EARS,eAAe,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAiBd,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBApB3C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;;AAET,oBAAA,QAAQ,EAAE,iEAAiE;oBAC3E,OAAO,EAAE,CAAC,eAAe,CAAC;AAC1B,oBAAA,QAAQ,EAAE;;;;;;;AAOT,EAAA,CAAA;AACD,oBAAA,SAAS,EAAE;wBACT,EAAE,OAAO,EAAE,0BAA0B,EAAE,QAAQ,EAAE,EAAE,iCAAiC,EAAE,IAAI,EAAE;AAC7F,qBAAA;AACD,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE,0BAA0B;AACjC,wBAAA,yBAAyB,EAAE;AAC5B;AACF,iBAAA;;;AChCD;;;AAGG;AAUH;MAWa,mCAAmC,CAAA;AACtC,IAAA,OAAO,SAAS,GAAG,CAAC;AAE5B;;;;;;;AAOG;IACM,iBAAiB,GAAG,KAAK,CAChC,CAAC,CAAC,MAAM,SAAS,CAAA,CAAA,oDAAA,CAAsD,CAAC;0FACzE;;IAGQ,cAAc,GAAG,MAAM,CAAC,KAAK;uFAAC;;IAE9B,UAAU,GAAG,MAAM,CAAC,CAAC;mFAAC;AAEZ,IAAA,EAAE,GAAG,CAAA,gCAAA,EAAmC,mCAAmC,CAAC,SAAS,EAAE,EAAE;AACzF,IAAA,KAAK,GAAG,QAAQ,CAAC,EAAE,sBAAsB,EAAE,CAAC;AAE9C,IAAA,MAAM,GAAG,SAAS,CAAC,QAAQ,CAA6B,QAAQ;+EAAC;AACjE,IAAA,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,YAAY;kFAAC;AACrD,IAAA,MAAM,GAAG,MAAM,CAAC,4BAA4B,CAAC;AAC7C,IAAA,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;IAEzF,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE;IACnC;IAEU,oBAAoB,GAAA;AAC5B,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;YACzB,IAAI,CAAC,WAAW,EAAE;QACpB;aAAO;YACL,IAAI,CAAC,UAAU,EAAE;QACnB;IACF;IAEU,aAAa,GAAA;QACrB,IAAI,CAAC,WAAW,EAAE;QAClB,IAAI,CAAC,MAAM,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE;IACrC;IAEQ,UAAU,GAAA;AAChB,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE;AAC1B,YAAA,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE;AACnC,YAAA,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE;AAC5B,YAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC;YAC7B,IAAI,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,kCAAkC,EAAE;QACjE;IACF;IAEQ,WAAW,GAAA;AACjB,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;AACzB,YAAA,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE;AAC5B,YAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC;YAC9B,IAAI,CAAC,MAAM,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE;QACrC;IACF;uGA5DW,mCAAmC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAnC,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mCAAmC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,+BAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,YAAA,EAAA,EAAA,SAAA,EALnC;YACT,EAAE,OAAO,EAAE,0BAA0B,EAAE,QAAQ,EAAE,EAAE,iCAAiC,EAAE,IAAI,EAAE;SAC7F,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,QAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EA2B+C,YAAY,gEChD9D,goBAqBA,EAAA,MAAA,EAAA,CAAA,0CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDL6B,UAAU,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,yBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,eAAe,iEAA5C,eAAe,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA;;2FAQd,mCAAmC,EAAA,UAAA,EAAA,CAAA;kBAV/C,SAAS;+BACE,+BAA+B,EAAA,OAAA,EAChC,CAAC,eAAe,EAAE,UAAU,EAAE,eAAe,CAAC,EAAA,SAAA,EAG5C;wBACT,EAAE,OAAO,EAAE,0BAA0B,EAAE,QAAQ,EAAE,EAAE,iCAAiC,EAAE,IAAI,EAAE;AAC7F,qBAAA,EAAA,IAAA,EACK,EAAE,KAAK,EAAE,YAAY,EAAE,EAAA,QAAA,EAAA,goBAAA,EAAA,MAAA,EAAA,CAAA,0CAAA,CAAA,EAAA;AAyB4C,SAAA,CAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CAAA,QAAQ,uFACjC,YAAY,CAAA,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;AEhD9D;;;AAGG;MAcmB,sBAAsB,CAAA;;AAEjC,IAAA,eAAe,GAAG,MAAM,CAAC,gCAAgC,EAAE;AAClE,QAAA,IAAI,EAAE,IAAI;AACV,QAAA,QAAQ,EAAE;AACX,KAAA,CAAC;AACiB,IAAA,kBAAkB,GAAG,MAAM,CAAC,mCAAmC,EAAE;AAClF,QAAA,QAAQ,EAAE;AACX,KAAA,CAAC;AACiB,IAAA,KAAK,GAAG,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;AAEpC,IAAA,MAAM,GAAG,MAAM,CAAC,4BAA4B,CAAC;IAE9D,QAAQ,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE;AACxB,YAAA,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,eAAgB,CAAC,KAAK,EAAE,CAAC;QAC7E;IACF;IAEU,KAAK,GAAA;AACb,QAAA,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,cAAc,EAAE,EAAE;;AAE/E,YAAA,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE;QACrC;AAAO,aAAA,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,cAAc,EAAE,EAAE;;AAE9E,YAAA,cAAc,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;QAC3D;IACF;uGA3BoB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAL3C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,IAAI,EAAE;AACJ,wBAAA,SAAS,EAAE;AACZ;AACF,iBAAA;;;AChBD;;;AAGG;AAeH;;;AAGG;AAEG,MAAgB,0BACpB,SAAQ,sBAAsB,CAAA;AAG9B;;;;;AAKG;AACM,IAAA,KAAK,GAAG,KAAK;yFAAuC;AAI5C,IAAA,cAAc,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACzC,IAAA,UAAU,GAAG,MAAM,CAA0B,UAAU,CAAC;AACxD,IAAA,eAAe,GAAG,MAAM,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC5E,cAAc,GAAG,QAAQ,CACxC,MACE,IAAI,CAAC,iBAAiB,EAAE;SACvB,CAAC,IAAI,CAAC,eAAe;AACpB,YAAA,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE;AACjC,YAAA,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;uFACvC;IAEkB,QAAQ,GAAG,QAAQ,CAAC,MACrC,OAAO,IAAI,CAAC,KAAK,EAAE,KAAK,SAAS,GAAI,IAAI,CAAC,KAAK,EAAc,GAAG,KAAK;iFACtE;AACkB,IAAA,UAAU,GAAG,QAAQ,CAAC,MAAK;AAC5C,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE;QAC1B,OAAO,OAAO,KAAK,KAAK;cACpB,CAAA,EAAG,KAAK,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;cAC1D,SAAS;IACf,CAAC;mFAAC;AAEF,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE;AACP,QAAA,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC;YAChC,OAAO,EAAE,IAAI,CAAC,UAAU;AACxB,YAAA,SAAS,EAAE,MAAM,MAAM;YACvB,OAAO,EAAE,IAAI,CAAC,cAAc;;AAE5B,YAAA,OAAO,EAAE,MAAM,IAAI,CAAC,SAAS,EAAE;AAC/B,YAAA,cAAc,EAAE,MAAM;AACvB,SAAA,CAAC;IACJ;AAEA,IAAA,WAAW,CAAC,OAA4B,EAAA;AACtC,QAAA,IAAI,OAAO,CAAC,KAAK,EAAE;AACjB,YAAA,IAAI,OAAO,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE;AAC9D,gBAAA,IAAI,CAAC,kBAAkB,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,GAAG,CAAC,CAAC;YAChE;AAAO,iBAAA,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,IAAI,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE;AACrE,gBAAA,IAAI,CAAC,kBAAkB,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,GAAG,CAAC,CAAC;YAChE;QACF;IACF;AAEmB,IAAA,iBAAiB,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,cAAc,EAAE;0FAAC;uGAzD7E,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAA1B,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAD/C,SAAS;mBAAC,EAAE;;;ACtBb;;;AAGG;AAOH;AAYM,MAAO,2BAA4B,SAAQ,0BAA0B,CAAA;;IAEhE,IAAI,GAAG,KAAK,CAAC,QAAQ;6EAAU;AAErB,IAAA,SAAS,GAAG,SAAS,CAAC,QAAQ,CAA0B,WAAW;kFAAC;uGAJ5E,2BAA2B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAA3B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,0VAN3B,CAAC,gBAAgB,CAAC,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,WAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChB/B,0ZAWA,4CDGY,eAAe,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAQd,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAXvC,SAAS;+BAEE,yDAAyD,EAAA,OAAA,EAC1D,CAAC,eAAe,CAAC,aAEf,CAAC,gBAAgB,CAAC,EAAA,IAAA,EACvB;AACJ,wBAAA,KAAK,EAAE,0BAA0B;AACjC,wBAAA,yBAAyB,EAAE;AAC5B,qBAAA,EAAA,QAAA,EAAA,0ZAAA,EAAA;8JAM0E,WAAW,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;AE1BxF;;;AAGG;AAQH;AAaM,MAAO,4BAA6B,SAAQ,0BAA0B,CAAA;;IAEjE,IAAI,GAAG,KAAK,CAAC,QAAQ;6EAAU;;AAE/B,IAAA,QAAQ,GAAG,KAAK;4FAAU;;AAE1B,IAAA,QAAQ,GAAG,KAAK;4FAAU;AAEhB,IAAA,SAAS,GAAG,IAAI,CAAC,IAAI;uGAR7B,4BAA4B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAA5B,4BAA4B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gCAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,uBAAA,EAAA,mBAAA,EAAA,EAAA,cAAA,EAAA,oCAAA,EAAA,EAAA,SAAA,EAN5B,CAAC,gBAAgB,CAAC,iDClB/B,saAgBA,EAAA,MAAA,EAAA,CAAA,wFAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDDY,iBAAiB,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,eAAe,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FASjC,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAZxC,SAAS;+BAEE,gCAAgC,EAAA,OAAA,EACjC,CAAC,iBAAiB,EAAE,eAAe,CAAC,EAAA,SAAA,EAGlC,CAAC,gBAAgB,CAAC,EAAA,IAAA,EACvB;AACJ,wBAAA,KAAK,EAAE,oCAAoC;AAC3C,wBAAA,yBAAyB,EAAE;AAC5B,qBAAA,EAAA,QAAA,EAAA,saAAA,EAAA,MAAA,EAAA,CAAA,wFAAA,CAAA,EAAA;;;AEtBH;;;AAGG;AAgBG,MAAO,8BAA+B,SAAQ,sBAAsB,CAAA;AACxE;;;;AAIG;IACM,IAAI,GAAG,KAAK,CAAC,KAAK;6EAAC;uGANjB,8BAA8B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAA9B,8BAA8B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kCAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,YAAA,EAAA,QAAA,EAAA,EAAA,cAAA,EAAA,gEAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECnB3C,oIAIA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDQY,eAAe,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAOd,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAV1C,SAAS;AAEE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kCAAkC,EAAA,OAAA,EACnC,CAAC,eAAe,CAAC,EAAA,IAAA,EAEpB;AACJ,wBAAA,KAAK,EAAE,gEAAgE;AACvE,wBAAA,cAAc,EAAE;AACjB,qBAAA,EAAA,QAAA,EAAA,oIAAA,EAAA;;;AEjBH;;;AAGG;AAYH;MAQa,qBAAqB,CAAA;IACb,QAAQ,GAAG,MAAM,CAAqB,SAAS;iFAAC;AAE3D,IAAA,UAAU,GAAG,MAAM,CAA0B,UAAU,CAAC;AACxD,IAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IAEnC,QAAQ,GAAA;QACN,IAAI,CAAC,cAAc,EAAE;IACvB;IAGU,cAAc,GAAA;AACtB,QAAA,eAAe,CACb;YACE,IAAI,EAAE,MACJ,IAAI,CAAC,QAAQ,CAAC,GAAG,CACf;AACG,iBAAA,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa;iBAC9C,gBAAgB,CAAC,2BAA2B;AAC5C,iBAAA,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;SAEnC,EACD,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAC5B;IACH;uGAxBW,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gCAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,EAAA,cAAA,EAAA,+BAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAPjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gCAAgC;AAC1C,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE,+BAA+B;AACtC,wBAAA,mBAAmB,EAAE;AACtB;AACF,iBAAA;;sBAWE,YAAY;uBAAC,qBAAqB;;;ACjCrC;;;AAGG;MAQU,wBAAwB,CAAA;uGAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBALpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;;AAET,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,IAAI,EAAE,EAAE,KAAK,EAAE,gBAAgB;AAChC,iBAAA;;;ACVD;;;AAGG;MAQU,sBAAsB,CAAA;uGAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,cAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;;AAET,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,IAAI,EAAE,EAAE,KAAK,EAAE,cAAc;AAC9B,iBAAA;;;ACVD;;;AAGG;MAcU,2BAA2B,CAAA;AAC5B,IAAA,MAAM,GAAG,MAAM,CAAC,4BAA4B,CAAC;AACpC,IAAA,KAAK,GAAG,QAAQ,CAAC,EAAE,iBAAiB,EAAE,CAAC;AAE1D,IAAA,WAAA,GAAA;QACE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;IACrC;IAEA,WAAW,GAAA;QACT,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC;IACtC;uGAVW,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAA3B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,YAAA,EAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjBxC,kVAWA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDE6B,eAAe,iEAAhC,eAAe,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA;;2FAId,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBANvC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,sBAAsB,EAAA,OAAA,EACvB,CAAC,eAAe,EAAE,eAAe,CAAC,EAAA,IAAA,EAErC,EAAE,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,YAAY,EAAE,EAAA,QAAA,EAAA,kVAAA,EAAA;;;AEf1D;;;AAGG;MAoBU,uBAAuB,CAAA;AAClC;;;;AAIG;IACM,QAAQ,GAAG,KAAK,CAAC,KAAK,gFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AACjE;;;;AAIG;IACM,MAAM,GAAG,KAAK,CAAC,KAAK,8EAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAC/D;;;;AAIG;IACM,oBAAoB,GAAG,KAAK,CAAC,KAAK,4FAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAC7E;;;;AAIG;IACM,QAAQ,GAAG,KAAK,CAAC,KAAK;iFAAC;AAChC;;;;AAIG;IACM,MAAM,GAAG,KAAK,CAAC,KAAK,8EAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;;AAGtD,IAAA,OAAO,GAAG,KAAK;2FAAU;;AAEzB,IAAA,SAAS,GAAG,KAAK;6FAAU;AACpC;;;;;;;AAOG;IACM,gBAAgB,GAAG,KAAK,CAC/B,CAAC,CAAC,MAAM,SAAS,CAAA,CAAA,6CAAA,CAA+C,CAAC;yFAClE;IAEkB,KAAK,GAAG,QAAQ,CAAC,EAAE,aAAa,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,CAAC;AAExF,IAAA,MAAM,GAAG,MAAM,CAAC,4BAA4B,CAAC;AAG3C,IAAA,eAAe,CAAC,KAAY,EAAA;QACpC,KAAK,CAAC,eAAe,EAAE;QACvB,KAAK,CAAC,cAAc,EAAE;AACtB,QAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;IACnC;IAEiC,KAAK,GAAA;AACpC,QAAA,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE;IAC9B;uGA7DW,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAvB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,oBAAA,EAAA,EAAA,iBAAA,EAAA,sBAAA,EAAA,UAAA,EAAA,sBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,gBAAA,EAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,eAAA,EAAA,yBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,UAAA,EAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,UAAA,EAAA,EAAA,cAAA,EAAA,cAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvBpC,67BA8BA,EAAA,MAAA,EAAA,CAAA,u0DAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDhBY,eAAe,iEAAE,eAAe,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA;;2FAS/B,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAZnC,SAAS;AAEE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qBAAqB,WACtB,CAAC,eAAe,EAAE,eAAe,CAAC,EAAA,IAAA,EAGrC;AACJ,wBAAA,KAAK,EAAE,cAAc;AACrB,wBAAA,gBAAgB,EAAE,UAAU;AAC5B,wBAAA,gBAAgB,EAAE;AACnB,qBAAA,EAAA,QAAA,EAAA,67BAAA,EAAA,MAAA,EAAA,CAAA,u0DAAA,CAAA,EAAA;;sBAsDA,YAAY;uBAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;;sBAOxC,YAAY;uBAAC,OAAO;;;AElFvB;;;AAGG;MAiBU,4BAA4B,CAAA;IAC9B,QAAQ,GAAG,KAAK,CAAC,QAAQ;iFAAe;;IAExC,eAAe,GAAG,KAAK,CAAC,KAAK;wFAAC;IAE9B,cAAc,GAAG,MAAM,EAAuB;IAEpC,cAAc,GAAG,MAAM,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAEpE,cAAc,CAAC,GAAQ,EAAE,QAAiB,EAAA;QAClD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;IAC7C;AAEU,IAAA,wBAAwB,CAAC,GAAQ,EAAA;QACzC,OAAO,aAAa,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,WAAW;IAClD;uGAfW,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAA5B,4BAA4B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,EAAA,cAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECpBzC,knEAsDA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDzCY,uBAAuB,uNAAmB,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,uBAAA,EAAA,kBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,UAAU,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAA7C,eAAe,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA;;2FAOvC,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBATxC,SAAS;+BACE,uBAAuB,EAAA,OAAA,EACxB,CAAC,uBAAuB,EAAE,eAAe,EAAE,gBAAgB,EAAE,UAAU,CAAC,EAAA,IAAA,EAE3E;AACJ,wBAAA,KAAK,EAAE,SAAS;AAChB,wBAAA,mBAAmB,EAAE;AACtB,qBAAA,EAAA,QAAA,EAAA,knEAAA,EAAA;;;AElBH;;;AAGG;MAwBU,2BAA2B,CAAA;AACtC;;;;;;;AAOG;IACM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,SAAS,CAAA,CAAA,qCAAA,CAAuC,CAAC;kFAAC;AAErF;;;;;;;AAOG;IACM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,SAAS,CAAA,CAAA,gCAAA,CAAkC,CAAC;kFAAC;AAEhF;;;AAGG;AACM,IAAA,YAAY,GAAG,KAAK;gGAAsB;;IAG1C,IAAI,GAAG,KAAK,CAAC,QAAQ;6EAAyB;AAEvD;;;;AAIG;IACM,eAAe,GAAG,KAAK,CAAC,KAAK,uFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAExE;;;;;;;AAOG;IACM,gBAAgB,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,SAAS,CAAA,CAAA,uCAAA,CAAyC,CAAC;yFAAC;AAE9F;;;;;;;AAOG;IACM,gBAAgB,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,SAAS,CAAA,CAAA,mCAAA,CAAqC,CAAC;yFAAC;;AAGjF,IAAA,gBAAgB,GAAG,KAAK;oGAAE;IAE1B,cAAc,GAAG,MAAM,EAAuB;IAE7C,WAAW,GAAG,KAAK;IACV,SAAS,GAAG,iCAAiC;AAC7C,IAAA,UAAU,GAAG,QAAQ,CAAC,MAAK;AAC5C,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE;AACxB,QAAA,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;AAC3B,YAAA,OAAO,IAAI;QACb;AACA,QAAA,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;IACxC,CAAC;mFAAC;IACiB,SAAS,GAAG,QAAQ,CAAC,MACtC,IAAI,CAAC,IAAI;SACN,OAAO,CAAC,GAAG,KAAK,MAAM,IAAI,GAAG,GAAG,GAAG,CAAC,IAAI,GAAI,GAAW,CAAC;SACxD,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC;kFAC/B;AACkB,IAAA,YAAY,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,GAAG,CAAC;qFAAC;IAC1D,KAAK,GAAG,QAAQ,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC;AAC5D,IAAA,MAAM,GAAG,MAAM,CAAC,4BAA4B,CAAC;IAE3C,cAAc,GAAA;AACtB,QAAA,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE;IAC9B;AAEU,IAAA,cAAc,CAAC,KAA0B,EAAA;AACjD,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;IACjC;IAEU,MAAM,GAAA;QACd,IAAI,CAAC,cAAc,EAAE;IACvB;AAEU,IAAA,YAAY,CAAC,KAA4B,EAAA;AACjD,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,MAAM,IAAI,IAAI,CAAC;IAC3C;uGA9FW,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAA3B,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,gBAAA,EAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,gBAAA,EAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,gBAAA,EAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC3BxC,wgEA2DA,EAAA,MAAA,EAAA,CAAA,kpCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDzCI,UAAU,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,yBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACV,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAEZ,4BAA4B,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAC5B,eAAe,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAFf,eAAe,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA;;2FAON,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAZvC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,sBAAsB,EAAA,OAAA,EACvB;wBACP,UAAU;wBACV,YAAY;wBACZ,eAAe;wBACf,4BAA4B;wBAC5B;AACD,qBAAA,EAAA,QAAA,EAAA,wgEAAA,EAAA,MAAA,EAAA,CAAA,kpCAAA,CAAA,EAAA;;;AEvBH;;;AAGG;;ACHH;;AAEG;;"}
|
|
1
|
+
{"version":3,"file":"siemens-element-ng-application-header.mjs","sources":["../../../../projects/element-ng/application-header/si-application-header.component.ts","../../../../projects/element-ng/application-header/si-application-header.component.html","../../../../projects/element-ng/application-header/si-account-details.component.ts","../../../../projects/element-ng/application-header/si-header-navigation-item.component.ts","../../../../projects/element-ng/application-header/si-header-collapsible-actions.component.ts","../../../../projects/element-ng/application-header/si-header-collapsible-actions.component.html","../../../../projects/element-ng/application-header/si-header-action-item.base.ts","../../../../projects/element-ng/application-header/si-header-action-item-icon-base.directive.ts","../../../../projects/element-ng/application-header/si-header-action-item.component.ts","../../../../projects/element-ng/application-header/si-header-action-item.component.html","../../../../projects/element-ng/application-header/si-header-account-item.component.ts","../../../../projects/element-ng/application-header/si-header-account-item.component.html","../../../../projects/element-ng/application-header/si-header-selection-item.component.ts","../../../../projects/element-ng/application-header/si-header-selection-item.component.html","../../../../projects/element-ng/application-header/si-header-logo.directive.ts","../../../../projects/element-ng/application-header/si-header-actions.directive.ts","../../../../projects/element-ng/application-header/si-header-brand.directive.ts","../../../../projects/element-ng/application-header/si-header-navigation.component.ts","../../../../projects/element-ng/application-header/si-header-navigation.component.html","../../../../projects/element-ng/application-header/launchpad/si-launchpad-app.component.ts","../../../../projects/element-ng/application-header/launchpad/si-launchpad-app.component.html","../../../../projects/element-ng/application-header/launchpad/si-launchpad-category.component.ts","../../../../projects/element-ng/application-header/launchpad/si-launchpad-category.component.html","../../../../projects/element-ng/application-header/launchpad/si-launchpad-factory.component.ts","../../../../projects/element-ng/application-header/launchpad/si-launchpad-factory.component.html","../../../../projects/element-ng/application-header/index.ts","../../../../projects/element-ng/application-header/siemens-element-ng-application-header.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { A11yModule, CdkTrapFocus } from '@angular/cdk/a11y';\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n Component,\n effect,\n ElementRef,\n inject,\n Injector,\n input,\n OnDestroy,\n signal,\n TemplateRef,\n untracked,\n viewChild\n} from '@angular/core';\nimport { toObservable, toSignal } from '@angular/core/rxjs-interop';\nimport { elementMenu, elementThumbnails } from '@siemens/element-icons';\nimport {\n HeaderWithDropdowns,\n SI_HEADER_WITH_DROPDOWNS,\n SiHeaderDropdownTriggerDirective\n} from '@siemens/element-ng/header-dropdown';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { BOOTSTRAP_BREAKPOINTS, Breakpoints } from '@siemens/element-ng/resize-observer';\nimport { SiTranslatePipe, t } from '@siemens/element-translate-ng/translate';\nimport { of, Subject } from 'rxjs';\nimport { map, switchMap } from 'rxjs/operators';\n\n/** Root component for the application header. */\n@Component({\n selector: 'si-application-header',\n imports: [SiTranslatePipe, A11yModule, NgTemplateOutlet, SiIconComponent],\n templateUrl: './si-application-header.component.html',\n styleUrl: './si-application-header.component.scss',\n providers: [{ provide: SI_HEADER_WITH_DROPDOWNS, useExisting: SiApplicationHeaderComponent }]\n})\nexport class SiApplicationHeaderComponent implements HeaderWithDropdowns, OnDestroy {\n private static idCounter = 0;\n\n /**\n * Defines the minimum breakpoint which must be matched to expand the header / switch to desktop mode.\n *\n * @defaultValue 'sm'\n */\n readonly expandBreakpoint = input<'sm' | 'md' | 'lg' | 'xl' | 'xxl' | 'never'>('sm');\n /** Template reference for the launchpad content rendered inside the header. */\n readonly launchpad = input<TemplateRef<void>>();\n /**\n * Accessible label for the launchpad toggle button.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_APPLICATION_HEADER.LAUNCHPAD:Launchpad`)\n * ```\n */\n readonly launchpadLabel = input(t(() => $localize`:@@SI_APPLICATION_HEADER.LAUNCHPAD:Launchpad`));\n\n /** @internal */\n readonly closeMobileMenus = new Subject<void>();\n\n /** @internal */\n readonly mobileNavigationExpanded = signal(false);\n /** @internal */\n readonly hasNavigation = signal(false);\n\n protected readonly openDropdownCount = signal(0);\n protected readonly launchpadOpen = signal(false);\n protected readonly id = `__si-application-header-${SiApplicationHeaderComponent.idCounter++}`;\n protected toggleNavigation = t(\n () => $localize`:@@SI_APPLICATION_HEADER.TOGGLE_NAVIGATION:Show navigation`\n );\n protected injector = inject(Injector);\n protected readonly icons = addIcons({ elementThumbnails, elementMenu });\n\n private readonly navigationToggle = viewChild<ElementRef<HTMLDivElement>>('navigationToggle');\n private readonly focusTrap = viewChild.required(CdkTrapFocus);\n private breakpointObserver = inject(BreakpointObserver);\n private openDropdown?: SiHeaderDropdownTriggerDirective;\n private closeMobileSub = this.closeMobileMenus.subscribe(() => {\n this.closeMobileNavigation();\n this.closeLaunchpad();\n });\n\n /** @internal */\n readonly inlineDropdown = toSignal(\n toObservable(this.expandBreakpoint).pipe(\n switchMap(expandBreakpoint => {\n if (expandBreakpoint === 'never') {\n return of(true);\n }\n return this.breakpointObserver\n .observe(\n `(min-width: ${\n BOOTSTRAP_BREAKPOINTS[(expandBreakpoint + 'Minimum') as keyof Breakpoints]\n }px)`\n )\n .pipe(map(({ matches }) => !matches));\n })\n ),\n { initialValue: false }\n );\n\n constructor() {\n effect(() => {\n this.inlineDropdown();\n untracked(() => this.closeMobileMenus.next());\n });\n }\n\n ngOnDestroy(): void {\n this.closeMobileSub.unsubscribe();\n this.closeMobileMenus.next();\n this.closeMobileMenus.complete();\n }\n\n /** @internal */\n onDropdownItemTriggered(): void {\n this.closeMobileMenus.next();\n }\n\n /** @internal */\n dropdownClosed(trigger?: SiHeaderDropdownTriggerDirective): void {\n this.openDropdownCount.update(v => v - 1);\n if (trigger === this.openDropdown) {\n this.openDropdown = undefined;\n }\n }\n\n /** @internal */\n dropdownOpened(trigger?: SiHeaderDropdownTriggerDirective): void {\n this.openDropdown ??= trigger;\n this.openDropdownCount.update(v => v + 1);\n this.closeLaunchpad();\n }\n\n /** @internal */\n closeLaunchpad(): void {\n if (this.launchpadOpen()) {\n this.launchpadOpen.set(false);\n this.dropdownClosed();\n\n if (this.hasNavigation()) {\n // This is also fine in expanded view when the mobile toggle is not visible.\n // Then the focus call will be ignored.\n this.navigationToggle()?.nativeElement.focus();\n }\n }\n }\n\n /** @internal */\n openLaunchpad(): void {\n if (!this.launchpadOpen()) {\n this.dropdownOpened();\n this.closeMobileMenus.next();\n this.launchpadOpen.set(true);\n }\n }\n\n protected toggleMobileNavigationExpanded(): void {\n if (this.mobileNavigationExpanded()) {\n this.closeMobileNavigation();\n } else {\n this.openMobileNavigation();\n }\n }\n\n protected toggleLaunchpad(): void {\n if (this.launchpadOpen()) {\n this.closeLaunchpad();\n } else {\n this.openLaunchpad();\n }\n }\n\n protected navigationEscapePressed(): void {\n this.closeMobileNavigation();\n this.navigationToggle()?.nativeElement.focus();\n }\n\n protected backdropClicked(): void {\n this.closeMobileMenus.next();\n }\n\n private openMobileNavigation(): void {\n if (!this.mobileNavigationExpanded()) {\n this.closeMobileMenus.next();\n this.mobileNavigationExpanded.set(true);\n this.dropdownOpened();\n this.focusTrap().focusTrap.focusFirstTabbableElementWhenReady();\n }\n }\n\n private closeMobileNavigation(): void {\n if (this.mobileNavigationExpanded()) {\n this.mobileNavigationExpanded.set(false);\n this.openDropdown?.close();\n this.dropdownClosed();\n }\n }\n}\n","<header\n [class]=\"`application-header expand-${expandBreakpoint()}`\"\n [class.show-navigation]=\"mobileNavigationExpanded()\"\n>\n @if (launchpad()) {\n <button\n type=\"button\"\n aria-haspopup=\"dialog\"\n [class]=\"`header-toggle focus-inside d-${expandBreakpoint()}-block`\"\n [class.show]=\"launchpadOpen()\"\n [class.d-none]=\"hasNavigation()\"\n [attr.aria-expanded]=\"launchpadOpen()\"\n [attr.aria-label]=\"launchpadLabel() | translate\"\n [attr.aria-controls]=\"id + '-launchpad'\"\n (click)=\"toggleLaunchpad()\"\n >\n <si-icon class=\"icon\" [icon]=\"icons.elementThumbnails\" />\n </button>\n }\n @if (hasNavigation()) {\n <button\n #navigationToggle\n type=\"button\"\n class=\"header-toggle focus-inside\"\n [class.show]=\"mobileNavigationExpanded()\"\n [attr.aria-expanded]=\"mobileNavigationExpanded()\"\n [attr.aria-label]=\"toggleNavigation | translate\"\n [attr.aria-controls]=\"id + '-navigation-wrapper'\"\n (click)=\"toggleMobileNavigationExpanded()\"\n >\n <si-icon class=\"icon\" [icon]=\"icons.elementMenu\" />\n </button>\n }\n <ng-content select=\"si-header-brand, element-header-brand\">\n <div class=\"header-brand\"></div>\n </ng-content>\n\n <div\n class=\"d-contents\"\n [id]=\"id + '-navigation-wrapper'\"\n [cdkTrapFocus]=\"mobileNavigationExpanded()\"\n (keydown.escape)=\"navigationEscapePressed()\"\n >\n <ng-content select=\"si-header-navigation, element-header-navigation\">\n <div class=\"header-navigation\"></div>\n </ng-content>\n </div>\n\n <ng-content select=\"si-header-actions, element-header-actions\">\n <div class=\"header-actions\"></div>\n </ng-content>\n</header>\n\n@if (launchpadOpen() && launchpad()) {\n <div\n role=\"dialog\"\n aria-modal=\"true\"\n [id]=\"id + '-launchpad'\"\n [attr.aria-label]=\"launchpadLabel() | translate\"\n >\n <ng-template [ngTemplateOutlet]=\"launchpad()!\" [ngTemplateOutletInjector]=\"injector\" />\n </div>\n}\n\n@if (openDropdownCount() || launchpadOpen()) {\n <div\n [class]=\"`modal-backdrop ${launchpadOpen() ? 'd-block' : `d-${expandBreakpoint()}-none`}`\"\n (click)=\"backdropClicked()\"\n ></div>\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Component, input } from '@angular/core';\nimport { SiTranslatePipe, TranslatableString } from '@siemens/element-translate-ng/translate';\n\n@Component({\n selector: 'si-account-details',\n imports: [SiTranslatePipe],\n template: `\n <div class=\"mx-5\">\n <div class=\"si-h5\">{{ name() }}</div>\n @if (email()) {\n <div>{{ email() }}</div>\n }\n @if (company() || userRole()) {\n <div class=\"d-flex align-items-center text-secondary mt-2\">\n @if (company()) {\n {{ company() }}\n }\n @if (userRole()) {\n <span class=\"badge bg-default\">{{ userRole()! | translate }}</span>\n }\n </div>\n }\n </div>\n `\n})\nexport class SiAccountDetailsComponent {\n /** The user's full name. */\n readonly name = input.required<string>();\n /** The user's company name. */\n readonly company = input<string>();\n /** The user's email address. */\n readonly email = input<string>();\n /** The user's role. */\n readonly userRole = input<TranslatableString>();\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Component, inject } from '@angular/core';\nimport { elementDown2 } from '@siemens/element-icons';\nimport {\n SI_HEADER_DROPDOWN_OPTIONS,\n SiHeaderDropdownTriggerDirective\n} from '@siemens/element-ng/header-dropdown';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\n\n/** Adds a navigation item to the header. Should be located inside `.header-navigation`. */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[si-header-navigation-item], a[si-header-navigation-item]',\n imports: [SiIconComponent],\n template: `\n <div class=\"item-title\">\n <ng-content />\n </div>\n @if (dropdownTrigger) {\n <si-icon class=\"dropdown-caret\" [icon]=\"icons.elementDown2\" />\n }\n `,\n providers: [\n { provide: SI_HEADER_DROPDOWN_OPTIONS, useValue: { disableRootFocusTrapForInlineMode: true } }\n ],\n host: {\n class: 'header-item focus-inside',\n '[class.dropdown-toggle]': '!!dropdownTrigger'\n }\n})\nexport class SiHeaderNavigationItemComponent {\n /** @internal */\n dropdownTrigger = inject(SiHeaderDropdownTriggerDirective, {\n self: true,\n optional: true\n });\n protected readonly icons = addIcons({ elementDown2 });\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { A11yModule, CdkTrapFocus } from '@angular/cdk/a11y';\nimport { Component, ElementRef, inject, input, OnDestroy, signal, viewChild } from '@angular/core';\nimport { elementOptionsVertical } from '@siemens/element-icons';\nimport { SI_HEADER_DROPDOWN_OPTIONS } from '@siemens/element-ng/header-dropdown';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiTranslatePipe, t } from '@siemens/element-translate-ng/translate';\n\nimport { SiApplicationHeaderComponent } from './si-application-header.component';\n\n/** Container for actions that should be collapsed in mobile mode. */\n@Component({\n selector: 'si-header-collapsible-actions',\n imports: [SiTranslatePipe, A11yModule, SiIconComponent],\n templateUrl: './si-header-collapsible-actions.component.html',\n styles: '.badge-dot::after { inset-inline-end: 4px; }',\n providers: [\n { provide: SI_HEADER_DROPDOWN_OPTIONS, useValue: { disableRootFocusTrapForInlineMode: true } }\n ],\n host: { class: 'd-contents' }\n})\nexport class SiHeaderCollapsibleActionsComponent implements OnDestroy {\n private static idCounter = 0;\n\n /**\n * Accessible label of the toggle button if actions are collapsed.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_APPLICATION_HEADER.TOGGLE_ACTIONS:Show actions`)\n * ```\n */\n readonly mobileToggleLabel = input(\n t(() => $localize`:@@SI_APPLICATION_HEADER.TOGGLE_ACTIONS:Show actions`)\n );\n\n /** @internal **/\n readonly mobileExpanded = signal(false);\n /** @internal **/\n readonly badgeCount = signal(0);\n\n protected readonly id = `__si-header-collapsible-actions-${SiHeaderCollapsibleActionsComponent.idCounter++}`;\n protected readonly icons = addIcons({ elementOptionsVertical });\n\n private readonly toggle = viewChild.required<ElementRef<HTMLDivElement>>('toggle');\n private readonly focusTrap = viewChild.required(CdkTrapFocus);\n private header = inject(SiApplicationHeaderComponent);\n private closeMobileSub = this.header.closeMobileMenus.subscribe(() => this.closeMobile());\n\n ngOnDestroy(): void {\n this.closeMobileSub.unsubscribe();\n }\n\n protected toggleMobileExpanded(): void {\n if (this.mobileExpanded()) {\n this.closeMobile();\n } else {\n this.openMobile();\n }\n }\n\n protected escapePressed(): void {\n this.closeMobile();\n this.toggle().nativeElement.focus();\n }\n\n private openMobile(): void {\n if (!this.mobileExpanded()) {\n this.header.closeMobileMenus.next();\n this.header.dropdownOpened();\n this.mobileExpanded.set(true);\n this.focusTrap().focusTrap.focusFirstTabbableElementWhenReady();\n }\n }\n\n private closeMobile(): void {\n if (this.mobileExpanded()) {\n this.header.dropdownClosed();\n this.mobileExpanded.set(false);\n this.toggle().nativeElement.focus();\n }\n }\n}\n","<button\n #toggle\n type=\"button\"\n class=\"header-toggle focus-inside\"\n [class.show]=\"mobileExpanded()\"\n [attr.aria-expanded]=\"mobileExpanded()\"\n [attr.aria-label]=\"mobileToggleLabel() | translate\"\n [attr.aria-controls]=\"id + '-content'\"\n (click)=\"toggleMobileExpanded()\"\n>\n <si-icon class=\"icon\" [icon]=\"icons.elementOptionsVertical\" [class.badge-dot]=\"badgeCount()\" />\n</button>\n<div\n class=\"header-collapsible-actions\"\n [id]=\"id + '-content'\"\n [class.show]=\"mobileExpanded()\"\n [cdkTrapFocus]=\"mobileExpanded()\"\n (keydown.escape)=\"escapePressed()\"\n>\n <ng-content />\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Directive, inject, OnInit } from '@angular/core';\nimport { elementDown2 } from '@siemens/element-icons';\nimport { SiHeaderDropdownTriggerDirective } from '@siemens/element-ng/header-dropdown';\nimport { addIcons } from '@siemens/element-ng/icon';\n\nimport { SiApplicationHeaderComponent } from './si-application-header.component';\nimport { SiHeaderCollapsibleActionsComponent } from './si-header-collapsible-actions.component';\n\n@Directive({\n host: {\n '(click)': 'click()'\n }\n})\nexport abstract class SiHeaderActionItemBase implements OnInit {\n /** @internal */\n readonly dropdownTrigger = inject(SiHeaderDropdownTriggerDirective, {\n self: true,\n optional: true\n });\n protected readonly collapsibleActions = inject(SiHeaderCollapsibleActionsComponent, {\n optional: true\n });\n protected readonly icons = addIcons({ elementDown2 });\n\n private readonly header = inject(SiApplicationHeaderComponent);\n\n ngOnInit(): void {\n if (this.dropdownTrigger) {\n this.header.closeMobileMenus.subscribe(() => this.dropdownTrigger!.close());\n }\n }\n\n protected click(): void {\n if (!this.dropdownTrigger?.isOpen && !this.collapsibleActions?.mobileExpanded()) {\n // we must close other immediately as we would close the dropdown else wise immediately after opening.\n this.header.closeMobileMenus.next();\n } else if (!this.dropdownTrigger || !this.collapsibleActions?.mobileExpanded()) {\n // we must use queueMicrotask, otherwise the dropdown gets re-opened immediately.\n queueMicrotask(() => this.header.closeMobileMenus.next());\n }\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport {\n computed,\n Directive,\n ElementRef,\n inject,\n input,\n OnChanges,\n Signal,\n SimpleChanges\n} from '@angular/core';\nimport { SiTooltipDirective, SiTooltipService } from '@siemens/element-ng/tooltip';\n\nimport { SiHeaderActionItemBase } from './si-header-action-item.base';\n\n/**\n * Base for icon based actions.\n * @internal\n */\n@Directive({})\nexport abstract class SiHeaderActionIconItemBase\n extends SiHeaderActionItemBase\n implements OnChanges\n{\n /**\n * Adds a badge to the header item.\n * If type\n * - =number, the number will be shown and automatically trimmed if \\>99\n * - =true, an empty red dot will be shown\n */\n readonly badge = input<number | boolean | undefined | null>();\n\n protected abstract readonly itemTitle: Signal<string | ElementRef<Element>>;\n\n private readonly tooltipService = inject(SiTooltipService);\n private readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly existingTooltip = inject(SiTooltipDirective, { optional: true, host: true });\n private readonly canShowTooltip = computed(\n () =>\n this.visuallyHideTitle() &&\n (!this.existingTooltip ||\n this.existingTooltip.isDisabled() ||\n !this.existingTooltip.siTooltip())\n );\n\n protected readonly badgeDot = computed(() =>\n typeof this.badge() === 'boolean' ? (this.badge() as boolean) : false\n );\n protected readonly badgeValue = computed(() => {\n const badge = this.badge();\n return typeof badge === 'number'\n ? `${badge > 99 ? '+' : ''}${Math.min(99, Math.round(badge))}`\n : undefined;\n });\n\n constructor() {\n super();\n this.tooltipService.createTooltip({\n element: this.elementRef,\n placement: () => 'auto',\n canShow: this.canShowTooltip,\n // Subclass field initializers run after this base constructor. So we cannot directly pass `this.itemTitle`.\n tooltip: () => this.itemTitle(),\n tooltipContext: () => undefined\n });\n }\n\n ngOnChanges(changes: SimpleChanges<this>): void {\n if (changes.badge) {\n if (changes.badge.currentValue && !changes.badge.previousValue) {\n this.collapsibleActions?.badgeCount.update(count => count + 1);\n } else if (!changes.badge.currentValue && changes.badge.previousValue) {\n this.collapsibleActions?.badgeCount.update(count => count - 1);\n }\n }\n }\n\n protected readonly visuallyHideTitle = computed(() => !this.collapsibleActions?.mobileExpanded());\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Component, ElementRef, input, viewChild } from '@angular/core';\nimport { SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiTooltipService } from '@siemens/element-ng/tooltip';\n\nimport { SiHeaderActionIconItemBase } from './si-header-action-item-icon-base.directive';\n\n/** Adds an action item to the header. Should be located inside `.header-actions`. */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[si-header-action-item], a[si-header-action-item]',\n imports: [SiIconComponent],\n templateUrl: './si-header-action-item.component.html',\n providers: [SiTooltipService],\n host: {\n class: 'header-item focus-inside',\n '[class.dropdown-toggle]': '!!dropdownTrigger'\n }\n})\nexport class SiHeaderActionItemComponent extends SiHeaderActionIconItemBase {\n /** The icon to be shown. */\n readonly icon = input.required<string>();\n\n protected readonly itemTitle = viewChild.required<ElementRef<HTMLElement>>('itemTitle');\n}\n","<si-icon class=\"icon\" [class.badge-dot]=\"badgeDot()\" [icon]=\"icon()\" />\n@if (badgeValue()) {\n <span class=\"badge-text\">{{ badgeValue() }}</span>\n}\n<ng-content select=\"si-avatar\" />\n<div #itemTitle class=\"item-title\" [class.visually-hidden]=\"visuallyHideTitle()\">\n <ng-content />\n</div>\n@if (dropdownTrigger) {\n <si-icon class=\"dropdown-caret\" [icon]=\"icons.elementDown2\" />\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Component, ElementRef, input, viewChild } from '@angular/core';\nimport { SiAvatarComponent } from '@siemens/element-ng/avatar';\nimport { SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiTooltipService } from '@siemens/element-ng/tooltip';\nimport { SiTranslatePipe, t } from '@siemens/element-translate-ng/translate';\n\nimport { SiHeaderActionIconItemBase } from './si-header-action-item-icon-base.directive';\n\n/** Adds an account item to the header. Should be located inside `.header-actions`. */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[si-header-account-item]',\n imports: [SiAvatarComponent, SiIconComponent, SiTranslatePipe],\n templateUrl: './si-header-account-item.component.html',\n styleUrl: './si-header-account-item.component.scss',\n providers: [SiTooltipService],\n host: {\n class: 'header-item focus-inside px-4 py-0',\n '[class.dropdown-toggle]': '!!dropdownTrigger'\n }\n})\nexport class SiHeaderAccountItemComponent extends SiHeaderActionIconItemBase {\n protected readonly itemTitle = viewChild.required('itemTitle', { read: ElementRef });\n /** Name of the account. */\n readonly name = input.required<string>();\n /** Initials of the account. If not provided, they will be calculated. */\n readonly initials = input<string>();\n /** URL to an image which should be shown instead of the initials. */\n readonly imageUrl = input<string>();\n /**\n * Accessible label for the account item.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_APPLICATION_HEADER.ACCOUNT:Account of {{name}}`)\n * ```\n */\n readonly accountItemLabel = input(\n t(() => $localize`:@@SI_APPLICATION_HEADER.ACCOUNT:Account of {{name}}`)\n );\n}\n","<si-avatar\n size=\"small\"\n color=\"0\"\n aria-hidden=\"true\"\n [altText]=\"name()\"\n [initials]=\"initials()\"\n [imageUrl]=\"imageUrl()\"\n/>\n<div #itemTitle class=\"item-title\" [class.visually-hidden]=\"visuallyHideTitle()\">\n {{ accountItemLabel() | translate: { name: name() } }}\n</div>\n@if (badgeValue()) {\n <div class=\"badge-text\">{{ badgeValue() }}</div>\n}\n@if (dropdownTrigger) {\n <si-icon class=\"dropdown-caret\" [icon]=\"icons.elementDown2\" />\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Component, input } from '@angular/core';\nimport { SiIconComponent } from '@siemens/element-ng/icon';\n\nimport { SiHeaderActionItemBase } from './si-header-action-item.base';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[si-header-selection-item]',\n imports: [SiIconComponent],\n templateUrl: './si-header-selection-item.component.html',\n host: {\n class: 'header-item header-selection-item focus-inside dropdown-toggle',\n '[class.show]': 'open()'\n }\n})\nexport class SiHeaderSelectionItemComponent extends SiHeaderActionItemBase {\n /**\n * Sets the open state which will only affect the arrow. Only use this property when not using {@link SiHeaderDropdownTriggerDirective}.\n *\n * @defaultValue false\n */\n readonly open = input(false);\n}\n","<div class=\"item-title\">\n <ng-content />\n</div>\n<si-icon class=\"d-block dropdown-caret\" [icon]=\"icons.elementDown2\" />\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport {\n afterNextRender,\n Directive,\n ElementRef,\n HostListener,\n inject,\n Injector,\n OnInit,\n signal\n} from '@angular/core';\n\n/** The siemens logo. Should be located inside `.header-brand`. */\n@Directive({\n selector: 'si-header-logo, [siHeaderLogo]',\n host: {\n class: 'header-logo px-6 focus-inside',\n '[attr.aria-label]': 'logoText()'\n }\n})\nexport class SiHeaderLogoDirective implements OnInit {\n protected readonly logoText = signal<string | undefined>(undefined);\n\n private elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private injector = inject(Injector);\n\n ngOnInit(): void {\n this.updateLogoText();\n }\n\n @HostListener('window:theme-switch')\n protected updateLogoText(): void {\n afterNextRender(\n {\n read: () =>\n this.logoText.set(\n window\n .getComputedStyle(this.elementRef.nativeElement)\n .getPropertyValue('--element-brand-logo-text')\n .replace(/^[\"']|[\"']$/g, '')\n )\n },\n { injector: this.injector }\n );\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Directive } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'si-header-actions',\n host: { class: 'header-actions' }\n})\nexport class SiHeaderActionsDirective {}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Directive } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'si-header-brand',\n host: { class: 'header-brand' }\n})\nexport class SiHeaderBrandDirective {}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Component, inject, OnDestroy } from '@angular/core';\nimport { elementThumbnails } from '@siemens/element-icons';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiTranslatePipe } from '@siemens/element-translate-ng/translate';\n\nimport { SiApplicationHeaderComponent } from './si-application-header.component';\n\n@Component({\n selector: 'si-header-navigation',\n imports: [SiTranslatePipe, SiIconComponent],\n templateUrl: './si-header-navigation.component.html',\n host: { class: 'header-navigation', role: 'navigation' }\n})\nexport class SiHeaderNavigationComponent implements OnDestroy {\n protected header = inject(SiApplicationHeaderComponent);\n protected readonly icons = addIcons({ elementThumbnails });\n\n constructor() {\n this.header.hasNavigation.set(true);\n }\n\n ngOnDestroy(): void {\n this.header.hasNavigation.set(false);\n }\n}\n","@if (header.launchpad()) {\n <button\n type=\"button\"\n [class]=\"`header-item focus-inside d-${header.expandBreakpoint()}-none`\"\n (click)=\"header.openLaunchpad()\"\n >\n <si-icon class=\"icon pe-5\" [icon]=\"icons.elementThumbnails\" />\n {{ header.launchpadLabel() | translate }}\n </button>\n}\n<ng-content />\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport {\n booleanAttribute,\n Component,\n ElementRef,\n HostListener,\n inject,\n input,\n model,\n TemplateRef,\n viewChild\n} from '@angular/core';\nimport { elementExport, elementFavorites, elementFavoritesFilled } from '@siemens/element-icons';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiTooltipService } from '@siemens/element-ng/tooltip';\nimport { SiTranslatePipe, t, TranslatableString } from '@siemens/element-translate-ng/translate';\n\nimport { SiApplicationHeaderComponent } from '../si-application-header.component';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'a[si-launchpad-app]',\n imports: [SiIconComponent, SiTranslatePipe],\n templateUrl: './si-launchpad-app.component.html',\n styleUrl: './si-launchpad-app.component.scss',\n providers: [SiTooltipService],\n host: {\n class: 'focus-inside',\n '[class.active]': 'active()',\n '[class.action]': 'action()'\n }\n})\nexport class SiLaunchpadAppComponent {\n /**\n * When `true`, an external link icon is shown to indicate the app opens in a new tab.\n *\n * @defaultValue false\n */\n readonly external = input(false, { transform: booleanAttribute });\n /**\n * When `true`, the app item is highlighted as the currently active application.\n *\n * @defaultValue false\n */\n readonly active = input(false, { transform: booleanAttribute });\n /**\n * When `true`, a toggle button is shown to allow the user to mark or unmark this app as a favorite.\n *\n * @defaultValue false\n */\n readonly enableFavoriteToggle = input(false, { transform: booleanAttribute });\n /**\n * Whether this app is currently marked as a favorite by the user.\n *\n * @defaultValue false\n */\n readonly favorite = model(false);\n /**\n * When `true`, the item is styled as an action entry rather than a regular app link.\n *\n * @defaultValue false\n */\n readonly action = input(false, { transform: booleanAttribute });\n\n /** URL of the app icon. */\n readonly iconUrl = input<string>();\n /** CSS class applied to the app icon element. */\n readonly iconClass = input<string>();\n /**\n * Aria-label for the external link icon.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_LAUNCHPAD.EXTERNAL_LINK:Open in new tab`)\n * ```\n */\n readonly externalLinkText = input<TranslatableString>(\n t(() => $localize`:@@SI_LAUNCHPAD.EXTERNAL_LINK:Open in new tab`)\n );\n\n protected readonly icons = addIcons({ elementExport, elementFavorites, elementFavoritesFilled });\n\n private header = inject(SiApplicationHeaderComponent);\n private readonly appName = viewChild<ElementRef<HTMLElement>>('appName');\n private readonly systemName = viewChild<ElementRef<HTMLElement>>('systemName');\n private readonly tooltip = viewChild.required<TemplateRef<unknown>>('appTooltip');\n\n constructor() {\n inject(SiTooltipService).createTooltip({\n element: inject(ElementRef),\n placement: () => 'auto',\n canShow: () => {\n const appName = this.appName()?.nativeElement;\n const systemName = this.systemName()?.nativeElement;\n return !!(\n (appName && appName.scrollWidth > appName.clientWidth) ||\n (systemName && systemName.scrollWidth > systemName.clientWidth)\n );\n },\n tooltip: this.tooltip,\n tooltipContext: () => undefined\n });\n }\n\n @HostListener('keydown.space', ['$event'])\n protected favoriteClicked(event: Event): void {\n event.stopPropagation();\n event.preventDefault();\n this.favorite.update(old => !old);\n }\n\n @HostListener('click') protected click(): void {\n this.header.closeLaunchpad();\n }\n}\n","@if (iconUrl()) {\n <img alt=\"\" width=\"64\" height=\"64\" class=\"app-icon\" [src]=\"iconUrl()\" />\n} @else if (iconClass()) {\n <si-icon class=\"app-icon\" [icon]=\"iconClass()!\" />\n}\n<div class=\"app-text\">\n <div class=\"si-h4 d-flex align-items-center mw-100 gap-1\">\n <span #appName class=\"text-truncate\">\n <ng-content select=\"[app-name]\" />\n </span>\n @if (external()) {\n <si-icon\n class=\"icon\"\n [icon]=\"icons.elementExport\"\n [attr.aria-label]=\"externalLinkText() | translate\"\n />\n }\n </div>\n <div #systemName class=\"si-body text-secondary mt-2 text-truncate mw-100\">\n <ng-content select=\"[app-systemName]\" />\n </div>\n</div>\n<ng-template #appTooltip>\n <div class=\"si-body-sbold\">{{ appName.textContent?.trim() }}</div>\n @if (systemName.textContent?.trim(); as systemNameText) {\n <div class=\"si-body\">{{ systemNameText }}</div>\n }\n</ng-template>\n@if (enableFavoriteToggle()) {\n <si-icon\n class=\"icon favorite-icon\"\n [class.is-favorite]=\"favorite()\"\n [icon]=\"favorite() ? icons.elementFavoritesFilled : icons.elementFavorites\"\n (click)=\"favoriteClicked($event)\"\n />\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Component, inject, input, output } from '@angular/core';\nimport { ActivatedRoute, RouterLink, RouterLinkActive } from '@angular/router';\nimport { SiTranslatePipe } from '@siemens/element-translate-ng/translate';\n\nimport { SiLaunchpadAppComponent } from './si-launchpad-app.component';\nimport { App, AppCategory, FavoriteChangeEvent } from './si-launchpad.model';\n\n@Component({\n selector: 'si-launchpad-category',\n imports: [SiLaunchpadAppComponent, SiTranslatePipe, RouterLinkActive, RouterLink],\n templateUrl: './si-launchpad-category.component.html',\n host: {\n class: 'd-block',\n '[class.has-title]': '!!category().name'\n }\n})\nexport class SiLaunchpadCategoryComponent {\n readonly category = input.required<AppCategory>();\n /** @defaultValue false */\n readonly enableFavorites = input(false);\n\n readonly favoriteChange = output<FavoriteChangeEvent>();\n\n protected readonly activatedRoute = inject(ActivatedRoute, { optional: true });\n\n protected toggleFavorite(app: App, favorite: boolean): void {\n this.favoriteChange.emit({ app, favorite });\n }\n\n protected isFavoriteToggleDisabled(app: App): boolean {\n return '_noFavorite' in app && !!app._noFavorite;\n }\n}\n","@if (category().name) {\n <div class=\"si-h4 launchpad-category-title mt-4 mb-6\">\n {{ category().name | translate }}\n </div>\n}\n<div class=\"d-flex flex-wrap gap-4\">\n @for (app of category().apps; track app) {\n @switch (app.type) {\n @case ('router-link') {\n <a\n si-launchpad-app\n routerLinkActive=\"active\"\n [routerLinkActiveOptions]=\"app.activeMatchOptions ?? { exact: false }\"\n [enableFavoriteToggle]=\"enableFavorites() && !isFavoriteToggleDisabled(app)\"\n [external]=\"app.external\"\n [iconUrl]=\"app.iconUrl\"\n [iconClass]=\"app.iconClass\"\n [favorite]=\"!!app.favorite\"\n [routerLink]=\"app.routerLink\"\n [queryParams]=\"app.extras?.queryParams\"\n [queryParamsHandling]=\"app.extras?.queryParamsHandling\"\n [fragment]=\"app.extras?.fragment\"\n [state]=\"app.extras?.state\"\n [relativeTo]=\"app.extras?.relativeTo ?? this.activatedRoute\"\n [preserveFragment]=\"app.extras?.preserveFragment\"\n [skipLocationChange]=\"app.extras?.skipLocationChange\"\n [replaceUrl]=\"app.extras?.replaceUrl\"\n (favoriteChange)=\"toggleFavorite(app, $event)\"\n >\n <span app-name>{{ app.name | translate }}</span>\n <span app-systemName>{{ app.systemName | translate }}</span>\n </a>\n }\n @default {\n <!--fallback for existing apps that do not have a type defined -->\n <a\n si-launchpad-app\n [enableFavoriteToggle]=\"enableFavorites() && !isFavoriteToggleDisabled(app)\"\n [favorite]=\"!!app.favorite\"\n [href]=\"app.href\"\n [target]=\"app.target ?? ''\"\n [active]=\"app.active\"\n [external]=\"app.external\"\n [iconUrl]=\"app.iconUrl\"\n [iconClass]=\"app.iconClass\"\n (favoriteChange)=\"toggleFavorite(app, $event)\"\n >\n <span app-name>{{ app.name | translate }}</span>\n <span app-systemName>{{ app.systemName | translate }}</span>\n </a>\n }\n }\n }\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { booleanAttribute, Component, computed, inject, input, output } from '@angular/core';\nimport { elementCancel, elementDown2 } from '@siemens/element-icons';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiLinkModule } from '@siemens/element-ng/link';\nimport { SiTranslatePipe, t, TranslatableString } from '@siemens/element-translate-ng/translate';\n\nimport { SiApplicationHeaderComponent } from '../si-application-header.component';\nimport { SiLaunchpadCategoryComponent } from './si-launchpad-category.component';\nimport { App, AppCategory, FavoriteChangeEvent } from './si-launchpad.model';\n\n@Component({\n selector: 'si-launchpad-factory',\n imports: [\n A11yModule,\n SiLinkModule,\n SiTranslatePipe,\n SiLaunchpadCategoryComponent,\n SiIconComponent\n ],\n templateUrl: './si-launchpad-factory.component.html',\n styleUrl: './si-launchpad-factory.component.scss'\n})\nexport class SiLaunchpadFactoryComponent {\n /**\n * Text to close the launchpad. Needed for a11y.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_LAUNCHPAD.CLOSE:Close launchpad`)\n * ```\n */\n readonly closeText = input(t(() => $localize`:@@SI_LAUNCHPAD.CLOSE:Close launchpad`));\n\n /**\n * Title of the launchpad.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_LAUNCHPAD.TITLE:Switch app`)\n * ```\n */\n readonly titleText = input(t(() => $localize`:@@SI_LAUNCHPAD.TITLE:Switch app`));\n\n /**\n * Subtitle of the launchpad.\n * When not provided, no subtitle is displayed.\n */\n readonly subtitleText = input<TranslatableString>();\n\n /** All app items shown in the launchpad. */\n readonly apps = input.required<App[] | AppCategory[]>();\n\n /**\n * Allow the user to select favorite apps which will then be displayed at the top.\n *\n * @defaultValue false\n */\n readonly enableFavorites = input(false, { transform: booleanAttribute });\n\n /**\n * Title of the favorite apps section.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_LAUNCHPAD.FAVORITE_APPS:Favorites`)\n * ```\n */\n readonly favoriteAppsText = input(t(() => $localize`:@@SI_LAUNCHPAD.FAVORITE_APPS:Favorites`));\n\n /**\n * Title of the show more apps button.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_LAUNCHPAD.SHOW_MORE:Show more`)\n * ```\n */\n readonly showMoreAppsText = input(t(() => $localize`:@@SI_LAUNCHPAD.SHOW_MORE:Show more`));\n\n /** @deprecated This input no longer has an effect. {@link showMoreAppsText} is shown in all cases. */\n readonly showLessAppsText = input();\n\n readonly favoriteChange = output<FavoriteChangeEvent>();\n\n protected showAllApps = false;\n protected readonly allAppsId = '__si-launchpad-factory-all-apps';\n protected readonly categories = computed(() => {\n const apps = this.apps();\n if (this.isCategories(apps)) {\n return apps;\n }\n return [{ name: '', apps: [...apps] }];\n });\n protected readonly favorites = computed(() =>\n this.apps()\n .flatMap(app => ('apps' in app ? app.apps : (app as App)))\n .filter(app => app.favorite)\n );\n protected readonly hasFavorites = computed(() => this.favorites().length > 0);\n protected readonly icons = addIcons({ elementDown2, elementCancel });\n private header = inject(SiApplicationHeaderComponent);\n\n protected closeLaunchpad(): void {\n this.header.closeLaunchpad();\n }\n\n protected toggleFavorite(event: FavoriteChangeEvent): void {\n this.favoriteChange.emit(event);\n }\n\n protected escape(): void {\n this.closeLaunchpad();\n }\n\n protected isCategories(items: App[] | AppCategory[]): items is AppCategory[] {\n return items.some(item => 'apps' in item);\n }\n}\n","<!-- temporary until old primary-navbar is removed -->\n<div\n class=\"app-switcher gap-6 g-5 g-sm-9 container-fluid\"\n cdkTrapFocus\n cdkTrapFocusAutoCapture\n (keydown.escape)=\"escape()\"\n>\n @if (titleText()) {\n <div class=\"apps-header\">\n <span>\n <p class=\"si-h4 lh-1 m-0\">{{ titleText() | translate }}</p>\n @if (subtitleText()) {\n <p class=\"si-body text-secondary mt-4 mb-0\">{{ subtitleText() | translate }}</p>\n }\n </span>\n <button\n type=\"button\"\n class=\"btn btn-circle btn-tertiary-ghost\"\n [attr.aria-label]=\"closeText() | translate\"\n (click)=\"closeLaunchpad()\"\n >\n <si-icon [icon]=\"icons.elementCancel\" />\n </button>\n </div>\n }\n <div class=\"apps-scroll ms-n2 ps-2\">\n @if (enableFavorites() && hasFavorites()) {\n <si-launchpad-category\n [category]=\"{ name: favoriteAppsText(), apps: favorites() }\"\n [enableFavorites]=\"enableFavorites()\"\n (favoriteChange)=\"toggleFavorite($event)\"\n />\n <button\n type=\"button\"\n class=\"btn btn-link btn-show-all dropdown-toggle text-decoration-none\"\n [class.show]=\"showAllApps\"\n [attr.aria-expanded]=\"showAllApps\"\n [attr.aria-controls]=\"allAppsId\"\n (click)=\"showAllApps = !showAllApps\"\n >\n <b>{{ showMoreAppsText() | translate }}</b>\n <si-icon class=\"link-icon dropdown-caret\" [icon]=\"icons.elementDown2\" />\n </button>\n }\n\n <div class=\"all-apps\" [id]=\"allAppsId\">\n @if (!enableFavorites() || !hasFavorites() || showAllApps) {\n @for (category of categories(); track category.name) {\n <si-launchpad-category\n [class.pt-6]=\"!!category.name && (hasFavorites() || !$first)\"\n [category]=\"category\"\n [enableFavorites]=\"enableFavorites()\"\n (favoriteChange)=\"toggleFavorite($event)\"\n />\n }\n }\n </div>\n </div>\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-application-header.component';\nexport * from './si-account-details.component';\nexport * from './si-header-navigation-item.component';\nexport * from './si-header-collapsible-actions.component';\nexport * from './si-header-action-item.component';\nexport * from './si-header-account-item.component';\nexport * from './si-header-selection-item.component';\nexport * from './si-header-logo.directive';\nexport * from './si-header-actions.directive';\nexport * from './si-header-brand.directive';\nexport * from './si-header-navigation.component';\nexport * from './launchpad/si-launchpad-factory.component';\nexport * from './launchpad/si-launchpad.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -259,6 +259,9 @@ class SiDashboardComponent {
|
|
|
259
259
|
destroyRef = inject(DestroyRef);
|
|
260
260
|
/**
|
|
261
261
|
* Heading for the dashboard page.
|
|
262
|
+
*
|
|
263
|
+
* To show a custom header instead, e.g. with a description or page actions,
|
|
264
|
+
* project it using the `header` attribute. The heading is ignored in that case.
|
|
262
265
|
*/
|
|
263
266
|
heading = input(/* @ts-ignore */
|
|
264
267
|
...(ngDevMode ? [undefined, { debugName: "heading" }] : /* istanbul ignore next */ []));
|
|
@@ -467,11 +470,11 @@ class SiDashboardComponent {
|
|
|
467
470
|
this.dashboardFrameEndPadding.set(padding);
|
|
468
471
|
}
|
|
469
472
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiDashboardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
470
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SiDashboardComponent, isStandalone: true, selector: "si-dashboard", inputs: { heading: { classPropertyName: "heading", publicName: "heading", isSignal: true, isRequired: false, transformFunction: null }, enableExpandInteractions: { classPropertyName: "enableExpandInteractions", publicName: "enableExpandInteractions", isSignal: true, isRequired: false, transformFunction: null }, sticky: { classPropertyName: "sticky", publicName: "sticky", isSignal: true, isRequired: false, transformFunction: null }, hideMenubar: { classPropertyName: "hideMenubar", publicName: "hideMenubar", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "si-layout-fixed-height" }, providers: [SiDashboardService], viewQueries: [{ propertyName: "expandedPortalOutlet", first: true, predicate: ["expandedPortalOutlet"], descendants: true, read: CdkPortalOutlet, isSignal: true }, { propertyName: "dashboardFrame", first: true, predicate: ["dashboardFrame"], descendants: true, isSignal: true }, { propertyName: "dashboard", first: true, predicate: ["dashboard"], descendants: true, isSignal: true }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"si-layout-fixed-height si-dashboard si-layout-main-padding py-6\"\n [class.sticky]=\"sticky()\"\n>\n <div class=\"si-dashboard-header\" [class.sticky]=\"sticky()\">\n @if (heading()) {\n
|
|
473
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SiDashboardComponent, isStandalone: true, selector: "si-dashboard", inputs: { heading: { classPropertyName: "heading", publicName: "heading", isSignal: true, isRequired: false, transformFunction: null }, enableExpandInteractions: { classPropertyName: "enableExpandInteractions", publicName: "enableExpandInteractions", isSignal: true, isRequired: false, transformFunction: null }, sticky: { classPropertyName: "sticky", publicName: "sticky", isSignal: true, isRequired: false, transformFunction: null }, hideMenubar: { classPropertyName: "hideMenubar", publicName: "hideMenubar", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "si-layout-fixed-height" }, providers: [SiDashboardService], viewQueries: [{ propertyName: "expandedPortalOutlet", first: true, predicate: ["expandedPortalOutlet"], descendants: true, read: CdkPortalOutlet, isSignal: true }, { propertyName: "dashboardFrame", first: true, predicate: ["dashboardFrame"], descendants: true, isSignal: true }, { propertyName: "dashboard", first: true, predicate: ["dashboard"], descendants: true, isSignal: true }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"si-layout-fixed-height si-dashboard si-layout-main-padding py-6\"\n [class.sticky]=\"sticky()\"\n>\n <div class=\"si-dashboard-header\" [class.sticky]=\"sticky()\">\n <ng-content select=\"[header]\">\n @if (heading()) {\n <div class=\"si-layout-header\">\n <h2 class=\"si-layout-title si-layout-top-element\">{{ heading() | translate }}</h2>\n </div>\n }\n </ng-content>\n @if (!hideMenubarComputed()) {\n <div class=\"si-dashboard-menubar si-layout-top-element mb-6\">\n <ng-content select=\"[menubar]\" />\n </div>\n }\n </div>\n <div\n #dashboardFrame\n class=\"si-layout-fixed-height si-dashboard-content ps-2 pt-2 ms-n2 mt-n2\"\n [class.sticky]=\"sticky()\"\n [style.padding-inline-end.px]=\"dashboardFrameEndPadding()\"\n >\n <div class=\"si-layout-fixed-height\" [class.d-none]=\"isExpandedSignal()\">\n <div #dashboard class=\"si-layout-fixed-height fix-si-layout-fixed-height\">\n <ng-content select=\"[dashboard]\" />\n </div>\n </div>\n <div\n class=\"position-relative flex-grow-1 flex-shrink-1 mb-6\"\n [class.d-none]=\"!isExpandedSignal()\"\n >\n <ng-container #expandedPortalOutlet cdkPortalOutlet />\n </div>\n </div>\n</div>\n", styles: [".si-dashboard.sticky{padding-inline-end:0;overflow-x:hidden}.si-dashboard .si-dashboard-header.sticky{padding-inline-end:var(--si-sys-sizing-spacing-x-60)}@media(min-width:768px){.si-dashboard .si-dashboard-header.sticky{padding-inline-end:var(--si-sys-sizing-spacing-x-90)}}.si-dashboard .si-dashboard-header>.si-dashboard-menubar:not(:first-child){margin-inline:0}.si-dashboard .si-dashboard-content.sticky{overflow-y:auto;overflow-x:hidden}.si-dashboard .fix-si-layout-fixed-height{min-block-size:auto}\n"], dependencies: [{ kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Eager });
|
|
471
474
|
}
|
|
472
475
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiDashboardComponent, decorators: [{
|
|
473
476
|
type: Component,
|
|
474
|
-
args: [{ selector: 'si-dashboard', imports: [PortalModule, SiTranslatePipe], providers: [SiDashboardService], changeDetection: ChangeDetectionStrategy.Eager, host: { class: 'si-layout-fixed-height' }, template: "<div\n class=\"si-layout-fixed-height si-dashboard si-layout-main-padding py-6\"\n [class.sticky]=\"sticky()\"\n>\n <div class=\"si-dashboard-header\" [class.sticky]=\"sticky()\">\n @if (heading()) {\n
|
|
477
|
+
args: [{ selector: 'si-dashboard', imports: [PortalModule, SiTranslatePipe], providers: [SiDashboardService], changeDetection: ChangeDetectionStrategy.Eager, host: { class: 'si-layout-fixed-height' }, template: "<div\n class=\"si-layout-fixed-height si-dashboard si-layout-main-padding py-6\"\n [class.sticky]=\"sticky()\"\n>\n <div class=\"si-dashboard-header\" [class.sticky]=\"sticky()\">\n <ng-content select=\"[header]\">\n @if (heading()) {\n <div class=\"si-layout-header\">\n <h2 class=\"si-layout-title si-layout-top-element\">{{ heading() | translate }}</h2>\n </div>\n }\n </ng-content>\n @if (!hideMenubarComputed()) {\n <div class=\"si-dashboard-menubar si-layout-top-element mb-6\">\n <ng-content select=\"[menubar]\" />\n </div>\n }\n </div>\n <div\n #dashboardFrame\n class=\"si-layout-fixed-height si-dashboard-content ps-2 pt-2 ms-n2 mt-n2\"\n [class.sticky]=\"sticky()\"\n [style.padding-inline-end.px]=\"dashboardFrameEndPadding()\"\n >\n <div class=\"si-layout-fixed-height\" [class.d-none]=\"isExpandedSignal()\">\n <div #dashboard class=\"si-layout-fixed-height fix-si-layout-fixed-height\">\n <ng-content select=\"[dashboard]\" />\n </div>\n </div>\n <div\n class=\"position-relative flex-grow-1 flex-shrink-1 mb-6\"\n [class.d-none]=\"!isExpandedSignal()\"\n >\n <ng-container #expandedPortalOutlet cdkPortalOutlet />\n </div>\n </div>\n</div>\n", styles: [".si-dashboard.sticky{padding-inline-end:0;overflow-x:hidden}.si-dashboard .si-dashboard-header.sticky{padding-inline-end:var(--si-sys-sizing-spacing-x-60)}@media(min-width:768px){.si-dashboard .si-dashboard-header.sticky{padding-inline-end:var(--si-sys-sizing-spacing-x-90)}}.si-dashboard .si-dashboard-header>.si-dashboard-menubar:not(:first-child){margin-inline:0}.si-dashboard .si-dashboard-content.sticky{overflow-y:auto;overflow-x:hidden}.si-dashboard .fix-si-layout-fixed-height{min-block-size:auto}\n"] }]
|
|
475
478
|
}], ctorParameters: () => [], propDecorators: { heading: [{ type: i0.Input, args: [{ isSignal: true, alias: "heading", required: false }] }], enableExpandInteractions: [{ type: i0.Input, args: [{ isSignal: true, alias: "enableExpandInteractions", required: false }] }], sticky: [{ type: i0.Input, args: [{ isSignal: true, alias: "sticky", required: false }] }], hideMenubar: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideMenubar", required: false }] }], expandedPortalOutlet: [{ type: i0.ViewChild, args: ['expandedPortalOutlet', { ...{
|
|
476
479
|
read: CdkPortalOutlet
|
|
477
480
|
}, isSignal: true }] }], dashboardFrame: [{ type: i0.ViewChild, args: ['dashboardFrame', { isSignal: true }] }], dashboard: [{ type: i0.ViewChild, args: ['dashboard', { isSignal: true }] }] } });
|