@fundamental-ngx/core 0.58.0-rc.5 → 0.58.0-rc.50
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/combobox/index.d.ts +4 -0
- package/fesm2022/fundamental-ngx-core-combobox.mjs +27 -3
- package/fesm2022/fundamental-ngx-core-combobox.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-dialog.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-dialog.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-form.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-form.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-notification.mjs +3 -1
- package/fesm2022/fundamental-ngx-core-notification.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-object-status.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-object-status.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-popover.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-popover.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-shellbar.mjs +12 -3
- package/fesm2022/fundamental-ngx-core-shellbar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-table.mjs +4 -4
- package/fesm2022/fundamental-ngx-core-table.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-user-menu.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-user-menu.mjs.map +1 -1
- package/notification/index.d.ts +2 -0
- package/package.json +20 -20
- package/shellbar/index.d.ts +8 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-core-user-menu.mjs","sources":["../tmp-esm2022/user-menu/directives/user-menu-user-name.directive.js","../tmp-esm2022/user-menu/components/user-menu-list-item.component.js","../tmp-esm2022/user-menu/components/user-menu-body.component.js","../tmp-esm2022/user-menu/components/user-menu-content-container.component.js","../tmp-esm2022/user-menu/components/user-menu-control.component.js","../tmp-esm2022/user-menu/components/user-menu-footer.component.js","../tmp-esm2022/user-menu/components/user-menu-list.component.js","../tmp-esm2022/user-menu/components/user-menu-sublist.component.js","../tmp-esm2022/user-menu/directives/user-menu-control-element.directive.js","../tmp-esm2022/user-menu/user-menu.component.js","../tmp-esm2022/user-menu/directives/user-menu-header-container.directive.js","../tmp-esm2022/user-menu/directives/user-menu-header.directive.js","../tmp-esm2022/user-menu/directives/user-menu-subline.directive.js","../tmp-esm2022/user-menu/user-menu.module.js","../tmp-esm2022/user-menu/fundamental-ngx-core-user-menu.js"],"sourcesContent":["import { booleanAttribute, Directive, input } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class UserMenuUserNameDirective {\n constructor() {\n /** Whether the text should truncate with ellipsis. */\n this.truncate = input(false, ...(ngDevMode ? [{ debugName: \"truncate\", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuUserNameDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.1.4\", type: UserMenuUserNameDirective, isStandalone: true, selector: \"[fd-user-menu-user-name]\", inputs: { truncate: { classPropertyName: \"truncate\", publicName: \"truncate\", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { \"class.fd-user-menu__user-name--truncate\": \"truncate()\" }, classAttribute: \"fd-user-menu__user-name\" }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuUserNameDirective, decorators: [{\n type: Directive,\n args: [{\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-user-menu-user-name]',\n host: {\n class: 'fd-user-menu__user-name',\n '[class.fd-user-menu__user-name--truncate]': 'truncate()'\n }\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tZW51LXVzZXItbmFtZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvdXNlci1tZW51L2RpcmVjdGl2ZXMvdXNlci1tZW51LXVzZXItbmFtZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBVW5FLE1BQU0sT0FBTyx5QkFBeUI7SUFSdEM7UUFTSSxzREFBc0Q7UUFDdEQsYUFBUSxHQUFHLEtBQUssQ0FBQyxLQUFLLDRDQUFJLFNBQVMsRUFBRSxnQkFBZ0IsT0FBN0IsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsR0FBQyxDQUFDO0tBQzVEOzhHQUhZLHlCQUF5QjtrR0FBekIseUJBQXlCOzsyRkFBekIseUJBQXlCO2tCQVJyQyxTQUFTO21CQUFDO29CQUNQLDhEQUE4RDtvQkFDOUQsUUFBUSxFQUFFLDBCQUEwQjtvQkFDcEMsSUFBSSxFQUFFO3dCQUNGLEtBQUssRUFBRSx5QkFBeUI7d0JBQ2hDLDJDQUEyQyxFQUFFLFlBQVk7cUJBQzVEO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYm9vbGVhbkF0dHJpYnV0ZSwgRGlyZWN0aXZlLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnW2ZkLXVzZXItbWVudS11c2VyLW5hbWVdJyxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnZmQtdXNlci1tZW51X191c2VyLW5hbWUnLFxuICAgICAgICAnW2NsYXNzLmZkLXVzZXItbWVudV9fdXNlci1uYW1lLS10cnVuY2F0ZV0nOiAndHJ1bmNhdGUoKSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFVzZXJNZW51VXNlck5hbWVEaXJlY3RpdmUge1xuICAgIC8qKiBXaGV0aGVyIHRoZSB0ZXh0IHNob3VsZCB0cnVuY2F0ZSB3aXRoIGVsbGlwc2lzLiAqL1xuICAgIHRydW5jYXRlID0gaW5wdXQoZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xufVxuIl19","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EventEmitter, HostListener, NgZone, Output, ViewEncapsulation, booleanAttribute, inject, input, signal, viewChild } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { PopoverBodyComponent, PopoverComponent, PopoverControlComponent } from '@fundamental-ngx/core/popover';\nimport { Subject, asyncScheduler, observeOn, startWith, take } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nlet uniqueId = 0;\nlet uniqueTextId = 0;\nexport class UserMenuListItemComponent {\n constructor() {\n /** Event emitter for keyDown event */\n this.keyDown = new EventEmitter();\n /** Event emitter for isOpenChange event that controls the submenu popover body */\n this.isOpenChange = new EventEmitter();\n /** Event emitter for showSubmenu event */\n this.showSubmenu = new EventEmitter();\n /** Event emitter for updateTitle event */\n this.updateTitle = new EventEmitter();\n /** Unique id for the menu list item. Default is provided. */\n this.uniqueId = input(`fd-menu-list-item-${++uniqueId}`, ...(ngDevMode ? [{ debugName: \"uniqueId\" }] : []));\n /** Icon name for the menu list item (optional) */\n this.icon = input(...(ngDevMode ? [undefined, { debugName: \"icon\" }] : []));\n /** Required text for the menu list item */\n this.text = input.required(...(ngDevMode ? [{ debugName: \"text\" }] : []));\n /** Unique id for the title. Default is provided. */\n this.textId = input(`fd-menu-list-item-title-${++uniqueTextId}`, ...(ngDevMode ? [{ debugName: \"textId\" }] : []));\n /** Whether the item has a submenu */\n this.hasSubmenu = input(false, ...(ngDevMode ? [{ debugName: \"hasSubmenu\", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));\n /** Template ref for user menu list item submenu */\n this.submenu = input(null, ...(ngDevMode ? [{ debugName: \"submenu\" }] : []));\n /** Whether the item is selected */\n this.selected = input(false, ...(ngDevMode ? [{ debugName: \"selected\", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));\n /** Whether the item's submenu is open */\n this.isOpen = signal(false, ...(ngDevMode ? [{ debugName: \"isOpen\" }] : []));\n /** Whether the item is in mobile mode */\n this.mobile = signal(false, ...(ngDevMode ? [{ debugName: \"mobile\" }] : []));\n /** Reference to the popover */\n this.popover = viewChild(PopoverComponent, ...(ngDevMode ? [{ debugName: \"popover\" }] : []));\n /** @hidden */\n this.focused = new Subject();\n /** Item's tabindex */\n this._tabIndex$ = signal(null, ...(ngDevMode ? [{ debugName: \"_tabIndex$\" }] : []));\n /** @hidden */\n this._elementRef = inject(ElementRef);\n /** @hidden */\n this._destroyRef = inject(DestroyRef);\n /** @hidden */\n this._zone = inject(NgZone);\n /** @hidden */\n this._changeDetectionRef = inject(ChangeDetectorRef);\n }\n /** @hidden */\n focusHandler() {\n this.focused.next(this);\n }\n /** Handles submenu selection in mobile mode */\n onShowDetailsView() {\n if (this.submenu() && this.mobile()) {\n this.showSubmenu.emit(this.submenu());\n this.updateTitle.emit(this.text());\n }\n }\n /** @hidden Support for KeyboardSupportItemInterface */\n click() {\n const linkElement = this._elementRef.nativeElement.querySelector('.fd-menu__link');\n linkElement.click();\n }\n /** @hidden */\n focus() {\n const linkElement = this._elementRef.nativeElement.querySelector('.fd-menu__link');\n linkElement.focus();\n }\n /** @hidden */\n isOpenChangeHandle(isOpen, popover) {\n const firstTabbableElement = popover.popoverBody._elementRef.nativeElement.querySelector('.fd-menu__link');\n const linkElement = this._elementRef.nativeElement.querySelector('.fd-menu__link');\n if (this.isOpen() === isOpen) {\n return;\n }\n this.isOpen.set(isOpen);\n this.isOpenChange.emit(isOpen);\n this._onZoneStable().subscribe(() => {\n this.isOpen() ? linkElement.classList.add('is-selected') : linkElement.classList.remove('is-selected');\n firstTabbableElement.focus();\n });\n if (!this.isOpen()) {\n linkElement.focus();\n }\n this._changeDetectionRef.detectChanges();\n }\n /** @hidden */\n _onZoneStable() {\n return this._zone.onStable.pipe(startWith(this._zone.isStable), observeOn(asyncScheduler), take(1), takeUntilDestroyed(this._destroyRef));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuListItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.4\", type: UserMenuListItemComponent, isStandalone: true, selector: \"[fd-user-menu-list-item]\", inputs: { uniqueId: { classPropertyName: \"uniqueId\", publicName: \"uniqueId\", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: \"icon\", publicName: \"icon\", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: \"text\", publicName: \"text\", isSignal: true, isRequired: true, transformFunction: null }, textId: { classPropertyName: \"textId\", publicName: \"textId\", isSignal: true, isRequired: false, transformFunction: null }, hasSubmenu: { classPropertyName: \"hasSubmenu\", publicName: \"hasSubmenu\", isSignal: true, isRequired: false, transformFunction: null }, submenu: { classPropertyName: \"submenu\", publicName: \"submenu\", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: \"selected\", publicName: \"selected\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { keyDown: \"keyDown\", isOpenChange: \"isOpenChange\", showSubmenu: \"showSubmenu\", updateTitle: \"updateTitle\" }, host: { attributes: { \"role\": \"none\" }, listeners: { \"focusin\": \"focusHandler()\" }, properties: { \"attr.id\": \"uniqueId()\", \"attr.aria-labelledby\": \"textId()\" }, classAttribute: \"fd-menu__item\" }, viewQueries: [{ propertyName: \"popover\", first: true, predicate: PopoverComponent, descendants: true, isSignal: true }], ngImport: i0, template: \"@if (hasSubmenu()) {\\n @if (mobile()) {\\n <button\\n role=\\\"menuitem\\\"\\n class=\\\"fd-menu__link\\\"\\n [class.is-selected]=\\\"selected()\\\"\\n [tabIndex]=\\\"_tabIndex$()\\\"\\n (click)=\\\"onShowDetailsView()\\\"\\n >\\n @if (icon()) {\\n <span class=\\\"fd-menu__addon-before\\\">\\n <i [class]=\\\"'sap-icon--' + icon()\\\" role=\\\"presentation\\\"></i>\\n </span>\\n }\\n\\n <span class=\\\"fd-menu__title\\\" [id]=\\\"textId()\\\">{{ text() }}</span>\\n <span class=\\\"fd-menu__addon-after fd-menu__addon-after--submenu\\\"></span>\\n </button>\\n } @else {\\n <fd-popover\\n #popover\\n [noArrow]=\\\"true\\\"\\n style=\\\"width: 100%\\\"\\n placement=\\\"left-start\\\"\\n [focusTrapped]=\\\"true\\\"\\n [focusAutoCapture]=\\\"true\\\"\\n [restoreFocusOnClose]=\\\"false\\\"\\n [isOpen]=\\\"isOpen()\\\"\\n (isOpenChange)=\\\"isOpenChangeHandle($event, popover)\\\"\\n >\\n <fd-popover-control>\\n <button\\n role=\\\"menuitem\\\"\\n class=\\\"fd-menu__link fd-menu__link--popover\\\"\\n [class.is-selected]=\\\"selected()\\\"\\n [tabIndex]=\\\"_tabIndex$()\\\"\\n >\\n @if (icon()) {\\n <span class=\\\"fd-menu__addon-before\\\">\\n <i [class]=\\\"'sap-icon--' + icon()\\\" role=\\\"presentation\\\"></i>\\n </span>\\n }\\n\\n <span class=\\\"fd-menu__title\\\" [id]=\\\"textId()\\\">{{ text() }}</span>\\n <span class=\\\"fd-menu__addon-after fd-menu__addon-after--submenu\\\"></span>\\n </button>\\n </fd-popover-control>\\n <fd-popover-body>\\n <ng-container *ngTemplateOutlet=\\\"submenu()\\\"></ng-container>\\n </fd-popover-body>\\n </fd-popover>\\n }\\n} @else {\\n <button role=\\\"menuitem\\\" class=\\\"fd-menu__link\\\" [class.is-selected]=\\\"selected()\\\" [tabIndex]=\\\"_tabIndex$()\\\">\\n @if (icon()) {\\n <span class=\\\"fd-menu__addon-before\\\">\\n <i [class]=\\\"'sap-icon--' + icon()\\\" role=\\\"presentation\\\"></i>\\n </span>\\n }\\n\\n <span class=\\\"fd-menu__title\\\" [id]=\\\"textId()\\\">{{ text() }}</span>\\n </button>\\n}\\n\", dependencies: [{ kind: \"component\", type: PopoverBodyComponent, selector: \"fd-popover-body\", inputs: [\"minWidth\", \"maxWidth\", \"minHeight\", \"maxHeight\"] }, { kind: \"component\", type: PopoverComponent, selector: \"fd-popover\", inputs: [\"title\", \"trigger\", \"fixedPosition\", \"id\", \"mobile\", \"mobileConfig\", \"preventSpaceKeyScroll\"] }, { kind: \"component\", type: PopoverControlComponent, selector: \"fd-popover-control, [fdPopoverControl]\" }, { kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i1.NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuListItemComponent, decorators: [{\n type: Component,\n args: [{ selector: '[fd-user-menu-list-item]', host: {\n class: 'fd-menu__item',\n role: 'none',\n '[attr.id]': 'uniqueId()',\n '[attr.aria-labelledby]': 'textId()'\n }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [PopoverBodyComponent, PopoverComponent, PopoverControlComponent, CommonModule], template: \"@if (hasSubmenu()) {\\n @if (mobile()) {\\n <button\\n role=\\\"menuitem\\\"\\n class=\\\"fd-menu__link\\\"\\n [class.is-selected]=\\\"selected()\\\"\\n [tabIndex]=\\\"_tabIndex$()\\\"\\n (click)=\\\"onShowDetailsView()\\\"\\n >\\n @if (icon()) {\\n <span class=\\\"fd-menu__addon-before\\\">\\n <i [class]=\\\"'sap-icon--' + icon()\\\" role=\\\"presentation\\\"></i>\\n </span>\\n }\\n\\n <span class=\\\"fd-menu__title\\\" [id]=\\\"textId()\\\">{{ text() }}</span>\\n <span class=\\\"fd-menu__addon-after fd-menu__addon-after--submenu\\\"></span>\\n </button>\\n } @else {\\n <fd-popover\\n #popover\\n [noArrow]=\\\"true\\\"\\n style=\\\"width: 100%\\\"\\n placement=\\\"left-start\\\"\\n [focusTrapped]=\\\"true\\\"\\n [focusAutoCapture]=\\\"true\\\"\\n [restoreFocusOnClose]=\\\"false\\\"\\n [isOpen]=\\\"isOpen()\\\"\\n (isOpenChange)=\\\"isOpenChangeHandle($event, popover)\\\"\\n >\\n <fd-popover-control>\\n <button\\n role=\\\"menuitem\\\"\\n class=\\\"fd-menu__link fd-menu__link--popover\\\"\\n [class.is-selected]=\\\"selected()\\\"\\n [tabIndex]=\\\"_tabIndex$()\\\"\\n >\\n @if (icon()) {\\n <span class=\\\"fd-menu__addon-before\\\">\\n <i [class]=\\\"'sap-icon--' + icon()\\\" role=\\\"presentation\\\"></i>\\n </span>\\n }\\n\\n <span class=\\\"fd-menu__title\\\" [id]=\\\"textId()\\\">{{ text() }}</span>\\n <span class=\\\"fd-menu__addon-after fd-menu__addon-after--submenu\\\"></span>\\n </button>\\n </fd-popover-control>\\n <fd-popover-body>\\n <ng-container *ngTemplateOutlet=\\\"submenu()\\\"></ng-container>\\n </fd-popover-body>\\n </fd-popover>\\n }\\n} @else {\\n <button role=\\\"menuitem\\\" class=\\\"fd-menu__link\\\" [class.is-selected]=\\\"selected()\\\" [tabIndex]=\\\"_tabIndex$()\\\">\\n @if (icon()) {\\n <span class=\\\"fd-menu__addon-before\\\">\\n <i [class]=\\\"'sap-icon--' + icon()\\\" role=\\\"presentation\\\"></i>\\n </span>\\n }\\n\\n <span class=\\\"fd-menu__title\\\" [id]=\\\"textId()\\\">{{ text() }}</span>\\n </button>\\n}\\n\" }]\n }], propDecorators: { keyDown: [{\n type: Output\n }], isOpenChange: [{\n type: Output\n }], showSubmenu: [{\n type: Output\n }], updateTitle: [{\n type: Output\n }], focusHandler: [{\n type: HostListener,\n args: ['focusin']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tZW51LWxpc3QtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvdXNlci1tZW51L2NvbXBvbmVudHMvdXNlci1tZW51LWxpc3QtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvdXNlci1tZW51L2NvbXBvbmVudHMvdXNlci1tZW51LWxpc3QtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixVQUFVLEVBQ1YsWUFBWSxFQUNaLFlBQVksRUFDWixNQUFNLEVBQ04sTUFBTSxFQUVOLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRWhFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxnQkFBZ0IsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hILE9BQU8sRUFBYyxPQUFPLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFFdkYsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBQ2pCLElBQUksWUFBWSxHQUFHLENBQUMsQ0FBQztBQWdCckIsTUFBTSxPQUFPLHlCQUF5QjtJQWR0QztRQWVJLHNDQUFzQztRQUV0QyxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUM7UUFFNUMsa0ZBQWtGO1FBRXpFLGlCQUFZLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7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SUFDTixDQUFDOzhHQTVIUSx5QkFBeUI7a0dBQXpCLHlCQUF5QiwreUNBMkNkLGdCQUFnQixnRUNwRnhDLHM1RUErREEsNENEeEJjLG9CQUFvQix3SEFBRSxnQkFBZ0IsK0pBQUUsdUJBQXVCLGtGQUFFLFlBQVk7OzJGQUU5RSx5QkFBeUI7a0JBZHJDLFNBQVM7K0JBRUksMEJBQTBCLFFBRTlCO3dCQUNGLEtBQUssRUFBRSxlQUFlO3dCQUN0QixJQUFJLEVBQUUsTUFBTTt3QkFDWixXQUFXLEVBQUUsWUFBWTt3QkFDekIsd0JBQXdCLEVBQUUsVUFBVTtxQkFDdkMsaUJBQ2MsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxDQUFDLG9CQUFvQixFQUFFLGdCQUFnQixFQUFFLHVCQUF1QixFQUFFLFlBQVksQ0FBQzs4QkFLeEYsT0FBTztzQkFETixNQUFNO2dCQUtFLFlBQVk7c0JBRHBCLE1BQU07Z0JBSUcsV0FBVztzQkFBcEIsTUFBTTtnQkFHRyxXQUFXO3NCQUFwQixNQUFNO2dCQW9EUCxZQUFZO3NCQURYLFlBQVk7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBEZXN0cm95UmVmLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBOZ1pvbmUsXG4gICAgT3V0cHV0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgaW5qZWN0LFxuICAgIGlucHV0LFxuICAgIHNpZ25hbCxcbiAgICB2aWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBLZXlib2FyZFN1cHBvcnRJdGVtSW50ZXJmYWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgUG9wb3ZlckJvZHlDb21wb25lbnQsIFBvcG92ZXJDb21wb25lbnQsIFBvcG92ZXJDb250cm9sQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3BvcG92ZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgYXN5bmNTY2hlZHVsZXIsIG9ic2VydmVPbiwgc3RhcnRXaXRoLCB0YWtlIH0gZnJvbSAncnhqcyc7XG5cbmxldCB1bmlxdWVJZCA9IDA7XG5sZXQgdW5pcXVlVGV4dElkID0gMDtcblxuQENvbXBvbmVudCh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ1tmZC11c2VyLW1lbnUtbGlzdC1pdGVtXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3VzZXItbWVudS1saXN0LWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdmZC1tZW51X19pdGVtJyxcbiAgICAgICAgcm9sZTogJ25vbmUnLFxuICAgICAgICAnW2F0dHIuaWRdJzogJ3VuaXF1ZUlkKCknLFxuICAgICAgICAnW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XSc6ICd0ZXh0SWQoKSdcbiAgICB9LFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaW1wb3J0czogW1BvcG92ZXJCb2R5Q29tcG9uZW50LCBQb3BvdmVyQ29tcG9uZW50LCBQb3BvdmVyQ29udHJvbENvbXBvbmVudCwgQ29tbW9uTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBVc2VyTWVudUxpc3RJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgS2V5Ym9hcmRTdXBwb3J0SXRlbUludGVyZmFjZSB7XG4gICAgLyoqIEV2ZW50IGVtaXR0ZXIgZm9yIGtleURvd24gZXZlbnQgKi9cbiAgICBAT3V0cHV0KClcbiAgICBrZXlEb3duID0gbmV3IEV2ZW50RW1pdHRlcjxLZXlib2FyZEV2ZW50PigpO1xuXG4gICAgLyoqIEV2ZW50IGVtaXR0ZXIgZm9yIGlzT3BlbkNoYW5nZSBldmVudCB0aGF0IGNvbnRyb2xzIHRoZSBzdWJtZW51IHBvcG92ZXIgYm9keSAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGlzT3BlbkNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgLyoqIEV2ZW50IGVtaXR0ZXIgZm9yIHNob3dTdWJtZW51IGV2ZW50ICovXG4gICAgQE91dHB1dCgpIHNob3dTdWJtZW51OiBFdmVudEVtaXR0ZXI8VGVtcGxhdGVSZWY8YW55PiB8IG51bGw+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgLyoqIEV2ZW50IGVtaXR0ZXIgZm9yIHVwZGF0ZVRpdGxlIGV2ZW50ICovXG4gICAgQE91dHB1dCgpIHVwZGF0ZVRpdGxlOiBFdmVudEVtaXR0ZXI8c3RyaW5nIHwgbnVsbD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICAvKiogVW5pcXVlIGlkIGZvciB0aGUgbWVudSBsaXN0IGl0ZW0uIERlZmF1bHQgaXMgcHJvdmlkZWQuICovXG4gICAgdW5pcXVlSWQgPSBpbnB1dChgZmQtbWVudS1saXN0LWl0ZW0tJHsrK3VuaXF1ZUlkfWApO1xuXG4gICAgLyoqIEljb24gbmFtZSBmb3IgdGhlIG1lbnUgbGlzdCBpdGVtIChvcHRpb25hbCkgKi9cbiAgICBpY29uID0gaW5wdXQ8c3RyaW5nPigpO1xuXG4gICAgLyoqIFJlcXVpcmVkIHRleHQgZm9yIHRoZSBtZW51IGxpc3QgaXRlbSAqL1xuICAgIHRleHQgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG5cbiAgICAvKiogVW5pcXVlIGlkIGZvciB0aGUgdGl0bGUuIERlZmF1bHQgaXMgcHJvdmlkZWQuICovXG4gICAgdGV4dElkID0gaW5wdXQoYGZkLW1lbnUtbGlzdC1pdGVtLXRpdGxlLSR7Kyt1bmlxdWVUZXh0SWR9YCk7XG5cbiAgICAvKiogV2hldGhlciB0aGUgaXRlbSBoYXMgYSBzdWJtZW51ICovXG4gICAgaGFzU3VibWVudSA9IGlucHV0KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcblxuICAgIC8qKiBUZW1wbGF0ZSByZWYgZm9yIHVzZXIgbWVudSBsaXN0IGl0ZW0gc3VibWVudSAqL1xuICAgIHN1Ym1lbnUgPSBpbnB1dDxUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbD4obnVsbCk7XG5cbiAgICAvKiogV2hldGhlciB0aGUgaXRlbSBpcyBzZWxlY3RlZCAqL1xuICAgIHNlbGVjdGVkID0gaW5wdXQoZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIGl0ZW0ncyBzdWJtZW51IGlzIG9wZW4gKi9cbiAgICBpc09wZW4gPSBzaWduYWwoZmFsc2UpO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIGl0ZW0gaXMgaW4gbW9iaWxlIG1vZGUgKi9cbiAgICBtb2JpbGUgPSBzaWduYWwoZmFsc2UpO1xuXG4gICAgLyoqIFJlZmVyZW5jZSB0byB0aGUgcG9wb3ZlciAqL1xuICAgIHBvcG92ZXIgPSB2aWV3Q2hpbGQoUG9wb3ZlckNvbXBvbmVudCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHJlYWRvbmx5IGZvY3VzZWQgPSBuZXcgU3ViamVjdDxVc2VyTWVudUxpc3RJdGVtQ29tcG9uZW50PigpO1xuXG4gICAgLyoqIEl0ZW0ncyB0YWJpbmRleCAqL1xuICAgIHJlYWRvbmx5IF90YWJJbmRleCQgPSBzaWduYWw8bnVtYmVyIHwgbnVsbD4obnVsbCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHJlYWRvbmx5IF9lbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF96b25lID0gaW5qZWN0KE5nWm9uZSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2NoYW5nZURldGVjdGlvblJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2ZvY3VzaW4nKVxuICAgIGZvY3VzSGFuZGxlcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb2N1c2VkLm5leHQodGhpcyk7XG4gICAgfVxuXG4gICAgLyoqIEhhbmRsZXMgc3VibWVudSBzZWxlY3Rpb24gaW4gbW9iaWxlIG1vZGUgKi9cbiAgICBvblNob3dEZXRhaWxzVmlldygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc3VibWVudSgpICYmIHRoaXMubW9iaWxlKCkpIHtcbiAgICAgICAgICAgIHRoaXMuc2hvd1N1Ym1lbnUuZW1pdCh0aGlzLnN1Ym1lbnUoKSk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVRpdGxlLmVtaXQodGhpcy50ZXh0KCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gU3VwcG9ydCBmb3IgS2V5Ym9hcmRTdXBwb3J0SXRlbUludGVyZmFjZSAqL1xuICAgIGNsaWNrKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBsaW5rRWxlbWVudDogSFRNTEJ1dHRvbkVsZW1lbnQgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmZkLW1lbnVfX2xpbmsnKTtcbiAgICAgICAgbGlua0VsZW1lbnQuY2xpY2soKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGZvY3VzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBsaW5rRWxlbWVudDogSFRNTEJ1dHRvbkVsZW1lbnQgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmZkLW1lbnVfX2xpbmsnKTtcbiAgICAgICAgbGlua0VsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGlzT3BlbkNoYW5nZUhhbmRsZShpc09wZW46IGJvb2xlYW4sIHBvcG92ZXI6IFBvcG92ZXJDb21wb25lbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZmlyc3RUYWJiYWJsZUVsZW1lbnQ6IEhUTUxCdXR0b25FbGVtZW50ID1cbiAgICAgICAgICAgIHBvcG92ZXIucG9wb3ZlckJvZHkuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuZmQtbWVudV9fbGluaycpO1xuXG4gICAgICAgIGNvbnN0IGxpbmtFbGVtZW50OiBIVE1MQnV0dG9uRWxlbWVudCA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuZmQtbWVudV9fbGluaycpO1xuXG4gICAgICAgIGlmICh0aGlzLmlzT3BlbigpID09PSBpc09wZW4pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaXNPcGVuLnNldChpc09wZW4pO1xuXG4gICAgICAgIHRoaXMuaXNPcGVuQ2hhbmdlLmVtaXQoaXNPcGVuKTtcblxuICAgICAgICB0aGlzLl9vblpvbmVTdGFibGUoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pc09wZW4oKSA/IGxpbmtFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2lzLXNlbGVjdGVkJykgOiBsaW5rRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdpcy1zZWxlY3RlZCcpO1xuICAgICAgICAgICAgZmlyc3RUYWJiYWJsZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKCF0aGlzLmlzT3BlbigpKSB7XG4gICAgICAgICAgICBsaW5rRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0aW9uUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX29uWm9uZVN0YWJsZSgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3pvbmUub25TdGFibGUucGlwZShcbiAgICAgICAgICAgIHN0YXJ0V2l0aCh0aGlzLl96b25lLmlzU3RhYmxlKSxcbiAgICAgICAgICAgIG9ic2VydmVPbihhc3luY1NjaGVkdWxlciksXG4gICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpXG4gICAgICAgICk7XG4gICAgfVxufVxuIiwiQGlmIChoYXNTdWJtZW51KCkpIHtcbiAgICBAaWYgKG1vYmlsZSgpKSB7XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHJvbGU9XCJtZW51aXRlbVwiXG4gICAgICAgICAgICBjbGFzcz1cImZkLW1lbnVfX2xpbmtcIlxuICAgICAgICAgICAgW2NsYXNzLmlzLXNlbGVjdGVkXT1cInNlbGVjdGVkKClcIlxuICAgICAgICAgICAgW3RhYkluZGV4XT1cIl90YWJJbmRleCQoKVwiXG4gICAgICAgICAgICAoY2xpY2spPVwib25TaG93RGV0YWlsc1ZpZXcoKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIEBpZiAoaWNvbigpKSB7XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmZC1tZW51X19hZGRvbi1iZWZvcmVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGkgW2NsYXNzXT1cIidzYXAtaWNvbi0tJyArIGljb24oKVwiIHJvbGU9XCJwcmVzZW50YXRpb25cIj48L2k+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZkLW1lbnVfX3RpdGxlXCIgW2lkXT1cInRleHRJZCgpXCI+e3sgdGV4dCgpIH19PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmZC1tZW51X19hZGRvbi1hZnRlciBmZC1tZW51X19hZGRvbi1hZnRlci0tc3VibWVudVwiPjwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIDxmZC1wb3BvdmVyXG4gICAgICAgICAgICAjcG9wb3ZlclxuICAgICAgICAgICAgW25vQXJyb3ddPVwidHJ1ZVwiXG4gICAgICAgICAgICBzdHlsZT1cIndpZHRoOiAxMDAlXCJcbiAgICAgICAgICAgIHBsYWNlbWVudD1cImxlZnQtc3RhcnRcIlxuICAgICAgICAgICAgW2ZvY3VzVHJhcHBlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgIFtmb2N1c0F1dG9DYXB0dXJlXT1cInRydWVcIlxuICAgICAgICAgICAgW3Jlc3RvcmVGb2N1c09uQ2xvc2VdPVwiZmFsc2VcIlxuICAgICAgICAgICAgW2lzT3Blbl09XCJpc09wZW4oKVwiXG4gICAgICAgICAgICAoaXNPcGVuQ2hhbmdlKT1cImlzT3BlbkNoYW5nZUhhbmRsZSgkZXZlbnQsIHBvcG92ZXIpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGZkLXBvcG92ZXItY29udHJvbD5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHJvbGU9XCJtZW51aXRlbVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmQtbWVudV9fbGluayBmZC1tZW51X19saW5rLS1wb3BvdmVyXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmlzLXNlbGVjdGVkXT1cInNlbGVjdGVkKClcIlxuICAgICAgICAgICAgICAgICAgICBbdGFiSW5kZXhdPVwiX3RhYkluZGV4JCgpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoaWNvbigpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZkLW1lbnVfX2FkZG9uLWJlZm9yZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIFtjbGFzc109XCInc2FwLWljb24tLScgKyBpY29uKClcIiByb2xlPVwicHJlc2VudGF0aW9uXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmZC1tZW51X190aXRsZVwiIFtpZF09XCJ0ZXh0SWQoKVwiPnt7IHRleHQoKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmZC1tZW51X19hZGRvbi1hZnRlciBmZC1tZW51X19hZGRvbi1hZnRlci0tc3VibWVudVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZmQtcG9wb3Zlci1jb250cm9sPlxuICAgICAgICAgICAgPGZkLXBvcG92ZXItYm9keT5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic3VibWVudSgpXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2ZkLXBvcG92ZXItYm9keT5cbiAgICAgICAgPC9mZC1wb3BvdmVyPlxuICAgIH1cbn0gQGVsc2Uge1xuICAgIDxidXR0b24gcm9sZT1cIm1lbnVpdGVtXCIgY2xhc3M9XCJmZC1tZW51X19saW5rXCIgW2NsYXNzLmlzLXNlbGVjdGVkXT1cInNlbGVjdGVkKClcIiBbdGFiSW5kZXhdPVwiX3RhYkluZGV4JCgpXCI+XG4gICAgICAgIEBpZiAoaWNvbigpKSB7XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZkLW1lbnVfX2FkZG9uLWJlZm9yZVwiPlxuICAgICAgICAgICAgICAgIDxpIFtjbGFzc109XCInc2FwLWljb24tLScgKyBpY29uKClcIiByb2xlPVwicHJlc2VudGF0aW9uXCI+PC9pPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICB9XG5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJmZC1tZW51X190aXRsZVwiIFtpZF09XCJ0ZXh0SWQoKVwiPnt7IHRleHQoKSB9fTwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbn1cbiJdfQ==","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ContentChildren, DestroyRef, ElementRef, HostListener, QueryList, ViewEncapsulation, contentChild, inject, signal, viewChild } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { InitialFocusDirective, RtlService } from '@fundamental-ngx/cdk/utils';\nimport { BarComponent, BarElementDirective, BarLeftDirective, BarRightDirective, ButtonBarComponent } from '@fundamental-ngx/core/bar';\nimport { contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { TitleComponent } from '@fundamental-ngx/core/title';\nimport { Subject, map, startWith } from 'rxjs';\nimport { UserMenuUserNameDirective } from '../directives/user-menu-user-name.directive';\nimport { UserMenuListItemComponent } from './user-menu-list-item.component';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nexport class UserMenuBodyComponent {\n constructor() {\n /**\n * Template ref of the submenu\n */\n this.submenu = signal(null, ...(ngDevMode ? [{ debugName: \"submenu\" }] : []));\n /**\n * The text of the selected item\n * Needed in mobile mode to update the title in the header\n */\n this.selectedItemTitle = signal(null, ...(ngDevMode ? [{ debugName: \"selectedItemTitle\" }] : []));\n /**\n * Signal indicating whether the user name element is currently visible\n * within the user menu. This updates automatically as the element\n * enters or leaves the viewport.\n *\n * Used by the template to conditionally render the sticky header.\n */\n this.isUserNameVisible = signal(true, ...(ngDevMode ? [{ debugName: \"isUserNameVisible\" }] : []));\n /**\n * Signal storing the HTML content of the user name element.\n * When the original element scrolls out of view, this content\n * is displayed in the sticky header.\n */\n this.userNameContent = signal('', ...(ngDevMode ? [{ debugName: \"userNameContent\" }] : []));\n /**\n * Template ref to the header of the user menu body.\n * Needed in mobile mode\n */\n this.bodyHeader = viewChild('bodyHeader', ...(ngDevMode ? [{ debugName: \"bodyHeader\" }] : []));\n /** @hidden */\n this.userNameEl = contentChild(UserMenuUserNameDirective, ...(ngDevMode ? [{ debugName: \"userNameEl\", read: ElementRef }] : [{ read: ElementRef }]));\n /** @hidden */\n this._rtlService = inject(RtlService);\n /** @hidden */\n this._refresh$ = new Subject();\n /** @hidden */\n this._destroyRef = inject(DestroyRef);\n }\n /** @hidden */\n onClick(event) {\n event.stopPropagation();\n }\n /** @hidden */\n ngOnInit() {\n this.navigationArrow$ = this._rtlService.rtl.pipe(map((isRtl) => (isRtl ? 'navigation-right-arrow' : 'navigation-left-arrow')));\n }\n /** @hidden */\n ngAfterViewInit() {\n this._listItems.changes\n .pipe(startWith(this._listItems), takeUntilDestroyed(this._destroyRef))\n .subscribe((listItems) => {\n listItems.forEach((item) => {\n item.showSubmenu\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe((submenuTpl) => {\n this.selectItem(submenuTpl);\n });\n item.updateTitle.pipe(takeUntilDestroyed(this._destroyRef)).subscribe((title) => {\n this.updateTitle(title);\n });\n });\n });\n const el = this.userNameEl()?.nativeElement;\n if (!el) {\n return;\n }\n // logic for showing/hiding the popover header with user name on scroll\n const intersectionObserver = new IntersectionObserver((entries) => {\n this.isUserNameVisible.set(entries[0].isIntersecting);\n }, { root: null, threshold: 0 });\n intersectionObserver.observe(el);\n // Initialize\n this.userNameContent.set(el.innerHTML.trim());\n // Watch for changes in projected content\n const mutationObserver = new MutationObserver(() => {\n this.userNameContent.set(el.innerHTML.trim());\n });\n mutationObserver.observe(el, {\n childList: true,\n characterData: true,\n subtree: true\n });\n this._destroyRef.onDestroy(() => {\n intersectionObserver.disconnect();\n mutationObserver.disconnect();\n });\n }\n /**\n * Selects the item and sets the submenu template ref\n */\n selectItem(submenuTpl) {\n this.submenu.set(submenuTpl);\n }\n /**\n * Updates the title of the selected item\n */\n updateTitle(title) {\n this.selectedItemTitle.set(title);\n }\n /**\n * Clears the submenu template ref and the selected item title\n * Closes the submenu and returns to the main view\n */\n clearSubmenu() {\n this.submenu.set(null);\n this.selectedItemTitle.set(null);\n }\n /**\n * Closes the dialog in mobile mode\n */\n closeDialog(dialogRef) {\n dialogRef.dismiss('Close');\n this.clearSubmenu();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.4\", type: UserMenuBodyComponent, isStandalone: true, selector: \"fd-user-menu-body\", host: { listeners: { \"click\": \"onClick($event)\" }, classAttribute: \"fd-user-menu__body\" }, providers: [contentDensityObserverProviders()], queries: [{ propertyName: \"userNameEl\", first: true, predicate: UserMenuUserNameDirective, descendants: true, read: ElementRef, isSignal: true }, { propertyName: \"_listItems\", predicate: UserMenuListItemComponent, descendants: true }], viewQueries: [{ propertyName: \"bodyHeader\", first: true, predicate: [\"bodyHeader\"], descendants: true, isSignal: true }], ngImport: i0, template: \"@if (!submenu()) {\\n <ng-content select=\\\"[fd-user-menu-header]\\\"></ng-content>\\n <ng-content select=\\\"[fd-user-menu-content-container]\\\"></ng-content>\\n} @else {\\n <div class=\\\"fd-user-menu__details-view\\\">\\n <ng-container *ngTemplateOutlet=\\\"submenu()\\\"></ng-container>\\n </div>\\n}\\n\\n<ng-template #bodyHeader let-dialogRef=\\\"dialogRef\\\">\\n <div fd-bar style=\\\"position: fixed; top: 0; left: 0; right: 0; z-index: 10\\\">\\n @if (submenu()) {\\n <div fd-bar-left>\\n <fd-bar-element>\\n <fd-button-bar\\n fdkInitialFocus\\n ariaLabel=\\\"previous\\\"\\n [glyph]=\\\"navigationArrow$ | async\\\"\\n (click)=\\\"clearSubmenu()\\\"\\n >\\n </fd-button-bar>\\n </fd-bar-element>\\n <fd-bar-element>\\n <h5 fd-title>{{ selectedItemTitle() }}</h5>\\n </fd-bar-element>\\n </div>\\n }\\n <div fd-bar-right>\\n @if (!submenu()) {\\n <fd-bar-element\\n [fullWidth]=\\\"true\\\"\\n class=\\\"fd-user-menu__scroll-header-element\\\"\\n [class.hidden]=\\\"isUserNameVisible()\\\"\\n role=\\\"presentation\\\"\\n aria-hidden=\\\"true\\\"\\n >\\n <div\\n [innerHTML]=\\\"userNameContent()\\\"\\n class=\\\"fd-user-menu__user-name fd-user-menu__user-name--truncate\\\"\\n style=\\\"text-align: center; margin-inline-start: 2.75rem\\\"\\n ></div>\\n </fd-bar-element>\\n }\\n\\n <fd-bar-element>\\n <fd-button-bar ariaLabel=\\\"close\\\" glyph=\\\"decline\\\" (click)=\\\"closeDialog(dialogRef)\\\"> </fd-button-bar>\\n </fd-bar-element>\\n </div>\\n </div>\\n</ng-template>\\n\", dependencies: [{ kind: \"component\", type: BarComponent, selector: \"[fd-bar]\", inputs: [\"class\", \"barDesign\", \"inPage\", \"inHomePage\", \"clear\", \"size\", \"role\"] }, { kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i1.NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"component\", type: TitleComponent, selector: \"[fd-title], [fdTitle]\", inputs: [\"headerSize\", \"wrap\"], exportAs: [\"fd-title\"] }, { kind: \"directive\", type: BarLeftDirective, selector: \"[fd-bar-left]\" }, { kind: \"directive\", type: BarRightDirective, selector: \"[fd-bar-right]\" }, { kind: \"component\", type: ButtonBarComponent, selector: \"fd-button-bar\", inputs: [\"fullWidth\", \"fdType\", \"title\", \"ariaLabelledby\", \"id\"] }, { kind: \"directive\", type: BarElementDirective, selector: \"fd-bar-element\", inputs: [\"fullWidth\"] }, { kind: \"directive\", type: InitialFocusDirective, selector: \"[fdkInitialFocus]\", inputs: [\"fdkInitialFocus\", \"enabled\", \"focusLastElement\"] }, { kind: \"pipe\", type: i1.AsyncPipe, name: \"async\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuBodyComponent, decorators: [{\n type: Component,\n args: [{ selector: 'fd-user-menu-body', host: {\n class: 'fd-user-menu__body'\n }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [\n BarComponent,\n CommonModule,\n TitleComponent,\n BarLeftDirective,\n BarRightDirective,\n ButtonBarComponent,\n BarElementDirective,\n InitialFocusDirective\n ], providers: [contentDensityObserverProviders()], template: \"@if (!submenu()) {\\n <ng-content select=\\\"[fd-user-menu-header]\\\"></ng-content>\\n <ng-content select=\\\"[fd-user-menu-content-container]\\\"></ng-content>\\n} @else {\\n <div class=\\\"fd-user-menu__details-view\\\">\\n <ng-container *ngTemplateOutlet=\\\"submenu()\\\"></ng-container>\\n </div>\\n}\\n\\n<ng-template #bodyHeader let-dialogRef=\\\"dialogRef\\\">\\n <div fd-bar style=\\\"position: fixed; top: 0; left: 0; right: 0; z-index: 10\\\">\\n @if (submenu()) {\\n <div fd-bar-left>\\n <fd-bar-element>\\n <fd-button-bar\\n fdkInitialFocus\\n ariaLabel=\\\"previous\\\"\\n [glyph]=\\\"navigationArrow$ | async\\\"\\n (click)=\\\"clearSubmenu()\\\"\\n >\\n </fd-button-bar>\\n </fd-bar-element>\\n <fd-bar-element>\\n <h5 fd-title>{{ selectedItemTitle() }}</h5>\\n </fd-bar-element>\\n </div>\\n }\\n <div fd-bar-right>\\n @if (!submenu()) {\\n <fd-bar-element\\n [fullWidth]=\\\"true\\\"\\n class=\\\"fd-user-menu__scroll-header-element\\\"\\n [class.hidden]=\\\"isUserNameVisible()\\\"\\n role=\\\"presentation\\\"\\n aria-hidden=\\\"true\\\"\\n >\\n <div\\n [innerHTML]=\\\"userNameContent()\\\"\\n class=\\\"fd-user-menu__user-name fd-user-menu__user-name--truncate\\\"\\n style=\\\"text-align: center; margin-inline-start: 2.75rem\\\"\\n ></div>\\n </fd-bar-element>\\n }\\n\\n <fd-bar-element>\\n <fd-button-bar ariaLabel=\\\"close\\\" glyph=\\\"decline\\\" (click)=\\\"closeDialog(dialogRef)\\\"> </fd-button-bar>\\n </fd-bar-element>\\n </div>\\n </div>\\n</ng-template>\\n\" }]\n }], propDecorators: { _listItems: [{\n type: ContentChildren,\n args: [UserMenuListItemComponent, { descendants: true }]\n }], onClick: [{\n type: HostListener,\n args: ['click', ['$event']]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tZW51LWJvZHkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3VzZXItbWVudS9jb21wb25lbnRzL3VzZXItbWVudS1ib2R5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS91c2VyLW1lbnUvY29tcG9uZW50cy91c2VyLW1lbnUtYm9keS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUVILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixVQUFVLEVBQ1YsWUFBWSxFQUVaLFNBQVMsRUFFVCxpQkFBaUIsRUFDakIsWUFBWSxFQUNaLE1BQU0sRUFDTixNQUFNLEVBQ04sU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRSxPQUFPLEVBQ0gsWUFBWSxFQUNaLG1CQUFtQixFQUNuQixnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLGtCQUFrQixFQUNyQixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RCxPQUFPLEVBQWMsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0QsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDeEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7OztBQXNC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QUFTLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN4QixDQUFDOzhHQXRKUSxxQkFBcUI7a0dBQXJCLHFCQUFxQiwySkFGbkIsQ0FBQywrQkFBK0IsRUFBRSxDQUFDLGtFQThDRCx5QkFBeUIsMkJBQVUsVUFBVSw2REExQ3pFLHlCQUF5QiwwS0N2RDlDLHc3REFrREEsNENEUlEsWUFBWSxxSUFDWixZQUFZLHNNQUNaLGNBQWMsMEhBQ2QsZ0JBQWdCLDBEQUNoQixpQkFBaUIsMkRBQ2pCLGtCQUFrQiw0SEFDbEIsbUJBQW1CLGtGQUNuQixxQkFBcUI7OzJGQUloQixxQkFBcUI7a0JBcEJqQyxTQUFTOytCQUNJLG1CQUFtQixRQUV2Qjt3QkFDRixLQUFLLEVBQUUsb0JBQW9CO3FCQUM5QixpQkFDYyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDO3dCQUNMLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixjQUFjO3dCQUNkLGdCQUFnQjt3QkFDaEIsaUJBQWlCO3dCQUNqQixrQkFBa0I7d0JBQ2xCLG1CQUFtQjt3QkFDbkIscUJBQXFCO3FCQUN4QixhQUNVLENBQUMsK0JBQStCLEVBQUUsQ0FBQzs4QkFLckMsVUFBVTtzQkFEbEIsZUFBZTt1QkFBQyx5QkFBeUIsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBdURqRSxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIERlc3Ryb3lSZWYsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgT25Jbml0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBjb250ZW50Q2hpbGQsXG4gICAgaW5qZWN0LFxuICAgIHNpZ25hbCxcbiAgICB2aWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBJbml0aWFsRm9jdXNEaXJlY3RpdmUsIFJ0bFNlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQge1xuICAgIEJhckNvbXBvbmVudCxcbiAgICBCYXJFbGVtZW50RGlyZWN0aXZlLFxuICAgIEJhckxlZnREaXJlY3RpdmUsXG4gICAgQmFyUmlnaHREaXJlY3RpdmUsXG4gICAgQnV0dG9uQmFyQ29tcG9uZW50XG59IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9iYXInO1xuaW1wb3J0IHsgY29udGVudERlbnNpdHlPYnNlcnZlclByb3ZpZGVycyB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9jb250ZW50LWRlbnNpdHknO1xuaW1wb3J0IHsgVGl0bGVDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvdGl0bGUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgbWFwLCBzdGFydFdpdGggfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFVzZXJNZW51VXNlck5hbWVEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL3VzZXItbWVudS11c2VyLW5hbWUuZGlyZWN0aXZlJztcbmltcG9ydCB7IFVzZXJNZW51TGlzdEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL3VzZXItbWVudS1saXN0LWl0ZW0uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC11c2VyLW1lbnUtYm9keScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3VzZXItbWVudS1ib2R5LmNvbXBvbmVudC5odG1sJyxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnZmQtdXNlci1tZW51X19ib2R5J1xuICAgIH0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIEJhckNvbXBvbmVudCxcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBUaXRsZUNvbXBvbmVudCxcbiAgICAgICAgQmFyTGVmdERpcmVjdGl2ZSxcbiAgICAgICAgQmFyUmlnaHREaXJlY3RpdmUsXG4gICAgICAgIEJ1dHRvbkJhckNvbXBvbmVudCxcbiAgICAgICAgQmFyRWxlbWVudERpcmVjdGl2ZSxcbiAgICAgICAgSW5pdGlhbEZvY3VzRGlyZWN0aXZlXG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFtjb250ZW50RGVuc2l0eU9ic2VydmVyUHJvdmlkZXJzKCldXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJNZW51Qm9keUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkcmVuKFVzZXJNZW51TGlzdEl0ZW1Db21wb25lbnQsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgICByZWFkb25seSBfbGlzdEl0ZW1zOiBRdWVyeUxpc3Q8VXNlck1lbnVMaXN0SXRlbUNvbXBvbmVudD47XG5cbiAgICAvKipcbiAgICAgKiBIYW5kbGUgdGhlIG5hdmlnYXRpb24gaWNvbiAoYXJyb3cpIG9mIHRoZSBCYWNrIGJ1dHRvbiBpbiBSVEwgbW9kZVxuICAgICAqL1xuICAgIG5hdmlnYXRpb25BcnJvdyQ6IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICAgIC8qKlxuICAgICAqIFRlbXBsYXRlIHJlZiBvZiB0aGUgc3VibWVudVxuICAgICAqL1xuICAgIHN1Ym1lbnUgPSBzaWduYWw8VGVtcGxhdGVSZWY8YW55PiB8IG51bGw+KG51bGwpO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHRleHQgb2YgdGhlIHNlbGVjdGVkIGl0ZW1cbiAgICAgKiBOZWVkZWQgaW4gbW9iaWxlIG1vZGUgdG8gdXBkYXRlIHRoZSB0aXRsZSBpbiB0aGUgaGVhZGVyXG4gICAgICovXG4gICAgc2VsZWN0ZWRJdGVtVGl0bGUgPSBzaWduYWw8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG5cbiAgICAvKipcbiAgICAgKiBTaWduYWwgaW5kaWNhdGluZyB3aGV0aGVyIHRoZSB1c2VyIG5hbWUgZWxlbWVudCBpcyBjdXJyZW50bHkgdmlzaWJsZVxuICAgICAqIHdpdGhpbiB0aGUgdXNlciBtZW51LiBUaGlzIHVwZGF0ZXMgYXV0b21hdGljYWxseSBhcyB0aGUgZWxlbWVudFxuICAgICAqIGVudGVycyBvciBsZWF2ZXMgdGhlIHZpZXdwb3J0LlxuICAgICAqXG4gICAgICogVXNlZCBieSB0aGUgdGVtcGxhdGUgdG8gY29uZGl0aW9uYWxseSByZW5kZXIgdGhlIHN0aWNreSBoZWFkZXIuXG4gICAgICovXG4gICAgcmVhZG9ubHkgaXNVc2VyTmFtZVZpc2libGUgPSBzaWduYWwodHJ1ZSk7XG5cbiAgICAvKipcbiAgICAgKiBTaWduYWwgc3RvcmluZyB0aGUgSFRNTCBjb250ZW50IG9mIHRoZSB1c2VyIG5hbWUgZWxlbWVudC5cbiAgICAgKiBXaGVuIHRoZSBvcmlnaW5hbCBlbGVtZW50IHNjcm9sbHMgb3V0IG9mIHZpZXcsIHRoaXMgY29udGVudFxuICAgICAqIGlzIGRpc3BsYXllZCBpbiB0aGUgc3RpY2t5IGhlYWRlci5cbiAgICAgKi9cbiAgICByZWFkb25seSB1c2VyTmFtZUNvbnRlbnQgPSBzaWduYWwoJycpO1xuXG4gICAgLyoqXG4gICAgICogVGVtcGxhdGUgcmVmIHRvIHRoZSBoZWFkZXIgb2YgdGhlIHVzZXIgbWVudSBib2R5LlxuICAgICAqIE5lZWRlZCBpbiBtb2JpbGUgbW9kZVxuICAgICAqL1xuICAgIHJlYWRvbmx5IGJvZHlIZWFkZXIgPSB2aWV3Q2hpbGQ8VGVtcGxhdGVSZWY8YW55Pj4oJ2JvZHlIZWFkZXInKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHVzZXJOYW1lRWwgPSBjb250ZW50Q2hpbGQoVXNlck1lbnVVc2VyTmFtZURpcmVjdGl2ZSwgeyByZWFkOiBFbGVtZW50UmVmIH0pO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9ydGxTZXJ2aWNlID0gaW5qZWN0KFJ0bFNlcnZpY2UpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9yZWZyZXNoJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgICBvbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubmF2aWdhdGlvbkFycm93JCA9IHRoaXMuX3J0bFNlcnZpY2UucnRsLnBpcGUoXG4gICAgICAgICAgICBtYXAoKGlzUnRsKSA9PiAoaXNSdGwgPyAnbmF2aWdhdGlvbi1yaWdodC1hcnJvdycgOiAnbmF2aWdhdGlvbi1sZWZ0LWFycm93JykpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2xpc3RJdGVtcy5jaGFuZ2VzXG4gICAgICAgICAgICAucGlwZShzdGFydFdpdGgodGhpcy5fbGlzdEl0ZW1zKSwgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgobGlzdEl0ZW1zKSA9PiB7XG4gICAgICAgICAgICAgICAgbGlzdEl0ZW1zLmZvckVhY2goKGl0ZW06IFVzZXJNZW51TGlzdEl0ZW1Db21wb25lbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5zaG93U3VibWVudVxuICAgICAgICAgICAgICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoc3VibWVudVRwbDogVGVtcGxhdGVSZWY8YW55PiB8IG51bGwpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdEl0ZW0oc3VibWVudVRwbCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgaXRlbS51cGRhdGVUaXRsZS5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSkuc3Vic2NyaWJlKCh0aXRsZTogc3RyaW5nIHwgbnVsbCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVUaXRsZSh0aXRsZSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgZWwgPSB0aGlzLnVzZXJOYW1lRWwoKT8ubmF0aXZlRWxlbWVudDtcblxuICAgICAgICBpZiAoIWVsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBsb2dpYyBmb3Igc2hvd2luZy9oaWRpbmcgdGhlIHBvcG92ZXIgaGVhZGVyIHdpdGggdXNlciBuYW1lIG9uIHNjcm9sbFxuICAgICAgICBjb25zdCBpbnRlcnNlY3Rpb25PYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihcbiAgICAgICAgICAgIChlbnRyaWVzKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc1VzZXJOYW1lVmlzaWJsZS5zZXQoZW50cmllc1swXS5pc0ludGVyc2VjdGluZyk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgeyByb290OiBudWxsLCB0aHJlc2hvbGQ6IDAgfVxuICAgICAgICApO1xuXG4gICAgICAgIGludGVyc2VjdGlvbk9ic2VydmVyLm9ic2VydmUoZWwpO1xuXG4gICAgICAgIC8vIEluaXRpYWxpemVcbiAgICAgICAgdGhpcy51c2VyTmFtZUNvbnRlbnQuc2V0KGVsLmlubmVySFRNTC50cmltKCkpO1xuXG4gICAgICAgIC8vIFdhdGNoIGZvciBjaGFuZ2VzIGluIHByb2plY3RlZCBjb250ZW50XG4gICAgICAgIGNvbnN0IG11dGF0aW9uT2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnVzZXJOYW1lQ29udGVudC5zZXQoZWwuaW5uZXJIVE1MLnRyaW0oKSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIG11dGF0aW9uT2JzZXJ2ZXIub2JzZXJ2ZShlbCwge1xuICAgICAgICAgICAgY2hpbGRMaXN0OiB0cnVlLFxuICAgICAgICAgICAgY2hhcmFjdGVyRGF0YTogdHJ1ZSxcbiAgICAgICAgICAgIHN1YnRyZWU6IHRydWVcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fZGVzdHJveVJlZi5vbkRlc3Ryb3koKCkgPT4ge1xuICAgICAgICAgICAgaW50ZXJzZWN0aW9uT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgICAgICAgbXV0YXRpb25PYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNlbGVjdHMgdGhlIGl0ZW0gYW5kIHNldHMgdGhlIHN1Ym1lbnUgdGVtcGxhdGUgcmVmXG4gICAgICovXG4gICAgc2VsZWN0SXRlbShzdWJtZW51VHBsOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN1Ym1lbnUuc2V0KHN1Ym1lbnVUcGwpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVwZGF0ZXMgdGhlIHRpdGxlIG9mIHRoZSBzZWxlY3RlZCBpdGVtXG4gICAgICovXG4gICAgdXBkYXRlVGl0bGUodGl0bGU6IHN0cmluZyB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1UaXRsZS5zZXQodGl0bGUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENsZWFycyB0aGUgc3VibWVudSB0ZW1wbGF0ZSByZWYgYW5kIHRoZSBzZWxlY3RlZCBpdGVtIHRpdGxlXG4gICAgICogQ2xvc2VzIHRoZSBzdWJtZW51IGFuZCByZXR1cm5zIHRvIHRoZSBtYWluIHZpZXdcbiAgICAgKi9cbiAgICBjbGVhclN1Ym1lbnUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3VibWVudS5zZXQobnVsbCk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtVGl0bGUuc2V0KG51bGwpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENsb3NlcyB0aGUgZGlhbG9nIGluIG1vYmlsZSBtb2RlXG4gICAgICovXG4gICAgY2xvc2VEaWFsb2coZGlhbG9nUmVmKTogdm9pZCB7XG4gICAgICAgIGRpYWxvZ1JlZi5kaXNtaXNzKCdDbG9zZScpO1xuICAgICAgICB0aGlzLmNsZWFyU3VibWVudSgpO1xuICAgIH1cbn1cbiIsIkBpZiAoIXN1Ym1lbnUoKSkge1xuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmZC11c2VyLW1lbnUtaGVhZGVyXVwiPjwvbmctY29udGVudD5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZmQtdXNlci1tZW51LWNvbnRlbnQtY29udGFpbmVyXVwiPjwvbmctY29udGVudD5cbn0gQGVsc2Uge1xuICAgIDxkaXYgY2xhc3M9XCJmZC11c2VyLW1lbnVfX2RldGFpbHMtdmlld1wiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic3VibWVudSgpXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG59XG5cbjxuZy10ZW1wbGF0ZSAjYm9keUhlYWRlciBsZXQtZGlhbG9nUmVmPVwiZGlhbG9nUmVmXCI+XG4gICAgPGRpdiBmZC1iYXIgc3R5bGU9XCJwb3NpdGlvbjogZml4ZWQ7IHRvcDogMDsgbGVmdDogMDsgcmlnaHQ6IDA7IHotaW5kZXg6IDEwXCI+XG4gICAgICAgIEBpZiAoc3VibWVudSgpKSB7XG4gICAgICAgICAgICA8ZGl2IGZkLWJhci1sZWZ0PlxuICAgICAgICAgICAgICAgIDxmZC1iYXItZWxlbWVudD5cbiAgICAgICAgICAgICAgICAgICAgPGZkLWJ1dHRvbi1iYXJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZka0luaXRpYWxGb2N1c1xuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYUxhYmVsPVwicHJldmlvdXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2dseXBoXT1cIm5hdmlnYXRpb25BcnJvdyQgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xlYXJTdWJtZW51KClcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDwvZmQtYnV0dG9uLWJhcj5cbiAgICAgICAgICAgICAgICA8L2ZkLWJhci1lbGVtZW50PlxuICAgICAgICAgICAgICAgIDxmZC1iYXItZWxlbWVudD5cbiAgICAgICAgICAgICAgICAgICAgPGg1IGZkLXRpdGxlPnt7IHNlbGVjdGVkSXRlbVRpdGxlKCkgfX08L2g1PlxuICAgICAgICAgICAgICAgIDwvZmQtYmFyLWVsZW1lbnQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgICA8ZGl2IGZkLWJhci1yaWdodD5cbiAgICAgICAgICAgIEBpZiAoIXN1Ym1lbnUoKSkge1xuICAgICAgICAgICAgICAgIDxmZC1iYXItZWxlbWVudFxuICAgICAgICAgICAgICAgICAgICBbZnVsbFdpZHRoXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZkLXVzZXItbWVudV9fc2Nyb2xsLWhlYWRlci1lbGVtZW50XCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmhpZGRlbl09XCJpc1VzZXJOYW1lVmlzaWJsZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgcm9sZT1cInByZXNlbnRhdGlvblwiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cInVzZXJOYW1lQ29udGVudCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmQtdXNlci1tZW51X191c2VyLW5hbWUgZmQtdXNlci1tZW51X191c2VyLW5hbWUtLXRydW5jYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyOyBtYXJnaW4taW5saW5lLXN0YXJ0OiAyLjc1cmVtXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZmQtYmFyLWVsZW1lbnQ+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIDxmZC1iYXItZWxlbWVudD5cbiAgICAgICAgICAgICAgICA8ZmQtYnV0dG9uLWJhciBhcmlhTGFiZWw9XCJjbG9zZVwiIGdseXBoPVwiZGVjbGluZVwiIChjbGljayk9XCJjbG9zZURpYWxvZyhkaWFsb2dSZWYpXCI+IDwvZmQtYnV0dG9uLWJhcj5cbiAgICAgICAgICAgIDwvZmQtYmFyLWVsZW1lbnQ+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class UserMenuContentContainerComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuContentContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.4\", type: UserMenuContentContainerComponent, isStandalone: true, selector: \"[fd-user-menu-content-container]\", host: { classAttribute: \"fd-user-menu__content-container\" }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuContentContainerComponent, decorators: [{\n type: Component,\n args: [{\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-user-menu-content-container]',\n template: `<ng-content />`,\n host: {\n class: 'fd-user-menu__content-container'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tZW51LWNvbnRlbnQtY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS91c2VyLW1lbnUvY29tcG9uZW50cy91c2VyLW1lbnUtY29udGVudC1jb250YWluZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBWXRGLE1BQU0sT0FBTyxpQ0FBaUM7OEdBQWpDLGlDQUFpQztrR0FBakMsaUNBQWlDLHlKQVBoQyxnQkFBZ0I7OzJGQU9qQixpQ0FBaUM7a0JBVjdDLFNBQVM7bUJBQUM7b0JBQ1AsOERBQThEO29CQUM5RCxRQUFRLEVBQUUsa0NBQWtDO29CQUM1QyxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixJQUFJLEVBQUU7d0JBQ0YsS0FBSyxFQUFFLGlDQUFpQztxQkFDM0M7b0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdbZmQtdXNlci1tZW51LWNvbnRlbnQtY29udGFpbmVyXScsXG4gICAgdGVtcGxhdGU6IGA8bmctY29udGVudCAvPmAsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2ZkLXVzZXItbWVudV9fY29udGVudC1jb250YWluZXInXG4gICAgfSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJNZW51Q29udGVudENvbnRhaW5lckNvbXBvbmVudCB7fVxuIl19","import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, HostListener, Output, ViewEncapsulation } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class UserMenuControlComponent {\n /** @hidden */\n constructor(el) {\n this.el = el;\n /** Event emitted event when control element is clicked */\n this.clicked = new EventEmitter();\n }\n /** @hidden */\n onClick() {\n this.clicked.emit();\n }\n /** @hidden */\n focus() {\n this.el.nativeElement.focus();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuControlComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.4\", type: UserMenuControlComponent, isStandalone: true, selector: \"fd-user-menu-control\", outputs: { clicked: \"clicked\" }, host: { attributes: { \"tabindex\": \"0\" }, listeners: { \"click\": \"onClick()\" } }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuControlComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'fd-user-menu-control',\n template: `<ng-content />`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n tabindex: '0'\n },\n imports: []\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { clicked: [{\n type: Output\n }], onClick: [{\n type: HostListener,\n args: ['click']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tZW51LWNvbnRyb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3VzZXItbWVudS9jb21wb25lbnRzL3VzZXItbWVudS1jb250cm9sLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFlBQVksRUFDWixNQUFNLEVBQ04saUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDOztBQVl2QixNQUFNLE9BQU8sd0JBQXdCO0lBS2pDLGNBQWM7SUFDZCxZQUFvQixFQUEyQjtRQUEzQixPQUFFLEdBQUYsRUFBRSxDQUF5QjtRQUwvQywwREFBMEQ7UUFFMUQsWUFBTyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO0lBR0wsQ0FBQztJQUVuRCxjQUFjO0lBRWQsT0FBTztRQUNILElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELGNBQWM7SUFDZCxLQUFLO1FBQ0QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDbEMsQ0FBQzs4R0FqQlEsd0JBQXdCO2tHQUF4Qix3QkFBd0IsaU1BUnZCLGdCQUFnQjs7MkZBUWpCLHdCQUF3QjtrQkFWcEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLElBQUksRUFBRTt3QkFDRixRQUFRLEVBQUUsR0FBRztxQkFDaEI7b0JBQ0QsT0FBTyxFQUFFLEVBQUU7aUJBQ2Q7K0VBSUcsT0FBTztzQkFETixNQUFNO2dCQVFQLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIE91dHB1dCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC11c2VyLW1lbnUtY29udHJvbCcsXG4gICAgdGVtcGxhdGU6IGA8bmctY29udGVudCAvPmAsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0OiB7XG4gICAgICAgIHRhYmluZGV4OiAnMCdcbiAgICB9LFxuICAgIGltcG9ydHM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJNZW51Q29udHJvbENvbXBvbmVudCB7XG4gICAgLyoqIEV2ZW50IGVtaXR0ZWQgZXZlbnQgd2hlbiBjb250cm9sIGVsZW1lbnQgaXMgY2xpY2tlZCAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGNsaWNrZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHt9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgICBvbkNsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNsaWNrZWQuZW1pdCgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZm9jdXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cbn1cbiJdfQ==","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class UserMenuFooterComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.4\", type: UserMenuFooterComponent, isStandalone: true, selector: \"fd-user-menu-footer\", host: { classAttribute: \"fd-user-menu__footer\" }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuFooterComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'fd-user-menu-footer',\n template: `<ng-content />`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'fd-user-menu__footer'\n },\n imports: []\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tZW51LWZvb3Rlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvdXNlci1tZW51L2NvbXBvbmVudHMvdXNlci1tZW51LWZvb3Rlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFZdEYsTUFBTSxPQUFPLHVCQUF1Qjs4R0FBdkIsdUJBQXVCO2tHQUF2Qix1QkFBdUIsaUlBUnRCLGdCQUFnQjs7MkZBUWpCLHVCQUF1QjtrQkFWbkMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLElBQUksRUFBRTt3QkFDRixLQUFLLEVBQUUsc0JBQXNCO3FCQUNoQztvQkFDRCxPQUFPLEVBQUUsRUFBRTtpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmQtdXNlci1tZW51LWZvb3RlcicsXG4gICAgdGVtcGxhdGU6IGA8bmctY29udGVudCAvPmAsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnZmQtdXNlci1tZW51X19mb290ZXInXG4gICAgfSxcbiAgICBpbXBvcnRzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBVc2VyTWVudUZvb3RlckNvbXBvbmVudCB7fVxuIl19","import { ChangeDetectionStrategy, Component, ContentChildren, DestroyRef, HostListener, inject, QueryList, ViewEncapsulation } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { KeyboardSupportService } from '@fundamental-ngx/cdk/utils';\nimport { merge, startWith, Subject, takeUntil } from 'rxjs';\nimport { UserMenuListItemComponent } from './user-menu-list-item.component';\nimport * as i0 from \"@angular/core\";\nexport class UserMenuListComponent {\n constructor() {\n /** @hidden */\n this._refresh$ = new Subject();\n /** @hidden */\n this._destroyRef = inject(DestroyRef);\n /** @hidden */\n this._keyboardSupportService = inject(KeyboardSupportService);\n }\n /** @hidden */\n keyDownHandler(event) {\n if (this._keyboardSupportService.keyManager) {\n this._keyboardSupportService.onKeyDown(event);\n }\n }\n /** @hidden */\n ngAfterViewInit() {\n this._keyboardSupportService.setKeyboardService(this._listItems, false, false);\n this._listItems.changes.pipe(startWith(null), takeUntilDestroyed(this._destroyRef)).subscribe(() => {\n this._setupInteractionListeners();\n });\n }\n /** @hidden */\n _setupInteractionListeners() {\n this._refresh$.next();\n this._refresh$.complete();\n this._refresh$ = new Subject();\n merge(...this._listItems.toArray().map((i) => i.focused))\n .pipe(takeUntil(this._refresh$), takeUntilDestroyed(this._destroyRef))\n .subscribe((focusedItem) => {\n this._listItems.forEach((item) => {\n item._tabIndex$.set(-1);\n });\n focusedItem._tabIndex$.set(0);\n this._keyboardSupportService.keyManager.setActiveItem(focusedItem);\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.4\", type: UserMenuListComponent, isStandalone: true, selector: \"fd-user-menu-list\", host: { listeners: { \"keydown\": \"keyDownHandler($event)\" } }, queries: [{ propertyName: \"_listItems\", predicate: UserMenuListItemComponent, descendants: true }], ngImport: i0, template: `\n <nav class=\"fd-menu fd-menu--icons fd-user-menu__menu\">\n <ul class=\"fd-menu__list fd-user-menu__menu-list\" role=\"menu\">\n <ng-content />\n </ul>\n </nav>\n `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuListComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'fd-user-menu-list',\n template: `\n <nav class=\"fd-menu fd-menu--icons fd-user-menu__menu\">\n <ul class=\"fd-menu__list fd-user-menu__menu-list\" role=\"menu\">\n <ng-content />\n </ul>\n </nav>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n }]\n }], propDecorators: { _listItems: [{\n type: ContentChildren,\n args: [UserMenuListItemComponent, { descendants: true }]\n }], keyDownHandler: [{\n type: HostListener,\n args: ['keydown', ['$event']]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tZW51LWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3VzZXItbWVudS9jb21wb25lbnRzL3VzZXItbWVudS1saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQWM1RSxNQUFNLE9BQU8scUJBQXFCO0lBWmxDO1FBaUJJLGNBQWM7UUFDTixjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUV4QyxjQUFjO1FBQ0csZ0JBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFbEQsY0FBYztRQUNHLDRCQUF1QixHQUFHLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0tBbUM3RTtJQWpDRyxjQUFjO0lBRWQsY0FBYyxDQUFDLEtBQW9CO1FBQy9CLElBQUksSUFBSSxDQUFDLHVCQUF1QixDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEQsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjO0lBQ2QsZUFBZTtRQUNYLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUUvRSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDL0YsSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7UUFDdEMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsY0FBYztJQUNOLDBCQUEwQjtRQUM5QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRXJDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDcEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQ3JFLFNBQVMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQzdCLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDNUIsQ0FBQyxDQUFDLENBQUM7WUFDSCxXQUFXLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM5QixJQUFJLENBQUMsdUJBQXVCLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN2RSxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7OEdBOUNRLHFCQUFxQjtrR0FBckIscUJBQXFCLHNLQUViLHlCQUF5QixnREFaaEM7Ozs7OztLQU1UOzsyRkFJUSxxQkFBcUI7a0JBWmpDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsUUFBUSxFQUFFOzs7Ozs7S0FNVDtvQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEOzhCQUlZLFVBQVU7c0JBRGxCLGVBQWU7dUJBQUMseUJBQXlCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQWNqRSxjQUFjO3NCQURiLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRGVzdHJveVJlZixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgaW5qZWN0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IEtleWJvYXJkU3VwcG9ydFNlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBtZXJnZSwgc3RhcnRXaXRoLCBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFVzZXJNZW51TGlzdEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL3VzZXItbWVudS1saXN0LWl0ZW0uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC11c2VyLW1lbnUtbGlzdCcsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPG5hdiBjbGFzcz1cImZkLW1lbnUgZmQtbWVudS0taWNvbnMgZmQtdXNlci1tZW51X19tZW51XCI+XG4gICAgICAgICAgICA8dWwgY2xhc3M9XCJmZC1tZW51X19saXN0IGZkLXVzZXItbWVudV9fbWVudS1saXN0XCIgcm9sZT1cIm1lbnVcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGVudCAvPlxuICAgICAgICAgICAgPC91bD5cbiAgICAgICAgPC9uYXY+XG4gICAgYCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJNZW51TGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZHJlbihVc2VyTWVudUxpc3RJdGVtQ29tcG9uZW50LCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gICAgcmVhZG9ubHkgX2xpc3RJdGVtczogUXVlcnlMaXN0PFVzZXJNZW51TGlzdEl0ZW1Db21wb25lbnQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9yZWZyZXNoJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2tleWJvYXJkU3VwcG9ydFNlcnZpY2UgPSBpbmplY3QoS2V5Ym9hcmRTdXBwb3J0U2VydmljZSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICAgIGtleURvd25IYW5kbGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9rZXlib2FyZFN1cHBvcnRTZXJ2aWNlLmtleU1hbmFnZXIpIHtcbiAgICAgICAgICAgIHRoaXMuX2tleWJvYXJkU3VwcG9ydFNlcnZpY2Uub25LZXlEb3duKGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9rZXlib2FyZFN1cHBvcnRTZXJ2aWNlLnNldEtleWJvYXJkU2VydmljZSh0aGlzLl9saXN0SXRlbXMsIGZhbHNlLCBmYWxzZSk7XG5cbiAgICAgICAgdGhpcy5fbGlzdEl0ZW1zLmNoYW5nZXMucGlwZShzdGFydFdpdGgobnVsbCksIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3NldHVwSW50ZXJhY3Rpb25MaXN0ZW5lcnMoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zZXR1cEludGVyYWN0aW9uTGlzdGVuZXJzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9yZWZyZXNoJC5uZXh0KCk7XG4gICAgICAgIHRoaXMuX3JlZnJlc2gkLmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMuX3JlZnJlc2gkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgICAgICBtZXJnZSguLi50aGlzLl9saXN0SXRlbXMudG9BcnJheSgpLm1hcCgoaSkgPT4gaS5mb2N1c2VkKSlcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9yZWZyZXNoJCksIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGZvY3VzZWRJdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fbGlzdEl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5fdGFiSW5kZXgkLnNldCgtMSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgZm9jdXNlZEl0ZW0uX3RhYkluZGV4JC5zZXQoMCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fa2V5Ym9hcmRTdXBwb3J0U2VydmljZS5rZXlNYW5hZ2VyLnNldEFjdGl2ZUl0ZW0oZm9jdXNlZEl0ZW0pO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxufVxuIl19","import { ChangeDetectionStrategy, Component, ContentChildren, DestroyRef, HostListener, QueryList, ViewEncapsulation, booleanAttribute, inject, input } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { KeyboardSupportService } from '@fundamental-ngx/cdk/utils';\nimport { Subject, merge, startWith, takeUntil } from 'rxjs';\nimport { UserMenuListItemComponent } from './user-menu-list-item.component';\nimport * as i0 from \"@angular/core\";\nexport class UserMenuSublistComponent {\n constructor() {\n /** Whether the sublist menu items have icons */\n this.hasIcons = input(false, ...(ngDevMode ? [{ debugName: \"hasIcons\", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));\n /** @hidden */\n this._refresh$ = new Subject();\n /** @hidden */\n this._destroyRef = inject(DestroyRef);\n /** @hidden */\n this._keyboardSupportService = inject((KeyboardSupportService));\n }\n /** @hidden */\n onClick(event) {\n event.stopPropagation();\n }\n /** @hidden */\n keyDownHandler(event) {\n if (this._keyboardSupportService.keyManager) {\n this._keyboardSupportService.onKeyDown(event);\n }\n }\n /** @hidden */\n ngAfterViewInit() {\n this._keyboardSupportService.setKeyboardService(this._listItems, false, false);\n this._listItems.changes.pipe(startWith(null), takeUntilDestroyed(this._destroyRef)).subscribe(() => {\n this._setupInteractionListeners();\n });\n }\n /** @hidden */\n _setupInteractionListeners() {\n this._refresh$.next();\n this._refresh$.complete();\n this._refresh$ = new Subject();\n merge(...this._listItems.toArray().map((i) => i.focused))\n .pipe(takeUntil(this._refresh$), takeUntilDestroyed(this._destroyRef))\n .subscribe((focusedItem) => {\n this._listItems.forEach((item) => {\n item._tabIndex$.set(-1);\n });\n focusedItem._tabIndex$.set(0);\n this._keyboardSupportService.keyManager.setActiveItem(focusedItem);\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuSublistComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.1.4\", type: UserMenuSublistComponent, isStandalone: true, selector: \"[fd-user-menu-sublist]\", inputs: { hasIcons: { classPropertyName: \"hasIcons\", publicName: \"hasIcons\", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { \"click\": \"onClick($event)\", \"keydown\": \"keyDownHandler($event)\" }, properties: { \"class.fd-menu--icons\": \"hasIcons()\" }, classAttribute: \"fd-menu fd-user-menu__menu\" }, queries: [{ propertyName: \"_listItems\", predicate: UserMenuListItemComponent, descendants: true }], ngImport: i0, template: `<ul class=\"fd-menu__list fd-user-menu__menu-list\" role=\"menu\">\n <ng-content />\n </ul> `, isInline: true, styles: [\"[fd-user-menu-sublist]{margin-block-start:0!important}\\n\"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuSublistComponent, decorators: [{\n type: Component,\n args: [{ selector: '[fd-user-menu-sublist]', template: `<ul class=\"fd-menu__list fd-user-menu__menu-list\" role=\"menu\">\n <ng-content />\n </ul> `, host: {\n class: 'fd-menu fd-user-menu__menu',\n '[class.fd-menu--icons]': 'hasIcons()'\n }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: [\"[fd-user-menu-sublist]{margin-block-start:0!important}\\n\"] }]\n }], propDecorators: { _listItems: [{\n type: ContentChildren,\n args: [UserMenuListItemComponent, { descendants: true }]\n }], onClick: [{\n type: HostListener,\n args: ['click', ['$event']]\n }], keyDownHandler: [{\n type: HostListener,\n args: ['keydown', ['$event']]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tZW51LXN1Ymxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3VzZXItbWVudS9jb21wb25lbnRzL3VzZXItbWVudS1zdWJsaXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQixNQUFNLEVBQ04sS0FBSyxFQUNSLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBc0I1RSxNQUFNLE9BQU8sd0JBQXdCO0lBcEJyQztRQXlCSSxnREFBZ0Q7UUFDaEQsYUFBUSxHQUFHLEtBQUssQ0FBQyxLQUFLLDRDQUFJLFNBQVMsRUFBRSxnQkFBZ0IsT0FBN0IsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsR0FBQyxDQUFDO1FBRXpELGNBQWM7UUFDTixjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUV4QyxjQUFjO1FBQ0csZ0JBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFbEQsY0FBYztRQUNHLDRCQUF1QixHQUFHLE1BQU0sQ0FBQyxDQUFBLHNCQUFpRCxDQUFBLENBQUMsQ0FBQztLQXlDeEc7SUF2Q0csY0FBYztJQUVkLE9BQU8sQ0FBQyxLQUFpQjtRQUNyQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELGNBQWM7SUFFZCxjQUFjLENBQUMsS0FBb0I7UUFDL0IsSUFBSSxJQUFJLENBQUMsdUJBQXVCLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDMUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsRCxDQUFDO0lBQ0wsQ0FBQztJQUVELGNBQWM7SUFDZCxlQUFlO1FBQ1gsSUFBSSxDQUFDLHVCQUF1QixDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRS9FLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUMvRixJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztRQUN0QyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxjQUFjO0lBQ04sMEJBQTBCO1FBQzlCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFckMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUNwRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDckUsU0FBUyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDN0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM1QixDQUFDLENBQUMsQ0FBQztZQUNILFdBQVcsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzlCLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3ZFLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQzs4R0F2RFEsd0JBQXdCO2tHQUF4Qix3QkFBd0Isd2JBRWhCLHlCQUF5QixnREFuQmhDOztXQUVIOzsyRkFlRSx3QkFBd0I7a0JBcEJwQyxTQUFTOytCQUVJLHdCQUF3QixZQUN4Qjs7V0FFSCxRQUNEO3dCQUNGLEtBQUssRUFBRSw0QkFBNEI7d0JBQ25DLHdCQUF3QixFQUFFLFlBQVk7cUJBQ3pDLGlCQUNjLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07OEJBWS9DLFVBQVU7c0JBRFQsZUFBZTt1QkFBQyx5QkFBeUIsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBaUJqRSxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQU9qQyxjQUFjO3NCQURiLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRGVzdHJveVJlZixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgUXVlcnlMaXN0LFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgaW5qZWN0LFxuICAgIGlucHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgS2V5Ym9hcmRTdXBwb3J0U2VydmljZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IFN1YmplY3QsIG1lcmdlLCBzdGFydFdpdGgsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVXNlck1lbnVMaXN0SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vdXNlci1tZW51LWxpc3QtaXRlbS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnW2ZkLXVzZXItbWVudS1zdWJsaXN0XScsXG4gICAgdGVtcGxhdGU6IGA8dWwgY2xhc3M9XCJmZC1tZW51X19saXN0IGZkLXVzZXItbWVudV9fbWVudS1saXN0XCIgcm9sZT1cIm1lbnVcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICA8L3VsPiBgLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdmZC1tZW51IGZkLXVzZXItbWVudV9fbWVudScsXG4gICAgICAgICdbY2xhc3MuZmQtbWVudS0taWNvbnNdJzogJ2hhc0ljb25zKCknXG4gICAgfSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0eWxlczogW1xuICAgICAgICBgXG4gICAgICAgICAgICBbZmQtdXNlci1tZW51LXN1Ymxpc3RdIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgYFxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgVXNlck1lbnVTdWJsaXN0Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkcmVuKFVzZXJNZW51TGlzdEl0ZW1Db21wb25lbnQsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgICBfbGlzdEl0ZW1zOiBRdWVyeUxpc3Q8VXNlck1lbnVMaXN0SXRlbUNvbXBvbmVudD47XG5cbiAgICAvKiogV2hldGhlciB0aGUgc3VibGlzdCBtZW51IGl0ZW1zIGhhdmUgaWNvbnMgKi9cbiAgICBoYXNJY29ucyA9IGlucHV0KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcmVmcmVzaCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9rZXlib2FyZFN1cHBvcnRTZXJ2aWNlID0gaW5qZWN0KEtleWJvYXJkU3VwcG9ydFNlcnZpY2U8VXNlck1lbnVMaXN0SXRlbUNvbXBvbmVudD4pO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gICAgb25DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICAgIGtleURvd25IYW5kbGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9rZXlib2FyZFN1cHBvcnRTZXJ2aWNlLmtleU1hbmFnZXIpIHtcbiAgICAgICAgICAgIHRoaXMuX2tleWJvYXJkU3VwcG9ydFNlcnZpY2Uub25LZXlEb3duKGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9rZXlib2FyZFN1cHBvcnRTZXJ2aWNlLnNldEtleWJvYXJkU2VydmljZSh0aGlzLl9saXN0SXRlbXMsIGZhbHNlLCBmYWxzZSk7XG5cbiAgICAgICAgdGhpcy5fbGlzdEl0ZW1zLmNoYW5nZXMucGlwZShzdGFydFdpdGgobnVsbCksIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3NldHVwSW50ZXJhY3Rpb25MaXN0ZW5lcnMoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zZXR1cEludGVyYWN0aW9uTGlzdGVuZXJzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9yZWZyZXNoJC5uZXh0KCk7XG4gICAgICAgIHRoaXMuX3JlZnJlc2gkLmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMuX3JlZnJlc2gkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgICAgICBtZXJnZSguLi50aGlzLl9saXN0SXRlbXMudG9BcnJheSgpLm1hcCgoaSkgPT4gaS5mb2N1c2VkKSlcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9yZWZyZXNoJCksIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGZvY3VzZWRJdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fbGlzdEl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5fdGFiSW5kZXgkLnNldCgtMSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgZm9jdXNlZEl0ZW0uX3RhYkluZGV4JC5zZXQoMCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fa2V5Ym9hcmRTdXBwb3J0U2VydmljZS5rZXlNYW5hZ2VyLnNldEFjdGl2ZUl0ZW0oZm9jdXNlZEl0ZW0pO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxufVxuIl19","import { Directive } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class UserMenuControlElementDirective {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuControlElementDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: UserMenuControlElementDirective, isStandalone: true, selector: \"[fd-user-menu-control-element]\", ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuControlElementDirective, decorators: [{\n type: Directive,\n args: [{\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-user-menu-control-element]'\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tZW51LWNvbnRyb2wtZWxlbWVudC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvdXNlci1tZW51L2RpcmVjdGl2ZXMvdXNlci1tZW51LWNvbnRyb2wtZWxlbWVudC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNMUMsTUFBTSxPQUFPLCtCQUErQjs4R0FBL0IsK0JBQStCO2tHQUEvQiwrQkFBK0I7OzJGQUEvQiwrQkFBK0I7a0JBSjNDLFNBQVM7bUJBQUM7b0JBQ1AsOERBQThEO29CQUM5RCxRQUFRLEVBQUUsZ0NBQWdDO2lCQUM3QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnW2ZkLXVzZXItbWVudS1jb250cm9sLWVsZW1lbnRdJ1xufSlcbmV4cG9ydCBjbGFzcyBVc2VyTWVudUNvbnRyb2xFbGVtZW50RGlyZWN0aXZlIHt9XG4iXX0=","import { CommonModule } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, ChangeDetectorRef, Component, contentChild, contentChildren, DestroyRef, effect, ElementRef, inject, input, output, Renderer2, signal, ViewEncapsulation } from '@angular/core';\nimport { map } from 'rxjs/operators';\nimport { KeyboardSupportService, RtlService, TemplateDirective } from '@fundamental-ngx/cdk/utils';\nimport { ContentDensityMode, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { DialogBodyComponent, DialogComponent, DialogFooterComponent, DialogHeaderComponent, DialogService } from '@fundamental-ngx/core/dialog';\nimport { PopoverBodyComponent, PopoverComponent, PopoverControlComponent } from '@fundamental-ngx/core/popover';\nimport { BarComponent, BarElementDirective, BarMiddleDirective } from '@fundamental-ngx/core/bar';\nimport { UserMenuBodyComponent } from './components/user-menu-body.component';\nimport { UserMenuControlComponent } from './components/user-menu-control.component';\nimport { UserMenuListItemComponent } from './components/user-menu-list-item.component';\nimport { UserMenuControlElementDirective } from './directives/user-menu-control-element.directive';\nimport { UserMenuUserNameDirective } from './directives/user-menu-user-name.directive';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nexport class UserMenuComponent {\n /** @hidden */\n constructor() {\n /** Event thrown, when the user menu is opened or closed */\n this.isOpenChange = output();\n /** Whether the user menu is in mobile mode */\n this.mobile = input(false, ...(ngDevMode ? [{ debugName: \"mobile\", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));\n /** Whether the user menu is open */\n this.isOpen = signal(false, ...(ngDevMode ? [{ debugName: \"isOpen\" }] : []));\n /**\n * Signal indicating whether the user name element is currently visible\n * within the user menu. This updates automatically as the element\n * enters or leaves the viewport.\n *\n * Used by the template to conditionally render the sticky header.\n */\n this.isUserNameVisible = signal(true, ...(ngDevMode ? [{ debugName: \"isUserNameVisible\" }] : []));\n /**\n * Signal storing the HTML content of the user name element.\n * When the original element scrolls out of view, this content\n * is displayed in the sticky header.\n */\n this.userNameContent = signal('', ...(ngDevMode ? [{ debugName: \"userNameContent\" }] : []));\n /** @hidden */\n this.userMenuControl = contentChild(UserMenuControlComponent, ...(ngDevMode ? [{ debugName: \"userMenuControl\" }] : []));\n /** @hidden */\n this.userNameEl = contentChild(UserMenuUserNameDirective, ...(ngDevMode ? [{ debugName: \"userNameEl\", read: ElementRef }] : [{ read: ElementRef }]));\n /** @hidden */\n this.userMenuControlElement = contentChild(UserMenuControlElementDirective, ...(ngDevMode ? [{ debugName: \"userMenuControlElement\", descendants: true,\n read: ElementRef }] : [{\n descendants: true,\n read: ElementRef\n }]));\n /** @hidden */\n this.userMenuBody = contentChild(UserMenuBodyComponent, ...(ngDevMode ? [{ debugName: \"userMenuBody\", descendants: true }] : [{ descendants: true }]));\n /** @hidden */\n this._listItems = contentChildren(UserMenuListItemComponent, ...(ngDevMode ? [{ debugName: \"_listItems\", descendants: true }] : [{ descendants: true }]));\n /** @hidden */\n this._rtlService = inject(RtlService);\n /** @hidden */\n this._dialogService = inject(DialogService);\n /** @hidden */\n this._changeDetectionRef = inject(ChangeDetectorRef);\n /** @hidden */\n this._renderer = inject(Renderer2);\n this._destroyRef = inject(DestroyRef);\n effect(() => {\n const isMobile = this.mobile();\n this._listItems()?.forEach((item) => item.mobile.set(isMobile));\n });\n }\n /** @hidden */\n ngOnInit() {\n this.navigationArrow$ = this._rtlService.rtl.pipe(map((isRtl) => (isRtl ? 'navigation-right-arrow' : 'navigation-left-arrow')));\n }\n /** @hidden */\n ngAfterViewInit() {\n const isMobile = this.mobile();\n this._listItems()?.forEach((item) => item.mobile.set(isMobile));\n const el = this.userNameEl()?.nativeElement;\n if (!el) {\n return;\n }\n // logic for showing/hiding the popover header with user name on scroll\n const intersectionObserver = new IntersectionObserver((entries) => {\n this.isUserNameVisible.set(entries[0].isIntersecting);\n }, { root: null, threshold: 0, rootMargin: '-20px 0px 0px 0px' });\n intersectionObserver.observe(el);\n // Initialize\n this.userNameContent.set(el.innerHTML.trim());\n // Watch for changes in projected content\n const mutationObserver = new MutationObserver(() => {\n this.userNameContent.set(el.innerHTML.trim());\n });\n mutationObserver.observe(el, {\n childList: true,\n characterData: true,\n subtree: true\n });\n this._destroyRef.onDestroy(() => {\n intersectionObserver.disconnect();\n mutationObserver.disconnect();\n });\n }\n /** Method that opens the user menu */\n open() {\n this.isOpenChangeHandle(true);\n }\n /** Method that closes the user menu */\n close() {\n this.isOpenChangeHandle(false);\n if (this._listItems().length > 0) {\n this._listItems().forEach((item) => {\n item.isOpen.set(false);\n item._elementRef?.nativeElement.querySelector('.fd-menu__link')?.classList.remove('is-active');\n });\n this._listItems()[0]?._tabIndex$.set(0);\n }\n this._clearSubmenu();\n this._dialogRef?.close();\n }\n /** Method that opens the user menu in dialog (for mobile mode) */\n openDialog(dialogTemplate) {\n this._dialogRef = this._dialogService.open(dialogTemplate, {\n mobile: true,\n verticalPadding: false,\n horizontalPadding: false,\n ariaLabelledBy: 'fd-user-menu-header',\n ariaDescribedBy: 'fd-user-menu-body',\n contentDensity: ContentDensityMode.COZY\n });\n const refSub = this._dialogRef.afterClosed.subscribe({\n next: () => {\n this.userMenuControl()?.focus();\n refSub.unsubscribe();\n },\n error: (type) => {\n if (type === 'escape') {\n this._clearSubmenu();\n refSub.unsubscribe();\n }\n }\n });\n }\n /** @hidden */\n isOpenChangeHandle(isOpen) {\n if (this.isOpen() === isOpen) {\n return;\n }\n this.isOpen.set(isOpen);\n this.isOpenChange.emit(isOpen);\n if (!isOpen && !this.mobile()) {\n this.userMenuControl()?.focus();\n }\n const userMenuControlEl = this.userMenuControlElement()?.nativeElement;\n this.userMenuControlElement()?.nativeElement &&\n (isOpen\n ? this._renderer.addClass(userMenuControlEl, 'is-active')\n : this._renderer.removeClass(userMenuControlEl, 'is-active'));\n this._changeDetectionRef.detectChanges();\n }\n /** @hidden */\n _clearSubmenu() {\n const userMenuBody = this.userMenuBody();\n if (userMenuBody) {\n userMenuBody.clearSubmenu();\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.4\", type: UserMenuComponent, isStandalone: true, selector: \"fd-user-menu\", inputs: { mobile: { classPropertyName: \"mobile\", publicName: \"mobile\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isOpenChange: \"isOpenChange\" }, host: { classAttribute: \"fd-user-menu\" }, providers: [KeyboardSupportService, contentDensityObserverProviders()], queries: [{ propertyName: \"userMenuControl\", first: true, predicate: UserMenuControlComponent, descendants: true, isSignal: true }, { propertyName: \"userNameEl\", first: true, predicate: UserMenuUserNameDirective, descendants: true, read: ElementRef, isSignal: true }, { propertyName: \"userMenuControlElement\", first: true, predicate: UserMenuControlElementDirective, descendants: true, read: ElementRef, isSignal: true }, { propertyName: \"userMenuBody\", first: true, predicate: UserMenuBodyComponent, descendants: true, isSignal: true }, { propertyName: \"_listItems\", predicate: UserMenuListItemComponent, descendants: true, isSignal: true }], ngImport: i0, template: \"@if (!mobile()) {\\n <fd-popover\\n [isOpen]=\\\"isOpen()\\\"\\n (isOpenChange)=\\\"isOpenChangeHandle($event)\\\"\\n [focusAutoCapture]=\\\"true\\\"\\n [restoreFocusOnClose]=\\\"true\\\"\\n [focusTrapped]=\\\"true\\\"\\n [disableScrollbar]=\\\"true\\\"\\n >\\n <fd-popover-control>\\n <ng-container *ngTemplateOutlet=\\\"control\\\"></ng-container>\\n </fd-popover-control>\\n <fd-popover-body fd-user-menu-popover-control>\\n <div class=\\\"fd-user-menu__popover-wrapper\\\">\\n <div\\n fd-popover-body-header\\n class=\\\"fd-user-menu__scroll-header\\\"\\n [class.hidden]=\\\"isUserNameVisible()\\\"\\n role=\\\"presentation\\\"\\n aria-hidden=\\\"true\\\"\\n >\\n <ng-container *ngTemplateOutlet=\\\"header\\\"></ng-container>\\n </div>\\n\\n <ng-container *ngTemplateOutlet=\\\"body\\\"></ng-container>\\n\\n <div fd-popover-body-footer>\\n <ng-container *ngTemplateOutlet=\\\"footer\\\"></ng-container>\\n </div>\\n </div>\\n </fd-popover-body>\\n </fd-popover>\\n} @else {\\n <span (click)=\\\"openDialog(dialogTemplate)\\\">\\n <ng-container *ngTemplateOutlet=\\\"control\\\"></ng-container>\\n </span>\\n\\n <ng-template [fdDialogTemplate] let-dialog let-dialogConfig=\\\"dialogConfig\\\" #dialogTemplate>\\n <fd-dialog [dialogConfig]=\\\"dialogConfig\\\" [dialogRef]=\\\"dialog\\\">\\n <fd-dialog-header>\\n @if (userMenuBody()?.bodyHeader()) {\\n <ng-template fdkTemplate=\\\"header\\\">\\n <ng-container\\n *ngTemplateOutlet=\\\"userMenuBody()?.bodyHeader() ?? null; context: { dialogRef: dialog }\\\"\\n >\\n </ng-container>\\n </ng-template>\\n }\\n </fd-dialog-header>\\n <fd-dialog-body style=\\\"padding: 0\\\">\\n <ng-container *ngTemplateOutlet=\\\"body\\\"></ng-container>\\n </fd-dialog-body>\\n <fd-dialog-footer>\\n <ng-template fdkTemplate=\\\"customFooter\\\">\\n <ng-container *ngTemplateOutlet=\\\"footer\\\"></ng-container>\\n </ng-template>\\n </fd-dialog-footer>\\n </fd-dialog>\\n </ng-template>\\n}\\n\\n<ng-template #control>\\n <ng-content select=\\\"fd-user-menu-control\\\" />\\n</ng-template>\\n\\n<ng-template #header>\\n <div fd-popover-body-header>\\n <div fd-bar barDesign=\\\"header\\\">\\n <div fd-bar-middle>\\n <fd-bar-element>\\n <div\\n class=\\\"fd-user-menu__user-name fd-user-menu__user-name--truncate\\\"\\n [innerHTML]=\\\"userNameContent()\\\"\\n ></div>\\n </fd-bar-element>\\n </div>\\n </div>\\n </div>\\n</ng-template>\\n\\n<ng-template #body>\\n <ng-content select=\\\"fd-user-menu-body\\\" />\\n</ng-template>\\n\\n<ng-template #footer>\\n <ng-content select=\\\"fd-user-menu-footer\\\" />\\n</ng-template>\\n\", styles: [\"@charset \\\"UTF-8\\\";.fd-dialog__body{--fdButton_Menu_Border_Radius:0}.fd-menu{--fdMenu_Icon_Width:2.25rem;--fdMenu_Link_Height:2.75rem;--fdMenu_Item_Spacing_Left:.75rem;--fdMenu_Item_Spacing_Right:.75rem;--fdMenu_Item_Border_Bottom_Color:transparent;--fdMenu_Shortcut_Padding_Left:1rem;--fdMenu_Shortcut_Padding_Right:.75rem;--fdMenu_Text_Spacing_Right:.75rem;--fdMenu_Icon_Color:var(--sapContent_NonInteractiveIconColor);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Regular);--fdMenu_Text_Color:var(--sapList_TextColor);--fdMenu_Item_Background_Color:var(--sapList_Background);--fdMenu_Active_Dot_Size:.75rem;border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.fd-menu:after,.fd-menu:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__list,.fd-menu__sublist{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;border-radius:var(--fdButton_Menu_Border_Radius);-webkit-box-shadow:var(--sapContent_Shadow1);box-shadow:var(--sapContent_Shadow1);-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:wrap;flex-wrap:wrap;list-style:none;max-width:20rem}.fd-menu__list:after,.fd-menu__list:before,.fd-menu__sublist:after,.fd-menu__sublist:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__list--no-shadow,.fd-menu__sublist--no-shadow{-webkit-box-shadow:none;box-shadow:none}.fd-menu__sublist{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;left:100%;line-height:normal;margin-block:0;margin-block:.25rem 0;margin-inline:0;margin-inline:-.25rem 0;min-width:100%;padding-block:0;padding-inline:0;position:absolute;top:0;z-index:2}.fd-menu__sublist:after,.fd-menu__sublist:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__sublist[dir=rtl],[dir=rtl] .fd-menu__sublist{left:auto;right:100%}.fd-menu__sublist[aria-hidden=true]{display:none}.fd-menu__list>.fd-menu__item{position:relative;width:100%}.fd-menu__list--overflow{-ms-flex-wrap:nowrap;flex-wrap:nowrap;overflow-y:scroll;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-menu__list--overflow.is-focus,.fd-menu__list--overflow:focus{outline:none;z-index:5}.fd-menu__list--overflow::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-menu__list--overflow::-webkit-scrollbar-corner,.fd-menu__list--overflow::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-menu__list--overflow::-webkit-scrollbar-thumb{background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-menu__list--overflow::-webkit-scrollbar-thumb:active,.fd-menu__list--overflow::-webkit-scrollbar-thumb:hover{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-menu__list--overflow::-webkit-scrollbar-corner,.fd-menu__list--overflow::-webkit-scrollbar-track{border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}.fd-menu__list--overflow[dir=rtl]::-webkit-scrollbar-corner,.fd-menu__list--overflow[dir=rtl]::-webkit-scrollbar-track,[dir=rtl] .fd-menu__list--overflow::-webkit-scrollbar-corner,[dir=rtl] .fd-menu__list--overflow::-webkit-scrollbar-track{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fd-menu__separator{background-color:var(--sapGroup_ContentBorderColor);border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:.0625rem;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;width:100%}.fd-menu__separator:after,.fd-menu__separator:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__item{background-color:var(--sapList_Background);border:0;border-radius:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;max-width:100%;padding-block:0;padding-inline:0;position:relative}.fd-menu__item:after,.fd-menu__item:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__item:first-child,.fd-menu__item:first-child .fd-menu__link:after{border-top-left-radius:var(--fdButton_Menu_Border_Radius);border-top-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu__item:last-of-type,.fd-menu__item:last-of-type .fd-menu__link:after{border-bottom-left-radius:var(--fdButton_Menu_Border_Radius);border-bottom-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu__item.has-separator{border-bottom:.0625rem solid var(--sapGroup_ContentBorderColor)}.fd-menu__link{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:var(--fdMenu_Item_Background_Color);border-bottom:.0625rem solid var(--fdMenu_Item_Border_Bottom_Color);border-radius:inherit;height:var(--fdMenu_Link_Height);outline:none;padding-inline:var(--fdMenu_Item_Spacing_Left) var(--fdMenu_Item_Spacing_Right);text-decoration:none;width:100%}.fd-menu__link:after,.fd-menu__link:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__link.is-focus:after,.fd-menu__link:focus:after{border-color:var(--sapContent_FocusColor);border-radius:0!important;border-style:var(--sapContent_FocusStyle);border-width:var(--sapContent_FocusWidth);content:\\\"\\\";inset:.125rem;pointer-events:none;position:absolute}.fd-menu__link.is-hover,.fd-menu__link:hover{--fdMenu_Item_Background_Color:var(--sapList_Hover_Background)}.fd-menu__link.is-selected,.fd-menu__link[aria-selected=true]{--fdMenu_Item_Background_Color:var(--sapList_SelectionBackgroundColor);--fdMenu_Icon_Color:var(--sapContent_NonInteractiveIconColor);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Selected);--fdMenu_Text_Color:var(--sapList_TextColor);--fdMenu_Item_Border_Bottom_Color:var(--sapList_SelectionBorderColor)}.fd-menu__link.is-selected.is-hover:not(:active,.is-active),.fd-menu__link.is-selected:hover:not(:active,.is-active),.fd-menu__link[aria-selected=true].is-hover:not(:active,.is-active),.fd-menu__link[aria-selected=true]:hover:not(:active,.is-active){--fdMenu_Item_Background_Color:var(--sapList_Hover_SelectionBackground);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Selected_Hover)}.fd-menu__link.is-selected.is-focus,.fd-menu__link.is-selected:focus,.fd-menu__link[aria-selected=true].is-focus,.fd-menu__link[aria-selected=true]:focus{z-index:5}.fd-menu__link.is-selected.is-focus:after,.fd-menu__link.is-selected:focus:after,.fd-menu__link[aria-selected=true].is-focus:after,.fd-menu__link[aria-selected=true]:focus:after{bottom:.125rem}.fd-menu__link.is-active,.fd-menu__link:active{--fdMenu_Item_Background_Color:var(--sapList_Active_Background);--fdMenu_Icon_Color:var(--sapList_Active_TextColor);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Active);--fdMenu_Text_Color:var(--fdMenu_Text_Color_Active)}.fd-menu__link.is-active:after,.fd-menu__link:active:after{display:none}.fd-menu__link.is-active.is-focus,.fd-menu__link.is-active:focus,.fd-menu__link:active.is-focus,.fd-menu__link:active:focus{outline-color:var(--fdMenu_Active_State_Focus);z-index:5}.fd-menu__link.is-disabled,.fd-menu__link:disabled,.fd-menu__link[aria-disabled=true]{opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-menu__link.is-disabled.is-focus,.fd-menu__link.is-disabled:focus,.fd-menu__link:disabled.is-focus,.fd-menu__link:disabled:focus,.fd-menu__link[aria-disabled=true].is-focus,.fd-menu__link[aria-disabled=true]:focus{z-index:5}.fd-menu__link.is-disabled.is-focus:after,.fd-menu__link.is-disabled:focus:after,.fd-menu__link:disabled.is-focus:after,.fd-menu__link:disabled:focus:after,.fd-menu__link[aria-disabled=true].is-focus:after,.fd-menu__link[aria-disabled=true]:focus:after{display:none}.fd-menu__link.has-child{--fdMenu_Item_Spacing_Right:0}.fd-menu__link.has-child.is-expanded:not(:active,.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active){--fdMenu_Item_Background_Color:var(--sapList_SelectionBackgroundColor);--fdMenu_Icon_Color:var(--sapContent_NonInteractiveIconColor);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Selected);--fdMenu_Text_Color:var(--sapList_TextColor);--fdMenu_Item_Border_Bottom_Color:var(--sapList_SelectionBorderColor)}.fd-menu__link.has-child.is-expanded:not(:active,.is-active).is-hover:not(:active,.is-active),.fd-menu__link.has-child.is-expanded:not(:active,.is-active):hover:not(:active,.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active).is-hover:not(:active,.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active):hover:not(:active,.is-active){--fdMenu_Item_Background_Color:var(--sapList_Hover_SelectionBackground);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Selected_Hover)}.fd-menu__link.has-child.is-expanded:not(:active,.is-active).is-focus,.fd-menu__link.has-child.is-expanded:not(:active,.is-active):focus,.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active).is-focus,.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active):focus{z-index:5}.fd-menu__link.has-child.is-expanded:not(:active,.is-active).is-focus:after,.fd-menu__link.has-child.is-expanded:not(:active,.is-active):focus:after,.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active).is-focus:after,.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active):focus:after{bottom:.125rem}.fd-menu__title{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--fdMenu_Text_Color);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;overflow:hidden;padding-block:0;padding-inline:0;text-align:left;text-overflow:ellipsis;text-shadow:var(--fdMenu_Text_Shadow);white-space:nowrap;width:100%}.fd-menu__title:after,.fd-menu__title:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__title[dir=rtl],[dir=rtl] .fd-menu__title{text-align:right}.fd-menu__title:has(+.fd-menu__input){min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.fd-menu__addon-after,.fd-menu__addon-before{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:transparent;color:var(--fdMenu_Icon_Color);font-size:var(--sapFontLargeSize);height:100%;max-width:var(--fdMenu_Icon_Width);min-width:var(--fdMenu_Icon_Width);text-shadow:var(--fdMenu_Text_Shadow);width:var(--fdMenu_Icon_Width)}.fd-menu__addon-after:after,.fd-menu__addon-after:before,.fd-menu__addon-before:after,.fd-menu__addon-before:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__addon-after [class*=sap-icon],.fd-menu__addon-after[class*=sap-icon],.fd-menu__addon-before [class*=sap-icon],.fd-menu__addon-before[class*=sap-icon]{background:inherit;border-radius:inherit;color:inherit;font-size:inherit;line-height:1}.fd-menu__addon-after--submenu{font-size:var(--fdMenu_Affordance_Arrow_Size)}.fd-menu__addon-after--submenu:before{content:\\\"\\\\e066\\\"}.fd-menu__addon-after--submenu:before,.fd-menu__addon-after--submenu[dir=rtl]:before,[dir=rtl] .fd-menu__addon-after--submenu:before{font-family:SAP-icons;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-menu__addon-after--submenu[dir=rtl]:before,[dir=rtl] .fd-menu__addon-after--submenu:before{content:\\\"\\\\e067\\\"}.fd-menu__active-dot{background:var(--sapContent_Selected_ForegroundColor);border:0;border-radius:100%;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--fdMenu_Active_Dot_Size);line-height:normal;margin-block:0;margin-inline:0;min-width:var(--fdMenu_Active_Dot_Size);padding-block:0;padding-inline:0;width:var(--fdMenu_Active_Dot_Size)}.fd-menu__active-dot:after,.fd-menu__active-dot:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__checkmark [class*=sap-icon],.fd-menu__checkmark[class*=sap-icon]{background:inherit;border-radius:inherit;color:inherit;color:var(--sapContent_Selected_ForegroundColor);font-size:inherit;font-size:1rem;line-height:1}.fd-menu__shortcut{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;overflow:hidden;padding-block:0;padding-inline:0;text-overflow:ellipsis;white-space:nowrap;-ms-flex-negative:0;color:var(--fdMenu_Shortcut_Color);flex-shrink:0;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;-webkit-padding-start:var(--fdMenu_Shortcut_Padding_Left);padding-inline-start:var(--fdMenu_Shortcut_Padding_Left)}.fd-menu__shortcut:after,.fd-menu__shortcut:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__shortcut:last-child{padding-inline:var(--fdMenu_Shortcut_Padding_Left) var(--fdMenu_Shortcut_Padding_Right)}.fd-menu--overflow{border-radius:var(--fdButton_Menu_Border_Radius);-webkit-box-shadow:var(--sapContent_Shadow1);box-shadow:var(--sapContent_Shadow1);overflow-y:scroll;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-menu--overflow.is-focus,.fd-menu--overflow:focus{outline:none;z-index:5}.fd-menu--overflow::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-menu--overflow::-webkit-scrollbar-corner,.fd-menu--overflow::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-menu--overflow::-webkit-scrollbar-thumb{background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-menu--overflow::-webkit-scrollbar-thumb:active,.fd-menu--overflow::-webkit-scrollbar-thumb:hover{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-menu--overflow::-webkit-scrollbar-corner,.fd-menu--overflow::-webkit-scrollbar-track{border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}.fd-menu--overflow[dir=rtl]::-webkit-scrollbar-corner,.fd-menu--overflow[dir=rtl]::-webkit-scrollbar-track,[dir=rtl] .fd-menu--overflow::-webkit-scrollbar-corner,[dir=rtl] .fd-menu--overflow::-webkit-scrollbar-track{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fd-menu--overflow .fd-menu__list{-webkit-box-shadow:none;box-shadow:none}.fd-menu--overflow .fd-menu__item:first-child{border-top-right-radius:0}.fd-menu--overflow .fd-menu__item:first-child[dir=rtl],[dir=rtl] .fd-menu--overflow .fd-menu__item:first-child{border-top-left-radius:0;border-top-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu--overflow .fd-menu__item:last-of-type{border-bottom-right-radius:0}.fd-menu--overflow .fd-menu__item:last-of-type[dir=rtl],[dir=rtl] .fd-menu--overflow .fd-menu__item:last-of-type{border-bottom-left-radius:0;border-bottom-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu--full-width{max-width:100%}.fd-menu--icons{--fdMenu_Item_Spacing_Left:0;--fdMenu_Item_Spacing_Right:0}.fd-menu--icons .fd-menu__title:first-child{-webkit-margin-start:var(--fdMenu_Icon_Width);margin-inline-start:var(--fdMenu_Icon_Width)}.fd-menu--icons .fd-menu__title:last-child{-webkit-margin-end:var(--fdMenu_Text_Spacing_Right);margin-inline-end:var(--fdMenu_Text_Spacing_Right)}.fd-menu--icons .fd-menu__title:only-child{margin-inline:var(--fdMenu_Icon_Width) var(--fdMenu_Text_Spacing_Right)}.fd-menu--icons .fd-menu__sublist{--fdMenu_Item_Spacing_Left:1rem;--fdMenu_Item_Spacing_Right:1rem}.fd-menu--icons .fd-menu__sublist .fd-menu__title:first-child{-webkit-margin-start:0;margin-inline-start:0}.fd-menu--icons .fd-menu__sublist .fd-menu__title:last-child{-webkit-margin-end:0;margin-inline-end:0}.fd-menu--icons .fd-menu__sublist .fd-menu__title:only-child{margin-inline:0}.fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons{--fdMenu_Item_Spacing_Left:0;--fdMenu_Item_Spacing_Right:0}.fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons .fd-menu__title:first-child{-webkit-margin-start:var(--fdMenu_Icon_Width);margin-inline-start:var(--fdMenu_Icon_Width)}.fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons .fd-menu__title:last-child{-webkit-margin-end:var(--fdMenu_Text_Spacing_Right);margin-inline-end:var(--fdMenu_Text_Spacing_Right)}.fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons .fd-menu__title:only-child{margin-inline:var(--fdMenu_Icon_Width) var(--fdMenu_Text_Spacing_Right)}.fd-menu--icons .fd-menu__input,.fd-menu--icons input{margin-inline:var(--fdMenu_Text_Spacing_Right) var(--fdMenu_Text_Spacing_Right)}.fd-menu--mobile{max-width:100%;width:100%;--fdMenu_Icon_Width:2.75rem;--fdMenu_Item_Spacing_Left:1rem;--fdMenu_Item_Spacing_Right:1rem;--fdMenu_Shortcut_Padding_Right:1rem;--fdMenu_Text_Spacing_Right:1rem}.fd-menu--mobile .fd-menu__list,.fd-menu--mobile .fd-menu__sublist{border-radius:0;-webkit-box-shadow:none;box-shadow:none;margin-block:0;margin-inline:0;position:static}.fd-menu--mobile .fd-menu__list .fd-menu__item,.fd-menu--mobile .fd-menu__sublist .fd-menu__item{border-radius:0}.fd-menu--mobile.fd-menu--icons{--fdMenu_Item_Spacing_Left:0;--fdMenu_Item_Spacing_Right:0}.fd-menu--mobile.fd-menu--icons .fd-menu__input,.fd-menu--mobile.fd-menu--icons input{margin-inline:1rem}.fd-menu[class*=-compact],.fd-menu[class*=-condensed],[class*=-compact] .fd-menu:not([class*=-cozy]),[class*=-condensed] .fd-menu:not([class*=-cozy]){--fdMenu_Icon_Width:2rem;--fdMenu_Link_Height:2rem;--fdMenu_Item_Spacing_Left:.5rem;--fdMenu_Item_Spacing_Right:.5rem;--fdMenu_Shortcut_Padding_Right:.5rem;--fdMenu_Text_Spacing_Right:.5rem}.fd-menu[class*=-compact].fd-menu--icons,.fd-menu[class*=-condensed].fd-menu--icons,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons,[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons{--fdMenu_Item_Spacing_Left:0;--fdMenu_Item_Spacing_Right:0}.fd-menu[class*=-compact].fd-menu--icons .fd-menu__input,.fd-menu[class*=-compact].fd-menu--icons input,.fd-menu[class*=-condensed].fd-menu--icons .fd-menu__input,.fd-menu[class*=-condensed].fd-menu--icons input,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__input,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons input,[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__input,[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons input{margin-inline:.5rem}.fd-menu[class*=-compact].fd-menu--icons .fd-menu__sublist,.fd-menu[class*=-condensed].fd-menu--icons .fd-menu__sublist,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__sublist,[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__sublist{--fdMenu_Item_Spacing_Left:.5rem;--fdMenu_Item_Spacing_Right:.5rem}.fd-menu[class*=-compact].fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons,.fd-menu[class*=-condensed].fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons,[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons{--fdMenu_Item_Spacing_Left:0;--fdMenu_Item_Spacing_Right:0}.fd-user-menu{background:var(--sapGroup_ContentBackground)}.fd-user-menu .fd-user-menu__title-bar{--fdBar_Shadow: none}.fd-user-menu .fd-panel__header:has(.fd-panel__button[aria-expanded=false]){--fdPanel_Header_Border_Bottom_Left_Radius: 0;--fdPanel_Header_Border_Bottom_Right_Radius: 0}.fd-user-menu .fd-user-menu__popover-wrapper{overflow:visible;width:20rem;min-width:20rem}.fd-user-menu__body{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:.5rem;overflow:visible;min-width:18rem;max-width:20rem;position:relative;padding-inline:.5rem;padding-block:2.5rem .5rem}.fd-user-menu__body:before,.fd-user-menu__body:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-user-menu__header{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:.5rem;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.fd-user-menu__header:before,.fd-user-menu__header:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-user-menu__header-container,.fd-user-menu__subheader{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:.25rem;-webkit-box-align:center;-ms-flex-align:center;align-items:center;max-width:100%;text-align:center;-webkit-margin-after:.5rem;margin-block-end:.5rem}.fd-user-menu__header-container:before,.fd-user-menu__header-container:after,.fd-user-menu__subheader:before,.fd-user-menu__subheader:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-user-menu__user-name{font-size:var(--sapFontSize);line-height:normal;font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;max-width:100%;line-height:1.4rem;white-space:normal;color:var(--sapTextColor);font-size:var(--sapFontLargeSize);font-family:var(--sapFontSemiboldDuplexFamily)}.fd-user-menu__user-name:before,.fd-user-menu__user-name:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-user-menu__user-name--truncate{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal;text-overflow:ellipsis;max-height:2.8rem}.fd-user-menu__user-info,.fd-user-menu__user-role,.fd-user-menu__subline{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;width:100%;max-width:100%;white-space:normal;color:var(--sapContent_LabelColor);word-wrap:break-word;overflow-wrap:break-word}.fd-user-menu__user-info:before,.fd-user-menu__user-info:after,.fd-user-menu__user-role:before,.fd-user-menu__user-role:after,.fd-user-menu__subline:before,.fd-user-menu__subline:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-user-menu__user-info--truncate,.fd-user-menu__user-role--truncate,.fd-user-menu__subline--truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fd-user-menu .fd-user-menu__menu{width:100%}.fd-user-menu .fd-user-menu__menu-list{-webkit-box-shadow:none;box-shadow:none;border-radius:0}.fd-user-menu .fd-user-menu__menu-list>*:first-child,.fd-user-menu .fd-user-menu__menu-list>*:last-child{border-radius:0}.fd-user-menu .fd-user-menu__menu-list.fd-user-menu__menu-list{-webkit-box-shadow:none;box-shadow:none;border-radius:0}.fd-user-menu .fd-user-menu__menu-list.fd-user-menu__menu-list>*:first-child,.fd-user-menu .fd-user-menu__menu-list.fd-user-menu__menu-list>*:last-child{border-radius:0}.fd-user-menu .fd-user-menu__panel>div{border-radius:0}.fd-user-menu__content-container{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;--fdPanel_Margin_Bottom: .25rem}.fd-user-menu__content-container:before,.fd-user-menu__content-container:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}[class*=-condensed] .fd-user-menu .fd-menu:not([class*=-cozy]),[class*=-compact] .fd-user-menu .fd-menu:not([class*=-cozy]),.fd-user-menu .fd-menu[class*=-condensed],.fd-user-menu .fd-menu[class*=-compact]{--fdMenu_Icon_Width: 2.5rem;--fdMenu_Link_Height: 2.5rem;--fdMenu_Item_Spacing_Left: .75rem;--fdMenu_Item_Spacing_Right: .75rem}.fd-user-menu--mobile{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:100%;-webkit-padding-before:0;padding-block-start:0}.fd-user-menu--mobile .fd-user-menu__body{-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-padding-before:1rem;padding-block-start:1rem}.fd-user-menu--tool-header .fd-user-menu__user-name{font-family:var(--sapFontBlackFamily);font-size:1.25rem;line-height:1.3;color:var(-\\\\2013sapTitleColor)}.fd-user-menu--tool-header .fd-user-menu__navigation-submenu{top:-.5rem;border:none;padding-block:.5rem;padding-inline:.5rem;border-radius:.5rem;-webkit-margin-end:.3875rem;margin-inline-end:.3875rem;-webkit-box-shadow:var(--sapMenu_Shadow1);box-shadow:var(--sapMenu_Shadow1);background:var(--sapGroup_ContentBackground)}.fd-user-menu--tool-header .fd-user-menu__navigation-submenu-wrapper{overflow:visible}.fd-user-menu--tool-header .fd-user-menu__user-role{font-family:var(--sapFontFamily);font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(\\\\2013sapContent_LabelColor)}.fd-user-menu--tool-header .fd-user-menu__body{overflow:visible}.fd-user-menu--tool-header .fd-user-menu__body:has(.fd-user-menu__navigation-menu:first-child){padding-block:0}.fd-user-menu--tool-header .fd-user-menu__popover-body{border:none;padding-block:.75rem;padding-inline:0;border-radius:.75rem;-webkit-box-shadow:var(--sapMenu_Shadow2);box-shadow:var(--sapMenu_Shadow2);background:var(--sapGroup_ContentBackground)}.fd-user-menu--tool-header .fd-user-menu__footer{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding-block:.75rem;padding-inline:1.125rem}.fd-user-menu--tool-header .fd-user-menu__footer:before,.fd-user-menu--tool-header .fd-user-menu__footer:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-user-menu--tool-header .fd-navigation__item.fd-navigation__item--title{--fdNavigation_Item_Title_Display: flex;-webkit-margin-after:1rem;margin-block-end:1rem}.fd-user-menu__body .fd-list--subline .fd-list__item{height:auto}.fd-user-menu__body .fd-list--subline .fd-list__title{width:100%;max-width:100%;font-style:normal;line-height:normal;white-space:normal;font-size:var(--sapFontSize);color:var(--sapList_TextColor);font-family:var(--sapFontSemiboldDuplexFamily)}.fd-user-menu__body .fd-list--subline .fd-list__title--truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fd-user-menu__body .fd-list--subline .fd-list__subline{color:var(--sapTextColor);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;width:100%;max-width:100%;word-wrap:break-word;overflow-wrap:break-word;font-style:normal;line-height:normal;white-space:normal;font-size:var(--sapFontSize);font-family:var(--sapFontFamily);color:var(--sapContent_LabelColor)}.fd-user-menu__body .fd-list--subline .fd-list__subline--truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fd-user-menu{background:transparent}.fd-user-menu__menu.fd-menu{width:100%;margin-block-start:.25rem}.fd-menu__list.fd-user-menu__menu-list>.fd-menu__item{position:unset;width:100%}.fd-dialog__body .fd-user-menu__body{min-width:100%;max-width:100%;min-height:100%;max-height:100%}.fd-dialog__body .fd-user-menu__body .fd-menu__list.fd-user-menu__menu-list{min-width:100%}.fd-user-menu__details-view .fd-menu.fd-user-menu__menu{padding:1rem}.fd-user-menu__main-view-bar.fd-bar{box-shadow:none}.fd-menu__link{position:relative}.fd-menu__item:is(:focus,:focus-within,:focus-visible){outline:none}fd-user-menu-control{display:flex;width:fit-content;height:fit-content;align-items:center;border-radius:50rem;justify-content:center}fd-user-menu-control:is(:focus){outline-offset:.0625rem;outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor)}.fd-user-menu__menu-list.fd-user-menu__menu-list{box-shadow:none;border-radius:0}.fd-user-menu__menu-list.fd-user-menu__menu-list>*:first-child,.fd-user-menu__menu-list.fd-user-menu__menu-list>*:last-child{border-radius:0}.fd-user-menu__body{position:relative;width:20rem;min-width:20rem;max-width:20rem}.fd-user-menu__body:has(.fd-user-menu__details-view){padding:0}.fd-user-menu__header-container{max-width:100%}.fd-user-menu .fd-popover__body>.fd-scrollbar{width:20rem;min-width:20rem;max-width:20rem}.fd-user-menu__scroll-header{width:20rem;min-width:20rem;max-width:20rem;position:absolute;top:0;z-index:10;overflow:hidden;border-top-left-radius:var(--fdPopover_Border_Radius);border-top-right-radius:var(--fdPopover_Border_Radius);background:var(--sapPageHeader_Background);transition:all .15s ease}.fd-user-menu__scroll-header.hidden{opacity:0;pointer-events:none}.fd-user-menu__scroll-header-element{transition:all .15s ease}.fd-user-menu__scroll-header-element.hidden{opacity:0;pointer-events:none}.fd-user-menu__footer .fd-bar.fd-bar--footer{position:sticky;bottom:0}.fd-user-menu__popover-wrapper{overflow:auto;display:flex;flex-direction:column;overscroll-behavior:contain;scroll-behavior:smooth;overflow-anchor:none}.fd-user-menu__body{overflow:auto;flex:1}.fd-user-menu__footer{min-height:2rem}\\n/*! Bundled license information:\\n\\nfundamental-styles/dist/menu.css:\\n (*!\\n * Fundamental Library Styles v0.40.1\\n * Copyright (c) 2025 SAP SE or an SAP affiliate company.\\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\\n *)\\n*/\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i1.NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"component\", type: BarComponent, selector: \"[fd-bar]\", inputs: [\"class\", \"barDesign\", \"inPage\", \"inHomePage\", \"clear\", \"size\", \"role\"] }, { kind: \"directive\", type: BarMiddleDirective, selector: \"[fd-bar-middle]\" }, { kind: \"directive\", type: BarElementDirective, selector: \"fd-bar-element\", inputs: [\"fullWidth\"] }, { kind: \"component\", type: PopoverComponent, selector: \"fd-popover\", inputs: [\"title\", \"trigger\", \"fixedPosition\", \"id\", \"mobile\", \"mobileConfig\", \"preventSpaceKeyScroll\"] }, { kind: \"component\", type: PopoverBodyComponent, selector: \"fd-popover-body\", inputs: [\"minWidth\", \"maxWidth\", \"minHeight\", \"maxHeight\"] }, { kind: \"component\", type: PopoverControlComponent, selector: \"fd-popover-control, [fdPopoverControl]\" }, { kind: \"component\", type: DialogComponent, selector: \"fd-dialog\", inputs: [\"class\", \"dialogRef\", \"dialogConfig\"] }, { kind: \"component\", type: DialogBodyComponent, selector: \"fd-dialog-body\", inputs: [\"disablePaddings\"] }, { kind: \"component\", type: DialogFooterComponent, selector: \"fd-dialog-footer\" }, { kind: \"component\", type: DialogHeaderComponent, selector: \"fd-dialog-header\" }, { kind: \"directive\", type: TemplateDirective, selector: \"[fdkTemplate]\", inputs: [\"fdkTemplate\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuComponent, decorators: [{\n type: Component,\n args: [{ selector: 'fd-user-menu', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {\n class: 'fd-user-menu'\n }, imports: [\n CommonModule,\n BarComponent,\n BarMiddleDirective,\n BarElementDirective,\n PopoverComponent,\n PopoverBodyComponent,\n PopoverControlComponent,\n DialogComponent,\n DialogBodyComponent,\n DialogFooterComponent,\n DialogHeaderComponent,\n TemplateDirective\n ], providers: [KeyboardSupportService, contentDensityObserverProviders()], template: \"@if (!mobile()) {\\n <fd-popover\\n [isOpen]=\\\"isOpen()\\\"\\n (isOpenChange)=\\\"isOpenChangeHandle($event)\\\"\\n [focusAutoCapture]=\\\"true\\\"\\n [restoreFocusOnClose]=\\\"true\\\"\\n [focusTrapped]=\\\"true\\\"\\n [disableScrollbar]=\\\"true\\\"\\n >\\n <fd-popover-control>\\n <ng-container *ngTemplateOutlet=\\\"control\\\"></ng-container>\\n </fd-popover-control>\\n <fd-popover-body fd-user-menu-popover-control>\\n <div class=\\\"fd-user-menu__popover-wrapper\\\">\\n <div\\n fd-popover-body-header\\n class=\\\"fd-user-menu__scroll-header\\\"\\n [class.hidden]=\\\"isUserNameVisible()\\\"\\n role=\\\"presentation\\\"\\n aria-hidden=\\\"true\\\"\\n >\\n <ng-container *ngTemplateOutlet=\\\"header\\\"></ng-container>\\n </div>\\n\\n <ng-container *ngTemplateOutlet=\\\"body\\\"></ng-container>\\n\\n <div fd-popover-body-footer>\\n <ng-container *ngTemplateOutlet=\\\"footer\\\"></ng-container>\\n </div>\\n </div>\\n </fd-popover-body>\\n </fd-popover>\\n} @else {\\n <span (click)=\\\"openDialog(dialogTemplate)\\\">\\n <ng-container *ngTemplateOutlet=\\\"control\\\"></ng-container>\\n </span>\\n\\n <ng-template [fdDialogTemplate] let-dialog let-dialogConfig=\\\"dialogConfig\\\" #dialogTemplate>\\n <fd-dialog [dialogConfig]=\\\"dialogConfig\\\" [dialogRef]=\\\"dialog\\\">\\n <fd-dialog-header>\\n @if (userMenuBody()?.bodyHeader()) {\\n <ng-template fdkTemplate=\\\"header\\\">\\n <ng-container\\n *ngTemplateOutlet=\\\"userMenuBody()?.bodyHeader() ?? null; context: { dialogRef: dialog }\\\"\\n >\\n </ng-container>\\n </ng-template>\\n }\\n </fd-dialog-header>\\n <fd-dialog-body style=\\\"padding: 0\\\">\\n <ng-container *ngTemplateOutlet=\\\"body\\\"></ng-container>\\n </fd-dialog-body>\\n <fd-dialog-footer>\\n <ng-template fdkTemplate=\\\"customFooter\\\">\\n <ng-container *ngTemplateOutlet=\\\"footer\\\"></ng-container>\\n </ng-template>\\n </fd-dialog-footer>\\n </fd-dialog>\\n </ng-template>\\n}\\n\\n<ng-template #control>\\n <ng-content select=\\\"fd-user-menu-control\\\" />\\n</ng-template>\\n\\n<ng-template #header>\\n <div fd-popover-body-header>\\n <div fd-bar barDesign=\\\"header\\\">\\n <div fd-bar-middle>\\n <fd-bar-element>\\n <div\\n class=\\\"fd-user-menu__user-name fd-user-menu__user-name--truncate\\\"\\n [innerHTML]=\\\"userNameContent()\\\"\\n ></div>\\n </fd-bar-element>\\n </div>\\n </div>\\n </div>\\n</ng-template>\\n\\n<ng-template #body>\\n <ng-content select=\\\"fd-user-menu-body\\\" />\\n</ng-template>\\n\\n<ng-template #footer>\\n <ng-content select=\\\"fd-user-menu-footer\\\" />\\n</ng-template>\\n\", styles: [\"@charset \\\"UTF-8\\\";.fd-dialog__body{--fdButton_Menu_Border_Radius:0}.fd-menu{--fdMenu_Icon_Width:2.25rem;--fdMenu_Link_Height:2.75rem;--fdMenu_Item_Spacing_Left:.75rem;--fdMenu_Item_Spacing_Right:.75rem;--fdMenu_Item_Border_Bottom_Color:transparent;--fdMenu_Shortcut_Padding_Left:1rem;--fdMenu_Shortcut_Padding_Right:.75rem;--fdMenu_Text_Spacing_Right:.75rem;--fdMenu_Icon_Color:var(--sapContent_NonInteractiveIconColor);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Regular);--fdMenu_Text_Color:var(--sapList_TextColor);--fdMenu_Item_Background_Color:var(--sapList_Background);--fdMenu_Active_Dot_Size:.75rem;border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.fd-menu:after,.fd-menu:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__list,.fd-menu__sublist{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;border-radius:var(--fdButton_Menu_Border_Radius);-webkit-box-shadow:var(--sapContent_Shadow1);box-shadow:var(--sapContent_Shadow1);-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:wrap;flex-wrap:wrap;list-style:none;max-width:20rem}.fd-menu__list:after,.fd-menu__list:before,.fd-menu__sublist:after,.fd-menu__sublist:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__list--no-shadow,.fd-menu__sublist--no-shadow{-webkit-box-shadow:none;box-shadow:none}.fd-menu__sublist{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;left:100%;line-height:normal;margin-block:0;margin-block:.25rem 0;margin-inline:0;margin-inline:-.25rem 0;min-width:100%;padding-block:0;padding-inline:0;position:absolute;top:0;z-index:2}.fd-menu__sublist:after,.fd-menu__sublist:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__sublist[dir=rtl],[dir=rtl] .fd-menu__sublist{left:auto;right:100%}.fd-menu__sublist[aria-hidden=true]{display:none}.fd-menu__list>.fd-menu__item{position:relative;width:100%}.fd-menu__list--overflow{-ms-flex-wrap:nowrap;flex-wrap:nowrap;overflow-y:scroll;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-menu__list--overflow.is-focus,.fd-menu__list--overflow:focus{outline:none;z-index:5}.fd-menu__list--overflow::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-menu__list--overflow::-webkit-scrollbar-corner,.fd-menu__list--overflow::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-menu__list--overflow::-webkit-scrollbar-thumb{background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-menu__list--overflow::-webkit-scrollbar-thumb:active,.fd-menu__list--overflow::-webkit-scrollbar-thumb:hover{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-menu__list--overflow::-webkit-scrollbar-corner,.fd-menu__list--overflow::-webkit-scrollbar-track{border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}.fd-menu__list--overflow[dir=rtl]::-webkit-scrollbar-corner,.fd-menu__list--overflow[dir=rtl]::-webkit-scrollbar-track,[dir=rtl] .fd-menu__list--overflow::-webkit-scrollbar-corner,[dir=rtl] .fd-menu__list--overflow::-webkit-scrollbar-track{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fd-menu__separator{background-color:var(--sapGroup_ContentBorderColor);border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:.0625rem;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;width:100%}.fd-menu__separator:after,.fd-menu__separator:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__item{background-color:var(--sapList_Background);border:0;border-radius:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;max-width:100%;padding-block:0;padding-inline:0;position:relative}.fd-menu__item:after,.fd-menu__item:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__item:first-child,.fd-menu__item:first-child .fd-menu__link:after{border-top-left-radius:var(--fdButton_Menu_Border_Radius);border-top-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu__item:last-of-type,.fd-menu__item:last-of-type .fd-menu__link:after{border-bottom-left-radius:var(--fdButton_Menu_Border_Radius);border-bottom-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu__item.has-separator{border-bottom:.0625rem solid var(--sapGroup_ContentBorderColor)}.fd-menu__link{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:var(--fdMenu_Item_Background_Color);border-bottom:.0625rem solid var(--fdMenu_Item_Border_Bottom_Color);border-radius:inherit;height:var(--fdMenu_Link_Height);outline:none;padding-inline:var(--fdMenu_Item_Spacing_Left) var(--fdMenu_Item_Spacing_Right);text-decoration:none;width:100%}.fd-menu__link:after,.fd-menu__link:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__link.is-focus:after,.fd-menu__link:focus:after{border-color:var(--sapContent_FocusColor);border-radius:0!important;border-style:var(--sapContent_FocusStyle);border-width:var(--sapContent_FocusWidth);content:\\\"\\\";inset:.125rem;pointer-events:none;position:absolute}.fd-menu__link.is-hover,.fd-menu__link:hover{--fdMenu_Item_Background_Color:var(--sapList_Hover_Background)}.fd-menu__link.is-selected,.fd-menu__link[aria-selected=true]{--fdMenu_Item_Background_Color:var(--sapList_SelectionBackgroundColor);--fdMenu_Icon_Color:var(--sapContent_NonInteractiveIconColor);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Selected);--fdMenu_Text_Color:var(--sapList_TextColor);--fdMenu_Item_Border_Bottom_Color:var(--sapList_SelectionBorderColor)}.fd-menu__link.is-selected.is-hover:not(:active,.is-active),.fd-menu__link.is-selected:hover:not(:active,.is-active),.fd-menu__link[aria-selected=true].is-hover:not(:active,.is-active),.fd-menu__link[aria-selected=true]:hover:not(:active,.is-active){--fdMenu_Item_Background_Color:var(--sapList_Hover_SelectionBackground);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Selected_Hover)}.fd-menu__link.is-selected.is-focus,.fd-menu__link.is-selected:focus,.fd-menu__link[aria-selected=true].is-focus,.fd-menu__link[aria-selected=true]:focus{z-index:5}.fd-menu__link.is-selected.is-focus:after,.fd-menu__link.is-selected:focus:after,.fd-menu__link[aria-selected=true].is-focus:after,.fd-menu__link[aria-selected=true]:focus:after{bottom:.125rem}.fd-menu__link.is-active,.fd-menu__link:active{--fdMenu_Item_Background_Color:var(--sapList_Active_Background);--fdMenu_Icon_Color:var(--sapList_Active_TextColor);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Active);--fdMenu_Text_Color:var(--fdMenu_Text_Color_Active)}.fd-menu__link.is-active:after,.fd-menu__link:active:after{display:none}.fd-menu__link.is-active.is-focus,.fd-menu__link.is-active:focus,.fd-menu__link:active.is-focus,.fd-menu__link:active:focus{outline-color:var(--fdMenu_Active_State_Focus);z-index:5}.fd-menu__link.is-disabled,.fd-menu__link:disabled,.fd-menu__link[aria-disabled=true]{opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-menu__link.is-disabled.is-focus,.fd-menu__link.is-disabled:focus,.fd-menu__link:disabled.is-focus,.fd-menu__link:disabled:focus,.fd-menu__link[aria-disabled=true].is-focus,.fd-menu__link[aria-disabled=true]:focus{z-index:5}.fd-menu__link.is-disabled.is-focus:after,.fd-menu__link.is-disabled:focus:after,.fd-menu__link:disabled.is-focus:after,.fd-menu__link:disabled:focus:after,.fd-menu__link[aria-disabled=true].is-focus:after,.fd-menu__link[aria-disabled=true]:focus:after{display:none}.fd-menu__link.has-child{--fdMenu_Item_Spacing_Right:0}.fd-menu__link.has-child.is-expanded:not(:active,.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active){--fdMenu_Item_Background_Color:var(--sapList_SelectionBackgroundColor);--fdMenu_Icon_Color:var(--sapContent_NonInteractiveIconColor);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Selected);--fdMenu_Text_Color:var(--sapList_TextColor);--fdMenu_Item_Border_Bottom_Color:var(--sapList_SelectionBorderColor)}.fd-menu__link.has-child.is-expanded:not(:active,.is-active).is-hover:not(:active,.is-active),.fd-menu__link.has-child.is-expanded:not(:active,.is-active):hover:not(:active,.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active).is-hover:not(:active,.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active):hover:not(:active,.is-active){--fdMenu_Item_Background_Color:var(--sapList_Hover_SelectionBackground);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Selected_Hover)}.fd-menu__link.has-child.is-expanded:not(:active,.is-active).is-focus,.fd-menu__link.has-child.is-expanded:not(:active,.is-active):focus,.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active).is-focus,.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active):focus{z-index:5}.fd-menu__link.has-child.is-expanded:not(:active,.is-active).is-focus:after,.fd-menu__link.has-child.is-expanded:not(:active,.is-active):focus:after,.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active).is-focus:after,.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active):focus:after{bottom:.125rem}.fd-menu__title{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--fdMenu_Text_Color);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;overflow:hidden;padding-block:0;padding-inline:0;text-align:left;text-overflow:ellipsis;text-shadow:var(--fdMenu_Text_Shadow);white-space:nowrap;width:100%}.fd-menu__title:after,.fd-menu__title:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__title[dir=rtl],[dir=rtl] .fd-menu__title{text-align:right}.fd-menu__title:has(+.fd-menu__input){min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.fd-menu__addon-after,.fd-menu__addon-before{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:transparent;color:var(--fdMenu_Icon_Color);font-size:var(--sapFontLargeSize);height:100%;max-width:var(--fdMenu_Icon_Width);min-width:var(--fdMenu_Icon_Width);text-shadow:var(--fdMenu_Text_Shadow);width:var(--fdMenu_Icon_Width)}.fd-menu__addon-after:after,.fd-menu__addon-after:before,.fd-menu__addon-before:after,.fd-menu__addon-before:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__addon-after [class*=sap-icon],.fd-menu__addon-after[class*=sap-icon],.fd-menu__addon-before [class*=sap-icon],.fd-menu__addon-before[class*=sap-icon]{background:inherit;border-radius:inherit;color:inherit;font-size:inherit;line-height:1}.fd-menu__addon-after--submenu{font-size:var(--fdMenu_Affordance_Arrow_Size)}.fd-menu__addon-after--submenu:before{content:\\\"\\\\e066\\\"}.fd-menu__addon-after--submenu:before,.fd-menu__addon-after--submenu[dir=rtl]:before,[dir=rtl] .fd-menu__addon-after--submenu:before{font-family:SAP-icons;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-menu__addon-after--submenu[dir=rtl]:before,[dir=rtl] .fd-menu__addon-after--submenu:before{content:\\\"\\\\e067\\\"}.fd-menu__active-dot{background:var(--sapContent_Selected_ForegroundColor);border:0;border-radius:100%;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--fdMenu_Active_Dot_Size);line-height:normal;margin-block:0;margin-inline:0;min-width:var(--fdMenu_Active_Dot_Size);padding-block:0;padding-inline:0;width:var(--fdMenu_Active_Dot_Size)}.fd-menu__active-dot:after,.fd-menu__active-dot:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__checkmark [class*=sap-icon],.fd-menu__checkmark[class*=sap-icon]{background:inherit;border-radius:inherit;color:inherit;color:var(--sapContent_Selected_ForegroundColor);font-size:inherit;font-size:1rem;line-height:1}.fd-menu__shortcut{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;overflow:hidden;padding-block:0;padding-inline:0;text-overflow:ellipsis;white-space:nowrap;-ms-flex-negative:0;color:var(--fdMenu_Shortcut_Color);flex-shrink:0;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;-webkit-padding-start:var(--fdMenu_Shortcut_Padding_Left);padding-inline-start:var(--fdMenu_Shortcut_Padding_Left)}.fd-menu__shortcut:after,.fd-menu__shortcut:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__shortcut:last-child{padding-inline:var(--fdMenu_Shortcut_Padding_Left) var(--fdMenu_Shortcut_Padding_Right)}.fd-menu--overflow{border-radius:var(--fdButton_Menu_Border_Radius);-webkit-box-shadow:var(--sapContent_Shadow1);box-shadow:var(--sapContent_Shadow1);overflow-y:scroll;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-menu--overflow.is-focus,.fd-menu--overflow:focus{outline:none;z-index:5}.fd-menu--overflow::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-menu--overflow::-webkit-scrollbar-corner,.fd-menu--overflow::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-menu--overflow::-webkit-scrollbar-thumb{background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-menu--overflow::-webkit-scrollbar-thumb:active,.fd-menu--overflow::-webkit-scrollbar-thumb:hover{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-menu--overflow::-webkit-scrollbar-corner,.fd-menu--overflow::-webkit-scrollbar-track{border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}.fd-menu--overflow[dir=rtl]::-webkit-scrollbar-corner,.fd-menu--overflow[dir=rtl]::-webkit-scrollbar-track,[dir=rtl] .fd-menu--overflow::-webkit-scrollbar-corner,[dir=rtl] .fd-menu--overflow::-webkit-scrollbar-track{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fd-menu--overflow .fd-menu__list{-webkit-box-shadow:none;box-shadow:none}.fd-menu--overflow .fd-menu__item:first-child{border-top-right-radius:0}.fd-menu--overflow .fd-menu__item:first-child[dir=rtl],[dir=rtl] .fd-menu--overflow .fd-menu__item:first-child{border-top-left-radius:0;border-top-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu--overflow .fd-menu__item:last-of-type{border-bottom-right-radius:0}.fd-menu--overflow .fd-menu__item:last-of-type[dir=rtl],[dir=rtl] .fd-menu--overflow .fd-menu__item:last-of-type{border-bottom-left-radius:0;border-bottom-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu--full-width{max-width:100%}.fd-menu--icons{--fdMenu_Item_Spacing_Left:0;--fdMenu_Item_Spacing_Right:0}.fd-menu--icons .fd-menu__title:first-child{-webkit-margin-start:var(--fdMenu_Icon_Width);margin-inline-start:var(--fdMenu_Icon_Width)}.fd-menu--icons .fd-menu__title:last-child{-webkit-margin-end:var(--fdMenu_Text_Spacing_Right);margin-inline-end:var(--fdMenu_Text_Spacing_Right)}.fd-menu--icons .fd-menu__title:only-child{margin-inline:var(--fdMenu_Icon_Width) var(--fdMenu_Text_Spacing_Right)}.fd-menu--icons .fd-menu__sublist{--fdMenu_Item_Spacing_Left:1rem;--fdMenu_Item_Spacing_Right:1rem}.fd-menu--icons .fd-menu__sublist .fd-menu__title:first-child{-webkit-margin-start:0;margin-inline-start:0}.fd-menu--icons .fd-menu__sublist .fd-menu__title:last-child{-webkit-margin-end:0;margin-inline-end:0}.fd-menu--icons .fd-menu__sublist .fd-menu__title:only-child{margin-inline:0}.fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons{--fdMenu_Item_Spacing_Left:0;--fdMenu_Item_Spacing_Right:0}.fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons .fd-menu__title:first-child{-webkit-margin-start:var(--fdMenu_Icon_Width);margin-inline-start:var(--fdMenu_Icon_Width)}.fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons .fd-menu__title:last-child{-webkit-margin-end:var(--fdMenu_Text_Spacing_Right);margin-inline-end:var(--fdMenu_Text_Spacing_Right)}.fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons .fd-menu__title:only-child{margin-inline:var(--fdMenu_Icon_Width) var(--fdMenu_Text_Spacing_Right)}.fd-menu--icons .fd-menu__input,.fd-menu--icons input{margin-inline:var(--fdMenu_Text_Spacing_Right) var(--fdMenu_Text_Spacing_Right)}.fd-menu--mobile{max-width:100%;width:100%;--fdMenu_Icon_Width:2.75rem;--fdMenu_Item_Spacing_Left:1rem;--fdMenu_Item_Spacing_Right:1rem;--fdMenu_Shortcut_Padding_Right:1rem;--fdMenu_Text_Spacing_Right:1rem}.fd-menu--mobile .fd-menu__list,.fd-menu--mobile .fd-menu__sublist{border-radius:0;-webkit-box-shadow:none;box-shadow:none;margin-block:0;margin-inline:0;position:static}.fd-menu--mobile .fd-menu__list .fd-menu__item,.fd-menu--mobile .fd-menu__sublist .fd-menu__item{border-radius:0}.fd-menu--mobile.fd-menu--icons{--fdMenu_Item_Spacing_Left:0;--fdMenu_Item_Spacing_Right:0}.fd-menu--mobile.fd-menu--icons .fd-menu__input,.fd-menu--mobile.fd-menu--icons input{margin-inline:1rem}.fd-menu[class*=-compact],.fd-menu[class*=-condensed],[class*=-compact] .fd-menu:not([class*=-cozy]),[class*=-condensed] .fd-menu:not([class*=-cozy]){--fdMenu_Icon_Width:2rem;--fdMenu_Link_Height:2rem;--fdMenu_Item_Spacing_Left:.5rem;--fdMenu_Item_Spacing_Right:.5rem;--fdMenu_Shortcut_Padding_Right:.5rem;--fdMenu_Text_Spacing_Right:.5rem}.fd-menu[class*=-compact].fd-menu--icons,.fd-menu[class*=-condensed].fd-menu--icons,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons,[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons{--fdMenu_Item_Spacing_Left:0;--fdMenu_Item_Spacing_Right:0}.fd-menu[class*=-compact].fd-menu--icons .fd-menu__input,.fd-menu[class*=-compact].fd-menu--icons input,.fd-menu[class*=-condensed].fd-menu--icons .fd-menu__input,.fd-menu[class*=-condensed].fd-menu--icons input,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__input,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons input,[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__input,[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons input{margin-inline:.5rem}.fd-menu[class*=-compact].fd-menu--icons .fd-menu__sublist,.fd-menu[class*=-condensed].fd-menu--icons .fd-menu__sublist,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__sublist,[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__sublist{--fdMenu_Item_Spacing_Left:.5rem;--fdMenu_Item_Spacing_Right:.5rem}.fd-menu[class*=-compact].fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons,.fd-menu[class*=-condensed].fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons,[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons{--fdMenu_Item_Spacing_Left:0;--fdMenu_Item_Spacing_Right:0}.fd-user-menu{background:var(--sapGroup_ContentBackground)}.fd-user-menu .fd-user-menu__title-bar{--fdBar_Shadow: none}.fd-user-menu .fd-panel__header:has(.fd-panel__button[aria-expanded=false]){--fdPanel_Header_Border_Bottom_Left_Radius: 0;--fdPanel_Header_Border_Bottom_Right_Radius: 0}.fd-user-menu .fd-user-menu__popover-wrapper{overflow:visible;width:20rem;min-width:20rem}.fd-user-menu__body{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:.5rem;overflow:visible;min-width:18rem;max-width:20rem;position:relative;padding-inline:.5rem;padding-block:2.5rem .5rem}.fd-user-menu__body:before,.fd-user-menu__body:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-user-menu__header{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:.5rem;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.fd-user-menu__header:before,.fd-user-menu__header:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-user-menu__header-container,.fd-user-menu__subheader{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:.25rem;-webkit-box-align:center;-ms-flex-align:center;align-items:center;max-width:100%;text-align:center;-webkit-margin-after:.5rem;margin-block-end:.5rem}.fd-user-menu__header-container:before,.fd-user-menu__header-container:after,.fd-user-menu__subheader:before,.fd-user-menu__subheader:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-user-menu__user-name{font-size:var(--sapFontSize);line-height:normal;font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;max-width:100%;line-height:1.4rem;white-space:normal;color:var(--sapTextColor);font-size:var(--sapFontLargeSize);font-family:var(--sapFontSemiboldDuplexFamily)}.fd-user-menu__user-name:before,.fd-user-menu__user-name:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-user-menu__user-name--truncate{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal;text-overflow:ellipsis;max-height:2.8rem}.fd-user-menu__user-info,.fd-user-menu__user-role,.fd-user-menu__subline{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;width:100%;max-width:100%;white-space:normal;color:var(--sapContent_LabelColor);word-wrap:break-word;overflow-wrap:break-word}.fd-user-menu__user-info:before,.fd-user-menu__user-info:after,.fd-user-menu__user-role:before,.fd-user-menu__user-role:after,.fd-user-menu__subline:before,.fd-user-menu__subline:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-user-menu__user-info--truncate,.fd-user-menu__user-role--truncate,.fd-user-menu__subline--truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fd-user-menu .fd-user-menu__menu{width:100%}.fd-user-menu .fd-user-menu__menu-list{-webkit-box-shadow:none;box-shadow:none;border-radius:0}.fd-user-menu .fd-user-menu__menu-list>*:first-child,.fd-user-menu .fd-user-menu__menu-list>*:last-child{border-radius:0}.fd-user-menu .fd-user-menu__menu-list.fd-user-menu__menu-list{-webkit-box-shadow:none;box-shadow:none;border-radius:0}.fd-user-menu .fd-user-menu__menu-list.fd-user-menu__menu-list>*:first-child,.fd-user-menu .fd-user-menu__menu-list.fd-user-menu__menu-list>*:last-child{border-radius:0}.fd-user-menu .fd-user-menu__panel>div{border-radius:0}.fd-user-menu__content-container{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;--fdPanel_Margin_Bottom: .25rem}.fd-user-menu__content-container:before,.fd-user-menu__content-container:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}[class*=-condensed] .fd-user-menu .fd-menu:not([class*=-cozy]),[class*=-compact] .fd-user-menu .fd-menu:not([class*=-cozy]),.fd-user-menu .fd-menu[class*=-condensed],.fd-user-menu .fd-menu[class*=-compact]{--fdMenu_Icon_Width: 2.5rem;--fdMenu_Link_Height: 2.5rem;--fdMenu_Item_Spacing_Left: .75rem;--fdMenu_Item_Spacing_Right: .75rem}.fd-user-menu--mobile{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:100%;-webkit-padding-before:0;padding-block-start:0}.fd-user-menu--mobile .fd-user-menu__body{-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-padding-before:1rem;padding-block-start:1rem}.fd-user-menu--tool-header .fd-user-menu__user-name{font-family:var(--sapFontBlackFamily);font-size:1.25rem;line-height:1.3;color:var(-\\\\2013sapTitleColor)}.fd-user-menu--tool-header .fd-user-menu__navigation-submenu{top:-.5rem;border:none;padding-block:.5rem;padding-inline:.5rem;border-radius:.5rem;-webkit-margin-end:.3875rem;margin-inline-end:.3875rem;-webkit-box-shadow:var(--sapMenu_Shadow1);box-shadow:var(--sapMenu_Shadow1);background:var(--sapGroup_ContentBackground)}.fd-user-menu--tool-header .fd-user-menu__navigation-submenu-wrapper{overflow:visible}.fd-user-menu--tool-header .fd-user-menu__user-role{font-family:var(--sapFontFamily);font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(\\\\2013sapContent_LabelColor)}.fd-user-menu--tool-header .fd-user-menu__body{overflow:visible}.fd-user-menu--tool-header .fd-user-menu__body:has(.fd-user-menu__navigation-menu:first-child){padding-block:0}.fd-user-menu--tool-header .fd-user-menu__popover-body{border:none;padding-block:.75rem;padding-inline:0;border-radius:.75rem;-webkit-box-shadow:var(--sapMenu_Shadow2);box-shadow:var(--sapMenu_Shadow2);background:var(--sapGroup_ContentBackground)}.fd-user-menu--tool-header .fd-user-menu__footer{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding-block:.75rem;padding-inline:1.125rem}.fd-user-menu--tool-header .fd-user-menu__footer:before,.fd-user-menu--tool-header .fd-user-menu__footer:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-user-menu--tool-header .fd-navigation__item.fd-navigation__item--title{--fdNavigation_Item_Title_Display: flex;-webkit-margin-after:1rem;margin-block-end:1rem}.fd-user-menu__body .fd-list--subline .fd-list__item{height:auto}.fd-user-menu__body .fd-list--subline .fd-list__title{width:100%;max-width:100%;font-style:normal;line-height:normal;white-space:normal;font-size:var(--sapFontSize);color:var(--sapList_TextColor);font-family:var(--sapFontSemiboldDuplexFamily)}.fd-user-menu__body .fd-list--subline .fd-list__title--truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fd-user-menu__body .fd-list--subline .fd-list__subline{color:var(--sapTextColor);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;width:100%;max-width:100%;word-wrap:break-word;overflow-wrap:break-word;font-style:normal;line-height:normal;white-space:normal;font-size:var(--sapFontSize);font-family:var(--sapFontFamily);color:var(--sapContent_LabelColor)}.fd-user-menu__body .fd-list--subline .fd-list__subline--truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fd-user-menu{background:transparent}.fd-user-menu__menu.fd-menu{width:100%;margin-block-start:.25rem}.fd-menu__list.fd-user-menu__menu-list>.fd-menu__item{position:unset;width:100%}.fd-dialog__body .fd-user-menu__body{min-width:100%;max-width:100%;min-height:100%;max-height:100%}.fd-dialog__body .fd-user-menu__body .fd-menu__list.fd-user-menu__menu-list{min-width:100%}.fd-user-menu__details-view .fd-menu.fd-user-menu__menu{padding:1rem}.fd-user-menu__main-view-bar.fd-bar{box-shadow:none}.fd-menu__link{position:relative}.fd-menu__item:is(:focus,:focus-within,:focus-visible){outline:none}fd-user-menu-control{display:flex;width:fit-content;height:fit-content;align-items:center;border-radius:50rem;justify-content:center}fd-user-menu-control:is(:focus){outline-offset:.0625rem;outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor)}.fd-user-menu__menu-list.fd-user-menu__menu-list{box-shadow:none;border-radius:0}.fd-user-menu__menu-list.fd-user-menu__menu-list>*:first-child,.fd-user-menu__menu-list.fd-user-menu__menu-list>*:last-child{border-radius:0}.fd-user-menu__body{position:relative;width:20rem;min-width:20rem;max-width:20rem}.fd-user-menu__body:has(.fd-user-menu__details-view){padding:0}.fd-user-menu__header-container{max-width:100%}.fd-user-menu .fd-popover__body>.fd-scrollbar{width:20rem;min-width:20rem;max-width:20rem}.fd-user-menu__scroll-header{width:20rem;min-width:20rem;max-width:20rem;position:absolute;top:0;z-index:10;overflow:hidden;border-top-left-radius:var(--fdPopover_Border_Radius);border-top-right-radius:var(--fdPopover_Border_Radius);background:var(--sapPageHeader_Background);transition:all .15s ease}.fd-user-menu__scroll-header.hidden{opacity:0;pointer-events:none}.fd-user-menu__scroll-header-element{transition:all .15s ease}.fd-user-menu__scroll-header-element.hidden{opacity:0;pointer-events:none}.fd-user-menu__footer .fd-bar.fd-bar--footer{position:sticky;bottom:0}.fd-user-menu__popover-wrapper{overflow:auto;display:flex;flex-direction:column;overscroll-behavior:contain;scroll-behavior:smooth;overflow-anchor:none}.fd-user-menu__body{overflow:auto;flex:1}.fd-user-menu__footer{min-height:2rem}\\n/*! Bundled license information:\\n\\nfundamental-styles/dist/menu.css:\\n (*!\\n * Fundamental Library Styles v0.40.1\\n * Copyright (c) 2025 SAP SE or an SAP affiliate company.\\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\\n *)\\n*/\\n\"] }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS91c2VyLW1lbnUvdXNlci1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS91c2VyLW1lbnUvdXNlci1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBRUgsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixlQUFlLEVBQ2YsVUFBVSxFQUNWLE1BQU0sRUFDTixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNULE1BQU0sRUFFTixpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM1RyxPQUFPLEVBQ0gsbUJBQW1CLEVBQ25CLGVBQWUsRUFDZixxQkFBcUIsRUFDckIscUJBQXFCLEVBRXJCLGFBQWEsRUFDaEIsTUFBTSw4QkFBOEIsQ0FBQztBQUV0QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsZ0JBQWdCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVoSCxPQUFPLEVBQUUsWUFBWSxFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFbEcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDOUUs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QUFtQjt3QkFDbkIscUJBQXFCO3dCQUNyQixxQkFBcUI7d0JBQ3JCLGlCQUFpQjtxQkFDcEIsYUFDVSxDQUFDLHNCQUFzQixFQUFFLCtCQUErQixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIGNvbnRlbnRDaGlsZCxcbiAgICBjb250ZW50Q2hpbGRyZW4sXG4gICAgRGVzdHJveVJlZixcbiAgICBlZmZlY3QsXG4gICAgRWxlbWVudFJlZixcbiAgICBpbmplY3QsXG4gICAgaW5wdXQsXG4gICAgT25Jbml0LFxuICAgIG91dHB1dCxcbiAgICBSZW5kZXJlcjIsXG4gICAgc2lnbmFsLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBLZXlib2FyZFN1cHBvcnRTZXJ2aWNlLCBSdGxTZXJ2aWNlLCBUZW1wbGF0ZURpcmVjdGl2ZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IENvbnRlbnREZW5zaXR5TW9kZSwgY29udGVudERlbnNpdHlPYnNlcnZlclByb3ZpZGVycyB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9jb250ZW50LWRlbnNpdHknO1xuaW1wb3J0IHtcbiAgICBEaWFsb2dCb2R5Q29tcG9uZW50LFxuICAgIERpYWxvZ0NvbXBvbmVudCxcbiAgICBEaWFsb2dGb290ZXJDb21wb25lbnQsXG4gICAgRGlhbG9nSGVhZGVyQ29tcG9uZW50LFxuICAgIERpYWxvZ1JlZixcbiAgICBEaWFsb2dTZXJ2aWNlXG59IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9kaWFsb2cnO1xuXG5pbXBvcnQgeyBQb3BvdmVyQm9keUNvbXBvbmVudCwgUG9wb3ZlckNvbXBvbmVudCwgUG9wb3ZlckNvbnRyb2xDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvcG9wb3Zlcic7XG5cbmltcG9ydCB7IEJhckNvbXBvbmVudCwgQmFyRWxlbWVudERpcmVjdGl2ZSwgQmFyTWlkZGxlRGlyZWN0aXZlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2Jhcic7XG5cbmltcG9ydCB7IFVzZXJNZW51Qm9keUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy91c2VyLW1lbnUtYm9keS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVXNlck1lbnVDb250cm9sQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3VzZXItbWVudS1jb250cm9sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVc2VyTWVudUxpc3RJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3VzZXItbWVudS1saXN0LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFVzZXJNZW51Q29udHJvbEVsZW1lbnREaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdXNlci1tZW51LWNvbnRyb2wtZWxlbWVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVXNlck1lbnVVc2VyTmFtZURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy91c2VyLW1lbnUtdXNlci1uYW1lLmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmQtdXNlci1tZW51JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdXNlci1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vdXNlci1tZW51LmNvbXBvbmVudC5zY3NzJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdmZC11c2VyLW1lbnUnXG4gICAgfSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgQmFyQ29tcG9uZW50LFxuICAgICAgICBCYXJNaWRkbGVEaXJlY3RpdmUsXG4gICAgICAgIEJhckVsZW1lbnREaXJlY3RpdmUsXG4gICAgICAgIFBvcG92ZXJDb21wb25lbnQsXG4gICAgICAgIFBvcG92ZXJCb2R5Q29tcG9uZW50LFxuICAgICAgICBQb3BvdmVyQ29udHJvbENvbXBvbmVudCxcbiAgICAgICAgRGlhbG9nQ29tcG9uZW50LFxuICAgICAgICBEaWFsb2dCb2R5Q29tcG9uZW50LFxuICAgICAgICBEaWFsb2dGb290ZXJDb21wb25lbnQsXG4gICAgICAgIERpYWxvZ0hlYWRlckNvbXBvbmVudCxcbiAgICAgICAgVGVtcGxhdGVEaXJlY3RpdmVcbiAgICBdLFxuICAgIHByb3ZpZGVyczogW0tleWJvYXJkU3VwcG9ydFNlcnZpY2UsIGNvbnRlbnREZW5zaXR5T2JzZXJ2ZXJQcm92aWRlcnMoKV1cbn0pXG5leHBvcnQgY2xhc3MgVXNlck1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICAgIC8qKiBFdmVudCB0aHJvd24sIHdoZW4gdGhlIHVzZXIgbWVudSBpcyBvcGVuZWQgb3IgY2xvc2VkICovXG4gICAgaXNPcGVuQ2hhbmdlID0gb3V0cHV0PGJvb2xlYW4+KCk7XG5cbiAgICAvKiogV2hldGhlciB0aGUgdXNlciBtZW51IGlzIGluIG1vYmlsZSBtb2RlICovXG4gICAgbW9iaWxlID0gaW5wdXQoZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIHVzZXIgbWVudSBpcyBvcGVuICovXG4gICAgcmVhZG9ubHkgaXNPcGVuID0gc2lnbmFsKGZhbHNlKTtcblxuICAgIC8qKlxuICAgICAqIFNpZ25hbCBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIHVzZXIgbmFtZSBlbGVtZW50IGlzIGN1cnJlbnRseSB2aXNpYmxlXG4gICAgICogd2l0aGluIHRoZSB1c2VyIG1lbnUuIFRoaXMgdXBkYXRlcyBhdXRvbWF0aWNhbGx5IGFzIHRoZSBlbGVtZW50XG4gICAgICogZW50ZXJzIG9yIGxlYXZlcyB0aGUgdmlld3BvcnQuXG4gICAgICpcbiAgICAgKiBVc2VkIGJ5IHRoZSB0ZW1wbGF0ZSB0byBjb25kaXRpb25hbGx5IHJlbmRlciB0aGUgc3RpY2t5IGhlYWRlci5cbiAgICAgKi9cbiAgICByZWFkb25seSBpc1VzZXJOYW1lVmlzaWJsZSA9IHNpZ25hbCh0cnVlKTtcblxuICAgIC8qKlxuICAgICAqIFNpZ25hbCBzdG9yaW5nIHRoZSBIVE1MIGNvbnRlbnQgb2YgdGhlIHVzZXIgbmFtZSBlbGVtZW50LlxuICAgICAqIFdoZW4gdGhlIG9yaWdpbmFsIGVsZW1lbnQgc2Nyb2xscyBvdXQgb2YgdmlldywgdGhpcyBjb250ZW50XG4gICAgICogaXMgZGlzcGxheWVkIGluIHRoZSBzdGlja3kgaGVhZGVyLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IHVzZXJOYW1lQ29udGVudCA9IHNpZ25hbCgnJyk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSB1c2VyTWVudUNvbnRyb2wgPSBjb250ZW50Q2hpbGQoVXNlck1lbnVDb250cm9sQ29tcG9uZW50KTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHVzZXJOYW1lRWwgPSBjb250ZW50Q2hpbGQoVXNlck1lbnVVc2VyTmFtZURpcmVjdGl2ZSwgeyByZWFkOiBFbGVtZW50UmVmIH0pO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdXNlck1lbnVDb250cm9sRWxlbWVudCA9IGNvbnRlbnRDaGlsZChVc2VyTWVudUNvbnRyb2xFbGVtZW50RGlyZWN0aXZlLCB7XG4gICAgICAgIGRlc2NlbmRhbnRzOiB0cnVlLFxuICAgICAgICByZWFkOiBFbGVtZW50UmVmXG4gICAgfSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSB1c2VyTWVudUJvZHkgPSBjb250ZW50Q2hpbGQoVXNlck1lbnVCb2R5Q29tcG9uZW50LCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcm90ZWN0ZWQgbmF2aWdhdGlvbkFycm93JDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9saXN0SXRlbXMgPSBjb250ZW50Q2hpbGRyZW4oVXNlck1lbnVMaXN0SXRlbUNvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcnRsU2VydmljZSA9IGluamVjdChSdGxTZXJ2aWNlKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZGlhbG9nU2VydmljZSA9IGluamVjdChEaWFsb2dTZXJ2aWNlKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0aW9uUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZGlhbG9nUmVmOiBEaWFsb2dSZWYgfCB1bmRlZmluZWQ7XG5cbiAgICBwcml2YXRlIF9kZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGlzTW9iaWxlID0gdGhpcy5tb2JpbGUoKTtcbiAgICAgICAgICAgIHRoaXMuX2xpc3RJdGVtcygpPy5mb3JFYWNoKChpdGVtKSA9PiBpdGVtLm1vYmlsZS5zZXQoaXNNb2JpbGUpKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uYXZpZ2F0aW9uQXJyb3ckID0gdGhpcy5fcnRsU2VydmljZS5ydGwucGlwZShcbiAgICAgICAgICAgIG1hcCgoaXNSdGwpID0+IChpc1J0bCA/ICduYXZpZ2F0aW9uLXJpZ2h0LWFycm93JyA6ICduYXZpZ2F0aW9uLWxlZnQtYXJyb3cnKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaXNNb2JpbGUgPSB0aGlzLm1vYmlsZSgpO1xuICAgICAgICB0aGlzLl9saXN0SXRlbXMoKT8uZm9yRWFjaCgoaXRlbSkgPT4gaXRlbS5tb2JpbGUuc2V0KGlzTW9iaWxlKSk7XG5cbiAgICAgICAgY29uc3QgZWwgPSB0aGlzLnVzZXJOYW1lRWwoKT8ubmF0aXZlRWxlbWVudDtcblxuICAgICAgICBpZiAoIWVsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBsb2dpYyBmb3Igc2hvd2luZy9oaWRpbmcgdGhlIHBvcG92ZXIgaGVhZGVyIHdpdGggdXNlciBuYW1lIG9uIHNjcm9sbFxuICAgICAgICBjb25zdCBpbnRlcnNlY3Rpb25PYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihcbiAgICAgICAgICAgIChlbnRyaWVzKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc1VzZXJOYW1lVmlzaWJsZS5zZXQoZW50cmllc1swXS5pc0ludGVyc2VjdGluZyk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgeyByb290OiBudWxsLCB0aHJlc2hvbGQ6IDAsIHJvb3RNYXJnaW46ICctMjBweCAwcHggMHB4IDBweCcgfVxuICAgICAgICApO1xuXG4gICAgICAgIGludGVyc2VjdGlvbk9ic2VydmVyLm9ic2VydmUoZWwpO1xuXG4gICAgICAgIC8vIEluaXRpYWxpemVcbiAgICAgICAgdGhpcy51c2VyTmFtZUNvbnRlbnQuc2V0KGVsLmlubmVySFRNTC50cmltKCkpO1xuXG4gICAgICAgIC8vIFdhdGNoIGZvciBjaGFuZ2VzIGluIHByb2plY3RlZCBjb250ZW50XG4gICAgICAgIGNvbnN0IG11dGF0aW9uT2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnVzZXJOYW1lQ29udGVudC5zZXQoZWwuaW5uZXJIVE1MLnRyaW0oKSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIG11dGF0aW9uT2JzZXJ2ZXIub2JzZXJ2ZShlbCwge1xuICAgICAgICAgICAgY2hpbGRMaXN0OiB0cnVlLFxuICAgICAgICAgICAgY2hhcmFjdGVyRGF0YTogdHJ1ZSxcbiAgICAgICAgICAgIHN1YnRyZWU6IHRydWVcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fZGVzdHJveVJlZi5vbkRlc3Ryb3koKCkgPT4ge1xuICAgICAgICAgICAgaW50ZXJzZWN0aW9uT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgICAgICAgbXV0YXRpb25PYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBNZXRob2QgdGhhdCBvcGVucyB0aGUgdXNlciBtZW51ICovXG4gICAgb3BlbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc09wZW5DaGFuZ2VIYW5kbGUodHJ1ZSk7XG4gICAgfVxuXG4gICAgLyoqIE1ldGhvZCB0aGF0IGNsb3NlcyB0aGUgdXNlciBtZW51ICovXG4gICAgY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNPcGVuQ2hhbmdlSGFuZGxlKGZhbHNlKTtcblxuICAgICAgICBpZiAodGhpcy5fbGlzdEl0ZW1zKCkubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy5fbGlzdEl0ZW1zKCkuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIGl0ZW0uaXNPcGVuLnNldChmYWxzZSk7XG4gICAgICAgICAgICAgICAgaXRlbS5fZWxlbWVudFJlZj8ubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuZmQtbWVudV9fbGluaycpPy5jbGFzc0xpc3QucmVtb3ZlKCdpcy1hY3RpdmUnKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB0aGlzLl9saXN0SXRlbXMoKVswXT8uX3RhYkluZGV4JC5zZXQoMCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9jbGVhclN1Ym1lbnUoKTtcbiAgICAgICAgdGhpcy5fZGlhbG9nUmVmPy5jbG9zZSgpO1xuICAgIH1cblxuICAgIC8qKiBNZXRob2QgdGhhdCBvcGVucyB0aGUgdXNlciBtZW51IGluIGRpYWxvZyAoZm9yIG1vYmlsZSBtb2RlKSAqL1xuICAgIG9wZW5EaWFsb2coZGlhbG9nVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZGlhbG9nUmVmID0gdGhpcy5fZGlhbG9nU2VydmljZS5vcGVuKGRpYWxvZ1RlbXBsYXRlLCB7XG4gICAgICAgICAgICBtb2JpbGU6IHRydWUsXG4gICAgICAgICAgICB2ZXJ0aWNhbFBhZGRpbmc6IGZhbHNlLFxuICAgICAgICAgICAgaG9yaXpvbnRhbFBhZGRpbmc6IGZhbHNlLFxuICAgICAgICAgICAgYXJpYUxhYmVsbGVkQnk6ICdmZC11c2VyLW1lbnUtaGVhZGVyJyxcbiAgICAgICAgICAgIGFyaWFEZXNjcmliZWRCeTogJ2ZkLXVzZXItbWVudS1ib2R5JyxcbiAgICAgICAgICAgIGNvbnRlbnREZW5zaXR5OiBDb250ZW50RGVuc2l0eU1vZGUuQ09aWVxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCByZWZTdWIgPSB0aGlzLl9kaWFsb2dSZWYuYWZ0ZXJDbG9zZWQuc3Vic2NyaWJlKHtcbiAgICAgICAgICAgIG5leHQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnVzZXJNZW51Q29udHJvbCgpPy5mb2N1cygpO1xuICAgICAgICAgICAgICAgIHJlZlN1Yi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGVycm9yOiAodHlwZSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0eXBlID09PSAnZXNjYXBlJykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9jbGVhclN1Ym1lbnUoKTtcbiAgICAgICAgICAgICAgICAgICAgcmVmU3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGlzT3BlbkNoYW5nZUhhbmRsZShpc09wZW46IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNPcGVuKCkgPT09IGlzT3Blbikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pc09wZW4uc2V0KGlzT3Blbik7XG4gICAgICAgIHRoaXMuaXNPcGVuQ2hhbmdlLmVtaXQoaXNPcGVuKTtcblxuICAgICAgICBpZiAoIWlzT3BlbiAmJiAhdGhpcy5tb2JpbGUoKSkge1xuICAgICAgICAgICAgdGhpcy51c2VyTWVudUNvbnRyb2woKT8uZm9jdXMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHVzZXJNZW51Q29udHJvbEVsID0gdGhpcy51c2VyTWVudUNvbnRyb2xFbGVtZW50KCk/Lm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgdGhpcy51c2VyTWVudUNvbnRyb2xFbGVtZW50KCk/Lm5hdGl2ZUVsZW1lbnQgJiZcbiAgICAgICAgICAgIChpc09wZW5cbiAgICAgICAgICAgICAgICA/IHRoaXMuX3JlbmRlcmVyLmFkZENsYXNzKHVzZXJNZW51Q29udHJvbEVsLCAnaXMtYWN0aXZlJylcbiAgICAgICAgICAgICAgICA6IHRoaXMuX3JlbmRlcmVyLnJlbW92ZUNsYXNzKHVzZXJNZW51Q29udHJvbEVsLCAnaXMtYWN0aXZlJykpO1xuXG4gICAgICAgIHRoaXMuX2NoYW5nZURldGVjdGlvblJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9jbGVhclN1Ym1lbnUoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHVzZXJNZW51Qm9keSA9IHRoaXMudXNlck1lbnVCb2R5KCk7XG4gICAgICAgIGlmICh1c2VyTWVudUJvZHkpIHtcbiAgICAgICAgICAgIHVzZXJNZW51Qm9keS5jbGVhclN1Ym1lbnUoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBpZiAoIW1vYmlsZSgpKSB7XG4gICAgPGZkLXBvcG92ZXJcbiAgICAgICAgW2lzT3Blbl09XCJpc09wZW4oKVwiXG4gICAgICAgIChpc09wZW5DaGFuZ2UpPVwiaXNPcGVuQ2hhbmdlSGFuZGxlKCRldmVudClcIlxuICAgICAgICBbZm9jdXNBdXRvQ2FwdHVyZV09XCJ0cnVlXCJcbiAgICAgICAgW3Jlc3RvcmVGb2N1c09uQ2xvc2VdPVwidHJ1ZVwiXG4gICAgICAgIFtmb2N1c1RyYXBwZWRdPVwidHJ1ZVwiXG4gICAgICAgIFtkaXNhYmxlU2Nyb2xsYmFyXT1cInRydWVcIlxuICAgID5cbiAgICAgICAgPGZkLXBvcG92ZXItY29udHJvbD5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250cm9sXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZmQtcG9wb3Zlci1jb250cm9sPlxuICAgICAgICA8ZmQtcG9wb3Zlci1ib2R5IGZkLXVzZXItbWVudS1wb3BvdmVyLWNvbnRyb2w+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmQtdXNlci1tZW51X19wb3BvdmVyLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGZkLXBvcG92ZXItYm9keS1oZWFkZXJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmZC11c2VyLW1lbnVfX3Njcm9sbC1oZWFkZXJcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuaGlkZGVuXT1cImlzVXNlck5hbWVWaXNpYmxlKClcIlxuICAgICAgICAgICAgICAgICAgICByb2xlPVwicHJlc2VudGF0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJoZWFkZXJcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJib2R5XCI+PC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGZkLXBvcG92ZXItYm9keS1mb290ZXI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmb290ZXJcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2ZkLXBvcG92ZXItYm9keT5cbiAgICA8L2ZkLXBvcG92ZXI+XG59IEBlbHNlIHtcbiAgICA8c3BhbiAoY2xpY2spPVwib3BlbkRpYWxvZyhkaWFsb2dUZW1wbGF0ZSlcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRyb2xcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L3NwYW4+XG5cbiAgICA8bmctdGVtcGxhdGUgW2ZkRGlhbG9nVGVtcGxhdGVdIGxldC1kaWFsb2cgbGV0LWRpYWxvZ0NvbmZpZz1cImRpYWxvZ0NvbmZpZ1wiICNkaWFsb2dUZW1wbGF0ZT5cbiAgICAgICAgPGZkLWRpYWxvZyBbZGlhbG9nQ29uZmlnXT1cImRpYWxvZ0NvbmZpZ1wiIFtkaWFsb2dSZWZdPVwiZGlhbG9nXCI+XG4gICAgICAgICAgICA8ZmQtZGlhbG9nLWhlYWRlcj5cbiAgICAgICAgICAgICAgICBAaWYgKHVzZXJNZW51Qm9keSgpPy5ib2R5SGVhZGVyKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGZka1RlbXBsYXRlPVwiaGVhZGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ1c2VyTWVudUJvZHkoKT8uYm9keUhlYWRlcigpID8/IG51bGw7IGNvbnRleHQ6IHsgZGlhbG9nUmVmOiBkaWFsb2cgfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2ZkLWRpYWxvZy1oZWFkZXI+XG4gICAgICAgICAgICA8ZmQtZGlhbG9nLWJvZHkgc3R5bGU9XCJwYWRkaW5nOiAwXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJvZHlcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZmQtZGlhbG9nLWJvZHk+XG4gICAgICAgICAgICA8ZmQtZGlhbG9nLWZvb3Rlcj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgZmRrVGVtcGxhdGU9XCJjdXN0b21Gb290ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImZvb3RlclwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L2ZkLWRpYWxvZy1mb290ZXI+XG4gICAgICAgIDwvZmQtZGlhbG9nPlxuICAgIDwvbmctdGVtcGxhdGU+XG59XG5cbjxuZy10ZW1wbGF0ZSAjY29udHJvbD5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmZC11c2VyLW1lbnUtY29udHJvbFwiIC8+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2hlYWRlcj5cbiAgICA8ZGl2IGZkLXBvcG92ZXItYm9keS1oZWFkZXI+XG4gICAgICAgIDxkaXYgZmQtYmFyIGJhckRlc2lnbj1cImhlYWRlclwiPlxuICAgICAgICAgICAgPGRpdiBmZC1iYXItbWlkZGxlPlxuICAgICAgICAgICAgICAgIDxmZC1iYXItZWxlbWVudD5cbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmZC11c2VyLW1lbnVfX3VzZXItbmFtZSBmZC11c2VyLW1lbnVfX3VzZXItbmFtZS0tdHJ1bmNhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJ1c2VyTmFtZUNvbnRlbnQoKVwiXG4gICAgICAgICAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2ZkLWJhci1lbGVtZW50PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNib2R5PlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImZkLXVzZXItbWVudS1ib2R5XCIgLz5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZm9vdGVyPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImZkLXVzZXItbWVudS1mb290ZXJcIiAvPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==","import { Directive } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class UserMenuHeaderContainerDirective {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuHeaderContainerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: UserMenuHeaderContainerDirective, isStandalone: true, selector: \"[fd-user-menu-header-container]\", host: { classAttribute: \"fd-user-menu__header-container\" }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuHeaderContainerDirective, decorators: [{\n type: Directive,\n args: [{\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-user-menu-header-container]',\n host: {\n class: 'fd-user-menu__header-container'\n }\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tZW51LWhlYWRlci1jb250YWluZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3VzZXItbWVudS9kaXJlY3RpdmVzL3VzZXItbWVudS1oZWFkZXItY29udGFpbmVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVMxQyxNQUFNLE9BQU8sZ0NBQWdDOzhHQUFoQyxnQ0FBZ0M7a0dBQWhDLGdDQUFnQzs7MkZBQWhDLGdDQUFnQztrQkFQNUMsU0FBUzttQkFBQztvQkFDUCw4REFBOEQ7b0JBQzlELFFBQVEsRUFBRSxpQ0FBaUM7b0JBQzNDLElBQUksRUFBRTt3QkFDRixLQUFLLEVBQUUsZ0NBQWdDO3FCQUMxQztpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnW2ZkLXVzZXItbWVudS1oZWFkZXItY29udGFpbmVyXScsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2ZkLXVzZXItbWVudV9faGVhZGVyLWNvbnRhaW5lcidcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFVzZXJNZW51SGVhZGVyQ29udGFpbmVyRGlyZWN0aXZlIHt9XG4iXX0=","import { Directive } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class UserMenuHeaderDirective {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuHeaderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: UserMenuHeaderDirective, isStandalone: true, selector: \"[fd-user-menu-header]\", host: { classAttribute: \"fd-user-menu__header\" }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuHeaderDirective, decorators: [{\n type: Directive,\n args: [{\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-user-menu-header]',\n host: {\n class: 'fd-user-menu__header'\n }\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tZW51LWhlYWRlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvdXNlci1tZW51L2RpcmVjdGl2ZXMvdXNlci1tZW51LWhlYWRlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFTMUMsTUFBTSxPQUFPLHVCQUF1Qjs4R0FBdkIsdUJBQXVCO2tHQUF2Qix1QkFBdUI7OzJGQUF2Qix1QkFBdUI7a0JBUG5DLFNBQVM7bUJBQUM7b0JBQ1AsOERBQThEO29CQUM5RCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxJQUFJLEVBQUU7d0JBQ0YsS0FBSyxFQUFFLHNCQUFzQjtxQkFDaEM7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ1tmZC11c2VyLW1lbnUtaGVhZGVyXScsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2ZkLXVzZXItbWVudV9faGVhZGVyJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgVXNlck1lbnVIZWFkZXJEaXJlY3RpdmUge31cbiJdfQ==","import { booleanAttribute, Directive, input } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class UserMenuSublineDirective {\n constructor() {\n /** Whether the text should truncate with ellipsis. */\n this.truncate = input(false, ...(ngDevMode ? [{ debugName: \"truncate\", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuSublineDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.1.4\", type: UserMenuSublineDirective, isStandalone: true, selector: \"[fd-user-menu-subline]\", inputs: { truncate: { classPropertyName: \"truncate\", publicName: \"truncate\", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { \"class.fd-user-menu__subline--truncate\": \"truncate()\" }, classAttribute: \"fd-user-menu__subline\" }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuSublineDirective, decorators: [{\n type: Directive,\n args: [{\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-user-menu-subline]',\n host: {\n class: 'fd-user-menu__subline',\n '[class.fd-user-menu__subline--truncate]': 'truncate()'\n }\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tZW51LXN1YmxpbmUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3VzZXItbWVudS9kaXJlY3RpdmVzL3VzZXItbWVudS1zdWJsaW5lLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFVbkUsTUFBTSxPQUFPLHdCQUF3QjtJQVJyQztRQVNJLHNEQUFzRDtRQUN0RCxhQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssNENBQUksU0FBUyxFQUFFLGdCQUFnQixPQUE3QixFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxHQUFDLENBQUM7S0FDNUQ7OEdBSFksd0JBQXdCO2tHQUF4Qix3QkFBd0I7OzJGQUF4Qix3QkFBd0I7a0JBUnBDLFNBQVM7bUJBQUM7b0JBQ1AsOERBQThEO29CQUM5RCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxJQUFJLEVBQUU7d0JBQ0YsS0FBSyxFQUFFLHVCQUF1Qjt3QkFDOUIseUNBQXlDLEVBQUUsWUFBWTtxQkFDMUQ7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBib29sZWFuQXR0cmlidXRlLCBEaXJlY3RpdmUsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdbZmQtdXNlci1tZW51LXN1YmxpbmVdJyxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnZmQtdXNlci1tZW51X19zdWJsaW5lJyxcbiAgICAgICAgJ1tjbGFzcy5mZC11c2VyLW1lbnVfX3N1YmxpbmUtLXRydW5jYXRlXSc6ICd0cnVuY2F0ZSgpJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgVXNlck1lbnVTdWJsaW5lRGlyZWN0aXZlIHtcbiAgICAvKiogV2hldGhlciB0aGUgdGV4dCBzaG91bGQgdHJ1bmNhdGUgd2l0aCBlbGxpcHNpcy4gKi9cbiAgICB0cnVuY2F0ZSA9IGlucHV0KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcbn1cbiJdfQ==","import { NgModule } from '@angular/core';\n// Components\nimport { UserMenuBodyComponent } from './components/user-menu-body.component';\nimport { UserMenuContentContainerComponent } from './components/user-menu-content-container.component';\nimport { UserMenuControlComponent } from './components/user-menu-control.component';\nimport { UserMenuFooterComponent } from './components/user-menu-footer.component';\nimport { UserMenuListItemComponent } from './components/user-menu-list-item.component';\nimport { UserMenuListComponent } from './components/user-menu-list.component';\nimport { UserMenuSublistComponent } from './components/user-menu-sublist.component';\nimport { UserMenuComponent } from './user-menu.component';\n// Directives\nimport { UserMenuControlElementDirective } from './directives/user-menu-control-element.directive';\nimport { UserMenuHeaderContainerDirective } from './directives/user-menu-header-container.directive';\nimport { UserMenuHeaderDirective } from './directives/user-menu-header.directive';\nimport { UserMenuSublineDirective } from './directives/user-menu-subline.directive';\nimport { UserMenuUserNameDirective } from './directives/user-menu-user-name.directive';\nimport * as i0 from \"@angular/core\";\nconst components = [\n UserMenuComponent,\n UserMenuControlComponent,\n UserMenuBodyComponent,\n UserMenuFooterComponent,\n UserMenuListComponent,\n UserMenuSublistComponent,\n UserMenuListItemComponent,\n UserMenuContentContainerComponent,\n UserMenuHeaderDirective,\n UserMenuHeaderContainerDirective,\n UserMenuUserNameDirective,\n UserMenuSublineDirective,\n UserMenuControlElementDirective\n];\n/**\n * @deprecated\n * Use direct imports of components and directives.\n */\nexport class UserMenuModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuModule, imports: [UserMenuComponent,\n UserMenuControlComponent,\n UserMenuBodyComponent,\n UserMenuFooterComponent,\n UserMenuListComponent,\n UserMenuSublistComponent,\n UserMenuListItemComponent,\n UserMenuContentContainerComponent,\n UserMenuHeaderDirective,\n UserMenuHeaderContainerDirective,\n UserMenuUserNameDirective,\n UserMenuSublineDirective,\n UserMenuControlElementDirective], exports: [UserMenuComponent,\n UserMenuControlComponent,\n UserMenuBodyComponent,\n UserMenuFooterComponent,\n UserMenuListComponent,\n UserMenuSublistComponent,\n UserMenuListItemComponent,\n UserMenuContentContainerComponent,\n UserMenuHeaderDirective,\n UserMenuHeaderContainerDirective,\n UserMenuUserNameDirective,\n UserMenuSublineDirective,\n UserMenuControlElementDirective] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuModule, imports: [UserMenuComponent,\n UserMenuBodyComponent,\n UserMenuListItemComponent] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [...components],\n exports: [...components]\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tZW51Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS91c2VyLW1lbnUvdXNlci1tZW51Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLGFBQWE7QUFDYixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUN2RyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNwRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNsRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUN2RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNwRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUxRCxhQUFhO0FBQ2IsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDbkcsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDckcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDcEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNENBQTRDLENBQUM7O0FBRXZGLE1BQU0sVUFBVSxHQUFHO0lBQ2YsaUJBQWlCO0lBQ2pCLHdCQUF3QjtJQUN4QixxQkFBcUI7SUFDckIsdUJBQXVCO0lBQ3ZCLHFCQUFxQjtJQUNyQix3QkFBd0I7SUFDeEIseUJBQXlCO0lBQ3pCLGlDQUFpQztJQUNqQyx1QkFBdUI7SUFDdkIsZ0NBQWdDO0lBQ2hDLHlCQUF5QjtJQUN6Qix3QkFBd0I7SUFDeEIsK0JBQStCO0NBQ2xDLENBQUM7QUFFRjs7O0dBR0c7QUFLSCxNQUFNLE9BQU8sY0FBYzs4R0FBZCxjQUFjOytHQUFkLGNBQWMsWUF2QnZCLGlCQUFpQjtZQUNqQix3QkFBd0I7WUFDeEIscUJBQXFCO1lBQ3JCLHVCQUF1QjtZQUN2QixxQkFBcUI7WUFDckIsd0JBQXdCO1lBQ3hCLHlCQUF5QjtZQUN6QixpQ0FBaUM7WUFDakMsdUJBQXVCO1lBQ3ZCLGdDQUFnQztZQUNoQyx5QkFBeUI7WUFDekIsd0JBQXdCO1lBQ3hCLCtCQUErQixhQVovQixpQkFBaUI7WUFDakIsd0JBQXdCO1lBQ3hCLHFCQUFxQjtZQUNyQix1QkFBdUI7WUFDdkIscUJBQXFCO1lBQ3JCLHdCQUF3QjtZQUN4Qix5QkFBeUI7WUFDekIsaUNBQWlDO1lBQ2pDLHVCQUF1QjtZQUN2QixnQ0FBZ0M7WUFDaEMseUJBQXlCO1lBQ3pCLHdCQUF3QjtZQUN4QiwrQkFBK0I7K0dBV3RCLGNBQWMsWUF2QnZCLGlCQUFpQjtZQUVqQixxQkFBcUI7WUFJckIseUJBQXlCOzsyRkFpQmhCLGNBQWM7a0JBSjFCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUM7b0JBQ3hCLE9BQU8sRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDO2lCQUMzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8vIENvbXBvbmVudHNcbmltcG9ydCB7IFVzZXJNZW51Qm9keUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy91c2VyLW1lbnUtYm9keS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVXNlck1lbnVDb250ZW50Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3VzZXItbWVudS1jb250ZW50LWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVXNlck1lbnVDb250cm9sQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3VzZXItbWVudS1jb250cm9sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVc2VyTWVudUZvb3RlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy91c2VyLW1lbnUtZm9vdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVc2VyTWVudUxpc3RJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3VzZXItbWVudS1saXN0LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFVzZXJNZW51TGlzdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy91c2VyLW1lbnUtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVXNlck1lbnVTdWJsaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3VzZXItbWVudS1zdWJsaXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVc2VyTWVudUNvbXBvbmVudCB9IGZyb20gJy4vdXNlci1tZW51LmNvbXBvbmVudCc7XG5cbi8vIERpcmVjdGl2ZXNcbmltcG9ydCB7IFVzZXJNZW51Q29udHJvbEVsZW1lbnREaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdXNlci1tZW51LWNvbnRyb2wtZWxlbWVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVXNlck1lbnVIZWFkZXJDb250YWluZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdXNlci1tZW51LWhlYWRlci1jb250YWluZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IFVzZXJNZW51SGVhZGVyRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3VzZXItbWVudS1oZWFkZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IFVzZXJNZW51U3VibGluZURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy91c2VyLW1lbnUtc3VibGluZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVXNlck1lbnVVc2VyTmFtZURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy91c2VyLW1lbnUtdXNlci1uYW1lLmRpcmVjdGl2ZSc7XG5cbmNvbnN0IGNvbXBvbmVudHMgPSBbXG4gICAgVXNlck1lbnVDb21wb25lbnQsXG4gICAgVXNlck1lbnVDb250cm9sQ29tcG9uZW50LFxuICAgIFVzZXJNZW51Qm9keUNvbXBvbmVudCxcbiAgICBVc2VyTWVudUZvb3RlckNvbXBvbmVudCxcbiAgICBVc2VyTWVudUxpc3RDb21wb25lbnQsXG4gICAgVXNlck1lbnVTdWJsaXN0Q29tcG9uZW50LFxuICAgIFVzZXJNZW51TGlzdEl0ZW1Db21wb25lbnQsXG4gICAgVXNlck1lbnVDb250ZW50Q29udGFpbmVyQ29tcG9uZW50LFxuICAgIFVzZXJNZW51SGVhZGVyRGlyZWN0aXZlLFxuICAgIFVzZXJNZW51SGVhZGVyQ29udGFpbmVyRGlyZWN0aXZlLFxuICAgIFVzZXJNZW51VXNlck5hbWVEaXJlY3RpdmUsXG4gICAgVXNlck1lbnVTdWJsaW5lRGlyZWN0aXZlLFxuICAgIFVzZXJNZW51Q29udHJvbEVsZW1lbnREaXJlY3RpdmVcbl07XG5cbi8qKlxuICogQGRlcHJlY2F0ZWRcbiAqIFVzZSBkaXJlY3QgaW1wb3J0cyBvZiBjb21wb25lbnRzIGFuZCBkaXJlY3RpdmVzLlxuICovXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFsuLi5jb21wb25lbnRzXSxcbiAgICBleHBvcnRzOiBbLi4uY29tcG9uZW50c11cbn0pXG5leHBvcnQgY2xhc3MgVXNlck1lbnVNb2R1bGUge31cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuZGFtZW50YWwtbmd4LWNvcmUtdXNlci1tZW51LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3VzZXItbWVudS9mdW5kYW1lbnRhbC1uZ3gtY29yZS11c2VyLW1lbnUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":["map"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-core-user-menu.mjs","sources":["../tmp-esm2022/user-menu/directives/user-menu-user-name.directive.js","../tmp-esm2022/user-menu/components/user-menu-list-item.component.js","../tmp-esm2022/user-menu/components/user-menu-body.component.js","../tmp-esm2022/user-menu/components/user-menu-content-container.component.js","../tmp-esm2022/user-menu/components/user-menu-control.component.js","../tmp-esm2022/user-menu/components/user-menu-footer.component.js","../tmp-esm2022/user-menu/components/user-menu-list.component.js","../tmp-esm2022/user-menu/components/user-menu-sublist.component.js","../tmp-esm2022/user-menu/directives/user-menu-control-element.directive.js","../tmp-esm2022/user-menu/user-menu.component.js","../tmp-esm2022/user-menu/directives/user-menu-header-container.directive.js","../tmp-esm2022/user-menu/directives/user-menu-header.directive.js","../tmp-esm2022/user-menu/directives/user-menu-subline.directive.js","../tmp-esm2022/user-menu/user-menu.module.js","../tmp-esm2022/user-menu/fundamental-ngx-core-user-menu.js"],"sourcesContent":["import { booleanAttribute, Directive, input } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class UserMenuUserNameDirective {\n constructor() {\n /** Whether the text should truncate with ellipsis. */\n this.truncate = input(false, ...(ngDevMode ? [{ debugName: \"truncate\", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuUserNameDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.1.4\", type: UserMenuUserNameDirective, isStandalone: true, selector: \"[fd-user-menu-user-name]\", inputs: { truncate: { classPropertyName: \"truncate\", publicName: \"truncate\", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { \"class.fd-user-menu__user-name--truncate\": \"truncate()\" }, classAttribute: \"fd-user-menu__user-name\" }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuUserNameDirective, decorators: [{\n type: Directive,\n args: [{\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-user-menu-user-name]',\n host: {\n class: 'fd-user-menu__user-name',\n '[class.fd-user-menu__user-name--truncate]': 'truncate()'\n }\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tZW51LXVzZXItbmFtZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvdXNlci1tZW51L2RpcmVjdGl2ZXMvdXNlci1tZW51LXVzZXItbmFtZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBVW5FLE1BQU0sT0FBTyx5QkFBeUI7SUFSdEM7UUFTSSxzREFBc0Q7UUFDdEQsYUFBUSxHQUFHLEtBQUssQ0FBQyxLQUFLLDRDQUFJLFNBQVMsRUFBRSxnQkFBZ0IsT0FBN0IsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsR0FBQyxDQUFDO0tBQzVEOzhHQUhZLHlCQUF5QjtrR0FBekIseUJBQXlCOzsyRkFBekIseUJBQXlCO2tCQVJyQyxTQUFTO21CQUFDO29CQUNQLDhEQUE4RDtvQkFDOUQsUUFBUSxFQUFFLDBCQUEwQjtvQkFDcEMsSUFBSSxFQUFFO3dCQUNGLEtBQUssRUFBRSx5QkFBeUI7d0JBQ2hDLDJDQUEyQyxFQUFFLFlBQVk7cUJBQzVEO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYm9vbGVhbkF0dHJpYnV0ZSwgRGlyZWN0aXZlLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnW2ZkLXVzZXItbWVudS11c2VyLW5hbWVdJyxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnZmQtdXNlci1tZW51X191c2VyLW5hbWUnLFxuICAgICAgICAnW2NsYXNzLmZkLXVzZXItbWVudV9fdXNlci1uYW1lLS10cnVuY2F0ZV0nOiAndHJ1bmNhdGUoKSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFVzZXJNZW51VXNlck5hbWVEaXJlY3RpdmUge1xuICAgIC8qKiBXaGV0aGVyIHRoZSB0ZXh0IHNob3VsZCB0cnVuY2F0ZSB3aXRoIGVsbGlwc2lzLiAqL1xuICAgIHRydW5jYXRlID0gaW5wdXQoZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xufVxuIl19","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EventEmitter, HostListener, NgZone, Output, ViewEncapsulation, booleanAttribute, inject, input, signal, viewChild } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { PopoverBodyComponent, PopoverComponent, PopoverControlComponent } from '@fundamental-ngx/core/popover';\nimport { Subject, asyncScheduler, observeOn, startWith, take } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nlet uniqueId = 0;\nlet uniqueTextId = 0;\nexport class UserMenuListItemComponent {\n constructor() {\n /** Event emitter for keyDown event */\n this.keyDown = new EventEmitter();\n /** Event emitter for isOpenChange event that controls the submenu popover body */\n this.isOpenChange = new EventEmitter();\n /** Event emitter for showSubmenu event */\n this.showSubmenu = new EventEmitter();\n /** Event emitter for updateTitle event */\n this.updateTitle = new EventEmitter();\n /** Unique id for the menu list item. Default is provided. */\n this.uniqueId = input(`fd-menu-list-item-${++uniqueId}`, ...(ngDevMode ? [{ debugName: \"uniqueId\" }] : []));\n /** Icon name for the menu list item (optional) */\n this.icon = input(...(ngDevMode ? [undefined, { debugName: \"icon\" }] : []));\n /** Required text for the menu list item */\n this.text = input.required(...(ngDevMode ? [{ debugName: \"text\" }] : []));\n /** Unique id for the title. Default is provided. */\n this.textId = input(`fd-menu-list-item-title-${++uniqueTextId}`, ...(ngDevMode ? [{ debugName: \"textId\" }] : []));\n /** Whether the item has a submenu */\n this.hasSubmenu = input(false, ...(ngDevMode ? [{ debugName: \"hasSubmenu\", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));\n /** Template ref for user menu list item submenu */\n this.submenu = input(null, ...(ngDevMode ? [{ debugName: \"submenu\" }] : []));\n /** Whether the item is selected */\n this.selected = input(false, ...(ngDevMode ? [{ debugName: \"selected\", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));\n /** Whether the item's submenu is open */\n this.isOpen = signal(false, ...(ngDevMode ? [{ debugName: \"isOpen\" }] : []));\n /** Whether the item is in mobile mode */\n this.mobile = signal(false, ...(ngDevMode ? [{ debugName: \"mobile\" }] : []));\n /** Reference to the popover */\n this.popover = viewChild(PopoverComponent, ...(ngDevMode ? [{ debugName: \"popover\" }] : []));\n /** @hidden */\n this.focused = new Subject();\n /** Item's tabindex */\n this._tabIndex$ = signal(null, ...(ngDevMode ? [{ debugName: \"_tabIndex$\" }] : []));\n /** @hidden */\n this._elementRef = inject(ElementRef);\n /** @hidden */\n this._destroyRef = inject(DestroyRef);\n /** @hidden */\n this._zone = inject(NgZone);\n /** @hidden */\n this._changeDetectionRef = inject(ChangeDetectorRef);\n }\n /** @hidden */\n focusHandler() {\n this.focused.next(this);\n }\n /** Handles submenu selection in mobile mode */\n onShowDetailsView() {\n if (this.submenu() && this.mobile()) {\n this.showSubmenu.emit(this.submenu());\n this.updateTitle.emit(this.text());\n }\n }\n /** @hidden Support for KeyboardSupportItemInterface */\n click() {\n const linkElement = this._elementRef.nativeElement.querySelector('.fd-menu__link');\n linkElement.click();\n }\n /** @hidden */\n focus() {\n const linkElement = this._elementRef.nativeElement.querySelector('.fd-menu__link');\n linkElement.focus();\n }\n /** @hidden */\n isOpenChangeHandle(isOpen, popover) {\n const firstTabbableElement = popover.popoverBody._elementRef.nativeElement.querySelector('.fd-menu__link');\n const linkElement = this._elementRef.nativeElement.querySelector('.fd-menu__link');\n if (this.isOpen() === isOpen) {\n return;\n }\n this.isOpen.set(isOpen);\n this.isOpenChange.emit(isOpen);\n this._onZoneStable().subscribe(() => {\n this.isOpen() ? linkElement.classList.add('is-selected') : linkElement.classList.remove('is-selected');\n firstTabbableElement.focus();\n });\n if (!this.isOpen()) {\n linkElement.focus();\n }\n this._changeDetectionRef.detectChanges();\n }\n /** @hidden */\n _onZoneStable() {\n return this._zone.onStable.pipe(startWith(this._zone.isStable), observeOn(asyncScheduler), take(1), takeUntilDestroyed(this._destroyRef));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuListItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.4\", type: UserMenuListItemComponent, isStandalone: true, selector: \"[fd-user-menu-list-item]\", inputs: { uniqueId: { classPropertyName: \"uniqueId\", publicName: \"uniqueId\", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: \"icon\", publicName: \"icon\", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: \"text\", publicName: \"text\", isSignal: true, isRequired: true, transformFunction: null }, textId: { classPropertyName: \"textId\", publicName: \"textId\", isSignal: true, isRequired: false, transformFunction: null }, hasSubmenu: { classPropertyName: \"hasSubmenu\", publicName: \"hasSubmenu\", isSignal: true, isRequired: false, transformFunction: null }, submenu: { classPropertyName: \"submenu\", publicName: \"submenu\", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: \"selected\", publicName: \"selected\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { keyDown: \"keyDown\", isOpenChange: \"isOpenChange\", showSubmenu: \"showSubmenu\", updateTitle: \"updateTitle\" }, host: { attributes: { \"role\": \"none\" }, listeners: { \"focusin\": \"focusHandler()\" }, properties: { \"attr.id\": \"uniqueId()\", \"attr.aria-labelledby\": \"textId()\" }, classAttribute: \"fd-menu__item\" }, viewQueries: [{ propertyName: \"popover\", first: true, predicate: PopoverComponent, descendants: true, isSignal: true }], ngImport: i0, template: \"@if (hasSubmenu()) {\\n @if (mobile()) {\\n <button\\n role=\\\"menuitem\\\"\\n class=\\\"fd-menu__link\\\"\\n [class.is-selected]=\\\"selected()\\\"\\n [tabIndex]=\\\"_tabIndex$()\\\"\\n (click)=\\\"onShowDetailsView()\\\"\\n >\\n @if (icon()) {\\n <span class=\\\"fd-menu__addon-before\\\">\\n <i [class]=\\\"'sap-icon--' + icon()\\\" role=\\\"presentation\\\"></i>\\n </span>\\n }\\n\\n <span class=\\\"fd-menu__title\\\" [id]=\\\"textId()\\\">{{ text() }}</span>\\n <span class=\\\"fd-menu__addon-after fd-menu__addon-after--submenu\\\"></span>\\n </button>\\n } @else {\\n <fd-popover\\n #popover\\n [noArrow]=\\\"true\\\"\\n style=\\\"width: 100%\\\"\\n placement=\\\"left-start\\\"\\n [focusTrapped]=\\\"true\\\"\\n [focusAutoCapture]=\\\"true\\\"\\n [restoreFocusOnClose]=\\\"false\\\"\\n [isOpen]=\\\"isOpen()\\\"\\n (isOpenChange)=\\\"isOpenChangeHandle($event, popover)\\\"\\n >\\n <fd-popover-control>\\n <button\\n role=\\\"menuitem\\\"\\n class=\\\"fd-menu__link fd-menu__link--popover\\\"\\n [class.is-selected]=\\\"selected()\\\"\\n [tabIndex]=\\\"_tabIndex$()\\\"\\n >\\n @if (icon()) {\\n <span class=\\\"fd-menu__addon-before\\\">\\n <i [class]=\\\"'sap-icon--' + icon()\\\" role=\\\"presentation\\\"></i>\\n </span>\\n }\\n\\n <span class=\\\"fd-menu__title\\\" [id]=\\\"textId()\\\">{{ text() }}</span>\\n <span class=\\\"fd-menu__addon-after fd-menu__addon-after--submenu\\\"></span>\\n </button>\\n </fd-popover-control>\\n <fd-popover-body>\\n <ng-container *ngTemplateOutlet=\\\"submenu()\\\"></ng-container>\\n </fd-popover-body>\\n </fd-popover>\\n }\\n} @else {\\n <button role=\\\"menuitem\\\" class=\\\"fd-menu__link\\\" [class.is-selected]=\\\"selected()\\\" [tabIndex]=\\\"_tabIndex$()\\\">\\n @if (icon()) {\\n <span class=\\\"fd-menu__addon-before\\\">\\n <i [class]=\\\"'sap-icon--' + icon()\\\" role=\\\"presentation\\\"></i>\\n </span>\\n }\\n\\n <span class=\\\"fd-menu__title\\\" [id]=\\\"textId()\\\">{{ text() }}</span>\\n </button>\\n}\\n\", dependencies: [{ kind: \"component\", type: PopoverBodyComponent, selector: \"fd-popover-body\", inputs: [\"minWidth\", \"maxWidth\", \"minHeight\", \"maxHeight\"] }, { kind: \"component\", type: PopoverComponent, selector: \"fd-popover\", inputs: [\"title\", \"trigger\", \"fixedPosition\", \"id\", \"mobile\", \"mobileConfig\", \"preventSpaceKeyScroll\"] }, { kind: \"component\", type: PopoverControlComponent, selector: \"fd-popover-control, [fdPopoverControl]\" }, { kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i1.NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuListItemComponent, decorators: [{\n type: Component,\n args: [{ selector: '[fd-user-menu-list-item]', host: {\n class: 'fd-menu__item',\n role: 'none',\n '[attr.id]': 'uniqueId()',\n '[attr.aria-labelledby]': 'textId()'\n }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [PopoverBodyComponent, PopoverComponent, PopoverControlComponent, CommonModule], template: \"@if (hasSubmenu()) {\\n @if (mobile()) {\\n <button\\n role=\\\"menuitem\\\"\\n class=\\\"fd-menu__link\\\"\\n [class.is-selected]=\\\"selected()\\\"\\n [tabIndex]=\\\"_tabIndex$()\\\"\\n (click)=\\\"onShowDetailsView()\\\"\\n >\\n @if (icon()) {\\n <span class=\\\"fd-menu__addon-before\\\">\\n <i [class]=\\\"'sap-icon--' + icon()\\\" role=\\\"presentation\\\"></i>\\n </span>\\n }\\n\\n <span class=\\\"fd-menu__title\\\" [id]=\\\"textId()\\\">{{ text() }}</span>\\n <span class=\\\"fd-menu__addon-after fd-menu__addon-after--submenu\\\"></span>\\n </button>\\n } @else {\\n <fd-popover\\n #popover\\n [noArrow]=\\\"true\\\"\\n style=\\\"width: 100%\\\"\\n placement=\\\"left-start\\\"\\n [focusTrapped]=\\\"true\\\"\\n [focusAutoCapture]=\\\"true\\\"\\n [restoreFocusOnClose]=\\\"false\\\"\\n [isOpen]=\\\"isOpen()\\\"\\n (isOpenChange)=\\\"isOpenChangeHandle($event, popover)\\\"\\n >\\n <fd-popover-control>\\n <button\\n role=\\\"menuitem\\\"\\n class=\\\"fd-menu__link fd-menu__link--popover\\\"\\n [class.is-selected]=\\\"selected()\\\"\\n [tabIndex]=\\\"_tabIndex$()\\\"\\n >\\n @if (icon()) {\\n <span class=\\\"fd-menu__addon-before\\\">\\n <i [class]=\\\"'sap-icon--' + icon()\\\" role=\\\"presentation\\\"></i>\\n </span>\\n }\\n\\n <span class=\\\"fd-menu__title\\\" [id]=\\\"textId()\\\">{{ text() }}</span>\\n <span class=\\\"fd-menu__addon-after fd-menu__addon-after--submenu\\\"></span>\\n </button>\\n </fd-popover-control>\\n <fd-popover-body>\\n <ng-container *ngTemplateOutlet=\\\"submenu()\\\"></ng-container>\\n </fd-popover-body>\\n </fd-popover>\\n }\\n} @else {\\n <button role=\\\"menuitem\\\" class=\\\"fd-menu__link\\\" [class.is-selected]=\\\"selected()\\\" [tabIndex]=\\\"_tabIndex$()\\\">\\n @if (icon()) {\\n <span class=\\\"fd-menu__addon-before\\\">\\n <i [class]=\\\"'sap-icon--' + icon()\\\" role=\\\"presentation\\\"></i>\\n </span>\\n }\\n\\n <span class=\\\"fd-menu__title\\\" [id]=\\\"textId()\\\">{{ text() }}</span>\\n </button>\\n}\\n\" }]\n }], propDecorators: { keyDown: [{\n type: Output\n }], isOpenChange: [{\n type: Output\n }], showSubmenu: [{\n type: Output\n }], updateTitle: [{\n type: Output\n }], focusHandler: [{\n type: HostListener,\n args: ['focusin']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tZW51LWxpc3QtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvdXNlci1tZW51L2NvbXBvbmVudHMvdXNlci1tZW51LWxpc3QtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvdXNlci1tZW51L2NvbXBvbmVudHMvdXNlci1tZW51LWxpc3QtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixVQUFVLEVBQ1YsWUFBWSxFQUNaLFlBQVksRUFDWixNQUFNLEVBQ04sTUFBTSxFQUVOLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRWhFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxnQkFBZ0IsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hILE9BQU8sRUFBYyxPQUFPLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFFdkYsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBQ2pCLElBQUksWUFBWSxHQUFHLENBQUMsQ0FBQztBQWdCckIsTUFBTSxPQUFPLHlCQUF5QjtJQWR0QztRQWVJLHNDQUFzQztRQUV0QyxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUM7UUFFNUMsa0ZBQWtGO1FBRXpFLGlCQUFZLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7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SUFDTixDQUFDOzhHQTVIUSx5QkFBeUI7a0dBQXpCLHlCQUF5QiwreUNBMkNkLGdCQUFnQixnRUNwRnhDLHM1RUErREEsNENEeEJjLG9CQUFvQix3SEFBRSxnQkFBZ0IsK0pBQUUsdUJBQXVCLGtGQUFFLFlBQVk7OzJGQUU5RSx5QkFBeUI7a0JBZHJDLFNBQVM7K0JBRUksMEJBQTBCLFFBRTlCO3dCQUNGLEtBQUssRUFBRSxlQUFlO3dCQUN0QixJQUFJLEVBQUUsTUFBTTt3QkFDWixXQUFXLEVBQUUsWUFBWTt3QkFDekIsd0JBQXdCLEVBQUUsVUFBVTtxQkFDdkMsaUJBQ2MsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxDQUFDLG9CQUFvQixFQUFFLGdCQUFnQixFQUFFLHVCQUF1QixFQUFFLFlBQVksQ0FBQzs4QkFLeEYsT0FBTztzQkFETixNQUFNO2dCQUtFLFlBQVk7c0JBRHBCLE1BQU07Z0JBSUcsV0FBVztzQkFBcEIsTUFBTTtnQkFHRyxXQUFXO3NCQUFwQixNQUFNO2dCQW9EUCxZQUFZO3NCQURYLFlBQVk7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBEZXN0cm95UmVmLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBOZ1pvbmUsXG4gICAgT3V0cHV0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgaW5qZWN0LFxuICAgIGlucHV0LFxuICAgIHNpZ25hbCxcbiAgICB2aWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBLZXlib2FyZFN1cHBvcnRJdGVtSW50ZXJmYWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgUG9wb3ZlckJvZHlDb21wb25lbnQsIFBvcG92ZXJDb21wb25lbnQsIFBvcG92ZXJDb250cm9sQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3BvcG92ZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgYXN5bmNTY2hlZHVsZXIsIG9ic2VydmVPbiwgc3RhcnRXaXRoLCB0YWtlIH0gZnJvbSAncnhqcyc7XG5cbmxldCB1bmlxdWVJZCA9IDA7XG5sZXQgdW5pcXVlVGV4dElkID0gMDtcblxuQENvbXBvbmVudCh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ1tmZC11c2VyLW1lbnUtbGlzdC1pdGVtXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3VzZXItbWVudS1saXN0LWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdmZC1tZW51X19pdGVtJyxcbiAgICAgICAgcm9sZTogJ25vbmUnLFxuICAgICAgICAnW2F0dHIuaWRdJzogJ3VuaXF1ZUlkKCknLFxuICAgICAgICAnW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XSc6ICd0ZXh0SWQoKSdcbiAgICB9LFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaW1wb3J0czogW1BvcG92ZXJCb2R5Q29tcG9uZW50LCBQb3BvdmVyQ29tcG9uZW50LCBQb3BvdmVyQ29udHJvbENvbXBvbmVudCwgQ29tbW9uTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBVc2VyTWVudUxpc3RJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgS2V5Ym9hcmRTdXBwb3J0SXRlbUludGVyZmFjZSB7XG4gICAgLyoqIEV2ZW50IGVtaXR0ZXIgZm9yIGtleURvd24gZXZlbnQgKi9cbiAgICBAT3V0cHV0KClcbiAgICBrZXlEb3duID0gbmV3IEV2ZW50RW1pdHRlcjxLZXlib2FyZEV2ZW50PigpO1xuXG4gICAgLyoqIEV2ZW50IGVtaXR0ZXIgZm9yIGlzT3BlbkNoYW5nZSBldmVudCB0aGF0IGNvbnRyb2xzIHRoZSBzdWJtZW51IHBvcG92ZXIgYm9keSAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGlzT3BlbkNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgLyoqIEV2ZW50IGVtaXR0ZXIgZm9yIHNob3dTdWJtZW51IGV2ZW50ICovXG4gICAgQE91dHB1dCgpIHNob3dTdWJtZW51OiBFdmVudEVtaXR0ZXI8VGVtcGxhdGVSZWY8YW55PiB8IG51bGw+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgLyoqIEV2ZW50IGVtaXR0ZXIgZm9yIHVwZGF0ZVRpdGxlIGV2ZW50ICovXG4gICAgQE91dHB1dCgpIHVwZGF0ZVRpdGxlOiBFdmVudEVtaXR0ZXI8c3RyaW5nIHwgbnVsbD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICAvKiogVW5pcXVlIGlkIGZvciB0aGUgbWVudSBsaXN0IGl0ZW0uIERlZmF1bHQgaXMgcHJvdmlkZWQuICovXG4gICAgdW5pcXVlSWQgPSBpbnB1dChgZmQtbWVudS1saXN0LWl0ZW0tJHsrK3VuaXF1ZUlkfWApO1xuXG4gICAgLyoqIEljb24gbmFtZSBmb3IgdGhlIG1lbnUgbGlzdCBpdGVtIChvcHRpb25hbCkgKi9cbiAgICBpY29uID0gaW5wdXQ8c3RyaW5nPigpO1xuXG4gICAgLyoqIFJlcXVpcmVkIHRleHQgZm9yIHRoZSBtZW51IGxpc3QgaXRlbSAqL1xuICAgIHRleHQgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG5cbiAgICAvKiogVW5pcXVlIGlkIGZvciB0aGUgdGl0bGUuIERlZmF1bHQgaXMgcHJvdmlkZWQuICovXG4gICAgdGV4dElkID0gaW5wdXQoYGZkLW1lbnUtbGlzdC1pdGVtLXRpdGxlLSR7Kyt1bmlxdWVUZXh0SWR9YCk7XG5cbiAgICAvKiogV2hldGhlciB0aGUgaXRlbSBoYXMgYSBzdWJtZW51ICovXG4gICAgaGFzU3VibWVudSA9IGlucHV0KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcblxuICAgIC8qKiBUZW1wbGF0ZSByZWYgZm9yIHVzZXIgbWVudSBsaXN0IGl0ZW0gc3VibWVudSAqL1xuICAgIHN1Ym1lbnUgPSBpbnB1dDxUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbD4obnVsbCk7XG5cbiAgICAvKiogV2hldGhlciB0aGUgaXRlbSBpcyBzZWxlY3RlZCAqL1xuICAgIHNlbGVjdGVkID0gaW5wdXQoZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIGl0ZW0ncyBzdWJtZW51IGlzIG9wZW4gKi9cbiAgICBpc09wZW4gPSBzaWduYWwoZmFsc2UpO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIGl0ZW0gaXMgaW4gbW9iaWxlIG1vZGUgKi9cbiAgICBtb2JpbGUgPSBzaWduYWwoZmFsc2UpO1xuXG4gICAgLyoqIFJlZmVyZW5jZSB0byB0aGUgcG9wb3ZlciAqL1xuICAgIHBvcG92ZXIgPSB2aWV3Q2hpbGQoUG9wb3ZlckNvbXBvbmVudCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHJlYWRvbmx5IGZvY3VzZWQgPSBuZXcgU3ViamVjdDxVc2VyTWVudUxpc3RJdGVtQ29tcG9uZW50PigpO1xuXG4gICAgLyoqIEl0ZW0ncyB0YWJpbmRleCAqL1xuICAgIHJlYWRvbmx5IF90YWJJbmRleCQgPSBzaWduYWw8bnVtYmVyIHwgbnVsbD4obnVsbCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHJlYWRvbmx5IF9lbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF96b25lID0gaW5qZWN0KE5nWm9uZSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2NoYW5nZURldGVjdGlvblJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2ZvY3VzaW4nKVxuICAgIGZvY3VzSGFuZGxlcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb2N1c2VkLm5leHQodGhpcyk7XG4gICAgfVxuXG4gICAgLyoqIEhhbmRsZXMgc3VibWVudSBzZWxlY3Rpb24gaW4gbW9iaWxlIG1vZGUgKi9cbiAgICBvblNob3dEZXRhaWxzVmlldygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc3VibWVudSgpICYmIHRoaXMubW9iaWxlKCkpIHtcbiAgICAgICAgICAgIHRoaXMuc2hvd1N1Ym1lbnUuZW1pdCh0aGlzLnN1Ym1lbnUoKSk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVRpdGxlLmVtaXQodGhpcy50ZXh0KCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gU3VwcG9ydCBmb3IgS2V5Ym9hcmRTdXBwb3J0SXRlbUludGVyZmFjZSAqL1xuICAgIGNsaWNrKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBsaW5rRWxlbWVudDogSFRNTEJ1dHRvbkVsZW1lbnQgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmZkLW1lbnVfX2xpbmsnKTtcbiAgICAgICAgbGlua0VsZW1lbnQuY2xpY2soKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGZvY3VzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBsaW5rRWxlbWVudDogSFRNTEJ1dHRvbkVsZW1lbnQgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmZkLW1lbnVfX2xpbmsnKTtcbiAgICAgICAgbGlua0VsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGlzT3BlbkNoYW5nZUhhbmRsZShpc09wZW46IGJvb2xlYW4sIHBvcG92ZXI6IFBvcG92ZXJDb21wb25lbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZmlyc3RUYWJiYWJsZUVsZW1lbnQ6IEhUTUxCdXR0b25FbGVtZW50ID1cbiAgICAgICAgICAgIHBvcG92ZXIucG9wb3ZlckJvZHkuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuZmQtbWVudV9fbGluaycpO1xuXG4gICAgICAgIGNvbnN0IGxpbmtFbGVtZW50OiBIVE1MQnV0dG9uRWxlbWVudCA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuZmQtbWVudV9fbGluaycpO1xuXG4gICAgICAgIGlmICh0aGlzLmlzT3BlbigpID09PSBpc09wZW4pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaXNPcGVuLnNldChpc09wZW4pO1xuXG4gICAgICAgIHRoaXMuaXNPcGVuQ2hhbmdlLmVtaXQoaXNPcGVuKTtcblxuICAgICAgICB0aGlzLl9vblpvbmVTdGFibGUoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pc09wZW4oKSA/IGxpbmtFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2lzLXNlbGVjdGVkJykgOiBsaW5rRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdpcy1zZWxlY3RlZCcpO1xuICAgICAgICAgICAgZmlyc3RUYWJiYWJsZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKCF0aGlzLmlzT3BlbigpKSB7XG4gICAgICAgICAgICBsaW5rRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0aW9uUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX29uWm9uZVN0YWJsZSgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3pvbmUub25TdGFibGUucGlwZShcbiAgICAgICAgICAgIHN0YXJ0V2l0aCh0aGlzLl96b25lLmlzU3RhYmxlKSxcbiAgICAgICAgICAgIG9ic2VydmVPbihhc3luY1NjaGVkdWxlciksXG4gICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpXG4gICAgICAgICk7XG4gICAgfVxufVxuIiwiQGlmIChoYXNTdWJtZW51KCkpIHtcbiAgICBAaWYgKG1vYmlsZSgpKSB7XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHJvbGU9XCJtZW51aXRlbVwiXG4gICAgICAgICAgICBjbGFzcz1cImZkLW1lbnVfX2xpbmtcIlxuICAgICAgICAgICAgW2NsYXNzLmlzLXNlbGVjdGVkXT1cInNlbGVjdGVkKClcIlxuICAgICAgICAgICAgW3RhYkluZGV4XT1cIl90YWJJbmRleCQoKVwiXG4gICAgICAgICAgICAoY2xpY2spPVwib25TaG93RGV0YWlsc1ZpZXcoKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIEBpZiAoaWNvbigpKSB7XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmZC1tZW51X19hZGRvbi1iZWZvcmVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGkgW2NsYXNzXT1cIidzYXAtaWNvbi0tJyArIGljb24oKVwiIHJvbGU9XCJwcmVzZW50YXRpb25cIj48L2k+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZkLW1lbnVfX3RpdGxlXCIgW2lkXT1cInRleHRJZCgpXCI+e3sgdGV4dCgpIH19PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmZC1tZW51X19hZGRvbi1hZnRlciBmZC1tZW51X19hZGRvbi1hZnRlci0tc3VibWVudVwiPjwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIDxmZC1wb3BvdmVyXG4gICAgICAgICAgICAjcG9wb3ZlclxuICAgICAgICAgICAgW25vQXJyb3ddPVwidHJ1ZVwiXG4gICAgICAgICAgICBzdHlsZT1cIndpZHRoOiAxMDAlXCJcbiAgICAgICAgICAgIHBsYWNlbWVudD1cImxlZnQtc3RhcnRcIlxuICAgICAgICAgICAgW2ZvY3VzVHJhcHBlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgIFtmb2N1c0F1dG9DYXB0dXJlXT1cInRydWVcIlxuICAgICAgICAgICAgW3Jlc3RvcmVGb2N1c09uQ2xvc2VdPVwiZmFsc2VcIlxuICAgICAgICAgICAgW2lzT3Blbl09XCJpc09wZW4oKVwiXG4gICAgICAgICAgICAoaXNPcGVuQ2hhbmdlKT1cImlzT3BlbkNoYW5nZUhhbmRsZSgkZXZlbnQsIHBvcG92ZXIpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGZkLXBvcG92ZXItY29udHJvbD5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHJvbGU9XCJtZW51aXRlbVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmQtbWVudV9fbGluayBmZC1tZW51X19saW5rLS1wb3BvdmVyXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmlzLXNlbGVjdGVkXT1cInNlbGVjdGVkKClcIlxuICAgICAgICAgICAgICAgICAgICBbdGFiSW5kZXhdPVwiX3RhYkluZGV4JCgpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoaWNvbigpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZkLW1lbnVfX2FkZG9uLWJlZm9yZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIFtjbGFzc109XCInc2FwLWljb24tLScgKyBpY29uKClcIiByb2xlPVwicHJlc2VudGF0aW9uXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmZC1tZW51X190aXRsZVwiIFtpZF09XCJ0ZXh0SWQoKVwiPnt7IHRleHQoKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmZC1tZW51X19hZGRvbi1hZnRlciBmZC1tZW51X19hZGRvbi1hZnRlci0tc3VibWVudVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZmQtcG9wb3Zlci1jb250cm9sPlxuICAgICAgICAgICAgPGZkLXBvcG92ZXItYm9keT5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic3VibWVudSgpXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2ZkLXBvcG92ZXItYm9keT5cbiAgICAgICAgPC9mZC1wb3BvdmVyPlxuICAgIH1cbn0gQGVsc2Uge1xuICAgIDxidXR0b24gcm9sZT1cIm1lbnVpdGVtXCIgY2xhc3M9XCJmZC1tZW51X19saW5rXCIgW2NsYXNzLmlzLXNlbGVjdGVkXT1cInNlbGVjdGVkKClcIiBbdGFiSW5kZXhdPVwiX3RhYkluZGV4JCgpXCI+XG4gICAgICAgIEBpZiAoaWNvbigpKSB7XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZkLW1lbnVfX2FkZG9uLWJlZm9yZVwiPlxuICAgICAgICAgICAgICAgIDxpIFtjbGFzc109XCInc2FwLWljb24tLScgKyBpY29uKClcIiByb2xlPVwicHJlc2VudGF0aW9uXCI+PC9pPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICB9XG5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJmZC1tZW51X190aXRsZVwiIFtpZF09XCJ0ZXh0SWQoKVwiPnt7IHRleHQoKSB9fTwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbn1cbiJdfQ==","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ContentChildren, DestroyRef, ElementRef, HostListener, QueryList, ViewEncapsulation, contentChild, inject, signal, viewChild } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { InitialFocusDirective, RtlService } from '@fundamental-ngx/cdk/utils';\nimport { BarComponent, BarElementDirective, BarLeftDirective, BarRightDirective, ButtonBarComponent } from '@fundamental-ngx/core/bar';\nimport { contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { TitleComponent } from '@fundamental-ngx/core/title';\nimport { Subject, map, startWith } from 'rxjs';\nimport { UserMenuUserNameDirective } from '../directives/user-menu-user-name.directive';\nimport { UserMenuListItemComponent } from './user-menu-list-item.component';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nexport class UserMenuBodyComponent {\n constructor() {\n /**\n * Template ref of the submenu\n */\n this.submenu = signal(null, ...(ngDevMode ? [{ debugName: \"submenu\" }] : []));\n /**\n * The text of the selected item\n * Needed in mobile mode to update the title in the header\n */\n this.selectedItemTitle = signal(null, ...(ngDevMode ? [{ debugName: \"selectedItemTitle\" }] : []));\n /**\n * Signal indicating whether the user name element is currently visible\n * within the user menu. This updates automatically as the element\n * enters or leaves the viewport.\n *\n * Used by the template to conditionally render the sticky header.\n */\n this.isUserNameVisible = signal(true, ...(ngDevMode ? [{ debugName: \"isUserNameVisible\" }] : []));\n /**\n * Signal storing the HTML content of the user name element.\n * When the original element scrolls out of view, this content\n * is displayed in the sticky header.\n */\n this.userNameContent = signal('', ...(ngDevMode ? [{ debugName: \"userNameContent\" }] : []));\n /**\n * Template ref to the header of the user menu body.\n * Needed in mobile mode\n */\n this.bodyHeader = viewChild('bodyHeader', ...(ngDevMode ? [{ debugName: \"bodyHeader\" }] : []));\n /** @hidden */\n this.userNameEl = contentChild(UserMenuUserNameDirective, ...(ngDevMode ? [{ debugName: \"userNameEl\", read: ElementRef }] : [{ read: ElementRef }]));\n /** @hidden */\n this._rtlService = inject(RtlService);\n /** @hidden */\n this._refresh$ = new Subject();\n /** @hidden */\n this._destroyRef = inject(DestroyRef);\n }\n /** @hidden */\n onClick(event) {\n event.stopPropagation();\n }\n /** @hidden */\n ngOnInit() {\n this.navigationArrow$ = this._rtlService.rtl.pipe(map((isRtl) => (isRtl ? 'navigation-right-arrow' : 'navigation-left-arrow')));\n }\n /** @hidden */\n ngAfterViewInit() {\n this._listItems.changes\n .pipe(startWith(this._listItems), takeUntilDestroyed(this._destroyRef))\n .subscribe((listItems) => {\n listItems.forEach((item) => {\n item.showSubmenu\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe((submenuTpl) => {\n this.selectItem(submenuTpl);\n });\n item.updateTitle.pipe(takeUntilDestroyed(this._destroyRef)).subscribe((title) => {\n this.updateTitle(title);\n });\n });\n });\n const el = this.userNameEl()?.nativeElement;\n if (!el) {\n return;\n }\n // logic for showing/hiding the popover header with user name on scroll\n const intersectionObserver = new IntersectionObserver((entries) => {\n this.isUserNameVisible.set(entries[0].isIntersecting);\n }, { root: null, threshold: 0 });\n intersectionObserver.observe(el);\n // Initialize\n this.userNameContent.set(el.innerHTML.trim());\n // Watch for changes in projected content\n const mutationObserver = new MutationObserver(() => {\n this.userNameContent.set(el.innerHTML.trim());\n });\n mutationObserver.observe(el, {\n childList: true,\n characterData: true,\n subtree: true\n });\n this._destroyRef.onDestroy(() => {\n intersectionObserver.disconnect();\n mutationObserver.disconnect();\n });\n }\n /**\n * Selects the item and sets the submenu template ref\n */\n selectItem(submenuTpl) {\n this.submenu.set(submenuTpl);\n }\n /**\n * Updates the title of the selected item\n */\n updateTitle(title) {\n this.selectedItemTitle.set(title);\n }\n /**\n * Clears the submenu template ref and the selected item title\n * Closes the submenu and returns to the main view\n */\n clearSubmenu() {\n this.submenu.set(null);\n this.selectedItemTitle.set(null);\n }\n /**\n * Closes the dialog in mobile mode\n */\n closeDialog(dialogRef) {\n dialogRef.dismiss('Close');\n this.clearSubmenu();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.4\", type: UserMenuBodyComponent, isStandalone: true, selector: \"fd-user-menu-body\", host: { listeners: { \"click\": \"onClick($event)\" }, classAttribute: \"fd-user-menu__body\" }, providers: [contentDensityObserverProviders()], queries: [{ propertyName: \"userNameEl\", first: true, predicate: UserMenuUserNameDirective, descendants: true, read: ElementRef, isSignal: true }, { propertyName: \"_listItems\", predicate: UserMenuListItemComponent, descendants: true }], viewQueries: [{ propertyName: \"bodyHeader\", first: true, predicate: [\"bodyHeader\"], descendants: true, isSignal: true }], ngImport: i0, template: \"@if (!submenu()) {\\n <ng-content select=\\\"[fd-user-menu-header]\\\"></ng-content>\\n <ng-content select=\\\"[fd-user-menu-content-container]\\\"></ng-content>\\n} @else {\\n <div class=\\\"fd-user-menu__details-view\\\">\\n <ng-container *ngTemplateOutlet=\\\"submenu()\\\"></ng-container>\\n </div>\\n}\\n\\n<ng-template #bodyHeader let-dialogRef=\\\"dialogRef\\\">\\n <div fd-bar style=\\\"position: fixed; top: 0; left: 0; right: 0; z-index: 10\\\">\\n @if (submenu()) {\\n <div fd-bar-left>\\n <fd-bar-element>\\n <fd-button-bar\\n fdkInitialFocus\\n ariaLabel=\\\"previous\\\"\\n [glyph]=\\\"navigationArrow$ | async\\\"\\n (click)=\\\"clearSubmenu()\\\"\\n >\\n </fd-button-bar>\\n </fd-bar-element>\\n <fd-bar-element>\\n <h5 fd-title>{{ selectedItemTitle() }}</h5>\\n </fd-bar-element>\\n </div>\\n }\\n <div fd-bar-right>\\n @if (!submenu()) {\\n <fd-bar-element\\n [fullWidth]=\\\"true\\\"\\n class=\\\"fd-user-menu__scroll-header-element\\\"\\n [class.hidden]=\\\"isUserNameVisible()\\\"\\n role=\\\"presentation\\\"\\n aria-hidden=\\\"true\\\"\\n >\\n <div\\n [innerHTML]=\\\"userNameContent()\\\"\\n class=\\\"fd-user-menu__user-name fd-user-menu__user-name--truncate\\\"\\n style=\\\"text-align: center; margin-inline-start: 2.75rem\\\"\\n ></div>\\n </fd-bar-element>\\n }\\n\\n <fd-bar-element>\\n <fd-button-bar ariaLabel=\\\"close\\\" glyph=\\\"decline\\\" (click)=\\\"closeDialog(dialogRef)\\\"> </fd-button-bar>\\n </fd-bar-element>\\n </div>\\n </div>\\n</ng-template>\\n\", dependencies: [{ kind: \"component\", type: BarComponent, selector: \"[fd-bar]\", inputs: [\"class\", \"barDesign\", \"inPage\", \"inHomePage\", \"clear\", \"size\", \"role\"] }, { kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i1.NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"component\", type: TitleComponent, selector: \"[fd-title], [fdTitle]\", inputs: [\"headerSize\", \"wrap\"], exportAs: [\"fd-title\"] }, { kind: \"directive\", type: BarLeftDirective, selector: \"[fd-bar-left]\" }, { kind: \"directive\", type: BarRightDirective, selector: \"[fd-bar-right]\" }, { kind: \"component\", type: ButtonBarComponent, selector: \"fd-button-bar\", inputs: [\"fullWidth\", \"fdType\", \"title\", \"ariaLabelledby\", \"id\"] }, { kind: \"directive\", type: BarElementDirective, selector: \"fd-bar-element\", inputs: [\"fullWidth\"] }, { kind: \"directive\", type: InitialFocusDirective, selector: \"[fdkInitialFocus]\", inputs: [\"fdkInitialFocus\", \"enabled\", \"focusLastElement\"] }, { kind: \"pipe\", type: i1.AsyncPipe, name: \"async\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuBodyComponent, decorators: [{\n type: Component,\n args: [{ selector: 'fd-user-menu-body', host: {\n class: 'fd-user-menu__body'\n }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [\n BarComponent,\n CommonModule,\n TitleComponent,\n BarLeftDirective,\n BarRightDirective,\n ButtonBarComponent,\n BarElementDirective,\n InitialFocusDirective\n ], providers: [contentDensityObserverProviders()], template: \"@if (!submenu()) {\\n <ng-content select=\\\"[fd-user-menu-header]\\\"></ng-content>\\n <ng-content select=\\\"[fd-user-menu-content-container]\\\"></ng-content>\\n} @else {\\n <div class=\\\"fd-user-menu__details-view\\\">\\n <ng-container *ngTemplateOutlet=\\\"submenu()\\\"></ng-container>\\n </div>\\n}\\n\\n<ng-template #bodyHeader let-dialogRef=\\\"dialogRef\\\">\\n <div fd-bar style=\\\"position: fixed; top: 0; left: 0; right: 0; z-index: 10\\\">\\n @if (submenu()) {\\n <div fd-bar-left>\\n <fd-bar-element>\\n <fd-button-bar\\n fdkInitialFocus\\n ariaLabel=\\\"previous\\\"\\n [glyph]=\\\"navigationArrow$ | async\\\"\\n (click)=\\\"clearSubmenu()\\\"\\n >\\n </fd-button-bar>\\n </fd-bar-element>\\n <fd-bar-element>\\n <h5 fd-title>{{ selectedItemTitle() }}</h5>\\n </fd-bar-element>\\n </div>\\n }\\n <div fd-bar-right>\\n @if (!submenu()) {\\n <fd-bar-element\\n [fullWidth]=\\\"true\\\"\\n class=\\\"fd-user-menu__scroll-header-element\\\"\\n [class.hidden]=\\\"isUserNameVisible()\\\"\\n role=\\\"presentation\\\"\\n aria-hidden=\\\"true\\\"\\n >\\n <div\\n [innerHTML]=\\\"userNameContent()\\\"\\n class=\\\"fd-user-menu__user-name fd-user-menu__user-name--truncate\\\"\\n style=\\\"text-align: center; margin-inline-start: 2.75rem\\\"\\n ></div>\\n </fd-bar-element>\\n }\\n\\n <fd-bar-element>\\n <fd-button-bar ariaLabel=\\\"close\\\" glyph=\\\"decline\\\" (click)=\\\"closeDialog(dialogRef)\\\"> </fd-button-bar>\\n </fd-bar-element>\\n </div>\\n </div>\\n</ng-template>\\n\" }]\n }], propDecorators: { _listItems: [{\n type: ContentChildren,\n args: [UserMenuListItemComponent, { descendants: true }]\n }], onClick: [{\n type: HostListener,\n args: ['click', ['$event']]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tZW51LWJvZHkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3VzZXItbWVudS9jb21wb25lbnRzL3VzZXItbWVudS1ib2R5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS91c2VyLW1lbnUvY29tcG9uZW50cy91c2VyLW1lbnUtYm9keS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUVILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixVQUFVLEVBQ1YsWUFBWSxFQUVaLFNBQVMsRUFFVCxpQkFBaUIsRUFDakIsWUFBWSxFQUNaLE1BQU0sRUFDTixNQUFNLEVBQ04sU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRSxPQUFPLEVBQ0gsWUFBWSxFQUNaLG1CQUFtQixFQUNuQixnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLGtCQUFrQixFQUNyQixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RCxPQUFPLEVBQWMsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0QsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDeEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7OztBQXNC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QUFTLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN4QixDQUFDOzhHQXRKUSxxQkFBcUI7a0dBQXJCLHFCQUFxQiwySkFGbkIsQ0FBQywrQkFBK0IsRUFBRSxDQUFDLGtFQThDRCx5QkFBeUIsMkJBQVUsVUFBVSw2REExQ3pFLHlCQUF5QiwwS0N2RDlDLHc3REFrREEsNENEUlEsWUFBWSxxSUFDWixZQUFZLHNNQUNaLGNBQWMsMEhBQ2QsZ0JBQWdCLDBEQUNoQixpQkFBaUIsMkRBQ2pCLGtCQUFrQiw0SEFDbEIsbUJBQW1CLGtGQUNuQixxQkFBcUI7OzJGQUloQixxQkFBcUI7a0JBcEJqQyxTQUFTOytCQUNJLG1CQUFtQixRQUV2Qjt3QkFDRixLQUFLLEVBQUUsb0JBQW9CO3FCQUM5QixpQkFDYyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDO3dCQUNMLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixjQUFjO3dCQUNkLGdCQUFnQjt3QkFDaEIsaUJBQWlCO3dCQUNqQixrQkFBa0I7d0JBQ2xCLG1CQUFtQjt3QkFDbkIscUJBQXFCO3FCQUN4QixhQUNVLENBQUMsK0JBQStCLEVBQUUsQ0FBQzs4QkFLckMsVUFBVTtzQkFEbEIsZUFBZTt1QkFBQyx5QkFBeUIsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBdURqRSxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIERlc3Ryb3lSZWYsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgT25Jbml0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBjb250ZW50Q2hpbGQsXG4gICAgaW5qZWN0LFxuICAgIHNpZ25hbCxcbiAgICB2aWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBJbml0aWFsRm9jdXNEaXJlY3RpdmUsIFJ0bFNlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQge1xuICAgIEJhckNvbXBvbmVudCxcbiAgICBCYXJFbGVtZW50RGlyZWN0aXZlLFxuICAgIEJhckxlZnREaXJlY3RpdmUsXG4gICAgQmFyUmlnaHREaXJlY3RpdmUsXG4gICAgQnV0dG9uQmFyQ29tcG9uZW50XG59IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9iYXInO1xuaW1wb3J0IHsgY29udGVudERlbnNpdHlPYnNlcnZlclByb3ZpZGVycyB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9jb250ZW50LWRlbnNpdHknO1xuaW1wb3J0IHsgVGl0bGVDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvdGl0bGUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgbWFwLCBzdGFydFdpdGggfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFVzZXJNZW51VXNlck5hbWVEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL3VzZXItbWVudS11c2VyLW5hbWUuZGlyZWN0aXZlJztcbmltcG9ydCB7IFVzZXJNZW51TGlzdEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL3VzZXItbWVudS1saXN0LWl0ZW0uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC11c2VyLW1lbnUtYm9keScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3VzZXItbWVudS1ib2R5LmNvbXBvbmVudC5odG1sJyxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnZmQtdXNlci1tZW51X19ib2R5J1xuICAgIH0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIEJhckNvbXBvbmVudCxcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBUaXRsZUNvbXBvbmVudCxcbiAgICAgICAgQmFyTGVmdERpcmVjdGl2ZSxcbiAgICAgICAgQmFyUmlnaHREaXJlY3RpdmUsXG4gICAgICAgIEJ1dHRvbkJhckNvbXBvbmVudCxcbiAgICAgICAgQmFyRWxlbWVudERpcmVjdGl2ZSxcbiAgICAgICAgSW5pdGlhbEZvY3VzRGlyZWN0aXZlXG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFtjb250ZW50RGVuc2l0eU9ic2VydmVyUHJvdmlkZXJzKCldXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJNZW51Qm9keUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkcmVuKFVzZXJNZW51TGlzdEl0ZW1Db21wb25lbnQsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgICByZWFkb25seSBfbGlzdEl0ZW1zOiBRdWVyeUxpc3Q8VXNlck1lbnVMaXN0SXRlbUNvbXBvbmVudD47XG5cbiAgICAvKipcbiAgICAgKiBIYW5kbGUgdGhlIG5hdmlnYXRpb24gaWNvbiAoYXJyb3cpIG9mIHRoZSBCYWNrIGJ1dHRvbiBpbiBSVEwgbW9kZVxuICAgICAqL1xuICAgIG5hdmlnYXRpb25BcnJvdyQ6IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICAgIC8qKlxuICAgICAqIFRlbXBsYXRlIHJlZiBvZiB0aGUgc3VibWVudVxuICAgICAqL1xuICAgIHN1Ym1lbnUgPSBzaWduYWw8VGVtcGxhdGVSZWY8YW55PiB8IG51bGw+KG51bGwpO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHRleHQgb2YgdGhlIHNlbGVjdGVkIGl0ZW1cbiAgICAgKiBOZWVkZWQgaW4gbW9iaWxlIG1vZGUgdG8gdXBkYXRlIHRoZSB0aXRsZSBpbiB0aGUgaGVhZGVyXG4gICAgICovXG4gICAgc2VsZWN0ZWRJdGVtVGl0bGUgPSBzaWduYWw8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG5cbiAgICAvKipcbiAgICAgKiBTaWduYWwgaW5kaWNhdGluZyB3aGV0aGVyIHRoZSB1c2VyIG5hbWUgZWxlbWVudCBpcyBjdXJyZW50bHkgdmlzaWJsZVxuICAgICAqIHdpdGhpbiB0aGUgdXNlciBtZW51LiBUaGlzIHVwZGF0ZXMgYXV0b21hdGljYWxseSBhcyB0aGUgZWxlbWVudFxuICAgICAqIGVudGVycyBvciBsZWF2ZXMgdGhlIHZpZXdwb3J0LlxuICAgICAqXG4gICAgICogVXNlZCBieSB0aGUgdGVtcGxhdGUgdG8gY29uZGl0aW9uYWxseSByZW5kZXIgdGhlIHN0aWNreSBoZWFkZXIuXG4gICAgICovXG4gICAgcmVhZG9ubHkgaXNVc2VyTmFtZVZpc2libGUgPSBzaWduYWwodHJ1ZSk7XG5cbiAgICAvKipcbiAgICAgKiBTaWduYWwgc3RvcmluZyB0aGUgSFRNTCBjb250ZW50IG9mIHRoZSB1c2VyIG5hbWUgZWxlbWVudC5cbiAgICAgKiBXaGVuIHRoZSBvcmlnaW5hbCBlbGVtZW50IHNjcm9sbHMgb3V0IG9mIHZpZXcsIHRoaXMgY29udGVudFxuICAgICAqIGlzIGRpc3BsYXllZCBpbiB0aGUgc3RpY2t5IGhlYWRlci5cbiAgICAgKi9cbiAgICByZWFkb25seSB1c2VyTmFtZUNvbnRlbnQgPSBzaWduYWwoJycpO1xuXG4gICAgLyoqXG4gICAgICogVGVtcGxhdGUgcmVmIHRvIHRoZSBoZWFkZXIgb2YgdGhlIHVzZXIgbWVudSBib2R5LlxuICAgICAqIE5lZWRlZCBpbiBtb2JpbGUgbW9kZVxuICAgICAqL1xuICAgIHJlYWRvbmx5IGJvZHlIZWFkZXIgPSB2aWV3Q2hpbGQ8VGVtcGxhdGVSZWY8YW55Pj4oJ2JvZHlIZWFkZXInKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHVzZXJOYW1lRWwgPSBjb250ZW50Q2hpbGQoVXNlck1lbnVVc2VyTmFtZURpcmVjdGl2ZSwgeyByZWFkOiBFbGVtZW50UmVmIH0pO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9ydGxTZXJ2aWNlID0gaW5qZWN0KFJ0bFNlcnZpY2UpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9yZWZyZXNoJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgICBvbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubmF2aWdhdGlvbkFycm93JCA9IHRoaXMuX3J0bFNlcnZpY2UucnRsLnBpcGUoXG4gICAgICAgICAgICBtYXAoKGlzUnRsKSA9PiAoaXNSdGwgPyAnbmF2aWdhdGlvbi1yaWdodC1hcnJvdycgOiAnbmF2aWdhdGlvbi1sZWZ0LWFycm93JykpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2xpc3RJdGVtcy5jaGFuZ2VzXG4gICAgICAgICAgICAucGlwZShzdGFydFdpdGgodGhpcy5fbGlzdEl0ZW1zKSwgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgobGlzdEl0ZW1zKSA9PiB7XG4gICAgICAgICAgICAgICAgbGlzdEl0ZW1zLmZvckVhY2goKGl0ZW06IFVzZXJNZW51TGlzdEl0ZW1Db21wb25lbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5zaG93U3VibWVudVxuICAgICAgICAgICAgICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoc3VibWVudVRwbDogVGVtcGxhdGVSZWY8YW55PiB8IG51bGwpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdEl0ZW0oc3VibWVudVRwbCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgaXRlbS51cGRhdGVUaXRsZS5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSkuc3Vic2NyaWJlKCh0aXRsZTogc3RyaW5nIHwgbnVsbCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVUaXRsZSh0aXRsZSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgZWwgPSB0aGlzLnVzZXJOYW1lRWwoKT8ubmF0aXZlRWxlbWVudDtcblxuICAgICAgICBpZiAoIWVsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBsb2dpYyBmb3Igc2hvd2luZy9oaWRpbmcgdGhlIHBvcG92ZXIgaGVhZGVyIHdpdGggdXNlciBuYW1lIG9uIHNjcm9sbFxuICAgICAgICBjb25zdCBpbnRlcnNlY3Rpb25PYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihcbiAgICAgICAgICAgIChlbnRyaWVzKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc1VzZXJOYW1lVmlzaWJsZS5zZXQoZW50cmllc1swXS5pc0ludGVyc2VjdGluZyk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgeyByb290OiBudWxsLCB0aHJlc2hvbGQ6IDAgfVxuICAgICAgICApO1xuXG4gICAgICAgIGludGVyc2VjdGlvbk9ic2VydmVyLm9ic2VydmUoZWwpO1xuXG4gICAgICAgIC8vIEluaXRpYWxpemVcbiAgICAgICAgdGhpcy51c2VyTmFtZUNvbnRlbnQuc2V0KGVsLmlubmVySFRNTC50cmltKCkpO1xuXG4gICAgICAgIC8vIFdhdGNoIGZvciBjaGFuZ2VzIGluIHByb2plY3RlZCBjb250ZW50XG4gICAgICAgIGNvbnN0IG11dGF0aW9uT2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnVzZXJOYW1lQ29udGVudC5zZXQoZWwuaW5uZXJIVE1MLnRyaW0oKSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIG11dGF0aW9uT2JzZXJ2ZXIub2JzZXJ2ZShlbCwge1xuICAgICAgICAgICAgY2hpbGRMaXN0OiB0cnVlLFxuICAgICAgICAgICAgY2hhcmFjdGVyRGF0YTogdHJ1ZSxcbiAgICAgICAgICAgIHN1YnRyZWU6IHRydWVcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fZGVzdHJveVJlZi5vbkRlc3Ryb3koKCkgPT4ge1xuICAgICAgICAgICAgaW50ZXJzZWN0aW9uT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgICAgICAgbXV0YXRpb25PYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNlbGVjdHMgdGhlIGl0ZW0gYW5kIHNldHMgdGhlIHN1Ym1lbnUgdGVtcGxhdGUgcmVmXG4gICAgICovXG4gICAgc2VsZWN0SXRlbShzdWJtZW51VHBsOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN1Ym1lbnUuc2V0KHN1Ym1lbnVUcGwpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVwZGF0ZXMgdGhlIHRpdGxlIG9mIHRoZSBzZWxlY3RlZCBpdGVtXG4gICAgICovXG4gICAgdXBkYXRlVGl0bGUodGl0bGU6IHN0cmluZyB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1UaXRsZS5zZXQodGl0bGUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENsZWFycyB0aGUgc3VibWVudSB0ZW1wbGF0ZSByZWYgYW5kIHRoZSBzZWxlY3RlZCBpdGVtIHRpdGxlXG4gICAgICogQ2xvc2VzIHRoZSBzdWJtZW51IGFuZCByZXR1cm5zIHRvIHRoZSBtYWluIHZpZXdcbiAgICAgKi9cbiAgICBjbGVhclN1Ym1lbnUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3VibWVudS5zZXQobnVsbCk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtVGl0bGUuc2V0KG51bGwpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENsb3NlcyB0aGUgZGlhbG9nIGluIG1vYmlsZSBtb2RlXG4gICAgICovXG4gICAgY2xvc2VEaWFsb2coZGlhbG9nUmVmKTogdm9pZCB7XG4gICAgICAgIGRpYWxvZ1JlZi5kaXNtaXNzKCdDbG9zZScpO1xuICAgICAgICB0aGlzLmNsZWFyU3VibWVudSgpO1xuICAgIH1cbn1cbiIsIkBpZiAoIXN1Ym1lbnUoKSkge1xuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmZC11c2VyLW1lbnUtaGVhZGVyXVwiPjwvbmctY29udGVudD5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZmQtdXNlci1tZW51LWNvbnRlbnQtY29udGFpbmVyXVwiPjwvbmctY29udGVudD5cbn0gQGVsc2Uge1xuICAgIDxkaXYgY2xhc3M9XCJmZC11c2VyLW1lbnVfX2RldGFpbHMtdmlld1wiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic3VibWVudSgpXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG59XG5cbjxuZy10ZW1wbGF0ZSAjYm9keUhlYWRlciBsZXQtZGlhbG9nUmVmPVwiZGlhbG9nUmVmXCI+XG4gICAgPGRpdiBmZC1iYXIgc3R5bGU9XCJwb3NpdGlvbjogZml4ZWQ7IHRvcDogMDsgbGVmdDogMDsgcmlnaHQ6IDA7IHotaW5kZXg6IDEwXCI+XG4gICAgICAgIEBpZiAoc3VibWVudSgpKSB7XG4gICAgICAgICAgICA8ZGl2IGZkLWJhci1sZWZ0PlxuICAgICAgICAgICAgICAgIDxmZC1iYXItZWxlbWVudD5cbiAgICAgICAgICAgICAgICAgICAgPGZkLWJ1dHRvbi1iYXJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZka0luaXRpYWxGb2N1c1xuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYUxhYmVsPVwicHJldmlvdXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2dseXBoXT1cIm5hdmlnYXRpb25BcnJvdyQgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xlYXJTdWJtZW51KClcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDwvZmQtYnV0dG9uLWJhcj5cbiAgICAgICAgICAgICAgICA8L2ZkLWJhci1lbGVtZW50PlxuICAgICAgICAgICAgICAgIDxmZC1iYXItZWxlbWVudD5cbiAgICAgICAgICAgICAgICAgICAgPGg1IGZkLXRpdGxlPnt7IHNlbGVjdGVkSXRlbVRpdGxlKCkgfX08L2g1PlxuICAgICAgICAgICAgICAgIDwvZmQtYmFyLWVsZW1lbnQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgICA8ZGl2IGZkLWJhci1yaWdodD5cbiAgICAgICAgICAgIEBpZiAoIXN1Ym1lbnUoKSkge1xuICAgICAgICAgICAgICAgIDxmZC1iYXItZWxlbWVudFxuICAgICAgICAgICAgICAgICAgICBbZnVsbFdpZHRoXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZkLXVzZXItbWVudV9fc2Nyb2xsLWhlYWRlci1lbGVtZW50XCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmhpZGRlbl09XCJpc1VzZXJOYW1lVmlzaWJsZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgcm9sZT1cInByZXNlbnRhdGlvblwiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cInVzZXJOYW1lQ29udGVudCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmQtdXNlci1tZW51X191c2VyLW5hbWUgZmQtdXNlci1tZW51X191c2VyLW5hbWUtLXRydW5jYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyOyBtYXJnaW4taW5saW5lLXN0YXJ0OiAyLjc1cmVtXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZmQtYmFyLWVsZW1lbnQ+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIDxmZC1iYXItZWxlbWVudD5cbiAgICAgICAgICAgICAgICA8ZmQtYnV0dG9uLWJhciBhcmlhTGFiZWw9XCJjbG9zZVwiIGdseXBoPVwiZGVjbGluZVwiIChjbGljayk9XCJjbG9zZURpYWxvZyhkaWFsb2dSZWYpXCI+IDwvZmQtYnV0dG9uLWJhcj5cbiAgICAgICAgICAgIDwvZmQtYmFyLWVsZW1lbnQ+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class UserMenuContentContainerComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuContentContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.4\", type: UserMenuContentContainerComponent, isStandalone: true, selector: \"[fd-user-menu-content-container]\", host: { classAttribute: \"fd-user-menu__content-container\" }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuContentContainerComponent, decorators: [{\n type: Component,\n args: [{\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-user-menu-content-container]',\n template: `<ng-content />`,\n host: {\n class: 'fd-user-menu__content-container'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tZW51LWNvbnRlbnQtY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS91c2VyLW1lbnUvY29tcG9uZW50cy91c2VyLW1lbnUtY29udGVudC1jb250YWluZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBWXRGLE1BQU0sT0FBTyxpQ0FBaUM7OEdBQWpDLGlDQUFpQztrR0FBakMsaUNBQWlDLHlKQVBoQyxnQkFBZ0I7OzJGQU9qQixpQ0FBaUM7a0JBVjdDLFNBQVM7bUJBQUM7b0JBQ1AsOERBQThEO29CQUM5RCxRQUFRLEVBQUUsa0NBQWtDO29CQUM1QyxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixJQUFJLEVBQUU7d0JBQ0YsS0FBSyxFQUFFLGlDQUFpQztxQkFDM0M7b0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdbZmQtdXNlci1tZW51LWNvbnRlbnQtY29udGFpbmVyXScsXG4gICAgdGVtcGxhdGU6IGA8bmctY29udGVudCAvPmAsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2ZkLXVzZXItbWVudV9fY29udGVudC1jb250YWluZXInXG4gICAgfSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJNZW51Q29udGVudENvbnRhaW5lckNvbXBvbmVudCB7fVxuIl19","import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, HostListener, Output, ViewEncapsulation } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class UserMenuControlComponent {\n /** @hidden */\n constructor(el) {\n this.el = el;\n /** Event emitted event when control element is clicked */\n this.clicked = new EventEmitter();\n }\n /** @hidden */\n onClick() {\n this.clicked.emit();\n }\n /** @hidden */\n focus() {\n this.el.nativeElement.focus();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuControlComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.4\", type: UserMenuControlComponent, isStandalone: true, selector: \"fd-user-menu-control\", outputs: { clicked: \"clicked\" }, host: { attributes: { \"tabindex\": \"0\" }, listeners: { \"click\": \"onClick()\" } }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuControlComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'fd-user-menu-control',\n template: `<ng-content />`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n tabindex: '0'\n },\n imports: []\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { clicked: [{\n type: Output\n }], onClick: [{\n type: HostListener,\n args: ['click']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tZW51LWNvbnRyb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3VzZXItbWVudS9jb21wb25lbnRzL3VzZXItbWVudS1jb250cm9sLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFlBQVksRUFDWixNQUFNLEVBQ04saUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDOztBQVl2QixNQUFNLE9BQU8sd0JBQXdCO0lBS2pDLGNBQWM7SUFDZCxZQUFvQixFQUEyQjtRQUEzQixPQUFFLEdBQUYsRUFBRSxDQUF5QjtRQUwvQywwREFBMEQ7UUFFMUQsWUFBTyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO0lBR0wsQ0FBQztJQUVuRCxjQUFjO0lBRWQsT0FBTztRQUNILElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELGNBQWM7SUFDZCxLQUFLO1FBQ0QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDbEMsQ0FBQzs4R0FqQlEsd0JBQXdCO2tHQUF4Qix3QkFBd0IsaU1BUnZCLGdCQUFnQjs7MkZBUWpCLHdCQUF3QjtrQkFWcEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLElBQUksRUFBRTt3QkFDRixRQUFRLEVBQUUsR0FBRztxQkFDaEI7b0JBQ0QsT0FBTyxFQUFFLEVBQUU7aUJBQ2Q7K0VBSUcsT0FBTztzQkFETixNQUFNO2dCQVFQLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIE91dHB1dCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC11c2VyLW1lbnUtY29udHJvbCcsXG4gICAgdGVtcGxhdGU6IGA8bmctY29udGVudCAvPmAsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0OiB7XG4gICAgICAgIHRhYmluZGV4OiAnMCdcbiAgICB9LFxuICAgIGltcG9ydHM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJNZW51Q29udHJvbENvbXBvbmVudCB7XG4gICAgLyoqIEV2ZW50IGVtaXR0ZWQgZXZlbnQgd2hlbiBjb250cm9sIGVsZW1lbnQgaXMgY2xpY2tlZCAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGNsaWNrZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHt9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgICBvbkNsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNsaWNrZWQuZW1pdCgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZm9jdXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cbn1cbiJdfQ==","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class UserMenuFooterComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.4\", type: UserMenuFooterComponent, isStandalone: true, selector: \"fd-user-menu-footer\", host: { classAttribute: \"fd-user-menu__footer\" }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuFooterComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'fd-user-menu-footer',\n template: `<ng-content />`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'fd-user-menu__footer'\n },\n imports: []\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tZW51LWZvb3Rlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvdXNlci1tZW51L2NvbXBvbmVudHMvdXNlci1tZW51LWZvb3Rlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFZdEYsTUFBTSxPQUFPLHVCQUF1Qjs4R0FBdkIsdUJBQXVCO2tHQUF2Qix1QkFBdUIsaUlBUnRCLGdCQUFnQjs7MkZBUWpCLHVCQUF1QjtrQkFWbkMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLElBQUksRUFBRTt3QkFDRixLQUFLLEVBQUUsc0JBQXNCO3FCQUNoQztvQkFDRCxPQUFPLEVBQUUsRUFBRTtpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmQtdXNlci1tZW51LWZvb3RlcicsXG4gICAgdGVtcGxhdGU6IGA8bmctY29udGVudCAvPmAsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnZmQtdXNlci1tZW51X19mb290ZXInXG4gICAgfSxcbiAgICBpbXBvcnRzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBVc2VyTWVudUZvb3RlckNvbXBvbmVudCB7fVxuIl19","import { ChangeDetectionStrategy, Component, ContentChildren, DestroyRef, HostListener, inject, QueryList, ViewEncapsulation } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { KeyboardSupportService } from '@fundamental-ngx/cdk/utils';\nimport { merge, startWith, Subject, takeUntil } from 'rxjs';\nimport { UserMenuListItemComponent } from './user-menu-list-item.component';\nimport * as i0 from \"@angular/core\";\nexport class UserMenuListComponent {\n constructor() {\n /** @hidden */\n this._refresh$ = new Subject();\n /** @hidden */\n this._destroyRef = inject(DestroyRef);\n /** @hidden */\n this._keyboardSupportService = inject(KeyboardSupportService);\n }\n /** @hidden */\n keyDownHandler(event) {\n if (this._keyboardSupportService.keyManager) {\n this._keyboardSupportService.onKeyDown(event);\n }\n }\n /** @hidden */\n ngAfterViewInit() {\n this._keyboardSupportService.setKeyboardService(this._listItems, false, false);\n this._listItems.changes.pipe(startWith(null), takeUntilDestroyed(this._destroyRef)).subscribe(() => {\n this._setupInteractionListeners();\n });\n }\n /** @hidden */\n _setupInteractionListeners() {\n this._refresh$.next();\n this._refresh$.complete();\n this._refresh$ = new Subject();\n merge(...this._listItems.toArray().map((i) => i.focused))\n .pipe(takeUntil(this._refresh$), takeUntilDestroyed(this._destroyRef))\n .subscribe((focusedItem) => {\n this._listItems.forEach((item) => {\n item._tabIndex$.set(-1);\n });\n focusedItem._tabIndex$.set(0);\n this._keyboardSupportService.keyManager.setActiveItem(focusedItem);\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.4\", type: UserMenuListComponent, isStandalone: true, selector: \"fd-user-menu-list\", host: { listeners: { \"keydown\": \"keyDownHandler($event)\" } }, queries: [{ propertyName: \"_listItems\", predicate: UserMenuListItemComponent, descendants: true }], ngImport: i0, template: `\n <nav class=\"fd-menu fd-menu--icons fd-user-menu__menu\">\n <ul class=\"fd-menu__list fd-user-menu__menu-list\" role=\"menu\">\n <ng-content />\n </ul>\n </nav>\n `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuListComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'fd-user-menu-list',\n template: `\n <nav class=\"fd-menu fd-menu--icons fd-user-menu__menu\">\n <ul class=\"fd-menu__list fd-user-menu__menu-list\" role=\"menu\">\n <ng-content />\n </ul>\n </nav>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n }]\n }], propDecorators: { _listItems: [{\n type: ContentChildren,\n args: [UserMenuListItemComponent, { descendants: true }]\n }], keyDownHandler: [{\n type: HostListener,\n args: ['keydown', ['$event']]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tZW51LWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3VzZXItbWVudS9jb21wb25lbnRzL3VzZXItbWVudS1saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQWM1RSxNQUFNLE9BQU8scUJBQXFCO0lBWmxDO1FBaUJJLGNBQWM7UUFDTixjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUV4QyxjQUFjO1FBQ0csZ0JBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFbEQsY0FBYztRQUNHLDRCQUF1QixHQUFHLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0tBbUM3RTtJQWpDRyxjQUFjO0lBRWQsY0FBYyxDQUFDLEtBQW9CO1FBQy9CLElBQUksSUFBSSxDQUFDLHVCQUF1QixDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEQsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjO0lBQ2QsZUFBZTtRQUNYLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUUvRSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDL0YsSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7UUFDdEMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsY0FBYztJQUNOLDBCQUEwQjtRQUM5QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRXJDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDcEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQ3JFLFNBQVMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQzdCLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDNUIsQ0FBQyxDQUFDLENBQUM7WUFDSCxXQUFXLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM5QixJQUFJLENBQUMsdUJBQXVCLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN2RSxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7OEdBOUNRLHFCQUFxQjtrR0FBckIscUJBQXFCLHNLQUViLHlCQUF5QixnREFaaEM7Ozs7OztLQU1UOzsyRkFJUSxxQkFBcUI7a0JBWmpDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsUUFBUSxFQUFFOzs7Ozs7S0FNVDtvQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEOzhCQUlZLFVBQVU7c0JBRGxCLGVBQWU7dUJBQUMseUJBQXlCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQWNqRSxjQUFjO3NCQURiLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRGVzdHJveVJlZixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgaW5qZWN0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IEtleWJvYXJkU3VwcG9ydFNlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBtZXJnZSwgc3RhcnRXaXRoLCBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFVzZXJNZW51TGlzdEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL3VzZXItbWVudS1saXN0LWl0ZW0uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC11c2VyLW1lbnUtbGlzdCcsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPG5hdiBjbGFzcz1cImZkLW1lbnUgZmQtbWVudS0taWNvbnMgZmQtdXNlci1tZW51X19tZW51XCI+XG4gICAgICAgICAgICA8dWwgY2xhc3M9XCJmZC1tZW51X19saXN0IGZkLXVzZXItbWVudV9fbWVudS1saXN0XCIgcm9sZT1cIm1lbnVcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGVudCAvPlxuICAgICAgICAgICAgPC91bD5cbiAgICAgICAgPC9uYXY+XG4gICAgYCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJNZW51TGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZHJlbihVc2VyTWVudUxpc3RJdGVtQ29tcG9uZW50LCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gICAgcmVhZG9ubHkgX2xpc3RJdGVtczogUXVlcnlMaXN0PFVzZXJNZW51TGlzdEl0ZW1Db21wb25lbnQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9yZWZyZXNoJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2tleWJvYXJkU3VwcG9ydFNlcnZpY2UgPSBpbmplY3QoS2V5Ym9hcmRTdXBwb3J0U2VydmljZSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICAgIGtleURvd25IYW5kbGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9rZXlib2FyZFN1cHBvcnRTZXJ2aWNlLmtleU1hbmFnZXIpIHtcbiAgICAgICAgICAgIHRoaXMuX2tleWJvYXJkU3VwcG9ydFNlcnZpY2Uub25LZXlEb3duKGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9rZXlib2FyZFN1cHBvcnRTZXJ2aWNlLnNldEtleWJvYXJkU2VydmljZSh0aGlzLl9saXN0SXRlbXMsIGZhbHNlLCBmYWxzZSk7XG5cbiAgICAgICAgdGhpcy5fbGlzdEl0ZW1zLmNoYW5nZXMucGlwZShzdGFydFdpdGgobnVsbCksIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3NldHVwSW50ZXJhY3Rpb25MaXN0ZW5lcnMoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zZXR1cEludGVyYWN0aW9uTGlzdGVuZXJzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9yZWZyZXNoJC5uZXh0KCk7XG4gICAgICAgIHRoaXMuX3JlZnJlc2gkLmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMuX3JlZnJlc2gkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgICAgICBtZXJnZSguLi50aGlzLl9saXN0SXRlbXMudG9BcnJheSgpLm1hcCgoaSkgPT4gaS5mb2N1c2VkKSlcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9yZWZyZXNoJCksIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGZvY3VzZWRJdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fbGlzdEl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5fdGFiSW5kZXgkLnNldCgtMSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgZm9jdXNlZEl0ZW0uX3RhYkluZGV4JC5zZXQoMCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fa2V5Ym9hcmRTdXBwb3J0U2VydmljZS5rZXlNYW5hZ2VyLnNldEFjdGl2ZUl0ZW0oZm9jdXNlZEl0ZW0pO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxufVxuIl19","import { ChangeDetectionStrategy, Component, ContentChildren, DestroyRef, HostListener, QueryList, ViewEncapsulation, booleanAttribute, inject, input } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { KeyboardSupportService } from '@fundamental-ngx/cdk/utils';\nimport { Subject, merge, startWith, takeUntil } from 'rxjs';\nimport { UserMenuListItemComponent } from './user-menu-list-item.component';\nimport * as i0 from \"@angular/core\";\nexport class UserMenuSublistComponent {\n constructor() {\n /** Whether the sublist menu items have icons */\n this.hasIcons = input(false, ...(ngDevMode ? [{ debugName: \"hasIcons\", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));\n /** @hidden */\n this._refresh$ = new Subject();\n /** @hidden */\n this._destroyRef = inject(DestroyRef);\n /** @hidden */\n this._keyboardSupportService = inject((KeyboardSupportService));\n }\n /** @hidden */\n onClick(event) {\n event.stopPropagation();\n }\n /** @hidden */\n keyDownHandler(event) {\n if (this._keyboardSupportService.keyManager) {\n this._keyboardSupportService.onKeyDown(event);\n }\n }\n /** @hidden */\n ngAfterViewInit() {\n this._keyboardSupportService.setKeyboardService(this._listItems, false, false);\n this._listItems.changes.pipe(startWith(null), takeUntilDestroyed(this._destroyRef)).subscribe(() => {\n this._setupInteractionListeners();\n });\n }\n /** @hidden */\n _setupInteractionListeners() {\n this._refresh$.next();\n this._refresh$.complete();\n this._refresh$ = new Subject();\n merge(...this._listItems.toArray().map((i) => i.focused))\n .pipe(takeUntil(this._refresh$), takeUntilDestroyed(this._destroyRef))\n .subscribe((focusedItem) => {\n this._listItems.forEach((item) => {\n item._tabIndex$.set(-1);\n });\n focusedItem._tabIndex$.set(0);\n this._keyboardSupportService.keyManager.setActiveItem(focusedItem);\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuSublistComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.1.4\", type: UserMenuSublistComponent, isStandalone: true, selector: \"[fd-user-menu-sublist]\", inputs: { hasIcons: { classPropertyName: \"hasIcons\", publicName: \"hasIcons\", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { \"click\": \"onClick($event)\", \"keydown\": \"keyDownHandler($event)\" }, properties: { \"class.fd-menu--icons\": \"hasIcons()\" }, classAttribute: \"fd-menu fd-user-menu__menu\" }, queries: [{ propertyName: \"_listItems\", predicate: UserMenuListItemComponent, descendants: true }], ngImport: i0, template: `<ul class=\"fd-menu__list fd-user-menu__menu-list\" role=\"menu\">\n <ng-content />\n </ul> `, isInline: true, styles: [\"[fd-user-menu-sublist]{margin-block-start:0!important}\\n\"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuSublistComponent, decorators: [{\n type: Component,\n args: [{ selector: '[fd-user-menu-sublist]', template: `<ul class=\"fd-menu__list fd-user-menu__menu-list\" role=\"menu\">\n <ng-content />\n </ul> `, host: {\n class: 'fd-menu fd-user-menu__menu',\n '[class.fd-menu--icons]': 'hasIcons()'\n }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: [\"[fd-user-menu-sublist]{margin-block-start:0!important}\\n\"] }]\n }], propDecorators: { _listItems: [{\n type: ContentChildren,\n args: [UserMenuListItemComponent, { descendants: true }]\n }], onClick: [{\n type: HostListener,\n args: ['click', ['$event']]\n }], keyDownHandler: [{\n type: HostListener,\n args: ['keydown', ['$event']]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tZW51LXN1Ymxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3VzZXItbWVudS9jb21wb25lbnRzL3VzZXItbWVudS1zdWJsaXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQixNQUFNLEVBQ04sS0FBSyxFQUNSLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBc0I1RSxNQUFNLE9BQU8sd0JBQXdCO0lBcEJyQztRQXlCSSxnREFBZ0Q7UUFDaEQsYUFBUSxHQUFHLEtBQUssQ0FBQyxLQUFLLDRDQUFJLFNBQVMsRUFBRSxnQkFBZ0IsT0FBN0IsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsR0FBQyxDQUFDO1FBRXpELGNBQWM7UUFDTixjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUV4QyxjQUFjO1FBQ0csZ0JBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFbEQsY0FBYztRQUNHLDRCQUF1QixHQUFHLE1BQU0sQ0FBQyxDQUFBLHNCQUFpRCxDQUFBLENBQUMsQ0FBQztLQXlDeEc7SUF2Q0csY0FBYztJQUVkLE9BQU8sQ0FBQyxLQUFpQjtRQUNyQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELGNBQWM7SUFFZCxjQUFjLENBQUMsS0FBb0I7UUFDL0IsSUFBSSxJQUFJLENBQUMsdUJBQXVCLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDMUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsRCxDQUFDO0lBQ0wsQ0FBQztJQUVELGNBQWM7SUFDZCxlQUFlO1FBQ1gsSUFBSSxDQUFDLHVCQUF1QixDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRS9FLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUMvRixJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztRQUN0QyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxjQUFjO0lBQ04sMEJBQTBCO1FBQzlCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFckMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUNwRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDckUsU0FBUyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDN0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM1QixDQUFDLENBQUMsQ0FBQztZQUNILFdBQVcsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzlCLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3ZFLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQzs4R0F2RFEsd0JBQXdCO2tHQUF4Qix3QkFBd0Isd2JBRWhCLHlCQUF5QixnREFuQmhDOztXQUVIOzsyRkFlRSx3QkFBd0I7a0JBcEJwQyxTQUFTOytCQUVJLHdCQUF3QixZQUN4Qjs7V0FFSCxRQUNEO3dCQUNGLEtBQUssRUFBRSw0QkFBNEI7d0JBQ25DLHdCQUF3QixFQUFFLFlBQVk7cUJBQ3pDLGlCQUNjLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07OEJBWS9DLFVBQVU7c0JBRFQsZUFBZTt1QkFBQyx5QkFBeUIsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBaUJqRSxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQU9qQyxjQUFjO3NCQURiLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRGVzdHJveVJlZixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgUXVlcnlMaXN0LFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgaW5qZWN0LFxuICAgIGlucHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgS2V5Ym9hcmRTdXBwb3J0U2VydmljZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IFN1YmplY3QsIG1lcmdlLCBzdGFydFdpdGgsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVXNlck1lbnVMaXN0SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vdXNlci1tZW51LWxpc3QtaXRlbS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnW2ZkLXVzZXItbWVudS1zdWJsaXN0XScsXG4gICAgdGVtcGxhdGU6IGA8dWwgY2xhc3M9XCJmZC1tZW51X19saXN0IGZkLXVzZXItbWVudV9fbWVudS1saXN0XCIgcm9sZT1cIm1lbnVcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICA8L3VsPiBgLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdmZC1tZW51IGZkLXVzZXItbWVudV9fbWVudScsXG4gICAgICAgICdbY2xhc3MuZmQtbWVudS0taWNvbnNdJzogJ2hhc0ljb25zKCknXG4gICAgfSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0eWxlczogW1xuICAgICAgICBgXG4gICAgICAgICAgICBbZmQtdXNlci1tZW51LXN1Ymxpc3RdIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgYFxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgVXNlck1lbnVTdWJsaXN0Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkcmVuKFVzZXJNZW51TGlzdEl0ZW1Db21wb25lbnQsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgICBfbGlzdEl0ZW1zOiBRdWVyeUxpc3Q8VXNlck1lbnVMaXN0SXRlbUNvbXBvbmVudD47XG5cbiAgICAvKiogV2hldGhlciB0aGUgc3VibGlzdCBtZW51IGl0ZW1zIGhhdmUgaWNvbnMgKi9cbiAgICBoYXNJY29ucyA9IGlucHV0KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcmVmcmVzaCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9rZXlib2FyZFN1cHBvcnRTZXJ2aWNlID0gaW5qZWN0KEtleWJvYXJkU3VwcG9ydFNlcnZpY2U8VXNlck1lbnVMaXN0SXRlbUNvbXBvbmVudD4pO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gICAgb25DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICAgIGtleURvd25IYW5kbGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9rZXlib2FyZFN1cHBvcnRTZXJ2aWNlLmtleU1hbmFnZXIpIHtcbiAgICAgICAgICAgIHRoaXMuX2tleWJvYXJkU3VwcG9ydFNlcnZpY2Uub25LZXlEb3duKGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9rZXlib2FyZFN1cHBvcnRTZXJ2aWNlLnNldEtleWJvYXJkU2VydmljZSh0aGlzLl9saXN0SXRlbXMsIGZhbHNlLCBmYWxzZSk7XG5cbiAgICAgICAgdGhpcy5fbGlzdEl0ZW1zLmNoYW5nZXMucGlwZShzdGFydFdpdGgobnVsbCksIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3NldHVwSW50ZXJhY3Rpb25MaXN0ZW5lcnMoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zZXR1cEludGVyYWN0aW9uTGlzdGVuZXJzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9yZWZyZXNoJC5uZXh0KCk7XG4gICAgICAgIHRoaXMuX3JlZnJlc2gkLmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMuX3JlZnJlc2gkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgICAgICBtZXJnZSguLi50aGlzLl9saXN0SXRlbXMudG9BcnJheSgpLm1hcCgoaSkgPT4gaS5mb2N1c2VkKSlcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9yZWZyZXNoJCksIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGZvY3VzZWRJdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fbGlzdEl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5fdGFiSW5kZXgkLnNldCgtMSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgZm9jdXNlZEl0ZW0uX3RhYkluZGV4JC5zZXQoMCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fa2V5Ym9hcmRTdXBwb3J0U2VydmljZS5rZXlNYW5hZ2VyLnNldEFjdGl2ZUl0ZW0oZm9jdXNlZEl0ZW0pO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxufVxuIl19","import { Directive } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class UserMenuControlElementDirective {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuControlElementDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: UserMenuControlElementDirective, isStandalone: true, selector: \"[fd-user-menu-control-element]\", ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuControlElementDirective, decorators: [{\n type: Directive,\n args: [{\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-user-menu-control-element]'\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tZW51LWNvbnRyb2wtZWxlbWVudC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvdXNlci1tZW51L2RpcmVjdGl2ZXMvdXNlci1tZW51LWNvbnRyb2wtZWxlbWVudC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNMUMsTUFBTSxPQUFPLCtCQUErQjs4R0FBL0IsK0JBQStCO2tHQUEvQiwrQkFBK0I7OzJGQUEvQiwrQkFBK0I7a0JBSjNDLFNBQVM7bUJBQUM7b0JBQ1AsOERBQThEO29CQUM5RCxRQUFRLEVBQUUsZ0NBQWdDO2lCQUM3QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnW2ZkLXVzZXItbWVudS1jb250cm9sLWVsZW1lbnRdJ1xufSlcbmV4cG9ydCBjbGFzcyBVc2VyTWVudUNvbnRyb2xFbGVtZW50RGlyZWN0aXZlIHt9XG4iXX0=","import { CommonModule } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, ChangeDetectorRef, Component, contentChild, contentChildren, DestroyRef, effect, ElementRef, inject, input, output, Renderer2, signal, ViewEncapsulation } from '@angular/core';\nimport { map } from 'rxjs/operators';\nimport { KeyboardSupportService, RtlService, TemplateDirective } from '@fundamental-ngx/cdk/utils';\nimport { ContentDensityMode, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { DialogBodyComponent, DialogComponent, DialogFooterComponent, DialogHeaderComponent, DialogService } from '@fundamental-ngx/core/dialog';\nimport { PopoverBodyComponent, PopoverComponent, PopoverControlComponent } from '@fundamental-ngx/core/popover';\nimport { BarComponent, BarElementDirective, BarMiddleDirective } from '@fundamental-ngx/core/bar';\nimport { UserMenuBodyComponent } from './components/user-menu-body.component';\nimport { UserMenuControlComponent } from './components/user-menu-control.component';\nimport { UserMenuListItemComponent } from './components/user-menu-list-item.component';\nimport { UserMenuControlElementDirective } from './directives/user-menu-control-element.directive';\nimport { UserMenuUserNameDirective } from './directives/user-menu-user-name.directive';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nexport class UserMenuComponent {\n /** @hidden */\n constructor() {\n /** Event thrown, when the user menu is opened or closed */\n this.isOpenChange = output();\n /** Whether the user menu is in mobile mode */\n this.mobile = input(false, ...(ngDevMode ? [{ debugName: \"mobile\", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));\n /** Whether the user menu is open */\n this.isOpen = signal(false, ...(ngDevMode ? [{ debugName: \"isOpen\" }] : []));\n /**\n * Signal indicating whether the user name element is currently visible\n * within the user menu. This updates automatically as the element\n * enters or leaves the viewport.\n *\n * Used by the template to conditionally render the sticky header.\n */\n this.isUserNameVisible = signal(true, ...(ngDevMode ? [{ debugName: \"isUserNameVisible\" }] : []));\n /**\n * Signal storing the HTML content of the user name element.\n * When the original element scrolls out of view, this content\n * is displayed in the sticky header.\n */\n this.userNameContent = signal('', ...(ngDevMode ? [{ debugName: \"userNameContent\" }] : []));\n /** @hidden */\n this.userMenuControl = contentChild(UserMenuControlComponent, ...(ngDevMode ? [{ debugName: \"userMenuControl\" }] : []));\n /** @hidden */\n this.userNameEl = contentChild(UserMenuUserNameDirective, ...(ngDevMode ? [{ debugName: \"userNameEl\", read: ElementRef }] : [{ read: ElementRef }]));\n /** @hidden */\n this.userMenuControlElement = contentChild(UserMenuControlElementDirective, ...(ngDevMode ? [{ debugName: \"userMenuControlElement\", descendants: true,\n read: ElementRef }] : [{\n descendants: true,\n read: ElementRef\n }]));\n /** @hidden */\n this.userMenuBody = contentChild(UserMenuBodyComponent, ...(ngDevMode ? [{ debugName: \"userMenuBody\", descendants: true }] : [{ descendants: true }]));\n /** @hidden */\n this._listItems = contentChildren(UserMenuListItemComponent, ...(ngDevMode ? [{ debugName: \"_listItems\", descendants: true }] : [{ descendants: true }]));\n /** @hidden */\n this._rtlService = inject(RtlService);\n /** @hidden */\n this._dialogService = inject(DialogService);\n /** @hidden */\n this._changeDetectionRef = inject(ChangeDetectorRef);\n /** @hidden */\n this._renderer = inject(Renderer2);\n this._destroyRef = inject(DestroyRef);\n effect(() => {\n const isMobile = this.mobile();\n this._listItems()?.forEach((item) => item.mobile.set(isMobile));\n });\n }\n /** @hidden */\n ngOnInit() {\n this.navigationArrow$ = this._rtlService.rtl.pipe(map((isRtl) => (isRtl ? 'navigation-right-arrow' : 'navigation-left-arrow')));\n }\n /** @hidden */\n ngAfterViewInit() {\n const isMobile = this.mobile();\n this._listItems()?.forEach((item) => item.mobile.set(isMobile));\n const el = this.userNameEl()?.nativeElement;\n if (!el) {\n return;\n }\n // logic for showing/hiding the popover header with user name on scroll\n const intersectionObserver = new IntersectionObserver((entries) => {\n this.isUserNameVisible.set(entries[0].isIntersecting);\n }, { root: null, threshold: 0, rootMargin: '-20px 0px 0px 0px' });\n intersectionObserver.observe(el);\n // Initialize\n this.userNameContent.set(el.innerHTML.trim());\n // Watch for changes in projected content\n const mutationObserver = new MutationObserver(() => {\n this.userNameContent.set(el.innerHTML.trim());\n });\n mutationObserver.observe(el, {\n childList: true,\n characterData: true,\n subtree: true\n });\n this._destroyRef.onDestroy(() => {\n intersectionObserver.disconnect();\n mutationObserver.disconnect();\n });\n }\n /** Method that opens the user menu */\n open() {\n this.isOpenChangeHandle(true);\n }\n /** Method that closes the user menu */\n close() {\n this.isOpenChangeHandle(false);\n if (this._listItems().length > 0) {\n this._listItems().forEach((item) => {\n item.isOpen.set(false);\n item._elementRef?.nativeElement.querySelector('.fd-menu__link')?.classList.remove('is-active');\n });\n this._listItems()[0]?._tabIndex$.set(0);\n }\n this._clearSubmenu();\n this._dialogRef?.close();\n }\n /** Method that opens the user menu in dialog (for mobile mode) */\n openDialog(dialogTemplate) {\n this._dialogRef = this._dialogService.open(dialogTemplate, {\n mobile: true,\n verticalPadding: false,\n horizontalPadding: false,\n ariaLabelledBy: 'fd-user-menu-header',\n ariaDescribedBy: 'fd-user-menu-body',\n contentDensity: ContentDensityMode.COZY\n });\n const refSub = this._dialogRef.afterClosed.subscribe({\n next: () => {\n this.userMenuControl()?.focus();\n refSub.unsubscribe();\n },\n error: (type) => {\n if (type === 'escape') {\n this._clearSubmenu();\n refSub.unsubscribe();\n }\n }\n });\n }\n /** @hidden */\n isOpenChangeHandle(isOpen) {\n if (this.isOpen() === isOpen) {\n return;\n }\n this.isOpen.set(isOpen);\n this.isOpenChange.emit(isOpen);\n if (!isOpen && !this.mobile()) {\n this.userMenuControl()?.focus();\n }\n const userMenuControlEl = this.userMenuControlElement()?.nativeElement;\n this.userMenuControlElement()?.nativeElement &&\n (isOpen\n ? this._renderer.addClass(userMenuControlEl, 'is-active')\n : this._renderer.removeClass(userMenuControlEl, 'is-active'));\n this._changeDetectionRef.detectChanges();\n }\n /** @hidden */\n _clearSubmenu() {\n const userMenuBody = this.userMenuBody();\n if (userMenuBody) {\n userMenuBody.clearSubmenu();\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.4\", type: UserMenuComponent, isStandalone: true, selector: \"fd-user-menu\", inputs: { mobile: { classPropertyName: \"mobile\", publicName: \"mobile\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isOpenChange: \"isOpenChange\" }, host: { classAttribute: \"fd-user-menu\" }, providers: [KeyboardSupportService, contentDensityObserverProviders()], queries: [{ propertyName: \"userMenuControl\", first: true, predicate: UserMenuControlComponent, descendants: true, isSignal: true }, { propertyName: \"userNameEl\", first: true, predicate: UserMenuUserNameDirective, descendants: true, read: ElementRef, isSignal: true }, { propertyName: \"userMenuControlElement\", first: true, predicate: UserMenuControlElementDirective, descendants: true, read: ElementRef, isSignal: true }, { propertyName: \"userMenuBody\", first: true, predicate: UserMenuBodyComponent, descendants: true, isSignal: true }, { propertyName: \"_listItems\", predicate: UserMenuListItemComponent, descendants: true, isSignal: true }], ngImport: i0, template: \"@if (!mobile()) {\\n <fd-popover\\n [isOpen]=\\\"isOpen()\\\"\\n (isOpenChange)=\\\"isOpenChangeHandle($event)\\\"\\n [focusAutoCapture]=\\\"true\\\"\\n [restoreFocusOnClose]=\\\"true\\\"\\n [focusTrapped]=\\\"true\\\"\\n [disableScrollbar]=\\\"true\\\"\\n [noArrow]=\\\"false\\\"\\n >\\n <fd-popover-control>\\n <ng-container *ngTemplateOutlet=\\\"control\\\"></ng-container>\\n </fd-popover-control>\\n <fd-popover-body fd-user-menu-popover-control>\\n <div class=\\\"fd-user-menu__popover-wrapper\\\">\\n <div\\n fd-popover-body-header\\n class=\\\"fd-user-menu__scroll-header\\\"\\n [class.hidden]=\\\"isUserNameVisible()\\\"\\n role=\\\"presentation\\\"\\n aria-hidden=\\\"true\\\"\\n >\\n <ng-container *ngTemplateOutlet=\\\"header\\\"></ng-container>\\n </div>\\n\\n <ng-container *ngTemplateOutlet=\\\"body\\\"></ng-container>\\n\\n <div fd-popover-body-footer>\\n <ng-container *ngTemplateOutlet=\\\"footer\\\"></ng-container>\\n </div>\\n </div>\\n </fd-popover-body>\\n </fd-popover>\\n} @else {\\n <span (click)=\\\"openDialog(dialogTemplate)\\\">\\n <ng-container *ngTemplateOutlet=\\\"control\\\"></ng-container>\\n </span>\\n\\n <ng-template [fdDialogTemplate] let-dialog let-dialogConfig=\\\"dialogConfig\\\" #dialogTemplate>\\n <fd-dialog [dialogConfig]=\\\"dialogConfig\\\" [dialogRef]=\\\"dialog\\\">\\n <fd-dialog-header>\\n @if (userMenuBody()?.bodyHeader()) {\\n <ng-template fdkTemplate=\\\"header\\\">\\n <ng-container\\n *ngTemplateOutlet=\\\"userMenuBody()?.bodyHeader() ?? null; context: { dialogRef: dialog }\\\"\\n >\\n </ng-container>\\n </ng-template>\\n }\\n </fd-dialog-header>\\n <fd-dialog-body style=\\\"padding: 0\\\">\\n <ng-container *ngTemplateOutlet=\\\"body\\\"></ng-container>\\n </fd-dialog-body>\\n <fd-dialog-footer>\\n <ng-template fdkTemplate=\\\"customFooter\\\">\\n <ng-container *ngTemplateOutlet=\\\"footer\\\"></ng-container>\\n </ng-template>\\n </fd-dialog-footer>\\n </fd-dialog>\\n </ng-template>\\n}\\n\\n<ng-template #control>\\n <ng-content select=\\\"fd-user-menu-control\\\" />\\n</ng-template>\\n\\n<ng-template #header>\\n <div fd-popover-body-header>\\n <div fd-bar barDesign=\\\"header\\\">\\n <div fd-bar-middle>\\n <fd-bar-element>\\n <div\\n class=\\\"fd-user-menu__user-name fd-user-menu__user-name--truncate\\\"\\n [innerHTML]=\\\"userNameContent()\\\"\\n ></div>\\n </fd-bar-element>\\n </div>\\n </div>\\n </div>\\n</ng-template>\\n\\n<ng-template #body>\\n <ng-content select=\\\"fd-user-menu-body\\\" />\\n</ng-template>\\n\\n<ng-template #footer>\\n <ng-content select=\\\"fd-user-menu-footer\\\" />\\n</ng-template>\\n\", styles: [\"@charset \\\"UTF-8\\\";.fd-dialog__body{--fdButton_Menu_Border_Radius:0}.fd-menu{--fdMenu_Icon_Width:2.25rem;--fdMenu_Link_Height:2.75rem;--fdMenu_Item_Spacing_Left:.75rem;--fdMenu_Item_Spacing_Right:.75rem;--fdMenu_Item_Border_Bottom_Color:transparent;--fdMenu_Shortcut_Padding_Left:1rem;--fdMenu_Shortcut_Padding_Right:.75rem;--fdMenu_Text_Spacing_Right:.75rem;--fdMenu_Icon_Color:var(--sapContent_NonInteractiveIconColor);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Regular);--fdMenu_Text_Color:var(--sapList_TextColor);--fdMenu_Item_Background_Color:var(--sapList_Background);--fdMenu_Active_Dot_Size:.75rem;border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.fd-menu:after,.fd-menu:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__list,.fd-menu__sublist{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;border-radius:var(--fdButton_Menu_Border_Radius);-webkit-box-shadow:var(--sapContent_Shadow1);box-shadow:var(--sapContent_Shadow1);-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:wrap;flex-wrap:wrap;list-style:none;max-width:20rem}.fd-menu__list:after,.fd-menu__list:before,.fd-menu__sublist:after,.fd-menu__sublist:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__list--no-shadow,.fd-menu__sublist--no-shadow{-webkit-box-shadow:none;box-shadow:none}.fd-menu__sublist{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;left:100%;line-height:normal;margin-block:0;margin-block:.25rem 0;margin-inline:0;margin-inline:-.25rem 0;min-width:100%;padding-block:0;padding-inline:0;position:absolute;top:0;z-index:2}.fd-menu__sublist:after,.fd-menu__sublist:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__sublist[dir=rtl],[dir=rtl] .fd-menu__sublist{left:auto;right:100%}.fd-menu__sublist[aria-hidden=true]{display:none}.fd-menu__list>.fd-menu__item{position:relative;width:100%}.fd-menu__list--overflow{-ms-flex-wrap:nowrap;flex-wrap:nowrap;overflow-y:scroll;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-menu__list--overflow.is-focus,.fd-menu__list--overflow:focus{outline:none;z-index:5}.fd-menu__list--overflow::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-menu__list--overflow::-webkit-scrollbar-corner,.fd-menu__list--overflow::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-menu__list--overflow::-webkit-scrollbar-thumb{background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-menu__list--overflow::-webkit-scrollbar-thumb:active,.fd-menu__list--overflow::-webkit-scrollbar-thumb:hover{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-menu__list--overflow::-webkit-scrollbar-corner,.fd-menu__list--overflow::-webkit-scrollbar-track{border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}.fd-menu__list--overflow[dir=rtl]::-webkit-scrollbar-corner,.fd-menu__list--overflow[dir=rtl]::-webkit-scrollbar-track,[dir=rtl] .fd-menu__list--overflow::-webkit-scrollbar-corner,[dir=rtl] .fd-menu__list--overflow::-webkit-scrollbar-track{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fd-menu__separator{background-color:var(--sapGroup_ContentBorderColor);border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:.0625rem;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;width:100%}.fd-menu__separator:after,.fd-menu__separator:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__item{background-color:var(--sapList_Background);border:0;border-radius:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;max-width:100%;padding-block:0;padding-inline:0;position:relative}.fd-menu__item:after,.fd-menu__item:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__item:first-child,.fd-menu__item:first-child .fd-menu__link:after{border-top-left-radius:var(--fdButton_Menu_Border_Radius);border-top-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu__item:last-of-type,.fd-menu__item:last-of-type .fd-menu__link:after{border-bottom-left-radius:var(--fdButton_Menu_Border_Radius);border-bottom-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu__item.has-separator{border-bottom:.0625rem solid var(--sapGroup_ContentBorderColor)}.fd-menu__link{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:var(--fdMenu_Item_Background_Color);border-bottom:.0625rem solid var(--fdMenu_Item_Border_Bottom_Color);border-radius:inherit;height:var(--fdMenu_Link_Height);outline:none;padding-inline:var(--fdMenu_Item_Spacing_Left) var(--fdMenu_Item_Spacing_Right);text-decoration:none;width:100%}.fd-menu__link:after,.fd-menu__link:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__link.is-focus:after,.fd-menu__link:focus:after{border-color:var(--sapContent_FocusColor);border-radius:0!important;border-style:var(--sapContent_FocusStyle);border-width:var(--sapContent_FocusWidth);content:\\\"\\\";inset:.125rem;pointer-events:none;position:absolute}.fd-menu__link.is-hover,.fd-menu__link:hover{--fdMenu_Item_Background_Color:var(--sapList_Hover_Background)}.fd-menu__link.is-selected,.fd-menu__link[aria-selected=true]{--fdMenu_Item_Background_Color:var(--sapList_SelectionBackgroundColor);--fdMenu_Icon_Color:var(--sapContent_NonInteractiveIconColor);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Selected);--fdMenu_Text_Color:var(--sapList_TextColor);--fdMenu_Item_Border_Bottom_Color:var(--sapList_SelectionBorderColor)}.fd-menu__link.is-selected.is-hover:not(:active,.is-active),.fd-menu__link.is-selected:hover:not(:active,.is-active),.fd-menu__link[aria-selected=true].is-hover:not(:active,.is-active),.fd-menu__link[aria-selected=true]:hover:not(:active,.is-active){--fdMenu_Item_Background_Color:var(--sapList_Hover_SelectionBackground);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Selected_Hover)}.fd-menu__link.is-selected.is-focus,.fd-menu__link.is-selected:focus,.fd-menu__link[aria-selected=true].is-focus,.fd-menu__link[aria-selected=true]:focus{z-index:5}.fd-menu__link.is-selected.is-focus:after,.fd-menu__link.is-selected:focus:after,.fd-menu__link[aria-selected=true].is-focus:after,.fd-menu__link[aria-selected=true]:focus:after{bottom:.125rem}.fd-menu__link.is-active,.fd-menu__link:active{--fdMenu_Item_Background_Color:var(--sapList_Active_Background);--fdMenu_Icon_Color:var(--sapList_Active_TextColor);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Active);--fdMenu_Text_Color:var(--fdMenu_Text_Color_Active)}.fd-menu__link.is-active:after,.fd-menu__link:active:after{display:none}.fd-menu__link.is-active.is-focus,.fd-menu__link.is-active:focus,.fd-menu__link:active.is-focus,.fd-menu__link:active:focus{outline-color:var(--fdMenu_Active_State_Focus);z-index:5}.fd-menu__link.is-disabled,.fd-menu__link:disabled,.fd-menu__link[aria-disabled=true]{opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-menu__link.is-disabled.is-focus,.fd-menu__link.is-disabled:focus,.fd-menu__link:disabled.is-focus,.fd-menu__link:disabled:focus,.fd-menu__link[aria-disabled=true].is-focus,.fd-menu__link[aria-disabled=true]:focus{z-index:5}.fd-menu__link.is-disabled.is-focus:after,.fd-menu__link.is-disabled:focus:after,.fd-menu__link:disabled.is-focus:after,.fd-menu__link:disabled:focus:after,.fd-menu__link[aria-disabled=true].is-focus:after,.fd-menu__link[aria-disabled=true]:focus:after{display:none}.fd-menu__link.has-child{--fdMenu_Item_Spacing_Right:0}.fd-menu__link.has-child.is-expanded:not(:active,.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active){--fdMenu_Item_Background_Color:var(--sapList_SelectionBackgroundColor);--fdMenu_Icon_Color:var(--sapContent_NonInteractiveIconColor);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Selected);--fdMenu_Text_Color:var(--sapList_TextColor);--fdMenu_Item_Border_Bottom_Color:var(--sapList_SelectionBorderColor)}.fd-menu__link.has-child.is-expanded:not(:active,.is-active).is-hover:not(:active,.is-active),.fd-menu__link.has-child.is-expanded:not(:active,.is-active):hover:not(:active,.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active).is-hover:not(:active,.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active):hover:not(:active,.is-active){--fdMenu_Item_Background_Color:var(--sapList_Hover_SelectionBackground);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Selected_Hover)}.fd-menu__link.has-child.is-expanded:not(:active,.is-active).is-focus,.fd-menu__link.has-child.is-expanded:not(:active,.is-active):focus,.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active).is-focus,.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active):focus{z-index:5}.fd-menu__link.has-child.is-expanded:not(:active,.is-active).is-focus:after,.fd-menu__link.has-child.is-expanded:not(:active,.is-active):focus:after,.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active).is-focus:after,.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active):focus:after{bottom:.125rem}.fd-menu__title{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--fdMenu_Text_Color);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;overflow:hidden;padding-block:0;padding-inline:0;text-align:left;text-overflow:ellipsis;text-shadow:var(--fdMenu_Text_Shadow);white-space:nowrap;width:100%}.fd-menu__title:after,.fd-menu__title:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__title[dir=rtl],[dir=rtl] .fd-menu__title{text-align:right}.fd-menu__title:has(+.fd-menu__input){min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.fd-menu__addon-after,.fd-menu__addon-before{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:transparent;color:var(--fdMenu_Icon_Color);font-size:var(--sapFontLargeSize);height:100%;max-width:var(--fdMenu_Icon_Width);min-width:var(--fdMenu_Icon_Width);text-shadow:var(--fdMenu_Text_Shadow);width:var(--fdMenu_Icon_Width)}.fd-menu__addon-after:after,.fd-menu__addon-after:before,.fd-menu__addon-before:after,.fd-menu__addon-before:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__addon-after [class*=sap-icon],.fd-menu__addon-after[class*=sap-icon],.fd-menu__addon-before [class*=sap-icon],.fd-menu__addon-before[class*=sap-icon]{background:inherit;border-radius:inherit;color:inherit;font-size:inherit;line-height:1}.fd-menu__addon-after--submenu{font-size:var(--fdMenu_Affordance_Arrow_Size)}.fd-menu__addon-after--submenu:before{content:\\\"\\\\e066\\\"}.fd-menu__addon-after--submenu:before,.fd-menu__addon-after--submenu[dir=rtl]:before,[dir=rtl] .fd-menu__addon-after--submenu:before{font-family:SAP-icons;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-menu__addon-after--submenu[dir=rtl]:before,[dir=rtl] .fd-menu__addon-after--submenu:before{content:\\\"\\\\e067\\\"}.fd-menu__active-dot{background:var(--sapContent_Selected_ForegroundColor);border:0;border-radius:100%;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--fdMenu_Active_Dot_Size);line-height:normal;margin-block:0;margin-inline:0;min-width:var(--fdMenu_Active_Dot_Size);padding-block:0;padding-inline:0;width:var(--fdMenu_Active_Dot_Size)}.fd-menu__active-dot:after,.fd-menu__active-dot:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__checkmark [class*=sap-icon],.fd-menu__checkmark[class*=sap-icon]{background:inherit;border-radius:inherit;color:inherit;color:var(--sapContent_Selected_ForegroundColor);font-size:inherit;font-size:1rem;line-height:1}.fd-menu__shortcut{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;overflow:hidden;padding-block:0;padding-inline:0;text-overflow:ellipsis;white-space:nowrap;-ms-flex-negative:0;color:var(--fdMenu_Shortcut_Color);flex-shrink:0;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;-webkit-padding-start:var(--fdMenu_Shortcut_Padding_Left);padding-inline-start:var(--fdMenu_Shortcut_Padding_Left)}.fd-menu__shortcut:after,.fd-menu__shortcut:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__shortcut:last-child{padding-inline:var(--fdMenu_Shortcut_Padding_Left) var(--fdMenu_Shortcut_Padding_Right)}.fd-menu--overflow{border-radius:var(--fdButton_Menu_Border_Radius);-webkit-box-shadow:var(--sapContent_Shadow1);box-shadow:var(--sapContent_Shadow1);overflow-y:scroll;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-menu--overflow.is-focus,.fd-menu--overflow:focus{outline:none;z-index:5}.fd-menu--overflow::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-menu--overflow::-webkit-scrollbar-corner,.fd-menu--overflow::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-menu--overflow::-webkit-scrollbar-thumb{background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-menu--overflow::-webkit-scrollbar-thumb:active,.fd-menu--overflow::-webkit-scrollbar-thumb:hover{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-menu--overflow::-webkit-scrollbar-corner,.fd-menu--overflow::-webkit-scrollbar-track{border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}.fd-menu--overflow[dir=rtl]::-webkit-scrollbar-corner,.fd-menu--overflow[dir=rtl]::-webkit-scrollbar-track,[dir=rtl] .fd-menu--overflow::-webkit-scrollbar-corner,[dir=rtl] .fd-menu--overflow::-webkit-scrollbar-track{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fd-menu--overflow .fd-menu__list{-webkit-box-shadow:none;box-shadow:none}.fd-menu--overflow .fd-menu__item:first-child{border-top-right-radius:0}.fd-menu--overflow .fd-menu__item:first-child[dir=rtl],[dir=rtl] .fd-menu--overflow .fd-menu__item:first-child{border-top-left-radius:0;border-top-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu--overflow .fd-menu__item:last-of-type{border-bottom-right-radius:0}.fd-menu--overflow .fd-menu__item:last-of-type[dir=rtl],[dir=rtl] .fd-menu--overflow .fd-menu__item:last-of-type{border-bottom-left-radius:0;border-bottom-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu--full-width{max-width:100%}.fd-menu--icons{--fdMenu_Item_Spacing_Left:0;--fdMenu_Item_Spacing_Right:0}.fd-menu--icons .fd-menu__title:first-child{-webkit-margin-start:var(--fdMenu_Icon_Width);margin-inline-start:var(--fdMenu_Icon_Width)}.fd-menu--icons .fd-menu__title:last-child{-webkit-margin-end:var(--fdMenu_Text_Spacing_Right);margin-inline-end:var(--fdMenu_Text_Spacing_Right)}.fd-menu--icons .fd-menu__title:only-child{margin-inline:var(--fdMenu_Icon_Width) var(--fdMenu_Text_Spacing_Right)}.fd-menu--icons .fd-menu__sublist{--fdMenu_Item_Spacing_Left:1rem;--fdMenu_Item_Spacing_Right:1rem}.fd-menu--icons .fd-menu__sublist .fd-menu__title:first-child{-webkit-margin-start:0;margin-inline-start:0}.fd-menu--icons .fd-menu__sublist .fd-menu__title:last-child{-webkit-margin-end:0;margin-inline-end:0}.fd-menu--icons .fd-menu__sublist .fd-menu__title:only-child{margin-inline:0}.fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons{--fdMenu_Item_Spacing_Left:0;--fdMenu_Item_Spacing_Right:0}.fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons .fd-menu__title:first-child{-webkit-margin-start:var(--fdMenu_Icon_Width);margin-inline-start:var(--fdMenu_Icon_Width)}.fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons .fd-menu__title:last-child{-webkit-margin-end:var(--fdMenu_Text_Spacing_Right);margin-inline-end:var(--fdMenu_Text_Spacing_Right)}.fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons .fd-menu__title:only-child{margin-inline:var(--fdMenu_Icon_Width) var(--fdMenu_Text_Spacing_Right)}.fd-menu--icons .fd-menu__input,.fd-menu--icons input{margin-inline:var(--fdMenu_Text_Spacing_Right) var(--fdMenu_Text_Spacing_Right)}.fd-menu--mobile{max-width:100%;width:100%;--fdMenu_Icon_Width:2.75rem;--fdMenu_Item_Spacing_Left:1rem;--fdMenu_Item_Spacing_Right:1rem;--fdMenu_Shortcut_Padding_Right:1rem;--fdMenu_Text_Spacing_Right:1rem}.fd-menu--mobile .fd-menu__list,.fd-menu--mobile .fd-menu__sublist{border-radius:0;-webkit-box-shadow:none;box-shadow:none;margin-block:0;margin-inline:0;position:static}.fd-menu--mobile .fd-menu__list .fd-menu__item,.fd-menu--mobile .fd-menu__sublist .fd-menu__item{border-radius:0}.fd-menu--mobile.fd-menu--icons{--fdMenu_Item_Spacing_Left:0;--fdMenu_Item_Spacing_Right:0}.fd-menu--mobile.fd-menu--icons .fd-menu__input,.fd-menu--mobile.fd-menu--icons input{margin-inline:1rem}.fd-menu[class*=-compact],.fd-menu[class*=-condensed],[class*=-compact] .fd-menu:not([class*=-cozy]),[class*=-condensed] .fd-menu:not([class*=-cozy]){--fdMenu_Icon_Width:2rem;--fdMenu_Link_Height:2rem;--fdMenu_Item_Spacing_Left:.5rem;--fdMenu_Item_Spacing_Right:.5rem;--fdMenu_Shortcut_Padding_Right:.5rem;--fdMenu_Text_Spacing_Right:.5rem}.fd-menu[class*=-compact].fd-menu--icons,.fd-menu[class*=-condensed].fd-menu--icons,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons,[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons{--fdMenu_Item_Spacing_Left:0;--fdMenu_Item_Spacing_Right:0}.fd-menu[class*=-compact].fd-menu--icons .fd-menu__input,.fd-menu[class*=-compact].fd-menu--icons input,.fd-menu[class*=-condensed].fd-menu--icons .fd-menu__input,.fd-menu[class*=-condensed].fd-menu--icons input,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__input,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons input,[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__input,[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons input{margin-inline:.5rem}.fd-menu[class*=-compact].fd-menu--icons .fd-menu__sublist,.fd-menu[class*=-condensed].fd-menu--icons .fd-menu__sublist,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__sublist,[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__sublist{--fdMenu_Item_Spacing_Left:.5rem;--fdMenu_Item_Spacing_Right:.5rem}.fd-menu[class*=-compact].fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons,.fd-menu[class*=-condensed].fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons,[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons{--fdMenu_Item_Spacing_Left:0;--fdMenu_Item_Spacing_Right:0}.fd-user-menu{background:var(--sapGroup_ContentBackground)}.fd-user-menu .fd-user-menu__title-bar{--fdBar_Shadow: none}.fd-user-menu .fd-panel__header:has(.fd-panel__button[aria-expanded=false]){--fdPanel_Header_Border_Bottom_Left_Radius: 0;--fdPanel_Header_Border_Bottom_Right_Radius: 0}.fd-user-menu .fd-user-menu__popover-wrapper{overflow:visible;width:20rem;min-width:20rem}.fd-user-menu__body{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:.5rem;overflow:visible;min-width:18rem;max-width:20rem;position:relative;padding-inline:.5rem;padding-block:2.5rem .5rem}.fd-user-menu__body:before,.fd-user-menu__body:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-user-menu__header{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:.5rem;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.fd-user-menu__header:before,.fd-user-menu__header:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-user-menu__header-container,.fd-user-menu__subheader{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:.25rem;-webkit-box-align:center;-ms-flex-align:center;align-items:center;max-width:100%;text-align:center;-webkit-margin-after:.5rem;margin-block-end:.5rem}.fd-user-menu__header-container:before,.fd-user-menu__header-container:after,.fd-user-menu__subheader:before,.fd-user-menu__subheader:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-user-menu__user-name{font-size:var(--sapFontSize);line-height:normal;font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;max-width:100%;line-height:1.4rem;white-space:normal;color:var(--sapTextColor);font-size:var(--sapFontLargeSize);font-family:var(--sapFontSemiboldDuplexFamily)}.fd-user-menu__user-name:before,.fd-user-menu__user-name:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-user-menu__user-name--truncate{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal;text-overflow:ellipsis;max-height:2.8rem}.fd-user-menu__user-info,.fd-user-menu__user-role,.fd-user-menu__subline{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;width:100%;max-width:100%;white-space:normal;color:var(--sapContent_LabelColor);word-wrap:break-word;overflow-wrap:break-word}.fd-user-menu__user-info:before,.fd-user-menu__user-info:after,.fd-user-menu__user-role:before,.fd-user-menu__user-role:after,.fd-user-menu__subline:before,.fd-user-menu__subline:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-user-menu__user-info--truncate,.fd-user-menu__user-role--truncate,.fd-user-menu__subline--truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fd-user-menu .fd-user-menu__menu{width:100%}.fd-user-menu .fd-user-menu__menu-list{-webkit-box-shadow:none;box-shadow:none;border-radius:0}.fd-user-menu .fd-user-menu__menu-list>*:first-child,.fd-user-menu .fd-user-menu__menu-list>*:last-child{border-radius:0}.fd-user-menu .fd-user-menu__menu-list.fd-user-menu__menu-list{-webkit-box-shadow:none;box-shadow:none;border-radius:0}.fd-user-menu .fd-user-menu__menu-list.fd-user-menu__menu-list>*:first-child,.fd-user-menu .fd-user-menu__menu-list.fd-user-menu__menu-list>*:last-child{border-radius:0}.fd-user-menu .fd-user-menu__panel>div{border-radius:0}.fd-user-menu__content-container{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;--fdPanel_Margin_Bottom: .25rem}.fd-user-menu__content-container:before,.fd-user-menu__content-container:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}[class*=-condensed] .fd-user-menu .fd-menu:not([class*=-cozy]),[class*=-compact] .fd-user-menu .fd-menu:not([class*=-cozy]),.fd-user-menu .fd-menu[class*=-condensed],.fd-user-menu .fd-menu[class*=-compact]{--fdMenu_Icon_Width: 2.5rem;--fdMenu_Link_Height: 2.5rem;--fdMenu_Item_Spacing_Left: .75rem;--fdMenu_Item_Spacing_Right: .75rem}.fd-user-menu--mobile{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:100%;-webkit-padding-before:0;padding-block-start:0}.fd-user-menu--mobile .fd-user-menu__body{-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-padding-before:1rem;padding-block-start:1rem}.fd-user-menu--tool-header .fd-user-menu__user-name{font-family:var(--sapFontBlackFamily);font-size:1.25rem;line-height:1.3;color:var(-\\\\2013sapTitleColor)}.fd-user-menu--tool-header .fd-user-menu__navigation-submenu{top:-.5rem;border:none;padding-block:.5rem;padding-inline:.5rem;border-radius:.5rem;-webkit-margin-end:.3875rem;margin-inline-end:.3875rem;-webkit-box-shadow:var(--sapMenu_Shadow1);box-shadow:var(--sapMenu_Shadow1);background:var(--sapGroup_ContentBackground)}.fd-user-menu--tool-header .fd-user-menu__navigation-submenu-wrapper{overflow:visible}.fd-user-menu--tool-header .fd-user-menu__user-role{font-family:var(--sapFontFamily);font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(\\\\2013sapContent_LabelColor)}.fd-user-menu--tool-header .fd-user-menu__body{overflow:visible}.fd-user-menu--tool-header .fd-user-menu__body:has(.fd-user-menu__navigation-menu:first-child){padding-block:0}.fd-user-menu--tool-header .fd-user-menu__popover-body{border:none;padding-block:.75rem;padding-inline:0;border-radius:.75rem;-webkit-box-shadow:var(--sapMenu_Shadow2);box-shadow:var(--sapMenu_Shadow2);background:var(--sapGroup_ContentBackground)}.fd-user-menu--tool-header .fd-user-menu__footer{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding-block:.75rem;padding-inline:1.125rem}.fd-user-menu--tool-header .fd-user-menu__footer:before,.fd-user-menu--tool-header .fd-user-menu__footer:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-user-menu--tool-header .fd-navigation__item.fd-navigation__item--title{--fdNavigation_Item_Title_Display: flex;-webkit-margin-after:1rem;margin-block-end:1rem}.fd-user-menu__body .fd-list--subline .fd-list__item{height:auto}.fd-user-menu__body .fd-list--subline .fd-list__title{width:100%;max-width:100%;font-style:normal;line-height:normal;white-space:normal;font-size:var(--sapFontSize);color:var(--sapList_TextColor);font-family:var(--sapFontSemiboldDuplexFamily)}.fd-user-menu__body .fd-list--subline .fd-list__title--truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fd-user-menu__body .fd-list--subline .fd-list__subline{color:var(--sapTextColor);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;width:100%;max-width:100%;word-wrap:break-word;overflow-wrap:break-word;font-style:normal;line-height:normal;white-space:normal;font-size:var(--sapFontSize);font-family:var(--sapFontFamily);color:var(--sapContent_LabelColor)}.fd-user-menu__body .fd-list--subline .fd-list__subline--truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fd-user-menu{background:transparent}.fd-user-menu__menu.fd-menu{width:100%;margin-block-start:.25rem}.fd-menu__list.fd-user-menu__menu-list>.fd-menu__item{position:unset;width:100%}.fd-dialog__body .fd-user-menu__body{min-width:100%;max-width:100%;min-height:100%;max-height:100%}.fd-dialog__body .fd-user-menu__body .fd-menu__list.fd-user-menu__menu-list{min-width:100%}.fd-user-menu__details-view .fd-menu.fd-user-menu__menu{padding:1rem}.fd-user-menu__main-view-bar.fd-bar{box-shadow:none}.fd-menu__link{position:relative}.fd-menu__item:is(:focus,:focus-within,:focus-visible){outline:none}fd-user-menu-control{display:flex;width:fit-content;height:fit-content;align-items:center;border-radius:50rem;justify-content:center}fd-user-menu-control:is(:focus){outline-offset:.0625rem;outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor)}.fd-user-menu__menu-list.fd-user-menu__menu-list{box-shadow:none;border-radius:0}.fd-user-menu__menu-list.fd-user-menu__menu-list>*:first-child,.fd-user-menu__menu-list.fd-user-menu__menu-list>*:last-child{border-radius:0}.fd-user-menu__body{position:relative;width:20rem;min-width:20rem;max-width:20rem}.fd-user-menu__body:has(.fd-user-menu__details-view){padding:0}.fd-user-menu__header-container{max-width:100%}.fd-user-menu .fd-popover__body>.fd-scrollbar{width:20rem;min-width:20rem;max-width:20rem}.fd-user-menu__scroll-header{width:20rem;min-width:20rem;max-width:20rem;position:absolute;top:0;z-index:10;overflow:hidden;border-top-left-radius:var(--fdPopover_Border_Radius);border-top-right-radius:var(--fdPopover_Border_Radius);background:var(--sapPageHeader_Background);transition:all .15s ease}.fd-user-menu__scroll-header.hidden{opacity:0;pointer-events:none}.fd-user-menu__scroll-header-element{transition:all .15s ease}.fd-user-menu__scroll-header-element.hidden{opacity:0;pointer-events:none}.fd-user-menu__footer .fd-bar.fd-bar--footer{position:sticky;bottom:0}.fd-user-menu__popover-wrapper{overflow:auto;display:flex;flex-direction:column;overscroll-behavior:contain;scroll-behavior:smooth;overflow-anchor:none}.fd-user-menu__body{overflow:auto;flex:1}.fd-user-menu__footer{min-height:2rem}\\n/*! Bundled license information:\\n\\nfundamental-styles/dist/menu.css:\\n (*!\\n * Fundamental Library Styles v0.40.1\\n * Copyright (c) 2025 SAP SE or an SAP affiliate company.\\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\\n *)\\n*/\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i1.NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"component\", type: BarComponent, selector: \"[fd-bar]\", inputs: [\"class\", \"barDesign\", \"inPage\", \"inHomePage\", \"clear\", \"size\", \"role\"] }, { kind: \"directive\", type: BarMiddleDirective, selector: \"[fd-bar-middle]\" }, { kind: \"directive\", type: BarElementDirective, selector: \"fd-bar-element\", inputs: [\"fullWidth\"] }, { kind: \"component\", type: PopoverComponent, selector: \"fd-popover\", inputs: [\"title\", \"trigger\", \"fixedPosition\", \"id\", \"mobile\", \"mobileConfig\", \"preventSpaceKeyScroll\"] }, { kind: \"component\", type: PopoverBodyComponent, selector: \"fd-popover-body\", inputs: [\"minWidth\", \"maxWidth\", \"minHeight\", \"maxHeight\"] }, { kind: \"component\", type: PopoverControlComponent, selector: \"fd-popover-control, [fdPopoverControl]\" }, { kind: \"component\", type: DialogComponent, selector: \"fd-dialog\", inputs: [\"class\", \"dialogRef\", \"dialogConfig\"] }, { kind: \"component\", type: DialogBodyComponent, selector: \"fd-dialog-body\", inputs: [\"disablePaddings\"] }, { kind: \"component\", type: DialogFooterComponent, selector: \"fd-dialog-footer\" }, { kind: \"component\", type: DialogHeaderComponent, selector: \"fd-dialog-header\" }, { kind: \"directive\", type: TemplateDirective, selector: \"[fdkTemplate]\", inputs: [\"fdkTemplate\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuComponent, decorators: [{\n type: Component,\n args: [{ selector: 'fd-user-menu', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {\n class: 'fd-user-menu'\n }, imports: [\n CommonModule,\n BarComponent,\n BarMiddleDirective,\n BarElementDirective,\n PopoverComponent,\n PopoverBodyComponent,\n PopoverControlComponent,\n DialogComponent,\n DialogBodyComponent,\n DialogFooterComponent,\n DialogHeaderComponent,\n TemplateDirective\n ], providers: [KeyboardSupportService, contentDensityObserverProviders()], template: \"@if (!mobile()) {\\n <fd-popover\\n [isOpen]=\\\"isOpen()\\\"\\n (isOpenChange)=\\\"isOpenChangeHandle($event)\\\"\\n [focusAutoCapture]=\\\"true\\\"\\n [restoreFocusOnClose]=\\\"true\\\"\\n [focusTrapped]=\\\"true\\\"\\n [disableScrollbar]=\\\"true\\\"\\n [noArrow]=\\\"false\\\"\\n >\\n <fd-popover-control>\\n <ng-container *ngTemplateOutlet=\\\"control\\\"></ng-container>\\n </fd-popover-control>\\n <fd-popover-body fd-user-menu-popover-control>\\n <div class=\\\"fd-user-menu__popover-wrapper\\\">\\n <div\\n fd-popover-body-header\\n class=\\\"fd-user-menu__scroll-header\\\"\\n [class.hidden]=\\\"isUserNameVisible()\\\"\\n role=\\\"presentation\\\"\\n aria-hidden=\\\"true\\\"\\n >\\n <ng-container *ngTemplateOutlet=\\\"header\\\"></ng-container>\\n </div>\\n\\n <ng-container *ngTemplateOutlet=\\\"body\\\"></ng-container>\\n\\n <div fd-popover-body-footer>\\n <ng-container *ngTemplateOutlet=\\\"footer\\\"></ng-container>\\n </div>\\n </div>\\n </fd-popover-body>\\n </fd-popover>\\n} @else {\\n <span (click)=\\\"openDialog(dialogTemplate)\\\">\\n <ng-container *ngTemplateOutlet=\\\"control\\\"></ng-container>\\n </span>\\n\\n <ng-template [fdDialogTemplate] let-dialog let-dialogConfig=\\\"dialogConfig\\\" #dialogTemplate>\\n <fd-dialog [dialogConfig]=\\\"dialogConfig\\\" [dialogRef]=\\\"dialog\\\">\\n <fd-dialog-header>\\n @if (userMenuBody()?.bodyHeader()) {\\n <ng-template fdkTemplate=\\\"header\\\">\\n <ng-container\\n *ngTemplateOutlet=\\\"userMenuBody()?.bodyHeader() ?? null; context: { dialogRef: dialog }\\\"\\n >\\n </ng-container>\\n </ng-template>\\n }\\n </fd-dialog-header>\\n <fd-dialog-body style=\\\"padding: 0\\\">\\n <ng-container *ngTemplateOutlet=\\\"body\\\"></ng-container>\\n </fd-dialog-body>\\n <fd-dialog-footer>\\n <ng-template fdkTemplate=\\\"customFooter\\\">\\n <ng-container *ngTemplateOutlet=\\\"footer\\\"></ng-container>\\n </ng-template>\\n </fd-dialog-footer>\\n </fd-dialog>\\n </ng-template>\\n}\\n\\n<ng-template #control>\\n <ng-content select=\\\"fd-user-menu-control\\\" />\\n</ng-template>\\n\\n<ng-template #header>\\n <div fd-popover-body-header>\\n <div fd-bar barDesign=\\\"header\\\">\\n <div fd-bar-middle>\\n <fd-bar-element>\\n <div\\n class=\\\"fd-user-menu__user-name fd-user-menu__user-name--truncate\\\"\\n [innerHTML]=\\\"userNameContent()\\\"\\n ></div>\\n </fd-bar-element>\\n </div>\\n </div>\\n </div>\\n</ng-template>\\n\\n<ng-template #body>\\n <ng-content select=\\\"fd-user-menu-body\\\" />\\n</ng-template>\\n\\n<ng-template #footer>\\n <ng-content select=\\\"fd-user-menu-footer\\\" />\\n</ng-template>\\n\", styles: [\"@charset \\\"UTF-8\\\";.fd-dialog__body{--fdButton_Menu_Border_Radius:0}.fd-menu{--fdMenu_Icon_Width:2.25rem;--fdMenu_Link_Height:2.75rem;--fdMenu_Item_Spacing_Left:.75rem;--fdMenu_Item_Spacing_Right:.75rem;--fdMenu_Item_Border_Bottom_Color:transparent;--fdMenu_Shortcut_Padding_Left:1rem;--fdMenu_Shortcut_Padding_Right:.75rem;--fdMenu_Text_Spacing_Right:.75rem;--fdMenu_Icon_Color:var(--sapContent_NonInteractiveIconColor);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Regular);--fdMenu_Text_Color:var(--sapList_TextColor);--fdMenu_Item_Background_Color:var(--sapList_Background);--fdMenu_Active_Dot_Size:.75rem;border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.fd-menu:after,.fd-menu:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__list,.fd-menu__sublist{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;border-radius:var(--fdButton_Menu_Border_Radius);-webkit-box-shadow:var(--sapContent_Shadow1);box-shadow:var(--sapContent_Shadow1);-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:wrap;flex-wrap:wrap;list-style:none;max-width:20rem}.fd-menu__list:after,.fd-menu__list:before,.fd-menu__sublist:after,.fd-menu__sublist:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__list--no-shadow,.fd-menu__sublist--no-shadow{-webkit-box-shadow:none;box-shadow:none}.fd-menu__sublist{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;left:100%;line-height:normal;margin-block:0;margin-block:.25rem 0;margin-inline:0;margin-inline:-.25rem 0;min-width:100%;padding-block:0;padding-inline:0;position:absolute;top:0;z-index:2}.fd-menu__sublist:after,.fd-menu__sublist:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__sublist[dir=rtl],[dir=rtl] .fd-menu__sublist{left:auto;right:100%}.fd-menu__sublist[aria-hidden=true]{display:none}.fd-menu__list>.fd-menu__item{position:relative;width:100%}.fd-menu__list--overflow{-ms-flex-wrap:nowrap;flex-wrap:nowrap;overflow-y:scroll;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-menu__list--overflow.is-focus,.fd-menu__list--overflow:focus{outline:none;z-index:5}.fd-menu__list--overflow::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-menu__list--overflow::-webkit-scrollbar-corner,.fd-menu__list--overflow::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-menu__list--overflow::-webkit-scrollbar-thumb{background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-menu__list--overflow::-webkit-scrollbar-thumb:active,.fd-menu__list--overflow::-webkit-scrollbar-thumb:hover{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-menu__list--overflow::-webkit-scrollbar-corner,.fd-menu__list--overflow::-webkit-scrollbar-track{border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}.fd-menu__list--overflow[dir=rtl]::-webkit-scrollbar-corner,.fd-menu__list--overflow[dir=rtl]::-webkit-scrollbar-track,[dir=rtl] .fd-menu__list--overflow::-webkit-scrollbar-corner,[dir=rtl] .fd-menu__list--overflow::-webkit-scrollbar-track{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fd-menu__separator{background-color:var(--sapGroup_ContentBorderColor);border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:.0625rem;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;width:100%}.fd-menu__separator:after,.fd-menu__separator:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__item{background-color:var(--sapList_Background);border:0;border-radius:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;max-width:100%;padding-block:0;padding-inline:0;position:relative}.fd-menu__item:after,.fd-menu__item:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__item:first-child,.fd-menu__item:first-child .fd-menu__link:after{border-top-left-radius:var(--fdButton_Menu_Border_Radius);border-top-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu__item:last-of-type,.fd-menu__item:last-of-type .fd-menu__link:after{border-bottom-left-radius:var(--fdButton_Menu_Border_Radius);border-bottom-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu__item.has-separator{border-bottom:.0625rem solid var(--sapGroup_ContentBorderColor)}.fd-menu__link{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:var(--fdMenu_Item_Background_Color);border-bottom:.0625rem solid var(--fdMenu_Item_Border_Bottom_Color);border-radius:inherit;height:var(--fdMenu_Link_Height);outline:none;padding-inline:var(--fdMenu_Item_Spacing_Left) var(--fdMenu_Item_Spacing_Right);text-decoration:none;width:100%}.fd-menu__link:after,.fd-menu__link:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__link.is-focus:after,.fd-menu__link:focus:after{border-color:var(--sapContent_FocusColor);border-radius:0!important;border-style:var(--sapContent_FocusStyle);border-width:var(--sapContent_FocusWidth);content:\\\"\\\";inset:.125rem;pointer-events:none;position:absolute}.fd-menu__link.is-hover,.fd-menu__link:hover{--fdMenu_Item_Background_Color:var(--sapList_Hover_Background)}.fd-menu__link.is-selected,.fd-menu__link[aria-selected=true]{--fdMenu_Item_Background_Color:var(--sapList_SelectionBackgroundColor);--fdMenu_Icon_Color:var(--sapContent_NonInteractiveIconColor);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Selected);--fdMenu_Text_Color:var(--sapList_TextColor);--fdMenu_Item_Border_Bottom_Color:var(--sapList_SelectionBorderColor)}.fd-menu__link.is-selected.is-hover:not(:active,.is-active),.fd-menu__link.is-selected:hover:not(:active,.is-active),.fd-menu__link[aria-selected=true].is-hover:not(:active,.is-active),.fd-menu__link[aria-selected=true]:hover:not(:active,.is-active){--fdMenu_Item_Background_Color:var(--sapList_Hover_SelectionBackground);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Selected_Hover)}.fd-menu__link.is-selected.is-focus,.fd-menu__link.is-selected:focus,.fd-menu__link[aria-selected=true].is-focus,.fd-menu__link[aria-selected=true]:focus{z-index:5}.fd-menu__link.is-selected.is-focus:after,.fd-menu__link.is-selected:focus:after,.fd-menu__link[aria-selected=true].is-focus:after,.fd-menu__link[aria-selected=true]:focus:after{bottom:.125rem}.fd-menu__link.is-active,.fd-menu__link:active{--fdMenu_Item_Background_Color:var(--sapList_Active_Background);--fdMenu_Icon_Color:var(--sapList_Active_TextColor);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Active);--fdMenu_Text_Color:var(--fdMenu_Text_Color_Active)}.fd-menu__link.is-active:after,.fd-menu__link:active:after{display:none}.fd-menu__link.is-active.is-focus,.fd-menu__link.is-active:focus,.fd-menu__link:active.is-focus,.fd-menu__link:active:focus{outline-color:var(--fdMenu_Active_State_Focus);z-index:5}.fd-menu__link.is-disabled,.fd-menu__link:disabled,.fd-menu__link[aria-disabled=true]{opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-menu__link.is-disabled.is-focus,.fd-menu__link.is-disabled:focus,.fd-menu__link:disabled.is-focus,.fd-menu__link:disabled:focus,.fd-menu__link[aria-disabled=true].is-focus,.fd-menu__link[aria-disabled=true]:focus{z-index:5}.fd-menu__link.is-disabled.is-focus:after,.fd-menu__link.is-disabled:focus:after,.fd-menu__link:disabled.is-focus:after,.fd-menu__link:disabled:focus:after,.fd-menu__link[aria-disabled=true].is-focus:after,.fd-menu__link[aria-disabled=true]:focus:after{display:none}.fd-menu__link.has-child{--fdMenu_Item_Spacing_Right:0}.fd-menu__link.has-child.is-expanded:not(:active,.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active){--fdMenu_Item_Background_Color:var(--sapList_SelectionBackgroundColor);--fdMenu_Icon_Color:var(--sapContent_NonInteractiveIconColor);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Selected);--fdMenu_Text_Color:var(--sapList_TextColor);--fdMenu_Item_Border_Bottom_Color:var(--sapList_SelectionBorderColor)}.fd-menu__link.has-child.is-expanded:not(:active,.is-active).is-hover:not(:active,.is-active),.fd-menu__link.has-child.is-expanded:not(:active,.is-active):hover:not(:active,.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active).is-hover:not(:active,.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active):hover:not(:active,.is-active){--fdMenu_Item_Background_Color:var(--sapList_Hover_SelectionBackground);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Selected_Hover)}.fd-menu__link.has-child.is-expanded:not(:active,.is-active).is-focus,.fd-menu__link.has-child.is-expanded:not(:active,.is-active):focus,.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active).is-focus,.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active):focus{z-index:5}.fd-menu__link.has-child.is-expanded:not(:active,.is-active).is-focus:after,.fd-menu__link.has-child.is-expanded:not(:active,.is-active):focus:after,.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active).is-focus:after,.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active):focus:after{bottom:.125rem}.fd-menu__title{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--fdMenu_Text_Color);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;overflow:hidden;padding-block:0;padding-inline:0;text-align:left;text-overflow:ellipsis;text-shadow:var(--fdMenu_Text_Shadow);white-space:nowrap;width:100%}.fd-menu__title:after,.fd-menu__title:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__title[dir=rtl],[dir=rtl] .fd-menu__title{text-align:right}.fd-menu__title:has(+.fd-menu__input){min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.fd-menu__addon-after,.fd-menu__addon-before{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:transparent;color:var(--fdMenu_Icon_Color);font-size:var(--sapFontLargeSize);height:100%;max-width:var(--fdMenu_Icon_Width);min-width:var(--fdMenu_Icon_Width);text-shadow:var(--fdMenu_Text_Shadow);width:var(--fdMenu_Icon_Width)}.fd-menu__addon-after:after,.fd-menu__addon-after:before,.fd-menu__addon-before:after,.fd-menu__addon-before:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__addon-after [class*=sap-icon],.fd-menu__addon-after[class*=sap-icon],.fd-menu__addon-before [class*=sap-icon],.fd-menu__addon-before[class*=sap-icon]{background:inherit;border-radius:inherit;color:inherit;font-size:inherit;line-height:1}.fd-menu__addon-after--submenu{font-size:var(--fdMenu_Affordance_Arrow_Size)}.fd-menu__addon-after--submenu:before{content:\\\"\\\\e066\\\"}.fd-menu__addon-after--submenu:before,.fd-menu__addon-after--submenu[dir=rtl]:before,[dir=rtl] .fd-menu__addon-after--submenu:before{font-family:SAP-icons;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-menu__addon-after--submenu[dir=rtl]:before,[dir=rtl] .fd-menu__addon-after--submenu:before{content:\\\"\\\\e067\\\"}.fd-menu__active-dot{background:var(--sapContent_Selected_ForegroundColor);border:0;border-radius:100%;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--fdMenu_Active_Dot_Size);line-height:normal;margin-block:0;margin-inline:0;min-width:var(--fdMenu_Active_Dot_Size);padding-block:0;padding-inline:0;width:var(--fdMenu_Active_Dot_Size)}.fd-menu__active-dot:after,.fd-menu__active-dot:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__checkmark [class*=sap-icon],.fd-menu__checkmark[class*=sap-icon]{background:inherit;border-radius:inherit;color:inherit;color:var(--sapContent_Selected_ForegroundColor);font-size:inherit;font-size:1rem;line-height:1}.fd-menu__shortcut{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;overflow:hidden;padding-block:0;padding-inline:0;text-overflow:ellipsis;white-space:nowrap;-ms-flex-negative:0;color:var(--fdMenu_Shortcut_Color);flex-shrink:0;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;-webkit-padding-start:var(--fdMenu_Shortcut_Padding_Left);padding-inline-start:var(--fdMenu_Shortcut_Padding_Left)}.fd-menu__shortcut:after,.fd-menu__shortcut:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__shortcut:last-child{padding-inline:var(--fdMenu_Shortcut_Padding_Left) var(--fdMenu_Shortcut_Padding_Right)}.fd-menu--overflow{border-radius:var(--fdButton_Menu_Border_Radius);-webkit-box-shadow:var(--sapContent_Shadow1);box-shadow:var(--sapContent_Shadow1);overflow-y:scroll;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-menu--overflow.is-focus,.fd-menu--overflow:focus{outline:none;z-index:5}.fd-menu--overflow::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-menu--overflow::-webkit-scrollbar-corner,.fd-menu--overflow::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-menu--overflow::-webkit-scrollbar-thumb{background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-menu--overflow::-webkit-scrollbar-thumb:active,.fd-menu--overflow::-webkit-scrollbar-thumb:hover{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-menu--overflow::-webkit-scrollbar-corner,.fd-menu--overflow::-webkit-scrollbar-track{border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}.fd-menu--overflow[dir=rtl]::-webkit-scrollbar-corner,.fd-menu--overflow[dir=rtl]::-webkit-scrollbar-track,[dir=rtl] .fd-menu--overflow::-webkit-scrollbar-corner,[dir=rtl] .fd-menu--overflow::-webkit-scrollbar-track{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fd-menu--overflow .fd-menu__list{-webkit-box-shadow:none;box-shadow:none}.fd-menu--overflow .fd-menu__item:first-child{border-top-right-radius:0}.fd-menu--overflow .fd-menu__item:first-child[dir=rtl],[dir=rtl] .fd-menu--overflow .fd-menu__item:first-child{border-top-left-radius:0;border-top-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu--overflow .fd-menu__item:last-of-type{border-bottom-right-radius:0}.fd-menu--overflow .fd-menu__item:last-of-type[dir=rtl],[dir=rtl] .fd-menu--overflow .fd-menu__item:last-of-type{border-bottom-left-radius:0;border-bottom-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu--full-width{max-width:100%}.fd-menu--icons{--fdMenu_Item_Spacing_Left:0;--fdMenu_Item_Spacing_Right:0}.fd-menu--icons .fd-menu__title:first-child{-webkit-margin-start:var(--fdMenu_Icon_Width);margin-inline-start:var(--fdMenu_Icon_Width)}.fd-menu--icons .fd-menu__title:last-child{-webkit-margin-end:var(--fdMenu_Text_Spacing_Right);margin-inline-end:var(--fdMenu_Text_Spacing_Right)}.fd-menu--icons .fd-menu__title:only-child{margin-inline:var(--fdMenu_Icon_Width) var(--fdMenu_Text_Spacing_Right)}.fd-menu--icons .fd-menu__sublist{--fdMenu_Item_Spacing_Left:1rem;--fdMenu_Item_Spacing_Right:1rem}.fd-menu--icons .fd-menu__sublist .fd-menu__title:first-child{-webkit-margin-start:0;margin-inline-start:0}.fd-menu--icons .fd-menu__sublist .fd-menu__title:last-child{-webkit-margin-end:0;margin-inline-end:0}.fd-menu--icons .fd-menu__sublist .fd-menu__title:only-child{margin-inline:0}.fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons{--fdMenu_Item_Spacing_Left:0;--fdMenu_Item_Spacing_Right:0}.fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons .fd-menu__title:first-child{-webkit-margin-start:var(--fdMenu_Icon_Width);margin-inline-start:var(--fdMenu_Icon_Width)}.fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons .fd-menu__title:last-child{-webkit-margin-end:var(--fdMenu_Text_Spacing_Right);margin-inline-end:var(--fdMenu_Text_Spacing_Right)}.fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons .fd-menu__title:only-child{margin-inline:var(--fdMenu_Icon_Width) var(--fdMenu_Text_Spacing_Right)}.fd-menu--icons .fd-menu__input,.fd-menu--icons input{margin-inline:var(--fdMenu_Text_Spacing_Right) var(--fdMenu_Text_Spacing_Right)}.fd-menu--mobile{max-width:100%;width:100%;--fdMenu_Icon_Width:2.75rem;--fdMenu_Item_Spacing_Left:1rem;--fdMenu_Item_Spacing_Right:1rem;--fdMenu_Shortcut_Padding_Right:1rem;--fdMenu_Text_Spacing_Right:1rem}.fd-menu--mobile .fd-menu__list,.fd-menu--mobile .fd-menu__sublist{border-radius:0;-webkit-box-shadow:none;box-shadow:none;margin-block:0;margin-inline:0;position:static}.fd-menu--mobile .fd-menu__list .fd-menu__item,.fd-menu--mobile .fd-menu__sublist .fd-menu__item{border-radius:0}.fd-menu--mobile.fd-menu--icons{--fdMenu_Item_Spacing_Left:0;--fdMenu_Item_Spacing_Right:0}.fd-menu--mobile.fd-menu--icons .fd-menu__input,.fd-menu--mobile.fd-menu--icons input{margin-inline:1rem}.fd-menu[class*=-compact],.fd-menu[class*=-condensed],[class*=-compact] .fd-menu:not([class*=-cozy]),[class*=-condensed] .fd-menu:not([class*=-cozy]){--fdMenu_Icon_Width:2rem;--fdMenu_Link_Height:2rem;--fdMenu_Item_Spacing_Left:.5rem;--fdMenu_Item_Spacing_Right:.5rem;--fdMenu_Shortcut_Padding_Right:.5rem;--fdMenu_Text_Spacing_Right:.5rem}.fd-menu[class*=-compact].fd-menu--icons,.fd-menu[class*=-condensed].fd-menu--icons,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons,[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons{--fdMenu_Item_Spacing_Left:0;--fdMenu_Item_Spacing_Right:0}.fd-menu[class*=-compact].fd-menu--icons .fd-menu__input,.fd-menu[class*=-compact].fd-menu--icons input,.fd-menu[class*=-condensed].fd-menu--icons .fd-menu__input,.fd-menu[class*=-condensed].fd-menu--icons input,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__input,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons input,[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__input,[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons input{margin-inline:.5rem}.fd-menu[class*=-compact].fd-menu--icons .fd-menu__sublist,.fd-menu[class*=-condensed].fd-menu--icons .fd-menu__sublist,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__sublist,[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__sublist{--fdMenu_Item_Spacing_Left:.5rem;--fdMenu_Item_Spacing_Right:.5rem}.fd-menu[class*=-compact].fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons,.fd-menu[class*=-condensed].fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons,[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons{--fdMenu_Item_Spacing_Left:0;--fdMenu_Item_Spacing_Right:0}.fd-user-menu{background:var(--sapGroup_ContentBackground)}.fd-user-menu .fd-user-menu__title-bar{--fdBar_Shadow: none}.fd-user-menu .fd-panel__header:has(.fd-panel__button[aria-expanded=false]){--fdPanel_Header_Border_Bottom_Left_Radius: 0;--fdPanel_Header_Border_Bottom_Right_Radius: 0}.fd-user-menu .fd-user-menu__popover-wrapper{overflow:visible;width:20rem;min-width:20rem}.fd-user-menu__body{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:.5rem;overflow:visible;min-width:18rem;max-width:20rem;position:relative;padding-inline:.5rem;padding-block:2.5rem .5rem}.fd-user-menu__body:before,.fd-user-menu__body:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-user-menu__header{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:.5rem;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.fd-user-menu__header:before,.fd-user-menu__header:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-user-menu__header-container,.fd-user-menu__subheader{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:.25rem;-webkit-box-align:center;-ms-flex-align:center;align-items:center;max-width:100%;text-align:center;-webkit-margin-after:.5rem;margin-block-end:.5rem}.fd-user-menu__header-container:before,.fd-user-menu__header-container:after,.fd-user-menu__subheader:before,.fd-user-menu__subheader:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-user-menu__user-name{font-size:var(--sapFontSize);line-height:normal;font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;max-width:100%;line-height:1.4rem;white-space:normal;color:var(--sapTextColor);font-size:var(--sapFontLargeSize);font-family:var(--sapFontSemiboldDuplexFamily)}.fd-user-menu__user-name:before,.fd-user-menu__user-name:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-user-menu__user-name--truncate{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal;text-overflow:ellipsis;max-height:2.8rem}.fd-user-menu__user-info,.fd-user-menu__user-role,.fd-user-menu__subline{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;width:100%;max-width:100%;white-space:normal;color:var(--sapContent_LabelColor);word-wrap:break-word;overflow-wrap:break-word}.fd-user-menu__user-info:before,.fd-user-menu__user-info:after,.fd-user-menu__user-role:before,.fd-user-menu__user-role:after,.fd-user-menu__subline:before,.fd-user-menu__subline:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-user-menu__user-info--truncate,.fd-user-menu__user-role--truncate,.fd-user-menu__subline--truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fd-user-menu .fd-user-menu__menu{width:100%}.fd-user-menu .fd-user-menu__menu-list{-webkit-box-shadow:none;box-shadow:none;border-radius:0}.fd-user-menu .fd-user-menu__menu-list>*:first-child,.fd-user-menu .fd-user-menu__menu-list>*:last-child{border-radius:0}.fd-user-menu .fd-user-menu__menu-list.fd-user-menu__menu-list{-webkit-box-shadow:none;box-shadow:none;border-radius:0}.fd-user-menu .fd-user-menu__menu-list.fd-user-menu__menu-list>*:first-child,.fd-user-menu .fd-user-menu__menu-list.fd-user-menu__menu-list>*:last-child{border-radius:0}.fd-user-menu .fd-user-menu__panel>div{border-radius:0}.fd-user-menu__content-container{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;--fdPanel_Margin_Bottom: .25rem}.fd-user-menu__content-container:before,.fd-user-menu__content-container:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}[class*=-condensed] .fd-user-menu .fd-menu:not([class*=-cozy]),[class*=-compact] .fd-user-menu .fd-menu:not([class*=-cozy]),.fd-user-menu .fd-menu[class*=-condensed],.fd-user-menu .fd-menu[class*=-compact]{--fdMenu_Icon_Width: 2.5rem;--fdMenu_Link_Height: 2.5rem;--fdMenu_Item_Spacing_Left: .75rem;--fdMenu_Item_Spacing_Right: .75rem}.fd-user-menu--mobile{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:100%;-webkit-padding-before:0;padding-block-start:0}.fd-user-menu--mobile .fd-user-menu__body{-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-padding-before:1rem;padding-block-start:1rem}.fd-user-menu--tool-header .fd-user-menu__user-name{font-family:var(--sapFontBlackFamily);font-size:1.25rem;line-height:1.3;color:var(-\\\\2013sapTitleColor)}.fd-user-menu--tool-header .fd-user-menu__navigation-submenu{top:-.5rem;border:none;padding-block:.5rem;padding-inline:.5rem;border-radius:.5rem;-webkit-margin-end:.3875rem;margin-inline-end:.3875rem;-webkit-box-shadow:var(--sapMenu_Shadow1);box-shadow:var(--sapMenu_Shadow1);background:var(--sapGroup_ContentBackground)}.fd-user-menu--tool-header .fd-user-menu__navigation-submenu-wrapper{overflow:visible}.fd-user-menu--tool-header .fd-user-menu__user-role{font-family:var(--sapFontFamily);font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(\\\\2013sapContent_LabelColor)}.fd-user-menu--tool-header .fd-user-menu__body{overflow:visible}.fd-user-menu--tool-header .fd-user-menu__body:has(.fd-user-menu__navigation-menu:first-child){padding-block:0}.fd-user-menu--tool-header .fd-user-menu__popover-body{border:none;padding-block:.75rem;padding-inline:0;border-radius:.75rem;-webkit-box-shadow:var(--sapMenu_Shadow2);box-shadow:var(--sapMenu_Shadow2);background:var(--sapGroup_ContentBackground)}.fd-user-menu--tool-header .fd-user-menu__footer{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding-block:.75rem;padding-inline:1.125rem}.fd-user-menu--tool-header .fd-user-menu__footer:before,.fd-user-menu--tool-header .fd-user-menu__footer:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-user-menu--tool-header .fd-navigation__item.fd-navigation__item--title{--fdNavigation_Item_Title_Display: flex;-webkit-margin-after:1rem;margin-block-end:1rem}.fd-user-menu__body .fd-list--subline .fd-list__item{height:auto}.fd-user-menu__body .fd-list--subline .fd-list__title{width:100%;max-width:100%;font-style:normal;line-height:normal;white-space:normal;font-size:var(--sapFontSize);color:var(--sapList_TextColor);font-family:var(--sapFontSemiboldDuplexFamily)}.fd-user-menu__body .fd-list--subline .fd-list__title--truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fd-user-menu__body .fd-list--subline .fd-list__subline{color:var(--sapTextColor);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;width:100%;max-width:100%;word-wrap:break-word;overflow-wrap:break-word;font-style:normal;line-height:normal;white-space:normal;font-size:var(--sapFontSize);font-family:var(--sapFontFamily);color:var(--sapContent_LabelColor)}.fd-user-menu__body .fd-list--subline .fd-list__subline--truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fd-user-menu{background:transparent}.fd-user-menu__menu.fd-menu{width:100%;margin-block-start:.25rem}.fd-menu__list.fd-user-menu__menu-list>.fd-menu__item{position:unset;width:100%}.fd-dialog__body .fd-user-menu__body{min-width:100%;max-width:100%;min-height:100%;max-height:100%}.fd-dialog__body .fd-user-menu__body .fd-menu__list.fd-user-menu__menu-list{min-width:100%}.fd-user-menu__details-view .fd-menu.fd-user-menu__menu{padding:1rem}.fd-user-menu__main-view-bar.fd-bar{box-shadow:none}.fd-menu__link{position:relative}.fd-menu__item:is(:focus,:focus-within,:focus-visible){outline:none}fd-user-menu-control{display:flex;width:fit-content;height:fit-content;align-items:center;border-radius:50rem;justify-content:center}fd-user-menu-control:is(:focus){outline-offset:.0625rem;outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor)}.fd-user-menu__menu-list.fd-user-menu__menu-list{box-shadow:none;border-radius:0}.fd-user-menu__menu-list.fd-user-menu__menu-list>*:first-child,.fd-user-menu__menu-list.fd-user-menu__menu-list>*:last-child{border-radius:0}.fd-user-menu__body{position:relative;width:20rem;min-width:20rem;max-width:20rem}.fd-user-menu__body:has(.fd-user-menu__details-view){padding:0}.fd-user-menu__header-container{max-width:100%}.fd-user-menu .fd-popover__body>.fd-scrollbar{width:20rem;min-width:20rem;max-width:20rem}.fd-user-menu__scroll-header{width:20rem;min-width:20rem;max-width:20rem;position:absolute;top:0;z-index:10;overflow:hidden;border-top-left-radius:var(--fdPopover_Border_Radius);border-top-right-radius:var(--fdPopover_Border_Radius);background:var(--sapPageHeader_Background);transition:all .15s ease}.fd-user-menu__scroll-header.hidden{opacity:0;pointer-events:none}.fd-user-menu__scroll-header-element{transition:all .15s ease}.fd-user-menu__scroll-header-element.hidden{opacity:0;pointer-events:none}.fd-user-menu__footer .fd-bar.fd-bar--footer{position:sticky;bottom:0}.fd-user-menu__popover-wrapper{overflow:auto;display:flex;flex-direction:column;overscroll-behavior:contain;scroll-behavior:smooth;overflow-anchor:none}.fd-user-menu__body{overflow:auto;flex:1}.fd-user-menu__footer{min-height:2rem}\\n/*! Bundled license information:\\n\\nfundamental-styles/dist/menu.css:\\n (*!\\n * Fundamental Library Styles v0.40.1\\n * Copyright (c) 2025 SAP SE or an SAP affiliate company.\\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\\n *)\\n*/\\n\"] }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS91c2VyLW1lbnUvdXNlci1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS91c2VyLW1lbnUvdXNlci1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBRUgsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixlQUFlLEVBQ2YsVUFBVSxFQUNWLE1BQU0sRUFDTixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNULE1BQU0sRUFFTixpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM1RyxPQUFPLEVBQ0gsbUJBQW1CLEVBQ25CLGVBQWUsRUFDZixxQkFBcUIsRUFDckIscUJBQXFCLEVBRXJCLGFBQWEsRUFDaEIsTUFBTSw4QkFBOEIsQ0FBQztBQUV0QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsZ0JBQWdCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVoSCxPQUFPLEVBQUUsWUFBWSxFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFbEcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDOUUs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QUFtQjt3QkFDbkIscUJBQXFCO3dCQUNyQixxQkFBcUI7d0JBQ3JCLGlCQUFpQjtxQkFDcEIsYUFDVSxDQUFDLHNCQUFzQixFQUFFLCtCQUErQixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIGNvbnRlbnRDaGlsZCxcbiAgICBjb250ZW50Q2hpbGRyZW4sXG4gICAgRGVzdHJveVJlZixcbiAgICBlZmZlY3QsXG4gICAgRWxlbWVudFJlZixcbiAgICBpbmplY3QsXG4gICAgaW5wdXQsXG4gICAgT25Jbml0LFxuICAgIG91dHB1dCxcbiAgICBSZW5kZXJlcjIsXG4gICAgc2lnbmFsLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBLZXlib2FyZFN1cHBvcnRTZXJ2aWNlLCBSdGxTZXJ2aWNlLCBUZW1wbGF0ZURpcmVjdGl2ZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IENvbnRlbnREZW5zaXR5TW9kZSwgY29udGVudERlbnNpdHlPYnNlcnZlclByb3ZpZGVycyB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9jb250ZW50LWRlbnNpdHknO1xuaW1wb3J0IHtcbiAgICBEaWFsb2dCb2R5Q29tcG9uZW50LFxuICAgIERpYWxvZ0NvbXBvbmVudCxcbiAgICBEaWFsb2dGb290ZXJDb21wb25lbnQsXG4gICAgRGlhbG9nSGVhZGVyQ29tcG9uZW50LFxuICAgIERpYWxvZ1JlZixcbiAgICBEaWFsb2dTZXJ2aWNlXG59IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9kaWFsb2cnO1xuXG5pbXBvcnQgeyBQb3BvdmVyQm9keUNvbXBvbmVudCwgUG9wb3ZlckNvbXBvbmVudCwgUG9wb3ZlckNvbnRyb2xDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvcG9wb3Zlcic7XG5cbmltcG9ydCB7IEJhckNvbXBvbmVudCwgQmFyRWxlbWVudERpcmVjdGl2ZSwgQmFyTWlkZGxlRGlyZWN0aXZlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2Jhcic7XG5cbmltcG9ydCB7IFVzZXJNZW51Qm9keUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy91c2VyLW1lbnUtYm9keS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVXNlck1lbnVDb250cm9sQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3VzZXItbWVudS1jb250cm9sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVc2VyTWVudUxpc3RJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3VzZXItbWVudS1saXN0LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFVzZXJNZW51Q29udHJvbEVsZW1lbnREaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdXNlci1tZW51LWNvbnRyb2wtZWxlbWVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVXNlck1lbnVVc2VyTmFtZURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy91c2VyLW1lbnUtdXNlci1uYW1lLmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmQtdXNlci1tZW51JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdXNlci1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vdXNlci1tZW51LmNvbXBvbmVudC5zY3NzJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdmZC11c2VyLW1lbnUnXG4gICAgfSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgQmFyQ29tcG9uZW50LFxuICAgICAgICBCYXJNaWRkbGVEaXJlY3RpdmUsXG4gICAgICAgIEJhckVsZW1lbnREaXJlY3RpdmUsXG4gICAgICAgIFBvcG92ZXJDb21wb25lbnQsXG4gICAgICAgIFBvcG92ZXJCb2R5Q29tcG9uZW50LFxuICAgICAgICBQb3BvdmVyQ29udHJvbENvbXBvbmVudCxcbiAgICAgICAgRGlhbG9nQ29tcG9uZW50LFxuICAgICAgICBEaWFsb2dCb2R5Q29tcG9uZW50LFxuICAgICAgICBEaWFsb2dGb290ZXJDb21wb25lbnQsXG4gICAgICAgIERpYWxvZ0hlYWRlckNvbXBvbmVudCxcbiAgICAgICAgVGVtcGxhdGVEaXJlY3RpdmVcbiAgICBdLFxuICAgIHByb3ZpZGVyczogW0tleWJvYXJkU3VwcG9ydFNlcnZpY2UsIGNvbnRlbnREZW5zaXR5T2JzZXJ2ZXJQcm92aWRlcnMoKV1cbn0pXG5leHBvcnQgY2xhc3MgVXNlck1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICAgIC8qKiBFdmVudCB0aHJvd24sIHdoZW4gdGhlIHVzZXIgbWVudSBpcyBvcGVuZWQgb3IgY2xvc2VkICovXG4gICAgaXNPcGVuQ2hhbmdlID0gb3V0cHV0PGJvb2xlYW4+KCk7XG5cbiAgICAvKiogV2hldGhlciB0aGUgdXNlciBtZW51IGlzIGluIG1vYmlsZSBtb2RlICovXG4gICAgbW9iaWxlID0gaW5wdXQoZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIHVzZXIgbWVudSBpcyBvcGVuICovXG4gICAgcmVhZG9ubHkgaXNPcGVuID0gc2lnbmFsKGZhbHNlKTtcblxuICAgIC8qKlxuICAgICAqIFNpZ25hbCBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIHVzZXIgbmFtZSBlbGVtZW50IGlzIGN1cnJlbnRseSB2aXNpYmxlXG4gICAgICogd2l0aGluIHRoZSB1c2VyIG1lbnUuIFRoaXMgdXBkYXRlcyBhdXRvbWF0aWNhbGx5IGFzIHRoZSBlbGVtZW50XG4gICAgICogZW50ZXJzIG9yIGxlYXZlcyB0aGUgdmlld3BvcnQuXG4gICAgICpcbiAgICAgKiBVc2VkIGJ5IHRoZSB0ZW1wbGF0ZSB0byBjb25kaXRpb25hbGx5IHJlbmRlciB0aGUgc3RpY2t5IGhlYWRlci5cbiAgICAgKi9cbiAgICByZWFkb25seSBpc1VzZXJOYW1lVmlzaWJsZSA9IHNpZ25hbCh0cnVlKTtcblxuICAgIC8qKlxuICAgICAqIFNpZ25hbCBzdG9yaW5nIHRoZSBIVE1MIGNvbnRlbnQgb2YgdGhlIHVzZXIgbmFtZSBlbGVtZW50LlxuICAgICAqIFdoZW4gdGhlIG9yaWdpbmFsIGVsZW1lbnQgc2Nyb2xscyBvdXQgb2YgdmlldywgdGhpcyBjb250ZW50XG4gICAgICogaXMgZGlzcGxheWVkIGluIHRoZSBzdGlja3kgaGVhZGVyLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IHVzZXJOYW1lQ29udGVudCA9IHNpZ25hbCgnJyk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSB1c2VyTWVudUNvbnRyb2wgPSBjb250ZW50Q2hpbGQoVXNlck1lbnVDb250cm9sQ29tcG9uZW50KTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHVzZXJOYW1lRWwgPSBjb250ZW50Q2hpbGQoVXNlck1lbnVVc2VyTmFtZURpcmVjdGl2ZSwgeyByZWFkOiBFbGVtZW50UmVmIH0pO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdXNlck1lbnVDb250cm9sRWxlbWVudCA9IGNvbnRlbnRDaGlsZChVc2VyTWVudUNvbnRyb2xFbGVtZW50RGlyZWN0aXZlLCB7XG4gICAgICAgIGRlc2NlbmRhbnRzOiB0cnVlLFxuICAgICAgICByZWFkOiBFbGVtZW50UmVmXG4gICAgfSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSB1c2VyTWVudUJvZHkgPSBjb250ZW50Q2hpbGQoVXNlck1lbnVCb2R5Q29tcG9uZW50LCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcm90ZWN0ZWQgbmF2aWdhdGlvbkFycm93JDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9saXN0SXRlbXMgPSBjb250ZW50Q2hpbGRyZW4oVXNlck1lbnVMaXN0SXRlbUNvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcnRsU2VydmljZSA9IGluamVjdChSdGxTZXJ2aWNlKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZGlhbG9nU2VydmljZSA9IGluamVjdChEaWFsb2dTZXJ2aWNlKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0aW9uUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZGlhbG9nUmVmOiBEaWFsb2dSZWYgfCB1bmRlZmluZWQ7XG5cbiAgICBwcml2YXRlIF9kZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGlzTW9iaWxlID0gdGhpcy5tb2JpbGUoKTtcbiAgICAgICAgICAgIHRoaXMuX2xpc3RJdGVtcygpPy5mb3JFYWNoKChpdGVtKSA9PiBpdGVtLm1vYmlsZS5zZXQoaXNNb2JpbGUpKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uYXZpZ2F0aW9uQXJyb3ckID0gdGhpcy5fcnRsU2VydmljZS5ydGwucGlwZShcbiAgICAgICAgICAgIG1hcCgoaXNSdGwpID0+IChpc1J0bCA/ICduYXZpZ2F0aW9uLXJpZ2h0LWFycm93JyA6ICduYXZpZ2F0aW9uLWxlZnQtYXJyb3cnKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaXNNb2JpbGUgPSB0aGlzLm1vYmlsZSgpO1xuICAgICAgICB0aGlzLl9saXN0SXRlbXMoKT8uZm9yRWFjaCgoaXRlbSkgPT4gaXRlbS5tb2JpbGUuc2V0KGlzTW9iaWxlKSk7XG5cbiAgICAgICAgY29uc3QgZWwgPSB0aGlzLnVzZXJOYW1lRWwoKT8ubmF0aXZlRWxlbWVudDtcblxuICAgICAgICBpZiAoIWVsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBsb2dpYyBmb3Igc2hvd2luZy9oaWRpbmcgdGhlIHBvcG92ZXIgaGVhZGVyIHdpdGggdXNlciBuYW1lIG9uIHNjcm9sbFxuICAgICAgICBjb25zdCBpbnRlcnNlY3Rpb25PYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihcbiAgICAgICAgICAgIChlbnRyaWVzKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc1VzZXJOYW1lVmlzaWJsZS5zZXQoZW50cmllc1swXS5pc0ludGVyc2VjdGluZyk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgeyByb290OiBudWxsLCB0aHJlc2hvbGQ6IDAsIHJvb3RNYXJnaW46ICctMjBweCAwcHggMHB4IDBweCcgfVxuICAgICAgICApO1xuXG4gICAgICAgIGludGVyc2VjdGlvbk9ic2VydmVyLm9ic2VydmUoZWwpO1xuXG4gICAgICAgIC8vIEluaXRpYWxpemVcbiAgICAgICAgdGhpcy51c2VyTmFtZUNvbnRlbnQuc2V0KGVsLmlubmVySFRNTC50cmltKCkpO1xuXG4gICAgICAgIC8vIFdhdGNoIGZvciBjaGFuZ2VzIGluIHByb2plY3RlZCBjb250ZW50XG4gICAgICAgIGNvbnN0IG11dGF0aW9uT2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnVzZXJOYW1lQ29udGVudC5zZXQoZWwuaW5uZXJIVE1MLnRyaW0oKSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIG11dGF0aW9uT2JzZXJ2ZXIub2JzZXJ2ZShlbCwge1xuICAgICAgICAgICAgY2hpbGRMaXN0OiB0cnVlLFxuICAgICAgICAgICAgY2hhcmFjdGVyRGF0YTogdHJ1ZSxcbiAgICAgICAgICAgIHN1YnRyZWU6IHRydWVcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fZGVzdHJveVJlZi5vbkRlc3Ryb3koKCkgPT4ge1xuICAgICAgICAgICAgaW50ZXJzZWN0aW9uT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgICAgICAgbXV0YXRpb25PYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBNZXRob2QgdGhhdCBvcGVucyB0aGUgdXNlciBtZW51ICovXG4gICAgb3BlbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc09wZW5DaGFuZ2VIYW5kbGUodHJ1ZSk7XG4gICAgfVxuXG4gICAgLyoqIE1ldGhvZCB0aGF0IGNsb3NlcyB0aGUgdXNlciBtZW51ICovXG4gICAgY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNPcGVuQ2hhbmdlSGFuZGxlKGZhbHNlKTtcblxuICAgICAgICBpZiAodGhpcy5fbGlzdEl0ZW1zKCkubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy5fbGlzdEl0ZW1zKCkuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIGl0ZW0uaXNPcGVuLnNldChmYWxzZSk7XG4gICAgICAgICAgICAgICAgaXRlbS5fZWxlbWVudFJlZj8ubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuZmQtbWVudV9fbGluaycpPy5jbGFzc0xpc3QucmVtb3ZlKCdpcy1hY3RpdmUnKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB0aGlzLl9saXN0SXRlbXMoKVswXT8uX3RhYkluZGV4JC5zZXQoMCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9jbGVhclN1Ym1lbnUoKTtcbiAgICAgICAgdGhpcy5fZGlhbG9nUmVmPy5jbG9zZSgpO1xuICAgIH1cblxuICAgIC8qKiBNZXRob2QgdGhhdCBvcGVucyB0aGUgdXNlciBtZW51IGluIGRpYWxvZyAoZm9yIG1vYmlsZSBtb2RlKSAqL1xuICAgIG9wZW5EaWFsb2coZGlhbG9nVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZGlhbG9nUmVmID0gdGhpcy5fZGlhbG9nU2VydmljZS5vcGVuKGRpYWxvZ1RlbXBsYXRlLCB7XG4gICAgICAgICAgICBtb2JpbGU6IHRydWUsXG4gICAgICAgICAgICB2ZXJ0aWNhbFBhZGRpbmc6IGZhbHNlLFxuICAgICAgICAgICAgaG9yaXpvbnRhbFBhZGRpbmc6IGZhbHNlLFxuICAgICAgICAgICAgYXJpYUxhYmVsbGVkQnk6ICdmZC11c2VyLW1lbnUtaGVhZGVyJyxcbiAgICAgICAgICAgIGFyaWFEZXNjcmliZWRCeTogJ2ZkLXVzZXItbWVudS1ib2R5JyxcbiAgICAgICAgICAgIGNvbnRlbnREZW5zaXR5OiBDb250ZW50RGVuc2l0eU1vZGUuQ09aWVxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCByZWZTdWIgPSB0aGlzLl9kaWFsb2dSZWYuYWZ0ZXJDbG9zZWQuc3Vic2NyaWJlKHtcbiAgICAgICAgICAgIG5leHQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnVzZXJNZW51Q29udHJvbCgpPy5mb2N1cygpO1xuICAgICAgICAgICAgICAgIHJlZlN1Yi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGVycm9yOiAodHlwZSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0eXBlID09PSAnZXNjYXBlJykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9jbGVhclN1Ym1lbnUoKTtcbiAgICAgICAgICAgICAgICAgICAgcmVmU3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGlzT3BlbkNoYW5nZUhhbmRsZShpc09wZW46IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNPcGVuKCkgPT09IGlzT3Blbikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pc09wZW4uc2V0KGlzT3Blbik7XG4gICAgICAgIHRoaXMuaXNPcGVuQ2hhbmdlLmVtaXQoaXNPcGVuKTtcblxuICAgICAgICBpZiAoIWlzT3BlbiAmJiAhdGhpcy5tb2JpbGUoKSkge1xuICAgICAgICAgICAgdGhpcy51c2VyTWVudUNvbnRyb2woKT8uZm9jdXMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHVzZXJNZW51Q29udHJvbEVsID0gdGhpcy51c2VyTWVudUNvbnRyb2xFbGVtZW50KCk/Lm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgdGhpcy51c2VyTWVudUNvbnRyb2xFbGVtZW50KCk/Lm5hdGl2ZUVsZW1lbnQgJiZcbiAgICAgICAgICAgIChpc09wZW5cbiAgICAgICAgICAgICAgICA/IHRoaXMuX3JlbmRlcmVyLmFkZENsYXNzKHVzZXJNZW51Q29udHJvbEVsLCAnaXMtYWN0aXZlJylcbiAgICAgICAgICAgICAgICA6IHRoaXMuX3JlbmRlcmVyLnJlbW92ZUNsYXNzKHVzZXJNZW51Q29udHJvbEVsLCAnaXMtYWN0aXZlJykpO1xuXG4gICAgICAgIHRoaXMuX2NoYW5nZURldGVjdGlvblJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9jbGVhclN1Ym1lbnUoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHVzZXJNZW51Qm9keSA9IHRoaXMudXNlck1lbnVCb2R5KCk7XG4gICAgICAgIGlmICh1c2VyTWVudUJvZHkpIHtcbiAgICAgICAgICAgIHVzZXJNZW51Qm9keS5jbGVhclN1Ym1lbnUoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBpZiAoIW1vYmlsZSgpKSB7XG4gICAgPGZkLXBvcG92ZXJcbiAgICAgICAgW2lzT3Blbl09XCJpc09wZW4oKVwiXG4gICAgICAgIChpc09wZW5DaGFuZ2UpPVwiaXNPcGVuQ2hhbmdlSGFuZGxlKCRldmVudClcIlxuICAgICAgICBbZm9jdXNBdXRvQ2FwdHVyZV09XCJ0cnVlXCJcbiAgICAgICAgW3Jlc3RvcmVGb2N1c09uQ2xvc2VdPVwidHJ1ZVwiXG4gICAgICAgIFtmb2N1c1RyYXBwZWRdPVwidHJ1ZVwiXG4gICAgICAgIFtkaXNhYmxlU2Nyb2xsYmFyXT1cInRydWVcIlxuICAgICAgICBbbm9BcnJvd109XCJmYWxzZVwiXG4gICAgPlxuICAgICAgICA8ZmQtcG9wb3Zlci1jb250cm9sPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRyb2xcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9mZC1wb3BvdmVyLWNvbnRyb2w+XG4gICAgICAgIDxmZC1wb3BvdmVyLWJvZHkgZmQtdXNlci1tZW51LXBvcG92ZXItY29udHJvbD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmZC11c2VyLW1lbnVfX3BvcG92ZXItd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgZmQtcG9wb3Zlci1ib2R5LWhlYWRlclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZkLXVzZXItbWVudV9fc2Nyb2xsLWhlYWRlclwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5oaWRkZW5dPVwiaXNVc2VyTmFtZVZpc2libGUoKVwiXG4gICAgICAgICAgICAgICAgICAgIHJvbGU9XCJwcmVzZW50YXRpb25cIlxuICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImhlYWRlclwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJvZHlcIj48L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgIDxkaXYgZmQtcG9wb3Zlci1ib2R5LWZvb3Rlcj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImZvb3RlclwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZmQtcG9wb3Zlci1ib2R5PlxuICAgIDwvZmQtcG9wb3Zlcj5cbn0gQGVsc2Uge1xuICAgIDxzcGFuIChjbGljayk9XCJvcGVuRGlhbG9nKGRpYWxvZ1RlbXBsYXRlKVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udHJvbFwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvc3Bhbj5cblxuICAgIDxuZy10ZW1wbGF0ZSBbZmREaWFsb2dUZW1wbGF0ZV0gbGV0LWRpYWxvZyBsZXQtZGlhbG9nQ29uZmlnPVwiZGlhbG9nQ29uZmlnXCIgI2RpYWxvZ1RlbXBsYXRlPlxuICAgICAgICA8ZmQtZGlhbG9nIFtkaWFsb2dDb25maWddPVwiZGlhbG9nQ29uZmlnXCIgW2RpYWxvZ1JlZl09XCJkaWFsb2dcIj5cbiAgICAgICAgICAgIDxmZC1kaWFsb2ctaGVhZGVyPlxuICAgICAgICAgICAgICAgIEBpZiAodXNlck1lbnVCb2R5KCk/LmJvZHlIZWFkZXIoKSkge1xuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgZmRrVGVtcGxhdGU9XCJoZWFkZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInVzZXJNZW51Qm9keSgpPy5ib2R5SGVhZGVyKCkgPz8gbnVsbDsgY29udGV4dDogeyBkaWFsb2dSZWY6IGRpYWxvZyB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZmQtZGlhbG9nLWhlYWRlcj5cbiAgICAgICAgICAgIDxmZC1kaWFsb2ctYm9keSBzdHlsZT1cInBhZGRpbmc6IDBcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYm9keVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9mZC1kaWFsb2ctYm9keT5cbiAgICAgICAgICAgIDxmZC1kaWFsb2ctZm9vdGVyPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBmZGtUZW1wbGF0ZT1cImN1c3RvbUZvb3RlclwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZm9vdGVyXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvZmQtZGlhbG9nLWZvb3Rlcj5cbiAgICAgICAgPC9mZC1kaWFsb2c+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbn1cblxuPG5nLXRlbXBsYXRlICNjb250cm9sPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImZkLXVzZXItbWVudS1jb250cm9sXCIgLz5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjaGVhZGVyPlxuICAgIDxkaXYgZmQtcG9wb3Zlci1ib2R5LWhlYWRlcj5cbiAgICAgICAgPGRpdiBmZC1iYXIgYmFyRGVzaWduPVwiaGVhZGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGZkLWJhci1taWRkbGU+XG4gICAgICAgICAgICAgICAgPGZkLWJhci1lbGVtZW50PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZkLXVzZXItbWVudV9fdXNlci1uYW1lIGZkLXVzZXItbWVudV9fdXNlci1uYW1lLS10cnVuY2F0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cInVzZXJOYW1lQ29udGVudCgpXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZmQtYmFyLWVsZW1lbnQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2JvZHk+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZmQtdXNlci1tZW51LWJvZHlcIiAvPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNmb290ZXI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZmQtdXNlci1tZW51LWZvb3RlclwiIC8+XG48L25nLXRlbXBsYXRlPlxuIl19","import { Directive } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class UserMenuHeaderContainerDirective {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuHeaderContainerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: UserMenuHeaderContainerDirective, isStandalone: true, selector: \"[fd-user-menu-header-container]\", host: { classAttribute: \"fd-user-menu__header-container\" }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuHeaderContainerDirective, decorators: [{\n type: Directive,\n args: [{\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-user-menu-header-container]',\n host: {\n class: 'fd-user-menu__header-container'\n }\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tZW51LWhlYWRlci1jb250YWluZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3VzZXItbWVudS9kaXJlY3RpdmVzL3VzZXItbWVudS1oZWFkZXItY29udGFpbmVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVMxQyxNQUFNLE9BQU8sZ0NBQWdDOzhHQUFoQyxnQ0FBZ0M7a0dBQWhDLGdDQUFnQzs7MkZBQWhDLGdDQUFnQztrQkFQNUMsU0FBUzttQkFBQztvQkFDUCw4REFBOEQ7b0JBQzlELFFBQVEsRUFBRSxpQ0FBaUM7b0JBQzNDLElBQUksRUFBRTt3QkFDRixLQUFLLEVBQUUsZ0NBQWdDO3FCQUMxQztpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnW2ZkLXVzZXItbWVudS1oZWFkZXItY29udGFpbmVyXScsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2ZkLXVzZXItbWVudV9faGVhZGVyLWNvbnRhaW5lcidcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFVzZXJNZW51SGVhZGVyQ29udGFpbmVyRGlyZWN0aXZlIHt9XG4iXX0=","import { Directive } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class UserMenuHeaderDirective {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuHeaderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: UserMenuHeaderDirective, isStandalone: true, selector: \"[fd-user-menu-header]\", host: { classAttribute: \"fd-user-menu__header\" }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuHeaderDirective, decorators: [{\n type: Directive,\n args: [{\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-user-menu-header]',\n host: {\n class: 'fd-user-menu__header'\n }\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tZW51LWhlYWRlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvdXNlci1tZW51L2RpcmVjdGl2ZXMvdXNlci1tZW51LWhlYWRlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFTMUMsTUFBTSxPQUFPLHVCQUF1Qjs4R0FBdkIsdUJBQXVCO2tHQUF2Qix1QkFBdUI7OzJGQUF2Qix1QkFBdUI7a0JBUG5DLFNBQVM7bUJBQUM7b0JBQ1AsOERBQThEO29CQUM5RCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxJQUFJLEVBQUU7d0JBQ0YsS0FBSyxFQUFFLHNCQUFzQjtxQkFDaEM7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ1tmZC11c2VyLW1lbnUtaGVhZGVyXScsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2ZkLXVzZXItbWVudV9faGVhZGVyJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgVXNlck1lbnVIZWFkZXJEaXJlY3RpdmUge31cbiJdfQ==","import { booleanAttribute, Directive, input } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class UserMenuSublineDirective {\n constructor() {\n /** Whether the text should truncate with ellipsis. */\n this.truncate = input(false, ...(ngDevMode ? [{ debugName: \"truncate\", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuSublineDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.1.4\", type: UserMenuSublineDirective, isStandalone: true, selector: \"[fd-user-menu-subline]\", inputs: { truncate: { classPropertyName: \"truncate\", publicName: \"truncate\", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { \"class.fd-user-menu__subline--truncate\": \"truncate()\" }, classAttribute: \"fd-user-menu__subline\" }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuSublineDirective, decorators: [{\n type: Directive,\n args: [{\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-user-menu-subline]',\n host: {\n class: 'fd-user-menu__subline',\n '[class.fd-user-menu__subline--truncate]': 'truncate()'\n }\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tZW51LXN1YmxpbmUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3VzZXItbWVudS9kaXJlY3RpdmVzL3VzZXItbWVudS1zdWJsaW5lLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFVbkUsTUFBTSxPQUFPLHdCQUF3QjtJQVJyQztRQVNJLHNEQUFzRDtRQUN0RCxhQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssNENBQUksU0FBUyxFQUFFLGdCQUFnQixPQUE3QixFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxHQUFDLENBQUM7S0FDNUQ7OEdBSFksd0JBQXdCO2tHQUF4Qix3QkFBd0I7OzJGQUF4Qix3QkFBd0I7a0JBUnBDLFNBQVM7bUJBQUM7b0JBQ1AsOERBQThEO29CQUM5RCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxJQUFJLEVBQUU7d0JBQ0YsS0FBSyxFQUFFLHVCQUF1Qjt3QkFDOUIseUNBQXlDLEVBQUUsWUFBWTtxQkFDMUQ7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBib29sZWFuQXR0cmlidXRlLCBEaXJlY3RpdmUsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdbZmQtdXNlci1tZW51LXN1YmxpbmVdJyxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnZmQtdXNlci1tZW51X19zdWJsaW5lJyxcbiAgICAgICAgJ1tjbGFzcy5mZC11c2VyLW1lbnVfX3N1YmxpbmUtLXRydW5jYXRlXSc6ICd0cnVuY2F0ZSgpJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgVXNlck1lbnVTdWJsaW5lRGlyZWN0aXZlIHtcbiAgICAvKiogV2hldGhlciB0aGUgdGV4dCBzaG91bGQgdHJ1bmNhdGUgd2l0aCBlbGxpcHNpcy4gKi9cbiAgICB0cnVuY2F0ZSA9IGlucHV0KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcbn1cbiJdfQ==","import { NgModule } from '@angular/core';\n// Components\nimport { UserMenuBodyComponent } from './components/user-menu-body.component';\nimport { UserMenuContentContainerComponent } from './components/user-menu-content-container.component';\nimport { UserMenuControlComponent } from './components/user-menu-control.component';\nimport { UserMenuFooterComponent } from './components/user-menu-footer.component';\nimport { UserMenuListItemComponent } from './components/user-menu-list-item.component';\nimport { UserMenuListComponent } from './components/user-menu-list.component';\nimport { UserMenuSublistComponent } from './components/user-menu-sublist.component';\nimport { UserMenuComponent } from './user-menu.component';\n// Directives\nimport { UserMenuControlElementDirective } from './directives/user-menu-control-element.directive';\nimport { UserMenuHeaderContainerDirective } from './directives/user-menu-header-container.directive';\nimport { UserMenuHeaderDirective } from './directives/user-menu-header.directive';\nimport { UserMenuSublineDirective } from './directives/user-menu-subline.directive';\nimport { UserMenuUserNameDirective } from './directives/user-menu-user-name.directive';\nimport * as i0 from \"@angular/core\";\nconst components = [\n UserMenuComponent,\n UserMenuControlComponent,\n UserMenuBodyComponent,\n UserMenuFooterComponent,\n UserMenuListComponent,\n UserMenuSublistComponent,\n UserMenuListItemComponent,\n UserMenuContentContainerComponent,\n UserMenuHeaderDirective,\n UserMenuHeaderContainerDirective,\n UserMenuUserNameDirective,\n UserMenuSublineDirective,\n UserMenuControlElementDirective\n];\n/**\n * @deprecated\n * Use direct imports of components and directives.\n */\nexport class UserMenuModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuModule, imports: [UserMenuComponent,\n UserMenuControlComponent,\n UserMenuBodyComponent,\n UserMenuFooterComponent,\n UserMenuListComponent,\n UserMenuSublistComponent,\n UserMenuListItemComponent,\n UserMenuContentContainerComponent,\n UserMenuHeaderDirective,\n UserMenuHeaderContainerDirective,\n UserMenuUserNameDirective,\n UserMenuSublineDirective,\n UserMenuControlElementDirective], exports: [UserMenuComponent,\n UserMenuControlComponent,\n UserMenuBodyComponent,\n UserMenuFooterComponent,\n UserMenuListComponent,\n UserMenuSublistComponent,\n UserMenuListItemComponent,\n UserMenuContentContainerComponent,\n UserMenuHeaderDirective,\n UserMenuHeaderContainerDirective,\n UserMenuUserNameDirective,\n UserMenuSublineDirective,\n UserMenuControlElementDirective] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuModule, imports: [UserMenuComponent,\n UserMenuBodyComponent,\n UserMenuListItemComponent] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: UserMenuModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [...components],\n exports: [...components]\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tZW51Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS91c2VyLW1lbnUvdXNlci1tZW51Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLGFBQWE7QUFDYixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUN2RyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNwRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNsRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUN2RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNwRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUxRCxhQUFhO0FBQ2IsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDbkcsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDckcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDcEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNENBQTRDLENBQUM7O0FBRXZGLE1BQU0sVUFBVSxHQUFHO0lBQ2YsaUJBQWlCO0lBQ2pCLHdCQUF3QjtJQUN4QixxQkFBcUI7SUFDckIsdUJBQXVCO0lBQ3ZCLHFCQUFxQjtJQUNyQix3QkFBd0I7SUFDeEIseUJBQXlCO0lBQ3pCLGlDQUFpQztJQUNqQyx1QkFBdUI7SUFDdkIsZ0NBQWdDO0lBQ2hDLHlCQUF5QjtJQUN6Qix3QkFBd0I7SUFDeEIsK0JBQStCO0NBQ2xDLENBQUM7QUFFRjs7O0dBR0c7QUFLSCxNQUFNLE9BQU8sY0FBYzs4R0FBZCxjQUFjOytHQUFkLGNBQWMsWUF2QnZCLGlCQUFpQjtZQUNqQix3QkFBd0I7WUFDeEIscUJBQXFCO1lBQ3JCLHVCQUF1QjtZQUN2QixxQkFBcUI7WUFDckIsd0JBQXdCO1lBQ3hCLHlCQUF5QjtZQUN6QixpQ0FBaUM7WUFDakMsdUJBQXVCO1lBQ3ZCLGdDQUFnQztZQUNoQyx5QkFBeUI7WUFDekIsd0JBQXdCO1lBQ3hCLCtCQUErQixhQVovQixpQkFBaUI7WUFDakIsd0JBQXdCO1lBQ3hCLHFCQUFxQjtZQUNyQix1QkFBdUI7WUFDdkIscUJBQXFCO1lBQ3JCLHdCQUF3QjtZQUN4Qix5QkFBeUI7WUFDekIsaUNBQWlDO1lBQ2pDLHVCQUF1QjtZQUN2QixnQ0FBZ0M7WUFDaEMseUJBQXlCO1lBQ3pCLHdCQUF3QjtZQUN4QiwrQkFBK0I7K0dBV3RCLGNBQWMsWUF2QnZCLGlCQUFpQjtZQUVqQixxQkFBcUI7WUFJckIseUJBQXlCOzsyRkFpQmhCLGNBQWM7a0JBSjFCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUM7b0JBQ3hCLE9BQU8sRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDO2lCQUMzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8vIENvbXBvbmVudHNcbmltcG9ydCB7IFVzZXJNZW51Qm9keUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy91c2VyLW1lbnUtYm9keS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVXNlck1lbnVDb250ZW50Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3VzZXItbWVudS1jb250ZW50LWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVXNlck1lbnVDb250cm9sQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3VzZXItbWVudS1jb250cm9sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVc2VyTWVudUZvb3RlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy91c2VyLW1lbnUtZm9vdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVc2VyTWVudUxpc3RJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3VzZXItbWVudS1saXN0LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFVzZXJNZW51TGlzdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy91c2VyLW1lbnUtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVXNlck1lbnVTdWJsaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3VzZXItbWVudS1zdWJsaXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVc2VyTWVudUNvbXBvbmVudCB9IGZyb20gJy4vdXNlci1tZW51LmNvbXBvbmVudCc7XG5cbi8vIERpcmVjdGl2ZXNcbmltcG9ydCB7IFVzZXJNZW51Q29udHJvbEVsZW1lbnREaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdXNlci1tZW51LWNvbnRyb2wtZWxlbWVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVXNlck1lbnVIZWFkZXJDb250YWluZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdXNlci1tZW51LWhlYWRlci1jb250YWluZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IFVzZXJNZW51SGVhZGVyRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3VzZXItbWVudS1oZWFkZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IFVzZXJNZW51U3VibGluZURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy91c2VyLW1lbnUtc3VibGluZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVXNlck1lbnVVc2VyTmFtZURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy91c2VyLW1lbnUtdXNlci1uYW1lLmRpcmVjdGl2ZSc7XG5cbmNvbnN0IGNvbXBvbmVudHMgPSBbXG4gICAgVXNlck1lbnVDb21wb25lbnQsXG4gICAgVXNlck1lbnVDb250cm9sQ29tcG9uZW50LFxuICAgIFVzZXJNZW51Qm9keUNvbXBvbmVudCxcbiAgICBVc2VyTWVudUZvb3RlckNvbXBvbmVudCxcbiAgICBVc2VyTWVudUxpc3RDb21wb25lbnQsXG4gICAgVXNlck1lbnVTdWJsaXN0Q29tcG9uZW50LFxuICAgIFVzZXJNZW51TGlzdEl0ZW1Db21wb25lbnQsXG4gICAgVXNlck1lbnVDb250ZW50Q29udGFpbmVyQ29tcG9uZW50LFxuICAgIFVzZXJNZW51SGVhZGVyRGlyZWN0aXZlLFxuICAgIFVzZXJNZW51SGVhZGVyQ29udGFpbmVyRGlyZWN0aXZlLFxuICAgIFVzZXJNZW51VXNlck5hbWVEaXJlY3RpdmUsXG4gICAgVXNlck1lbnVTdWJsaW5lRGlyZWN0aXZlLFxuICAgIFVzZXJNZW51Q29udHJvbEVsZW1lbnREaXJlY3RpdmVcbl07XG5cbi8qKlxuICogQGRlcHJlY2F0ZWRcbiAqIFVzZSBkaXJlY3QgaW1wb3J0cyBvZiBjb21wb25lbnRzIGFuZCBkaXJlY3RpdmVzLlxuICovXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFsuLi5jb21wb25lbnRzXSxcbiAgICBleHBvcnRzOiBbLi4uY29tcG9uZW50c11cbn0pXG5leHBvcnQgY2xhc3MgVXNlck1lbnVNb2R1bGUge31cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuZGFtZW50YWwtbmd4LWNvcmUtdXNlci1tZW51LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3VzZXItbWVudS9mdW5kYW1lbnRhbC1uZ3gtY29yZS11c2VyLW1lbnUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":["map"],"mappings":"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"}
|