@fundamental-ngx/platform 0.55.4 → 0.55.5

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 (31) hide show
  1. package/fesm2022/fundamental-ngx-platform-approval-flow.mjs +2 -2
  2. package/fesm2022/fundamental-ngx-platform-dynamic-page.mjs +2 -2
  3. package/fesm2022/fundamental-ngx-platform-dynamic-page.mjs.map +1 -1
  4. package/fesm2022/fundamental-ngx-platform-feed-input.mjs +2 -2
  5. package/fesm2022/fundamental-ngx-platform-form.mjs +11 -11
  6. package/fesm2022/fundamental-ngx-platform-form.mjs.map +1 -1
  7. package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs +7 -3
  8. package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs.map +1 -1
  9. package/fesm2022/fundamental-ngx-platform-link.mjs +2 -2
  10. package/fesm2022/fundamental-ngx-platform-link.mjs.map +1 -1
  11. package/fesm2022/fundamental-ngx-platform-list.mjs +10 -10
  12. package/fesm2022/fundamental-ngx-platform-list.mjs.map +1 -1
  13. package/fesm2022/fundamental-ngx-platform-menu.mjs +4 -4
  14. package/fesm2022/fundamental-ngx-platform-menu.mjs.map +1 -1
  15. package/fesm2022/fundamental-ngx-platform-message-popover.mjs +3 -3
  16. package/fesm2022/fundamental-ngx-platform-message-popover.mjs.map +1 -1
  17. package/fesm2022/fundamental-ngx-platform-page-footer.mjs +2 -2
  18. package/fesm2022/fundamental-ngx-platform-panel.mjs +1 -1
  19. package/fesm2022/fundamental-ngx-platform-panel.mjs.map +1 -1
  20. package/fesm2022/fundamental-ngx-platform-search-field.mjs +2 -2
  21. package/fesm2022/fundamental-ngx-platform-search-field.mjs.map +1 -1
  22. package/fesm2022/fundamental-ngx-platform-settings-generator.mjs +3 -3
  23. package/fesm2022/fundamental-ngx-platform-settings-generator.mjs.map +1 -1
  24. package/fesm2022/fundamental-ngx-platform-split-menu-button.mjs +2 -2
  25. package/fesm2022/fundamental-ngx-platform-table.mjs +10 -10
  26. package/fesm2022/fundamental-ngx-platform-table.mjs.map +1 -1
  27. package/fesm2022/fundamental-ngx-platform-variant-management.mjs +2 -2
  28. package/fesm2022/fundamental-ngx-platform-variant-management.mjs.map +1 -1
  29. package/icon-tab-bar/icon-tab-bar.component.d.ts +3 -1
  30. package/package.json +4 -4
  31. package/schematics/ng-add/index.js +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-platform-menu.mjs","sources":["../../../../libs/platform/menu/menu-item.component.ts","../../../../libs/platform/menu/menu-item.component.html","../../../../libs/platform/menu/menu.component.ts","../../../../libs/platform/menu/menu.component.html","../../../../libs/platform/menu/menu-trigger.directive.ts","../../../../libs/platform/menu/menu.module.ts","../../../../libs/platform/menu/fundamental-ngx-platform-menu.ts"],"sourcesContent":["import { FocusableOption } from '@angular/cdk/a11y';\nimport { ENTER, SPACE } from '@angular/cdk/keycodes';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n Output,\n ViewEncapsulation\n} from '@angular/core';\nimport { Subject } from 'rxjs';\n\nimport { NgTemplateOutlet } from '@angular/common';\nimport { KeyUtil } from '@fundamental-ngx/cdk/utils';\nimport { MenuInteractiveComponent } from '@fundamental-ngx/core/menu';\n\n/**\n * @deprecated\n */\n@Component({\n selector: 'fdp-menu-item',\n templateUrl: './menu-item.component.html',\n styleUrl: './menu-item.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'fd-menu__item',\n tabindex: '-1'\n },\n imports: [NgTemplateOutlet]\n})\nexport class MenuItemComponent implements OnDestroy, FocusableOption {\n /** Set the Menu Item as disabled/enabled */\n @Input()\n disabled = false;\n\n /** Menu direction */\n @Input()\n cascadeDirection: 'right' | 'left' = 'right';\n\n /** Event emitted when item is selected. */\n @Output()\n itemSelect: EventEmitter<void> = new EventEmitter<void>();\n\n /** Sets whether this item is a trigger for sub-menu. */\n @HostBinding('class.trigger')\n isTrigger = false;\n\n /** @hidden */\n @ContentChild(MenuInteractiveComponent)\n _fdMenuInteractiveChild: MenuInteractiveComponent;\n\n /** Track when menu item is hovered over */\n hovered: Subject<MenuItemComponent> = new Subject<MenuItemComponent>();\n /** @hidden */\n _isSelected = false;\n /**\n * @hidden\n * set CSS class 'is-selected' if menu-item opens a sub-menu.\n */\n set isSelected(selected: boolean) {\n if (this._isSelected !== selected) {\n this._isSelected = selected;\n this._cdr.markForCheck();\n }\n }\n\n /** @hidden */\n get isSelected(): boolean {\n return this._isSelected;\n }\n\n /** @hidden */\n constructor(\n private _elementRef: ElementRef,\n private _cdr: ChangeDetectorRef\n ) {}\n\n /**\n * @hidden\n * Handle selection of item via keyboard 'Enter'\n */\n @HostListener('keydown', ['$event'])\n private _onItemKeydown(event: KeyboardEvent): void {\n if (event && KeyUtil.isKeyCode(event, [SPACE, ENTER]) && !this.disabled) {\n this.itemSelect.emit();\n } else if (this.disabled) {\n event.stopPropagation();\n }\n }\n\n /**\n * @hidden\n * Handle click of item via mouse click.\n */\n @HostListener('click', ['$event'])\n private _onItemClick(event: MouseEvent): void {\n if (!this.disabled) {\n this.itemSelect.emit();\n } else {\n event.stopPropagation();\n }\n }\n\n /**\n * @hidden\n * Handle mouse enter event.\n */\n @HostListener('mouseenter')\n private _onMouseEnter(): void {\n this.hovered.next(this);\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this.hovered.complete();\n }\n /** Focus on option */\n focus(): void {\n const interactive = this._elementRef.nativeElement?.firstElementChild as HTMLElement;\n interactive?.focus();\n }\n}\n","@if (!_fdMenuInteractiveChild) {\n <div\n class=\"fd-menu__link\"\n [class.is-disabled]=\"disabled\"\n [attr.disabled]=\"disabled\"\n [class.is-selected]=\"isSelected\"\n tabindex=\"0\"\n role=\"menuitem\"\n >\n <span class=\"fd-menu__title\">\n <ng-template [ngTemplateOutlet]=\"projectedContent\"></ng-template>\n </span>\n @if (isTrigger) {\n <span class=\"fd-menu__addon-after fd-menu__addon-after--submenu\"></span>\n }\n </div>\n} @else {\n <ng-template [ngTemplateOutlet]=\"projectedContent\"></ng-template>\n}\n<ng-template #projectedContent>\n <ng-content></ng-content>\n</ng-template>\n","import { FocusKeyManager, FocusOrigin } from '@angular/cdk/a11y';\nimport { ENTER, ESCAPE, LEFT_ARROW, RIGHT_ARROW, SPACE } from '@angular/cdk/keycodes';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n EventEmitter,\n Input,\n OnDestroy,\n Optional,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { Observable, Subscription, merge } from 'rxjs';\nimport { startWith, switchMap } from 'rxjs/operators';\n\nimport { KeyUtil, RtlService, warnOnce } from '@fundamental-ngx/cdk/utils';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { MenuItemComponent } from './menu-item.component';\n\nexport type MenuCloseMethod = void | 'mouse' | 'keyboard' | 'tab' | 'arrow';\n\n/**\n * Variables for generating menu IDs.\n * Needed for establishing 'aria-control' between trigger and menu.\n */\nconst MENU_ID_ROOT = 'fdp-menu-';\nlet menuIdCounter = 0;\n\n/**\n * @deprecated\n * Menu component is deprecated. Use `fd-menu` from `@fundamental-ngx/core/menu` instead.\n */\n@Component({\n selector: 'fdp-menu',\n templateUrl: './menu.component.html',\n styleUrl: './menu.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [contentDensityObserverProviders()],\n standalone: true\n})\nexport class MenuComponent implements AfterViewInit, AfterContentInit, OnDestroy {\n /** Menu ID */\n @Input()\n set id(id: string) {\n this._id = id;\n\n // Use 'id' property to create menu ID for aria-control purposes.\n this.menuId = MENU_ID_ROOT + id;\n }\n get id(): string {\n return this._id;\n }\n\n /**\n * Whether menu can be opened using arrow keys\n * @default true\n */\n @Input()\n openByArrowKeys = true;\n\n /**\n * Horizontal position of menu in relation to trigger element.\n */\n @Input()\n xPosition: 'before' | 'after' = 'after';\n\n /**\n * The templateRef needs to be available to the menu trigger for\n * opening in a CDK overlay.\n */\n @ViewChild('menuTemplate', { static: false })\n templateRef: TemplateRef<any>;\n\n /**\n * Child items of the menu.\n */\n @ContentChildren(MenuItemComponent)\n menuItems: QueryList<MenuItemComponent>;\n\n /**\n * Emitted event when menu closes\n */\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() close: EventEmitter<MenuCloseMethod> = new EventEmitter();\n\n /** Menu direction */\n direction: 'ltr' | 'rtl' = 'ltr';\n\n /** @hidden */\n menuId: string;\n\n /** @hidden */\n private _id: string;\n\n /** @hidden */\n private _keyManager: FocusKeyManager<MenuItemComponent>;\n\n /** @hidden */\n private _tabSubscription = Subscription.EMPTY;\n\n /** @hidden */\n private _dirChangeSubscription = Subscription.EMPTY;\n\n /** @hidden */\n constructor(\n @Optional() private _rtl: RtlService,\n readonly contentDensityObserver: ContentDensityObserver\n ) {\n if (this._rtl) {\n this._dirChangeSubscription = this._rtl.rtl.subscribe((value: boolean) => {\n this.direction = value ? 'rtl' : 'ltr';\n this._setMenuItemCascadeDirection();\n });\n }\n warnOnce(`MenuComponent is deprecated. Use 'fd-menu' from '@fundamental-ngx/core/menu' instead.`);\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n if (!this.menuId) {\n this.menuId = MENU_ID_ROOT + menuIdCounter++;\n }\n if (this.menuItems) {\n this._keyManager = new FocusKeyManager(this.menuItems);\n this._tabSubscription = this._keyManager.tabOut.subscribe(() => {\n this.close.emit('keyboard');\n });\n }\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._setMenuItemCascadeDirection();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this.close.complete();\n this._tabSubscription.unsubscribe();\n this._dirChangeSubscription.unsubscribe();\n this._keyManager?.destroy();\n }\n\n /**\n * Set focus on first item\n * @param origin FocusOrigin\n */\n focusOnFirstItem(origin: FocusOrigin = 'program'): void {\n this._keyManager.setFocusOrigin(origin).setFirstItemActive();\n }\n\n /**\n * Close menu\n * @param method menu close method\n */\n closeMenu(method: MenuCloseMethod): void {\n this.close.emit(method);\n }\n\n /**\n * @hidden\n * Menu keydown handler\n */\n _onKeydown(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, LEFT_ARROW)) {\n if (this._cascadesRight()) {\n this.close.emit('arrow');\n }\n } else if (KeyUtil.isKeyCode(event, RIGHT_ARROW)) {\n if (this._cascadesLeft()) {\n this.close.emit('arrow');\n }\n } else if (KeyUtil.isKeyCode(event, ESCAPE)) {\n this.close.emit('keyboard');\n } else if (KeyUtil.isKeyCode(event, [ENTER, SPACE])) {\n event.preventDefault();\n this.close.emit('keyboard');\n } else {\n this._keyManager.onKeydown(event);\n }\n }\n\n /**\n * @hidden\n * Menu click handler\n */\n _onClick(): void {\n this.close.emit('mouse');\n }\n\n /**\n * @hidden\n * Get stream of menu items hover change\n */\n _menuItemHoverChange(): Observable<MenuItemComponent> {\n const menuItems = this.menuItems.changes as Observable<QueryList<MenuItemComponent>>;\n return menuItems.pipe(\n startWith(this.menuItems),\n switchMap((items) => merge(...items.map((item: MenuItemComponent) => item.hovered)))\n ) as Observable<MenuItemComponent>;\n }\n\n /** @hidden */\n _setMenuItemCascadeDirection(): void {\n if (!this.menuItems) {\n return;\n }\n // set cascade direction\n this.menuItems.forEach((item) => {\n item.cascadeDirection = this._cascadesLeft() ? 'left' : 'right';\n });\n }\n\n /**\n * @hidden\n * Check if cascade menu should appear from right\n */\n _cascadesRight(): boolean {\n return (\n (this.xPosition === 'after' && this.direction === 'ltr') ||\n (this.xPosition === 'before' && this.direction === 'rtl')\n );\n }\n\n /**\n * @hidden\n * Check if cascade menu should appear from left\n */\n _cascadesLeft(): boolean {\n return (\n (this.xPosition === 'after' && this.direction === 'rtl') ||\n (this.xPosition === 'before' && this.direction === 'ltr')\n );\n }\n}\n","<ng-template #menuTemplate>\n <nav\n [attr.id]=\"menuId\"\n [attr.dir]=\"direction\"\n class=\"fd-menu\"\n [class.is-compact]=\"contentDensityObserver.isCompactSignal()\"\n tabindex=\"0\"\n role=\"menu\"\n (click)=\"_onClick()\"\n (keydown)=\"_onKeydown($event)\"\n >\n <div class=\"fd-menu__list\">\n <ng-content></ng-content>\n </div>\n </nav>\n</ng-template>\n","import { ENTER, LEFT_ARROW, RIGHT_ARROW, SPACE } from '@angular/cdk/keycodes';\nimport { ConnectedPosition, Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n AfterContentInit,\n Directive,\n ElementRef,\n HostListener,\n Input,\n OnDestroy,\n Optional,\n Self,\n ViewContainerRef,\n inject\n} from '@angular/core';\nimport { Subscription, fromEvent } from 'rxjs';\nimport { filter, take } from 'rxjs/operators';\n\nimport { KeyUtil } from '@fundamental-ngx/cdk/utils';\nimport { MenuButtonComponent } from '@fundamental-ngx/platform/menu-button';\nimport { MenuItemComponent } from './menu-item.component';\nimport { MenuCloseMethod, MenuComponent } from './menu.component';\n\n@Directive({\n selector: `[fdpMenuTriggerFor]`,\n host: {\n 'aria-haspopup': 'menu',\n '[attr.aria-expanded]': 'isMenuOpen || null',\n '[attr.aria-controls]': 'isMenuOpen ? menu.menuId : null'\n },\n standalone: true\n})\nexport class MenuTriggerDirective implements OnDestroy, AfterContentInit {\n /** Set Menu Component for which this trigger will be associated. */\n @Input('fdpMenuTriggerFor')\n set menu(menu: MenuComponent) {\n if (this._menu === menu) {\n return;\n }\n this._menu = menu;\n this._menuCloseSubscription.unsubscribe();\n }\n get menu(): MenuComponent {\n return this._menu;\n }\n\n /** Flag to determine if associated menu is open. */\n get isMenuOpen(): boolean {\n return this._isMenuOpen;\n }\n /** @hidden */\n private _menu: MenuComponent;\n /** @hidden */\n private _overlayRef: OverlayRef | null;\n /** @hidden */\n private _portal: TemplatePortal;\n /** @hidden */\n private _isMenuOpen = false;\n /** @hidden */\n private _outsideClickSubscription: Subscription = Subscription.EMPTY;\n /** @hidden */\n private _menuCloseSubscription: Subscription = Subscription.EMPTY;\n /** @hidden */\n private _parentMenuCloseSubscription: Subscription = Subscription.EMPTY;\n\n /** @hidden */\n private _menuItemHoverChangeSubscription: Subscription = Subscription.EMPTY;\n\n private _menuButton = inject(MenuButtonComponent, { host: true, optional: true });\n\n /** @hidden */\n constructor(\n private _element: ElementRef<HTMLElement>,\n private _overlay: Overlay,\n private _viewContainerRef: ViewContainerRef,\n @Optional() @Self() private _menuItem: MenuItemComponent,\n @Optional() private _parentMenu: MenuComponent\n ) {}\n\n /**\n * @hidden\n * Handle click on trigger element.\n */\n @HostListener('click', ['$event'])\n _onTriggerClick(event: MouseEvent): void {\n // Need to interupt default menu behavior of closing the menu\n if (this._isMenuItem()) {\n event.preventDefault();\n event.stopPropagation();\n }\n // filter out clicks initiated by keyboard enter.\n // For IE 11, MouseEvent fires a MSPointerEvent object instead of MouseEvent.\n if (event.detail > 0 || (event instanceof PointerEvent && event.detail === 0)) {\n this.toggleMenu();\n }\n }\n\n /**\n * @hidden\n * Handled keypress which focus is on trigger element.\n */\n @HostListener('keydown', ['$event'])\n _onTriggerKeydown(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, [SPACE, ENTER])) {\n if (KeyUtil.isKeyCode(event, [SPACE])) {\n event.preventDefault();\n }\n\n // Need to interupt default menu item behavior of closing the menu\n if (this._isMenuItem()) {\n event.preventDefault();\n event.stopPropagation();\n }\n if (this._menuItem) {\n this._menuItem.isSelected = true;\n }\n this.openMenu();\n } else if (KeyUtil.isKeyCode(event, [RIGHT_ARROW])) {\n if (this._menu._cascadesRight() && this._menu.openByArrowKeys) {\n if (this._menuItem) {\n this._menuItem.isSelected = true;\n }\n this.openMenu();\n }\n } else if (KeyUtil.isKeyCode(event, [LEFT_ARROW])) {\n if (this._menu._cascadesLeft() && this._menu.openByArrowKeys) {\n if (this._menuItem) {\n this._menuItem.isSelected = true;\n }\n this.openMenu();\n }\n }\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n if (this._isMenuItem()) {\n // mark menu item as trigger\n this._menuItem.isTrigger = true;\n\n // subscribe to changes of menu item hover state\n this._menuItemHoverChangeSubscription = this._parentMenu._menuItemHoverChange().subscribe((item) => {\n if (item === this._menuItem) {\n if (!this.isMenuOpen) {\n this._menuItem.isSelected = true;\n this.openMenu();\n }\n } else {\n this._menuItem.isSelected = false;\n this.closeMenu();\n }\n });\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n if (this._overlayRef) {\n this._overlayRef.dispose();\n this._overlayRef = null;\n }\n this._outsideClickSubscription.unsubscribe();\n this._menuCloseSubscription.unsubscribe();\n this._parentMenuCloseSubscription.unsubscribe();\n this._menuItemHoverChangeSubscription.unsubscribe();\n }\n\n /**\n * @hidden\n * Toggle display of associated menu.\n */\n toggleMenu(): void {\n /**\n * Need to add delay here to ensure that any \"closeMenu\" operation which\n * has been invoked within an \"outsideClickSubscription\" gets resolved\n * before \"openMenu\" is called. This can happen when there are multiple\n * triggers for the same menu.\n */\n setTimeout(() => {\n this._isMenuOpen ? this._destroyMenu() : this.openMenu();\n }, 0);\n }\n\n /**\n * @hidden\n * Open associated menu.\n */\n openMenu(): void {\n // create overlay\n const overlayConfig = this._getOverlayConfig();\n this._overlayRef = this._overlay.create(overlayConfig);\n\n // get portal and attach to overlay\n this._portal = new TemplatePortal(this._menu.templateRef, this._viewContainerRef);\n this._overlayRef.attach(this._portal);\n\n // add subscription to capture clicks outside menu\n if (this._outsideClickSubscription) {\n this._outsideClickSubscription.unsubscribe();\n }\n this._outsideClickSubscription = fromEvent<MouseEvent>(document, 'click')\n .pipe(\n filter((event) => {\n const target = event.target as HTMLElement;\n return (\n !this._element.nativeElement.contains(target) &&\n !!this._overlayRef &&\n !this._overlayRef.overlayElement.contains(target) &&\n this.isMenuOpen\n );\n }),\n take(1)\n )\n .subscribe(() => {\n this.closeMenu();\n });\n\n // add subscription to menu 'close' event\n if (this._menuCloseSubscription) {\n this._menuCloseSubscription.unsubscribe();\n }\n this._menuCloseSubscription = this._menu.close.subscribe((method: MenuCloseMethod) => {\n this._destroyMenu();\n // Need to close parent menu if closing of menu was done by terminating action\n if (this._parentMenu && (method === 'keyboard' || method === 'mouse')) {\n this._parentMenu.closeMenu(method);\n }\n });\n\n // add subscription to parent menu 'close' event\n if (this._parentMenu) {\n if (this._parentMenuCloseSubscription) {\n this._parentMenuCloseSubscription.unsubscribe();\n }\n this._parentMenuCloseSubscription = this._parentMenu.close.subscribe(() => {\n this.closeMenu();\n });\n }\n\n // set focus to menu\n this._menu.focusOnFirstItem();\n\n this._isMenuOpen = true;\n }\n\n /**\n * @hidden\n * Close associated menu.\n */\n closeMenu(): void {\n this._menu.closeMenu();\n }\n\n /**\n * @hidden\n * destroy associated menu.\n */\n private _destroyMenu(): void {\n if (this._menuItem) {\n this._menuItem.isSelected = false;\n }\n if (!this._overlayRef || !this._isMenuOpen) {\n return;\n }\n if (this._menuItem) {\n this._menuItem.focus();\n } else {\n this._element.nativeElement.focus();\n this._menuButton?._elementRef.nativeElement.children[0].focus();\n }\n this._overlayRef.detach();\n this._isMenuOpen = false;\n }\n\n /** @hidden */\n private _getOverlayConfig(): OverlayConfig {\n const positions = this._getPositions();\n const positionStrategy = this._overlay\n .position()\n .flexibleConnectedTo(this._element)\n .withLockedPosition()\n .withPositions(positions);\n\n const scrollStrategy = this._overlay.scrollStrategies.reposition();\n\n return new OverlayConfig({\n positionStrategy,\n scrollStrategy,\n backdropClass: 'cdk-overlay-transparent-backdrop'\n });\n }\n\n /** @hidden */\n private _getPositions(): ConnectedPosition[] {\n let positions: ConnectedPosition[];\n const offsetYPosition = 0;\n const offsetXPosition = 0;\n const subMenuXPadding = 4; // horizontal padding of 0.25rem(4px) is needed for sub-menu\n const subMenuYPadding = 4; // vertical padding of 0.25rem(4px) is needed for sub-menu\n\n if (this._isMenuItem()) {\n if (this._menu._cascadesLeft()) {\n positions = [\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'top',\n offsetX: subMenuXPadding,\n offsetY: subMenuYPadding\n },\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetX: subMenuXPadding,\n offsetY: -subMenuYPadding\n }\n ];\n } else {\n positions = [\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n offsetX: -subMenuXPadding,\n offsetY: subMenuYPadding\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetX: -subMenuXPadding,\n offsetY: -subMenuYPadding\n }\n ];\n }\n } else {\n if (this._menu._cascadesLeft()) {\n positions = [\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n offsetY: offsetYPosition,\n offsetX: offsetXPosition\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetY: -offsetYPosition,\n offsetX: offsetXPosition\n }\n ];\n } else {\n positions = [\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: offsetYPosition,\n offsetX: -offsetXPosition\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetY: -offsetYPosition,\n offsetX: -offsetXPosition\n }\n ];\n }\n }\n\n return positions;\n }\n\n /** @hidden */\n private _isMenuItem(): boolean {\n return !!(this._parentMenu && this._menuItem);\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\nimport { MenuItemComponent } from './menu-item.component';\nimport { MenuTriggerDirective } from './menu-trigger.directive';\nimport { MenuComponent } from './menu.component';\n\nconst components = [MenuComponent, MenuItemComponent, MenuTriggerDirective, ContentDensityModule];\n\n@NgModule({\n imports: [...components],\n exports: [...components]\n})\nexport class PlatformMenuModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.MenuItemComponent","i3.MenuComponent"],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-platform-menu.mjs","sources":["../../../../libs/platform/menu/menu-item.component.ts","../../../../libs/platform/menu/menu-item.component.html","../../../../libs/platform/menu/menu.component.ts","../../../../libs/platform/menu/menu.component.html","../../../../libs/platform/menu/menu-trigger.directive.ts","../../../../libs/platform/menu/menu.module.ts","../../../../libs/platform/menu/fundamental-ngx-platform-menu.ts"],"sourcesContent":["import { FocusableOption } from '@angular/cdk/a11y';\nimport { ENTER, SPACE } from '@angular/cdk/keycodes';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n Output,\n ViewEncapsulation\n} from '@angular/core';\nimport { Subject } from 'rxjs';\n\nimport { NgTemplateOutlet } from '@angular/common';\nimport { KeyUtil } from '@fundamental-ngx/cdk/utils';\nimport { MenuInteractiveComponent } from '@fundamental-ngx/core/menu';\n\n/**\n * @deprecated\n */\n@Component({\n selector: 'fdp-menu-item',\n templateUrl: './menu-item.component.html',\n styleUrl: './menu-item.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'fd-menu__item',\n tabindex: '-1'\n },\n imports: [NgTemplateOutlet]\n})\nexport class MenuItemComponent implements OnDestroy, FocusableOption {\n /** Set the Menu Item as disabled/enabled */\n @Input()\n disabled = false;\n\n /** Menu direction */\n @Input()\n cascadeDirection: 'right' | 'left' = 'right';\n\n /** Event emitted when item is selected. */\n @Output()\n itemSelect: EventEmitter<void> = new EventEmitter<void>();\n\n /** Sets whether this item is a trigger for sub-menu. */\n @HostBinding('class.trigger')\n isTrigger = false;\n\n /** @hidden */\n @ContentChild(MenuInteractiveComponent)\n _fdMenuInteractiveChild: MenuInteractiveComponent;\n\n /** Track when menu item is hovered over */\n hovered: Subject<MenuItemComponent> = new Subject<MenuItemComponent>();\n /** @hidden */\n _isSelected = false;\n /**\n * @hidden\n * set CSS class 'is-selected' if menu-item opens a sub-menu.\n */\n set isSelected(selected: boolean) {\n if (this._isSelected !== selected) {\n this._isSelected = selected;\n this._cdr.markForCheck();\n }\n }\n\n /** @hidden */\n get isSelected(): boolean {\n return this._isSelected;\n }\n\n /** @hidden */\n constructor(\n private _elementRef: ElementRef,\n private _cdr: ChangeDetectorRef\n ) {}\n\n /**\n * @hidden\n * Handle selection of item via keyboard 'Enter'\n */\n @HostListener('keydown', ['$event'])\n private _onItemKeydown(event: KeyboardEvent): void {\n if (event && KeyUtil.isKeyCode(event, [SPACE, ENTER]) && !this.disabled) {\n this.itemSelect.emit();\n } else if (this.disabled) {\n event.stopPropagation();\n }\n }\n\n /**\n * @hidden\n * Handle click of item via mouse click.\n */\n @HostListener('click', ['$event'])\n private _onItemClick(event: MouseEvent): void {\n if (!this.disabled) {\n this.itemSelect.emit();\n } else {\n event.stopPropagation();\n }\n }\n\n /**\n * @hidden\n * Handle mouse enter event.\n */\n @HostListener('mouseenter')\n private _onMouseEnter(): void {\n this.hovered.next(this);\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this.hovered.complete();\n }\n /** Focus on option */\n focus(): void {\n const interactive = this._elementRef.nativeElement?.firstElementChild as HTMLElement;\n interactive?.focus();\n }\n}\n","@if (!_fdMenuInteractiveChild) {\n <div\n class=\"fd-menu__link\"\n [class.is-disabled]=\"disabled\"\n [attr.disabled]=\"disabled\"\n [class.is-selected]=\"isSelected\"\n tabindex=\"0\"\n role=\"menuitem\"\n >\n <span class=\"fd-menu__title\">\n <ng-template [ngTemplateOutlet]=\"projectedContent\"></ng-template>\n </span>\n @if (isTrigger) {\n <span class=\"fd-menu__addon-after fd-menu__addon-after--submenu\"></span>\n }\n </div>\n} @else {\n <ng-template [ngTemplateOutlet]=\"projectedContent\"></ng-template>\n}\n<ng-template #projectedContent>\n <ng-content></ng-content>\n</ng-template>\n","import { FocusKeyManager, FocusOrigin } from '@angular/cdk/a11y';\nimport { ENTER, ESCAPE, LEFT_ARROW, RIGHT_ARROW, SPACE } from '@angular/cdk/keycodes';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n EventEmitter,\n Input,\n OnDestroy,\n Optional,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { Observable, Subscription, merge } from 'rxjs';\nimport { startWith, switchMap } from 'rxjs/operators';\n\nimport { KeyUtil, RtlService, warnOnce } from '@fundamental-ngx/cdk/utils';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { MenuItemComponent } from './menu-item.component';\n\nexport type MenuCloseMethod = void | 'mouse' | 'keyboard' | 'tab' | 'arrow';\n\n/**\n * Variables for generating menu IDs.\n * Needed for establishing 'aria-control' between trigger and menu.\n */\nconst MENU_ID_ROOT = 'fdp-menu-';\nlet menuIdCounter = 0;\n\n/**\n * @deprecated\n * Menu component is deprecated. Use `fd-menu` from `@fundamental-ngx/core/menu` instead.\n */\n@Component({\n selector: 'fdp-menu',\n templateUrl: './menu.component.html',\n styleUrl: './menu.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [contentDensityObserverProviders()],\n standalone: true\n})\nexport class MenuComponent implements AfterViewInit, AfterContentInit, OnDestroy {\n /** Menu ID */\n @Input()\n set id(id: string) {\n this._id = id;\n\n // Use 'id' property to create menu ID for aria-control purposes.\n this.menuId = MENU_ID_ROOT + id;\n }\n get id(): string {\n return this._id;\n }\n\n /**\n * Whether menu can be opened using arrow keys\n * @default true\n */\n @Input()\n openByArrowKeys = true;\n\n /**\n * Horizontal position of menu in relation to trigger element.\n */\n @Input()\n xPosition: 'before' | 'after' = 'after';\n\n /**\n * The templateRef needs to be available to the menu trigger for\n * opening in a CDK overlay.\n */\n @ViewChild('menuTemplate', { static: false })\n templateRef: TemplateRef<any>;\n\n /**\n * Child items of the menu.\n */\n @ContentChildren(MenuItemComponent)\n menuItems: QueryList<MenuItemComponent>;\n\n /**\n * Emitted event when menu closes\n */\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() close: EventEmitter<MenuCloseMethod> = new EventEmitter();\n\n /** Menu direction */\n direction: 'ltr' | 'rtl' = 'ltr';\n\n /** @hidden */\n menuId: string;\n\n /** @hidden */\n private _id: string;\n\n /** @hidden */\n private _keyManager: FocusKeyManager<MenuItemComponent>;\n\n /** @hidden */\n private _tabSubscription = Subscription.EMPTY;\n\n /** @hidden */\n private _dirChangeSubscription = Subscription.EMPTY;\n\n /** @hidden */\n constructor(\n @Optional() private _rtl: RtlService,\n readonly contentDensityObserver: ContentDensityObserver\n ) {\n if (this._rtl) {\n this._dirChangeSubscription = this._rtl.rtl.subscribe((value: boolean) => {\n this.direction = value ? 'rtl' : 'ltr';\n this._setMenuItemCascadeDirection();\n });\n }\n warnOnce(`MenuComponent is deprecated. Use 'fd-menu' from '@fundamental-ngx/core/menu' instead.`);\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n if (!this.menuId) {\n this.menuId = MENU_ID_ROOT + menuIdCounter++;\n }\n if (this.menuItems) {\n this._keyManager = new FocusKeyManager(this.menuItems);\n this._tabSubscription = this._keyManager.tabOut.subscribe(() => {\n this.close.emit('keyboard');\n });\n }\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._setMenuItemCascadeDirection();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this.close.complete();\n this._tabSubscription.unsubscribe();\n this._dirChangeSubscription.unsubscribe();\n this._keyManager?.destroy();\n }\n\n /**\n * Set focus on first item\n * @param origin FocusOrigin\n */\n focusOnFirstItem(origin: FocusOrigin = 'program'): void {\n this._keyManager.setFocusOrigin(origin).setFirstItemActive();\n }\n\n /**\n * Close menu\n * @param method menu close method\n */\n closeMenu(method: MenuCloseMethod): void {\n this.close.emit(method);\n }\n\n /**\n * @hidden\n * Menu keydown handler\n */\n _onKeydown(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, LEFT_ARROW)) {\n if (this._cascadesRight()) {\n this.close.emit('arrow');\n }\n } else if (KeyUtil.isKeyCode(event, RIGHT_ARROW)) {\n if (this._cascadesLeft()) {\n this.close.emit('arrow');\n }\n } else if (KeyUtil.isKeyCode(event, ESCAPE)) {\n this.close.emit('keyboard');\n } else if (KeyUtil.isKeyCode(event, [ENTER, SPACE])) {\n event.preventDefault();\n this.close.emit('keyboard');\n } else {\n this._keyManager.onKeydown(event);\n }\n }\n\n /**\n * @hidden\n * Menu click handler\n */\n _onClick(): void {\n this.close.emit('mouse');\n }\n\n /**\n * @hidden\n * Get stream of menu items hover change\n */\n _menuItemHoverChange(): Observable<MenuItemComponent> {\n const menuItems = this.menuItems.changes as Observable<QueryList<MenuItemComponent>>;\n return menuItems.pipe(\n startWith(this.menuItems),\n switchMap((items) => merge(...items.map((item: MenuItemComponent) => item.hovered)))\n ) as Observable<MenuItemComponent>;\n }\n\n /** @hidden */\n _setMenuItemCascadeDirection(): void {\n if (!this.menuItems) {\n return;\n }\n // set cascade direction\n this.menuItems.forEach((item) => {\n item.cascadeDirection = this._cascadesLeft() ? 'left' : 'right';\n });\n }\n\n /**\n * @hidden\n * Check if cascade menu should appear from right\n */\n _cascadesRight(): boolean {\n return (\n (this.xPosition === 'after' && this.direction === 'ltr') ||\n (this.xPosition === 'before' && this.direction === 'rtl')\n );\n }\n\n /**\n * @hidden\n * Check if cascade menu should appear from left\n */\n _cascadesLeft(): boolean {\n return (\n (this.xPosition === 'after' && this.direction === 'rtl') ||\n (this.xPosition === 'before' && this.direction === 'ltr')\n );\n }\n}\n","<ng-template #menuTemplate>\n <nav\n [attr.id]=\"menuId\"\n [attr.dir]=\"direction\"\n class=\"fd-menu\"\n [class.is-compact]=\"contentDensityObserver.isCompactSignal()\"\n tabindex=\"0\"\n role=\"menu\"\n (click)=\"_onClick()\"\n (keydown)=\"_onKeydown($event)\"\n >\n <div class=\"fd-menu__list\">\n <ng-content></ng-content>\n </div>\n </nav>\n</ng-template>\n","import { ENTER, LEFT_ARROW, RIGHT_ARROW, SPACE } from '@angular/cdk/keycodes';\nimport { ConnectedPosition, Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n AfterContentInit,\n Directive,\n ElementRef,\n HostListener,\n Input,\n OnDestroy,\n Optional,\n Self,\n ViewContainerRef,\n inject\n} from '@angular/core';\nimport { Subscription, fromEvent } from 'rxjs';\nimport { filter, take } from 'rxjs/operators';\n\nimport { KeyUtil } from '@fundamental-ngx/cdk/utils';\nimport { MenuButtonComponent } from '@fundamental-ngx/platform/menu-button';\nimport { MenuItemComponent } from './menu-item.component';\nimport { MenuCloseMethod, MenuComponent } from './menu.component';\n\n@Directive({\n selector: `[fdpMenuTriggerFor]`,\n host: {\n 'aria-haspopup': 'menu',\n '[attr.aria-expanded]': 'isMenuOpen || null',\n '[attr.aria-controls]': 'isMenuOpen ? menu.menuId : null'\n },\n standalone: true\n})\nexport class MenuTriggerDirective implements OnDestroy, AfterContentInit {\n /** Set Menu Component for which this trigger will be associated. */\n @Input('fdpMenuTriggerFor')\n set menu(menu: MenuComponent) {\n if (this._menu === menu) {\n return;\n }\n this._menu = menu;\n this._menuCloseSubscription.unsubscribe();\n }\n get menu(): MenuComponent {\n return this._menu;\n }\n\n /** Flag to determine if associated menu is open. */\n get isMenuOpen(): boolean {\n return this._isMenuOpen;\n }\n /** @hidden */\n private _menu: MenuComponent;\n /** @hidden */\n private _overlayRef: OverlayRef | null;\n /** @hidden */\n private _portal: TemplatePortal;\n /** @hidden */\n private _isMenuOpen = false;\n /** @hidden */\n private _outsideClickSubscription: Subscription = Subscription.EMPTY;\n /** @hidden */\n private _menuCloseSubscription: Subscription = Subscription.EMPTY;\n /** @hidden */\n private _parentMenuCloseSubscription: Subscription = Subscription.EMPTY;\n\n /** @hidden */\n private _menuItemHoverChangeSubscription: Subscription = Subscription.EMPTY;\n\n private _menuButton = inject(MenuButtonComponent, { host: true, optional: true });\n\n /** @hidden */\n constructor(\n private _element: ElementRef<HTMLElement>,\n private _overlay: Overlay,\n private _viewContainerRef: ViewContainerRef,\n @Optional() @Self() private _menuItem: MenuItemComponent,\n @Optional() private _parentMenu: MenuComponent\n ) {}\n\n /**\n * @hidden\n * Handle click on trigger element.\n */\n @HostListener('click', ['$event'])\n _onTriggerClick(event: MouseEvent): void {\n // Need to interupt default menu behavior of closing the menu\n if (this._isMenuItem()) {\n event.preventDefault();\n event.stopPropagation();\n }\n // filter out clicks initiated by keyboard enter.\n // For IE 11, MouseEvent fires a MSPointerEvent object instead of MouseEvent.\n if (event.detail > 0 || (event instanceof PointerEvent && event.detail === 0)) {\n this.toggleMenu();\n }\n }\n\n /**\n * @hidden\n * Handled keypress which focus is on trigger element.\n */\n @HostListener('keydown', ['$event'])\n _onTriggerKeydown(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, [SPACE, ENTER])) {\n if (KeyUtil.isKeyCode(event, [SPACE])) {\n event.preventDefault();\n }\n\n // Need to interupt default menu item behavior of closing the menu\n if (this._isMenuItem()) {\n event.preventDefault();\n event.stopPropagation();\n }\n if (this._menuItem) {\n this._menuItem.isSelected = true;\n }\n this.openMenu();\n } else if (KeyUtil.isKeyCode(event, [RIGHT_ARROW])) {\n if (this._menu._cascadesRight() && this._menu.openByArrowKeys) {\n if (this._menuItem) {\n this._menuItem.isSelected = true;\n }\n this.openMenu();\n }\n } else if (KeyUtil.isKeyCode(event, [LEFT_ARROW])) {\n if (this._menu._cascadesLeft() && this._menu.openByArrowKeys) {\n if (this._menuItem) {\n this._menuItem.isSelected = true;\n }\n this.openMenu();\n }\n }\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n if (this._isMenuItem()) {\n // mark menu item as trigger\n this._menuItem.isTrigger = true;\n\n // subscribe to changes of menu item hover state\n this._menuItemHoverChangeSubscription = this._parentMenu._menuItemHoverChange().subscribe((item) => {\n if (item === this._menuItem) {\n if (!this.isMenuOpen) {\n this._menuItem.isSelected = true;\n this.openMenu();\n }\n } else {\n this._menuItem.isSelected = false;\n this.closeMenu();\n }\n });\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n if (this._overlayRef) {\n this._overlayRef.dispose();\n this._overlayRef = null;\n }\n this._outsideClickSubscription.unsubscribe();\n this._menuCloseSubscription.unsubscribe();\n this._parentMenuCloseSubscription.unsubscribe();\n this._menuItemHoverChangeSubscription.unsubscribe();\n }\n\n /**\n * @hidden\n * Toggle display of associated menu.\n */\n toggleMenu(): void {\n /**\n * Need to add delay here to ensure that any \"closeMenu\" operation which\n * has been invoked within an \"outsideClickSubscription\" gets resolved\n * before \"openMenu\" is called. This can happen when there are multiple\n * triggers for the same menu.\n */\n setTimeout(() => {\n this._isMenuOpen ? this._destroyMenu() : this.openMenu();\n }, 0);\n }\n\n /**\n * @hidden\n * Open associated menu.\n */\n openMenu(): void {\n // create overlay\n const overlayConfig = this._getOverlayConfig();\n this._overlayRef = this._overlay.create(overlayConfig);\n\n // get portal and attach to overlay\n this._portal = new TemplatePortal(this._menu.templateRef, this._viewContainerRef);\n this._overlayRef.attach(this._portal);\n\n // add subscription to capture clicks outside menu\n if (this._outsideClickSubscription) {\n this._outsideClickSubscription.unsubscribe();\n }\n this._outsideClickSubscription = fromEvent<MouseEvent>(document, 'click')\n .pipe(\n filter((event) => {\n const target = event.target as HTMLElement;\n return (\n !this._element.nativeElement.contains(target) &&\n !!this._overlayRef &&\n !this._overlayRef.overlayElement.contains(target) &&\n this.isMenuOpen\n );\n }),\n take(1)\n )\n .subscribe(() => {\n this.closeMenu();\n });\n\n // add subscription to menu 'close' event\n if (this._menuCloseSubscription) {\n this._menuCloseSubscription.unsubscribe();\n }\n this._menuCloseSubscription = this._menu.close.subscribe((method: MenuCloseMethod) => {\n this._destroyMenu();\n // Need to close parent menu if closing of menu was done by terminating action\n if (this._parentMenu && (method === 'keyboard' || method === 'mouse')) {\n this._parentMenu.closeMenu(method);\n }\n });\n\n // add subscription to parent menu 'close' event\n if (this._parentMenu) {\n if (this._parentMenuCloseSubscription) {\n this._parentMenuCloseSubscription.unsubscribe();\n }\n this._parentMenuCloseSubscription = this._parentMenu.close.subscribe(() => {\n this.closeMenu();\n });\n }\n\n // set focus to menu\n this._menu.focusOnFirstItem();\n\n this._isMenuOpen = true;\n }\n\n /**\n * @hidden\n * Close associated menu.\n */\n closeMenu(): void {\n this._menu.closeMenu();\n }\n\n /**\n * @hidden\n * destroy associated menu.\n */\n private _destroyMenu(): void {\n if (this._menuItem) {\n this._menuItem.isSelected = false;\n }\n if (!this._overlayRef || !this._isMenuOpen) {\n return;\n }\n if (this._menuItem) {\n this._menuItem.focus();\n } else {\n this._element.nativeElement.focus();\n this._menuButton?._elementRef.nativeElement.children[0].focus();\n }\n this._overlayRef.detach();\n this._isMenuOpen = false;\n }\n\n /** @hidden */\n private _getOverlayConfig(): OverlayConfig {\n const positions = this._getPositions();\n const positionStrategy = this._overlay\n .position()\n .flexibleConnectedTo(this._element)\n .withLockedPosition()\n .withPositions(positions);\n\n const scrollStrategy = this._overlay.scrollStrategies.reposition();\n\n return new OverlayConfig({\n positionStrategy,\n scrollStrategy,\n backdropClass: 'cdk-overlay-transparent-backdrop'\n });\n }\n\n /** @hidden */\n private _getPositions(): ConnectedPosition[] {\n let positions: ConnectedPosition[];\n const offsetYPosition = 0;\n const offsetXPosition = 0;\n const subMenuXPadding = 4; // horizontal padding of 0.25rem(4px) is needed for sub-menu\n const subMenuYPadding = 4; // vertical padding of 0.25rem(4px) is needed for sub-menu\n\n if (this._isMenuItem()) {\n if (this._menu._cascadesLeft()) {\n positions = [\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'top',\n offsetX: subMenuXPadding,\n offsetY: subMenuYPadding\n },\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetX: subMenuXPadding,\n offsetY: -subMenuYPadding\n }\n ];\n } else {\n positions = [\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n offsetX: -subMenuXPadding,\n offsetY: subMenuYPadding\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetX: -subMenuXPadding,\n offsetY: -subMenuYPadding\n }\n ];\n }\n } else {\n if (this._menu._cascadesLeft()) {\n positions = [\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n offsetY: offsetYPosition,\n offsetX: offsetXPosition\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetY: -offsetYPosition,\n offsetX: offsetXPosition\n }\n ];\n } else {\n positions = [\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: offsetYPosition,\n offsetX: -offsetXPosition\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetY: -offsetYPosition,\n offsetX: -offsetXPosition\n }\n ];\n }\n }\n\n return positions;\n }\n\n /** @hidden */\n private _isMenuItem(): boolean {\n return !!(this._parentMenu && this._menuItem);\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\nimport { MenuItemComponent } from './menu-item.component';\nimport { MenuTriggerDirective } from './menu-trigger.directive';\nimport { MenuComponent } from './menu.component';\n\nconst components = [MenuComponent, MenuItemComponent, MenuTriggerDirective, ContentDensityModule];\n\n@NgModule({\n imports: [...components],\n exports: [...components]\n})\nexport class PlatformMenuModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.MenuItemComponent","i3.MenuComponent"],"mappings":"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"}
@@ -484,7 +484,7 @@ class MessageViewComponent {
484
484
  }
485
485
  }
486
486
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: MessageViewComponent, deps: [{ token: i0.DestroyRef }, { token: i1$1.TabbableElementService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component }); }
487
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.3", type: MessageViewComponent, isStandalone: true, selector: "fdp-message-view", inputs: { currentScreen: "currentScreen", filteredErrors: "filteredErrors", currentEntry: "currentEntry" }, outputs: { openDetails: "openDetails", focusItem: "focusItem", closePopover: "closePopover" }, host: { properties: { "class": "this._initialClass" } }, providers: [TabbableElementService], viewQueries: [{ propertyName: "_listView", first: true, predicate: ["listView"], descendants: true, read: ElementRef }, { propertyName: "_detailsView", first: true, predicate: ["detailsView"], descendants: true, read: ElementRef }], ngImport: i0, template: "<ng-template #headingTemplate let-item>\n <ng-template #directiveHeading>\n <ng-template\n [ngTemplateOutlet]=\"item.heading.message || item.description.message\"\n [ngTemplateOutletContext]=\"{ $implicit: item.heading.error }\"\n ></ng-template>\n </ng-template>\n <ng-template #i18nHeading>\n <ng-template\n [ngTemplateOutlet]=\"item.heading.message\"\n [ngTemplateOutletContext]=\"{ $implicit: item.errors }\"\n ></ng-template>\n </ng-template>\n <ng-template #stringHeading>\n {{ item.heading.message | fdTranslate: { error: item.heading.error } : item.heading.message }}\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"\n item.heading.type === 'directive'\n ? directiveHeading\n : item.heading.type === 'string'\n ? stringHeading\n : i18nHeading\n \"\n ></ng-template>\n</ng-template>\n<ng-template #descriptionTemplate let-item>\n <ng-template #directiveDescription>\n <ng-template\n [ngTemplateOutlet]=\"item.description.message!\"\n [ngTemplateOutletContext]=\"{ $implicit: item.description.error }\"\n ></ng-template>\n </ng-template>\n <ng-template #i18nDescription>\n <ng-template\n [ngTemplateOutlet]=\"item.description.message!\"\n [ngTemplateOutletContext]=\"{ $implicit: item.errors }\"\n ></ng-template>\n </ng-template>\n <ng-template #stringDescription>\n {{ item.description.message | fdTranslate: { error: item.description.error } : item.description.message }}\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"\n item.heading.type === 'directive'\n ? directiveDescription\n : item.heading.type === 'string'\n ? stringDescription\n : i18nDescription\n \"\n ></ng-template>\n</ng-template>\n<div class=\"fd-message-view\">\n <section\n class=\"fd-message-view__list\"\n tabindex=\"-1\"\n [@openCloseList]=\"currentScreen === 'list' ? 'open' : 'closed'\"\n (@openCloseList.done)=\"_onListAnimationComplete($event)\"\n fd-scrollbar\n >\n <ul #listView fd-list class=\"message-popover__list fd-list--message-view\" [navigationIndicator]=\"true\">\n @for (group of filteredErrors; track group) {\n @if (group.group) {\n <li fd-list-group-header>\n <span fd-list-title>{{ group.group }}</span>\n </li>\n }\n @for (item of group.errors; track item; let i = $index) {\n <li fd-list-item [tabindex]=\"i === 0 ? 0 : -1\" [byline]=\"true\" (click)=\"_showDetails(item)\">\n <ng-template #itemIcon>\n <span\n fd-object-status\n class=\"fd-list__icon\"\n [status]=\"item.state\"\n [glyph]=\"'message-' + item.type\"\n ></span>\n </ng-template>\n <ng-template #listSubtitle>\n <span class=\"fd-list__subtitle\">\n <ng-template\n [ngTemplateOutlet]=\"headingTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-template>\n </span>\n </ng-template>\n @if (item.element && !!item.description.message) {\n <span fd-list-link [navigationIndicator]=\"!!item.description.message\">\n <ng-template [ngTemplateOutlet]=\"itemIcon\"></ng-template>\n <span fd-list-content>\n <span fd-list-title>\n <a tabindex=\"0\" fd-link (click)=\"_focusElement($event, item)\">\n {{ item.fieldName }}\n </a>\n </span>\n <ng-template [ngTemplateOutlet]=\"listSubtitle\"></ng-template>\n </span>\n </span>\n } @else {\n <a fd-list-link [navigationIndicator]=\"!!item.description.message\">\n <ng-template [ngTemplateOutlet]=\"itemIcon\"></ng-template>\n <span fd-list-content>\n <span fd-list-title>{{ item.fieldName }}</span>\n <ng-template [ngTemplateOutlet]=\"listSubtitle\"></ng-template>\n </span>\n </a>\n }\n </li>\n }\n }\n </ul>\n </section>\n <section class=\"fd-message-view__details\" [@openCloseDetails]=\"currentScreen === 'details' ? 'open' : 'closed'\">\n <div #detailsView>\n @if (currentEntry) {\n <span class=\"fd-message-view__details-title\">\n <span\n fd-object-status\n class=\"fd-message-view__icon\"\n [status]=\"currentEntry.state\"\n [glyph]=\"'message-' + currentEntry.type\"\n ></span>\n <ng-template\n [ngTemplateOutlet]=\"headingTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: currentEntry }\"\n ></ng-template>\n </span>\n @if (currentEntry.description.message) {\n <span class=\"fd-message-view__details-description\">\n <ng-template\n [ngTemplateOutlet]=\"descriptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: currentEntry }\"\n ></ng-template>\n </span>\n }\n }\n </div>\n </section>\n</div>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: ScrollbarDirective, selector: "[fdScrollbar], [fd-scrollbar]", inputs: ["noHorizontalScroll", "noVerticalScroll", "alwaysVisible"] }, { kind: "ngmodule", type: ListModule }, { kind: "component", type: i2.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator", "role"], outputs: ["focusEscapeList"] }, { kind: "component", type: i2.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "noData", "action", "interactive", "growing", "counter", "unread", "byline", "ariaRole", "id", "preventClick"], outputs: ["keyDown"] }, { kind: "directive", type: i2.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i2.ListGroupHeaderDirective, selector: "[fdListGroupHeader], [fd-list-group-header]", inputs: ["nativeElementId"], outputs: ["keyDown"] }, { kind: "directive", type: i2.ListLinkDirective, selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated", "focusable"] }, { kind: "directive", type: i2.ListContentDirective, selector: "[fdListContent], [fd-list-content]", inputs: ["twoCol"] }, { kind: "component", type: ObjectStatusComponent, selector: "[fd-object-status]", inputs: ["class", "status", "glyph", "glyphFont", "label", "glyphAriaLabel", "indicationColor", "clickable", "inverted", "large", "secondaryIndication", "textTemplate"] }, { kind: "component", type: LinkComponent, selector: "[fdLink], [fd-link]", inputs: ["class", "emphasized", "disabled", "inverted", "subtle", "undecorated"] }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], animations: [
487
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.3", type: MessageViewComponent, isStandalone: true, selector: "fdp-message-view", inputs: { currentScreen: "currentScreen", filteredErrors: "filteredErrors", currentEntry: "currentEntry" }, outputs: { openDetails: "openDetails", focusItem: "focusItem", closePopover: "closePopover" }, host: { properties: { "class": "this._initialClass" } }, providers: [TabbableElementService], viewQueries: [{ propertyName: "_listView", first: true, predicate: ["listView"], descendants: true, read: ElementRef }, { propertyName: "_detailsView", first: true, predicate: ["detailsView"], descendants: true, read: ElementRef }], ngImport: i0, template: "<ng-template #headingTemplate let-item>\n <ng-template #directiveHeading>\n <ng-template\n [ngTemplateOutlet]=\"item.heading.message || item.description.message\"\n [ngTemplateOutletContext]=\"{ $implicit: item.heading.error }\"\n ></ng-template>\n </ng-template>\n <ng-template #i18nHeading>\n <ng-template\n [ngTemplateOutlet]=\"item.heading.message\"\n [ngTemplateOutletContext]=\"{ $implicit: item.errors }\"\n ></ng-template>\n </ng-template>\n <ng-template #stringHeading>\n {{ item.heading.message | fdTranslate: { error: item.heading.error } : item.heading.message }}\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"\n item.heading.type === 'directive'\n ? directiveHeading\n : item.heading.type === 'string'\n ? stringHeading\n : i18nHeading\n \"\n ></ng-template>\n</ng-template>\n<ng-template #descriptionTemplate let-item>\n <ng-template #directiveDescription>\n <ng-template\n [ngTemplateOutlet]=\"item.description.message!\"\n [ngTemplateOutletContext]=\"{ $implicit: item.description.error }\"\n ></ng-template>\n </ng-template>\n <ng-template #i18nDescription>\n <ng-template\n [ngTemplateOutlet]=\"item.description.message!\"\n [ngTemplateOutletContext]=\"{ $implicit: item.errors }\"\n ></ng-template>\n </ng-template>\n <ng-template #stringDescription>\n {{ item.description.message | fdTranslate: { error: item.description.error } : item.description.message }}\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"\n item.heading.type === 'directive'\n ? directiveDescription\n : item.heading.type === 'string'\n ? stringDescription\n : i18nDescription\n \"\n ></ng-template>\n</ng-template>\n<div class=\"fd-message-view\">\n <section\n class=\"fd-message-view__list\"\n tabindex=\"-1\"\n [@openCloseList]=\"currentScreen === 'list' ? 'open' : 'closed'\"\n (@openCloseList.done)=\"_onListAnimationComplete($event)\"\n fd-scrollbar\n >\n <ul #listView fd-list class=\"message-popover__list fd-list--message-view\" [navigationIndicator]=\"true\">\n @for (group of filteredErrors; track group) {\n @if (group.group) {\n <li fd-list-group-header>\n <span fd-list-title>{{ group.group }}</span>\n </li>\n }\n @for (item of group.errors; track item; let i = $index) {\n <li fd-list-item [tabindex]=\"i === 0 ? 0 : -1\" [byline]=\"true\" (click)=\"_showDetails(item)\">\n <ng-template #itemIcon>\n <span\n fd-object-status\n class=\"fd-list__icon\"\n [status]=\"item.state\"\n [glyph]=\"'message-' + item.type\"\n ></span>\n </ng-template>\n <ng-template #listSubtitle>\n <span class=\"fd-list__subtitle\">\n <ng-template\n [ngTemplateOutlet]=\"headingTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-template>\n </span>\n </ng-template>\n @if (item.element && !!item.description.message) {\n <span fd-list-link [navigationIndicator]=\"!!item.description.message\">\n <ng-template [ngTemplateOutlet]=\"itemIcon\"></ng-template>\n <span fd-list-content>\n <span fd-list-title>\n <a tabindex=\"0\" fd-link (click)=\"_focusElement($event, item)\">\n {{ item.fieldName }}\n </a>\n </span>\n <ng-template [ngTemplateOutlet]=\"listSubtitle\"></ng-template>\n </span>\n </span>\n } @else {\n <a fd-list-link [navigationIndicator]=\"!!item.description.message\">\n <ng-template [ngTemplateOutlet]=\"itemIcon\"></ng-template>\n <span fd-list-content>\n <span fd-list-title>{{ item.fieldName }}</span>\n <ng-template [ngTemplateOutlet]=\"listSubtitle\"></ng-template>\n </span>\n </a>\n }\n </li>\n }\n }\n </ul>\n </section>\n <section class=\"fd-message-view__details\" [@openCloseDetails]=\"currentScreen === 'details' ? 'open' : 'closed'\">\n <div #detailsView>\n @if (currentEntry) {\n <span class=\"fd-message-view__details-title\">\n <span\n fd-object-status\n class=\"fd-message-view__icon\"\n [status]=\"currentEntry.state\"\n [glyph]=\"'message-' + currentEntry.type\"\n ></span>\n <ng-template\n [ngTemplateOutlet]=\"headingTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: currentEntry }\"\n ></ng-template>\n </span>\n @if (currentEntry.description.message) {\n <span class=\"fd-message-view__details-description\">\n <ng-template\n [ngTemplateOutlet]=\"descriptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: currentEntry }\"\n ></ng-template>\n </span>\n }\n }\n </div>\n </section>\n</div>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: ScrollbarDirective, selector: "[fdScrollbar], [fd-scrollbar]", inputs: ["noHorizontalScroll", "noVerticalScroll", "alwaysVisible"] }, { kind: "ngmodule", type: ListModule }, { kind: "component", type: i2.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "subline", "unreadIndicator", "role", "settingsList", "settingsListFooter"], outputs: ["focusEscapeList"] }, { kind: "component", type: i2.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "noData", "action", "interactive", "growing", "counter", "active", "unread", "byline", "ariaRole", "id", "preventClick", "settingsListTpl"], outputs: ["keyDown"] }, { kind: "directive", type: i2.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i2.ListGroupHeaderDirective, selector: "[fdListGroupHeader], [fd-list-group-header]", inputs: ["nativeElementId"], outputs: ["keyDown"] }, { kind: "directive", type: i2.ListLinkDirective, selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated", "focusable"] }, { kind: "directive", type: i2.ListContentDirective, selector: "[fdListContent], [fd-list-content]", inputs: ["twoCol"] }, { kind: "component", type: ObjectStatusComponent, selector: "[fd-object-status]", inputs: ["class", "status", "glyph", "glyphFont", "label", "glyphAriaLabel", "indicationColor", "clickable", "inverted", "large", "secondaryIndication", "textTemplate"] }, { kind: "component", type: LinkComponent, selector: "[fdLink], [fd-link]", inputs: ["class", "emphasized", "disabled", "inverted", "subtle", "undecorated"] }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], animations: [
488
488
  trigger('openCloseList', [
489
489
  // ...
490
490
  state('open', style({
@@ -688,7 +688,7 @@ class MessagePopoverComponent {
688
688
  this._popover.close(focusLast);
689
689
  }
690
690
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: MessagePopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
691
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.3", type: MessagePopoverComponent, isStandalone: true, selector: "fdp-message-popover", inputs: { wrapper: "wrapper" }, outputs: { focusItem: "focusItem" }, viewQueries: [{ propertyName: "_popover", first: true, predicate: ["popover"], descendants: true }], ngImport: i0, template: "@if (_errorTypes$().length > 0) {\n <fd-popover\n #popover\n placement=\"top-start\"\n [focusTrapped]=\"true\"\n [focusAutoCapture]=\"true\"\n [disableScrollbar]=\"true\"\n >\n <fd-popover-control>\n <button\n fd-button\n type=\"button\"\n class=\"fd-message-popover__trigger fd-message-popover__trigger\"\n [ngClass]=\"'fd-message-popover__trigger--' + _priorityState$()\"\n [glyph]=\"'message-' + _priorityFormState$()\"\n [label]=\"_priorityStateItemsCount$().toString()\"\n ></button>\n </fd-popover-control>\n <div>\n <div fd-popover-body-header>\n <div fd-bar barDesign=\"header\" class=\"fd-bar--growing\">\n <div fd-bar-left>\n @if (currentScreen === 'list') {\n <fd-segmented-button\n [ngModel]=\"_currentErrorType$()\"\n (ngModelChange)=\"_currentErrorType$.set($event)\"\n >\n <button\n fd-button\n [label]=\"'platformMessagePopover.allErrors' | fdTranslate\"\n value=\"all\"\n ></button>\n @for (type of _errorTypes$(); track type) {\n <button fd-button [value]=\"type.group\">\n <span\n fd-object-status\n [status]=\"type.state\"\n [glyph]=\"'message-' + type.group\"\n ></span>\n <span class=\"fd-button__text\">{{ type.count }}</span>\n </button>\n }\n </fd-segmented-button>\n }\n @if (currentScreen === 'details') {\n <button\n fd-button\n fdkInitialFocus\n fdType=\"transparent\"\n glyph=\"navigation-left-arrow\"\n title=\"Go back\"\n (click)=\"_showList()\"\n ></button>\n }\n </div>\n <div fd-bar-right>\n <button fd-button fdType=\"transparent\" (click)=\"popover.close()\" glyph=\"decline\"></button>\n </div>\n </div>\n </div>\n <fdp-message-view\n [currentScreen]=\"currentScreen\"\n [filteredErrors]=\"_filteredErrors$()\"\n [currentEntry]=\"currentEntry\"\n (openDetails)=\"_showDetails($event)\"\n (closePopover)=\"_closePopover($event)\"\n (focusItem)=\"focusItem.emit($event)\"\n ></fdp-message-view>\n </div>\n </fd-popover>\n}\n", styles: [".fd-message-view{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;overflow:hidden;padding-block:0;padding-inline:0;position:relative}.fd-message-view:after,.fd-message-view:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-message-view__list{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;max-height:50vh;max-width:26rem;padding-block:0;padding-inline:0}.fd-message-view__list:after,.fd-message-view__list:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-message-view__list--hidden{opacity:0}.fd-message-view__details{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:none;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;inset:0;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-block:1rem;padding-inline:0;padding-inline:3.5rem 1rem;position:absolute}.fd-message-view__details:after,.fd-message-view__details:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-message-view__details-title{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapGroup_TitleTextColor);font-family:var(--sapFontFamily);font-family:var(--sapFontHeaderFamily);font-size:var(--sapFontSize);font-size:var(--sapFontHeader5Size);font-weight:400;font-weight:var(--sapFontHeaderWeight);forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-margin-after:1rem;display:block;margin-block-end:1rem;white-space:normal;-webkit-margin-start:0;margin-inline-start:0}.fd-message-view__details-title:after,.fd-message-view__details-title:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-message-view__details-title .fd-message-view__icon{font-size:1rem;margin-block:0;margin-inline:-2rem .5rem}.fd-message-view__details-description{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;line-height:1.4;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-margin-after:1rem;display:block;margin-block-end:1rem;white-space:normal}.fd-message-view__details-description:after,.fd-message-view__details-description:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-message-view__details--visible{display:block}.fd-message-popover__trigger{--fdButtonFocusColor:var(--sapContent_ContrastFocusColor);border-width:var(--fdMessagePopover_Trigger_Border_Width);text-shadow:var(--fdButtonTextShadow)}.fd-message-popover__trigger.fd-message-popover__trigger--critical{--fdButtonColor:var(--sapButton_Critical_TextColor);--fdButtonBackgroundColor:var(--sapButton_Critical_Background);--fdButtonBorderColor:var(--sapButton_Critical_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Critical_Regular_Text_Shadow)}.fd-message-popover__trigger.fd-message-popover__trigger--critical.is-focus,.fd-message-popover__trigger.fd-message-popover__trigger--critical:focus{z-index:5}.fd-message-popover__trigger.fd-message-popover__trigger--critical.is-focus:after,.fd-message-popover__trigger.fd-message-popover__trigger--critical:focus:after{border-color:var(--fdButtonFocusColor)}.fd-message-popover__trigger.fd-message-popover__trigger--critical.is-hover,.fd-message-popover__trigger.fd-message-popover__trigger--critical:hover{--fdButtonColor:var(--sapButton_Critical_Hover_TextColor);--fdButtonBackgroundColor:var(--sapButton_Critical_Hover_Background);--fdButtonBorderColor:var(--sapButton_Critical_Hover_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Critical_Hover_Text_Shadow)}.fd-message-popover__trigger.fd-message-popover__trigger--critical.is-active,.fd-message-popover__trigger.fd-message-popover__trigger--critical:active{--fdButtonColor:var(--sapButton_Critical_Active_TextColor);--fdButtonBackgroundColor:var(--sapButton_Critical_Active_Background);--fdButtonBorderColor:var(--sapButton_Critical_Active_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Critical_Active_Text_Shadow);--fdButtonFocusColor:var(--fdMessagePopover_Active_Focus_Outline_Color)}.fd-message-popover__trigger.fd-message-popover__trigger--critical.is-disabled,.fd-message-popover__trigger.fd-message-popover__trigger--critical:disabled,.fd-message-popover__trigger.fd-message-popover__trigger--critical[aria-disabled=true]{--fdButtonColor:var(--sapButton_Critical_TextColor);--fdButtonBackgroundColor:var(--sapButton_Critical_Background);--fdButtonBorderColor:var(--sapButton_Critical_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Critical_Regular_Text_Shadow);opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-message-popover__trigger.fd-message-popover__trigger--negative{--fdButtonColor:var(--sapButton_Negative_TextColor);--fdButtonBackgroundColor:var(--sapButton_Negative_Background);--fdButtonBorderColor:var(--sapButton_Negative_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Negative_Regular_Text_Shadow)}.fd-message-popover__trigger.fd-message-popover__trigger--negative.is-focus,.fd-message-popover__trigger.fd-message-popover__trigger--negative:focus{z-index:5}.fd-message-popover__trigger.fd-message-popover__trigger--negative.is-focus:after,.fd-message-popover__trigger.fd-message-popover__trigger--negative:focus:after{border-color:var(--fdButtonFocusColor)}.fd-message-popover__trigger.fd-message-popover__trigger--negative.is-hover,.fd-message-popover__trigger.fd-message-popover__trigger--negative:hover{--fdButtonColor:var(--sapButton_Negative_Hover_TextColor);--fdButtonBackgroundColor:var(--sapButton_Negative_Hover_Background);--fdButtonBorderColor:var(--sapButton_Negative_Hover_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Negative_Hover_Text_Shadow)}.fd-message-popover__trigger.fd-message-popover__trigger--negative.is-active,.fd-message-popover__trigger.fd-message-popover__trigger--negative:active{--fdButtonColor:var(--sapButton_Negative_Active_TextColor);--fdButtonBackgroundColor:var(--sapButton_Negative_Active_Background);--fdButtonBorderColor:var(--sapButton_Negative_Active_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Negative_Active_Text_Shadow);--fdButtonFocusColor:var(--fdMessagePopover_Active_Focus_Outline_Color)}.fd-message-popover__trigger.fd-message-popover__trigger--negative.is-disabled,.fd-message-popover__trigger.fd-message-popover__trigger--negative:disabled,.fd-message-popover__trigger.fd-message-popover__trigger--negative[aria-disabled=true]{--fdButtonColor:var(--sapButton_Negative_TextColor);--fdButtonBackgroundColor:var(--sapButton_Negative_Background);--fdButtonBorderColor:var(--sapButton_Negative_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Negative_Regular_Text_Shadow);opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-message-popover__trigger.fd-message-popover__trigger--success{--fdButtonColor:var(--sapButton_Success_TextColor);--fdButtonBackgroundColor:var(--sapButton_Success_Background);--fdButtonBorderColor:var(--sapButton_Success_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Success_Regular_Text_Shadow)}.fd-message-popover__trigger.fd-message-popover__trigger--success.is-focus,.fd-message-popover__trigger.fd-message-popover__trigger--success:focus{z-index:5}.fd-message-popover__trigger.fd-message-popover__trigger--success.is-focus:after,.fd-message-popover__trigger.fd-message-popover__trigger--success:focus:after{border-color:var(--fdButtonFocusColor)}.fd-message-popover__trigger.fd-message-popover__trigger--success.is-hover,.fd-message-popover__trigger.fd-message-popover__trigger--success:hover{--fdButtonColor:var(--sapButton_Success_Hover_TextColor);--fdButtonBackgroundColor:var(--sapButton_Success_Hover_Background);--fdButtonBorderColor:var(--sapButton_Success_Hover_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Success_Hover_Text_Shadow)}.fd-message-popover__trigger.fd-message-popover__trigger--success.is-active,.fd-message-popover__trigger.fd-message-popover__trigger--success:active{--fdButtonColor:var(--sapButton_Success_Active_TextColor);--fdButtonBackgroundColor:var(--sapButton_Success_Active_Background);--fdButtonBorderColor:var(--sapButton_Success_Active_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Success_Active_Text_Shadow);--fdButtonFocusColor:var(--fdMessagePopover_Active_Focus_Outline_Color)}.fd-message-popover__trigger.fd-message-popover__trigger--success.is-disabled,.fd-message-popover__trigger.fd-message-popover__trigger--success:disabled,.fd-message-popover__trigger.fd-message-popover__trigger--success[aria-disabled=true]{--fdButtonColor:var(--sapButton_Success_TextColor);--fdButtonBackgroundColor:var(--sapButton_Success_Background);--fdButtonBorderColor:var(--sapButton_Success_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Success_Regular_Text_Shadow);opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-message-popover__trigger.fd-message-popover__trigger--information{--fdButtonColor:var(--fdMessagePopover_Information_Regular_Color);--fdButtonBackgroundColor:var(--fdMessagePopover_Information_Regular_Background_Color);--fdButtonBorderColor:var(--fdMessagePopover_Information_Regular_Border_Color);--fdButtonTextShadow:var(--fdMessagePopover_Information_Regular_Text_Shadow);--fdButtonFocusColor:var(--fdMessagePopover_Information_Focus_Outline_Color)}.fd-message-popover__trigger.fd-message-popover__trigger--information.is-focus,.fd-message-popover__trigger.fd-message-popover__trigger--information:focus{z-index:5}.fd-message-popover__trigger.fd-message-popover__trigger--information.is-focus:after,.fd-message-popover__trigger.fd-message-popover__trigger--information:focus:after{border-color:var(--fdButtonFocusColor)}.fd-message-popover__trigger.fd-message-popover__trigger--information.is-hover,.fd-message-popover__trigger.fd-message-popover__trigger--information:hover{--fdButtonColor:var(--fdMessagePopover_Information_Hover_Color);--fdButtonBackgroundColor:var(--fdMessagePopover_Information_Hover_Background_Color);--fdButtonBorderColor:var(--fdMessagePopover_Information_Hover_Border_Color);--fdButtonTextShadow:var(--fdMessagePopover_Information_Hover_Text_Shadow)}.fd-message-popover__trigger.fd-message-popover__trigger--information.is-active,.fd-message-popover__trigger.fd-message-popover__trigger--information:active{--fdButtonColor:var(--fdMessagePopover_Information_Active_Color);--fdButtonBackgroundColor:var(--fdMessagePopover_Information_Active_Background_Color);--fdButtonBorderColor:var(--fdMessagePopover_Information_Active_Border_Color);--fdButtonTextShadow:var(--fdMessagePopover_Information_Active_Text_Shadow);--fdButtonFocusColor:var(--fdMessagePopover_Active_Focus_Outline_Color)}.fd-message-popover__trigger.fd-message-popover__trigger--information.is-disabled,.fd-message-popover__trigger.fd-message-popover__trigger--information:disabled,.fd-message-popover__trigger.fd-message-popover__trigger--information[aria-disabled=true]{--fdButtonColor:var(--fdMessagePopover_Information_Regular_Color);--fdButtonBackgroundColor:var(--fdMessagePopover_Information_Regular_Background_Color);--fdButtonBorderColor:var(--fdMessagePopover_Information_Regular_Border_Color);--fdButtonTextShadow:var(--fdMessagePopover_Information_Regular_Text_Shadow);opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-message-popover__view-container{border-bottom-left-radius:var(--fdPopover_Border_Radius);border-bottom-right-radius:var(--fdPopover_Border_Radius);overflow:hidden;display:block;max-height:40vh}.fd-message-popover__view-container .fd-message-view .fd-list__item:first-child{border-top-left-radius:0;border-top-right-radius:0}.fd-message-popover__view-container .fd-message-view .fd-list__item:first-child:before{border-top-left-radius:0;border-top-right-radius:0}.fd-message-popover__view-container .fd-message-view .fd-list__item:last-child{border-bottom-left-radius:0;border-bottom-right-radius:0}.fd-message-popover__view-container .fd-message-view .fd-list__item:last-child:before{border-bottom-left-radius:0;border-bottom-right-radius:0}.fd-message-view__list{min-width:20rem;min-height:10rem;max-height:40vh}.fd-message-view__list .fd-link{font-size:inherit}.fd-message-view__list .fd-list__link:active,.fd-message-view__list .fd-list__link.is-active{--sapLinkColor: var(--sapList_Active_TextColor);--sapLink_Active_Color: var(--sapList_Active_TextColor)}\n/*! Bundled license information:\n\nfundamental-styles/dist/message-popover.css:\n (*!\n * Fundamental Library Styles v0.38.0\n * Copyright (c) 2024 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: PopoverModule }, { kind: "component", type: i1$2.PopoverControlComponent, selector: "fd-popover-control, [fdPopoverControl]" }, { kind: "directive", type: i1$2.PopoverBodyHeaderDirective, selector: "[fdPopoverBodyHeader], [fd-popover-body-header]" }, { kind: "component", type: i1$2.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll"] }, { kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: BarModule }, { kind: "component", type: i2$1.BarComponent, selector: "[fd-bar]", inputs: ["class", "barDesign", "inPage", "inHomePage", "size"] }, { kind: "directive", type: i2$1.BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: i2$1.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "component", type: SegmentedButtonComponent, selector: "fd-segmented-button", inputs: ["toggle", "vertical"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ObjectStatusComponent, selector: "[fd-object-status]", inputs: ["class", "status", "glyph", "glyphFont", "label", "glyphAriaLabel", "indicationColor", "clickable", "inverted", "large", "secondaryIndication", "textTemplate"] }, { kind: "directive", type: InitialFocusDirective, selector: "[fdkInitialFocus]", inputs: ["fdkInitialFocus", "enabled", "focusLastElement"] }, { kind: "component", type: MessageViewComponent, selector: "fdp-message-view", inputs: ["currentScreen", "filteredErrors", "currentEntry"], outputs: ["openDetails", "focusItem", "closePopover"] }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
691
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.3", type: MessagePopoverComponent, isStandalone: true, selector: "fdp-message-popover", inputs: { wrapper: "wrapper" }, outputs: { focusItem: "focusItem" }, viewQueries: [{ propertyName: "_popover", first: true, predicate: ["popover"], descendants: true }], ngImport: i0, template: "@if (_errorTypes$().length > 0) {\n <fd-popover\n #popover\n placement=\"top-start\"\n [focusTrapped]=\"true\"\n [focusAutoCapture]=\"true\"\n [disableScrollbar]=\"true\"\n >\n <fd-popover-control>\n <button\n fd-button\n type=\"button\"\n class=\"fd-message-popover__trigger fd-message-popover__trigger\"\n [ngClass]=\"'fd-message-popover__trigger--' + _priorityState$()\"\n [glyph]=\"'message-' + _priorityFormState$()\"\n [label]=\"_priorityStateItemsCount$().toString()\"\n ></button>\n </fd-popover-control>\n <div>\n <div fd-popover-body-header>\n <div fd-bar barDesign=\"header\" class=\"fd-bar--growing\">\n <div fd-bar-left>\n @if (currentScreen === 'list') {\n <fd-segmented-button\n [ngModel]=\"_currentErrorType$()\"\n (ngModelChange)=\"_currentErrorType$.set($event)\"\n >\n <button\n fd-button\n [label]=\"'platformMessagePopover.allErrors' | fdTranslate\"\n value=\"all\"\n ></button>\n @for (type of _errorTypes$(); track type) {\n <button fd-button [value]=\"type.group\">\n <span\n fd-object-status\n [status]=\"type.state\"\n [glyph]=\"'message-' + type.group\"\n ></span>\n <span class=\"fd-button__text\">{{ type.count }}</span>\n </button>\n }\n </fd-segmented-button>\n }\n @if (currentScreen === 'details') {\n <button\n fd-button\n fdkInitialFocus\n fdType=\"transparent\"\n glyph=\"navigation-left-arrow\"\n title=\"Go back\"\n (click)=\"_showList()\"\n ></button>\n }\n </div>\n <div fd-bar-right>\n <button fd-button fdType=\"transparent\" (click)=\"popover.close()\" glyph=\"decline\"></button>\n </div>\n </div>\n </div>\n <fdp-message-view\n [currentScreen]=\"currentScreen\"\n [filteredErrors]=\"_filteredErrors$()\"\n [currentEntry]=\"currentEntry\"\n (openDetails)=\"_showDetails($event)\"\n (closePopover)=\"_closePopover($event)\"\n (focusItem)=\"focusItem.emit($event)\"\n ></fdp-message-view>\n </div>\n </fd-popover>\n}\n", styles: [".fd-message-view{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;overflow:hidden;padding-block:0;padding-inline:0;position:relative}.fd-message-view:after,.fd-message-view:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-message-view__list{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;max-height:50vh;max-width:26rem;padding-block:0;padding-inline:0}.fd-message-view__list:after,.fd-message-view__list:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-message-view__list--hidden{opacity:0}.fd-message-view__details{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:none;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;inset:0;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-block:1rem;padding-inline:0;padding-inline:3.5rem 1rem;position:absolute}.fd-message-view__details:after,.fd-message-view__details:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-message-view__details-title{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapGroup_TitleTextColor);font-family:var(--sapFontFamily);font-family:var(--sapFontHeaderFamily);font-size:var(--sapFontSize);font-size:var(--sapFontHeader5Size);font-weight:400;font-weight:var(--sapFontHeaderWeight);forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-margin-after:1rem;display:block;margin-block-end:1rem;white-space:normal;-webkit-margin-start:0;margin-inline-start:0}.fd-message-view__details-title:after,.fd-message-view__details-title:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-message-view__details-title .fd-message-view__icon{font-size:1rem;margin-block:0;margin-inline:-2rem .5rem}.fd-message-view__details-description{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;line-height:1.4;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-margin-after:1rem;display:block;margin-block-end:1rem;white-space:normal}.fd-message-view__details-description:after,.fd-message-view__details-description:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-message-view__details--visible{display:block}.fd-message-popover__trigger{--fdButtonFocusColor:var(--sapContent_ContrastFocusColor);border-width:var(--fdMessagePopover_Trigger_Border_Width);text-shadow:var(--fdButtonTextShadow)}.fd-message-popover__trigger.fd-message-popover__trigger--critical{--fdButtonColor:var(--sapButton_Critical_TextColor);--fdButtonBackgroundColor:var(--sapButton_Critical_Background);--fdButtonBorderColor:var(--sapButton_Critical_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Critical_Regular_Text_Shadow)}.fd-message-popover__trigger.fd-message-popover__trigger--critical.is-focus,.fd-message-popover__trigger.fd-message-popover__trigger--critical:focus{z-index:5}.fd-message-popover__trigger.fd-message-popover__trigger--critical.is-focus:after,.fd-message-popover__trigger.fd-message-popover__trigger--critical:focus:after{border-color:var(--fdButtonFocusColor)}.fd-message-popover__trigger.fd-message-popover__trigger--critical.is-hover,.fd-message-popover__trigger.fd-message-popover__trigger--critical:hover{--fdButtonColor:var(--sapButton_Critical_Hover_TextColor);--fdButtonBackgroundColor:var(--sapButton_Critical_Hover_Background);--fdButtonBorderColor:var(--sapButton_Critical_Hover_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Critical_Hover_Text_Shadow)}.fd-message-popover__trigger.fd-message-popover__trigger--critical.is-active,.fd-message-popover__trigger.fd-message-popover__trigger--critical:active{--fdButtonColor:var(--sapButton_Critical_Active_TextColor);--fdButtonBackgroundColor:var(--sapButton_Critical_Active_Background);--fdButtonBorderColor:var(--sapButton_Critical_Active_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Critical_Active_Text_Shadow);--fdButtonFocusColor:var(--fdMessagePopover_Active_Focus_Outline_Color)}.fd-message-popover__trigger.fd-message-popover__trigger--critical.is-disabled,.fd-message-popover__trigger.fd-message-popover__trigger--critical:disabled,.fd-message-popover__trigger.fd-message-popover__trigger--critical[aria-disabled=true]{--fdButtonColor:var(--sapButton_Critical_TextColor);--fdButtonBackgroundColor:var(--sapButton_Critical_Background);--fdButtonBorderColor:var(--sapButton_Critical_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Critical_Regular_Text_Shadow);opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-message-popover__trigger.fd-message-popover__trigger--negative{--fdButtonColor:var(--sapButton_Negative_TextColor);--fdButtonBackgroundColor:var(--sapButton_Negative_Background);--fdButtonBorderColor:var(--sapButton_Negative_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Negative_Regular_Text_Shadow)}.fd-message-popover__trigger.fd-message-popover__trigger--negative.is-focus,.fd-message-popover__trigger.fd-message-popover__trigger--negative:focus{z-index:5}.fd-message-popover__trigger.fd-message-popover__trigger--negative.is-focus:after,.fd-message-popover__trigger.fd-message-popover__trigger--negative:focus:after{border-color:var(--fdButtonFocusColor)}.fd-message-popover__trigger.fd-message-popover__trigger--negative.is-hover,.fd-message-popover__trigger.fd-message-popover__trigger--negative:hover{--fdButtonColor:var(--sapButton_Negative_Hover_TextColor);--fdButtonBackgroundColor:var(--sapButton_Negative_Hover_Background);--fdButtonBorderColor:var(--sapButton_Negative_Hover_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Negative_Hover_Text_Shadow)}.fd-message-popover__trigger.fd-message-popover__trigger--negative.is-active,.fd-message-popover__trigger.fd-message-popover__trigger--negative:active{--fdButtonColor:var(--sapButton_Negative_Active_TextColor);--fdButtonBackgroundColor:var(--sapButton_Negative_Active_Background);--fdButtonBorderColor:var(--sapButton_Negative_Active_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Negative_Active_Text_Shadow);--fdButtonFocusColor:var(--fdMessagePopover_Active_Focus_Outline_Color)}.fd-message-popover__trigger.fd-message-popover__trigger--negative.is-disabled,.fd-message-popover__trigger.fd-message-popover__trigger--negative:disabled,.fd-message-popover__trigger.fd-message-popover__trigger--negative[aria-disabled=true]{--fdButtonColor:var(--sapButton_Negative_TextColor);--fdButtonBackgroundColor:var(--sapButton_Negative_Background);--fdButtonBorderColor:var(--sapButton_Negative_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Negative_Regular_Text_Shadow);opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-message-popover__trigger.fd-message-popover__trigger--success{--fdButtonColor:var(--sapButton_Success_TextColor);--fdButtonBackgroundColor:var(--sapButton_Success_Background);--fdButtonBorderColor:var(--sapButton_Success_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Success_Regular_Text_Shadow)}.fd-message-popover__trigger.fd-message-popover__trigger--success.is-focus,.fd-message-popover__trigger.fd-message-popover__trigger--success:focus{z-index:5}.fd-message-popover__trigger.fd-message-popover__trigger--success.is-focus:after,.fd-message-popover__trigger.fd-message-popover__trigger--success:focus:after{border-color:var(--fdButtonFocusColor)}.fd-message-popover__trigger.fd-message-popover__trigger--success.is-hover,.fd-message-popover__trigger.fd-message-popover__trigger--success:hover{--fdButtonColor:var(--sapButton_Success_Hover_TextColor);--fdButtonBackgroundColor:var(--sapButton_Success_Hover_Background);--fdButtonBorderColor:var(--sapButton_Success_Hover_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Success_Hover_Text_Shadow)}.fd-message-popover__trigger.fd-message-popover__trigger--success.is-active,.fd-message-popover__trigger.fd-message-popover__trigger--success:active{--fdButtonColor:var(--sapButton_Success_Active_TextColor);--fdButtonBackgroundColor:var(--sapButton_Success_Active_Background);--fdButtonBorderColor:var(--sapButton_Success_Active_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Success_Active_Text_Shadow);--fdButtonFocusColor:var(--fdMessagePopover_Active_Focus_Outline_Color)}.fd-message-popover__trigger.fd-message-popover__trigger--success.is-disabled,.fd-message-popover__trigger.fd-message-popover__trigger--success:disabled,.fd-message-popover__trigger.fd-message-popover__trigger--success[aria-disabled=true]{--fdButtonColor:var(--sapButton_Success_TextColor);--fdButtonBackgroundColor:var(--sapButton_Success_Background);--fdButtonBorderColor:var(--sapButton_Success_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Success_Regular_Text_Shadow);opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-message-popover__trigger.fd-message-popover__trigger--information{--fdButtonColor:var(--fdMessagePopover_Information_Regular_Color);--fdButtonBackgroundColor:var(--fdMessagePopover_Information_Regular_Background_Color);--fdButtonBorderColor:var(--fdMessagePopover_Information_Regular_Border_Color);--fdButtonTextShadow:var(--fdMessagePopover_Information_Regular_Text_Shadow);--fdButtonFocusColor:var(--fdMessagePopover_Information_Focus_Outline_Color)}.fd-message-popover__trigger.fd-message-popover__trigger--information.is-focus,.fd-message-popover__trigger.fd-message-popover__trigger--information:focus{z-index:5}.fd-message-popover__trigger.fd-message-popover__trigger--information.is-focus:after,.fd-message-popover__trigger.fd-message-popover__trigger--information:focus:after{border-color:var(--fdButtonFocusColor)}.fd-message-popover__trigger.fd-message-popover__trigger--information.is-hover,.fd-message-popover__trigger.fd-message-popover__trigger--information:hover{--fdButtonColor:var(--fdMessagePopover_Information_Hover_Color);--fdButtonBackgroundColor:var(--fdMessagePopover_Information_Hover_Background_Color);--fdButtonBorderColor:var(--fdMessagePopover_Information_Hover_Border_Color);--fdButtonTextShadow:var(--fdMessagePopover_Information_Hover_Text_Shadow)}.fd-message-popover__trigger.fd-message-popover__trigger--information.is-active,.fd-message-popover__trigger.fd-message-popover__trigger--information:active{--fdButtonColor:var(--fdMessagePopover_Information_Active_Color);--fdButtonBackgroundColor:var(--fdMessagePopover_Information_Active_Background_Color);--fdButtonBorderColor:var(--fdMessagePopover_Information_Active_Border_Color);--fdButtonTextShadow:var(--fdMessagePopover_Information_Active_Text_Shadow);--fdButtonFocusColor:var(--fdMessagePopover_Active_Focus_Outline_Color)}.fd-message-popover__trigger.fd-message-popover__trigger--information.is-disabled,.fd-message-popover__trigger.fd-message-popover__trigger--information:disabled,.fd-message-popover__trigger.fd-message-popover__trigger--information[aria-disabled=true]{--fdButtonColor:var(--fdMessagePopover_Information_Regular_Color);--fdButtonBackgroundColor:var(--fdMessagePopover_Information_Regular_Background_Color);--fdButtonBorderColor:var(--fdMessagePopover_Information_Regular_Border_Color);--fdButtonTextShadow:var(--fdMessagePopover_Information_Regular_Text_Shadow);opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-message-popover__view-container{border-bottom-left-radius:var(--fdPopover_Border_Radius);border-bottom-right-radius:var(--fdPopover_Border_Radius);overflow:hidden;display:block;max-height:40vh}.fd-message-popover__view-container .fd-message-view .fd-list__item:first-child{border-top-left-radius:0;border-top-right-radius:0}.fd-message-popover__view-container .fd-message-view .fd-list__item:first-child:before{border-top-left-radius:0;border-top-right-radius:0}.fd-message-popover__view-container .fd-message-view .fd-list__item:last-child{border-bottom-left-radius:0;border-bottom-right-radius:0}.fd-message-popover__view-container .fd-message-view .fd-list__item:last-child:before{border-bottom-left-radius:0;border-bottom-right-radius:0}.fd-message-view__list{min-width:20rem;min-height:10rem;max-height:40vh}.fd-message-view__list .fd-link{font-size:inherit}.fd-message-view__list .fd-list__link:active,.fd-message-view__list .fd-list__link.is-active{--sapLinkColor: var(--sapList_Active_TextColor);--sapLink_Active_Color: var(--sapList_Active_TextColor)}\n/*! Bundled license information:\n\nfundamental-styles/dist/message-popover.css:\n (*!\n * Fundamental Library Styles v0.39.2\n * Copyright (c) 2025 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *)\n*/\n"], dependencies: [{ kind: "ngmodule", type: PopoverModule }, { kind: "component", type: i1$2.PopoverControlComponent, selector: "fd-popover-control, [fdPopoverControl]" }, { kind: "directive", type: i1$2.PopoverBodyHeaderDirective, selector: "[fdPopoverBodyHeader], [fd-popover-body-header]" }, { kind: "component", type: i1$2.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll"] }, { kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: BarModule }, { kind: "component", type: i2$1.BarComponent, selector: "[fd-bar]", inputs: ["class", "barDesign", "inPage", "inHomePage", "size"] }, { kind: "directive", type: i2$1.BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: i2$1.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "component", type: SegmentedButtonComponent, selector: "fd-segmented-button", inputs: ["toggle", "vertical"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ObjectStatusComponent, selector: "[fd-object-status]", inputs: ["class", "status", "glyph", "glyphFont", "label", "glyphAriaLabel", "indicationColor", "clickable", "inverted", "large", "secondaryIndication", "textTemplate"] }, { kind: "directive", type: InitialFocusDirective, selector: "[fdkInitialFocus]", inputs: ["fdkInitialFocus", "enabled", "focusLastElement"] }, { kind: "component", type: MessageViewComponent, selector: "fdp-message-view", inputs: ["currentScreen", "filteredErrors", "currentEntry"], outputs: ["openDetails", "focusItem", "closePopover"] }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
692
692
  }
693
693
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: MessagePopoverComponent, decorators: [{
694
694
  type: Component,
@@ -703,7 +703,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.3", ngImpor
703
703
  InitialFocusDirective,
704
704
  MessageViewComponent,
705
705
  FdTranslatePipe
706
- ], template: "@if (_errorTypes$().length > 0) {\n <fd-popover\n #popover\n placement=\"top-start\"\n [focusTrapped]=\"true\"\n [focusAutoCapture]=\"true\"\n [disableScrollbar]=\"true\"\n >\n <fd-popover-control>\n <button\n fd-button\n type=\"button\"\n class=\"fd-message-popover__trigger fd-message-popover__trigger\"\n [ngClass]=\"'fd-message-popover__trigger--' + _priorityState$()\"\n [glyph]=\"'message-' + _priorityFormState$()\"\n [label]=\"_priorityStateItemsCount$().toString()\"\n ></button>\n </fd-popover-control>\n <div>\n <div fd-popover-body-header>\n <div fd-bar barDesign=\"header\" class=\"fd-bar--growing\">\n <div fd-bar-left>\n @if (currentScreen === 'list') {\n <fd-segmented-button\n [ngModel]=\"_currentErrorType$()\"\n (ngModelChange)=\"_currentErrorType$.set($event)\"\n >\n <button\n fd-button\n [label]=\"'platformMessagePopover.allErrors' | fdTranslate\"\n value=\"all\"\n ></button>\n @for (type of _errorTypes$(); track type) {\n <button fd-button [value]=\"type.group\">\n <span\n fd-object-status\n [status]=\"type.state\"\n [glyph]=\"'message-' + type.group\"\n ></span>\n <span class=\"fd-button__text\">{{ type.count }}</span>\n </button>\n }\n </fd-segmented-button>\n }\n @if (currentScreen === 'details') {\n <button\n fd-button\n fdkInitialFocus\n fdType=\"transparent\"\n glyph=\"navigation-left-arrow\"\n title=\"Go back\"\n (click)=\"_showList()\"\n ></button>\n }\n </div>\n <div fd-bar-right>\n <button fd-button fdType=\"transparent\" (click)=\"popover.close()\" glyph=\"decline\"></button>\n </div>\n </div>\n </div>\n <fdp-message-view\n [currentScreen]=\"currentScreen\"\n [filteredErrors]=\"_filteredErrors$()\"\n [currentEntry]=\"currentEntry\"\n (openDetails)=\"_showDetails($event)\"\n (closePopover)=\"_closePopover($event)\"\n (focusItem)=\"focusItem.emit($event)\"\n ></fdp-message-view>\n </div>\n </fd-popover>\n}\n", styles: [".fd-message-view{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;overflow:hidden;padding-block:0;padding-inline:0;position:relative}.fd-message-view:after,.fd-message-view:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-message-view__list{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;max-height:50vh;max-width:26rem;padding-block:0;padding-inline:0}.fd-message-view__list:after,.fd-message-view__list:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-message-view__list--hidden{opacity:0}.fd-message-view__details{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:none;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;inset:0;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-block:1rem;padding-inline:0;padding-inline:3.5rem 1rem;position:absolute}.fd-message-view__details:after,.fd-message-view__details:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-message-view__details-title{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapGroup_TitleTextColor);font-family:var(--sapFontFamily);font-family:var(--sapFontHeaderFamily);font-size:var(--sapFontSize);font-size:var(--sapFontHeader5Size);font-weight:400;font-weight:var(--sapFontHeaderWeight);forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-margin-after:1rem;display:block;margin-block-end:1rem;white-space:normal;-webkit-margin-start:0;margin-inline-start:0}.fd-message-view__details-title:after,.fd-message-view__details-title:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-message-view__details-title .fd-message-view__icon{font-size:1rem;margin-block:0;margin-inline:-2rem .5rem}.fd-message-view__details-description{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;line-height:1.4;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-margin-after:1rem;display:block;margin-block-end:1rem;white-space:normal}.fd-message-view__details-description:after,.fd-message-view__details-description:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-message-view__details--visible{display:block}.fd-message-popover__trigger{--fdButtonFocusColor:var(--sapContent_ContrastFocusColor);border-width:var(--fdMessagePopover_Trigger_Border_Width);text-shadow:var(--fdButtonTextShadow)}.fd-message-popover__trigger.fd-message-popover__trigger--critical{--fdButtonColor:var(--sapButton_Critical_TextColor);--fdButtonBackgroundColor:var(--sapButton_Critical_Background);--fdButtonBorderColor:var(--sapButton_Critical_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Critical_Regular_Text_Shadow)}.fd-message-popover__trigger.fd-message-popover__trigger--critical.is-focus,.fd-message-popover__trigger.fd-message-popover__trigger--critical:focus{z-index:5}.fd-message-popover__trigger.fd-message-popover__trigger--critical.is-focus:after,.fd-message-popover__trigger.fd-message-popover__trigger--critical:focus:after{border-color:var(--fdButtonFocusColor)}.fd-message-popover__trigger.fd-message-popover__trigger--critical.is-hover,.fd-message-popover__trigger.fd-message-popover__trigger--critical:hover{--fdButtonColor:var(--sapButton_Critical_Hover_TextColor);--fdButtonBackgroundColor:var(--sapButton_Critical_Hover_Background);--fdButtonBorderColor:var(--sapButton_Critical_Hover_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Critical_Hover_Text_Shadow)}.fd-message-popover__trigger.fd-message-popover__trigger--critical.is-active,.fd-message-popover__trigger.fd-message-popover__trigger--critical:active{--fdButtonColor:var(--sapButton_Critical_Active_TextColor);--fdButtonBackgroundColor:var(--sapButton_Critical_Active_Background);--fdButtonBorderColor:var(--sapButton_Critical_Active_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Critical_Active_Text_Shadow);--fdButtonFocusColor:var(--fdMessagePopover_Active_Focus_Outline_Color)}.fd-message-popover__trigger.fd-message-popover__trigger--critical.is-disabled,.fd-message-popover__trigger.fd-message-popover__trigger--critical:disabled,.fd-message-popover__trigger.fd-message-popover__trigger--critical[aria-disabled=true]{--fdButtonColor:var(--sapButton_Critical_TextColor);--fdButtonBackgroundColor:var(--sapButton_Critical_Background);--fdButtonBorderColor:var(--sapButton_Critical_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Critical_Regular_Text_Shadow);opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-message-popover__trigger.fd-message-popover__trigger--negative{--fdButtonColor:var(--sapButton_Negative_TextColor);--fdButtonBackgroundColor:var(--sapButton_Negative_Background);--fdButtonBorderColor:var(--sapButton_Negative_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Negative_Regular_Text_Shadow)}.fd-message-popover__trigger.fd-message-popover__trigger--negative.is-focus,.fd-message-popover__trigger.fd-message-popover__trigger--negative:focus{z-index:5}.fd-message-popover__trigger.fd-message-popover__trigger--negative.is-focus:after,.fd-message-popover__trigger.fd-message-popover__trigger--negative:focus:after{border-color:var(--fdButtonFocusColor)}.fd-message-popover__trigger.fd-message-popover__trigger--negative.is-hover,.fd-message-popover__trigger.fd-message-popover__trigger--negative:hover{--fdButtonColor:var(--sapButton_Negative_Hover_TextColor);--fdButtonBackgroundColor:var(--sapButton_Negative_Hover_Background);--fdButtonBorderColor:var(--sapButton_Negative_Hover_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Negative_Hover_Text_Shadow)}.fd-message-popover__trigger.fd-message-popover__trigger--negative.is-active,.fd-message-popover__trigger.fd-message-popover__trigger--negative:active{--fdButtonColor:var(--sapButton_Negative_Active_TextColor);--fdButtonBackgroundColor:var(--sapButton_Negative_Active_Background);--fdButtonBorderColor:var(--sapButton_Negative_Active_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Negative_Active_Text_Shadow);--fdButtonFocusColor:var(--fdMessagePopover_Active_Focus_Outline_Color)}.fd-message-popover__trigger.fd-message-popover__trigger--negative.is-disabled,.fd-message-popover__trigger.fd-message-popover__trigger--negative:disabled,.fd-message-popover__trigger.fd-message-popover__trigger--negative[aria-disabled=true]{--fdButtonColor:var(--sapButton_Negative_TextColor);--fdButtonBackgroundColor:var(--sapButton_Negative_Background);--fdButtonBorderColor:var(--sapButton_Negative_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Negative_Regular_Text_Shadow);opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-message-popover__trigger.fd-message-popover__trigger--success{--fdButtonColor:var(--sapButton_Success_TextColor);--fdButtonBackgroundColor:var(--sapButton_Success_Background);--fdButtonBorderColor:var(--sapButton_Success_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Success_Regular_Text_Shadow)}.fd-message-popover__trigger.fd-message-popover__trigger--success.is-focus,.fd-message-popover__trigger.fd-message-popover__trigger--success:focus{z-index:5}.fd-message-popover__trigger.fd-message-popover__trigger--success.is-focus:after,.fd-message-popover__trigger.fd-message-popover__trigger--success:focus:after{border-color:var(--fdButtonFocusColor)}.fd-message-popover__trigger.fd-message-popover__trigger--success.is-hover,.fd-message-popover__trigger.fd-message-popover__trigger--success:hover{--fdButtonColor:var(--sapButton_Success_Hover_TextColor);--fdButtonBackgroundColor:var(--sapButton_Success_Hover_Background);--fdButtonBorderColor:var(--sapButton_Success_Hover_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Success_Hover_Text_Shadow)}.fd-message-popover__trigger.fd-message-popover__trigger--success.is-active,.fd-message-popover__trigger.fd-message-popover__trigger--success:active{--fdButtonColor:var(--sapButton_Success_Active_TextColor);--fdButtonBackgroundColor:var(--sapButton_Success_Active_Background);--fdButtonBorderColor:var(--sapButton_Success_Active_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Success_Active_Text_Shadow);--fdButtonFocusColor:var(--fdMessagePopover_Active_Focus_Outline_Color)}.fd-message-popover__trigger.fd-message-popover__trigger--success.is-disabled,.fd-message-popover__trigger.fd-message-popover__trigger--success:disabled,.fd-message-popover__trigger.fd-message-popover__trigger--success[aria-disabled=true]{--fdButtonColor:var(--sapButton_Success_TextColor);--fdButtonBackgroundColor:var(--sapButton_Success_Background);--fdButtonBorderColor:var(--sapButton_Success_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Success_Regular_Text_Shadow);opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-message-popover__trigger.fd-message-popover__trigger--information{--fdButtonColor:var(--fdMessagePopover_Information_Regular_Color);--fdButtonBackgroundColor:var(--fdMessagePopover_Information_Regular_Background_Color);--fdButtonBorderColor:var(--fdMessagePopover_Information_Regular_Border_Color);--fdButtonTextShadow:var(--fdMessagePopover_Information_Regular_Text_Shadow);--fdButtonFocusColor:var(--fdMessagePopover_Information_Focus_Outline_Color)}.fd-message-popover__trigger.fd-message-popover__trigger--information.is-focus,.fd-message-popover__trigger.fd-message-popover__trigger--information:focus{z-index:5}.fd-message-popover__trigger.fd-message-popover__trigger--information.is-focus:after,.fd-message-popover__trigger.fd-message-popover__trigger--information:focus:after{border-color:var(--fdButtonFocusColor)}.fd-message-popover__trigger.fd-message-popover__trigger--information.is-hover,.fd-message-popover__trigger.fd-message-popover__trigger--information:hover{--fdButtonColor:var(--fdMessagePopover_Information_Hover_Color);--fdButtonBackgroundColor:var(--fdMessagePopover_Information_Hover_Background_Color);--fdButtonBorderColor:var(--fdMessagePopover_Information_Hover_Border_Color);--fdButtonTextShadow:var(--fdMessagePopover_Information_Hover_Text_Shadow)}.fd-message-popover__trigger.fd-message-popover__trigger--information.is-active,.fd-message-popover__trigger.fd-message-popover__trigger--information:active{--fdButtonColor:var(--fdMessagePopover_Information_Active_Color);--fdButtonBackgroundColor:var(--fdMessagePopover_Information_Active_Background_Color);--fdButtonBorderColor:var(--fdMessagePopover_Information_Active_Border_Color);--fdButtonTextShadow:var(--fdMessagePopover_Information_Active_Text_Shadow);--fdButtonFocusColor:var(--fdMessagePopover_Active_Focus_Outline_Color)}.fd-message-popover__trigger.fd-message-popover__trigger--information.is-disabled,.fd-message-popover__trigger.fd-message-popover__trigger--information:disabled,.fd-message-popover__trigger.fd-message-popover__trigger--information[aria-disabled=true]{--fdButtonColor:var(--fdMessagePopover_Information_Regular_Color);--fdButtonBackgroundColor:var(--fdMessagePopover_Information_Regular_Background_Color);--fdButtonBorderColor:var(--fdMessagePopover_Information_Regular_Border_Color);--fdButtonTextShadow:var(--fdMessagePopover_Information_Regular_Text_Shadow);opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-message-popover__view-container{border-bottom-left-radius:var(--fdPopover_Border_Radius);border-bottom-right-radius:var(--fdPopover_Border_Radius);overflow:hidden;display:block;max-height:40vh}.fd-message-popover__view-container .fd-message-view .fd-list__item:first-child{border-top-left-radius:0;border-top-right-radius:0}.fd-message-popover__view-container .fd-message-view .fd-list__item:first-child:before{border-top-left-radius:0;border-top-right-radius:0}.fd-message-popover__view-container .fd-message-view .fd-list__item:last-child{border-bottom-left-radius:0;border-bottom-right-radius:0}.fd-message-popover__view-container .fd-message-view .fd-list__item:last-child:before{border-bottom-left-radius:0;border-bottom-right-radius:0}.fd-message-view__list{min-width:20rem;min-height:10rem;max-height:40vh}.fd-message-view__list .fd-link{font-size:inherit}.fd-message-view__list .fd-list__link:active,.fd-message-view__list .fd-list__link.is-active{--sapLinkColor: var(--sapList_Active_TextColor);--sapLink_Active_Color: var(--sapList_Active_TextColor)}\n/*! Bundled license information:\n\nfundamental-styles/dist/message-popover.css:\n (*!\n * Fundamental Library Styles v0.38.0\n * Copyright (c) 2024 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"] }]
706
+ ], template: "@if (_errorTypes$().length > 0) {\n <fd-popover\n #popover\n placement=\"top-start\"\n [focusTrapped]=\"true\"\n [focusAutoCapture]=\"true\"\n [disableScrollbar]=\"true\"\n >\n <fd-popover-control>\n <button\n fd-button\n type=\"button\"\n class=\"fd-message-popover__trigger fd-message-popover__trigger\"\n [ngClass]=\"'fd-message-popover__trigger--' + _priorityState$()\"\n [glyph]=\"'message-' + _priorityFormState$()\"\n [label]=\"_priorityStateItemsCount$().toString()\"\n ></button>\n </fd-popover-control>\n <div>\n <div fd-popover-body-header>\n <div fd-bar barDesign=\"header\" class=\"fd-bar--growing\">\n <div fd-bar-left>\n @if (currentScreen === 'list') {\n <fd-segmented-button\n [ngModel]=\"_currentErrorType$()\"\n (ngModelChange)=\"_currentErrorType$.set($event)\"\n >\n <button\n fd-button\n [label]=\"'platformMessagePopover.allErrors' | fdTranslate\"\n value=\"all\"\n ></button>\n @for (type of _errorTypes$(); track type) {\n <button fd-button [value]=\"type.group\">\n <span\n fd-object-status\n [status]=\"type.state\"\n [glyph]=\"'message-' + type.group\"\n ></span>\n <span class=\"fd-button__text\">{{ type.count }}</span>\n </button>\n }\n </fd-segmented-button>\n }\n @if (currentScreen === 'details') {\n <button\n fd-button\n fdkInitialFocus\n fdType=\"transparent\"\n glyph=\"navigation-left-arrow\"\n title=\"Go back\"\n (click)=\"_showList()\"\n ></button>\n }\n </div>\n <div fd-bar-right>\n <button fd-button fdType=\"transparent\" (click)=\"popover.close()\" glyph=\"decline\"></button>\n </div>\n </div>\n </div>\n <fdp-message-view\n [currentScreen]=\"currentScreen\"\n [filteredErrors]=\"_filteredErrors$()\"\n [currentEntry]=\"currentEntry\"\n (openDetails)=\"_showDetails($event)\"\n (closePopover)=\"_closePopover($event)\"\n (focusItem)=\"focusItem.emit($event)\"\n ></fdp-message-view>\n </div>\n </fd-popover>\n}\n", styles: [".fd-message-view{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;overflow:hidden;padding-block:0;padding-inline:0;position:relative}.fd-message-view:after,.fd-message-view:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-message-view__list{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;max-height:50vh;max-width:26rem;padding-block:0;padding-inline:0}.fd-message-view__list:after,.fd-message-view__list:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-message-view__list--hidden{opacity:0}.fd-message-view__details{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:none;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;inset:0;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-block:1rem;padding-inline:0;padding-inline:3.5rem 1rem;position:absolute}.fd-message-view__details:after,.fd-message-view__details:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-message-view__details-title{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapGroup_TitleTextColor);font-family:var(--sapFontFamily);font-family:var(--sapFontHeaderFamily);font-size:var(--sapFontSize);font-size:var(--sapFontHeader5Size);font-weight:400;font-weight:var(--sapFontHeaderWeight);forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-margin-after:1rem;display:block;margin-block-end:1rem;white-space:normal;-webkit-margin-start:0;margin-inline-start:0}.fd-message-view__details-title:after,.fd-message-view__details-title:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-message-view__details-title .fd-message-view__icon{font-size:1rem;margin-block:0;margin-inline:-2rem .5rem}.fd-message-view__details-description{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;line-height:1.4;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-margin-after:1rem;display:block;margin-block-end:1rem;white-space:normal}.fd-message-view__details-description:after,.fd-message-view__details-description:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-message-view__details--visible{display:block}.fd-message-popover__trigger{--fdButtonFocusColor:var(--sapContent_ContrastFocusColor);border-width:var(--fdMessagePopover_Trigger_Border_Width);text-shadow:var(--fdButtonTextShadow)}.fd-message-popover__trigger.fd-message-popover__trigger--critical{--fdButtonColor:var(--sapButton_Critical_TextColor);--fdButtonBackgroundColor:var(--sapButton_Critical_Background);--fdButtonBorderColor:var(--sapButton_Critical_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Critical_Regular_Text_Shadow)}.fd-message-popover__trigger.fd-message-popover__trigger--critical.is-focus,.fd-message-popover__trigger.fd-message-popover__trigger--critical:focus{z-index:5}.fd-message-popover__trigger.fd-message-popover__trigger--critical.is-focus:after,.fd-message-popover__trigger.fd-message-popover__trigger--critical:focus:after{border-color:var(--fdButtonFocusColor)}.fd-message-popover__trigger.fd-message-popover__trigger--critical.is-hover,.fd-message-popover__trigger.fd-message-popover__trigger--critical:hover{--fdButtonColor:var(--sapButton_Critical_Hover_TextColor);--fdButtonBackgroundColor:var(--sapButton_Critical_Hover_Background);--fdButtonBorderColor:var(--sapButton_Critical_Hover_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Critical_Hover_Text_Shadow)}.fd-message-popover__trigger.fd-message-popover__trigger--critical.is-active,.fd-message-popover__trigger.fd-message-popover__trigger--critical:active{--fdButtonColor:var(--sapButton_Critical_Active_TextColor);--fdButtonBackgroundColor:var(--sapButton_Critical_Active_Background);--fdButtonBorderColor:var(--sapButton_Critical_Active_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Critical_Active_Text_Shadow);--fdButtonFocusColor:var(--fdMessagePopover_Active_Focus_Outline_Color)}.fd-message-popover__trigger.fd-message-popover__trigger--critical.is-disabled,.fd-message-popover__trigger.fd-message-popover__trigger--critical:disabled,.fd-message-popover__trigger.fd-message-popover__trigger--critical[aria-disabled=true]{--fdButtonColor:var(--sapButton_Critical_TextColor);--fdButtonBackgroundColor:var(--sapButton_Critical_Background);--fdButtonBorderColor:var(--sapButton_Critical_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Critical_Regular_Text_Shadow);opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-message-popover__trigger.fd-message-popover__trigger--negative{--fdButtonColor:var(--sapButton_Negative_TextColor);--fdButtonBackgroundColor:var(--sapButton_Negative_Background);--fdButtonBorderColor:var(--sapButton_Negative_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Negative_Regular_Text_Shadow)}.fd-message-popover__trigger.fd-message-popover__trigger--negative.is-focus,.fd-message-popover__trigger.fd-message-popover__trigger--negative:focus{z-index:5}.fd-message-popover__trigger.fd-message-popover__trigger--negative.is-focus:after,.fd-message-popover__trigger.fd-message-popover__trigger--negative:focus:after{border-color:var(--fdButtonFocusColor)}.fd-message-popover__trigger.fd-message-popover__trigger--negative.is-hover,.fd-message-popover__trigger.fd-message-popover__trigger--negative:hover{--fdButtonColor:var(--sapButton_Negative_Hover_TextColor);--fdButtonBackgroundColor:var(--sapButton_Negative_Hover_Background);--fdButtonBorderColor:var(--sapButton_Negative_Hover_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Negative_Hover_Text_Shadow)}.fd-message-popover__trigger.fd-message-popover__trigger--negative.is-active,.fd-message-popover__trigger.fd-message-popover__trigger--negative:active{--fdButtonColor:var(--sapButton_Negative_Active_TextColor);--fdButtonBackgroundColor:var(--sapButton_Negative_Active_Background);--fdButtonBorderColor:var(--sapButton_Negative_Active_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Negative_Active_Text_Shadow);--fdButtonFocusColor:var(--fdMessagePopover_Active_Focus_Outline_Color)}.fd-message-popover__trigger.fd-message-popover__trigger--negative.is-disabled,.fd-message-popover__trigger.fd-message-popover__trigger--negative:disabled,.fd-message-popover__trigger.fd-message-popover__trigger--negative[aria-disabled=true]{--fdButtonColor:var(--sapButton_Negative_TextColor);--fdButtonBackgroundColor:var(--sapButton_Negative_Background);--fdButtonBorderColor:var(--sapButton_Negative_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Negative_Regular_Text_Shadow);opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-message-popover__trigger.fd-message-popover__trigger--success{--fdButtonColor:var(--sapButton_Success_TextColor);--fdButtonBackgroundColor:var(--sapButton_Success_Background);--fdButtonBorderColor:var(--sapButton_Success_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Success_Regular_Text_Shadow)}.fd-message-popover__trigger.fd-message-popover__trigger--success.is-focus,.fd-message-popover__trigger.fd-message-popover__trigger--success:focus{z-index:5}.fd-message-popover__trigger.fd-message-popover__trigger--success.is-focus:after,.fd-message-popover__trigger.fd-message-popover__trigger--success:focus:after{border-color:var(--fdButtonFocusColor)}.fd-message-popover__trigger.fd-message-popover__trigger--success.is-hover,.fd-message-popover__trigger.fd-message-popover__trigger--success:hover{--fdButtonColor:var(--sapButton_Success_Hover_TextColor);--fdButtonBackgroundColor:var(--sapButton_Success_Hover_Background);--fdButtonBorderColor:var(--sapButton_Success_Hover_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Success_Hover_Text_Shadow)}.fd-message-popover__trigger.fd-message-popover__trigger--success.is-active,.fd-message-popover__trigger.fd-message-popover__trigger--success:active{--fdButtonColor:var(--sapButton_Success_Active_TextColor);--fdButtonBackgroundColor:var(--sapButton_Success_Active_Background);--fdButtonBorderColor:var(--sapButton_Success_Active_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Success_Active_Text_Shadow);--fdButtonFocusColor:var(--fdMessagePopover_Active_Focus_Outline_Color)}.fd-message-popover__trigger.fd-message-popover__trigger--success.is-disabled,.fd-message-popover__trigger.fd-message-popover__trigger--success:disabled,.fd-message-popover__trigger.fd-message-popover__trigger--success[aria-disabled=true]{--fdButtonColor:var(--sapButton_Success_TextColor);--fdButtonBackgroundColor:var(--sapButton_Success_Background);--fdButtonBorderColor:var(--sapButton_Success_BorderColor);--fdButtonTextShadow:var(--fdMessagePopover_Success_Regular_Text_Shadow);opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-message-popover__trigger.fd-message-popover__trigger--information{--fdButtonColor:var(--fdMessagePopover_Information_Regular_Color);--fdButtonBackgroundColor:var(--fdMessagePopover_Information_Regular_Background_Color);--fdButtonBorderColor:var(--fdMessagePopover_Information_Regular_Border_Color);--fdButtonTextShadow:var(--fdMessagePopover_Information_Regular_Text_Shadow);--fdButtonFocusColor:var(--fdMessagePopover_Information_Focus_Outline_Color)}.fd-message-popover__trigger.fd-message-popover__trigger--information.is-focus,.fd-message-popover__trigger.fd-message-popover__trigger--information:focus{z-index:5}.fd-message-popover__trigger.fd-message-popover__trigger--information.is-focus:after,.fd-message-popover__trigger.fd-message-popover__trigger--information:focus:after{border-color:var(--fdButtonFocusColor)}.fd-message-popover__trigger.fd-message-popover__trigger--information.is-hover,.fd-message-popover__trigger.fd-message-popover__trigger--information:hover{--fdButtonColor:var(--fdMessagePopover_Information_Hover_Color);--fdButtonBackgroundColor:var(--fdMessagePopover_Information_Hover_Background_Color);--fdButtonBorderColor:var(--fdMessagePopover_Information_Hover_Border_Color);--fdButtonTextShadow:var(--fdMessagePopover_Information_Hover_Text_Shadow)}.fd-message-popover__trigger.fd-message-popover__trigger--information.is-active,.fd-message-popover__trigger.fd-message-popover__trigger--information:active{--fdButtonColor:var(--fdMessagePopover_Information_Active_Color);--fdButtonBackgroundColor:var(--fdMessagePopover_Information_Active_Background_Color);--fdButtonBorderColor:var(--fdMessagePopover_Information_Active_Border_Color);--fdButtonTextShadow:var(--fdMessagePopover_Information_Active_Text_Shadow);--fdButtonFocusColor:var(--fdMessagePopover_Active_Focus_Outline_Color)}.fd-message-popover__trigger.fd-message-popover__trigger--information.is-disabled,.fd-message-popover__trigger.fd-message-popover__trigger--information:disabled,.fd-message-popover__trigger.fd-message-popover__trigger--information[aria-disabled=true]{--fdButtonColor:var(--fdMessagePopover_Information_Regular_Color);--fdButtonBackgroundColor:var(--fdMessagePopover_Information_Regular_Background_Color);--fdButtonBorderColor:var(--fdMessagePopover_Information_Regular_Border_Color);--fdButtonTextShadow:var(--fdMessagePopover_Information_Regular_Text_Shadow);opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-message-popover__view-container{border-bottom-left-radius:var(--fdPopover_Border_Radius);border-bottom-right-radius:var(--fdPopover_Border_Radius);overflow:hidden;display:block;max-height:40vh}.fd-message-popover__view-container .fd-message-view .fd-list__item:first-child{border-top-left-radius:0;border-top-right-radius:0}.fd-message-popover__view-container .fd-message-view .fd-list__item:first-child:before{border-top-left-radius:0;border-top-right-radius:0}.fd-message-popover__view-container .fd-message-view .fd-list__item:last-child{border-bottom-left-radius:0;border-bottom-right-radius:0}.fd-message-popover__view-container .fd-message-view .fd-list__item:last-child:before{border-bottom-left-radius:0;border-bottom-right-radius:0}.fd-message-view__list{min-width:20rem;min-height:10rem;max-height:40vh}.fd-message-view__list .fd-link{font-size:inherit}.fd-message-view__list .fd-list__link:active,.fd-message-view__list .fd-list__link.is-active{--sapLinkColor: var(--sapList_Active_TextColor);--sapLink_Active_Color: var(--sapList_Active_TextColor)}\n/*! Bundled license information:\n\nfundamental-styles/dist/message-popover.css:\n (*!\n * Fundamental Library Styles v0.39.2\n * Copyright (c) 2025 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *)\n*/\n"] }]
707
707
  }], propDecorators: { _popover: [{
708
708
  type: ViewChild,
709
709
  args: ['popover']