@fundamental-ngx/btp 0.58.0-rc.5 → 0.58.0-rc.51
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/fundamental-ngx-btp-navigation.mjs +975 -163
- package/fesm2022/fundamental-ngx-btp-navigation.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-btp-tool-layout.mjs +14 -4
- package/fesm2022/fundamental-ngx-btp-tool-layout.mjs.map +1 -1
- package/navigation/index.d.ts +275 -63
- package/package.json +13 -3
- package/tool-layout/index.d.ts +4 -1
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { signal, inject, DestroyRef, computed, Injectable, EventEmitter, booleanAttribute, HostListener, Output, Input, HostBinding, ChangeDetectionStrategy, ViewEncapsulation, Component, ContentChildren, Injector, Directive, TemplateRef,
|
|
2
|
+
import { signal, inject, DestroyRef, computed, Injectable, EventEmitter, Renderer2, ElementRef, effect, booleanAttribute, HostListener, Output, Input, HostBinding, ChangeDetectionStrategy, ViewEncapsulation, Component, ContentChildren, Injector, Directive, TemplateRef, input, NgZone, ViewChild, ContentChild, ChangeDetectorRef } from '@angular/core';
|
|
3
3
|
import { takeUntilDestroyed, toSignal, toObservable } from '@angular/core/rxjs-interop';
|
|
4
|
-
import { Subject, startWith, observeOn, asyncScheduler, filter, of, take, debounceTime, merge, switchMap, isObservable
|
|
4
|
+
import { Subject, startWith, observeOn, asyncScheduler, filter, of, map, take, debounceTime, merge, switchMap, isObservable } from 'rxjs';
|
|
5
5
|
import { FocusKeyManager } from '@angular/cdk/a11y';
|
|
6
|
-
import { DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW } from '@angular/cdk/keycodes';
|
|
6
|
+
import { DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW, SPACE, ENTER } from '@angular/cdk/keycodes';
|
|
7
7
|
import { NgTemplateOutlet, NgClass } from '@angular/common';
|
|
8
8
|
import { RtlService, KeyUtil, resizeObservable } from '@fundamental-ngx/cdk';
|
|
9
|
-
import { NestedButtonDirective } from '@fundamental-ngx/btp/button';
|
|
10
9
|
import { RtlService as RtlService$1, KeyUtil as KeyUtil$1, applyCssClass } from '@fundamental-ngx/cdk/utils';
|
|
11
|
-
import { ButtonComponent } from '@fundamental-ngx/core/button';
|
|
12
|
-
import { FD_DEFAULT_ICON_FONT_FAMILY, IconComponent } from '@fundamental-ngx/core/icon';
|
|
13
10
|
import { PopoverComponent, PopoverBodyComponent } from '@fundamental-ngx/core/popover';
|
|
11
|
+
import { FD_LANGUAGE, TranslationResolver } from '@fundamental-ngx/i18n';
|
|
14
12
|
import * as i1 from '@angular/router';
|
|
15
13
|
import { RouterLink, RouterLinkActive } from '@angular/router';
|
|
14
|
+
import { FD_DEFAULT_ICON_FONT_FAMILY, IconComponent } from '@fundamental-ngx/core/icon';
|
|
16
15
|
import { PortalModule } from '@angular/cdk/portal';
|
|
17
16
|
import * as i1$1 from '@fundamental-ngx/core/scrollbar';
|
|
18
17
|
import { ScrollbarDirective } from '@fundamental-ngx/core/scrollbar';
|
|
@@ -114,6 +113,8 @@ class FdbNavigationListItem {
|
|
|
114
113
|
this.expanded$ = signal(false, ...(ngDevMode ? [{ debugName: "expanded$" }] : []));
|
|
115
114
|
/** @hidden */
|
|
116
115
|
this.isGroup$ = signal(false, ...(ngDevMode ? [{ debugName: "isGroup$" }] : []));
|
|
116
|
+
/** @hidden */
|
|
117
|
+
this.disabled$ = signal(false, ...(ngDevMode ? [{ debugName: "disabled$" }] : []));
|
|
117
118
|
/** Navigation container reference. */
|
|
118
119
|
this.navigation = inject(FdbNavigation);
|
|
119
120
|
}
|
|
@@ -125,6 +126,39 @@ class NavigationService {
|
|
|
125
126
|
constructor() {
|
|
126
127
|
/** Currently active list item. */
|
|
127
128
|
this.currentItem$ = new Subject();
|
|
129
|
+
/** Currently selected item (for click-based selection mode). */
|
|
130
|
+
this.selectedItem$ = signal(null, ...(ngDevMode ? [{ debugName: "selectedItem$" }] : []));
|
|
131
|
+
/** Subject to notify when an overflow item is selected and should be promoted. */
|
|
132
|
+
this.overflowItemSelected$ = new Subject();
|
|
133
|
+
/** Subject to notify when selection changes to clear manual selections */
|
|
134
|
+
this.selectionChanged$ = new Subject();
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Set the selected item.
|
|
138
|
+
* @param item The item to select, or null to clear selection.
|
|
139
|
+
*/
|
|
140
|
+
setSelectedItem(item) {
|
|
141
|
+
this.selectedItem$.set(item);
|
|
142
|
+
// Notify that selection has changed so other items can clear their manual selection
|
|
143
|
+
this.selectionChanged$.next(item);
|
|
144
|
+
// Handle smart overflow promotion logic
|
|
145
|
+
if (item) {
|
|
146
|
+
// Case 1: Child items promote their parent when the parent is in overflow
|
|
147
|
+
if (item.parentListItem && item.parentListItem.isOverflow$()) {
|
|
148
|
+
this.overflowItemSelected$.next(item.parentListItem);
|
|
149
|
+
}
|
|
150
|
+
// Case 2: Regular overflow items promote themselves
|
|
151
|
+
else if (item.isOverflow$()) {
|
|
152
|
+
this.overflowItemSelected$.next(item);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Get the currently selected item.
|
|
158
|
+
* @returns The currently selected item, or null if none is selected.
|
|
159
|
+
*/
|
|
160
|
+
getSelectedItem() {
|
|
161
|
+
return this.selectedItem$();
|
|
128
162
|
}
|
|
129
163
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: NavigationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
130
164
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: NavigationService }); }
|
|
@@ -144,14 +178,27 @@ class NavigationListComponent {
|
|
|
144
178
|
get _listItems() {
|
|
145
179
|
return this._listItemsArray;
|
|
146
180
|
}
|
|
181
|
+
/** List Role. */
|
|
182
|
+
get _role() {
|
|
183
|
+
return this.computedRole();
|
|
184
|
+
}
|
|
147
185
|
/** @hidden */
|
|
148
186
|
get _activeItemIndex() {
|
|
149
187
|
return this._keyManager?.activeItemIndex ?? -1;
|
|
150
188
|
}
|
|
151
189
|
/** @hidden */
|
|
152
190
|
constructor() {
|
|
153
|
-
/** List Role. */
|
|
154
191
|
this.role = 'tree';
|
|
192
|
+
/**
|
|
193
|
+
* aria-label for the navigation list.
|
|
194
|
+
*/
|
|
195
|
+
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
196
|
+
this.ariaLabel = null;
|
|
197
|
+
/**
|
|
198
|
+
* aria-roledescription for the navigation list.
|
|
199
|
+
*/
|
|
200
|
+
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
201
|
+
this.ariaRoleDescription = null;
|
|
155
202
|
/** Whether the list is for parent items. */
|
|
156
203
|
this.parentItems = false;
|
|
157
204
|
/** Whether the list is for child items. */
|
|
@@ -164,6 +211,51 @@ class NavigationListComponent {
|
|
|
164
211
|
this.focusBefore = new EventEmitter();
|
|
165
212
|
/** Event emitted when user tries to navigate to the item after the list itself. */
|
|
166
213
|
this.focusAfter = new EventEmitter();
|
|
214
|
+
/** Computed role based on navigation state and input role. */
|
|
215
|
+
this.computedRole = computed(() => {
|
|
216
|
+
// Prioritize explicit role input
|
|
217
|
+
if (this.role && this.role !== 'tree') {
|
|
218
|
+
return this.role;
|
|
219
|
+
}
|
|
220
|
+
// Check if this is in an overflow menu context (More button popover)
|
|
221
|
+
const navigation = this._navigation;
|
|
222
|
+
if (navigation?.isSnapped$() && this.moreButtonRef) {
|
|
223
|
+
// In overflow menu, lists should have role="menu"
|
|
224
|
+
return 'menu';
|
|
225
|
+
}
|
|
226
|
+
// If this is a child items list or parent items list, it should have role="group"
|
|
227
|
+
if (this.childItems || this.parentItems) {
|
|
228
|
+
return 'group';
|
|
229
|
+
}
|
|
230
|
+
if (navigation?.isSnapped$()) {
|
|
231
|
+
return 'menubar';
|
|
232
|
+
}
|
|
233
|
+
return this.role || 'tree';
|
|
234
|
+
}, ...(ngDevMode ? [{ debugName: "computedRole" }] : []));
|
|
235
|
+
/** Computed aria-label for group lists based on parent item's text content. */
|
|
236
|
+
this.computedAriaLabel = computed(() => {
|
|
237
|
+
try {
|
|
238
|
+
// Only provide aria-label for group role lists
|
|
239
|
+
if (this.computedRole() === 'group' && this._listItem) {
|
|
240
|
+
const parentLink = this._listItem.link$();
|
|
241
|
+
if (parentLink?.elementRef?.nativeElement) {
|
|
242
|
+
// Get text content directly from the navigation link element
|
|
243
|
+
// The .fd-navigation__text span contains the projected content, but we can access
|
|
244
|
+
// the text content directly from the link element itself
|
|
245
|
+
const linkElement = parentLink.elementRef.nativeElement;
|
|
246
|
+
const textContent = linkElement.textContent?.trim();
|
|
247
|
+
if (textContent) {
|
|
248
|
+
return textContent;
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
return this.ariaLabel;
|
|
253
|
+
}
|
|
254
|
+
catch {
|
|
255
|
+
// Fallback to default ariaLabel if DOM is not ready or there's any error
|
|
256
|
+
return this.ariaLabel;
|
|
257
|
+
}
|
|
258
|
+
}, ...(ngDevMode ? [{ debugName: "computedAriaLabel" }] : []));
|
|
167
259
|
/** List items. */
|
|
168
260
|
this.listItems$ = signal([], ...(ngDevMode ? [{ debugName: "listItems$" }] : []));
|
|
169
261
|
/** @hidden */
|
|
@@ -172,6 +264,13 @@ class NavigationListComponent {
|
|
|
172
264
|
this._navigationService = inject(NavigationService, {
|
|
173
265
|
optional: true
|
|
174
266
|
});
|
|
267
|
+
/**
|
|
268
|
+
* @hidden
|
|
269
|
+
* Parent navigation component.
|
|
270
|
+
*/
|
|
271
|
+
this._navigation = inject(FdbNavigation, {
|
|
272
|
+
optional: true
|
|
273
|
+
});
|
|
175
274
|
/**
|
|
176
275
|
* @hidden
|
|
177
276
|
* Parent list item.
|
|
@@ -185,6 +284,18 @@ class NavigationListComponent {
|
|
|
185
284
|
});
|
|
186
285
|
/** @hidden */
|
|
187
286
|
this._destroyRef = inject(DestroyRef);
|
|
287
|
+
/** @hidden */
|
|
288
|
+
this._renderer = inject(Renderer2);
|
|
289
|
+
/** @hidden */
|
|
290
|
+
this._elementRef = inject(ElementRef);
|
|
291
|
+
/** @hidden */
|
|
292
|
+
this._ariaLabelEffect = effect(() => {
|
|
293
|
+
// This effect runs whenever the signals change, but we need to ensure
|
|
294
|
+
// it doesn't run during the initial change detection cycle
|
|
295
|
+
setTimeout(() => {
|
|
296
|
+
this._updateAriaLabel();
|
|
297
|
+
}, 0);
|
|
298
|
+
}, ...(ngDevMode ? [{ debugName: "_ariaLabelEffect" }] : []));
|
|
188
299
|
this._listItem?.registerChildList(this);
|
|
189
300
|
}
|
|
190
301
|
/**
|
|
@@ -215,9 +326,22 @@ class NavigationListComponent {
|
|
|
215
326
|
}
|
|
216
327
|
// We need to cancel event bubbling since we may have parent list that will also try to focus it's parent list item.
|
|
217
328
|
event.stopImmediatePropagation();
|
|
329
|
+
// All navigation lists use the same swapped arrow logic:
|
|
330
|
+
// RIGHT arrow = expand action, LEFT arrow = collapse/go back action
|
|
218
331
|
const isExpandAction = KeyUtil.isKeyCode(event, this._rtl?.rtl.value ? LEFT_ARROW : RIGHT_ARROW);
|
|
219
332
|
if (!isExpandAction) {
|
|
220
|
-
this.
|
|
333
|
+
if (this.moreButtonRef) {
|
|
334
|
+
if (this._listItem) {
|
|
335
|
+
this._listItem.focusLink(true);
|
|
336
|
+
}
|
|
337
|
+
else {
|
|
338
|
+
this.moreButtonRef.popoverOpen$.set(false);
|
|
339
|
+
this.moreButtonRef.focusLink();
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
else {
|
|
343
|
+
this._listItem?.focusLink(true);
|
|
344
|
+
}
|
|
221
345
|
}
|
|
222
346
|
}
|
|
223
347
|
/** @hidden */
|
|
@@ -241,6 +365,25 @@ class NavigationListComponent {
|
|
|
241
365
|
this._listItem?.unregisterChildList(this);
|
|
242
366
|
this._keyManager?.destroy();
|
|
243
367
|
}
|
|
368
|
+
/**
|
|
369
|
+
* Updates aria-label attribute manually to avoid expression changed errors
|
|
370
|
+
*/
|
|
371
|
+
_updateAriaLabel() {
|
|
372
|
+
try {
|
|
373
|
+
const ariaLabel = this.computedAriaLabel();
|
|
374
|
+
if (ariaLabel !== null && ariaLabel !== undefined) {
|
|
375
|
+
this._renderer.setAttribute(this._elementRef.nativeElement, 'aria-label', ariaLabel);
|
|
376
|
+
}
|
|
377
|
+
else {
|
|
378
|
+
this._renderer.removeAttribute(this._elementRef.nativeElement, 'aria-label');
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
catch {
|
|
382
|
+
if (this.ariaLabel) {
|
|
383
|
+
this._renderer.setAttribute(this._elementRef.nativeElement, 'aria-label', this.ariaLabel);
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
}
|
|
244
387
|
/** @hidden */
|
|
245
388
|
_setupKeyManager() {
|
|
246
389
|
this._keyManager?.destroy();
|
|
@@ -252,22 +395,31 @@ class NavigationListComponent {
|
|
|
252
395
|
.skipPredicate((item) => item.skipNavigation);
|
|
253
396
|
}
|
|
254
397
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: NavigationListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
255
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.4", type: NavigationListComponent, isStandalone: true, selector: "ul[fdb-navigation-list]", inputs: { _listItems: ["listItems", "_listItems"], role: "role", parentItems: ["parentItems", "parentItems", booleanAttribute], childItems: ["childItems", "childItems", booleanAttribute], noGrow: ["noGrow", "noGrow", booleanAttribute], withKeyboardNavigation: ["withKeyboardNavigation", "withKeyboardNavigation", booleanAttribute] }, outputs: { focusBefore: "focusBefore", focusAfter: "focusAfter" }, host: { attributes: { "tabindex": "-1" }, listeners: { "keydown": "_keydownHandler($event)" }, properties: { "attr.role": "this.
|
|
398
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.4", type: NavigationListComponent, isStandalone: true, selector: "ul[fdb-navigation-list]", inputs: { _listItems: ["listItems", "_listItems"], role: "role", ariaLabel: "ariaLabel", ariaRoleDescription: "ariaRoleDescription", parentItems: ["parentItems", "parentItems", booleanAttribute], childItems: ["childItems", "childItems", booleanAttribute], noGrow: ["noGrow", "noGrow", booleanAttribute], withKeyboardNavigation: ["withKeyboardNavigation", "withKeyboardNavigation", booleanAttribute], moreButtonRef: "moreButtonRef" }, outputs: { focusBefore: "focusBefore", focusAfter: "focusAfter" }, host: { attributes: { "tabindex": "-1" }, listeners: { "keydown": "_keydownHandler($event)" }, properties: { "attr.role": "this._role", "attr.aria-roledescription": "this.ariaRoleDescription", "class.fd-navigation__list--parent-items": "this.parentItems", "class.fd-navigation__list--child-items": "this.childItems", "class.fd-navigation__list--no-grow": "this.noGrow" }, classAttribute: "fd-navigation__list" }, usesOnChanges: true, ngImport: i0, template: "@for (item of listItems$(); track item) {\n @if (item) {\n <li [class]=\"item.class$()\" role=\"none\">\n <ng-template [ngTemplateOutlet]=\"item.renderer$()\"></ng-template>\n </li>\n <!-- Add separator after home list item. -->\n @if (item.home) {\n <li class=\"fd-navigation__list-item fd-navigation__list-item--separator\" role=\"separator\"></li>\n }\n }\n}\n<!-- Keep this for \"More\" button -->\n<ng-content></ng-content>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
256
399
|
}
|
|
257
400
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: NavigationListComponent, decorators: [{
|
|
258
401
|
type: Component,
|
|
259
402
|
args: [{ selector: 'ul[fdb-navigation-list]', imports: [NgTemplateOutlet], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
260
403
|
class: 'fd-navigation__list',
|
|
261
404
|
tabindex: '-1'
|
|
262
|
-
}, template: "@for (item of listItems$(); track item) {\n @if (item) {\n <li [class]=\"item.class$()\">\n <ng-template [ngTemplateOutlet]=\"item.renderer$()\"></ng-template>\n </li>\n <!-- Add separator after home list item. -->\n @if (item.home) {\n <li class=\"fd-navigation__list-item fd-navigation__list-item--separator\"></li>\n }\n }\n}\n<!-- Keep this for \"More\" button -->\n<ng-content></ng-content>\n" }]
|
|
405
|
+
}, template: "@for (item of listItems$(); track item) {\n @if (item) {\n <li [class]=\"item.class$()\" role=\"none\">\n <ng-template [ngTemplateOutlet]=\"item.renderer$()\"></ng-template>\n </li>\n <!-- Add separator after home list item. -->\n @if (item.home) {\n <li class=\"fd-navigation__list-item fd-navigation__list-item--separator\" role=\"separator\"></li>\n }\n }\n}\n<!-- Keep this for \"More\" button -->\n<ng-content></ng-content>\n" }]
|
|
263
406
|
}], ctorParameters: () => [], propDecorators: { _listItems: [{
|
|
264
407
|
type: Input,
|
|
265
408
|
args: ['listItems']
|
|
266
|
-
}],
|
|
409
|
+
}], _role: [{
|
|
267
410
|
type: HostBinding,
|
|
268
411
|
args: ['attr.role']
|
|
269
|
-
}, {
|
|
412
|
+
}], role: [{
|
|
270
413
|
type: Input
|
|
414
|
+
}], ariaLabel: [{
|
|
415
|
+
type: Input,
|
|
416
|
+
args: ['ariaLabel']
|
|
417
|
+
}], ariaRoleDescription: [{
|
|
418
|
+
type: Input,
|
|
419
|
+
args: ['ariaRoleDescription']
|
|
420
|
+
}, {
|
|
421
|
+
type: HostBinding,
|
|
422
|
+
args: ['attr.aria-roledescription']
|
|
271
423
|
}], parentItems: [{
|
|
272
424
|
type: HostBinding,
|
|
273
425
|
args: ['class.fd-navigation__list--parent-items']
|
|
@@ -289,6 +441,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImpor
|
|
|
289
441
|
}], withKeyboardNavigation: [{
|
|
290
442
|
type: Input,
|
|
291
443
|
args: [{ transform: booleanAttribute }]
|
|
444
|
+
}], moreButtonRef: [{
|
|
445
|
+
type: Input
|
|
292
446
|
}], focusBefore: [{
|
|
293
447
|
type: Output
|
|
294
448
|
}], focusAfter: [{
|
|
@@ -303,6 +457,14 @@ class NavigationContentEndComponent extends FdbNavigationContentContainer {
|
|
|
303
457
|
super(...arguments);
|
|
304
458
|
/** Whether the list items are content-projected. Used only with data-driven navigation. */
|
|
305
459
|
this.contentProjected = true;
|
|
460
|
+
/**
|
|
461
|
+
* aria-label for the navigation list.
|
|
462
|
+
*/
|
|
463
|
+
this.ariaLabel = null;
|
|
464
|
+
/**
|
|
465
|
+
* aria-roledescription for the navigation list.
|
|
466
|
+
*/
|
|
467
|
+
this.ariaRoleDescription = null;
|
|
306
468
|
/** @hidden */
|
|
307
469
|
this.listItems$ = signal([], ...(ngDevMode ? [{ debugName: "listItems$" }] : []));
|
|
308
470
|
/** Whether the container is placed on the start position, or the end position of the navigation. */
|
|
@@ -318,18 +480,28 @@ class NavigationContentEndComponent extends FdbNavigationContentContainer {
|
|
|
318
480
|
});
|
|
319
481
|
}
|
|
320
482
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: NavigationContentEndComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
321
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.4", type: NavigationContentEndComponent, isStandalone: true, selector: "fdb-navigation-content-end", inputs: { contentProjected: "contentProjected" }, host: { classAttribute: "fd-navigation__container fd-navigation__container--bottom" }, providers: [
|
|
483
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.4", type: NavigationContentEndComponent, isStandalone: true, selector: "fdb-navigation-content-end", inputs: { contentProjected: "contentProjected", ariaLabel: "ariaLabel", ariaRoleDescription: "ariaRoleDescription" }, host: { classAttribute: "fd-navigation__container fd-navigation__container--bottom" }, providers: [
|
|
322
484
|
{
|
|
323
485
|
provide: FdbNavigationContentContainer,
|
|
324
486
|
useExisting: NavigationContentEndComponent
|
|
325
487
|
}
|
|
326
|
-
], queries: [{ propertyName: "_listItems", predicate: FdbNavigationListItem }], usesInheritance: true, ngImport: i0, template: `<ul
|
|
488
|
+
], queries: [{ propertyName: "_listItems", predicate: FdbNavigationListItem }], usesInheritance: true, ngImport: i0, template: `<ul
|
|
489
|
+
fdb-navigation-list
|
|
490
|
+
[listItems]="allListItems$()"
|
|
491
|
+
[ariaLabel]="ariaLabel"
|
|
492
|
+
[ariaRoleDescription]="ariaRoleDescription"
|
|
493
|
+
></ul>`, isInline: true, dependencies: [{ kind: "component", type: NavigationListComponent, selector: "ul[fdb-navigation-list]", inputs: ["listItems", "role", "ariaLabel", "ariaRoleDescription", "parentItems", "childItems", "noGrow", "withKeyboardNavigation", "moreButtonRef"], outputs: ["focusBefore", "focusAfter"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
327
494
|
}
|
|
328
495
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: NavigationContentEndComponent, decorators: [{
|
|
329
496
|
type: Component,
|
|
330
497
|
args: [{
|
|
331
498
|
selector: 'fdb-navigation-content-end',
|
|
332
|
-
template: `<ul
|
|
499
|
+
template: `<ul
|
|
500
|
+
fdb-navigation-list
|
|
501
|
+
[listItems]="allListItems$()"
|
|
502
|
+
[ariaLabel]="ariaLabel"
|
|
503
|
+
[ariaRoleDescription]="ariaRoleDescription"
|
|
504
|
+
></ul>`,
|
|
333
505
|
imports: [NavigationListComponent],
|
|
334
506
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
335
507
|
encapsulation: ViewEncapsulation.None,
|
|
@@ -345,6 +517,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImpor
|
|
|
345
517
|
}]
|
|
346
518
|
}], propDecorators: { contentProjected: [{
|
|
347
519
|
type: Input
|
|
520
|
+
}], ariaLabel: [{
|
|
521
|
+
type: Input
|
|
522
|
+
}], ariaRoleDescription: [{
|
|
523
|
+
type: Input
|
|
348
524
|
}], _listItems: [{
|
|
349
525
|
type: ContentChildren,
|
|
350
526
|
args: [FdbNavigationListItem, { descendants: false }]
|
|
@@ -402,7 +578,7 @@ class NavigationListItemDirective {
|
|
|
402
578
|
this.childDirectives().clear();
|
|
403
579
|
}
|
|
404
580
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: NavigationListItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
405
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.4", type: NavigationListItemDirective, isStandalone: true, selector: "[fdbNavigationListItem]",
|
|
581
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.4", type: NavigationListItemDirective, isStandalone: true, selector: "[fdbNavigationListItem]", providers: [
|
|
406
582
|
{
|
|
407
583
|
provide: FdbNavigationListItem,
|
|
408
584
|
useExisting: NavigationListItemDirective
|
|
@@ -422,9 +598,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImpor
|
|
|
422
598
|
],
|
|
423
599
|
exportAs: 'fdbListItem'
|
|
424
600
|
}]
|
|
425
|
-
}], ctorParameters: () => []
|
|
426
|
-
type: Input
|
|
427
|
-
}] } });
|
|
601
|
+
}], ctorParameters: () => [] });
|
|
428
602
|
class NavigationListItemRefDirective {
|
|
429
603
|
constructor() {
|
|
430
604
|
/** Template reference. */
|
|
@@ -466,10 +640,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImpor
|
|
|
466
640
|
}]
|
|
467
641
|
}] });
|
|
468
642
|
class NavigationLinkComponent extends FdbNavigationItemLink {
|
|
469
|
-
/** @hidden */
|
|
470
|
-
get _tabIndex() {
|
|
471
|
-
return this._listItemComponent?.popoverOpen$() || this._navigation.getActiveItem()?.link$() === this ? 0 : -1;
|
|
472
|
-
}
|
|
473
643
|
/** Whether the link is inside popover. */
|
|
474
644
|
get inPopover() {
|
|
475
645
|
return !!this.elementRef.nativeElement.parentElement?.classList.contains('fd-navigation__item--title');
|
|
@@ -505,38 +675,174 @@ class NavigationLinkComponent extends FdbNavigationItemLink {
|
|
|
505
675
|
});
|
|
506
676
|
/** @hidden */
|
|
507
677
|
this._navigation = inject(FdbNavigation);
|
|
678
|
+
/** @hidden */
|
|
679
|
+
this._renderer = inject(Renderer2);
|
|
680
|
+
/** @hidden */
|
|
681
|
+
this._tabIndexEffect = effect(() => {
|
|
682
|
+
// Track all the signals that affect tabindex computation
|
|
683
|
+
this._navigation.getActiveItem(); // Track active item changes
|
|
684
|
+
const isParentPopoverOpen = this._listItemComponent?.popoverOpen$();
|
|
685
|
+
const isGrandparentPopoverOpen = this._listItemComponent?.parentListItem?.popoverOpen$();
|
|
686
|
+
const hasOpenPopover = isParentPopoverOpen || isGrandparentPopoverOpen;
|
|
687
|
+
if (hasOpenPopover) {
|
|
688
|
+
// For popover cases, update immediately to ensure tabindex is set before focus management
|
|
689
|
+
this._updateTabIndex();
|
|
690
|
+
}
|
|
691
|
+
else {
|
|
692
|
+
// For other cases, use setTimeout to avoid expression changed errors
|
|
693
|
+
setTimeout(() => {
|
|
694
|
+
this._updateTabIndex();
|
|
695
|
+
}, 0);
|
|
696
|
+
}
|
|
697
|
+
}, ...(ngDevMode ? [{ debugName: "_tabIndexEffect" }] : []));
|
|
508
698
|
this._listItemComponent?.registerLink(this);
|
|
509
699
|
this.isActive$ = toSignal(this._routerLinkActive?.isActiveChange.pipe(startWith(this._routerLinkActive.isActive)) || of(false));
|
|
510
700
|
}
|
|
511
701
|
/** @hidden */
|
|
512
|
-
_clickHandler() {
|
|
702
|
+
_clickHandler(event) {
|
|
703
|
+
// Check if this is a NavigationMoreButtonComponent (More button itself)
|
|
704
|
+
if (this._listItemComponent &&
|
|
705
|
+
'type' in this._listItemComponent &&
|
|
706
|
+
this._listItemComponent.type === 'showMore') {
|
|
707
|
+
return;
|
|
708
|
+
}
|
|
709
|
+
const disabled = this._listItemComponent?.disabled$?.() || false;
|
|
710
|
+
if (disabled) {
|
|
711
|
+
event.preventDefault();
|
|
712
|
+
event.stopPropagation();
|
|
713
|
+
return;
|
|
714
|
+
}
|
|
513
715
|
if (this.inPopover || !this._listItemComponent?.isVisible$() || this._listItemComponent?.isOverflow$()) {
|
|
514
716
|
this._navigation.closePopups();
|
|
515
717
|
}
|
|
516
|
-
// Ignore click if link has URL applied to it.
|
|
517
718
|
if (this.routerLink) {
|
|
518
719
|
return;
|
|
519
720
|
}
|
|
520
|
-
|
|
721
|
+
// Handle selection directly if in click mode
|
|
722
|
+
if (this._navigation.selectionMode === 'click' && this._listItemComponent) {
|
|
723
|
+
const canSelect = this._canItemBeSelected();
|
|
724
|
+
if (canSelect) {
|
|
725
|
+
this._navigation.service.setSelectedItem(this._listItemComponent);
|
|
726
|
+
}
|
|
727
|
+
else {
|
|
728
|
+
// Handle expansion for items with children
|
|
729
|
+
this._listItemComponent?.toggleExpanded();
|
|
730
|
+
}
|
|
731
|
+
}
|
|
732
|
+
else {
|
|
733
|
+
// Handle expansion for items with children
|
|
734
|
+
this._listItemComponent?.toggleExpanded();
|
|
735
|
+
}
|
|
521
736
|
}
|
|
522
737
|
/** @hidden */
|
|
523
738
|
_keyDownHandler(event) {
|
|
524
|
-
|
|
739
|
+
const keyboardEvent = event;
|
|
740
|
+
const isDisabled = this._listItemComponent?.disabled$?.() || false;
|
|
741
|
+
if (isDisabled) {
|
|
742
|
+
return;
|
|
743
|
+
}
|
|
744
|
+
// Handle Space and Enter for selection (same as click behavior)
|
|
745
|
+
if (KeyUtil.isKeyCode(keyboardEvent, [SPACE, ENTER])) {
|
|
746
|
+
// Check if this is a NavigationMoreButtonComponent (More button itself)
|
|
747
|
+
if (this._listItemComponent &&
|
|
748
|
+
'type' in this._listItemComponent &&
|
|
749
|
+
this._listItemComponent.type === 'showMore') {
|
|
750
|
+
return;
|
|
751
|
+
}
|
|
752
|
+
// Prevent default scrolling behavior for Space
|
|
753
|
+
keyboardEvent.preventDefault();
|
|
754
|
+
if (this.inPopover || !this._listItemComponent?.isVisible$() || this._listItemComponent?.isOverflow$()) {
|
|
755
|
+
this._navigation.closePopups();
|
|
756
|
+
}
|
|
757
|
+
// Ignore if link has URL applied to it (let router handle it)
|
|
758
|
+
if (this.routerLink) {
|
|
759
|
+
return;
|
|
760
|
+
}
|
|
761
|
+
// Handle selection directly if in click mode
|
|
762
|
+
if (this._navigation.selectionMode === 'click' && this._listItemComponent) {
|
|
763
|
+
const canSelect = this._canItemBeSelected();
|
|
764
|
+
if (canSelect) {
|
|
765
|
+
this._navigation.service.setSelectedItem(this._listItemComponent);
|
|
766
|
+
}
|
|
767
|
+
else {
|
|
768
|
+
// Handle expansion for items with children
|
|
769
|
+
this._listItemComponent?.toggleExpanded();
|
|
770
|
+
}
|
|
771
|
+
}
|
|
772
|
+
else {
|
|
773
|
+
// Handle expansion for items with children
|
|
774
|
+
this._listItemComponent?.toggleExpanded();
|
|
775
|
+
}
|
|
776
|
+
return;
|
|
777
|
+
}
|
|
778
|
+
if (this.inPopover && KeyUtil.isKeyCode(keyboardEvent, DOWN_ARROW)) {
|
|
525
779
|
this._listItemComponent?.popoverLinkArrowDown();
|
|
526
780
|
return;
|
|
527
781
|
}
|
|
528
|
-
if (!KeyUtil.isKeyCode(
|
|
782
|
+
if (!KeyUtil.isKeyCode(keyboardEvent, [LEFT_ARROW, RIGHT_ARROW])) {
|
|
783
|
+
return;
|
|
784
|
+
}
|
|
785
|
+
// Skip keyboard expansion for More buttons - they handle their own keyboard events
|
|
786
|
+
if (this._listItemComponent.type === 'showMore') {
|
|
529
787
|
return;
|
|
530
788
|
}
|
|
531
|
-
const expansionKey = this._rtl?.rtl.value ?
|
|
532
|
-
this._listItemComponent?.keyboardExpanded(KeyUtil.isKeyCode(
|
|
789
|
+
const expansionKey = this._rtl?.rtl.value ? LEFT_ARROW : RIGHT_ARROW;
|
|
790
|
+
this._listItemComponent?.keyboardExpanded(KeyUtil.isKeyCode(keyboardEvent, expansionKey));
|
|
533
791
|
}
|
|
534
792
|
/** @hidden */
|
|
535
793
|
ngOnDestroy() {
|
|
536
794
|
this._listItemComponent?.unregisterLink(this);
|
|
537
795
|
}
|
|
796
|
+
/** @hidden */
|
|
797
|
+
_updateTabIndex() {
|
|
798
|
+
try {
|
|
799
|
+
// Check if this link should have tabindex=0
|
|
800
|
+
const isActiveItem = this._navigation.getActiveItem()?.link$() === this;
|
|
801
|
+
// Check if any ancestor has an open popover
|
|
802
|
+
const isParentPopoverOpen = this._listItemComponent?.popoverOpen$();
|
|
803
|
+
const isGrandparentPopoverOpen = this._listItemComponent?.parentListItem?.popoverOpen$();
|
|
804
|
+
// Check if the navigation is inside any popover body (not just navigation item popovers)
|
|
805
|
+
const isInsidePopoverBody = this.elementRef.nativeElement.closest('.fd-popover__body');
|
|
806
|
+
// When a popover is open, all links in the popover hierarchy should be focusable
|
|
807
|
+
if (isParentPopoverOpen || isGrandparentPopoverOpen || isInsidePopoverBody) {
|
|
808
|
+
// All links in popover context should be focusable (except disabled ones)
|
|
809
|
+
const tabIndex = 0;
|
|
810
|
+
this._renderer.setAttribute(this.elementRef.nativeElement, 'tabindex', tabIndex.toString());
|
|
811
|
+
}
|
|
812
|
+
else {
|
|
813
|
+
// Normal case: active item gets tabindex=0, others get -1
|
|
814
|
+
const tabIndex = isActiveItem ? 0 : -1;
|
|
815
|
+
this._renderer.setAttribute(this.elementRef.nativeElement, 'tabindex', tabIndex.toString());
|
|
816
|
+
}
|
|
817
|
+
}
|
|
818
|
+
catch {
|
|
819
|
+
// Fallback to -1 if there's any issue during evaluation
|
|
820
|
+
this._renderer.setAttribute(this.elementRef.nativeElement, 'tabindex', '-1');
|
|
821
|
+
}
|
|
822
|
+
}
|
|
823
|
+
/** @hidden */
|
|
824
|
+
_canItemBeSelected() {
|
|
825
|
+
if (!this._listItemComponent) {
|
|
826
|
+
return false;
|
|
827
|
+
}
|
|
828
|
+
// Group items (headers) cannot be selected
|
|
829
|
+
if (this._listItemComponent.isGroup$()) {
|
|
830
|
+
return false;
|
|
831
|
+
}
|
|
832
|
+
// Items with children that don't have a router link cannot be selected
|
|
833
|
+
// (they should only expand/collapse)
|
|
834
|
+
if (this._listItemComponent.hasChildren$() && !this.routerLink) {
|
|
835
|
+
return false;
|
|
836
|
+
}
|
|
837
|
+
// Separator and spacer items cannot be selected
|
|
838
|
+
if (this._listItemComponent.separator || this._listItemComponent.spacer) {
|
|
839
|
+
return false;
|
|
840
|
+
}
|
|
841
|
+
// All other items (leaf items and items with both links and children) can be selected
|
|
842
|
+
return true;
|
|
843
|
+
}
|
|
538
844
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: NavigationLinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
539
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.4", type: NavigationLinkComponent, isStandalone: true, selector: "a[fdb-navigation-link], button[fdb-navigation-link]", inputs: { class: "class", glyph: "glyph", glyphFont: "glyphFont", external: "external", quickCreate: ["quickCreate", "quickCreate", booleanAttribute] }, host: { listeners: { "click": "_clickHandler()", "keydown": "_keyDownHandler($event)" }, properties: { "attr.role": "quickCreate ? \"button\" : \"link\""
|
|
845
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.4", type: NavigationLinkComponent, isStandalone: true, selector: "a[fdb-navigation-link], button[fdb-navigation-link]", inputs: { class: "class", glyph: "glyph", glyphFont: "glyphFont", external: "external", quickCreate: ["quickCreate", "quickCreate", booleanAttribute] }, host: { listeners: { "click": "_clickHandler($event)", "keydown": "_keyDownHandler($event)" }, properties: { "attr.role": "quickCreate ? \"button\" : \"link\"" }, classAttribute: "fd-navigation__link" }, providers: [
|
|
540
846
|
{
|
|
541
847
|
provide: FdbNavigationItemLink,
|
|
542
848
|
useExisting: NavigationLinkComponent
|
|
@@ -565,17 +871,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImpor
|
|
|
565
871
|
}], quickCreate: [{
|
|
566
872
|
type: Input,
|
|
567
873
|
args: [{ transform: booleanAttribute }]
|
|
568
|
-
}], _tabIndex: [{
|
|
569
|
-
type: HostBinding,
|
|
570
|
-
args: ['attr.tabindex']
|
|
571
874
|
}], _clickHandler: [{
|
|
572
875
|
type: HostListener,
|
|
573
|
-
args: ['click']
|
|
876
|
+
args: ['click', ['$event']]
|
|
574
877
|
}], _keyDownHandler: [{
|
|
575
878
|
type: HostListener,
|
|
576
879
|
args: ['keydown', ['$event']]
|
|
577
880
|
}] } });
|
|
578
881
|
|
|
882
|
+
let navListItemUniqueId = 0;
|
|
579
883
|
class NavigationListItemMarkerDirective {
|
|
580
884
|
/** @hidden */
|
|
581
885
|
constructor() {
|
|
@@ -645,11 +949,18 @@ class NavigationListItemComponent extends FdbNavigationListItem {
|
|
|
645
949
|
}
|
|
646
950
|
/** Whether the item should be marked as selected. */
|
|
647
951
|
set selected(selected) {
|
|
648
|
-
this.
|
|
952
|
+
this._manuallySelected$.set(selected);
|
|
649
953
|
}
|
|
650
954
|
get selected() {
|
|
651
955
|
return this.selected$();
|
|
652
956
|
}
|
|
957
|
+
/** Whether the item is disabled. */
|
|
958
|
+
set disabled(disabled) {
|
|
959
|
+
this.disabled$.set(disabled);
|
|
960
|
+
}
|
|
961
|
+
get disabled() {
|
|
962
|
+
return this.disabled$();
|
|
963
|
+
}
|
|
653
964
|
/** Link reference. */
|
|
654
965
|
set link(value) {
|
|
655
966
|
this.link$.set(value);
|
|
@@ -664,7 +975,7 @@ class NavigationListItemComponent extends FdbNavigationListItem {
|
|
|
664
975
|
* Whether the item is navigatable via the keyboard.
|
|
665
976
|
*/
|
|
666
977
|
get skipNavigation() {
|
|
667
|
-
return this.spacer || this.separator;
|
|
978
|
+
return this.spacer || this.separator || this._isDisabledCached$();
|
|
668
979
|
}
|
|
669
980
|
/** @hidden */
|
|
670
981
|
get parentListItem() {
|
|
@@ -673,6 +984,8 @@ class NavigationListItemComponent extends FdbNavigationListItem {
|
|
|
673
984
|
/** @hidden */
|
|
674
985
|
constructor() {
|
|
675
986
|
super();
|
|
987
|
+
/** ID for the navigation list item. Default one is assigned if not provided. */
|
|
988
|
+
this.id = input(`fdb-nav-list-item-${++navListItemUniqueId}`, ...(ngDevMode ? [{ debugName: "id" }] : []));
|
|
676
989
|
/** Type of the list item. Whether its a standard item or a "show more" button container. */
|
|
677
990
|
this.type = 'item';
|
|
678
991
|
/** @hidden */
|
|
@@ -702,8 +1015,135 @@ class NavigationListItemComponent extends FdbNavigationListItem {
|
|
|
702
1015
|
}
|
|
703
1016
|
return this.parentListItem.isVisible$() && this.parentListItem.expanded$();
|
|
704
1017
|
}, ...(ngDevMode ? [{ debugName: "isVisible$" }] : []));
|
|
1018
|
+
/** Whether the item is disabled. Cached to avoid repeated signal calls. */
|
|
1019
|
+
this._isDisabledCached$ = computed(() => this.disabled$(), ...(ngDevMode ? [{ debugName: "_isDisabledCached$" }] : []));
|
|
705
1020
|
/** aria-expanded attribute value. */
|
|
706
1021
|
this.expandedAttr$ = computed(() => this.navigation.isSnapped$() ? this.popoverOpen$() && !this.isOverflow$() : this.expanded$(), ...(ngDevMode ? [{ debugName: "expandedAttr$" }] : []));
|
|
1022
|
+
/** Role attribute value based on navigation state. */
|
|
1023
|
+
this.roleAttr$ = computed(() => {
|
|
1024
|
+
if (this.navigation.isSnapped$()) {
|
|
1025
|
+
// In popover context (when parent list item exists), child items should be treeitem
|
|
1026
|
+
if (this.parentListItem && this.parentListItem.popoverOpen$()) {
|
|
1027
|
+
return 'treeitem';
|
|
1028
|
+
}
|
|
1029
|
+
// In overflow menu context (More button popover), items should be menuitem
|
|
1030
|
+
if (this.isOverflow$()) {
|
|
1031
|
+
return 'menuitem';
|
|
1032
|
+
}
|
|
1033
|
+
return 'menuitemradio';
|
|
1034
|
+
}
|
|
1035
|
+
return 'treeitem';
|
|
1036
|
+
}, ...(ngDevMode ? [{ debugName: "roleAttr$" }] : []));
|
|
1037
|
+
/** aria-checked attribute value for menuitemradio role. */
|
|
1038
|
+
this.ariaCheckedAttr$ = computed(() => {
|
|
1039
|
+
if (this.navigation.isSnapped$() && this.roleAttr$() === 'menuitemradio') {
|
|
1040
|
+
return this.isActiveAttr$();
|
|
1041
|
+
}
|
|
1042
|
+
return undefined;
|
|
1043
|
+
}, ...(ngDevMode ? [{ debugName: "ariaCheckedAttr$" }] : []));
|
|
1044
|
+
/** aria-selected attribute value - kept in both expanded and snapped modes. */
|
|
1045
|
+
this.ariaSelectedAttr$ = computed(() => this.isActiveAttr$(), ...(ngDevMode ? [{ debugName: "ariaSelectedAttr$" }] : []));
|
|
1046
|
+
/** aria-level attribute value - only for treeitem role. */
|
|
1047
|
+
this.ariaLevelAttr$ = computed(() => {
|
|
1048
|
+
if (!this.navigation.isSnapped$()) {
|
|
1049
|
+
return this.level$();
|
|
1050
|
+
}
|
|
1051
|
+
return undefined;
|
|
1052
|
+
}, ...(ngDevMode ? [{ debugName: "ariaLevelAttr$" }] : []));
|
|
1053
|
+
/** aria-owns attribute value for items with children. */
|
|
1054
|
+
this.ariaOwnsAttr$ = computed(() => {
|
|
1055
|
+
if (this.hasChildren$()) {
|
|
1056
|
+
return `${this.id()}-list`;
|
|
1057
|
+
}
|
|
1058
|
+
return undefined;
|
|
1059
|
+
}, ...(ngDevMode ? [{ debugName: "ariaOwnsAttr$" }] : []));
|
|
1060
|
+
/** ID attribute for child lists. */
|
|
1061
|
+
this.childListIdAttr$ = computed(() => {
|
|
1062
|
+
if (this.hasChildren$()) {
|
|
1063
|
+
return `${this.id()}-list`;
|
|
1064
|
+
}
|
|
1065
|
+
return undefined;
|
|
1066
|
+
}, ...(ngDevMode ? [{ debugName: "childListIdAttr$" }] : []));
|
|
1067
|
+
/** aria-label attribute value for snapped mode menuitemradio. */
|
|
1068
|
+
this.ariaLabelAttr$ = computed(() => {
|
|
1069
|
+
if (this.navigation.isSnapped$() && this.roleAttr$() === 'menuitemradio') {
|
|
1070
|
+
const link = this.link$();
|
|
1071
|
+
if (link?.elementRef?.nativeElement) {
|
|
1072
|
+
const linkElement = link.elementRef.nativeElement;
|
|
1073
|
+
const textContent = linkElement.textContent?.trim();
|
|
1074
|
+
if (textContent) {
|
|
1075
|
+
return textContent;
|
|
1076
|
+
}
|
|
1077
|
+
}
|
|
1078
|
+
}
|
|
1079
|
+
return undefined;
|
|
1080
|
+
}, ...(ngDevMode ? [{ debugName: "ariaLabelAttr$" }] : []));
|
|
1081
|
+
/** Expander aria-label attribute value. */
|
|
1082
|
+
this.expanderAriaLabelAttr$ = computed(() => this._expanderAriaLabel$(), ...(ngDevMode ? [{ debugName: "expanderAriaLabelAttr$" }] : []));
|
|
1083
|
+
/** aria-haspopup attribute value for snapped mode items with children. */
|
|
1084
|
+
this.ariaHasPopupAttr$ = computed(() => {
|
|
1085
|
+
if (this.navigation.isSnapped$() && this.hasChildren$()) {
|
|
1086
|
+
// In overflow menu, items with submenus should have aria-haspopup="menu"
|
|
1087
|
+
if (this.isOverflow$()) {
|
|
1088
|
+
return 'menu';
|
|
1089
|
+
}
|
|
1090
|
+
// Regular navigation items should have aria-haspopup="dialog"
|
|
1091
|
+
return 'dialog';
|
|
1092
|
+
}
|
|
1093
|
+
return undefined;
|
|
1094
|
+
}, ...(ngDevMode ? [{ debugName: "ariaHasPopupAttr$" }] : []));
|
|
1095
|
+
/** aria-current attribute value for snapped mode items with children. */
|
|
1096
|
+
this.ariaCurrentAttr$ = computed(() => {
|
|
1097
|
+
if (this.navigation.isSnapped$() && this.hasChildren$()) {
|
|
1098
|
+
return 'page';
|
|
1099
|
+
}
|
|
1100
|
+
return undefined;
|
|
1101
|
+
}, ...(ngDevMode ? [{ debugName: "ariaCurrentAttr$" }] : []));
|
|
1102
|
+
/** Wrapper role attribute for snapped mode popovers. */
|
|
1103
|
+
this.wrapperRoleAttr$ = computed(() => {
|
|
1104
|
+
if (this.navigation.isSnapped$() && this.hasChildren$() && !this.isOverflow$()) {
|
|
1105
|
+
return 'tree';
|
|
1106
|
+
}
|
|
1107
|
+
return undefined;
|
|
1108
|
+
}, ...(ngDevMode ? [{ debugName: "wrapperRoleAttr$" }] : []));
|
|
1109
|
+
/** Wrapper aria-roledescription for snapped mode popovers. */
|
|
1110
|
+
this.wrapperAriaRoleDescriptionAttr$ = computed(() => {
|
|
1111
|
+
if (this.navigation.isSnapped$() && this.hasChildren$() && !this.isOverflow$()) {
|
|
1112
|
+
return this._snappedPopoverRoleDescription$();
|
|
1113
|
+
}
|
|
1114
|
+
return undefined;
|
|
1115
|
+
}, ...(ngDevMode ? [{ debugName: "wrapperAriaRoleDescriptionAttr$" }] : []));
|
|
1116
|
+
/** Title item role for snapped mode - should be treeitem in popovers. */
|
|
1117
|
+
this.titleItemRoleAttr$ = computed(() => {
|
|
1118
|
+
if (this.navigation.isSnapped$() && !this.isOverflow$()) {
|
|
1119
|
+
return 'treeitem';
|
|
1120
|
+
}
|
|
1121
|
+
return this.roleAttr$();
|
|
1122
|
+
}, ...(ngDevMode ? [{ debugName: "titleItemRoleAttr$" }] : []));
|
|
1123
|
+
/** Title item aria-selected for snapped mode - should not be selected if children are selected. */
|
|
1124
|
+
this.titleItemAriaSelectedAttr$ = computed(() => {
|
|
1125
|
+
if (this.navigation.isSnapped$() && !this.isOverflow$()) {
|
|
1126
|
+
// In popover, if any child is selected, the parent should not have aria-selected
|
|
1127
|
+
const hasSelectedChild = this.listItems$().some((item) => item?.isActiveAttr$());
|
|
1128
|
+
if (hasSelectedChild) {
|
|
1129
|
+
return false;
|
|
1130
|
+
}
|
|
1131
|
+
// Otherwise use the normal selected state
|
|
1132
|
+
return this.ariaSelectedAttr$();
|
|
1133
|
+
}
|
|
1134
|
+
return this.ariaSelectedAttr$();
|
|
1135
|
+
}, ...(ngDevMode ? [{ debugName: "titleItemAriaSelectedAttr$" }] : []));
|
|
1136
|
+
this.titleItemFocusable$ = computed(() => {
|
|
1137
|
+
if (this.navigation.isSnapped$() && !this.isOverflow$()) {
|
|
1138
|
+
// Check if the parent item has the with-expander class (two-click area)
|
|
1139
|
+
const parentItemElement = this.marker?.elementRef?.nativeElement;
|
|
1140
|
+
if (parentItemElement) {
|
|
1141
|
+
return parentItemElement.classList.contains('fd-navigation__item--with-expander');
|
|
1142
|
+
}
|
|
1143
|
+
return false; // Default to not focusable for one-click areas
|
|
1144
|
+
}
|
|
1145
|
+
return true;
|
|
1146
|
+
}, ...(ngDevMode ? [{ debugName: "titleItemFocusable$" }] : []));
|
|
707
1147
|
/** CSS Class signal. */
|
|
708
1148
|
this.class$ = computed(() => [
|
|
709
1149
|
LIST_ITEM_CLASS,
|
|
@@ -714,8 +1154,21 @@ class NavigationListItemComponent extends FdbNavigationListItem {
|
|
|
714
1154
|
]
|
|
715
1155
|
.filter((k) => !!k)
|
|
716
1156
|
.join(' '), ...(ngDevMode ? [{ debugName: "class$" }] : []));
|
|
717
|
-
/**
|
|
718
|
-
this.selected$ =
|
|
1157
|
+
/** Combined selected state - considers both manual selection and service selection. */
|
|
1158
|
+
this.selected$ = computed(() => {
|
|
1159
|
+
// In router mode, only consider manual selection
|
|
1160
|
+
if (this.navigation.selectionMode === 'router') {
|
|
1161
|
+
return this._manuallySelected$();
|
|
1162
|
+
}
|
|
1163
|
+
// In click mode, check both manual selection and service selection
|
|
1164
|
+
// But manual selection should only be considered if no item is selected via service
|
|
1165
|
+
if (this.navigation.selectionMode === 'click') {
|
|
1166
|
+
const serviceSelected = this.navigation.service.selectedItem$() === this;
|
|
1167
|
+
const manuallySelected = this._manuallySelected$() && this.navigation.service.selectedItem$() === null;
|
|
1168
|
+
return serviceSelected || manuallySelected;
|
|
1169
|
+
}
|
|
1170
|
+
return false;
|
|
1171
|
+
}, ...(ngDevMode ? [{ debugName: "selected$" }] : []));
|
|
719
1172
|
/** @hidden */
|
|
720
1173
|
this.quickCreate$ = signal(false, ...(ngDevMode ? [{ debugName: "quickCreate$" }] : []));
|
|
721
1174
|
/**
|
|
@@ -723,6 +1176,8 @@ class NavigationListItemComponent extends FdbNavigationListItem {
|
|
|
723
1176
|
* Popover position. Changes based on rtl value.
|
|
724
1177
|
*/
|
|
725
1178
|
this._popoverPlacement$ = computed(() => (this._rtl$() ? 'left-start' : 'right-start'), ...(ngDevMode ? [{ debugName: "_popoverPlacement$" }] : []));
|
|
1179
|
+
/** @hidden */
|
|
1180
|
+
this._moreButtonRef$ = computed(() => this._parentNavigationList?.moreButtonRef || null, ...(ngDevMode ? [{ debugName: "_moreButtonRef$" }] : []));
|
|
726
1181
|
/** Optional parent list component. */
|
|
727
1182
|
this.parentListItemComponent = inject(FdbNavigationListItemCmp, {
|
|
728
1183
|
optional: true,
|
|
@@ -730,6 +1185,8 @@ class NavigationListItemComponent extends FdbNavigationListItem {
|
|
|
730
1185
|
});
|
|
731
1186
|
/** @hidden */
|
|
732
1187
|
this._home$ = signal(false, ...(ngDevMode ? [{ debugName: "_home$" }] : []));
|
|
1188
|
+
/** Manual selection state signal (for router-based selection mode). */
|
|
1189
|
+
this._manuallySelected$ = signal(false, ...(ngDevMode ? [{ debugName: "_manuallySelected$" }] : []));
|
|
733
1190
|
/** @hidden */
|
|
734
1191
|
this._class$ = signal(null, ...(ngDevMode ? [{ debugName: "_class$" }] : []));
|
|
735
1192
|
/** @hidden */
|
|
@@ -742,6 +1199,14 @@ class NavigationListItemComponent extends FdbNavigationListItem {
|
|
|
742
1199
|
this._childLists = [];
|
|
743
1200
|
/** @hidden */
|
|
744
1201
|
this._zone = inject(NgZone);
|
|
1202
|
+
/** @hidden */
|
|
1203
|
+
this._lang$ = inject(FD_LANGUAGE);
|
|
1204
|
+
/** @hidden */
|
|
1205
|
+
this._translationResolver = inject(TranslationResolver);
|
|
1206
|
+
/** Translation signal for snapped popover role description. */
|
|
1207
|
+
this._snappedPopoverRoleDescription$ = toSignal(this._lang$.pipe(map((lang) => this._translationResolver.resolve(lang, 'btpNavigation.snappedPopoverRoleDescription'))), { initialValue: 'Navigation List Tree' });
|
|
1208
|
+
/** Translation signal for expander aria-label. */
|
|
1209
|
+
this._expanderAriaLabel$ = toSignal(this._lang$.pipe(map((lang) => this._translationResolver.resolve(lang, 'btpNavigation.expanderAriaLabel'))), { initialValue: 'expand/collapse sub-items' });
|
|
745
1210
|
this._rtlService = inject(RtlService$1, {
|
|
746
1211
|
optional: true
|
|
747
1212
|
});
|
|
@@ -758,6 +1223,11 @@ class NavigationListItemComponent extends FdbNavigationListItem {
|
|
|
758
1223
|
optional: true
|
|
759
1224
|
});
|
|
760
1225
|
/** @hidden */
|
|
1226
|
+
this._parentNavigationList = inject(NavigationListComponent, {
|
|
1227
|
+
skipSelf: true,
|
|
1228
|
+
optional: true
|
|
1229
|
+
});
|
|
1230
|
+
/** @hidden */
|
|
761
1231
|
this._destroyRef = inject(DestroyRef);
|
|
762
1232
|
effect(() => {
|
|
763
1233
|
if (this.popoverOpen$()) {
|
|
@@ -783,6 +1253,15 @@ class NavigationListItemComponent extends FdbNavigationListItem {
|
|
|
783
1253
|
this.navigation.closeAllPopups.pipe(takeUntilDestroyed(this._destroyRef)).subscribe(() => {
|
|
784
1254
|
this.popoverOpen$.set(false);
|
|
785
1255
|
});
|
|
1256
|
+
// Listen for selection changes to implement single-selection behavior
|
|
1257
|
+
this.navigation.service.selectionChanged$
|
|
1258
|
+
.pipe(takeUntilDestroyed(this._destroyRef))
|
|
1259
|
+
.subscribe((selectedItem) => {
|
|
1260
|
+
// If another item was selected and we're in click mode, clear our manual selection
|
|
1261
|
+
if (this.navigation.selectionMode === 'click' && selectedItem !== this && this._manuallySelected$()) {
|
|
1262
|
+
this._manuallySelected$.set(false);
|
|
1263
|
+
}
|
|
1264
|
+
});
|
|
786
1265
|
}
|
|
787
1266
|
/** @hidden */
|
|
788
1267
|
ngOnDestroy() {
|
|
@@ -863,7 +1342,7 @@ class NavigationListItemComponent extends FdbNavigationListItem {
|
|
|
863
1342
|
if (!KeyUtil$1.isKeyCode(event, [LEFT_ARROW, RIGHT_ARROW])) {
|
|
864
1343
|
return;
|
|
865
1344
|
}
|
|
866
|
-
const isGoBack = KeyUtil$1.isKeyCode(event, this._rtl$() ?
|
|
1345
|
+
const isGoBack = KeyUtil$1.isKeyCode(event, this._rtl$() ? LEFT_ARROW : RIGHT_ARROW);
|
|
867
1346
|
if (!isGoBack) {
|
|
868
1347
|
return;
|
|
869
1348
|
}
|
|
@@ -871,11 +1350,43 @@ class NavigationListItemComponent extends FdbNavigationListItem {
|
|
|
871
1350
|
}
|
|
872
1351
|
/** Toggles expanded state of the item. */
|
|
873
1352
|
toggleExpanded() {
|
|
1353
|
+
if (this.disabled$()) {
|
|
1354
|
+
return;
|
|
1355
|
+
}
|
|
874
1356
|
if (!this.hasChildren$()) {
|
|
875
1357
|
return;
|
|
876
1358
|
}
|
|
877
1359
|
this.expanded$.update((expanded) => !expanded);
|
|
878
1360
|
}
|
|
1361
|
+
/** Handles item click for both selection and expansion based on item type and navigation mode. */
|
|
1362
|
+
handleItemClick() {
|
|
1363
|
+
if (this.disabled$()) {
|
|
1364
|
+
return;
|
|
1365
|
+
}
|
|
1366
|
+
// Let the navigation link handle expansion for items with links
|
|
1367
|
+
// Only handle expansion here for items without any links
|
|
1368
|
+
if (this.hasChildren$() && !this.link$()) {
|
|
1369
|
+
this.toggleExpanded();
|
|
1370
|
+
return;
|
|
1371
|
+
}
|
|
1372
|
+
// Handle selection in click mode for selectable items
|
|
1373
|
+
if (this.navigation.selectionMode === 'click' && this.canItemBeSelected()) {
|
|
1374
|
+
this.navigation.service.setSelectedItem(this);
|
|
1375
|
+
}
|
|
1376
|
+
}
|
|
1377
|
+
/** Handles keydown events for navigation item actions. */
|
|
1378
|
+
handleItemKeydown(event) {
|
|
1379
|
+
// For quick create items, execute the click action on Enter/Space
|
|
1380
|
+
if (this.quickCreate$() && KeyUtil$1.isKeyCode(event, [ENTER, SPACE])) {
|
|
1381
|
+
event.preventDefault();
|
|
1382
|
+
event.stopPropagation();
|
|
1383
|
+
// Trigger click on the link element if it exists
|
|
1384
|
+
const linkElement = this.link$()?.elementRef?.nativeElement;
|
|
1385
|
+
if (linkElement) {
|
|
1386
|
+
linkElement.click();
|
|
1387
|
+
}
|
|
1388
|
+
}
|
|
1389
|
+
}
|
|
879
1390
|
/** Callback method when user used keyboard arrows to expand/collapse list item. */
|
|
880
1391
|
keyboardExpanded(shouldExpand) {
|
|
881
1392
|
if (this.isOverflow$()) {
|
|
@@ -913,17 +1424,97 @@ class NavigationListItemComponent extends FdbNavigationListItem {
|
|
|
913
1424
|
/** @hidden */
|
|
914
1425
|
_onPopoverOpen(isOpen, popover) {
|
|
915
1426
|
this.popoverOpen$.set(isOpen);
|
|
916
|
-
if (
|
|
917
|
-
|
|
1427
|
+
if (isOpen) {
|
|
1428
|
+
this._onZoneStable().subscribe(() => {
|
|
1429
|
+
// Force update of tabindex for all child links before focusing
|
|
1430
|
+
this._ensureChildTabindexUpdated();
|
|
1431
|
+
setTimeout(() => {
|
|
1432
|
+
// Try to use the FocusKeyManager first
|
|
1433
|
+
if (this._keyManager) {
|
|
1434
|
+
this._keyManager.setActiveItem(0);
|
|
1435
|
+
return;
|
|
1436
|
+
}
|
|
1437
|
+
// Fallback: Use component data structures to find the first focusable link
|
|
1438
|
+
const firstFocusableLink = this._links.find((link) => link.inPopover && link.elementRef?.nativeElement);
|
|
1439
|
+
if (firstFocusableLink) {
|
|
1440
|
+
firstFocusableLink.elementRef.nativeElement.focus();
|
|
1441
|
+
return;
|
|
1442
|
+
}
|
|
1443
|
+
// Alternative: Use listItems to find first item's link
|
|
1444
|
+
const firstListItem = this.listItems$().find((item) => item && !item.skipNavigation);
|
|
1445
|
+
if (firstListItem) {
|
|
1446
|
+
const link = firstListItem.link$();
|
|
1447
|
+
if (link?.elementRef?.nativeElement) {
|
|
1448
|
+
link.elementRef.nativeElement.focus();
|
|
1449
|
+
return;
|
|
1450
|
+
}
|
|
1451
|
+
}
|
|
1452
|
+
// Last resort: use the popover's built-in focus management
|
|
1453
|
+
try {
|
|
1454
|
+
popover.popoverBody._focusFirstTabbableElement(true);
|
|
1455
|
+
}
|
|
1456
|
+
catch (error) {
|
|
1457
|
+
console.error('Error focusing in popover:', error);
|
|
1458
|
+
const popoverBodyElement = popover.popoverBody?._elementRef?.nativeElement;
|
|
1459
|
+
if (popoverBodyElement) {
|
|
1460
|
+
const firstFocusableElement = popoverBodyElement.querySelector('a, button, [tabindex]:not([tabindex="-1"])');
|
|
1461
|
+
if (firstFocusableElement) {
|
|
1462
|
+
firstFocusableElement.focus();
|
|
1463
|
+
}
|
|
1464
|
+
}
|
|
1465
|
+
}
|
|
1466
|
+
}, 0);
|
|
1467
|
+
});
|
|
1468
|
+
}
|
|
1469
|
+
else {
|
|
1470
|
+
// When popover closes, return focus to the parent link (for snapped state)
|
|
1471
|
+
if (this.navigation.isSnapped$()) {
|
|
1472
|
+
this._onZoneStable().subscribe(() => {
|
|
1473
|
+
this.focusLink();
|
|
1474
|
+
});
|
|
1475
|
+
}
|
|
918
1476
|
}
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
1477
|
+
}
|
|
1478
|
+
/**
|
|
1479
|
+
* Determines if this item can be selected based on its type and structure.
|
|
1480
|
+
* @returns true if the item can be selected, false otherwise
|
|
1481
|
+
*/
|
|
1482
|
+
canItemBeSelected() {
|
|
1483
|
+
// Group items (headers) cannot be selected
|
|
1484
|
+
if (this.isGroup$()) {
|
|
1485
|
+
return false;
|
|
1486
|
+
}
|
|
1487
|
+
// Quick create items cannot be selected (they execute actions instead)
|
|
1488
|
+
if (this.quickCreate$()) {
|
|
1489
|
+
return false;
|
|
1490
|
+
}
|
|
1491
|
+
// Items with children that don't have a router link cannot be selected
|
|
1492
|
+
// (they should only expand/collapse)
|
|
1493
|
+
if (this.hasChildren$() && !this.link$()?.routerLink) {
|
|
1494
|
+
return false;
|
|
1495
|
+
}
|
|
1496
|
+
// Separator and spacer items cannot be selected
|
|
1497
|
+
if (this.separator || this.spacer) {
|
|
1498
|
+
return false;
|
|
1499
|
+
}
|
|
1500
|
+
// All other items (leaf items and items with both links and children) can be selected
|
|
1501
|
+
return true;
|
|
922
1502
|
}
|
|
923
1503
|
_focusPopoverLink() {
|
|
924
1504
|
this._links.find((link) => link.inPopover)?.elementRef.nativeElement.focus();
|
|
925
1505
|
}
|
|
926
1506
|
/** @hidden */
|
|
1507
|
+
_ensureChildTabindexUpdated() {
|
|
1508
|
+
// When popover is open, all links should be focusable
|
|
1509
|
+
this._links.forEach((link) => {
|
|
1510
|
+
if (link.elementRef?.nativeElement) {
|
|
1511
|
+
// Simple logic: if any popover is open in the hierarchy, all links are focusable
|
|
1512
|
+
const tabIndex = this.popoverOpen$() ? 0 : -1;
|
|
1513
|
+
link.elementRef.nativeElement.setAttribute('tabindex', tabIndex.toString());
|
|
1514
|
+
}
|
|
1515
|
+
});
|
|
1516
|
+
}
|
|
1517
|
+
/** @hidden */
|
|
927
1518
|
_visibleItemKeyboardExpandedHandler(shouldExpand) {
|
|
928
1519
|
if (!this.hasChildren$()) {
|
|
929
1520
|
if (!shouldExpand) {
|
|
@@ -982,7 +1573,7 @@ class NavigationListItemComponent extends FdbNavigationListItem {
|
|
|
982
1573
|
return this._zone.onStable.pipe(startWith(this._zone.isStable), observeOn(asyncScheduler), take(1), takeUntilDestroyed(this._destroyRef));
|
|
983
1574
|
}
|
|
984
1575
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: NavigationListItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
985
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.4", type: NavigationListItemComponent, isStandalone: true, selector: "fdb-navigation-list-item", inputs: { class: "class", home:
|
|
1576
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.4", type: NavigationListItemComponent, isStandalone: true, selector: "fdb-navigation-list-item", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: false, isRequired: false, transformFunction: null }, home: { classPropertyName: "home", publicName: "home", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, quickCreate: { classPropertyName: "quickCreate", publicName: "quickCreate", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, separator: { classPropertyName: "separator", publicName: "separator", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, spacer: { classPropertyName: "spacer", publicName: "spacer", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, group: { classPropertyName: "group", publicName: "group", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, expanded: { classPropertyName: "expanded", publicName: "expanded", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
|
|
986
1577
|
NavigationService,
|
|
987
1578
|
{
|
|
988
1579
|
provide: FdbNavigationListItem,
|
|
@@ -992,7 +1583,7 @@ class NavigationListItemComponent extends FdbNavigationListItem {
|
|
|
992
1583
|
provide: FdbNavigationListItemCmp,
|
|
993
1584
|
useExisting: NavigationListItemComponent
|
|
994
1585
|
}
|
|
995
|
-
], queries: [{ propertyName: "link", first: true, predicate: FdbNavigationItemLink, descendants: true }, { propertyName: "linkRef", first: true, predicate: NavigationLinkRefDirective, descendants: true }, { propertyName: "listItems", predicate: FdbNavigationListItem }], viewQueries: [{ propertyName: "renderer", first: true, predicate: ["renderer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<!-- General renderer. -->\n<ng-template #renderer>\n @if (!separator) {\n <div\n class=\"fd-navigation__item\"\n [class.fd-navigation__item--group]=\"isGroup$()\"\n [class.fd-navigation__item--create]=\"quickCreate$()\"\n [class.fd-navigation__item--child]=\"normalizedLevel$() > 2\"\n [class.fd-navigation__item--overflow]=\"isOverflow$()\"\n [class.fd-navigation__item--with-expander]=\"!!link$()?.routerLink && hasChildren$()\"\n [attr.aria-level]=\"
|
|
1586
|
+
], queries: [{ propertyName: "link", first: true, predicate: FdbNavigationItemLink, descendants: true }, { propertyName: "linkRef", first: true, predicate: NavigationLinkRefDirective, descendants: true }, { propertyName: "listItems", predicate: FdbNavigationListItem }], viewQueries: [{ propertyName: "renderer", first: true, predicate: ["renderer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<!-- General renderer. -->\n<ng-template #renderer>\n @if (!separator) {\n <div\n class=\"fd-navigation__item\"\n [class.fd-navigation__item--group]=\"isGroup$()\"\n [class.fd-navigation__item--create]=\"quickCreate$()\"\n [class.fd-navigation__item--child]=\"normalizedLevel$() > 2\"\n [class.fd-navigation__item--overflow]=\"isOverflow$()\"\n [class.fd-navigation__item--with-expander]=\"!!link$()?.routerLink && hasChildren$()\"\n [class.fd-navigation__item--disabled]=\"disabled$()\"\n [attr.id]=\"id()\"\n [attr.role]=\"roleAttr$()\"\n [attr.aria-level]=\"ariaLevelAttr$()\"\n [attr.aria-label]=\"ariaLabelAttr$()\"\n [attr.aria-selected]=\"ariaSelectedAttr$()\"\n [attr.aria-checked]=\"ariaCheckedAttr$()\"\n [attr.aria-expanded]=\"expandedAttr$()\"\n [attr.aria-disabled]=\"disabled$()\"\n [attr.aria-owns]=\"ariaOwnsAttr$()\"\n [attr.aria-haspopup]=\"ariaHasPopupAttr$()\"\n [attr.aria-current]=\"ariaCurrentAttr$()\"\n [attr.normalized-level]=\"normalizedLevel$()\"\n (focusin)=\"_focusInHandler()\"\n (click)=\"handleItemClick()\"\n (keydown)=\"handleItemKeydown($event)\"\n fdbNavigationListItemMarker\n #itemContainer\n >\n @if (!navigation.isSnapped$() || !hasChildren$()) {\n <ng-template\n [ngTemplateOutlet]=\"linkRenderer\"\n [ngTemplateOutletContext]=\"{ $implicit: true }\"\n ></ng-template>\n } @else {\n <ng-template\n [ngTemplateOutlet]=\"snappedNavigationItemRenderer\"\n [ngTemplateOutletContext]=\"{ $implicit: itemContainer }\"\n ></ng-template>\n }\n </div>\n @if (isOverflow$() && hasChildren$()) {\n <ng-template [ngTemplateOutlet]=\"overflowItemListRenderer\"></ng-template>\n }\n @if (!navigation.isSnapped$()) {\n <ng-template [ngTemplateOutlet]=\"listRenderer\"></ng-template>\n }\n }\n</ng-template>\n<!-- Snapped navigation list item renderer. Implicit context points to the popover trigger element. -->\n<ng-template #snappedNavigationItemRenderer let-itemContainer>\n <ng-template [ngTemplateOutlet]=\"linkRenderer\" [ngTemplateOutletContext]=\"{ $implicit: false }\"></ng-template>\n @if (!isOverflow$()) {\n <fd-popover\n #popover\n [noArrow]=\"true\"\n additionalBodyClass=\"fd-navigation__list-container\"\n [isOpen]=\"popoverOpen$()\"\n (isOpenChange)=\"_onPopoverOpen($event, popover)\"\n [trigger]=\"itemContainer\"\n [focusAutoCapture]=\"true\"\n [restoreFocusOnClose]=\"false\"\n [focusTrapped]=\"true\"\n [placement]=\"_popoverPlacement$()\"\n >\n <fd-popover-body [ngClass]=\"navigation.classList$()\">\n <ng-template\n [ngTemplateOutlet]=\"wrapperRenderer\"\n [ngTemplateOutletContext]=\"{ $implicit: true }\"\n ></ng-template>\n </fd-popover-body>\n </fd-popover>\n }\n</ng-template>\n<!-- Generic link renderer. -->\n<ng-template #linkRenderer let-showToggleButton>\n <ng-template [ngTemplateOutlet]=\"linkRef?.templateRef || null\"></ng-template>\n @if (!!link$()?.routerLink && hasChildren$()) {\n <span\n class=\"fd-navigation__has-children-indicator\"\n role=\"button\"\n [attr.aria-label]=\"expanderAriaLabelAttr$()\"\n (click)=\"toggleExpanded()\"\n ></span>\n }\n</ng-template>\n<!-- Generic list renderer. Used when navigation is not snapped. -->\n<ng-template #listRenderer>\n @if (isGroup$() && normalizedLevel$() === 1) {\n <ul\n fdb-navigation-list\n [listItems]=\"listItems$()\"\n parentItems\n [moreButtonRef]=\"_moreButtonRef$()\"\n [attr.id]=\"id() + '-list'\"\n ></ul>\n } @else if (hasChildren$()) {\n <div class=\"fd-navigation__list-container\">\n <ng-template\n [ngTemplateOutlet]=\"wrapperRenderer\"\n [ngTemplateOutletContext]=\"{ $implicit: false }\"\n ></ng-template>\n </div>\n }\n</ng-template>\n<!-- Template used for rendering sublist of items for the list item that is currently in overflow menu. -->\n<ng-template #overflowItemListRenderer>\n <div class=\"fd-navigation__list-container fd-navigation__list-container--submenu fd-menu__sublist\">\n <ng-template [ngTemplateOutlet]=\"wrapperRenderer\" [ngTemplateOutletContext]=\"{ $implicit: true }\"></ng-template>\n </div>\n</ng-template>\n<!-- Generic list renderer. Implicit context defines whether the inner list should handle keyboard navigation by its own. -->\n<ng-template #wrapperRenderer let-keyboardNavigation>\n <div\n class=\"fd-navigation__list-wrapper\"\n [attr.role]=\"wrapperRoleAttr$()\"\n [attr.aria-roledescription]=\"wrapperAriaRoleDescriptionAttr$()\"\n >\n @if (navigation.isSnapped$() && !isOverflow$()) {\n <!-- If opener link itself is active, project aria-checked attribute to link repeater too for snapped mode. -->\n <div\n class=\"fd-navigation__item fd-navigation__item--title fd-navigation__item--child\"\n [attr.role]=\"titleItemRoleAttr$()\"\n [attr.aria-selected]=\"titleItemAriaSelectedAttr$()\"\n [attr.tabindex]=\"titleItemFocusable$() ? 0 : -1\"\n >\n <ng-template\n [ngTemplateOutlet]=\"linkRenderer\"\n [ngTemplateOutletContext]=\"{ $implicit: false }\"\n ></ng-template>\n </div>\n }\n <ul\n fdb-navigation-list\n [listItems]=\"listItems$() || []\"\n [childItems]=\"true\"\n [role]=\"isOverflow$() ? 'menu' : 'group'\"\n (keydown)=\"(false)\"\n (focusBefore)=\"_focusBeforeList()\"\n [withKeyboardNavigation]=\"keyboardNavigation\"\n [moreButtonRef]=\"_moreButtonRef$()\"\n [attr.id]=\"childListIdAttr$()\"\n ></ul>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: NavigationListComponent, selector: "ul[fdb-navigation-list]", inputs: ["listItems", "role", "ariaLabel", "ariaRoleDescription", "parentItems", "childItems", "noGrow", "withKeyboardNavigation", "moreButtonRef"], outputs: ["focusBefore", "focusAfter"] }, { kind: "component", type: PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll"] }, { kind: "component", type: PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"] }, { kind: "directive", type: NavigationListItemMarkerDirective, selector: "[fdbNavigationListItemMarker]" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
996
1587
|
}
|
|
997
1588
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: NavigationListItemComponent, decorators: [{
|
|
998
1589
|
type: Component,
|
|
@@ -1002,9 +1593,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImpor
|
|
|
1002
1593
|
PopoverComponent,
|
|
1003
1594
|
PopoverBodyComponent,
|
|
1004
1595
|
NavigationListItemMarkerDirective,
|
|
1005
|
-
IconComponent,
|
|
1006
|
-
ButtonComponent,
|
|
1007
|
-
NestedButtonDirective,
|
|
1008
1596
|
NgClass
|
|
1009
1597
|
], providers: [
|
|
1010
1598
|
NavigationService,
|
|
@@ -1016,7 +1604,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImpor
|
|
|
1016
1604
|
provide: FdbNavigationListItemCmp,
|
|
1017
1605
|
useExisting: NavigationListItemComponent
|
|
1018
1606
|
}
|
|
1019
|
-
], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<!-- General renderer. -->\n<ng-template #renderer>\n @if (!separator) {\n <div\n class=\"fd-navigation__item\"\n [class.fd-navigation__item--group]=\"isGroup$()\"\n [class.fd-navigation__item--create]=\"quickCreate$()\"\n [class.fd-navigation__item--child]=\"normalizedLevel$() > 2\"\n [class.fd-navigation__item--overflow]=\"isOverflow$()\"\n [class.fd-navigation__item--with-expander]=\"!!link$()?.routerLink && hasChildren$()\"\n [attr.aria-level]=\"
|
|
1607
|
+
], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<!-- General renderer. -->\n<ng-template #renderer>\n @if (!separator) {\n <div\n class=\"fd-navigation__item\"\n [class.fd-navigation__item--group]=\"isGroup$()\"\n [class.fd-navigation__item--create]=\"quickCreate$()\"\n [class.fd-navigation__item--child]=\"normalizedLevel$() > 2\"\n [class.fd-navigation__item--overflow]=\"isOverflow$()\"\n [class.fd-navigation__item--with-expander]=\"!!link$()?.routerLink && hasChildren$()\"\n [class.fd-navigation__item--disabled]=\"disabled$()\"\n [attr.id]=\"id()\"\n [attr.role]=\"roleAttr$()\"\n [attr.aria-level]=\"ariaLevelAttr$()\"\n [attr.aria-label]=\"ariaLabelAttr$()\"\n [attr.aria-selected]=\"ariaSelectedAttr$()\"\n [attr.aria-checked]=\"ariaCheckedAttr$()\"\n [attr.aria-expanded]=\"expandedAttr$()\"\n [attr.aria-disabled]=\"disabled$()\"\n [attr.aria-owns]=\"ariaOwnsAttr$()\"\n [attr.aria-haspopup]=\"ariaHasPopupAttr$()\"\n [attr.aria-current]=\"ariaCurrentAttr$()\"\n [attr.normalized-level]=\"normalizedLevel$()\"\n (focusin)=\"_focusInHandler()\"\n (click)=\"handleItemClick()\"\n (keydown)=\"handleItemKeydown($event)\"\n fdbNavigationListItemMarker\n #itemContainer\n >\n @if (!navigation.isSnapped$() || !hasChildren$()) {\n <ng-template\n [ngTemplateOutlet]=\"linkRenderer\"\n [ngTemplateOutletContext]=\"{ $implicit: true }\"\n ></ng-template>\n } @else {\n <ng-template\n [ngTemplateOutlet]=\"snappedNavigationItemRenderer\"\n [ngTemplateOutletContext]=\"{ $implicit: itemContainer }\"\n ></ng-template>\n }\n </div>\n @if (isOverflow$() && hasChildren$()) {\n <ng-template [ngTemplateOutlet]=\"overflowItemListRenderer\"></ng-template>\n }\n @if (!navigation.isSnapped$()) {\n <ng-template [ngTemplateOutlet]=\"listRenderer\"></ng-template>\n }\n }\n</ng-template>\n<!-- Snapped navigation list item renderer. Implicit context points to the popover trigger element. -->\n<ng-template #snappedNavigationItemRenderer let-itemContainer>\n <ng-template [ngTemplateOutlet]=\"linkRenderer\" [ngTemplateOutletContext]=\"{ $implicit: false }\"></ng-template>\n @if (!isOverflow$()) {\n <fd-popover\n #popover\n [noArrow]=\"true\"\n additionalBodyClass=\"fd-navigation__list-container\"\n [isOpen]=\"popoverOpen$()\"\n (isOpenChange)=\"_onPopoverOpen($event, popover)\"\n [trigger]=\"itemContainer\"\n [focusAutoCapture]=\"true\"\n [restoreFocusOnClose]=\"false\"\n [focusTrapped]=\"true\"\n [placement]=\"_popoverPlacement$()\"\n >\n <fd-popover-body [ngClass]=\"navigation.classList$()\">\n <ng-template\n [ngTemplateOutlet]=\"wrapperRenderer\"\n [ngTemplateOutletContext]=\"{ $implicit: true }\"\n ></ng-template>\n </fd-popover-body>\n </fd-popover>\n }\n</ng-template>\n<!-- Generic link renderer. -->\n<ng-template #linkRenderer let-showToggleButton>\n <ng-template [ngTemplateOutlet]=\"linkRef?.templateRef || null\"></ng-template>\n @if (!!link$()?.routerLink && hasChildren$()) {\n <span\n class=\"fd-navigation__has-children-indicator\"\n role=\"button\"\n [attr.aria-label]=\"expanderAriaLabelAttr$()\"\n (click)=\"toggleExpanded()\"\n ></span>\n }\n</ng-template>\n<!-- Generic list renderer. Used when navigation is not snapped. -->\n<ng-template #listRenderer>\n @if (isGroup$() && normalizedLevel$() === 1) {\n <ul\n fdb-navigation-list\n [listItems]=\"listItems$()\"\n parentItems\n [moreButtonRef]=\"_moreButtonRef$()\"\n [attr.id]=\"id() + '-list'\"\n ></ul>\n } @else if (hasChildren$()) {\n <div class=\"fd-navigation__list-container\">\n <ng-template\n [ngTemplateOutlet]=\"wrapperRenderer\"\n [ngTemplateOutletContext]=\"{ $implicit: false }\"\n ></ng-template>\n </div>\n }\n</ng-template>\n<!-- Template used for rendering sublist of items for the list item that is currently in overflow menu. -->\n<ng-template #overflowItemListRenderer>\n <div class=\"fd-navigation__list-container fd-navigation__list-container--submenu fd-menu__sublist\">\n <ng-template [ngTemplateOutlet]=\"wrapperRenderer\" [ngTemplateOutletContext]=\"{ $implicit: true }\"></ng-template>\n </div>\n</ng-template>\n<!-- Generic list renderer. Implicit context defines whether the inner list should handle keyboard navigation by its own. -->\n<ng-template #wrapperRenderer let-keyboardNavigation>\n <div\n class=\"fd-navigation__list-wrapper\"\n [attr.role]=\"wrapperRoleAttr$()\"\n [attr.aria-roledescription]=\"wrapperAriaRoleDescriptionAttr$()\"\n >\n @if (navigation.isSnapped$() && !isOverflow$()) {\n <!-- If opener link itself is active, project aria-checked attribute to link repeater too for snapped mode. -->\n <div\n class=\"fd-navigation__item fd-navigation__item--title fd-navigation__item--child\"\n [attr.role]=\"titleItemRoleAttr$()\"\n [attr.aria-selected]=\"titleItemAriaSelectedAttr$()\"\n [attr.tabindex]=\"titleItemFocusable$() ? 0 : -1\"\n >\n <ng-template\n [ngTemplateOutlet]=\"linkRenderer\"\n [ngTemplateOutletContext]=\"{ $implicit: false }\"\n ></ng-template>\n </div>\n }\n <ul\n fdb-navigation-list\n [listItems]=\"listItems$() || []\"\n [childItems]=\"true\"\n [role]=\"isOverflow$() ? 'menu' : 'group'\"\n (keydown)=\"(false)\"\n (focusBefore)=\"_focusBeforeList()\"\n [withKeyboardNavigation]=\"keyboardNavigation\"\n [moreButtonRef]=\"_moreButtonRef$()\"\n [attr.id]=\"childListIdAttr$()\"\n ></ul>\n </div>\n</ng-template>\n" }]
|
|
1020
1608
|
}], ctorParameters: () => [], propDecorators: { class: [{
|
|
1021
1609
|
type: Input
|
|
1022
1610
|
}], home: [{
|
|
@@ -1040,6 +1628,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImpor
|
|
|
1040
1628
|
}], selected: [{
|
|
1041
1629
|
type: Input,
|
|
1042
1630
|
args: [{ transform: booleanAttribute }]
|
|
1631
|
+
}], disabled: [{
|
|
1632
|
+
type: Input,
|
|
1633
|
+
args: [{ transform: booleanAttribute }]
|
|
1043
1634
|
}], listItems: [{
|
|
1044
1635
|
type: ContentChildren,
|
|
1045
1636
|
args: [FdbNavigationListItem, { descendants: false }]
|
|
@@ -1063,6 +1654,8 @@ class NavigationMoreButtonComponent {
|
|
|
1063
1654
|
this.isVisible$ = signal(true, ...(ngDevMode ? [{ debugName: "isVisible$" }] : []));
|
|
1064
1655
|
/** Whether popover is open. Applicable for snapped navigation state. */
|
|
1065
1656
|
this.popoverOpen$ = signal(false, ...(ngDevMode ? [{ debugName: "popoverOpen$" }] : []));
|
|
1657
|
+
/** ID for the more button. */
|
|
1658
|
+
this.id = signal('fdb-navigation-more-button', ...(ngDevMode ? [{ debugName: "id" }] : []));
|
|
1066
1659
|
/** @hidden */
|
|
1067
1660
|
this.type = 'showMore';
|
|
1068
1661
|
/** @hidden */
|
|
@@ -1079,6 +1672,10 @@ class NavigationMoreButtonComponent {
|
|
|
1079
1672
|
* Link reference.
|
|
1080
1673
|
*/
|
|
1081
1674
|
this.link$ = signal(null, ...(ngDevMode ? [{ debugName: "link$" }] : []));
|
|
1675
|
+
/** More button aria-label attribute value. */
|
|
1676
|
+
this.moreButtonAriaLabelAttr$ = computed(() => this._moreButtonAriaLabel$(), ...(ngDevMode ? [{ debugName: "moreButtonAriaLabelAttr$" }] : []));
|
|
1677
|
+
/** Overflow menu aria-label attribute value. */
|
|
1678
|
+
this.overflowMenuAriaLabelAttr$ = computed(() => this._overflowMenuAriaLabel$() || '', ...(ngDevMode ? [{ debugName: "overflowMenuAriaLabelAttr$" }] : []));
|
|
1082
1679
|
/**
|
|
1083
1680
|
* @hidden
|
|
1084
1681
|
* Popover position. Changes based on rtl value.
|
|
@@ -1091,20 +1688,61 @@ class NavigationMoreButtonComponent {
|
|
|
1091
1688
|
optional: true
|
|
1092
1689
|
});
|
|
1093
1690
|
/** @hidden */
|
|
1691
|
+
this.elementRef = inject(ElementRef);
|
|
1692
|
+
/** @hidden */
|
|
1094
1693
|
this._rtl$ = computed(() => !!this._rtlService?.rtlSignal(), ...(ngDevMode ? [{ debugName: "_rtl$" }] : []));
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
});
|
|
1694
|
+
/** @hidden */
|
|
1695
|
+
this._lang$ = inject(FD_LANGUAGE);
|
|
1696
|
+
/** @hidden */
|
|
1697
|
+
this._translationResolver = inject(TranslationResolver);
|
|
1698
|
+
/** Translation signal for more button aria-label. */
|
|
1699
|
+
this._moreButtonAriaLabel$ = toSignal(this._lang$.pipe(map((lang) => this._translationResolver.resolve(lang, 'btpNavigation.moreButtonAriaLabel'))), { initialValue: 'Displays additional navigation items that are hidden due to limited screen space' });
|
|
1700
|
+
/** Translation signal for overflow menu aria-label. */
|
|
1701
|
+
this._overflowMenuAriaLabel$ = toSignal(this._lang$.pipe(map((lang) => this._translationResolver.resolve(lang, 'btpNavigation.overflowMenuAriaLabel'))), { initialValue: 'Additional Navigation Items' });
|
|
1103
1702
|
this._navigation.closeAllPopups.pipe(takeUntilDestroyed(inject(DestroyRef))).subscribe(() => {
|
|
1104
1703
|
this.popoverOpen$.set(false);
|
|
1105
1704
|
});
|
|
1106
1705
|
}
|
|
1107
1706
|
/** @hidden */
|
|
1707
|
+
_onPopoverOpenChange(isOpen) {
|
|
1708
|
+
this.popoverOpen$.set(isOpen);
|
|
1709
|
+
// When popover opens, focus the first item
|
|
1710
|
+
if (isOpen) {
|
|
1711
|
+
// Use a short timeout to ensure the DOM is updated
|
|
1712
|
+
setTimeout(() => {
|
|
1713
|
+
if (this._navigationList) {
|
|
1714
|
+
let firstValidIndex = 0;
|
|
1715
|
+
const items = this._navigationList._listItems || [];
|
|
1716
|
+
for (let i = 0; i < items.length; i++) {
|
|
1717
|
+
if (items[i] && items[i]?.link$()?.elementRef?.nativeElement) {
|
|
1718
|
+
firstValidIndex = i;
|
|
1719
|
+
break;
|
|
1720
|
+
}
|
|
1721
|
+
}
|
|
1722
|
+
this._navigationList.setActiveItemIndex(firstValidIndex);
|
|
1723
|
+
return;
|
|
1724
|
+
}
|
|
1725
|
+
// Fallback: Focus the first item using the listItems array
|
|
1726
|
+
if (this.listItems && this.listItems.length > 0) {
|
|
1727
|
+
const firstItem = this.listItems[0];
|
|
1728
|
+
const link = firstItem.link$();
|
|
1729
|
+
if (link?.elementRef?.nativeElement) {
|
|
1730
|
+
link.elementRef.nativeElement.focus();
|
|
1731
|
+
return;
|
|
1732
|
+
}
|
|
1733
|
+
}
|
|
1734
|
+
// Last resort fallback: if direct access fails, try to focus any focusable element in the popover
|
|
1735
|
+
const popoverBodyElement = this._popover?.popoverBody?._elementRef?.nativeElement;
|
|
1736
|
+
if (popoverBodyElement) {
|
|
1737
|
+
const firstFocusableElement = popoverBodyElement.querySelector('a, button, [tabindex]:not([tabindex="-1"])');
|
|
1738
|
+
if (firstFocusableElement) {
|
|
1739
|
+
firstFocusableElement.focus();
|
|
1740
|
+
}
|
|
1741
|
+
}
|
|
1742
|
+
}, 150);
|
|
1743
|
+
}
|
|
1744
|
+
}
|
|
1745
|
+
/** @hidden */
|
|
1108
1746
|
togglePopover(withClick = false) {
|
|
1109
1747
|
this._popoverClicked = withClick;
|
|
1110
1748
|
this.popoverOpen$.update((value) => !value);
|
|
@@ -1134,20 +1772,30 @@ class NavigationMoreButtonComponent {
|
|
|
1134
1772
|
/** @hidden */
|
|
1135
1773
|
toggleExpanded() { }
|
|
1136
1774
|
/** @hidden */
|
|
1137
|
-
keyboardExpanded() {
|
|
1775
|
+
keyboardExpanded(shouldExpand) {
|
|
1776
|
+
if (shouldExpand && !this.popoverOpen$()) {
|
|
1777
|
+
this.popoverOpen$.set(true);
|
|
1778
|
+
}
|
|
1779
|
+
else if (!shouldExpand && this.popoverOpen$()) {
|
|
1780
|
+
this.popoverOpen$.set(false);
|
|
1781
|
+
}
|
|
1782
|
+
}
|
|
1138
1783
|
/** @hidden */
|
|
1139
1784
|
_keydownPopoverToggle(event) {
|
|
1140
1785
|
if (!KeyUtil.isKeyCode(event, [LEFT_ARROW, RIGHT_ARROW])) {
|
|
1141
1786
|
return;
|
|
1142
1787
|
}
|
|
1143
1788
|
const isRtl = this._rtl$() || false;
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1789
|
+
if (KeyUtil.isKeyCode(event, isRtl ? LEFT_ARROW : RIGHT_ARROW)) {
|
|
1790
|
+
// Open popover only if not already open
|
|
1791
|
+
if (!this.popoverOpen$()) {
|
|
1792
|
+
this.popoverOpen$.set(true);
|
|
1793
|
+
}
|
|
1149
1794
|
}
|
|
1150
|
-
|
|
1795
|
+
}
|
|
1796
|
+
/** @hidden */
|
|
1797
|
+
canItemBeSelected() {
|
|
1798
|
+
return false; // More button cannot be selected
|
|
1151
1799
|
}
|
|
1152
1800
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: NavigationMoreButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1153
1801
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.4", type: NavigationMoreButtonComponent, isStandalone: true, selector: "li[fdb-navigation-more-button]", inputs: { listItems: "listItems" }, host: { classAttribute: "fd-navigation__list-item" }, providers: [
|
|
@@ -1155,7 +1803,7 @@ class NavigationMoreButtonComponent {
|
|
|
1155
1803
|
provide: FdbNavigationListItem,
|
|
1156
1804
|
useExisting: NavigationMoreButtonComponent
|
|
1157
1805
|
}
|
|
1158
|
-
], viewQueries: [{ propertyName: "_link", first: true, predicate: FdbNavigationItemLink, descendants: true }], ngImport: i0, template: "<div\n
|
|
1806
|
+
], viewQueries: [{ propertyName: "_link", first: true, predicate: FdbNavigationItemLink, descendants: true }, { propertyName: "_popover", first: true, predicate: PopoverComponent, descendants: true }, { propertyName: "_navigationList", first: true, predicate: NavigationListComponent, descendants: true }], ngImport: i0, template: "<div\n role=\"menuitem\"\n class=\"fd-navigation__item\"\n [attr.aria-expanded]=\"popoverOpen$()\"\n [attr.aria-haspopup]=\"'menu'\"\n [attr.aria-label]=\"moreButtonAriaLabelAttr$()\"\n aria-level=\"1\"\n (click)=\"togglePopover(true)\"\n (keydown)=\"_keydownPopoverToggle($event)\"\n #trigger\n>\n <a fdb-navigation-link glyph=\"overflow\">More Items</a>\n <fd-popover\n [trigger]=\"trigger\"\n [triggers]=\"[]\"\n [isOpen]=\"popoverOpen$()\"\n (isOpenChange)=\"_onPopoverOpenChange($event)\"\n [focusTrapped]=\"true\"\n additionalBodyClass=\"fd-navigation__list-container fd-navigation__list-container--menu\"\n [placement]=\"_popoverPlacement$()\"\n >\n <fd-popover-body [ngClass]=\"_navigation.classList$()\" role=\"menu\">\n <ul\n fdb-navigation-list\n withKeyboardNavigation\n [parentItems]=\"true\"\n [ariaLabel]=\"overflowMenuAriaLabelAttr$()\"\n class=\"fd-menu__list\"\n [listItems]=\"listItems\"\n [moreButtonRef]=\"this\"\n ></ul>\n </fd-popover-body>\n </fd-popover>\n</div>\n", dependencies: [{ kind: "component", type: NavigationLinkComponent, selector: "a[fdb-navigation-link], button[fdb-navigation-link]", inputs: ["class", "glyph", "glyphFont", "external", "quickCreate"] }, { kind: "component", type: NavigationListComponent, selector: "ul[fdb-navigation-list]", inputs: ["listItems", "role", "ariaLabel", "ariaRoleDescription", "parentItems", "childItems", "noGrow", "withKeyboardNavigation", "moreButtonRef"], outputs: ["focusBefore", "focusAfter"] }, { kind: "component", type: PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll"] }, { kind: "component", type: PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1159
1807
|
}
|
|
1160
1808
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: NavigationMoreButtonComponent, decorators: [{
|
|
1161
1809
|
type: Component,
|
|
@@ -1166,12 +1814,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImpor
|
|
|
1166
1814
|
}
|
|
1167
1815
|
], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
1168
1816
|
class: 'fd-navigation__list-item'
|
|
1169
|
-
}, template: "<div\n
|
|
1817
|
+
}, template: "<div\n role=\"menuitem\"\n class=\"fd-navigation__item\"\n [attr.aria-expanded]=\"popoverOpen$()\"\n [attr.aria-haspopup]=\"'menu'\"\n [attr.aria-label]=\"moreButtonAriaLabelAttr$()\"\n aria-level=\"1\"\n (click)=\"togglePopover(true)\"\n (keydown)=\"_keydownPopoverToggle($event)\"\n #trigger\n>\n <a fdb-navigation-link glyph=\"overflow\">More Items</a>\n <fd-popover\n [trigger]=\"trigger\"\n [triggers]=\"[]\"\n [isOpen]=\"popoverOpen$()\"\n (isOpenChange)=\"_onPopoverOpenChange($event)\"\n [focusTrapped]=\"true\"\n additionalBodyClass=\"fd-navigation__list-container fd-navigation__list-container--menu\"\n [placement]=\"_popoverPlacement$()\"\n >\n <fd-popover-body [ngClass]=\"_navigation.classList$()\" role=\"menu\">\n <ul\n fdb-navigation-list\n withKeyboardNavigation\n [parentItems]=\"true\"\n [ariaLabel]=\"overflowMenuAriaLabelAttr$()\"\n class=\"fd-menu__list\"\n [listItems]=\"listItems\"\n [moreButtonRef]=\"this\"\n ></ul>\n </fd-popover-body>\n </fd-popover>\n</div>\n" }]
|
|
1170
1818
|
}], ctorParameters: () => [], propDecorators: { listItems: [{
|
|
1171
1819
|
type: Input
|
|
1172
1820
|
}], _link: [{
|
|
1173
1821
|
type: ViewChild,
|
|
1174
1822
|
args: [FdbNavigationItemLink]
|
|
1823
|
+
}], _popover: [{
|
|
1824
|
+
type: ViewChild,
|
|
1825
|
+
args: [PopoverComponent]
|
|
1826
|
+
}], _navigationList: [{
|
|
1827
|
+
type: ViewChild,
|
|
1828
|
+
args: [NavigationListComponent]
|
|
1175
1829
|
}] } });
|
|
1176
1830
|
|
|
1177
1831
|
const FD_NAVIGATION_OVERFLOW_ITEM_CLASS = 'fd-navigation__container--hidden-overflow';
|
|
@@ -1180,6 +1834,14 @@ class NavigationContentStartComponent extends FdbNavigationContentContainer {
|
|
|
1180
1834
|
super(...arguments);
|
|
1181
1835
|
/** Whether the list items are content-projected. Used only with data-driven navigation. */
|
|
1182
1836
|
this.contentProjected = true;
|
|
1837
|
+
/**
|
|
1838
|
+
* aria-label for the navigation list.
|
|
1839
|
+
*/
|
|
1840
|
+
this.ariaLabel = null;
|
|
1841
|
+
/**
|
|
1842
|
+
* aria-roledescription for the navigation list.
|
|
1843
|
+
*/
|
|
1844
|
+
this.ariaRoleDescription = null;
|
|
1183
1845
|
/** Whether the container is placed on the start position, or the end position of the navigation. */
|
|
1184
1846
|
this.placement = 'start';
|
|
1185
1847
|
/** Navigation component reference. */
|
|
@@ -1226,6 +1888,12 @@ class NavigationContentStartComponent extends FdbNavigationContentContainer {
|
|
|
1226
1888
|
.subscribe(() => {
|
|
1227
1889
|
this._calculateVisibleItems();
|
|
1228
1890
|
});
|
|
1891
|
+
// Listen for overflow item selections to promote them to visible
|
|
1892
|
+
this.navigation.service.overflowItemSelected$
|
|
1893
|
+
.pipe(takeUntilDestroyed(this._destroyRef))
|
|
1894
|
+
.subscribe((selectedItem) => {
|
|
1895
|
+
this._promoteOverflowItem(selectedItem);
|
|
1896
|
+
});
|
|
1229
1897
|
}
|
|
1230
1898
|
/**
|
|
1231
1899
|
* @hidden
|
|
@@ -1268,7 +1936,8 @@ class NavigationContentStartComponent extends FdbNavigationContentContainer {
|
|
|
1268
1936
|
}
|
|
1269
1937
|
// Since we are going from the bottom to the top, we need to add item to the list as the first item of the array.
|
|
1270
1938
|
hiddenItems.unshift(item);
|
|
1271
|
-
|
|
1939
|
+
const itemHeight = item?.marker?.elementRef?.nativeElement?.clientHeight || 0;
|
|
1940
|
+
availableSpace = availableSpace + itemHeight;
|
|
1272
1941
|
item.hidden$.set(true);
|
|
1273
1942
|
}
|
|
1274
1943
|
this._elementRef.nativeElement.classList.remove(FD_NAVIGATION_OVERFLOW_ITEM_CLASS);
|
|
@@ -1279,13 +1948,76 @@ class NavigationContentStartComponent extends FdbNavigationContentContainer {
|
|
|
1279
1948
|
this.navigation.showMoreButton$.set(this._showMoreButton);
|
|
1280
1949
|
this._calculationInProgress = false;
|
|
1281
1950
|
}
|
|
1951
|
+
/**
|
|
1952
|
+
* @hidden
|
|
1953
|
+
* Promotes an overflow item to be the last visible item.
|
|
1954
|
+
* Moves the current last visible item to overflow while preserving overflow order.
|
|
1955
|
+
*/
|
|
1956
|
+
_promoteOverflowItem(selectedItem) {
|
|
1957
|
+
if (!this.navigation.isSnapped$() || !this._showMoreButton$()) {
|
|
1958
|
+
return;
|
|
1959
|
+
}
|
|
1960
|
+
const currentVisible = [...this.visibleItems$()];
|
|
1961
|
+
const currentHidden = [...this.hiddenItems$()];
|
|
1962
|
+
const allItems = [...this.listItems$()]; // Original order
|
|
1963
|
+
// Find the selected item in hidden items
|
|
1964
|
+
const hiddenIndex = currentHidden.findIndex((item) => item === selectedItem);
|
|
1965
|
+
// If not found by object reference, try text-based matching
|
|
1966
|
+
let fallbackIndex = -1;
|
|
1967
|
+
if (hiddenIndex === -1) {
|
|
1968
|
+
const selectedText = selectedItem.link$()?.elementRef?.nativeElement?.textContent?.trim();
|
|
1969
|
+
fallbackIndex = currentHidden.findIndex((item) => item?.link$()?.elementRef?.nativeElement?.textContent?.trim() === selectedText);
|
|
1970
|
+
}
|
|
1971
|
+
const finalIndex = hiddenIndex !== -1 ? hiddenIndex : fallbackIndex;
|
|
1972
|
+
if (finalIndex === -1) {
|
|
1973
|
+
return; // Item not found in hidden items
|
|
1974
|
+
}
|
|
1975
|
+
// Remove the selected item from hidden items
|
|
1976
|
+
const [itemToPromote] = currentHidden.splice(finalIndex, 1);
|
|
1977
|
+
// Move the last visible item to overflow, but insert it in the correct position
|
|
1978
|
+
// to maintain the original order
|
|
1979
|
+
const lastVisibleItem = currentVisible.pop();
|
|
1980
|
+
if (lastVisibleItem) {
|
|
1981
|
+
lastVisibleItem.hidden$.set(true);
|
|
1982
|
+
// Find the correct position in the original order
|
|
1983
|
+
const lastVisibleIndex = allItems.findIndex((item) => item === lastVisibleItem);
|
|
1984
|
+
// Insert the item in the correct position in hidden items to maintain order
|
|
1985
|
+
let insertPosition = 0;
|
|
1986
|
+
for (let i = 0; i < currentHidden.length; i++) {
|
|
1987
|
+
const hiddenItemIndex = allItems.findIndex((item) => item === currentHidden[i]);
|
|
1988
|
+
if (hiddenItemIndex > lastVisibleIndex) {
|
|
1989
|
+
break;
|
|
1990
|
+
}
|
|
1991
|
+
insertPosition++;
|
|
1992
|
+
}
|
|
1993
|
+
currentHidden.splice(insertPosition, 0, lastVisibleItem);
|
|
1994
|
+
}
|
|
1995
|
+
// Add the promoted item as the last visible item
|
|
1996
|
+
currentVisible.push(itemToPromote);
|
|
1997
|
+
itemToPromote.hidden$.set(false);
|
|
1998
|
+
// Update the signals
|
|
1999
|
+
this.visibleItems$.set(currentVisible);
|
|
2000
|
+
this.hiddenItems$.set(currentHidden);
|
|
2001
|
+
// Update the "More" button visibility
|
|
2002
|
+
this._showMoreButton$.set(currentHidden.length > 0);
|
|
2003
|
+
this.navigation.showMoreButton$.set(currentHidden.length > 0 ? this._showMoreButton : null);
|
|
2004
|
+
// Trigger change detection to ensure navigation items are properly updated
|
|
2005
|
+
this._cdr.detectChanges();
|
|
2006
|
+
// Focus the More button after promotion to maintain standard accessibility pattern
|
|
2007
|
+
// (focus returns to trigger when popover closes)
|
|
2008
|
+
setTimeout(() => {
|
|
2009
|
+
if (this._showMoreButton) {
|
|
2010
|
+
this._showMoreButton.focus();
|
|
2011
|
+
}
|
|
2012
|
+
}, 50);
|
|
2013
|
+
}
|
|
1282
2014
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: NavigationContentStartComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
1283
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.4", type: NavigationContentStartComponent, isStandalone: true, selector: "fdb-navigation-content-start", inputs: { contentProjected: "contentProjected" }, host: { properties: { "style.flex-grow": "1" }, classAttribute: "fd-navigation__container fd-navigation__container--top" }, providers: [
|
|
2015
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.4", type: NavigationContentStartComponent, isStandalone: true, selector: "fdb-navigation-content-start", inputs: { contentProjected: "contentProjected", ariaLabel: "ariaLabel", ariaRoleDescription: "ariaRoleDescription" }, host: { properties: { "style.flex-grow": "1" }, classAttribute: "fd-navigation__container fd-navigation__container--top" }, providers: [
|
|
1284
2016
|
{
|
|
1285
2017
|
provide: FdbNavigationContentContainer,
|
|
1286
2018
|
useExisting: NavigationContentStartComponent
|
|
1287
2019
|
}
|
|
1288
|
-
], queries: [{ propertyName: "_listItems", predicate: FdbNavigationListItem, descendants: true }], viewQueries: [{ propertyName: "_moreContainer", first: true, predicate: ["moreContainer"], descendants: true, read: ElementRef }, { propertyName: "_showMoreButton", first: true, predicate: NavigationMoreButtonComponent, descendants: true }], usesInheritance: true, hostDirectives: [{ directive: i1$1.ScrollbarDirective }], ngImport: i0, template: "<ul
|
|
2020
|
+
], queries: [{ propertyName: "_listItems", predicate: FdbNavigationListItem, descendants: true }], viewQueries: [{ propertyName: "_moreContainer", first: true, predicate: ["moreContainer"], descendants: true, read: ElementRef }, { propertyName: "_showMoreButton", first: true, predicate: NavigationMoreButtonComponent, descendants: true }], usesInheritance: true, hostDirectives: [{ directive: i1$1.ScrollbarDirective }], ngImport: i0, template: "<ul\n fdb-navigation-list\n [listItems]=\"visibleItems$()\"\n [ariaLabel]=\"ariaLabel\"\n [ariaRoleDescription]=\"ariaRoleDescription\"\n></ul>\n@if (_showMoreButton$()) {\n <ul noGrow fdb-navigation-list role=\"menubar\" #moreContainer>\n <li fdb-navigation-more-button [listItems]=\"hiddenItems$()\"></li>\n </ul>\n}\n", dependencies: [{ kind: "ngmodule", type: PortalModule }, { kind: "component", type: NavigationListComponent, selector: "ul[fdb-navigation-list]", inputs: ["listItems", "role", "ariaLabel", "ariaRoleDescription", "parentItems", "childItems", "noGrow", "withKeyboardNavigation", "moreButtonRef"], outputs: ["focusBefore", "focusAfter"] }, { kind: "component", type: NavigationMoreButtonComponent, selector: "li[fdb-navigation-more-button]", inputs: ["listItems"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1289
2021
|
}
|
|
1290
2022
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: NavigationContentStartComponent, decorators: [{
|
|
1291
2023
|
type: Component,
|
|
@@ -1297,9 +2029,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImpor
|
|
|
1297
2029
|
provide: FdbNavigationContentContainer,
|
|
1298
2030
|
useExisting: NavigationContentStartComponent
|
|
1299
2031
|
}
|
|
1300
|
-
], hostDirectives: [ScrollbarDirective], template: "<ul
|
|
2032
|
+
], hostDirectives: [ScrollbarDirective], template: "<ul\n fdb-navigation-list\n [listItems]=\"visibleItems$()\"\n [ariaLabel]=\"ariaLabel\"\n [ariaRoleDescription]=\"ariaRoleDescription\"\n></ul>\n@if (_showMoreButton$()) {\n <ul noGrow fdb-navigation-list role=\"menubar\" #moreContainer>\n <li fdb-navigation-more-button [listItems]=\"hiddenItems$()\"></li>\n </ul>\n}\n" }]
|
|
1301
2033
|
}], propDecorators: { contentProjected: [{
|
|
1302
2034
|
type: Input
|
|
2035
|
+
}], ariaLabel: [{
|
|
2036
|
+
type: Input
|
|
2037
|
+
}], ariaRoleDescription: [{
|
|
2038
|
+
type: Input
|
|
1303
2039
|
}], _listItems: [{
|
|
1304
2040
|
type: ContentChildren,
|
|
1305
2041
|
args: [FdbNavigationListItem, { descendants: true }]
|
|
@@ -1311,70 +2047,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImpor
|
|
|
1311
2047
|
args: [NavigationMoreButtonComponent, { static: false }]
|
|
1312
2048
|
}] } });
|
|
1313
2049
|
|
|
1314
|
-
class FdbNavigationDataSource extends BaseDataSource {
|
|
1315
|
-
/** @hidden */
|
|
1316
|
-
constructor(dataProvider) {
|
|
1317
|
-
super(dataProvider);
|
|
1318
|
-
this.dataProvider = dataProvider;
|
|
1319
|
-
/** @hidden */
|
|
1320
|
-
this.limitless = false;
|
|
1321
|
-
}
|
|
1322
|
-
}
|
|
1323
|
-
class ArrayNavigationDataSource extends FdbNavigationDataSource {
|
|
1324
|
-
/** @hidden */
|
|
1325
|
-
constructor(data) {
|
|
1326
|
-
super(new DataProvider(data));
|
|
1327
|
-
}
|
|
1328
|
-
}
|
|
1329
|
-
class ObservableNavigationDataSDataSource extends FdbNavigationDataSource {
|
|
1330
|
-
/** @hidden */
|
|
1331
|
-
constructor(data) {
|
|
1332
|
-
super(new DataProvider(data));
|
|
1333
|
-
}
|
|
1334
|
-
}
|
|
1335
|
-
class NavigationDataSourceParser {
|
|
1336
|
-
/**
|
|
1337
|
-
* Transforms plain array or observable into DataSource class.
|
|
1338
|
-
* @param source
|
|
1339
|
-
*/
|
|
1340
|
-
parse(source) {
|
|
1341
|
-
if (isDataSource(source)) {
|
|
1342
|
-
return source;
|
|
1343
|
-
}
|
|
1344
|
-
if (Array.isArray(source)) {
|
|
1345
|
-
return new ArrayNavigationDataSource(source);
|
|
1346
|
-
}
|
|
1347
|
-
if (isObservable(source)) {
|
|
1348
|
-
return new ObservableNavigationDataSDataSource(source);
|
|
1349
|
-
}
|
|
1350
|
-
return undefined;
|
|
1351
|
-
}
|
|
1352
|
-
}
|
|
1353
|
-
|
|
1354
|
-
class NavigationListDataSourceDirective extends DataSourceDirective {
|
|
1355
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: NavigationListDataSourceDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1356
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.4", type: NavigationListDataSourceDirective, isStandalone: true, selector: "fdb-navigation[dataSource]", providers: [
|
|
1357
|
-
{
|
|
1358
|
-
provide: FD_DATA_SOURCE_TRANSFORMER,
|
|
1359
|
-
useClass: NavigationDataSourceParser
|
|
1360
|
-
}
|
|
1361
|
-
], usesInheritance: true, ngImport: i0 }); }
|
|
1362
|
-
}
|
|
1363
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: NavigationListDataSourceDirective, decorators: [{
|
|
1364
|
-
type: Directive,
|
|
1365
|
-
args: [{
|
|
1366
|
-
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
1367
|
-
selector: 'fdb-navigation[dataSource]',
|
|
1368
|
-
standalone: true,
|
|
1369
|
-
providers: [
|
|
1370
|
-
{
|
|
1371
|
-
provide: FD_DATA_SOURCE_TRANSFORMER,
|
|
1372
|
-
useClass: NavigationDataSourceParser
|
|
1373
|
-
}
|
|
1374
|
-
]
|
|
1375
|
-
}]
|
|
1376
|
-
}] });
|
|
1377
|
-
|
|
1378
2050
|
class NavigationComponent extends FdbNavigation {
|
|
1379
2051
|
/**
|
|
1380
2052
|
* Navigation state.
|
|
@@ -1392,14 +2064,32 @@ class NavigationComponent extends FdbNavigation {
|
|
|
1392
2064
|
/** @hidden */
|
|
1393
2065
|
constructor() {
|
|
1394
2066
|
super();
|
|
2067
|
+
/**
|
|
2068
|
+
* aria-label for the navigation.
|
|
2069
|
+
*/
|
|
2070
|
+
this.ariaLabel = null;
|
|
2071
|
+
/**
|
|
2072
|
+
* aria-roledescription for the navigation.
|
|
2073
|
+
*/
|
|
2074
|
+
this.ariaRoleDescription = null;
|
|
1395
2075
|
/**
|
|
1396
2076
|
* Navigation mode.
|
|
1397
2077
|
*/
|
|
1398
2078
|
this.mode = '';
|
|
2079
|
+
/**
|
|
2080
|
+
* Whether the navigation is rendered as an overlay.
|
|
2081
|
+
*/
|
|
2082
|
+
this.isOverlay = false;
|
|
1399
2083
|
/**
|
|
1400
2084
|
* Navigation type.
|
|
1401
2085
|
*/
|
|
1402
2086
|
this.type = 'vertical';
|
|
2087
|
+
/**
|
|
2088
|
+
* Selection mode for navigation items.
|
|
2089
|
+
* - 'router': Selection is handled by router link activation (default)
|
|
2090
|
+
* - 'click': Selection is handled by click events
|
|
2091
|
+
*/
|
|
2092
|
+
this.selectionMode = 'router';
|
|
1403
2093
|
/**
|
|
1404
2094
|
* State signal.
|
|
1405
2095
|
*/
|
|
@@ -1419,29 +2109,14 @@ class NavigationComponent extends FdbNavigation {
|
|
|
1419
2109
|
this.classList$ = signal([], ...(ngDevMode ? [{ debugName: "classList$" }] : []));
|
|
1420
2110
|
/** @hidden */
|
|
1421
2111
|
this.elementRef = inject(ElementRef);
|
|
2112
|
+
/** Navigation service for managing selection state. */
|
|
2113
|
+
this.service = inject(NavigationService);
|
|
1422
2114
|
/** @hidden */
|
|
1423
2115
|
this._navigationItemRenderer = signal(null, ...(ngDevMode ? [{ debugName: "_navigationItemRenderer" }] : []));
|
|
1424
2116
|
/** Stream notifies to close all popups in child list items. */
|
|
1425
2117
|
this.closeAllPopups = new Subject();
|
|
1426
2118
|
/** @hidden */
|
|
1427
2119
|
this._viewInitiated$ = signal(false, ...(ngDevMode ? [{ debugName: "_viewInitiated$" }] : []));
|
|
1428
|
-
/**
|
|
1429
|
-
* @hidden
|
|
1430
|
-
* Data source directive.
|
|
1431
|
-
*/
|
|
1432
|
-
this._dataSourceDirective = inject(NavigationListDataSourceDirective, {
|
|
1433
|
-
optional: true,
|
|
1434
|
-
self: true
|
|
1435
|
-
});
|
|
1436
|
-
this.dataSourceItems = toSignal(!this._dataSourceDirective
|
|
1437
|
-
? of({ start: [], end: [] })
|
|
1438
|
-
: this._dataSourceDirective.dataChanged$.asObservable().pipe(map((data) => {
|
|
1439
|
-
const groupedItems = data.reduce((acc, item) => {
|
|
1440
|
-
acc[item.placement].push(item);
|
|
1441
|
-
return acc;
|
|
1442
|
-
}, { start: [], end: [] });
|
|
1443
|
-
return groupedItems;
|
|
1444
|
-
})));
|
|
1445
2120
|
// When show more button is shown, reset items list with added "More button".
|
|
1446
2121
|
effect(() => {
|
|
1447
2122
|
if (this._viewInitiated$()) {
|
|
@@ -1455,7 +2130,8 @@ class NavigationComponent extends FdbNavigation {
|
|
|
1455
2130
|
this.class,
|
|
1456
2131
|
'fd-navigation',
|
|
1457
2132
|
this.mode === '' ? 'fd-navigation--compact' : '',
|
|
1458
|
-
`fd-navigation--${this.state}
|
|
2133
|
+
`fd-navigation--${this.state}`,
|
|
2134
|
+
this.isOverlay && this.state === 'expanded' ? 'is-overlay' : ''
|
|
1459
2135
|
].filter((k) => !!k));
|
|
1460
2136
|
return [...this.classList$(), `fd-navigation--${this.type}`];
|
|
1461
2137
|
}
|
|
@@ -1473,7 +2149,6 @@ class NavigationComponent extends FdbNavigation {
|
|
|
1473
2149
|
/** @hidden */
|
|
1474
2150
|
ngOnInit() {
|
|
1475
2151
|
this.buildComponentCssClass();
|
|
1476
|
-
this._dataSourceDirective?.dataSourceProvider?.match();
|
|
1477
2152
|
}
|
|
1478
2153
|
/** @hidden */
|
|
1479
2154
|
ngOnChanges() {
|
|
@@ -1507,6 +2182,69 @@ class NavigationComponent extends FdbNavigation {
|
|
|
1507
2182
|
closePopups() {
|
|
1508
2183
|
this.closeAllPopups.next();
|
|
1509
2184
|
}
|
|
2185
|
+
/**
|
|
2186
|
+
* Get the currently selected item when in click selection mode.
|
|
2187
|
+
* @returns The currently selected item, or null if none is selected.
|
|
2188
|
+
*/
|
|
2189
|
+
getSelectedItem() {
|
|
2190
|
+
return this.service.getSelectedItem();
|
|
2191
|
+
}
|
|
2192
|
+
/**
|
|
2193
|
+
* Set the selected item when in click selection mode.
|
|
2194
|
+
* @param item The item to select, or null to clear selection.
|
|
2195
|
+
*/
|
|
2196
|
+
setSelectedItem(item) {
|
|
2197
|
+
this.service.setSelectedItem(item);
|
|
2198
|
+
}
|
|
2199
|
+
/**
|
|
2200
|
+
* Clear the current selection when in click selection mode.
|
|
2201
|
+
*/
|
|
2202
|
+
clearSelection() {
|
|
2203
|
+
this.service.setSelectedItem(null);
|
|
2204
|
+
}
|
|
2205
|
+
/**
|
|
2206
|
+
* Get a navigation item by its ID.
|
|
2207
|
+
* @param id The ID of the navigation item to find.
|
|
2208
|
+
* @returns The navigation item with the specified ID, or null if not found.
|
|
2209
|
+
*/
|
|
2210
|
+
getNavigationItemById(id) {
|
|
2211
|
+
const items = this._navigationItems.toArray();
|
|
2212
|
+
return this._findItemById(items, id);
|
|
2213
|
+
}
|
|
2214
|
+
/**
|
|
2215
|
+
* Set the selected item by its ID when in click selection mode.
|
|
2216
|
+
* @param id The ID of the navigation item to select.
|
|
2217
|
+
* @returns True if the item was found and selected, false otherwise.
|
|
2218
|
+
*/
|
|
2219
|
+
setSelectedItemById(id) {
|
|
2220
|
+
const item = this.getNavigationItemById(id);
|
|
2221
|
+
if (item) {
|
|
2222
|
+
this.setSelectedItem(item);
|
|
2223
|
+
return true;
|
|
2224
|
+
}
|
|
2225
|
+
return false;
|
|
2226
|
+
}
|
|
2227
|
+
/**
|
|
2228
|
+
* Helper method to find an item by ID recursively through the navigation tree.
|
|
2229
|
+
* @param items Array of navigation items to search through.
|
|
2230
|
+
* @param id The ID to search for.
|
|
2231
|
+
* @returns The found item or null.
|
|
2232
|
+
*/
|
|
2233
|
+
_findItemById(items, id) {
|
|
2234
|
+
for (const item of items) {
|
|
2235
|
+
if (item.id() === id) {
|
|
2236
|
+
return item;
|
|
2237
|
+
}
|
|
2238
|
+
if (item.listItems$().length > 0) {
|
|
2239
|
+
const childItems = item.listItems$().filter((child) => child !== null);
|
|
2240
|
+
const found = this._findItemById(childItems, id);
|
|
2241
|
+
if (found) {
|
|
2242
|
+
return found;
|
|
2243
|
+
}
|
|
2244
|
+
}
|
|
2245
|
+
}
|
|
2246
|
+
return null;
|
|
2247
|
+
}
|
|
1510
2248
|
/**
|
|
1511
2249
|
* Updates the list of items.
|
|
1512
2250
|
* Optionally inserts "More" button if overflow menu should be rendered.
|
|
@@ -1542,13 +2280,13 @@ class NavigationComponent extends FdbNavigation {
|
|
|
1542
2280
|
}
|
|
1543
2281
|
}
|
|
1544
2282
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: NavigationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1545
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
2283
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.1.4", type: NavigationComponent, isStandalone: true, selector: "fdb-navigation", inputs: { class: "class", ariaLabel: "ariaLabel", ariaRoleDescription: "ariaRoleDescription", mode: "mode", isOverlay: ["isOverlay", "isOverlay", booleanAttribute], state: "state", type: "type", selectionMode: "selectionMode" }, host: { attributes: { "role": "navigation" }, listeners: { "keydown": "_keyDownHandler($event)" }, properties: { "attr.aria-label": "this.ariaLabel", "attr.aria-roledescription": "this.ariaRoleDescription" } }, providers: [
|
|
1546
2284
|
NavigationService,
|
|
1547
2285
|
{
|
|
1548
2286
|
provide: FdbNavigation,
|
|
1549
2287
|
useExisting: NavigationComponent
|
|
1550
2288
|
}
|
|
1551
|
-
], queries: [{ propertyName: "_navigationItemRef", first: true, predicate: NavigationListItemRefDirective, descendants: true }, { propertyName: "_navigationItems", predicate: FdbNavigationListItem, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-content></ng-content>\n@if (_navigationItemRenderer()) {\n @if (dataSourceItems()?.start; as startItems) {\n <fdb-navigation-content-start [contentProjected]=\"false\">\n @for (item of startItems; track item) {\n <ng-container fdbNavigationListItem [item]=\"item\" #listItemDirective=\"fdbListItem\">\n <ng-template\n [ngTemplateOutlet]=\"itemRenderer\"\n [ngTemplateOutletContext]=\"{ $implicit: item, injector: listItemDirective.injector }\"\n [ngTemplateOutletInjector]=\"listItemDirective.injector\"\n ></ng-template>\n </ng-container>\n }\n </fdb-navigation-content-start>\n }\n @if (dataSourceItems()?.end; as endItems) {\n <fdb-navigation-content-end [contentProjected]=\"false\">\n @for (item of endItems; track item) {\n <ng-container fdbNavigationListItem [item]=\"item\" #listItemDirective=\"fdbListItem\">\n <ng-template\n [ngTemplateOutlet]=\"itemRenderer\"\n [ngTemplateOutletContext]=\"{ $implicit: item, injector: listItemDirective.injector }\"\n [ngTemplateOutletInjector]=\"listItemDirective.injector\"\n ></ng-template>\n </ng-container>\n }\n </fdb-navigation-content-end>\n }\n}\n\n<ng-template #itemRenderer let-item let-injector=\"injector\">\n <ng-template\n [ngTemplateOutlet]=\"_navigationItemRenderer()?.templateRef || null\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n [ngTemplateOutletInjector]=\"injector\"\n ></ng-template>\n @if (item.children && item.children.length > 0) {\n @for (child of item.children; track child) {\n <ng-container fdbNavigationListItem [item]=\"child\" #listItemDirective=\"fdbListItem\">\n <ng-template\n [ngTemplateOutlet]=\"itemRenderer\"\n [ngTemplateOutletContext]=\"{ $implicit: child, injector: listItemDirective.injector }\"\n [ngTemplateOutletInjector]=\"listItemDirective.injector\"\n ></ng-template>\n </ng-container>\n }\n }\n</ng-template>\n", styles: ["@charset \"UTF-8\";.fd-navigation{--fdNavigation_Height:100%;--fdNavigation_Padding_X:.5rem;--fdNavigation_Padding_Top:.5rem;--fdNavigation_Item_Spacing:.25rem;--fdNavigation_Padding_Bottom:.5rem;--fdNavigation_Horizontal_Height:3.5rem;--fdNavigation_Expander_Position_Right:.5rem;--fdNavigation_Border_Radius:0;--fdNavigation_Box_Shadow:var(--sapContent_Shadow0);--fdNavigation_Link_Icon_Size:1rem;--fdNavigation_Link_Icon_Color:var(--sapList_TextColor);--fdNavigation_Link_Min_Height:var(--sapElement_LineHeight);--fdNavigation_Link_Font_Family:var(--sapFontBoldFamily);--fdNavigation_Link_Spacing:.5rem;--fdNavigation_Link_Text_Color:inherit;--fdNavigation_Link_Shift_Left:1rem;--fdNavigation_Link_Padding_Left:var(--fdNavigation_Link_Shift_Left);--fdNavigation_Link_Padding_Right:.375rem;--fdNavigation_Link_Font_Size:var(--sapFontSize);--fdNavigation_Link_Selection_Indicator_Size:.5rem;--fdNavigation_Link_Has_Child_Indicator_Display:flex;--fdNavigation_Link_Selection_Indicator_Display:none;--fdNavigation_Link_Back_Indicator_Icon:\"\\e1ee\";--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ed\";--fdNavigation_Link_External_Link_Indicator_Icon:\"\\e04c\";--fdNavigation_Link_Background:var(--sapNavigation_Background);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Normal);--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Bottom_Color_Normal);--fdNavigation_Item_Group_Display:flex;--fdNavigation_Item_Title_Display:none;--fdNavigation_Item_Text_Display:inline-block;--fdNavigation_Item_Selected_Background:var(--sapList_SelectionBackgroundColor);--fdNavigation_List_Container_Display:none;--fdNavigation_List_Parent_Items_Display:none;--fdNavigation_Controls_Width:2.25rem;--fdNavigation_Controls_Height:2.25rem;--fdNavigation_Quick_Create_Border_Color:var(--sapButton_BorderColor);border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-navigation:after,.fd-navigation:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-navigation__container{position:relative}.fd-navigation__container--top{height:100%;overflow:scroll;padding-inline:var(--fdNavigation_Padding_X);position:relative;-webkit-padding-after:.25rem;padding-block-end:.25rem}.fd-navigation__container--bottom{padding-inline:var(--fdNavigation_Padding_X)}.fd-navigation__container--bottom:before{background:var(--sapToolbar_SeparatorColor);content:\"\";display:inline-block;height:.0625rem;margin-block:.5625rem;width:100%}.fd-navigation__list-container{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:var(--fdNavigation_List_Container_Display);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-navigation__list-container:after,.fd-navigation__list-container:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-navigation__list-wrapper{width:100%}.fd-navigation__list{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:var(--fdNavigation_Item_Spacing);height:100%;list-style-type:none;position:relative}.fd-navigation__list:after,.fd-navigation__list:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-navigation__list--parent-items{display:var(--fdNavigation_List_Parent_Items_Display)}.fd-navigation__list-item{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:var(--fdNavigation_Item_Spacing)}.fd-navigation__list-item:after,.fd-navigation__list-item:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-navigation__list-item--spacer{background:transparent;height:100%;min-height:.25rem}.fd-navigation__list-item--separator{background:transparent;height:.625rem;max-height:.625rem;min-height:.625rem}.fd-navigation__list-item--overflow{position:relative}.fd-navigation__link{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;padding-inline:var(--fdNavigation_Link_Padding_Left) var(--fdNavigation_Link_Padding_Right);-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:var(--fdNavigation_Link_Background);border-radius:var(--fdNavigation_Link_Border_Radius);color:var(--fdNavigation_Link_Text_Color);cursor:pointer;gap:var(--fdNavigation_Link_Spacing);min-height:var(--fdNavigation_Link_Min_Height);overflow:hidden;position:relative;text-align:start;text-decoration:none;-webkit-transition:var(--fdNavigation_Link_Transition);transition:var(--fdNavigation_Link_Transition);width:100%}.fd-navigation__link:after,.fd-navigation__link:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-navigation__link:before{border-bottom:.0625rem solid var(--fdNavigation_Link_Border_Color);border:.0625rem solid var(--fdNavigation_Link_Border_Color);border-bottom-color:var(--fdNavigation_Link_Border_Bottom_Color);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}[dir=rtl] .fd-navigation__link:before{left:auto;right:0}.fd-navigation__link.is-hover,.fd-navigation__link:hover{--fdNavigation_Link_Background:var(--sapList_Hover_Background);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Hover);--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Hover)}.fd-navigation__link.is-active,.fd-navigation__link.is-active.is-focus,.fd-navigation__link.is-active:focus,.fd-navigation__link:active,.fd-navigation__link:active.is-focus,.fd-navigation__link:active:focus{--fdNavigation_Link_Background:var(--sapList_Active_Background);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Active);--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Active)}.fd-navigation__link.is-active.is-focus,.fd-navigation__link.is-active:focus,.fd-navigation__link:active.is-focus,.fd-navigation__link:active:focus{outline:none;z-index:5}.fd-navigation__link.is-focus,.fd-navigation__link:focus{z-index:5;--fdNavigation_Link_Border_Color:transparent;--fdNavigation_Link_Border_Bottom_Color:transparent;--fdNavigation_Link_Background:var(--sapList_Background);outline:var(--sapContent_FocusStyle) var(--sapContent_FocusWidth) var(--sapContent_FocusColor);outline-offset:-.125rem}.fd-navigation__link.is-focus.is-hover,.fd-navigation__link.is-focus:hover,.fd-navigation__link:focus.is-hover,.fd-navigation__link:focus:hover{--fdNavigation_Link_Background:var(--sapList_Hover_Background);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Hover);--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Hover)}.fd-navigation__link:focus-visible{outline-offset:-.125rem}.fd-navigation__link.is-disabled,.fd-navigation__link:disabled,.fd-navigation__link[aria-disabled=true]{opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-navigation__item{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-radius:var(--fdNavigation_Link_Border_Radius);height:100%;position:relative}.fd-navigation__item:after,.fd-navigation__item:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-navigation__item.is-expanded .fd-navigation__has-children-indicator,.fd-navigation__item.is-expanded .fd-navigation__has-children-indicator[dir=rtl],.fd-navigation__item[aria-expanded=true] .fd-navigation__has-children-indicator,.fd-navigation__item[aria-expanded=true] .fd-navigation__has-children-indicator[dir=rtl],[dir=rtl] .fd-navigation__item.is-expanded .fd-navigation__has-children-indicator,[dir=rtl] .fd-navigation__item[aria-expanded=true] .fd-navigation__has-children-indicator{--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ef\"}.fd-navigation__item.is-expanded+.fd-navigation__list-container,.fd-navigation__item[aria-expanded=true]+.fd-navigation__list-container{--fdNavigation_List_Container_Display:flex}.fd-navigation__item.is-expanded+.fd-navigation__list--parent-items,.fd-navigation__item[aria-expanded=true]+.fd-navigation__list--parent-items{--fdNavigation_List_Parent_Items_Display:flex}.fd-navigation__item.is-selected,.fd-navigation__item[aria-selected=true]{--fdNavigation_Link_Selection_Indicator_Display:inline-block;--fdNavigation_Link_Background:var(--sapList_SelectionBackgroundColor);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Selected);--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Selected)}.fd-navigation__item.is-selected .fd-navigation__link.is-focus,.fd-navigation__item.is-selected .fd-navigation__link:focus,.fd-navigation__item[aria-selected=true] .fd-navigation__link.is-focus,.fd-navigation__item[aria-selected=true] .fd-navigation__link:focus{z-index:5;--fdNavigation_Link_Background:var(--sapList_SelectionBackgroundColor);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Selected);--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Selected)}.fd-navigation__item.is-selected .fd-navigation__link.is-hover,.fd-navigation__item.is-selected .fd-navigation__link:hover,.fd-navigation__item[aria-selected=true] .fd-navigation__link.is-hover,.fd-navigation__item[aria-selected=true] .fd-navigation__link:hover{--fdNavigation_Link_Background:var(--sapList_Hover_SelectionBackground);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Selected);--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Selected)}.fd-navigation__item--child .fd-navigation__link{--fdNavigation_Link_Font_Family:var(--sapFontFamily);--fdNavigation_Link_Padding_Left:2.5rem}.fd-navigation__item--group{display:var(--fdNavigation_Item_Group_Display)}.fd-navigation__item--group .fd-navigation__link{--fdNavigation_Link_Text_Color:var(--sapContent_LabelColor);--fdNavigation_Link_Font_Family:var(--sapFontFamily);--fdNavigation_Link_Font_Size:var(--sapFontSize)}.fd-navigation__item--title{height:auto;-webkit-margin-after:var(--fdNavigation_Item_Title_Margin_Bottom,0);display:var(--fdNavigation_Item_Title_Display);margin-block-end:var(--fdNavigation_Item_Title_Margin_Bottom,0)}.fd-navigation__item--title .fd-navigation__text{font-weight:700;--fdNavigation_Item_Title_Display:block}.fd-navigation__item--title .fd-navigation__icon[class*=sap-icon]{display:none}.fd-navigation__item--menu.is-expanded,.fd-navigation__item--menu[aria-expanded=true]{--fdNavigation_Link_Background:var(--sapNavigation_Active_Background);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Active);--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Active)}.fd-navigation__item--menu.is-expanded .fd-navigation__has-children-indicator,.fd-navigation__item--menu[aria-expanded=true] .fd-navigation__has-children-indicator{--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ed\"}.fd-navigation__item--menu.is-expanded .fd-navigation__has-children-indicator[dir=rtl],.fd-navigation__item--menu[aria-expanded=true] .fd-navigation__has-children-indicator[dir=rtl],[dir=rtl] .fd-navigation__item--menu.is-expanded .fd-navigation__has-children-indicator,[dir=rtl] .fd-navigation__item--menu[aria-expanded=true] .fd-navigation__has-children-indicator{--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ee\"}.fd-navigation__item--menu.fd-navigation__item--child .fd-navigation__link{--fdNavigation_Link_Padding_Left:var(--fdNavigation_Link_Shift_Left)}.fd-navigation__item--with-expander .fd-navigation__link{--fdNavigation_Link_Padding_Right:calc(var(--fdNavigation_Controls_Width) + 1.3125rem)}.fd-navigation__item--with-expander .fd-navigation__has-children-indicator{--fdNavigation_Link_Has_Child_Indicator_Display:flex;cursor:pointer;position:absolute;right:var(--fdNavigation_Link_Has_Child_Indicator_Pos_Right,.375rem);z-index:20}.fd-navigation__item--with-expander .fd-navigation__has-children-indicator:after{background:var(--sapTextColor);content:\"\";display:var(--fdNavigation_Link_Has_Child_Indicator_Div_Display,inline-block);height:var(--sapElement_Condensed_Height);left:-.25rem;position:absolute;width:.0625rem}.fd-navigation__item--with-expander.is-hover .fd-navigation__link,.fd-navigation__item--with-expander:hover .fd-navigation__link{--fdNavigation_Link_Background:var(--sapList_Hover_Background);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Hover);--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Hover)}.fd-navigation__item--with-expander.is-active .fd-navigation__link,.fd-navigation__item--with-expander:active .fd-navigation__link{--fdNavigation_Link_Background:var(--sapList_Active_Background);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Active);--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Active)}.fd-navigation__item--with-expander.is-selected.is-hover .fd-navigation__link,.fd-navigation__item--with-expander.is-selected:hover .fd-navigation__link,.fd-navigation__item--with-expander[aria-selected=true].is-hover .fd-navigation__link,.fd-navigation__item--with-expander[aria-selected=true]:hover .fd-navigation__link{--fdNavigation_Link_Background:var(--sapList_Hover_SelectionBackground)}.fd-navigation__item--create{--fdNavigation_Link_Text_Color:var(--sapButton_TextColor);--fdNavigation_Link_Icon_Color:var(--sapButton_TextColor)}.fd-navigation__item--create .fd-navigation__link{border:var(--sapButton_BorderWidth) solid var(--fdNavigation_Quick_Create_Border_Color)}.fd-navigation__item--create .fd-navigation__link.is-active,.fd-navigation__item--create .fd-navigation__link:active{--fdNavigation_Quick_Create_Border_Color:var(--sapButton_Active_BorderColor);--fdNavigation_Link_Background:var(--sapButton_Active_Background)}.fd-navigation__icon{height:var(--fdNavigation_Link_Icon_Size);max-height:var(--fdNavigation_Link_Icon_Size);max-width:var(--fdNavigation_Link_Icon_Size);min-height:var(--fdNavigation_Link_Icon_Size);min-width:var(--fdNavigation_Link_Icon_Size);width:var(--fdNavigation_Link_Icon_Size)}.fd-navigation__icon [class*=sap-icon],.fd-navigation__icon[class*=sap-icon]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--fdNavigation_Link_Icon_Color);font-family:var(--sapFontBoldFamily);font-size:var(--fdNavigation_Link_Icon_Size)}.fd-navigation__text{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--fdNavigation_Link_Text_Color);display:var(--fdNavigation_Item_Text_Display);font-family:var(--sapFontFamily);font-family:var(--fdNavigation_Link_Font_Family);font-size:var(--sapFontSize);font-size:var(--fdNavigation_Link_Font_Size);font-weight:400;forced-color-adjust:none;line-height:normal;line-height:1rem;margin-block:0;margin-inline:0;overflow:hidden;padding-block:0;padding-inline:0;text-overflow:ellipsis;vertical-align:baseline;white-space:nowrap;width:100%}.fd-navigation__text:after,.fd-navigation__text:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-navigation__selection-indicator{background:var(--sapList_SelectionBorderColor);border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:var(--fdNavigation_Link_Selection_Indicator_Display);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:100%;left:0;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;position:absolute;top:0;width:.188rem}.fd-navigation__selection-indicator:after,.fd-navigation__selection-indicator:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-navigation__selection-indicator[dir=rtl],[dir=rtl] .fd-navigation__selection-indicator{left:auto;right:0}.fd-navigation__has-children-indicator{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--sapList_TextColor);display:var(--fdNavigation_Link_Has_Child_Indicator_Display);height:var(--fdNavigation_Controls_Height);max-height:var(--fdNavigation_Controls_Height);max-width:var(--fdNavigation_Controls_Width);min-height:var(--fdNavigation_Controls_Height);min-width:var(--fdNavigation_Controls_Width);-webkit-transition:opacity .3s ease-in-out;transition:opacity .3s ease-in-out;width:var(--fdNavigation_Controls_Width)}.fd-navigation__has-children-indicator:after,.fd-navigation__has-children-indicator:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-navigation__has-children-indicator:before{content:var(--fdNavigation_Link_Has_Child_Indicator_Icon);font-family:SAP-icons;font-size:1rem}[dir=rtl] .fd-navigation__has-children-indicator{--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ee\"}.fd-navigation__external-link-indicator{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--sapList_TextColor);display:var(--fdNavigation_Link_External_Link_Indicator_Display,flex);height:var(--fdNavigation_Controls_Height);max-height:var(--fdNavigation_Controls_Height);max-width:var(--fdNavigation_Controls_Width);min-height:var(--fdNavigation_Controls_Height);min-width:var(--fdNavigation_Controls_Width);width:var(--fdNavigation_Controls_Width)}.fd-navigation__external-link-indicator:after,.fd-navigation__external-link-indicator:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-navigation__external-link-indicator:before{content:var(--fdNavigation_Link_External_Link_Indicator_Icon);font-family:SAP-icons;font-size:1rem}.fd-navigation__external-link-indicator[dir=rtl],[dir=rtl] .fd-navigation__external-link-indicator{--fdNavigation_Link_External_Link_Indicator_Icon:\"\\e04d\"}.fd-navigation__back-indicator{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--sapContent_LabelColor);height:.75rem;max-height:.75rem;max-width:.75rem;min-height:.75rem;min-width:.75rem;width:.75rem}.fd-navigation__back-indicator:after,.fd-navigation__back-indicator:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-navigation__back-indicator:before{content:var(--fdNavigation_Link_Back_Indicator_Icon);font-family:SAP-icons;font-size:.75rem}.fd-navigation__back-indicator[dir=rtl],[dir=rtl] .fd-navigation__back-indicator{--fdNavigation_Link_Back_Indicator_Icon:\"\\e1ed\"}.fd-navigation--snapped .fd-navigation__container--bottom,.fd-navigation--snapped .fd-navigation__container--top{overflow:visible}.fd-navigation--snapped .fd-navigation__list-wrapper{padding-block:.5rem;padding-inline:.5rem}.fd-navigation--snapped .fd-navigation__list-container{background:var(--sapGroup_ContentBackground);border:none;border-radius:var(--sapPopover_BorderCornerRadius);-webkit-box-shadow:var(--sapContent_Shadow2);box-shadow:var(--sapContent_Shadow2)}.fd-navigation--snapped .fd-navigation__list-container.fd-navigation__list-container--menu{left:calc(100% + .1875rem);padding-block:.5rem;padding-inline:.5rem;position:absolute;top:0}.fd-navigation--snapped .fd-navigation__list-container.fd-navigation__list-container--menu[dir=rtl],[dir=rtl] .fd-navigation--snapped .fd-navigation__list-container.fd-navigation__list-container--menu{left:auto;right:calc(100% + .1875rem)}.fd-navigation--snapped .fd-navigation__list-container.fd-navigation__list-container--menu .fd-navigation__list-wrapper{padding-block:0;padding-inline:0}.fd-navigation--snapped .fd-navigation__list-container.fd-navigation__list-container--menu .fd-navigation__list{--fdNavigation_Item_Spacing:.5rem;-webkit-box-shadow:none;box-shadow:none}.fd-navigation--snapped .fd-navigation__list-container.fd-navigation__list-container--menu .fd-navigation__item.is-expanded .fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-container.fd-navigation__list-container--menu .fd-navigation__item[aria-expanded=true] .fd-navigation__has-children-indicator{--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ed\"}[dir=rtl] .fd-navigation--snapped .fd-navigation__list-container.fd-navigation__list-container--menu .fd-navigation__item .fd-navigation__has-children-indicator{--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ee\"}.fd-navigation--snapped .fd-navigation__list-container.fd-navigation__list-container--submenu{left:calc(100% + .1875rem);margin-block:0;margin-inline:0;padding-block:.5rem;padding-inline:.5rem;top:calc(var(--fdNavigation_Link_Min_Height) - .5rem)}.fd-navigation--snapped .fd-navigation__list-container.fd-navigation__list-container--submenu[dir=rtl],[dir=rtl] .fd-navigation--snapped .fd-navigation__list-container.fd-navigation__list-container--submenu{left:auto;right:calc(100% + .1875rem)}.fd-navigation--snapped .fd-navigation__list-container .fd-navigation__list--parent-items{--fdNavigation_List_Parent_Items_Display:flex}.fd-navigation--snapped .fd-navigation__item--group{--fdNavigation_Item_Group_Display:none}.fd-navigation--snapped .fd-navigation__item--child .fd-navigation__link{--fdNavigation_Link_Padding_Left:1rem}.fd-navigation--snapped .fd-navigation__list--child-items{--fdNavigation_Item_Spacing:.5rem;height:auto}.fd-navigation--snapped .fd-navigation__item--title{--fdNavigation_Item_Title_Display:block;--fdNavigation_Item_Title_Margin_Bottom:.5rem}.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title).is-expanded .fd-navigation__link,.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title)[aria-expanded=true] .fd-navigation__link{--fdNavigation_Link_Background:var(--sapList_Active_Background);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Active)}.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title).is-expanded.is-selected .fd-navigation__link,.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title).is-expanded[aria-selected=true] .fd-navigation__link,.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title)[aria-expanded=true].is-selected .fd-navigation__link,.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title)[aria-expanded=true][aria-selected=true] .fd-navigation__link{--fdNavigation_Link_Selection_Indicator_Display:inline-block;--fdNavigation_Link_Background:var(--sapList_SelectionBackgroundColor);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Selected)}.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title).is-expanded.is-selected.is-hover .fd-navigation__link,.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title).is-expanded.is-selected:hover .fd-navigation__link,.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title).is-expanded[aria-selected=true].is-hover .fd-navigation__link,.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title).is-expanded[aria-selected=true]:hover .fd-navigation__link,.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title)[aria-expanded=true].is-selected.is-hover .fd-navigation__link,.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title)[aria-expanded=true].is-selected:hover .fd-navigation__link,.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title)[aria-expanded=true][aria-selected=true].is-hover .fd-navigation__link,.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title)[aria-expanded=true][aria-selected=true]:hover .fd-navigation__link{--fdNavigation_Link_Background:var(--sapList_Hover_SelectionBackground)}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link{--fdNavigation_Link_Spacing:0}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link .fd-navigation__text{--fdNavigation_Item_Text_Display:none}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link .fd-navigation__has-children-indicator{--fdNavigation_Controls_Width:1rem;--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ed\"}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link:has(.fd-navigation__external-link-indicator){--fdNavigation_Link_Padding_Right:0;--fdNavigation_Link_External_Link_Indicator_Display:none}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link.is-focus,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link.is-hover,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link:focus,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link:hover{--fdNavigation_Link_Padding_Right:1rem;--fdNavigation_Link_Spacing:.5rem;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link.is-focus:has(.fd-navigation__has-children-indicator),.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link.is-hover:has(.fd-navigation__has-children-indicator),.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link:focus:has(.fd-navigation__has-children-indicator),.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link:hover:has(.fd-navigation__has-children-indicator){--fdNavigation_Link_Padding_Right:.375rem}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link.is-focus:has(.fd-navigation__has-children-indicator) .fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link.is-hover:has(.fd-navigation__has-children-indicator) .fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link:focus:has(.fd-navigation__has-children-indicator) .fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link:hover:has(.fd-navigation__has-children-indicator) .fd-navigation__has-children-indicator{--fdNavigation_Controls_Width:2.25rem}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link.is-focus:has(.fd-navigation__external-link-indicator),.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link.is-hover:has(.fd-navigation__external-link-indicator),.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link:focus:has(.fd-navigation__external-link-indicator),.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link:hover:has(.fd-navigation__external-link-indicator){--fdNavigation_Link_Padding_Right:.375rem;--fdNavigation_Link_External_Link_Indicator_Display:flex}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link.is-focus .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link.is-hover .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link:focus .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link:hover .fd-navigation__text{--fdNavigation_Item_Text_Display:inline-block}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander>.fd-navigation__link{--fdNavigation_Link_Padding_Right:0}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander>.fd-navigation__link+.fd-navigation__has-children-indicator{--fdNavigation_Controls_Width:1rem;--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ed\";--fdNavigation_Link_Has_Child_Indicator_Pos_Right:0;--fdNavigation_Link_Has_Child_Indicator_Div_Display:none}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander.is-hover,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander:focus-within,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander:hover{min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander.is-hover>.fd-navigation__link,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander:focus-within>.fd-navigation__link,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander:hover>.fd-navigation__link{--fdNavigation_Link_Spacing:.5rem;--fdNavigation_Link_Padding_Right:calc(var(--fdNavigation_Controls_Width) + 1.3125rem)}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander.is-hover>.fd-navigation__link .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander:focus-within>.fd-navigation__link .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander:hover>.fd-navigation__link .fd-navigation__text{--fdNavigation_Item_Text_Display:inline-block}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander.is-hover>.fd-navigation__link+.fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander:focus-within>.fd-navigation__link+.fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander:hover>.fd-navigation__link+.fd-navigation__has-children-indicator{--fdNavigation_Controls_Width:2.25rem;--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ed\";--fdNavigation_Link_Has_Child_Indicator_Pos_Right:.375rem;--fdNavigation_Link_Has_Child_Indicator_Div_Display:inline-block}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander.is-expanded.is-hover>.fd-navigation__link,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander.is-expanded:focus-within>.fd-navigation__link,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander.is-expanded:hover>.fd-navigation__link,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander[aria-expanded=true].is-hover>.fd-navigation__link,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander[aria-expanded=true]:focus-within>.fd-navigation__link,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander[aria-expanded=true]:hover>.fd-navigation__link{--fdNavigation_Link_Spacing:0;--fdNavigation_Link_Padding_Right:0}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander.is-expanded.is-hover>.fd-navigation__link .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander.is-expanded:focus-within>.fd-navigation__link .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander.is-expanded:hover>.fd-navigation__link .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander[aria-expanded=true].is-hover>.fd-navigation__link .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander[aria-expanded=true]:focus-within>.fd-navigation__link .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander[aria-expanded=true]:hover>.fd-navigation__link .fd-navigation__text{--fdNavigation_Item_Text_Display:none}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander.is-expanded.is-hover>.fd-navigation__link+.fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander.is-expanded:focus-within>.fd-navigation__link+.fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander.is-expanded:hover>.fd-navigation__link+.fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander[aria-expanded=true].is-hover>.fd-navigation__link+.fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander[aria-expanded=true]:focus-within>.fd-navigation__link+.fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander[aria-expanded=true]:hover>.fd-navigation__link+.fd-navigation__has-children-indicator{--fdNavigation_Controls_Width:1rem;--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ed\";--fdNavigation_Link_Has_Child_Indicator_Pos_Right:0;--fdNavigation_Link_Has_Child_Indicator_Div_Display:none}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link .fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link .fd-navigation__has-children-indicator{--fdNavigation_Controls_Width:1rem;--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ed\"}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link.is-focus,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link.is-hover,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link:focus,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link:hover,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link.is-focus,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link.is-hover,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link:focus,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link:hover{--fdNavigation_Link_Padding_Right:0}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link.is-focus:has(.fd-navigation__has-children-indicator),.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link.is-hover:has(.fd-navigation__has-children-indicator),.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link:focus:has(.fd-navigation__has-children-indicator),.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link:hover:has(.fd-navigation__has-children-indicator),.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link.is-focus:has(.fd-navigation__has-children-indicator),.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link.is-hover:has(.fd-navigation__has-children-indicator),.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link:focus:has(.fd-navigation__has-children-indicator),.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link:hover:has(.fd-navigation__has-children-indicator){--fdNavigation_Link_Spacing:0;--fdNavigation_Link_Padding_Right:0}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link.is-focus:has(.fd-navigation__has-children-indicator) .fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link.is-hover:has(.fd-navigation__has-children-indicator) .fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link:focus:has(.fd-navigation__has-children-indicator) .fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link:hover:has(.fd-navigation__has-children-indicator) .fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link.is-focus:has(.fd-navigation__has-children-indicator) .fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link.is-hover:has(.fd-navigation__has-children-indicator) .fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link:focus:has(.fd-navigation__has-children-indicator) .fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link:hover:has(.fd-navigation__has-children-indicator) .fd-navigation__has-children-indicator{--fdNavigation_Controls_Width:1rem}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link.is-focus .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link.is-hover .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link:focus .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link:hover .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link.is-focus .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link.is-hover .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link:focus .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link:hover .fd-navigation__text{--fdNavigation_Item_Text_Display:none}.fd-navigation.fd-navigation--vertical{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-ms-flex-pack:justify;background:var(--sapList_Background);border-radius:var(--fdNavigation_Border_Radius);-webkit-box-shadow:var(--fdNavigation_Box_Shadow);box-shadow:var(--fdNavigation_Box_Shadow);height:var(--fdNavigation_Height);justify-content:space-between;min-width:16rem;padding-block:var(--fdNavigation_Padding_Top) var(--fdNavigation_Padding_Bottom)}.fd-navigation.fd-navigation--vertical.fd-navigation--popup{--fdNavigation_Height:auto;--fdNavigation_Padding_Top:.5rem;--fdNavigation_Border_Radius:.5rem;--fdNavigation_Box_Shadow:var(--sapNavigation_Shadow2)}.fd-navigation.fd-navigation--vertical.fd-navigation--popup .fd-navigation__container--bottom,.fd-navigation.fd-navigation--vertical.fd-navigation--popup .fd-navigation__container--top{--fdNavigation_Padding_X:.5rem}.fd-navigation.fd-navigation--vertical.fd-navigation--snapped{max-width:4rem;min-width:4rem;width:4rem}.fd-navigation.fd-navigation--horizontal{background:var(--sapNavigation_Background);height:var(--fdNavigation_Horizontal_Height);padding-block:calc((var(--fdNavigation_Horizontal_Height) - var(--fdNavigation_Link_Min_Height))*.5);padding-inline:1.5rem;width:100%}.fd-navigation.fd-navigation--horizontal .fd-navigation__link{--fdNavigation_Link_Spacing:.5rem;--fdNavigation_Link_Padding_Right:1rem}.fd-navigation.fd-navigation--horizontal .fd-navigation__link:has(.fd-navigation__has-children-indicator){--fdNavigation_Link_Padding_Right:.375rem}.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow).is-selected,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow)[aria-selected=true]{--fdNavigation_Link_Background:var(--fdNavigation_Item_Selected_Background);--fdNavigation_Link_Selection_Indicator_Display:inline-block}.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow).is-selected .fd-navigation__link.is-focus,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow).is-selected .fd-navigation__link:focus,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow)[aria-selected=true] .fd-navigation__link.is-focus,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow)[aria-selected=true] .fd-navigation__link:focus{z-index:5;--fdNavigation_Link_Background:var(--fdNavigation_Item_Selected_Background)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow).is-selected .fd-navigation__link.is-hover,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow).is-selected .fd-navigation__link:hover,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow)[aria-selected=true] .fd-navigation__link.is-hover,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow)[aria-selected=true] .fd-navigation__link:hover{--fdNavigation_Link_Background:var(--fdNavigation_Item_Selected_Background)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow).is-selected.is-expanded .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow).is-selected[aria-expanded=true] .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow)[aria-selected=true].is-expanded .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow)[aria-selected=true][aria-expanded=true] .fd-navigation__link{--fdNavigation_Link_Selection_Indicator_Display:inline-block;--fdNavigation_Link_Background:var(--fdNavigation_Item_Selected_Background)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow).is-selected.is-hover .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow).is-selected:hover .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow)[aria-selected=true].is-hover .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow)[aria-selected=true]:hover .fd-navigation__link{--fdNavigation_Link_Background:var(--sapList_Hover_SelectionBackground)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow) .fd-navigation__link.is-hover:before,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow) .fd-navigation__link:before,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow) .fd-navigation__link:hover:before,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow).is-expanded .fd-navigation__link:before,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow)[aria-expanded=true] .fd-navigation__link:before{--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color)}.fd-navigation.fd-navigation--horizontal .fd-navigation__list:not(.fd-navigation__list--parent-items):not(.fd-navigation__list--child-items){--fdNavigation_Item_Spacing:.75rem;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.fd-navigation.fd-navigation--horizontal .fd-navigation__list:not(.fd-navigation__list--parent-items):not(.fd-navigation__list--child-items) .fd-navigation__has-children-indicator{--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e287\"}.fd-navigation.fd-navigation--horizontal .fd-navigation__list-item--spacer{height:.75rem;width:100%}.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu){--fdPopover_Offset: calc(100% + .3875rem) ;background:var(--sapGroup_ContentBackground);border:none;border-radius:.75rem;-webkit-box-shadow:var(--sapMenu_Shadow2);box-shadow:var(--sapMenu_Shadow2);padding-block:.05rem;padding-inline:.05rem}.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu{-webkit-box-shadow:var(--sapMenu_Shadow1);box-shadow:var(--sapMenu_Shadow1);padding-block:.5rem;padding-inline:.5rem;position:absolute;right:-.5rem;top:calc(100% + .3875rem)}.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu[dir=rtl],[dir=rtl] .fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu{left:-.5rem;right:auto}.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu .fd-navigation__list-wrapper{padding-block:0;padding-inline:0}.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu .fd-navigation__list{--fdNavigation_Item_Spacing:.25rem;-webkit-box-shadow:none;box-shadow:none}.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu .fd-navigation__item.is-expanded .fd-navigation__has-children-indicator,.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu .fd-navigation__item[aria-expanded=true] .fd-navigation__has-children-indicator{--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ed\"}[dir=rtl] .fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu .fd-navigation__item.is-expanded .fd-navigation__has-children-indicator,[dir=rtl] .fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu .fd-navigation__item[aria-expanded=true] .fd-navigation__has-children-indicator{--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ee\"}.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu .fd-navigation__item.fd-navigation__item--overflow .fd-navigation__has-children-indicator{display:none}.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child)>.fd-navigation__link.is-hover,.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child)>.fd-navigation__link:hover{width:100%}.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child)>.fd-navigation__link.is-hover .fd-navigation__text,.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child)>.fd-navigation__link:hover .fd-navigation__text{--fdNavigation_Item_Text_Display:inline-block}.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--submenu{-webkit-box-shadow:var(--sapMenu_Shadow1);box-shadow:var(--sapMenu_Shadow1);left:calc(-100% - .1875rem);margin-block:0;margin-inline:0;padding-block:.5rem;padding-inline:.5rem;top:calc(var(--fdNavigation_Link_Min_Height) - .5rem)}.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--submenu[dir=rtl],[dir=rtl] .fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--submenu{left:auto;right:calc(-100% - .1875rem)}.fd-navigation.fd-navigation--horizontal .fd-navigation__list-wrapper{padding-block:.7rem;padding-inline:.7rem}.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow).is-expanded .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow)[aria-expanded=true] .fd-navigation__link{--fdNavigation_Link_Background:var(--sapMenu_Active_Background);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Active);--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Active)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow).is-expanded .fd-navigation__link.is-focus,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow).is-expanded .fd-navigation__link:focus,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow)[aria-expanded=true] .fd-navigation__link.is-focus,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow)[aria-expanded=true] .fd-navigation__link:focus{z-index:5;--fdNavigation_Link_Background:var(--sapMenu_Active_Background);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Active);--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Active)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow).is-expanded.is-selected .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow).is-expanded[aria-selected=true] .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow)[aria-expanded=true].is-selected .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow)[aria-expanded=true][aria-selected=true] .fd-navigation__link{--fdNavigation_Link_Selection_Indicator_Display:inline-block;--fdNavigation_Link_Background:var(--fdNavigation_Item_Selected_Background);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Selected);--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Selected)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow).is-expanded.is-selected.is-hover .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow).is-expanded.is-selected:hover .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow).is-expanded[aria-selected=true].is-hover .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow).is-expanded[aria-selected=true]:hover .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow)[aria-expanded=true].is-selected.is-hover .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow)[aria-expanded=true].is-selected:hover .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow)[aria-expanded=true][aria-selected=true].is-hover .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow)[aria-expanded=true][aria-selected=true]:hover .fd-navigation__link{--fdNavigation_Link_Background:var(--sapList_Hover_SelectionBackground)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item.fd-navigation__item--with-expander .fd-navigation__link{--fdNavigation_Link_Padding_Right:calc(1.6875rem + var(--fdNavigation_Controls_Width))}.fd-navigation.fd-navigation--horizontal .fd-navigation__item--child:not(.fd-navigation__item--submenu-child) .fd-navigation__link{--fdNavigation_Link_Padding_Left:var(--fdNavigation_Link_Shift_Left)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item--with-expander .fd-navigation__expander{border:none;margin-block:0;margin-inline:.0625rem;outline-offset:-.0625rem;-webkit-transition:var(--fdNavigation_Link_Transition);transition:var(--fdNavigation_Link_Transition);--fdButton_Nested_Border_Radius:var(--fdNavigation_Link_Border_Radius)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item--with-expander .fd-navigation__expander:after{border-bottom:.0625rem solid var(--fdNavigation_Expander_Border_Color);border:.0625rem solid var(--fdNavigation_Expander_Border_Color);border-bottom-color:var(--fdNavigation_Expander_Border_Bottom_Color);content:\"\";inset:0;position:absolute}.fd-navigation.fd-navigation--horizontal .fd-navigation__item--with-expander .fd-navigation__expander.is-hover,.fd-navigation.fd-navigation--horizontal .fd-navigation__item--with-expander .fd-navigation__expander:hover{--fdButton_Nested_Background:var(--sapList_Hover_Background);--fdNavigation_Expander_Border_Color:var(--fdNavigation_Link_Border_Color_Hover);--fdNavigation_Expander_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Hover)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item--with-expander .fd-navigation__expander.is-active,.fd-navigation.fd-navigation--horizontal .fd-navigation__item--with-expander .fd-navigation__expander:active{--fdButton_Nested_Background:var(--sapList_Active_Background);--fdNavigation_Expander_Border_Color:var(--fdNavigation_Link_Border_Color_Active);--fdNavigation_Expander_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Active)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item--with-expander .fd-navigation__expander.is-active.is-focus,.fd-navigation.fd-navigation--horizontal .fd-navigation__item--with-expander .fd-navigation__expander.is-active:focus,.fd-navigation.fd-navigation--horizontal .fd-navigation__item--with-expander .fd-navigation__expander:active.is-focus,.fd-navigation.fd-navigation--horizontal .fd-navigation__item--with-expander .fd-navigation__expander:active:focus{z-index:5;--fdNavigation_Expander_Border_Color:var(--fdNavigation_Link_Border_Color_Active);--fdNavigation_Expander_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Active)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item--with-expander .fd-navigation__expander:active:focus{--fdButton_Nested_Border_Radius:var(--fdNavigation_Link_Border_Radius)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item--with-expander.is-expanded .fd-navigation__expander,.fd-navigation.fd-navigation--horizontal .fd-navigation__item--with-expander[aria-expanded=true] .fd-navigation__expander{--fdButton_Nested_Background:var(--fdNavigation_Item_Selected_Background);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Selected);--fdNavigation_Expander_Border_Color:var(--fdNavigation_Link_Border_Color_Selected);--fdNavigation_Expander_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Selected)}.fd-navigation.fd-navigation--horizontal .fd-navigation__list{--fdNavigation_Item_Spacing:.5rem}.fd-navigation[class*=-compact],[class*=-compact] .fd-navigation:not([class*=-cozy]){--fdNavigation_Link_Min_Height:2rem;--fdNavigation_Controls_Width:2rem;--fdNavigation_Controls_Height:1.5625rem}.fd-navigation .fd-navigation__container--top{padding-left:var(--fdNavigation_Padding_X);padding-right:var(--fdNavigation_Padding_X);padding-bottom:.25rem}.fd-navigation__list{min-height:100%;height:auto}.fd-navigation--snapped .fd-navigation__list-item--home{position:relative}.fd-navigation--snapped .fd-navigation__container--top{overflow:visible!important;display:flex;flex-direction:column}.fd-navigation--snapped .fd-navigation__container--top .fd-navigation__list{flex-grow:1;height:auto;min-height:0}.fd-navigation--snapped .fd-navigation__container--top .fd-navigation__list--no-grow{flex-grow:0}.fd-navigation--snapped .fd-navigation__container--hidden-overflow{overflow:hidden!important}.fd-navigation--expanded .fd-navigation__list-item--home,.fd-navigation--popup .fd-navigation__list-item--home{z-index:21}.fd-navigation__list-container--custom-menu{box-shadow:var(--sapMenu_Shadow1)}.fd-navigation__list-item--spacer--hidden{display:none!important}.fd-navigation .fd-navigation__list-item--home-without-separator{margin-bottom:.125rem}.fd-navigation--snapped .fd-navigation__list-container.fd-navigation__list-container--menu{position:relative;transition:none}.fd-navigation__list-item:not(.fd-navigation__list-item--home){position:relative}.fd-navigation__list-container--menu>.fd-scrollbar{overflow:visible!important}.fd-navigation__list-container--menu .fd-navigation__list--parent-items .fd-navigation__list-item:before{content:\"\";position:absolute;top:0;bottom:0;left:-1rem;right:-1rem}.fd-navigation__list-container--menu .fd-navigation__list--parent-items .fd-navigation__list-item>.fd-navigation__list-container{display:none;top:-.5rem}.fd-navigation__list-container--menu .fd-navigation__list--parent-items .fd-navigation__list-item:hover>.fd-navigation__list-container,.fd-navigation__list-container--menu .fd-navigation__list--parent-items .fd-navigation__list-item:focus>.fd-navigation__list-container,.fd-navigation__list-container--menu .fd-navigation__list--parent-items .fd-navigation__list-item:focus-within>.fd-navigation__list-container{display:block}.fd-navigation__list-container--menu .fd-navigation__list--parent-items .fd-navigation__list-item .fd-navigation__list-container--submenu:before{content:\"\";position:absolute;top:-2rem;bottom:0;right:0;left:0}.fd-popover__body.fd-navigation__list-container{display:block}.fd-navigation__item .fd-popover-custom{max-width:none}.fd-navigation__item.fd-navigation__item--title .fd-navigation__has-children-indicator{display:none}\n/*! Bundled license information:\n\nfundamental-styles/dist/navigation.css:\n (*!\n * Fundamental Library Styles v0.40.1\n * Copyright (c) 2025 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *)\n*/\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NavigationListItemDirective, selector: "[fdbNavigationListItem]", inputs: ["item"], exportAs: ["fdbListItem"] }, { kind: "component", type: NavigationContentStartComponent, selector: "fdb-navigation-content-start", inputs: ["contentProjected"] }, { kind: "component", type: NavigationContentEndComponent, selector: "fdb-navigation-content-end", inputs: ["contentProjected"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
2289
|
+
], queries: [{ propertyName: "_navigationItemRef", first: true, predicate: NavigationListItemRefDirective, descendants: true }, { propertyName: "_navigationItems", predicate: FdbNavigationListItem, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: ["@charset \"UTF-8\";.fd-navigation{--fdNavigation_Height:100%;--fdNavigation_Padding_X:.5rem;--fdNavigation_Padding_Top:.5rem;--fdNavigation_Item_Spacing:.25rem;--fdNavigation_Padding_Bottom:.5rem;--fdNavigation_Horizontal_Height:3.5rem;--fdNavigation_Expander_Position_Right:.5rem;--fdNavigation_Border_Radius:0;--fdNavigation_Box_Shadow:var(--sapContent_Shadow0);--fdNavigation_Link_Icon_Size:1rem;--fdNavigation_Link_Icon_Color:var(--sapList_TextColor);--fdNavigation_Link_Min_Height:var(--sapElement_LineHeight);--fdNavigation_Link_Font_Family:var(--sapFontBoldFamily);--fdNavigation_Link_Spacing:.5rem;--fdNavigation_Link_Text_Color:inherit;--fdNavigation_Link_Shift_Left:1rem;--fdNavigation_Link_Padding_Left:var(--fdNavigation_Link_Shift_Left);--fdNavigation_Link_Padding_Right:.375rem;--fdNavigation_Link_Font_Size:var(--sapFontSize);--fdNavigation_Link_Selection_Indicator_Size:.5rem;--fdNavigation_Link_Has_Child_Indicator_Display:flex;--fdNavigation_Link_Selection_Indicator_Display:none;--fdNavigation_Link_Back_Indicator_Icon:\"\\e1ee\";--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ed\";--fdNavigation_Link_External_Link_Indicator_Icon:\"\\e04c\";--fdNavigation_Link_Background:var(--sapNavigation_Background);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Normal);--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Bottom_Color_Normal);--fdNavigation_Item_Group_Display:flex;--fdNavigation_Item_Title_Display:none;--fdNavigation_Item_Text_Display:inline-block;--fdNavigation_Item_Selected_Background:var(--sapList_SelectionBackgroundColor);--fdNavigation_List_Container_Display:none;--fdNavigation_List_Parent_Items_Display:none;--fdNavigation_Controls_Width:2.25rem;--fdNavigation_Controls_Height:2.25rem;--fdNavigation_Quick_Create_Border_Color:var(--sapButton_BorderColor);border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-navigation:after,.fd-navigation:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-navigation__container{position:relative}.fd-navigation__container--top{height:100%;overflow:scroll;padding-inline:var(--fdNavigation_Padding_X);position:relative;-webkit-padding-after:.25rem;padding-block-end:.25rem}.fd-navigation__container--bottom{padding-inline:var(--fdNavigation_Padding_X)}.fd-navigation__container--bottom:before{background:var(--sapToolbar_SeparatorColor);content:\"\";display:inline-block;height:.0625rem;margin-block:.5625rem;width:100%}.fd-navigation__list-container{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:var(--fdNavigation_List_Container_Display);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-navigation__list-container:after,.fd-navigation__list-container:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-navigation__list-wrapper{width:100%}.fd-navigation__list{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:var(--fdNavigation_Item_Spacing);height:100%;list-style-type:none;position:relative}.fd-navigation__list:after,.fd-navigation__list:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-navigation__list--parent-items{display:var(--fdNavigation_List_Parent_Items_Display)}.fd-navigation__list-item{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:var(--fdNavigation_Item_Spacing)}.fd-navigation__list-item:after,.fd-navigation__list-item:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-navigation__list-item--spacer{background:transparent;height:100%;min-height:.25rem}.fd-navigation__list-item--separator{background:transparent;height:.625rem;max-height:.625rem;min-height:.625rem}.fd-navigation__list-item--overflow{position:relative}.fd-navigation__link{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;padding-inline:var(--fdNavigation_Link_Padding_Left) var(--fdNavigation_Link_Padding_Right);-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:var(--fdNavigation_Link_Background);border-radius:var(--fdNavigation_Link_Border_Radius);color:var(--fdNavigation_Link_Text_Color);cursor:pointer;gap:var(--fdNavigation_Link_Spacing);min-height:var(--fdNavigation_Link_Min_Height);overflow:hidden;position:relative;text-align:start;text-decoration:none;-webkit-transition:var(--fdNavigation_Link_Transition);transition:var(--fdNavigation_Link_Transition);width:100%}.fd-navigation__link:after,.fd-navigation__link:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-navigation__link:before{border-bottom:.0625rem solid var(--fdNavigation_Link_Border_Color);border:.0625rem solid var(--fdNavigation_Link_Border_Color);border-bottom-color:var(--fdNavigation_Link_Border_Bottom_Color);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}[dir=rtl] .fd-navigation__link:before{left:auto;right:0}.fd-navigation__link.is-hover,.fd-navigation__link:hover{--fdNavigation_Link_Background:var(--sapList_Hover_Background);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Hover);--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Hover)}.fd-navigation__link.is-active,.fd-navigation__link.is-active.is-focus,.fd-navigation__link.is-active:focus,.fd-navigation__link:active,.fd-navigation__link:active.is-focus,.fd-navigation__link:active:focus{--fdNavigation_Link_Background:var(--sapList_Active_Background);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Active);--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Active)}.fd-navigation__link.is-active.is-focus,.fd-navigation__link.is-active:focus,.fd-navigation__link:active.is-focus,.fd-navigation__link:active:focus{outline:none;z-index:5}.fd-navigation__link.is-focus,.fd-navigation__link:focus{z-index:5;--fdNavigation_Link_Border_Color:transparent;--fdNavigation_Link_Border_Bottom_Color:transparent;--fdNavigation_Link_Background:var(--sapList_Background);outline:var(--sapContent_FocusStyle) var(--sapContent_FocusWidth) var(--sapContent_FocusColor);outline-offset:-.125rem}.fd-navigation__link.is-focus.is-hover,.fd-navigation__link.is-focus:hover,.fd-navigation__link:focus.is-hover,.fd-navigation__link:focus:hover{--fdNavigation_Link_Background:var(--sapList_Hover_Background);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Hover);--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Hover)}.fd-navigation__link:focus-visible{outline-offset:-.125rem}.fd-navigation__link.is-disabled,.fd-navigation__link:disabled,.fd-navigation__link[aria-disabled=true]{opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-navigation__item{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-radius:var(--fdNavigation_Link_Border_Radius);height:100%;position:relative}.fd-navigation__item:after,.fd-navigation__item:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-navigation__item.is-expanded .fd-navigation__has-children-indicator,.fd-navigation__item.is-expanded .fd-navigation__has-children-indicator[dir=rtl],.fd-navigation__item[aria-expanded=true] .fd-navigation__has-children-indicator,.fd-navigation__item[aria-expanded=true] .fd-navigation__has-children-indicator[dir=rtl],[dir=rtl] .fd-navigation__item.is-expanded .fd-navigation__has-children-indicator,[dir=rtl] .fd-navigation__item[aria-expanded=true] .fd-navigation__has-children-indicator{--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ef\"}.fd-navigation__item.is-expanded+.fd-navigation__list-container,.fd-navigation__item[aria-expanded=true]+.fd-navigation__list-container{--fdNavigation_List_Container_Display:flex}.fd-navigation__item.is-expanded+.fd-navigation__list--parent-items,.fd-navigation__item[aria-expanded=true]+.fd-navigation__list--parent-items{--fdNavigation_List_Parent_Items_Display:flex}.fd-navigation__item.is-selected,.fd-navigation__item[aria-selected=true]{--fdNavigation_Link_Selection_Indicator_Display:inline-block;--fdNavigation_Link_Background:var(--sapList_SelectionBackgroundColor);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Selected);--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Selected)}.fd-navigation__item.is-selected .fd-navigation__link.is-focus,.fd-navigation__item.is-selected .fd-navigation__link:focus,.fd-navigation__item[aria-selected=true] .fd-navigation__link.is-focus,.fd-navigation__item[aria-selected=true] .fd-navigation__link:focus{z-index:5;--fdNavigation_Link_Background:var(--sapList_SelectionBackgroundColor);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Selected);--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Selected)}.fd-navigation__item.is-selected .fd-navigation__link.is-hover,.fd-navigation__item.is-selected .fd-navigation__link:hover,.fd-navigation__item[aria-selected=true] .fd-navigation__link.is-hover,.fd-navigation__item[aria-selected=true] .fd-navigation__link:hover{--fdNavigation_Link_Background:var(--sapList_Hover_SelectionBackground);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Selected);--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Selected)}.fd-navigation__item--child .fd-navigation__link{--fdNavigation_Link_Font_Family:var(--sapFontFamily);--fdNavigation_Link_Padding_Left:2.5rem}.fd-navigation__item--group{display:var(--fdNavigation_Item_Group_Display)}.fd-navigation__item--group .fd-navigation__link{--fdNavigation_Link_Text_Color:var(--sapContent_LabelColor);--fdNavigation_Link_Font_Family:var(--sapFontFamily);--fdNavigation_Link_Font_Size:var(--sapFontSize)}.fd-navigation__item--title{height:auto;-webkit-margin-after:var(--fdNavigation_Item_Title_Margin_Bottom,0);display:var(--fdNavigation_Item_Title_Display);margin-block-end:var(--fdNavigation_Item_Title_Margin_Bottom,0)}.fd-navigation__item--title .fd-navigation__text{font-weight:700;--fdNavigation_Item_Title_Display:block}.fd-navigation__item--title .fd-navigation__icon[class*=sap-icon]{display:none}.fd-navigation__item--menu.is-expanded,.fd-navigation__item--menu[aria-expanded=true]{--fdNavigation_Link_Background:var(--sapNavigation_Active_Background);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Active);--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Active)}.fd-navigation__item--menu.is-expanded .fd-navigation__has-children-indicator,.fd-navigation__item--menu[aria-expanded=true] .fd-navigation__has-children-indicator{--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ed\"}.fd-navigation__item--menu.is-expanded .fd-navigation__has-children-indicator[dir=rtl],.fd-navigation__item--menu[aria-expanded=true] .fd-navigation__has-children-indicator[dir=rtl],[dir=rtl] .fd-navigation__item--menu.is-expanded .fd-navigation__has-children-indicator,[dir=rtl] .fd-navigation__item--menu[aria-expanded=true] .fd-navigation__has-children-indicator{--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ee\"}.fd-navigation__item--menu.fd-navigation__item--child .fd-navigation__link{--fdNavigation_Link_Padding_Left:var(--fdNavigation_Link_Shift_Left)}.fd-navigation__item--with-expander .fd-navigation__link{--fdNavigation_Link_Padding_Right:calc(var(--fdNavigation_Controls_Width) + 1.3125rem)}.fd-navigation__item--with-expander .fd-navigation__has-children-indicator{--fdNavigation_Link_Has_Child_Indicator_Display:flex;cursor:pointer;position:absolute;right:var(--fdNavigation_Link_Has_Child_Indicator_Pos_Right,.375rem);z-index:20}.fd-navigation__item--with-expander .fd-navigation__has-children-indicator:after{background:var(--sapTextColor);content:\"\";display:var(--fdNavigation_Link_Has_Child_Indicator_Div_Display,inline-block);height:var(--sapElement_Condensed_Height);left:-.25rem;position:absolute;width:.0625rem}.fd-navigation__item--with-expander.is-hover .fd-navigation__link,.fd-navigation__item--with-expander:hover .fd-navigation__link{--fdNavigation_Link_Background:var(--sapList_Hover_Background);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Hover);--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Hover)}.fd-navigation__item--with-expander.is-active .fd-navigation__link,.fd-navigation__item--with-expander:active .fd-navigation__link{--fdNavigation_Link_Background:var(--sapList_Active_Background);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Active);--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Active)}.fd-navigation__item--with-expander.is-selected.is-hover .fd-navigation__link,.fd-navigation__item--with-expander.is-selected:hover .fd-navigation__link,.fd-navigation__item--with-expander[aria-selected=true].is-hover .fd-navigation__link,.fd-navigation__item--with-expander[aria-selected=true]:hover .fd-navigation__link{--fdNavigation_Link_Background:var(--sapList_Hover_SelectionBackground)}.fd-navigation__item--create{--fdNavigation_Link_Text_Color:var(--sapButton_TextColor);--fdNavigation_Link_Icon_Color:var(--sapButton_TextColor)}.fd-navigation__item--create .fd-navigation__link{border:var(--sapButton_BorderWidth) solid var(--fdNavigation_Quick_Create_Border_Color)}.fd-navigation__item--create .fd-navigation__link.is-active,.fd-navigation__item--create .fd-navigation__link:active{--fdNavigation_Quick_Create_Border_Color:var(--sapButton_Active_BorderColor);--fdNavigation_Link_Background:var(--sapButton_Active_Background)}.fd-navigation__icon{height:var(--fdNavigation_Link_Icon_Size);max-height:var(--fdNavigation_Link_Icon_Size);max-width:var(--fdNavigation_Link_Icon_Size);min-height:var(--fdNavigation_Link_Icon_Size);min-width:var(--fdNavigation_Link_Icon_Size);width:var(--fdNavigation_Link_Icon_Size)}.fd-navigation__icon [class*=sap-icon],.fd-navigation__icon[class*=sap-icon]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--fdNavigation_Link_Icon_Color);font-family:var(--sapFontBoldFamily);font-size:var(--fdNavigation_Link_Icon_Size)}.fd-navigation__text{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--fdNavigation_Link_Text_Color);display:var(--fdNavigation_Item_Text_Display);font-family:var(--sapFontFamily);font-family:var(--fdNavigation_Link_Font_Family);font-size:var(--sapFontSize);font-size:var(--fdNavigation_Link_Font_Size);font-weight:400;forced-color-adjust:none;line-height:normal;line-height:1rem;margin-block:0;margin-inline:0;overflow:hidden;padding-block:0;padding-inline:0;text-overflow:ellipsis;vertical-align:baseline;white-space:nowrap;width:100%}.fd-navigation__text:after,.fd-navigation__text:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-navigation__selection-indicator{background:var(--sapList_SelectionBorderColor);border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:var(--fdNavigation_Link_Selection_Indicator_Display);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:100%;left:0;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;position:absolute;top:0;width:.188rem}.fd-navigation__selection-indicator:after,.fd-navigation__selection-indicator:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-navigation__selection-indicator[dir=rtl],[dir=rtl] .fd-navigation__selection-indicator{left:auto;right:0}.fd-navigation__has-children-indicator{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--sapList_TextColor);display:var(--fdNavigation_Link_Has_Child_Indicator_Display);height:var(--fdNavigation_Controls_Height);max-height:var(--fdNavigation_Controls_Height);max-width:var(--fdNavigation_Controls_Width);min-height:var(--fdNavigation_Controls_Height);min-width:var(--fdNavigation_Controls_Width);-webkit-transition:opacity .3s ease-in-out;transition:opacity .3s ease-in-out;width:var(--fdNavigation_Controls_Width)}.fd-navigation__has-children-indicator:after,.fd-navigation__has-children-indicator:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-navigation__has-children-indicator:before{content:var(--fdNavigation_Link_Has_Child_Indicator_Icon);font-family:SAP-icons;font-size:1rem}[dir=rtl] .fd-navigation__has-children-indicator{--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ee\"}.fd-navigation__external-link-indicator{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--sapList_TextColor);display:var(--fdNavigation_Link_External_Link_Indicator_Display,flex);height:var(--fdNavigation_Controls_Height);max-height:var(--fdNavigation_Controls_Height);max-width:var(--fdNavigation_Controls_Width);min-height:var(--fdNavigation_Controls_Height);min-width:var(--fdNavigation_Controls_Width);width:var(--fdNavigation_Controls_Width)}.fd-navigation__external-link-indicator:after,.fd-navigation__external-link-indicator:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-navigation__external-link-indicator:before{content:var(--fdNavigation_Link_External_Link_Indicator_Icon);font-family:SAP-icons;font-size:1rem}.fd-navigation__external-link-indicator[dir=rtl],[dir=rtl] .fd-navigation__external-link-indicator{--fdNavigation_Link_External_Link_Indicator_Icon:\"\\e04d\"}.fd-navigation__back-indicator{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--sapContent_LabelColor);height:.75rem;max-height:.75rem;max-width:.75rem;min-height:.75rem;min-width:.75rem;width:.75rem}.fd-navigation__back-indicator:after,.fd-navigation__back-indicator:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-navigation__back-indicator:before{content:var(--fdNavigation_Link_Back_Indicator_Icon);font-family:SAP-icons;font-size:.75rem}.fd-navigation__back-indicator[dir=rtl],[dir=rtl] .fd-navigation__back-indicator{--fdNavigation_Link_Back_Indicator_Icon:\"\\e1ed\"}.fd-navigation--snapped .fd-navigation__container--bottom,.fd-navigation--snapped .fd-navigation__container--top{overflow:visible}.fd-navigation--snapped .fd-navigation__list-wrapper{padding-block:.5rem;padding-inline:.5rem}.fd-navigation--snapped .fd-navigation__list-container{background:var(--sapGroup_ContentBackground);border:none;border-radius:var(--sapPopover_BorderCornerRadius);-webkit-box-shadow:var(--sapContent_Shadow2);box-shadow:var(--sapContent_Shadow2)}.fd-navigation--snapped .fd-navigation__list-container.fd-navigation__list-container--menu{left:calc(100% + .1875rem);padding-block:.5rem;padding-inline:.5rem;position:absolute;top:0}.fd-navigation--snapped .fd-navigation__list-container.fd-navigation__list-container--menu[dir=rtl],[dir=rtl] .fd-navigation--snapped .fd-navigation__list-container.fd-navigation__list-container--menu{left:auto;right:calc(100% + .1875rem)}.fd-navigation--snapped .fd-navigation__list-container.fd-navigation__list-container--menu .fd-navigation__list-wrapper{padding-block:0;padding-inline:0}.fd-navigation--snapped .fd-navigation__list-container.fd-navigation__list-container--menu .fd-navigation__list{--fdNavigation_Item_Spacing:.5rem;-webkit-box-shadow:none;box-shadow:none}.fd-navigation--snapped .fd-navigation__list-container.fd-navigation__list-container--menu .fd-navigation__item.is-expanded .fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-container.fd-navigation__list-container--menu .fd-navigation__item[aria-expanded=true] .fd-navigation__has-children-indicator{--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ed\"}[dir=rtl] .fd-navigation--snapped .fd-navigation__list-container.fd-navigation__list-container--menu .fd-navigation__item .fd-navigation__has-children-indicator{--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ee\"}.fd-navigation--snapped .fd-navigation__list-container.fd-navigation__list-container--submenu{left:calc(100% + .1875rem);margin-block:0;margin-inline:0;padding-block:.5rem;padding-inline:.5rem;top:calc(var(--fdNavigation_Link_Min_Height) - .5rem)}.fd-navigation--snapped .fd-navigation__list-container.fd-navigation__list-container--submenu[dir=rtl],[dir=rtl] .fd-navigation--snapped .fd-navigation__list-container.fd-navigation__list-container--submenu{left:auto;right:calc(100% + .1875rem)}.fd-navigation--snapped .fd-navigation__list-container .fd-navigation__list--parent-items{--fdNavigation_List_Parent_Items_Display:flex}.fd-navigation--snapped .fd-navigation__item--group{--fdNavigation_Item_Group_Display:none}.fd-navigation--snapped .fd-navigation__item--child .fd-navigation__link{--fdNavigation_Link_Padding_Left:1rem}.fd-navigation--snapped .fd-navigation__list--child-items{--fdNavigation_Item_Spacing:.5rem;height:auto}.fd-navigation--snapped .fd-navigation__item--title{--fdNavigation_Item_Title_Display:block;--fdNavigation_Item_Title_Margin_Bottom:.5rem}.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title).is-expanded .fd-navigation__link,.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title)[aria-expanded=true] .fd-navigation__link{--fdNavigation_Link_Background:var(--sapList_Active_Background);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Active)}.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title).is-expanded.is-selected .fd-navigation__link,.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title).is-expanded[aria-selected=true] .fd-navigation__link,.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title)[aria-expanded=true].is-selected .fd-navigation__link,.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title)[aria-expanded=true][aria-selected=true] .fd-navigation__link{--fdNavigation_Link_Selection_Indicator_Display:inline-block;--fdNavigation_Link_Background:var(--sapList_SelectionBackgroundColor);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Selected)}.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title).is-expanded.is-selected.is-hover .fd-navigation__link,.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title).is-expanded.is-selected:hover .fd-navigation__link,.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title).is-expanded[aria-selected=true].is-hover .fd-navigation__link,.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title).is-expanded[aria-selected=true]:hover .fd-navigation__link,.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title)[aria-expanded=true].is-selected.is-hover .fd-navigation__link,.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title)[aria-expanded=true].is-selected:hover .fd-navigation__link,.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title)[aria-expanded=true][aria-selected=true].is-hover .fd-navigation__link,.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title)[aria-expanded=true][aria-selected=true]:hover .fd-navigation__link{--fdNavigation_Link_Background:var(--sapList_Hover_SelectionBackground)}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link{--fdNavigation_Link_Spacing:0}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link .fd-navigation__text{--fdNavigation_Item_Text_Display:none}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link .fd-navigation__has-children-indicator{--fdNavigation_Controls_Width:1rem;--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ed\"}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link:has(.fd-navigation__external-link-indicator){--fdNavigation_Link_Padding_Right:0;--fdNavigation_Link_External_Link_Indicator_Display:none}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link.is-focus,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link.is-hover,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link:focus,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link:hover{--fdNavigation_Link_Padding_Right:1rem;--fdNavigation_Link_Spacing:.5rem;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link.is-focus:has(.fd-navigation__has-children-indicator),.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link.is-hover:has(.fd-navigation__has-children-indicator),.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link:focus:has(.fd-navigation__has-children-indicator),.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link:hover:has(.fd-navigation__has-children-indicator){--fdNavigation_Link_Padding_Right:.375rem}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link.is-focus:has(.fd-navigation__has-children-indicator) .fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link.is-hover:has(.fd-navigation__has-children-indicator) .fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link:focus:has(.fd-navigation__has-children-indicator) .fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link:hover:has(.fd-navigation__has-children-indicator) .fd-navigation__has-children-indicator{--fdNavigation_Controls_Width:2.25rem}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link.is-focus:has(.fd-navigation__external-link-indicator),.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link.is-hover:has(.fd-navigation__external-link-indicator),.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link:focus:has(.fd-navigation__external-link-indicator),.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link:hover:has(.fd-navigation__external-link-indicator){--fdNavigation_Link_Padding_Right:.375rem;--fdNavigation_Link_External_Link_Indicator_Display:flex}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link.is-focus .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link.is-hover .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link:focus .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link:hover .fd-navigation__text{--fdNavigation_Item_Text_Display:inline-block}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander>.fd-navigation__link{--fdNavigation_Link_Padding_Right:0}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander>.fd-navigation__link+.fd-navigation__has-children-indicator{--fdNavigation_Controls_Width:1rem;--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ed\";--fdNavigation_Link_Has_Child_Indicator_Pos_Right:0;--fdNavigation_Link_Has_Child_Indicator_Div_Display:none}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander.is-hover,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander:focus-within,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander:hover{min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander.is-hover>.fd-navigation__link,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander:focus-within>.fd-navigation__link,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander:hover>.fd-navigation__link{--fdNavigation_Link_Spacing:.5rem;--fdNavigation_Link_Padding_Right:calc(var(--fdNavigation_Controls_Width) + 1.3125rem)}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander.is-hover>.fd-navigation__link .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander:focus-within>.fd-navigation__link .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander:hover>.fd-navigation__link .fd-navigation__text{--fdNavigation_Item_Text_Display:inline-block}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander.is-hover>.fd-navigation__link+.fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander:focus-within>.fd-navigation__link+.fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander:hover>.fd-navigation__link+.fd-navigation__has-children-indicator{--fdNavigation_Controls_Width:2.25rem;--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ed\";--fdNavigation_Link_Has_Child_Indicator_Pos_Right:.375rem;--fdNavigation_Link_Has_Child_Indicator_Div_Display:inline-block}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander.is-expanded.is-hover>.fd-navigation__link,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander.is-expanded:focus-within>.fd-navigation__link,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander.is-expanded:hover>.fd-navigation__link,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander[aria-expanded=true].is-hover>.fd-navigation__link,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander[aria-expanded=true]:focus-within>.fd-navigation__link,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander[aria-expanded=true]:hover>.fd-navigation__link{--fdNavigation_Link_Spacing:0;--fdNavigation_Link_Padding_Right:0}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander.is-expanded.is-hover>.fd-navigation__link .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander.is-expanded:focus-within>.fd-navigation__link .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander.is-expanded:hover>.fd-navigation__link .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander[aria-expanded=true].is-hover>.fd-navigation__link .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander[aria-expanded=true]:focus-within>.fd-navigation__link .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander[aria-expanded=true]:hover>.fd-navigation__link .fd-navigation__text{--fdNavigation_Item_Text_Display:none}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander.is-expanded.is-hover>.fd-navigation__link+.fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander.is-expanded:focus-within>.fd-navigation__link+.fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander.is-expanded:hover>.fd-navigation__link+.fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander[aria-expanded=true].is-hover>.fd-navigation__link+.fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander[aria-expanded=true]:focus-within>.fd-navigation__link+.fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander[aria-expanded=true]:hover>.fd-navigation__link+.fd-navigation__has-children-indicator{--fdNavigation_Controls_Width:1rem;--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ed\";--fdNavigation_Link_Has_Child_Indicator_Pos_Right:0;--fdNavigation_Link_Has_Child_Indicator_Div_Display:none}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link .fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link .fd-navigation__has-children-indicator{--fdNavigation_Controls_Width:1rem;--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ed\"}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link.is-focus,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link.is-hover,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link:focus,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link:hover,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link.is-focus,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link.is-hover,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link:focus,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link:hover{--fdNavigation_Link_Padding_Right:0}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link.is-focus:has(.fd-navigation__has-children-indicator),.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link.is-hover:has(.fd-navigation__has-children-indicator),.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link:focus:has(.fd-navigation__has-children-indicator),.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link:hover:has(.fd-navigation__has-children-indicator),.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link.is-focus:has(.fd-navigation__has-children-indicator),.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link.is-hover:has(.fd-navigation__has-children-indicator),.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link:focus:has(.fd-navigation__has-children-indicator),.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link:hover:has(.fd-navigation__has-children-indicator){--fdNavigation_Link_Spacing:0;--fdNavigation_Link_Padding_Right:0}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link.is-focus:has(.fd-navigation__has-children-indicator) .fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link.is-hover:has(.fd-navigation__has-children-indicator) .fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link:focus:has(.fd-navigation__has-children-indicator) .fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link:hover:has(.fd-navigation__has-children-indicator) .fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link.is-focus:has(.fd-navigation__has-children-indicator) .fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link.is-hover:has(.fd-navigation__has-children-indicator) .fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link:focus:has(.fd-navigation__has-children-indicator) .fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link:hover:has(.fd-navigation__has-children-indicator) .fd-navigation__has-children-indicator{--fdNavigation_Controls_Width:1rem}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link.is-focus .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link.is-hover .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link:focus .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link:hover .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link.is-focus .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link.is-hover .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link:focus .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link:hover .fd-navigation__text{--fdNavigation_Item_Text_Display:none}.fd-navigation.fd-navigation--vertical{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-ms-flex-pack:justify;background:var(--sapList_Background);border-radius:var(--fdNavigation_Border_Radius);-webkit-box-shadow:var(--fdNavigation_Box_Shadow);box-shadow:var(--fdNavigation_Box_Shadow);height:var(--fdNavigation_Height);justify-content:space-between;min-width:16rem;padding-block:var(--fdNavigation_Padding_Top) var(--fdNavigation_Padding_Bottom)}.fd-navigation.fd-navigation--vertical.fd-navigation--popup{--fdNavigation_Height:auto;--fdNavigation_Padding_Top:.5rem;--fdNavigation_Border_Radius:.5rem;--fdNavigation_Box_Shadow:var(--sapNavigation_Shadow2)}.fd-navigation.fd-navigation--vertical.fd-navigation--popup .fd-navigation__container--bottom,.fd-navigation.fd-navigation--vertical.fd-navigation--popup .fd-navigation__container--top{--fdNavigation_Padding_X:.5rem}.fd-navigation.fd-navigation--vertical.fd-navigation--snapped{max-width:4rem;min-width:4rem;width:4rem}.fd-navigation.fd-navigation--horizontal{background:var(--sapNavigation_Background);height:var(--fdNavigation_Horizontal_Height);padding-block:calc((var(--fdNavigation_Horizontal_Height) - var(--fdNavigation_Link_Min_Height))*.5);padding-inline:1.5rem;width:100%}.fd-navigation.fd-navigation--horizontal .fd-navigation__link{--fdNavigation_Link_Spacing:.5rem;--fdNavigation_Link_Padding_Right:1rem}.fd-navigation.fd-navigation--horizontal .fd-navigation__link:has(.fd-navigation__has-children-indicator){--fdNavigation_Link_Padding_Right:.375rem}.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow).is-selected,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow)[aria-selected=true]{--fdNavigation_Link_Background:var(--fdNavigation_Item_Selected_Background);--fdNavigation_Link_Selection_Indicator_Display:inline-block}.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow).is-selected .fd-navigation__link.is-focus,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow).is-selected .fd-navigation__link:focus,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow)[aria-selected=true] .fd-navigation__link.is-focus,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow)[aria-selected=true] .fd-navigation__link:focus{z-index:5;--fdNavigation_Link_Background:var(--fdNavigation_Item_Selected_Background)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow).is-selected .fd-navigation__link.is-hover,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow).is-selected .fd-navigation__link:hover,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow)[aria-selected=true] .fd-navigation__link.is-hover,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow)[aria-selected=true] .fd-navigation__link:hover{--fdNavigation_Link_Background:var(--fdNavigation_Item_Selected_Background)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow).is-selected.is-expanded .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow).is-selected[aria-expanded=true] .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow)[aria-selected=true].is-expanded .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow)[aria-selected=true][aria-expanded=true] .fd-navigation__link{--fdNavigation_Link_Selection_Indicator_Display:inline-block;--fdNavigation_Link_Background:var(--fdNavigation_Item_Selected_Background)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow).is-selected.is-hover .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow).is-selected:hover .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow)[aria-selected=true].is-hover .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow)[aria-selected=true]:hover .fd-navigation__link{--fdNavigation_Link_Background:var(--sapList_Hover_SelectionBackground)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow) .fd-navigation__link.is-hover:before,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow) .fd-navigation__link:before,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow) .fd-navigation__link:hover:before,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow).is-expanded .fd-navigation__link:before,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow)[aria-expanded=true] .fd-navigation__link:before{--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color)}.fd-navigation.fd-navigation--horizontal .fd-navigation__list:not(.fd-navigation__list--parent-items):not(.fd-navigation__list--child-items){--fdNavigation_Item_Spacing:.75rem;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.fd-navigation.fd-navigation--horizontal .fd-navigation__list:not(.fd-navigation__list--parent-items):not(.fd-navigation__list--child-items) .fd-navigation__has-children-indicator{--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e287\"}.fd-navigation.fd-navigation--horizontal .fd-navigation__list-item--spacer{height:.75rem;width:100%}.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu){--fdPopover_Offset: calc(100% + .3875rem) ;background:var(--sapGroup_ContentBackground);border:none;border-radius:.75rem;-webkit-box-shadow:var(--sapMenu_Shadow2);box-shadow:var(--sapMenu_Shadow2);padding-block:.05rem;padding-inline:.05rem}.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu{-webkit-box-shadow:var(--sapMenu_Shadow1);box-shadow:var(--sapMenu_Shadow1);padding-block:.5rem;padding-inline:.5rem;position:absolute;right:-.5rem;top:calc(100% + .3875rem)}.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu[dir=rtl],[dir=rtl] .fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu{left:-.5rem;right:auto}.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu .fd-navigation__list-wrapper{padding-block:0;padding-inline:0}.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu .fd-navigation__list{--fdNavigation_Item_Spacing:.25rem;-webkit-box-shadow:none;box-shadow:none}.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu .fd-navigation__item.is-expanded .fd-navigation__has-children-indicator,.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu .fd-navigation__item[aria-expanded=true] .fd-navigation__has-children-indicator{--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ed\"}[dir=rtl] .fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu .fd-navigation__item.is-expanded .fd-navigation__has-children-indicator,[dir=rtl] .fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu .fd-navigation__item[aria-expanded=true] .fd-navigation__has-children-indicator{--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ee\"}.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu .fd-navigation__item.fd-navigation__item--overflow .fd-navigation__has-children-indicator{display:none}.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child)>.fd-navigation__link.is-hover,.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child)>.fd-navigation__link:hover{width:100%}.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child)>.fd-navigation__link.is-hover .fd-navigation__text,.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child)>.fd-navigation__link:hover .fd-navigation__text{--fdNavigation_Item_Text_Display:inline-block}.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--submenu{-webkit-box-shadow:var(--sapMenu_Shadow1);box-shadow:var(--sapMenu_Shadow1);left:calc(-100% - .1875rem);margin-block:0;margin-inline:0;padding-block:.5rem;padding-inline:.5rem;top:calc(var(--fdNavigation_Link_Min_Height) - .5rem)}.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--submenu[dir=rtl],[dir=rtl] .fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--submenu{left:auto;right:calc(-100% - .1875rem)}.fd-navigation.fd-navigation--horizontal .fd-navigation__list-wrapper{padding-block:.7rem;padding-inline:.7rem}.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow).is-expanded .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow)[aria-expanded=true] .fd-navigation__link{--fdNavigation_Link_Background:var(--sapMenu_Active_Background);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Active);--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Active)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow).is-expanded .fd-navigation__link.is-focus,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow).is-expanded .fd-navigation__link:focus,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow)[aria-expanded=true] .fd-navigation__link.is-focus,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow)[aria-expanded=true] .fd-navigation__link:focus{z-index:5;--fdNavigation_Link_Background:var(--sapMenu_Active_Background);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Active);--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Active)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow).is-expanded.is-selected .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow).is-expanded[aria-selected=true] .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow)[aria-expanded=true].is-selected .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow)[aria-expanded=true][aria-selected=true] .fd-navigation__link{--fdNavigation_Link_Selection_Indicator_Display:inline-block;--fdNavigation_Link_Background:var(--fdNavigation_Item_Selected_Background);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Selected);--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Selected)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow).is-expanded.is-selected.is-hover .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow).is-expanded.is-selected:hover .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow).is-expanded[aria-selected=true].is-hover .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow).is-expanded[aria-selected=true]:hover .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow)[aria-expanded=true].is-selected.is-hover .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow)[aria-expanded=true].is-selected:hover .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow)[aria-expanded=true][aria-selected=true].is-hover .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow)[aria-expanded=true][aria-selected=true]:hover .fd-navigation__link{--fdNavigation_Link_Background:var(--sapList_Hover_SelectionBackground)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item.fd-navigation__item--with-expander .fd-navigation__link{--fdNavigation_Link_Padding_Right:calc(1.6875rem + var(--fdNavigation_Controls_Width))}.fd-navigation.fd-navigation--horizontal .fd-navigation__item--child:not(.fd-navigation__item--submenu-child) .fd-navigation__link{--fdNavigation_Link_Padding_Left:var(--fdNavigation_Link_Shift_Left)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item--with-expander .fd-navigation__expander{border:none;margin-block:0;margin-inline:.0625rem;outline-offset:-.0625rem;-webkit-transition:var(--fdNavigation_Link_Transition);transition:var(--fdNavigation_Link_Transition);--fdButton_Nested_Border_Radius:var(--fdNavigation_Link_Border_Radius)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item--with-expander .fd-navigation__expander:after{border-bottom:.0625rem solid var(--fdNavigation_Expander_Border_Color);border:.0625rem solid var(--fdNavigation_Expander_Border_Color);border-bottom-color:var(--fdNavigation_Expander_Border_Bottom_Color);content:\"\";inset:0;position:absolute}.fd-navigation.fd-navigation--horizontal .fd-navigation__item--with-expander .fd-navigation__expander.is-hover,.fd-navigation.fd-navigation--horizontal .fd-navigation__item--with-expander .fd-navigation__expander:hover{--fdButton_Nested_Background:var(--sapList_Hover_Background);--fdNavigation_Expander_Border_Color:var(--fdNavigation_Link_Border_Color_Hover);--fdNavigation_Expander_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Hover)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item--with-expander .fd-navigation__expander.is-active,.fd-navigation.fd-navigation--horizontal .fd-navigation__item--with-expander .fd-navigation__expander:active{--fdButton_Nested_Background:var(--sapList_Active_Background);--fdNavigation_Expander_Border_Color:var(--fdNavigation_Link_Border_Color_Active);--fdNavigation_Expander_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Active)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item--with-expander .fd-navigation__expander.is-active.is-focus,.fd-navigation.fd-navigation--horizontal .fd-navigation__item--with-expander .fd-navigation__expander.is-active:focus,.fd-navigation.fd-navigation--horizontal .fd-navigation__item--with-expander .fd-navigation__expander:active.is-focus,.fd-navigation.fd-navigation--horizontal .fd-navigation__item--with-expander .fd-navigation__expander:active:focus{z-index:5;--fdNavigation_Expander_Border_Color:var(--fdNavigation_Link_Border_Color_Active);--fdNavigation_Expander_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Active)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item--with-expander .fd-navigation__expander:active:focus{--fdButton_Nested_Border_Radius:var(--fdNavigation_Link_Border_Radius)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item--with-expander.is-expanded .fd-navigation__expander,.fd-navigation.fd-navigation--horizontal .fd-navigation__item--with-expander[aria-expanded=true] .fd-navigation__expander{--fdButton_Nested_Background:var(--fdNavigation_Item_Selected_Background);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Selected);--fdNavigation_Expander_Border_Color:var(--fdNavigation_Link_Border_Color_Selected);--fdNavigation_Expander_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Selected)}.fd-navigation.fd-navigation--horizontal .fd-navigation__list{--fdNavigation_Item_Spacing:.5rem}.fd-navigation[class*=-compact],[class*=-compact] .fd-navigation:not([class*=-cozy]){--fdNavigation_Link_Min_Height:2rem;--fdNavigation_Controls_Width:2rem;--fdNavigation_Controls_Height:1.5625rem}.fd-navigation .fd-navigation__container--top{padding-left:var(--fdNavigation_Padding_X);padding-right:var(--fdNavigation_Padding_X);padding-bottom:.25rem}.fd-navigation__list{min-height:100%;height:auto}.fd-navigation--snapped .fd-navigation__list-item--home{position:relative}.fd-navigation--snapped .fd-navigation__container--top{overflow:visible!important;display:flex;flex-direction:column}.fd-navigation--snapped .fd-navigation__container--top .fd-navigation__list{flex-grow:1;height:auto;min-height:0}.fd-navigation--snapped .fd-navigation__container--top .fd-navigation__list--no-grow{flex-grow:0}.fd-navigation--snapped .fd-navigation__container--hidden-overflow{overflow:hidden!important}.fd-navigation--expanded .fd-navigation__list-item--home,.fd-navigation--popup .fd-navigation__list-item--home{z-index:21}.fd-navigation__list-container--custom-menu{box-shadow:var(--sapMenu_Shadow1)}.fd-navigation__item--disabled{opacity:.6;cursor:default}.fd-navigation__item--disabled .fd-navigation__link{pointer-events:none;-webkit-user-select:none;user-select:none}.fd-navigation__item--disabled .fd-navigation__has-children-indicator{pointer-events:none;cursor:default}.fd-navigation__item--disabled:hover{background:transparent}.fd-navigation__list-item--spacer--hidden{display:none!important}.fd-navigation .fd-navigation__list-item--home-without-separator{margin-bottom:.125rem}.fd-navigation--snapped .fd-navigation__list-container.fd-navigation__list-container--menu{position:relative;transition:none}.fd-navigation__list-item:not(.fd-navigation__list-item--home){position:relative}.fd-navigation__list-container--menu>.fd-scrollbar{overflow:visible!important}.fd-navigation__list-container--menu .fd-navigation__list--parent-items .fd-navigation__list-item:before{content:\"\";position:absolute;top:0;bottom:0;left:-1rem;right:-1rem}.fd-navigation__list-container--menu .fd-navigation__list--parent-items .fd-navigation__list-item>.fd-navigation__list-container{display:none;top:-.5rem}.fd-navigation__list-container--menu .fd-navigation__list--parent-items .fd-navigation__list-item:hover>.fd-navigation__list-container,.fd-navigation__list-container--menu .fd-navigation__list--parent-items .fd-navigation__list-item:focus>.fd-navigation__list-container,.fd-navigation__list-container--menu .fd-navigation__list--parent-items .fd-navigation__list-item:focus-within>.fd-navigation__list-container{display:block}.fd-navigation__list-container--menu .fd-navigation__list--parent-items .fd-navigation__list-item .fd-navigation__list-container--submenu:before{content:\"\";position:absolute;top:-2rem;bottom:0;right:0;left:0}.fd-popover__body.fd-navigation__list-container{display:block}.fd-navigation__item .fd-popover-custom{max-width:none}.fd-navigation__item.fd-navigation__item--title .fd-navigation__has-children-indicator{display:none}.fd-navigation__item .fd-navigation__icon,.fd-navigation__item .fd-navigation__text{font-family:var(--sapFontSemiboldDuplexFamily)}.fd-navigation__item.fd-navigation__item--child .fd-navigation__icon,.fd-navigation__item.fd-navigation__item--child .fd-navigation__text{font-family:var(--sapFontFamily)}.fd-navigation.fd-navigation--expanded{width:16rem;min-width:16rem;max-width:16rem}.fd-navigation.fd-navigation--expanded .fd-navigation__item:not(.fd-navigation__item--create) .fd-navigation__text{white-space:normal}.fd-popover__body.fd-navigation__list-container.fd-navigation__list-wrapper{max-width:40rem}.fd-navigation__text{margin-block:.5rem}.fd-navigation.fd-navigation--vertical.fd-navigation--popup{--fdNavigation_Border_Radius: 0;--fdNavigation_Box_Shadow: none;--fdNavigation_Height: 100%}.fd-navigation.is-overlay{position:absolute;top:0;left:0}.fd-navigation.fd-navigation--expanded.is-overlay{position:absolute;top:0;left:0;right:0;width:100%;min-width:100%;max-width:100%}.fd-navigation__item.fd-navigation__item--create .fd-navigation__link{border:none;box-shadow:0 0 0 var(--sapButton_BorderWidth) var(--fdNavigation_Quick_Create_Border_Color)}.fd-navigation--snapped .fd-navigation__list-container.fd-navigation__list-container--menu{left:auto}.fd-navigation__list.fd-menu__list.fd-navigation__list--parent-items .fd-navigation__list-item.fd-navigation__list-item--separator:is(:first-child,:last-child){height:0;min-height:0;max-height:0}.fd-navigation__container.fd-navigation__container--bottom:before{display:flex;margin-block:0 .25rem}[dir=rtl] .fd-navigation__item--with-expander .fd-navigation__has-children-indicator{left:var(--fdNavigation_Link_Has_Child_Indicator_Pos_Right, .375rem);right:auto}[dir=rtl] .fd-navigation__item--with-expander .fd-navigation__has-children-indicator:after{right:-.25rem;left:auto}[dir=rtl] .fd-navigation__has-children-indicator:before{--fdNavigation_Link_Has_Child_Indicator_Icon: \"\\e1ee\"}[dir=rtl] .fd-navigation--snapped .fd-navigation__list-container.fd-navigation__list-container--menu{right:auto}[dir=rtl] .fd-navigation__item[aria-expanded=true] .fd-navigation__has-children-indicator:before{--fdNavigation_Link_Has_Child_Indicator_Icon: \"\\e1ef\"}[dir=rtl] .fd-navigation.fd-navigation--snapped .fd-navigation__has-children-indicator:before{--fdNavigation_Link_Has_Child_Indicator_Icon: \"\\e1ee\"}\n/*! Bundled license information:\n\nfundamental-styles/dist/navigation.css:\n (*!\n * Fundamental Library Styles v0.40.1\n * Copyright (c) 2025 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *)\n*/\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1552
2290
|
}
|
|
1553
2291
|
__decorate([
|
|
1554
2292
|
applyCssClass,
|
|
@@ -1566,20 +2304,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImpor
|
|
|
1566
2304
|
}
|
|
1567
2305
|
], host: {
|
|
1568
2306
|
role: 'navigation'
|
|
1569
|
-
}, imports: [
|
|
1570
|
-
NgTemplateOutlet,
|
|
1571
|
-
NavigationListItemDirective,
|
|
1572
|
-
NavigationContentStartComponent,
|
|
1573
|
-
NavigationContentEndComponent
|
|
1574
|
-
], template: "<ng-content></ng-content>\n@if (_navigationItemRenderer()) {\n @if (dataSourceItems()?.start; as startItems) {\n <fdb-navigation-content-start [contentProjected]=\"false\">\n @for (item of startItems; track item) {\n <ng-container fdbNavigationListItem [item]=\"item\" #listItemDirective=\"fdbListItem\">\n <ng-template\n [ngTemplateOutlet]=\"itemRenderer\"\n [ngTemplateOutletContext]=\"{ $implicit: item, injector: listItemDirective.injector }\"\n [ngTemplateOutletInjector]=\"listItemDirective.injector\"\n ></ng-template>\n </ng-container>\n }\n </fdb-navigation-content-start>\n }\n @if (dataSourceItems()?.end; as endItems) {\n <fdb-navigation-content-end [contentProjected]=\"false\">\n @for (item of endItems; track item) {\n <ng-container fdbNavigationListItem [item]=\"item\" #listItemDirective=\"fdbListItem\">\n <ng-template\n [ngTemplateOutlet]=\"itemRenderer\"\n [ngTemplateOutletContext]=\"{ $implicit: item, injector: listItemDirective.injector }\"\n [ngTemplateOutletInjector]=\"listItemDirective.injector\"\n ></ng-template>\n </ng-container>\n }\n </fdb-navigation-content-end>\n }\n}\n\n<ng-template #itemRenderer let-item let-injector=\"injector\">\n <ng-template\n [ngTemplateOutlet]=\"_navigationItemRenderer()?.templateRef || null\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n [ngTemplateOutletInjector]=\"injector\"\n ></ng-template>\n @if (item.children && item.children.length > 0) {\n @for (child of item.children; track child) {\n <ng-container fdbNavigationListItem [item]=\"child\" #listItemDirective=\"fdbListItem\">\n <ng-template\n [ngTemplateOutlet]=\"itemRenderer\"\n [ngTemplateOutletContext]=\"{ $implicit: child, injector: listItemDirective.injector }\"\n [ngTemplateOutletInjector]=\"listItemDirective.injector\"\n ></ng-template>\n </ng-container>\n }\n }\n</ng-template>\n", styles: ["@charset \"UTF-8\";.fd-navigation{--fdNavigation_Height:100%;--fdNavigation_Padding_X:.5rem;--fdNavigation_Padding_Top:.5rem;--fdNavigation_Item_Spacing:.25rem;--fdNavigation_Padding_Bottom:.5rem;--fdNavigation_Horizontal_Height:3.5rem;--fdNavigation_Expander_Position_Right:.5rem;--fdNavigation_Border_Radius:0;--fdNavigation_Box_Shadow:var(--sapContent_Shadow0);--fdNavigation_Link_Icon_Size:1rem;--fdNavigation_Link_Icon_Color:var(--sapList_TextColor);--fdNavigation_Link_Min_Height:var(--sapElement_LineHeight);--fdNavigation_Link_Font_Family:var(--sapFontBoldFamily);--fdNavigation_Link_Spacing:.5rem;--fdNavigation_Link_Text_Color:inherit;--fdNavigation_Link_Shift_Left:1rem;--fdNavigation_Link_Padding_Left:var(--fdNavigation_Link_Shift_Left);--fdNavigation_Link_Padding_Right:.375rem;--fdNavigation_Link_Font_Size:var(--sapFontSize);--fdNavigation_Link_Selection_Indicator_Size:.5rem;--fdNavigation_Link_Has_Child_Indicator_Display:flex;--fdNavigation_Link_Selection_Indicator_Display:none;--fdNavigation_Link_Back_Indicator_Icon:\"\\e1ee\";--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ed\";--fdNavigation_Link_External_Link_Indicator_Icon:\"\\e04c\";--fdNavigation_Link_Background:var(--sapNavigation_Background);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Normal);--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Bottom_Color_Normal);--fdNavigation_Item_Group_Display:flex;--fdNavigation_Item_Title_Display:none;--fdNavigation_Item_Text_Display:inline-block;--fdNavigation_Item_Selected_Background:var(--sapList_SelectionBackgroundColor);--fdNavigation_List_Container_Display:none;--fdNavigation_List_Parent_Items_Display:none;--fdNavigation_Controls_Width:2.25rem;--fdNavigation_Controls_Height:2.25rem;--fdNavigation_Quick_Create_Border_Color:var(--sapButton_BorderColor);border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-navigation:after,.fd-navigation:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-navigation__container{position:relative}.fd-navigation__container--top{height:100%;overflow:scroll;padding-inline:var(--fdNavigation_Padding_X);position:relative;-webkit-padding-after:.25rem;padding-block-end:.25rem}.fd-navigation__container--bottom{padding-inline:var(--fdNavigation_Padding_X)}.fd-navigation__container--bottom:before{background:var(--sapToolbar_SeparatorColor);content:\"\";display:inline-block;height:.0625rem;margin-block:.5625rem;width:100%}.fd-navigation__list-container{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:var(--fdNavigation_List_Container_Display);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-navigation__list-container:after,.fd-navigation__list-container:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-navigation__list-wrapper{width:100%}.fd-navigation__list{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:var(--fdNavigation_Item_Spacing);height:100%;list-style-type:none;position:relative}.fd-navigation__list:after,.fd-navigation__list:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-navigation__list--parent-items{display:var(--fdNavigation_List_Parent_Items_Display)}.fd-navigation__list-item{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:var(--fdNavigation_Item_Spacing)}.fd-navigation__list-item:after,.fd-navigation__list-item:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-navigation__list-item--spacer{background:transparent;height:100%;min-height:.25rem}.fd-navigation__list-item--separator{background:transparent;height:.625rem;max-height:.625rem;min-height:.625rem}.fd-navigation__list-item--overflow{position:relative}.fd-navigation__link{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;padding-inline:var(--fdNavigation_Link_Padding_Left) var(--fdNavigation_Link_Padding_Right);-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:var(--fdNavigation_Link_Background);border-radius:var(--fdNavigation_Link_Border_Radius);color:var(--fdNavigation_Link_Text_Color);cursor:pointer;gap:var(--fdNavigation_Link_Spacing);min-height:var(--fdNavigation_Link_Min_Height);overflow:hidden;position:relative;text-align:start;text-decoration:none;-webkit-transition:var(--fdNavigation_Link_Transition);transition:var(--fdNavigation_Link_Transition);width:100%}.fd-navigation__link:after,.fd-navigation__link:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-navigation__link:before{border-bottom:.0625rem solid var(--fdNavigation_Link_Border_Color);border:.0625rem solid var(--fdNavigation_Link_Border_Color);border-bottom-color:var(--fdNavigation_Link_Border_Bottom_Color);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}[dir=rtl] .fd-navigation__link:before{left:auto;right:0}.fd-navigation__link.is-hover,.fd-navigation__link:hover{--fdNavigation_Link_Background:var(--sapList_Hover_Background);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Hover);--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Hover)}.fd-navigation__link.is-active,.fd-navigation__link.is-active.is-focus,.fd-navigation__link.is-active:focus,.fd-navigation__link:active,.fd-navigation__link:active.is-focus,.fd-navigation__link:active:focus{--fdNavigation_Link_Background:var(--sapList_Active_Background);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Active);--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Active)}.fd-navigation__link.is-active.is-focus,.fd-navigation__link.is-active:focus,.fd-navigation__link:active.is-focus,.fd-navigation__link:active:focus{outline:none;z-index:5}.fd-navigation__link.is-focus,.fd-navigation__link:focus{z-index:5;--fdNavigation_Link_Border_Color:transparent;--fdNavigation_Link_Border_Bottom_Color:transparent;--fdNavigation_Link_Background:var(--sapList_Background);outline:var(--sapContent_FocusStyle) var(--sapContent_FocusWidth) var(--sapContent_FocusColor);outline-offset:-.125rem}.fd-navigation__link.is-focus.is-hover,.fd-navigation__link.is-focus:hover,.fd-navigation__link:focus.is-hover,.fd-navigation__link:focus:hover{--fdNavigation_Link_Background:var(--sapList_Hover_Background);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Hover);--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Hover)}.fd-navigation__link:focus-visible{outline-offset:-.125rem}.fd-navigation__link.is-disabled,.fd-navigation__link:disabled,.fd-navigation__link[aria-disabled=true]{opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-navigation__item{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-radius:var(--fdNavigation_Link_Border_Radius);height:100%;position:relative}.fd-navigation__item:after,.fd-navigation__item:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-navigation__item.is-expanded .fd-navigation__has-children-indicator,.fd-navigation__item.is-expanded .fd-navigation__has-children-indicator[dir=rtl],.fd-navigation__item[aria-expanded=true] .fd-navigation__has-children-indicator,.fd-navigation__item[aria-expanded=true] .fd-navigation__has-children-indicator[dir=rtl],[dir=rtl] .fd-navigation__item.is-expanded .fd-navigation__has-children-indicator,[dir=rtl] .fd-navigation__item[aria-expanded=true] .fd-navigation__has-children-indicator{--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ef\"}.fd-navigation__item.is-expanded+.fd-navigation__list-container,.fd-navigation__item[aria-expanded=true]+.fd-navigation__list-container{--fdNavigation_List_Container_Display:flex}.fd-navigation__item.is-expanded+.fd-navigation__list--parent-items,.fd-navigation__item[aria-expanded=true]+.fd-navigation__list--parent-items{--fdNavigation_List_Parent_Items_Display:flex}.fd-navigation__item.is-selected,.fd-navigation__item[aria-selected=true]{--fdNavigation_Link_Selection_Indicator_Display:inline-block;--fdNavigation_Link_Background:var(--sapList_SelectionBackgroundColor);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Selected);--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Selected)}.fd-navigation__item.is-selected .fd-navigation__link.is-focus,.fd-navigation__item.is-selected .fd-navigation__link:focus,.fd-navigation__item[aria-selected=true] .fd-navigation__link.is-focus,.fd-navigation__item[aria-selected=true] .fd-navigation__link:focus{z-index:5;--fdNavigation_Link_Background:var(--sapList_SelectionBackgroundColor);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Selected);--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Selected)}.fd-navigation__item.is-selected .fd-navigation__link.is-hover,.fd-navigation__item.is-selected .fd-navigation__link:hover,.fd-navigation__item[aria-selected=true] .fd-navigation__link.is-hover,.fd-navigation__item[aria-selected=true] .fd-navigation__link:hover{--fdNavigation_Link_Background:var(--sapList_Hover_SelectionBackground);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Selected);--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Selected)}.fd-navigation__item--child .fd-navigation__link{--fdNavigation_Link_Font_Family:var(--sapFontFamily);--fdNavigation_Link_Padding_Left:2.5rem}.fd-navigation__item--group{display:var(--fdNavigation_Item_Group_Display)}.fd-navigation__item--group .fd-navigation__link{--fdNavigation_Link_Text_Color:var(--sapContent_LabelColor);--fdNavigation_Link_Font_Family:var(--sapFontFamily);--fdNavigation_Link_Font_Size:var(--sapFontSize)}.fd-navigation__item--title{height:auto;-webkit-margin-after:var(--fdNavigation_Item_Title_Margin_Bottom,0);display:var(--fdNavigation_Item_Title_Display);margin-block-end:var(--fdNavigation_Item_Title_Margin_Bottom,0)}.fd-navigation__item--title .fd-navigation__text{font-weight:700;--fdNavigation_Item_Title_Display:block}.fd-navigation__item--title .fd-navigation__icon[class*=sap-icon]{display:none}.fd-navigation__item--menu.is-expanded,.fd-navigation__item--menu[aria-expanded=true]{--fdNavigation_Link_Background:var(--sapNavigation_Active_Background);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Active);--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Active)}.fd-navigation__item--menu.is-expanded .fd-navigation__has-children-indicator,.fd-navigation__item--menu[aria-expanded=true] .fd-navigation__has-children-indicator{--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ed\"}.fd-navigation__item--menu.is-expanded .fd-navigation__has-children-indicator[dir=rtl],.fd-navigation__item--menu[aria-expanded=true] .fd-navigation__has-children-indicator[dir=rtl],[dir=rtl] .fd-navigation__item--menu.is-expanded .fd-navigation__has-children-indicator,[dir=rtl] .fd-navigation__item--menu[aria-expanded=true] .fd-navigation__has-children-indicator{--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ee\"}.fd-navigation__item--menu.fd-navigation__item--child .fd-navigation__link{--fdNavigation_Link_Padding_Left:var(--fdNavigation_Link_Shift_Left)}.fd-navigation__item--with-expander .fd-navigation__link{--fdNavigation_Link_Padding_Right:calc(var(--fdNavigation_Controls_Width) + 1.3125rem)}.fd-navigation__item--with-expander .fd-navigation__has-children-indicator{--fdNavigation_Link_Has_Child_Indicator_Display:flex;cursor:pointer;position:absolute;right:var(--fdNavigation_Link_Has_Child_Indicator_Pos_Right,.375rem);z-index:20}.fd-navigation__item--with-expander .fd-navigation__has-children-indicator:after{background:var(--sapTextColor);content:\"\";display:var(--fdNavigation_Link_Has_Child_Indicator_Div_Display,inline-block);height:var(--sapElement_Condensed_Height);left:-.25rem;position:absolute;width:.0625rem}.fd-navigation__item--with-expander.is-hover .fd-navigation__link,.fd-navigation__item--with-expander:hover .fd-navigation__link{--fdNavigation_Link_Background:var(--sapList_Hover_Background);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Hover);--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Hover)}.fd-navigation__item--with-expander.is-active .fd-navigation__link,.fd-navigation__item--with-expander:active .fd-navigation__link{--fdNavigation_Link_Background:var(--sapList_Active_Background);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Active);--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Active)}.fd-navigation__item--with-expander.is-selected.is-hover .fd-navigation__link,.fd-navigation__item--with-expander.is-selected:hover .fd-navigation__link,.fd-navigation__item--with-expander[aria-selected=true].is-hover .fd-navigation__link,.fd-navigation__item--with-expander[aria-selected=true]:hover .fd-navigation__link{--fdNavigation_Link_Background:var(--sapList_Hover_SelectionBackground)}.fd-navigation__item--create{--fdNavigation_Link_Text_Color:var(--sapButton_TextColor);--fdNavigation_Link_Icon_Color:var(--sapButton_TextColor)}.fd-navigation__item--create .fd-navigation__link{border:var(--sapButton_BorderWidth) solid var(--fdNavigation_Quick_Create_Border_Color)}.fd-navigation__item--create .fd-navigation__link.is-active,.fd-navigation__item--create .fd-navigation__link:active{--fdNavigation_Quick_Create_Border_Color:var(--sapButton_Active_BorderColor);--fdNavigation_Link_Background:var(--sapButton_Active_Background)}.fd-navigation__icon{height:var(--fdNavigation_Link_Icon_Size);max-height:var(--fdNavigation_Link_Icon_Size);max-width:var(--fdNavigation_Link_Icon_Size);min-height:var(--fdNavigation_Link_Icon_Size);min-width:var(--fdNavigation_Link_Icon_Size);width:var(--fdNavigation_Link_Icon_Size)}.fd-navigation__icon [class*=sap-icon],.fd-navigation__icon[class*=sap-icon]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--fdNavigation_Link_Icon_Color);font-family:var(--sapFontBoldFamily);font-size:var(--fdNavigation_Link_Icon_Size)}.fd-navigation__text{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--fdNavigation_Link_Text_Color);display:var(--fdNavigation_Item_Text_Display);font-family:var(--sapFontFamily);font-family:var(--fdNavigation_Link_Font_Family);font-size:var(--sapFontSize);font-size:var(--fdNavigation_Link_Font_Size);font-weight:400;forced-color-adjust:none;line-height:normal;line-height:1rem;margin-block:0;margin-inline:0;overflow:hidden;padding-block:0;padding-inline:0;text-overflow:ellipsis;vertical-align:baseline;white-space:nowrap;width:100%}.fd-navigation__text:after,.fd-navigation__text:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-navigation__selection-indicator{background:var(--sapList_SelectionBorderColor);border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:var(--fdNavigation_Link_Selection_Indicator_Display);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:100%;left:0;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;position:absolute;top:0;width:.188rem}.fd-navigation__selection-indicator:after,.fd-navigation__selection-indicator:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-navigation__selection-indicator[dir=rtl],[dir=rtl] .fd-navigation__selection-indicator{left:auto;right:0}.fd-navigation__has-children-indicator{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--sapList_TextColor);display:var(--fdNavigation_Link_Has_Child_Indicator_Display);height:var(--fdNavigation_Controls_Height);max-height:var(--fdNavigation_Controls_Height);max-width:var(--fdNavigation_Controls_Width);min-height:var(--fdNavigation_Controls_Height);min-width:var(--fdNavigation_Controls_Width);-webkit-transition:opacity .3s ease-in-out;transition:opacity .3s ease-in-out;width:var(--fdNavigation_Controls_Width)}.fd-navigation__has-children-indicator:after,.fd-navigation__has-children-indicator:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-navigation__has-children-indicator:before{content:var(--fdNavigation_Link_Has_Child_Indicator_Icon);font-family:SAP-icons;font-size:1rem}[dir=rtl] .fd-navigation__has-children-indicator{--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ee\"}.fd-navigation__external-link-indicator{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--sapList_TextColor);display:var(--fdNavigation_Link_External_Link_Indicator_Display,flex);height:var(--fdNavigation_Controls_Height);max-height:var(--fdNavigation_Controls_Height);max-width:var(--fdNavigation_Controls_Width);min-height:var(--fdNavigation_Controls_Height);min-width:var(--fdNavigation_Controls_Width);width:var(--fdNavigation_Controls_Width)}.fd-navigation__external-link-indicator:after,.fd-navigation__external-link-indicator:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-navigation__external-link-indicator:before{content:var(--fdNavigation_Link_External_Link_Indicator_Icon);font-family:SAP-icons;font-size:1rem}.fd-navigation__external-link-indicator[dir=rtl],[dir=rtl] .fd-navigation__external-link-indicator{--fdNavigation_Link_External_Link_Indicator_Icon:\"\\e04d\"}.fd-navigation__back-indicator{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--sapContent_LabelColor);height:.75rem;max-height:.75rem;max-width:.75rem;min-height:.75rem;min-width:.75rem;width:.75rem}.fd-navigation__back-indicator:after,.fd-navigation__back-indicator:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-navigation__back-indicator:before{content:var(--fdNavigation_Link_Back_Indicator_Icon);font-family:SAP-icons;font-size:.75rem}.fd-navigation__back-indicator[dir=rtl],[dir=rtl] .fd-navigation__back-indicator{--fdNavigation_Link_Back_Indicator_Icon:\"\\e1ed\"}.fd-navigation--snapped .fd-navigation__container--bottom,.fd-navigation--snapped .fd-navigation__container--top{overflow:visible}.fd-navigation--snapped .fd-navigation__list-wrapper{padding-block:.5rem;padding-inline:.5rem}.fd-navigation--snapped .fd-navigation__list-container{background:var(--sapGroup_ContentBackground);border:none;border-radius:var(--sapPopover_BorderCornerRadius);-webkit-box-shadow:var(--sapContent_Shadow2);box-shadow:var(--sapContent_Shadow2)}.fd-navigation--snapped .fd-navigation__list-container.fd-navigation__list-container--menu{left:calc(100% + .1875rem);padding-block:.5rem;padding-inline:.5rem;position:absolute;top:0}.fd-navigation--snapped .fd-navigation__list-container.fd-navigation__list-container--menu[dir=rtl],[dir=rtl] .fd-navigation--snapped .fd-navigation__list-container.fd-navigation__list-container--menu{left:auto;right:calc(100% + .1875rem)}.fd-navigation--snapped .fd-navigation__list-container.fd-navigation__list-container--menu .fd-navigation__list-wrapper{padding-block:0;padding-inline:0}.fd-navigation--snapped .fd-navigation__list-container.fd-navigation__list-container--menu .fd-navigation__list{--fdNavigation_Item_Spacing:.5rem;-webkit-box-shadow:none;box-shadow:none}.fd-navigation--snapped .fd-navigation__list-container.fd-navigation__list-container--menu .fd-navigation__item.is-expanded .fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-container.fd-navigation__list-container--menu .fd-navigation__item[aria-expanded=true] .fd-navigation__has-children-indicator{--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ed\"}[dir=rtl] .fd-navigation--snapped .fd-navigation__list-container.fd-navigation__list-container--menu .fd-navigation__item .fd-navigation__has-children-indicator{--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ee\"}.fd-navigation--snapped .fd-navigation__list-container.fd-navigation__list-container--submenu{left:calc(100% + .1875rem);margin-block:0;margin-inline:0;padding-block:.5rem;padding-inline:.5rem;top:calc(var(--fdNavigation_Link_Min_Height) - .5rem)}.fd-navigation--snapped .fd-navigation__list-container.fd-navigation__list-container--submenu[dir=rtl],[dir=rtl] .fd-navigation--snapped .fd-navigation__list-container.fd-navigation__list-container--submenu{left:auto;right:calc(100% + .1875rem)}.fd-navigation--snapped .fd-navigation__list-container .fd-navigation__list--parent-items{--fdNavigation_List_Parent_Items_Display:flex}.fd-navigation--snapped .fd-navigation__item--group{--fdNavigation_Item_Group_Display:none}.fd-navigation--snapped .fd-navigation__item--child .fd-navigation__link{--fdNavigation_Link_Padding_Left:1rem}.fd-navigation--snapped .fd-navigation__list--child-items{--fdNavigation_Item_Spacing:.5rem;height:auto}.fd-navigation--snapped .fd-navigation__item--title{--fdNavigation_Item_Title_Display:block;--fdNavigation_Item_Title_Margin_Bottom:.5rem}.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title).is-expanded .fd-navigation__link,.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title)[aria-expanded=true] .fd-navigation__link{--fdNavigation_Link_Background:var(--sapList_Active_Background);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Active)}.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title).is-expanded.is-selected .fd-navigation__link,.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title).is-expanded[aria-selected=true] .fd-navigation__link,.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title)[aria-expanded=true].is-selected .fd-navigation__link,.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title)[aria-expanded=true][aria-selected=true] .fd-navigation__link{--fdNavigation_Link_Selection_Indicator_Display:inline-block;--fdNavigation_Link_Background:var(--sapList_SelectionBackgroundColor);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Selected)}.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title).is-expanded.is-selected.is-hover .fd-navigation__link,.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title).is-expanded.is-selected:hover .fd-navigation__link,.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title).is-expanded[aria-selected=true].is-hover .fd-navigation__link,.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title).is-expanded[aria-selected=true]:hover .fd-navigation__link,.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title)[aria-expanded=true].is-selected.is-hover .fd-navigation__link,.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title)[aria-expanded=true].is-selected:hover .fd-navigation__link,.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title)[aria-expanded=true][aria-selected=true].is-hover .fd-navigation__link,.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title)[aria-expanded=true][aria-selected=true]:hover .fd-navigation__link{--fdNavigation_Link_Background:var(--sapList_Hover_SelectionBackground)}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link{--fdNavigation_Link_Spacing:0}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link .fd-navigation__text{--fdNavigation_Item_Text_Display:none}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link .fd-navigation__has-children-indicator{--fdNavigation_Controls_Width:1rem;--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ed\"}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link:has(.fd-navigation__external-link-indicator){--fdNavigation_Link_Padding_Right:0;--fdNavigation_Link_External_Link_Indicator_Display:none}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link.is-focus,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link.is-hover,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link:focus,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link:hover{--fdNavigation_Link_Padding_Right:1rem;--fdNavigation_Link_Spacing:.5rem;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link.is-focus:has(.fd-navigation__has-children-indicator),.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link.is-hover:has(.fd-navigation__has-children-indicator),.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link:focus:has(.fd-navigation__has-children-indicator),.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link:hover:has(.fd-navigation__has-children-indicator){--fdNavigation_Link_Padding_Right:.375rem}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link.is-focus:has(.fd-navigation__has-children-indicator) .fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link.is-hover:has(.fd-navigation__has-children-indicator) .fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link:focus:has(.fd-navigation__has-children-indicator) .fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link:hover:has(.fd-navigation__has-children-indicator) .fd-navigation__has-children-indicator{--fdNavigation_Controls_Width:2.25rem}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link.is-focus:has(.fd-navigation__external-link-indicator),.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link.is-hover:has(.fd-navigation__external-link-indicator),.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link:focus:has(.fd-navigation__external-link-indicator),.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link:hover:has(.fd-navigation__external-link-indicator){--fdNavigation_Link_Padding_Right:.375rem;--fdNavigation_Link_External_Link_Indicator_Display:flex}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link.is-focus .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link.is-hover .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link:focus .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link:hover .fd-navigation__text{--fdNavigation_Item_Text_Display:inline-block}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander>.fd-navigation__link{--fdNavigation_Link_Padding_Right:0}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander>.fd-navigation__link+.fd-navigation__has-children-indicator{--fdNavigation_Controls_Width:1rem;--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ed\";--fdNavigation_Link_Has_Child_Indicator_Pos_Right:0;--fdNavigation_Link_Has_Child_Indicator_Div_Display:none}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander.is-hover,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander:focus-within,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander:hover{min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander.is-hover>.fd-navigation__link,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander:focus-within>.fd-navigation__link,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander:hover>.fd-navigation__link{--fdNavigation_Link_Spacing:.5rem;--fdNavigation_Link_Padding_Right:calc(var(--fdNavigation_Controls_Width) + 1.3125rem)}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander.is-hover>.fd-navigation__link .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander:focus-within>.fd-navigation__link .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander:hover>.fd-navigation__link .fd-navigation__text{--fdNavigation_Item_Text_Display:inline-block}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander.is-hover>.fd-navigation__link+.fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander:focus-within>.fd-navigation__link+.fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander:hover>.fd-navigation__link+.fd-navigation__has-children-indicator{--fdNavigation_Controls_Width:2.25rem;--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ed\";--fdNavigation_Link_Has_Child_Indicator_Pos_Right:.375rem;--fdNavigation_Link_Has_Child_Indicator_Div_Display:inline-block}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander.is-expanded.is-hover>.fd-navigation__link,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander.is-expanded:focus-within>.fd-navigation__link,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander.is-expanded:hover>.fd-navigation__link,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander[aria-expanded=true].is-hover>.fd-navigation__link,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander[aria-expanded=true]:focus-within>.fd-navigation__link,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander[aria-expanded=true]:hover>.fd-navigation__link{--fdNavigation_Link_Spacing:0;--fdNavigation_Link_Padding_Right:0}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander.is-expanded.is-hover>.fd-navigation__link .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander.is-expanded:focus-within>.fd-navigation__link .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander.is-expanded:hover>.fd-navigation__link .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander[aria-expanded=true].is-hover>.fd-navigation__link .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander[aria-expanded=true]:focus-within>.fd-navigation__link .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander[aria-expanded=true]:hover>.fd-navigation__link .fd-navigation__text{--fdNavigation_Item_Text_Display:none}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander.is-expanded.is-hover>.fd-navigation__link+.fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander.is-expanded:focus-within>.fd-navigation__link+.fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander.is-expanded:hover>.fd-navigation__link+.fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander[aria-expanded=true].is-hover>.fd-navigation__link+.fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander[aria-expanded=true]:focus-within>.fd-navigation__link+.fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander[aria-expanded=true]:hover>.fd-navigation__link+.fd-navigation__has-children-indicator{--fdNavigation_Controls_Width:1rem;--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ed\";--fdNavigation_Link_Has_Child_Indicator_Pos_Right:0;--fdNavigation_Link_Has_Child_Indicator_Div_Display:none}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link .fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link .fd-navigation__has-children-indicator{--fdNavigation_Controls_Width:1rem;--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ed\"}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link.is-focus,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link.is-hover,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link:focus,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link:hover,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link.is-focus,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link.is-hover,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link:focus,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link:hover{--fdNavigation_Link_Padding_Right:0}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link.is-focus:has(.fd-navigation__has-children-indicator),.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link.is-hover:has(.fd-navigation__has-children-indicator),.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link:focus:has(.fd-navigation__has-children-indicator),.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link:hover:has(.fd-navigation__has-children-indicator),.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link.is-focus:has(.fd-navigation__has-children-indicator),.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link.is-hover:has(.fd-navigation__has-children-indicator),.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link:focus:has(.fd-navigation__has-children-indicator),.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link:hover:has(.fd-navigation__has-children-indicator){--fdNavigation_Link_Spacing:0;--fdNavigation_Link_Padding_Right:0}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link.is-focus:has(.fd-navigation__has-children-indicator) .fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link.is-hover:has(.fd-navigation__has-children-indicator) .fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link:focus:has(.fd-navigation__has-children-indicator) .fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link:hover:has(.fd-navigation__has-children-indicator) .fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link.is-focus:has(.fd-navigation__has-children-indicator) .fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link.is-hover:has(.fd-navigation__has-children-indicator) .fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link:focus:has(.fd-navigation__has-children-indicator) .fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link:hover:has(.fd-navigation__has-children-indicator) .fd-navigation__has-children-indicator{--fdNavigation_Controls_Width:1rem}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link.is-focus .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link.is-hover .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link:focus .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link:hover .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link.is-focus .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link.is-hover .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link:focus .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link:hover .fd-navigation__text{--fdNavigation_Item_Text_Display:none}.fd-navigation.fd-navigation--vertical{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-ms-flex-pack:justify;background:var(--sapList_Background);border-radius:var(--fdNavigation_Border_Radius);-webkit-box-shadow:var(--fdNavigation_Box_Shadow);box-shadow:var(--fdNavigation_Box_Shadow);height:var(--fdNavigation_Height);justify-content:space-between;min-width:16rem;padding-block:var(--fdNavigation_Padding_Top) var(--fdNavigation_Padding_Bottom)}.fd-navigation.fd-navigation--vertical.fd-navigation--popup{--fdNavigation_Height:auto;--fdNavigation_Padding_Top:.5rem;--fdNavigation_Border_Radius:.5rem;--fdNavigation_Box_Shadow:var(--sapNavigation_Shadow2)}.fd-navigation.fd-navigation--vertical.fd-navigation--popup .fd-navigation__container--bottom,.fd-navigation.fd-navigation--vertical.fd-navigation--popup .fd-navigation__container--top{--fdNavigation_Padding_X:.5rem}.fd-navigation.fd-navigation--vertical.fd-navigation--snapped{max-width:4rem;min-width:4rem;width:4rem}.fd-navigation.fd-navigation--horizontal{background:var(--sapNavigation_Background);height:var(--fdNavigation_Horizontal_Height);padding-block:calc((var(--fdNavigation_Horizontal_Height) - var(--fdNavigation_Link_Min_Height))*.5);padding-inline:1.5rem;width:100%}.fd-navigation.fd-navigation--horizontal .fd-navigation__link{--fdNavigation_Link_Spacing:.5rem;--fdNavigation_Link_Padding_Right:1rem}.fd-navigation.fd-navigation--horizontal .fd-navigation__link:has(.fd-navigation__has-children-indicator){--fdNavigation_Link_Padding_Right:.375rem}.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow).is-selected,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow)[aria-selected=true]{--fdNavigation_Link_Background:var(--fdNavigation_Item_Selected_Background);--fdNavigation_Link_Selection_Indicator_Display:inline-block}.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow).is-selected .fd-navigation__link.is-focus,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow).is-selected .fd-navigation__link:focus,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow)[aria-selected=true] .fd-navigation__link.is-focus,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow)[aria-selected=true] .fd-navigation__link:focus{z-index:5;--fdNavigation_Link_Background:var(--fdNavigation_Item_Selected_Background)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow).is-selected .fd-navigation__link.is-hover,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow).is-selected .fd-navigation__link:hover,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow)[aria-selected=true] .fd-navigation__link.is-hover,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow)[aria-selected=true] .fd-navigation__link:hover{--fdNavigation_Link_Background:var(--fdNavigation_Item_Selected_Background)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow).is-selected.is-expanded .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow).is-selected[aria-expanded=true] .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow)[aria-selected=true].is-expanded .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow)[aria-selected=true][aria-expanded=true] .fd-navigation__link{--fdNavigation_Link_Selection_Indicator_Display:inline-block;--fdNavigation_Link_Background:var(--fdNavigation_Item_Selected_Background)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow).is-selected.is-hover .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow).is-selected:hover .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow)[aria-selected=true].is-hover .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow)[aria-selected=true]:hover .fd-navigation__link{--fdNavigation_Link_Background:var(--sapList_Hover_SelectionBackground)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow) .fd-navigation__link.is-hover:before,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow) .fd-navigation__link:before,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow) .fd-navigation__link:hover:before,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow).is-expanded .fd-navigation__link:before,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow)[aria-expanded=true] .fd-navigation__link:before{--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color)}.fd-navigation.fd-navigation--horizontal .fd-navigation__list:not(.fd-navigation__list--parent-items):not(.fd-navigation__list--child-items){--fdNavigation_Item_Spacing:.75rem;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.fd-navigation.fd-navigation--horizontal .fd-navigation__list:not(.fd-navigation__list--parent-items):not(.fd-navigation__list--child-items) .fd-navigation__has-children-indicator{--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e287\"}.fd-navigation.fd-navigation--horizontal .fd-navigation__list-item--spacer{height:.75rem;width:100%}.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu){--fdPopover_Offset: calc(100% + .3875rem) ;background:var(--sapGroup_ContentBackground);border:none;border-radius:.75rem;-webkit-box-shadow:var(--sapMenu_Shadow2);box-shadow:var(--sapMenu_Shadow2);padding-block:.05rem;padding-inline:.05rem}.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu{-webkit-box-shadow:var(--sapMenu_Shadow1);box-shadow:var(--sapMenu_Shadow1);padding-block:.5rem;padding-inline:.5rem;position:absolute;right:-.5rem;top:calc(100% + .3875rem)}.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu[dir=rtl],[dir=rtl] .fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu{left:-.5rem;right:auto}.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu .fd-navigation__list-wrapper{padding-block:0;padding-inline:0}.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu .fd-navigation__list{--fdNavigation_Item_Spacing:.25rem;-webkit-box-shadow:none;box-shadow:none}.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu .fd-navigation__item.is-expanded .fd-navigation__has-children-indicator,.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu .fd-navigation__item[aria-expanded=true] .fd-navigation__has-children-indicator{--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ed\"}[dir=rtl] .fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu .fd-navigation__item.is-expanded .fd-navigation__has-children-indicator,[dir=rtl] .fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu .fd-navigation__item[aria-expanded=true] .fd-navigation__has-children-indicator{--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ee\"}.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu .fd-navigation__item.fd-navigation__item--overflow .fd-navigation__has-children-indicator{display:none}.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child)>.fd-navigation__link.is-hover,.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child)>.fd-navigation__link:hover{width:100%}.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child)>.fd-navigation__link.is-hover .fd-navigation__text,.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child)>.fd-navigation__link:hover .fd-navigation__text{--fdNavigation_Item_Text_Display:inline-block}.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--submenu{-webkit-box-shadow:var(--sapMenu_Shadow1);box-shadow:var(--sapMenu_Shadow1);left:calc(-100% - .1875rem);margin-block:0;margin-inline:0;padding-block:.5rem;padding-inline:.5rem;top:calc(var(--fdNavigation_Link_Min_Height) - .5rem)}.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--submenu[dir=rtl],[dir=rtl] .fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--submenu{left:auto;right:calc(-100% - .1875rem)}.fd-navigation.fd-navigation--horizontal .fd-navigation__list-wrapper{padding-block:.7rem;padding-inline:.7rem}.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow).is-expanded .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow)[aria-expanded=true] .fd-navigation__link{--fdNavigation_Link_Background:var(--sapMenu_Active_Background);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Active);--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Active)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow).is-expanded .fd-navigation__link.is-focus,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow).is-expanded .fd-navigation__link:focus,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow)[aria-expanded=true] .fd-navigation__link.is-focus,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow)[aria-expanded=true] .fd-navigation__link:focus{z-index:5;--fdNavigation_Link_Background:var(--sapMenu_Active_Background);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Active);--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Active)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow).is-expanded.is-selected .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow).is-expanded[aria-selected=true] .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow)[aria-expanded=true].is-selected .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow)[aria-expanded=true][aria-selected=true] .fd-navigation__link{--fdNavigation_Link_Selection_Indicator_Display:inline-block;--fdNavigation_Link_Background:var(--fdNavigation_Item_Selected_Background);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Selected);--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Selected)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow).is-expanded.is-selected.is-hover .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow).is-expanded.is-selected:hover .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow).is-expanded[aria-selected=true].is-hover .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow).is-expanded[aria-selected=true]:hover .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow)[aria-expanded=true].is-selected.is-hover .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow)[aria-expanded=true].is-selected:hover .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow)[aria-expanded=true][aria-selected=true].is-hover .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow)[aria-expanded=true][aria-selected=true]:hover .fd-navigation__link{--fdNavigation_Link_Background:var(--sapList_Hover_SelectionBackground)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item.fd-navigation__item--with-expander .fd-navigation__link{--fdNavigation_Link_Padding_Right:calc(1.6875rem + var(--fdNavigation_Controls_Width))}.fd-navigation.fd-navigation--horizontal .fd-navigation__item--child:not(.fd-navigation__item--submenu-child) .fd-navigation__link{--fdNavigation_Link_Padding_Left:var(--fdNavigation_Link_Shift_Left)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item--with-expander .fd-navigation__expander{border:none;margin-block:0;margin-inline:.0625rem;outline-offset:-.0625rem;-webkit-transition:var(--fdNavigation_Link_Transition);transition:var(--fdNavigation_Link_Transition);--fdButton_Nested_Border_Radius:var(--fdNavigation_Link_Border_Radius)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item--with-expander .fd-navigation__expander:after{border-bottom:.0625rem solid var(--fdNavigation_Expander_Border_Color);border:.0625rem solid var(--fdNavigation_Expander_Border_Color);border-bottom-color:var(--fdNavigation_Expander_Border_Bottom_Color);content:\"\";inset:0;position:absolute}.fd-navigation.fd-navigation--horizontal .fd-navigation__item--with-expander .fd-navigation__expander.is-hover,.fd-navigation.fd-navigation--horizontal .fd-navigation__item--with-expander .fd-navigation__expander:hover{--fdButton_Nested_Background:var(--sapList_Hover_Background);--fdNavigation_Expander_Border_Color:var(--fdNavigation_Link_Border_Color_Hover);--fdNavigation_Expander_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Hover)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item--with-expander .fd-navigation__expander.is-active,.fd-navigation.fd-navigation--horizontal .fd-navigation__item--with-expander .fd-navigation__expander:active{--fdButton_Nested_Background:var(--sapList_Active_Background);--fdNavigation_Expander_Border_Color:var(--fdNavigation_Link_Border_Color_Active);--fdNavigation_Expander_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Active)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item--with-expander .fd-navigation__expander.is-active.is-focus,.fd-navigation.fd-navigation--horizontal .fd-navigation__item--with-expander .fd-navigation__expander.is-active:focus,.fd-navigation.fd-navigation--horizontal .fd-navigation__item--with-expander .fd-navigation__expander:active.is-focus,.fd-navigation.fd-navigation--horizontal .fd-navigation__item--with-expander .fd-navigation__expander:active:focus{z-index:5;--fdNavigation_Expander_Border_Color:var(--fdNavigation_Link_Border_Color_Active);--fdNavigation_Expander_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Active)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item--with-expander .fd-navigation__expander:active:focus{--fdButton_Nested_Border_Radius:var(--fdNavigation_Link_Border_Radius)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item--with-expander.is-expanded .fd-navigation__expander,.fd-navigation.fd-navigation--horizontal .fd-navigation__item--with-expander[aria-expanded=true] .fd-navigation__expander{--fdButton_Nested_Background:var(--fdNavigation_Item_Selected_Background);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Selected);--fdNavigation_Expander_Border_Color:var(--fdNavigation_Link_Border_Color_Selected);--fdNavigation_Expander_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Selected)}.fd-navigation.fd-navigation--horizontal .fd-navigation__list{--fdNavigation_Item_Spacing:.5rem}.fd-navigation[class*=-compact],[class*=-compact] .fd-navigation:not([class*=-cozy]){--fdNavigation_Link_Min_Height:2rem;--fdNavigation_Controls_Width:2rem;--fdNavigation_Controls_Height:1.5625rem}.fd-navigation .fd-navigation__container--top{padding-left:var(--fdNavigation_Padding_X);padding-right:var(--fdNavigation_Padding_X);padding-bottom:.25rem}.fd-navigation__list{min-height:100%;height:auto}.fd-navigation--snapped .fd-navigation__list-item--home{position:relative}.fd-navigation--snapped .fd-navigation__container--top{overflow:visible!important;display:flex;flex-direction:column}.fd-navigation--snapped .fd-navigation__container--top .fd-navigation__list{flex-grow:1;height:auto;min-height:0}.fd-navigation--snapped .fd-navigation__container--top .fd-navigation__list--no-grow{flex-grow:0}.fd-navigation--snapped .fd-navigation__container--hidden-overflow{overflow:hidden!important}.fd-navigation--expanded .fd-navigation__list-item--home,.fd-navigation--popup .fd-navigation__list-item--home{z-index:21}.fd-navigation__list-container--custom-menu{box-shadow:var(--sapMenu_Shadow1)}.fd-navigation__list-item--spacer--hidden{display:none!important}.fd-navigation .fd-navigation__list-item--home-without-separator{margin-bottom:.125rem}.fd-navigation--snapped .fd-navigation__list-container.fd-navigation__list-container--menu{position:relative;transition:none}.fd-navigation__list-item:not(.fd-navigation__list-item--home){position:relative}.fd-navigation__list-container--menu>.fd-scrollbar{overflow:visible!important}.fd-navigation__list-container--menu .fd-navigation__list--parent-items .fd-navigation__list-item:before{content:\"\";position:absolute;top:0;bottom:0;left:-1rem;right:-1rem}.fd-navigation__list-container--menu .fd-navigation__list--parent-items .fd-navigation__list-item>.fd-navigation__list-container{display:none;top:-.5rem}.fd-navigation__list-container--menu .fd-navigation__list--parent-items .fd-navigation__list-item:hover>.fd-navigation__list-container,.fd-navigation__list-container--menu .fd-navigation__list--parent-items .fd-navigation__list-item:focus>.fd-navigation__list-container,.fd-navigation__list-container--menu .fd-navigation__list--parent-items .fd-navigation__list-item:focus-within>.fd-navigation__list-container{display:block}.fd-navigation__list-container--menu .fd-navigation__list--parent-items .fd-navigation__list-item .fd-navigation__list-container--submenu:before{content:\"\";position:absolute;top:-2rem;bottom:0;right:0;left:0}.fd-popover__body.fd-navigation__list-container{display:block}.fd-navigation__item .fd-popover-custom{max-width:none}.fd-navigation__item.fd-navigation__item--title .fd-navigation__has-children-indicator{display:none}\n/*! Bundled license information:\n\nfundamental-styles/dist/navigation.css:\n (*!\n * Fundamental Library Styles v0.40.1\n * Copyright (c) 2025 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *)\n*/\n"] }]
|
|
2307
|
+
}, template: "<ng-content></ng-content>\n", styles: ["@charset \"UTF-8\";.fd-navigation{--fdNavigation_Height:100%;--fdNavigation_Padding_X:.5rem;--fdNavigation_Padding_Top:.5rem;--fdNavigation_Item_Spacing:.25rem;--fdNavigation_Padding_Bottom:.5rem;--fdNavigation_Horizontal_Height:3.5rem;--fdNavigation_Expander_Position_Right:.5rem;--fdNavigation_Border_Radius:0;--fdNavigation_Box_Shadow:var(--sapContent_Shadow0);--fdNavigation_Link_Icon_Size:1rem;--fdNavigation_Link_Icon_Color:var(--sapList_TextColor);--fdNavigation_Link_Min_Height:var(--sapElement_LineHeight);--fdNavigation_Link_Font_Family:var(--sapFontBoldFamily);--fdNavigation_Link_Spacing:.5rem;--fdNavigation_Link_Text_Color:inherit;--fdNavigation_Link_Shift_Left:1rem;--fdNavigation_Link_Padding_Left:var(--fdNavigation_Link_Shift_Left);--fdNavigation_Link_Padding_Right:.375rem;--fdNavigation_Link_Font_Size:var(--sapFontSize);--fdNavigation_Link_Selection_Indicator_Size:.5rem;--fdNavigation_Link_Has_Child_Indicator_Display:flex;--fdNavigation_Link_Selection_Indicator_Display:none;--fdNavigation_Link_Back_Indicator_Icon:\"\\e1ee\";--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ed\";--fdNavigation_Link_External_Link_Indicator_Icon:\"\\e04c\";--fdNavigation_Link_Background:var(--sapNavigation_Background);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Normal);--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Bottom_Color_Normal);--fdNavigation_Item_Group_Display:flex;--fdNavigation_Item_Title_Display:none;--fdNavigation_Item_Text_Display:inline-block;--fdNavigation_Item_Selected_Background:var(--sapList_SelectionBackgroundColor);--fdNavigation_List_Container_Display:none;--fdNavigation_List_Parent_Items_Display:none;--fdNavigation_Controls_Width:2.25rem;--fdNavigation_Controls_Height:2.25rem;--fdNavigation_Quick_Create_Border_Color:var(--sapButton_BorderColor);border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-navigation:after,.fd-navigation:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-navigation__container{position:relative}.fd-navigation__container--top{height:100%;overflow:scroll;padding-inline:var(--fdNavigation_Padding_X);position:relative;-webkit-padding-after:.25rem;padding-block-end:.25rem}.fd-navigation__container--bottom{padding-inline:var(--fdNavigation_Padding_X)}.fd-navigation__container--bottom:before{background:var(--sapToolbar_SeparatorColor);content:\"\";display:inline-block;height:.0625rem;margin-block:.5625rem;width:100%}.fd-navigation__list-container{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:var(--fdNavigation_List_Container_Display);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-navigation__list-container:after,.fd-navigation__list-container:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-navigation__list-wrapper{width:100%}.fd-navigation__list{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:var(--fdNavigation_Item_Spacing);height:100%;list-style-type:none;position:relative}.fd-navigation__list:after,.fd-navigation__list:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-navigation__list--parent-items{display:var(--fdNavigation_List_Parent_Items_Display)}.fd-navigation__list-item{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:var(--fdNavigation_Item_Spacing)}.fd-navigation__list-item:after,.fd-navigation__list-item:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-navigation__list-item--spacer{background:transparent;height:100%;min-height:.25rem}.fd-navigation__list-item--separator{background:transparent;height:.625rem;max-height:.625rem;min-height:.625rem}.fd-navigation__list-item--overflow{position:relative}.fd-navigation__link{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;padding-inline:var(--fdNavigation_Link_Padding_Left) var(--fdNavigation_Link_Padding_Right);-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:var(--fdNavigation_Link_Background);border-radius:var(--fdNavigation_Link_Border_Radius);color:var(--fdNavigation_Link_Text_Color);cursor:pointer;gap:var(--fdNavigation_Link_Spacing);min-height:var(--fdNavigation_Link_Min_Height);overflow:hidden;position:relative;text-align:start;text-decoration:none;-webkit-transition:var(--fdNavigation_Link_Transition);transition:var(--fdNavigation_Link_Transition);width:100%}.fd-navigation__link:after,.fd-navigation__link:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-navigation__link:before{border-bottom:.0625rem solid var(--fdNavigation_Link_Border_Color);border:.0625rem solid var(--fdNavigation_Link_Border_Color);border-bottom-color:var(--fdNavigation_Link_Border_Bottom_Color);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}[dir=rtl] .fd-navigation__link:before{left:auto;right:0}.fd-navigation__link.is-hover,.fd-navigation__link:hover{--fdNavigation_Link_Background:var(--sapList_Hover_Background);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Hover);--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Hover)}.fd-navigation__link.is-active,.fd-navigation__link.is-active.is-focus,.fd-navigation__link.is-active:focus,.fd-navigation__link:active,.fd-navigation__link:active.is-focus,.fd-navigation__link:active:focus{--fdNavigation_Link_Background:var(--sapList_Active_Background);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Active);--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Active)}.fd-navigation__link.is-active.is-focus,.fd-navigation__link.is-active:focus,.fd-navigation__link:active.is-focus,.fd-navigation__link:active:focus{outline:none;z-index:5}.fd-navigation__link.is-focus,.fd-navigation__link:focus{z-index:5;--fdNavigation_Link_Border_Color:transparent;--fdNavigation_Link_Border_Bottom_Color:transparent;--fdNavigation_Link_Background:var(--sapList_Background);outline:var(--sapContent_FocusStyle) var(--sapContent_FocusWidth) var(--sapContent_FocusColor);outline-offset:-.125rem}.fd-navigation__link.is-focus.is-hover,.fd-navigation__link.is-focus:hover,.fd-navigation__link:focus.is-hover,.fd-navigation__link:focus:hover{--fdNavigation_Link_Background:var(--sapList_Hover_Background);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Hover);--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Hover)}.fd-navigation__link:focus-visible{outline-offset:-.125rem}.fd-navigation__link.is-disabled,.fd-navigation__link:disabled,.fd-navigation__link[aria-disabled=true]{opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-navigation__item{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-radius:var(--fdNavigation_Link_Border_Radius);height:100%;position:relative}.fd-navigation__item:after,.fd-navigation__item:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-navigation__item.is-expanded .fd-navigation__has-children-indicator,.fd-navigation__item.is-expanded .fd-navigation__has-children-indicator[dir=rtl],.fd-navigation__item[aria-expanded=true] .fd-navigation__has-children-indicator,.fd-navigation__item[aria-expanded=true] .fd-navigation__has-children-indicator[dir=rtl],[dir=rtl] .fd-navigation__item.is-expanded .fd-navigation__has-children-indicator,[dir=rtl] .fd-navigation__item[aria-expanded=true] .fd-navigation__has-children-indicator{--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ef\"}.fd-navigation__item.is-expanded+.fd-navigation__list-container,.fd-navigation__item[aria-expanded=true]+.fd-navigation__list-container{--fdNavigation_List_Container_Display:flex}.fd-navigation__item.is-expanded+.fd-navigation__list--parent-items,.fd-navigation__item[aria-expanded=true]+.fd-navigation__list--parent-items{--fdNavigation_List_Parent_Items_Display:flex}.fd-navigation__item.is-selected,.fd-navigation__item[aria-selected=true]{--fdNavigation_Link_Selection_Indicator_Display:inline-block;--fdNavigation_Link_Background:var(--sapList_SelectionBackgroundColor);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Selected);--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Selected)}.fd-navigation__item.is-selected .fd-navigation__link.is-focus,.fd-navigation__item.is-selected .fd-navigation__link:focus,.fd-navigation__item[aria-selected=true] .fd-navigation__link.is-focus,.fd-navigation__item[aria-selected=true] .fd-navigation__link:focus{z-index:5;--fdNavigation_Link_Background:var(--sapList_SelectionBackgroundColor);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Selected);--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Selected)}.fd-navigation__item.is-selected .fd-navigation__link.is-hover,.fd-navigation__item.is-selected .fd-navigation__link:hover,.fd-navigation__item[aria-selected=true] .fd-navigation__link.is-hover,.fd-navigation__item[aria-selected=true] .fd-navigation__link:hover{--fdNavigation_Link_Background:var(--sapList_Hover_SelectionBackground);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Selected);--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Selected)}.fd-navigation__item--child .fd-navigation__link{--fdNavigation_Link_Font_Family:var(--sapFontFamily);--fdNavigation_Link_Padding_Left:2.5rem}.fd-navigation__item--group{display:var(--fdNavigation_Item_Group_Display)}.fd-navigation__item--group .fd-navigation__link{--fdNavigation_Link_Text_Color:var(--sapContent_LabelColor);--fdNavigation_Link_Font_Family:var(--sapFontFamily);--fdNavigation_Link_Font_Size:var(--sapFontSize)}.fd-navigation__item--title{height:auto;-webkit-margin-after:var(--fdNavigation_Item_Title_Margin_Bottom,0);display:var(--fdNavigation_Item_Title_Display);margin-block-end:var(--fdNavigation_Item_Title_Margin_Bottom,0)}.fd-navigation__item--title .fd-navigation__text{font-weight:700;--fdNavigation_Item_Title_Display:block}.fd-navigation__item--title .fd-navigation__icon[class*=sap-icon]{display:none}.fd-navigation__item--menu.is-expanded,.fd-navigation__item--menu[aria-expanded=true]{--fdNavigation_Link_Background:var(--sapNavigation_Active_Background);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Active);--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Active)}.fd-navigation__item--menu.is-expanded .fd-navigation__has-children-indicator,.fd-navigation__item--menu[aria-expanded=true] .fd-navigation__has-children-indicator{--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ed\"}.fd-navigation__item--menu.is-expanded .fd-navigation__has-children-indicator[dir=rtl],.fd-navigation__item--menu[aria-expanded=true] .fd-navigation__has-children-indicator[dir=rtl],[dir=rtl] .fd-navigation__item--menu.is-expanded .fd-navigation__has-children-indicator,[dir=rtl] .fd-navigation__item--menu[aria-expanded=true] .fd-navigation__has-children-indicator{--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ee\"}.fd-navigation__item--menu.fd-navigation__item--child .fd-navigation__link{--fdNavigation_Link_Padding_Left:var(--fdNavigation_Link_Shift_Left)}.fd-navigation__item--with-expander .fd-navigation__link{--fdNavigation_Link_Padding_Right:calc(var(--fdNavigation_Controls_Width) + 1.3125rem)}.fd-navigation__item--with-expander .fd-navigation__has-children-indicator{--fdNavigation_Link_Has_Child_Indicator_Display:flex;cursor:pointer;position:absolute;right:var(--fdNavigation_Link_Has_Child_Indicator_Pos_Right,.375rem);z-index:20}.fd-navigation__item--with-expander .fd-navigation__has-children-indicator:after{background:var(--sapTextColor);content:\"\";display:var(--fdNavigation_Link_Has_Child_Indicator_Div_Display,inline-block);height:var(--sapElement_Condensed_Height);left:-.25rem;position:absolute;width:.0625rem}.fd-navigation__item--with-expander.is-hover .fd-navigation__link,.fd-navigation__item--with-expander:hover .fd-navigation__link{--fdNavigation_Link_Background:var(--sapList_Hover_Background);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Hover);--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Hover)}.fd-navigation__item--with-expander.is-active .fd-navigation__link,.fd-navigation__item--with-expander:active .fd-navigation__link{--fdNavigation_Link_Background:var(--sapList_Active_Background);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Active);--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Active)}.fd-navigation__item--with-expander.is-selected.is-hover .fd-navigation__link,.fd-navigation__item--with-expander.is-selected:hover .fd-navigation__link,.fd-navigation__item--with-expander[aria-selected=true].is-hover .fd-navigation__link,.fd-navigation__item--with-expander[aria-selected=true]:hover .fd-navigation__link{--fdNavigation_Link_Background:var(--sapList_Hover_SelectionBackground)}.fd-navigation__item--create{--fdNavigation_Link_Text_Color:var(--sapButton_TextColor);--fdNavigation_Link_Icon_Color:var(--sapButton_TextColor)}.fd-navigation__item--create .fd-navigation__link{border:var(--sapButton_BorderWidth) solid var(--fdNavigation_Quick_Create_Border_Color)}.fd-navigation__item--create .fd-navigation__link.is-active,.fd-navigation__item--create .fd-navigation__link:active{--fdNavigation_Quick_Create_Border_Color:var(--sapButton_Active_BorderColor);--fdNavigation_Link_Background:var(--sapButton_Active_Background)}.fd-navigation__icon{height:var(--fdNavigation_Link_Icon_Size);max-height:var(--fdNavigation_Link_Icon_Size);max-width:var(--fdNavigation_Link_Icon_Size);min-height:var(--fdNavigation_Link_Icon_Size);min-width:var(--fdNavigation_Link_Icon_Size);width:var(--fdNavigation_Link_Icon_Size)}.fd-navigation__icon [class*=sap-icon],.fd-navigation__icon[class*=sap-icon]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--fdNavigation_Link_Icon_Color);font-family:var(--sapFontBoldFamily);font-size:var(--fdNavigation_Link_Icon_Size)}.fd-navigation__text{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--fdNavigation_Link_Text_Color);display:var(--fdNavigation_Item_Text_Display);font-family:var(--sapFontFamily);font-family:var(--fdNavigation_Link_Font_Family);font-size:var(--sapFontSize);font-size:var(--fdNavigation_Link_Font_Size);font-weight:400;forced-color-adjust:none;line-height:normal;line-height:1rem;margin-block:0;margin-inline:0;overflow:hidden;padding-block:0;padding-inline:0;text-overflow:ellipsis;vertical-align:baseline;white-space:nowrap;width:100%}.fd-navigation__text:after,.fd-navigation__text:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-navigation__selection-indicator{background:var(--sapList_SelectionBorderColor);border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:var(--fdNavigation_Link_Selection_Indicator_Display);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:100%;left:0;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;position:absolute;top:0;width:.188rem}.fd-navigation__selection-indicator:after,.fd-navigation__selection-indicator:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-navigation__selection-indicator[dir=rtl],[dir=rtl] .fd-navigation__selection-indicator{left:auto;right:0}.fd-navigation__has-children-indicator{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--sapList_TextColor);display:var(--fdNavigation_Link_Has_Child_Indicator_Display);height:var(--fdNavigation_Controls_Height);max-height:var(--fdNavigation_Controls_Height);max-width:var(--fdNavigation_Controls_Width);min-height:var(--fdNavigation_Controls_Height);min-width:var(--fdNavigation_Controls_Width);-webkit-transition:opacity .3s ease-in-out;transition:opacity .3s ease-in-out;width:var(--fdNavigation_Controls_Width)}.fd-navigation__has-children-indicator:after,.fd-navigation__has-children-indicator:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-navigation__has-children-indicator:before{content:var(--fdNavigation_Link_Has_Child_Indicator_Icon);font-family:SAP-icons;font-size:1rem}[dir=rtl] .fd-navigation__has-children-indicator{--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ee\"}.fd-navigation__external-link-indicator{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--sapList_TextColor);display:var(--fdNavigation_Link_External_Link_Indicator_Display,flex);height:var(--fdNavigation_Controls_Height);max-height:var(--fdNavigation_Controls_Height);max-width:var(--fdNavigation_Controls_Width);min-height:var(--fdNavigation_Controls_Height);min-width:var(--fdNavigation_Controls_Width);width:var(--fdNavigation_Controls_Width)}.fd-navigation__external-link-indicator:after,.fd-navigation__external-link-indicator:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-navigation__external-link-indicator:before{content:var(--fdNavigation_Link_External_Link_Indicator_Icon);font-family:SAP-icons;font-size:1rem}.fd-navigation__external-link-indicator[dir=rtl],[dir=rtl] .fd-navigation__external-link-indicator{--fdNavigation_Link_External_Link_Indicator_Icon:\"\\e04d\"}.fd-navigation__back-indicator{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--sapContent_LabelColor);height:.75rem;max-height:.75rem;max-width:.75rem;min-height:.75rem;min-width:.75rem;width:.75rem}.fd-navigation__back-indicator:after,.fd-navigation__back-indicator:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-navigation__back-indicator:before{content:var(--fdNavigation_Link_Back_Indicator_Icon);font-family:SAP-icons;font-size:.75rem}.fd-navigation__back-indicator[dir=rtl],[dir=rtl] .fd-navigation__back-indicator{--fdNavigation_Link_Back_Indicator_Icon:\"\\e1ed\"}.fd-navigation--snapped .fd-navigation__container--bottom,.fd-navigation--snapped .fd-navigation__container--top{overflow:visible}.fd-navigation--snapped .fd-navigation__list-wrapper{padding-block:.5rem;padding-inline:.5rem}.fd-navigation--snapped .fd-navigation__list-container{background:var(--sapGroup_ContentBackground);border:none;border-radius:var(--sapPopover_BorderCornerRadius);-webkit-box-shadow:var(--sapContent_Shadow2);box-shadow:var(--sapContent_Shadow2)}.fd-navigation--snapped .fd-navigation__list-container.fd-navigation__list-container--menu{left:calc(100% + .1875rem);padding-block:.5rem;padding-inline:.5rem;position:absolute;top:0}.fd-navigation--snapped .fd-navigation__list-container.fd-navigation__list-container--menu[dir=rtl],[dir=rtl] .fd-navigation--snapped .fd-navigation__list-container.fd-navigation__list-container--menu{left:auto;right:calc(100% + .1875rem)}.fd-navigation--snapped .fd-navigation__list-container.fd-navigation__list-container--menu .fd-navigation__list-wrapper{padding-block:0;padding-inline:0}.fd-navigation--snapped .fd-navigation__list-container.fd-navigation__list-container--menu .fd-navigation__list{--fdNavigation_Item_Spacing:.5rem;-webkit-box-shadow:none;box-shadow:none}.fd-navigation--snapped .fd-navigation__list-container.fd-navigation__list-container--menu .fd-navigation__item.is-expanded .fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-container.fd-navigation__list-container--menu .fd-navigation__item[aria-expanded=true] .fd-navigation__has-children-indicator{--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ed\"}[dir=rtl] .fd-navigation--snapped .fd-navigation__list-container.fd-navigation__list-container--menu .fd-navigation__item .fd-navigation__has-children-indicator{--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ee\"}.fd-navigation--snapped .fd-navigation__list-container.fd-navigation__list-container--submenu{left:calc(100% + .1875rem);margin-block:0;margin-inline:0;padding-block:.5rem;padding-inline:.5rem;top:calc(var(--fdNavigation_Link_Min_Height) - .5rem)}.fd-navigation--snapped .fd-navigation__list-container.fd-navigation__list-container--submenu[dir=rtl],[dir=rtl] .fd-navigation--snapped .fd-navigation__list-container.fd-navigation__list-container--submenu{left:auto;right:calc(100% + .1875rem)}.fd-navigation--snapped .fd-navigation__list-container .fd-navigation__list--parent-items{--fdNavigation_List_Parent_Items_Display:flex}.fd-navigation--snapped .fd-navigation__item--group{--fdNavigation_Item_Group_Display:none}.fd-navigation--snapped .fd-navigation__item--child .fd-navigation__link{--fdNavigation_Link_Padding_Left:1rem}.fd-navigation--snapped .fd-navigation__list--child-items{--fdNavigation_Item_Spacing:.5rem;height:auto}.fd-navigation--snapped .fd-navigation__item--title{--fdNavigation_Item_Title_Display:block;--fdNavigation_Item_Title_Margin_Bottom:.5rem}.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title).is-expanded .fd-navigation__link,.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title)[aria-expanded=true] .fd-navigation__link{--fdNavigation_Link_Background:var(--sapList_Active_Background);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Active)}.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title).is-expanded.is-selected .fd-navigation__link,.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title).is-expanded[aria-selected=true] .fd-navigation__link,.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title)[aria-expanded=true].is-selected .fd-navigation__link,.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title)[aria-expanded=true][aria-selected=true] .fd-navigation__link{--fdNavigation_Link_Selection_Indicator_Display:inline-block;--fdNavigation_Link_Background:var(--sapList_SelectionBackgroundColor);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Selected)}.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title).is-expanded.is-selected.is-hover .fd-navigation__link,.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title).is-expanded.is-selected:hover .fd-navigation__link,.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title).is-expanded[aria-selected=true].is-hover .fd-navigation__link,.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title).is-expanded[aria-selected=true]:hover .fd-navigation__link,.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title)[aria-expanded=true].is-selected.is-hover .fd-navigation__link,.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title)[aria-expanded=true].is-selected:hover .fd-navigation__link,.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title)[aria-expanded=true][aria-selected=true].is-hover .fd-navigation__link,.fd-navigation--snapped .fd-navigation__item:not(.fd-navigation__item--title)[aria-expanded=true][aria-selected=true]:hover .fd-navigation__link{--fdNavigation_Link_Background:var(--sapList_Hover_SelectionBackground)}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link{--fdNavigation_Link_Spacing:0}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link .fd-navigation__text{--fdNavigation_Item_Text_Display:none}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link .fd-navigation__has-children-indicator{--fdNavigation_Controls_Width:1rem;--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ed\"}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link:has(.fd-navigation__external-link-indicator){--fdNavigation_Link_Padding_Right:0;--fdNavigation_Link_External_Link_Indicator_Display:none}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link.is-focus,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link.is-hover,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link:focus,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link:hover{--fdNavigation_Link_Padding_Right:1rem;--fdNavigation_Link_Spacing:.5rem;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link.is-focus:has(.fd-navigation__has-children-indicator),.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link.is-hover:has(.fd-navigation__has-children-indicator),.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link:focus:has(.fd-navigation__has-children-indicator),.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link:hover:has(.fd-navigation__has-children-indicator){--fdNavigation_Link_Padding_Right:.375rem}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link.is-focus:has(.fd-navigation__has-children-indicator) .fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link.is-hover:has(.fd-navigation__has-children-indicator) .fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link:focus:has(.fd-navigation__has-children-indicator) .fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link:hover:has(.fd-navigation__has-children-indicator) .fd-navigation__has-children-indicator{--fdNavigation_Controls_Width:2.25rem}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link.is-focus:has(.fd-navigation__external-link-indicator),.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link.is-hover:has(.fd-navigation__external-link-indicator),.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link:focus:has(.fd-navigation__external-link-indicator),.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link:hover:has(.fd-navigation__external-link-indicator){--fdNavigation_Link_Padding_Right:.375rem;--fdNavigation_Link_External_Link_Indicator_Display:flex}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link.is-focus .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link.is-hover .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link:focus .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)>.fd-navigation__link:hover .fd-navigation__text{--fdNavigation_Item_Text_Display:inline-block}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander>.fd-navigation__link{--fdNavigation_Link_Padding_Right:0}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander>.fd-navigation__link+.fd-navigation__has-children-indicator{--fdNavigation_Controls_Width:1rem;--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ed\";--fdNavigation_Link_Has_Child_Indicator_Pos_Right:0;--fdNavigation_Link_Has_Child_Indicator_Div_Display:none}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander.is-hover,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander:focus-within,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander:hover{min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander.is-hover>.fd-navigation__link,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander:focus-within>.fd-navigation__link,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander:hover>.fd-navigation__link{--fdNavigation_Link_Spacing:.5rem;--fdNavigation_Link_Padding_Right:calc(var(--fdNavigation_Controls_Width) + 1.3125rem)}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander.is-hover>.fd-navigation__link .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander:focus-within>.fd-navigation__link .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander:hover>.fd-navigation__link .fd-navigation__text{--fdNavigation_Item_Text_Display:inline-block}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander.is-hover>.fd-navigation__link+.fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander:focus-within>.fd-navigation__link+.fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander:hover>.fd-navigation__link+.fd-navigation__has-children-indicator{--fdNavigation_Controls_Width:2.25rem;--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ed\";--fdNavigation_Link_Has_Child_Indicator_Pos_Right:.375rem;--fdNavigation_Link_Has_Child_Indicator_Div_Display:inline-block}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander.is-expanded.is-hover>.fd-navigation__link,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander.is-expanded:focus-within>.fd-navigation__link,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander.is-expanded:hover>.fd-navigation__link,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander[aria-expanded=true].is-hover>.fd-navigation__link,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander[aria-expanded=true]:focus-within>.fd-navigation__link,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander[aria-expanded=true]:hover>.fd-navigation__link{--fdNavigation_Link_Spacing:0;--fdNavigation_Link_Padding_Right:0}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander.is-expanded.is-hover>.fd-navigation__link .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander.is-expanded:focus-within>.fd-navigation__link .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander.is-expanded:hover>.fd-navigation__link .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander[aria-expanded=true].is-hover>.fd-navigation__link .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander[aria-expanded=true]:focus-within>.fd-navigation__link .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander[aria-expanded=true]:hover>.fd-navigation__link .fd-navigation__text{--fdNavigation_Item_Text_Display:none}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander.is-expanded.is-hover>.fd-navigation__link+.fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander.is-expanded:focus-within>.fd-navigation__link+.fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander.is-expanded:hover>.fd-navigation__link+.fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander[aria-expanded=true].is-hover>.fd-navigation__link+.fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander[aria-expanded=true]:focus-within>.fd-navigation__link+.fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).fd-navigation__item--with-expander[aria-expanded=true]:hover>.fd-navigation__link+.fd-navigation__has-children-indicator{--fdNavigation_Controls_Width:1rem;--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ed\";--fdNavigation_Link_Has_Child_Indicator_Pos_Right:0;--fdNavigation_Link_Has_Child_Indicator_Div_Display:none}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link .fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link .fd-navigation__has-children-indicator{--fdNavigation_Controls_Width:1rem;--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ed\"}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link.is-focus,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link.is-hover,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link:focus,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link:hover,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link.is-focus,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link.is-hover,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link:focus,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link:hover{--fdNavigation_Link_Padding_Right:0}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link.is-focus:has(.fd-navigation__has-children-indicator),.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link.is-hover:has(.fd-navigation__has-children-indicator),.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link:focus:has(.fd-navigation__has-children-indicator),.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link:hover:has(.fd-navigation__has-children-indicator),.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link.is-focus:has(.fd-navigation__has-children-indicator),.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link.is-hover:has(.fd-navigation__has-children-indicator),.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link:focus:has(.fd-navigation__has-children-indicator),.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link:hover:has(.fd-navigation__has-children-indicator){--fdNavigation_Link_Spacing:0;--fdNavigation_Link_Padding_Right:0}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link.is-focus:has(.fd-navigation__has-children-indicator) .fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link.is-hover:has(.fd-navigation__has-children-indicator) .fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link:focus:has(.fd-navigation__has-children-indicator) .fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link:hover:has(.fd-navigation__has-children-indicator) .fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link.is-focus:has(.fd-navigation__has-children-indicator) .fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link.is-hover:has(.fd-navigation__has-children-indicator) .fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link:focus:has(.fd-navigation__has-children-indicator) .fd-navigation__has-children-indicator,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link:hover:has(.fd-navigation__has-children-indicator) .fd-navigation__has-children-indicator{--fdNavigation_Controls_Width:1rem}.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link.is-focus .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link.is-hover .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link:focus .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow).is-expanded>.fd-navigation__link:hover .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link.is-focus .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link.is-hover .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link:focus .fd-navigation__text,.fd-navigation--snapped .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child,.fd-navigation__item--overflow)[aria-expanded=true]>.fd-navigation__link:hover .fd-navigation__text{--fdNavigation_Item_Text_Display:none}.fd-navigation.fd-navigation--vertical{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-ms-flex-pack:justify;background:var(--sapList_Background);border-radius:var(--fdNavigation_Border_Radius);-webkit-box-shadow:var(--fdNavigation_Box_Shadow);box-shadow:var(--fdNavigation_Box_Shadow);height:var(--fdNavigation_Height);justify-content:space-between;min-width:16rem;padding-block:var(--fdNavigation_Padding_Top) var(--fdNavigation_Padding_Bottom)}.fd-navigation.fd-navigation--vertical.fd-navigation--popup{--fdNavigation_Height:auto;--fdNavigation_Padding_Top:.5rem;--fdNavigation_Border_Radius:.5rem;--fdNavigation_Box_Shadow:var(--sapNavigation_Shadow2)}.fd-navigation.fd-navigation--vertical.fd-navigation--popup .fd-navigation__container--bottom,.fd-navigation.fd-navigation--vertical.fd-navigation--popup .fd-navigation__container--top{--fdNavigation_Padding_X:.5rem}.fd-navigation.fd-navigation--vertical.fd-navigation--snapped{max-width:4rem;min-width:4rem;width:4rem}.fd-navigation.fd-navigation--horizontal{background:var(--sapNavigation_Background);height:var(--fdNavigation_Horizontal_Height);padding-block:calc((var(--fdNavigation_Horizontal_Height) - var(--fdNavigation_Link_Min_Height))*.5);padding-inline:1.5rem;width:100%}.fd-navigation.fd-navigation--horizontal .fd-navigation__link{--fdNavigation_Link_Spacing:.5rem;--fdNavigation_Link_Padding_Right:1rem}.fd-navigation.fd-navigation--horizontal .fd-navigation__link:has(.fd-navigation__has-children-indicator){--fdNavigation_Link_Padding_Right:.375rem}.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow).is-selected,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow)[aria-selected=true]{--fdNavigation_Link_Background:var(--fdNavigation_Item_Selected_Background);--fdNavigation_Link_Selection_Indicator_Display:inline-block}.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow).is-selected .fd-navigation__link.is-focus,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow).is-selected .fd-navigation__link:focus,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow)[aria-selected=true] .fd-navigation__link.is-focus,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow)[aria-selected=true] .fd-navigation__link:focus{z-index:5;--fdNavigation_Link_Background:var(--fdNavigation_Item_Selected_Background)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow).is-selected .fd-navigation__link.is-hover,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow).is-selected .fd-navigation__link:hover,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow)[aria-selected=true] .fd-navigation__link.is-hover,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow)[aria-selected=true] .fd-navigation__link:hover{--fdNavigation_Link_Background:var(--fdNavigation_Item_Selected_Background)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow).is-selected.is-expanded .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow).is-selected[aria-expanded=true] .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow)[aria-selected=true].is-expanded .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow)[aria-selected=true][aria-expanded=true] .fd-navigation__link{--fdNavigation_Link_Selection_Indicator_Display:inline-block;--fdNavigation_Link_Background:var(--fdNavigation_Item_Selected_Background)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow).is-selected.is-hover .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow).is-selected:hover .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow)[aria-selected=true].is-hover .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow)[aria-selected=true]:hover .fd-navigation__link{--fdNavigation_Link_Background:var(--sapList_Hover_SelectionBackground)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow) .fd-navigation__link.is-hover:before,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow) .fd-navigation__link:before,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow) .fd-navigation__link:hover:before,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow).is-expanded .fd-navigation__link:before,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--child):not(.fd-navigation__item--overflow)[aria-expanded=true] .fd-navigation__link:before{--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color)}.fd-navigation.fd-navigation--horizontal .fd-navigation__list:not(.fd-navigation__list--parent-items):not(.fd-navigation__list--child-items){--fdNavigation_Item_Spacing:.75rem;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.fd-navigation.fd-navigation--horizontal .fd-navigation__list:not(.fd-navigation__list--parent-items):not(.fd-navigation__list--child-items) .fd-navigation__has-children-indicator{--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e287\"}.fd-navigation.fd-navigation--horizontal .fd-navigation__list-item--spacer{height:.75rem;width:100%}.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu){--fdPopover_Offset: calc(100% + .3875rem) ;background:var(--sapGroup_ContentBackground);border:none;border-radius:.75rem;-webkit-box-shadow:var(--sapMenu_Shadow2);box-shadow:var(--sapMenu_Shadow2);padding-block:.05rem;padding-inline:.05rem}.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu{-webkit-box-shadow:var(--sapMenu_Shadow1);box-shadow:var(--sapMenu_Shadow1);padding-block:.5rem;padding-inline:.5rem;position:absolute;right:-.5rem;top:calc(100% + .3875rem)}.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu[dir=rtl],[dir=rtl] .fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu{left:-.5rem;right:auto}.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu .fd-navigation__list-wrapper{padding-block:0;padding-inline:0}.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu .fd-navigation__list{--fdNavigation_Item_Spacing:.25rem;-webkit-box-shadow:none;box-shadow:none}.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu .fd-navigation__item.is-expanded .fd-navigation__has-children-indicator,.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu .fd-navigation__item[aria-expanded=true] .fd-navigation__has-children-indicator{--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ed\"}[dir=rtl] .fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu .fd-navigation__item.is-expanded .fd-navigation__has-children-indicator,[dir=rtl] .fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu .fd-navigation__item[aria-expanded=true] .fd-navigation__has-children-indicator{--fdNavigation_Link_Has_Child_Indicator_Icon:\"\\e1ee\"}.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu .fd-navigation__item.fd-navigation__item--overflow .fd-navigation__has-children-indicator{display:none}.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child)>.fd-navigation__link.is-hover,.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child)>.fd-navigation__link:hover{width:100%}.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child)>.fd-navigation__link.is-hover .fd-navigation__text,.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--menu .fd-navigation__list-item>.fd-navigation__item:not(.fd-navigation__item--child)>.fd-navigation__link:hover .fd-navigation__text{--fdNavigation_Item_Text_Display:inline-block}.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--submenu{-webkit-box-shadow:var(--sapMenu_Shadow1);box-shadow:var(--sapMenu_Shadow1);left:calc(-100% - .1875rem);margin-block:0;margin-inline:0;padding-block:.5rem;padding-inline:.5rem;top:calc(var(--fdNavigation_Link_Min_Height) - .5rem)}.fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--submenu[dir=rtl],[dir=rtl] .fd-navigation.fd-navigation--horizontal .fd-navigation__list-container:not(.fd-navigation__list-container--submenu).fd-navigation__list-container--submenu{left:auto;right:calc(-100% - .1875rem)}.fd-navigation.fd-navigation--horizontal .fd-navigation__list-wrapper{padding-block:.7rem;padding-inline:.7rem}.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow).is-expanded .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow)[aria-expanded=true] .fd-navigation__link{--fdNavigation_Link_Background:var(--sapMenu_Active_Background);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Active);--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Active)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow).is-expanded .fd-navigation__link.is-focus,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow).is-expanded .fd-navigation__link:focus,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow)[aria-expanded=true] .fd-navigation__link.is-focus,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow)[aria-expanded=true] .fd-navigation__link:focus{z-index:5;--fdNavigation_Link_Background:var(--sapMenu_Active_Background);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Active);--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Active)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow).is-expanded.is-selected .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow).is-expanded[aria-selected=true] .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow)[aria-expanded=true].is-selected .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow)[aria-expanded=true][aria-selected=true] .fd-navigation__link{--fdNavigation_Link_Selection_Indicator_Display:inline-block;--fdNavigation_Link_Background:var(--fdNavigation_Item_Selected_Background);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Selected);--fdNavigation_Link_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Selected)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow).is-expanded.is-selected.is-hover .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow).is-expanded.is-selected:hover .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow).is-expanded[aria-selected=true].is-hover .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow).is-expanded[aria-selected=true]:hover .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow)[aria-expanded=true].is-selected.is-hover .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow)[aria-expanded=true].is-selected:hover .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow)[aria-expanded=true][aria-selected=true].is-hover .fd-navigation__link,.fd-navigation.fd-navigation--horizontal .fd-navigation__item:not(.fd-navigation__item--overflow)[aria-expanded=true][aria-selected=true]:hover .fd-navigation__link{--fdNavigation_Link_Background:var(--sapList_Hover_SelectionBackground)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item.fd-navigation__item--with-expander .fd-navigation__link{--fdNavigation_Link_Padding_Right:calc(1.6875rem + var(--fdNavigation_Controls_Width))}.fd-navigation.fd-navigation--horizontal .fd-navigation__item--child:not(.fd-navigation__item--submenu-child) .fd-navigation__link{--fdNavigation_Link_Padding_Left:var(--fdNavigation_Link_Shift_Left)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item--with-expander .fd-navigation__expander{border:none;margin-block:0;margin-inline:.0625rem;outline-offset:-.0625rem;-webkit-transition:var(--fdNavigation_Link_Transition);transition:var(--fdNavigation_Link_Transition);--fdButton_Nested_Border_Radius:var(--fdNavigation_Link_Border_Radius)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item--with-expander .fd-navigation__expander:after{border-bottom:.0625rem solid var(--fdNavigation_Expander_Border_Color);border:.0625rem solid var(--fdNavigation_Expander_Border_Color);border-bottom-color:var(--fdNavigation_Expander_Border_Bottom_Color);content:\"\";inset:0;position:absolute}.fd-navigation.fd-navigation--horizontal .fd-navigation__item--with-expander .fd-navigation__expander.is-hover,.fd-navigation.fd-navigation--horizontal .fd-navigation__item--with-expander .fd-navigation__expander:hover{--fdButton_Nested_Background:var(--sapList_Hover_Background);--fdNavigation_Expander_Border_Color:var(--fdNavigation_Link_Border_Color_Hover);--fdNavigation_Expander_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Hover)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item--with-expander .fd-navigation__expander.is-active,.fd-navigation.fd-navigation--horizontal .fd-navigation__item--with-expander .fd-navigation__expander:active{--fdButton_Nested_Background:var(--sapList_Active_Background);--fdNavigation_Expander_Border_Color:var(--fdNavigation_Link_Border_Color_Active);--fdNavigation_Expander_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Active)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item--with-expander .fd-navigation__expander.is-active.is-focus,.fd-navigation.fd-navigation--horizontal .fd-navigation__item--with-expander .fd-navigation__expander.is-active:focus,.fd-navigation.fd-navigation--horizontal .fd-navigation__item--with-expander .fd-navigation__expander:active.is-focus,.fd-navigation.fd-navigation--horizontal .fd-navigation__item--with-expander .fd-navigation__expander:active:focus{z-index:5;--fdNavigation_Expander_Border_Color:var(--fdNavigation_Link_Border_Color_Active);--fdNavigation_Expander_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Active)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item--with-expander .fd-navigation__expander:active:focus{--fdButton_Nested_Border_Radius:var(--fdNavigation_Link_Border_Radius)}.fd-navigation.fd-navigation--horizontal .fd-navigation__item--with-expander.is-expanded .fd-navigation__expander,.fd-navigation.fd-navigation--horizontal .fd-navigation__item--with-expander[aria-expanded=true] .fd-navigation__expander{--fdButton_Nested_Background:var(--fdNavigation_Item_Selected_Background);--fdNavigation_Link_Border_Color:var(--fdNavigation_Link_Border_Color_Selected);--fdNavigation_Expander_Border_Color:var(--fdNavigation_Link_Border_Color_Selected);--fdNavigation_Expander_Border_Bottom_Color:var(--fdNavigation_Link_Border_Color_Selected)}.fd-navigation.fd-navigation--horizontal .fd-navigation__list{--fdNavigation_Item_Spacing:.5rem}.fd-navigation[class*=-compact],[class*=-compact] .fd-navigation:not([class*=-cozy]){--fdNavigation_Link_Min_Height:2rem;--fdNavigation_Controls_Width:2rem;--fdNavigation_Controls_Height:1.5625rem}.fd-navigation .fd-navigation__container--top{padding-left:var(--fdNavigation_Padding_X);padding-right:var(--fdNavigation_Padding_X);padding-bottom:.25rem}.fd-navigation__list{min-height:100%;height:auto}.fd-navigation--snapped .fd-navigation__list-item--home{position:relative}.fd-navigation--snapped .fd-navigation__container--top{overflow:visible!important;display:flex;flex-direction:column}.fd-navigation--snapped .fd-navigation__container--top .fd-navigation__list{flex-grow:1;height:auto;min-height:0}.fd-navigation--snapped .fd-navigation__container--top .fd-navigation__list--no-grow{flex-grow:0}.fd-navigation--snapped .fd-navigation__container--hidden-overflow{overflow:hidden!important}.fd-navigation--expanded .fd-navigation__list-item--home,.fd-navigation--popup .fd-navigation__list-item--home{z-index:21}.fd-navigation__list-container--custom-menu{box-shadow:var(--sapMenu_Shadow1)}.fd-navigation__item--disabled{opacity:.6;cursor:default}.fd-navigation__item--disabled .fd-navigation__link{pointer-events:none;-webkit-user-select:none;user-select:none}.fd-navigation__item--disabled .fd-navigation__has-children-indicator{pointer-events:none;cursor:default}.fd-navigation__item--disabled:hover{background:transparent}.fd-navigation__list-item--spacer--hidden{display:none!important}.fd-navigation .fd-navigation__list-item--home-without-separator{margin-bottom:.125rem}.fd-navigation--snapped .fd-navigation__list-container.fd-navigation__list-container--menu{position:relative;transition:none}.fd-navigation__list-item:not(.fd-navigation__list-item--home){position:relative}.fd-navigation__list-container--menu>.fd-scrollbar{overflow:visible!important}.fd-navigation__list-container--menu .fd-navigation__list--parent-items .fd-navigation__list-item:before{content:\"\";position:absolute;top:0;bottom:0;left:-1rem;right:-1rem}.fd-navigation__list-container--menu .fd-navigation__list--parent-items .fd-navigation__list-item>.fd-navigation__list-container{display:none;top:-.5rem}.fd-navigation__list-container--menu .fd-navigation__list--parent-items .fd-navigation__list-item:hover>.fd-navigation__list-container,.fd-navigation__list-container--menu .fd-navigation__list--parent-items .fd-navigation__list-item:focus>.fd-navigation__list-container,.fd-navigation__list-container--menu .fd-navigation__list--parent-items .fd-navigation__list-item:focus-within>.fd-navigation__list-container{display:block}.fd-navigation__list-container--menu .fd-navigation__list--parent-items .fd-navigation__list-item .fd-navigation__list-container--submenu:before{content:\"\";position:absolute;top:-2rem;bottom:0;right:0;left:0}.fd-popover__body.fd-navigation__list-container{display:block}.fd-navigation__item .fd-popover-custom{max-width:none}.fd-navigation__item.fd-navigation__item--title .fd-navigation__has-children-indicator{display:none}.fd-navigation__item .fd-navigation__icon,.fd-navigation__item .fd-navigation__text{font-family:var(--sapFontSemiboldDuplexFamily)}.fd-navigation__item.fd-navigation__item--child .fd-navigation__icon,.fd-navigation__item.fd-navigation__item--child .fd-navigation__text{font-family:var(--sapFontFamily)}.fd-navigation.fd-navigation--expanded{width:16rem;min-width:16rem;max-width:16rem}.fd-navigation.fd-navigation--expanded .fd-navigation__item:not(.fd-navigation__item--create) .fd-navigation__text{white-space:normal}.fd-popover__body.fd-navigation__list-container.fd-navigation__list-wrapper{max-width:40rem}.fd-navigation__text{margin-block:.5rem}.fd-navigation.fd-navigation--vertical.fd-navigation--popup{--fdNavigation_Border_Radius: 0;--fdNavigation_Box_Shadow: none;--fdNavigation_Height: 100%}.fd-navigation.is-overlay{position:absolute;top:0;left:0}.fd-navigation.fd-navigation--expanded.is-overlay{position:absolute;top:0;left:0;right:0;width:100%;min-width:100%;max-width:100%}.fd-navigation__item.fd-navigation__item--create .fd-navigation__link{border:none;box-shadow:0 0 0 var(--sapButton_BorderWidth) var(--fdNavigation_Quick_Create_Border_Color)}.fd-navigation--snapped .fd-navigation__list-container.fd-navigation__list-container--menu{left:auto}.fd-navigation__list.fd-menu__list.fd-navigation__list--parent-items .fd-navigation__list-item.fd-navigation__list-item--separator:is(:first-child,:last-child){height:0;min-height:0;max-height:0}.fd-navigation__container.fd-navigation__container--bottom:before{display:flex;margin-block:0 .25rem}[dir=rtl] .fd-navigation__item--with-expander .fd-navigation__has-children-indicator{left:var(--fdNavigation_Link_Has_Child_Indicator_Pos_Right, .375rem);right:auto}[dir=rtl] .fd-navigation__item--with-expander .fd-navigation__has-children-indicator:after{right:-.25rem;left:auto}[dir=rtl] .fd-navigation__has-children-indicator:before{--fdNavigation_Link_Has_Child_Indicator_Icon: \"\\e1ee\"}[dir=rtl] .fd-navigation--snapped .fd-navigation__list-container.fd-navigation__list-container--menu{right:auto}[dir=rtl] .fd-navigation__item[aria-expanded=true] .fd-navigation__has-children-indicator:before{--fdNavigation_Link_Has_Child_Indicator_Icon: \"\\e1ef\"}[dir=rtl] .fd-navigation.fd-navigation--snapped .fd-navigation__has-children-indicator:before{--fdNavigation_Link_Has_Child_Indicator_Icon: \"\\e1ee\"}\n/*! Bundled license information:\n\nfundamental-styles/dist/navigation.css:\n (*!\n * Fundamental Library Styles v0.40.1\n * Copyright (c) 2025 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *)\n*/\n"] }]
|
|
1575
2308
|
}], ctorParameters: () => [], propDecorators: { class: [{
|
|
1576
2309
|
type: Input
|
|
2310
|
+
}], ariaLabel: [{
|
|
2311
|
+
type: Input
|
|
2312
|
+
}, {
|
|
2313
|
+
type: HostBinding,
|
|
2314
|
+
args: ['attr.aria-label']
|
|
2315
|
+
}], ariaRoleDescription: [{
|
|
2316
|
+
type: Input
|
|
2317
|
+
}, {
|
|
2318
|
+
type: HostBinding,
|
|
2319
|
+
args: ['attr.aria-roledescription']
|
|
1577
2320
|
}], mode: [{
|
|
1578
2321
|
type: Input
|
|
2322
|
+
}], isOverlay: [{
|
|
2323
|
+
type: Input,
|
|
2324
|
+
args: [{ transform: booleanAttribute }]
|
|
1579
2325
|
}], state: [{
|
|
1580
2326
|
type: Input
|
|
1581
2327
|
}], type: [{
|
|
1582
2328
|
type: Input
|
|
2329
|
+
}], selectionMode: [{
|
|
2330
|
+
type: Input
|
|
1583
2331
|
}], _navigationItemRef: [{
|
|
1584
2332
|
type: ContentChild,
|
|
1585
2333
|
args: [NavigationListItemRefDirective]
|
|
@@ -1591,6 +2339,70 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImpor
|
|
|
1591
2339
|
args: ['keydown', ['$event']]
|
|
1592
2340
|
}] } });
|
|
1593
2341
|
|
|
2342
|
+
class FdbNavigationDataSource extends BaseDataSource {
|
|
2343
|
+
/** @hidden */
|
|
2344
|
+
constructor(dataProvider) {
|
|
2345
|
+
super(dataProvider);
|
|
2346
|
+
this.dataProvider = dataProvider;
|
|
2347
|
+
/** @hidden */
|
|
2348
|
+
this.limitless = false;
|
|
2349
|
+
}
|
|
2350
|
+
}
|
|
2351
|
+
class ArrayNavigationDataSource extends FdbNavigationDataSource {
|
|
2352
|
+
/** @hidden */
|
|
2353
|
+
constructor(data) {
|
|
2354
|
+
super(new DataProvider(data));
|
|
2355
|
+
}
|
|
2356
|
+
}
|
|
2357
|
+
class ObservableNavigationDataSDataSource extends FdbNavigationDataSource {
|
|
2358
|
+
/** @hidden */
|
|
2359
|
+
constructor(data) {
|
|
2360
|
+
super(new DataProvider(data));
|
|
2361
|
+
}
|
|
2362
|
+
}
|
|
2363
|
+
class NavigationDataSourceParser {
|
|
2364
|
+
/**
|
|
2365
|
+
* Transforms plain array or observable into DataSource class.
|
|
2366
|
+
* @param source
|
|
2367
|
+
*/
|
|
2368
|
+
parse(source) {
|
|
2369
|
+
if (isDataSource(source)) {
|
|
2370
|
+
return source;
|
|
2371
|
+
}
|
|
2372
|
+
if (Array.isArray(source)) {
|
|
2373
|
+
return new ArrayNavigationDataSource(source);
|
|
2374
|
+
}
|
|
2375
|
+
if (isObservable(source)) {
|
|
2376
|
+
return new ObservableNavigationDataSDataSource(source);
|
|
2377
|
+
}
|
|
2378
|
+
return undefined;
|
|
2379
|
+
}
|
|
2380
|
+
}
|
|
2381
|
+
|
|
2382
|
+
class NavigationListDataSourceDirective extends DataSourceDirective {
|
|
2383
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: NavigationListDataSourceDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
2384
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.4", type: NavigationListDataSourceDirective, isStandalone: true, selector: "fdb-navigation[dataSource]", providers: [
|
|
2385
|
+
{
|
|
2386
|
+
provide: FD_DATA_SOURCE_TRANSFORMER,
|
|
2387
|
+
useClass: NavigationDataSourceParser
|
|
2388
|
+
}
|
|
2389
|
+
], usesInheritance: true, ngImport: i0 }); }
|
|
2390
|
+
}
|
|
2391
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: NavigationListDataSourceDirective, decorators: [{
|
|
2392
|
+
type: Directive,
|
|
2393
|
+
args: [{
|
|
2394
|
+
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
2395
|
+
selector: 'fdb-navigation[dataSource]',
|
|
2396
|
+
standalone: true,
|
|
2397
|
+
providers: [
|
|
2398
|
+
{
|
|
2399
|
+
provide: FD_DATA_SOURCE_TRANSFORMER,
|
|
2400
|
+
useClass: NavigationDataSourceParser
|
|
2401
|
+
}
|
|
2402
|
+
]
|
|
2403
|
+
}]
|
|
2404
|
+
}] });
|
|
2405
|
+
|
|
1594
2406
|
const FDB_NAVIGATION = [
|
|
1595
2407
|
NavigationComponent,
|
|
1596
2408
|
NavigationContentStartComponent,
|