@fundamental-ngx/core 0.35.5-rc.6 → 0.35.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) hide show
  1. package/action-bar/package.json +1 -1
  2. package/action-sheet/package.json +1 -1
  3. package/alert/package.json +1 -1
  4. package/avatar/package.json +1 -1
  5. package/avatar-group/package.json +1 -1
  6. package/bar/package.json +1 -1
  7. package/breadcrumb/esm2020/breadcrumb.component.mjs +1 -1
  8. package/breadcrumb/fesm2015/fundamental-ngx-core-breadcrumb.mjs +1 -1
  9. package/breadcrumb/fesm2020/fundamental-ngx-core-breadcrumb.mjs +1 -1
  10. package/breadcrumb/package.json +1 -1
  11. package/busy-indicator/package.json +1 -1
  12. package/button/package.json +1 -1
  13. package/calendar/package.json +1 -1
  14. package/card/package.json +1 -1
  15. package/carousel/package.json +1 -1
  16. package/checkbox/package.json +1 -1
  17. package/combobox/package.json +1 -1
  18. package/content-density/package.json +4 -4
  19. package/date-picker/date-picker.component.d.ts +1 -10
  20. package/date-picker/date-picker.module.d.ts +2 -3
  21. package/date-picker/esm2020/date-picker.component.mjs +6 -30
  22. package/date-picker/esm2020/date-picker.module.mjs +1 -5
  23. package/date-picker/fesm2015/fundamental-ngx-core-date-picker.mjs +5 -33
  24. package/date-picker/fesm2015/fundamental-ngx-core-date-picker.mjs.map +1 -1
  25. package/date-picker/fesm2020/fundamental-ngx-core-date-picker.mjs +5 -33
  26. package/date-picker/fesm2020/fundamental-ngx-core-date-picker.mjs.map +1 -1
  27. package/date-picker/package.json +1 -1
  28. package/datetime/package.json +1 -1
  29. package/datetime-picker/package.json +1 -1
  30. package/dialog/package.json +1 -1
  31. package/dynamic-page/package.json +1 -1
  32. package/dynamic-side-content/package.json +1 -1
  33. package/esm2020/breadcrumb/breadcrumb.component.mjs +1 -1
  34. package/esm2020/date-picker/date-picker.component.mjs +6 -30
  35. package/esm2020/date-picker/date-picker.module.mjs +1 -5
  36. package/esm2020/menu/menu-item/menu-item.component.mjs +43 -7
  37. package/esm2020/menu/menu.component.mjs +37 -34
  38. package/esm2020/menu/services/menu.service.mjs +14 -13
  39. package/esm2020/shellbar/product-menu/product-menu.component.mjs +1 -1
  40. package/esm2020/shellbar/user-menu/shellbar-user-menu.component.mjs +1 -1
  41. package/esm2020/split-button/split-button.component.mjs +6 -6
  42. package/esm2020/tabs/tab-list.component.mjs +1 -1
  43. package/esm2020/time/time-column/time-column.component.mjs +2 -12
  44. package/esm2020/tree/tree-child.component.mjs +2 -2
  45. package/facets/package.json +1 -1
  46. package/feed-input/package.json +1 -1
  47. package/feed-list-item/package.json +1 -1
  48. package/fesm2015/fundamental-ngx-core-breadcrumb.mjs +1 -1
  49. package/fesm2015/fundamental-ngx-core-date-picker.mjs +5 -33
  50. package/fesm2015/fundamental-ngx-core-date-picker.mjs.map +1 -1
  51. package/fesm2015/fundamental-ngx-core-menu.mjs +90 -50
  52. package/fesm2015/fundamental-ngx-core-menu.mjs.map +1 -1
  53. package/fesm2015/fundamental-ngx-core-shellbar.mjs +2 -2
  54. package/fesm2015/fundamental-ngx-core-split-button.mjs +5 -5
  55. package/fesm2015/fundamental-ngx-core-split-button.mjs.map +1 -1
  56. package/fesm2015/fundamental-ngx-core-tabs.mjs +1 -1
  57. package/fesm2015/fundamental-ngx-core-time.mjs +1 -11
  58. package/fesm2015/fundamental-ngx-core-time.mjs.map +1 -1
  59. package/fesm2015/fundamental-ngx-core-tree.mjs +1 -1
  60. package/fesm2015/fundamental-ngx-core-tree.mjs.map +1 -1
  61. package/fesm2020/fundamental-ngx-core-breadcrumb.mjs +1 -1
  62. package/fesm2020/fundamental-ngx-core-date-picker.mjs +5 -33
  63. package/fesm2020/fundamental-ngx-core-date-picker.mjs.map +1 -1
  64. package/fesm2020/fundamental-ngx-core-menu.mjs +90 -50
  65. package/fesm2020/fundamental-ngx-core-menu.mjs.map +1 -1
  66. package/fesm2020/fundamental-ngx-core-shellbar.mjs +2 -2
  67. package/fesm2020/fundamental-ngx-core-split-button.mjs +5 -5
  68. package/fesm2020/fundamental-ngx-core-split-button.mjs.map +1 -1
  69. package/fesm2020/fundamental-ngx-core-tabs.mjs +1 -1
  70. package/fesm2020/fundamental-ngx-core-time.mjs +1 -11
  71. package/fesm2020/fundamental-ngx-core-time.mjs.map +1 -1
  72. package/fesm2020/fundamental-ngx-core-tree.mjs +1 -1
  73. package/fesm2020/fundamental-ngx-core-tree.mjs.map +1 -1
  74. package/file-uploader/package.json +1 -1
  75. package/fixed-card-layout/package.json +1 -1
  76. package/flexible-column-layout/package.json +1 -1
  77. package/form/package.json +1 -1
  78. package/formatted-text/package.json +1 -1
  79. package/grid-list/package.json +1 -1
  80. package/icon/package.json +1 -1
  81. package/illustrated-message/package.json +1 -1
  82. package/infinite-scroll/package.json +1 -1
  83. package/info-label/package.json +1 -1
  84. package/inline-help/package.json +1 -1
  85. package/input-group/package.json +1 -1
  86. package/layout-grid/package.json +1 -1
  87. package/layout-panel/package.json +1 -1
  88. package/link/package.json +1 -1
  89. package/list/package.json +1 -1
  90. package/menu/esm2020/menu-item/menu-item.component.mjs +43 -7
  91. package/menu/esm2020/menu.component.mjs +37 -34
  92. package/menu/esm2020/services/menu.service.mjs +14 -13
  93. package/menu/fesm2015/fundamental-ngx-core-menu.mjs +90 -50
  94. package/menu/fesm2015/fundamental-ngx-core-menu.mjs.map +1 -1
  95. package/menu/fesm2020/fundamental-ngx-core-menu.mjs +90 -50
  96. package/menu/fesm2020/fundamental-ngx-core-menu.mjs.map +1 -1
  97. package/menu/menu-item/menu-item.component.d.ts +27 -7
  98. package/menu/menu.component.d.ts +10 -10
  99. package/menu/package.json +1 -1
  100. package/menu/services/menu.service.d.ts +3 -3
  101. package/message-box/package.json +1 -1
  102. package/message-strip/package.json +1 -1
  103. package/message-toast/package.json +1 -1
  104. package/micro-process-flow/package.json +1 -1
  105. package/mobile-mode/package.json +1 -1
  106. package/multi-input/package.json +1 -1
  107. package/nested-list/package.json +1 -1
  108. package/notification/package.json +1 -1
  109. package/object-identifier/package.json +1 -1
  110. package/object-marker/package.json +1 -1
  111. package/object-number/package.json +1 -1
  112. package/object-status/package.json +1 -1
  113. package/overflow-layout/package.json +14 -14
  114. package/package.json +2 -2
  115. package/pagination/package.json +1 -1
  116. package/panel/package.json +1 -1
  117. package/popover/package.json +1 -1
  118. package/product-switch/package.json +1 -1
  119. package/progress-indicator/package.json +1 -1
  120. package/quick-view/package.json +1 -1
  121. package/radio/package.json +1 -1
  122. package/rating-indicator/package.json +1 -1
  123. package/resizable-card-layout/package.json +1 -1
  124. package/scroll-spy/package.json +1 -1
  125. package/scrollbar/package.json +1 -1
  126. package/segmented-button/package.json +1 -1
  127. package/select/package.json +1 -1
  128. package/shared/package.json +1 -1
  129. package/shellbar/esm2020/product-menu/product-menu.component.mjs +1 -1
  130. package/shellbar/esm2020/user-menu/shellbar-user-menu.component.mjs +1 -1
  131. package/shellbar/fesm2015/fundamental-ngx-core-shellbar.mjs +2 -2
  132. package/shellbar/fesm2020/fundamental-ngx-core-shellbar.mjs +2 -2
  133. package/shellbar/package.json +1 -1
  134. package/side-navigation/package.json +1 -1
  135. package/slider/package.json +1 -1
  136. package/split-button/esm2020/split-button.component.mjs +6 -6
  137. package/split-button/fesm2015/fundamental-ngx-core-split-button.mjs +5 -5
  138. package/split-button/fesm2015/fundamental-ngx-core-split-button.mjs.map +1 -1
  139. package/split-button/fesm2020/fundamental-ngx-core-split-button.mjs +5 -5
  140. package/split-button/fesm2020/fundamental-ngx-core-split-button.mjs.map +1 -1
  141. package/split-button/package.json +1 -1
  142. package/splitter/package.json +1 -1
  143. package/status-indicator/package.json +1 -1
  144. package/step-input/package.json +1 -1
  145. package/switch/package.json +1 -1
  146. package/table/package.json +1 -1
  147. package/tabs/esm2020/tab-list.component.mjs +1 -1
  148. package/tabs/fesm2015/fundamental-ngx-core-tabs.mjs +1 -1
  149. package/tabs/fesm2020/fundamental-ngx-core-tabs.mjs +1 -1
  150. package/tabs/package.json +1 -1
  151. package/text/package.json +1 -1
  152. package/theming/package.json +1 -1
  153. package/tile/package.json +1 -1
  154. package/time/esm2020/time-column/time-column.component.mjs +2 -12
  155. package/time/fesm2015/fundamental-ngx-core-time.mjs +1 -11
  156. package/time/fesm2015/fundamental-ngx-core-time.mjs.map +1 -1
  157. package/time/fesm2020/fundamental-ngx-core-time.mjs +1 -11
  158. package/time/fesm2020/fundamental-ngx-core-time.mjs.map +1 -1
  159. package/time/package.json +1 -1
  160. package/time/time-column/time-column.component.d.ts +0 -2
  161. package/time-picker/package.json +1 -1
  162. package/timeline/package.json +1 -1
  163. package/title/package.json +1 -1
  164. package/token/package.json +1 -1
  165. package/toolbar/package.json +1 -1
  166. package/tree/esm2020/tree-child.component.mjs +2 -2
  167. package/tree/fesm2015/fundamental-ngx-core-tree.mjs +1 -1
  168. package/tree/fesm2015/fundamental-ngx-core-tree.mjs.map +1 -1
  169. package/tree/fesm2020/fundamental-ngx-core-tree.mjs +1 -1
  170. package/tree/fesm2020/fundamental-ngx-core-tree.mjs.map +1 -1
  171. package/tree/package.json +1 -1
  172. package/upload-collection/package.json +1 -1
  173. package/utils/package.json +2 -2
  174. package/vertical-navigation/package.json +1 -1
  175. package/wizard/package.json +1 -1
