@fundamental-ngx/platform 0.59.1-rc.9 → 0.59.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/fesm2022/fundamental-ngx-platform-approval-flow.mjs +25 -33
  2. package/fesm2022/fundamental-ngx-platform-approval-flow.mjs.map +1 -1
  3. package/fesm2022/fundamental-ngx-platform-feed-input.mjs +1 -1
  4. package/fesm2022/fundamental-ngx-platform-feed-input.mjs.map +1 -1
  5. package/fesm2022/fundamental-ngx-platform-form.mjs +1 -1
  6. package/fesm2022/fundamental-ngx-platform-form.mjs.map +1 -1
  7. package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs +9 -10
  8. package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs.map +1 -1
  9. package/fesm2022/fundamental-ngx-platform-list.mjs +2 -2
  10. package/fesm2022/fundamental-ngx-platform-list.mjs.map +1 -1
  11. package/fesm2022/fundamental-ngx-platform-menu.mjs +19 -30
  12. package/fesm2022/fundamental-ngx-platform-menu.mjs.map +1 -1
  13. package/fesm2022/fundamental-ngx-platform-message-popover.mjs +2 -2
  14. package/fesm2022/fundamental-ngx-platform-message-popover.mjs.map +1 -1
  15. package/fesm2022/fundamental-ngx-platform-object-marker.mjs +1 -1
  16. package/fesm2022/fundamental-ngx-platform-object-marker.mjs.map +1 -1
  17. package/fesm2022/fundamental-ngx-platform-object-status.mjs +1 -1
  18. package/fesm2022/fundamental-ngx-platform-object-status.mjs.map +1 -1
  19. package/fesm2022/fundamental-ngx-platform-search-field.mjs +14 -15
  20. package/fesm2022/fundamental-ngx-platform-search-field.mjs.map +1 -1
  21. package/fesm2022/fundamental-ngx-platform-settings-generator.mjs +1 -1
  22. package/fesm2022/fundamental-ngx-platform-settings-generator.mjs.map +1 -1
  23. package/fesm2022/fundamental-ngx-platform-split-menu-button.mjs +17 -19
  24. package/fesm2022/fundamental-ngx-platform-split-menu-button.mjs.map +1 -1
  25. package/fesm2022/fundamental-ngx-platform-table-helpers.mjs +21 -19
  26. package/fesm2022/fundamental-ngx-platform-table-helpers.mjs.map +1 -1
  27. package/fesm2022/fundamental-ngx-platform-table.mjs +27 -29
  28. package/fesm2022/fundamental-ngx-platform-table.mjs.map +1 -1
  29. package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs +14 -14
  30. package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs.map +1 -1
  31. package/package.json +4 -4
  32. package/schematics/ng-add/index.js +1 -1
  33. package/types/fundamental-ngx-platform-approval-flow.d.ts +19 -14
  34. package/types/fundamental-ngx-platform-icon-tab-bar.d.ts +7 -6
  35. package/types/fundamental-ngx-platform-menu.d.ts +7 -8
  36. package/types/fundamental-ngx-platform-search-field.d.ts +7 -6
  37. package/types/fundamental-ngx-platform-split-menu-button.d.ts +5 -7
  38. package/types/fundamental-ngx-platform-table-helpers.d.ts +10 -7
  39. package/types/fundamental-ngx-platform-table.d.ts +16 -14
  40. package/types/fundamental-ngx-platform-value-help-dialog.d.ts +8 -7
@@ -1,19 +1,17 @@
1
1
  import { SPACE, ENTER, LEFT_ARROW, RIGHT_ARROW, ESCAPE } from '@angular/cdk/keycodes';
2
2
  import * as i0 from '@angular/core';
3
- import { EventEmitter, HostListener, ContentChild, HostBinding, Output, Input, ViewEncapsulation, ChangeDetectionStrategy, Component, ContentChildren, ViewChild, Optional, inject, Self, Directive, NgModule } from '@angular/core';
3
+ import { EventEmitter, HostListener, ContentChild, HostBinding, Output, Input, ViewEncapsulation, ChangeDetectionStrategy, Component, inject, computed, ContentChildren, ViewChild, Optional, Self, Directive, NgModule } from '@angular/core';
4
4
  import { Subject, Subscription, merge, fromEvent } from 'rxjs';
5
5
  import { NgTemplateOutlet } from '@angular/common';
6
- import * as i1 from '@fundamental-ngx/cdk/utils';
7
- import { KeyUtil, warnOnce } from '@fundamental-ngx/cdk/utils';
6
+ import { KeyUtil, RtlService, warnOnce } from '@fundamental-ngx/cdk/utils';
8
7
  import { MenuInteractiveComponent } from '@fundamental-ngx/core/menu';
9
- import * as i1$1 from '@angular/cdk/overlay';
8
+ import * as i1 from '@angular/cdk/overlay';
10
9
  import { OverlayConfig } from '@angular/cdk/overlay';
11
10
  import { TemplatePortal } from '@angular/cdk/portal';
12
11
  import { startWith, switchMap, filter, take } from 'rxjs/operators';
13
12
  import { MenuButtonComponent } from '@fundamental-ngx/platform/menu-button';
14
13
  import { FocusKeyManager } from '@angular/cdk/a11y';
15
- import * as i2 from '@fundamental-ngx/core/content-density';
16
- import { contentDensityObserverProviders, ContentDensityModule } from '@fundamental-ngx/core/content-density';
14
+ import { ContentDensityObserver, contentDensityObserverProviders, ContentDensityModule } from '@fundamental-ngx/core/content-density';
17
15
 
18
16
  /**
19
17
  * @deprecated
@@ -143,9 +141,7 @@ class MenuComponent {
143
141
  return this._id;
144
142
  }
145
143
  /** @hidden */
