@fundamental-ngx/core 0.59.1-rc.9 → 0.59.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/fundamental-ngx-core-avatar-group-legacy.mjs +33 -50
- package/fesm2022/fundamental-ngx-core-avatar-group-legacy.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-avatar-group.mjs +9 -11
- package/fesm2022/fundamental-ngx-core-avatar-group.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-avatar.mjs +206 -293
- package/fesm2022/fundamental-ngx-core-avatar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-breadcrumb.mjs +25 -12
- package/fesm2022/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-calendar.mjs +11 -14
- package/fesm2022/fundamental-ngx-core-calendar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-card.mjs +13 -26
- package/fesm2022/fundamental-ngx-core-card.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-carousel.mjs +11 -11
- package/fesm2022/fundamental-ngx-core-carousel.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-combobox.mjs +33 -7
- package/fesm2022/fundamental-ngx-core-combobox.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-dialog.mjs +13 -17
- package/fesm2022/fundamental-ngx-core-dialog.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-dynamic-page.mjs +32 -24
- package/fesm2022/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-fixed-card-layout.mjs +28 -30
- package/fesm2022/fundamental-ngx-core-fixed-card-layout.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-grid-list.mjs +12 -10
- package/fesm2022/fundamental-ngx-core-grid-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-illustrated-message.mjs +202 -100
- package/fesm2022/fundamental-ngx-core-illustrated-message.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-layout-panel.mjs +72 -231
- package/fesm2022/fundamental-ngx-core-layout-panel.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-list.mjs +12 -12
- package/fesm2022/fundamental-ngx-core-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-menu.mjs +28 -28
- package/fesm2022/fundamental-ngx-core-menu.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-message-strip.mjs +85 -84
- package/fesm2022/fundamental-ngx-core-message-strip.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-micro-process-flow.mjs +21 -24
- package/fesm2022/fundamental-ngx-core-micro-process-flow.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-multi-combobox.mjs +19 -12
- package/fesm2022/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-multi-input.mjs +46 -39
- package/fesm2022/fundamental-ngx-core-multi-input.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-nested-list.mjs +66 -103
- package/fesm2022/fundamental-ngx-core-nested-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-notification.mjs +10 -12
- package/fesm2022/fundamental-ngx-core-notification.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-object-marker.mjs +69 -59
- package/fesm2022/fundamental-ngx-core-object-marker.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-object-status.mjs +92 -118
- package/fesm2022/fundamental-ngx-core-object-status.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-overflow-layout.mjs +27 -29
- package/fesm2022/fundamental-ngx-core-overflow-layout.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-pagination.mjs +17 -18
- package/fesm2022/fundamental-ngx-core-pagination.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-panel.mjs +7 -9
- package/fesm2022/fundamental-ngx-core-panel.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-popover.mjs +10 -15
- package/fesm2022/fundamental-ngx-core-popover.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-product-switch.mjs +12 -15
- package/fesm2022/fundamental-ngx-core-product-switch.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-resizable-card-layout.mjs +18 -20
- package/fesm2022/fundamental-ngx-core-resizable-card-layout.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-segmented-button.mjs +8 -11
- package/fesm2022/fundamental-ngx-core-segmented-button.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-select.mjs +6 -8
- package/fesm2022/fundamental-ngx-core-select.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-settings.mjs +9 -12
- package/fesm2022/fundamental-ngx-core-settings.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-shellbar.mjs +48 -34
- package/fesm2022/fundamental-ngx-core-shellbar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-slider.mjs +30 -31
- package/fesm2022/fundamental-ngx-core-slider.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-status-indicator.mjs +137 -131
- package/fesm2022/fundamental-ngx-core-status-indicator.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-tabs.mjs +21 -17
- package/fesm2022/fundamental-ngx-core-tabs.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-tile.mjs +375 -631
- package/fesm2022/fundamental-ngx-core-tile.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-time.mjs +7 -9
- package/fesm2022/fundamental-ngx-core-time.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-token.mjs +11 -13
- package/fesm2022/fundamental-ngx-core-token.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-toolbar.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-toolbar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-tree.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-tree.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-user-menu.mjs +63 -21
- package/fesm2022/fundamental-ngx-core-user-menu.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-wizard.mjs +1 -1
- package/fesm2022/fundamental-ngx-core-wizard.mjs.map +1 -1
- package/package.json +4 -4
- package/types/fundamental-ngx-core-avatar-group-legacy.d.ts +15 -17
- package/types/fundamental-ngx-core-avatar-group.d.ts +1 -1
- package/types/fundamental-ngx-core-avatar.d.ts +66 -86
- package/types/fundamental-ngx-core-breadcrumb.d.ts +13 -5
- package/types/fundamental-ngx-core-calendar.d.ts +3 -4
- package/types/fundamental-ngx-core-card.d.ts +4 -11
- package/types/fundamental-ngx-core-carousel.d.ts +3 -3
- package/types/fundamental-ngx-core-combobox.d.ts +8 -1
- package/types/fundamental-ngx-core-dialog.d.ts +2 -4
- package/types/fundamental-ngx-core-dynamic-page.d.ts +0 -6
- package/types/fundamental-ngx-core-fixed-card-layout.d.ts +7 -7
- package/types/fundamental-ngx-core-grid-list.d.ts +6 -4
- package/types/fundamental-ngx-core-illustrated-message.d.ts +165 -31
- package/types/fundamental-ngx-core-layout-panel.d.ts +19 -131
- package/types/fundamental-ngx-core-list.d.ts +8 -6
- package/types/fundamental-ngx-core-menu.d.ts +16 -13
- package/types/fundamental-ngx-core-message-strip.d.ts +5 -2
- package/types/fundamental-ngx-core-micro-process-flow.d.ts +8 -6
- package/types/fundamental-ngx-core-multi-combobox.d.ts +8 -5
- package/types/fundamental-ngx-core-multi-input.d.ts +24 -16
- package/types/fundamental-ngx-core-nested-list.d.ts +19 -33
- package/types/fundamental-ngx-core-notification.d.ts +2 -2
- package/types/fundamental-ngx-core-object-marker.d.ts +47 -27
- package/types/fundamental-ngx-core-object-status.d.ts +49 -48
- package/types/fundamental-ngx-core-overflow-layout.d.ts +10 -10
- package/types/fundamental-ngx-core-pagination.d.ts +7 -8
- package/types/fundamental-ngx-core-panel.d.ts +2 -4
- package/types/fundamental-ngx-core-popover.d.ts +7 -5
- package/types/fundamental-ngx-core-product-switch.d.ts +5 -4
- package/types/fundamental-ngx-core-resizable-card-layout.d.ts +10 -8
- package/types/fundamental-ngx-core-segmented-button.d.ts +5 -4
- package/types/fundamental-ngx-core-select.d.ts +4 -5
- package/types/fundamental-ngx-core-settings.d.ts +7 -10
- package/types/fundamental-ngx-core-shellbar.d.ts +23 -14
- package/types/fundamental-ngx-core-slider.d.ts +18 -13
- package/types/fundamental-ngx-core-status-indicator.d.ts +42 -58
- package/types/fundamental-ngx-core-tabs.d.ts +9 -7
- package/types/fundamental-ngx-core-tile.d.ts +114 -243
- package/types/fundamental-ngx-core-time.d.ts +5 -4
- package/types/fundamental-ngx-core-token.d.ts +5 -4
- package/types/fundamental-ngx-core-tree.d.ts +1 -1
- package/types/fundamental-ngx-core-user-menu.d.ts +25 -21
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-core-user-menu.mjs","sources":["../../../../libs/core/user-menu/directives/user-menu-user-name.directive.ts","../../../../libs/core/user-menu/components/user-menu-list-item.component.ts","../../../../libs/core/user-menu/components/user-menu-list-item.component.html","../../../../libs/core/user-menu/components/user-menu-body.component.ts","../../../../libs/core/user-menu/components/user-menu-body.component.html","../../../../libs/core/user-menu/components/user-menu-content-container.component.ts","../../../../libs/core/user-menu/components/user-menu-control.component.ts","../../../../libs/core/user-menu/components/user-menu-footer.component.ts","../../../../libs/core/user-menu/components/user-menu-list.component.ts","../../../../libs/core/user-menu/components/user-menu-sublist.component.ts","../../../../libs/core/user-menu/directives/user-menu-control-element.directive.ts","../../../../libs/core/user-menu/user-menu.component.ts","../../../../libs/core/user-menu/user-menu.component.html","../../../../libs/core/user-menu/directives/user-menu-header-container.directive.ts","../../../../libs/core/user-menu/directives/user-menu-header.directive.ts","../../../../libs/core/user-menu/directives/user-menu-subline.directive.ts","../../../../libs/core/user-menu/user-menu.module.ts","../../../../libs/core/user-menu/fundamental-ngx-core-user-menu.ts"],"sourcesContent":["import { booleanAttribute, Directive, input } from '@angular/core';\n\n@Directive({\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})\nexport class UserMenuUserNameDirective {\n /** Whether the text should truncate with ellipsis. */\n truncate = input(false, { transform: booleanAttribute });\n}\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n DestroyRef,\n ElementRef,\n EventEmitter,\n HostListener,\n NgZone,\n Output,\n TemplateRef,\n ViewEncapsulation,\n booleanAttribute,\n inject,\n input,\n signal,\n viewChild\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { KeyboardSupportItemInterface } from '@fundamental-ngx/cdk/utils';\nimport { PopoverBodyComponent, PopoverComponent, PopoverControlComponent } from '@fundamental-ngx/core/popover';\nimport { Observable, Subject, asyncScheduler, observeOn, startWith, take } from 'rxjs';\n\nlet uniqueId = 0;\nlet uniqueTextId = 0;\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-user-menu-list-item]',\n templateUrl: './user-menu-list-item.component.html',\n host: {\n class: 'fd-menu__item',\n role: 'none',\n '[attr.id]': 'uniqueId()',\n '[attr.aria-labelledby]': 'textId()'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [PopoverBodyComponent, PopoverComponent, PopoverControlComponent, CommonModule]\n})\nexport class UserMenuListItemComponent implements KeyboardSupportItemInterface {\n /** Event emitter for keyDown event */\n @Output()\n keyDown = new EventEmitter<KeyboardEvent>();\n\n /** Event emitter for isOpenChange event that controls the submenu popover body */\n @Output()\n readonly isOpenChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** Event emitter for showSubmenu event */\n @Output() showSubmenu: EventEmitter<TemplateRef<any> | null> = new EventEmitter();\n\n /** Event emitter for updateTitle event */\n @Output() updateTitle: EventEmitter<string | null> = new EventEmitter();\n\n /** Unique id for the menu list item. Default is provided. */\n uniqueId = input(`fd-menu-list-item-${++uniqueId}`);\n\n /** Icon name for the menu list item (optional) */\n icon = input<string>();\n\n /** Required text for the menu list item */\n text = input.required<string>();\n\n /** Unique id for the title. Default is provided. */\n textId = input(`fd-menu-list-item-title-${++uniqueTextId}`);\n\n /** Whether the item has a submenu */\n hasSubmenu = input(false, { transform: booleanAttribute });\n\n /** Template ref for user menu list item submenu */\n submenu = input<TemplateRef<any> | null>(null);\n\n /** Whether the item is selected */\n selected = input(false, { transform: booleanAttribute });\n\n /** Whether the item's submenu is open */\n isOpen = signal(false);\n\n /** Whether the item is in mobile mode */\n mobile = signal(false);\n\n /** Reference to the popover */\n popover = viewChild(PopoverComponent);\n\n /** @hidden */\n readonly focused = new Subject<UserMenuListItemComponent>();\n\n /** Item's tabindex */\n readonly _tabIndex$ = signal<number | null>(null);\n\n /** @hidden */\n readonly _elementRef = inject(ElementRef);\n\n /** @hidden */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n private readonly _zone = inject(NgZone);\n\n /** @hidden */\n private _changeDetectionRef = inject(ChangeDetectorRef);\n\n /** @hidden */\n @HostListener('focusin')\n focusHandler(): void {\n this.focused.next(this);\n }\n\n /** Handles submenu selection in mobile mode */\n onShowDetailsView(): void {\n if (this.submenu() && this.mobile()) {\n this.showSubmenu.emit(this.submenu());\n this.updateTitle.emit(this.text());\n }\n }\n\n /** @hidden Support for KeyboardSupportItemInterface */\n click(): void {\n const linkElement: HTMLButtonElement = this._elementRef.nativeElement.querySelector('.fd-menu__link');\n linkElement.click();\n }\n\n /** @hidden */\n focus(): void {\n const linkElement: HTMLButtonElement = this._elementRef.nativeElement.querySelector('.fd-menu__link');\n linkElement.focus();\n }\n\n /** @hidden */\n isOpenChangeHandle(isOpen: boolean, popover: PopoverComponent): void {\n const firstTabbableElement: HTMLButtonElement =\n popover.popoverBody._elementRef.nativeElement.querySelector('.fd-menu__link');\n\n const linkElement: HTMLButtonElement = this._elementRef.nativeElement.querySelector('.fd-menu__link');\n\n if (this.isOpen() === isOpen) {\n return;\n }\n\n this.isOpen.set(isOpen);\n\n this.isOpenChange.emit(isOpen);\n\n this._onZoneStable().subscribe(() => {\n this.isOpen() ? linkElement.classList.add('is-selected') : linkElement.classList.remove('is-selected');\n firstTabbableElement.focus();\n });\n\n if (!this.isOpen()) {\n linkElement.focus();\n }\n\n this._changeDetectionRef.detectChanges();\n }\n\n /** @hidden */\n private _onZoneStable(): Observable<void> {\n return this._zone.onStable.pipe(\n startWith(this._zone.isStable),\n observeOn(asyncScheduler),\n take(1),\n takeUntilDestroyed(this._destroyRef)\n );\n }\n}\n","@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","import { CommonModule } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n DestroyRef,\n ElementRef,\n HostListener,\n OnInit,\n QueryList,\n TemplateRef,\n ViewEncapsulation,\n contentChild,\n inject,\n signal,\n viewChild\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { InitialFocusDirective, RtlService } from '@fundamental-ngx/cdk/utils';\nimport {\n BarComponent,\n BarElementDirective,\n BarLeftDirective,\n BarRightDirective,\n ButtonBarComponent\n} from '@fundamental-ngx/core/bar';\nimport { contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { TitleComponent } from '@fundamental-ngx/core/title';\nimport { Observable, Subject, map, startWith } from 'rxjs';\nimport { UserMenuUserNameDirective } from '../directives/user-menu-user-name.directive';\nimport { UserMenuListItemComponent } from './user-menu-list-item.component';\n\n@Component({\n selector: 'fd-user-menu-body',\n templateUrl: './user-menu-body.component.html',\n host: {\n class: 'fd-user-menu__body'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n BarComponent,\n CommonModule,\n TitleComponent,\n BarLeftDirective,\n BarRightDirective,\n ButtonBarComponent,\n BarElementDirective,\n InitialFocusDirective\n ],\n providers: [contentDensityObserverProviders()]\n})\nexport class UserMenuBodyComponent implements OnInit, AfterViewInit {\n /** @hidden */\n @ContentChildren(UserMenuListItemComponent, { descendants: true })\n readonly _listItems: QueryList<UserMenuListItemComponent>;\n\n /**\n * Handle the navigation icon (arrow) of the Back button in RTL mode\n */\n navigationArrow$: Observable<string>;\n\n /**\n * Template ref of the submenu\n */\n submenu = signal<TemplateRef<any> | null>(null);\n\n /**\n * The text of the selected item\n * Needed in mobile mode to update the title in the header\n */\n selectedItemTitle = signal<string | null>(null);\n\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 readonly isUserNameVisible = signal(true);\n\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 readonly userNameContent = signal('');\n\n /**\n * Template ref to the header of the user menu body.\n * Needed in mobile mode\n */\n readonly bodyHeader = viewChild<TemplateRef<any>>('bodyHeader');\n\n /** @hidden */\n protected readonly userNameEl = contentChild(UserMenuUserNameDirective, { read: ElementRef });\n\n /** @hidden */\n private _rtlService = inject(RtlService);\n\n /** @hidden */\n private _refresh$ = new Subject<void>();\n\n /** @hidden */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n @HostListener('click', ['$event'])\n onClick(event: MouseEvent): void {\n event.stopPropagation();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.navigationArrow$ = this._rtlService.rtl.pipe(\n map((isRtl) => (isRtl ? 'navigation-right-arrow' : 'navigation-left-arrow'))\n );\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._listItems.changes\n .pipe(startWith(this._listItems), takeUntilDestroyed(this._destroyRef))\n .subscribe((listItems) => {\n listItems.forEach((item: UserMenuListItemComponent) => {\n item.showSubmenu\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe((submenuTpl: TemplateRef<any> | null) => {\n this.selectItem(submenuTpl);\n });\n item.updateTitle.pipe(takeUntilDestroyed(this._destroyRef)).subscribe((title: string | null) => {\n this.updateTitle(title);\n });\n });\n });\n\n const el = this.userNameEl()?.nativeElement;\n\n if (!el) {\n return;\n }\n\n // logic for showing/hiding the popover header with user name on scroll\n const intersectionObserver = new IntersectionObserver(\n (entries) => {\n this.isUserNameVisible.set(entries[0].isIntersecting);\n },\n { root: null, threshold: 0 }\n );\n\n intersectionObserver.observe(el);\n\n // Initialize\n this.userNameContent.set(el.innerHTML.trim());\n\n // Watch for changes in projected content\n const mutationObserver = new MutationObserver(() => {\n this.userNameContent.set(el.innerHTML.trim());\n });\n\n mutationObserver.observe(el, {\n childList: true,\n characterData: true,\n subtree: true\n });\n\n this._destroyRef.onDestroy(() => {\n intersectionObserver.disconnect();\n mutationObserver.disconnect();\n });\n }\n\n /**\n * Selects the item and sets the submenu template ref\n */\n selectItem(submenuTpl: TemplateRef<any> | null): void {\n this.submenu.set(submenuTpl);\n }\n\n /**\n * Updates the title of the selected item\n */\n updateTitle(title: string | null): void {\n this.selectedItemTitle.set(title);\n }\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(): void {\n this.submenu.set(null);\n this.selectedItemTitle.set(null);\n }\n\n /**\n * Closes the dialog in mobile mode\n */\n closeDialog(dialogRef): void {\n dialogRef.dismiss('Close');\n this.clearSubmenu();\n }\n}\n","@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","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\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})\nexport class UserMenuContentContainerComponent {}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Output,\n ViewEncapsulation\n} from '@angular/core';\n\n@Component({\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})\nexport class UserMenuControlComponent {\n /** Event emitted event when control element is clicked */\n @Output()\n clicked: EventEmitter<void> = new EventEmitter<void>();\n\n /** @hidden */\n constructor(private el: ElementRef<HTMLElement>) {}\n\n /** @hidden */\n @HostListener('click')\n onClick(): void {\n this.clicked.emit();\n }\n\n /** @hidden */\n focus(): void {\n this.el.nativeElement.focus();\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\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})\nexport class UserMenuFooterComponent {}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n DestroyRef,\n HostListener,\n inject,\n QueryList,\n ViewEncapsulation\n} 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';\n\n@Component({\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})\nexport class UserMenuListComponent implements AfterViewInit {\n /** @hidden */\n @ContentChildren(UserMenuListItemComponent, { descendants: true })\n readonly _listItems: QueryList<UserMenuListItemComponent>;\n\n /** @hidden */\n private _refresh$ = new Subject<void>();\n\n /** @hidden */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n private readonly _keyboardSupportService = inject(KeyboardSupportService);\n\n /** @hidden */\n @HostListener('keydown', ['$event'])\n keyDownHandler(event: KeyboardEvent): void {\n if (this._keyboardSupportService.keyManager) {\n this._keyboardSupportService.onKeyDown(event);\n }\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._keyboardSupportService.setKeyboardService(this._listItems, false, false);\n\n this._listItems.changes.pipe(startWith(null), takeUntilDestroyed(this._destroyRef)).subscribe(() => {\n this._setupInteractionListeners();\n });\n }\n\n /** @hidden */\n private _setupInteractionListeners(): void {\n this._refresh$.next();\n this._refresh$.complete();\n this._refresh$ = new Subject<void>();\n\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}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n DestroyRef,\n HostListener,\n QueryList,\n ViewEncapsulation,\n booleanAttribute,\n inject,\n input\n} 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';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-user-menu-sublist]',\n template: `<ul class=\"fd-menu__list fd-user-menu__menu-list\" role=\"menu\">\n <ng-content />\n </ul> `,\n host: {\n class: 'fd-menu fd-user-menu__menu',\n '[class.fd-menu--icons]': 'hasIcons()'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [\n `\n [fd-user-menu-sublist] {\n margin-block-start: 0 !important;\n }\n `\n ]\n})\nexport class UserMenuSublistComponent implements AfterViewInit {\n /** @hidden */\n @ContentChildren(UserMenuListItemComponent, { descendants: true })\n _listItems: QueryList<UserMenuListItemComponent>;\n\n /** Whether the sublist menu items have icons */\n hasIcons = input(false, { transform: booleanAttribute });\n\n /** @hidden */\n private _refresh$ = new Subject<void>();\n\n /** @hidden */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n private readonly _keyboardSupportService = inject(KeyboardSupportService<UserMenuListItemComponent>);\n\n /** @hidden */\n @HostListener('click', ['$event'])\n onClick(event: MouseEvent): void {\n event.stopPropagation();\n }\n\n /** @hidden */\n @HostListener('keydown', ['$event'])\n keyDownHandler(event: KeyboardEvent): void {\n if (this._keyboardSupportService.keyManager) {\n this._keyboardSupportService.onKeyDown(event);\n }\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._keyboardSupportService.setKeyboardService(this._listItems, false, false);\n\n this._listItems.changes.pipe(startWith(null), takeUntilDestroyed(this._destroyRef)).subscribe(() => {\n this._setupInteractionListeners();\n });\n }\n\n /** @hidden */\n private _setupInteractionListeners(): void {\n this._refresh$.next();\n this._refresh$.complete();\n this._refresh$ = new Subject<void>();\n\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}\n","import { Directive } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-user-menu-control-element]'\n})\nexport class UserMenuControlElementDirective {}\n","import { CommonModule } from '@angular/common';\nimport {\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n contentChild,\n contentChildren,\n DestroyRef,\n effect,\n ElementRef,\n inject,\n input,\n OnInit,\n output,\n Renderer2,\n signal,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { KeyboardSupportService, RtlService, TemplateDirective } from '@fundamental-ngx/cdk/utils';\nimport { ContentDensityMode, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport {\n DialogBodyComponent,\n DialogComponent,\n DialogFooterComponent,\n DialogHeaderComponent,\n DialogRef,\n DialogService\n} from '@fundamental-ngx/core/dialog';\n\nimport { PopoverBodyComponent, PopoverComponent, PopoverControlComponent } from '@fundamental-ngx/core/popover';\n\nimport { BarComponent, BarElementDirective, BarMiddleDirective } from '@fundamental-ngx/core/bar';\n\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';\n\n@Component({\n selector: 'fd-user-menu',\n templateUrl: './user-menu.component.html',\n styleUrl: './user-menu.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'fd-user-menu'\n },\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 ],\n providers: [KeyboardSupportService, contentDensityObserverProviders()]\n})\nexport class UserMenuComponent implements OnInit, AfterViewInit {\n /** Event thrown, when the user menu is opened or closed */\n isOpenChange = output<boolean>();\n\n /** Whether the user menu is in mobile mode */\n mobile = input(false, { transform: booleanAttribute });\n\n /** Whether the user menu is open */\n readonly isOpen = signal(false);\n\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 readonly isUserNameVisible = signal(true);\n\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 readonly userNameContent = signal('');\n\n /** @hidden */\n protected readonly userMenuControl = contentChild(UserMenuControlComponent);\n\n /** @hidden */\n protected readonly userNameEl = contentChild(UserMenuUserNameDirective, { read: ElementRef });\n\n /** @hidden */\n protected readonly userMenuControlElement = contentChild(UserMenuControlElementDirective, {\n descendants: true,\n read: ElementRef\n });\n\n /** @hidden */\n protected readonly userMenuBody = contentChild(UserMenuBodyComponent, { descendants: true });\n\n /** @hidden */\n protected navigationArrow$: Observable<string>;\n\n /** @hidden */\n private _listItems = contentChildren(UserMenuListItemComponent, { descendants: true });\n\n /** @hidden */\n private _rtlService = inject(RtlService);\n\n /** @hidden */\n private _dialogService = inject(DialogService);\n\n /** @hidden */\n private _changeDetectionRef = inject(ChangeDetectorRef);\n\n /** @hidden */\n private _renderer = inject(Renderer2);\n\n /** @hidden */\n private _dialogRef: DialogRef | undefined;\n\n private _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n constructor() {\n effect(() => {\n const isMobile = this.mobile();\n this._listItems()?.forEach((item) => item.mobile.set(isMobile));\n });\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.navigationArrow$ = this._rtlService.rtl.pipe(\n map((isRtl) => (isRtl ? 'navigation-right-arrow' : 'navigation-left-arrow'))\n );\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n const isMobile = this.mobile();\n this._listItems()?.forEach((item) => item.mobile.set(isMobile));\n\n const el = this.userNameEl()?.nativeElement;\n\n if (!el) {\n return;\n }\n\n // logic for showing/hiding the popover header with user name on scroll\n const intersectionObserver = new IntersectionObserver(\n (entries) => {\n this.isUserNameVisible.set(entries[0].isIntersecting);\n },\n { root: null, threshold: 0, rootMargin: '-20px 0px 0px 0px' }\n );\n\n intersectionObserver.observe(el);\n\n // Initialize\n this.userNameContent.set(el.innerHTML.trim());\n\n // Watch for changes in projected content\n const mutationObserver = new MutationObserver(() => {\n this.userNameContent.set(el.innerHTML.trim());\n });\n\n mutationObserver.observe(el, {\n childList: true,\n characterData: true,\n subtree: true\n });\n\n this._destroyRef.onDestroy(() => {\n intersectionObserver.disconnect();\n mutationObserver.disconnect();\n });\n }\n\n /** Method that opens the user menu */\n open(): void {\n this.isOpenChangeHandle(true);\n }\n\n /** Method that closes the user menu */\n close(): void {\n this.isOpenChangeHandle(false);\n\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\n this._listItems()[0]?._tabIndex$.set(0);\n }\n\n this._clearSubmenu();\n this._dialogRef?.close();\n }\n\n /** Method that opens the user menu in dialog (for mobile mode) */\n openDialog(dialogTemplate: TemplateRef<any>): void {\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\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\n /** @hidden */\n isOpenChangeHandle(isOpen: boolean): void {\n if (this.isOpen() === isOpen) {\n return;\n }\n\n this.isOpen.set(isOpen);\n this.isOpenChange.emit(isOpen);\n\n if (!isOpen && !this.mobile()) {\n this.userMenuControl()?.focus();\n }\n\n const userMenuControlEl = this.userMenuControlElement()?.nativeElement;\n\n this.userMenuControlElement()?.nativeElement &&\n (isOpen\n ? this._renderer.addClass(userMenuControlEl, 'is-active')\n : this._renderer.removeClass(userMenuControlEl, 'is-active'));\n\n this._changeDetectionRef.detectChanges();\n }\n\n /** @hidden */\n private _clearSubmenu(): void {\n const userMenuBody = this.userMenuBody();\n if (userMenuBody) {\n userMenuBody.clearSubmenu();\n }\n }\n}\n","@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","import { Directive } from '@angular/core';\n\n@Directive({\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})\nexport class UserMenuHeaderContainerDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\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})\nexport class UserMenuHeaderDirective {}\n","import { booleanAttribute, Directive, input } from '@angular/core';\n\n@Directive({\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})\nexport class UserMenuSublineDirective {\n /** Whether the text should truncate with ellipsis. */\n truncate = input(false, { transform: booleanAttribute });\n}\n","import { NgModule } from '@angular/core';\n\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\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';\n\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/**\n * @deprecated\n * Use direct imports of components and directives.\n */\n@NgModule({\n imports: [...components],\n exports: [...components]\n})\nexport class UserMenuModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["map"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-core-user-menu.mjs","sources":["../../../../libs/core/user-menu/directives/user-menu-user-name.directive.ts","../../../../libs/core/user-menu/components/user-menu-list-item.component.ts","../../../../libs/core/user-menu/components/user-menu-list-item.component.html","../../../../libs/core/user-menu/components/user-menu-body.component.ts","../../../../libs/core/user-menu/components/user-menu-body.component.html","../../../../libs/core/user-menu/components/user-menu-content-container.component.ts","../../../../libs/core/user-menu/components/user-menu-control.component.ts","../../../../libs/core/user-menu/components/user-menu-footer.component.ts","../../../../libs/core/user-menu/components/user-menu-list.component.ts","../../../../libs/core/user-menu/components/user-menu-sublist.component.ts","../../../../libs/core/user-menu/directives/user-menu-control-element.directive.ts","../../../../libs/core/user-menu/user-menu.component.ts","../../../../libs/core/user-menu/user-menu.component.html","../../../../libs/core/user-menu/directives/user-menu-header-container.directive.ts","../../../../libs/core/user-menu/directives/user-menu-header.directive.ts","../../../../libs/core/user-menu/directives/user-menu-subline.directive.ts","../../../../libs/core/user-menu/user-menu.module.ts","../../../../libs/core/user-menu/fundamental-ngx-core-user-menu.ts"],"sourcesContent":["import { booleanAttribute, Directive, input } from '@angular/core';\n\n@Directive({\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})\nexport class UserMenuUserNameDirective {\n /** Whether the text should truncate with ellipsis. */\n truncate = input(false, { transform: booleanAttribute });\n}\n","import { LEFT_ARROW, RIGHT_ARROW } from '@angular/cdk/keycodes';\nimport { CommonModule } from '@angular/common';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n computed,\n DestroyRef,\n ElementRef,\n EventEmitter,\n HostListener,\n inject,\n input,\n NgZone,\n Output,\n signal,\n TemplateRef,\n viewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { KeyboardSupportItemInterface, KeyUtil, RtlService } from '@fundamental-ngx/cdk/utils';\nimport { PopoverBodyComponent, PopoverComponent, PopoverControlComponent } from '@fundamental-ngx/core/popover';\nimport { asyncScheduler, Observable, observeOn, startWith, Subject, take } from 'rxjs';\n\nlet uniqueId = 0;\nlet uniqueTextId = 0;\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-user-menu-list-item]',\n templateUrl: './user-menu-list-item.component.html',\n host: {\n class: 'fd-menu__item',\n role: 'none',\n '[attr.id]': 'uniqueId()',\n '[attr.aria-labelledby]': 'textId()'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [PopoverBodyComponent, PopoverComponent, PopoverControlComponent, CommonModule]\n})\nexport class UserMenuListItemComponent implements KeyboardSupportItemInterface {\n /** Event emitter for keyDown event */\n @Output()\n keyDown = new EventEmitter<KeyboardEvent>();\n\n /** Event emitter for isOpenChange event that controls the submenu popover body */\n @Output()\n readonly isOpenChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** Event emitter for showSubmenu event */\n @Output() showSubmenu: EventEmitter<TemplateRef<any> | null> = new EventEmitter();\n\n /** Event emitter for updateTitle event */\n @Output() updateTitle: EventEmitter<string | null> = new EventEmitter();\n\n /** Unique id for the menu list item. Default is provided. */\n uniqueId = input(`fd-menu-list-item-${++uniqueId}`);\n\n /** Icon name for the menu list item (optional) */\n icon = input<string>();\n\n /** Required text for the menu list item */\n text = input.required<string>();\n\n /** Unique id for the title. Default is provided. */\n textId = input(`fd-menu-list-item-title-${++uniqueTextId}`);\n\n /** Whether the item has a submenu */\n hasSubmenu = input(false, { transform: booleanAttribute });\n\n /** Template ref for user menu list item submenu */\n submenu = input<TemplateRef<any> | null>(null);\n\n /** Whether the item is selected */\n selected = input(false, { transform: booleanAttribute });\n\n /** Whether the item's submenu is open */\n isOpen = signal(false);\n\n /** Whether the item is in mobile mode */\n mobile = signal(false);\n\n /** Reference to the popover */\n popover = viewChild(PopoverComponent);\n\n /** @hidden */\n readonly focused = new Subject<UserMenuListItemComponent>();\n\n /** Item's tabindex */\n readonly _tabIndex$ = signal<number | null>(null);\n\n /** @hidden */\n readonly _elementRef = inject(ElementRef);\n\n /** @hidden */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n private readonly _zone = inject(NgZone);\n\n /** @hidden */\n private _changeDetectionRef = inject(ChangeDetectorRef);\n\n /** @hidden RTL service for direction detection */\n private readonly _rtlService = inject(RtlService, {\n optional: true\n });\n\n /** @hidden Computed signal to track RTL state */\n private readonly _isRtl = computed(() => this._rtlService?.rtl() ?? false);\n\n /** @hidden */\n @HostListener('focusin')\n focusHandler(): void {\n this.focused.next(this);\n }\n\n /** @hidden */\n @HostListener('keydown', ['$event'])\n onKeyDown(event: KeyboardEvent): void {\n if (!this.hasSubmenu() || this.mobile()) {\n return;\n }\n\n const popoverInstance = this.popover();\n if (!popoverInstance) {\n return;\n }\n\n const isRtl = this._isRtl();\n\n // In RTL mode, LEFT arrow opens submenu and RIGHT arrow closes it\n // In LTR mode, RIGHT arrow opens submenu and LEFT arrow closes it\n const openKey = isRtl ? LEFT_ARROW : RIGHT_ARROW;\n const closeKey = isRtl ? RIGHT_ARROW : LEFT_ARROW;\n\n if (KeyUtil.isKeyCode(event, openKey) && !this.isOpen()) {\n event.preventDefault();\n popoverInstance.open();\n } else if (KeyUtil.isKeyCode(event, closeKey) && this.isOpen()) {\n event.preventDefault();\n popoverInstance.close();\n }\n }\n\n /** @hidden Handle keyboard in popover body */\n onPopoverBodyKeyDown(event: KeyboardEvent): void {\n const isRtl = this._isRtl();\n const closeKey = isRtl ? RIGHT_ARROW : LEFT_ARROW;\n\n if (KeyUtil.isKeyCode(event, closeKey) && this.isOpen()) {\n event.preventDefault();\n const popoverInstance = this.popover();\n if (popoverInstance) {\n popoverInstance.close();\n }\n }\n }\n\n /** Handles submenu selection in mobile mode */\n onShowDetailsView(): void {\n if (this.submenu() && this.mobile()) {\n this.showSubmenu.emit(this.submenu());\n this.updateTitle.emit(this.text());\n }\n }\n\n /** @hidden Support for KeyboardSupportItemInterface */\n click(): void {\n const linkElement: HTMLButtonElement = this._elementRef.nativeElement.querySelector('.fd-menu__link');\n linkElement.click();\n }\n\n /** @hidden */\n focus(): void {\n const linkElement: HTMLButtonElement = this._elementRef.nativeElement.querySelector('.fd-menu__link');\n linkElement.focus();\n }\n\n /** @hidden */\n isOpenChangeHandle(isOpen: boolean, popover: PopoverComponent): void {\n const firstTabbableElement: HTMLButtonElement =\n popover.popoverBody._elementRef.nativeElement.querySelector('.fd-menu__link');\n\n const linkElement: HTMLButtonElement = this._elementRef.nativeElement.querySelector('.fd-menu__link');\n\n if (this.isOpen() === isOpen) {\n return;\n }\n\n this.isOpen.set(isOpen);\n\n this.isOpenChange.emit(isOpen);\n\n this._onZoneStable().subscribe(() => {\n this.isOpen() ? linkElement.classList.add('is-selected') : linkElement.classList.remove('is-selected');\n firstTabbableElement.focus();\n });\n\n if (!this.isOpen()) {\n linkElement.focus();\n }\n\n this._changeDetectionRef.detectChanges();\n }\n\n /** @hidden */\n private _onZoneStable(): Observable<void> {\n return this._zone.onStable.pipe(\n startWith(this._zone.isStable),\n observeOn(asyncScheduler),\n take(1),\n takeUntilDestroyed(this._destroyRef)\n );\n }\n}\n","@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 (keydown)=\"onPopoverBodyKeyDown($event)\">\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","import { CommonModule } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n DestroyRef,\n ElementRef,\n HostListener,\n QueryList,\n TemplateRef,\n ViewEncapsulation,\n computed,\n contentChild,\n inject,\n signal,\n viewChild\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { InitialFocusDirective, RtlService } from '@fundamental-ngx/cdk/utils';\nimport {\n BarComponent,\n BarElementDirective,\n BarLeftDirective,\n BarRightDirective,\n ButtonBarComponent\n} from '@fundamental-ngx/core/bar';\nimport { contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { TitleComponent } from '@fundamental-ngx/core/title';\nimport { Subject, startWith } from 'rxjs';\nimport { UserMenuUserNameDirective } from '../directives/user-menu-user-name.directive';\nimport { UserMenuListItemComponent } from './user-menu-list-item.component';\n\n@Component({\n selector: 'fd-user-menu-body',\n templateUrl: './user-menu-body.component.html',\n host: {\n class: 'fd-user-menu__body'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n BarComponent,\n CommonModule,\n TitleComponent,\n BarLeftDirective,\n BarRightDirective,\n ButtonBarComponent,\n BarElementDirective,\n InitialFocusDirective\n ],\n providers: [contentDensityObserverProviders()]\n})\nexport class UserMenuBodyComponent implements AfterViewInit {\n /** @hidden */\n @ContentChildren(UserMenuListItemComponent, { descendants: true })\n readonly _listItems: QueryList<UserMenuListItemComponent>;\n\n /**\n * Template ref of the submenu\n */\n submenu = signal<TemplateRef<any> | null>(null);\n\n /**\n * The text of the selected item\n * Needed in mobile mode to update the title in the header\n */\n selectedItemTitle = signal<string | null>(null);\n\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 readonly isUserNameVisible = signal(true);\n\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 readonly userNameContent = signal('');\n\n /**\n * Template ref to the header of the user menu body.\n * Needed in mobile mode\n */\n readonly bodyHeader = viewChild<TemplateRef<any>>('bodyHeader');\n\n /**\n * Handle the navigation icon (arrow) of the Back button in RTL mode\n */\n protected readonly navigationArrow = computed(() =>\n this._rtlService?.rtl() ? 'navigation-right-arrow' : 'navigation-left-arrow'\n );\n\n /** @hidden */\n protected readonly userNameEl = contentChild(UserMenuUserNameDirective, { read: ElementRef });\n\n /** @hidden */\n private readonly _rtlService = inject(RtlService, { optional: true });\n\n /** @hidden */\n private readonly _refresh$ = new Subject<void>();\n\n /** @hidden */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n @HostListener('click', ['$event'])\n onClick(event: MouseEvent): void {\n event.stopPropagation();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._listItems.changes\n .pipe(startWith(this._listItems), takeUntilDestroyed(this._destroyRef))\n .subscribe((listItems) => {\n listItems.forEach((item: UserMenuListItemComponent) => {\n item.showSubmenu\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe((submenuTpl: TemplateRef<any> | null) => {\n this.selectItem(submenuTpl);\n });\n item.updateTitle.pipe(takeUntilDestroyed(this._destroyRef)).subscribe((title: string | null) => {\n this.updateTitle(title);\n });\n });\n });\n\n const el = this.userNameEl()?.nativeElement;\n\n if (!el) {\n return;\n }\n\n // logic for showing/hiding the popover header with user name on scroll\n const intersectionObserver = new IntersectionObserver(\n (entries) => {\n this.isUserNameVisible.set(entries[0].isIntersecting);\n },\n { root: null, threshold: 0 }\n );\n\n intersectionObserver.observe(el);\n\n // Initialize\n this.userNameContent.set(el.innerHTML.trim());\n\n // Watch for changes in projected content\n const mutationObserver = new MutationObserver(() => {\n this.userNameContent.set(el.innerHTML.trim());\n });\n\n mutationObserver.observe(el, {\n childList: true,\n characterData: true,\n subtree: true\n });\n\n this._destroyRef.onDestroy(() => {\n intersectionObserver.disconnect();\n mutationObserver.disconnect();\n });\n }\n\n /**\n * Selects the item and sets the submenu template ref\n */\n selectItem(submenuTpl: TemplateRef<any> | null): void {\n this.submenu.set(submenuTpl);\n }\n\n /**\n * Updates the title of the selected item\n */\n updateTitle(title: string | null): void {\n this.selectedItemTitle.set(title);\n }\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(): void {\n this.submenu.set(null);\n this.selectedItemTitle.set(null);\n }\n\n /**\n * Closes the dialog in mobile mode\n */\n closeDialog(dialogRef): void {\n dialogRef.dismiss('Close');\n this.clearSubmenu();\n }\n}\n","@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()\"\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","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\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})\nexport class UserMenuContentContainerComponent {}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Output,\n ViewEncapsulation\n} from '@angular/core';\n\n@Component({\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})\nexport class UserMenuControlComponent {\n /** Event emitted event when control element is clicked */\n @Output()\n clicked: EventEmitter<void> = new EventEmitter<void>();\n\n /** @hidden */\n constructor(private el: ElementRef<HTMLElement>) {}\n\n /** @hidden */\n @HostListener('click')\n onClick(): void {\n this.clicked.emit();\n }\n\n /** @hidden */\n focus(): void {\n this.el.nativeElement.focus();\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\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})\nexport class UserMenuFooterComponent {}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n DestroyRef,\n HostListener,\n inject,\n QueryList,\n ViewEncapsulation\n} 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';\n\n@Component({\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})\nexport class UserMenuListComponent implements AfterViewInit {\n /** @hidden */\n @ContentChildren(UserMenuListItemComponent, { descendants: false })\n readonly _listItems: QueryList<UserMenuListItemComponent>;\n\n /** @hidden */\n private _refresh$ = new Subject<void>();\n\n /** @hidden */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n private readonly _keyboardSupportService = inject(KeyboardSupportService);\n\n /** @hidden */\n @HostListener('keydown', ['$event'])\n keyDownHandler(event: KeyboardEvent): void {\n if (this._keyboardSupportService.keyManager) {\n this._keyboardSupportService.onKeyDown(event);\n }\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._keyboardSupportService.setKeyboardService(this._listItems, false, false);\n\n this._listItems.changes.pipe(startWith(null), takeUntilDestroyed(this._destroyRef)).subscribe(() => {\n this._setupInteractionListeners();\n });\n }\n\n /** @hidden */\n private _setupInteractionListeners(): void {\n this._refresh$.next();\n this._refresh$.complete();\n this._refresh$ = new Subject<void>();\n\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}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n DestroyRef,\n HostListener,\n QueryList,\n ViewEncapsulation,\n booleanAttribute,\n inject,\n input\n} 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';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-user-menu-sublist]',\n template: `<ul class=\"fd-menu__list fd-user-menu__menu-list\" role=\"menu\">\n <ng-content />\n </ul> `,\n host: {\n class: 'fd-menu fd-user-menu__menu',\n '[class.fd-menu--icons]': 'hasIcons()'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [KeyboardSupportService],\n styles: [\n `\n [fd-user-menu-sublist] {\n margin-block-start: 0 !important;\n }\n `\n ]\n})\nexport class UserMenuSublistComponent implements AfterViewInit {\n /** @hidden */\n @ContentChildren(UserMenuListItemComponent, { descendants: true })\n _listItems: QueryList<UserMenuListItemComponent>;\n\n /** Whether the sublist menu items have icons */\n hasIcons = input(false, { transform: booleanAttribute });\n\n /** @hidden */\n private _refresh$ = new Subject<void>();\n\n /** @hidden */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n private readonly _keyboardSupportService = inject(KeyboardSupportService<UserMenuListItemComponent>);\n\n /** @hidden */\n @HostListener('click', ['$event'])\n onClick(event: MouseEvent): void {\n event.stopPropagation();\n }\n\n /** @hidden */\n @HostListener('keydown', ['$event'])\n keyDownHandler(event: KeyboardEvent): void {\n if (this._keyboardSupportService.keyManager) {\n this._keyboardSupportService.onKeyDown(event);\n }\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._keyboardSupportService.setKeyboardService(this._listItems, false, false);\n\n this._listItems.changes.pipe(startWith(null), takeUntilDestroyed(this._destroyRef)).subscribe(() => {\n this._setupInteractionListeners();\n });\n }\n\n /** @hidden */\n private _setupInteractionListeners(): void {\n this._refresh$.next();\n this._refresh$.complete();\n this._refresh$ = new Subject<void>();\n\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}\n","import { Directive } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-user-menu-control-element]'\n})\nexport class UserMenuControlElementDirective {}\n","import { CommonModule } from '@angular/common';\nimport {\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n computed,\n contentChild,\n contentChildren,\n DestroyRef,\n effect,\n ElementRef,\n inject,\n input,\n output,\n Renderer2,\n signal,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { KeyboardSupportService, RtlService, TemplateDirective } from '@fundamental-ngx/cdk/utils';\nimport { ContentDensityMode, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport {\n DialogBodyComponent,\n DialogComponent,\n DialogFooterComponent,\n DialogHeaderComponent,\n DialogRef,\n DialogService\n} from '@fundamental-ngx/core/dialog';\n\nimport { PopoverBodyComponent, PopoverComponent, PopoverControlComponent } from '@fundamental-ngx/core/popover';\n\nimport { BarComponent, BarElementDirective, BarMiddleDirective } from '@fundamental-ngx/core/bar';\n\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';\n\n@Component({\n selector: 'fd-user-menu',\n templateUrl: './user-menu.component.html',\n styleUrl: './user-menu.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'fd-user-menu'\n },\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 ],\n providers: [KeyboardSupportService, contentDensityObserverProviders()]\n})\nexport class UserMenuComponent implements AfterViewInit {\n /** Event thrown, when the user menu is opened or closed */\n isOpenChange = output<boolean>();\n\n /** Whether the user menu is in mobile mode */\n mobile = input(false, { transform: booleanAttribute });\n\n /** Whether the user menu is open */\n readonly isOpen = signal(false);\n\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 readonly isUserNameVisible = signal(true);\n\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 readonly userNameContent = signal('');\n\n /** @hidden */\n protected readonly userMenuControl = contentChild(UserMenuControlComponent);\n\n /** @hidden */\n protected readonly userNameEl = contentChild(UserMenuUserNameDirective, { read: ElementRef });\n\n /** @hidden */\n protected readonly userMenuControlElement = contentChild(UserMenuControlElementDirective, {\n descendants: true,\n read: ElementRef\n });\n\n /** @hidden */\n protected readonly userMenuBody = contentChild(UserMenuBodyComponent, { descendants: true });\n\n /** @hidden */\n protected readonly navigationArrow = computed(() =>\n this._rtlService.rtl() ? 'navigation-right-arrow' : 'navigation-left-arrow'\n );\n\n /** @hidden */\n private readonly _listItems = contentChildren(UserMenuListItemComponent, { descendants: true });\n\n /** @hidden */\n private readonly _rtlService = inject(RtlService);\n\n /** @hidden */\n private readonly _dialogService = inject(DialogService);\n\n /** @hidden */\n private readonly _changeDetectionRef = inject(ChangeDetectorRef);\n\n /** @hidden */\n private readonly _renderer = inject(Renderer2);\n\n /** @hidden */\n private _dialogRef: DialogRef | undefined;\n\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n constructor() {\n effect(() => {\n const isMobile = this.mobile();\n this._listItems()?.forEach((item) => item.mobile.set(isMobile));\n });\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n const isMobile = this.mobile();\n this._listItems()?.forEach((item) => item.mobile.set(isMobile));\n\n const el = this.userNameEl()?.nativeElement;\n\n if (!el) {\n return;\n }\n\n // logic for showing/hiding the popover header with user name on scroll\n const intersectionObserver = new IntersectionObserver(\n (entries) => {\n this.isUserNameVisible.set(entries[0].isIntersecting);\n },\n { root: null, threshold: 0, rootMargin: '-20px 0px 0px 0px' }\n );\n\n intersectionObserver.observe(el);\n\n // Initialize\n this.userNameContent.set(el.innerHTML.trim());\n\n // Watch for changes in projected content\n const mutationObserver = new MutationObserver(() => {\n this.userNameContent.set(el.innerHTML.trim());\n });\n\n mutationObserver.observe(el, {\n childList: true,\n characterData: true,\n subtree: true\n });\n\n this._destroyRef.onDestroy(() => {\n intersectionObserver.disconnect();\n mutationObserver.disconnect();\n });\n }\n\n /** Method that opens the user menu */\n open(): void {\n this.isOpenChangeHandle(true);\n }\n\n /** Method that closes the user menu */\n close(): void {\n this.isOpenChangeHandle(false);\n\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\n this._listItems()[0]?._tabIndex$.set(0);\n }\n\n this._clearSubmenu();\n this._dialogRef?.close();\n }\n\n /** Method that opens the user menu in dialog (for mobile mode) */\n openDialog(dialogTemplate: TemplateRef<any>): void {\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\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\n /** @hidden */\n isOpenChangeHandle(isOpen: boolean): void {\n if (this.isOpen() === isOpen) {\n return;\n }\n\n this.isOpen.set(isOpen);\n this.isOpenChange.emit(isOpen);\n\n if (!isOpen && !this.mobile()) {\n this.userMenuControl()?.focus();\n }\n\n const userMenuControlEl = this.userMenuControlElement()?.nativeElement;\n\n this.userMenuControlElement()?.nativeElement &&\n (isOpen\n ? this._renderer.addClass(userMenuControlEl, 'is-active')\n : this._renderer.removeClass(userMenuControlEl, 'is-active'));\n\n this._changeDetectionRef.detectChanges();\n }\n\n /** @hidden */\n private _clearSubmenu(): void {\n const userMenuBody = this.userMenuBody();\n if (userMenuBody) {\n userMenuBody.clearSubmenu();\n }\n }\n}\n","@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","import { Directive } from '@angular/core';\n\n@Directive({\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})\nexport class UserMenuHeaderContainerDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\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})\nexport class UserMenuHeaderDirective {}\n","import { booleanAttribute, Directive, input } from '@angular/core';\n\n@Directive({\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})\nexport class UserMenuSublineDirective {\n /** Whether the text should truncate with ellipsis. */\n truncate = input(false, { transform: booleanAttribute });\n}\n","import { NgModule } from '@angular/core';\n\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\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';\n\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/**\n * @deprecated\n * Use direct imports of components and directives.\n */\n@NgModule({\n imports: [...components],\n exports: [...components]\n})\nexport class UserMenuModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -395,7 +395,7 @@ class WizardService {
|
|
|
395
395
|
}
|
|
396
396
|
/** @hidden */
|
|
397
397
|
progressBarKeyHandler(event, steps, index) {
|
|
398
|
-
const rtlDirection = this._rtlService?.
|
|
398
|
+
const rtlDirection = this._rtlService?.rtl();
|
|
399
399
|
if (KeyUtil.isKeyCode(event, LEFT_ARROW)) {
|
|
400
400
|
if (steps.get(index - 1)?.status === COMPLETED_STEP_STATUS ||
|
|
401
401
|
steps.get(index - 1)?.status === CURRENT_STEP_STATUS) {
|