@@ -21,6 +21,7 @@ import * as i4 from '@fundamental-ngx/core/button';
21
21
  import { ButtonModule } from '@fundamental-ngx/core/button';
22
22
  import * as i5 from '@fundamental-ngx/core/title';
23
23
  import * as i6 from '@fundamental-ngx/core/bar';
24
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
24
25
 
25
26
  /**
26
27
  * The directive that represents the menu title.
@@ -134,8 +135,8 @@ class MenuService {
134
135
  return (_a = this._rtlService) === null || _a === void 0 ? void 0 : _a.rtl.value;
135
136
  }
136
137
  /** Reference to menu component */
137
- get menu() {
138
- return this._menu;
138
+ get menuComponent() {
139
+ return this._menuComponent;
139
140
  }
140
141
  /** Returns menu mode observable */
141
142
  get isMobileMode() {
@@ -177,9 +178,9 @@ class MenuService {
177
178
  this._emitActivePath();
178
179
  }
179
180
  /** Initializes menu service based on given Menu Component */
180
- setMenuRoot(menu) {
181
- this._menu = menu;
182
- this.menuMap = this._buildMenuMap(this._menu);
181
+ setMenuComponent(menu) {
182
+ this._menuComponent = menu;
183
+ this.menuMap = this._buildMenuMap(this._menuComponent);
183
184
  }
184
185
  /** Clears Active Node Path and resets Focused Node */
185
186
  resetMenuState() {
@@ -191,7 +192,7 @@ class MenuService {
191
192
  * - Validates Active Node Path
192
193
  * - Validates Focused Node */
193
194
  rebuildMenu() {
194
- this.menuMap = this._buildMenuMap(this._menu);
195
+ this.menuMap = this._buildMenuMap(this._menuComponent);
195
196
  const deadNode = this.activeNodePath.find((node) => !this.menuMap.has(node.item));
196
197
  if (deadNode === null || deadNode === void 0 ? void 0 : deadNode.item) {
197
198
  this.setActive(false, deadNode.item);
@@ -258,7 +259,7 @@ class MenuService {
258
259
  item: menuItem,
259
260
  parent: null,
260
261
  children: menuItem.submenu
261
- ? menuItem.submenu.menuItems.toArray().map((subMenuItem) => buildNode(subMenuItem))
262
+ ? menuItem.submenu.menuItems.map((subMenuItem) => buildNode(subMenuItem))
262
263
  : []
263
264
  };
264
265
  }
@@ -271,11 +272,12 @@ class MenuService {
271
272
  node.children.forEach((childNode) => toMap(childNode, map));
272
273
  return map;
273
274
  }
275
+ const rootItems = menu._menuItems.filter((rootItem) => !rootItem.parentSubmenu);
274
276
  /** root item */
275
277
  const menuTree = {
276
278
  item: null,
277
279
  parent: null,
278
- children: menu.menuItems.toArray().map((item) => buildNode(item))
280
+ children: rootItems.map((item) => buildNode(item))
279
281
  };
280
282
  setParents(menuTree, null);
281
283
  return toMap(menuTree);
@@ -286,8 +288,8 @@ class MenuService {
286
288
  const menuNode = this.menuMap.get(menuItem);
287
289
  const children = (_a = menuNode === null || menuNode === void 0 ? void 0 : menuNode.parent) === null || _a === void 0 ? void 0 : _a.children.map((i) => i.item);
288
290
  const activeSibling = this.activeNodePath.find((i) => children === null || children === void 0 ? void 0 : children.includes(i.item));
289
- const activeParentIndex = this.activeNodePath.indexOf(menuNode === null || menuNode === void 0 ? void 0 : menuNode.parent);
290
291
  if (activeSibling) {
292
+ const activeParentIndex = this.activeNodePath.indexOf(menuNode === null || menuNode === void 0 ? void 0 : menuNode.parent);
291
293
  this._removeFromActivePath(activeParentIndex !== -1 ? activeSibling.item : this.activeNodePath[0].item);
292
294
  }
293
295
  }
@@ -338,8 +340,8 @@ class MenuService {
338
340
  focusRight(focusedNode);
339
341
  }
340
342
  }
341
- else if (KeyUtil.isKeyCode(event, ESCAPE) && this.menu.closeOnEscapeKey) {
342
- this.menu.close();
343
+ else if (KeyUtil.isKeyCode(event, ESCAPE) && this.menuComponent.closeOnEscapeKey) {
344
+ this.menuComponent.close();
343
345
  }
344
346
  else {
345
347
  matched = false;
@@ -350,7 +352,7 @@ class MenuService {
350
352
  }
351
353
  /** @hidden Emits an array of active menu items */
352
354
  _emitActivePath() {
353
- this.menu.activePath.emit(this.activeNodePath.map((node) => node.item));
355
+ this.menuComponent.activePath.emit(this.activeNodePath.map((node) => node.item));
354
356
  }
355
357
  /** @hidden Depending on direction returns closest enabled sibling of given node */
356
358
  _closestEnabled(node, direction) {
@@ -401,6 +403,13 @@ class MenuItemComponent {
401
403
  this._hoverSubscriptions = new Subscription();
402
404
  }
403
405
  /** @hidden */
406
+ ngOnInit() {
407
+ if (this.parentSubmenu) {
408
+ this._submenu = this.parentSubmenu;
409
+ this._submenu._registerItem(this);
410
+ }
411
+ }
412
+ /** @hidden */
404
413
  ngAfterContentInit() {
405
414
  this._setMenuService();
406
415
  this._initialiseItemState();
@@ -419,13 +428,17 @@ class MenuItemComponent {
419
428
  }
420
429
  /** @hidden */
421
430
  ngOnDestroy() {
431
+ var _a;
432
+ if (this.parentSubmenu) {
433
+ (_a = this._submenu) === null || _a === void 0 ? void 0 : _a._unregisterItem(this);
434
+ }
422
435
  this._subscriptions.unsubscribe();
423
436
  this._hoverSubscriptions.unsubscribe();
424
437
  }
425
438
  /** Whether menu item has popup (desktop mode) */
426
439
  get hasPopup() {
427
440
  var _a, _b;
428
- return !!this.submenu && (!((_a = this.menuService) === null || _a === void 0 ? void 0 : _a.menu) || !((_b = this.menuService) === null || _b === void 0 ? void 0 : _b.menu.mobile));
441
+ return !!this.submenu && (!((_a = this.menuService) === null || _a === void 0 ? void 0 : _a.menuComponent) || !((_b = this.menuService) === null || _b === void 0 ? void 0 : _b.menuComponent.mobile));
429
442
  }
430
443
  /** Focuses Menu Item interactive element */
431
444
  focus() {
@@ -458,7 +471,7 @@ class MenuItemComponent {
458
471
  const hoverSubscriptions = new Subscription();
459
472
  const mouseEnter$ = fromEvent(this.menuInteractive.elementRef.nativeElement, 'mouseenter');
460
473
  const mouseLeave$ = fromEvent(this.menuInteractive.elementRef.nativeElement, 'mouseleave');
461
- const timerFactory$ = defer(() => timer(this.menuService ? this.menuService.menu.openOnHoverTime : 0).pipe(takeUntil(mouseLeave$)));
474
+ const timerFactory$ = defer(() => timer(this.menuService ? this.menuService.menuComponent.openOnHoverTime : 0).pipe(takeUntil(mouseLeave$)));
462
475
  // Set active on hover
463
476
  hoverSubscriptions.add(mouseEnter$
464
477
  .pipe(filter(() => !!this.menuService), switchMap(() => timerFactory$))
@@ -507,7 +520,7 @@ class MenuItemComponent {
507
520
  }
508
521
  }
509
522
  MenuItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: MenuItemComponent, deps: [{ token: i0.ElementRef }, { token: MenuService, optional: true }, { token: i0.ChangeDetectorRef }, { token: SUBMENU, optional: true }], target: i0.ɵɵFactoryTarget.Component });
510
- MenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: MenuItemComponent, selector: "li[fd-menu-item]", inputs: { disabled: "disabled", itemId: "itemId", submenu: "submenu" }, outputs: { onSelect: "onSelect" }, host: { attributes: { "attr.role": "menuitem" }, properties: { "class.fd-menu__item": "true" } }, queries: [{ propertyName: "menuItemTitle", first: true, predicate: MenuTitleDirective, descendants: true }, { propertyName: "menuInteractive", first: true, predicate: MenuInteractiveDirective, descendants: true }], exportAs: ["fd-menu-item"], usesOnChanges: true, ngImport: i0, template: "<ng-content></ng-content>\n\n<ng-container *ngIf=\"hasPopup && submenu\">\n <ul\n class=\"fd-menu__sublist\"\n role=\"menu\"\n [attr.id]=\"itemId\"\n [attr.aria-hidden]=\"!submenuVisible\"\n [attr.aria-label]=\"submenu.ariaLabel\"\n [attr.aria-labelledby]=\"submenu.ariaLabelledby\"\n >\n <ng-container *ngTemplateOutlet=\"submenu.templateRef\"></ng-container>\n </ul>\n</ng-container>\n", directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
523
+ MenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: MenuItemComponent, selector: "li[fd-menu-item]", inputs: { disabled: "disabled", itemId: "itemId", submenu: "submenu", parentSubmenu: "parentSubmenu" }, outputs: { onSelect: "onSelect" }, host: { attributes: { "attr.role": "menuitem" }, properties: { "class.fd-menu__item": "true" } }, queries: [{ propertyName: "menuItemTitle", first: true, predicate: MenuTitleDirective, descendants: true }, { propertyName: "menuInteractive", first: true, predicate: MenuInteractiveDirective, descendants: true }], exportAs: ["fd-menu-item"], usesOnChanges: true, ngImport: i0, template: "<ng-content></ng-content>\n\n<ng-container *ngIf=\"hasPopup && submenu\">\n <ul\n class=\"fd-menu__sublist\"\n role=\"menu\"\n [attr.id]=\"itemId\"\n [attr.aria-hidden]=\"!submenuVisible\"\n [attr.aria-label]=\"submenu.ariaLabel\"\n [attr.aria-labelledby]=\"submenu.ariaLabelledby\"\n >\n <ng-container *ngTemplateOutlet=\"submenu.templateRef\"></ng-container>\n </ul>\n</ng-container>\n", directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
511
524
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: MenuItemComponent, decorators: [{
512
525
  type: Component,
513
526
  args: [{ selector: 'li[fd-menu-item]', exportAs: 'fd-menu-item', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
@@ -529,6 +542,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImpor
529
542
  type: Input
530
543
  }], submenu: [{
531
544
  type: Input
545
+ }], parentSubmenu: [{
546
+ type: Input
532
547
  }],
533
548
  // eslint-disable-next-line @angular-eslint/no-output-on-prefix
534
549
  onSelect: [{
@@ -541,9 +556,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImpor
541
556
  args: [MenuInteractiveDirective]
542
557
  }] } });
543
558
  class SubmenuComponent {
559
+ constructor() {
560
+ /** @hidden */
561
+ this._registeredItems = [];
562
+ /** @hidden */
563
+ this._menuItemsChange$ = new Subject();
564
+ }
565
+ /** @hidden */
566
+ get menuItems() {
567
+ return this._projectedItems.length ? this._projectedItems.toArray() : this._registeredItems;
568
+ }
569
+ /** @hidden */
570
+ ngAfterContentInit() {
571
+ this._projectedItems.changes.subscribe(() => this._menuItemsChange$.next());
572
+ }
573
+ /** @hidden method for manually registering item when it's not visible for @ContentChildren */
574
+ _registerItem(item) {
575
+ this._registeredItems.push(item);
576
+ this._menuItemsChange$.next();
577
+ }
578
+ /** @hidden method for manually unregistering item when it's not visible for @ContentChildren */
579
+ _unregisterItem(item) {
580
+ this._registeredItems = this._registeredItems.filter((i) => i !== item);
581
+ this._menuItemsChange$.next();
582
+ }
544
583
  }
545
584
  SubmenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: SubmenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
546
- SubmenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: SubmenuComponent, selector: "fd-submenu", inputs: { ariaLabel: "ariaLabel", ariaLabelledby: "ariaLabelledby" }, providers: [{ provide: SUBMENU, useExisting: SubmenuComponent }], queries: [{ propertyName: "menuItems", predicate: MenuItemComponent }], viewQueries: [{ propertyName: "templateRef", first: true, predicate: TemplateRef, descendants: true }], exportAs: ["fdSubmenu"], ngImport: i0, template: `
585
+ SubmenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: SubmenuComponent, selector: "fd-submenu", inputs: { ariaLabel: "ariaLabel", ariaLabelledby: "ariaLabelledby" }, providers: [{ provide: SUBMENU, useExisting: SubmenuComponent }], queries: [{ propertyName: "_projectedItems", predicate: MenuItemComponent }], viewQueries: [{ propertyName: "templateRef", first: true, predicate: TemplateRef, descendants: true }], exportAs: ["fdSubmenu"], ngImport: i0, template: `
547
586
  <ng-template>
548
587
  <ng-content></ng-content>
549
588
  </ng-template>
@@ -569,7 +608,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImpor
569
608
  }], templateRef: [{
570
609
  type: ViewChild,
571
610
  args: [TemplateRef]
572
- }], menuItems: [{
611
+ }], _projectedItems: [{
573
612
  type: ContentChildren,
574
613
  args: [MenuItemComponent]
575
614
  }] } });
@@ -930,27 +969,32 @@ class MenuComponent extends BasePopoverClass {
930
969
  this.id = `fd-menu-${menuUniqueId++}`;
931
970
  /** Emits array of active menu items */
932
971
  this.activePath = new EventEmitter();
933
- /** Whether use menu in mobile mode */
934
- this.mobile = false;
935
- /** @hidden Whether Popover with the menu is opened */
936
- this.isOpen = false;
972
+ /** @hidden Whether use a menu in mobile mode */
973
+ this._mobile = false;
937
974
  /** @hidden */
938
975
  this._subscriptions = new Subscription();
939
976
  }
940
977
  /** Set menu in mobile mode */
941
- // eslint-disable-next-line @angular-eslint/no-input-rename
942
- set setMobileMode(value) {
943
- this.mobile = value;
978
+ set mobile(value) {
979
+ this._mobile = coerceBooleanProperty(value);
944
980
  this._menuService.setMenuMode(this.mobile);
945
981
  }
982
+ get mobile() {
983
+ return this._mobile;
984
+ }
985
+ /** @hidden */
986
+ get _popoverConfig() {
987
+ var _a;
988
+ return Object.assign(Object.assign({}, this), { additionalBodyClass: ((_a = this.additionalBodyClass) !== null && _a !== void 0 ? _a : '') + ' fd-popover--menu' });
989
+ }
946
990
  /** @hidden */
947
991
  ngOnInit() {
948
992
  /** keep isOpen up to date */
949
993
  this.isOpenChange.subscribe((isOpen) => {
950
994
  this.isOpen = isOpen;
995
+ // when popover got closed by its own mechanism (e.x. click outside)
996
+ // we need to clean up a menu as well
951
997
  if (!isOpen) {
952
- // when popover got closed by its own mechanism (e.x. click outside)
953
- // we need to clean up menu as well
954
998
  this._cleanUpMenuAfterClose();
955
999
  }
956
1000
  this._changeDetectorRef.markForCheck();
@@ -958,15 +1002,15 @@ class MenuComponent extends BasePopoverClass {
958
1002
  }
959
1003
  /** @hidden */
960
1004
  ngAfterContentInit() {
961
- this._menuService.setMenuRoot(this);
1005
+ this._menuService.setMenuComponent(this);
962
1006
  this._listenOnMenuItemsChange();
963
1007
  }
964
1008
  /** @hidden */
965
1009
  ngAfterViewInit() {
966
1010
  this._menuService.isMobileMode.subscribe((isMobile) => {
967
1011
  this._setupView();
1012
+ // Since it is mobile, it's needed to disable popoverService
968
1013
  if (isMobile) {
969
- // Since it is mobile it's needed to disable popoverService
970
1014
  this._popoverService.deactivate();
971
1015
  }
972
1016
  });
@@ -995,7 +1039,7 @@ class MenuComponent extends BasePopoverClass {
995
1039
  this.isOpen = true;
996
1040
  this.isOpenChange.emit(this.isOpen);
997
1041
  }
998
- if (!this.mobile) {
1042
+ else {
999
1043
  this._popoverService.open();
1000
1044
  }
1001
1045
  this._changeDetectorRef.markForCheck();
@@ -1006,7 +1050,7 @@ class MenuComponent extends BasePopoverClass {
1006
1050
  this.isOpen = false;
1007
1051
  this.isOpenChange.emit(this.isOpen);
1008
1052
  }
1009
- if (!this.mobile) {
1053
+ else {
1010
1054
  this._popoverService.close();
1011
1055
  }
1012
1056
  this._cleanUpMenuAfterClose();
@@ -1037,13 +1081,9 @@ class MenuComponent extends BasePopoverClass {
1037
1081
  }
1038
1082
  /** @hidden */
1039
1083
  _setupPopoverService() {
1040
- this._subscriptions.add(this._popoverService._onLoad.subscribe((elementRef) => this._manageKeyboardSupport(elementRef)));
1041
- this._popoverService.templateContent = this.menuRootTemplate;
1042
- this._popoverService.initialise(this._externalTrigger, this);
1043
- }
1044
- /** @hidden */
1045
- _manageKeyboardSupport(elementRef) {
1046
- this._menuService.addKeyboardSupport(elementRef);
1084
+ this._subscriptions.add(this._popoverService._onLoad.subscribe((elementRef) => this._menuService.addKeyboardSupport(elementRef)));
1085
+ this._popoverService.templateContent = this._menuRootTemplate;
1086
+ this._popoverService.initialise(this._externalTrigger, this._popoverConfig);
1047
1087
  }
1048
1088
  /** @hidden Open Menu in mobile mode */
1049
1089
  _setupMobileMode() {
@@ -1052,16 +1092,17 @@ class MenuComponent extends BasePopoverClass {
1052
1092
  providers: [{ provide: MENU_COMPONENT, useValue: this }],
1053
1093
  parent: this._injector
1054
1094
  });
1055
- this._mobileModeComponentRef = yield this._dynamicComponentService.createDynamicModule(this.menuRootTemplate, MenuMobileModule, MenuMobileComponent, this._viewContainerRef, injector);
1095
+ this._mobileModeComponentRef = yield this._dynamicComponentService.createDynamicModule(this._menuRootTemplate, MenuMobileModule, MenuMobileComponent, this._viewContainerRef, injector);
1056
1096
  this._listenOnTriggerRefClicks();
1057
1097
  });
1058
1098
  }
1059
1099
  /** @hidden Listen on menu items change and rebuild menu */
1060
1100
  _listenOnMenuItemsChange() {
1061
- this._subscriptions.add(this.menuItems.changes.subscribe(() => this._menuService.rebuildMenu()));
1062
- this.menuItems.forEach((m) => {
1063
- if (m.submenu && m.submenu.menuItems) {
1064
- this._subscriptions.add(m.submenu.menuItems.changes.subscribe(() => this._menuService.rebuildMenu()));
1101
+ this._subscriptions.add(this._menuItems.changes.subscribe(() => this._menuService.rebuildMenu()));
1102
+ this._menuItems.forEach((menuItem) => {
1103
+ var _a;
1104
+ if ((_a = menuItem.submenu) === null || _a === void 0 ? void 0 : _a.menuItems) {
1105
+ this._subscriptions.add(menuItem.submenu._menuItemsChange$.subscribe(() => this._menuService.rebuildMenu()));
1065
1106
  }
1066
1107
  });
1067
1108
  }
@@ -1099,19 +1140,18 @@ class MenuComponent extends BasePopoverClass {
1099
1140
  }
1100
1141
  }
1101
1142
  MenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: MenuComponent, deps: [{ token: i0.ElementRef }, { token: i1$1.DialogConfig, optional: true }, { token: i0.Renderer2 }, { token: MenuService }, { token: i0.ChangeDetectorRef }, { token: i3$1.PopoverService }, { token: i0.Injector }, { token: i0.ViewContainerRef }, { token: i3.DynamicComponentService, optional: true }, { token: i5$1.ContentDensityObserver }], target: i0.ɵɵFactoryTarget.Component });
1102
- MenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: MenuComponent, selector: "fd-menu", inputs: { setMobileMode: ["mobile", "setMobileMode"], disabled: "disabled", focusTrapped: "focusTrapped", openOnHoverTime: "openOnHoverTime", mobileConfig: "mobileConfig", ariaLabel: "ariaLabel", ariaLabelledby: "ariaLabelledby", id: "id" }, outputs: { activePath: "activePath" }, providers: [MenuService, PopoverService, contentDensityObserverProviders()], queries: [{ propertyName: "menuItems", predicate: MenuItemComponent, descendants: true }], viewQueries: [{ propertyName: "menuRootTemplate", first: true, predicate: ["menuRootTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container #viewContainer></ng-container>\n\n<ng-template #menuRootTemplate>\n <nav\n class=\"fd-menu\"\n fdInitialFocus\n [enabled]=\"focusTrapped\"\n [id]=\"id\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-label]=\"ariaLabel\"\n role=\"menu\"\n [class.fd-menu--compact]=\"_contentDensityObserver.isCompact$ | async\"\n [class.fd-menu--mobile]=\"mobile\"\n >\n <ul role=\"none\" class=\"fd-menu__list fd-menu__list--no-shadow\">\n <ng-content></ng-content>\n </ul>\n </nav>\n</ng-template>\n", styles: ["/*!\n * Fundamental Library Styles v0.24.4\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-dialog__body{--fdButton_Menu_Border_Radius:0}.fd-menu{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;max-width:20rem;padding:0;width:-moz-fit-content;width:fit-content}.fd-menu:after,.fd-menu:before{box-sizing:inherit;font-size:inherit}.fd-menu__list,.fd-menu__sublist{-webkit-box-sizing:border-box;-ms-flex-wrap:wrap;-webkit-box-shadow:var(--sapContent_Shadow1);border:0;border-radius:var(--fdButton_Menu_Border_Radius);box-shadow:var(--sapContent_Shadow1);box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;flex-wrap:wrap;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);list-style:none;margin:0;padding:0}.fd-menu__list:after,.fd-menu__list:before,.fd-menu__sublist:after,.fd-menu__sublist:before{box-sizing:inherit;font-size:inherit}.fd-menu__list--no-shadow,.fd-menu__sublist--no-shadow{box-shadow:none}.fd-menu__sublist{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;left:100%;line-height:var(--sapContent_LineHeight);margin:.25rem 0 0 -.25rem;min-width:100%;padding:0;position:absolute;top:0;z-index:2}.fd-menu__sublist:after,.fd-menu__sublist:before{box-sizing:inherit;font-size:inherit}.fd-menu__sublist[dir=rtl],[dir=rtl] .fd-menu__sublist{left:auto;margin:.25rem -.25rem 0 0;right:100%}.fd-menu__sublist[aria-hidden=true]{display:none}.fd-menu__list>.fd-menu__item{position:relative;width:100%}.fd-menu__list--overflow{flex-wrap:nowrap;overflow-y:scroll}.fd-menu__separator{-webkit-box-sizing:border-box;background-color:var(--sapGroup_ContentBorderColor);border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;height:.0625rem;line-height:var(--sapContent_LineHeight);margin:0;padding:0;width:100%}.fd-menu__separator:after,.fd-menu__separator:before{box-sizing:inherit;font-size:inherit}.fd-menu__item{-webkit-box-sizing:border-box;background-color:var(--sapList_Background);border:0;border-radius:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;padding:0;position:relative}.fd-menu__item:after,.fd-menu__item:before{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-child,.fd-menu__item:last-child .fd-menu__link:after{border-bottom-left-radius:var(--fdButton_Menu_Border_Radius);border-bottom-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu__link{-webkit-box-sizing:border-box;align-items:center;border:0;border-radius:inherit;box-sizing:border-box;color:var(--sapTextColor);cursor:pointer;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;height:2.75rem;line-height:var(--sapContent_LineHeight);margin:0;outline:none;padding:.75rem 1rem .75rem .75rem;text-decoration:none;width:100%}.fd-menu__link:after,.fd-menu__link:before{box-sizing:inherit;font-size:inherit}.fd-menu__link.is-focus:after,.fd-menu__link:focus:after{border-color:var(--sapContent_FocusColor);border-style:var(--sapContent_FocusStyle);border-width:var(--sapContent_FocusWidth);bottom:.0625rem;content:\"\";left:.0625rem;pointer-events:none;position:absolute;right:.0625rem;top:.0625rem}.fd-menu__link.is-hover,.fd-menu__link:hover{background-color:var(--sapList_Hover_Background)}.fd-menu__link.is-selected,.fd-menu__link[aria-selected=true]{background-color:var(--sapList_SelectionBackgroundColor);border-bottom:.0625rem solid var(--sapList_SelectionBorderColor)}.fd-menu__link.is-selected .fd-menu__addon-after,.fd-menu__link.is-selected .fd-menu__addon-before,.fd-menu__link.is-selected .fd-menu__shortcut,.fd-menu__link[aria-selected=true] .fd-menu__addon-after,.fd-menu__link[aria-selected=true] .fd-menu__addon-before,.fd-menu__link[aria-selected=true] .fd-menu__shortcut{color:var(--sapContent_NonInteractiveIconColor)}.fd-menu__link.is-selected.is-hover:not(:active):not(.is-active),.fd-menu__link.is-selected:hover:not(:active):not(.is-active),.fd-menu__link[aria-selected=true].is-hover:not(:active):not(.is-active),.fd-menu__link[aria-selected=true]:hover:not(:active):not(.is-active){background-color:var(--sapList_Hover_SelectionBackground)}.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{background-color:var(--sapList_Active_Background);color:var(--sapList_Active_TextColor)}.fd-menu__link.is-active:after,.fd-menu__link:active:after{display:none}.fd-menu__link.is-active .fd-menu__addon-after,.fd-menu__link.is-active .fd-menu__addon-before,.fd-menu__link.is-active .fd-menu__shortcut,.fd-menu__link.is-active .fd-menu__title,.fd-menu__link:active .fd-menu__addon-after,.fd-menu__link:active .fd-menu__addon-before,.fd-menu__link:active .fd-menu__shortcut,.fd-menu__link:active .fd-menu__title{color:var(--sapList_Active_TextColor)}.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.is-expanded:not(:active):not(.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active){background-color:var(--sapList_SelectionBackgroundColor);border-bottom:.0625rem solid var(--sapList_SelectionBorderColor)}.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active) .fd-menu__addon-after,.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active) .fd-menu__addon-before,.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active) .fd-menu__shortcut,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active) .fd-menu__addon-after,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active) .fd-menu__addon-before,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active) .fd-menu__shortcut{color:var(--sapContent_NonInteractiveIconColor)}.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active).is-hover:not(:active):not(.is-active),.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active):hover:not(:active):not(.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active).is-hover:not(:active):not(.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active):hover:not(:active):not(.is-active){background-color:var(--sapList_Hover_SelectionBackground)}.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active).is-focus,.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active):focus,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active).is-focus,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active):focus{z-index:5}.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active).is-focus:after,.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active):focus:after,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active).is-focus:after,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active):focus:after{bottom:.125rem}.fd-menu__title{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapList_TextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;overflow:hidden;padding:0;text-overflow:ellipsis;text-shadow:var(--fdMenu_Text_Shadow);white-space:nowrap;width:100%}.fd-menu__title:after,.fd-menu__title:before{box-sizing:inherit;font-size:inherit}.fd-menu__addon-after,.fd-menu__addon-before{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;background-color:transparent;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_NonInteractiveIconColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapFontLargeSize);font-weight:400;height:1.25rem;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0;min-width:2.25rem;padding:0;text-shadow:var(--fdMenu_Text_Shadow);width:2.25rem}.fd-menu__addon-after:after,.fd-menu__addon-after:before,.fd-menu__addon-before:after,.fd-menu__addon-before:before{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-before{margin:0 0 0 -.75rem}.fd-menu__addon-after,.fd-menu__addon-before[dir=rtl],[dir=rtl] .fd-menu__addon-before{margin:0 -1rem 0 0}.fd-menu__addon-after[dir=rtl],[dir=rtl] .fd-menu__addon-after{margin:0 0 0 -.75rem}.fd-menu__addon-after--submenu{font-size:var(--sapFontSmallSize)}.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{text-rendering:optimizeLegibility;font-family:SAP-icons;text-align:center;text-decoration:inherit;text-transform:none}.fd-menu__addon-after--submenu[dir=rtl]:before,[dir=rtl] .fd-menu__addon-after--submenu:before{content:\"\\e067\"}.fd-menu__shortcut{-webkit-box-sizing:border-box;-ms-flex-negative:0;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_NonInteractiveIconColor);display:flex;flex-shrink:0;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;overflow:hidden;padding:0 0 0 1rem;text-overflow:ellipsis;white-space:nowrap}.fd-menu__shortcut:after,.fd-menu__shortcut:before{box-sizing:inherit;font-size:inherit}.fd-menu__shortcut[dir=rtl],[dir=rtl] .fd-menu__shortcut{padding-left:0;padding-right:1rem}.fd-menu--overflow{-webkit-box-shadow:var(--sapContent_Shadow1);border-radius:var(--fdButton_Menu_Border_Radius);box-shadow:var(--sapContent_Shadow1);overflow-y:scroll}.fd-menu--overflow .fd-menu__list{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-child{border-bottom-right-radius:0}.fd-menu--overflow .fd-menu__item:last-child[dir=rtl],[dir=rtl] .fd-menu--overflow .fd-menu__item:last-child{border-bottom-left-radius:0;border-bottom-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu--full-width{max-width:100%}.fd-menu--compact .fd-menu__link{height:2rem;padding:.375rem .75rem}.fd-menu--compact .fd-menu__link .fd-menu__addon-after,.fd-menu--compact .fd-menu__link .fd-menu__addon-before{min-width:2rem;width:2rem}.fd-menu--compact .fd-menu__link .fd-menu__addon-before{margin:0 0 0 -.5rem}.fd-menu--compact .fd-menu__link .fd-menu__addon-after,.fd-menu--compact .fd-menu__link[dir=rtl] .fd-menu__addon-before,[dir=rtl] .fd-menu--compact .fd-menu__link .fd-menu__addon-before{margin:0 -.75rem 0 0}.fd-menu--compact .fd-menu__link[dir=rtl] .fd-menu__addon-after,[dir=rtl] .fd-menu--compact .fd-menu__link .fd-menu__addon-after{margin:0 0 0 -.5rem}.fd-menu--mobile{max-width:100%;width:100%}.fd-menu--mobile .fd-menu__list,.fd-menu--mobile .fd-menu__sublist{-webkit-box-shadow:none;border-radius:0;box-shadow:none;margin: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__list .fd-menu__link,.fd-menu--mobile .fd-menu__sublist .fd-menu__link{padding:.75rem 1rem}.fd-menu--mobile .fd-menu__list .fd-menu__addon-after,.fd-menu--mobile .fd-menu__list .fd-menu__addon-before,.fd-menu--mobile .fd-menu__sublist .fd-menu__addon-after,.fd-menu--mobile .fd-menu__sublist .fd-menu__addon-before{min-width:2.75rem;width:2.75rem}.fd-menu--mobile .fd-menu__list .fd-menu__addon-before,.fd-menu--mobile .fd-menu__sublist .fd-menu__addon-before{margin:0 0 0 -1rem}.fd-menu--mobile .fd-menu__list .fd-menu__addon-after,.fd-menu--mobile .fd-menu__list[dir=rtl] .fd-menu__addon-before,.fd-menu--mobile .fd-menu__sublist .fd-menu__addon-after,.fd-menu--mobile .fd-menu__sublist[dir=rtl] .fd-menu__addon-before,[dir=rtl] .fd-menu--mobile .fd-menu__list .fd-menu__addon-before,[dir=rtl] .fd-menu--mobile .fd-menu__sublist .fd-menu__addon-before{margin:0 -1rem 0 0}.fd-menu--mobile .fd-menu__list[dir=rtl] .fd-menu__addon-after,.fd-menu--mobile .fd-menu__sublist[dir=rtl] .fd-menu__addon-after,[dir=rtl] .fd-menu--mobile .fd-menu__list .fd-menu__addon-after,[dir=rtl] .fd-menu--mobile .fd-menu__sublist .fd-menu__addon-after{margin:0 0 0 -1rem}:host{display:inline}fd-menu .fd-menu__list,fd-menu .fd-menu__sublist{flex-wrap:nowrap}\n"], directives: [{ type: i3.InitialFocusDirective, selector: "[fdInitialFocus], [fd-initial-focus]", inputs: ["fd-initial-focus", "enabled", "focusLastElement"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1143
+ MenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: MenuComponent, selector: "fd-menu", inputs: { mobile: "mobile", disabled: "disabled", focusTrapped: "focusTrapped", openOnHoverTime: "openOnHoverTime", mobileConfig: "mobileConfig", ariaLabel: "ariaLabel", ariaLabelledby: "ariaLabelledby", id: "id" }, outputs: { activePath: "activePath" }, providers: [MenuService, PopoverService, contentDensityObserverProviders()], queries: [{ propertyName: "_menuItems", predicate: MenuItemComponent }], viewQueries: [{ propertyName: "_menuRootTemplate", first: true, predicate: ["menuRootTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container #viewContainer></ng-container>\n\n<ng-template #menuRootTemplate>\n <nav\n class=\"fd-menu\"\n fdInitialFocus\n [enabled]=\"focusTrapped\"\n [id]=\"id\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-label]=\"ariaLabel\"\n role=\"menu\"\n [class.fd-menu--compact]=\"_contentDensityObserver.isCompact$ | async\"\n [class.fd-menu--mobile]=\"mobile\"\n >\n <ul role=\"none\" class=\"fd-menu__list fd-menu__list--no-shadow\">\n <ng-content></ng-content>\n </ul>\n </nav>\n</ng-template>\n", styles: ["/*!\n * Fundamental Library Styles v0.24.4\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-dialog__body{--fdButton_Menu_Border_Radius:0}.fd-menu{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;max-width:20rem;padding:0;width:-moz-fit-content;width:fit-content}.fd-menu:after,.fd-menu:before{box-sizing:inherit;font-size:inherit}.fd-menu__list,.fd-menu__sublist{-webkit-box-sizing:border-box;-ms-flex-wrap:wrap;-webkit-box-shadow:var(--sapContent_Shadow1);border:0;border-radius:var(--fdButton_Menu_Border_Radius);box-shadow:var(--sapContent_Shadow1);box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;flex-wrap:wrap;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);list-style:none;margin:0;padding:0}.fd-menu__list:after,.fd-menu__list:before,.fd-menu__sublist:after,.fd-menu__sublist:before{box-sizing:inherit;font-size:inherit}.fd-menu__list--no-shadow,.fd-menu__sublist--no-shadow{box-shadow:none}.fd-menu__sublist{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;left:100%;line-height:var(--sapContent_LineHeight);margin:.25rem 0 0 -.25rem;min-width:100%;padding:0;position:absolute;top:0;z-index:2}.fd-menu__sublist:after,.fd-menu__sublist:before{box-sizing:inherit;font-size:inherit}.fd-menu__sublist[dir=rtl],[dir=rtl] .fd-menu__sublist{left:auto;margin:.25rem -.25rem 0 0;right:100%}.fd-menu__sublist[aria-hidden=true]{display:none}.fd-menu__list>.fd-menu__item{position:relative;width:100%}.fd-menu__list--overflow{flex-wrap:nowrap;overflow-y:scroll}.fd-menu__separator{-webkit-box-sizing:border-box;background-color:var(--sapGroup_ContentBorderColor);border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;height:.0625rem;line-height:var(--sapContent_LineHeight);margin:0;padding:0;width:100%}.fd-menu__separator:after,.fd-menu__separator:before{box-sizing:inherit;font-size:inherit}.fd-menu__item{-webkit-box-sizing:border-box;background-color:var(--sapList_Background);border:0;border-radius:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;padding:0;position:relative}.fd-menu__item:after,.fd-menu__item:before{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-child,.fd-menu__item:last-child .fd-menu__link:after{border-bottom-left-radius:var(--fdButton_Menu_Border_Radius);border-bottom-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu__link{-webkit-box-sizing:border-box;align-items:center;border:0;border-radius:inherit;box-sizing:border-box;color:var(--sapTextColor);cursor:pointer;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;height:2.75rem;line-height:var(--sapContent_LineHeight);margin:0;outline:none;padding:.75rem 1rem .75rem .75rem;text-decoration:none;width:100%}.fd-menu__link:after,.fd-menu__link:before{box-sizing:inherit;font-size:inherit}.fd-menu__link.is-focus:after,.fd-menu__link:focus:after{border-color:var(--sapContent_FocusColor);border-style:var(--sapContent_FocusStyle);border-width:var(--sapContent_FocusWidth);bottom:.0625rem;content:\"\";left:.0625rem;pointer-events:none;position:absolute;right:.0625rem;top:.0625rem}.fd-menu__link.is-hover,.fd-menu__link:hover{background-color:var(--sapList_Hover_Background)}.fd-menu__link.is-selected,.fd-menu__link[aria-selected=true]{background-color:var(--sapList_SelectionBackgroundColor);border-bottom:.0625rem solid var(--sapList_SelectionBorderColor)}.fd-menu__link.is-selected .fd-menu__addon-after,.fd-menu__link.is-selected .fd-menu__addon-before,.fd-menu__link.is-selected .fd-menu__shortcut,.fd-menu__link[aria-selected=true] .fd-menu__addon-after,.fd-menu__link[aria-selected=true] .fd-menu__addon-before,.fd-menu__link[aria-selected=true] .fd-menu__shortcut{color:var(--sapContent_NonInteractiveIconColor)}.fd-menu__link.is-selected.is-hover:not(:active):not(.is-active),.fd-menu__link.is-selected:hover:not(:active):not(.is-active),.fd-menu__link[aria-selected=true].is-hover:not(:active):not(.is-active),.fd-menu__link[aria-selected=true]:hover:not(:active):not(.is-active){background-color:var(--sapList_Hover_SelectionBackground)}.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{background-color:var(--sapList_Active_Background);color:var(--sapList_Active_TextColor)}.fd-menu__link.is-active:after,.fd-menu__link:active:after{display:none}.fd-menu__link.is-active .fd-menu__addon-after,.fd-menu__link.is-active .fd-menu__addon-before,.fd-menu__link.is-active .fd-menu__shortcut,.fd-menu__link.is-active .fd-menu__title,.fd-menu__link:active .fd-menu__addon-after,.fd-menu__link:active .fd-menu__addon-before,.fd-menu__link:active .fd-menu__shortcut,.fd-menu__link:active .fd-menu__title{color:var(--sapList_Active_TextColor)}.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.is-expanded:not(:active):not(.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active){background-color:var(--sapList_SelectionBackgroundColor);border-bottom:.0625rem solid var(--sapList_SelectionBorderColor)}.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active) .fd-menu__addon-after,.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active) .fd-menu__addon-before,.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active) .fd-menu__shortcut,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active) .fd-menu__addon-after,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active) .fd-menu__addon-before,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active) .fd-menu__shortcut{color:var(--sapContent_NonInteractiveIconColor)}.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active).is-hover:not(:active):not(.is-active),.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active):hover:not(:active):not(.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active).is-hover:not(:active):not(.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active):hover:not(:active):not(.is-active){background-color:var(--sapList_Hover_SelectionBackground)}.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active).is-focus,.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active):focus,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active).is-focus,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active):focus{z-index:5}.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active).is-focus:after,.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active):focus:after,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active).is-focus:after,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active):focus:after{bottom:.125rem}.fd-menu__title{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapList_TextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;overflow:hidden;padding:0;text-overflow:ellipsis;text-shadow:var(--fdMenu_Text_Shadow);white-space:nowrap;width:100%}.fd-menu__title:after,.fd-menu__title:before{box-sizing:inherit;font-size:inherit}.fd-menu__addon-after,.fd-menu__addon-before{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;background-color:transparent;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_NonInteractiveIconColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapFontLargeSize);font-weight:400;height:1.25rem;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0;min-width:2.25rem;padding:0;text-shadow:var(--fdMenu_Text_Shadow);width:2.25rem}.fd-menu__addon-after:after,.fd-menu__addon-after:before,.fd-menu__addon-before:after,.fd-menu__addon-before:before{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-before{margin:0 0 0 -.75rem}.fd-menu__addon-after,.fd-menu__addon-before[dir=rtl],[dir=rtl] .fd-menu__addon-before{margin:0 -1rem 0 0}.fd-menu__addon-after[dir=rtl],[dir=rtl] .fd-menu__addon-after{margin:0 0 0 -.75rem}.fd-menu__addon-after--submenu{font-size:var(--sapFontSmallSize)}.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{text-rendering:optimizeLegibility;font-family:SAP-icons;text-align:center;text-decoration:inherit;text-transform:none}.fd-menu__addon-after--submenu[dir=rtl]:before,[dir=rtl] .fd-menu__addon-after--submenu:before{content:\"\\e067\"}.fd-menu__shortcut{-webkit-box-sizing:border-box;-ms-flex-negative:0;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_NonInteractiveIconColor);display:flex;flex-shrink:0;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;overflow:hidden;padding:0 0 0 1rem;text-overflow:ellipsis;white-space:nowrap}.fd-menu__shortcut:after,.fd-menu__shortcut:before{box-sizing:inherit;font-size:inherit}.fd-menu__shortcut[dir=rtl],[dir=rtl] .fd-menu__shortcut{padding-left:0;padding-right:1rem}.fd-menu--overflow{-webkit-box-shadow:var(--sapContent_Shadow1);border-radius:var(--fdButton_Menu_Border_Radius);box-shadow:var(--sapContent_Shadow1);overflow-y:scroll}.fd-menu--overflow .fd-menu__list{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-child{border-bottom-right-radius:0}.fd-menu--overflow .fd-menu__item:last-child[dir=rtl],[dir=rtl] .fd-menu--overflow .fd-menu__item:last-child{border-bottom-left-radius:0;border-bottom-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu--full-width{max-width:100%}.fd-menu--compact .fd-menu__link{height:2rem;padding:.375rem .75rem}.fd-menu--compact .fd-menu__link .fd-menu__addon-after,.fd-menu--compact .fd-menu__link .fd-menu__addon-before{min-width:2rem;width:2rem}.fd-menu--compact .fd-menu__link .fd-menu__addon-before{margin:0 0 0 -.5rem}.fd-menu--compact .fd-menu__link .fd-menu__addon-after,.fd-menu--compact .fd-menu__link[dir=rtl] .fd-menu__addon-before,[dir=rtl] .fd-menu--compact .fd-menu__link .fd-menu__addon-before{margin:0 -.75rem 0 0}.fd-menu--compact .fd-menu__link[dir=rtl] .fd-menu__addon-after,[dir=rtl] .fd-menu--compact .fd-menu__link .fd-menu__addon-after{margin:0 0 0 -.5rem}.fd-menu--mobile{max-width:100%;width:100%}.fd-menu--mobile .fd-menu__list,.fd-menu--mobile .fd-menu__sublist{-webkit-box-shadow:none;border-radius:0;box-shadow:none;margin: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__list .fd-menu__link,.fd-menu--mobile .fd-menu__sublist .fd-menu__link{padding:.75rem 1rem}.fd-menu--mobile .fd-menu__list .fd-menu__addon-after,.fd-menu--mobile .fd-menu__list .fd-menu__addon-before,.fd-menu--mobile .fd-menu__sublist .fd-menu__addon-after,.fd-menu--mobile .fd-menu__sublist .fd-menu__addon-before{min-width:2.75rem;width:2.75rem}.fd-menu--mobile .fd-menu__list .fd-menu__addon-before,.fd-menu--mobile .fd-menu__sublist .fd-menu__addon-before{margin:0 0 0 -1rem}.fd-menu--mobile .fd-menu__list .fd-menu__addon-after,.fd-menu--mobile .fd-menu__list[dir=rtl] .fd-menu__addon-before,.fd-menu--mobile .fd-menu__sublist .fd-menu__addon-after,.fd-menu--mobile .fd-menu__sublist[dir=rtl] .fd-menu__addon-before,[dir=rtl] .fd-menu--mobile .fd-menu__list .fd-menu__addon-before,[dir=rtl] .fd-menu--mobile .fd-menu__sublist .fd-menu__addon-before{margin:0 -1rem 0 0}.fd-menu--mobile .fd-menu__list[dir=rtl] .fd-menu__addon-after,.fd-menu--mobile .fd-menu__sublist[dir=rtl] .fd-menu__addon-after,[dir=rtl] .fd-menu--mobile .fd-menu__list .fd-menu__addon-after,[dir=rtl] .fd-menu--mobile .fd-menu__sublist .fd-menu__addon-after{margin:0 0 0 -1rem}:host{display:inline}fd-menu .fd-menu__list,fd-menu .fd-menu__sublist{flex-wrap:nowrap}.fd-popover--menu.fd-popover__popper{overflow:visible!important}\n"], directives: [{ type: i3.InitialFocusDirective, selector: "[fdInitialFocus], [fd-initial-focus]", inputs: ["fd-initial-focus", "enabled", "focusLastElement"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1103
1144
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: MenuComponent, decorators: [{
1104
1145
  type: Component,
1105
- args: [{ selector: 'fd-menu', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [MenuService, PopoverService, contentDensityObserverProviders()], template: "<ng-container #viewContainer></ng-container>\n\n<ng-template #menuRootTemplate>\n <nav\n class=\"fd-menu\"\n fdInitialFocus\n [enabled]=\"focusTrapped\"\n [id]=\"id\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-label]=\"ariaLabel\"\n role=\"menu\"\n [class.fd-menu--compact]=\"_contentDensityObserver.isCompact$ | async\"\n [class.fd-menu--mobile]=\"mobile\"\n >\n <ul role=\"none\" class=\"fd-menu__list fd-menu__list--no-shadow\">\n <ng-content></ng-content>\n </ul>\n </nav>\n</ng-template>\n", styles: ["/*!\n * Fundamental Library Styles v0.24.4\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-dialog__body{--fdButton_Menu_Border_Radius:0}.fd-menu{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;max-width:20rem;padding:0;width:-moz-fit-content;width:fit-content}.fd-menu:after,.fd-menu:before{box-sizing:inherit;font-size:inherit}.fd-menu__list,.fd-menu__sublist{-webkit-box-sizing:border-box;-ms-flex-wrap:wrap;-webkit-box-shadow:var(--sapContent_Shadow1);border:0;border-radius:var(--fdButton_Menu_Border_Radius);box-shadow:var(--sapContent_Shadow1);box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;flex-wrap:wrap;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);list-style:none;margin:0;padding:0}.fd-menu__list:after,.fd-menu__list:before,.fd-menu__sublist:after,.fd-menu__sublist:before{box-sizing:inherit;font-size:inherit}.fd-menu__list--no-shadow,.fd-menu__sublist--no-shadow{box-shadow:none}.fd-menu__sublist{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;left:100%;line-height:var(--sapContent_LineHeight);margin:.25rem 0 0 -.25rem;min-width:100%;padding:0;position:absolute;top:0;z-index:2}.fd-menu__sublist:after,.fd-menu__sublist:before{box-sizing:inherit;font-size:inherit}.fd-menu__sublist[dir=rtl],[dir=rtl] .fd-menu__sublist{left:auto;margin:.25rem -.25rem 0 0;right:100%}.fd-menu__sublist[aria-hidden=true]{display:none}.fd-menu__list>.fd-menu__item{position:relative;width:100%}.fd-menu__list--overflow{flex-wrap:nowrap;overflow-y:scroll}.fd-menu__separator{-webkit-box-sizing:border-box;background-color:var(--sapGroup_ContentBorderColor);border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;height:.0625rem;line-height:var(--sapContent_LineHeight);margin:0;padding:0;width:100%}.fd-menu__separator:after,.fd-menu__separator:before{box-sizing:inherit;font-size:inherit}.fd-menu__item{-webkit-box-sizing:border-box;background-color:var(--sapList_Background);border:0;border-radius:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;padding:0;position:relative}.fd-menu__item:after,.fd-menu__item:before{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-child,.fd-menu__item:last-child .fd-menu__link:after{border-bottom-left-radius:var(--fdButton_Menu_Border_Radius);border-bottom-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu__link{-webkit-box-sizing:border-box;align-items:center;border:0;border-radius:inherit;box-sizing:border-box;color:var(--sapTextColor);cursor:pointer;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;height:2.75rem;line-height:var(--sapContent_LineHeight);margin:0;outline:none;padding:.75rem 1rem .75rem .75rem;text-decoration:none;width:100%}.fd-menu__link:after,.fd-menu__link:before{box-sizing:inherit;font-size:inherit}.fd-menu__link.is-focus:after,.fd-menu__link:focus:after{border-color:var(--sapContent_FocusColor);border-style:var(--sapContent_FocusStyle);border-width:var(--sapContent_FocusWidth);bottom:.0625rem;content:\"\";left:.0625rem;pointer-events:none;position:absolute;right:.0625rem;top:.0625rem}.fd-menu__link.is-hover,.fd-menu__link:hover{background-color:var(--sapList_Hover_Background)}.fd-menu__link.is-selected,.fd-menu__link[aria-selected=true]{background-color:var(--sapList_SelectionBackgroundColor);border-bottom:.0625rem solid var(--sapList_SelectionBorderColor)}.fd-menu__link.is-selected .fd-menu__addon-after,.fd-menu__link.is-selected .fd-menu__addon-before,.fd-menu__link.is-selected .fd-menu__shortcut,.fd-menu__link[aria-selected=true] .fd-menu__addon-after,.fd-menu__link[aria-selected=true] .fd-menu__addon-before,.fd-menu__link[aria-selected=true] .fd-menu__shortcut{color:var(--sapContent_NonInteractiveIconColor)}.fd-menu__link.is-selected.is-hover:not(:active):not(.is-active),.fd-menu__link.is-selected:hover:not(:active):not(.is-active),.fd-menu__link[aria-selected=true].is-hover:not(:active):not(.is-active),.fd-menu__link[aria-selected=true]:hover:not(:active):not(.is-active){background-color:var(--sapList_Hover_SelectionBackground)}.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{background-color:var(--sapList_Active_Background);color:var(--sapList_Active_TextColor)}.fd-menu__link.is-active:after,.fd-menu__link:active:after{display:none}.fd-menu__link.is-active .fd-menu__addon-after,.fd-menu__link.is-active .fd-menu__addon-before,.fd-menu__link.is-active .fd-menu__shortcut,.fd-menu__link.is-active .fd-menu__title,.fd-menu__link:active .fd-menu__addon-after,.fd-menu__link:active .fd-menu__addon-before,.fd-menu__link:active .fd-menu__shortcut,.fd-menu__link:active .fd-menu__title{color:var(--sapList_Active_TextColor)}.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.is-expanded:not(:active):not(.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active){background-color:var(--sapList_SelectionBackgroundColor);border-bottom:.0625rem solid var(--sapList_SelectionBorderColor)}.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active) .fd-menu__addon-after,.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active) .fd-menu__addon-before,.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active) .fd-menu__shortcut,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active) .fd-menu__addon-after,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active) .fd-menu__addon-before,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active) .fd-menu__shortcut{color:var(--sapContent_NonInteractiveIconColor)}.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active).is-hover:not(:active):not(.is-active),.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active):hover:not(:active):not(.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active).is-hover:not(:active):not(.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active):hover:not(:active):not(.is-active){background-color:var(--sapList_Hover_SelectionBackground)}.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active).is-focus,.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active):focus,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active).is-focus,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active):focus{z-index:5}.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active).is-focus:after,.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active):focus:after,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active).is-focus:after,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active):focus:after{bottom:.125rem}.fd-menu__title{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapList_TextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;overflow:hidden;padding:0;text-overflow:ellipsis;text-shadow:var(--fdMenu_Text_Shadow);white-space:nowrap;width:100%}.fd-menu__title:after,.fd-menu__title:before{box-sizing:inherit;font-size:inherit}.fd-menu__addon-after,.fd-menu__addon-before{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;background-color:transparent;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_NonInteractiveIconColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapFontLargeSize);font-weight:400;height:1.25rem;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0;min-width:2.25rem;padding:0;text-shadow:var(--fdMenu_Text_Shadow);width:2.25rem}.fd-menu__addon-after:after,.fd-menu__addon-after:before,.fd-menu__addon-before:after,.fd-menu__addon-before:before{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-before{margin:0 0 0 -.75rem}.fd-menu__addon-after,.fd-menu__addon-before[dir=rtl],[dir=rtl] .fd-menu__addon-before{margin:0 -1rem 0 0}.fd-menu__addon-after[dir=rtl],[dir=rtl] .fd-menu__addon-after{margin:0 0 0 -.75rem}.fd-menu__addon-after--submenu{font-size:var(--sapFontSmallSize)}.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{text-rendering:optimizeLegibility;font-family:SAP-icons;text-align:center;text-decoration:inherit;text-transform:none}.fd-menu__addon-after--submenu[dir=rtl]:before,[dir=rtl] .fd-menu__addon-after--submenu:before{content:\"\\e067\"}.fd-menu__shortcut{-webkit-box-sizing:border-box;-ms-flex-negative:0;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_NonInteractiveIconColor);display:flex;flex-shrink:0;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;overflow:hidden;padding:0 0 0 1rem;text-overflow:ellipsis;white-space:nowrap}.fd-menu__shortcut:after,.fd-menu__shortcut:before{box-sizing:inherit;font-size:inherit}.fd-menu__shortcut[dir=rtl],[dir=rtl] .fd-menu__shortcut{padding-left:0;padding-right:1rem}.fd-menu--overflow{-webkit-box-shadow:var(--sapContent_Shadow1);border-radius:var(--fdButton_Menu_Border_Radius);box-shadow:var(--sapContent_Shadow1);overflow-y:scroll}.fd-menu--overflow .fd-menu__list{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-child{border-bottom-right-radius:0}.fd-menu--overflow .fd-menu__item:last-child[dir=rtl],[dir=rtl] .fd-menu--overflow .fd-menu__item:last-child{border-bottom-left-radius:0;border-bottom-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu--full-width{max-width:100%}.fd-menu--compact .fd-menu__link{height:2rem;padding:.375rem .75rem}.fd-menu--compact .fd-menu__link .fd-menu__addon-after,.fd-menu--compact .fd-menu__link .fd-menu__addon-before{min-width:2rem;width:2rem}.fd-menu--compact .fd-menu__link .fd-menu__addon-before{margin:0 0 0 -.5rem}.fd-menu--compact .fd-menu__link .fd-menu__addon-after,.fd-menu--compact .fd-menu__link[dir=rtl] .fd-menu__addon-before,[dir=rtl] .fd-menu--compact .fd-menu__link .fd-menu__addon-before{margin:0 -.75rem 0 0}.fd-menu--compact .fd-menu__link[dir=rtl] .fd-menu__addon-after,[dir=rtl] .fd-menu--compact .fd-menu__link .fd-menu__addon-after{margin:0 0 0 -.5rem}.fd-menu--mobile{max-width:100%;width:100%}.fd-menu--mobile .fd-menu__list,.fd-menu--mobile .fd-menu__sublist{-webkit-box-shadow:none;border-radius:0;box-shadow:none;margin: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__list .fd-menu__link,.fd-menu--mobile .fd-menu__sublist .fd-menu__link{padding:.75rem 1rem}.fd-menu--mobile .fd-menu__list .fd-menu__addon-after,.fd-menu--mobile .fd-menu__list .fd-menu__addon-before,.fd-menu--mobile .fd-menu__sublist .fd-menu__addon-after,.fd-menu--mobile .fd-menu__sublist .fd-menu__addon-before{min-width:2.75rem;width:2.75rem}.fd-menu--mobile .fd-menu__list .fd-menu__addon-before,.fd-menu--mobile .fd-menu__sublist .fd-menu__addon-before{margin:0 0 0 -1rem}.fd-menu--mobile .fd-menu__list .fd-menu__addon-after,.fd-menu--mobile .fd-menu__list[dir=rtl] .fd-menu__addon-before,.fd-menu--mobile .fd-menu__sublist .fd-menu__addon-after,.fd-menu--mobile .fd-menu__sublist[dir=rtl] .fd-menu__addon-before,[dir=rtl] .fd-menu--mobile .fd-menu__list .fd-menu__addon-before,[dir=rtl] .fd-menu--mobile .fd-menu__sublist .fd-menu__addon-before{margin:0 -1rem 0 0}.fd-menu--mobile .fd-menu__list[dir=rtl] .fd-menu__addon-after,.fd-menu--mobile .fd-menu__sublist[dir=rtl] .fd-menu__addon-after,[dir=rtl] .fd-menu--mobile .fd-menu__list .fd-menu__addon-after,[dir=rtl] .fd-menu--mobile .fd-menu__sublist .fd-menu__addon-after{margin:0 0 0 -1rem}:host{display:inline}fd-menu .fd-menu__list,fd-menu .fd-menu__sublist{flex-wrap:nowrap}\n"] }]
1146
+ args: [{ selector: 'fd-menu', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [MenuService, PopoverService, contentDensityObserverProviders()], template: "<ng-container #viewContainer></ng-container>\n\n<ng-template #menuRootTemplate>\n <nav\n class=\"fd-menu\"\n fdInitialFocus\n [enabled]=\"focusTrapped\"\n [id]=\"id\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-label]=\"ariaLabel\"\n role=\"menu\"\n [class.fd-menu--compact]=\"_contentDensityObserver.isCompact$ | async\"\n [class.fd-menu--mobile]=\"mobile\"\n >\n <ul role=\"none\" class=\"fd-menu__list fd-menu__list--no-shadow\">\n <ng-content></ng-content>\n </ul>\n </nav>\n</ng-template>\n", styles: ["/*!\n * Fundamental Library Styles v0.24.4\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-dialog__body{--fdButton_Menu_Border_Radius:0}.fd-menu{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;max-width:20rem;padding:0;width:-moz-fit-content;width:fit-content}.fd-menu:after,.fd-menu:before{box-sizing:inherit;font-size:inherit}.fd-menu__list,.fd-menu__sublist{-webkit-box-sizing:border-box;-ms-flex-wrap:wrap;-webkit-box-shadow:var(--sapContent_Shadow1);border:0;border-radius:var(--fdButton_Menu_Border_Radius);box-shadow:var(--sapContent_Shadow1);box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;flex-wrap:wrap;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);list-style:none;margin:0;padding:0}.fd-menu__list:after,.fd-menu__list:before,.fd-menu__sublist:after,.fd-menu__sublist:before{box-sizing:inherit;font-size:inherit}.fd-menu__list--no-shadow,.fd-menu__sublist--no-shadow{box-shadow:none}.fd-menu__sublist{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;left:100%;line-height:var(--sapContent_LineHeight);margin:.25rem 0 0 -.25rem;min-width:100%;padding:0;position:absolute;top:0;z-index:2}.fd-menu__sublist:after,.fd-menu__sublist:before{box-sizing:inherit;font-size:inherit}.fd-menu__sublist[dir=rtl],[dir=rtl] .fd-menu__sublist{left:auto;margin:.25rem -.25rem 0 0;right:100%}.fd-menu__sublist[aria-hidden=true]{display:none}.fd-menu__list>.fd-menu__item{position:relative;width:100%}.fd-menu__list--overflow{flex-wrap:nowrap;overflow-y:scroll}.fd-menu__separator{-webkit-box-sizing:border-box;background-color:var(--sapGroup_ContentBorderColor);border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;height:.0625rem;line-height:var(--sapContent_LineHeight);margin:0;padding:0;width:100%}.fd-menu__separator:after,.fd-menu__separator:before{box-sizing:inherit;font-size:inherit}.fd-menu__item{-webkit-box-sizing:border-box;background-color:var(--sapList_Background);border:0;border-radius:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;padding:0;position:relative}.fd-menu__item:after,.fd-menu__item:before{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-child,.fd-menu__item:last-child .fd-menu__link:after{border-bottom-left-radius:var(--fdButton_Menu_Border_Radius);border-bottom-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu__link{-webkit-box-sizing:border-box;align-items:center;border:0;border-radius:inherit;box-sizing:border-box;color:var(--sapTextColor);cursor:pointer;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;height:2.75rem;line-height:var(--sapContent_LineHeight);margin:0;outline:none;padding:.75rem 1rem .75rem .75rem;text-decoration:none;width:100%}.fd-menu__link:after,.fd-menu__link:before{box-sizing:inherit;font-size:inherit}.fd-menu__link.is-focus:after,.fd-menu__link:focus:after{border-color:var(--sapContent_FocusColor);border-style:var(--sapContent_FocusStyle);border-width:var(--sapContent_FocusWidth);bottom:.0625rem;content:\"\";left:.0625rem;pointer-events:none;position:absolute;right:.0625rem;top:.0625rem}.fd-menu__link.is-hover,.fd-menu__link:hover{background-color:var(--sapList_Hover_Background)}.fd-menu__link.is-selected,.fd-menu__link[aria-selected=true]{background-color:var(--sapList_SelectionBackgroundColor);border-bottom:.0625rem solid var(--sapList_SelectionBorderColor)}.fd-menu__link.is-selected .fd-menu__addon-after,.fd-menu__link.is-selected .fd-menu__addon-before,.fd-menu__link.is-selected .fd-menu__shortcut,.fd-menu__link[aria-selected=true] .fd-menu__addon-after,.fd-menu__link[aria-selected=true] .fd-menu__addon-before,.fd-menu__link[aria-selected=true] .fd-menu__shortcut{color:var(--sapContent_NonInteractiveIconColor)}.fd-menu__link.is-selected.is-hover:not(:active):not(.is-active),.fd-menu__link.is-selected:hover:not(:active):not(.is-active),.fd-menu__link[aria-selected=true].is-hover:not(:active):not(.is-active),.fd-menu__link[aria-selected=true]:hover:not(:active):not(.is-active){background-color:var(--sapList_Hover_SelectionBackground)}.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{background-color:var(--sapList_Active_Background);color:var(--sapList_Active_TextColor)}.fd-menu__link.is-active:after,.fd-menu__link:active:after{display:none}.fd-menu__link.is-active .fd-menu__addon-after,.fd-menu__link.is-active .fd-menu__addon-before,.fd-menu__link.is-active .fd-menu__shortcut,.fd-menu__link.is-active .fd-menu__title,.fd-menu__link:active .fd-menu__addon-after,.fd-menu__link:active .fd-menu__addon-before,.fd-menu__link:active .fd-menu__shortcut,.fd-menu__link:active .fd-menu__title{color:var(--sapList_Active_TextColor)}.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.is-expanded:not(:active):not(.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active){background-color:var(--sapList_SelectionBackgroundColor);border-bottom:.0625rem solid var(--sapList_SelectionBorderColor)}.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active) .fd-menu__addon-after,.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active) .fd-menu__addon-before,.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active) .fd-menu__shortcut,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active) .fd-menu__addon-after,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active) .fd-menu__addon-before,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active) .fd-menu__shortcut{color:var(--sapContent_NonInteractiveIconColor)}.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active).is-hover:not(:active):not(.is-active),.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active):hover:not(:active):not(.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active).is-hover:not(:active):not(.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active):hover:not(:active):not(.is-active){background-color:var(--sapList_Hover_SelectionBackground)}.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active).is-focus,.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active):focus,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active).is-focus,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active):focus{z-index:5}.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active).is-focus:after,.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active):focus:after,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active).is-focus:after,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active):focus:after{bottom:.125rem}.fd-menu__title{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapList_TextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;overflow:hidden;padding:0;text-overflow:ellipsis;text-shadow:var(--fdMenu_Text_Shadow);white-space:nowrap;width:100%}.fd-menu__title:after,.fd-menu__title:before{box-sizing:inherit;font-size:inherit}.fd-menu__addon-after,.fd-menu__addon-before{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;background-color:transparent;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_NonInteractiveIconColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapFontLargeSize);font-weight:400;height:1.25rem;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0;min-width:2.25rem;padding:0;text-shadow:var(--fdMenu_Text_Shadow);width:2.25rem}.fd-menu__addon-after:after,.fd-menu__addon-after:before,.fd-menu__addon-before:after,.fd-menu__addon-before:before{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-before{margin:0 0 0 -.75rem}.fd-menu__addon-after,.fd-menu__addon-before[dir=rtl],[dir=rtl] .fd-menu__addon-before{margin:0 -1rem 0 0}.fd-menu__addon-after[dir=rtl],[dir=rtl] .fd-menu__addon-after{margin:0 0 0 -.75rem}.fd-menu__addon-after--submenu{font-size:var(--sapFontSmallSize)}.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{text-rendering:optimizeLegibility;font-family:SAP-icons;text-align:center;text-decoration:inherit;text-transform:none}.fd-menu__addon-after--submenu[dir=rtl]:before,[dir=rtl] .fd-menu__addon-after--submenu:before{content:\"\\e067\"}.fd-menu__shortcut{-webkit-box-sizing:border-box;-ms-flex-negative:0;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_NonInteractiveIconColor);display:flex;flex-shrink:0;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;overflow:hidden;padding:0 0 0 1rem;text-overflow:ellipsis;white-space:nowrap}.fd-menu__shortcut:after,.fd-menu__shortcut:before{box-sizing:inherit;font-size:inherit}.fd-menu__shortcut[dir=rtl],[dir=rtl] .fd-menu__shortcut{padding-left:0;padding-right:1rem}.fd-menu--overflow{-webkit-box-shadow:var(--sapContent_Shadow1);border-radius:var(--fdButton_Menu_Border_Radius);box-shadow:var(--sapContent_Shadow1);overflow-y:scroll}.fd-menu--overflow .fd-menu__list{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-child{border-bottom-right-radius:0}.fd-menu--overflow .fd-menu__item:last-child[dir=rtl],[dir=rtl] .fd-menu--overflow .fd-menu__item:last-child{border-bottom-left-radius:0;border-bottom-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu--full-width{max-width:100%}.fd-menu--compact .fd-menu__link{height:2rem;padding:.375rem .75rem}.fd-menu--compact .fd-menu__link .fd-menu__addon-after,.fd-menu--compact .fd-menu__link .fd-menu__addon-before{min-width:2rem;width:2rem}.fd-menu--compact .fd-menu__link .fd-menu__addon-before{margin:0 0 0 -.5rem}.fd-menu--compact .fd-menu__link .fd-menu__addon-after,.fd-menu--compact .fd-menu__link[dir=rtl] .fd-menu__addon-before,[dir=rtl] .fd-menu--compact .fd-menu__link .fd-menu__addon-before{margin:0 -.75rem 0 0}.fd-menu--compact .fd-menu__link[dir=rtl] .fd-menu__addon-after,[dir=rtl] .fd-menu--compact .fd-menu__link .fd-menu__addon-after{margin:0 0 0 -.5rem}.fd-menu--mobile{max-width:100%;width:100%}.fd-menu--mobile .fd-menu__list,.fd-menu--mobile .fd-menu__sublist{-webkit-box-shadow:none;border-radius:0;box-shadow:none;margin: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__list .fd-menu__link,.fd-menu--mobile .fd-menu__sublist .fd-menu__link{padding:.75rem 1rem}.fd-menu--mobile .fd-menu__list .fd-menu__addon-after,.fd-menu--mobile .fd-menu__list .fd-menu__addon-before,.fd-menu--mobile .fd-menu__sublist .fd-menu__addon-after,.fd-menu--mobile .fd-menu__sublist .fd-menu__addon-before{min-width:2.75rem;width:2.75rem}.fd-menu--mobile .fd-menu__list .fd-menu__addon-before,.fd-menu--mobile .fd-menu__sublist .fd-menu__addon-before{margin:0 0 0 -1rem}.fd-menu--mobile .fd-menu__list .fd-menu__addon-after,.fd-menu--mobile .fd-menu__list[dir=rtl] .fd-menu__addon-before,.fd-menu--mobile .fd-menu__sublist .fd-menu__addon-after,.fd-menu--mobile .fd-menu__sublist[dir=rtl] .fd-menu__addon-before,[dir=rtl] .fd-menu--mobile .fd-menu__list .fd-menu__addon-before,[dir=rtl] .fd-menu--mobile .fd-menu__sublist .fd-menu__addon-before{margin:0 -1rem 0 0}.fd-menu--mobile .fd-menu__list[dir=rtl] .fd-menu__addon-after,.fd-menu--mobile .fd-menu__sublist[dir=rtl] .fd-menu__addon-after,[dir=rtl] .fd-menu--mobile .fd-menu__list .fd-menu__addon-after,[dir=rtl] .fd-menu--mobile .fd-menu__sublist .fd-menu__addon-after{margin:0 0 0 -1rem}:host{display:inline}fd-menu .fd-menu__list,fd-menu .fd-menu__sublist{flex-wrap:nowrap}.fd-popover--menu.fd-popover__popper{overflow:visible!important}\n"] }]
1106
1147
  }], ctorParameters: function () {
1107
1148
  return [{ type: i0.ElementRef }, { type: i1$1.DialogConfig, decorators: [{
1108
1149
  type: Optional
1109
1150
  }] }, { type: i0.Renderer2 }, { type: MenuService }, { type: i0.ChangeDetectorRef }, { type: i3$1.PopoverService }, { type: i0.Injector }, { type: i0.ViewContainerRef }, { type: i3.DynamicComponentService, decorators: [{
1110
1151
  type: Optional
1111
1152
  }] }, { type: i5$1.ContentDensityObserver }];
1112
- }, propDecorators: { setMobileMode: [{
1113
- type: Input,
1114
- args: ['mobile']
1153
+ }, propDecorators: { mobile: [{
1154
+ type: Input
1115
1155
  }], disabled: [{
1116
1156
  type: Input
1117
1157
  }], focusTrapped: [{
@@ -1128,12 +1168,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImpor
1128
1168
  type: Input
1129
1169
  }], activePath: [{
1130
1170
  type: Output
1131
- }], menuRootTemplate: [{
1171
+ }], _menuRootTemplate: [{
1132
1172
  type: ViewChild,
1133
1173
  args: ['menuRootTemplate']
1134
- }], menuItems: [{
1174
+ }], _menuItems: [{
1135
1175
  type: ContentChildren,
1136
- args: [MenuItemComponent, { descendants: true }]
1176
+ args: [MenuItemComponent]
1137
1177
  }] } });
1138
1178
 
1139
1179
  class MenuModule {