@fundamental-ngx/core 0.63.0-rc.20 → 0.63.0-rc.21

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.
Files changed (43) hide show
  1. package/fesm2022/fundamental-ngx-core-action-sheet.mjs +1 -1
  2. package/fesm2022/fundamental-ngx-core-action-sheet.mjs.map +1 -1
  3. package/fesm2022/fundamental-ngx-core-avatar-group.mjs +1 -1
  4. package/fesm2022/fundamental-ngx-core-avatar-group.mjs.map +1 -1
  5. package/fesm2022/fundamental-ngx-core-combobox.mjs +1 -1
  6. package/fesm2022/fundamental-ngx-core-combobox.mjs.map +1 -1
  7. package/fesm2022/fundamental-ngx-core-date-picker.mjs +1 -1
  8. package/fesm2022/fundamental-ngx-core-date-picker.mjs.map +1 -1
  9. package/fesm2022/fundamental-ngx-core-datetime-picker.mjs +1 -1
  10. package/fesm2022/fundamental-ngx-core-datetime-picker.mjs.map +1 -1
  11. package/fesm2022/fundamental-ngx-core-form.mjs +5 -2
  12. package/fesm2022/fundamental-ngx-core-form.mjs.map +1 -1
  13. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs +1 -1
  14. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
  15. package/fesm2022/fundamental-ngx-core-multi-input.mjs +1 -1
  16. package/fesm2022/fundamental-ngx-core-multi-input.mjs.map +1 -1
  17. package/fesm2022/fundamental-ngx-core-nested-list.mjs +1 -1
  18. package/fesm2022/fundamental-ngx-core-nested-list.mjs.map +1 -1
  19. package/fesm2022/fundamental-ngx-core-overflow-layout.mjs +1 -1
  20. package/fesm2022/fundamental-ngx-core-overflow-layout.mjs.map +1 -1
  21. package/fesm2022/fundamental-ngx-core-popover.mjs +51 -6
  22. package/fesm2022/fundamental-ngx-core-popover.mjs.map +1 -1
  23. package/fesm2022/fundamental-ngx-core-product-switch.mjs +1 -1
  24. package/fesm2022/fundamental-ngx-core-product-switch.mjs.map +1 -1
  25. package/fesm2022/fundamental-ngx-core-progress-indicator.mjs +1 -1
  26. package/fesm2022/fundamental-ngx-core-progress-indicator.mjs.map +1 -1
  27. package/fesm2022/fundamental-ngx-core-rating-indicator.mjs +1 -1
  28. package/fesm2022/fundamental-ngx-core-rating-indicator.mjs.map +1 -1
  29. package/fesm2022/fundamental-ngx-core-select.mjs +1 -1
  30. package/fesm2022/fundamental-ngx-core-select.mjs.map +1 -1
  31. package/fesm2022/fundamental-ngx-core-slider.mjs +1 -1
  32. package/fesm2022/fundamental-ngx-core-slider.mjs.map +1 -1
  33. package/fesm2022/fundamental-ngx-core-time-picker.mjs +1 -1
  34. package/fesm2022/fundamental-ngx-core-time-picker.mjs.map +1 -1
  35. package/fesm2022/fundamental-ngx-core-token.mjs +1 -1
  36. package/fesm2022/fundamental-ngx-core-token.mjs.map +1 -1
  37. package/fesm2022/fundamental-ngx-core-toolbar.mjs +1 -1
  38. package/fesm2022/fundamental-ngx-core-toolbar.mjs.map +1 -1
  39. package/fesm2022/fundamental-ngx-core-user-menu.mjs +2 -2
  40. package/fesm2022/fundamental-ngx-core-user-menu.mjs.map +1 -1
  41. package/package.json +3 -3
  42. package/types/fundamental-ngx-core-form.d.ts +2 -0
  43. package/types/fundamental-ngx-core-popover.d.ts +360 -322
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-toolbar.mjs","sources":["../../../../libs/core/toolbar/abstract-toolbar-item.class.ts","../../../../libs/core/toolbar/tokens.ts","../../../../libs/core/toolbar/toolbar-item.directive.ts","../../../../libs/core/toolbar/toolbar-form-label.directive.ts","../../../../libs/core/toolbar/toolbar-label.directive.ts","../../../../libs/core/toolbar/toolbar-overflow-button-menu.directive.ts","../../../../libs/core/toolbar/toolbar-overflow-button.directive.ts","../../../../libs/core/toolbar/toolbar-separator.component.ts","../../../../libs/core/toolbar/toolbar-spacer.directive.ts","../../../../libs/core/toolbar/toolbar.component.ts","../../../../libs/core/toolbar/toolbar.component.html","../../../../libs/core/toolbar/toolbar.module.ts","../../../../libs/core/toolbar/fundamental-ngx-core-toolbar.ts"],"sourcesContent":["import { OverflowPriority } from '@fundamental-ngx/cdk/utils';\n\nexport abstract class ToolbarItem {\n abstract element: HTMLElement;\n abstract isSpacer: boolean;\n abstract width: number;\n abstract priority: OverflowPriority;\n abstract group: number;\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const FD_TOOLBAR = new InjectionToken('FdToolbarComponent');\n","import { Directive, ElementRef, forwardRef, inject, Input } from '@angular/core';\nimport { OverflowPriority } from '@fundamental-ngx/cdk/utils';\nimport { ToolbarItem } from './abstract-toolbar-item.class';\nimport { OverflowPriorityEnum } from './toolbar.component';\n\n@Directive({\n selector: '[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]',\n providers: [{ provide: ToolbarItem, useExisting: forwardRef(() => ToolbarItemDirective) }],\n standalone: true\n})\nexport class ToolbarItemDirective implements ToolbarItem {\n /** The priority of the item. */\n @Input()\n fdOverflowPriority: OverflowPriority = OverflowPriorityEnum.HIGH;\n /** The group number of the item. */\n @Input()\n fdOverflowGroup = 0;\n\n /** @hidden */\n get group(): number {\n return this.fdOverflowGroup;\n }\n\n /** @hidden */\n get priority(): OverflowPriority {\n return this.fdOverflowPriority;\n }\n\n /** @hidden */\n get element(): HTMLElement {\n return this._elementRef.nativeElement;\n }\n\n /** @hidden */\n get isSpacer(): boolean {\n return this.element.classList.contains('fd-toolbar__spacer');\n }\n\n /** @hidden */\n get width(): number {\n if (!this.element.clientWidth) {\n return this.lastWidth;\n }\n this.lastWidth = this.element.clientWidth + 8; // ELEMENT_MARGIN\n return this.lastWidth;\n }\n\n /** @hidden */\n private lastWidth = 0;\n\n /** @hidden */\n private readonly _elementRef = inject(ElementRef);\n}\n","import { Directive } from '@angular/core';\nimport { ToolbarItemDirective } from './toolbar-item.directive';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-toolbar-form-label]',\n host: {\n class: 'fd-form-label fd-toolbar__overflow-form-label fd-toolbar__overflow-form-label--text'\n },\n standalone: true\n})\nexport class ToolbarFormLabelDirective extends ToolbarItemDirective {}\n","import { Directive } from '@angular/core';\n\nimport { ToolbarItemDirective } from './toolbar-item.directive';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-toolbar-label]',\n host: {\n class: 'fd-label fd-toolbar__overflow-label'\n },\n standalone: true\n})\nexport class ToolbarLabelDirective extends ToolbarItemDirective {}\n","import { Directive } from '@angular/core';\nimport { ToolbarItemDirective } from './toolbar-item.directive';\n\n@Directive({\n selector: '[fdToolbarOverflowButtonMenu], [fd-toolbar-overflow-button-menu]',\n host: {\n class: 'fd-toolbar__overflow-button--menu'\n },\n standalone: true\n})\nexport class ToolbarOverflowButtonMenuDirective extends ToolbarItemDirective {}\n","import { Directive } from '@angular/core';\nimport { ToolbarItemDirective } from './toolbar-item.directive';\n\n@Directive({\n selector: '[fdToolbarOverflowButton], [fd-toolbar-overflow-button]',\n host: {\n class: 'fd-toolbar__overflow-button'\n },\n standalone: true\n})\nexport class ToolbarOverflowButtonDirective extends ToolbarItemDirective {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fd-toolbar-separator',\n template: '',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'fd-toolbar__separator'\n },\n standalone: true\n})\nexport class ToolbarSeparatorComponent {}\n","import { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'fd-toolbar-spacer',\n standalone: true\n})\nexport class ToolbarSpacerDirective {\n /** Determines the width of spacer when fixed property is set to true\n * Allowed values: absolute and relative metrics\n * Default value: 0px\n */\n @HostBinding('style.width')\n @Input()\n width = '0px';\n\n /** Property allows user to pass additional class\n */\n @Input()\n class = '';\n\n /** Determines if spacer should take only size taken from width property\n * Default value: false\n * Default behaviour: spacer takes remaining space automatically\n */\n @Input()\n fixed = false;\n\n /** @hidden */\n @HostBinding('attr.class')\n get css(): string {\n return `fd-toolbar__spacer ${this.fixed ? 'fd-toolbar__spacer--fixed' : ''} ${this.class}`;\n }\n}\n","import {\n AfterContentInit,\n AfterViewChecked,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n contentChildren,\n DestroyRef,\n ElementRef,\n HostBinding,\n inject,\n Inject,\n Injector,\n Input,\n Optional,\n signal,\n SkipSelf,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { DYNAMIC_PAGE_HEADER_TOKEN, DynamicPageHeader } from '@fundamental-ngx/core/shared';\n\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport {\n applyCssClass,\n CssClassBuilder,\n DynamicPortalComponent,\n intersectionObservable,\n Nullable,\n OVERFLOW_PRIORITY_SCORE,\n OverflowPriority,\n ResizeObserverService\n} from '@fundamental-ngx/cdk/utils';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport {\n ContentDensityMode,\n ContentDensityObserver,\n contentDensityObserverProviders\n} from '@fundamental-ngx/core/content-density';\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\nimport { HeadingLevel } from '@fundamental-ngx/core/shared';\nimport { TitleComponent, TitleToken } from '@fundamental-ngx/core/title';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport { BehaviorSubject, combineLatest, EMPTY, filter, first, map, Observable, of, switchMap } from 'rxjs';\nimport { ToolbarItem } from './abstract-toolbar-item.class';\nimport { FD_TOOLBAR } from './tokens';\nimport { ToolbarSeparatorComponent } from './toolbar-separator.component';\nimport { ToolbarSpacerDirective } from './toolbar-spacer.directive';\n\nconst ELEMENT_MARGIN = 8;\nconst OVERFLOW_BTN_COZY = 36;\nconst OVERFLOW_BTN_COMPACT = 32;\nconst MAX_CONTENT_SIZE = 99999999;\n\nexport type ToolbarType = 'solid' | 'transparent' | 'auto' | 'info';\n\nlet toolbarTitleId = 0;\nlet toolbarId = 0;\n\nexport const enum OverflowPriorityEnum {\n ALWAYS = 'always',\n NEVER = 'never',\n LOW = 'low',\n HIGH = 'high',\n DISAPPEAR = 'disappear'\n}\n\n@Component({\n selector: 'fd-toolbar',\n templateUrl: './toolbar.component.html',\n styleUrl: './toolbar.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n contentDensityObserverProviders({\n defaultContentDensity: ContentDensityMode.COMPACT\n }),\n {\n provide: FD_TOOLBAR,\n useExisting: ToolbarComponent\n }\n ],\n imports: [\n ToolbarSpacerDirective,\n ToolbarSeparatorComponent,\n PopoverModule,\n ButtonComponent,\n DynamicPortalComponent,\n TitleComponent,\n FdTranslatePipe\n ]\n})\nexport class ToolbarComponent implements AfterViewInit, AfterViewChecked, CssClassBuilder, AfterContentInit {\n /**\n * The ID of the toolbar title\n * */\n @Input()\n titleId = `fd-toolbar-title-${toolbarTitleId++}`;\n\n /** Property allows user to pass additional class\n */\n @Input()\n class: string;\n\n /** Determines if overflow button should be visible\n * Default value: false\n */\n @Input()\n set shouldOverflow(val: boolean) {\n this._shouldOverflow = val;\n this.shouldOverflow$.next(val);\n }\n\n get shouldOverflow(): boolean {\n return this._shouldOverflow;\n }\n\n /** Determines the type of toolbar\n * Available options: 'solid' | 'transparent' | 'auto' | 'info'\n * Default value: 'solid'\n */\n @Input()\n fdType: ToolbarType = 'solid';\n\n /** The title for the toolbar. */\n @Input()\n title: string;\n\n /** Determines if toolbar should has active state (only when fdType == 'info')\n * Default value: false\n */\n @Input()\n active = false;\n\n /** Determines if toolbar should clear border bottom\n * Default value: false\n */\n @Input()\n clearBorder = false;\n\n /** Whether all items should be inside overflow */\n @Input()\n forceOverflow = false;\n\n /** Tabindex of the toolbar element, to be used when fdType=\"info\" */\n @Input()\n tabindex = -1;\n\n /**\n * Heading level of the toolbar title.\n */\n @Input()\n set headingLevel(level: Nullable<HeadingLevel>) {\n if (typeof level === 'number') {\n this._headingLevel = level;\n } else if (typeof level === 'string') {\n this._headingLevel = Number.parseInt(level.replace(/\\D/g, ''), 10);\n }\n }\n\n /** Toolbar Aria-label attribute. */\n @Input()\n @HostBinding('attr.aria-label')\n ariaLabel: string;\n\n /** Toolbar Aria-labelledby attribute. */\n @Input()\n @HostBinding('attr.aria-labelledby')\n ariaLabelledBy: string;\n\n /** Toolbar Aria-describedby attribute. */\n @Input()\n @HostBinding('attr.aria-describedby')\n ariaDescribedBy: string;\n\n /** Toolbar Aria-orientation attribute. */\n @Input()\n @HostBinding('attr.aria-orientation')\n ariaOrientation: 'horizontal' | 'vertical' = 'horizontal';\n\n /**\n * The ID of the toolbar\n * */\n @Input()\n @HostBinding('attr.id')\n id = `fd-toolbar-${toolbarId++}`;\n\n /** @hidden */\n @ViewChild('titleElement', { read: ElementRef })\n titleElement: ElementRef<HTMLHeadElement>;\n\n /** @hidden */\n @HostBinding('attr.role')\n protected readonly _role = 'toolbar';\n\n /** @hidden */\n readonly toolbarItems = contentChildren(ToolbarItem, { descendants: true });\n\n /** @hidden */\n @ContentChild(TitleToken)\n set titleComponent(title: TitleToken | null) {\n this._titleComponent$.next(title);\n }\n\n get titleComponent(): TitleToken | null {\n return this._titleComponent$.value;\n }\n\n /** @hidden */\n overflowItems$: Observable<ToolbarItem[]>;\n\n /** @hidden */\n overflownItems: ToolbarItem[] = [];\n\n /** @hidden */\n spacerUsed = signal(false);\n\n /** @hidden */\n spacerDirectives = contentChildren(ToolbarSpacerDirective);\n\n /** @hidden */\n separatorDirectives = contentChildren(ToolbarSeparatorComponent);\n\n /** @hidden */\n _headingLevel = 2;\n\n /** HTML Element Reference. */\n readonly elementRef = inject(ElementRef);\n\n /** @hidden */\n private _titleComponent$: BehaviorSubject<TitleToken | null> = new BehaviorSubject<TitleToken | null>(null);\n\n /** @hidden */\n private _refreshOverflow$ = new BehaviorSubject<void>(undefined);\n\n /** @hidden */\n private get _toolbarWidth(): number {\n const _overflow_btn_size = this._contentDensityObserver.isCompact ? OVERFLOW_BTN_COMPACT : OVERFLOW_BTN_COZY;\n return (\n (this.elementRef.nativeElement as HTMLElement).clientWidth -\n (_overflow_btn_size + 4 * ELEMENT_MARGIN + 1 + this.separatorDirectives().length)\n );\n }\n\n /** @hidden */\n private _shouldOverflow = false;\n\n /** @hidden */\n private shouldOverflow$ = new BehaviorSubject<boolean>(false);\n\n /** @hidden */\n constructor(\n private _cd: ChangeDetectorRef,\n readonly _contentDensityObserver: ContentDensityObserver,\n private readonly _destroyRef: DestroyRef,\n private resizeObserverService: ResizeObserverService,\n private readonly _injector: Injector,\n @Optional() @SkipSelf() @Inject(DYNAMIC_PAGE_HEADER_TOKEN) private _dynamicPageHeader?: DynamicPageHeader\n ) {\n _contentDensityObserver.subscribe();\n }\n\n /** @hidden */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n 'fd-toolbar',\n `fd-toolbar--${this.fdType}`,\n `${this.active && this.fdType === 'info' ? 'fd-toolbar--active' : ''}`,\n `${this.title || this.titleComponent ? 'fd-toolbar--title' : ''}`,\n `${this.clearBorder ? 'fd-toolbar--clear' : ''}`,\n `${this._dynamicPageHeader ? 'fd-dynamic-page__toolbar' : ''}`\n ];\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._updateSpacerUsed();\n\n // Observe title element size changes to trigger recalculation when title content changes\n const titleElementResize$ = this._titleComponent$.pipe(\n switchMap((titleComponent): Observable<HTMLElement | null> => {\n const titleElement = titleComponent?.elementRef?.nativeElement ?? this.titleElement?.nativeElement;\n if (!titleElement) {\n return of(null);\n }\n // When title element resizes (e.g., text content changes), emit\n return this.resizeObserverService.observe(titleElement).pipe(map(() => titleElement));\n })\n );\n\n this.overflowItems$ = combineLatest([\n this.resizeObserverService.observe(this.elementRef.nativeElement).pipe(map(() => this._toolbarWidth)),\n toObservable(this.toolbarItems, { injector: this._injector }).pipe(\n map((toolbarItems) => [...toolbarItems])\n ),\n titleElementResize$,\n this.shouldOverflow$,\n this._refreshOverflow$\n ]).pipe(\n map(([toolbarWidth, toolbarItems, titleElement, shouldOverflow]) => {\n if (shouldOverflow) {\n const _sortedByPriorityAndGroupItems = this._getSortedByPriorityAndGroupItems(toolbarItems);\n const overflowItems: ToolbarItem[] = [];\n _sortedByPriorityAndGroupItems.reduce((_contentWidth, toolbarItem) => {\n const itemWidth = toolbarItem.width + 2;\n const itemPriority = toolbarItem.priority;\n const shouldItemBeRemovedByWidth = itemWidth + _contentWidth > toolbarWidth;\n const shouldAlwaysBeInOverflow =\n itemPriority === OverflowPriorityEnum.ALWAYS || this.forceOverflow;\n const shouldNeverBeInOverflow = itemPriority === OverflowPriorityEnum.NEVER;\n if ((shouldItemBeRemovedByWidth && !shouldNeverBeInOverflow) || shouldAlwaysBeInOverflow) {\n overflowItems.push(toolbarItem);\n return shouldAlwaysBeInOverflow ? _contentWidth : MAX_CONTENT_SIZE;\n } else {\n return _contentWidth + itemWidth;\n }\n }, titleElement?.clientWidth || 0);\n // Hide orphans\n for (const toolbarItem of overflowItems) {\n const groupedCollection = this._getGroupedCollection(toolbarItems);\n const groupedCollectionPriorities = this._getGroupedCollectionPriority(groupedCollection);\n const group = toolbarItem.group;\n const itemPriority = toolbarItem.priority;\n if (group !== 0 && itemPriority !== OverflowPriorityEnum.DISAPPEAR) {\n const itemsFromCurrentGroup =\n this._getElementsFromCurrentGroup(\n group,\n groupedCollection,\n groupedCollectionPriorities\n ) || [];\n itemsFromCurrentGroup.forEach((i) => {\n if (overflowItems.indexOf(i) === -1) {\n overflowItems.push(i);\n }\n });\n }\n }\n return overflowItems.sort((a, b) => this._sortPriorities(a.priority, b.priority));\n }\n return [];\n }),\n takeUntilDestroyed(this._destroyRef)\n );\n this.overflowItems$.subscribe((items) => {\n this.overflownItems = items;\n this._cd.detectChanges();\n });\n this.buildComponentCssClass();\n\n // Use IntersectionObserver to detect when toolbar becomes visible\n // (e.g., when rendered inside a tab that was initially hidden).\n // This triggers a recalculation once the toolbar is visible and has proper dimensions.\n this.shouldOverflow$\n .pipe(\n switchMap((shouldOverflow) =>\n shouldOverflow\n ? intersectionObservable(this.elementRef.nativeElement).pipe(\n filter((entries) => entries[0]?.isIntersecting),\n first()\n )\n : EMPTY\n ),\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe(() => {\n this._refreshOverflow$.next();\n });\n }\n\n /** @hidden */\n ngAfterViewChecked(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n if (this.titleComponent) {\n this.titleComponent.elementRef?.nativeElement.classList.add('fd-toolbar__title');\n this.buildComponentCssClass();\n }\n }\n\n /** Change detection reference */\n detectChanges(): void {\n this._cd.detectChanges();\n }\n\n /** Method triggering collapsible toolbar */\n updateCollapsibleItems(): void {\n this._refreshOverflow$.next();\n }\n\n /** @hidden */\n private _updateSpacerUsed(): void {\n // do not render extra spacer if there is at least one passed by the application\n // and it is not fixed this.spacerUsed.set(this.spacer.length > 0 && this.spacer.some((spacer) => !spacer.fixed));\n this.spacerUsed.set(\n this.spacerDirectives().length > 0 && this.spacerDirectives().some((spacer) => !spacer.fixed)\n );\n }\n\n /** @hidden Get group number with the lowest priority.\n * Uses for detecting a group of elements which would be hidden from the toolbar.\n * */\n private _getLowestPriorityFromGroup(\n itemGroup: number,\n groupedCollectionPriority?: Record<number, OverflowPriority>\n ): number {\n const priority = groupedCollectionPriority;\n if (!priority || !OVERFLOW_PRIORITY_SCORE.get(priority[itemGroup])) {\n return itemGroup;\n }\n\n const groups = Object.keys(priority);\n\n return groups.reduce((lowestGroup, currentGroup) => {\n const lowestGroupPriority = priority[lowestGroup];\n const currentGroupPriority = priority[currentGroup];\n if (\n OVERFLOW_PRIORITY_SCORE.get(currentGroupPriority)! < OVERFLOW_PRIORITY_SCORE.get(lowestGroupPriority)!\n ) {\n return +currentGroup;\n }\n\n return lowestGroup;\n }, itemGroup as number);\n }\n\n /** @hidden */\n private _getElementsFromCurrentGroup(\n itemGroup: number,\n groupedCollection?: Record<number, ToolbarItem[]>,\n groupedCollectionPriority?: Record<number, OverflowPriority>\n ): ToolbarItem[] {\n const lowestPriorityFromGroup = this._getLowestPriorityFromGroup(itemGroup, groupedCollectionPriority);\n if (!groupedCollection || !groupedCollectionPriority) {\n return [];\n }\n let itemsToRemove = groupedCollection[lowestPriorityFromGroup];\n\n delete groupedCollection[lowestPriorityFromGroup];\n delete groupedCollectionPriority[lowestPriorityFromGroup];\n\n if (lowestPriorityFromGroup !== itemGroup) {\n itemsToRemove = [...itemsToRemove, ...groupedCollection[itemGroup]];\n delete groupedCollection[itemGroup];\n delete groupedCollectionPriority[itemGroup];\n }\n\n return itemsToRemove;\n }\n\n /** @hidden Get the object with grouped arrays of elements. */\n private _getGroupedCollection(toolbarItems: ToolbarItem[]): Record<number, ToolbarItem[]> {\n return toolbarItems.reduce((acc, item) => {\n const itemPrio = item.priority;\n const itemGroup = item.group;\n if (\n itemPrio === OverflowPriorityEnum.NEVER ||\n itemPrio === OverflowPriorityEnum.ALWAYS ||\n itemGroup === 0\n ) {\n return acc;\n }\n if (!acc[itemGroup]) {\n acc[itemGroup] = [];\n }\n acc[itemGroup].push(item);\n return acc;\n }, {});\n }\n\n /** @hidden Get the object with the highest priority for each group of elements. */\n private _getGroupedCollectionPriority(\n groupedCollection: Record<number, ToolbarItem[]>\n ): Record<number, OverflowPriority> {\n const groups = Object.keys(groupedCollection);\n\n return groups.reduce((acc, itemGroup) => {\n const sortedPriorities = groupedCollection![itemGroup]\n .map((i: ToolbarItem) => i.priority)\n .filter(\n (prio: OverflowPriority) =>\n prio !== OverflowPriorityEnum.ALWAYS && prio !== OverflowPriorityEnum.NEVER\n )\n .sort(this._sortPriorities);\n\n acc[itemGroup] = sortedPriorities[0];\n\n return acc;\n }, {});\n }\n\n /** @hidden Sort priorities of elements/groups. */\n private _sortPriorities(a: OverflowPriority, b: OverflowPriority): number {\n return OVERFLOW_PRIORITY_SCORE.get(b)! - OVERFLOW_PRIORITY_SCORE.get(a)!;\n }\n\n /** @hidden Sort by group and priority and initial position */\n private _getSortedByPriorityAndGroupItems(toolbarItems: ToolbarItem[]): ToolbarItem[] {\n const notSorted = toolbarItems.map((element, index) => ({ element, index }));\n\n const groups = notSorted.reduce(\n (gr, item) => {\n let groupId = item.element.group;\n const itemPrio = item.element.priority;\n if (itemPrio === OverflowPriorityEnum.NEVER || itemPrio === OverflowPriorityEnum.ALWAYS) {\n groupId = 0;\n }\n\n if (!gr[groupId]) {\n gr[groupId] = [];\n }\n\n gr[groupId].push(item);\n\n return gr;\n },\n {} as Record<number, Array<{ element: ToolbarItem; index: number }>>\n );\n\n const groupIds = Object.keys(groups)\n .map((g) => parseInt(g, 10))\n .filter((g) => g !== 0);\n\n return groupIds\n .map((g) => {\n let minIndex = Number.MAX_SAFE_INTEGER;\n let maxPriority = 0;\n for (const item of groups[g]) {\n minIndex = Math.min(minIndex, item.index);\n maxPriority = Math.max(\n maxPriority,\n OVERFLOW_PRIORITY_SCORE.get(item.element.priority) ?? -Infinity\n );\n }\n\n return { group: groups[g].map(({ element }) => element), minIndex, maxPriority };\n })\n .concat(\n !groups[0]\n ? []\n : groups[0].map((item) => ({\n group: [item.element],\n maxPriority: OVERFLOW_PRIORITY_SCORE.get(item.element.priority) ?? -Infinity,\n minIndex: item.index\n }))\n )\n .sort((a, b) => b.maxPriority - a.maxPriority || a.minIndex - b.minIndex)\n .reduce((arr, i) => arr.concat(i.group), [] as ToolbarItem[]);\n }\n}\n","@if (title) {\n <span\n fd-title\n role=\"heading\"\n [headerSize]=\"4\"\n [attr.aria-level]=\"_headingLevel\"\n [attr.title]=\"title\"\n [attr.aria-label]=\"title\"\n class=\"fd-toolbar__title fd-toolbar__title--truncate\"\n [id]=\"titleId\"\n #titleElement\n >\n {{ title }}\n </span>\n}\n<ng-content></ng-content>\n@if (overflownItems.length > 0) {\n @if (!spacerUsed()) {\n <fd-toolbar-spacer></fd-toolbar-spacer>\n }\n <fd-toolbar-separator></fd-toolbar-separator>\n <fd-popover placement=\"bottom-end\" [noArrow]=\"true\" class=\"fd-popover\" [focusAutoCapture]=\"true\">\n <fd-popover-control>\n <button\n fd-button\n [title]=\"('coreToolbar.moreButton' | fdTranslate)()\"\n [attr.aria-label]=\"('coreToolbar.moreButton' | fdTranslate)()\"\n aria-haspopup=\"true\"\n fdType=\"transparent\"\n glyph=\"overflow\"\n ></button>\n </fd-popover-control>\n <fd-popover-body>\n <div class=\"fd-toolbar__overflow\">\n @for (overflowedItem of overflownItems; track overflowedItem) {\n <fdk-dynamic-portal\n [domElement]=\"overflowedItem.element\"\n [style.display]=\"overflowedItem.priority === 'disappear' ? 'none' : 'flex'\"\n [style.flex-direction]=\"overflowedItem.priority === 'disappear' ? undefined : 'column'\"\n >\n </fdk-dynamic-portal>\n }\n </div>\n </fd-popover-body>\n </fd-popover>\n}\n","import { NgModule } from '@angular/core';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\nimport { ToolbarFormLabelDirective } from './toolbar-form-label.directive';\nimport { ToolbarItemDirective } from './toolbar-item.directive';\nimport { ToolbarLabelDirective } from './toolbar-label.directive';\nimport { ToolbarOverflowButtonMenuDirective } from './toolbar-overflow-button-menu.directive';\nimport { ToolbarOverflowButtonDirective } from './toolbar-overflow-button.directive';\nimport { ToolbarSeparatorComponent } from './toolbar-separator.component';\nimport { ToolbarSpacerDirective } from './toolbar-spacer.directive';\nimport { ToolbarComponent } from './toolbar.component';\n\nconst components = [\n ToolbarComponent,\n ToolbarItemDirective,\n ToolbarSpacerDirective,\n ToolbarSeparatorComponent,\n ToolbarFormLabelDirective,\n ToolbarLabelDirective,\n ToolbarOverflowButtonDirective,\n ToolbarOverflowButtonMenuDirective\n];\n\n/**\n * @deprecated\n * Use direct imports of components and directives.\n */\n@NgModule({\n imports: [ContentDensityModule, ...components],\n exports: [...components, ContentDensityModule]\n})\nexport class ToolbarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;MAEsB,WAAW,CAAA;AAMhC;;MCNY,UAAU,GAAG,IAAI,cAAc,CAAC,oBAAoB;;MCQpD,oBAAoB,CAAA;AALjC,IAAA,WAAA,GAAA;;AAQI,QAAA,IAAA,CAAA,kBAAkB,GAAA,MAAA;;QAGlB,IAAA,CAAA,eAAe,GAAG,CAAC;;QAgCX,IAAA,CAAA,SAAS,GAAG,CAAC;;AAGJ,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;AACpD,IAAA;;AAjCG,IAAA,IAAI,KAAK,GAAA;QACL,OAAO,IAAI,CAAC,eAAe;IAC/B;;AAGA,IAAA,IAAI,QAAQ,GAAA;QACR,OAAO,IAAI,CAAC,kBAAkB;IAClC;;AAGA,IAAA,IAAI,OAAO,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa;IACzC;;AAGA,IAAA,IAAI,QAAQ,GAAA;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IAChE;;AAGA,IAAA,IAAI,KAAK,GAAA;AACL,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;YAC3B,OAAO,IAAI,CAAC,SAAS;QACzB;AACA,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,SAAS;IACzB;8GAnCS,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,mMAHlB,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,CAAC,MAAM,oBAAoB,CAAC,EAAE,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAGjF,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,4DAA4D;AACtE,oBAAA,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,CAAC,MAAK,oBAAqB,CAAC,EAAE,CAAC;AAC1F,oBAAA,UAAU,EAAE;AACf,iBAAA;;sBAGI;;sBAGA;;;ACJC,MAAO,yBAA0B,SAAQ,oBAAoB,CAAA;8GAAtD,yBAAyB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,qFAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBARrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;;AAEP,oBAAA,QAAQ,EAAE,yBAAyB;AACnC,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE;AACV,qBAAA;AACD,oBAAA,UAAU,EAAE;AACf,iBAAA;;;ACEK,MAAO,qBAAsB,SAAQ,oBAAoB,CAAA;8GAAlD,qBAAqB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,qCAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBARjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;;AAEP,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE;AACV,qBAAA;AACD,oBAAA,UAAU,EAAE;AACf,iBAAA;;;ACDK,MAAO,kCAAmC,SAAQ,oBAAoB,CAAA;8GAA/D,kCAAkC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAlC,kCAAkC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kEAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,mCAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAlC,kCAAkC,EAAA,UAAA,EAAA,CAAA;kBAP9C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,kEAAkE;AAC5E,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE;AACV,qBAAA;AACD,oBAAA,UAAU,EAAE;AACf,iBAAA;;;ACCK,MAAO,8BAA+B,SAAQ,oBAAoB,CAAA;8GAA3D,8BAA8B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA9B,8BAA8B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yDAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,6BAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAA9B,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAP1C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,yDAAyD;AACnE,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE;AACV,qBAAA;AACD,oBAAA,UAAU,EAAE;AACf,iBAAA;;;MCGY,yBAAyB,CAAA;8GAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,mIARxB,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAQH,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAVrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,QAAQ,EAAE,EAAE;oBACZ,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE;AACV,qBAAA;AACD,oBAAA,UAAU,EAAE;AACf,iBAAA;;;MCJY,sBAAsB,CAAA;AALnC,IAAA,WAAA,GAAA;AAMI;;;AAGG;QAGH,IAAA,CAAA,KAAK,GAAG,KAAK;AAEb;AACG;QAEH,IAAA,CAAA,KAAK,GAAG,EAAE;AAEV;;;AAGG;QAEH,IAAA,CAAA,KAAK,GAAG,KAAK;AAOhB,IAAA;;AAJG,IAAA,IACI,GAAG,GAAA;AACH,QAAA,OAAO,sBAAsB,IAAI,CAAC,KAAK,GAAG,2BAA2B,GAAG,EAAE,CAAA,CAAA,EAAI,IAAI,CAAC,KAAK,EAAE;IAC9F;8GAzBS,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,aAAA,EAAA,YAAA,EAAA,YAAA,EAAA,UAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;;AAEP,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,UAAU,EAAE;AACf,iBAAA;;sBAMI,WAAW;uBAAC,aAAa;;sBACzB;;sBAKA;;sBAOA;;sBAIA,WAAW;uBAAC,YAAY;;;ACsB7B,MAAM,cAAc,GAAG,CAAC;AACxB,MAAM,iBAAiB,GAAG,EAAE;AAC5B,MAAM,oBAAoB,GAAG,EAAE;AAC/B,MAAM,gBAAgB,GAAG,QAAQ;AAIjC,IAAI,cAAc,GAAG,CAAC;AACtB,IAAI,SAAS,GAAG,CAAC;MAmCJ,gBAAgB,CAAA;AAYzB;;AAEG;IACH,IACI,cAAc,CAAC,GAAY,EAAA;AAC3B,QAAA,IAAI,CAAC,eAAe,GAAG,GAAG;AAC1B,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC;IAClC;AAEA,IAAA,IAAI,cAAc,GAAA;QACd,OAAO,IAAI,CAAC,eAAe;IAC/B;AAiCA;;AAEG;IACH,IACI,YAAY,CAAC,KAA6B,EAAA;AAC1C,QAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC3B,YAAA,IAAI,CAAC,aAAa,GAAG,KAAK;QAC9B;AAAO,aAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAClC,YAAA,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QACtE;IACJ;;IAyCA,IACI,cAAc,CAAC,KAAwB,EAAA;AACvC,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC;IACrC;AAEA,IAAA,IAAI,cAAc,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK;IACtC;;AA8BA,IAAA,IAAY,aAAa,GAAA;AACrB,QAAA,MAAM,kBAAkB,GAAG,IAAI,CAAC,uBAAuB,CAAC,SAAS,GAAG,oBAAoB,GAAG,iBAAiB;AAC5G,QAAA,QACK,IAAI,CAAC,UAAU,CAAC,aAA6B,CAAC,WAAW;AAC1D,aAAC,kBAAkB,GAAG,CAAC,GAAG,cAAc,GAAG,CAAC,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC,MAAM,CAAC;IAEzF;;IASA,WAAA,CACY,GAAsB,EACrB,uBAA+C,EACvC,WAAuB,EAChC,qBAA4C,EACnC,SAAmB,EAC+B,kBAAsC,EAAA;QALjG,IAAA,CAAA,GAAG,GAAH,GAAG;QACF,IAAA,CAAA,uBAAuB,GAAvB,uBAAuB;QACf,IAAA,CAAA,WAAW,GAAX,WAAW;QACpB,IAAA,CAAA,qBAAqB,GAArB,qBAAqB;QACZ,IAAA,CAAA,SAAS,GAAT,SAAS;QACyC,IAAA,CAAA,kBAAkB,GAAlB,kBAAkB;AApKzF;;AAEK;AAEL,QAAA,IAAA,CAAA,OAAO,GAAG,CAAA,iBAAA,EAAoB,cAAc,EAAE,EAAE;AAoBhD;;;AAGG;QAEH,IAAA,CAAA,MAAM,GAAgB,OAAO;AAM7B;;AAEG;QAEH,IAAA,CAAA,MAAM,GAAG,KAAK;AAEd;;AAEG;QAEH,IAAA,CAAA,WAAW,GAAG,KAAK;;QAInB,IAAA,CAAA,aAAa,GAAG,KAAK;;QAIrB,IAAA,CAAA,QAAQ,GAAG,CAAC,CAAC;;QAgCb,IAAA,CAAA,eAAe,GAA8B,YAAY;AAEzD;;AAEK;AAGL,QAAA,IAAA,CAAA,EAAE,GAAG,CAAA,WAAA,EAAc,SAAS,EAAE,EAAE;;QAQb,IAAA,CAAA,KAAK,GAAG,SAAS;;QAG3B,IAAA,CAAA,YAAY,GAAG,eAAe,CAAC,WAAW,yDAAI,WAAW,EAAE,IAAI,EAAA,CAAG;;QAgB3E,IAAA,CAAA,cAAc,GAAkB,EAAE;;AAGlC,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,KAAK,sDAAC;;AAG1B,QAAA,IAAA,CAAA,gBAAgB,GAAG,eAAe,CAAC,sBAAsB,4DAAC;;AAG1D,QAAA,IAAA,CAAA,mBAAmB,GAAG,eAAe,CAAC,yBAAyB,+DAAC;;QAGhE,IAAA,CAAA,aAAa,GAAG,CAAC;;AAGR,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;;AAGhC,QAAA,IAAA,CAAA,gBAAgB,GAAuC,IAAI,eAAe,CAAoB,IAAI,CAAC;;AAGnG,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,eAAe,CAAO,SAAS,CAAC;;QAYxD,IAAA,CAAA,eAAe,GAAG,KAAK;;AAGvB,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;QAWzD,uBAAuB,CAAC,SAAS,EAAE;IACvC;;IAIA,sBAAsB,GAAA;QAClB,OAAO;YACH,YAAY;YACZ,CAAA,YAAA,EAAe,IAAI,CAAC,MAAM,CAAA,CAAE;AAC5B,YAAA,CAAA,EAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,GAAG,oBAAoB,GAAG,EAAE,CAAA,CAAE;AACtE,YAAA,CAAA,EAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,cAAc,GAAG,mBAAmB,GAAG,EAAE,CAAA,CAAE;YACjE,CAAA,EAAG,IAAI,CAAC,WAAW,GAAG,mBAAmB,GAAG,EAAE,CAAA,CAAE;YAChD,CAAA,EAAG,IAAI,CAAC,kBAAkB,GAAG,0BAA0B,GAAG,EAAE,CAAA;SAC/D;IACL;;IAGA,eAAe,GAAA;QACX,IAAI,CAAC,iBAAiB,EAAE;;AAGxB,QAAA,MAAM,mBAAmB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAClD,SAAS,CAAC,CAAC,cAAc,KAAoC;AACzD,YAAA,MAAM,YAAY,GAAG,cAAc,EAAE,UAAU,EAAE,aAAa,IAAI,IAAI,CAAC,YAAY,EAAE,aAAa;YAClG,IAAI,CAAC,YAAY,EAAE;AACf,gBAAA,OAAO,EAAE,CAAC,IAAI,CAAC;YACnB;;AAEA,YAAA,OAAO,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,YAAY,CAAC,CAAC;QACzF,CAAC,CAAC,CACL;AAED,QAAA,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;YAChC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,CAAC;AACrG,YAAA,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAC9D,GAAG,CAAC,CAAC,YAAY,KAAK,CAAC,GAAG,YAAY,CAAC,CAAC,CAC3C;YACD,mBAAmB;AACnB,YAAA,IAAI,CAAC,eAAe;AACpB,YAAA,IAAI,CAAC;AACR,SAAA,CAAC,CAAC,IAAI,CACH,GAAG,CAAC,CAAC,CAAC,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,CAAC,KAAI;YAC/D,IAAI,cAAc,EAAE;gBAChB,MAAM,8BAA8B,GAAG,IAAI,CAAC,iCAAiC,CAAC,YAAY,CAAC;gBAC3F,MAAM,aAAa,GAAkB,EAAE;gBACvC,8BAA8B,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,WAAW,KAAI;AACjE,oBAAA,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,GAAG,CAAC;AACvC,oBAAA,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ;AACzC,oBAAA,MAAM,0BAA0B,GAAG,SAAS,GAAG,aAAa,GAAG,YAAY;oBAC3E,MAAM,wBAAwB,GAC1B,YAAY,KAAA,QAAA,sCAAoC,IAAI,CAAC,aAAa;AACtE,oBAAA,MAAM,uBAAuB,GAAG,YAAY,KAAA,OAAA;oBAC5C,IAAI,CAAC,0BAA0B,IAAI,CAAC,uBAAuB,KAAK,wBAAwB,EAAE;AACtF,wBAAA,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC;wBAC/B,OAAO,wBAAwB,GAAG,aAAa,GAAG,gBAAgB;oBACtE;yBAAO;wBACH,OAAO,aAAa,GAAG,SAAS;oBACpC;AACJ,gBAAA,CAAC,EAAE,YAAY,EAAE,WAAW,IAAI,CAAC,CAAC;;AAElC,gBAAA,KAAK,MAAM,WAAW,IAAI,aAAa,EAAE;oBACrC,MAAM,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC;oBAClE,MAAM,2BAA2B,GAAG,IAAI,CAAC,6BAA6B,CAAC,iBAAiB,CAAC;AACzF,oBAAA,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK;AAC/B,oBAAA,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ;AACzC,oBAAA,IAAI,KAAK,KAAK,CAAC,IAAI,YAAY,KAAA,WAAA,uCAAqC;AAChE,wBAAA,MAAM,qBAAqB,GACvB,IAAI,CAAC,4BAA4B,CAC7B,KAAK,EACL,iBAAiB,EACjB,2BAA2B,CAC9B,IAAI,EAAE;AACX,wBAAA,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;4BAChC,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;AACjC,gCAAA,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;4BACzB;AACJ,wBAAA,CAAC,CAAC;oBACN;gBACJ;gBACA,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;YACrF;AACA,YAAA,OAAO,EAAE;QACb,CAAC,CAAC,EACF,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CACvC;QACD,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;AACpC,YAAA,IAAI,CAAC,cAAc,GAAG,KAAK;AAC3B,YAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;AAC5B,QAAA,CAAC,CAAC;QACF,IAAI,CAAC,sBAAsB,EAAE;;;;AAK7B,QAAA,IAAI,CAAC;aACA,IAAI,CACD,SAAS,CAAC,CAAC,cAAc,KACrB;AACI,cAAE,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,IAAI,CACtD,MAAM,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,EAC/C,KAAK,EAAE;cAEX,KAAK,CACd,EACD,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC;aAEvC,SAAS,CAAC,MAAK;AACZ,YAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE;AACjC,QAAA,CAAC,CAAC;IACV;;IAGA,kBAAkB,GAAA;QACd,IAAI,CAAC,sBAAsB,EAAE;IACjC;;IAGA,kBAAkB,GAAA;AACd,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE;AACrB,YAAA,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAC;YAChF,IAAI,CAAC,sBAAsB,EAAE;QACjC;IACJ;;IAGA,aAAa,GAAA;AACT,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;IAC5B;;IAGA,sBAAsB,GAAA;AAClB,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE;IACjC;;IAGQ,iBAAiB,GAAA;;;AAGrB,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CACf,IAAI,CAAC,gBAAgB,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAChG;IACL;AAEA;;AAEM;IACE,2BAA2B,CAC/B,SAAiB,EACjB,yBAA4D,EAAA;QAE5D,MAAM,QAAQ,GAAG,yBAAyB;AAC1C,QAAA,IAAI,CAAC,QAAQ,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE;AAChE,YAAA,OAAO,SAAS;QACpB;QAEA,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;QAEpC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,YAAY,KAAI;AAC/C,YAAA,MAAM,mBAAmB,GAAG,QAAQ,CAAC,WAAW,CAAC;AACjD,YAAA,MAAM,oBAAoB,GAAG,QAAQ,CAAC,YAAY,CAAC;AACnD,YAAA,IACI,uBAAuB,CAAC,GAAG,CAAC,oBAAoB,CAAE,GAAG,uBAAuB,CAAC,GAAG,CAAC,mBAAmB,CAAE,EACxG;gBACE,OAAO,CAAC,YAAY;YACxB;AAEA,YAAA,OAAO,WAAW;QACtB,CAAC,EAAE,SAAmB,CAAC;IAC3B;;AAGQ,IAAA,4BAA4B,CAChC,SAAiB,EACjB,iBAAiD,EACjD,yBAA4D,EAAA;QAE5D,MAAM,uBAAuB,GAAG,IAAI,CAAC,2BAA2B,CAAC,SAAS,EAAE,yBAAyB,CAAC;AACtG,QAAA,IAAI,CAAC,iBAAiB,IAAI,CAAC,yBAAyB,EAAE;AAClD,YAAA,OAAO,EAAE;QACb;AACA,QAAA,IAAI,aAAa,GAAG,iBAAiB,CAAC,uBAAuB,CAAC;AAE9D,QAAA,OAAO,iBAAiB,CAAC,uBAAuB,CAAC;AACjD,QAAA,OAAO,yBAAyB,CAAC,uBAAuB,CAAC;AAEzD,QAAA,IAAI,uBAAuB,KAAK,SAAS,EAAE;YACvC,aAAa,GAAG,CAAC,GAAG,aAAa,EAAE,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;AACnE,YAAA,OAAO,iBAAiB,CAAC,SAAS,CAAC;AACnC,YAAA,OAAO,yBAAyB,CAAC,SAAS,CAAC;QAC/C;AAEA,QAAA,OAAO,aAAa;IACxB;;AAGQ,IAAA,qBAAqB,CAAC,YAA2B,EAAA;QACrD,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,KAAI;AACrC,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ;AAC9B,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK;AAC5B,YAAA,IACI,QAAQ,KAAA,OAAA;AACR,gBAAA,QAAQ,KAAA,QAAA;gBACR,SAAS,KAAK,CAAC,EACjB;AACE,gBAAA,OAAO,GAAG;YACd;AACA,YAAA,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;AACjB,gBAAA,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;YACvB;YACA,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;AACzB,YAAA,OAAO,GAAG;QACd,CAAC,EAAE,EAAE,CAAC;IACV;;AAGQ,IAAA,6BAA6B,CACjC,iBAAgD,EAAA;QAEhD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC;QAE7C,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,SAAS,KAAI;AACpC,YAAA,MAAM,gBAAgB,GAAG,iBAAkB,CAAC,SAAS;iBAChD,GAAG,CAAC,CAAC,CAAc,KAAK,CAAC,CAAC,QAAQ;iBAClC,MAAM,CACH,CAAC,IAAsB,KACnB,IAAI,KAAA,QAAA,sCAAoC,IAAI,KAAA,OAAA;AAEnD,iBAAA,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;YAE/B,GAAG,CAAC,SAAS,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC;AAEpC,YAAA,OAAO,GAAG;QACd,CAAC,EAAE,EAAE,CAAC;IACV;;IAGQ,eAAe,CAAC,CAAmB,EAAE,CAAmB,EAAA;AAC5D,QAAA,OAAO,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAE,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAE;IAC5E;;AAGQ,IAAA,iCAAiC,CAAC,YAA2B,EAAA;QACjE,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAE5E,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAC3B,CAAC,EAAE,EAAE,IAAI,KAAI;AACT,YAAA,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK;AAChC,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ;AACtC,YAAA,IAAI,QAAQ,KAAA,OAAA,qCAAmC,QAAQ,KAAA,QAAA,oCAAkC;gBACrF,OAAO,GAAG,CAAC;YACf;AAEA,YAAA,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE;AACd,gBAAA,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;YACpB;YAEA,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;AAEtB,YAAA,OAAO,EAAE;QACb,CAAC,EACD,EAAoE,CACvE;AAED,QAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM;AAC9B,aAAA,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC;aAC1B,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAE3B,QAAA,OAAO;AACF,aAAA,GAAG,CAAC,CAAC,CAAC,KAAI;AACP,YAAA,IAAI,QAAQ,GAAG,MAAM,CAAC,gBAAgB;YACtC,IAAI,WAAW,GAAG,CAAC;YACnB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE;gBAC1B,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC;gBACzC,WAAW,GAAG,IAAI,CAAC,GAAG,CAClB,WAAW,EACX,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAClE;YACL;YAEA,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE;AACpF,QAAA,CAAC;AACA,aAAA,MAAM,CACH,CAAC,MAAM,CAAC,CAAC;AACL,cAAE;AACF,cAAE,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM;AACrB,gBAAA,KAAK,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;AACrB,gBAAA,WAAW,EAAE,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ;gBAC5E,QAAQ,EAAE,IAAI,CAAC;AAClB,aAAA,CAAC,CAAC;aAEZ,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ;AACvE,aAAA,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAmB,CAAC;IACrE;AA3cS,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,gLAqKW,yBAAyB,EAAA,QAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AArKpD,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,KAAA,EAAA,OAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,WAAA,EAAA,aAAA,EAAA,aAAA,EAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,YAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,sBAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,sBAAA,EAAA,uBAAA,EAAA,sBAAA,EAAA,SAAA,EAAA,SAAA,EAAA,WAAA,EAAA,YAAA,EAAA,EAAA,EAAA,SAAA,EAnBd;AACP,YAAA,+BAA+B,CAAC;gBAC5B,qBAAqB,EAAE,kBAAkB,CAAC;aAC7C,CAAC;AACF,YAAA;AACI,gBAAA,OAAO,EAAE,UAAU;AACnB,gBAAA,WAAW,EAAE;AAChB;SACJ,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,SAAA,EAmHuC,WAAW,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,SAAA,EAsBhB,sBAAsB,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,SAAA,EAGnB,yBAAyB,8EAtBjD,UAAU,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,cAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAXW,UAAU,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC9LjD,urDA8CA,EAAA,MAAA,EAAA,CAAA,gkQAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDuCQ,sBAAsB,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACtB,yBAAyB,EAAA,QAAA,EAAA,sBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACzB,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,wCAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,WAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,uBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,SAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,cAAA,EAAA,qBAAA,EAAA,wBAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,WAAA,EAAA,eAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,EAAA,cAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACb,eAAe,sIACf,sBAAsB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,WAAA,EAAA,UAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACtB,cAAc,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,YAAA,EAAA,MAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EACd,eAAe,EAAA,IAAA,EAAA,aAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;AA+KnB,UAAA,CAAA;IADC,aAAa;;;;AAUb,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,wBAAA,EAAA,IAAA,CAAA;2FArLQ,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAzB5B,SAAS;+BACI,YAAY,EAAA,aAAA,EAGP,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC;AACP,wBAAA,+BAA+B,CAAC;4BAC5B,qBAAqB,EAAE,kBAAkB,CAAC;yBAC7C,CAAC;AACF,wBAAA;AACI,4BAAA,OAAO,EAAE,UAAU;AACnB,4BAAA,WAAW,EAAA;AACd;qBACJ,EAAA,OAAA,EACQ;wBACL,sBAAsB;wBACtB,yBAAyB;wBACzB,aAAa;wBACb,eAAe;wBACf,sBAAsB;wBACtB,cAAc;wBACd;AACH,qBAAA,EAAA,QAAA,EAAA,urDAAA,EAAA,MAAA,EAAA,CAAA,gkQAAA,CAAA,EAAA;;0BAuKI;;0BAAY;;0BAAY,MAAM;2BAAC,yBAAyB;;sBAjK5D;;sBAKA;;sBAMA;;sBAcA;;sBAIA;;sBAMA;;sBAMA;;sBAIA;;sBAIA;;sBAMA;;sBAUA;;sBACA,WAAW;uBAAC,iBAAiB;;sBAI7B;;sBACA,WAAW;uBAAC,sBAAsB;;sBAIlC;;sBACA,WAAW;uBAAC,uBAAuB;;sBAInC;;sBACA,WAAW;uBAAC,uBAAuB;;sBAMnC;;sBACA,WAAW;uBAAC,SAAS;;sBAIrB,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,cAAc,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;;sBAI9C,WAAW;uBAAC,WAAW;AAIgB,aAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,UAAA,CAAA,MAAA,WAAW,CAAA,EAAA,EAAA,GAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA;sBAGzE,YAAY;uBAAC,UAAU;AAmBW,aAAA,CAAA,EAAA,gBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,UAAA,CAAA,MAAA,sBAAsB,wGAGnB,yBAAyB,CAAA,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,sBAAA,EAAA,EAAA,EAAA,EAAA,CAAA;;AEpNnE,MAAM,UAAU,GAAG;IACf,gBAAgB;IAChB,oBAAoB;IACpB,sBAAsB;IACtB,yBAAyB;IACzB,yBAAyB;IACzB,qBAAqB;IACrB,8BAA8B;IAC9B;CACH;AAED;;;AAGG;MAKU,aAAa,CAAA;8GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAb,aAAa,EAAA,OAAA,EAAA,CAHZ,oBAAoB,EAf9B,gBAAgB;YAChB,oBAAoB;YACpB,sBAAsB;YACtB,yBAAyB;YACzB,yBAAyB;YACzB,qBAAqB;YACrB,8BAA8B;AAC9B,YAAA,kCAAkC,aAPlC,gBAAgB;YAChB,oBAAoB;YACpB,sBAAsB;YACtB,yBAAyB;YACzB,yBAAyB;YACzB,qBAAqB;YACrB,8BAA8B;AAC9B,YAAA,kCAAkC,EAST,oBAAoB,CAAA,EAAA,CAAA,CAAA;AAEpC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,EAAA,OAAA,EAAA,CAHZ,oBAAoB,EAf9B,gBAAgB,EAgBS,oBAAoB,CAAA,EAAA,CAAA,CAAA;;2FAEpC,aAAa,EAAA,UAAA,EAAA,CAAA;kBAJzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,CAAC,oBAAoB,EAAE,GAAG,UAAU,CAAC;AAC9C,oBAAA,OAAO,EAAE,CAAC,GAAG,UAAU,EAAE,oBAAoB;AAChD,iBAAA;;;AC7BD;;AAEG;;;;"}
1
+ {"version":3,"file":"fundamental-ngx-core-toolbar.mjs","sources":["../../../../libs/core/toolbar/abstract-toolbar-item.class.ts","../../../../libs/core/toolbar/tokens.ts","../../../../libs/core/toolbar/toolbar-item.directive.ts","../../../../libs/core/toolbar/toolbar-form-label.directive.ts","../../../../libs/core/toolbar/toolbar-label.directive.ts","../../../../libs/core/toolbar/toolbar-overflow-button-menu.directive.ts","../../../../libs/core/toolbar/toolbar-overflow-button.directive.ts","../../../../libs/core/toolbar/toolbar-separator.component.ts","../../../../libs/core/toolbar/toolbar-spacer.directive.ts","../../../../libs/core/toolbar/toolbar.component.ts","../../../../libs/core/toolbar/toolbar.component.html","../../../../libs/core/toolbar/toolbar.module.ts","../../../../libs/core/toolbar/fundamental-ngx-core-toolbar.ts"],"sourcesContent":["import { OverflowPriority } from '@fundamental-ngx/cdk/utils';\n\nexport abstract class ToolbarItem {\n abstract element: HTMLElement;\n abstract isSpacer: boolean;\n abstract width: number;\n abstract priority: OverflowPriority;\n abstract group: number;\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const FD_TOOLBAR = new InjectionToken('FdToolbarComponent');\n","import { Directive, ElementRef, forwardRef, inject, Input } from '@angular/core';\nimport { OverflowPriority } from '@fundamental-ngx/cdk/utils';\nimport { ToolbarItem } from './abstract-toolbar-item.class';\nimport { OverflowPriorityEnum } from './toolbar.component';\n\n@Directive({\n selector: '[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]',\n providers: [{ provide: ToolbarItem, useExisting: forwardRef(() => ToolbarItemDirective) }],\n standalone: true\n})\nexport class ToolbarItemDirective implements ToolbarItem {\n /** The priority of the item. */\n @Input()\n fdOverflowPriority: OverflowPriority = OverflowPriorityEnum.HIGH;\n /** The group number of the item. */\n @Input()\n fdOverflowGroup = 0;\n\n /** @hidden */\n get group(): number {\n return this.fdOverflowGroup;\n }\n\n /** @hidden */\n get priority(): OverflowPriority {\n return this.fdOverflowPriority;\n }\n\n /** @hidden */\n get element(): HTMLElement {\n return this._elementRef.nativeElement;\n }\n\n /** @hidden */\n get isSpacer(): boolean {\n return this.element.classList.contains('fd-toolbar__spacer');\n }\n\n /** @hidden */\n get width(): number {\n if (!this.element.clientWidth) {\n return this.lastWidth;\n }\n this.lastWidth = this.element.clientWidth + 8; // ELEMENT_MARGIN\n return this.lastWidth;\n }\n\n /** @hidden */\n private lastWidth = 0;\n\n /** @hidden */\n private readonly _elementRef = inject(ElementRef);\n}\n","import { Directive } from '@angular/core';\nimport { ToolbarItemDirective } from './toolbar-item.directive';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-toolbar-form-label]',\n host: {\n class: 'fd-form-label fd-toolbar__overflow-form-label fd-toolbar__overflow-form-label--text'\n },\n standalone: true\n})\nexport class ToolbarFormLabelDirective extends ToolbarItemDirective {}\n","import { Directive } from '@angular/core';\n\nimport { ToolbarItemDirective } from './toolbar-item.directive';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-toolbar-label]',\n host: {\n class: 'fd-label fd-toolbar__overflow-label'\n },\n standalone: true\n})\nexport class ToolbarLabelDirective extends ToolbarItemDirective {}\n","import { Directive } from '@angular/core';\nimport { ToolbarItemDirective } from './toolbar-item.directive';\n\n@Directive({\n selector: '[fdToolbarOverflowButtonMenu], [fd-toolbar-overflow-button-menu]',\n host: {\n class: 'fd-toolbar__overflow-button--menu'\n },\n standalone: true\n})\nexport class ToolbarOverflowButtonMenuDirective extends ToolbarItemDirective {}\n","import { Directive } from '@angular/core';\nimport { ToolbarItemDirective } from './toolbar-item.directive';\n\n@Directive({\n selector: '[fdToolbarOverflowButton], [fd-toolbar-overflow-button]',\n host: {\n class: 'fd-toolbar__overflow-button'\n },\n standalone: true\n})\nexport class ToolbarOverflowButtonDirective extends ToolbarItemDirective {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fd-toolbar-separator',\n template: '',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'fd-toolbar__separator'\n },\n standalone: true\n})\nexport class ToolbarSeparatorComponent {}\n","import { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'fd-toolbar-spacer',\n standalone: true\n})\nexport class ToolbarSpacerDirective {\n /** Determines the width of spacer when fixed property is set to true\n * Allowed values: absolute and relative metrics\n * Default value: 0px\n */\n @HostBinding('style.width')\n @Input()\n width = '0px';\n\n /** Property allows user to pass additional class\n */\n @Input()\n class = '';\n\n /** Determines if spacer should take only size taken from width property\n * Default value: false\n * Default behaviour: spacer takes remaining space automatically\n */\n @Input()\n fixed = false;\n\n /** @hidden */\n @HostBinding('attr.class')\n get css(): string {\n return `fd-toolbar__spacer ${this.fixed ? 'fd-toolbar__spacer--fixed' : ''} ${this.class}`;\n }\n}\n","import {\n AfterContentInit,\n AfterViewChecked,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n contentChildren,\n DestroyRef,\n ElementRef,\n HostBinding,\n inject,\n Inject,\n Injector,\n Input,\n Optional,\n signal,\n SkipSelf,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { DYNAMIC_PAGE_HEADER_TOKEN, DynamicPageHeader } from '@fundamental-ngx/core/shared';\n\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport {\n applyCssClass,\n CssClassBuilder,\n DynamicPortalComponent,\n intersectionObservable,\n Nullable,\n OVERFLOW_PRIORITY_SCORE,\n OverflowPriority,\n ResizeObserverService\n} from '@fundamental-ngx/cdk/utils';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport {\n ContentDensityMode,\n ContentDensityObserver,\n contentDensityObserverProviders\n} from '@fundamental-ngx/core/content-density';\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\nimport { HeadingLevel } from '@fundamental-ngx/core/shared';\nimport { TitleComponent, TitleToken } from '@fundamental-ngx/core/title';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport { BehaviorSubject, combineLatest, EMPTY, filter, first, map, Observable, of, switchMap } from 'rxjs';\nimport { ToolbarItem } from './abstract-toolbar-item.class';\nimport { FD_TOOLBAR } from './tokens';\nimport { ToolbarSeparatorComponent } from './toolbar-separator.component';\nimport { ToolbarSpacerDirective } from './toolbar-spacer.directive';\n\nconst ELEMENT_MARGIN = 8;\nconst OVERFLOW_BTN_COZY = 36;\nconst OVERFLOW_BTN_COMPACT = 32;\nconst MAX_CONTENT_SIZE = 99999999;\n\nexport type ToolbarType = 'solid' | 'transparent' | 'auto' | 'info';\n\nlet toolbarTitleId = 0;\nlet toolbarId = 0;\n\nexport const enum OverflowPriorityEnum {\n ALWAYS = 'always',\n NEVER = 'never',\n LOW = 'low',\n HIGH = 'high',\n DISAPPEAR = 'disappear'\n}\n\n@Component({\n selector: 'fd-toolbar',\n templateUrl: './toolbar.component.html',\n styleUrl: './toolbar.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n contentDensityObserverProviders({\n defaultContentDensity: ContentDensityMode.COMPACT\n }),\n {\n provide: FD_TOOLBAR,\n useExisting: ToolbarComponent\n }\n ],\n imports: [\n ToolbarSpacerDirective,\n ToolbarSeparatorComponent,\n PopoverModule,\n ButtonComponent,\n DynamicPortalComponent,\n TitleComponent,\n FdTranslatePipe\n ]\n})\nexport class ToolbarComponent implements AfterViewInit, AfterViewChecked, CssClassBuilder, AfterContentInit {\n /**\n * The ID of the toolbar title\n * */\n @Input()\n titleId = `fd-toolbar-title-${toolbarTitleId++}`;\n\n /** Property allows user to pass additional class\n */\n @Input()\n class: string;\n\n /** Determines if overflow button should be visible\n * Default value: false\n */\n @Input()\n set shouldOverflow(val: boolean) {\n this._shouldOverflow = val;\n this.shouldOverflow$.next(val);\n }\n\n get shouldOverflow(): boolean {\n return this._shouldOverflow;\n }\n\n /** Determines the type of toolbar\n * Available options: 'solid' | 'transparent' | 'auto' | 'info'\n * Default value: 'solid'\n */\n @Input()\n fdType: ToolbarType = 'solid';\n\n /** The title for the toolbar. */\n @Input()\n title: string;\n\n /** Determines if toolbar should has active state (only when fdType == 'info')\n * Default value: false\n */\n @Input()\n active = false;\n\n /** Determines if toolbar should clear border bottom\n * Default value: false\n */\n @Input()\n clearBorder = false;\n\n /** Whether all items should be inside overflow */\n @Input()\n forceOverflow = false;\n\n /** Tabindex of the toolbar element, to be used when fdType=\"info\" */\n @Input()\n tabindex = -1;\n\n /**\n * Heading level of the toolbar title.\n */\n @Input()\n set headingLevel(level: Nullable<HeadingLevel>) {\n if (typeof level === 'number') {\n this._headingLevel = level;\n } else if (typeof level === 'string') {\n this._headingLevel = Number.parseInt(level.replace(/\\D/g, ''), 10);\n }\n }\n\n /** Toolbar Aria-label attribute. */\n @Input()\n @HostBinding('attr.aria-label')\n ariaLabel: string;\n\n /** Toolbar Aria-labelledby attribute. */\n @Input()\n @HostBinding('attr.aria-labelledby')\n ariaLabelledBy: string;\n\n /** Toolbar Aria-describedby attribute. */\n @Input()\n @HostBinding('attr.aria-describedby')\n ariaDescribedBy: string;\n\n /** Toolbar Aria-orientation attribute. */\n @Input()\n @HostBinding('attr.aria-orientation')\n ariaOrientation: 'horizontal' | 'vertical' = 'horizontal';\n\n /**\n * The ID of the toolbar\n * */\n @Input()\n @HostBinding('attr.id')\n id = `fd-toolbar-${toolbarId++}`;\n\n /** @hidden */\n @ViewChild('titleElement', { read: ElementRef })\n titleElement: ElementRef<HTMLHeadElement>;\n\n /** @hidden */\n @HostBinding('attr.role')\n protected readonly _role = 'toolbar';\n\n /** @hidden */\n readonly toolbarItems = contentChildren(ToolbarItem, { descendants: true });\n\n /** @hidden */\n @ContentChild(TitleToken)\n set titleComponent(title: TitleToken | null) {\n this._titleComponent$.next(title);\n }\n\n get titleComponent(): TitleToken | null {\n return this._titleComponent$.value;\n }\n\n /** @hidden */\n overflowItems$: Observable<ToolbarItem[]>;\n\n /** @hidden */\n overflownItems: ToolbarItem[] = [];\n\n /** @hidden */\n spacerUsed = signal(false);\n\n /** @hidden */\n spacerDirectives = contentChildren(ToolbarSpacerDirective);\n\n /** @hidden */\n separatorDirectives = contentChildren(ToolbarSeparatorComponent);\n\n /** @hidden */\n _headingLevel = 2;\n\n /** HTML Element Reference. */\n readonly elementRef = inject(ElementRef);\n\n /** @hidden */\n private _titleComponent$: BehaviorSubject<TitleToken | null> = new BehaviorSubject<TitleToken | null>(null);\n\n /** @hidden */\n private _refreshOverflow$ = new BehaviorSubject<void>(undefined);\n\n /** @hidden */\n private get _toolbarWidth(): number {\n const _overflow_btn_size = this._contentDensityObserver.isCompact ? OVERFLOW_BTN_COMPACT : OVERFLOW_BTN_COZY;\n return (\n (this.elementRef.nativeElement as HTMLElement).clientWidth -\n (_overflow_btn_size + 4 * ELEMENT_MARGIN + 1 + this.separatorDirectives().length)\n );\n }\n\n /** @hidden */\n private _shouldOverflow = false;\n\n /** @hidden */\n private shouldOverflow$ = new BehaviorSubject<boolean>(false);\n\n /** @hidden */\n constructor(\n private _cd: ChangeDetectorRef,\n readonly _contentDensityObserver: ContentDensityObserver,\n private readonly _destroyRef: DestroyRef,\n private resizeObserverService: ResizeObserverService,\n private readonly _injector: Injector,\n @Optional() @SkipSelf() @Inject(DYNAMIC_PAGE_HEADER_TOKEN) private _dynamicPageHeader?: DynamicPageHeader\n ) {\n _contentDensityObserver.subscribe();\n }\n\n /** @hidden */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n 'fd-toolbar',\n `fd-toolbar--${this.fdType}`,\n `${this.active && this.fdType === 'info' ? 'fd-toolbar--active' : ''}`,\n `${this.title || this.titleComponent ? 'fd-toolbar--title' : ''}`,\n `${this.clearBorder ? 'fd-toolbar--clear' : ''}`,\n `${this._dynamicPageHeader ? 'fd-dynamic-page__toolbar' : ''}`\n ];\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._updateSpacerUsed();\n\n // Observe title element size changes to trigger recalculation when title content changes\n const titleElementResize$ = this._titleComponent$.pipe(\n switchMap((titleComponent): Observable<HTMLElement | null> => {\n const titleElement = titleComponent?.elementRef?.nativeElement ?? this.titleElement?.nativeElement;\n if (!titleElement) {\n return of(null);\n }\n // When title element resizes (e.g., text content changes), emit\n return this.resizeObserverService.observe(titleElement).pipe(map(() => titleElement));\n })\n );\n\n this.overflowItems$ = combineLatest([\n this.resizeObserverService.observe(this.elementRef.nativeElement).pipe(map(() => this._toolbarWidth)),\n toObservable(this.toolbarItems, { injector: this._injector }).pipe(\n map((toolbarItems) => [...toolbarItems])\n ),\n titleElementResize$,\n this.shouldOverflow$,\n this._refreshOverflow$\n ]).pipe(\n map(([toolbarWidth, toolbarItems, titleElement, shouldOverflow]) => {\n if (shouldOverflow) {\n const _sortedByPriorityAndGroupItems = this._getSortedByPriorityAndGroupItems(toolbarItems);\n const overflowItems: ToolbarItem[] = [];\n _sortedByPriorityAndGroupItems.reduce((_contentWidth, toolbarItem) => {\n const itemWidth = toolbarItem.width + 2;\n const itemPriority = toolbarItem.priority;\n const shouldItemBeRemovedByWidth = itemWidth + _contentWidth > toolbarWidth;\n const shouldAlwaysBeInOverflow =\n itemPriority === OverflowPriorityEnum.ALWAYS || this.forceOverflow;\n const shouldNeverBeInOverflow = itemPriority === OverflowPriorityEnum.NEVER;\n if ((shouldItemBeRemovedByWidth && !shouldNeverBeInOverflow) || shouldAlwaysBeInOverflow) {\n overflowItems.push(toolbarItem);\n return shouldAlwaysBeInOverflow ? _contentWidth : MAX_CONTENT_SIZE;\n } else {\n return _contentWidth + itemWidth;\n }\n }, titleElement?.clientWidth || 0);\n // Hide orphans\n for (const toolbarItem of overflowItems) {\n const groupedCollection = this._getGroupedCollection(toolbarItems);\n const groupedCollectionPriorities = this._getGroupedCollectionPriority(groupedCollection);\n const group = toolbarItem.group;\n const itemPriority = toolbarItem.priority;\n if (group !== 0 && itemPriority !== OverflowPriorityEnum.DISAPPEAR) {\n const itemsFromCurrentGroup =\n this._getElementsFromCurrentGroup(\n group,\n groupedCollection,\n groupedCollectionPriorities\n ) || [];\n itemsFromCurrentGroup.forEach((i) => {\n if (overflowItems.indexOf(i) === -1) {\n overflowItems.push(i);\n }\n });\n }\n }\n return overflowItems.sort((a, b) => this._sortPriorities(a.priority, b.priority));\n }\n return [];\n }),\n takeUntilDestroyed(this._destroyRef)\n );\n this.overflowItems$.subscribe((items) => {\n this.overflownItems = items;\n this._cd.detectChanges();\n });\n this.buildComponentCssClass();\n\n // Use IntersectionObserver to detect when toolbar becomes visible\n // (e.g., when rendered inside a tab that was initially hidden).\n // This triggers a recalculation once the toolbar is visible and has proper dimensions.\n this.shouldOverflow$\n .pipe(\n switchMap((shouldOverflow) =>\n shouldOverflow\n ? intersectionObservable(this.elementRef.nativeElement).pipe(\n filter((entries) => entries[0]?.isIntersecting),\n first()\n )\n : EMPTY\n ),\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe(() => {\n this._refreshOverflow$.next();\n });\n }\n\n /** @hidden */\n ngAfterViewChecked(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n if (this.titleComponent) {\n this.titleComponent.elementRef?.nativeElement.classList.add('fd-toolbar__title');\n this.buildComponentCssClass();\n }\n }\n\n /** Change detection reference */\n detectChanges(): void {\n this._cd.detectChanges();\n }\n\n /** Method triggering collapsible toolbar */\n updateCollapsibleItems(): void {\n this._refreshOverflow$.next();\n }\n\n /** @hidden */\n private _updateSpacerUsed(): void {\n // do not render extra spacer if there is at least one passed by the application\n // and it is not fixed this.spacerUsed.set(this.spacer.length > 0 && this.spacer.some((spacer) => !spacer.fixed));\n this.spacerUsed.set(\n this.spacerDirectives().length > 0 && this.spacerDirectives().some((spacer) => !spacer.fixed)\n );\n }\n\n /** @hidden Get group number with the lowest priority.\n * Uses for detecting a group of elements which would be hidden from the toolbar.\n * */\n private _getLowestPriorityFromGroup(\n itemGroup: number,\n groupedCollectionPriority?: Record<number, OverflowPriority>\n ): number {\n const priority = groupedCollectionPriority;\n if (!priority || !OVERFLOW_PRIORITY_SCORE.get(priority[itemGroup])) {\n return itemGroup;\n }\n\n const groups = Object.keys(priority);\n\n return groups.reduce((lowestGroup, currentGroup) => {\n const lowestGroupPriority = priority[lowestGroup];\n const currentGroupPriority = priority[currentGroup];\n if (\n OVERFLOW_PRIORITY_SCORE.get(currentGroupPriority)! < OVERFLOW_PRIORITY_SCORE.get(lowestGroupPriority)!\n ) {\n return +currentGroup;\n }\n\n return lowestGroup;\n }, itemGroup as number);\n }\n\n /** @hidden */\n private _getElementsFromCurrentGroup(\n itemGroup: number,\n groupedCollection?: Record<number, ToolbarItem[]>,\n groupedCollectionPriority?: Record<number, OverflowPriority>\n ): ToolbarItem[] {\n const lowestPriorityFromGroup = this._getLowestPriorityFromGroup(itemGroup, groupedCollectionPriority);\n if (!groupedCollection || !groupedCollectionPriority) {\n return [];\n }\n let itemsToRemove = groupedCollection[lowestPriorityFromGroup];\n\n delete groupedCollection[lowestPriorityFromGroup];\n delete groupedCollectionPriority[lowestPriorityFromGroup];\n\n if (lowestPriorityFromGroup !== itemGroup) {\n itemsToRemove = [...itemsToRemove, ...groupedCollection[itemGroup]];\n delete groupedCollection[itemGroup];\n delete groupedCollectionPriority[itemGroup];\n }\n\n return itemsToRemove;\n }\n\n /** @hidden Get the object with grouped arrays of elements. */\n private _getGroupedCollection(toolbarItems: ToolbarItem[]): Record<number, ToolbarItem[]> {\n return toolbarItems.reduce((acc, item) => {\n const itemPrio = item.priority;\n const itemGroup = item.group;\n if (\n itemPrio === OverflowPriorityEnum.NEVER ||\n itemPrio === OverflowPriorityEnum.ALWAYS ||\n itemGroup === 0\n ) {\n return acc;\n }\n if (!acc[itemGroup]) {\n acc[itemGroup] = [];\n }\n acc[itemGroup].push(item);\n return acc;\n }, {});\n }\n\n /** @hidden Get the object with the highest priority for each group of elements. */\n private _getGroupedCollectionPriority(\n groupedCollection: Record<number, ToolbarItem[]>\n ): Record<number, OverflowPriority> {\n const groups = Object.keys(groupedCollection);\n\n return groups.reduce((acc, itemGroup) => {\n const sortedPriorities = groupedCollection![itemGroup]\n .map((i: ToolbarItem) => i.priority)\n .filter(\n (prio: OverflowPriority) =>\n prio !== OverflowPriorityEnum.ALWAYS && prio !== OverflowPriorityEnum.NEVER\n )\n .sort(this._sortPriorities);\n\n acc[itemGroup] = sortedPriorities[0];\n\n return acc;\n }, {});\n }\n\n /** @hidden Sort priorities of elements/groups. */\n private _sortPriorities(a: OverflowPriority, b: OverflowPriority): number {\n return OVERFLOW_PRIORITY_SCORE.get(b)! - OVERFLOW_PRIORITY_SCORE.get(a)!;\n }\n\n /** @hidden Sort by group and priority and initial position */\n private _getSortedByPriorityAndGroupItems(toolbarItems: ToolbarItem[]): ToolbarItem[] {\n const notSorted = toolbarItems.map((element, index) => ({ element, index }));\n\n const groups = notSorted.reduce(\n (gr, item) => {\n let groupId = item.element.group;\n const itemPrio = item.element.priority;\n if (itemPrio === OverflowPriorityEnum.NEVER || itemPrio === OverflowPriorityEnum.ALWAYS) {\n groupId = 0;\n }\n\n if (!gr[groupId]) {\n gr[groupId] = [];\n }\n\n gr[groupId].push(item);\n\n return gr;\n },\n {} as Record<number, Array<{ element: ToolbarItem; index: number }>>\n );\n\n const groupIds = Object.keys(groups)\n .map((g) => parseInt(g, 10))\n .filter((g) => g !== 0);\n\n return groupIds\n .map((g) => {\n let minIndex = Number.MAX_SAFE_INTEGER;\n let maxPriority = 0;\n for (const item of groups[g]) {\n minIndex = Math.min(minIndex, item.index);\n maxPriority = Math.max(\n maxPriority,\n OVERFLOW_PRIORITY_SCORE.get(item.element.priority) ?? -Infinity\n );\n }\n\n return { group: groups[g].map(({ element }) => element), minIndex, maxPriority };\n })\n .concat(\n !groups[0]\n ? []\n : groups[0].map((item) => ({\n group: [item.element],\n maxPriority: OVERFLOW_PRIORITY_SCORE.get(item.element.priority) ?? -Infinity,\n minIndex: item.index\n }))\n )\n .sort((a, b) => b.maxPriority - a.maxPriority || a.minIndex - b.minIndex)\n .reduce((arr, i) => arr.concat(i.group), [] as ToolbarItem[]);\n }\n}\n","@if (title) {\n <span\n fd-title\n role=\"heading\"\n [headerSize]=\"4\"\n [attr.aria-level]=\"_headingLevel\"\n [attr.title]=\"title\"\n [attr.aria-label]=\"title\"\n class=\"fd-toolbar__title fd-toolbar__title--truncate\"\n [id]=\"titleId\"\n #titleElement\n >\n {{ title }}\n </span>\n}\n<ng-content></ng-content>\n@if (overflownItems.length > 0) {\n @if (!spacerUsed()) {\n <fd-toolbar-spacer></fd-toolbar-spacer>\n }\n <fd-toolbar-separator></fd-toolbar-separator>\n <fd-popover placement=\"bottom-end\" [noArrow]=\"true\" class=\"fd-popover\" [focusAutoCapture]=\"true\">\n <fd-popover-control>\n <button\n fd-button\n [title]=\"('coreToolbar.moreButton' | fdTranslate)()\"\n [attr.aria-label]=\"('coreToolbar.moreButton' | fdTranslate)()\"\n aria-haspopup=\"true\"\n fdType=\"transparent\"\n glyph=\"overflow\"\n ></button>\n </fd-popover-control>\n <fd-popover-body>\n <div class=\"fd-toolbar__overflow\">\n @for (overflowedItem of overflownItems; track overflowedItem) {\n <fdk-dynamic-portal\n [domElement]=\"overflowedItem.element\"\n [style.display]=\"overflowedItem.priority === 'disappear' ? 'none' : 'flex'\"\n [style.flex-direction]=\"overflowedItem.priority === 'disappear' ? undefined : 'column'\"\n >\n </fdk-dynamic-portal>\n }\n </div>\n </fd-popover-body>\n </fd-popover>\n}\n","import { NgModule } from '@angular/core';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\nimport { ToolbarFormLabelDirective } from './toolbar-form-label.directive';\nimport { ToolbarItemDirective } from './toolbar-item.directive';\nimport { ToolbarLabelDirective } from './toolbar-label.directive';\nimport { ToolbarOverflowButtonMenuDirective } from './toolbar-overflow-button-menu.directive';\nimport { ToolbarOverflowButtonDirective } from './toolbar-overflow-button.directive';\nimport { ToolbarSeparatorComponent } from './toolbar-separator.component';\nimport { ToolbarSpacerDirective } from './toolbar-spacer.directive';\nimport { ToolbarComponent } from './toolbar.component';\n\nconst components = [\n ToolbarComponent,\n ToolbarItemDirective,\n ToolbarSpacerDirective,\n ToolbarSeparatorComponent,\n ToolbarFormLabelDirective,\n ToolbarLabelDirective,\n ToolbarOverflowButtonDirective,\n ToolbarOverflowButtonMenuDirective\n];\n\n/**\n * @deprecated\n * Use direct imports of components and directives.\n */\n@NgModule({\n imports: [ContentDensityModule, ...components],\n exports: [...components, ContentDensityModule]\n})\nexport class ToolbarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -232,7 +232,7 @@ class UserMenuListItemComponent {
232
232
  }
233
233
  }
234
234
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: UserMenuListItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
235
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", 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 }, iconAfter: { classPropertyName: "iconAfter", publicName: "iconAfter", isSignal: true, isRequired: false, transformFunction: null }, iconAfterActive: { classPropertyName: "iconAfterActive", publicName: "iconAfterActive", 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 }, truncateText: { classPropertyName: "truncateText", publicName: "truncateText", isSignal: true, isRequired: false, transformFunction: null }, subtitle: { classPropertyName: "subtitle", publicName: "subtitle", isSignal: true, isRequired: false, transformFunction: null }, subtitleId: { classPropertyName: "subtitleId", publicName: "subtitleId", isSignal: true, isRequired: false, transformFunction: null }, truncateSubtitle: { classPropertyName: "truncateSubtitle", publicName: "truncateSubtitle", 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: { isOpenChange: "isOpenChange", showSubmenu: "showSubmenu", updateTitle: "updateTitle", keyDown: "keyDown" }, host: { attributes: { "role": "none" }, listeners: { "mouseenter": "onHostMouseEnter()", "mouseleave": "onHostMouseLeave()", "focusin": "focusHandler()", "keydown": "onKeyDown($event)" }, 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 <div class=\"fd-menu__content\">\n <span class=\"fd-menu__title\" [class.fd-menu__title--truncate]=\"truncateText()\" [id]=\"textId()\">{{\n text()\n }}</span>\n @if (subtitle()) {\n <span\n class=\"fd-menu__subtitle\"\n [class.fd-menu__subtitle--truncate]=\"truncateSubtitle()\"\n [id]=\"subtitleId()\"\n >{{ subtitle() }}</span\n >\n }\n </div>\n\n @if (iconAfter()) {\n <span class=\"fd-menu__addon-after\" [class.fd-menu__addon-after--active]=\"iconAfterActive()\">\n <i [class]=\"'sap-icon--' + iconAfter()\" role=\"presentation\"></i>\n </span>\n }\n\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]=\"false\"\n [restoreFocusOnClose]=\"true\"\n [closeOnOutsideClick]=\"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 <div class=\"fd-menu__content\">\n <span\n class=\"fd-menu__title\"\n [class.fd-menu__title--truncate]=\"truncateText()\"\n [id]=\"textId()\"\n >{{ text() }}</span\n >\n @if (subtitle()) {\n <span\n class=\"fd-menu__subtitle\"\n [class.fd-menu__subtitle--truncate]=\"truncateSubtitle()\"\n [id]=\"subtitleId()\"\n >{{ subtitle() }}</span\n >\n }\n </div>\n @if (iconAfter()) {\n <span class=\"fd-menu__addon-after\" [class.fd-menu__addon-after--active]=\"iconAfterActive()\">\n <i [class]=\"'sap-icon--' + iconAfter()\" role=\"presentation\"></i>\n </span>\n }\n <span class=\"fd-menu__addon-after fd-menu__addon-after--submenu\"></span>\n </button>\n </fd-popover-control>\n <fd-popover-body\n (keydown)=\"onPopoverBodyKeyDown($event)\"\n (mouseenter)=\"onSubmenuMouseEnter()\"\n (mouseleave)=\"onSubmenuMouseLeave()\"\n >\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 <div class=\"fd-menu__content\">\n <span class=\"fd-menu__title\" [class.fd-menu__title--truncate]=\"truncateText()\" [id]=\"textId()\">{{\n text()\n }}</span>\n @if (subtitle()) {\n <span\n class=\"fd-menu__subtitle\"\n [class.fd-menu__subtitle--truncate]=\"truncateSubtitle()\"\n [id]=\"subtitleId()\"\n >{{ subtitle() }}</span\n >\n }\n </div>\n\n @if (iconAfter()) {\n <span class=\"fd-menu__addon-after\" [class.fd-menu__addon-after--active]=\"iconAfterActive()\">\n <i [class]=\"'sap-icon--' + iconAfter()\" role=\"presentation\"></i>\n </span>\n }\n </button>\n}\n", dependencies: [{ kind: "component", type: PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"], outputs: ["onClose"] }, { kind: "component", type: PopoverComponent, selector: "fd-popover", inputs: ["config", "title", "trigger", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll", "placement", "maxWidth", "fillControlMode", "closeOnOutsideClick", "closeOnEscapeKey", "disabled", "triggers", "focusTrapped", "focusAutoCapture", "restoreFocusOnClose", "noArrow", "disableScrollbar", "appendTo", "placementContainer", "scrollStrategy", "cdkPositions", "applyOverlay", "additionalBodyClass", "additionalTriggerClass", "closeOnNavigation", "fixedPosition", "resizable", "bodyAriaLabel", "isOpen"], outputs: ["triggerChange", "isOpenChange", "beforeOpen"] }, { 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 }); }
235
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", 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 }, iconAfter: { classPropertyName: "iconAfter", publicName: "iconAfter", isSignal: true, isRequired: false, transformFunction: null }, iconAfterActive: { classPropertyName: "iconAfterActive", publicName: "iconAfterActive", 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 }, truncateText: { classPropertyName: "truncateText", publicName: "truncateText", isSignal: true, isRequired: false, transformFunction: null }, subtitle: { classPropertyName: "subtitle", publicName: "subtitle", isSignal: true, isRequired: false, transformFunction: null }, subtitleId: { classPropertyName: "subtitleId", publicName: "subtitleId", isSignal: true, isRequired: false, transformFunction: null }, truncateSubtitle: { classPropertyName: "truncateSubtitle", publicName: "truncateSubtitle", 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: { isOpenChange: "isOpenChange", showSubmenu: "showSubmenu", updateTitle: "updateTitle", keyDown: "keyDown" }, host: { attributes: { "role": "none" }, listeners: { "mouseenter": "onHostMouseEnter()", "mouseleave": "onHostMouseLeave()", "focusin": "focusHandler()", "keydown": "onKeyDown($event)" }, 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 <div class=\"fd-menu__content\">\n <span class=\"fd-menu__title\" [class.fd-menu__title--truncate]=\"truncateText()\" [id]=\"textId()\">{{\n text()\n }}</span>\n @if (subtitle()) {\n <span\n class=\"fd-menu__subtitle\"\n [class.fd-menu__subtitle--truncate]=\"truncateSubtitle()\"\n [id]=\"subtitleId()\"\n >{{ subtitle() }}</span\n >\n }\n </div>\n\n @if (iconAfter()) {\n <span class=\"fd-menu__addon-after\" [class.fd-menu__addon-after--active]=\"iconAfterActive()\">\n <i [class]=\"'sap-icon--' + iconAfter()\" role=\"presentation\"></i>\n </span>\n }\n\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]=\"false\"\n [restoreFocusOnClose]=\"true\"\n [closeOnOutsideClick]=\"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 <div class=\"fd-menu__content\">\n <span\n class=\"fd-menu__title\"\n [class.fd-menu__title--truncate]=\"truncateText()\"\n [id]=\"textId()\"\n >{{ text() }}</span\n >\n @if (subtitle()) {\n <span\n class=\"fd-menu__subtitle\"\n [class.fd-menu__subtitle--truncate]=\"truncateSubtitle()\"\n [id]=\"subtitleId()\"\n >{{ subtitle() }}</span\n >\n }\n </div>\n @if (iconAfter()) {\n <span class=\"fd-menu__addon-after\" [class.fd-menu__addon-after--active]=\"iconAfterActive()\">\n <i [class]=\"'sap-icon--' + iconAfter()\" role=\"presentation\"></i>\n </span>\n }\n <span class=\"fd-menu__addon-after fd-menu__addon-after--submenu\"></span>\n </button>\n </fd-popover-control>\n <fd-popover-body\n (keydown)=\"onPopoverBodyKeyDown($event)\"\n (mouseenter)=\"onSubmenuMouseEnter()\"\n (mouseleave)=\"onSubmenuMouseLeave()\"\n >\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 <div class=\"fd-menu__content\">\n <span class=\"fd-menu__title\" [class.fd-menu__title--truncate]=\"truncateText()\" [id]=\"textId()\">{{\n text()\n }}</span>\n @if (subtitle()) {\n <span\n class=\"fd-menu__subtitle\"\n [class.fd-menu__subtitle--truncate]=\"truncateSubtitle()\"\n [id]=\"subtitleId()\"\n >{{ subtitle() }}</span\n >\n }\n </div>\n\n @if (iconAfter()) {\n <span class=\"fd-menu__addon-after\" [class.fd-menu__addon-after--active]=\"iconAfterActive()\">\n <i [class]=\"'sap-icon--' + iconAfter()\" role=\"presentation\"></i>\n </span>\n }\n </button>\n}\n", dependencies: [{ kind: "component", type: PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"], outputs: ["onClose"] }, { kind: "component", type: PopoverComponent, selector: "fd-popover", inputs: ["config", "title", "trigger", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll", "placement", "maxWidth", "fillControlMode", "closeOnOutsideClick", "closeOnEscapeKey", "disabled", "triggers", "focusTrapped", "focusAutoCapture", "restoreFocusOnClose", "noArrow", "disableScrollbar", "appendTo", "placementContainer", "scrollStrategy", "cdkPositions", "applyOverlay", "additionalBodyClass", "additionalTriggerClass", "closeOnNavigation", "fixedPosition", "resizable", "bodyAriaLabel", "bodyRole", "bodyAriaLabelledBy", "isOpen"], outputs: ["triggerChange", "isOpenChange", "beforeOpen"] }, { 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 }); }
236
236
  }