146
- constructor(_rtl, contentDensityObserver) {
147
- this._rtl = _rtl;
148
- this.contentDensityObserver = contentDensityObserver;
144
+ constructor() {
149
145
  /**
150
146
  * Whether menu can be opened using arrow keys
151
147
  * @default true
@@ -160,18 +156,14 @@ class MenuComponent {
160
156
  */
161
157
  // eslint-disable-next-line @angular-eslint/no-output-native
162
158
  this.close = new EventEmitter();
159
+ /** @hidden */
160
+ this.contentDensityObserver = inject(ContentDensityObserver);
163
161
  /** Menu direction */
164
- this.direction = 'ltr';
162
+ this.direction = computed(() => (this._rtlService?.rtl() ? 'rtl' : 'ltr'), ...(ngDevMode ? [{ debugName: "direction" }] : []));
165
163
  /** @hidden */
166
164
  this._tabSubscription = Subscription.EMPTY;
167
165
  /** @hidden */
168
- this._dirChangeSubscription = Subscription.EMPTY;
169
- if (this._rtl) {
170
- this._dirChangeSubscription = this._rtl.rtl.subscribe((value) => {
171
- this.direction = value ? 'rtl' : 'ltr';
172
- this._setMenuItemCascadeDirection();
173
- });
174
- }
166
+ this._rtlService = inject(RtlService, { optional: true });
175
167
  warnOnce(`MenuComponent is deprecated. Use 'fd-menu' from '@fundamental-ngx/core/menu' instead.`);
176
168
  }
177
169
  /** @hidden */
@@ -194,7 +186,6 @@ class MenuComponent {
194
186
  ngOnDestroy() {
195
187
  this.close.complete();
196
188
  this._tabSubscription.unsubscribe();
197
- this._dirChangeSubscription.unsubscribe();
198
189
  this._keyManager?.destroy();
199
190
  }
200
191
  /**
@@ -267,26 +258,24 @@ class MenuComponent {
267
258
  * Check if cascade menu should appear from right
268
259
  */
269
260
  _cascadesRight() {
270
- return ((this.xPosition === 'after' && this.direction === 'ltr') ||
271
- (this.xPosition === 'before' && this.direction === 'rtl'));
261
+ return ((this.xPosition === 'after' && this.direction() === 'ltr') ||
262
+ (this.xPosition === 'before' && this.direction() === 'rtl'));
272
263
  }
273
264
  /**
274
265
  * @hidden
275
266
  * Check if cascade menu should appear from left
276
267
  */
277
268
  _cascadesLeft() {
278
- return ((this.xPosition === 'after' && this.direction === 'rtl') ||
279
- (this.xPosition === 'before' && this.direction === 'ltr'));
269
+ return ((this.xPosition === 'after' && this.direction() === 'rtl') ||
270
+ (this.xPosition === 'before' && this.direction() === 'ltr'));
280
271
  }
281
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: MenuComponent, deps: [{ token: i1.RtlService, optional: true }, { token: i2.ContentDensityObserver }], target: i0.ɵɵFactoryTarget.Component }); }
282
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.0", type: MenuComponent, isStandalone: true, selector: "fdp-menu", inputs: { id: "id", openByArrowKeys: "openByArrowKeys", xPosition: "xPosition" }, outputs: { close: "close" }, providers: [contentDensityObserverProviders()], queries: [{ propertyName: "menuItems", predicate: MenuItemComponent }], viewQueries: [{ propertyName: "templateRef", first: true, predicate: ["menuTemplate"], descendants: true }], ngImport: i0, template: "<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", styles: [".fd-dialog__body{--fdButton_Menu_Border_Radius:0}.fd-menu{--fdMenu_Icon_Width:2.25rem;--fdMenu_Link_Height:2.75rem;--fdMenu_Item_Spacing_Left:.75rem;--fdMenu_Item_Spacing_Right:.75rem;--fdMenu_Item_Border_Bottom_Color:transparent;--fdMenu_Shortcut_Padding_Left:1rem;--fdMenu_Shortcut_Padding_Right:.75rem;--fdMenu_Text_Spacing_Right:.75rem;--fdMenu_Icon_Color:var(--sapContent_NonInteractiveIconColor);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Regular);--fdMenu_Text_Color:var(--sapList_TextColor);--fdMenu_Item_Background_Color:var(--sapList_Background);--fdMenu_Active_Dot_Size:.75rem;border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.fd-menu:after,.fd-menu:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__list,.fd-menu__sublist{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;border-radius:var(--fdButton_Menu_Border_Radius);-webkit-box-shadow:var(--sapContent_Shadow1);box-shadow:var(--sapContent_Shadow1);-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:wrap;flex-wrap:wrap;list-style:none;max-width:20rem}.fd-menu__list:after,.fd-menu__list:before,.fd-menu__sublist:after,.fd-menu__sublist:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__list--no-shadow,.fd-menu__sublist--no-shadow{-webkit-box-shadow:none;box-shadow:none}.fd-menu__sublist{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;left:100%;line-height:normal;margin-block:0;margin-block:.25rem 0;margin-inline:0;margin-inline:-.25rem 0;min-width:100%;padding-block:0;padding-inline:0;position:absolute;top:0;z-index:2}.fd-menu__sublist:after,.fd-menu__sublist:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__sublist[dir=rtl],[dir=rtl] .fd-menu__sublist{left:auto;right:100%}.fd-menu__sublist[aria-hidden=true]{display:none}.fd-menu__list>.fd-menu__item{position:relative;width:100%}.fd-menu__list--overflow{-ms-flex-wrap:nowrap;flex-wrap:nowrap;overflow-y:scroll;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-menu__list--overflow.is-focus,.fd-menu__list--overflow:focus{outline:none;z-index:5}.fd-menu__list--overflow::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-menu__list--overflow::-webkit-scrollbar-corner,.fd-menu__list--overflow::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-menu__list--overflow::-webkit-scrollbar-thumb{background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-menu__list--overflow::-webkit-scrollbar-thumb:active,.fd-menu__list--overflow::-webkit-scrollbar-thumb:hover{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-menu__list--overflow::-webkit-scrollbar-corner,.fd-menu__list--overflow::-webkit-scrollbar-track{border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}.fd-menu__list--overflow[dir=rtl]::-webkit-scrollbar-corner,.fd-menu__list--overflow[dir=rtl]::-webkit-scrollbar-track,[dir=rtl] .fd-menu__list--overflow::-webkit-scrollbar-corner,[dir=rtl] .fd-menu__list--overflow::-webkit-scrollbar-track{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fd-menu__separator{background-color:var(--sapGroup_ContentBorderColor);border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:.0625rem;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;width:100%}.fd-menu__separator:after,.fd-menu__separator:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__item{background-color:var(--sapList_Background);border:0;border-radius:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;max-width:100%;padding-block:0;padding-inline:0;position:relative}.fd-menu__item:after,.fd-menu__item:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__item:first-child,.fd-menu__item:first-child .fd-menu__link:after{border-top-left-radius:var(--fdButton_Menu_Border_Radius);border-top-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu__item:last-of-type,.fd-menu__item:last-of-type .fd-menu__link:after{border-bottom-left-radius:var(--fdButton_Menu_Border_Radius);border-bottom-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu__item.has-separator{border-bottom:.0625rem solid var(--sapGroup_ContentBorderColor)}.fd-menu__link{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:var(--fdMenu_Item_Background_Color);border-bottom:.0625rem solid var(--fdMenu_Item_Border_Bottom_Color);border-radius:inherit;height:var(--fdMenu_Link_Height);outline:none;padding-inline:var(--fdMenu_Item_Spacing_Left) var(--fdMenu_Item_Spacing_Right);text-decoration:none;width:100%}.fd-menu__link:after,.fd-menu__link:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__link.is-focus:after,.fd-menu__link:focus:after{border-color:var(--sapContent_FocusColor);border-radius:0!important;border-style:var(--sapContent_FocusStyle);border-width:var(--sapContent_FocusWidth);content:\"\";inset:.125rem;pointer-events:none;position:absolute}.fd-menu__link.is-hover,.fd-menu__link:hover{--fdMenu_Item_Background_Color:var(--sapList_Hover_Background)}.fd-menu__link.is-selected,.fd-menu__link[aria-selected=true]{--fdMenu_Item_Background_Color:var(--sapList_SelectionBackgroundColor);--fdMenu_Icon_Color:var(--sapContent_NonInteractiveIconColor);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Selected);--fdMenu_Text_Color:var(--sapList_TextColor);--fdMenu_Item_Border_Bottom_Color:var(--sapList_SelectionBorderColor)}.fd-menu__link.is-selected.is-hover:not(:active,.is-active),.fd-menu__link.is-selected:hover:not(:active,.is-active),.fd-menu__link[aria-selected=true].is-hover:not(:active,.is-active),.fd-menu__link[aria-selected=true]:hover:not(:active,.is-active){--fdMenu_Item_Background_Color:var(--sapList_Hover_SelectionBackground);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Selected_Hover)}.fd-menu__link.is-selected.is-focus,.fd-menu__link.is-selected:focus,.fd-menu__link[aria-selected=true].is-focus,.fd-menu__link[aria-selected=true]:focus{z-index:5}.fd-menu__link.is-selected.is-focus:after,.fd-menu__link.is-selected:focus:after,.fd-menu__link[aria-selected=true].is-focus:after,.fd-menu__link[aria-selected=true]:focus:after{bottom:.125rem}.fd-menu__link.is-active,.fd-menu__link:active{--fdMenu_Item_Background_Color:var(--sapList_Active_Background);--fdMenu_Icon_Color:var(--sapList_Active_TextColor);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Active);--fdMenu_Text_Color:var(--fdMenu_Text_Color_Active)}.fd-menu__link.is-active:after,.fd-menu__link:active:after{display:none}.fd-menu__link.is-active.is-focus,.fd-menu__link.is-active:focus,.fd-menu__link:active.is-focus,.fd-menu__link:active:focus{outline-color:var(--fdMenu_Active_State_Focus);z-index:5}.fd-menu__link.is-disabled,.fd-menu__link:disabled,.fd-menu__link[aria-disabled=true]{opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-menu__link.is-disabled.is-focus,.fd-menu__link.is-disabled:focus,.fd-menu__link:disabled.is-focus,.fd-menu__link:disabled:focus,.fd-menu__link[aria-disabled=true].is-focus,.fd-menu__link[aria-disabled=true]:focus{z-index:5}.fd-menu__link.is-disabled.is-focus:after,.fd-menu__link.is-disabled:focus:after,.fd-menu__link:disabled.is-focus:after,.fd-menu__link:disabled:focus:after,.fd-menu__link[aria-disabled=true].is-focus:after,.fd-menu__link[aria-disabled=true]:focus:after{display:none}.fd-menu__link.has-child{--fdMenu_Item_Spacing_Right:0}.fd-menu__link.has-child.is-expanded:not(:active,.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active){--fdMenu_Item_Background_Color:var(--sapList_SelectionBackgroundColor);--fdMenu_Icon_Color:var(--sapContent_NonInteractiveIconColor);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Selected);--fdMenu_Text_Color:var(--sapList_TextColor);--fdMenu_Item_Border_Bottom_Color:var(--sapList_SelectionBorderColor)}.fd-menu__link.has-child.is-expanded:not(:active,.is-active).is-hover:not(:active,.is-active),.fd-menu__link.has-child.is-expanded:not(:active,.is-active):hover:not(:active,.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active).is-hover:not(:active,.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active):hover:not(:active,.is-active){--fdMenu_Item_Background_Color:var(--sapList_Hover_SelectionBackground);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Selected_Hover)}.fd-menu__link.has-child.is-expanded:not(:active,.is-active).is-focus,.fd-menu__link.has-child.is-expanded:not(:active,.is-active):focus,.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active).is-focus,.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active):focus{z-index:5}.fd-menu__link.has-child.is-expanded:not(:active,.is-active).is-focus:after,.fd-menu__link.has-child.is-expanded:not(:active,.is-active):focus:after,.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active).is-focus:after,.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active):focus:after{bottom:.125rem}.fd-menu__title{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--fdMenu_Text_Color);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;overflow:hidden;padding-block:0;padding-inline:0;text-align:left;text-overflow:ellipsis;text-shadow:var(--fdMenu_Text_Shadow);white-space:nowrap;width:100%}.fd-menu__title:after,.fd-menu__title:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__title[dir=rtl],[dir=rtl] .fd-menu__title{text-align:right}.fd-menu__title:has(+.fd-menu__input){min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.fd-menu__addon-after,.fd-menu__addon-before{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:transparent;color:var(--fdMenu_Icon_Color);font-size:var(--sapFontLargeSize);height:100%;max-width:var(--fdMenu_Icon_Width);min-width:var(--fdMenu_Icon_Width);text-shadow:var(--fdMenu_Text_Shadow);width:var(--fdMenu_Icon_Width)}.fd-menu__addon-after:after,.fd-menu__addon-after:before,.fd-menu__addon-before:after,.fd-menu__addon-before:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__addon-after [class*=sap-icon],.fd-menu__addon-after[class*=sap-icon],.fd-menu__addon-before [class*=sap-icon],.fd-menu__addon-before[class*=sap-icon]{background:inherit;border-radius:inherit;color:inherit;font-size:inherit;line-height:1}.fd-menu__addon-after--submenu{font-size:var(--fdMenu_Affordance_Arrow_Size)}.fd-menu__addon-after--submenu:before{content:\"\\e066\"}.fd-menu__addon-after--submenu:before,.fd-menu__addon-after--submenu[dir=rtl]:before,[dir=rtl] .fd-menu__addon-after--submenu:before{font-family:SAP-icons;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-menu__addon-after--submenu[dir=rtl]:before,[dir=rtl] .fd-menu__addon-after--submenu:before{content:\"\\e067\"}.fd-menu__active-dot{background:var(--sapContent_Selected_ForegroundColor);border:0;border-radius:100%;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--fdMenu_Active_Dot_Size);line-height:normal;margin-block:0;margin-inline:0;min-width:var(--fdMenu_Active_Dot_Size);padding-block:0;padding-inline:0;width:var(--fdMenu_Active_Dot_Size)}.fd-menu__active-dot:after,.fd-menu__active-dot:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__checkmark [class*=sap-icon],.fd-menu__checkmark[class*=sap-icon]{background:inherit;border-radius:inherit;color:inherit;color:var(--sapContent_Selected_ForegroundColor);font-size:inherit;font-size:1rem;line-height:1}.fd-menu__shortcut{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;overflow:hidden;padding-block:0;padding-inline:0;text-overflow:ellipsis;white-space:nowrap;-ms-flex-negative:0;color:var(--fdMenu_Shortcut_Color);flex-shrink:0;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;-webkit-padding-start:var(--fdMenu_Shortcut_Padding_Left);padding-inline-start:var(--fdMenu_Shortcut_Padding_Left)}.fd-menu__shortcut:after,.fd-menu__shortcut:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__shortcut:last-child{padding-inline:var(--fdMenu_Shortcut_Padding_Left) var(--fdMenu_Shortcut_Padding_Right)}.fd-menu--overflow{border-radius:var(--fdButton_Menu_Border_Radius);-webkit-box-shadow:var(--sapContent_Shadow1);box-shadow:var(--sapContent_Shadow1);overflow-y:scroll;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-menu--overflow.is-focus,.fd-menu--overflow:focus{outline:none;z-index:5}.fd-menu--overflow::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-menu--overflow::-webkit-scrollbar-corner,.fd-menu--overflow::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-menu--overflow::-webkit-scrollbar-thumb{background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-menu--overflow::-webkit-scrollbar-thumb:active,.fd-menu--overflow::-webkit-scrollbar-thumb:hover{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-menu--overflow::-webkit-scrollbar-corner,.fd-menu--overflow::-webkit-scrollbar-track{border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}.fd-menu--overflow[dir=rtl]::-webkit-scrollbar-corner,.fd-menu--overflow[dir=rtl]::-webkit-scrollbar-track,[dir=rtl] .fd-menu--overflow::-webkit-scrollbar-corner,[dir=rtl] .fd-menu--overflow::-webkit-scrollbar-track{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fd-menu--overflow .fd-menu__list{-webkit-box-shadow:none;box-shadow:none}.fd-menu--overflow .fd-menu__item:first-child{border-top-right-radius:0}.fd-menu--overflow .fd-menu__item:first-child[dir=rtl],[dir=rtl] .fd-menu--overflow .fd-menu__item:first-child{border-top-left-radius:0;border-top-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu--overflow .fd-menu__item:last-of-type{border-bottom-right-radius:0}.fd-menu--overflow .fd-menu__item:last-of-type[dir=rtl],[dir=rtl] .fd-menu--overflow .fd-menu__item:last-of-type{border-bottom-left-radius:0;border-bottom-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu--full-width{max-width:100%}.fd-menu--icons{--fdMenu_Item_Spacing_Left:0;--fdMenu_Item_Spacing_Right:0}.fd-menu--icons .fd-menu__title:first-child{-webkit-margin-start:var(--fdMenu_Icon_Width);margin-inline-start:var(--fdMenu_Icon_Width)}.fd-menu--icons .fd-menu__title:last-child{-webkit-margin-end:var(--fdMenu_Text_Spacing_Right);margin-inline-end:var(--fdMenu_Text_Spacing_Right)}.fd-menu--icons .fd-menu__title:only-child{margin-inline:var(--fdMenu_Icon_Width) var(--fdMenu_Text_Spacing_Right)}.fd-menu--icons .fd-menu__sublist{--fdMenu_Item_Spacing_Left:1rem;--fdMenu_Item_Spacing_Right:1rem}.fd-menu--icons .fd-menu__sublist .fd-menu__title:first-child{-webkit-margin-start:0;margin-inline-start:0}.fd-menu--icons .fd-menu__sublist .fd-menu__title:last-child{-webkit-margin-end:0;margin-inline-end:0}.fd-menu--icons .fd-menu__sublist .fd-menu__title:only-child{margin-inline:0}.fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons{--fdMenu_Item_Spacing_Left:0;--fdMenu_Item_Spacing_Right:0}.fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons .fd-menu__title:first-child{-webkit-margin-start:var(--fdMenu_Icon_Width);margin-inline-start:var(--fdMenu_Icon_Width)}.fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons .fd-menu__title:last-child{-webkit-margin-end:var(--fdMenu_Text_Spacing_Right);margin-inline-end:var(--fdMenu_Text_Spacing_Right)}.fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons .fd-menu__title:only-child{margin-inline:var(--fdMenu_Icon_Width) var(--fdMenu_Text_Spacing_Right)}.fd-menu--icons .fd-menu__input,.fd-menu--icons input{margin-inline:var(--fdMenu_Text_Spacing_Right) var(--fdMenu_Text_Spacing_Right)}.fd-menu--mobile{max-width:100%;width:100%;--fdMenu_Icon_Width:2.75rem;--fdMenu_Item_Spacing_Left:1rem;--fdMenu_Item_Spacing_Right:1rem;--fdMenu_Shortcut_Padding_Right:1rem;--fdMenu_Text_Spacing_Right:1rem}.fd-menu--mobile .fd-menu__list,.fd-menu--mobile .fd-menu__sublist{border-radius:0;-webkit-box-shadow:none;box-shadow:none;margin-block:0;margin-inline:0;position:static}.fd-menu--mobile .fd-menu__list .fd-menu__item,.fd-menu--mobile .fd-menu__sublist .fd-menu__item{border-radius:0}.fd-menu--mobile.fd-menu--icons{--fdMenu_Item_Spacing_Left:0;--fdMenu_Item_Spacing_Right:0}.fd-menu--mobile.fd-menu--icons .fd-menu__input,.fd-menu--mobile.fd-menu--icons input{margin-inline:1rem}.fd-menu[class*=-compact],.fd-menu[class*=-condensed],[class*=-compact] .fd-menu:not([class*=-cozy]),[class*=-condensed] .fd-menu:not([class*=-cozy]){--fdMenu_Icon_Width:2rem;--fdMenu_Link_Height:2rem;--fdMenu_Item_Spacing_Left:.5rem;--fdMenu_Item_Spacing_Right:.5rem;--fdMenu_Shortcut_Padding_Right:.5rem;--fdMenu_Text_Spacing_Right:.5rem}.fd-menu[class*=-compact].fd-menu--icons,.fd-menu[class*=-condensed].fd-menu--icons,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons,[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons{--fdMenu_Item_Spacing_Left:0;--fdMenu_Item_Spacing_Right:0}.fd-menu[class*=-compact].fd-menu--icons .fd-menu__input,.fd-menu[class*=-compact].fd-menu--icons input,.fd-menu[class*=-condensed].fd-menu--icons .fd-menu__input,.fd-menu[class*=-condensed].fd-menu--icons input,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__input,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons input,[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__input,[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons input{margin-inline:.5rem}.fd-menu[class*=-compact].fd-menu--icons .fd-menu__sublist,.fd-menu[class*=-condensed].fd-menu--icons .fd-menu__sublist,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__sublist,[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__sublist{--fdMenu_Item_Spacing_Left:.5rem;--fdMenu_Item_Spacing_Right:.5rem}.fd-menu[class*=-compact].fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons,.fd-menu[class*=-condensed].fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons,[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons{--fdMenu_Item_Spacing_Left:0;--fdMenu_Item_Spacing_Right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;display:flex;max-width:100%;max-height:100%;z-index:1000}.cdk-overlay-backdrop{position:absolute;inset:0;pointer-events:auto;-webkit-tap-highlight-color:rgba(0,0,0,0);opacity:0;touch-action:manipulation;z-index:1000;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}@media(prefers-reduced-motion){.cdk-overlay-backdrop{transition-duration:1ms}}.cdk-overlay-backdrop-showing{opacity:1}@media(forced-colors:active){.cdk-overlay-backdrop-showing{opacity:.6}}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing,.cdk-high-contrast-active .cdk-overlay-transparent-backdrop{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;display:flex;flex-direction:column;min-width:1px;min-height:1px;z-index:1000}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.cdk-overlay-popover{background:none;border:none;padding:0;outline:0;overflow:visible;position:fixed;pointer-events:none;white-space:normal;color:inherit;text-decoration:none;width:100%;height:100%;inset:0 auto auto 0}.cdk-overlay-popover::backdrop{display:none}.cdk-overlay-popover .cdk-overlay-backdrop{position:fixed;z-index:auto}.fd-menu-popover__body--static{position:static}\n/*! Bundled license information:\n\nfundamental-styles/dist/menu.css:\n (*!\n * Fundamental Library Styles v0.40.1\n * Copyright (c) 2025 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *)\n*/\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
272
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: MenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
273
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.0", type: MenuComponent, isStandalone: true, selector: "fdp-menu", inputs: { id: "id", openByArrowKeys: "openByArrowKeys", xPosition: "xPosition" }, outputs: { close: "close" }, providers: [contentDensityObserverProviders()], queries: [{ propertyName: "menuItems", predicate: MenuItemComponent }], viewQueries: [{ propertyName: "templateRef", first: true, predicate: ["menuTemplate"], descendants: true }], ngImport: i0, template: "<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", styles: [".fd-dialog__body{--fdButton_Menu_Border_Radius:0}.fd-menu{--fdMenu_Icon_Width:2.25rem;--fdMenu_Link_Height:2.75rem;--fdMenu_Item_Spacing_Left:.75rem;--fdMenu_Item_Spacing_Right:.75rem;--fdMenu_Item_Border_Bottom_Color:transparent;--fdMenu_Shortcut_Padding_Left:1rem;--fdMenu_Shortcut_Padding_Right:.75rem;--fdMenu_Text_Spacing_Right:.75rem;--fdMenu_Icon_Color:var(--sapContent_NonInteractiveIconColor);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Regular);--fdMenu_Text_Color:var(--sapList_TextColor);--fdMenu_Item_Background_Color:var(--sapList_Background);--fdMenu_Active_Dot_Size:.75rem;border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.fd-menu:after,.fd-menu:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__list,.fd-menu__sublist{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;border-radius:var(--fdButton_Menu_Border_Radius);-webkit-box-shadow:var(--sapContent_Shadow1);box-shadow:var(--sapContent_Shadow1);-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:wrap;flex-wrap:wrap;list-style:none;max-width:20rem}.fd-menu__list:after,.fd-menu__list:before,.fd-menu__sublist:after,.fd-menu__sublist:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__list--no-shadow,.fd-menu__sublist--no-shadow{-webkit-box-shadow:none;box-shadow:none}.fd-menu__sublist{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;left:100%;line-height:normal;margin-block:0;margin-block:.25rem 0;margin-inline:0;margin-inline:-.25rem 0;min-width:100%;padding-block:0;padding-inline:0;position:absolute;top:0;z-index:2}.fd-menu__sublist:after,.fd-menu__sublist:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__sublist[dir=rtl],[dir=rtl] .fd-menu__sublist{left:auto;right:100%}.fd-menu__sublist[aria-hidden=true]{display:none}.fd-menu__list>.fd-menu__item{position:relative;width:100%}.fd-menu__list--overflow{-ms-flex-wrap:nowrap;flex-wrap:nowrap;overflow-y:scroll;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-menu__list--overflow.is-focus,.fd-menu__list--overflow:focus{outline:none;z-index:5}.fd-menu__list--overflow::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-menu__list--overflow::-webkit-scrollbar-corner,.fd-menu__list--overflow::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-menu__list--overflow::-webkit-scrollbar-thumb{background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-menu__list--overflow::-webkit-scrollbar-thumb:active,.fd-menu__list--overflow::-webkit-scrollbar-thumb:hover{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-menu__list--overflow::-webkit-scrollbar-corner,.fd-menu__list--overflow::-webkit-scrollbar-track{border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}.fd-menu__list--overflow[dir=rtl]::-webkit-scrollbar-corner,.fd-menu__list--overflow[dir=rtl]::-webkit-scrollbar-track,[dir=rtl] .fd-menu__list--overflow::-webkit-scrollbar-corner,[dir=rtl] .fd-menu__list--overflow::-webkit-scrollbar-track{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fd-menu__separator{background-color:var(--sapGroup_ContentBorderColor);border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:.0625rem;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;width:100%}.fd-menu__separator:after,.fd-menu__separator:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__item{background-color:var(--sapList_Background);border:0;border-radius:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;max-width:100%;padding-block:0;padding-inline:0;position:relative}.fd-menu__item:after,.fd-menu__item:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__item:first-child,.fd-menu__item:first-child .fd-menu__link:after{border-top-left-radius:var(--fdButton_Menu_Border_Radius);border-top-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu__item:last-of-type,.fd-menu__item:last-of-type .fd-menu__link:after{border-bottom-left-radius:var(--fdButton_Menu_Border_Radius);border-bottom-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu__item.has-separator{border-bottom:.0625rem solid var(--sapGroup_ContentBorderColor)}.fd-menu__link{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:var(--fdMenu_Item_Background_Color);border-bottom:.0625rem solid var(--fdMenu_Item_Border_Bottom_Color);border-radius:inherit;height:var(--fdMenu_Link_Height);outline:none;padding-inline:var(--fdMenu_Item_Spacing_Left) var(--fdMenu_Item_Spacing_Right);text-decoration:none;width:100%}.fd-menu__link:after,.fd-menu__link:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__link.is-focus:after,.fd-menu__link:focus:after{border-color:var(--sapContent_FocusColor);border-radius:0!important;border-style:var(--sapContent_FocusStyle);border-width:var(--sapContent_FocusWidth);content:\"\";inset:.125rem;pointer-events:none;position:absolute}.fd-menu__link.is-hover,.fd-menu__link:hover{--fdMenu_Item_Background_Color:var(--sapList_Hover_Background)}.fd-menu__link.is-selected,.fd-menu__link[aria-selected=true]{--fdMenu_Item_Background_Color:var(--sapList_SelectionBackgroundColor);--fdMenu_Icon_Color:var(--sapContent_NonInteractiveIconColor);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Selected);--fdMenu_Text_Color:var(--sapList_TextColor);--fdMenu_Item_Border_Bottom_Color:var(--sapList_SelectionBorderColor)}.fd-menu__link.is-selected.is-hover:not(:active,.is-active),.fd-menu__link.is-selected:hover:not(:active,.is-active),.fd-menu__link[aria-selected=true].is-hover:not(:active,.is-active),.fd-menu__link[aria-selected=true]:hover:not(:active,.is-active){--fdMenu_Item_Background_Color:var(--sapList_Hover_SelectionBackground);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Selected_Hover)}.fd-menu__link.is-selected.is-focus,.fd-menu__link.is-selected:focus,.fd-menu__link[aria-selected=true].is-focus,.fd-menu__link[aria-selected=true]:focus{z-index:5}.fd-menu__link.is-selected.is-focus:after,.fd-menu__link.is-selected:focus:after,.fd-menu__link[aria-selected=true].is-focus:after,.fd-menu__link[aria-selected=true]:focus:after{bottom:.125rem}.fd-menu__link.is-active,.fd-menu__link:active{--fdMenu_Item_Background_Color:var(--sapList_Active_Background);--fdMenu_Icon_Color:var(--sapList_Active_TextColor);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Active);--fdMenu_Text_Color:var(--fdMenu_Text_Color_Active)}.fd-menu__link.is-active:after,.fd-menu__link:active:after{display:none}.fd-menu__link.is-active.is-focus,.fd-menu__link.is-active:focus,.fd-menu__link:active.is-focus,.fd-menu__link:active:focus{outline-color:var(--fdMenu_Active_State_Focus);z-index:5}.fd-menu__link.is-disabled,.fd-menu__link:disabled,.fd-menu__link[aria-disabled=true]{opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-menu__link.is-disabled.is-focus,.fd-menu__link.is-disabled:focus,.fd-menu__link:disabled.is-focus,.fd-menu__link:disabled:focus,.fd-menu__link[aria-disabled=true].is-focus,.fd-menu__link[aria-disabled=true]:focus{z-index:5}.fd-menu__link.is-disabled.is-focus:after,.fd-menu__link.is-disabled:focus:after,.fd-menu__link:disabled.is-focus:after,.fd-menu__link:disabled:focus:after,.fd-menu__link[aria-disabled=true].is-focus:after,.fd-menu__link[aria-disabled=true]:focus:after{display:none}.fd-menu__link.has-child{--fdMenu_Item_Spacing_Right:0}.fd-menu__link.has-child.is-expanded:not(:active,.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active){--fdMenu_Item_Background_Color:var(--sapList_SelectionBackgroundColor);--fdMenu_Icon_Color:var(--sapContent_NonInteractiveIconColor);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Selected);--fdMenu_Text_Color:var(--sapList_TextColor);--fdMenu_Item_Border_Bottom_Color:var(--sapList_SelectionBorderColor)}.fd-menu__link.has-child.is-expanded:not(:active,.is-active).is-hover:not(:active,.is-active),.fd-menu__link.has-child.is-expanded:not(:active,.is-active):hover:not(:active,.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active).is-hover:not(:active,.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active):hover:not(:active,.is-active){--fdMenu_Item_Background_Color:var(--sapList_Hover_SelectionBackground);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Selected_Hover)}.fd-menu__link.has-child.is-expanded:not(:active,.is-active).is-focus,.fd-menu__link.has-child.is-expanded:not(:active,.is-active):focus,.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active).is-focus,.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active):focus{z-index:5}.fd-menu__link.has-child.is-expanded:not(:active,.is-active).is-focus:after,.fd-menu__link.has-child.is-expanded:not(:active,.is-active):focus:after,.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active).is-focus:after,.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active):focus:after{bottom:.125rem}.fd-menu__title{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--fdMenu_Text_Color);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;overflow:hidden;padding-block:0;padding-inline:0;text-align:left;text-overflow:ellipsis;text-shadow:var(--fdMenu_Text_Shadow);white-space:nowrap;width:100%}.fd-menu__title:after,.fd-menu__title:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__title[dir=rtl],[dir=rtl] .fd-menu__title{text-align:right}.fd-menu__title:has(+.fd-menu__input){min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.fd-menu__addon-after,.fd-menu__addon-before{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:transparent;color:var(--fdMenu_Icon_Color);font-size:var(--sapFontLargeSize);height:100%;max-width:var(--fdMenu_Icon_Width);min-width:var(--fdMenu_Icon_Width);text-shadow:var(--fdMenu_Text_Shadow);width:var(--fdMenu_Icon_Width)}.fd-menu__addon-after:after,.fd-menu__addon-after:before,.fd-menu__addon-before:after,.fd-menu__addon-before:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__addon-after [class*=sap-icon],.fd-menu__addon-after[class*=sap-icon],.fd-menu__addon-before [class*=sap-icon],.fd-menu__addon-before[class*=sap-icon]{background:inherit;border-radius:inherit;color:inherit;font-size:inherit;line-height:1}.fd-menu__addon-after--submenu{font-size:var(--fdMenu_Affordance_Arrow_Size)}.fd-menu__addon-after--submenu:before{content:\"\\e066\"}.fd-menu__addon-after--submenu:before,.fd-menu__addon-after--submenu[dir=rtl]:before,[dir=rtl] .fd-menu__addon-after--submenu:before{font-family:SAP-icons;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-menu__addon-after--submenu[dir=rtl]:before,[dir=rtl] .fd-menu__addon-after--submenu:before{content:\"\\e067\"}.fd-menu__active-dot{background:var(--sapContent_Selected_ForegroundColor);border:0;border-radius:100%;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--fdMenu_Active_Dot_Size);line-height:normal;margin-block:0;margin-inline:0;min-width:var(--fdMenu_Active_Dot_Size);padding-block:0;padding-inline:0;width:var(--fdMenu_Active_Dot_Size)}.fd-menu__active-dot:after,.fd-menu__active-dot:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__checkmark [class*=sap-icon],.fd-menu__checkmark[class*=sap-icon]{background:inherit;border-radius:inherit;color:inherit;color:var(--sapContent_Selected_ForegroundColor);font-size:inherit;font-size:1rem;line-height:1}.fd-menu__shortcut{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;overflow:hidden;padding-block:0;padding-inline:0;text-overflow:ellipsis;white-space:nowrap;-ms-flex-negative:0;color:var(--fdMenu_Shortcut_Color);flex-shrink:0;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;-webkit-padding-start:var(--fdMenu_Shortcut_Padding_Left);padding-inline-start:var(--fdMenu_Shortcut_Padding_Left)}.fd-menu__shortcut:after,.fd-menu__shortcut:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__shortcut:last-child{padding-inline:var(--fdMenu_Shortcut_Padding_Left) var(--fdMenu_Shortcut_Padding_Right)}.fd-menu--overflow{border-radius:var(--fdButton_Menu_Border_Radius);-webkit-box-shadow:var(--sapContent_Shadow1);box-shadow:var(--sapContent_Shadow1);overflow-y:scroll;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-menu--overflow.is-focus,.fd-menu--overflow:focus{outline:none;z-index:5}.fd-menu--overflow::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-menu--overflow::-webkit-scrollbar-corner,.fd-menu--overflow::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-menu--overflow::-webkit-scrollbar-thumb{background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-menu--overflow::-webkit-scrollbar-thumb:active,.fd-menu--overflow::-webkit-scrollbar-thumb:hover{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-menu--overflow::-webkit-scrollbar-corner,.fd-menu--overflow::-webkit-scrollbar-track{border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}.fd-menu--overflow[dir=rtl]::-webkit-scrollbar-corner,.fd-menu--overflow[dir=rtl]::-webkit-scrollbar-track,[dir=rtl] .fd-menu--overflow::-webkit-scrollbar-corner,[dir=rtl] .fd-menu--overflow::-webkit-scrollbar-track{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fd-menu--overflow .fd-menu__list{-webkit-box-shadow:none;box-shadow:none}.fd-menu--overflow .fd-menu__item:first-child{border-top-right-radius:0}.fd-menu--overflow .fd-menu__item:first-child[dir=rtl],[dir=rtl] .fd-menu--overflow .fd-menu__item:first-child{border-top-left-radius:0;border-top-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu--overflow .fd-menu__item:last-of-type{border-bottom-right-radius:0}.fd-menu--overflow .fd-menu__item:last-of-type[dir=rtl],[dir=rtl] .fd-menu--overflow .fd-menu__item:last-of-type{border-bottom-left-radius:0;border-bottom-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu--full-width{max-width:100%}.fd-menu--icons{--fdMenu_Item_Spacing_Left:0;--fdMenu_Item_Spacing_Right:0}.fd-menu--icons .fd-menu__title:first-child{-webkit-margin-start:var(--fdMenu_Icon_Width);margin-inline-start:var(--fdMenu_Icon_Width)}.fd-menu--icons .fd-menu__title:last-child{-webkit-margin-end:var(--fdMenu_Text_Spacing_Right);margin-inline-end:var(--fdMenu_Text_Spacing_Right)}.fd-menu--icons .fd-menu__title:only-child{margin-inline:var(--fdMenu_Icon_Width) var(--fdMenu_Text_Spacing_Right)}.fd-menu--icons .fd-menu__sublist{--fdMenu_Item_Spacing_Left:1rem;--fdMenu_Item_Spacing_Right:1rem}.fd-menu--icons .fd-menu__sublist .fd-menu__title:first-child{-webkit-margin-start:0;margin-inline-start:0}.fd-menu--icons .fd-menu__sublist .fd-menu__title:last-child{-webkit-margin-end:0;margin-inline-end:0}.fd-menu--icons .fd-menu__sublist .fd-menu__title:only-child{margin-inline:0}.fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons{--fdMenu_Item_Spacing_Left:0;--fdMenu_Item_Spacing_Right:0}.fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons .fd-menu__title:first-child{-webkit-margin-start:var(--fdMenu_Icon_Width);margin-inline-start:var(--fdMenu_Icon_Width)}.fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons .fd-menu__title:last-child{-webkit-margin-end:var(--fdMenu_Text_Spacing_Right);margin-inline-end:var(--fdMenu_Text_Spacing_Right)}.fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons .fd-menu__title:only-child{margin-inline:var(--fdMenu_Icon_Width) var(--fdMenu_Text_Spacing_Right)}.fd-menu--icons .fd-menu__input,.fd-menu--icons input{margin-inline:var(--fdMenu_Text_Spacing_Right) var(--fdMenu_Text_Spacing_Right)}.fd-menu--mobile{max-width:100%;width:100%;--fdMenu_Icon_Width:2.75rem;--fdMenu_Item_Spacing_Left:1rem;--fdMenu_Item_Spacing_Right:1rem;--fdMenu_Shortcut_Padding_Right:1rem;--fdMenu_Text_Spacing_Right:1rem}.fd-menu--mobile .fd-menu__list,.fd-menu--mobile .fd-menu__sublist{border-radius:0;-webkit-box-shadow:none;box-shadow:none;margin-block:0;margin-inline:0;position:static}.fd-menu--mobile .fd-menu__list .fd-menu__item,.fd-menu--mobile .fd-menu__sublist .fd-menu__item{border-radius:0}.fd-menu--mobile.fd-menu--icons{--fdMenu_Item_Spacing_Left:0;--fdMenu_Item_Spacing_Right:0}.fd-menu--mobile.fd-menu--icons .fd-menu__input,.fd-menu--mobile.fd-menu--icons input{margin-inline:1rem}.fd-menu[class*=-compact],.fd-menu[class*=-condensed],[class*=-compact] .fd-menu:not([class*=-cozy]),[class*=-condensed] .fd-menu:not([class*=-cozy]){--fdMenu_Icon_Width:2rem;--fdMenu_Link_Height:2rem;--fdMenu_Item_Spacing_Left:.5rem;--fdMenu_Item_Spacing_Right:.5rem;--fdMenu_Shortcut_Padding_Right:.5rem;--fdMenu_Text_Spacing_Right:.5rem}.fd-menu[class*=-compact].fd-menu--icons,.fd-menu[class*=-condensed].fd-menu--icons,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons,[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons{--fdMenu_Item_Spacing_Left:0;--fdMenu_Item_Spacing_Right:0}.fd-menu[class*=-compact].fd-menu--icons .fd-menu__input,.fd-menu[class*=-compact].fd-menu--icons input,.fd-menu[class*=-condensed].fd-menu--icons .fd-menu__input,.fd-menu[class*=-condensed].fd-menu--icons input,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__input,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons input,[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__input,[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons input{margin-inline:.5rem}.fd-menu[class*=-compact].fd-menu--icons .fd-menu__sublist,.fd-menu[class*=-condensed].fd-menu--icons .fd-menu__sublist,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__sublist,[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__sublist{--fdMenu_Item_Spacing_Left:.5rem;--fdMenu_Item_Spacing_Right:.5rem}.fd-menu[class*=-compact].fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons,.fd-menu[class*=-condensed].fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons,[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons{--fdMenu_Item_Spacing_Left:0;--fdMenu_Item_Spacing_Right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;display:flex;max-width:100%;max-height:100%;z-index:1000}.cdk-overlay-backdrop{position:absolute;inset:0;pointer-events:auto;-webkit-tap-highlight-color:rgba(0,0,0,0);opacity:0;touch-action:manipulation;z-index:1000;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}@media(prefers-reduced-motion){.cdk-overlay-backdrop{transition-duration:1ms}}.cdk-overlay-backdrop-showing{opacity:1}@media(forced-colors:active){.cdk-overlay-backdrop-showing{opacity:.6}}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing,.cdk-high-contrast-active .cdk-overlay-transparent-backdrop{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;display:flex;flex-direction:column;min-width:1px;min-height:1px;z-index:1000}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.cdk-overlay-popover{background:none;border:none;padding:0;outline:0;overflow:visible;position:fixed;pointer-events:none;white-space:normal;color:inherit;text-decoration:none;width:100%;height:100%;inset:0 auto auto 0}.cdk-overlay-popover::backdrop{display:none}.cdk-overlay-popover .cdk-overlay-backdrop{position:fixed;z-index:auto}.fd-menu-popover__body--static{position:static}\n/*! Bundled license information:\n\nfundamental-styles/dist/menu.css:\n (*!\n * Fundamental Library Styles v0.40.1\n * Copyright (c) 2025 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *)\n*/\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
283
274
  }
284
275
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: MenuComponent, decorators: [{
285
276
  type: Component,
286
- args: [{ selector: 'fdp-menu', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [contentDensityObserverProviders()], standalone: true, template: "<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", styles: [".fd-dialog__body{--fdButton_Menu_Border_Radius:0}.fd-menu{--fdMenu_Icon_Width:2.25rem;--fdMenu_Link_Height:2.75rem;--fdMenu_Item_Spacing_Left:.75rem;--fdMenu_Item_Spacing_Right:.75rem;--fdMenu_Item_Border_Bottom_Color:transparent;--fdMenu_Shortcut_Padding_Left:1rem;--fdMenu_Shortcut_Padding_Right:.75rem;--fdMenu_Text_Spacing_Right:.75rem;--fdMenu_Icon_Color:var(--sapContent_NonInteractiveIconColor);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Regular);--fdMenu_Text_Color:var(--sapList_TextColor);--fdMenu_Item_Background_Color:var(--sapList_Background);--fdMenu_Active_Dot_Size:.75rem;border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.fd-menu:after,.fd-menu:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__list,.fd-menu__sublist{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;border-radius:var(--fdButton_Menu_Border_Radius);-webkit-box-shadow:var(--sapContent_Shadow1);box-shadow:var(--sapContent_Shadow1);-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:wrap;flex-wrap:wrap;list-style:none;max-width:20rem}.fd-menu__list:after,.fd-menu__list:before,.fd-menu__sublist:after,.fd-menu__sublist:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__list--no-shadow,.fd-menu__sublist--no-shadow{-webkit-box-shadow:none;box-shadow:none}.fd-menu__sublist{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;left:100%;line-height:normal;margin-block:0;margin-block:.25rem 0;margin-inline:0;margin-inline:-.25rem 0;min-width:100%;padding-block:0;padding-inline:0;position:absolute;top:0;z-index:2}.fd-menu__sublist:after,.fd-menu__sublist:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__sublist[dir=rtl],[dir=rtl] .fd-menu__sublist{left:auto;right:100%}.fd-menu__sublist[aria-hidden=true]{display:none}.fd-menu__list>.fd-menu__item{position:relative;width:100%}.fd-menu__list--overflow{-ms-flex-wrap:nowrap;flex-wrap:nowrap;overflow-y:scroll;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-menu__list--overflow.is-focus,.fd-menu__list--overflow:focus{outline:none;z-index:5}.fd-menu__list--overflow::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-menu__list--overflow::-webkit-scrollbar-corner,.fd-menu__list--overflow::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-menu__list--overflow::-webkit-scrollbar-thumb{background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-menu__list--overflow::-webkit-scrollbar-thumb:active,.fd-menu__list--overflow::-webkit-scrollbar-thumb:hover{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-menu__list--overflow::-webkit-scrollbar-corner,.fd-menu__list--overflow::-webkit-scrollbar-track{border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}.fd-menu__list--overflow[dir=rtl]::-webkit-scrollbar-corner,.fd-menu__list--overflow[dir=rtl]::-webkit-scrollbar-track,[dir=rtl] .fd-menu__list--overflow::-webkit-scrollbar-corner,[dir=rtl] .fd-menu__list--overflow::-webkit-scrollbar-track{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fd-menu__separator{background-color:var(--sapGroup_ContentBorderColor);border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:.0625rem;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;width:100%}.fd-menu__separator:after,.fd-menu__separator:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__item{background-color:var(--sapList_Background);border:0;border-radius:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;max-width:100%;padding-block:0;padding-inline:0;position:relative}.fd-menu__item:after,.fd-menu__item:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__item:first-child,.fd-menu__item:first-child .fd-menu__link:after{border-top-left-radius:var(--fdButton_Menu_Border_Radius);border-top-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu__item:last-of-type,.fd-menu__item:last-of-type .fd-menu__link:after{border-bottom-left-radius:var(--fdButton_Menu_Border_Radius);border-bottom-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu__item.has-separator{border-bottom:.0625rem solid var(--sapGroup_ContentBorderColor)}.fd-menu__link{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:var(--fdMenu_Item_Background_Color);border-bottom:.0625rem solid var(--fdMenu_Item_Border_Bottom_Color);border-radius:inherit;height:var(--fdMenu_Link_Height);outline:none;padding-inline:var(--fdMenu_Item_Spacing_Left) var(--fdMenu_Item_Spacing_Right);text-decoration:none;width:100%}.fd-menu__link:after,.fd-menu__link:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__link.is-focus:after,.fd-menu__link:focus:after{border-color:var(--sapContent_FocusColor);border-radius:0!important;border-style:var(--sapContent_FocusStyle);border-width:var(--sapContent_FocusWidth);content:\"\";inset:.125rem;pointer-events:none;position:absolute}.fd-menu__link.is-hover,.fd-menu__link:hover{--fdMenu_Item_Background_Color:var(--sapList_Hover_Background)}.fd-menu__link.is-selected,.fd-menu__link[aria-selected=true]{--fdMenu_Item_Background_Color:var(--sapList_SelectionBackgroundColor);--fdMenu_Icon_Color:var(--sapContent_NonInteractiveIconColor);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Selected);--fdMenu_Text_Color:var(--sapList_TextColor);--fdMenu_Item_Border_Bottom_Color:var(--sapList_SelectionBorderColor)}.fd-menu__link.is-selected.is-hover:not(:active,.is-active),.fd-menu__link.is-selected:hover:not(:active,.is-active),.fd-menu__link[aria-selected=true].is-hover:not(:active,.is-active),.fd-menu__link[aria-selected=true]:hover:not(:active,.is-active){--fdMenu_Item_Background_Color:var(--sapList_Hover_SelectionBackground);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Selected_Hover)}.fd-menu__link.is-selected.is-focus,.fd-menu__link.is-selected:focus,.fd-menu__link[aria-selected=true].is-focus,.fd-menu__link[aria-selected=true]:focus{z-index:5}.fd-menu__link.is-selected.is-focus:after,.fd-menu__link.is-selected:focus:after,.fd-menu__link[aria-selected=true].is-focus:after,.fd-menu__link[aria-selected=true]:focus:after{bottom:.125rem}.fd-menu__link.is-active,.fd-menu__link:active{--fdMenu_Item_Background_Color:var(--sapList_Active_Background);--fdMenu_Icon_Color:var(--sapList_Active_TextColor);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Active);--fdMenu_Text_Color:var(--fdMenu_Text_Color_Active)}.fd-menu__link.is-active:after,.fd-menu__link:active:after{display:none}.fd-menu__link.is-active.is-focus,.fd-menu__link.is-active:focus,.fd-menu__link:active.is-focus,.fd-menu__link:active:focus{outline-color:var(--fdMenu_Active_State_Focus);z-index:5}.fd-menu__link.is-disabled,.fd-menu__link:disabled,.fd-menu__link[aria-disabled=true]{opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-menu__link.is-disabled.is-focus,.fd-menu__link.is-disabled:focus,.fd-menu__link:disabled.is-focus,.fd-menu__link:disabled:focus,.fd-menu__link[aria-disabled=true].is-focus,.fd-menu__link[aria-disabled=true]:focus{z-index:5}.fd-menu__link.is-disabled.is-focus:after,.fd-menu__link.is-disabled:focus:after,.fd-menu__link:disabled.is-focus:after,.fd-menu__link:disabled:focus:after,.fd-menu__link[aria-disabled=true].is-focus:after,.fd-menu__link[aria-disabled=true]:focus:after{display:none}.fd-menu__link.has-child{--fdMenu_Item_Spacing_Right:0}.fd-menu__link.has-child.is-expanded:not(:active,.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active){--fdMenu_Item_Background_Color:var(--sapList_SelectionBackgroundColor);--fdMenu_Icon_Color:var(--sapContent_NonInteractiveIconColor);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Selected);--fdMenu_Text_Color:var(--sapList_TextColor);--fdMenu_Item_Border_Bottom_Color:var(--sapList_SelectionBorderColor)}.fd-menu__link.has-child.is-expanded:not(:active,.is-active).is-hover:not(:active,.is-active),.fd-menu__link.has-child.is-expanded:not(:active,.is-active):hover:not(:active,.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active).is-hover:not(:active,.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active):hover:not(:active,.is-active){--fdMenu_Item_Background_Color:var(--sapList_Hover_SelectionBackground);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Selected_Hover)}.fd-menu__link.has-child.is-expanded:not(:active,.is-active).is-focus,.fd-menu__link.has-child.is-expanded:not(:active,.is-active):focus,.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active).is-focus,.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active):focus{z-index:5}.fd-menu__link.has-child.is-expanded:not(:active,.is-active).is-focus:after,.fd-menu__link.has-child.is-expanded:not(:active,.is-active):focus:after,.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active).is-focus:after,.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active):focus:after{bottom:.125rem}.fd-menu__title{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--fdMenu_Text_Color);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;overflow:hidden;padding-block:0;padding-inline:0;text-align:left;text-overflow:ellipsis;text-shadow:var(--fdMenu_Text_Shadow);white-space:nowrap;width:100%}.fd-menu__title:after,.fd-menu__title:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__title[dir=rtl],[dir=rtl] .fd-menu__title{text-align:right}.fd-menu__title:has(+.fd-menu__input){min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.fd-menu__addon-after,.fd-menu__addon-before{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:transparent;color:var(--fdMenu_Icon_Color);font-size:var(--sapFontLargeSize);height:100%;max-width:var(--fdMenu_Icon_Width);min-width:var(--fdMenu_Icon_Width);text-shadow:var(--fdMenu_Text_Shadow);width:var(--fdMenu_Icon_Width)}.fd-menu__addon-after:after,.fd-menu__addon-after:before,.fd-menu__addon-before:after,.fd-menu__addon-before:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__addon-after [class*=sap-icon],.fd-menu__addon-after[class*=sap-icon],.fd-menu__addon-before [class*=sap-icon],.fd-menu__addon-before[class*=sap-icon]{background:inherit;border-radius:inherit;color:inherit;font-size:inherit;line-height:1}.fd-menu__addon-after--submenu{font-size:var(--fdMenu_Affordance_Arrow_Size)}.fd-menu__addon-after--submenu:before{content:\"\\e066\"}.fd-menu__addon-after--submenu:before,.fd-menu__addon-after--submenu[dir=rtl]:before,[dir=rtl] .fd-menu__addon-after--submenu:before{font-family:SAP-icons;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-menu__addon-after--submenu[dir=rtl]:before,[dir=rtl] .fd-menu__addon-after--submenu:before{content:\"\\e067\"}.fd-menu__active-dot{background:var(--sapContent_Selected_ForegroundColor);border:0;border-radius:100%;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--fdMenu_Active_Dot_Size);line-height:normal;margin-block:0;margin-inline:0;min-width:var(--fdMenu_Active_Dot_Size);padding-block:0;padding-inline:0;width:var(--fdMenu_Active_Dot_Size)}.fd-menu__active-dot:after,.fd-menu__active-dot:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__checkmark [class*=sap-icon],.fd-menu__checkmark[class*=sap-icon]{background:inherit;border-radius:inherit;color:inherit;color:var(--sapContent_Selected_ForegroundColor);font-size:inherit;font-size:1rem;line-height:1}.fd-menu__shortcut{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;overflow:hidden;padding-block:0;padding-inline:0;text-overflow:ellipsis;white-space:nowrap;-ms-flex-negative:0;color:var(--fdMenu_Shortcut_Color);flex-shrink:0;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;-webkit-padding-start:var(--fdMenu_Shortcut_Padding_Left);padding-inline-start:var(--fdMenu_Shortcut_Padding_Left)}.fd-menu__shortcut:after,.fd-menu__shortcut:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__shortcut:last-child{padding-inline:var(--fdMenu_Shortcut_Padding_Left) var(--fdMenu_Shortcut_Padding_Right)}.fd-menu--overflow{border-radius:var(--fdButton_Menu_Border_Radius);-webkit-box-shadow:var(--sapContent_Shadow1);box-shadow:var(--sapContent_Shadow1);overflow-y:scroll;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-menu--overflow.is-focus,.fd-menu--overflow:focus{outline:none;z-index:5}.fd-menu--overflow::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-menu--overflow::-webkit-scrollbar-corner,.fd-menu--overflow::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-menu--overflow::-webkit-scrollbar-thumb{background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-menu--overflow::-webkit-scrollbar-thumb:active,.fd-menu--overflow::-webkit-scrollbar-thumb:hover{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-menu--overflow::-webkit-scrollbar-corner,.fd-menu--overflow::-webkit-scrollbar-track{border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}.fd-menu--overflow[dir=rtl]::-webkit-scrollbar-corner,.fd-menu--overflow[dir=rtl]::-webkit-scrollbar-track,[dir=rtl] .fd-menu--overflow::-webkit-scrollbar-corner,[dir=rtl] .fd-menu--overflow::-webkit-scrollbar-track{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fd-menu--overflow .fd-menu__list{-webkit-box-shadow:none;box-shadow:none}.fd-menu--overflow .fd-menu__item:first-child{border-top-right-radius:0}.fd-menu--overflow .fd-menu__item:first-child[dir=rtl],[dir=rtl] .fd-menu--overflow .fd-menu__item:first-child{border-top-left-radius:0;border-top-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu--overflow .fd-menu__item:last-of-type{border-bottom-right-radius:0}.fd-menu--overflow .fd-menu__item:last-of-type[dir=rtl],[dir=rtl] .fd-menu--overflow .fd-menu__item:last-of-type{border-bottom-left-radius:0;border-bottom-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu--full-width{max-width:100%}.fd-menu--icons{--fdMenu_Item_Spacing_Left:0;--fdMenu_Item_Spacing_Right:0}.fd-menu--icons .fd-menu__title:first-child{-webkit-margin-start:var(--fdMenu_Icon_Width);margin-inline-start:var(--fdMenu_Icon_Width)}.fd-menu--icons .fd-menu__title:last-child{-webkit-margin-end:var(--fdMenu_Text_Spacing_Right);margin-inline-end:var(--fdMenu_Text_Spacing_Right)}.fd-menu--icons .fd-menu__title:only-child{margin-inline:var(--fdMenu_Icon_Width) var(--fdMenu_Text_Spacing_Right)}.fd-menu--icons .fd-menu__sublist{--fdMenu_Item_Spacing_Left:1rem;--fdMenu_Item_Spacing_Right:1rem}.fd-menu--icons .fd-menu__sublist .fd-menu__title:first-child{-webkit-margin-start:0;margin-inline-start:0}.fd-menu--icons .fd-menu__sublist .fd-menu__title:last-child{-webkit-margin-end:0;margin-inline-end:0}.fd-menu--icons .fd-menu__sublist .fd-menu__title:only-child{margin-inline:0}.fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons{--fdMenu_Item_Spacing_Left:0;--fdMenu_Item_Spacing_Right:0}.fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons .fd-menu__title:first-child{-webkit-margin-start:var(--fdMenu_Icon_Width);margin-inline-start:var(--fdMenu_Icon_Width)}.fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons .fd-menu__title:last-child{-webkit-margin-end:var(--fdMenu_Text_Spacing_Right);margin-inline-end:var(--fdMenu_Text_Spacing_Right)}.fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons .fd-menu__title:only-child{margin-inline:var(--fdMenu_Icon_Width) var(--fdMenu_Text_Spacing_Right)}.fd-menu--icons .fd-menu__input,.fd-menu--icons input{margin-inline:var(--fdMenu_Text_Spacing_Right) var(--fdMenu_Text_Spacing_Right)}.fd-menu--mobile{max-width:100%;width:100%;--fdMenu_Icon_Width:2.75rem;--fdMenu_Item_Spacing_Left:1rem;--fdMenu_Item_Spacing_Right:1rem;--fdMenu_Shortcut_Padding_Right:1rem;--fdMenu_Text_Spacing_Right:1rem}.fd-menu--mobile .fd-menu__list,.fd-menu--mobile .fd-menu__sublist{border-radius:0;-webkit-box-shadow:none;box-shadow:none;margin-block:0;margin-inline:0;position:static}.fd-menu--mobile .fd-menu__list .fd-menu__item,.fd-menu--mobile .fd-menu__sublist .fd-menu__item{border-radius:0}.fd-menu--mobile.fd-menu--icons{--fdMenu_Item_Spacing_Left:0;--fdMenu_Item_Spacing_Right:0}.fd-menu--mobile.fd-menu--icons .fd-menu__input,.fd-menu--mobile.fd-menu--icons input{margin-inline:1rem}.fd-menu[class*=-compact],.fd-menu[class*=-condensed],[class*=-compact] .fd-menu:not([class*=-cozy]),[class*=-condensed] .fd-menu:not([class*=-cozy]){--fdMenu_Icon_Width:2rem;--fdMenu_Link_Height:2rem;--fdMenu_Item_Spacing_Left:.5rem;--fdMenu_Item_Spacing_Right:.5rem;--fdMenu_Shortcut_Padding_Right:.5rem;--fdMenu_Text_Spacing_Right:.5rem}.fd-menu[class*=-compact].fd-menu--icons,.fd-menu[class*=-condensed].fd-menu--icons,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons,[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons{--fdMenu_Item_Spacing_Left:0;--fdMenu_Item_Spacing_Right:0}.fd-menu[class*=-compact].fd-menu--icons .fd-menu__input,.fd-menu[class*=-compact].fd-menu--icons input,.fd-menu[class*=-condensed].fd-menu--icons .fd-menu__input,.fd-menu[class*=-condensed].fd-menu--icons input,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__input,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons input,[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__input,[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons input{margin-inline:.5rem}.fd-menu[class*=-compact].fd-menu--icons .fd-menu__sublist,.fd-menu[class*=-condensed].fd-menu--icons .fd-menu__sublist,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__sublist,[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__sublist{--fdMenu_Item_Spacing_Left:.5rem;--fdMenu_Item_Spacing_Right:.5rem}.fd-menu[class*=-compact].fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons,.fd-menu[class*=-condensed].fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons,[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons{--fdMenu_Item_Spacing_Left:0;--fdMenu_Item_Spacing_Right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;display:flex;max-width:100%;max-height:100%;z-index:1000}.cdk-overlay-backdrop{position:absolute;inset:0;pointer-events:auto;-webkit-tap-highlight-color:rgba(0,0,0,0);opacity:0;touch-action:manipulation;z-index:1000;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}@media(prefers-reduced-motion){.cdk-overlay-backdrop{transition-duration:1ms}}.cdk-overlay-backdrop-showing{opacity:1}@media(forced-colors:active){.cdk-overlay-backdrop-showing{opacity:.6}}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing,.cdk-high-contrast-active .cdk-overlay-transparent-backdrop{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;display:flex;flex-direction:column;min-width:1px;min-height:1px;z-index:1000}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.cdk-overlay-popover{background:none;border:none;padding:0;outline:0;overflow:visible;position:fixed;pointer-events:none;white-space:normal;color:inherit;text-decoration:none;width:100%;height:100%;inset:0 auto auto 0}.cdk-overlay-popover::backdrop{display:none}.cdk-overlay-popover .cdk-overlay-backdrop{position:fixed;z-index:auto}.fd-menu-popover__body--static{position:static}\n/*! Bundled license information:\n\nfundamental-styles/dist/menu.css:\n (*!\n * Fundamental Library Styles v0.40.1\n * Copyright (c) 2025 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *)\n*/\n"] }]
287
- }], ctorParameters: () => [{ type: i1.RtlService, decorators: [{
288
- type: Optional
289
- }] }, { type: i2.ContentDensityObserver }], propDecorators: { id: [{
277
+ args: [{ selector: 'fdp-menu', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [contentDensityObserverProviders()], template: "<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", styles: [".fd-dialog__body{--fdButton_Menu_Border_Radius:0}.fd-menu{--fdMenu_Icon_Width:2.25rem;--fdMenu_Link_Height:2.75rem;--fdMenu_Item_Spacing_Left:.75rem;--fdMenu_Item_Spacing_Right:.75rem;--fdMenu_Item_Border_Bottom_Color:transparent;--fdMenu_Shortcut_Padding_Left:1rem;--fdMenu_Shortcut_Padding_Right:.75rem;--fdMenu_Text_Spacing_Right:.75rem;--fdMenu_Icon_Color:var(--sapContent_NonInteractiveIconColor);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Regular);--fdMenu_Text_Color:var(--sapList_TextColor);--fdMenu_Item_Background_Color:var(--sapList_Background);--fdMenu_Active_Dot_Size:.75rem;border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.fd-menu:after,.fd-menu:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__list,.fd-menu__sublist{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;border-radius:var(--fdButton_Menu_Border_Radius);-webkit-box-shadow:var(--sapContent_Shadow1);box-shadow:var(--sapContent_Shadow1);-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:wrap;flex-wrap:wrap;list-style:none;max-width:20rem}.fd-menu__list:after,.fd-menu__list:before,.fd-menu__sublist:after,.fd-menu__sublist:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__list--no-shadow,.fd-menu__sublist--no-shadow{-webkit-box-shadow:none;box-shadow:none}.fd-menu__sublist{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;left:100%;line-height:normal;margin-block:0;margin-block:.25rem 0;margin-inline:0;margin-inline:-.25rem 0;min-width:100%;padding-block:0;padding-inline:0;position:absolute;top:0;z-index:2}.fd-menu__sublist:after,.fd-menu__sublist:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__sublist[dir=rtl],[dir=rtl] .fd-menu__sublist{left:auto;right:100%}.fd-menu__sublist[aria-hidden=true]{display:none}.fd-menu__list>.fd-menu__item{position:relative;width:100%}.fd-menu__list--overflow{-ms-flex-wrap:nowrap;flex-wrap:nowrap;overflow-y:scroll;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-menu__list--overflow.is-focus,.fd-menu__list--overflow:focus{outline:none;z-index:5}.fd-menu__list--overflow::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-menu__list--overflow::-webkit-scrollbar-corner,.fd-menu__list--overflow::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-menu__list--overflow::-webkit-scrollbar-thumb{background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-menu__list--overflow::-webkit-scrollbar-thumb:active,.fd-menu__list--overflow::-webkit-scrollbar-thumb:hover{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-menu__list--overflow::-webkit-scrollbar-corner,.fd-menu__list--overflow::-webkit-scrollbar-track{border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}.fd-menu__list--overflow[dir=rtl]::-webkit-scrollbar-corner,.fd-menu__list--overflow[dir=rtl]::-webkit-scrollbar-track,[dir=rtl] .fd-menu__list--overflow::-webkit-scrollbar-corner,[dir=rtl] .fd-menu__list--overflow::-webkit-scrollbar-track{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fd-menu__separator{background-color:var(--sapGroup_ContentBorderColor);border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:.0625rem;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;width:100%}.fd-menu__separator:after,.fd-menu__separator:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__item{background-color:var(--sapList_Background);border:0;border-radius:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;max-width:100%;padding-block:0;padding-inline:0;position:relative}.fd-menu__item:after,.fd-menu__item:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__item:first-child,.fd-menu__item:first-child .fd-menu__link:after{border-top-left-radius:var(--fdButton_Menu_Border_Radius);border-top-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu__item:last-of-type,.fd-menu__item:last-of-type .fd-menu__link:after{border-bottom-left-radius:var(--fdButton_Menu_Border_Radius);border-bottom-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu__item.has-separator{border-bottom:.0625rem solid var(--sapGroup_ContentBorderColor)}.fd-menu__link{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:var(--fdMenu_Item_Background_Color);border-bottom:.0625rem solid var(--fdMenu_Item_Border_Bottom_Color);border-radius:inherit;height:var(--fdMenu_Link_Height);outline:none;padding-inline:var(--fdMenu_Item_Spacing_Left) var(--fdMenu_Item_Spacing_Right);text-decoration:none;width:100%}.fd-menu__link:after,.fd-menu__link:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__link.is-focus:after,.fd-menu__link:focus:after{border-color:var(--sapContent_FocusColor);border-radius:0!important;border-style:var(--sapContent_FocusStyle);border-width:var(--sapContent_FocusWidth);content:\"\";inset:.125rem;pointer-events:none;position:absolute}.fd-menu__link.is-hover,.fd-menu__link:hover{--fdMenu_Item_Background_Color:var(--sapList_Hover_Background)}.fd-menu__link.is-selected,.fd-menu__link[aria-selected=true]{--fdMenu_Item_Background_Color:var(--sapList_SelectionBackgroundColor);--fdMenu_Icon_Color:var(--sapContent_NonInteractiveIconColor);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Selected);--fdMenu_Text_Color:var(--sapList_TextColor);--fdMenu_Item_Border_Bottom_Color:var(--sapList_SelectionBorderColor)}.fd-menu__link.is-selected.is-hover:not(:active,.is-active),.fd-menu__link.is-selected:hover:not(:active,.is-active),.fd-menu__link[aria-selected=true].is-hover:not(:active,.is-active),.fd-menu__link[aria-selected=true]:hover:not(:active,.is-active){--fdMenu_Item_Background_Color:var(--sapList_Hover_SelectionBackground);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Selected_Hover)}.fd-menu__link.is-selected.is-focus,.fd-menu__link.is-selected:focus,.fd-menu__link[aria-selected=true].is-focus,.fd-menu__link[aria-selected=true]:focus{z-index:5}.fd-menu__link.is-selected.is-focus:after,.fd-menu__link.is-selected:focus:after,.fd-menu__link[aria-selected=true].is-focus:after,.fd-menu__link[aria-selected=true]:focus:after{bottom:.125rem}.fd-menu__link.is-active,.fd-menu__link:active{--fdMenu_Item_Background_Color:var(--sapList_Active_Background);--fdMenu_Icon_Color:var(--sapList_Active_TextColor);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Active);--fdMenu_Text_Color:var(--fdMenu_Text_Color_Active)}.fd-menu__link.is-active:after,.fd-menu__link:active:after{display:none}.fd-menu__link.is-active.is-focus,.fd-menu__link.is-active:focus,.fd-menu__link:active.is-focus,.fd-menu__link:active:focus{outline-color:var(--fdMenu_Active_State_Focus);z-index:5}.fd-menu__link.is-disabled,.fd-menu__link:disabled,.fd-menu__link[aria-disabled=true]{opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-menu__link.is-disabled.is-focus,.fd-menu__link.is-disabled:focus,.fd-menu__link:disabled.is-focus,.fd-menu__link:disabled:focus,.fd-menu__link[aria-disabled=true].is-focus,.fd-menu__link[aria-disabled=true]:focus{z-index:5}.fd-menu__link.is-disabled.is-focus:after,.fd-menu__link.is-disabled:focus:after,.fd-menu__link:disabled.is-focus:after,.fd-menu__link:disabled:focus:after,.fd-menu__link[aria-disabled=true].is-focus:after,.fd-menu__link[aria-disabled=true]:focus:after{display:none}.fd-menu__link.has-child{--fdMenu_Item_Spacing_Right:0}.fd-menu__link.has-child.is-expanded:not(:active,.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active){--fdMenu_Item_Background_Color:var(--sapList_SelectionBackgroundColor);--fdMenu_Icon_Color:var(--sapContent_NonInteractiveIconColor);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Selected);--fdMenu_Text_Color:var(--sapList_TextColor);--fdMenu_Item_Border_Bottom_Color:var(--sapList_SelectionBorderColor)}.fd-menu__link.has-child.is-expanded:not(:active,.is-active).is-hover:not(:active,.is-active),.fd-menu__link.has-child.is-expanded:not(:active,.is-active):hover:not(:active,.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active).is-hover:not(:active,.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active):hover:not(:active,.is-active){--fdMenu_Item_Background_Color:var(--sapList_Hover_SelectionBackground);--fdMenu_Shortcut_Color:var(--fdMenu_Shortcut_Color_Selected_Hover)}.fd-menu__link.has-child.is-expanded:not(:active,.is-active).is-focus,.fd-menu__link.has-child.is-expanded:not(:active,.is-active):focus,.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active).is-focus,.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active):focus{z-index:5}.fd-menu__link.has-child.is-expanded:not(:active,.is-active).is-focus:after,.fd-menu__link.has-child.is-expanded:not(:active,.is-active):focus:after,.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active).is-focus:after,.fd-menu__link.has-child[aria-expanded=true]:not(:active,.is-active):focus:after{bottom:.125rem}.fd-menu__title{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--fdMenu_Text_Color);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;overflow:hidden;padding-block:0;padding-inline:0;text-align:left;text-overflow:ellipsis;text-shadow:var(--fdMenu_Text_Shadow);white-space:nowrap;width:100%}.fd-menu__title:after,.fd-menu__title:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__title[dir=rtl],[dir=rtl] .fd-menu__title{text-align:right}.fd-menu__title:has(+.fd-menu__input){min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.fd-menu__addon-after,.fd-menu__addon-before{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:transparent;color:var(--fdMenu_Icon_Color);font-size:var(--sapFontLargeSize);height:100%;max-width:var(--fdMenu_Icon_Width);min-width:var(--fdMenu_Icon_Width);text-shadow:var(--fdMenu_Text_Shadow);width:var(--fdMenu_Icon_Width)}.fd-menu__addon-after:after,.fd-menu__addon-after:before,.fd-menu__addon-before:after,.fd-menu__addon-before:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__addon-after [class*=sap-icon],.fd-menu__addon-after[class*=sap-icon],.fd-menu__addon-before [class*=sap-icon],.fd-menu__addon-before[class*=sap-icon]{background:inherit;border-radius:inherit;color:inherit;font-size:inherit;line-height:1}.fd-menu__addon-after--submenu{font-size:var(--fdMenu_Affordance_Arrow_Size)}.fd-menu__addon-after--submenu:before{content:\"\\e066\"}.fd-menu__addon-after--submenu:before,.fd-menu__addon-after--submenu[dir=rtl]:before,[dir=rtl] .fd-menu__addon-after--submenu:before{font-family:SAP-icons;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-menu__addon-after--submenu[dir=rtl]:before,[dir=rtl] .fd-menu__addon-after--submenu:before{content:\"\\e067\"}.fd-menu__active-dot{background:var(--sapContent_Selected_ForegroundColor);border:0;border-radius:100%;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--fdMenu_Active_Dot_Size);line-height:normal;margin-block:0;margin-inline:0;min-width:var(--fdMenu_Active_Dot_Size);padding-block:0;padding-inline:0;width:var(--fdMenu_Active_Dot_Size)}.fd-menu__active-dot:after,.fd-menu__active-dot:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__checkmark [class*=sap-icon],.fd-menu__checkmark[class*=sap-icon]{background:inherit;border-radius:inherit;color:inherit;color:var(--sapContent_Selected_ForegroundColor);font-size:inherit;font-size:1rem;line-height:1}.fd-menu__shortcut{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;overflow:hidden;padding-block:0;padding-inline:0;text-overflow:ellipsis;white-space:nowrap;-ms-flex-negative:0;color:var(--fdMenu_Shortcut_Color);flex-shrink:0;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;-webkit-padding-start:var(--fdMenu_Shortcut_Padding_Left);padding-inline-start:var(--fdMenu_Shortcut_Padding_Left)}.fd-menu__shortcut:after,.fd-menu__shortcut:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-menu__shortcut:last-child{padding-inline:var(--fdMenu_Shortcut_Padding_Left) var(--fdMenu_Shortcut_Padding_Right)}.fd-menu--overflow{border-radius:var(--fdButton_Menu_Border_Radius);-webkit-box-shadow:var(--sapContent_Shadow1);box-shadow:var(--sapContent_Shadow1);overflow-y:scroll;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-menu--overflow.is-focus,.fd-menu--overflow:focus{outline:none;z-index:5}.fd-menu--overflow::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-menu--overflow::-webkit-scrollbar-corner,.fd-menu--overflow::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-menu--overflow::-webkit-scrollbar-thumb{background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-menu--overflow::-webkit-scrollbar-thumb:active,.fd-menu--overflow::-webkit-scrollbar-thumb:hover{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-menu--overflow::-webkit-scrollbar-corner,.fd-menu--overflow::-webkit-scrollbar-track{border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}.fd-menu--overflow[dir=rtl]::-webkit-scrollbar-corner,.fd-menu--overflow[dir=rtl]::-webkit-scrollbar-track,[dir=rtl] .fd-menu--overflow::-webkit-scrollbar-corner,[dir=rtl] .fd-menu--overflow::-webkit-scrollbar-track{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fd-menu--overflow .fd-menu__list{-webkit-box-shadow:none;box-shadow:none}.fd-menu--overflow .fd-menu__item:first-child{border-top-right-radius:0}.fd-menu--overflow .fd-menu__item:first-child[dir=rtl],[dir=rtl] .fd-menu--overflow .fd-menu__item:first-child{border-top-left-radius:0;border-top-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu--overflow .fd-menu__item:last-of-type{border-bottom-right-radius:0}.fd-menu--overflow .fd-menu__item:last-of-type[dir=rtl],[dir=rtl] .fd-menu--overflow .fd-menu__item:last-of-type{border-bottom-left-radius:0;border-bottom-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu--full-width{max-width:100%}.fd-menu--icons{--fdMenu_Item_Spacing_Left:0;--fdMenu_Item_Spacing_Right:0}.fd-menu--icons .fd-menu__title:first-child{-webkit-margin-start:var(--fdMenu_Icon_Width);margin-inline-start:var(--fdMenu_Icon_Width)}.fd-menu--icons .fd-menu__title:last-child{-webkit-margin-end:var(--fdMenu_Text_Spacing_Right);margin-inline-end:var(--fdMenu_Text_Spacing_Right)}.fd-menu--icons .fd-menu__title:only-child{margin-inline:var(--fdMenu_Icon_Width) var(--fdMenu_Text_Spacing_Right)}.fd-menu--icons .fd-menu__sublist{--fdMenu_Item_Spacing_Left:1rem;--fdMenu_Item_Spacing_Right:1rem}.fd-menu--icons .fd-menu__sublist .fd-menu__title:first-child{-webkit-margin-start:0;margin-inline-start:0}.fd-menu--icons .fd-menu__sublist .fd-menu__title:last-child{-webkit-margin-end:0;margin-inline-end:0}.fd-menu--icons .fd-menu__sublist .fd-menu__title:only-child{margin-inline:0}.fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons{--fdMenu_Item_Spacing_Left:0;--fdMenu_Item_Spacing_Right:0}.fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons .fd-menu__title:first-child{-webkit-margin-start:var(--fdMenu_Icon_Width);margin-inline-start:var(--fdMenu_Icon_Width)}.fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons .fd-menu__title:last-child{-webkit-margin-end:var(--fdMenu_Text_Spacing_Right);margin-inline-end:var(--fdMenu_Text_Spacing_Right)}.fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons .fd-menu__title:only-child{margin-inline:var(--fdMenu_Icon_Width) var(--fdMenu_Text_Spacing_Right)}.fd-menu--icons .fd-menu__input,.fd-menu--icons input{margin-inline:var(--fdMenu_Text_Spacing_Right) var(--fdMenu_Text_Spacing_Right)}.fd-menu--mobile{max-width:100%;width:100%;--fdMenu_Icon_Width:2.75rem;--fdMenu_Item_Spacing_Left:1rem;--fdMenu_Item_Spacing_Right:1rem;--fdMenu_Shortcut_Padding_Right:1rem;--fdMenu_Text_Spacing_Right:1rem}.fd-menu--mobile .fd-menu__list,.fd-menu--mobile .fd-menu__sublist{border-radius:0;-webkit-box-shadow:none;box-shadow:none;margin-block:0;margin-inline:0;position:static}.fd-menu--mobile .fd-menu__list .fd-menu__item,.fd-menu--mobile .fd-menu__sublist .fd-menu__item{border-radius:0}.fd-menu--mobile.fd-menu--icons{--fdMenu_Item_Spacing_Left:0;--fdMenu_Item_Spacing_Right:0}.fd-menu--mobile.fd-menu--icons .fd-menu__input,.fd-menu--mobile.fd-menu--icons input{margin-inline:1rem}.fd-menu[class*=-compact],.fd-menu[class*=-condensed],[class*=-compact] .fd-menu:not([class*=-cozy]),[class*=-condensed] .fd-menu:not([class*=-cozy]){--fdMenu_Icon_Width:2rem;--fdMenu_Link_Height:2rem;--fdMenu_Item_Spacing_Left:.5rem;--fdMenu_Item_Spacing_Right:.5rem;--fdMenu_Shortcut_Padding_Right:.5rem;--fdMenu_Text_Spacing_Right:.5rem}.fd-menu[class*=-compact].fd-menu--icons,.fd-menu[class*=-condensed].fd-menu--icons,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons,[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons{--fdMenu_Item_Spacing_Left:0;--fdMenu_Item_Spacing_Right:0}.fd-menu[class*=-compact].fd-menu--icons .fd-menu__input,.fd-menu[class*=-compact].fd-menu--icons input,.fd-menu[class*=-condensed].fd-menu--icons .fd-menu__input,.fd-menu[class*=-condensed].fd-menu--icons input,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__input,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons input,[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__input,[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons input{margin-inline:.5rem}.fd-menu[class*=-compact].fd-menu--icons .fd-menu__sublist,.fd-menu[class*=-condensed].fd-menu--icons .fd-menu__sublist,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__sublist,[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__sublist{--fdMenu_Item_Spacing_Left:.5rem;--fdMenu_Item_Spacing_Right:.5rem}.fd-menu[class*=-compact].fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons,.fd-menu[class*=-condensed].fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons,[class*=-compact] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons,[class*=-condensed] .fd-menu:not([class*=-cozy]).fd-menu--icons .fd-menu__sublist.fd-menu__sublist--icons{--fdMenu_Item_Spacing_Left:0;--fdMenu_Item_Spacing_Right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;display:flex;max-width:100%;max-height:100%;z-index:1000}.cdk-overlay-backdrop{position:absolute;inset:0;pointer-events:auto;-webkit-tap-highlight-color:rgba(0,0,0,0);opacity:0;touch-action:manipulation;z-index:1000;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}@media(prefers-reduced-motion){.cdk-overlay-backdrop{transition-duration:1ms}}.cdk-overlay-backdrop-showing{opacity:1}@media(forced-colors:active){.cdk-overlay-backdrop-showing{opacity:.6}}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing,.cdk-high-contrast-active .cdk-overlay-transparent-backdrop{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;display:flex;flex-direction:column;min-width:1px;min-height:1px;z-index:1000}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.cdk-overlay-popover{background:none;border:none;padding:0;outline:0;overflow:visible;position:fixed;pointer-events:none;white-space:normal;color:inherit;text-decoration:none;width:100%;height:100%;inset:0 auto auto 0}.cdk-overlay-popover::backdrop{display:none}.cdk-overlay-popover .cdk-overlay-backdrop{position:fixed;z-index:auto}.fd-menu-popover__body--static{position:static}\n/*! Bundled license information:\n\nfundamental-styles/dist/menu.css:\n (*!\n * Fundamental Library Styles v0.40.1\n * Copyright (c) 2025 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *)\n*/\n"] }]
278
+ }], ctorParameters: () => [], propDecorators: { id: [{
290
279
  type: Input
291
280
  }], openByArrowKeys: [{
292
281
  type: Input
@@ -625,7 +614,7 @@ class MenuTriggerDirective {
625
614
  _isMenuItem() {
626
615
  return !!(this._parentMenu && this._menuItem);
627
616
  }
628
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: MenuTriggerDirective, deps: [{ token: i0.ElementRef }, { token: i1$1.Overlay }, { token: i0.ViewContainerRef }, { token: MenuItemComponent, optional: true, self: true }, { token: MenuComponent, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
617
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: MenuTriggerDirective, deps: [{ token: i0.ElementRef }, { token: i1.Overlay }, { token: i0.ViewContainerRef }, { token: MenuItemComponent, optional: true, self: true }, { token: MenuComponent, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
629
618
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.0", type: MenuTriggerDirective, isStandalone: true, selector: "[fdpMenuTriggerFor]", inputs: { menu: ["fdpMenuTriggerFor", "menu"] }, host: { attributes: { "aria-haspopup": "menu" }, listeners: { "click": "_onTriggerClick($event)", "keydown": "_onTriggerKeydown($event)" }, properties: { "attr.aria-expanded": "isMenuOpen || null", "attr.aria-controls": "isMenuOpen ? menu.menuId : null" } }, ngImport: i0 }); }
630
619
  }
631
620
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: MenuTriggerDirective, decorators: [{
@@ -639,7 +628,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
639
628
  },
640
629
  standalone: true
641
630
  }]
642
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1$1.Overlay }, { type: i0.ViewContainerRef }, { type: MenuItemComponent, decorators: [{
631
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.Overlay }, { type: i0.ViewContainerRef }, { type: MenuItemComponent, decorators: [{
643
632
  type: Optional
644
633
  }, {
645
634
  type: Self
@@ -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 protected _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 protected _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 protected _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/**\n * @deprecated\n * Use direct imports of components and directives.\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 protected _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 protected _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 protected _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 computed,\n ContentChildren,\n EventEmitter,\n inject,\n Input,\n OnDestroy,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { merge, Observable, Subscription } 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})\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 /** @hidden */\n menuId: string;\n\n /** @hidden */\n readonly contentDensityObserver = inject(ContentDensityObserver);\n\n /** Menu direction */\n protected readonly direction = computed(() => (this._rtlService?.rtl() ? 'rtl' : 'ltr'));\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 readonly _rtlService = inject(RtlService, { optional: true });\n\n /** @hidden */\n constructor() {\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._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/**\n * @deprecated\n * Use direct imports of components and directives.\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":["i2.MenuItemComponent","i3.MenuComponent"],"mappings":"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"}