@fundamental-ngx/cx 0.62.0-rc.98 → 0.62.0
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.
|
@@ -1130,7 +1130,7 @@ class NestedListPopoverComponent {
|
|
|
1130
1130
|
});
|
|
1131
1131
|
}
|
|
1132
1132
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NestedListPopoverComponent, deps: [{ token: NestedListKeyboardService }, { token: NestedItemService, optional: true }, { token: i3.Overlay }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1133
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.0", type: NestedListPopoverComponent, isStandalone: true, selector: "fdx-nested-list-popover", host: { properties: { "class.fdx-nested-list__popover": "this.popoverClass" } }, queries: [{ propertyName: "linkDirective", first: true, predicate: NestedLinkComponent, descendants: true }], viewQueries: [{ propertyName: "popoverComponent", first: true, predicate: PopoverComponent, descendants: true }], ngImport: i0, template: "<fd-popover\n [placement]=\"placement()\"\n [triggers]=\"['click']\"\n [noArrow]=\"false\"\n [isOpen]=\"open\"\n (isOpenChange)=\"handleOpenChange($event)\"\n [scrollStrategy]=\"_closeScrollStrategy\"\n>\n <fd-popover-control>\n <ng-content select=\"[fdx-nested-list-link]\"></ng-content>\n <ng-content select=\"[fdx-nested-list-content]\"></ng-content>\n </fd-popover-control>\n <fd-popover-body class=\"fdx-side-nav__popover-body fdx-nested-list--text-only\">\n <ng-content select=\"[fdx-nested-list]\"></ng-content>\n <ng-content select=\"fdx-prepared-nested-list\"></ng-content>\n </fd-popover-body>\n</fd-popover>\n", styles: [".fdx-side-nav--condensed .fd-popover-container-custom .fdx-nested-list__title{display:inline-flex}.fdx-side-nav--condensed .fdx-nested-list__popover-header{box-shadow:0 0 .25rem #00000026,inset 0 -.0625rem #d9d9d9}.fdx-side-nav--condensed .fd-popover-custom{display:block}[dir=rtl] .fdx-side-nav--condensed .fd-popover-container-custom .fdx-nested-list__link,.fdx-side-nav--condensed[dir=rtl] .fd-popover-container-custom .fdx-nested-list__link{padding-left:1rem}\n"], dependencies: [{ kind: "component", type: PopoverComponent, selector: "fd-popover", inputs: ["config", "title", "trigger", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll", "placement", "maxWidth", "fillControlMode", "closeOnOutsideClick", "closeOnEscapeKey", "disabled", "triggers", "focusTrapped", "focusAutoCapture", "restoreFocusOnClose", "noArrow", "disableScrollbar", "appendTo", "placementContainer", "scrollStrategy", "cdkPositions", "applyOverlay", "additionalBodyClass", "additionalTriggerClass", "closeOnNavigation", "fixedPosition", "resizable", "isOpen"], outputs: ["triggerChange", "isOpenChange", "beforeOpen"] }, { kind: "component", type: PopoverControlComponent, selector: "fd-popover-control, [fdPopoverControl]" }, { kind: "component", type: PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"], outputs: ["onClose"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1133
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.0", type: NestedListPopoverComponent, isStandalone: true, selector: "fdx-nested-list-popover", host: { properties: { "class.fdx-nested-list__popover": "this.popoverClass" } }, queries: [{ propertyName: "linkDirective", first: true, predicate: NestedLinkComponent, descendants: true }], viewQueries: [{ propertyName: "popoverComponent", first: true, predicate: PopoverComponent, descendants: true }], ngImport: i0, template: "<fd-popover\n [placement]=\"placement()\"\n [triggers]=\"['click']\"\n [noArrow]=\"false\"\n [isOpen]=\"open\"\n (isOpenChange)=\"handleOpenChange($event)\"\n [scrollStrategy]=\"_closeScrollStrategy\"\n>\n <fd-popover-control>\n <ng-content select=\"[fdx-nested-list-link]\"></ng-content>\n <ng-content select=\"[fdx-nested-list-content]\"></ng-content>\n </fd-popover-control>\n <fd-popover-body class=\"fdx-side-nav__popover-body fdx-nested-list--text-only\">\n <ng-content select=\"[fdx-nested-list]\"></ng-content>\n <ng-content select=\"fdx-prepared-nested-list\"></ng-content>\n </fd-popover-body>\n</fd-popover>\n", styles: [".fdx-side-nav--condensed .fd-popover-container-custom .fdx-nested-list__title{display:inline-flex}.fdx-side-nav--condensed .fdx-nested-list__popover-header{box-shadow:0 0 .25rem #00000026,inset 0 -.0625rem #d9d9d9}.fdx-side-nav--condensed .fd-popover-custom{display:block}[dir=rtl] .fdx-side-nav--condensed .fd-popover-container-custom .fdx-nested-list__link,.fdx-side-nav--condensed[dir=rtl] .fd-popover-container-custom .fdx-nested-list__link{padding-left:1rem}\n"], dependencies: [{ kind: "component", type: PopoverComponent, selector: "fd-popover", inputs: ["config", "title", "trigger", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll", "placement", "maxWidth", "fillControlMode", "closeOnOutsideClick", "closeOnEscapeKey", "disabled", "triggers", "focusTrapped", "focusAutoCapture", "restoreFocusOnClose", "noArrow", "disableScrollbar", "appendTo", "placementContainer", "scrollStrategy", "cdkPositions", "applyOverlay", "additionalBodyClass", "additionalTriggerClass", "closeOnNavigation", "fixedPosition", "resizable", "bodyAriaLabel", "isOpen"], outputs: ["triggerChange", "isOpenChange", "beforeOpen"] }, { kind: "component", type: PopoverControlComponent, selector: "fd-popover-control, [fdPopoverControl]" }, { kind: "component", type: PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"], outputs: ["onClose"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1134
1134
|
}
|
|
1135
1135
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NestedListPopoverComponent, decorators: [{
|
|
1136
1136
|
type: Component,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-cx-nested-list.mjs","sources":["../../../../libs/cx/nested-list/nested-item/nested-item.service.ts","../../../../libs/cx/nested-list/nested-list-directives.ts","../../../../libs/cx/nested-list/nested-link/nested-link.component.ts","../../../../libs/cx/nested-list/nested-content/nested-list-content.directive.ts","../../../../libs/cx/nested-list/nested-list-keyboard.service.ts","../../../../libs/cx/nested-list/nested-list-state.service.ts","../../../../libs/cx/nested-list/nested-list/nested-list.component.ts","../../../../libs/cx/nested-list/nested-item/nested-item.component.ts","../../../../libs/cx/nested-list/nested-list-popover/nested-list-popover.component.ts","../../../../libs/cx/nested-list/nested-list-popover/nested-list-popover.component.html","../../../../libs/cx/nested-list/prepared-nested-list/prepared-nested-list.component.ts","../../../../libs/cx/nested-list/prepared-nested-list/prepared-nested-list.component.html","../../../../libs/cx/nested-list/nested-list.module.ts","../../../../libs/cx/nested-list/fundamental-ngx-cx-nested-list.ts"],"sourcesContent":["import { Subject } from 'rxjs';\nimport { NestedListPopoverInterface } from '../nested-list-popover/nested-list-popover.interface';\nimport { NestedListInterface } from '../nested-list/nested-list.interface';\n\n/** Contains references to popover or list nested components, that are placed as direct children of item component */\nexport class NestedItemService {\n /** @hidden */\n list: NestedListInterface;\n /** @hidden */\n popover?: NestedListPopoverInterface;\n\n /** Subject fired when expand icon is clicked */\n toggle: Subject<boolean> = new Subject<boolean>();\n\n /** Subject fired, when child elements are focused */\n focus: Subject<void> = new Subject<void>();\n\n /** Subject fired, when content or link is clicked */\n click: Subject<void> = new Subject<void>();\n\n /** KeyDown handler, it is triggered from link, content and item elements */\n keyDown: Subject<KeyboardEvent> = new Subject<KeyboardEvent>();\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n Directive,\n ElementRef,\n HostBinding,\n HostListener,\n Input,\n ViewEncapsulation\n} from '@angular/core';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\nimport { NestedItemService } from './nested-item/nested-item.service';\n\nlet uniqueId = 0;\n\n@Directive({\n selector: '[cxNestedDirectivesHeader], [fdx-nested-list-header]',\n standalone: true\n})\nexport class NestedListHeaderDirective {\n /** Id of the element. */\n @Input()\n @HostBinding('attr.id')\n id: string | null = `fdx-nested-list-group-header-${++uniqueId}`;\n\n /** @hidden */\n @HostBinding('class.fdx-nested-list__group-header')\n cxNestedListHeaderClass = true;\n\n /** @hidden */\n constructor(private _elementRef: ElementRef) {}\n\n /** Get the header title */\n get title(): string {\n return this._elementRef.nativeElement.textContent;\n }\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[cxNestedDirectivesIcon], [fdx-nested-list-icon]',\n template: `<ng-content></ng-content>`\n})\nexport class NestedListIconComponent extends IconComponent {\n /** Role attribute */\n @Input()\n @HostBinding('attr.role')\n role = 'presentation';\n\n /** @hidden */\n @HostBinding('class.fdx-nested-list__icon')\n fdNestedListIconClass = true;\n}\n\n@Directive({\n selector: '[cxNestedDirectivesTitle], [fdx-nested-list-title]'\n})\nexport class NestedListTitleDirective {\n /** @hidden */\n @HostBinding('class.fdx-nested-list__title')\n fdNestedListTitleClass = true;\n\n /** @hidden */\n constructor(private elementRef: ElementRef) {}\n\n /** Returns element's InnerText */\n getInnerText(): string {\n return this.elementRef && this.elementRef.nativeElement.textContent;\n }\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[cxNestedListExpandIcon], [fdx-nested-list-expand-icon]',\n template: ` <ng-content></ng-content> `,\n host: {\n 'aria-haspopup': 'true',\n role: 'presentation'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class NestedListExpandIconComponent {\n /** @hidden */\n @HostBinding('class.fdx-nested-list__arrow')\n fdNestedListArrowClass = true;\n\n /** @hidden */\n @HostBinding('class.sap-icon--navigation-down-arrow')\n get fdNestedListDownArrowClass(): boolean {\n return this.expanded;\n }\n\n /** @hidden */\n @HostBinding('class.sap-icon--navigation-right-arrow')\n get fdNestedListRightArrowClass(): any {\n return !this.expanded;\n }\n\n /**\n * @hidden\n * Attribute controlled by the parent `NestedItemComponent`\n */\n @HostBinding('class.is-expanded')\n @HostBinding('attr.aria-expanded')\n expanded = false;\n\n /** @hidden */\n @HostBinding('attr.aria-hidden')\n ariaHidden = true;\n\n /** @hidden */\n constructor(\n private _itemService: NestedItemService,\n private _changeDetRef: ChangeDetectorRef\n ) {}\n\n /** Mouse event handler */\n @HostListener('click', ['$event'])\n onClick(event?: MouseEvent): void {\n this.expanded = !this.expanded;\n this._itemService.toggle.next(this.expanded);\n event?.stopPropagation();\n }\n\n /** Handler for focus events */\n @HostListener('focus')\n onFocus(): void {\n this._itemService.focus.next();\n }\n\n /** @hidden */\n changeExpandedState(expanded: boolean): void {\n this.expanded = expanded;\n this._changeDetRef.detectChanges();\n }\n}\n\n@Directive({\n selector: '[cxNestedDirectivesButton], [fdx-nested-list-button]'\n})\nexport class NestedListButtonDirective implements AfterContentInit {\n /** @hidden */\n @HostBinding('class.fdx-nested-list__button')\n fdNestedListButtonClass = true;\n\n /** @hidden */\n @ContentChild(NestedListExpandIconComponent)\n _expandIcon: NestedListExpandIconComponent;\n\n /** @hidden */\n @HostListener('click', ['$event'])\n @HostListener('keydown.enter', ['$event'])\n @HostListener('keydown.space', ['$event'])\n onClick(event: Event): void {\n event.preventDefault();\n event.stopPropagation();\n this._expandIcon.onClick();\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n if (this._expandIcon) {\n this._expandIcon.fdNestedListArrowClass = false;\n }\n }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n Output,\n Renderer2\n} from '@angular/core';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { NestedItemService } from '../nested-item/nested-item.service';\nimport {\n NestedListButtonDirective,\n NestedListExpandIconComponent,\n NestedListTitleDirective\n} from '../nested-list-directives';\n\n@Component({\n template: `\n @if (!_nestedListButton) {\n <div class=\"fdx-nested-list__link-container\">\n <ng-template [ngTemplateOutlet]=\"containerContent\"></ng-template>\n </div>\n }\n @if (_nestedListButton) {\n <a tabindex=\"0\" class=\"fdx-nested-list__link-container\">\n <ng-template [ngTemplateOutlet]=\"containerContent\"></ng-template>\n </a>\n }\n <ng-content select=\"[fdx-nested-list-button]\"></ng-content>\n <ng-template #containerContent>\n <ng-content select=\"[fdx-nested-list-icon]\"></ng-content>\n <ng-content select=\"[fdx-nested-list-title]\"></ng-content>\n <ng-content select=\"[fdx-nested-list-expand-icon]\"></ng-content>\n </ng-template>\n `,\n imports: [NgTemplateOutlet],\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector:\n // eslint-disable-next-line @angular-eslint/component-selector\n '[fdx-nested-list-link], button[fdx-nested-list-link], a[fdx-nested-list-link], div[fdx-nested-list-link]',\n host: {\n '[attr.tabindex]': '!_nestedListButton ? 0 : -1'\n }\n})\nexport class NestedLinkComponent {\n /** Function that is called on click event dispatch on this element. */\n @Input()\n onClickCallback: () => void;\n\n /** Whether this element is selected*/\n @Input()\n @HostBinding('attr.aria-selected')\n @HostBinding('class.is-selected')\n selected = false;\n\n /** @hidden */\n @HostBinding('attr.aria-label')\n _ariaLabel: string;\n\n /** @hidden */\n @Input()\n @HostBinding('attr.aria-describedby')\n ariaDescribedby: Nullable<string | number>;\n\n /** Event thrown, when selected state is changed */\n @Output()\n selectedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** @hidden */\n @HostBinding('class.fdx-nested-list__link')\n cxNestedListItemClass = true;\n\n /** @hidden */\n @HostBinding('attr.role')\n role = 'treeitem';\n\n /**\n * @hidden\n * Reference to title element, it is used, to get title for condensed mode.\n */\n @ContentChild(NestedListTitleDirective)\n title: NestedListTitleDirective;\n\n /** @hidden */\n @ContentChild(NestedListButtonDirective)\n _nestedListButton: NestedListButtonDirective;\n\n /** @hidden */\n @ContentChild(NestedListExpandIconComponent)\n _expandIcon: NestedListExpandIconComponent;\n\n /** @hidden */\n constructor(\n public changeDetRef: ChangeDetectorRef,\n private _renderer: Renderer2,\n private _elementRef: ElementRef,\n private _itemService: NestedItemService\n ) {}\n\n /** @hidden */\n get elementRef(): ElementRef<HTMLElement> {\n return this._elementRef;\n }\n\n /** Handler for keyboard events */\n @HostListener('keydown', ['$event'])\n onKeyDown(event: Event): void {\n this._itemService.keyDown.next(event as KeyboardEvent);\n }\n\n /** Handler for mouse events */\n @HostListener('click')\n onClick(): void {\n if (this._collapseOnly) {\n this._expandIcon.onClick();\n } else {\n this._itemService.click.next();\n if (this.onClickCallback) {\n this.onClickCallback();\n }\n }\n }\n\n /** Handler for focus events */\n @HostListener('focus')\n onFocus(): void {\n this._itemService.focus.next();\n }\n\n /** Method to trigger selected state change */\n changeSelected(selected: boolean): void {\n this.selected = selected;\n this.selectedChange.emit(selected);\n this.changeDetRef.markForCheck();\n }\n\n /** Set focus on the element. */\n focus(): void {\n this._elementRef.nativeElement.focus();\n }\n\n /** Dispatches the click event on the element */\n click(): void {\n this._elementRef.nativeElement.click();\n }\n\n /** Returns the title value of the title directive */\n getTitle(): string {\n return this.title && this.title.getInnerText();\n }\n\n /** @hidden */\n private get _collapseOnly(): boolean {\n return !this._nestedListButton && this._expandIcon;\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectorRef,\n ContentChild,\n DestroyRef,\n Directive,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n Output,\n inject\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { NestedItemService } from '../nested-item/nested-item.service';\nimport { NestedLinkComponent } from '../nested-link/nested-link.component';\nimport { NestedListExpandIconComponent } from '../nested-list-directives';\n\n@Directive({\n selector: '[cxNestedListContent], [fdx-nested-list-content]',\n standalone: true,\n host: {\n tabindex: '0'\n }\n})\nexport class NestedListContentDirective implements AfterContentInit {\n /** Whether this element is selected*/\n @Input()\n @HostBinding('attr.aria-selected')\n @HostBinding('class.is-selected')\n selected = false;\n\n /** @hidden */\n @HostBinding('attr.role')\n role = 'treeitem';\n\n /** @hidden */\n @HostBinding('attr.aria-expanded')\n ariaExpanded = false;\n\n /** Event thrown, when selected state is changed */\n @Output()\n selectedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** Event that is thrown, when any keyboard event is dispatched on this element */\n @Output()\n readonly keyboardTriggered: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n\n /** Event that is thrown, when this element is clicked */\n @Output()\n readonly clicked: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n\n /** @hidden */\n @HostBinding('class.fdx-nested-list__content')\n cxNestedListContentClass = true;\n\n /**\n * @hidden\n * Attribute controlled by the parent `NestedItemComponent`\n */\n @HostBinding('class.has-child')\n hasChildren = false;\n\n /** @hidden */\n @ContentChild(NestedLinkComponent)\n nestedLink: NestedLinkComponent;\n\n /** @hidden */\n @ContentChild(NestedListExpandIconComponent)\n nestedExpandIcon: NestedListExpandIconComponent;\n\n /** @hidden */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n constructor(\n public changeDetRef: ChangeDetectorRef,\n private _elementRef: ElementRef,\n private _itemService: NestedItemService\n ) {}\n\n /** Keyboard Event Handler */\n @HostListener('keydown', ['$event'])\n onKeyDown(event: KeyboardEvent): void {\n this.keyboardTriggered.emit(event);\n this._itemService.keyDown.next(event);\n }\n\n /** Handler for mouse events */\n @HostListener('click')\n onClick(): void {\n this._itemService.click.next();\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._makeLinkUnFocusable();\n this._setFocusSubscription();\n }\n\n /** Method to trigger selected state change */\n changeSelected(selected: boolean): void {\n this.selected = selected;\n this.selectedChange.emit(selected);\n }\n\n /** Set focus on the element. */\n focus(): void {\n this._elementRef.nativeElement.focus();\n }\n\n /** Dispatches the click event on the element */\n click(): void {\n this.focus();\n if (this.nestedLink) {\n this.nestedLink.click();\n }\n }\n\n /** Add subscription for child focusing */\n private _setFocusSubscription(): void {\n this._itemService.focus.pipe(takeUntilDestroyed(this._destroyRef)).subscribe(() => this.focus());\n }\n\n /** Hide link child element from tab key */\n private _makeLinkUnFocusable(): void {\n if (this.nestedLink) {\n this.nestedLink.elementRef.nativeElement.tabIndex = -1;\n this.changeDetRef.detectChanges();\n }\n }\n}\n","import { LEFT_ARROW, RIGHT_ARROW } from '@angular/cdk/keycodes';\nimport { inject, Injectable } from '@angular/core';\nimport { KeyUtil, RtlService } from '@fundamental-ngx/cdk/utils';\nimport { MenuKeyboardService } from '@fundamental-ngx/core/menu';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { NestedItemInterface } from './nested-item/nested-item.interface';\nimport { NestedListInterface } from './nested-list/nested-list.interface';\n\n/**\n * Nested list keyboard service, which uses MenuKeyboardService, to deal with ArrowUp, ArrowDown, Space, Enter.\n * Also has own handling of ArrowLeft and ArrowRight, to open/close the menu if it has any children.\n */\n@Injectable()\nexport class NestedListKeyboardService {\n /**\n * Event, that is thrown always, when the open/close i being called on item components.\n * Also triggers changing of elements, to remove closed/hidden elements\n */\n readonly refresh$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n private readonly keyboardService = inject(MenuKeyboardService);\n\n /** @hidden */\n private readonly _rtlService = inject(RtlService, { optional: true });\n\n /**\n * Function called after refresh$ event is triggered.\n * Refresh the list of NestedItems, that the keyboard support should be provided for\n */\n refreshItems(lists: NestedListInterface[]): void {\n const items: NestedItemInterface[] = [];\n\n /** Gathering all of the items */\n lists.forEach((list) => items.push(...this._getAllListItems(list)));\n /** Putting the keyboard support function to each of the items */\n items.forEach((item, index) => {\n item.keyboardTriggered\n .pipe(takeUntil(this.refresh$))\n .subscribe((keyboardEvent: KeyboardEvent) => this._handleKeyDown(keyboardEvent, index, items));\n });\n }\n\n /** Recursive function to get all of the NestedItem elements in correct order. */\n private _getItems(item: NestedItemInterface): NestedItemInterface[] {\n const childrenItems = item.expanded ? item.allChildrenItems : [];\n return childrenItems.reduce(\n (actualArray: NestedItemInterface[], nextItem: NestedItemInterface) => [\n ...actualArray,\n ...this._getItems(nextItem)\n ],\n [item]\n );\n }\n\n /** Method that calls the recursive function, getItems() and gathers all of the items in the NestedList */\n private _getAllListItems(list: NestedListInterface): NestedItemInterface[] {\n const _items: NestedItemInterface[] = [];\n if (list && list.nestedItems && list.nestedItems.length > 0) {\n list.nestedItems.forEach((item) => {\n _items.push(...this._getItems(item));\n });\n }\n\n return _items;\n }\n\n /**\n * Keyboard handle function. Uses keyboard support service from MenuComponent, to deal with ArrowUp, ArrowDown, Space, Enter.\n * For ArrowRight, if item is not expanded and has children (list or popup), the open function is triggered.\n * Otherwise it follows ArrowDown functionality.\n * For ArrowLeft, if item is expanded and has children (list or popup), the close function is triggered.\n * Otherwise it follows ArrowUp functionality\n */\n private _handleKeyDown(keyboardEvent: KeyboardEvent, index: number, items: NestedItemInterface[]): void {\n const item: NestedItemInterface = items[index];\n const isRtl = this._rtlService?.rtl() ?? false;\n\n if (\n (!isRtl && KeyUtil.isKeyCode(keyboardEvent, RIGHT_ARROW)) ||\n (isRtl && KeyUtil.isKeyCode(keyboardEvent, LEFT_ARROW))\n ) {\n if (!item.expanded && item.hasChildren) {\n item.triggerOpen();\n }\n keyboardEvent.preventDefault();\n }\n\n if (\n (!isRtl && KeyUtil.isKeyCode(keyboardEvent, LEFT_ARROW)) ||\n (isRtl && KeyUtil.isKeyCode(keyboardEvent, RIGHT_ARROW))\n ) {\n if (item.expanded && item.hasChildren) {\n item.triggerClose();\n }\n keyboardEvent.preventDefault();\n }\n\n this.keyboardService.keyDownHandler(keyboardEvent, index, items);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable()\nexport class NestedListStateService {\n /**\n * @hidden\n * The condensed state is modified by the parent and read by nested lists.\n */\n condensed = false;\n\n /**\n * @hidden\n */\n selectable = true;\n\n /** @hidden */\n onSelected: Subject<string> = new Subject<string>();\n}\n","import {\n AfterContentInit,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n DestroyRef,\n ElementRef,\n HostBinding,\n Injector,\n Input,\n Optional,\n QueryList,\n effect,\n forwardRef,\n inject\n} from '@angular/core';\nimport { startWith } from 'rxjs';\n\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { FD_LANGUAGE_SIGNAL, FdLanguage, TranslationResolver } from '@fundamental-ngx/i18n';\nimport { NestedItemComponent } from '../nested-item/nested-item.component';\nimport { NestedItemService } from '../nested-item/nested-item.service';\nimport { NestedListHeaderDirective } from '../nested-list-directives';\nimport { NestedListKeyboardService } from '../nested-list-keyboard.service';\nimport { NestedListStateService } from '../nested-list-state.service';\nimport { NestedListInterface } from './nested-list.interface';\n\n@Component({\n template: ` <ng-content></ng-content> `,\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[cxNestedList], [fdx-nested-list], ul[fdx-nested-list]',\n standalone: true,\n providers: [contentDensityObserverProviders()]\n})\nexport class NestedListComponent implements AfterContentInit, NestedListInterface {\n /** In case the user wants to no use icons for items in this list */\n @Input()\n @HostBinding('class.fdx-nested-list--text-only')\n textOnly = false;\n\n /** Aria defines role description for the Nested List Tree. */\n @Input()\n ariaRoledescriptionTree = 'Navigation List Tree';\n\n /** Aria defines role description for the Nested List MenuBar. */\n @Input()\n ariaRoledescriptionMenuBar = 'Navigation List Menu Bar';\n\n /** Aria defines aria label for the selected item when the list with disabled selection. */\n @Input()\n ariaLabelSelected = 'Selected';\n\n /** @hidden */\n @HostBinding('class.fdx-nested-list')\n fdNestedListItemClass = true;\n\n /** @hidden */\n @HostBinding('attr.aria-hidden')\n hidden = false;\n\n /**\n * @hidden\n * This variable is mostly to keep track of this list's children. There is not usage of it inside this directive,\n * but it's used by services and NestedItemComponent by itself,\n */\n @ContentChildren(forwardRef(() => NestedItemComponent))\n nestedItems: QueryList<NestedItemComponent>;\n\n /** @hidden */\n @ContentChild(NestedListHeaderDirective)\n protected _nestedListHeader: NestedListHeaderDirective;\n\n /** @hidden */\n @ContentChildren(forwardRef(() => NestedListComponent), { descendants: true })\n protected _nestedLists: QueryList<NestedListComponent>;\n\n /** @hidden */\n @HostBinding('attr.role')\n protected _role = 'tree';\n\n /** @hidden */\n @HostBinding('attr.aria-roledescription')\n protected _ariaRoledescription: Nullable<string> = this.ariaRoledescriptionTree;\n\n /** @hidden */\n @HostBinding('attr.aria-haspopup')\n protected _ariaHaspopup: Nullable<string> = null;\n\n /** @hidden */\n @HostBinding('attr.tabindex')\n protected _tabindex = '-1';\n\n /** @hidden */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n private readonly _translationResolver = new TranslationResolver();\n\n /** @hidden */\n private readonly _langSignal = inject(FD_LANGUAGE_SIGNAL);\n\n /** @hidden */\n private readonly _injector = inject(Injector);\n\n /** @hidden */\n constructor(\n @Optional() private _nestedItemService: NestedItemService,\n private _nestedListStateService: NestedListStateService,\n private _nestedListKeyboardService: NestedListKeyboardService,\n private _elementRef: ElementRef,\n private _changeDetectionRef: ChangeDetectorRef\n ) {\n if (this._nestedItemService) {\n this._nestedItemService.list = this;\n }\n inject(ContentDensityObserver).subscribe();\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._handleNestedLevel();\n }\n\n /** @hidden */\n detectChanges(): void {\n this._changeDetectionRef.markForCheck();\n }\n\n /** @hidden */\n private _handleNestedLevel(): void {\n const nestedLevel: number = this._getNestedLevel();\n\n this._setAccessibilityProperties(nestedLevel);\n\n // Register effect with explicit injector context\n effect(\n () => {\n const lang = this._langSignal();\n this._nestedListKeyboardService.refresh$.next();\n this._setAriaAttributes(nestedLevel, lang);\n },\n { injector: this._injector }\n );\n\n // React to nested items changes\n this.nestedItems.changes.pipe(startWith(undefined), takeUntilDestroyed(this._destroyRef)).subscribe(() => {\n const lang = this._langSignal();\n this._nestedListKeyboardService.refresh$.next();\n this._setAriaAttributes(nestedLevel, lang);\n /** Adding class with the nested level */\n this._elementRef.nativeElement.classList.add('level-' + nestedLevel);\n });\n }\n\n /**\n * @hidden\n * Method, that checks how deep is the list element\n */\n private _getNestedLevel(): number {\n let element = this._elementRef.nativeElement;\n const parentElements: Element[] = [];\n\n /** Method that gathers all the parentNode elements of current NestedListComponent element */\n while (element.parentNode) {\n parentElements.unshift(element);\n element = element.parentNode;\n }\n\n /** Filter only elements, that has `fdx-nested-list` directive attribute */\n const filteredParentElements = parentElements.filter((_element) => _element.hasAttribute('fdx-nested-list'));\n\n let retVal = filteredParentElements.length;\n\n if (this._nestedItemService?.popover) {\n retVal += 1;\n }\n\n return retVal;\n }\n\n /** @hidden */\n private _setAriaAttributes(level: number, lang: FdLanguage): void {\n this.nestedItems.forEach((item, i) => {\n item._ariaLevel = level;\n if (!item.linkItem) {\n return;\n } else {\n item.linkItem.ariaDescribedby = this._nestedListHeader?.id || null;\n item.linkItem._ariaLabel = this._translationResolver.resolve(lang, 'coreNestedList.linkItemAriaLabel', {\n itemDetails: item.linkItem.getTitle(),\n index: i + 1, // TODO: this property has been deprecated and will be removed from translations\n total: this.nestedItems.length, // TODO: this property has been deprecated and will be removed from translations\n selectedDescription:\n !this._nestedListStateService.selectable && item.linkItem.selected\n ? ', ' + this.ariaLabelSelected\n : ''\n });\n }\n });\n\n this._changeDetectionRef.detectChanges();\n }\n\n /** @hidden */\n private _setAccessibilityProperties(level: number): void {\n if (this._nestedListStateService.condensed && level === 1) {\n this._ariaRoledescription = this.ariaRoledescriptionMenuBar;\n }\n\n if (level > 1 || (this._nestedItemService?.popover && !this._nestedListStateService.condensed)) {\n this._role = 'group';\n this._ariaRoledescription = null;\n }\n\n if (this._nestedItemService?.popover) {\n this._ariaHaspopup = 'tree';\n }\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n DestroyRef,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n booleanAttribute,\n forwardRef,\n inject\n} from '@angular/core';\nimport { filter } from 'rxjs/operators';\n\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { NestedListContentDirective } from '../nested-content/nested-list-content.directive';\nimport { NestedLinkComponent } from '../nested-link/nested-link.component';\nimport { NestedListExpandIconComponent } from '../nested-list-directives';\nimport { NestedListKeyboardService } from '../nested-list-keyboard.service';\nimport { NestedListStateService } from '../nested-list-state.service';\nimport { NestedListComponent } from '../nested-list/nested-list.component';\nimport { NestedItemInterface } from './nested-item.interface';\nimport { NestedItemService } from './nested-item.service';\n\nlet sideNavigationItemUniqueId = 0;\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[cxNestedItem], [fdx-nested-list-item], li[fdx-nested-list-item]',\n template: ` <ng-content></ng-content> `,\n providers: [NestedItemService],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n role: 'treeitem'\n }\n})\nexport class NestedItemComponent implements AfterContentInit, NestedItemInterface {\n /** Whether item should be expanded */\n @Input() set expanded(expanded: boolean) {\n if (expanded !== this._expanded) {\n this.propagateOpenChange(expanded);\n }\n }\n\n /** @hidden */\n get expanded(): boolean {\n return this._expanded;\n }\n\n /** @hidden */\n @HostBinding('class.fdx-nested-list__item--group')\n @Input({ transform: booleanAttribute })\n group = false;\n\n /** Event thrown, when expanded state is changed */\n @Output()\n readonly expandedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** Event thrown, when any keyboard event is dispatched on this, or link element */\n @Output()\n readonly keyboardTriggered: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n\n /** @hidden */\n @Input()\n @HostBinding('class.fdx-nested-list__item')\n fdNestedListItemClass = true;\n\n /** Whether this item is a header item. */\n @Input()\n @HostBinding('class.fdx-nested-list__item--header')\n header = false;\n\n /** Whether this item is only meant for display purposes, meaning it cannot be used for navigation or shown as selected. */\n @Input()\n display = false;\n\n /**\n * @Input\n * Applies `aria-hidden` to the element.\n * Set to `true` for non-focusable elements without focusable children to hide them from assistive technologies.\n */\n @Input()\n @HostBinding('attr.aria-hidden')\n ariaHidden = false;\n\n /**\n * @hidden\n * Reference to the link directive, to allow manipulating the properties of this element.\n */\n @ContentChild(NestedLinkComponent)\n linkItem: NestedLinkComponent;\n\n /**\n * @hidden\n * Mostly used, when this item has list\n * Reference to the content directive, to allow manipulating the properties of this element.\n */\n @ContentChild(NestedListContentDirective)\n contentItem: NestedListContentDirective;\n\n /** @hidden */\n @ContentChild(NestedListExpandIconComponent, { descendants: true })\n expandIcon: NestedListExpandIconComponent;\n\n /** @hidden */\n @ContentChild(forwardRef(() => NestedListComponent))\n _nestedList: NestedListComponent;\n\n /** @hidden */\n @HostBinding('attr.aria-level')\n _ariaLevel: Nullable<number> = null;\n\n /** @hidden */\n @HostBinding('attr.title')\n _title: string;\n\n /** @hidden */\n @HostBinding('style.display')\n _display = 'block';\n\n /** @hidden */\n @HostBinding('attr.role')\n protected _role: string;\n\n /** @hidden */\n @HostBinding('attr.aria-expanded')\n protected _ariaExpanded: Nullable<boolean> = null;\n\n /** @hidden */\n @HostBinding('attr.aria-selected')\n protected _ariaSelected: Nullable<boolean> = null;\n\n /** @hidden */\n @HostBinding('attr.aria-disabled')\n protected _ariaDisabled = false;\n\n /** @hidden */\n @HostBinding('attr.aria-label')\n protected _ariaLabel: string;\n\n /** @hidden */\n _narrow = false;\n\n /** @hidden */\n private _expanded = false;\n\n /** @hidden */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n private readonly _cdr = inject(ChangeDetectorRef);\n\n /** Unique element ID */\n private readonly _elementId: string = 'fdNestedItem' + sideNavigationItemUniqueId++;\n\n /** @hidden */\n constructor(\n private _itemService: NestedItemService,\n private _keyboardService: NestedListKeyboardService,\n private _stateService: NestedListStateService,\n public elementRef: ElementRef\n ) {}\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._setUpSubscriptions();\n this._propagateHasChildrenProperty();\n this._passItemReferences();\n /** Propagate initial open state to children */\n this.propagateOpenChange(this._expanded);\n\n if (this.linkItem) {\n this._ariaSelected = this.linkItem.selected;\n this._ariaDisabled = !this._stateService.selectable && !this.linkItem.selected;\n this._title = this.linkItem.getTitle();\n }\n }\n\n /** Check if the item element has any child */\n get hasChildren(): boolean {\n return !!this._itemService?.list;\n }\n\n /** Get all of the children item elements */\n get allChildrenItems(): NestedItemInterface[] {\n if (this._itemService?.list) {\n return this._itemService.list.nestedItems.toArray();\n }\n\n return [];\n }\n\n /** Method that expand the item and propagate it to children */\n triggerOpen(): void {\n if (!this.expanded) {\n /** Propagate initial open state to children */\n this.propagateOpenChange(true);\n }\n }\n\n /** Method that close the item and propagate it to children */\n triggerClose(): void {\n if (this.expanded) {\n /** Propagate initial open state to children */\n this.propagateOpenChange(false);\n }\n }\n\n /** Method that toggle the item and propagate it to children */\n toggle(): void {\n /** Propagate initial open state to children */\n this.propagateOpenChange(!this._expanded);\n }\n\n /** Method that dispatches `click` event on link item*/\n click(): void {\n if (!this.display) {\n if (this.contentItem) {\n this.contentItem.click();\n } else if (this.linkItem) {\n this.linkItem.click();\n }\n }\n }\n\n /** Method that focuses link item*/\n focus(): void {\n if (this.contentItem) {\n this.contentItem.focus();\n } else if (this.linkItem) {\n this.linkItem.focus();\n }\n }\n\n /** Method that provides information if element, or children of this element has passed id */\n containsId(id: string): boolean {\n if (this._elementId === id) {\n return true;\n }\n\n if (this._itemService.list) {\n return !!this._itemService.list.nestedItems.find((item) => item.containsId(id));\n }\n\n return false;\n }\n\n /**\n * @hidden\n * Propagate open state to all of the children\n */\n private propagateOpenChange(open: boolean): void {\n this._expanded = open;\n\n if (this.hasChildren) {\n this._ariaExpanded = this._expanded;\n }\n\n this.expandIcon?.changeExpandedState(open);\n\n /** Propagate hidden flag to list component, that is passed from child */\n if (this._itemService.list) {\n this._itemService.list.hidden = !open;\n this._itemService.list.detectChanges();\n }\n\n /** Propagate open flag to popover list component, that is passed from child */\n if (this._itemService.popover) {\n this._itemService.popover.open = open;\n }\n\n /**\n * If there are any list below\n * Trigger event to provide keyboard support to new list of opened item element.\n * */\n if (this._shouldRefreshKeyboardService()) {\n this._keyboardService.refresh$.next();\n }\n\n this.expandedChange.emit(open);\n this._cdr.markForCheck();\n }\n\n /** @hidden */\n private _shouldRefreshKeyboardService(): boolean {\n return !!(this._itemService.popover || this._itemService.list || this.contentItem);\n }\n\n /** @hidden */\n private _setUpSubscriptions(): void {\n if (this._stateService.condensed) {\n this._role = 'menuitemradio';\n }\n\n if (!this.display) {\n /** Subscribe to mouse click event, thrown by link item */\n this._itemService.toggle.pipe(takeUntilDestroyed(this._destroyRef)).subscribe(() => this.toggle());\n\n /** Subscribe to mouse click event, thrown by link item */\n this._itemService.click\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe(() => this._stateService.onSelected.next(this._elementId));\n }\n\n /** Subscribe to keyboard event and throw it farther */\n this._itemService.keyDown\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe((keyboardEvent) => this.keyboardTriggered.emit(keyboardEvent));\n\n /** Subscribe to selected state change, it's not triggered, when selectable flag is disabled*/\n this._stateService.onSelected\n .pipe(\n takeUntilDestroyed(this._destroyRef),\n filter(() => this._stateService.selectable)\n )\n .subscribe((id) => this._selectedChange(id));\n }\n\n /** @hidden */\n private _propagateHasChildrenProperty(): void {\n if (this.contentItem && this.hasChildren) {\n this._ariaExpanded = false;\n this.contentItem.hasChildren = true;\n this.contentItem.changeDetRef.markForCheck();\n }\n }\n\n /** Pass this element to popover child item, to allow control `expanded` value */\n private _passItemReferences(): void {\n if (this._itemService.popover) {\n this._itemService.popover.parentItemElement = this;\n }\n }\n\n /** Change of selected state of content or link, if there is any children with I */\n private _selectedChange(id: string): void {\n const selected = this.containsId(id);\n this._ariaSelected = selected;\n\n if (this.contentItem) {\n this.contentItem.changeSelected(selected);\n } else if (this.linkItem) {\n this.linkItem.changeSelected(selected);\n }\n this._cdr.markForCheck();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n HostBinding,\n OnInit,\n Optional,\n ViewChild,\n ViewEncapsulation,\n computed,\n inject\n} from '@angular/core';\n\nimport { Overlay, ScrollStrategy } from '@angular/cdk/overlay';\nimport { RtlService } from '@fundamental-ngx/cdk/utils';\nimport { PopoverBodyComponent, PopoverComponent, PopoverControlComponent } from '@fundamental-ngx/core/popover';\nimport { NestedItemInterface } from '../nested-item/nested-item.interface';\nimport { NestedItemService } from '../nested-item/nested-item.service';\nimport { NestedLinkComponent } from '../nested-link/nested-link.component';\nimport { NestedListKeyboardService } from '../nested-list-keyboard.service';\nimport { NestedListPopoverInterface } from './nested-list-popover.interface';\n\n@Component({\n selector: 'fdx-nested-list-popover',\n templateUrl: './nested-list-popover.component.html',\n styleUrl: './nested-list-popover.component.scss',\n imports: [PopoverComponent, PopoverControlComponent, PopoverBodyComponent],\n standalone: true,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NestedListPopoverComponent implements NestedListPopoverInterface, OnInit {\n /** @hidden */\n @ViewChild(PopoverComponent)\n popoverComponent: PopoverComponent;\n\n /** @hidden */\n @HostBinding('class.fdx-nested-list__popover')\n popoverClass = true;\n\n /** @hidden */\n @ContentChild(NestedLinkComponent)\n linkDirective: NestedLinkComponent;\n\n /**\n * @hidden\n * Reference to parent item, to propagate open and close change from popover.\n */\n parentItemElement: NestedItemInterface;\n\n /** @hidden */\n placement = computed(() => (this._rtlService?.rtl() ? 'left-start' : 'right-start'));\n\n /** @hidden */\n open = false;\n\n /** @hidden */\n _closeScrollStrategy: ScrollStrategy;\n\n /** @hidden */\n private readonly _rtlService = inject(RtlService, { optional: true });\n\n /** @hidden */\n constructor(\n private _keyboardNestService: NestedListKeyboardService,\n @Optional() private _itemService: NestedItemService,\n private _overlay: Overlay\n ) {\n this._listenOnKeyboardRefresh();\n if (this._itemService) {\n this._itemService.popover = this;\n }\n }\n\n /** @hidden */\n ngOnInit(): void {\n this._closeScrollStrategy = this._overlay.scrollStrategies.close();\n }\n\n /**\n * Method called, when open state is changed, from popover component (escape key, outside click).\n */\n handleOpenChange(open: boolean): void {\n this.open = open;\n if (this.parentItemElement) {\n if (open) {\n this.parentItemElement.triggerOpen();\n } else {\n this.parentItemElement.triggerClose();\n }\n }\n }\n\n /** @hidden */\n private _listenOnKeyboardRefresh(): void {\n this._keyboardNestService.refresh$.subscribe(() => {\n /** Update popover position, on list of hidden items change */\n if (this.popoverComponent) {\n this.popoverComponent.refreshPosition();\n }\n });\n }\n}\n","<fd-popover\n [placement]=\"placement()\"\n [triggers]=\"['click']\"\n [noArrow]=\"false\"\n [isOpen]=\"open\"\n (isOpenChange)=\"handleOpenChange($event)\"\n [scrollStrategy]=\"_closeScrollStrategy\"\n>\n <fd-popover-control>\n <ng-content select=\"[fdx-nested-list-link]\"></ng-content>\n <ng-content select=\"[fdx-nested-list-content]\"></ng-content>\n </fd-popover-control>\n <fd-popover-body class=\"fdx-side-nav__popover-body fdx-nested-list--text-only\">\n <ng-content select=\"[fdx-nested-list]\"></ng-content>\n <ng-content select=\"fdx-prepared-nested-list\"></ng-content>\n </fd-popover-body>\n</fd-popover>\n","import { ChangeDetectionStrategy, Component, forwardRef, Input, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { NestedListContentDirective } from '../nested-content/nested-list-content.directive';\nimport { NestedItemComponent } from '../nested-item/nested-item.component';\nimport { NestedLinkComponent } from '../nested-link/nested-link.component';\nimport {\n NestedListExpandIconComponent,\n NestedListHeaderDirective,\n NestedListIconComponent,\n NestedListTitleDirective\n} from '../nested-list-directives';\nimport { NestedListItem, NestedListModel } from '../nested-list-model';\nimport { NestedListPopoverComponent } from '../nested-list-popover/nested-list-popover.component';\nimport { NestedListComponent } from '../nested-list/nested-list.component';\n\n/**\n * Component for internal usage, allows to generate the nested list from defined object.\n */\n@Component({\n selector: 'fdx-prepared-nested-list',\n templateUrl: './prepared-nested-list.component.html',\n encapsulation: ViewEncapsulation.None,\n imports: [\n NestedListComponent,\n NestedListHeaderDirective,\n NestedItemComponent,\n NestedListPopoverComponent,\n NestedLinkComponent,\n RouterModule,\n NestedListContentDirective,\n NestedListIconComponent,\n NestedListTitleDirective,\n NestedListExpandIconComponent\n ],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class PreparedNestedListComponent {\n /**\n * @hidden\n * For internal usage.\n * Defines if the component is first\n */\n @Input()\n first = true;\n\n /** Defines if list should be displayed in condensed mode */\n @Input()\n condensed = false;\n\n /** List configuration*/\n @Input()\n list: Nullable<NestedListModel>;\n\n /**\n * @hidden\n */\n @ViewChild(forwardRef(() => NestedListComponent))\n _nestedListComponent: NestedListComponent;\n\n /**\n * In prepared nested list, nested items should be taken as reference of View, not Content.\n * There is direct reference to these directives here.\n */\n get nestedListComponent(): NestedListComponent {\n return this._nestedListComponent;\n }\n\n /** @hidden */\n _expandedChange(expanded: boolean, item: NestedListItem): void {\n item.expanded = expanded;\n }\n}\n","<ul fdx-nested-list [textOnly]=\"!!list?.textOnly\">\n @for (item of list?.items; track item) {\n @if (item.headerTitle) {\n <li fdx-nested-list-header>\n {{ item.headerTitle }}\n </li>\n } @else {\n <li fdx-nested-list-item [expanded]=\"!!item.expanded\" (expandedChange)=\"_expandedChange($event, item)\">\n @if (condensed && first && item.list) {\n <fdx-nested-list-popover [title]=\"item.link?.title || ''\">\n <div fdx-nested-list-content [selected]=\"!!item.link?.selected\">\n <ng-template\n [ngTemplateOutlet]=\"link\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-template>\n <button fdx-nested-list-expand-icon></button>\n </div>\n @if (item.list) {\n <fdx-prepared-nested-list [first]=\"false\" [list]=\"item.list\"></fdx-prepared-nested-list>\n }\n </fdx-nested-list-popover>\n }\n @if (!item.list) {\n <ng-template [ngTemplateOutlet]=\"link\" [ngTemplateOutletContext]=\"{ item: item }\"></ng-template>\n }\n @if ((!condensed || !first) && item.list) {\n <div fdx-nested-list-content>\n <ng-template [ngTemplateOutlet]=\"link\" [ngTemplateOutletContext]=\"{ item: item }\"></ng-template>\n <button fdx-nested-list-expand-icon></button>\n </div>\n @if (item.list) {\n <fdx-prepared-nested-list [first]=\"false\" [list]=\"item.list\"></fdx-prepared-nested-list>\n }\n }\n <ng-template let-item=\"item\" #link>\n @if (item.link) {\n <a\n fdx-nested-list-link\n [onClickCallback]=\"item.link.callback\"\n [selected]=\"!item.list && item.link.selected\"\n [attr.href]=\"item.link.href ? item.link.href : null\"\n [routerLink]=\"item.link.routerLink ? item.link.routerLink : []\"\n >\n @if (item.link.icon) {\n <span fdx-nested-list-icon [glyph]=\"item.link.icon\"></span>\n }\n <span fdx-nested-list-title>{{ item.link.title }}</span>\n </a>\n }\n </ng-template>\n </li>\n }\n }\n</ul>\n","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\nimport { MenuKeyboardService } from '@fundamental-ngx/core/menu';\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\nimport { NestedListContentDirective } from './nested-content/nested-list-content.directive';\nimport { NestedItemComponent } from './nested-item/nested-item.component';\nimport { NestedLinkComponent } from './nested-link/nested-link.component';\nimport {\n NestedListButtonDirective,\n NestedListExpandIconComponent,\n NestedListHeaderDirective,\n NestedListIconComponent,\n NestedListTitleDirective\n} from './nested-list-directives';\nimport { NestedListKeyboardService } from './nested-list-keyboard.service';\nimport { NestedListPopoverComponent } from './nested-list-popover/nested-list-popover.component';\nimport { NestedListStateService } from './nested-list-state.service';\nimport { NestedListComponent } from './nested-list/nested-list.component';\nimport { PreparedNestedListComponent } from './prepared-nested-list/prepared-nested-list.component';\n\n/**\n * @deprecated\n * Use direct imports of components and directives.\n */\n@NgModule({\n imports: [\n NestedListComponent,\n NestedLinkComponent,\n NestedItemComponent,\n NestedListIconComponent,\n NestedListTitleDirective,\n NestedListHeaderDirective,\n NestedListPopoverComponent,\n PreparedNestedListComponent,\n NestedListExpandIconComponent,\n NestedListButtonDirective,\n PopoverModule,\n RouterModule,\n IconComponent,\n ContentDensityModule,\n NestedListContentDirective\n ],\n exports: [\n NestedListComponent,\n NestedLinkComponent,\n NestedItemComponent,\n NestedListIconComponent,\n NestedListTitleDirective,\n NestedListHeaderDirective,\n NestedListPopoverComponent,\n PreparedNestedListComponent,\n NestedListExpandIconComponent,\n NestedListContentDirective,\n NestedListButtonDirective,\n ContentDensityModule\n ],\n providers: [MenuKeyboardService, NestedListKeyboardService, NestedListStateService]\n})\nexport class CxNestedListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.NestedItemService","i2.NestedListStateService","i3.NestedListKeyboardService","i2.NestedListKeyboardService","i3.NestedListStateService","i1.NestedListKeyboardService","i2.NestedItemService"],"mappings":";;;;;;;;;;;;;;;;;AAIA;MACa,iBAAiB,CAAA;AAA9B,IAAA,WAAA,GAAA;;AAOI,QAAA,IAAA,CAAA,MAAM,GAAqB,IAAI,OAAO,EAAW;;AAGjD,QAAA,IAAA,CAAA,KAAK,GAAkB,IAAI,OAAO,EAAQ;;AAG1C,QAAA,IAAA,CAAA,KAAK,GAAkB,IAAI,OAAO,EAAQ;;AAG1C,QAAA,IAAA,CAAA,OAAO,GAA2B,IAAI,OAAO,EAAiB;IAClE;AAAC;;ACND,IAAI,QAAQ,GAAG,CAAC;MAMH,yBAAyB,CAAA;;AAWlC,IAAA,WAAA,CAAoB,WAAuB,EAAA;QAAvB,IAAA,CAAA,WAAW,GAAX,WAAW;;AAP/B,QAAA,IAAA,CAAA,EAAE,GAAkB,CAAA,6BAAA,EAAgC,EAAE,QAAQ,EAAE;;QAIhE,IAAA,CAAA,uBAAuB,GAAG,IAAI;IAGgB;;AAG9C,IAAA,IAAI,KAAK,GAAA;AACL,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW;IACrD;8GAhBS,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sDAAA,EAAA,MAAA,EAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,SAAA,EAAA,SAAA,EAAA,qCAAA,EAAA,8BAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAJrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,sDAAsD;AAChE,oBAAA,UAAU,EAAE;AACf,iBAAA;;sBAGI;;sBACA,WAAW;uBAAC,SAAS;;sBAIrB,WAAW;uBAAC,qCAAqC;;AAiBhD,MAAO,uBAAwB,SAAQ,aAAa,CAAA;AAL1D,IAAA,WAAA,GAAA;;;QASI,IAAA,CAAA,IAAI,GAAG,cAAc;;QAIrB,IAAA,CAAA,qBAAqB,GAAG,IAAI;AAC/B,IAAA;8GATY,uBAAuB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,8QAFtB,CAAA,yBAAA,CAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;2FAE5B,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;;AAEP,oBAAA,QAAQ,EAAE,kDAAkD;AAC5D,oBAAA,QAAQ,EAAE,CAAA,yBAAA;AACb,iBAAA;;sBAGI;;sBACA,WAAW;uBAAC,WAAW;;sBAIvB,WAAW;uBAAC,6BAA6B;;MAOjC,wBAAwB,CAAA;;AAMjC,IAAA,WAAA,CAAoB,UAAsB,EAAA;QAAtB,IAAA,CAAA,UAAU,GAAV,UAAU;;QAH9B,IAAA,CAAA,sBAAsB,GAAG,IAAI;IAGgB;;IAG7C,YAAY,GAAA;QACR,OAAO,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW;IACvE;8GAXS,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oDAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,8BAAA,EAAA,6BAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE;AACb,iBAAA;;sBAGI,WAAW;uBAAC,8BAA8B;;MAuBlC,6BAA6B,CAAA;;AAMtC,IAAA,IACI,0BAA0B,GAAA;QAC1B,OAAO,IAAI,CAAC,QAAQ;IACxB;;AAGA,IAAA,IACI,2BAA2B,GAAA;AAC3B,QAAA,OAAO,CAAC,IAAI,CAAC,QAAQ;IACzB;;IAeA,WAAA,CACY,YAA+B,EAC/B,aAAgC,EAAA;QADhC,IAAA,CAAA,YAAY,GAAZ,YAAY;QACZ,IAAA,CAAA,aAAa,GAAb,aAAa;;QA7BzB,IAAA,CAAA,sBAAsB,GAAG,IAAI;AAc7B;;;AAGG;QAGH,IAAA,CAAA,QAAQ,GAAG,KAAK;;QAIhB,IAAA,CAAA,UAAU,GAAG,IAAI;IAMd;;AAIH,IAAA,OAAO,CAAC,KAAkB,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ;QAC9B,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC5C,KAAK,EAAE,eAAe,EAAE;IAC5B;;IAIA,OAAO,GAAA;AACH,QAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE;IAClC;;AAGA,IAAA,mBAAmB,CAAC,QAAiB,EAAA;AACjC,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;AACxB,QAAA,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE;IACtC;8GArDS,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA7B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,6BAA6B,4lBAR5B,CAAA,2BAAA,CAA6B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAQ9B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAXzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;;AAEP,oBAAA,QAAQ,EAAE,yDAAyD;AACnE,oBAAA,QAAQ,EAAE,CAAA,2BAAA,CAA6B;AACvC,oBAAA,IAAI,EAAE;AACF,wBAAA,eAAe,EAAE,MAAM;AACvB,wBAAA,IAAI,EAAE;AACT,qBAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC;AACpC,iBAAA;;sBAGI,WAAW;uBAAC,8BAA8B;;sBAI1C,WAAW;uBAAC,uCAAuC;;sBAMnD,WAAW;uBAAC,wCAAwC;;sBASpD,WAAW;uBAAC,mBAAmB;;sBAC/B,WAAW;uBAAC,oBAAoB;;sBAIhC,WAAW;uBAAC,kBAAkB;;sBAU9B,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;;sBAQhC,YAAY;uBAAC,OAAO;;MAeZ,yBAAyB,CAAA;AAHtC,IAAA,WAAA,GAAA;;QAMI,IAAA,CAAA,uBAAuB,GAAG,IAAI;AAsBjC,IAAA;;AAZG,IAAA,OAAO,CAAC,KAAY,EAAA;QAChB,KAAK,CAAC,cAAc,EAAE;QACtB,KAAK,CAAC,eAAe,EAAE;AACvB,QAAA,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;IAC9B;;IAGA,kBAAkB,GAAA;AACd,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AAClB,YAAA,IAAI,CAAC,WAAW,CAAC,sBAAsB,GAAG,KAAK;QACnD;IACJ;8GAxBS,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,uWAMpB,6BAA6B,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FANlC,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAHrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE;AACb,iBAAA;;sBAGI,WAAW;uBAAC,+BAA+B;;sBAI3C,YAAY;uBAAC,6BAA6B;;sBAI1C,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;;sBAChC,YAAY;uBAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;;sBACxC,YAAY;uBAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;;;MC1GhC,mBAAmB,CAAA;;AAgD5B,IAAA,WAAA,CACW,YAA+B,EAC9B,SAAoB,EACpB,WAAuB,EACvB,YAA+B,EAAA;QAHhC,IAAA,CAAA,YAAY,GAAZ,YAAY;QACX,IAAA,CAAA,SAAS,GAAT,SAAS;QACT,IAAA,CAAA,WAAW,GAAX,WAAW;QACX,IAAA,CAAA,YAAY,GAAZ,YAAY;;QA3CxB,IAAA,CAAA,QAAQ,GAAG,KAAK;;AAahB,QAAA,IAAA,CAAA,cAAc,GAA0B,IAAI,YAAY,EAAW;;QAInE,IAAA,CAAA,qBAAqB,GAAG,IAAI;;QAI5B,IAAA,CAAA,IAAI,GAAG,UAAU;IAuBd;;AAGH,IAAA,IAAI,UAAU,GAAA;QACV,OAAO,IAAI,CAAC,WAAW;IAC3B;;AAIA,IAAA,SAAS,CAAC,KAAY,EAAA;QAClB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,KAAsB,CAAC;IAC1D;;IAIA,OAAO,GAAA;AACH,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACpB,YAAA,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;QAC9B;aAAO;AACH,YAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE;AAC9B,YAAA,IAAI,IAAI,CAAC,eAAe,EAAE;gBACtB,IAAI,CAAC,eAAe,EAAE;YAC1B;QACJ;IACJ;;IAIA,OAAO,GAAA;AACH,QAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE;IAClC;;AAGA,IAAA,cAAc,CAAC,QAAiB,EAAA;AAC5B,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;AACxB,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC;AAClC,QAAA,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;IACpC;;IAGA,KAAK,GAAA;AACD,QAAA,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE;IAC1C;;IAGA,KAAK,GAAA;AACD,QAAA,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE;IAC1C;;IAGA,QAAQ,GAAA;QACJ,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;IAClD;;AAGA,IAAA,IAAY,aAAa,GAAA;QACrB,OAAO,CAAC,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,WAAW;IACtD;8GA9GS,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,gwBAoCd,wBAAwB,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAIxB,yBAAyB,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAIzB,6BAA6B,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAvEjC;;;;;;;;;;;;;;;;;AAiBT,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACS,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FASjB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBA5B/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;AAiBT,IAAA,CAAA;oBACD,OAAO,EAAE,CAAC,gBAAgB,CAAC;oBAC3B,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,QAAQ;;oBAEJ,0GAA0G;AAC9G,oBAAA,IAAI,EAAE;AACF,wBAAA,iBAAiB,EAAE;AACtB;AACJ,iBAAA;;sBAGI;;sBAIA;;sBACA,WAAW;uBAAC,oBAAoB;;sBAChC,WAAW;uBAAC,mBAAmB;;sBAI/B,WAAW;uBAAC,iBAAiB;;sBAI7B;;sBACA,WAAW;uBAAC,uBAAuB;;sBAInC;;sBAIA,WAAW;uBAAC,6BAA6B;;sBAIzC,WAAW;uBAAC,WAAW;;sBAOvB,YAAY;uBAAC,wBAAwB;;sBAIrC,YAAY;uBAAC,yBAAyB;;sBAItC,YAAY;uBAAC,6BAA6B;;sBAiB1C,YAAY;uBAAC,SAAS,EAAE,CAAC,QAAQ,CAAC;;sBAMlC,YAAY;uBAAC,OAAO;;sBAapB,YAAY;uBAAC,OAAO;;;MCxGZ,0BAA0B,CAAA;;AAkDnC,IAAA,WAAA,CACW,YAA+B,EAC9B,WAAuB,EACvB,YAA+B,EAAA;QAFhC,IAAA,CAAA,YAAY,GAAZ,YAAY;QACX,IAAA,CAAA,WAAW,GAAX,WAAW;QACX,IAAA,CAAA,YAAY,GAAZ,YAAY;;QAhDxB,IAAA,CAAA,QAAQ,GAAG,KAAK;;QAIhB,IAAA,CAAA,IAAI,GAAG,UAAU;;QAIjB,IAAA,CAAA,YAAY,GAAG,KAAK;;AAIpB,QAAA,IAAA,CAAA,cAAc,GAA0B,IAAI,YAAY,EAAW;;AAI1D,QAAA,IAAA,CAAA,iBAAiB,GAAgC,IAAI,YAAY,EAAiB;;AAIlF,QAAA,IAAA,CAAA,OAAO,GAA6B,IAAI,YAAY,EAAc;;QAI3E,IAAA,CAAA,wBAAwB,GAAG,IAAI;AAE/B;;;AAGG;QAEH,IAAA,CAAA,WAAW,GAAG,KAAK;;AAWF,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;IAO9C;;AAIH,IAAA,SAAS,CAAC,KAAoB,EAAA;AAC1B,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;QAClC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;IACzC;;IAIA,OAAO,GAAA;AACH,QAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE;IAClC;;IAGA,kBAAkB,GAAA;QACd,IAAI,CAAC,oBAAoB,EAAE;QAC3B,IAAI,CAAC,qBAAqB,EAAE;IAChC;;AAGA,IAAA,cAAc,CAAC,QAAiB,EAAA;AAC5B,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;AACxB,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC;IACtC;;IAGA,KAAK,GAAA;AACD,QAAA,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE;IAC1C;;IAGA,KAAK,GAAA;QACD,IAAI,CAAC,KAAK,EAAE;AACZ,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACjB,YAAA,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE;QAC3B;IACJ;;IAGQ,qBAAqB,GAAA;QACzB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACpG;;IAGQ,oBAAoB,GAAA;AACxB,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;YACjB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,GAAG,CAAC,CAAC;AACtD,YAAA,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE;QACrC;IACJ;8GAzGS,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA1B,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kDAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,UAAA,EAAA,GAAA,EAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA,mBAAA,EAAA,OAAA,EAAA,WAAA,EAAA,EAAA,UAAA,EAAA,EAAA,oBAAA,EAAA,eAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,WAAA,EAAA,WAAA,EAAA,oBAAA,EAAA,mBAAA,EAAA,gCAAA,EAAA,+BAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAuCrB,mBAAmB,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAInB,6BAA6B,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FA3ClC,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAPtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,kDAAkD;AAC5D,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE;AACF,wBAAA,QAAQ,EAAE;AACb;AACJ,iBAAA;;sBAGI;;sBACA,WAAW;uBAAC,oBAAoB;;sBAChC,WAAW;uBAAC,mBAAmB;;sBAI/B,WAAW;uBAAC,WAAW;;sBAIvB,WAAW;uBAAC,oBAAoB;;sBAIhC;;sBAIA;;sBAIA;;sBAIA,WAAW;uBAAC,gCAAgC;;sBAO5C,WAAW;uBAAC,iBAAiB;;sBAI7B,YAAY;uBAAC,mBAAmB;;sBAIhC,YAAY;uBAAC,6BAA6B;;sBAc1C,YAAY;uBAAC,SAAS,EAAE,CAAC,QAAQ,CAAC;;sBAOlC,YAAY;uBAAC,OAAO;;;ACjFzB;;;AAGG;MAEU,yBAAyB,CAAA;AADtC,IAAA,WAAA,GAAA;AAEI;;;AAGG;AACM,QAAA,IAAA,CAAA,QAAQ,GAAkB,IAAI,OAAO,EAAQ;;AAGrC,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,mBAAmB,CAAC;;QAG7C,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AA4ExE,IAAA;AA1EG;;;AAGG;AACH,IAAA,YAAY,CAAC,KAA4B,EAAA;QACrC,MAAM,KAAK,GAA0B,EAAE;;QAGvC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;;QAEnE,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,KAAI;AAC1B,YAAA,IAAI,CAAC;AACA,iBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC7B,iBAAA,SAAS,CAAC,CAAC,aAA4B,KAAK,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AACtG,QAAA,CAAC,CAAC;IACN;;AAGQ,IAAA,SAAS,CAAC,IAAyB,EAAA;AACvC,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,gBAAgB,GAAG,EAAE;QAChE,OAAO,aAAa,CAAC,MAAM,CACvB,CAAC,WAAkC,EAAE,QAA6B,KAAK;AACnE,YAAA,GAAG,WAAW;AACd,YAAA,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ;AAC7B,SAAA,EACD,CAAC,IAAI,CAAC,CACT;IACL;;AAGQ,IAAA,gBAAgB,CAAC,IAAyB,EAAA;QAC9C,MAAM,MAAM,GAA0B,EAAE;AACxC,QAAA,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YACzD,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;gBAC9B,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AACxC,YAAA,CAAC,CAAC;QACN;AAEA,QAAA,OAAO,MAAM;IACjB;AAEA;;;;;;AAMG;AACK,IAAA,cAAc,CAAC,aAA4B,EAAE,KAAa,EAAE,KAA4B,EAAA;AAC5F,QAAA,MAAM,IAAI,GAAwB,KAAK,CAAC,KAAK,CAAC;QAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,IAAI,KAAK;AAE9C,QAAA,IACI,CAAC,CAAC,KAAK,IAAI,OAAO,CAAC,SAAS,CAAC,aAAa,EAAE,WAAW,CAAC;AACxD,aAAC,KAAK,IAAI,OAAO,CAAC,SAAS,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,EACzD;YACE,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE;gBACpC,IAAI,CAAC,WAAW,EAAE;YACtB;YACA,aAAa,CAAC,cAAc,EAAE;QAClC;AAEA,QAAA,IACI,CAAC,CAAC,KAAK,IAAI,OAAO,CAAC,SAAS,CAAC,aAAa,EAAE,UAAU,CAAC;AACvD,aAAC,KAAK,IAAI,OAAO,CAAC,SAAS,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,EAC1D;YACE,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE;gBACnC,IAAI,CAAC,YAAY,EAAE;YACvB;YACA,aAAa,CAAC,cAAc,EAAE;QAClC;QAEA,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,CAAC;IACpE;8GAtFS,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAzB,yBAAyB,EAAA,CAAA,CAAA;;2FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBADrC;;;MCTY,sBAAsB,CAAA;AADnC,IAAA,WAAA,GAAA;AAEI;;;AAGG;QACH,IAAA,CAAA,SAAS,GAAG,KAAK;AAEjB;;AAEG;QACH,IAAA,CAAA,UAAU,GAAG,IAAI;;AAGjB,QAAA,IAAA,CAAA,UAAU,GAAoB,IAAI,OAAO,EAAU;AACtD,IAAA;8GAdY,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAtB,sBAAsB,EAAA,CAAA,CAAA;;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBADlC;;;MCkCY,mBAAmB,CAAA;;IAuE5B,WAAA,CACwB,kBAAqC,EACjD,uBAA+C,EAC/C,0BAAqD,EACrD,WAAuB,EACvB,mBAAsC,EAAA;QAJ1B,IAAA,CAAA,kBAAkB,GAAlB,kBAAkB;QAC9B,IAAA,CAAA,uBAAuB,GAAvB,uBAAuB;QACvB,IAAA,CAAA,0BAA0B,GAA1B,0BAA0B;QAC1B,IAAA,CAAA,WAAW,GAAX,WAAW;QACX,IAAA,CAAA,mBAAmB,GAAnB,mBAAmB;;QAxE/B,IAAA,CAAA,QAAQ,GAAG,KAAK;;QAIhB,IAAA,CAAA,uBAAuB,GAAG,sBAAsB;;QAIhD,IAAA,CAAA,0BAA0B,GAAG,0BAA0B;;QAIvD,IAAA,CAAA,iBAAiB,GAAG,UAAU;;QAI9B,IAAA,CAAA,qBAAqB,GAAG,IAAI;;QAI5B,IAAA,CAAA,MAAM,GAAG,KAAK;;QAoBJ,IAAA,CAAA,KAAK,GAAG,MAAM;;AAId,QAAA,IAAA,CAAA,oBAAoB,GAAqB,IAAI,CAAC,uBAAuB;;QAIrE,IAAA,CAAA,aAAa,GAAqB,IAAI;;QAItC,IAAA,CAAA,SAAS,GAAG,IAAI;;AAGT,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;;AAGhC,QAAA,IAAA,CAAA,oBAAoB,GAAG,IAAI,mBAAmB,EAAE;;AAGhD,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,kBAAkB,CAAC;;AAGxC,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC;AAUzC,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE;AACzB,YAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,GAAG,IAAI;QACvC;AACA,QAAA,MAAM,CAAC,sBAAsB,CAAC,CAAC,SAAS,EAAE;IAC9C;;IAGA,kBAAkB,GAAA;QACd,IAAI,CAAC,kBAAkB,EAAE;IAC7B;;IAGA,aAAa,GAAA;AACT,QAAA,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE;IAC3C;;IAGQ,kBAAkB,GAAA;AACtB,QAAA,MAAM,WAAW,GAAW,IAAI,CAAC,eAAe,EAAE;AAElD,QAAA,IAAI,CAAC,2BAA2B,CAAC,WAAW,CAAC;;QAG7C,MAAM,CACF,MAAK;AACD,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE;AAC/B,YAAA,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,IAAI,EAAE;AAC/C,YAAA,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,IAAI,CAAC;QAC9C,CAAC,EACD,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,CAC/B;;QAGD,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;AACrG,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE;AAC/B,YAAA,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,IAAI,EAAE;AAC/C,YAAA,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,IAAI,CAAC;;AAE1C,YAAA,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,GAAG,WAAW,CAAC;AACxE,QAAA,CAAC,CAAC;IACN;AAEA;;;AAGG;IACK,eAAe,GAAA;AACnB,QAAA,IAAI,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa;QAC5C,MAAM,cAAc,GAAc,EAAE;;AAGpC,QAAA,OAAO,OAAO,CAAC,UAAU,EAAE;AACvB,YAAA,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC;AAC/B,YAAA,OAAO,GAAG,OAAO,CAAC,UAAU;QAChC;;AAGA,QAAA,MAAM,sBAAsB,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;AAE5G,QAAA,IAAI,MAAM,GAAG,sBAAsB,CAAC,MAAM;AAE1C,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE,OAAO,EAAE;YAClC,MAAM,IAAI,CAAC;QACf;AAEA,QAAA,OAAO,MAAM;IACjB;;IAGQ,kBAAkB,CAAC,KAAa,EAAE,IAAgB,EAAA;QACtD,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,KAAI;AACjC,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK;AACvB,YAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAChB;YACJ;iBAAO;AACH,gBAAA,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC,iBAAiB,EAAE,EAAE,IAAI,IAAI;AAClE,gBAAA,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,IAAI,EAAE,kCAAkC,EAAE;AACnG,oBAAA,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;AACrC,oBAAA,KAAK,EAAE,CAAC,GAAG,CAAC;AACZ,oBAAA,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM;AAC9B,oBAAA,mBAAmB,EACf,CAAC,IAAI,CAAC,uBAAuB,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC;AACtD,0BAAE,IAAI,GAAG,IAAI,CAAC;AACd,0BAAE;AACb,iBAAA,CAAC;YACN;AACJ,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE;IAC5C;;AAGQ,IAAA,2BAA2B,CAAC,KAAa,EAAA;QAC7C,IAAI,IAAI,CAAC,uBAAuB,CAAC,SAAS,IAAI,KAAK,KAAK,CAAC,EAAE;AACvD,YAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,0BAA0B;QAC/D;AAEA,QAAA,IAAI,KAAK,GAAG,CAAC,KAAK,IAAI,CAAC,kBAAkB,EAAE,OAAO,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,EAAE;AAC5F,YAAA,IAAI,CAAC,KAAK,GAAG,OAAO;AACpB,YAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI;QACpC;AAEA,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE,OAAO,EAAE;AAClC,YAAA,IAAI,CAAC,aAAa,GAAG,MAAM;QAC/B;IACJ;8GAvLS,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,sBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,yBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wDAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,uBAAA,EAAA,yBAAA,EAAA,0BAAA,EAAA,4BAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,kCAAA,EAAA,eAAA,EAAA,uBAAA,EAAA,4BAAA,EAAA,kBAAA,EAAA,aAAA,EAAA,WAAA,EAAA,YAAA,EAAA,2BAAA,EAAA,2BAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,SAAA,EAFjB,CAAC,+BAA+B,EAAE,CAAC,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAqChC,yBAAyB,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,aAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MAJL,mBAAmB,CAAA,EAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MAQnB,mBAAmB,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EA7C3C,CAAA,2BAAA,CAA6B,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;2FAM9B,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAP/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,CAAA,2BAAA,CAA6B;;AAEvC,oBAAA,QAAQ,EAAE,wDAAwD;AAClE,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,SAAS,EAAE,CAAC,+BAA+B,EAAE;AAChD,iBAAA;;0BAyEQ;;sBAtEJ;;sBACA,WAAW;uBAAC,kCAAkC;;sBAI9C;;sBAIA;;sBAIA;;sBAIA,WAAW;uBAAC,uBAAuB;;sBAInC,WAAW;uBAAC,kBAAkB;;sBAQ9B,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,UAAU,CAAC,MAAM,mBAAmB,CAAC;;sBAIrD,YAAY;uBAAC,yBAAyB;;sBAItC,eAAe;uBAAC,UAAU,CAAC,MAAM,mBAAmB,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;;sBAI5E,WAAW;uBAAC,WAAW;;sBAIvB,WAAW;uBAAC,2BAA2B;;sBAIvC,WAAW;uBAAC,oBAAoB;;sBAIhC,WAAW;uBAAC,eAAe;;;AC/DhC,IAAI,0BAA0B,GAAG,CAAC;MAYrB,mBAAmB,CAAA;;IAE5B,IAAa,QAAQ,CAAC,QAAiB,EAAA;AACnC,QAAA,IAAI,QAAQ,KAAK,IAAI,CAAC,SAAS,EAAE;AAC7B,YAAA,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC;QACtC;IACJ;;AAGA,IAAA,IAAI,QAAQ,GAAA;QACR,OAAO,IAAI,CAAC,SAAS;IACzB;;AA6GA,IAAA,WAAA,CACY,YAA+B,EAC/B,gBAA2C,EAC3C,aAAqC,EACtC,UAAsB,EAAA;QAHrB,IAAA,CAAA,YAAY,GAAZ,YAAY;QACZ,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;QAChB,IAAA,CAAA,aAAa,GAAb,aAAa;QACd,IAAA,CAAA,UAAU,GAAV,UAAU;;QA5GrB,IAAA,CAAA,KAAK,GAAG,KAAK;;AAIJ,QAAA,IAAA,CAAA,cAAc,GAA0B,IAAI,YAAY,EAAW;;AAInE,QAAA,IAAA,CAAA,iBAAiB,GAAgC,IAAI,YAAY,EAAiB;;QAK3F,IAAA,CAAA,qBAAqB,GAAG,IAAI;;QAK5B,IAAA,CAAA,MAAM,GAAG,KAAK;;QAId,IAAA,CAAA,OAAO,GAAG,KAAK;AAEf;;;;AAIG;QAGH,IAAA,CAAA,UAAU,GAAG,KAAK;;QA2BlB,IAAA,CAAA,UAAU,GAAqB,IAAI;;QAQnC,IAAA,CAAA,QAAQ,GAAG,OAAO;;QAQR,IAAA,CAAA,aAAa,GAAsB,IAAI;;QAIvC,IAAA,CAAA,aAAa,GAAsB,IAAI;;QAIvC,IAAA,CAAA,aAAa,GAAG,KAAK;;QAO/B,IAAA,CAAA,OAAO,GAAG,KAAK;;QAGP,IAAA,CAAA,SAAS,GAAG,KAAK;;AAGR,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;;AAGhC,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,iBAAiB,CAAC;;AAGhC,QAAA,IAAA,CAAA,UAAU,GAAW,cAAc,GAAG,0BAA0B,EAAE;IAQhF;;IAGH,kBAAkB,GAAA;QACd,IAAI,CAAC,mBAAmB,EAAE;QAC1B,IAAI,CAAC,6BAA6B,EAAE;QACpC,IAAI,CAAC,mBAAmB,EAAE;;AAE1B,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC;AAExC,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ;AAC3C,YAAA,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ;YAC9E,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;QAC1C;IACJ;;AAGA,IAAA,IAAI,WAAW,GAAA;AACX,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI;IACpC;;AAGA,IAAA,IAAI,gBAAgB,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE;YACzB,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;QACvD;AAEA,QAAA,OAAO,EAAE;IACb;;IAGA,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;;AAEhB,YAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;QAClC;IACJ;;IAGA,YAAY,GAAA;AACR,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;;AAEf,YAAA,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC;QACnC;IACJ;;IAGA,MAAM,GAAA;;QAEF,IAAI,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;IAC7C;;IAGA,KAAK,GAAA;AACD,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AACf,YAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AAClB,gBAAA,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;YAC5B;AAAO,iBAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACtB,gBAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;YACzB;QACJ;IACJ;;IAGA,KAAK,GAAA;AACD,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AAClB,YAAA,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;QAC5B;AAAO,aAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACtB,YAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;QACzB;IACJ;;AAGA,IAAA,UAAU,CAAC,EAAU,EAAA;AACjB,QAAA,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE,EAAE;AACxB,YAAA,OAAO,IAAI;QACf;AAEA,QAAA,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;YACxB,OAAO,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACnF;AAEA,QAAA,OAAO,KAAK;IAChB;AAEA;;;AAGG;AACK,IAAA,mBAAmB,CAAC,IAAa,EAAA;AACrC,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI;AAErB,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AAClB,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS;QACvC;AAEA,QAAA,IAAI,CAAC,UAAU,EAAE,mBAAmB,CAAC,IAAI,CAAC;;AAG1C,QAAA,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;YACxB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI;AACrC,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE;QAC1C;;AAGA,QAAA,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;YAC3B,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI;QACzC;AAEA;;;AAGK;AACL,QAAA,IAAI,IAAI,CAAC,6BAA6B,EAAE,EAAE;AACtC,YAAA,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,EAAE;QACzC;AAEA,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;AAC9B,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;IAC5B;;IAGQ,6BAA6B,GAAA;AACjC,QAAA,OAAO,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC;IACtF;;IAGQ,mBAAmB,GAAA;AACvB,QAAA,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE;AAC9B,YAAA,IAAI,CAAC,KAAK,GAAG,eAAe;QAChC;AAEA,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;;YAEf,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;;YAGlG,IAAI,CAAC,YAAY,CAAC;AACb,iBAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC;AACzC,iBAAA,SAAS,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7E;;QAGA,IAAI,CAAC,YAAY,CAAC;AACb,aAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC;AACzC,aAAA,SAAS,CAAC,CAAC,aAAa,KAAK,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;;QAG7E,IAAI,CAAC,aAAa,CAAC;AACd,aAAA,IAAI,CACD,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,EACpC,MAAM,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC;AAE9C,aAAA,SAAS,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IACpD;;IAGQ,6BAA6B,GAAA;QACjC,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,EAAE;AACtC,YAAA,IAAI,CAAC,aAAa,GAAG,KAAK;AAC1B,YAAA,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,IAAI;AACnC,YAAA,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,YAAY,EAAE;QAChD;IACJ;;IAGQ,mBAAmB,GAAA;AACvB,QAAA,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;YAC3B,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,GAAG,IAAI;QACtD;IACJ;;AAGQ,IAAA,eAAe,CAAC,EAAU,EAAA;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;AACpC,QAAA,IAAI,CAAC,aAAa,GAAG,QAAQ;AAE7B,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AAClB,YAAA,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,QAAQ,CAAC;QAC7C;AAAO,aAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACtB,YAAA,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC;QAC1C;AACA,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;IAC5B;8GArTS,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAF,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAG,yBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,sBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kEAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,KAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAeR,gBAAgB,CAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,OAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,UAAA,EAAA,EAAA,UAAA,EAAA,EAAA,oCAAA,EAAA,YAAA,EAAA,6BAAA,EAAA,4BAAA,EAAA,qCAAA,EAAA,aAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,aAAA,EAAA,eAAA,EAAA,eAAA,EAAA,WAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,SAAA,EArBzB,CAAC,iBAAiB,CAAC,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EA2DhB,mBAAmB,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAQnB,0BAA0B,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAI1B,6BAA6B,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MAIZ,mBAAmB,iDA5ExC,CAAA,2BAAA,CAA6B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAO9B,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAV/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;;AAEP,oBAAA,QAAQ,EAAE,kEAAkE;AAC5E,oBAAA,QAAQ,EAAE,CAAA,2BAAA,CAA6B;oBACvC,SAAS,EAAE,CAAC,iBAAiB,CAAC;oBAC9B,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,IAAI,EAAE;AACF,wBAAA,IAAI,EAAE;AACT;AACJ,iBAAA;;sBAGI;;sBAYA,WAAW;uBAAC,oCAAoC;;sBAChD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;sBAIrC;;sBAIA;;sBAIA;;sBACA,WAAW;uBAAC,6BAA6B;;sBAIzC;;sBACA,WAAW;uBAAC,qCAAqC;;sBAIjD;;sBAQA;;sBACA,WAAW;uBAAC,kBAAkB;;sBAO9B,YAAY;uBAAC,mBAAmB;;sBAQhC,YAAY;uBAAC,0BAA0B;;sBAIvC,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,6BAA6B,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;;sBAIjE,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,UAAU,CAAC,MAAM,mBAAmB,CAAC;;sBAIlD,WAAW;uBAAC,iBAAiB;;sBAI7B,WAAW;uBAAC,YAAY;;sBAIxB,WAAW;uBAAC,eAAe;;sBAI3B,WAAW;uBAAC,WAAW;;sBAIvB,WAAW;uBAAC,oBAAoB;;sBAIhC,WAAW;uBAAC,oBAAoB;;sBAIhC,WAAW;uBAAC,oBAAoB;;sBAIhC,WAAW;uBAAC,iBAAiB;;;MC/GrB,0BAA0B,CAAA;;AAgCnC,IAAA,WAAA,CACY,oBAA+C,EACnC,YAA+B,EAC3C,QAAiB,EAAA;QAFjB,IAAA,CAAA,oBAAoB,GAApB,oBAAoB;QACR,IAAA,CAAA,YAAY,GAAZ,YAAY;QACxB,IAAA,CAAA,QAAQ,GAAR,QAAQ;;QA5BpB,IAAA,CAAA,YAAY,GAAG,IAAI;;QAanB,IAAA,CAAA,SAAS,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,YAAY,GAAG,aAAa,CAAC,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,WAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;;QAGpF,IAAA,CAAA,IAAI,GAAG,KAAK;;QAMK,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAQjE,IAAI,CAAC,wBAAwB,EAAE;AAC/B,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACnB,YAAA,IAAI,CAAC,YAAY,CAAC,OAAO,GAAG,IAAI;QACpC;IACJ;;IAGA,QAAQ,GAAA;QACJ,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,EAAE;IACtE;AAEA;;AAEG;AACH,IAAA,gBAAgB,CAAC,IAAa,EAAA;AAC1B,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI;AAChB,QAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE;YACxB,IAAI,IAAI,EAAE;AACN,gBAAA,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE;YACxC;iBAAO;AACH,gBAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE;YACzC;QACJ;IACJ;;IAGQ,wBAAwB,GAAA;QAC5B,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAK;;AAE9C,YAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACvB,gBAAA,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE;YAC3C;AACJ,QAAA,CAAC,CAAC;IACN;8GAtES,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,yBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,OAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA1B,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gCAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,eAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAUrB,mBAAmB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EARtB,gBAAgB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjC/B,wqBAiBA,EAAA,MAAA,EAAA,CAAA,mdAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDSc,gBAAgB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,uBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,SAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,cAAA,EAAA,qBAAA,EAAA,wBAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,WAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,EAAA,cAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,uBAAuB,EAAA,QAAA,EAAA,wCAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,oBAAoB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,WAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAKhE,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBATtC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,yBAAyB,WAG1B,CAAC,gBAAgB,EAAE,uBAAuB,EAAE,oBAAoB,CAAC,EAAA,UAAA,EAC9D,IAAI,iBACD,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,wqBAAA,EAAA,MAAA,EAAA,CAAA,mdAAA,CAAA,EAAA;;0BAoC1C;;sBAhCJ,SAAS;uBAAC,gBAAgB;;sBAI1B,WAAW;uBAAC,gCAAgC;;sBAI5C,YAAY;uBAAC,mBAAmB;;;AEzBrC;;AAEG;MAoBU,2BAA2B,CAAA;AAnBxC,IAAA,WAAA,GAAA;AAoBI;;;;AAIG;QAEH,IAAA,CAAA,KAAK,GAAG,IAAI;;QAIZ,IAAA,CAAA,SAAS,GAAG,KAAK;AAwBpB,IAAA;AAZG;;;AAGG;AACH,IAAA,IAAI,mBAAmB,GAAA;QACnB,OAAO,IAAI,CAAC,oBAAoB;IACpC;;IAGA,eAAe,CAAC,QAAiB,EAAE,IAAoB,EAAA;AACnD,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;IAC5B;8GAlCS,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA3B,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MAoBR,mBAAmB,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC1DnD,8wFAsDA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDhBa,2BAA2B,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,WAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAdhC,mBAAmB,EAAA,QAAA,EAAA,wDAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,yBAAA,EAAA,4BAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACnB,yBAAyB,EAAA,QAAA,EAAA,sDAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACzB,mBAAmB,0PACnB,0BAA0B,EAAA,QAAA,EAAA,yBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAC1B,mBAAmB,EAAA,QAAA,EAAA,0GAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACnB,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACZ,0BAA0B,EAAA,QAAA,EAAA,kDAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,mBAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAC1B,uBAAuB,EAAA,QAAA,EAAA,kDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACvB,wBAAwB,EAAA,QAAA,EAAA,oDAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACxB,6BAA6B,EAAA,QAAA,EAAA,yDAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAKxB,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAnBvC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,0BAA0B,EAAA,aAAA,EAErB,iBAAiB,CAAC,IAAI,EAAA,OAAA,EAC5B;wBACL,mBAAmB;wBACnB,yBAAyB;wBACzB,mBAAmB;wBACnB,0BAA0B;wBAC1B,mBAAmB;wBACnB,YAAY;wBACZ,0BAA0B;wBAC1B,uBAAuB;wBACvB,wBAAwB;wBACxB;AACH,qBAAA,EAAA,UAAA,EACW,IAAI,EAAA,eAAA,EACC,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,8wFAAA,EAAA;;sBAQ9C;;sBAIA;;sBAIA;;sBAMA,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,UAAU,CAAC,MAAM,mBAAmB,CAAC;;;AEpCpD;;;AAGG;MAmCU,kBAAkB,CAAA;8GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,YAhCvB,mBAAmB;YACnB,mBAAmB;YACnB,mBAAmB;YACnB,uBAAuB;YACvB,wBAAwB;YACxB,yBAAyB;YACzB,0BAA0B;YAC1B,2BAA2B;YAC3B,6BAA6B;YAC7B,yBAAyB;YACzB,aAAa;YACb,YAAY;YACZ,aAAa;YACb,oBAAoB;AACpB,YAAA,0BAA0B,aAG1B,mBAAmB;YACnB,mBAAmB;YACnB,mBAAmB;YACnB,uBAAuB;YACvB,wBAAwB;YACxB,yBAAyB;YACzB,0BAA0B;YAC1B,2BAA2B;YAC3B,6BAA6B;YAC7B,0BAA0B;YAC1B,yBAAyB;YACzB,oBAAoB,CAAA,EAAA,CAAA,CAAA;+GAIf,kBAAkB,EAAA,SAAA,EAFhB,CAAC,mBAAmB,EAAE,yBAAyB,EAAE,sBAAsB,CAAC,EAAA,OAAA,EAAA,CAxB/E,0BAA0B;YAC1B,2BAA2B;YAG3B,aAAa;YACb,YAAY;YACZ,aAAa;AACb,YAAA,oBAAoB,EAepB,oBAAoB,CAAA,EAAA,CAAA,CAAA;;2FAIf,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAlC9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,mBAAmB;wBACnB,mBAAmB;wBACnB,mBAAmB;wBACnB,uBAAuB;wBACvB,wBAAwB;wBACxB,yBAAyB;wBACzB,0BAA0B;wBAC1B,2BAA2B;wBAC3B,6BAA6B;wBAC7B,yBAAyB;wBACzB,aAAa;wBACb,YAAY;wBACZ,aAAa;wBACb,oBAAoB;wBACpB;AACH,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,mBAAmB;wBACnB,mBAAmB;wBACnB,mBAAmB;wBACnB,uBAAuB;wBACvB,wBAAwB;wBACxB,yBAAyB;wBACzB,0BAA0B;wBAC1B,2BAA2B;wBAC3B,6BAA6B;wBAC7B,0BAA0B;wBAC1B,yBAAyB;wBACzB;AACH,qBAAA;AACD,oBAAA,SAAS,EAAE,CAAC,mBAAmB,EAAE,yBAAyB,EAAE,sBAAsB;AACrF,iBAAA;;;AC3DD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-cx-nested-list.mjs","sources":["../../../../libs/cx/nested-list/nested-item/nested-item.service.ts","../../../../libs/cx/nested-list/nested-list-directives.ts","../../../../libs/cx/nested-list/nested-link/nested-link.component.ts","../../../../libs/cx/nested-list/nested-content/nested-list-content.directive.ts","../../../../libs/cx/nested-list/nested-list-keyboard.service.ts","../../../../libs/cx/nested-list/nested-list-state.service.ts","../../../../libs/cx/nested-list/nested-list/nested-list.component.ts","../../../../libs/cx/nested-list/nested-item/nested-item.component.ts","../../../../libs/cx/nested-list/nested-list-popover/nested-list-popover.component.ts","../../../../libs/cx/nested-list/nested-list-popover/nested-list-popover.component.html","../../../../libs/cx/nested-list/prepared-nested-list/prepared-nested-list.component.ts","../../../../libs/cx/nested-list/prepared-nested-list/prepared-nested-list.component.html","../../../../libs/cx/nested-list/nested-list.module.ts","../../../../libs/cx/nested-list/fundamental-ngx-cx-nested-list.ts"],"sourcesContent":["import { Subject } from 'rxjs';\nimport { NestedListPopoverInterface } from '../nested-list-popover/nested-list-popover.interface';\nimport { NestedListInterface } from '../nested-list/nested-list.interface';\n\n/** Contains references to popover or list nested components, that are placed as direct children of item component */\nexport class NestedItemService {\n /** @hidden */\n list: NestedListInterface;\n /** @hidden */\n popover?: NestedListPopoverInterface;\n\n /** Subject fired when expand icon is clicked */\n toggle: Subject<boolean> = new Subject<boolean>();\n\n /** Subject fired, when child elements are focused */\n focus: Subject<void> = new Subject<void>();\n\n /** Subject fired, when content or link is clicked */\n click: Subject<void> = new Subject<void>();\n\n /** KeyDown handler, it is triggered from link, content and item elements */\n keyDown: Subject<KeyboardEvent> = new Subject<KeyboardEvent>();\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n Directive,\n ElementRef,\n HostBinding,\n HostListener,\n Input,\n ViewEncapsulation\n} from '@angular/core';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\nimport { NestedItemService } from './nested-item/nested-item.service';\n\nlet uniqueId = 0;\n\n@Directive({\n selector: '[cxNestedDirectivesHeader], [fdx-nested-list-header]',\n standalone: true\n})\nexport class NestedListHeaderDirective {\n /** Id of the element. */\n @Input()\n @HostBinding('attr.id')\n id: string | null = `fdx-nested-list-group-header-${++uniqueId}`;\n\n /** @hidden */\n @HostBinding('class.fdx-nested-list__group-header')\n cxNestedListHeaderClass = true;\n\n /** @hidden */\n constructor(private _elementRef: ElementRef) {}\n\n /** Get the header title */\n get title(): string {\n return this._elementRef.nativeElement.textContent;\n }\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[cxNestedDirectivesIcon], [fdx-nested-list-icon]',\n template: `<ng-content></ng-content>`\n})\nexport class NestedListIconComponent extends IconComponent {\n /** Role attribute */\n @Input()\n @HostBinding('attr.role')\n role = 'presentation';\n\n /** @hidden */\n @HostBinding('class.fdx-nested-list__icon')\n fdNestedListIconClass = true;\n}\n\n@Directive({\n selector: '[cxNestedDirectivesTitle], [fdx-nested-list-title]'\n})\nexport class NestedListTitleDirective {\n /** @hidden */\n @HostBinding('class.fdx-nested-list__title')\n fdNestedListTitleClass = true;\n\n /** @hidden */\n constructor(private elementRef: ElementRef) {}\n\n /** Returns element's InnerText */\n getInnerText(): string {\n return this.elementRef && this.elementRef.nativeElement.textContent;\n }\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[cxNestedListExpandIcon], [fdx-nested-list-expand-icon]',\n template: ` <ng-content></ng-content> `,\n host: {\n 'aria-haspopup': 'true',\n role: 'presentation'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class NestedListExpandIconComponent {\n /** @hidden */\n @HostBinding('class.fdx-nested-list__arrow')\n fdNestedListArrowClass = true;\n\n /** @hidden */\n @HostBinding('class.sap-icon--navigation-down-arrow')\n get fdNestedListDownArrowClass(): boolean {\n return this.expanded;\n }\n\n /** @hidden */\n @HostBinding('class.sap-icon--navigation-right-arrow')\n get fdNestedListRightArrowClass(): any {\n return !this.expanded;\n }\n\n /**\n * @hidden\n * Attribute controlled by the parent `NestedItemComponent`\n */\n @HostBinding('class.is-expanded')\n @HostBinding('attr.aria-expanded')\n expanded = false;\n\n /** @hidden */\n @HostBinding('attr.aria-hidden')\n ariaHidden = true;\n\n /** @hidden */\n constructor(\n private _itemService: NestedItemService,\n private _changeDetRef: ChangeDetectorRef\n ) {}\n\n /** Mouse event handler */\n @HostListener('click', ['$event'])\n onClick(event?: MouseEvent): void {\n this.expanded = !this.expanded;\n this._itemService.toggle.next(this.expanded);\n event?.stopPropagation();\n }\n\n /** Handler for focus events */\n @HostListener('focus')\n onFocus(): void {\n this._itemService.focus.next();\n }\n\n /** @hidden */\n changeExpandedState(expanded: boolean): void {\n this.expanded = expanded;\n this._changeDetRef.detectChanges();\n }\n}\n\n@Directive({\n selector: '[cxNestedDirectivesButton], [fdx-nested-list-button]'\n})\nexport class NestedListButtonDirective implements AfterContentInit {\n /** @hidden */\n @HostBinding('class.fdx-nested-list__button')\n fdNestedListButtonClass = true;\n\n /** @hidden */\n @ContentChild(NestedListExpandIconComponent)\n _expandIcon: NestedListExpandIconComponent;\n\n /** @hidden */\n @HostListener('click', ['$event'])\n @HostListener('keydown.enter', ['$event'])\n @HostListener('keydown.space', ['$event'])\n onClick(event: Event): void {\n event.preventDefault();\n event.stopPropagation();\n this._expandIcon.onClick();\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n if (this._expandIcon) {\n this._expandIcon.fdNestedListArrowClass = false;\n }\n }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n Output,\n Renderer2\n} from '@angular/core';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { NestedItemService } from '../nested-item/nested-item.service';\nimport {\n NestedListButtonDirective,\n NestedListExpandIconComponent,\n NestedListTitleDirective\n} from '../nested-list-directives';\n\n@Component({\n template: `\n @if (!_nestedListButton) {\n <div class=\"fdx-nested-list__link-container\">\n <ng-template [ngTemplateOutlet]=\"containerContent\"></ng-template>\n </div>\n }\n @if (_nestedListButton) {\n <a tabindex=\"0\" class=\"fdx-nested-list__link-container\">\n <ng-template [ngTemplateOutlet]=\"containerContent\"></ng-template>\n </a>\n }\n <ng-content select=\"[fdx-nested-list-button]\"></ng-content>\n <ng-template #containerContent>\n <ng-content select=\"[fdx-nested-list-icon]\"></ng-content>\n <ng-content select=\"[fdx-nested-list-title]\"></ng-content>\n <ng-content select=\"[fdx-nested-list-expand-icon]\"></ng-content>\n </ng-template>\n `,\n imports: [NgTemplateOutlet],\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector:\n // eslint-disable-next-line @angular-eslint/component-selector\n '[fdx-nested-list-link], button[fdx-nested-list-link], a[fdx-nested-list-link], div[fdx-nested-list-link]',\n host: {\n '[attr.tabindex]': '!_nestedListButton ? 0 : -1'\n }\n})\nexport class NestedLinkComponent {\n /** Function that is called on click event dispatch on this element. */\n @Input()\n onClickCallback: () => void;\n\n /** Whether this element is selected*/\n @Input()\n @HostBinding('attr.aria-selected')\n @HostBinding('class.is-selected')\n selected = false;\n\n /** @hidden */\n @HostBinding('attr.aria-label')\n _ariaLabel: string;\n\n /** @hidden */\n @Input()\n @HostBinding('attr.aria-describedby')\n ariaDescribedby: Nullable<string | number>;\n\n /** Event thrown, when selected state is changed */\n @Output()\n selectedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** @hidden */\n @HostBinding('class.fdx-nested-list__link')\n cxNestedListItemClass = true;\n\n /** @hidden */\n @HostBinding('attr.role')\n role = 'treeitem';\n\n /**\n * @hidden\n * Reference to title element, it is used, to get title for condensed mode.\n */\n @ContentChild(NestedListTitleDirective)\n title: NestedListTitleDirective;\n\n /** @hidden */\n @ContentChild(NestedListButtonDirective)\n _nestedListButton: NestedListButtonDirective;\n\n /** @hidden */\n @ContentChild(NestedListExpandIconComponent)\n _expandIcon: NestedListExpandIconComponent;\n\n /** @hidden */\n constructor(\n public changeDetRef: ChangeDetectorRef,\n private _renderer: Renderer2,\n private _elementRef: ElementRef,\n private _itemService: NestedItemService\n ) {}\n\n /** @hidden */\n get elementRef(): ElementRef<HTMLElement> {\n return this._elementRef;\n }\n\n /** Handler for keyboard events */\n @HostListener('keydown', ['$event'])\n onKeyDown(event: Event): void {\n this._itemService.keyDown.next(event as KeyboardEvent);\n }\n\n /** Handler for mouse events */\n @HostListener('click')\n onClick(): void {\n if (this._collapseOnly) {\n this._expandIcon.onClick();\n } else {\n this._itemService.click.next();\n if (this.onClickCallback) {\n this.onClickCallback();\n }\n }\n }\n\n /** Handler for focus events */\n @HostListener('focus')\n onFocus(): void {\n this._itemService.focus.next();\n }\n\n /** Method to trigger selected state change */\n changeSelected(selected: boolean): void {\n this.selected = selected;\n this.selectedChange.emit(selected);\n this.changeDetRef.markForCheck();\n }\n\n /** Set focus on the element. */\n focus(): void {\n this._elementRef.nativeElement.focus();\n }\n\n /** Dispatches the click event on the element */\n click(): void {\n this._elementRef.nativeElement.click();\n }\n\n /** Returns the title value of the title directive */\n getTitle(): string {\n return this.title && this.title.getInnerText();\n }\n\n /** @hidden */\n private get _collapseOnly(): boolean {\n return !this._nestedListButton && this._expandIcon;\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectorRef,\n ContentChild,\n DestroyRef,\n Directive,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n Output,\n inject\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { NestedItemService } from '../nested-item/nested-item.service';\nimport { NestedLinkComponent } from '../nested-link/nested-link.component';\nimport { NestedListExpandIconComponent } from '../nested-list-directives';\n\n@Directive({\n selector: '[cxNestedListContent], [fdx-nested-list-content]',\n standalone: true,\n host: {\n tabindex: '0'\n }\n})\nexport class NestedListContentDirective implements AfterContentInit {\n /** Whether this element is selected*/\n @Input()\n @HostBinding('attr.aria-selected')\n @HostBinding('class.is-selected')\n selected = false;\n\n /** @hidden */\n @HostBinding('attr.role')\n role = 'treeitem';\n\n /** @hidden */\n @HostBinding('attr.aria-expanded')\n ariaExpanded = false;\n\n /** Event thrown, when selected state is changed */\n @Output()\n selectedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** Event that is thrown, when any keyboard event is dispatched on this element */\n @Output()\n readonly keyboardTriggered: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n\n /** Event that is thrown, when this element is clicked */\n @Output()\n readonly clicked: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n\n /** @hidden */\n @HostBinding('class.fdx-nested-list__content')\n cxNestedListContentClass = true;\n\n /**\n * @hidden\n * Attribute controlled by the parent `NestedItemComponent`\n */\n @HostBinding('class.has-child')\n hasChildren = false;\n\n /** @hidden */\n @ContentChild(NestedLinkComponent)\n nestedLink: NestedLinkComponent;\n\n /** @hidden */\n @ContentChild(NestedListExpandIconComponent)\n nestedExpandIcon: NestedListExpandIconComponent;\n\n /** @hidden */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n constructor(\n public changeDetRef: ChangeDetectorRef,\n private _elementRef: ElementRef,\n private _itemService: NestedItemService\n ) {}\n\n /** Keyboard Event Handler */\n @HostListener('keydown', ['$event'])\n onKeyDown(event: KeyboardEvent): void {\n this.keyboardTriggered.emit(event);\n this._itemService.keyDown.next(event);\n }\n\n /** Handler for mouse events */\n @HostListener('click')\n onClick(): void {\n this._itemService.click.next();\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._makeLinkUnFocusable();\n this._setFocusSubscription();\n }\n\n /** Method to trigger selected state change */\n changeSelected(selected: boolean): void {\n this.selected = selected;\n this.selectedChange.emit(selected);\n }\n\n /** Set focus on the element. */\n focus(): void {\n this._elementRef.nativeElement.focus();\n }\n\n /** Dispatches the click event on the element */\n click(): void {\n this.focus();\n if (this.nestedLink) {\n this.nestedLink.click();\n }\n }\n\n /** Add subscription for child focusing */\n private _setFocusSubscription(): void {\n this._itemService.focus.pipe(takeUntilDestroyed(this._destroyRef)).subscribe(() => this.focus());\n }\n\n /** Hide link child element from tab key */\n private _makeLinkUnFocusable(): void {\n if (this.nestedLink) {\n this.nestedLink.elementRef.nativeElement.tabIndex = -1;\n this.changeDetRef.detectChanges();\n }\n }\n}\n","import { LEFT_ARROW, RIGHT_ARROW } from '@angular/cdk/keycodes';\nimport { inject, Injectable } from '@angular/core';\nimport { KeyUtil, RtlService } from '@fundamental-ngx/cdk/utils';\nimport { MenuKeyboardService } from '@fundamental-ngx/core/menu';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { NestedItemInterface } from './nested-item/nested-item.interface';\nimport { NestedListInterface } from './nested-list/nested-list.interface';\n\n/**\n * Nested list keyboard service, which uses MenuKeyboardService, to deal with ArrowUp, ArrowDown, Space, Enter.\n * Also has own handling of ArrowLeft and ArrowRight, to open/close the menu if it has any children.\n */\n@Injectable()\nexport class NestedListKeyboardService {\n /**\n * Event, that is thrown always, when the open/close i being called on item components.\n * Also triggers changing of elements, to remove closed/hidden elements\n */\n readonly refresh$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n private readonly keyboardService = inject(MenuKeyboardService);\n\n /** @hidden */\n private readonly _rtlService = inject(RtlService, { optional: true });\n\n /**\n * Function called after refresh$ event is triggered.\n * Refresh the list of NestedItems, that the keyboard support should be provided for\n */\n refreshItems(lists: NestedListInterface[]): void {\n const items: NestedItemInterface[] = [];\n\n /** Gathering all of the items */\n lists.forEach((list) => items.push(...this._getAllListItems(list)));\n /** Putting the keyboard support function to each of the items */\n items.forEach((item, index) => {\n item.keyboardTriggered\n .pipe(takeUntil(this.refresh$))\n .subscribe((keyboardEvent: KeyboardEvent) => this._handleKeyDown(keyboardEvent, index, items));\n });\n }\n\n /** Recursive function to get all of the NestedItem elements in correct order. */\n private _getItems(item: NestedItemInterface): NestedItemInterface[] {\n const childrenItems = item.expanded ? item.allChildrenItems : [];\n return childrenItems.reduce(\n (actualArray: NestedItemInterface[], nextItem: NestedItemInterface) => [\n ...actualArray,\n ...this._getItems(nextItem)\n ],\n [item]\n );\n }\n\n /** Method that calls the recursive function, getItems() and gathers all of the items in the NestedList */\n private _getAllListItems(list: NestedListInterface): NestedItemInterface[] {\n const _items: NestedItemInterface[] = [];\n if (list && list.nestedItems && list.nestedItems.length > 0) {\n list.nestedItems.forEach((item) => {\n _items.push(...this._getItems(item));\n });\n }\n\n return _items;\n }\n\n /**\n * Keyboard handle function. Uses keyboard support service from MenuComponent, to deal with ArrowUp, ArrowDown, Space, Enter.\n * For ArrowRight, if item is not expanded and has children (list or popup), the open function is triggered.\n * Otherwise it follows ArrowDown functionality.\n * For ArrowLeft, if item is expanded and has children (list or popup), the close function is triggered.\n * Otherwise it follows ArrowUp functionality\n */\n private _handleKeyDown(keyboardEvent: KeyboardEvent, index: number, items: NestedItemInterface[]): void {\n const item: NestedItemInterface = items[index];\n const isRtl = this._rtlService?.rtl() ?? false;\n\n if (\n (!isRtl && KeyUtil.isKeyCode(keyboardEvent, RIGHT_ARROW)) ||\n (isRtl && KeyUtil.isKeyCode(keyboardEvent, LEFT_ARROW))\n ) {\n if (!item.expanded && item.hasChildren) {\n item.triggerOpen();\n }\n keyboardEvent.preventDefault();\n }\n\n if (\n (!isRtl && KeyUtil.isKeyCode(keyboardEvent, LEFT_ARROW)) ||\n (isRtl && KeyUtil.isKeyCode(keyboardEvent, RIGHT_ARROW))\n ) {\n if (item.expanded && item.hasChildren) {\n item.triggerClose();\n }\n keyboardEvent.preventDefault();\n }\n\n this.keyboardService.keyDownHandler(keyboardEvent, index, items);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable()\nexport class NestedListStateService {\n /**\n * @hidden\n * The condensed state is modified by the parent and read by nested lists.\n */\n condensed = false;\n\n /**\n * @hidden\n */\n selectable = true;\n\n /** @hidden */\n onSelected: Subject<string> = new Subject<string>();\n}\n","import {\n AfterContentInit,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n DestroyRef,\n ElementRef,\n HostBinding,\n Injector,\n Input,\n Optional,\n QueryList,\n effect,\n forwardRef,\n inject\n} from '@angular/core';\nimport { startWith } from 'rxjs';\n\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { FD_LANGUAGE_SIGNAL, FdLanguage, TranslationResolver } from '@fundamental-ngx/i18n';\nimport { NestedItemComponent } from '../nested-item/nested-item.component';\nimport { NestedItemService } from '../nested-item/nested-item.service';\nimport { NestedListHeaderDirective } from '../nested-list-directives';\nimport { NestedListKeyboardService } from '../nested-list-keyboard.service';\nimport { NestedListStateService } from '../nested-list-state.service';\nimport { NestedListInterface } from './nested-list.interface';\n\n@Component({\n template: ` <ng-content></ng-content> `,\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[cxNestedList], [fdx-nested-list], ul[fdx-nested-list]',\n standalone: true,\n providers: [contentDensityObserverProviders()]\n})\nexport class NestedListComponent implements AfterContentInit, NestedListInterface {\n /** In case the user wants to no use icons for items in this list */\n @Input()\n @HostBinding('class.fdx-nested-list--text-only')\n textOnly = false;\n\n /** Aria defines role description for the Nested List Tree. */\n @Input()\n ariaRoledescriptionTree = 'Navigation List Tree';\n\n /** Aria defines role description for the Nested List MenuBar. */\n @Input()\n ariaRoledescriptionMenuBar = 'Navigation List Menu Bar';\n\n /** Aria defines aria label for the selected item when the list with disabled selection. */\n @Input()\n ariaLabelSelected = 'Selected';\n\n /** @hidden */\n @HostBinding('class.fdx-nested-list')\n fdNestedListItemClass = true;\n\n /** @hidden */\n @HostBinding('attr.aria-hidden')\n hidden = false;\n\n /**\n * @hidden\n * This variable is mostly to keep track of this list's children. There is not usage of it inside this directive,\n * but it's used by services and NestedItemComponent by itself,\n */\n @ContentChildren(forwardRef(() => NestedItemComponent))\n nestedItems: QueryList<NestedItemComponent>;\n\n /** @hidden */\n @ContentChild(NestedListHeaderDirective)\n protected _nestedListHeader: NestedListHeaderDirective;\n\n /** @hidden */\n @ContentChildren(forwardRef(() => NestedListComponent), { descendants: true })\n protected _nestedLists: QueryList<NestedListComponent>;\n\n /** @hidden */\n @HostBinding('attr.role')\n protected _role = 'tree';\n\n /** @hidden */\n @HostBinding('attr.aria-roledescription')\n protected _ariaRoledescription: Nullable<string> = this.ariaRoledescriptionTree;\n\n /** @hidden */\n @HostBinding('attr.aria-haspopup')\n protected _ariaHaspopup: Nullable<string> = null;\n\n /** @hidden */\n @HostBinding('attr.tabindex')\n protected _tabindex = '-1';\n\n /** @hidden */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n private readonly _translationResolver = new TranslationResolver();\n\n /** @hidden */\n private readonly _langSignal = inject(FD_LANGUAGE_SIGNAL);\n\n /** @hidden */\n private readonly _injector = inject(Injector);\n\n /** @hidden */\n constructor(\n @Optional() private _nestedItemService: NestedItemService,\n private _nestedListStateService: NestedListStateService,\n private _nestedListKeyboardService: NestedListKeyboardService,\n private _elementRef: ElementRef,\n private _changeDetectionRef: ChangeDetectorRef\n ) {\n if (this._nestedItemService) {\n this._nestedItemService.list = this;\n }\n inject(ContentDensityObserver).subscribe();\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._handleNestedLevel();\n }\n\n /** @hidden */\n detectChanges(): void {\n this._changeDetectionRef.markForCheck();\n }\n\n /** @hidden */\n private _handleNestedLevel(): void {\n const nestedLevel: number = this._getNestedLevel();\n\n this._setAccessibilityProperties(nestedLevel);\n\n // Register effect with explicit injector context\n effect(\n () => {\n const lang = this._langSignal();\n this._nestedListKeyboardService.refresh$.next();\n this._setAriaAttributes(nestedLevel, lang);\n },\n { injector: this._injector }\n );\n\n // React to nested items changes\n this.nestedItems.changes.pipe(startWith(undefined), takeUntilDestroyed(this._destroyRef)).subscribe(() => {\n const lang = this._langSignal();\n this._nestedListKeyboardService.refresh$.next();\n this._setAriaAttributes(nestedLevel, lang);\n /** Adding class with the nested level */\n this._elementRef.nativeElement.classList.add('level-' + nestedLevel);\n });\n }\n\n /**\n * @hidden\n * Method, that checks how deep is the list element\n */\n private _getNestedLevel(): number {\n let element = this._elementRef.nativeElement;\n const parentElements: Element[] = [];\n\n /** Method that gathers all the parentNode elements of current NestedListComponent element */\n while (element.parentNode) {\n parentElements.unshift(element);\n element = element.parentNode;\n }\n\n /** Filter only elements, that has `fdx-nested-list` directive attribute */\n const filteredParentElements = parentElements.filter((_element) => _element.hasAttribute('fdx-nested-list'));\n\n let retVal = filteredParentElements.length;\n\n if (this._nestedItemService?.popover) {\n retVal += 1;\n }\n\n return retVal;\n }\n\n /** @hidden */\n private _setAriaAttributes(level: number, lang: FdLanguage): void {\n this.nestedItems.forEach((item, i) => {\n item._ariaLevel = level;\n if (!item.linkItem) {\n return;\n } else {\n item.linkItem.ariaDescribedby = this._nestedListHeader?.id || null;\n item.linkItem._ariaLabel = this._translationResolver.resolve(lang, 'coreNestedList.linkItemAriaLabel', {\n itemDetails: item.linkItem.getTitle(),\n index: i + 1, // TODO: this property has been deprecated and will be removed from translations\n total: this.nestedItems.length, // TODO: this property has been deprecated and will be removed from translations\n selectedDescription:\n !this._nestedListStateService.selectable && item.linkItem.selected\n ? ', ' + this.ariaLabelSelected\n : ''\n });\n }\n });\n\n this._changeDetectionRef.detectChanges();\n }\n\n /** @hidden */\n private _setAccessibilityProperties(level: number): void {\n if (this._nestedListStateService.condensed && level === 1) {\n this._ariaRoledescription = this.ariaRoledescriptionMenuBar;\n }\n\n if (level > 1 || (this._nestedItemService?.popover && !this._nestedListStateService.condensed)) {\n this._role = 'group';\n this._ariaRoledescription = null;\n }\n\n if (this._nestedItemService?.popover) {\n this._ariaHaspopup = 'tree';\n }\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n DestroyRef,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n booleanAttribute,\n forwardRef,\n inject\n} from '@angular/core';\nimport { filter } from 'rxjs/operators';\n\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { NestedListContentDirective } from '../nested-content/nested-list-content.directive';\nimport { NestedLinkComponent } from '../nested-link/nested-link.component';\nimport { NestedListExpandIconComponent } from '../nested-list-directives';\nimport { NestedListKeyboardService } from '../nested-list-keyboard.service';\nimport { NestedListStateService } from '../nested-list-state.service';\nimport { NestedListComponent } from '../nested-list/nested-list.component';\nimport { NestedItemInterface } from './nested-item.interface';\nimport { NestedItemService } from './nested-item.service';\n\nlet sideNavigationItemUniqueId = 0;\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[cxNestedItem], [fdx-nested-list-item], li[fdx-nested-list-item]',\n template: ` <ng-content></ng-content> `,\n providers: [NestedItemService],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n role: 'treeitem'\n }\n})\nexport class NestedItemComponent implements AfterContentInit, NestedItemInterface {\n /** Whether item should be expanded */\n @Input() set expanded(expanded: boolean) {\n if (expanded !== this._expanded) {\n this.propagateOpenChange(expanded);\n }\n }\n\n /** @hidden */\n get expanded(): boolean {\n return this._expanded;\n }\n\n /** @hidden */\n @HostBinding('class.fdx-nested-list__item--group')\n @Input({ transform: booleanAttribute })\n group = false;\n\n /** Event thrown, when expanded state is changed */\n @Output()\n readonly expandedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** Event thrown, when any keyboard event is dispatched on this, or link element */\n @Output()\n readonly keyboardTriggered: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n\n /** @hidden */\n @Input()\n @HostBinding('class.fdx-nested-list__item')\n fdNestedListItemClass = true;\n\n /** Whether this item is a header item. */\n @Input()\n @HostBinding('class.fdx-nested-list__item--header')\n header = false;\n\n /** Whether this item is only meant for display purposes, meaning it cannot be used for navigation or shown as selected. */\n @Input()\n display = false;\n\n /**\n * @Input\n * Applies `aria-hidden` to the element.\n * Set to `true` for non-focusable elements without focusable children to hide them from assistive technologies.\n */\n @Input()\n @HostBinding('attr.aria-hidden')\n ariaHidden = false;\n\n /**\n * @hidden\n * Reference to the link directive, to allow manipulating the properties of this element.\n */\n @ContentChild(NestedLinkComponent)\n linkItem: NestedLinkComponent;\n\n /**\n * @hidden\n * Mostly used, when this item has list\n * Reference to the content directive, to allow manipulating the properties of this element.\n */\n @ContentChild(NestedListContentDirective)\n contentItem: NestedListContentDirective;\n\n /** @hidden */\n @ContentChild(NestedListExpandIconComponent, { descendants: true })\n expandIcon: NestedListExpandIconComponent;\n\n /** @hidden */\n @ContentChild(forwardRef(() => NestedListComponent))\n _nestedList: NestedListComponent;\n\n /** @hidden */\n @HostBinding('attr.aria-level')\n _ariaLevel: Nullable<number> = null;\n\n /** @hidden */\n @HostBinding('attr.title')\n _title: string;\n\n /** @hidden */\n @HostBinding('style.display')\n _display = 'block';\n\n /** @hidden */\n @HostBinding('attr.role')\n protected _role: string;\n\n /** @hidden */\n @HostBinding('attr.aria-expanded')\n protected _ariaExpanded: Nullable<boolean> = null;\n\n /** @hidden */\n @HostBinding('attr.aria-selected')\n protected _ariaSelected: Nullable<boolean> = null;\n\n /** @hidden */\n @HostBinding('attr.aria-disabled')\n protected _ariaDisabled = false;\n\n /** @hidden */\n @HostBinding('attr.aria-label')\n protected _ariaLabel: string;\n\n /** @hidden */\n _narrow = false;\n\n /** @hidden */\n private _expanded = false;\n\n /** @hidden */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n private readonly _cdr = inject(ChangeDetectorRef);\n\n /** Unique element ID */\n private readonly _elementId: string = 'fdNestedItem' + sideNavigationItemUniqueId++;\n\n /** @hidden */\n constructor(\n private _itemService: NestedItemService,\n private _keyboardService: NestedListKeyboardService,\n private _stateService: NestedListStateService,\n public elementRef: ElementRef\n ) {}\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._setUpSubscriptions();\n this._propagateHasChildrenProperty();\n this._passItemReferences();\n /** Propagate initial open state to children */\n this.propagateOpenChange(this._expanded);\n\n if (this.linkItem) {\n this._ariaSelected = this.linkItem.selected;\n this._ariaDisabled = !this._stateService.selectable && !this.linkItem.selected;\n this._title = this.linkItem.getTitle();\n }\n }\n\n /** Check if the item element has any child */\n get hasChildren(): boolean {\n return !!this._itemService?.list;\n }\n\n /** Get all of the children item elements */\n get allChildrenItems(): NestedItemInterface[] {\n if (this._itemService?.list) {\n return this._itemService.list.nestedItems.toArray();\n }\n\n return [];\n }\n\n /** Method that expand the item and propagate it to children */\n triggerOpen(): void {\n if (!this.expanded) {\n /** Propagate initial open state to children */\n this.propagateOpenChange(true);\n }\n }\n\n /** Method that close the item and propagate it to children */\n triggerClose(): void {\n if (this.expanded) {\n /** Propagate initial open state to children */\n this.propagateOpenChange(false);\n }\n }\n\n /** Method that toggle the item and propagate it to children */\n toggle(): void {\n /** Propagate initial open state to children */\n this.propagateOpenChange(!this._expanded);\n }\n\n /** Method that dispatches `click` event on link item*/\n click(): void {\n if (!this.display) {\n if (this.contentItem) {\n this.contentItem.click();\n } else if (this.linkItem) {\n this.linkItem.click();\n }\n }\n }\n\n /** Method that focuses link item*/\n focus(): void {\n if (this.contentItem) {\n this.contentItem.focus();\n } else if (this.linkItem) {\n this.linkItem.focus();\n }\n }\n\n /** Method that provides information if element, or children of this element has passed id */\n containsId(id: string): boolean {\n if (this._elementId === id) {\n return true;\n }\n\n if (this._itemService.list) {\n return !!this._itemService.list.nestedItems.find((item) => item.containsId(id));\n }\n\n return false;\n }\n\n /**\n * @hidden\n * Propagate open state to all of the children\n */\n private propagateOpenChange(open: boolean): void {\n this._expanded = open;\n\n if (this.hasChildren) {\n this._ariaExpanded = this._expanded;\n }\n\n this.expandIcon?.changeExpandedState(open);\n\n /** Propagate hidden flag to list component, that is passed from child */\n if (this._itemService.list) {\n this._itemService.list.hidden = !open;\n this._itemService.list.detectChanges();\n }\n\n /** Propagate open flag to popover list component, that is passed from child */\n if (this._itemService.popover) {\n this._itemService.popover.open = open;\n }\n\n /**\n * If there are any list below\n * Trigger event to provide keyboard support to new list of opened item element.\n * */\n if (this._shouldRefreshKeyboardService()) {\n this._keyboardService.refresh$.next();\n }\n\n this.expandedChange.emit(open);\n this._cdr.markForCheck();\n }\n\n /** @hidden */\n private _shouldRefreshKeyboardService(): boolean {\n return !!(this._itemService.popover || this._itemService.list || this.contentItem);\n }\n\n /** @hidden */\n private _setUpSubscriptions(): void {\n if (this._stateService.condensed) {\n this._role = 'menuitemradio';\n }\n\n if (!this.display) {\n /** Subscribe to mouse click event, thrown by link item */\n this._itemService.toggle.pipe(takeUntilDestroyed(this._destroyRef)).subscribe(() => this.toggle());\n\n /** Subscribe to mouse click event, thrown by link item */\n this._itemService.click\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe(() => this._stateService.onSelected.next(this._elementId));\n }\n\n /** Subscribe to keyboard event and throw it farther */\n this._itemService.keyDown\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe((keyboardEvent) => this.keyboardTriggered.emit(keyboardEvent));\n\n /** Subscribe to selected state change, it's not triggered, when selectable flag is disabled*/\n this._stateService.onSelected\n .pipe(\n takeUntilDestroyed(this._destroyRef),\n filter(() => this._stateService.selectable)\n )\n .subscribe((id) => this._selectedChange(id));\n }\n\n /** @hidden */\n private _propagateHasChildrenProperty(): void {\n if (this.contentItem && this.hasChildren) {\n this._ariaExpanded = false;\n this.contentItem.hasChildren = true;\n this.contentItem.changeDetRef.markForCheck();\n }\n }\n\n /** Pass this element to popover child item, to allow control `expanded` value */\n private _passItemReferences(): void {\n if (this._itemService.popover) {\n this._itemService.popover.parentItemElement = this;\n }\n }\n\n /** Change of selected state of content or link, if there is any children with I */\n private _selectedChange(id: string): void {\n const selected = this.containsId(id);\n this._ariaSelected = selected;\n\n if (this.contentItem) {\n this.contentItem.changeSelected(selected);\n } else if (this.linkItem) {\n this.linkItem.changeSelected(selected);\n }\n this._cdr.markForCheck();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n HostBinding,\n OnInit,\n Optional,\n ViewChild,\n ViewEncapsulation,\n computed,\n inject\n} from '@angular/core';\n\nimport { Overlay, ScrollStrategy } from '@angular/cdk/overlay';\nimport { RtlService } from '@fundamental-ngx/cdk/utils';\nimport { PopoverBodyComponent, PopoverComponent, PopoverControlComponent } from '@fundamental-ngx/core/popover';\nimport { NestedItemInterface } from '../nested-item/nested-item.interface';\nimport { NestedItemService } from '../nested-item/nested-item.service';\nimport { NestedLinkComponent } from '../nested-link/nested-link.component';\nimport { NestedListKeyboardService } from '../nested-list-keyboard.service';\nimport { NestedListPopoverInterface } from './nested-list-popover.interface';\n\n@Component({\n selector: 'fdx-nested-list-popover',\n templateUrl: './nested-list-popover.component.html',\n styleUrl: './nested-list-popover.component.scss',\n imports: [PopoverComponent, PopoverControlComponent, PopoverBodyComponent],\n standalone: true,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NestedListPopoverComponent implements NestedListPopoverInterface, OnInit {\n /** @hidden */\n @ViewChild(PopoverComponent)\n popoverComponent: PopoverComponent;\n\n /** @hidden */\n @HostBinding('class.fdx-nested-list__popover')\n popoverClass = true;\n\n /** @hidden */\n @ContentChild(NestedLinkComponent)\n linkDirective: NestedLinkComponent;\n\n /**\n * @hidden\n * Reference to parent item, to propagate open and close change from popover.\n */\n parentItemElement: NestedItemInterface;\n\n /** @hidden */\n placement = computed(() => (this._rtlService?.rtl() ? 'left-start' : 'right-start'));\n\n /** @hidden */\n open = false;\n\n /** @hidden */\n _closeScrollStrategy: ScrollStrategy;\n\n /** @hidden */\n private readonly _rtlService = inject(RtlService, { optional: true });\n\n /** @hidden */\n constructor(\n private _keyboardNestService: NestedListKeyboardService,\n @Optional() private _itemService: NestedItemService,\n private _overlay: Overlay\n ) {\n this._listenOnKeyboardRefresh();\n if (this._itemService) {\n this._itemService.popover = this;\n }\n }\n\n /** @hidden */\n ngOnInit(): void {\n this._closeScrollStrategy = this._overlay.scrollStrategies.close();\n }\n\n /**\n * Method called, when open state is changed, from popover component (escape key, outside click).\n */\n handleOpenChange(open: boolean): void {\n this.open = open;\n if (this.parentItemElement) {\n if (open) {\n this.parentItemElement.triggerOpen();\n } else {\n this.parentItemElement.triggerClose();\n }\n }\n }\n\n /** @hidden */\n private _listenOnKeyboardRefresh(): void {\n this._keyboardNestService.refresh$.subscribe(() => {\n /** Update popover position, on list of hidden items change */\n if (this.popoverComponent) {\n this.popoverComponent.refreshPosition();\n }\n });\n }\n}\n","<fd-popover\n [placement]=\"placement()\"\n [triggers]=\"['click']\"\n [noArrow]=\"false\"\n [isOpen]=\"open\"\n (isOpenChange)=\"handleOpenChange($event)\"\n [scrollStrategy]=\"_closeScrollStrategy\"\n>\n <fd-popover-control>\n <ng-content select=\"[fdx-nested-list-link]\"></ng-content>\n <ng-content select=\"[fdx-nested-list-content]\"></ng-content>\n </fd-popover-control>\n <fd-popover-body class=\"fdx-side-nav__popover-body fdx-nested-list--text-only\">\n <ng-content select=\"[fdx-nested-list]\"></ng-content>\n <ng-content select=\"fdx-prepared-nested-list\"></ng-content>\n </fd-popover-body>\n</fd-popover>\n","import { ChangeDetectionStrategy, Component, forwardRef, Input, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { NestedListContentDirective } from '../nested-content/nested-list-content.directive';\nimport { NestedItemComponent } from '../nested-item/nested-item.component';\nimport { NestedLinkComponent } from '../nested-link/nested-link.component';\nimport {\n NestedListExpandIconComponent,\n NestedListHeaderDirective,\n NestedListIconComponent,\n NestedListTitleDirective\n} from '../nested-list-directives';\nimport { NestedListItem, NestedListModel } from '../nested-list-model';\nimport { NestedListPopoverComponent } from '../nested-list-popover/nested-list-popover.component';\nimport { NestedListComponent } from '../nested-list/nested-list.component';\n\n/**\n * Component for internal usage, allows to generate the nested list from defined object.\n */\n@Component({\n selector: 'fdx-prepared-nested-list',\n templateUrl: './prepared-nested-list.component.html',\n encapsulation: ViewEncapsulation.None,\n imports: [\n NestedListComponent,\n NestedListHeaderDirective,\n NestedItemComponent,\n NestedListPopoverComponent,\n NestedLinkComponent,\n RouterModule,\n NestedListContentDirective,\n NestedListIconComponent,\n NestedListTitleDirective,\n NestedListExpandIconComponent\n ],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class PreparedNestedListComponent {\n /**\n * @hidden\n * For internal usage.\n * Defines if the component is first\n */\n @Input()\n first = true;\n\n /** Defines if list should be displayed in condensed mode */\n @Input()\n condensed = false;\n\n /** List configuration*/\n @Input()\n list: Nullable<NestedListModel>;\n\n /**\n * @hidden\n */\n @ViewChild(forwardRef(() => NestedListComponent))\n _nestedListComponent: NestedListComponent;\n\n /**\n * In prepared nested list, nested items should be taken as reference of View, not Content.\n * There is direct reference to these directives here.\n */\n get nestedListComponent(): NestedListComponent {\n return this._nestedListComponent;\n }\n\n /** @hidden */\n _expandedChange(expanded: boolean, item: NestedListItem): void {\n item.expanded = expanded;\n }\n}\n","<ul fdx-nested-list [textOnly]=\"!!list?.textOnly\">\n @for (item of list?.items; track item) {\n @if (item.headerTitle) {\n <li fdx-nested-list-header>\n {{ item.headerTitle }}\n </li>\n } @else {\n <li fdx-nested-list-item [expanded]=\"!!item.expanded\" (expandedChange)=\"_expandedChange($event, item)\">\n @if (condensed && first && item.list) {\n <fdx-nested-list-popover [title]=\"item.link?.title || ''\">\n <div fdx-nested-list-content [selected]=\"!!item.link?.selected\">\n <ng-template\n [ngTemplateOutlet]=\"link\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-template>\n <button fdx-nested-list-expand-icon></button>\n </div>\n @if (item.list) {\n <fdx-prepared-nested-list [first]=\"false\" [list]=\"item.list\"></fdx-prepared-nested-list>\n }\n </fdx-nested-list-popover>\n }\n @if (!item.list) {\n <ng-template [ngTemplateOutlet]=\"link\" [ngTemplateOutletContext]=\"{ item: item }\"></ng-template>\n }\n @if ((!condensed || !first) && item.list) {\n <div fdx-nested-list-content>\n <ng-template [ngTemplateOutlet]=\"link\" [ngTemplateOutletContext]=\"{ item: item }\"></ng-template>\n <button fdx-nested-list-expand-icon></button>\n </div>\n @if (item.list) {\n <fdx-prepared-nested-list [first]=\"false\" [list]=\"item.list\"></fdx-prepared-nested-list>\n }\n }\n <ng-template let-item=\"item\" #link>\n @if (item.link) {\n <a\n fdx-nested-list-link\n [onClickCallback]=\"item.link.callback\"\n [selected]=\"!item.list && item.link.selected\"\n [attr.href]=\"item.link.href ? item.link.href : null\"\n [routerLink]=\"item.link.routerLink ? item.link.routerLink : []\"\n >\n @if (item.link.icon) {\n <span fdx-nested-list-icon [glyph]=\"item.link.icon\"></span>\n }\n <span fdx-nested-list-title>{{ item.link.title }}</span>\n </a>\n }\n </ng-template>\n </li>\n }\n }\n</ul>\n","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\nimport { MenuKeyboardService } from '@fundamental-ngx/core/menu';\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\nimport { NestedListContentDirective } from './nested-content/nested-list-content.directive';\nimport { NestedItemComponent } from './nested-item/nested-item.component';\nimport { NestedLinkComponent } from './nested-link/nested-link.component';\nimport {\n NestedListButtonDirective,\n NestedListExpandIconComponent,\n NestedListHeaderDirective,\n NestedListIconComponent,\n NestedListTitleDirective\n} from './nested-list-directives';\nimport { NestedListKeyboardService } from './nested-list-keyboard.service';\nimport { NestedListPopoverComponent } from './nested-list-popover/nested-list-popover.component';\nimport { NestedListStateService } from './nested-list-state.service';\nimport { NestedListComponent } from './nested-list/nested-list.component';\nimport { PreparedNestedListComponent } from './prepared-nested-list/prepared-nested-list.component';\n\n/**\n * @deprecated\n * Use direct imports of components and directives.\n */\n@NgModule({\n imports: [\n NestedListComponent,\n NestedLinkComponent,\n NestedItemComponent,\n NestedListIconComponent,\n NestedListTitleDirective,\n NestedListHeaderDirective,\n NestedListPopoverComponent,\n PreparedNestedListComponent,\n NestedListExpandIconComponent,\n NestedListButtonDirective,\n PopoverModule,\n RouterModule,\n IconComponent,\n ContentDensityModule,\n NestedListContentDirective\n ],\n exports: [\n NestedListComponent,\n NestedLinkComponent,\n NestedItemComponent,\n NestedListIconComponent,\n NestedListTitleDirective,\n NestedListHeaderDirective,\n NestedListPopoverComponent,\n PreparedNestedListComponent,\n NestedListExpandIconComponent,\n NestedListContentDirective,\n NestedListButtonDirective,\n ContentDensityModule\n ],\n providers: [MenuKeyboardService, NestedListKeyboardService, NestedListStateService]\n})\nexport class CxNestedListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.NestedItemService","i2.NestedListStateService","i3.NestedListKeyboardService","i2.NestedListKeyboardService","i3.NestedListStateService","i1.NestedListKeyboardService","i2.NestedItemService"],"mappings":"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"}
|
|
@@ -245,7 +245,7 @@ class SideNavigationComponent {
|
|
|
245
245
|
}, !this.narrow ? 200 : 0);
|
|
246
246
|
}
|
|
247
247
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: SideNavigationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
248
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: SideNavigationComponent, isStandalone: true, selector: "fdx-side-nav", inputs: { condensed: "condensed", inShellbar: "inShellbar", sideNavigationConfiguration: "sideNavigationConfiguration", dynamicWidth: "dynamicWidth", collapseWidth: "collapseWidth", narrow: "narrow", mobile: "mobile", showScrollButtons: "showScrollButtons", selectable: "selectable" }, host: { listeners: { "window:resize": "onResize()" }, properties: { "class.fdx-side-nav--condensed": "this.condensed" } }, providers: [MenuKeyboardService, NestedListKeyboardService, NestedListStateService], queries: [{ propertyName: "sideNavUtility", first: true, predicate: SideNavigationUtilityDirective, descendants: true }, { propertyName: "sideNavMain", first: true, predicate: SideNavigationMainComponent, descendants: true }], viewQueries: [{ propertyName: "_scrollDownButton", first: true, predicate: ["scrollDownButton"], descendants: true, read: ElementRef }, { propertyName: "preparedNestedList", predicate: PreparedNestedListComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<nav\n class=\"fdx-side-nav\"\n [class.fdx-side-nav--dynamic-width]=\"dynamicWidth\"\n [class.fdx-side-nav--shellbar]=\"inShellbar\"\n [class.fdx-side-nav--narrow]=\"narrow\"\n [class.fdx-side-nav--narrow-animated-items]=\"_narrowAnimatedItems$()\"\n [class.fdx-side-nav--condensed]=\"condensed || sideNavigationConfiguration?.condensed\"\n [class.fdx-side-nav--mobile]=\"mobile\"\n [attr.aria-label]=\"('coreNavigation.mainNavigation' | fdTranslate)()\"\n>\n @if (!sideNavigationConfiguration) {\n <ng-template [ngTemplateOutlet]=\"scrollUp\"></ng-template>\n <ng-content select=\"[fdx-side-nav-main]\"></ng-content>\n <ng-template [ngTemplateOutlet]=\"scrollDown\"></ng-template>\n <ng-content select=\"[fdx-side-nav-utility]\"></ng-content>\n } @else {\n <ng-template [ngTemplateOutlet]=\"scrollUp\"></ng-template>\n @if (sideNavigationConfiguration.mainNavigation) {\n <div fdx-side-nav-main>\n <fdx-prepared-nested-list\n [condensed]=\"condensed || !!sideNavigationConfiguration.condensed\"\n [first]=\"true\"\n [list]=\"sideNavigationConfiguration.mainNavigation\"\n >\n </fdx-prepared-nested-list>\n </div>\n }\n <ng-template [ngTemplateOutlet]=\"scrollDown\"></ng-template>\n @if (sideNavigationConfiguration.utilityNavigation) {\n <div fdx-side-nav-utility>\n <fdx-prepared-nested-list\n [condensed]=\"condensed || !!sideNavigationConfiguration.condensed\"\n [first]=\"true\"\n [list]=\"sideNavigationConfiguration.utilityNavigation\"\n >\n </fdx-prepared-nested-list>\n </div>\n }\n }\n</nav>\n<ng-template #scrollUp>\n @if (_showScrollUpButton) {\n <div class=\"fdx-side-nav__button-container fdx-side-nav__button-container--top\">\n <button\n fd-button\n fdType=\"standard\"\n glyph=\"navigation-up-arrow\"\n fdx-side-nav-button\n (click)=\"_scrollItems('up')\"\n ></button>\n </div>\n }\n</ng-template>\n<ng-template #scrollDown>\n @if (_showScrollDownButton) {\n <div class=\"fdx-side-nav__button-container fdx-side-nav__button-container--bottom\">\n <button\n #scrollDownButton\n fd-button\n fdType=\"standard\"\n glyph=\"navigation-down-arrow\"\n fdx-side-nav-button\n (click)=\"_scrollItems('down')\"\n ></button>\n </div>\n }\n</ng-template>\n", styles: [".fdx-nested-list{--fdNestedList_Item_Height:var(--sapElement_LineHeight);--fdNestedList_Item_Spacing:.25rem;--fdNestedList_Item_Spacing_Compact:.125rem;--fdNestedList_Item_Margin:.25rem;--fdNestedList_Focus_Offset:0;--fdNestedList_Focus_Offset_Width:var(--sapContent_FocusWidth);border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:.25rem;list-style:none;width:100%}.fdx-nested-list:after,.fdx-nested-list:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fdx-nested-list[aria-hidden=true]{display:none}.fdx-nested-list__item{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:block;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}.fdx-nested-list__item:after,.fdx-nested-list__item:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fdx-nested-list__item--header h1.fdx-nested-list__link,.fdx-nested-list__item--header h2.fdx-nested-list__link,.fdx-nested-list__item--header h3.fdx-nested-list__link,.fdx-nested-list__item--header h4.fdx-nested-list__link,.fdx-nested-list__item--header h5.fdx-nested-list__link,.fdx-nested-list__item--header h6.fdx-nested-list__link{cursor:auto}.fdx-nested-list__item--header h1.fdx-nested-list__link.is-hover,.fdx-nested-list__item--header h1.fdx-nested-list__link:hover,.fdx-nested-list__item--header h2.fdx-nested-list__link.is-hover,.fdx-nested-list__item--header h2.fdx-nested-list__link:hover,.fdx-nested-list__item--header h3.fdx-nested-list__link.is-hover,.fdx-nested-list__item--header h3.fdx-nested-list__link:hover,.fdx-nested-list__item--header h4.fdx-nested-list__link.is-hover,.fdx-nested-list__item--header h4.fdx-nested-list__link:hover,.fdx-nested-list__item--header h5.fdx-nested-list__link.is-hover,.fdx-nested-list__item--header h5.fdx-nested-list__link:hover,.fdx-nested-list__item--header h6.fdx-nested-list__link.is-hover,.fdx-nested-list__item--header h6.fdx-nested-list__link:hover{background:var(--sapList_Background);color:var(--sapList_TextColor)}.fdx-nested-list__item--header h1.fdx-nested-list__link .fdx-nested-list__title,.fdx-nested-list__item--header h2.fdx-nested-list__link .fdx-nested-list__title,.fdx-nested-list__item--header h3.fdx-nested-list__link .fdx-nested-list__title,.fdx-nested-list__item--header h4.fdx-nested-list__link .fdx-nested-list__title,.fdx-nested-list__item--header h5.fdx-nested-list__link .fdx-nested-list__title,.fdx-nested-list__item--header h6.fdx-nested-list__link .fdx-nested-list__title{font-weight:700}.fdx-nested-list__item--header .fdx-nested-list__link{cursor:pointer}.fdx-nested-list__item--header .fdx-nested-list__link .fdx-nested-list__title{font-weight:700}.fdx-nested-list__item--group{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:var(--fdNestedList_Item_Height);padding-inline:1rem}.fdx-nested-list__item--group .fdx-nested-list__title{color:var(--sapContent_LabelColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize)}.fdx-nested-list__item--group:not(:first-child){-webkit-margin-before:.625rem;margin-block-start:.625rem}.fdx-nested-list__item--quick-create{--fdNestedList_Icon_Color:var(--sapButton_TextColor);--fdNestedList_Title_Color:var(--sapButton_TextColor);--fdNestedList_Title_Font_Family:var(--sapFontSemiboldDuplexFamily)}.fdx-nested-list__item--quick-create .fdx-nested-list__link{background:var(--fdNestedList_QuickAction_Background,var(--sapButton_Background));-webkit-box-shadow:var(--fdNestedList_QuickAction_BoxShadow,0 0 0 var(--sapButton_BorderWidth) var(--sapButton_BorderColor));box-shadow:var(--fdNestedList_QuickAction_BoxShadow,0 0 0 var(--sapButton_BorderWidth) var(--sapButton_BorderColor))}.fdx-nested-list__item--quick-create .fdx-nested-list__link.is-hover,.fdx-nested-list__item--quick-create .fdx-nested-list__link:hover{--fdNestedList_QuickAction_Background:var(--sapButton_Hover_Background);--fdNestedList_QuickAction_BoxShadow:0 0 0 var(--sapButton_BorderWidth) var(--sapButton_Hover_BorderColor)}.fdx-nested-list__item--quick-create .fdx-nested-list__link.is-active,.fdx-nested-list__item--quick-create .fdx-nested-list__link:active{--fdNestedList_QuickAction_Background:var(--sapButton_Active_Background);--fdNestedList_QuickAction_BoxShadow:0 0 0 var(--sapButton_BorderWidth) var(--sapButton_Active_BorderColor)}.fdx-nested-list__item--quick-create .fdx-nested-list__link.is-active .fdx-nested-list__icon,.fdx-nested-list__item--quick-create .fdx-nested-list__link.is-active .fdx-nested-list__title,.fdx-nested-list__item--quick-create .fdx-nested-list__link:active .fdx-nested-list__icon,.fdx-nested-list__item--quick-create .fdx-nested-list__link:active .fdx-nested-list__title{color:var(--sapButton_TextColor)}.fdx-nested-list__item--quick-create .fdx-nested-list__link.is-active.is-hover,.fdx-nested-list__item--quick-create .fdx-nested-list__link.is-active:hover,.fdx-nested-list__item--quick-create .fdx-nested-list__link:active.is-hover,.fdx-nested-list__item--quick-create .fdx-nested-list__link:active:hover{--fdNestedList_QuickAction_Background:var(--sapButton_Active_Background);--fdNestedList_QuickAction_BoxShadow:0 0 0 var(--sapButton_BorderWidth) var(--sapButton_Active_BorderColor)}.fdx-nested-list__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;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;background:var(--sapList_Background);border-radius:var(--sapButton_BorderCornerRadius);color:var(--sapList_TextColor);cursor:pointer;min-height:var(--fdNestedList_Item_Height);position:relative;text-decoration:none;width:100%}.fdx-nested-list__link:after,.fdx-nested-list__link:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fdx-nested-list__link.is-hover,.fdx-nested-list__link:hover{background:var(--sapList_Hover_Background);color:var(--sapList_TextColor)}.fdx-nested-list__link.is-focus,.fdx-nested-list__link:focus{outline:var(--sapContent_FocusColor) var(--sapContent_FocusStyle) var(--fdNestedList_Focus_Offset_Width);outline-offset:var(--fdNestedList_Focus_Offset)}.fdx-nested-list__link.is-selected,.fdx-nested-list__link[aria-selected=true]{background:var(--sapList_SelectionBackgroundColor);color:var(--sapList_TextColor)}.fdx-nested-list__link.is-selected.is-hover,.fdx-nested-list__link.is-selected:hover,.fdx-nested-list__link[aria-selected=true].is-hover,.fdx-nested-list__link[aria-selected=true]:hover{background:var(--sapList_Hover_SelectionBackground);color:var(--sapList_TextColor)}.fdx-nested-list__link.is-selected .fdx-nested-list__link-container:after,.fdx-nested-list__link[aria-selected=true] .fdx-nested-list__link-container:after{background:var(--sapList_SelectionBorderColor);content:\"\";height:100%;left:0;position:absolute;top:0;width:.1875rem}.fdx-nested-list__link.is-selected[dir=rtl] .fdx-nested-list__link-container:after,.fdx-nested-list__link[aria-selected=true][dir=rtl] .fdx-nested-list__link-container:after,[dir=rtl] .fdx-nested-list__link.is-selected .fdx-nested-list__link-container:after,[dir=rtl] .fdx-nested-list__link[aria-selected=true] .fdx-nested-list__link-container:after{left:auto;right:0}.fdx-nested-list__link.is-active,.fdx-nested-list__link.is-active.is-selected,.fdx-nested-list__link.is-active[aria-selected=true],.fdx-nested-list__link:active,.fdx-nested-list__link:active.is-selected,.fdx-nested-list__link:active[aria-selected=true]{background:var(--sapList_Active_Background);color:var(--sapList_Active_TextColor)}.fdx-nested-list__link.is-active .fdx-nested-list__arrow,.fdx-nested-list__link.is-active .fdx-nested-list__icon,.fdx-nested-list__link.is-active .fdx-nested-list__title,.fdx-nested-list__link:active .fdx-nested-list__arrow,.fdx-nested-list__link:active .fdx-nested-list__icon,.fdx-nested-list__link:active .fdx-nested-list__title{color:var(--sapList_Active_TextColor)}.fdx-nested-list__link-container{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;gap:.5rem;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-radius:var(--sapButton_BorderCornerRadius);overflow:hidden;padding-block:.5rem;padding-inline:var(--fdNestedList_Start_Offset,1rem) var(--fdNestedList_End_Offset,1rem);position:relative;text-decoration:none;width:100%}.fdx-nested-list__link-container:after,.fdx-nested-list__link-container:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fdx-nested-list__link-container.is-focus,.fdx-nested-list__link-container:focus{outline:var(--sapContent_FocusColor) var(--sapContent_FocusStyle) var(--fdNestedList_Focus_Offset_Width);outline-offset:var(--fdNestedList_Focus_Offset)}.fdx-nested-list__link-container:has(.fdx-nested-list__arrow){--fdNestedList_End_Offset:.375rem}.fdx-nested-list__icon [class*=sap-icon],.fdx-nested-list__icon[class*=sap-icon]{background:inherit;border-radius:inherit;color:inherit;color:var(--fdNestedList_Icon_Color,var(--sapList_TextColor));font-size:inherit;font-size:1rem;line-height:1;max-width:1rem;min-width:1rem;width:1rem}.fdx-nested-list__title{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--fdNestedList_Title_Color,var(--sapList_TextColor));display:inline-block;font-family:var(--sapFontFamily);font-family:var(--fdNestedList_Title_Font_Family,var(--sapFontBoldFamily));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;text-align:start;-webkit-transition:opacity .1s ease-out,visibility .1s ease-out;transition:opacity .1s ease-out,visibility .1s ease-out;width:100%}.fdx-nested-list__title:after,.fdx-nested-list__title:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fdx-nested-list__arrow[class*=sap-icon]{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;height:1rem;line-height:1;max-height:1rem;max-width:2.25rem;min-height:1rem;min-width:2.25rem;width:2.25rem}.fdx-nested-list__arrow[class*=sap-icon]:after,.fdx-nested-list__arrow[class*=sap-icon]:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fdx-nested-list__arrow[class*=sap-icon][dir=rtl],[dir=rtl] .fdx-nested-list__arrow[class*=sap-icon]{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fdx-nested-list__button{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;max-width:2.75rem;min-width:2.75rem;width:2.75rem;-webkit-margin-start:1.3125rem;background:transparent;border-radius:var(--sapButton_BorderCornerRadius);cursor:pointer;height:var(--fdNestedList_Item_Height);margin-inline-start:1.3125rem;position:relative}.fdx-nested-list__button:after,.fdx-nested-list__button:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fdx-nested-list__button.is-focus,.fdx-nested-list__button:focus{outline:var(--sapContent_FocusColor) var(--sapContent_FocusStyle) var(--fdNestedList_Focus_Offset_Width);outline-offset:var(--fdNestedList_Focus_Offset)}.fdx-nested-list__button:before{background:var(--sapTextColor);content:\"\";height:var(--sapElement_Condensed_Height);left:-.25rem;position:absolute;width:.0625rem}.fdx-nested-list__button[dir=rtl]:before,[dir=rtl] .fdx-nested-list__button:before{left:auto;right:-.25rem}.fdx-nested-list__button [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;height:1rem;line-height:1;max-height:1rem;max-width:1rem;min-height:1rem;min-width:1rem;width:1rem}.fdx-nested-list__button [class*=sap-icon][dir=rtl],[dir=rtl] .fdx-nested-list__button [class*=sap-icon]{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fdx-nested-list .fdx-nested-list.level-2{--fdNestedList_Start_Offset:2.5rem;--fdNestedList_Title_Font_Family:var(--sapFontFamily);-webkit-margin-before:.25rem;margin-block-start:.25rem}.fdx-nested-list .fdx-nested-list.level-3{--fdNestedList_Start_Offset:5rem;--fdNestedList_Title_Font_Family:var(--sapFontFamily);-webkit-margin-before:.25rem;margin-block-start:.25rem}.fdx-nested-list--text-only .fdx-nested-list.level-2{--fdNestedList_Start_Offset:3rem}.fdx-nested-list--text-only .fdx-nested-list.level-3{--fdNestedList_Start_Offset:5rem}.fdx-nested-list[class*=-compact],.fdx-nested-list[class*=-condensed],[class*=-compact] .fdx-nested-list:not([class*=-cozy]),[class*=-condensed] .fdx-nested-list:not([class*=-cozy]){--fdNestedList_Item_Margin:.25rem;--fdNestedList_Item_Spacing:.125rem;--fdNestedList_Focus_Offset:.0625rem;--fdNestedList_Focus_Offset_Width:.0625rem;--fdNestedList_Item_Height:var(--sapElement_Compact_LineHeight)}.fdx-side-nav{--fdSideNav_Padding_Block:.25rem;--fdSideNav_Padding_Inline:0;--fdSideNav_First_Item_Margin_Top:.25rem;--fdSideNav_Utility_Margin_Bottom:1rem;--fdNestedList_Item_Height:var(--sapElement_LineHeight);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-transition:width .2s ease-out;transition:width .2s ease-out;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-ms-flex-pack:justify;background-color:var(--sapGroup_ContentBackground);border-radius:0;-webkit-box-shadow:var(--sapContent_Shadow0);box-shadow:var(--sapContent_Shadow0);height:100%;justify-content:space-between;width:15rem}.fdx-side-nav:after,.fdx-side-nav:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fdx-side-nav__main-navigation{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;overflow:hidden scroll;padding-block:.5rem .25rem;padding-inline:.5rem}.fdx-side-nav__main-navigation:after,.fdx-side-nav__main-navigation:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fdx-side-nav__main-navigation.fd-scrollbar{padding-block:.5rem .25rem;padding-inline:.5rem}.fdx-side-nav__utility{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;padding-inline:.5rem;-webkit-padding-after:.5rem;padding-block-end:.5rem}.fdx-side-nav__utility:after,.fdx-side-nav__utility:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fdx-side-nav__utility:before{background:var(--sapToolbar_SeparatorColor);content:\"\";display:block;height:.0625rem;width:auto;-webkit-margin-after:.25rem;margin-block-end:.25rem;margin-inline:.5rem}.fdx-side-nav__popover-body{border-radius:1rem!important;margin-block:.25rem!important;max-width:16rem!important;min-width:16rem!important;padding-inline:0!important;width:16rem!important}.fdx-side-nav__popover-body .fdx-nested-list.level-2{padding-block:.5rem;padding-inline:.5rem}.fdx-side-nav__popover-body .fdx-nested-list.level-2 .fdx-nested-list__title{font-family:var(--sapFontFamily)}.fdx-side-nav__popover-body .fdx-nested-list.level-3 .fdx-nested-list__link-container{--fdNestedList_Start_Offset:3rem}.fdx-side-nav__popover-body--dynamic-width{max-width:-webkit-fit-content!important;max-width:-moz-fit-content!important;max-width:fit-content!important;min-width:16rem!important;width:-webkit-fit-content!important;width:-moz-fit-content!important;width:fit-content!important}.fdx-side-nav__button{margin-block:.25rem!important;margin-inline:0!important}.fdx-side-nav__input-group{margin-block:.75rem!important;margin-inline:.5rem!important;max-width:calc(100% - 1rem);min-width:calc(100% - 1rem);width:calc(100% - 1rem)}.fdx-side-nav[class*=-compact],.fdx-side-nav[class*=-condensed],[class*=-compact] .fdx-side-nav:not([class*=-cozy]),[class*=-condensed] .fdx-side-nav:not([class*=-cozy]){--fdSideNav_Padding_Block:.125rem;--fdSideNav_First_Item_Margin_Top:.125rem;--fdSideNav_Utility_Margin_Bottom:.75rem}.fdx-side-nav--mobile{border-radius:0;width:100%}.fdx-side-nav--narrow-animated-items .fdx-nested-list__arrow[class*=sap-icon],.fdx-side-nav--narrow-animated-items .fdx-nested-list__button,.fdx-side-nav--narrow-animated-items .fdx-nested-list__title{height:var(--fdNestedList_Item_Height);opacity:0;overflow:hidden;visibility:hidden}.fdx-side-nav--narrow{width:4rem}.fdx-side-nav--narrow .fdx-nested-list__link{height:var(--fdNestedList_Item_Height);max-height:var(--fdNestedList_Item_Height);min-height:var(--fdNestedList_Item_Height)}.fdx-side-nav--narrow:not(.fdx-side-nav--narrow-animated-items) .fdx-nested-list__arrow[class*=sap-icon],.fdx-side-nav--narrow:not(.fdx-side-nav--narrow-animated-items) .fdx-nested-list__button,.fdx-side-nav--narrow:not(.fdx-side-nav--narrow-animated-items) .fdx-nested-list__title{display:none;height:var(--fdNestedList_Item_Height)}.fdx-side-nav--narrow .fdx-nested-list button.fdx-nested-list__link,.fdx-side-nav--narrow .fdx-nested-list div.fdx-nested-list__link{position:relative}.fdx-side-nav--narrow .fdx-nested-list button.fdx-nested-list__link:before,.fdx-side-nav--narrow .fdx-nested-list div.fdx-nested-list__link:before{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;content:\"\\e066\";position:absolute;right:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);-webkit-padding-end:.25rem;font-family:SAP-icons;padding-inline-end:.25rem}.fdx-side-nav--narrow .fdx-nested-list button.fdx-nested-list__link[dir=rtl]:before,.fdx-side-nav--narrow .fdx-nested-list div.fdx-nested-list__link[dir=rtl]:before,[dir=rtl] .fdx-side-nav--narrow .fdx-nested-list button.fdx-nested-list__link:before,[dir=rtl] .fdx-side-nav--narrow .fdx-nested-list div.fdx-nested-list__link:before{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;left:0;padding-inline:.25rem 0;right:auto;-webkit-transform:rotateY(180deg) translateY(-50%);transform:rotateY(180deg) translateY(-50%)}.fdx-side-nav--dynamic-width{max-width:100%;min-width:15rem;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.fdx-side-nav--dynamic-width.fdx--narrow{width:4rem}.fdx-side-nav--shellbar{border-top-right-radius:0}.fdx-side-nav--shellbar[dir=rtl],[dir=rtl] .fdx-side-nav--shellbar{border-top-left-radius:0}.fdx-side-nav--single-line .fdx-nested-list__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fdx-side-nav[class*=-compact],.fdx-side-nav[class*=-condensed],[class*=-compact] .fdx-side-nav:not([class*=-cozy]),[class*=-condensed] .fdx-side-nav:not([class*=-cozy]){--fdNestedList_Item_Height:var(--sapElement_Compact_LineHeight)}.fdx-side-nav__button-container{background:var(--sapGroup_ContentBackground);position:static;width:100%;height:48px;z-index:1}.fdx-side-nav__button-container--bottom{border-bottom-right-radius:1rem}.fdx-side-nav__button-container--top{border-top-right-radius:1rem}.fdx-side-nav__button-container .fdx-side-nav .fdx-side-nav__button:last-of-type{margin-top:0!important}.fdx-nested-list__item{display:block}.fdx-nested-list__item .fdx-nested-list__link{cursor:pointer}.fdx-nested-list__item .fdx-nested-list__content .fdx-nested-list__button.fd-button{background:none}.fdx-side-nav .fd-button{margin-left:.875rem!important}.fdx-side-nav .fdx-side-nav__button{min-height:2.25rem;overflow:hidden;position:sticky}.fdx-side-nav--narrow .fdx-nested-list__item--group{display:none!important}.fdx-side-nav--compact .fdx-side-nav__button{min-height:1.5rem}.fdx-side-nav__popover-body .fd-scrollbar{padding:.25rem 0!important}.fdx-side-nav__popover-body.fdx-nested-list--text-only .fdx-nested-list:first-child{padding:.5rem}.fdx-side-nav__popover-body.fdx-nested-list--text-only .fdx-nested-list:first-child .fdx-nested-list__title{font-family:var(--sapFontFamily)}.fdx-side-nav__popover-body.fdx-nested-list--text-only .fdx-nested-list:not(:first-child){margin-block-start:.5rem;--fdNestedList_Start_Offset: 3rem}\n/*! Bundled license information:\n\n@fundamental-styles/cx/dist/side-nav.css:\n (*!\n * Fundamental Library Styles v0.41.4\n * Copyright (c) 2026 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *)\n*/\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SideNavigationMainComponent, selector: "fdx-side-nav-main, div[fdx-side-nav-main]" }, { kind: "component", type: PreparedNestedListComponent, selector: "fdx-prepared-nested-list", inputs: ["first", "condensed", "list"] }, { kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["id"], exportAs: ["fd-button"] }, { kind: "directive", type: SideNavigationUtilityDirective, selector: "[cxSideNavigationUtility], [fdx-side-nav-utility]" }, { kind: "directive", type: SideNavigationButtonDirective, selector: "[cxSideNavButton], [fdx-side-nav-button]" }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
248
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: SideNavigationComponent, isStandalone: true, selector: "fdx-side-nav", inputs: { condensed: "condensed", inShellbar: "inShellbar", sideNavigationConfiguration: "sideNavigationConfiguration", dynamicWidth: "dynamicWidth", collapseWidth: "collapseWidth", narrow: "narrow", mobile: "mobile", showScrollButtons: "showScrollButtons", selectable: "selectable" }, host: { listeners: { "window:resize": "onResize()" }, properties: { "class.fdx-side-nav--condensed": "this.condensed" } }, providers: [MenuKeyboardService, NestedListKeyboardService, NestedListStateService], queries: [{ propertyName: "sideNavUtility", first: true, predicate: SideNavigationUtilityDirective, descendants: true }, { propertyName: "sideNavMain", first: true, predicate: SideNavigationMainComponent, descendants: true }], viewQueries: [{ propertyName: "_scrollDownButton", first: true, predicate: ["scrollDownButton"], descendants: true, read: ElementRef }, { propertyName: "preparedNestedList", predicate: PreparedNestedListComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<nav\n class=\"fdx-side-nav\"\n [class.fdx-side-nav--dynamic-width]=\"dynamicWidth\"\n [class.fdx-side-nav--shellbar]=\"inShellbar\"\n [class.fdx-side-nav--narrow]=\"narrow\"\n [class.fdx-side-nav--narrow-animated-items]=\"_narrowAnimatedItems$()\"\n [class.fdx-side-nav--condensed]=\"condensed || sideNavigationConfiguration?.condensed\"\n [class.fdx-side-nav--mobile]=\"mobile\"\n [attr.aria-label]=\"('coreNavigation.mainNavigation' | fdTranslate)()\"\n>\n @if (!sideNavigationConfiguration) {\n <ng-template [ngTemplateOutlet]=\"scrollUp\"></ng-template>\n <ng-content select=\"[fdx-side-nav-main]\"></ng-content>\n <ng-template [ngTemplateOutlet]=\"scrollDown\"></ng-template>\n <ng-content select=\"[fdx-side-nav-utility]\"></ng-content>\n } @else {\n <ng-template [ngTemplateOutlet]=\"scrollUp\"></ng-template>\n @if (sideNavigationConfiguration.mainNavigation) {\n <div fdx-side-nav-main>\n <fdx-prepared-nested-list\n [condensed]=\"condensed || !!sideNavigationConfiguration.condensed\"\n [first]=\"true\"\n [list]=\"sideNavigationConfiguration.mainNavigation\"\n >\n </fdx-prepared-nested-list>\n </div>\n }\n <ng-template [ngTemplateOutlet]=\"scrollDown\"></ng-template>\n @if (sideNavigationConfiguration.utilityNavigation) {\n <div fdx-side-nav-utility>\n <fdx-prepared-nested-list\n [condensed]=\"condensed || !!sideNavigationConfiguration.condensed\"\n [first]=\"true\"\n [list]=\"sideNavigationConfiguration.utilityNavigation\"\n >\n </fdx-prepared-nested-list>\n </div>\n }\n }\n</nav>\n<ng-template #scrollUp>\n @if (_showScrollUpButton) {\n <div class=\"fdx-side-nav__button-container fdx-side-nav__button-container--top\">\n <button\n fd-button\n fdType=\"standard\"\n glyph=\"navigation-up-arrow\"\n fdx-side-nav-button\n (click)=\"_scrollItems('up')\"\n ></button>\n </div>\n }\n</ng-template>\n<ng-template #scrollDown>\n @if (_showScrollDownButton) {\n <div class=\"fdx-side-nav__button-container fdx-side-nav__button-container--bottom\">\n <button\n #scrollDownButton\n fd-button\n fdType=\"standard\"\n glyph=\"navigation-down-arrow\"\n fdx-side-nav-button\n (click)=\"_scrollItems('down')\"\n ></button>\n </div>\n }\n</ng-template>\n", styles: [".fdx-nested-list{--fdNestedList_Item_Height:var(--sapElement_LineHeight);--fdNestedList_Item_Spacing:.25rem;--fdNestedList_Item_Spacing_Compact:.125rem;--fdNestedList_Item_Margin:.25rem;--fdNestedList_Focus_Offset:0;--fdNestedList_Focus_Offset_Width:var(--sapContent_FocusWidth);border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:.25rem;list-style:none;width:100%}.fdx-nested-list:after,.fdx-nested-list:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fdx-nested-list[aria-hidden=true]{display:none}.fdx-nested-list__item{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:block;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}.fdx-nested-list__item:after,.fdx-nested-list__item:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fdx-nested-list__item--header h1.fdx-nested-list__link,.fdx-nested-list__item--header h2.fdx-nested-list__link,.fdx-nested-list__item--header h3.fdx-nested-list__link,.fdx-nested-list__item--header h4.fdx-nested-list__link,.fdx-nested-list__item--header h5.fdx-nested-list__link,.fdx-nested-list__item--header h6.fdx-nested-list__link{cursor:auto}.fdx-nested-list__item--header h1.fdx-nested-list__link.is-hover,.fdx-nested-list__item--header h1.fdx-nested-list__link:hover,.fdx-nested-list__item--header h2.fdx-nested-list__link.is-hover,.fdx-nested-list__item--header h2.fdx-nested-list__link:hover,.fdx-nested-list__item--header h3.fdx-nested-list__link.is-hover,.fdx-nested-list__item--header h3.fdx-nested-list__link:hover,.fdx-nested-list__item--header h4.fdx-nested-list__link.is-hover,.fdx-nested-list__item--header h4.fdx-nested-list__link:hover,.fdx-nested-list__item--header h5.fdx-nested-list__link.is-hover,.fdx-nested-list__item--header h5.fdx-nested-list__link:hover,.fdx-nested-list__item--header h6.fdx-nested-list__link.is-hover,.fdx-nested-list__item--header h6.fdx-nested-list__link:hover{background:var(--sapList_Background);color:var(--sapList_TextColor)}.fdx-nested-list__item--header h1.fdx-nested-list__link .fdx-nested-list__title,.fdx-nested-list__item--header h2.fdx-nested-list__link .fdx-nested-list__title,.fdx-nested-list__item--header h3.fdx-nested-list__link .fdx-nested-list__title,.fdx-nested-list__item--header h4.fdx-nested-list__link .fdx-nested-list__title,.fdx-nested-list__item--header h5.fdx-nested-list__link .fdx-nested-list__title,.fdx-nested-list__item--header h6.fdx-nested-list__link .fdx-nested-list__title{font-weight:700}.fdx-nested-list__item--header .fdx-nested-list__link{cursor:pointer}.fdx-nested-list__item--header .fdx-nested-list__link .fdx-nested-list__title{font-weight:700}.fdx-nested-list__item--group{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:var(--fdNestedList_Item_Height);padding-inline:1rem}.fdx-nested-list__item--group .fdx-nested-list__title{color:var(--sapContent_LabelColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize)}.fdx-nested-list__item--group:not(:first-child){-webkit-margin-before:.625rem;margin-block-start:.625rem}.fdx-nested-list__item--quick-create{--fdNestedList_Icon_Color:var(--sapButton_TextColor);--fdNestedList_Title_Color:var(--sapButton_TextColor);--fdNestedList_Title_Font_Family:var(--sapFontSemiboldDuplexFamily)}.fdx-nested-list__item--quick-create .fdx-nested-list__link{background:var(--fdNestedList_QuickAction_Background,var(--sapButton_Background));-webkit-box-shadow:var(--fdNestedList_QuickAction_BoxShadow,0 0 0 var(--sapButton_BorderWidth) var(--sapButton_BorderColor));box-shadow:var(--fdNestedList_QuickAction_BoxShadow,0 0 0 var(--sapButton_BorderWidth) var(--sapButton_BorderColor))}.fdx-nested-list__item--quick-create .fdx-nested-list__link.is-hover,.fdx-nested-list__item--quick-create .fdx-nested-list__link:hover{--fdNestedList_QuickAction_Background:var(--sapButton_Hover_Background);--fdNestedList_QuickAction_BoxShadow:0 0 0 var(--sapButton_BorderWidth) var(--sapButton_Hover_BorderColor)}.fdx-nested-list__item--quick-create .fdx-nested-list__link.is-active,.fdx-nested-list__item--quick-create .fdx-nested-list__link:active{--fdNestedList_QuickAction_Background:var(--sapButton_Active_Background);--fdNestedList_QuickAction_BoxShadow:0 0 0 var(--sapButton_BorderWidth) var(--sapButton_Active_BorderColor)}.fdx-nested-list__item--quick-create .fdx-nested-list__link.is-active .fdx-nested-list__icon,.fdx-nested-list__item--quick-create .fdx-nested-list__link.is-active .fdx-nested-list__title,.fdx-nested-list__item--quick-create .fdx-nested-list__link:active .fdx-nested-list__icon,.fdx-nested-list__item--quick-create .fdx-nested-list__link:active .fdx-nested-list__title{color:var(--sapButton_TextColor)}.fdx-nested-list__item--quick-create .fdx-nested-list__link.is-active.is-hover,.fdx-nested-list__item--quick-create .fdx-nested-list__link.is-active:hover,.fdx-nested-list__item--quick-create .fdx-nested-list__link:active.is-hover,.fdx-nested-list__item--quick-create .fdx-nested-list__link:active:hover{--fdNestedList_QuickAction_Background:var(--sapButton_Active_Background);--fdNestedList_QuickAction_BoxShadow:0 0 0 var(--sapButton_BorderWidth) var(--sapButton_Active_BorderColor)}.fdx-nested-list__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;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;background:var(--sapList_Background);border-radius:var(--sapButton_BorderCornerRadius);color:var(--sapList_TextColor);cursor:pointer;min-height:var(--fdNestedList_Item_Height);position:relative;text-decoration:none;width:100%}.fdx-nested-list__link:after,.fdx-nested-list__link:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fdx-nested-list__link.is-hover,.fdx-nested-list__link:hover{background:var(--sapList_Hover_Background);color:var(--sapList_TextColor)}.fdx-nested-list__link.is-focus,.fdx-nested-list__link:focus{outline:var(--sapContent_FocusColor) var(--sapContent_FocusStyle) var(--fdNestedList_Focus_Offset_Width);outline-offset:var(--fdNestedList_Focus_Offset)}.fdx-nested-list__link.is-selected,.fdx-nested-list__link[aria-selected=true]{background:var(--sapList_SelectionBackgroundColor);color:var(--sapList_TextColor)}.fdx-nested-list__link.is-selected.is-hover,.fdx-nested-list__link.is-selected:hover,.fdx-nested-list__link[aria-selected=true].is-hover,.fdx-nested-list__link[aria-selected=true]:hover{background:var(--sapList_Hover_SelectionBackground);color:var(--sapList_TextColor)}.fdx-nested-list__link.is-selected .fdx-nested-list__link-container:after,.fdx-nested-list__link[aria-selected=true] .fdx-nested-list__link-container:after{background:var(--sapList_SelectionBorderColor);content:\"\";height:100%;left:0;position:absolute;top:0;width:.1875rem}.fdx-nested-list__link.is-selected[dir=rtl] .fdx-nested-list__link-container:after,.fdx-nested-list__link[aria-selected=true][dir=rtl] .fdx-nested-list__link-container:after,[dir=rtl] .fdx-nested-list__link.is-selected .fdx-nested-list__link-container:after,[dir=rtl] .fdx-nested-list__link[aria-selected=true] .fdx-nested-list__link-container:after{left:auto;right:0}.fdx-nested-list__link.is-active,.fdx-nested-list__link.is-active.is-selected,.fdx-nested-list__link.is-active[aria-selected=true],.fdx-nested-list__link:active,.fdx-nested-list__link:active.is-selected,.fdx-nested-list__link:active[aria-selected=true]{background:var(--sapList_Active_Background);color:var(--sapList_Active_TextColor)}.fdx-nested-list__link.is-active .fdx-nested-list__arrow,.fdx-nested-list__link.is-active .fdx-nested-list__icon,.fdx-nested-list__link.is-active .fdx-nested-list__title,.fdx-nested-list__link:active .fdx-nested-list__arrow,.fdx-nested-list__link:active .fdx-nested-list__icon,.fdx-nested-list__link:active .fdx-nested-list__title{color:var(--sapList_Active_TextColor)}.fdx-nested-list__link-container{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;gap:.5rem;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-radius:var(--sapButton_BorderCornerRadius);overflow:hidden;padding-block:.5rem;padding-inline:var(--fdNestedList_Start_Offset,1rem) var(--fdNestedList_End_Offset,1rem);position:relative;text-decoration:none;width:100%}.fdx-nested-list__link-container:after,.fdx-nested-list__link-container:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fdx-nested-list__link-container.is-focus,.fdx-nested-list__link-container:focus{outline:var(--sapContent_FocusColor) var(--sapContent_FocusStyle) var(--fdNestedList_Focus_Offset_Width);outline-offset:var(--fdNestedList_Focus_Offset)}.fdx-nested-list__link-container:has(.fdx-nested-list__arrow){--fdNestedList_End_Offset:.375rem}.fdx-nested-list__icon [class*=sap-icon],.fdx-nested-list__icon[class*=sap-icon]{background:inherit;border-radius:inherit;color:inherit;color:var(--fdNestedList_Icon_Color,var(--sapList_TextColor));font-size:inherit;font-size:1rem;line-height:1;max-width:1rem;min-width:1rem;width:1rem}.fdx-nested-list__title{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--fdNestedList_Title_Color,var(--sapList_TextColor));display:inline-block;font-family:var(--sapFontFamily);font-family:var(--fdNestedList_Title_Font_Family,var(--sapFontBoldFamily));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;text-align:start;-webkit-transition:opacity .1s ease-out,visibility .1s ease-out;transition:opacity .1s ease-out,visibility .1s ease-out;width:100%}.fdx-nested-list__title:after,.fdx-nested-list__title:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fdx-nested-list__arrow[class*=sap-icon]{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;height:1rem;line-height:1;max-height:1rem;max-width:2.25rem;min-height:1rem;min-width:2.25rem;width:2.25rem}.fdx-nested-list__arrow[class*=sap-icon]:after,.fdx-nested-list__arrow[class*=sap-icon]:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fdx-nested-list__arrow[class*=sap-icon][dir=rtl],[dir=rtl] .fdx-nested-list__arrow[class*=sap-icon]{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fdx-nested-list__button{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;max-width:2.75rem;min-width:2.75rem;width:2.75rem;-webkit-margin-start:1.3125rem;background:transparent;border-radius:var(--sapButton_BorderCornerRadius);cursor:pointer;height:var(--fdNestedList_Item_Height);margin-inline-start:1.3125rem;position:relative}.fdx-nested-list__button:after,.fdx-nested-list__button:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fdx-nested-list__button.is-focus,.fdx-nested-list__button:focus{outline:var(--sapContent_FocusColor) var(--sapContent_FocusStyle) var(--fdNestedList_Focus_Offset_Width);outline-offset:var(--fdNestedList_Focus_Offset)}.fdx-nested-list__button:before{background:var(--sapTextColor);content:\"\";height:var(--sapElement_Condensed_Height);left:-.25rem;position:absolute;width:.0625rem}.fdx-nested-list__button[dir=rtl]:before,[dir=rtl] .fdx-nested-list__button:before{left:auto;right:-.25rem}.fdx-nested-list__button [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;height:1rem;line-height:1;max-height:1rem;max-width:1rem;min-height:1rem;min-width:1rem;width:1rem}.fdx-nested-list__button [class*=sap-icon][dir=rtl],[dir=rtl] .fdx-nested-list__button [class*=sap-icon]{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fdx-nested-list .fdx-nested-list.level-2{--fdNestedList_Start_Offset:2.5rem;--fdNestedList_Title_Font_Family:var(--sapFontFamily);-webkit-margin-before:.25rem;margin-block-start:.25rem}.fdx-nested-list .fdx-nested-list.level-3{--fdNestedList_Start_Offset:5rem;--fdNestedList_Title_Font_Family:var(--sapFontFamily);-webkit-margin-before:.25rem;margin-block-start:.25rem}.fdx-nested-list--text-only .fdx-nested-list.level-2{--fdNestedList_Start_Offset:3rem}.fdx-nested-list--text-only .fdx-nested-list.level-3{--fdNestedList_Start_Offset:5rem}.fdx-nested-list[class*=-compact],.fdx-nested-list[class*=-condensed],[class*=-compact] .fdx-nested-list:not([class*=-cozy]),[class*=-condensed] .fdx-nested-list:not([class*=-cozy]){--fdNestedList_Item_Margin:.25rem;--fdNestedList_Item_Spacing:.125rem;--fdNestedList_Focus_Offset:.0625rem;--fdNestedList_Focus_Offset_Width:.0625rem;--fdNestedList_Item_Height:var(--sapElement_Compact_LineHeight)}.fdx-side-nav{--fdSideNav_Padding_Block:.25rem;--fdSideNav_Padding_Inline:0;--fdSideNav_First_Item_Margin_Top:.25rem;--fdSideNav_Utility_Margin_Bottom:1rem;--fdNestedList_Item_Height:var(--sapElement_LineHeight);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-transition:width .2s ease-out;transition:width .2s ease-out;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-ms-flex-pack:justify;background-color:var(--sapGroup_ContentBackground);border-radius:0;-webkit-box-shadow:var(--sapContent_Shadow0);box-shadow:var(--sapContent_Shadow0);height:100%;justify-content:space-between;width:15rem}.fdx-side-nav:after,.fdx-side-nav:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fdx-side-nav__main-navigation{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;overflow:hidden scroll;padding-block:.5rem .25rem;padding-inline:.5rem}.fdx-side-nav__main-navigation:after,.fdx-side-nav__main-navigation:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fdx-side-nav__main-navigation.fd-scrollbar{padding-block:.5rem .25rem;padding-inline:.5rem}.fdx-side-nav__utility{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;padding-inline:.5rem;-webkit-padding-after:.5rem;padding-block-end:.5rem}.fdx-side-nav__utility:after,.fdx-side-nav__utility:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fdx-side-nav__utility:before{background:var(--sapToolbar_SeparatorColor);content:\"\";display:block;height:.0625rem;width:auto;-webkit-margin-after:.25rem;margin-block-end:.25rem;margin-inline:.5rem}.fdx-side-nav__popover-body{border-radius:1rem!important;margin-block:.25rem!important;max-width:16rem!important;min-width:16rem!important;padding-inline:0!important;width:16rem!important}.fdx-side-nav__popover-body .fdx-nested-list.level-2{padding-block:.5rem;padding-inline:.5rem}.fdx-side-nav__popover-body .fdx-nested-list.level-2 .fdx-nested-list__title{font-family:var(--sapFontFamily)}.fdx-side-nav__popover-body .fdx-nested-list.level-3 .fdx-nested-list__link-container{--fdNestedList_Start_Offset:3rem}.fdx-side-nav__popover-body--dynamic-width{max-width:-webkit-fit-content!important;max-width:-moz-fit-content!important;max-width:fit-content!important;min-width:16rem!important;width:-webkit-fit-content!important;width:-moz-fit-content!important;width:fit-content!important}.fdx-side-nav__button{margin-block:.25rem!important;margin-inline:0!important}.fdx-side-nav__input-group{margin-block:.75rem!important;margin-inline:.5rem!important;max-width:calc(100% - 1rem);min-width:calc(100% - 1rem);width:calc(100% - 1rem)}.fdx-side-nav[class*=-compact],.fdx-side-nav[class*=-condensed],[class*=-compact] .fdx-side-nav:not([class*=-cozy]),[class*=-condensed] .fdx-side-nav:not([class*=-cozy]){--fdSideNav_Padding_Block:.125rem;--fdSideNav_First_Item_Margin_Top:.125rem;--fdSideNav_Utility_Margin_Bottom:.75rem}.fdx-side-nav--mobile{border-radius:0;width:100%}.fdx-side-nav--narrow-animated-items .fdx-nested-list__arrow[class*=sap-icon],.fdx-side-nav--narrow-animated-items .fdx-nested-list__button,.fdx-side-nav--narrow-animated-items .fdx-nested-list__title{height:var(--fdNestedList_Item_Height);opacity:0;overflow:hidden;visibility:hidden}.fdx-side-nav--narrow{width:4rem}.fdx-side-nav--narrow .fdx-nested-list__link{height:var(--fdNestedList_Item_Height);max-height:var(--fdNestedList_Item_Height);min-height:var(--fdNestedList_Item_Height)}.fdx-side-nav--narrow:not(.fdx-side-nav--narrow-animated-items) .fdx-nested-list__arrow[class*=sap-icon],.fdx-side-nav--narrow:not(.fdx-side-nav--narrow-animated-items) .fdx-nested-list__button,.fdx-side-nav--narrow:not(.fdx-side-nav--narrow-animated-items) .fdx-nested-list__title{display:none;height:var(--fdNestedList_Item_Height)}.fdx-side-nav--narrow .fdx-nested-list button.fdx-nested-list__link,.fdx-side-nav--narrow .fdx-nested-list div.fdx-nested-list__link{position:relative}.fdx-side-nav--narrow .fdx-nested-list button.fdx-nested-list__link:before,.fdx-side-nav--narrow .fdx-nested-list div.fdx-nested-list__link:before{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;content:\"\\e066\";position:absolute;right:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);-webkit-padding-end:.25rem;font-family:SAP-icons;padding-inline-end:.25rem}.fdx-side-nav--narrow .fdx-nested-list button.fdx-nested-list__link[dir=rtl]:before,.fdx-side-nav--narrow .fdx-nested-list div.fdx-nested-list__link[dir=rtl]:before,[dir=rtl] .fdx-side-nav--narrow .fdx-nested-list button.fdx-nested-list__link:before,[dir=rtl] .fdx-side-nav--narrow .fdx-nested-list div.fdx-nested-list__link:before{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;left:0;padding-inline:.25rem 0;right:auto;-webkit-transform:rotateY(180deg) translateY(-50%);transform:rotateY(180deg) translateY(-50%)}.fdx-side-nav--dynamic-width{max-width:100%;min-width:15rem;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.fdx-side-nav--dynamic-width.fdx--narrow{width:4rem}.fdx-side-nav--shellbar{border-top-right-radius:0}.fdx-side-nav--shellbar[dir=rtl],[dir=rtl] .fdx-side-nav--shellbar{border-top-left-radius:0}.fdx-side-nav--single-line .fdx-nested-list__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fdx-side-nav[class*=-compact],.fdx-side-nav[class*=-condensed],[class*=-compact] .fdx-side-nav:not([class*=-cozy]),[class*=-condensed] .fdx-side-nav:not([class*=-cozy]){--fdNestedList_Item_Height:var(--sapElement_Compact_LineHeight)}.fdx-side-nav__button-container{background:var(--sapGroup_ContentBackground);position:static;width:100%;height:48px;z-index:1}.fdx-side-nav__button-container--bottom{border-bottom-right-radius:1rem}.fdx-side-nav__button-container--top{border-top-right-radius:1rem}.fdx-side-nav__button-container .fdx-side-nav .fdx-side-nav__button:last-of-type{margin-top:0!important}.fdx-nested-list__item{display:block}.fdx-nested-list__item .fdx-nested-list__link{cursor:pointer}.fdx-nested-list__item .fdx-nested-list__content .fdx-nested-list__button.fd-button{background:none}.fdx-side-nav .fd-button{margin-left:.875rem!important}.fdx-side-nav .fdx-side-nav__button{min-height:2.25rem;overflow:hidden;position:sticky}.fdx-side-nav--narrow .fdx-nested-list__item--group{display:none!important}.fdx-side-nav--compact .fdx-side-nav__button{min-height:1.5rem}.fdx-side-nav__popover-body .fd-scrollbar{padding:.25rem 0!important}.fdx-side-nav__popover-body.fdx-nested-list--text-only .fdx-nested-list:first-child{padding:.5rem}.fdx-side-nav__popover-body.fdx-nested-list--text-only .fdx-nested-list:first-child .fdx-nested-list__title{font-family:var(--sapFontFamily)}.fdx-side-nav__popover-body.fdx-nested-list--text-only .fdx-nested-list:not(:first-child){margin-block-start:.5rem;--fdNestedList_Start_Offset: 3rem}\n/*! Bundled license information:\n\n@fundamental-styles/cx/dist/side-nav.css:\n (*!\n * Fundamental Library Styles v0.41.5\n * Copyright (c) 2026 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *)\n*/\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SideNavigationMainComponent, selector: "fdx-side-nav-main, div[fdx-side-nav-main]" }, { kind: "component", type: PreparedNestedListComponent, selector: "fdx-prepared-nested-list", inputs: ["first", "condensed", "list"] }, { kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["id"], exportAs: ["fd-button"] }, { kind: "directive", type: SideNavigationUtilityDirective, selector: "[cxSideNavigationUtility], [fdx-side-nav-utility]" }, { kind: "directive", type: SideNavigationButtonDirective, selector: "[cxSideNavButton], [fdx-side-nav-button]" }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
249
249
|
}
|
|
250
250
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: SideNavigationComponent, decorators: [{
|
|
251
251
|
type: Component,
|
|
@@ -257,7 +257,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
|
|
|
257
257
|
ButtonComponent,
|
|
258
258
|
SideNavigationUtilityDirective,
|
|
259
259
|
SideNavigationButtonDirective
|
|
260
|
-
], providers: [MenuKeyboardService, NestedListKeyboardService, NestedListStateService], template: "<nav\n class=\"fdx-side-nav\"\n [class.fdx-side-nav--dynamic-width]=\"dynamicWidth\"\n [class.fdx-side-nav--shellbar]=\"inShellbar\"\n [class.fdx-side-nav--narrow]=\"narrow\"\n [class.fdx-side-nav--narrow-animated-items]=\"_narrowAnimatedItems$()\"\n [class.fdx-side-nav--condensed]=\"condensed || sideNavigationConfiguration?.condensed\"\n [class.fdx-side-nav--mobile]=\"mobile\"\n [attr.aria-label]=\"('coreNavigation.mainNavigation' | fdTranslate)()\"\n>\n @if (!sideNavigationConfiguration) {\n <ng-template [ngTemplateOutlet]=\"scrollUp\"></ng-template>\n <ng-content select=\"[fdx-side-nav-main]\"></ng-content>\n <ng-template [ngTemplateOutlet]=\"scrollDown\"></ng-template>\n <ng-content select=\"[fdx-side-nav-utility]\"></ng-content>\n } @else {\n <ng-template [ngTemplateOutlet]=\"scrollUp\"></ng-template>\n @if (sideNavigationConfiguration.mainNavigation) {\n <div fdx-side-nav-main>\n <fdx-prepared-nested-list\n [condensed]=\"condensed || !!sideNavigationConfiguration.condensed\"\n [first]=\"true\"\n [list]=\"sideNavigationConfiguration.mainNavigation\"\n >\n </fdx-prepared-nested-list>\n </div>\n }\n <ng-template [ngTemplateOutlet]=\"scrollDown\"></ng-template>\n @if (sideNavigationConfiguration.utilityNavigation) {\n <div fdx-side-nav-utility>\n <fdx-prepared-nested-list\n [condensed]=\"condensed || !!sideNavigationConfiguration.condensed\"\n [first]=\"true\"\n [list]=\"sideNavigationConfiguration.utilityNavigation\"\n >\n </fdx-prepared-nested-list>\n </div>\n }\n }\n</nav>\n<ng-template #scrollUp>\n @if (_showScrollUpButton) {\n <div class=\"fdx-side-nav__button-container fdx-side-nav__button-container--top\">\n <button\n fd-button\n fdType=\"standard\"\n glyph=\"navigation-up-arrow\"\n fdx-side-nav-button\n (click)=\"_scrollItems('up')\"\n ></button>\n </div>\n }\n</ng-template>\n<ng-template #scrollDown>\n @if (_showScrollDownButton) {\n <div class=\"fdx-side-nav__button-container fdx-side-nav__button-container--bottom\">\n <button\n #scrollDownButton\n fd-button\n fdType=\"standard\"\n glyph=\"navigation-down-arrow\"\n fdx-side-nav-button\n (click)=\"_scrollItems('down')\"\n ></button>\n </div>\n }\n</ng-template>\n", styles: [".fdx-nested-list{--fdNestedList_Item_Height:var(--sapElement_LineHeight);--fdNestedList_Item_Spacing:.25rem;--fdNestedList_Item_Spacing_Compact:.125rem;--fdNestedList_Item_Margin:.25rem;--fdNestedList_Focus_Offset:0;--fdNestedList_Focus_Offset_Width:var(--sapContent_FocusWidth);border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:.25rem;list-style:none;width:100%}.fdx-nested-list:after,.fdx-nested-list:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fdx-nested-list[aria-hidden=true]{display:none}.fdx-nested-list__item{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:block;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}.fdx-nested-list__item:after,.fdx-nested-list__item:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fdx-nested-list__item--header h1.fdx-nested-list__link,.fdx-nested-list__item--header h2.fdx-nested-list__link,.fdx-nested-list__item--header h3.fdx-nested-list__link,.fdx-nested-list__item--header h4.fdx-nested-list__link,.fdx-nested-list__item--header h5.fdx-nested-list__link,.fdx-nested-list__item--header h6.fdx-nested-list__link{cursor:auto}.fdx-nested-list__item--header h1.fdx-nested-list__link.is-hover,.fdx-nested-list__item--header h1.fdx-nested-list__link:hover,.fdx-nested-list__item--header h2.fdx-nested-list__link.is-hover,.fdx-nested-list__item--header h2.fdx-nested-list__link:hover,.fdx-nested-list__item--header h3.fdx-nested-list__link.is-hover,.fdx-nested-list__item--header h3.fdx-nested-list__link:hover,.fdx-nested-list__item--header h4.fdx-nested-list__link.is-hover,.fdx-nested-list__item--header h4.fdx-nested-list__link:hover,.fdx-nested-list__item--header h5.fdx-nested-list__link.is-hover,.fdx-nested-list__item--header h5.fdx-nested-list__link:hover,.fdx-nested-list__item--header h6.fdx-nested-list__link.is-hover,.fdx-nested-list__item--header h6.fdx-nested-list__link:hover{background:var(--sapList_Background);color:var(--sapList_TextColor)}.fdx-nested-list__item--header h1.fdx-nested-list__link .fdx-nested-list__title,.fdx-nested-list__item--header h2.fdx-nested-list__link .fdx-nested-list__title,.fdx-nested-list__item--header h3.fdx-nested-list__link .fdx-nested-list__title,.fdx-nested-list__item--header h4.fdx-nested-list__link .fdx-nested-list__title,.fdx-nested-list__item--header h5.fdx-nested-list__link .fdx-nested-list__title,.fdx-nested-list__item--header h6.fdx-nested-list__link .fdx-nested-list__title{font-weight:700}.fdx-nested-list__item--header .fdx-nested-list__link{cursor:pointer}.fdx-nested-list__item--header .fdx-nested-list__link .fdx-nested-list__title{font-weight:700}.fdx-nested-list__item--group{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:var(--fdNestedList_Item_Height);padding-inline:1rem}.fdx-nested-list__item--group .fdx-nested-list__title{color:var(--sapContent_LabelColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize)}.fdx-nested-list__item--group:not(:first-child){-webkit-margin-before:.625rem;margin-block-start:.625rem}.fdx-nested-list__item--quick-create{--fdNestedList_Icon_Color:var(--sapButton_TextColor);--fdNestedList_Title_Color:var(--sapButton_TextColor);--fdNestedList_Title_Font_Family:var(--sapFontSemiboldDuplexFamily)}.fdx-nested-list__item--quick-create .fdx-nested-list__link{background:var(--fdNestedList_QuickAction_Background,var(--sapButton_Background));-webkit-box-shadow:var(--fdNestedList_QuickAction_BoxShadow,0 0 0 var(--sapButton_BorderWidth) var(--sapButton_BorderColor));box-shadow:var(--fdNestedList_QuickAction_BoxShadow,0 0 0 var(--sapButton_BorderWidth) var(--sapButton_BorderColor))}.fdx-nested-list__item--quick-create .fdx-nested-list__link.is-hover,.fdx-nested-list__item--quick-create .fdx-nested-list__link:hover{--fdNestedList_QuickAction_Background:var(--sapButton_Hover_Background);--fdNestedList_QuickAction_BoxShadow:0 0 0 var(--sapButton_BorderWidth) var(--sapButton_Hover_BorderColor)}.fdx-nested-list__item--quick-create .fdx-nested-list__link.is-active,.fdx-nested-list__item--quick-create .fdx-nested-list__link:active{--fdNestedList_QuickAction_Background:var(--sapButton_Active_Background);--fdNestedList_QuickAction_BoxShadow:0 0 0 var(--sapButton_BorderWidth) var(--sapButton_Active_BorderColor)}.fdx-nested-list__item--quick-create .fdx-nested-list__link.is-active .fdx-nested-list__icon,.fdx-nested-list__item--quick-create .fdx-nested-list__link.is-active .fdx-nested-list__title,.fdx-nested-list__item--quick-create .fdx-nested-list__link:active .fdx-nested-list__icon,.fdx-nested-list__item--quick-create .fdx-nested-list__link:active .fdx-nested-list__title{color:var(--sapButton_TextColor)}.fdx-nested-list__item--quick-create .fdx-nested-list__link.is-active.is-hover,.fdx-nested-list__item--quick-create .fdx-nested-list__link.is-active:hover,.fdx-nested-list__item--quick-create .fdx-nested-list__link:active.is-hover,.fdx-nested-list__item--quick-create .fdx-nested-list__link:active:hover{--fdNestedList_QuickAction_Background:var(--sapButton_Active_Background);--fdNestedList_QuickAction_BoxShadow:0 0 0 var(--sapButton_BorderWidth) var(--sapButton_Active_BorderColor)}.fdx-nested-list__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;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;background:var(--sapList_Background);border-radius:var(--sapButton_BorderCornerRadius);color:var(--sapList_TextColor);cursor:pointer;min-height:var(--fdNestedList_Item_Height);position:relative;text-decoration:none;width:100%}.fdx-nested-list__link:after,.fdx-nested-list__link:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fdx-nested-list__link.is-hover,.fdx-nested-list__link:hover{background:var(--sapList_Hover_Background);color:var(--sapList_TextColor)}.fdx-nested-list__link.is-focus,.fdx-nested-list__link:focus{outline:var(--sapContent_FocusColor) var(--sapContent_FocusStyle) var(--fdNestedList_Focus_Offset_Width);outline-offset:var(--fdNestedList_Focus_Offset)}.fdx-nested-list__link.is-selected,.fdx-nested-list__link[aria-selected=true]{background:var(--sapList_SelectionBackgroundColor);color:var(--sapList_TextColor)}.fdx-nested-list__link.is-selected.is-hover,.fdx-nested-list__link.is-selected:hover,.fdx-nested-list__link[aria-selected=true].is-hover,.fdx-nested-list__link[aria-selected=true]:hover{background:var(--sapList_Hover_SelectionBackground);color:var(--sapList_TextColor)}.fdx-nested-list__link.is-selected .fdx-nested-list__link-container:after,.fdx-nested-list__link[aria-selected=true] .fdx-nested-list__link-container:after{background:var(--sapList_SelectionBorderColor);content:\"\";height:100%;left:0;position:absolute;top:0;width:.1875rem}.fdx-nested-list__link.is-selected[dir=rtl] .fdx-nested-list__link-container:after,.fdx-nested-list__link[aria-selected=true][dir=rtl] .fdx-nested-list__link-container:after,[dir=rtl] .fdx-nested-list__link.is-selected .fdx-nested-list__link-container:after,[dir=rtl] .fdx-nested-list__link[aria-selected=true] .fdx-nested-list__link-container:after{left:auto;right:0}.fdx-nested-list__link.is-active,.fdx-nested-list__link.is-active.is-selected,.fdx-nested-list__link.is-active[aria-selected=true],.fdx-nested-list__link:active,.fdx-nested-list__link:active.is-selected,.fdx-nested-list__link:active[aria-selected=true]{background:var(--sapList_Active_Background);color:var(--sapList_Active_TextColor)}.fdx-nested-list__link.is-active .fdx-nested-list__arrow,.fdx-nested-list__link.is-active .fdx-nested-list__icon,.fdx-nested-list__link.is-active .fdx-nested-list__title,.fdx-nested-list__link:active .fdx-nested-list__arrow,.fdx-nested-list__link:active .fdx-nested-list__icon,.fdx-nested-list__link:active .fdx-nested-list__title{color:var(--sapList_Active_TextColor)}.fdx-nested-list__link-container{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;gap:.5rem;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-radius:var(--sapButton_BorderCornerRadius);overflow:hidden;padding-block:.5rem;padding-inline:var(--fdNestedList_Start_Offset,1rem) var(--fdNestedList_End_Offset,1rem);position:relative;text-decoration:none;width:100%}.fdx-nested-list__link-container:after,.fdx-nested-list__link-container:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fdx-nested-list__link-container.is-focus,.fdx-nested-list__link-container:focus{outline:var(--sapContent_FocusColor) var(--sapContent_FocusStyle) var(--fdNestedList_Focus_Offset_Width);outline-offset:var(--fdNestedList_Focus_Offset)}.fdx-nested-list__link-container:has(.fdx-nested-list__arrow){--fdNestedList_End_Offset:.375rem}.fdx-nested-list__icon [class*=sap-icon],.fdx-nested-list__icon[class*=sap-icon]{background:inherit;border-radius:inherit;color:inherit;color:var(--fdNestedList_Icon_Color,var(--sapList_TextColor));font-size:inherit;font-size:1rem;line-height:1;max-width:1rem;min-width:1rem;width:1rem}.fdx-nested-list__title{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--fdNestedList_Title_Color,var(--sapList_TextColor));display:inline-block;font-family:var(--sapFontFamily);font-family:var(--fdNestedList_Title_Font_Family,var(--sapFontBoldFamily));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;text-align:start;-webkit-transition:opacity .1s ease-out,visibility .1s ease-out;transition:opacity .1s ease-out,visibility .1s ease-out;width:100%}.fdx-nested-list__title:after,.fdx-nested-list__title:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fdx-nested-list__arrow[class*=sap-icon]{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;height:1rem;line-height:1;max-height:1rem;max-width:2.25rem;min-height:1rem;min-width:2.25rem;width:2.25rem}.fdx-nested-list__arrow[class*=sap-icon]:after,.fdx-nested-list__arrow[class*=sap-icon]:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fdx-nested-list__arrow[class*=sap-icon][dir=rtl],[dir=rtl] .fdx-nested-list__arrow[class*=sap-icon]{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fdx-nested-list__button{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;max-width:2.75rem;min-width:2.75rem;width:2.75rem;-webkit-margin-start:1.3125rem;background:transparent;border-radius:var(--sapButton_BorderCornerRadius);cursor:pointer;height:var(--fdNestedList_Item_Height);margin-inline-start:1.3125rem;position:relative}.fdx-nested-list__button:after,.fdx-nested-list__button:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fdx-nested-list__button.is-focus,.fdx-nested-list__button:focus{outline:var(--sapContent_FocusColor) var(--sapContent_FocusStyle) var(--fdNestedList_Focus_Offset_Width);outline-offset:var(--fdNestedList_Focus_Offset)}.fdx-nested-list__button:before{background:var(--sapTextColor);content:\"\";height:var(--sapElement_Condensed_Height);left:-.25rem;position:absolute;width:.0625rem}.fdx-nested-list__button[dir=rtl]:before,[dir=rtl] .fdx-nested-list__button:before{left:auto;right:-.25rem}.fdx-nested-list__button [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;height:1rem;line-height:1;max-height:1rem;max-width:1rem;min-height:1rem;min-width:1rem;width:1rem}.fdx-nested-list__button [class*=sap-icon][dir=rtl],[dir=rtl] .fdx-nested-list__button [class*=sap-icon]{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fdx-nested-list .fdx-nested-list.level-2{--fdNestedList_Start_Offset:2.5rem;--fdNestedList_Title_Font_Family:var(--sapFontFamily);-webkit-margin-before:.25rem;margin-block-start:.25rem}.fdx-nested-list .fdx-nested-list.level-3{--fdNestedList_Start_Offset:5rem;--fdNestedList_Title_Font_Family:var(--sapFontFamily);-webkit-margin-before:.25rem;margin-block-start:.25rem}.fdx-nested-list--text-only .fdx-nested-list.level-2{--fdNestedList_Start_Offset:3rem}.fdx-nested-list--text-only .fdx-nested-list.level-3{--fdNestedList_Start_Offset:5rem}.fdx-nested-list[class*=-compact],.fdx-nested-list[class*=-condensed],[class*=-compact] .fdx-nested-list:not([class*=-cozy]),[class*=-condensed] .fdx-nested-list:not([class*=-cozy]){--fdNestedList_Item_Margin:.25rem;--fdNestedList_Item_Spacing:.125rem;--fdNestedList_Focus_Offset:.0625rem;--fdNestedList_Focus_Offset_Width:.0625rem;--fdNestedList_Item_Height:var(--sapElement_Compact_LineHeight)}.fdx-side-nav{--fdSideNav_Padding_Block:.25rem;--fdSideNav_Padding_Inline:0;--fdSideNav_First_Item_Margin_Top:.25rem;--fdSideNav_Utility_Margin_Bottom:1rem;--fdNestedList_Item_Height:var(--sapElement_LineHeight);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-transition:width .2s ease-out;transition:width .2s ease-out;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-ms-flex-pack:justify;background-color:var(--sapGroup_ContentBackground);border-radius:0;-webkit-box-shadow:var(--sapContent_Shadow0);box-shadow:var(--sapContent_Shadow0);height:100%;justify-content:space-between;width:15rem}.fdx-side-nav:after,.fdx-side-nav:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fdx-side-nav__main-navigation{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;overflow:hidden scroll;padding-block:.5rem .25rem;padding-inline:.5rem}.fdx-side-nav__main-navigation:after,.fdx-side-nav__main-navigation:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fdx-side-nav__main-navigation.fd-scrollbar{padding-block:.5rem .25rem;padding-inline:.5rem}.fdx-side-nav__utility{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;padding-inline:.5rem;-webkit-padding-after:.5rem;padding-block-end:.5rem}.fdx-side-nav__utility:after,.fdx-side-nav__utility:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fdx-side-nav__utility:before{background:var(--sapToolbar_SeparatorColor);content:\"\";display:block;height:.0625rem;width:auto;-webkit-margin-after:.25rem;margin-block-end:.25rem;margin-inline:.5rem}.fdx-side-nav__popover-body{border-radius:1rem!important;margin-block:.25rem!important;max-width:16rem!important;min-width:16rem!important;padding-inline:0!important;width:16rem!important}.fdx-side-nav__popover-body .fdx-nested-list.level-2{padding-block:.5rem;padding-inline:.5rem}.fdx-side-nav__popover-body .fdx-nested-list.level-2 .fdx-nested-list__title{font-family:var(--sapFontFamily)}.fdx-side-nav__popover-body .fdx-nested-list.level-3 .fdx-nested-list__link-container{--fdNestedList_Start_Offset:3rem}.fdx-side-nav__popover-body--dynamic-width{max-width:-webkit-fit-content!important;max-width:-moz-fit-content!important;max-width:fit-content!important;min-width:16rem!important;width:-webkit-fit-content!important;width:-moz-fit-content!important;width:fit-content!important}.fdx-side-nav__button{margin-block:.25rem!important;margin-inline:0!important}.fdx-side-nav__input-group{margin-block:.75rem!important;margin-inline:.5rem!important;max-width:calc(100% - 1rem);min-width:calc(100% - 1rem);width:calc(100% - 1rem)}.fdx-side-nav[class*=-compact],.fdx-side-nav[class*=-condensed],[class*=-compact] .fdx-side-nav:not([class*=-cozy]),[class*=-condensed] .fdx-side-nav:not([class*=-cozy]){--fdSideNav_Padding_Block:.125rem;--fdSideNav_First_Item_Margin_Top:.125rem;--fdSideNav_Utility_Margin_Bottom:.75rem}.fdx-side-nav--mobile{border-radius:0;width:100%}.fdx-side-nav--narrow-animated-items .fdx-nested-list__arrow[class*=sap-icon],.fdx-side-nav--narrow-animated-items .fdx-nested-list__button,.fdx-side-nav--narrow-animated-items .fdx-nested-list__title{height:var(--fdNestedList_Item_Height);opacity:0;overflow:hidden;visibility:hidden}.fdx-side-nav--narrow{width:4rem}.fdx-side-nav--narrow .fdx-nested-list__link{height:var(--fdNestedList_Item_Height);max-height:var(--fdNestedList_Item_Height);min-height:var(--fdNestedList_Item_Height)}.fdx-side-nav--narrow:not(.fdx-side-nav--narrow-animated-items) .fdx-nested-list__arrow[class*=sap-icon],.fdx-side-nav--narrow:not(.fdx-side-nav--narrow-animated-items) .fdx-nested-list__button,.fdx-side-nav--narrow:not(.fdx-side-nav--narrow-animated-items) .fdx-nested-list__title{display:none;height:var(--fdNestedList_Item_Height)}.fdx-side-nav--narrow .fdx-nested-list button.fdx-nested-list__link,.fdx-side-nav--narrow .fdx-nested-list div.fdx-nested-list__link{position:relative}.fdx-side-nav--narrow .fdx-nested-list button.fdx-nested-list__link:before,.fdx-side-nav--narrow .fdx-nested-list div.fdx-nested-list__link:before{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;content:\"\\e066\";position:absolute;right:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);-webkit-padding-end:.25rem;font-family:SAP-icons;padding-inline-end:.25rem}.fdx-side-nav--narrow .fdx-nested-list button.fdx-nested-list__link[dir=rtl]:before,.fdx-side-nav--narrow .fdx-nested-list div.fdx-nested-list__link[dir=rtl]:before,[dir=rtl] .fdx-side-nav--narrow .fdx-nested-list button.fdx-nested-list__link:before,[dir=rtl] .fdx-side-nav--narrow .fdx-nested-list div.fdx-nested-list__link:before{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;left:0;padding-inline:.25rem 0;right:auto;-webkit-transform:rotateY(180deg) translateY(-50%);transform:rotateY(180deg) translateY(-50%)}.fdx-side-nav--dynamic-width{max-width:100%;min-width:15rem;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.fdx-side-nav--dynamic-width.fdx--narrow{width:4rem}.fdx-side-nav--shellbar{border-top-right-radius:0}.fdx-side-nav--shellbar[dir=rtl],[dir=rtl] .fdx-side-nav--shellbar{border-top-left-radius:0}.fdx-side-nav--single-line .fdx-nested-list__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fdx-side-nav[class*=-compact],.fdx-side-nav[class*=-condensed],[class*=-compact] .fdx-side-nav:not([class*=-cozy]),[class*=-condensed] .fdx-side-nav:not([class*=-cozy]){--fdNestedList_Item_Height:var(--sapElement_Compact_LineHeight)}.fdx-side-nav__button-container{background:var(--sapGroup_ContentBackground);position:static;width:100%;height:48px;z-index:1}.fdx-side-nav__button-container--bottom{border-bottom-right-radius:1rem}.fdx-side-nav__button-container--top{border-top-right-radius:1rem}.fdx-side-nav__button-container .fdx-side-nav .fdx-side-nav__button:last-of-type{margin-top:0!important}.fdx-nested-list__item{display:block}.fdx-nested-list__item .fdx-nested-list__link{cursor:pointer}.fdx-nested-list__item .fdx-nested-list__content .fdx-nested-list__button.fd-button{background:none}.fdx-side-nav .fd-button{margin-left:.875rem!important}.fdx-side-nav .fdx-side-nav__button{min-height:2.25rem;overflow:hidden;position:sticky}.fdx-side-nav--narrow .fdx-nested-list__item--group{display:none!important}.fdx-side-nav--compact .fdx-side-nav__button{min-height:1.5rem}.fdx-side-nav__popover-body .fd-scrollbar{padding:.25rem 0!important}.fdx-side-nav__popover-body.fdx-nested-list--text-only .fdx-nested-list:first-child{padding:.5rem}.fdx-side-nav__popover-body.fdx-nested-list--text-only .fdx-nested-list:first-child .fdx-nested-list__title{font-family:var(--sapFontFamily)}.fdx-side-nav__popover-body.fdx-nested-list--text-only .fdx-nested-list:not(:first-child){margin-block-start:.5rem;--fdNestedList_Start_Offset: 3rem}\n/*! Bundled license information:\n\n@fundamental-styles/cx/dist/side-nav.css:\n (*!\n * Fundamental Library Styles v0.41.4\n * Copyright (c) 2026 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *)\n*/\n"] }]
|
|
260
|
+
], providers: [MenuKeyboardService, NestedListKeyboardService, NestedListStateService], template: "<nav\n class=\"fdx-side-nav\"\n [class.fdx-side-nav--dynamic-width]=\"dynamicWidth\"\n [class.fdx-side-nav--shellbar]=\"inShellbar\"\n [class.fdx-side-nav--narrow]=\"narrow\"\n [class.fdx-side-nav--narrow-animated-items]=\"_narrowAnimatedItems$()\"\n [class.fdx-side-nav--condensed]=\"condensed || sideNavigationConfiguration?.condensed\"\n [class.fdx-side-nav--mobile]=\"mobile\"\n [attr.aria-label]=\"('coreNavigation.mainNavigation' | fdTranslate)()\"\n>\n @if (!sideNavigationConfiguration) {\n <ng-template [ngTemplateOutlet]=\"scrollUp\"></ng-template>\n <ng-content select=\"[fdx-side-nav-main]\"></ng-content>\n <ng-template [ngTemplateOutlet]=\"scrollDown\"></ng-template>\n <ng-content select=\"[fdx-side-nav-utility]\"></ng-content>\n } @else {\n <ng-template [ngTemplateOutlet]=\"scrollUp\"></ng-template>\n @if (sideNavigationConfiguration.mainNavigation) {\n <div fdx-side-nav-main>\n <fdx-prepared-nested-list\n [condensed]=\"condensed || !!sideNavigationConfiguration.condensed\"\n [first]=\"true\"\n [list]=\"sideNavigationConfiguration.mainNavigation\"\n >\n </fdx-prepared-nested-list>\n </div>\n }\n <ng-template [ngTemplateOutlet]=\"scrollDown\"></ng-template>\n @if (sideNavigationConfiguration.utilityNavigation) {\n <div fdx-side-nav-utility>\n <fdx-prepared-nested-list\n [condensed]=\"condensed || !!sideNavigationConfiguration.condensed\"\n [first]=\"true\"\n [list]=\"sideNavigationConfiguration.utilityNavigation\"\n >\n </fdx-prepared-nested-list>\n </div>\n }\n }\n</nav>\n<ng-template #scrollUp>\n @if (_showScrollUpButton) {\n <div class=\"fdx-side-nav__button-container fdx-side-nav__button-container--top\">\n <button\n fd-button\n fdType=\"standard\"\n glyph=\"navigation-up-arrow\"\n fdx-side-nav-button\n (click)=\"_scrollItems('up')\"\n ></button>\n </div>\n }\n</ng-template>\n<ng-template #scrollDown>\n @if (_showScrollDownButton) {\n <div class=\"fdx-side-nav__button-container fdx-side-nav__button-container--bottom\">\n <button\n #scrollDownButton\n fd-button\n fdType=\"standard\"\n glyph=\"navigation-down-arrow\"\n fdx-side-nav-button\n (click)=\"_scrollItems('down')\"\n ></button>\n </div>\n }\n</ng-template>\n", styles: [".fdx-nested-list{--fdNestedList_Item_Height:var(--sapElement_LineHeight);--fdNestedList_Item_Spacing:.25rem;--fdNestedList_Item_Spacing_Compact:.125rem;--fdNestedList_Item_Margin:.25rem;--fdNestedList_Focus_Offset:0;--fdNestedList_Focus_Offset_Width:var(--sapContent_FocusWidth);border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:.25rem;list-style:none;width:100%}.fdx-nested-list:after,.fdx-nested-list:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fdx-nested-list[aria-hidden=true]{display:none}.fdx-nested-list__item{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:block;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}.fdx-nested-list__item:after,.fdx-nested-list__item:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fdx-nested-list__item--header h1.fdx-nested-list__link,.fdx-nested-list__item--header h2.fdx-nested-list__link,.fdx-nested-list__item--header h3.fdx-nested-list__link,.fdx-nested-list__item--header h4.fdx-nested-list__link,.fdx-nested-list__item--header h5.fdx-nested-list__link,.fdx-nested-list__item--header h6.fdx-nested-list__link{cursor:auto}.fdx-nested-list__item--header h1.fdx-nested-list__link.is-hover,.fdx-nested-list__item--header h1.fdx-nested-list__link:hover,.fdx-nested-list__item--header h2.fdx-nested-list__link.is-hover,.fdx-nested-list__item--header h2.fdx-nested-list__link:hover,.fdx-nested-list__item--header h3.fdx-nested-list__link.is-hover,.fdx-nested-list__item--header h3.fdx-nested-list__link:hover,.fdx-nested-list__item--header h4.fdx-nested-list__link.is-hover,.fdx-nested-list__item--header h4.fdx-nested-list__link:hover,.fdx-nested-list__item--header h5.fdx-nested-list__link.is-hover,.fdx-nested-list__item--header h5.fdx-nested-list__link:hover,.fdx-nested-list__item--header h6.fdx-nested-list__link.is-hover,.fdx-nested-list__item--header h6.fdx-nested-list__link:hover{background:var(--sapList_Background);color:var(--sapList_TextColor)}.fdx-nested-list__item--header h1.fdx-nested-list__link .fdx-nested-list__title,.fdx-nested-list__item--header h2.fdx-nested-list__link .fdx-nested-list__title,.fdx-nested-list__item--header h3.fdx-nested-list__link .fdx-nested-list__title,.fdx-nested-list__item--header h4.fdx-nested-list__link .fdx-nested-list__title,.fdx-nested-list__item--header h5.fdx-nested-list__link .fdx-nested-list__title,.fdx-nested-list__item--header h6.fdx-nested-list__link .fdx-nested-list__title{font-weight:700}.fdx-nested-list__item--header .fdx-nested-list__link{cursor:pointer}.fdx-nested-list__item--header .fdx-nested-list__link .fdx-nested-list__title{font-weight:700}.fdx-nested-list__item--group{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:var(--fdNestedList_Item_Height);padding-inline:1rem}.fdx-nested-list__item--group .fdx-nested-list__title{color:var(--sapContent_LabelColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize)}.fdx-nested-list__item--group:not(:first-child){-webkit-margin-before:.625rem;margin-block-start:.625rem}.fdx-nested-list__item--quick-create{--fdNestedList_Icon_Color:var(--sapButton_TextColor);--fdNestedList_Title_Color:var(--sapButton_TextColor);--fdNestedList_Title_Font_Family:var(--sapFontSemiboldDuplexFamily)}.fdx-nested-list__item--quick-create .fdx-nested-list__link{background:var(--fdNestedList_QuickAction_Background,var(--sapButton_Background));-webkit-box-shadow:var(--fdNestedList_QuickAction_BoxShadow,0 0 0 var(--sapButton_BorderWidth) var(--sapButton_BorderColor));box-shadow:var(--fdNestedList_QuickAction_BoxShadow,0 0 0 var(--sapButton_BorderWidth) var(--sapButton_BorderColor))}.fdx-nested-list__item--quick-create .fdx-nested-list__link.is-hover,.fdx-nested-list__item--quick-create .fdx-nested-list__link:hover{--fdNestedList_QuickAction_Background:var(--sapButton_Hover_Background);--fdNestedList_QuickAction_BoxShadow:0 0 0 var(--sapButton_BorderWidth) var(--sapButton_Hover_BorderColor)}.fdx-nested-list__item--quick-create .fdx-nested-list__link.is-active,.fdx-nested-list__item--quick-create .fdx-nested-list__link:active{--fdNestedList_QuickAction_Background:var(--sapButton_Active_Background);--fdNestedList_QuickAction_BoxShadow:0 0 0 var(--sapButton_BorderWidth) var(--sapButton_Active_BorderColor)}.fdx-nested-list__item--quick-create .fdx-nested-list__link.is-active .fdx-nested-list__icon,.fdx-nested-list__item--quick-create .fdx-nested-list__link.is-active .fdx-nested-list__title,.fdx-nested-list__item--quick-create .fdx-nested-list__link:active .fdx-nested-list__icon,.fdx-nested-list__item--quick-create .fdx-nested-list__link:active .fdx-nested-list__title{color:var(--sapButton_TextColor)}.fdx-nested-list__item--quick-create .fdx-nested-list__link.is-active.is-hover,.fdx-nested-list__item--quick-create .fdx-nested-list__link.is-active:hover,.fdx-nested-list__item--quick-create .fdx-nested-list__link:active.is-hover,.fdx-nested-list__item--quick-create .fdx-nested-list__link:active:hover{--fdNestedList_QuickAction_Background:var(--sapButton_Active_Background);--fdNestedList_QuickAction_BoxShadow:0 0 0 var(--sapButton_BorderWidth) var(--sapButton_Active_BorderColor)}.fdx-nested-list__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;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;background:var(--sapList_Background);border-radius:var(--sapButton_BorderCornerRadius);color:var(--sapList_TextColor);cursor:pointer;min-height:var(--fdNestedList_Item_Height);position:relative;text-decoration:none;width:100%}.fdx-nested-list__link:after,.fdx-nested-list__link:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fdx-nested-list__link.is-hover,.fdx-nested-list__link:hover{background:var(--sapList_Hover_Background);color:var(--sapList_TextColor)}.fdx-nested-list__link.is-focus,.fdx-nested-list__link:focus{outline:var(--sapContent_FocusColor) var(--sapContent_FocusStyle) var(--fdNestedList_Focus_Offset_Width);outline-offset:var(--fdNestedList_Focus_Offset)}.fdx-nested-list__link.is-selected,.fdx-nested-list__link[aria-selected=true]{background:var(--sapList_SelectionBackgroundColor);color:var(--sapList_TextColor)}.fdx-nested-list__link.is-selected.is-hover,.fdx-nested-list__link.is-selected:hover,.fdx-nested-list__link[aria-selected=true].is-hover,.fdx-nested-list__link[aria-selected=true]:hover{background:var(--sapList_Hover_SelectionBackground);color:var(--sapList_TextColor)}.fdx-nested-list__link.is-selected .fdx-nested-list__link-container:after,.fdx-nested-list__link[aria-selected=true] .fdx-nested-list__link-container:after{background:var(--sapList_SelectionBorderColor);content:\"\";height:100%;left:0;position:absolute;top:0;width:.1875rem}.fdx-nested-list__link.is-selected[dir=rtl] .fdx-nested-list__link-container:after,.fdx-nested-list__link[aria-selected=true][dir=rtl] .fdx-nested-list__link-container:after,[dir=rtl] .fdx-nested-list__link.is-selected .fdx-nested-list__link-container:after,[dir=rtl] .fdx-nested-list__link[aria-selected=true] .fdx-nested-list__link-container:after{left:auto;right:0}.fdx-nested-list__link.is-active,.fdx-nested-list__link.is-active.is-selected,.fdx-nested-list__link.is-active[aria-selected=true],.fdx-nested-list__link:active,.fdx-nested-list__link:active.is-selected,.fdx-nested-list__link:active[aria-selected=true]{background:var(--sapList_Active_Background);color:var(--sapList_Active_TextColor)}.fdx-nested-list__link.is-active .fdx-nested-list__arrow,.fdx-nested-list__link.is-active .fdx-nested-list__icon,.fdx-nested-list__link.is-active .fdx-nested-list__title,.fdx-nested-list__link:active .fdx-nested-list__arrow,.fdx-nested-list__link:active .fdx-nested-list__icon,.fdx-nested-list__link:active .fdx-nested-list__title{color:var(--sapList_Active_TextColor)}.fdx-nested-list__link-container{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;gap:.5rem;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-radius:var(--sapButton_BorderCornerRadius);overflow:hidden;padding-block:.5rem;padding-inline:var(--fdNestedList_Start_Offset,1rem) var(--fdNestedList_End_Offset,1rem);position:relative;text-decoration:none;width:100%}.fdx-nested-list__link-container:after,.fdx-nested-list__link-container:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fdx-nested-list__link-container.is-focus,.fdx-nested-list__link-container:focus{outline:var(--sapContent_FocusColor) var(--sapContent_FocusStyle) var(--fdNestedList_Focus_Offset_Width);outline-offset:var(--fdNestedList_Focus_Offset)}.fdx-nested-list__link-container:has(.fdx-nested-list__arrow){--fdNestedList_End_Offset:.375rem}.fdx-nested-list__icon [class*=sap-icon],.fdx-nested-list__icon[class*=sap-icon]{background:inherit;border-radius:inherit;color:inherit;color:var(--fdNestedList_Icon_Color,var(--sapList_TextColor));font-size:inherit;font-size:1rem;line-height:1;max-width:1rem;min-width:1rem;width:1rem}.fdx-nested-list__title{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--fdNestedList_Title_Color,var(--sapList_TextColor));display:inline-block;font-family:var(--sapFontFamily);font-family:var(--fdNestedList_Title_Font_Family,var(--sapFontBoldFamily));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;text-align:start;-webkit-transition:opacity .1s ease-out,visibility .1s ease-out;transition:opacity .1s ease-out,visibility .1s ease-out;width:100%}.fdx-nested-list__title:after,.fdx-nested-list__title:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fdx-nested-list__arrow[class*=sap-icon]{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;height:1rem;line-height:1;max-height:1rem;max-width:2.25rem;min-height:1rem;min-width:2.25rem;width:2.25rem}.fdx-nested-list__arrow[class*=sap-icon]:after,.fdx-nested-list__arrow[class*=sap-icon]:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fdx-nested-list__arrow[class*=sap-icon][dir=rtl],[dir=rtl] .fdx-nested-list__arrow[class*=sap-icon]{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fdx-nested-list__button{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;max-width:2.75rem;min-width:2.75rem;width:2.75rem;-webkit-margin-start:1.3125rem;background:transparent;border-radius:var(--sapButton_BorderCornerRadius);cursor:pointer;height:var(--fdNestedList_Item_Height);margin-inline-start:1.3125rem;position:relative}.fdx-nested-list__button:after,.fdx-nested-list__button:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fdx-nested-list__button.is-focus,.fdx-nested-list__button:focus{outline:var(--sapContent_FocusColor) var(--sapContent_FocusStyle) var(--fdNestedList_Focus_Offset_Width);outline-offset:var(--fdNestedList_Focus_Offset)}.fdx-nested-list__button:before{background:var(--sapTextColor);content:\"\";height:var(--sapElement_Condensed_Height);left:-.25rem;position:absolute;width:.0625rem}.fdx-nested-list__button[dir=rtl]:before,[dir=rtl] .fdx-nested-list__button:before{left:auto;right:-.25rem}.fdx-nested-list__button [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;height:1rem;line-height:1;max-height:1rem;max-width:1rem;min-height:1rem;min-width:1rem;width:1rem}.fdx-nested-list__button [class*=sap-icon][dir=rtl],[dir=rtl] .fdx-nested-list__button [class*=sap-icon]{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fdx-nested-list .fdx-nested-list.level-2{--fdNestedList_Start_Offset:2.5rem;--fdNestedList_Title_Font_Family:var(--sapFontFamily);-webkit-margin-before:.25rem;margin-block-start:.25rem}.fdx-nested-list .fdx-nested-list.level-3{--fdNestedList_Start_Offset:5rem;--fdNestedList_Title_Font_Family:var(--sapFontFamily);-webkit-margin-before:.25rem;margin-block-start:.25rem}.fdx-nested-list--text-only .fdx-nested-list.level-2{--fdNestedList_Start_Offset:3rem}.fdx-nested-list--text-only .fdx-nested-list.level-3{--fdNestedList_Start_Offset:5rem}.fdx-nested-list[class*=-compact],.fdx-nested-list[class*=-condensed],[class*=-compact] .fdx-nested-list:not([class*=-cozy]),[class*=-condensed] .fdx-nested-list:not([class*=-cozy]){--fdNestedList_Item_Margin:.25rem;--fdNestedList_Item_Spacing:.125rem;--fdNestedList_Focus_Offset:.0625rem;--fdNestedList_Focus_Offset_Width:.0625rem;--fdNestedList_Item_Height:var(--sapElement_Compact_LineHeight)}.fdx-side-nav{--fdSideNav_Padding_Block:.25rem;--fdSideNav_Padding_Inline:0;--fdSideNav_First_Item_Margin_Top:.25rem;--fdSideNav_Utility_Margin_Bottom:1rem;--fdNestedList_Item_Height:var(--sapElement_LineHeight);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-transition:width .2s ease-out;transition:width .2s ease-out;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-ms-flex-pack:justify;background-color:var(--sapGroup_ContentBackground);border-radius:0;-webkit-box-shadow:var(--sapContent_Shadow0);box-shadow:var(--sapContent_Shadow0);height:100%;justify-content:space-between;width:15rem}.fdx-side-nav:after,.fdx-side-nav:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fdx-side-nav__main-navigation{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;overflow:hidden scroll;padding-block:.5rem .25rem;padding-inline:.5rem}.fdx-side-nav__main-navigation:after,.fdx-side-nav__main-navigation:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fdx-side-nav__main-navigation.fd-scrollbar{padding-block:.5rem .25rem;padding-inline:.5rem}.fdx-side-nav__utility{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;padding-inline:.5rem;-webkit-padding-after:.5rem;padding-block-end:.5rem}.fdx-side-nav__utility:after,.fdx-side-nav__utility:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fdx-side-nav__utility:before{background:var(--sapToolbar_SeparatorColor);content:\"\";display:block;height:.0625rem;width:auto;-webkit-margin-after:.25rem;margin-block-end:.25rem;margin-inline:.5rem}.fdx-side-nav__popover-body{border-radius:1rem!important;margin-block:.25rem!important;max-width:16rem!important;min-width:16rem!important;padding-inline:0!important;width:16rem!important}.fdx-side-nav__popover-body .fdx-nested-list.level-2{padding-block:.5rem;padding-inline:.5rem}.fdx-side-nav__popover-body .fdx-nested-list.level-2 .fdx-nested-list__title{font-family:var(--sapFontFamily)}.fdx-side-nav__popover-body .fdx-nested-list.level-3 .fdx-nested-list__link-container{--fdNestedList_Start_Offset:3rem}.fdx-side-nav__popover-body--dynamic-width{max-width:-webkit-fit-content!important;max-width:-moz-fit-content!important;max-width:fit-content!important;min-width:16rem!important;width:-webkit-fit-content!important;width:-moz-fit-content!important;width:fit-content!important}.fdx-side-nav__button{margin-block:.25rem!important;margin-inline:0!important}.fdx-side-nav__input-group{margin-block:.75rem!important;margin-inline:.5rem!important;max-width:calc(100% - 1rem);min-width:calc(100% - 1rem);width:calc(100% - 1rem)}.fdx-side-nav[class*=-compact],.fdx-side-nav[class*=-condensed],[class*=-compact] .fdx-side-nav:not([class*=-cozy]),[class*=-condensed] .fdx-side-nav:not([class*=-cozy]){--fdSideNav_Padding_Block:.125rem;--fdSideNav_First_Item_Margin_Top:.125rem;--fdSideNav_Utility_Margin_Bottom:.75rem}.fdx-side-nav--mobile{border-radius:0;width:100%}.fdx-side-nav--narrow-animated-items .fdx-nested-list__arrow[class*=sap-icon],.fdx-side-nav--narrow-animated-items .fdx-nested-list__button,.fdx-side-nav--narrow-animated-items .fdx-nested-list__title{height:var(--fdNestedList_Item_Height);opacity:0;overflow:hidden;visibility:hidden}.fdx-side-nav--narrow{width:4rem}.fdx-side-nav--narrow .fdx-nested-list__link{height:var(--fdNestedList_Item_Height);max-height:var(--fdNestedList_Item_Height);min-height:var(--fdNestedList_Item_Height)}.fdx-side-nav--narrow:not(.fdx-side-nav--narrow-animated-items) .fdx-nested-list__arrow[class*=sap-icon],.fdx-side-nav--narrow:not(.fdx-side-nav--narrow-animated-items) .fdx-nested-list__button,.fdx-side-nav--narrow:not(.fdx-side-nav--narrow-animated-items) .fdx-nested-list__title{display:none;height:var(--fdNestedList_Item_Height)}.fdx-side-nav--narrow .fdx-nested-list button.fdx-nested-list__link,.fdx-side-nav--narrow .fdx-nested-list div.fdx-nested-list__link{position:relative}.fdx-side-nav--narrow .fdx-nested-list button.fdx-nested-list__link:before,.fdx-side-nav--narrow .fdx-nested-list div.fdx-nested-list__link:before{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;content:\"\\e066\";position:absolute;right:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);-webkit-padding-end:.25rem;font-family:SAP-icons;padding-inline-end:.25rem}.fdx-side-nav--narrow .fdx-nested-list button.fdx-nested-list__link[dir=rtl]:before,.fdx-side-nav--narrow .fdx-nested-list div.fdx-nested-list__link[dir=rtl]:before,[dir=rtl] .fdx-side-nav--narrow .fdx-nested-list button.fdx-nested-list__link:before,[dir=rtl] .fdx-side-nav--narrow .fdx-nested-list div.fdx-nested-list__link:before{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;left:0;padding-inline:.25rem 0;right:auto;-webkit-transform:rotateY(180deg) translateY(-50%);transform:rotateY(180deg) translateY(-50%)}.fdx-side-nav--dynamic-width{max-width:100%;min-width:15rem;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.fdx-side-nav--dynamic-width.fdx--narrow{width:4rem}.fdx-side-nav--shellbar{border-top-right-radius:0}.fdx-side-nav--shellbar[dir=rtl],[dir=rtl] .fdx-side-nav--shellbar{border-top-left-radius:0}.fdx-side-nav--single-line .fdx-nested-list__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fdx-side-nav[class*=-compact],.fdx-side-nav[class*=-condensed],[class*=-compact] .fdx-side-nav:not([class*=-cozy]),[class*=-condensed] .fdx-side-nav:not([class*=-cozy]){--fdNestedList_Item_Height:var(--sapElement_Compact_LineHeight)}.fdx-side-nav__button-container{background:var(--sapGroup_ContentBackground);position:static;width:100%;height:48px;z-index:1}.fdx-side-nav__button-container--bottom{border-bottom-right-radius:1rem}.fdx-side-nav__button-container--top{border-top-right-radius:1rem}.fdx-side-nav__button-container .fdx-side-nav .fdx-side-nav__button:last-of-type{margin-top:0!important}.fdx-nested-list__item{display:block}.fdx-nested-list__item .fdx-nested-list__link{cursor:pointer}.fdx-nested-list__item .fdx-nested-list__content .fdx-nested-list__button.fd-button{background:none}.fdx-side-nav .fd-button{margin-left:.875rem!important}.fdx-side-nav .fdx-side-nav__button{min-height:2.25rem;overflow:hidden;position:sticky}.fdx-side-nav--narrow .fdx-nested-list__item--group{display:none!important}.fdx-side-nav--compact .fdx-side-nav__button{min-height:1.5rem}.fdx-side-nav__popover-body .fd-scrollbar{padding:.25rem 0!important}.fdx-side-nav__popover-body.fdx-nested-list--text-only .fdx-nested-list:first-child{padding:.5rem}.fdx-side-nav__popover-body.fdx-nested-list--text-only .fdx-nested-list:first-child .fdx-nested-list__title{font-family:var(--sapFontFamily)}.fdx-side-nav__popover-body.fdx-nested-list--text-only .fdx-nested-list:not(:first-child){margin-block-start:.5rem;--fdNestedList_Start_Offset: 3rem}\n/*! Bundled license information:\n\n@fundamental-styles/cx/dist/side-nav.css:\n (*!\n * Fundamental Library Styles v0.41.5\n * Copyright (c) 2026 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *)\n*/\n"] }]
|
|
261
261
|
}], ctorParameters: () => [], propDecorators: { condensed: [{
|
|
262
262
|
type: Input
|
|
263
263
|
}, {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fundamental-ngx/cx",
|
|
3
|
-
"version": "0.62.0
|
|
3
|
+
"version": "0.62.0",
|
|
4
4
|
"schematics": "./schematics/collection.json",
|
|
5
5
|
"description": "Fundamental Library for Angular - cx",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -19,17 +19,17 @@
|
|
|
19
19
|
"@angular/forms": "^21.0.0",
|
|
20
20
|
"@angular/platform-browser": "^21.0.0",
|
|
21
21
|
"@angular/router": "^21.0.0",
|
|
22
|
-
"@fundamental-ngx/core": "0.62.0
|
|
23
|
-
"@fundamental-ngx/i18n": "0.62.0
|
|
22
|
+
"@fundamental-ngx/core": "0.62.0",
|
|
23
|
+
"@fundamental-ngx/i18n": "0.62.0",
|
|
24
24
|
"rxjs": "^7.8.0"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@fundamental-styles/cx": "0.41.
|
|
27
|
+
"@fundamental-styles/cx": "0.41.5",
|
|
28
28
|
"@sap-theming/theming-base-content": "^11.35.0",
|
|
29
29
|
"compare-versions": "^6.1.0",
|
|
30
30
|
"fast-equals": "^6.0.0",
|
|
31
31
|
"focus-trap": "^7.1.0",
|
|
32
|
-
"fundamental-styles": "0.41.
|
|
32
|
+
"fundamental-styles": "0.41.5",
|
|
33
33
|
"lodash-es": "^4.17.0",
|
|
34
34
|
"tslib": "^2.0.0"
|
|
35
35
|
},
|