237
237
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: UserMenuListItemComponent, decorators: [{
238
238
  type: Component,
@@ -792,7 +792,7 @@ class UserMenuComponent {
792
792
  }
793
793
  }
794
794
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: UserMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
795
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", 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: [".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;min-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-block:.25rem;margin-inline:0;padding-block:0;padding-inline:0;text-align:start;text-shadow:var(--fdMenu_Text_Shadow);width:100%}.fd-menu__title:after,.fd-menu__title:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.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__title--truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fd-menu__subtitle{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;text-align:start;width:100%;-webkit-margin-after:.25rem;color:var(--sapContent_LabelColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);margin-block-end:.25rem;text-shadow:var(--fdMenu_Text_Shadow)}.fd-menu__subtitle:after,.fd-menu__subtitle:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__subtitle--truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fd-menu__content{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;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:hidden}.fd-menu__content:after,.fd-menu__content:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.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--active,.fd-menu__addon-before--active{--fdMenu_Icon_Color:var(--sapContent_Selected_ForegroundColor)}.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__content:not(.fd-menu__sublist:not(.fd-menu__sublist--icons) .fd-menu__content):first-child,.fd-menu--icons .fd-menu__title:not(.fd-menu__content>.fd-menu__title):not(.fd-menu__sublist:not(.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__content:not(.fd-menu__sublist:not(.fd-menu__sublist--icons) .fd-menu__content):last-child,.fd-menu--icons .fd-menu__title:not(.fd-menu__content>.fd-menu__title):not(.fd-menu__sublist:not(.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__content:not(.fd-menu__sublist:not(.fd-menu__sublist--icons) .fd-menu__content):only-child,.fd-menu--icons .fd-menu__title:not(.fd-menu__content>.fd-menu__title):not(.fd-menu__sublist:not(.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__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{min-width:20rem;overflow:visible;width:20rem}.fd-user-menu__body{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;-ms-flex-direction:column;flex-direction:column;gap:.5rem;max-width:20rem;min-width:18rem;overflow:visible;padding-block:2.5rem .5rem;padding-inline:.5rem;position:relative}.fd-user-menu__body:after,.fd-user-menu__body:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-user-menu__header{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;-ms-flex-direction:column;flex-direction:column;gap:.5rem;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.fd-user-menu__header:after,.fd-user-menu__header:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-user-menu__header-container,.fd-user-menu__subheader{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;-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:after,.fd-user-menu__header-container:before,.fd-user-menu__subheader:after,.fd-user-menu__subheader:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-user-menu__header-content-area{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;padding:.5rem;width:100%}.fd-user-menu__header-content-area:after,.fd-user-menu__header-content-area:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-user-menu__user-name{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-family:var(--fdUserMenu_User_Name_Font_Family);font-size:var(--sapFontSize);font-size:var(--sapFontLargeSize);font-weight:400;forced-color-adjust:none;line-height:normal;line-height:1.4rem;margin-block:0;margin-inline:0;max-width:100%;padding-block:0;padding-inline:0;white-space:normal}.fd-user-menu__user-name:after,.fd-user-menu__user-name:before{-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;max-height:2.8rem;overflow:hidden;text-overflow:ellipsis;white-space:normal}.fd-user-menu__subline,.fd-user-menu__user-info,.fd-user-menu__user-role{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_LabelColor);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;white-space:normal;width:100%}.fd-user-menu__subline:after,.fd-user-menu__subline:before,.fd-user-menu__user-info:after,.fd-user-menu__user-info:before,.fd-user-menu__user-role:after,.fd-user-menu__user-role:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-user-menu__subline--truncate,.fd-user-menu__user-info--truncate,.fd-user-menu__user-role--truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fd-user-menu .fd-user-menu__menu{width:100%}.fd-user-menu .fd-user-menu__menu-list{border-radius:0;-webkit-box-shadow:none;box-shadow:none}.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{border-radius:0;-webkit-box-shadow:none;box-shadow:none}.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__menu-list .fd-menu__subtitle:not(.fd-menu__subtitle--truncate),.fd-user-menu .fd-user-menu__menu-list .fd-menu__title:not(.fd-menu__title--truncate){white-space:normal}.fd-user-menu .fd-user-menu__panel>div{border-radius:0}.fd-user-menu__content-container{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;--fdPanel_Margin_Bottom:.25rem}.fd-user-menu__content-container:after,.fd-user-menu__content-container:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-user-menu .fd-menu[class*=-compact],.fd-user-menu .fd-menu[class*=-condensed],[class*=-compact] .fd-user-menu .fd-menu:not([class*=-cozy]),[class*=-condensed] .fd-user-menu .fd-menu:not([class*=-cozy]){--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{color:var(--sapTitleColor);font-family:var(--sapFontBlackFamily);font-size:1.25rem;line-height:1.3}.fd-user-menu--tool-header .fd-user-menu__navigation-submenu{border:none;border-radius:.5rem;padding-block:.5rem;padding-inline:.5rem;top:-.5rem;-webkit-margin-end:.3875rem;background:var(--sapGroup_ContentBackground);-webkit-box-shadow:var(--sapMenu_Shadow1);box-shadow:var(--sapMenu_Shadow1);margin-inline-end:.3875rem}.fd-user-menu--tool-header .fd-user-menu__navigation-submenu-wrapper{overflow:visible}.fd-user-menu--tool-header .fd-user-menu__user-role{color:var(--sapContent_LabelColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight)}.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{background:var(--sapGroup_ContentBackground);border:none;border-radius:.75rem;-webkit-box-shadow:var(--sapMenu_Shadow2);box-shadow:var(--sapMenu_Shadow2);padding-block:.75rem;padding-inline:0}.fd-user-menu--tool-header .fd-user-menu__footer{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: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:after,.fd-user-menu--tool-header .fd-user-menu__footer:before{-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{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/user-menu.css:\n (*!\n * Fundamental Library Styles v0.41.7\n * Copyright (c) 2026 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: ["barDesign", "inPage", "inHomePage", "clear", "size", "initialSuggestionTitle", "initialSuggestionSubline", "role"] }, { kind: "directive", type: BarMiddleDirective, selector: "[fd-bar-middle]", inputs: ["stackContentsVertically"] }, { kind: "directive", type: BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth"] }, { kind: "component", type: PopoverComponent, selector: "fd-popover", inputs: ["config", "title", "trigger", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll", "placement", "maxWidth", "fillControlMode", "closeOnOutsideClick", "closeOnEscapeKey", "disabled", "triggers", "focusTrapped", "focusAutoCapture", "restoreFocusOnClose", "noArrow", "disableScrollbar", "appendTo", "placementContainer", "scrollStrategy", "cdkPositions", "applyOverlay", "additionalBodyClass", "additionalTriggerClass", "closeOnNavigation", "fixedPosition", "resizable", "bodyAriaLabel", "isOpen"], outputs: ["triggerChange", "isOpenChange", "beforeOpen"] }, { kind: "component", type: PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"], outputs: ["onClose"] }, { 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", inputs: ["inShellbar"] }, { kind: "directive", type: TemplateDirective, selector: "[fdkTemplate]", inputs: ["fdkTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
795
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", 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: [".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;min-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-block:.25rem;margin-inline:0;padding-block:0;padding-inline:0;text-align:start;text-shadow:var(--fdMenu_Text_Shadow);width:100%}.fd-menu__title:after,.fd-menu__title:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.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__title--truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fd-menu__subtitle{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;text-align:start;width:100%;-webkit-margin-after:.25rem;color:var(--sapContent_LabelColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);margin-block-end:.25rem;text-shadow:var(--fdMenu_Text_Shadow)}.fd-menu__subtitle:after,.fd-menu__subtitle:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__subtitle--truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fd-menu__content{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;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:hidden}.fd-menu__content:after,.fd-menu__content:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.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--active,.fd-menu__addon-before--active{--fdMenu_Icon_Color:var(--sapContent_Selected_ForegroundColor)}.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__content:not(.fd-menu__sublist:not(.fd-menu__sublist--icons) .fd-menu__content):first-child,.fd-menu--icons .fd-menu__title:not(.fd-menu__content>.fd-menu__title):not(.fd-menu__sublist:not(.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__content:not(.fd-menu__sublist:not(.fd-menu__sublist--icons) .fd-menu__content):last-child,.fd-menu--icons .fd-menu__title:not(.fd-menu__content>.fd-menu__title):not(.fd-menu__sublist:not(.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__content:not(.fd-menu__sublist:not(.fd-menu__sublist--icons) .fd-menu__content):only-child,.fd-menu--icons .fd-menu__title:not(.fd-menu__content>.fd-menu__title):not(.fd-menu__sublist:not(.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__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{min-width:20rem;overflow:visible;width:20rem}.fd-user-menu__body{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;-ms-flex-direction:column;flex-direction:column;gap:.5rem;max-width:20rem;min-width:18rem;overflow:visible;padding-block:2.5rem .5rem;padding-inline:.5rem;position:relative}.fd-user-menu__body:after,.fd-user-menu__body:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-user-menu__header{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;-ms-flex-direction:column;flex-direction:column;gap:.5rem;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.fd-user-menu__header:after,.fd-user-menu__header:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-user-menu__header-container,.fd-user-menu__subheader{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;-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:after,.fd-user-menu__header-container:before,.fd-user-menu__subheader:after,.fd-user-menu__subheader:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-user-menu__header-content-area{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;padding:.5rem;width:100%}.fd-user-menu__header-content-area:after,.fd-user-menu__header-content-area:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-user-menu__user-name{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-family:var(--fdUserMenu_User_Name_Font_Family);font-size:var(--sapFontSize);font-size:var(--sapFontLargeSize);font-weight:400;forced-color-adjust:none;line-height:normal;line-height:1.4rem;margin-block:0;margin-inline:0;max-width:100%;padding-block:0;padding-inline:0;white-space:normal}.fd-user-menu__user-name:after,.fd-user-menu__user-name:before{-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;max-height:2.8rem;overflow:hidden;text-overflow:ellipsis;white-space:normal}.fd-user-menu__subline,.fd-user-menu__user-info,.fd-user-menu__user-role{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_LabelColor);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;white-space:normal;width:100%}.fd-user-menu__subline:after,.fd-user-menu__subline:before,.fd-user-menu__user-info:after,.fd-user-menu__user-info:before,.fd-user-menu__user-role:after,.fd-user-menu__user-role:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-user-menu__subline--truncate,.fd-user-menu__user-info--truncate,.fd-user-menu__user-role--truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fd-user-menu .fd-user-menu__menu{width:100%}.fd-user-menu .fd-user-menu__menu-list{border-radius:0;-webkit-box-shadow:none;box-shadow:none}.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{border-radius:0;-webkit-box-shadow:none;box-shadow:none}.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__menu-list .fd-menu__subtitle:not(.fd-menu__subtitle--truncate),.fd-user-menu .fd-user-menu__menu-list .fd-menu__title:not(.fd-menu__title--truncate){white-space:normal}.fd-user-menu .fd-user-menu__panel>div{border-radius:0}.fd-user-menu__content-container{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;--fdPanel_Margin_Bottom:.25rem}.fd-user-menu__content-container:after,.fd-user-menu__content-container:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-user-menu .fd-menu[class*=-compact],.fd-user-menu .fd-menu[class*=-condensed],[class*=-compact] .fd-user-menu .fd-menu:not([class*=-cozy]),[class*=-condensed] .fd-user-menu .fd-menu:not([class*=-cozy]){--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{color:var(--sapTitleColor);font-family:var(--sapFontBlackFamily);font-size:1.25rem;line-height:1.3}.fd-user-menu--tool-header .fd-user-menu__navigation-submenu{border:none;border-radius:.5rem;padding-block:.5rem;padding-inline:.5rem;top:-.5rem;-webkit-margin-end:.3875rem;background:var(--sapGroup_ContentBackground);-webkit-box-shadow:var(--sapMenu_Shadow1);box-shadow:var(--sapMenu_Shadow1);margin-inline-end:.3875rem}.fd-user-menu--tool-header .fd-user-menu__navigation-submenu-wrapper{overflow:visible}.fd-user-menu--tool-header .fd-user-menu__user-role{color:var(--sapContent_LabelColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight)}.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{background:var(--sapGroup_ContentBackground);border:none;border-radius:.75rem;-webkit-box-shadow:var(--sapMenu_Shadow2);box-shadow:var(--sapMenu_Shadow2);padding-block:.75rem;padding-inline:0}.fd-user-menu--tool-header .fd-user-menu__footer{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: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:after,.fd-user-menu--tool-header .fd-user-menu__footer:before{-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{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/user-menu.css:\n (*!\n * Fundamental Library Styles v0.41.7\n * Copyright (c) 2026 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: ["barDesign", "inPage", "inHomePage", "clear", "size", "initialSuggestionTitle", "initialSuggestionSubline", "role"] }, { kind: "directive", type: BarMiddleDirective, selector: "[fd-bar-middle]", inputs: ["stackContentsVertically"] }, { kind: "directive", type: BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth"] }, { kind: "component", type: PopoverComponent, selector: "fd-popover", inputs: ["config", "title", "trigger", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll", "placement", "maxWidth", "fillControlMode", "closeOnOutsideClick", "closeOnEscapeKey", "disabled", "triggers", "focusTrapped", "focusAutoCapture", "restoreFocusOnClose", "noArrow", "disableScrollbar", "appendTo", "placementContainer", "scrollStrategy", "cdkPositions", "applyOverlay", "additionalBodyClass", "additionalTriggerClass", "closeOnNavigation", "fixedPosition", "resizable", "bodyAriaLabel", "bodyRole", "bodyAriaLabelledBy", "isOpen"], outputs: ["triggerChange", "isOpenChange", "beforeOpen"] }, { kind: "component", type: PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"], outputs: ["onClose"] }, { 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", inputs: ["inShellbar"] }, { kind: "directive", type: TemplateDirective, selector: "[fdkTemplate]", inputs: ["fdkTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
796
796
  }
797
797
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: UserMenuComponent, decorators: [{
798
798
  type: Component,