@fundamental-ngx/core 0.36.1-rc.30 → 0.36.1-rc.31

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.
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1jb21wb25lbnQuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvbGlzdC9saXN0LWNvbXBvbmVudC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFF1ZXJ5TGlzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RDb21wb25lbnRJbnRlcmZhY2Uge1xuICAgIF9uYXZJdGVtczogUXVlcnlMaXN0PHsgaW5kaWNhdGVkOiBib29sZWFuOyBfaW5uZXJUZXh0OiBzdHJpbmc7IGV4cGFuZGVkOiBib29sZWFuIH0+O1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1jb21wb25lbnQuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvbGlzdC9saXN0LWNvbXBvbmVudC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFF1ZXJ5TGlzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RDb21wb25lbnRJbnRlcmZhY2Uge1xuICAgIF9uYXZJdGVtczogUXVlcnlMaXN0PHsgaW5kaWNhdGVkOiBib29sZWFuOyBfaW5uZXJUZXh0OiBzdHJpbmc7IGV4cGFuZGVkOiBib29sZWFuOyBfaXNJdGVtVmlzaWJsZTogYm9vbGVhbiB9Pjtcbn1cbiJdfQ==
@@ -1,13 +1,20 @@
1
- import { Component, ContentChild, HostBinding, HostListener, Input } from '@angular/core';
1
+ import { Component, ContentChild, ElementRef, HostBinding, HostListener, Input, Optional } from '@angular/core';
2
2
  import { IconComponent } from '@fundamental-ngx/core/icon';
3
+ import { KeyUtil, RtlService } from '@fundamental-ngx/core/utils';
4
+ import { ENTER, LEFT_ARROW, RIGHT_ARROW, SPACE } from '@angular/cdk/keycodes';
5
+ import { Subject } from 'rxjs';
3
6
  import { ListNavigationItemArrowDirective } from '../directives/list-navigation-item-arrow.directive';
4
7
  import { ListNavigationItemTextDirective } from '../directives/list-navigation-item-text.directive';
5
8
  import { LIST_COMPONENT } from '../list-component.token';
6
9
  import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/common";
8
- import * as i2 from "@fundamental-ngx/core/icon";
10
+ import * as i1 from "@fundamental-ngx/core/utils";
11
+ import * as i2 from "@angular/common";
12
+ import * as i3 from "@fundamental-ngx/core/icon";
9
13
  export class ListNavigationItemComponent {
10
- constructor() {
14
+ /** @hidden */
15
+ constructor(_elementRef, _rtlService) {
16
+ this._elementRef = _elementRef;
17
+ this._rtlService = _rtlService;
11
18
  /** Whether or not the list item is expanded. */
12
19
  this.expanded = false;
13
20
  /** Whether or not this list item is indicated for navigation. */
@@ -18,6 +25,16 @@ export class ListNavigationItemComponent {
18
25
  this._isExpandable = false;
19
26
  /** @hidden */
20
27
  this._condensed = false;
28
+ /** @hidden
29
+ * false if list-item is within unexpanded list (not visible to user until list expanded). default is true
30
+ */
31
+ this._isItemVisible = true;
32
+ /** @hidden handles rtl service */
33
+ this._dir = 'ltr';
34
+ /** @hidden */
35
+ this._focused$ = new Subject();
36
+ /** @hidden */
37
+ this._clicked$ = new Subject();
21
38
  }
22
39
  /** @hidden */
23
40
  ngAfterContentInit() {
@@ -33,11 +50,46 @@ export class ListNavigationItemComponent {
33
50
  this._innerText = this._text.elementRef.nativeElement.innerText;
34
51
  }
35
52
  /** @hidden */
53
+ ngAfterViewInit() {
54
+ this._subscribeToRtl();
55
+ this._setIsItemVisible(this.expanded);
56
+ }
57
+ /** @hidden */
36
58
  onItemClick(event) {
37
59
  event.stopPropagation();
38
60
  this._handleExpandedChanges(!this.expanded);
39
61
  }
40
62
  /** @hidden */
63
+ keyDownHandler(event) {
64
+ if (KeyUtil.isKeyCode(event, [RIGHT_ARROW])) {
65
+ event.preventDefault();
66
+ this._handleExpandedChanges(this._dir === 'ltr');
67
+ }
68
+ if (KeyUtil.isKeyCode(event, [LEFT_ARROW])) {
69
+ event.preventDefault();
70
+ this._handleExpandedChanges(this._dir !== 'ltr');
71
+ }
72
+ if (KeyUtil.isKeyCode(event, [SPACE, ENTER])) {
73
+ event.preventDefault();
74
+ event.stopPropagation();
75
+ this._handleExpandedChanges(!this.expanded);
76
+ }
77
+ }
78
+ /** @hidden */
79
+ onFocus(event) {
80
+ this._focused$.next(event.target !== this._elementRef?.nativeElement);
81
+ }
82
+ /** @hidden
83
+ * set the _isItemVisible of sublist items to true if this(containing) list is expanded.
84
+ */
85
+ _setIsItemVisible(value) {
86
+ if (this._isExpandable) {
87
+ this._listComponent?._navItems?.forEach((item) => {
88
+ item._isItemVisible = value;
89
+ });
90
+ }
91
+ }
92
+ /** @hidden */
41
93
  _childIndicatedAndCollapsed() {
42
94
  let retVal = false;
43
95
  this._listComponent?._navItems?.forEach((navItem) => {
@@ -47,20 +99,41 @@ export class ListNavigationItemComponent {
47
99
  });
48
100
  return retVal;
49
101
  }
102
+ /** support for FocusKeyManager for arrow key navigation */
103
+ focus() {
104
+ this._elementRef.nativeElement.focus();
105
+ }
106
+ /** support for FocusKeyManager for arrow key navigation */
107
+ click() {
108
+ this._elementRef?.nativeElement?.click();
109
+ }
50
110
  /** @hidden */
51
111
  _handleExpandedChanges(expanded) {
52
112
  if (this._isExpandable) {
53
113
  this.expanded = expanded;
114
+ this._setIsItemVisible(expanded);
54
115
  this._listNavigationItemArrow._setExpanded(this.expanded);
116
+ !expanded && this.focus();
55
117
  }
56
118
  }
119
+ /** @hidden Rtl change subscription */
120
+ _subscribeToRtl() {
121
+ if (!this._rtlService) {
122
+ return;
123
+ }
124
+ this._rtlService.rtl.subscribe((isRtl) => {
125
+ this._dir = isRtl ? 'rtl' : 'ltr';
126
+ });
127
+ }
57
128
  }
58
- ListNavigationItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ListNavigationItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
59
- ListNavigationItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: ListNavigationItemComponent, selector: "[fd-list-navigation-item], [fdListNavigaitonItem]", inputs: { expanded: "expanded", indicated: "indicated" }, host: { listeners: { "click": "onItemClick($event)" }, properties: { "class.is-expanded": "this.expanded", "class.fd-list__navigation-item--indicated": "this.indicated", "class.fd-list__navigation-item": "this._navigationItemClass", "class.fd-list__navigation-item--expandable": "this._isExpandable", "attr.tabindex": "this._tabIndex", "class.fd-list__navigation-item--condensed": "this._condensed" } }, queries: [{ propertyName: "_listComponent", first: true, predicate: LIST_COMPONENT, descendants: true }, { propertyName: "_listNavigationItemArrow", first: true, predicate: ListNavigationItemArrowDirective, descendants: true }, { propertyName: "_iconComponent", first: true, predicate: IconComponent, descendants: true }, { propertyName: "_text", first: true, predicate: ListNavigationItemTextDirective, descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"!expanded || !_isExpandable || !_condensed || !_listComponent\">\n <ng-content></ng-content\n ><span *ngIf=\"indicated || _childIndicatedAndCollapsed()\" class=\"fd-list__navigation-item-indicator\"></span>\n</ng-container>\n<ng-container *ngIf=\"expanded && _isExpandable && _condensed && _listComponent\">\n <div\n class=\"fd-popover__body fd-popover__body--no-arrow fd-list__navigation-item-popover--first-level\"\n aria-hidden=\"false\"\n >\n <ul class=\"fd-list\">\n <li class=\"fd-list__navigation-item fd-list__navigation-item--condensed\">\n <fd-icon class=\"fd-list__navigation-item-icon\" [glyph]=\"_iconComponent.glyph\"></fd-icon>\n <span class=\"fd-list__navigation-item-text\">{{ _innerText }}</span>\n </li>\n </ul>\n </div>\n <div\n class=\"fd-popover__body fd-popover__body--no-arrow fd-list__navigation-item-popover--second-level\"\n aria-hidden=\"false\"\n >\n <ul class=\"fd-list\">\n <li\n *ngFor=\"let navItem of _listComponent._navItems\"\n class=\"fd-list__navigation-item fd-list__navigation-item--condensed\"\n [class.fd-list__navigation-item--indicated]=\"navItem.indicated\"\n tabindex=\"0\"\n >\n <span *ngIf=\"navItem._innerText\" class=\"fd-list__navigation-item-text\">{{ navItem._innerText }}</span>\n <span *ngIf=\"navItem.indicated\" class=\"fd-list__navigation-item-indicator\"></span>\n </li>\n </ul>\n </div>\n</ng-container>\n", styles: ["@import\"~fundamental-styles/dist/popover.css\";\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }] });
129
+ ListNavigationItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ListNavigationItemComponent, deps: [{ token: i0.ElementRef }, { token: i1.RtlService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
130
+ ListNavigationItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: ListNavigationItemComponent, selector: "[fd-list-navigation-item], [fdListNavigaitonItem]", inputs: { expanded: "expanded", indicated: "indicated" }, host: { listeners: { "click": "onItemClick($event)", "keydown": "keyDownHandler($event)", "focus": "onFocus($event)" }, properties: { "class.is-expanded": "this.expanded", "class.fd-list__navigation-item--indicated": "this.indicated", "class.fd-list__navigation-item": "this._navigationItemClass", "class.fd-list__navigation-item--expandable": "this._isExpandable", "attr.tabindex": "this._tabIndex", "class.fd-list__navigation-item--condensed": "this._condensed" } }, queries: [{ propertyName: "_listComponent", first: true, predicate: LIST_COMPONENT, descendants: true }, { propertyName: "_listNavigationItemArrow", first: true, predicate: ListNavigationItemArrowDirective, descendants: true }, { propertyName: "_iconComponent", first: true, predicate: IconComponent, descendants: true }, { propertyName: "_text", first: true, predicate: ListNavigationItemTextDirective, descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"!expanded || !_isExpandable || !_condensed || !_listComponent\">\n <ng-content></ng-content\n ><span *ngIf=\"indicated || _childIndicatedAndCollapsed()\" class=\"fd-list__navigation-item-indicator\"></span>\n</ng-container>\n<ng-container *ngIf=\"expanded && _isExpandable && _condensed && _listComponent\">\n <div\n class=\"fd-popover__body fd-popover__body--no-arrow fd-list__navigation-item-popover--first-level\"\n aria-hidden=\"false\"\n >\n <ul class=\"fd-list\">\n <li class=\"fd-list__navigation-item fd-list__navigation-item--condensed\">\n <fd-icon class=\"fd-list__navigation-item-icon\" [glyph]=\"_iconComponent.glyph\"></fd-icon>\n <span class=\"fd-list__navigation-item-text\">{{ _innerText }}</span>\n </li>\n </ul>\n </div>\n <div\n class=\"fd-popover__body fd-popover__body--no-arrow fd-list__navigation-item-popover--second-level\"\n aria-hidden=\"false\"\n >\n <ul class=\"fd-list\">\n <li\n *ngFor=\"let navItem of _listComponent._navItems\"\n class=\"fd-list__navigation-item fd-list__navigation-item--condensed\"\n [class.fd-list__navigation-item--indicated]=\"navItem.indicated\"\n tabindex=\"0\"\n >\n <span *ngIf=\"navItem._innerText\" class=\"fd-list__navigation-item-text\">{{ navItem._innerText }}</span>\n <span *ngIf=\"navItem.indicated\" class=\"fd-list__navigation-item-indicator\"></span>\n </li>\n </ul>\n </div>\n</ng-container>\n", styles: ["@import\"~fundamental-styles/dist/popover.css\";\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }] });
60
131
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ListNavigationItemComponent, decorators: [{
61
132
  type: Component,
62
133
  args: [{ selector: '[fd-list-navigation-item], [fdListNavigaitonItem]', template: "<ng-container *ngIf=\"!expanded || !_isExpandable || !_condensed || !_listComponent\">\n <ng-content></ng-content\n ><span *ngIf=\"indicated || _childIndicatedAndCollapsed()\" class=\"fd-list__navigation-item-indicator\"></span>\n</ng-container>\n<ng-container *ngIf=\"expanded && _isExpandable && _condensed && _listComponent\">\n <div\n class=\"fd-popover__body fd-popover__body--no-arrow fd-list__navigation-item-popover--first-level\"\n aria-hidden=\"false\"\n >\n <ul class=\"fd-list\">\n <li class=\"fd-list__navigation-item fd-list__navigation-item--condensed\">\n <fd-icon class=\"fd-list__navigation-item-icon\" [glyph]=\"_iconComponent.glyph\"></fd-icon>\n <span class=\"fd-list__navigation-item-text\">{{ _innerText }}</span>\n </li>\n </ul>\n </div>\n <div\n class=\"fd-popover__body fd-popover__body--no-arrow fd-list__navigation-item-popover--second-level\"\n aria-hidden=\"false\"\n >\n <ul class=\"fd-list\">\n <li\n *ngFor=\"let navItem of _listComponent._navItems\"\n class=\"fd-list__navigation-item fd-list__navigation-item--condensed\"\n [class.fd-list__navigation-item--indicated]=\"navItem.indicated\"\n tabindex=\"0\"\n >\n <span *ngIf=\"navItem._innerText\" class=\"fd-list__navigation-item-text\">{{ navItem._innerText }}</span>\n <span *ngIf=\"navItem.indicated\" class=\"fd-list__navigation-item-indicator\"></span>\n </li>\n </ul>\n </div>\n</ng-container>\n", styles: ["@import\"~fundamental-styles/dist/popover.css\";\n"] }]
63
- }], propDecorators: { expanded: [{
134
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.RtlService, decorators: [{
135
+ type: Optional
136
+ }] }]; }, propDecorators: { expanded: [{
64
137
  type: Input
65
138
  }, {
66
139
  type: HostBinding,
@@ -97,5 +170,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImpor
97
170
  }], onItemClick: [{
98
171
  type: HostListener,
99
172
  args: ['click', ['$event']]
173
+ }], keyDownHandler: [{
174
+ type: HostListener,
175
+ args: ['keydown', ['$event']]
176
+ }], onFocus: [{
177
+ type: HostListener,
178
+ args: ['focus', ['$event']]
100
179
  }] } });
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1uYXZpZ2F0aW9uLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvbGlzdC9saXN0LW5hdmlnYXRpb24taXRlbS9saXN0LW5hdmlnYXRpb24taXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9saXN0L2xpc3QtbmF2aWdhdGlvbi1pdGVtL2xpc3QtbmF2aWdhdGlvbi1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0IsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDdEcsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDcEcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7O0FBU3pELE1BQU0sT0FBTywyQkFBMkI7SUFOeEM7UUFPSSxnREFBZ0Q7UUFHaEQsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVqQixpRUFBaUU7UUFHakUsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVsQixjQUFjO1FBRWQseUJBQW9CLEdBQUcsSUFBSSxDQUFDO1FBRTVCLGNBQWM7UUFFZCxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQU10QixjQUFjO1FBRWQsZUFBVSxHQUFHLEtBQUssQ0FBQztLQTREdEI7SUF2Q0csY0FBYztJQUNkLGtCQUFrQjtRQUNkLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNyQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztTQUM3QjthQUFNO1lBQ0gsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7U0FDdEI7UUFDRCxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDckIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUM7U0FDbEQ7UUFDRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUM7SUFDcEUsQ0FBQztJQUVELGNBQWM7SUFFZCxXQUFXLENBQUMsS0FBaUI7UUFDekIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsY0FBYztJQUNkLDJCQUEyQjtRQUN2QixJQUFJLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLGNBQWMsRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDaEQsSUFBSSxPQUFPLENBQUMsU0FBUyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRTtnQkFDeEMsTUFBTSxHQUFHLElBQUksQ0FBQzthQUNqQjtRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztJQUVELGNBQWM7SUFDTixzQkFBc0IsQ0FBQyxRQUFpQjtRQUM1QyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7WUFDekIsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDN0Q7SUFDTCxDQUFDOzt3SEFwRlEsMkJBQTJCOzRHQUEzQiwyQkFBMkIsbWxCQTRCdEIsY0FBYywyRkFJZCxnQ0FBZ0MsaUZBSWhDLGFBQWEsd0VBSWIsK0JBQStCLGdEQ3JEakQsNG1EQWlDQTsyRkRwQmEsMkJBQTJCO2tCQU52QyxTQUFTOytCQUVJLG1EQUFtRDs4QkFRN0QsUUFBUTtzQkFGUCxLQUFLOztzQkFDTCxXQUFXO3VCQUFDLG1CQUFtQjtnQkFNaEMsU0FBUztzQkFGUixLQUFLOztzQkFDTCxXQUFXO3VCQUFDLDJDQUEyQztnQkFLeEQsb0JBQW9CO3NCQURuQixXQUFXO3VCQUFDLGdDQUFnQztnQkFLN0MsYUFBYTtzQkFEWixXQUFXO3VCQUFDLDRDQUE0QztnQkFLekQsU0FBUztzQkFEUixXQUFXO3VCQUFDLGVBQWU7Z0JBSzVCLFVBQVU7c0JBRFQsV0FBVzt1QkFBQywyQ0FBMkM7Z0JBS3hELGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxjQUFjO2dCQUs1Qix3QkFBd0I7c0JBRHZCLFlBQVk7dUJBQUMsZ0NBQWdDO2dCQUs5QyxjQUFjO3NCQURiLFlBQVk7dUJBQUMsYUFBYTtnQkFLM0IsS0FBSztzQkFESixZQUFZO3VCQUFDLCtCQUErQjtnQkFxQjdDLFdBQVc7c0JBRFYsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlckNvbnRlbnRJbml0LCBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvaWNvbic7XG5pbXBvcnQgeyBMaXN0TmF2aWdhdGlvbkl0ZW1BcnJvd0RpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvbGlzdC1uYXZpZ2F0aW9uLWl0ZW0tYXJyb3cuZGlyZWN0aXZlJztcbmltcG9ydCB7IExpc3ROYXZpZ2F0aW9uSXRlbVRleHREaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL2xpc3QtbmF2aWdhdGlvbi1pdGVtLXRleHQuZGlyZWN0aXZlJztcbmltcG9ydCB7IExJU1RfQ09NUE9ORU5UIH0gZnJvbSAnLi4vbGlzdC1jb21wb25lbnQudG9rZW4nO1xuaW1wb3J0IHsgTGlzdENvbXBvbmVudEludGVyZmFjZSB9IGZyb20gJy4uL2xpc3QtY29tcG9uZW50LmludGVyZmFjZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdbZmQtbGlzdC1uYXZpZ2F0aW9uLWl0ZW1dLCBbZmRMaXN0TmF2aWdhaXRvbkl0ZW1dJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbGlzdC1uYXZpZ2F0aW9uLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2xpc3QtbmF2aWdhdGlvbi1pdGVtLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTGlzdE5hdmlnYXRpb25JdGVtQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gICAgLyoqIFdoZXRoZXIgb3Igbm90IHRoZSBsaXN0IGl0ZW0gaXMgZXhwYW5kZWQuICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlzLWV4cGFuZGVkJylcbiAgICBleHBhbmRlZCA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgb3Igbm90IHRoaXMgbGlzdCBpdGVtIGlzIGluZGljYXRlZCBmb3IgbmF2aWdhdGlvbi4gKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtbGlzdF9fbmF2aWdhdGlvbi1pdGVtLS1pbmRpY2F0ZWQnKVxuICAgIGluZGljYXRlZCA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLWxpc3RfX25hdmlnYXRpb24taXRlbScpXG4gICAgX25hdmlnYXRpb25JdGVtQ2xhc3MgPSB0cnVlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLWxpc3RfX25hdmlnYXRpb24taXRlbS0tZXhwYW5kYWJsZScpXG4gICAgX2lzRXhwYW5kYWJsZSA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIudGFiaW5kZXgnKVxuICAgIF90YWJJbmRleDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC1saXN0X19uYXZpZ2F0aW9uLWl0ZW0tLWNvbmRlbnNlZCcpXG4gICAgX2NvbmRlbnNlZCA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKExJU1RfQ09NUE9ORU5UKVxuICAgIF9saXN0Q29tcG9uZW50OiBMaXN0Q29tcG9uZW50SW50ZXJmYWNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKExpc3ROYXZpZ2F0aW9uSXRlbUFycm93RGlyZWN0aXZlKVxuICAgIF9saXN0TmF2aWdhdGlvbkl0ZW1BcnJvdzogTGlzdE5hdmlnYXRpb25JdGVtQXJyb3dEaXJlY3RpdmU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGQoSWNvbkNvbXBvbmVudClcbiAgICBfaWNvbkNvbXBvbmVudDogSWNvbkNvbXBvbmVudDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZChMaXN0TmF2aWdhdGlvbkl0ZW1UZXh0RGlyZWN0aXZlKVxuICAgIF90ZXh0OiBMaXN0TmF2aWdhdGlvbkl0ZW1UZXh0RGlyZWN0aXZlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfaW5uZXJUZXh0OiBzdHJpbmc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2xpc3RDb21wb25lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuX2lzRXhwYW5kYWJsZSA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl90YWJJbmRleCA9IDA7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuX2ljb25Db21wb25lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuX2ljb25Db21wb25lbnQuX25hdmlnYXRpb25JdGVtSWNvbiA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5faW5uZXJUZXh0ID0gdGhpcy5fdGV4dC5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuaW5uZXJUZXh0O1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICAgIG9uSXRlbUNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLl9oYW5kbGVFeHBhbmRlZENoYW5nZXMoIXRoaXMuZXhwYW5kZWQpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2NoaWxkSW5kaWNhdGVkQW5kQ29sbGFwc2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICBsZXQgcmV0VmFsID0gZmFsc2U7XG4gICAgICAgIHRoaXMuX2xpc3RDb21wb25lbnQ/Ll9uYXZJdGVtcz8uZm9yRWFjaCgobmF2SXRlbSkgPT4ge1xuICAgICAgICAgICAgaWYgKG5hdkl0ZW0uaW5kaWNhdGVkICYmICFuYXZJdGVtLmV4cGFuZGVkKSB7XG4gICAgICAgICAgICAgICAgcmV0VmFsID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHJldFZhbDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2hhbmRsZUV4cGFuZGVkQ2hhbmdlcyhleHBhbmRlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5faXNFeHBhbmRhYmxlKSB7XG4gICAgICAgICAgICB0aGlzLmV4cGFuZGVkID0gZXhwYW5kZWQ7XG4gICAgICAgICAgICB0aGlzLl9saXN0TmF2aWdhdGlvbkl0ZW1BcnJvdy5fc2V0RXhwYW5kZWQodGhpcy5leHBhbmRlZCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiIWV4cGFuZGVkIHx8ICFfaXNFeHBhbmRhYmxlIHx8ICFfY29uZGVuc2VkIHx8ICFfbGlzdENvbXBvbmVudFwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudFxuICAgID48c3BhbiAqbmdJZj1cImluZGljYXRlZCB8fCBfY2hpbGRJbmRpY2F0ZWRBbmRDb2xsYXBzZWQoKVwiIGNsYXNzPVwiZmQtbGlzdF9fbmF2aWdhdGlvbi1pdGVtLWluZGljYXRvclwiPjwvc3Bhbj5cbjwvbmctY29udGFpbmVyPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImV4cGFuZGVkICYmIF9pc0V4cGFuZGFibGUgJiYgX2NvbmRlbnNlZCAmJiBfbGlzdENvbXBvbmVudFwiPlxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJmZC1wb3BvdmVyX19ib2R5IGZkLXBvcG92ZXJfX2JvZHktLW5vLWFycm93IGZkLWxpc3RfX25hdmlnYXRpb24taXRlbS1wb3BvdmVyLS1maXJzdC1sZXZlbFwiXG4gICAgICAgIGFyaWEtaGlkZGVuPVwiZmFsc2VcIlxuICAgID5cbiAgICAgICAgPHVsIGNsYXNzPVwiZmQtbGlzdFwiPlxuICAgICAgICAgICAgPGxpIGNsYXNzPVwiZmQtbGlzdF9fbmF2aWdhdGlvbi1pdGVtIGZkLWxpc3RfX25hdmlnYXRpb24taXRlbS0tY29uZGVuc2VkXCI+XG4gICAgICAgICAgICAgICAgPGZkLWljb24gY2xhc3M9XCJmZC1saXN0X19uYXZpZ2F0aW9uLWl0ZW0taWNvblwiIFtnbHlwaF09XCJfaWNvbkNvbXBvbmVudC5nbHlwaFwiPjwvZmQtaWNvbj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZkLWxpc3RfX25hdmlnYXRpb24taXRlbS10ZXh0XCI+e3sgX2lubmVyVGV4dCB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgIDwvdWw+XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cImZkLXBvcG92ZXJfX2JvZHkgZmQtcG9wb3Zlcl9fYm9keS0tbm8tYXJyb3cgZmQtbGlzdF9fbmF2aWdhdGlvbi1pdGVtLXBvcG92ZXItLXNlY29uZC1sZXZlbFwiXG4gICAgICAgIGFyaWEtaGlkZGVuPVwiZmFsc2VcIlxuICAgID5cbiAgICAgICAgPHVsIGNsYXNzPVwiZmQtbGlzdFwiPlxuICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG5hdkl0ZW0gb2YgX2xpc3RDb21wb25lbnQuX25hdkl0ZW1zXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZkLWxpc3RfX25hdmlnYXRpb24taXRlbSBmZC1saXN0X19uYXZpZ2F0aW9uLWl0ZW0tLWNvbmRlbnNlZFwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmZkLWxpc3RfX25hdmlnYXRpb24taXRlbS0taW5kaWNhdGVkXT1cIm5hdkl0ZW0uaW5kaWNhdGVkXCJcbiAgICAgICAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwibmF2SXRlbS5faW5uZXJUZXh0XCIgY2xhc3M9XCJmZC1saXN0X19uYXZpZ2F0aW9uLWl0ZW0tdGV4dFwiPnt7IG5hdkl0ZW0uX2lubmVyVGV4dCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIm5hdkl0ZW0uaW5kaWNhdGVkXCIgY2xhc3M9XCJmZC1saXN0X19uYXZpZ2F0aW9uLWl0ZW0taW5kaWNhdG9yXCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgPC91bD5cbiAgICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuIl19
180
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1uYXZpZ2F0aW9uLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvbGlzdC9saXN0LW5hdmlnYXRpb24taXRlbS9saXN0LW5hdmlnYXRpb24taXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9saXN0L2xpc3QtbmF2aWdhdGlvbi1pdGVtL2xpc3QtbmF2aWdhdGlvbi1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFDTCxRQUFRLEVBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDbEUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTlFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDdEcsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDcEcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7OztBQVN6RCxNQUFNLE9BQU8sMkJBQTJCO0lBNERwQyxjQUFjO0lBQ2QsWUFBb0IsV0FBdUIsRUFBc0IsV0FBdUI7UUFBcEUsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFBc0IsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUE1RHhGLGdEQUFnRDtRQUdoRCxhQUFRLEdBQUcs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QUMsQ0FBQyxLQUFLLENBQUM7UUFDdEMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzt3SEFyS1EsMkJBQTJCOzRHQUEzQiwyQkFBMkIsb3BCQTRCdEIsY0FBYywyRkFJZCxnQ0FBZ0MsaUZBSWhDLGFBQWEsd0VBSWIsK0JBQStCLGdEQ25FakQsNG1EQWlDQTsyRkROYSwyQkFBMkI7a0JBTnZDLFNBQVM7K0JBRUksbURBQW1EOzswQkFpRWYsUUFBUTs0Q0F6RHRELFFBQVE7c0JBRlAsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxtQkFBbUI7Z0JBTWhDLFNBQVM7c0JBRlIsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQywyQ0FBMkM7Z0JBS3hELG9CQUFvQjtzQkFEbkIsV0FBVzt1QkFBQyxnQ0FBZ0M7Z0JBSzdDLGFBQWE7c0JBRFosV0FBVzt1QkFBQyw0Q0FBNEM7Z0JBS3pELFNBQVM7c0JBRFIsV0FBVzt1QkFBQyxlQUFlO2dCQUs1QixVQUFVO3NCQURULFdBQVc7dUJBQUMsMkNBQTJDO2dCQUt4RCxjQUFjO3NCQURiLFlBQVk7dUJBQUMsY0FBYztnQkFLNUIsd0JBQXdCO3NCQUR2QixZQUFZO3VCQUFDLGdDQUFnQztnQkFLOUMsY0FBYztzQkFEYixZQUFZO3VCQUFDLGFBQWE7Z0JBSzNCLEtBQUs7c0JBREosWUFBWTt1QkFBQywrQkFBK0I7Z0JBNEM3QyxXQUFXO3NCQURWLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVFqQyxjQUFjO3NCQURiLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQW1CekIsT0FBTztzQkFEaEIsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9pY29uJztcbmltcG9ydCB7IEtleVV0aWwsIFJ0bFNlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvdXRpbHMnO1xuaW1wb3J0IHsgRU5URVIsIExFRlRfQVJST1csIFJJR0hUX0FSUk9XLCBTUEFDRSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQgeyBGb2N1c2FibGVPcHRpb24gfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMaXN0TmF2aWdhdGlvbkl0ZW1BcnJvd0RpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvbGlzdC1uYXZpZ2F0aW9uLWl0ZW0tYXJyb3cuZGlyZWN0aXZlJztcbmltcG9ydCB7IExpc3ROYXZpZ2F0aW9uSXRlbVRleHREaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL2xpc3QtbmF2aWdhdGlvbi1pdGVtLXRleHQuZGlyZWN0aXZlJztcbmltcG9ydCB7IExJU1RfQ09NUE9ORU5UIH0gZnJvbSAnLi4vbGlzdC1jb21wb25lbnQudG9rZW4nO1xuaW1wb3J0IHsgTGlzdENvbXBvbmVudEludGVyZmFjZSB9IGZyb20gJy4uL2xpc3QtY29tcG9uZW50LmludGVyZmFjZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdbZmQtbGlzdC1uYXZpZ2F0aW9uLWl0ZW1dLCBbZmRMaXN0TmF2aWdhaXRvbkl0ZW1dJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbGlzdC1uYXZpZ2F0aW9uLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2xpc3QtbmF2aWdhdGlvbi1pdGVtLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTGlzdE5hdmlnYXRpb25JdGVtQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgQWZ0ZXJWaWV3SW5pdCwgRm9jdXNhYmxlT3B0aW9uIHtcbiAgICAvKiogV2hldGhlciBvciBub3QgdGhlIGxpc3QgaXRlbSBpcyBleHBhbmRlZC4gKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaXMtZXhwYW5kZWQnKVxuICAgIGV4cGFuZGVkID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciBvciBub3QgdGhpcyBsaXN0IGl0ZW0gaXMgaW5kaWNhdGVkIGZvciBuYXZpZ2F0aW9uLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC1saXN0X19uYXZpZ2F0aW9uLWl0ZW0tLWluZGljYXRlZCcpXG4gICAgaW5kaWNhdGVkID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtbGlzdF9fbmF2aWdhdGlvbi1pdGVtJylcbiAgICBfbmF2aWdhdGlvbkl0ZW1DbGFzcyA9IHRydWU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtbGlzdF9fbmF2aWdhdGlvbi1pdGVtLS1leHBhbmRhYmxlJylcbiAgICBfaXNFeHBhbmRhYmxlID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci50YWJpbmRleCcpXG4gICAgX3RhYkluZGV4O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLWxpc3RfX25hdmlnYXRpb24taXRlbS0tY29uZGVuc2VkJylcbiAgICBfY29uZGVuc2VkID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGQoTElTVF9DT01QT05FTlQpXG4gICAgX2xpc3RDb21wb25lbnQ6IExpc3RDb21wb25lbnRJbnRlcmZhY2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGQoTGlzdE5hdmlnYXRpb25JdGVtQXJyb3dEaXJlY3RpdmUpXG4gICAgX2xpc3ROYXZpZ2F0aW9uSXRlbUFycm93OiBMaXN0TmF2aWdhdGlvbkl0ZW1BcnJvd0RpcmVjdGl2ZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZChJY29uQ29tcG9uZW50KVxuICAgIF9pY29uQ29tcG9uZW50OiBJY29uQ29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKExpc3ROYXZpZ2F0aW9uSXRlbVRleHREaXJlY3RpdmUpXG4gICAgX3RleHQ6IExpc3ROYXZpZ2F0aW9uSXRlbVRleHREaXJlY3RpdmU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9pbm5lclRleHQ6IHN0cmluZztcblxuICAgIC8qKiBAaGlkZGVuXG4gICAgICogZmFsc2UgaWYgbGlzdC1pdGVtIGlzIHdpdGhpbiB1bmV4cGFuZGVkIGxpc3QgKG5vdCB2aXNpYmxlIHRvIHVzZXIgdW50aWwgbGlzdCBleHBhbmRlZCkuIGRlZmF1bHQgaXMgdHJ1ZVxuICAgICAqL1xuICAgIF9pc0l0ZW1WaXNpYmxlID0gdHJ1ZTtcblxuICAgIC8qKiBAaGlkZGVuIGhhbmRsZXMgcnRsIHNlcnZpY2UgKi9cbiAgICBwcml2YXRlIF9kaXI6ICdsdHInIHwgJ3J0bCcgfCBudWxsID0gJ2x0cic7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHJlYWRvbmx5IF9mb2N1c2VkJCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHJlYWRvbmx5IF9jbGlja2VkJCA9IG5ldyBTdWJqZWN0PE1vdXNlRXZlbnQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIEBPcHRpb25hbCgpIHByaXZhdGUgX3J0bFNlcnZpY2U6IFJ0bFNlcnZpY2UpIHt9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2xpc3RDb21wb25lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuX2lzRXhwYW5kYWJsZSA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl90YWJJbmRleCA9IDA7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuX2ljb25Db21wb25lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuX2ljb25Db21wb25lbnQuX25hdmlnYXRpb25JdGVtSWNvbiA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5faW5uZXJUZXh0ID0gdGhpcy5fdGV4dC5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuaW5uZXJUZXh0O1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zdWJzY3JpYmVUb1J0bCgpO1xuICAgICAgICB0aGlzLl9zZXRJc0l0ZW1WaXNpYmxlKHRoaXMuZXhwYW5kZWQpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICAgIG9uSXRlbUNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLl9oYW5kbGVFeHBhbmRlZENoYW5nZXMoIXRoaXMuZXhwYW5kZWQpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXG4gICAga2V5RG93bkhhbmRsZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBbUklHSFRfQVJST1ddKSkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHRoaXMuX2hhbmRsZUV4cGFuZGVkQ2hhbmdlcyh0aGlzLl9kaXIgPT09ICdsdHInKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIFtMRUZUX0FSUk9XXSkpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICB0aGlzLl9oYW5kbGVFeHBhbmRlZENoYW5nZXModGhpcy5fZGlyICE9PSAnbHRyJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBbU1BBQ0UsIEVOVEVSXSkpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIHRoaXMuX2hhbmRsZUV4cGFuZGVkQ2hhbmdlcyghdGhpcy5leHBhbmRlZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2ZvY3VzJywgWyckZXZlbnQnXSlcbiAgICBwcm90ZWN0ZWQgb25Gb2N1cyhldmVudDogRm9jdXNFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9mb2N1c2VkJC5uZXh0KGV2ZW50LnRhcmdldCAhPT0gdGhpcy5fZWxlbWVudFJlZj8ubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW5cbiAgICAgKiBzZXQgdGhlIF9pc0l0ZW1WaXNpYmxlIG9mIHN1Ymxpc3QgaXRlbXMgdG8gdHJ1ZSBpZiB0aGlzKGNvbnRhaW5pbmcpIGxpc3QgaXMgZXhwYW5kZWQuXG4gICAgICovXG4gICAgX3NldElzSXRlbVZpc2libGUodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2lzRXhwYW5kYWJsZSkge1xuICAgICAgICAgICAgdGhpcy5fbGlzdENvbXBvbmVudD8uX25hdkl0ZW1zPy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgaXRlbS5faXNJdGVtVmlzaWJsZSA9IHZhbHVlO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9jaGlsZEluZGljYXRlZEFuZENvbGxhcHNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgbGV0IHJldFZhbCA9IGZhbHNlO1xuICAgICAgICB0aGlzLl9saXN0Q29tcG9uZW50Py5fbmF2SXRlbXM/LmZvckVhY2goKG5hdkl0ZW0pID0+IHtcbiAgICAgICAgICAgIGlmIChuYXZJdGVtLmluZGljYXRlZCAmJiAhbmF2SXRlbS5leHBhbmRlZCkge1xuICAgICAgICAgICAgICAgIHJldFZhbCA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiByZXRWYWw7XG4gICAgfVxuXG4gICAgLyoqIHN1cHBvcnQgZm9yIEZvY3VzS2V5TWFuYWdlciBmb3IgYXJyb3cga2V5IG5hdmlnYXRpb24gKi9cbiAgICBmb2N1cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgLyoqIHN1cHBvcnQgZm9yIEZvY3VzS2V5TWFuYWdlciBmb3IgYXJyb3cga2V5IG5hdmlnYXRpb24gKi9cbiAgICBjbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZWxlbWVudFJlZj8ubmF0aXZlRWxlbWVudD8uY2xpY2soKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2hhbmRsZUV4cGFuZGVkQ2hhbmdlcyhleHBhbmRlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5faXNFeHBhbmRhYmxlKSB7XG4gICAgICAgICAgICB0aGlzLmV4cGFuZGVkID0gZXhwYW5kZWQ7XG4gICAgICAgICAgICB0aGlzLl9zZXRJc0l0ZW1WaXNpYmxlKGV4cGFuZGVkKTtcbiAgICAgICAgICAgIHRoaXMuX2xpc3ROYXZpZ2F0aW9uSXRlbUFycm93Ll9zZXRFeHBhbmRlZCh0aGlzLmV4cGFuZGVkKTtcbiAgICAgICAgICAgICFleHBhbmRlZCAmJiB0aGlzLmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBSdGwgY2hhbmdlIHN1YnNjcmlwdGlvbiAqL1xuICAgIHByaXZhdGUgX3N1YnNjcmliZVRvUnRsKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX3J0bFNlcnZpY2UpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3J0bFNlcnZpY2UucnRsLnN1YnNjcmliZSgoaXNSdGwpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2RpciA9IGlzUnRsID8gJ3J0bCcgOiAnbHRyJztcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFleHBhbmRlZCB8fCAhX2lzRXhwYW5kYWJsZSB8fCAhX2NvbmRlbnNlZCB8fCAhX2xpc3RDb21wb25lbnRcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnRcbiAgICA+PHNwYW4gKm5nSWY9XCJpbmRpY2F0ZWQgfHwgX2NoaWxkSW5kaWNhdGVkQW5kQ29sbGFwc2VkKClcIiBjbGFzcz1cImZkLWxpc3RfX25hdmlnYXRpb24taXRlbS1pbmRpY2F0b3JcIj48L3NwYW4+XG48L25nLWNvbnRhaW5lcj5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJleHBhbmRlZCAmJiBfaXNFeHBhbmRhYmxlICYmIF9jb25kZW5zZWQgJiYgX2xpc3RDb21wb25lbnRcIj5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZmQtcG9wb3Zlcl9fYm9keSBmZC1wb3BvdmVyX19ib2R5LS1uby1hcnJvdyBmZC1saXN0X19uYXZpZ2F0aW9uLWl0ZW0tcG9wb3Zlci0tZmlyc3QtbGV2ZWxcIlxuICAgICAgICBhcmlhLWhpZGRlbj1cImZhbHNlXCJcbiAgICA+XG4gICAgICAgIDx1bCBjbGFzcz1cImZkLWxpc3RcIj5cbiAgICAgICAgICAgIDxsaSBjbGFzcz1cImZkLWxpc3RfX25hdmlnYXRpb24taXRlbSBmZC1saXN0X19uYXZpZ2F0aW9uLWl0ZW0tLWNvbmRlbnNlZFwiPlxuICAgICAgICAgICAgICAgIDxmZC1pY29uIGNsYXNzPVwiZmQtbGlzdF9fbmF2aWdhdGlvbi1pdGVtLWljb25cIiBbZ2x5cGhdPVwiX2ljb25Db21wb25lbnQuZ2x5cGhcIj48L2ZkLWljb24+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmZC1saXN0X19uYXZpZ2F0aW9uLWl0ZW0tdGV4dFwiPnt7IF9pbm5lclRleHQgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICA8L3VsPlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJmZC1wb3BvdmVyX19ib2R5IGZkLXBvcG92ZXJfX2JvZHktLW5vLWFycm93IGZkLWxpc3RfX25hdmlnYXRpb24taXRlbS1wb3BvdmVyLS1zZWNvbmQtbGV2ZWxcIlxuICAgICAgICBhcmlhLWhpZGRlbj1cImZhbHNlXCJcbiAgICA+XG4gICAgICAgIDx1bCBjbGFzcz1cImZkLWxpc3RcIj5cbiAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBuYXZJdGVtIG9mIF9saXN0Q29tcG9uZW50Ll9uYXZJdGVtc1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmZC1saXN0X19uYXZpZ2F0aW9uLWl0ZW0gZmQtbGlzdF9fbmF2aWdhdGlvbi1pdGVtLS1jb25kZW5zZWRcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5mZC1saXN0X19uYXZpZ2F0aW9uLWl0ZW0tLWluZGljYXRlZF09XCJuYXZJdGVtLmluZGljYXRlZFwiXG4gICAgICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIm5hdkl0ZW0uX2lubmVyVGV4dFwiIGNsYXNzPVwiZmQtbGlzdF9fbmF2aWdhdGlvbi1pdGVtLXRleHRcIj57eyBuYXZJdGVtLl9pbm5lclRleHQgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJuYXZJdGVtLmluZGljYXRlZFwiIGNsYXNzPVwiZmQtbGlzdF9fbmF2aWdhdGlvbi1pdGVtLWluZGljYXRvclwiPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgIDwvdWw+XG4gICAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -1,4 +1,6 @@
1
- import { ChangeDetectionStrategy, Component, ContentChildren, Input, QueryList, ViewEncapsulation } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, ContentChildren, HostListener, Input, QueryList, ViewEncapsulation } from '@angular/core';
2
+ import { FocusKeyManager } from '@angular/cdk/a11y';
3
+ import { delay, map, merge, startWith, Subject, takeUntil } from 'rxjs';
2
4
  import { ListNavigationItemComponent } from '@fundamental-ngx/core/list';
3
5
  import * as i0 from "@angular/core";
4
6
  import * as i1 from "@fundamental-ngx/core/list";
@@ -7,25 +9,80 @@ export class VerticalNavigationComponent {
7
9
  constructor() {
8
10
  /** Whether or not this component is to be shown in 'condensed' mode. */
9
11
  this.condensed = false;
12
+ /** An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing) */
13
+ this._onDestroy$ = new Subject();
14
+ /** An RxJS Subject that will kill the data stream upon queryList changes (for unsubscribing) */
15
+ this._onRefresh$ = new Subject();
10
16
  }
11
17
  /** @hidden */
12
18
  ngAfterContentInit() {
13
19
  if (this.condensed) {
14
- this._navigationItems.forEach((navItem) => {
20
+ this._mainNavigationItems.forEach((navItem) => {
15
21
  navItem._condensed = true;
16
22
  });
17
23
  }
24
+ else {
25
+ this._keyManager = new FocusKeyManager(this._navigationItems)
26
+ .withHomeAndEnd()
27
+ .skipPredicate((item) => !item._isItemVisible);
28
+ this._listenOnQueryChange();
29
+ }
30
+ }
31
+ /** Set fake focus on element with passed index */
32
+ setItemActive(index, updateOnly = false) {
33
+ if (updateOnly) {
34
+ this._keyManager.updateActiveItem(index);
35
+ }
36
+ else {
37
+ this._keyManager.setActiveItem(index);
38
+ }
39
+ }
40
+ /** @hidden */
41
+ _listenOnQueryChange() {
42
+ this._navigationItems.changes.pipe(delay(0), startWith(0), takeUntil(this._onDestroy$)).subscribe(() => {
43
+ this._listenOnItemsClick();
44
+ setTimeout(() => {
45
+ // using setTimeout to avoid ExpressionChangedAfterItHasBeenCheckedError
46
+ this._navigationItems.forEach((navItem, index) => {
47
+ index !== 0 && (navItem._tabIndex = -1);
48
+ });
49
+ });
50
+ });
51
+ }
52
+ /** @hidden */
53
+ _listenOnItemsClick() {
54
+ /** Finish all the streams, from before */
55
+ this._onRefresh$.next();
56
+ /** Merge refresh/destroy observables */
57
+ const completion$ = merge(this._onRefresh$, this._onDestroy$);
58
+ const interactionChangesIndexes = this._navigationItems.map((item, index) => merge(item._clicked$.pipe(map(() => ({ index, updateOnly: false }))), item._focused$.pipe(map((focusedOn) => ({ index, updateOnly: focusedOn })))));
59
+ merge(...interactionChangesIndexes)
60
+ .pipe(takeUntil(completion$))
61
+ .subscribe(({ index, updateOnly }) => this.setItemActive(index, updateOnly));
62
+ }
63
+ /** @hidden */
64
+ keyDownHandler(event) {
65
+ if (!this.condensed) {
66
+ this._keyManager.onKeydown(event);
67
+ event.stopPropagation();
68
+ }
18
69
  }
19
70
  }
20
71
  VerticalNavigationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: VerticalNavigationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
21
- VerticalNavigationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: VerticalNavigationComponent, selector: "fd-vertical-navigation", inputs: { condensed: "condensed" }, queries: [{ propertyName: "_navigationItems", predicate: ListNavigationItemComponent }], ngImport: i0, template: "<div class=\"fd-vertical-nav\" [class.fd-vertical-nav--condensed]=\"condensed\">\n <fd-vertical-navigation-main-navigation>\n <ul fd-list>\n <ng-content></ng-content>\n </ul>\n </fd-vertical-navigation-main-navigation>\n</div>\n", styles: ["/*!\n * Fundamental Library Styles v0.25.0-rc.23\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-vertical-nav{-webkit-box-sizing:border-box;-webkit-box-pack:justify;-ms-flex-pack:justify;-webkit-box-shadow:var(--sapContent_Shadow0);background-color:var(--sapList_AlternatingBackground);border:0;box-shadow:var(--sapContent_Shadow0);box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;height:100%;justify-content:space-between;line-height:var(--sapContent_LineHeight);margin:0;padding:0;text-shadow:var(--fdVerticalNav_Text_Shadow);width:15rem}.fd-vertical-nav:after,.fd-vertical-nav:before{box-sizing:inherit;font-size:inherit}.fd-vertical-nav .fd-list .fd-list__navigation-item-indicator{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-vertical-nav .fd-list .fd-list__navigation-item-indicator:after,.fd-vertical-nav .fd-list .fd-list__navigation-item-indicator:before{box-sizing:inherit;font-size:inherit}.fd-vertical-nav .fd-list .fd-list__navigation-item-indicator:after{background-color:var(--sapSelectedColor);border-radius:var(--sapField_BorderCornerRadius);color:var(--sapSelectedColor);content:\"\";display:inline-block;height:var(--fdVerticalNav_Item_Indicator_Height);margin-right:var(--fdVerticalNavigation_Indicator_Spacing);position:absolute;right:0;top:var(--fdVerticalNav_Item_Indicator_Top);width:.1875rem}.fd-vertical-nav .fd-list .fd-list__navigation-item-indicator[dir=rtl]:after,[dir=rtl] .fd-vertical-nav .fd-list .fd-list__navigation-item-indicator:after{left:0;margin-left:var(--fdVerticalNavigation_Indicator_Spacing);margin-right:0;right:unset}.fd-vertical-nav .fd-list__navigation-item{-webkit-box-sizing:border-box;background:transparent;border:0;box-sizing:border-box;color:var(--sapTextColor);cursor:pointer;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;height:2.75rem;line-height:var(--sapContent_LineHeight);margin:0;padding:0 1rem 0 .5rem;position:relative}.fd-vertical-nav .fd-list__navigation-item:after,.fd-vertical-nav .fd-list__navigation-item:before{box-sizing:inherit;font-size:inherit}.fd-vertical-nav .fd-list__navigation-item.is-focus,.fd-vertical-nav .fd-list__navigation-item:focus{outline-color:var(--sapContent_FocusColor);outline-offset:-.1875rem;outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-vertical-nav .fd-list__navigation-item[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item{padding-left:1rem;padding-right:.5rem}.fd-vertical-nav .fd-list__navigation-item.fd-list__navigation-item--indicated,.fd-vertical-nav .fd-list__navigation-item.fd-list__navigation-item--indicated .fd-list__navigation-item-arrow,.fd-vertical-nav .fd-list__navigation-item.fd-list__navigation-item--indicated .fd-list__navigation-item-icon,.fd-vertical-nav .fd-list__navigation-item.fd-list__navigation-item--indicated .fd-list__navigation-item-text{color:var(--sapSelectedColor)}.fd-vertical-nav .fd-list__navigation-item.is-focus,.fd-vertical-nav .fd-list__navigation-item:focus{outline-offset:var(--fdVerticalNav_Item_Focus_Outline_Offset);z-index:5}.fd-vertical-nav .fd-list__navigation-item.fd-list__navigation-item--indicated.is-focus,.fd-vertical-nav .fd-list__navigation-item.fd-list__navigation-item--indicated:focus{outline-offset:var(--fdVerticalNav_Item_Indicated_Outline_Offset);z-index:5}.fd-vertical-nav .fd-list__navigation-item .fd-list{display:none}.fd-vertical-nav .fd-list__navigation-item--expandable{margin:var(--fdVerticalNav_Item_Expandable_Margin)}.fd-vertical-nav .fd-list__navigation-item.is-expanded{-webkit-box-shadow:var(--fdVerticalNav_Item_Expanded_Box_Shadow);border-radius:var(--fdVerticalNav_Item_Expanded_Border_Radius);box-shadow:var(--fdVerticalNav_Item_Expanded_Box_Shadow);height:100%;overflow:hidden;padding-left:var(--fdVerticalNav_Item_Expanded_Padding_Left)}.fd-vertical-nav .fd-list__navigation-item.is-expanded,.fd-vertical-nav .fd-list__navigation-item.is-expanded[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item.is-expanded{margin-left:var(--fdVerticalNav_Item_Expanded_Margin);margin-right:var(--fdVerticalNav_Item_Expanded_Margin)}.fd-vertical-nav .fd-list__navigation-item.is-expanded[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item.is-expanded{padding-left:0;padding-right:var(--fdVerticalNav_Item_Expanded_Padding_Left)}.fd-vertical-nav .fd-list__navigation-item.is-expanded.is-hover .fd-list,.fd-vertical-nav .fd-list__navigation-item.is-expanded:hover .fd-list{background-color:var(--sapList_AlternatingBackground)}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item{border-bottom:none;width:100%}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item.fd-list__navigation-item--indicated,.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item.fd-list__navigation-item--indicated .fd-list__navigation-item-arrow,.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item.fd-list__navigation-item--indicated .fd-list__navigation-item-icon,.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item.fd-list__navigation-item--indicated .fd-list__navigation-item-text{color:var(--sapSelectedColor)}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item .fd-list__navigation-item-indicator:after{margin-right:0}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item .fd-list__navigation-item-indicator:after[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item .fd-list__navigation-item-indicator:after{margin-left:0;margin-right:0}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item .fd-list__navigation-item-text{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--fdVerticalNav_Item_Child_Text_Color);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);line-height:2.75rem;margin:0;margin-left:var(--fdVerticalNav_Item_Text_No_Icon_Margin);padding:0}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item .fd-list__navigation-item-text:after,.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item .fd-list__navigation-item-text:before{box-sizing:inherit;font-size:inherit}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item .fd-list__navigation-item-text[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item .fd-list__navigation-item-text{margin-left:0;margin-right:var(--fdVerticalNav_Item_Text_No_Icon_Margin)}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item-text{padding-left:0}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item-text[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item-text{padding-left:0;padding-right:0}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item-icon{padding-right:.5rem}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item-icon[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item-icon{padding-left:.5rem;padding-right:0}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list{display:block;margin-left:var(--fdVerticalNav_Expanded_Item_Margin_Left);margin-right:-1rem;width:auto}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list{margin-left:0;margin-right:var(--fdVerticalNav_Expanded_Item_Margin_Left)}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item-indicator:after{margin-right:0}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item-indicator:after[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item-indicator:after{margin-left:0;margin-right:0}.fd-vertical-nav .fd-list__navigation-item.is-expanded>.fd-list__navigation-item-indicator:after{display:none}.fd-vertical-nav .fd-list__navigation-item .fd-list__navigation-item--indicated .fd-list__navigation-item-text{color:var(--sapSelectedColor)}.fd-vertical-nav .fd-list__navigation-item--condensed{padding-left:0;padding-right:0;position:relative;width:3.25rem}.fd-vertical-nav .fd-list__navigation-item--condensed[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item--condensed{padding-left:0;padding-right:0}.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-popover--first-level,.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-popover--second-level{background:var(--sapList_AlternatingBackground);display:none}.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-text{display:none}.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-icon{height:2.75rem;line-height:2.75rem;margin-left:.5rem;margin-right:.5rem}.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-icon[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-icon{margin-left:.5rem;margin-right:.5rem}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded{height:2.75rem;margin-left:0;margin-right:0;overflow:visible;visibility:hidden}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item,.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item[dir=rtl],.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded,[dir=rtl] .fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item{margin-left:0;margin-right:0}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item--condensed .fd-list__navigation-item-icon{margin-left:0;padding-left:.875rem}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item--condensed .fd-list__navigation-item-icon[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item--condensed .fd-list__navigation-item-icon{margin-left:.5rem;margin-right:0;padding-right:.875rem}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--first-level,.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level{display:block;overflow:hidden}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--first-level .fd-list,.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level .fd-list{border-top-left-radius:0;border-top-right-radius:0;display:inline-block;margin:0 auto;width:100%}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--first-level .fd-list__navigation-item-text,.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level .fd-list__navigation-item-text{margin-left:0;padding-left:0}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--first-level .fd-list__navigation-item-text[dir=rtl],.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level .fd-list__navigation-item-text[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--first-level .fd-list__navigation-item-text,[dir=rtl] .fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level .fd-list__navigation-item-text{margin-left:0;margin-right:0;padding-left:0;padding-right:0}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--first-level{border-bottom-right-radius:0;height:100%;left:.325rem;top:0;width:14.325rem;z-index:3}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--first-level[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--first-level{border-bottom-left-radius:0;border-bottom-right-radius:var(--sapElement_BorderCornerRadius);left:unset;right:.325rem}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level{border-top-left-radius:0;border-top-right-radius:0;left:3.25rem;width:11.4rem}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level{left:auto;right:3.25rem}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level .fd-list__navigation-item .fd-list__navigation-item-text{margin-left:1rem}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level .fd-list__navigation-item .fd-list__navigation-item-text[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level .fd-list__navigation-item .fd-list__navigation-item-text{margin-left:0;margin-right:1rem}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level .fd-list__navigation-item .fd-list__navigation-item-indicator:after{display:inline-block;margin-right:0}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level .fd-list__navigation-item .fd-list__navigation-item-indicator:after[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level .fd-list__navigation-item .fd-list__navigation-item-indicator:after{margin-left:0;margin-right:0}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-text{display:inline}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-arrow,.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-indicator:after{display:none}.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-arrow{width:100%}.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-arrow.is-focus,.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-arrow:focus{z-index:5}.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-arrow.is-focus:after,.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-arrow:focus:after{border-radius:0}.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-arrow:before{border-color:transparent var(--sapContent_NonInteractiveIconColor) transparent transparent;border-style:solid;border-width:.25rem .25rem 0 0;bottom:0;content:\"\";display:inline-block;margin-bottom:.5625rem;margin-right:.75rem;min-height:0;min-width:0;position:absolute;right:0}.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-arrow:before[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-arrow:before{left:0;margin-left:.75rem;margin-right:0;right:unset}.fd-vertical-nav .fd-list__navigation-item-icon{color:var(--fdVerticalNav_Icon_Color);font-family:SAP-icons;font-size:1rem;height:2.75rem;line-height:2.75rem;text-align:center;vertical-align:top;width:2.25rem}.fd-vertical-nav .fd-list__navigation-item-text{color:var(--sapList_TextColor);display:inline-block;font-family:var(--sapFontFamily);font-size:var(--sapFontLargeSize);line-height:2.75rem;max-width:9rem;overflow:hidden;padding-left:.25rem;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.fd-vertical-nav .fd-list__navigation-item-text[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item-text{padding-left:0;padding-right:.25rem}.fd-vertical-nav .fd-list__navigation-item-arrow{-webkit-box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;appearance:none;background-color:transparent;background-image:none;border:0;border-radius:var(--sapButton_BorderCornerRadius);box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_NonInteractiveIconColor);cursor:pointer;display:inline-block;font-family:var(--sapFontFamily);font-family:SAP-icons;font-size:var(--sapFontSize);font-size:1rem;font-weight:400;height:2.75rem;line-height:var(--sapContent_LineHeight);line-height:2.75rem;margin:0;outline:0;padding:0;position:absolute;right:0;text-decoration:none;user-select:none;vertical-align:middle;white-space:nowrap;width:2.75rem}.fd-vertical-nav .fd-list__navigation-item-arrow:after,.fd-vertical-nav .fd-list__navigation-item-arrow:before{box-sizing:inherit;font-size:inherit}.fd-vertical-nav .fd-list__navigation-item-arrow::-moz-focus-inner{border:0}.fd-vertical-nav .fd-list__navigation-item-arrow[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item-arrow{-webkit-transform:scaleX(-1);left:0;right:auto;transform:scaleX(-1)}.fd-vertical-nav .fd-list__navigation-item-arrow.is-focus,.fd-vertical-nav .fd-list__navigation-item-arrow:focus{outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);outline-offset:var(--fdVerticalNav_Item_Indicated_Outline_Offset);z-index:5}.fd-vertical-nav .fd-list__navigation-item--condensed.is-hover,.fd-vertical-nav .fd-list__navigation-item--condensed:hover,.fd-vertical-nav .fd-list__navigation-item.is-hover,.fd-vertical-nav .fd-list__navigation-item:hover{background:var(--sapList_Hover_Background)}.fd-vertical-nav .fd-list__navigation-item--condensed.is-pressed,.fd-vertical-nav .fd-list__navigation-item--condensed[aria-pressed=true],.fd-vertical-nav .fd-list__navigation-item.is-pressed,.fd-vertical-nav .fd-list__navigation-item[aria-pressed=true]{background:var(--sapList_Active_Background);color:var(--sapContent_ContrastTextColor)}.fd-vertical-nav .fd-list__navigation-item--condensed.is-pressed .fd-list__navigation-item-arrow,.fd-vertical-nav .fd-list__navigation-item--condensed.is-pressed .fd-list__navigation-item-icon,.fd-vertical-nav .fd-list__navigation-item--condensed[aria-pressed=true] .fd-list__navigation-item-arrow,.fd-vertical-nav .fd-list__navigation-item--condensed[aria-pressed=true] .fd-list__navigation-item-icon,.fd-vertical-nav .fd-list__navigation-item.is-pressed .fd-list__navigation-item-arrow,.fd-vertical-nav .fd-list__navigation-item.is-pressed .fd-list__navigation-item-icon,.fd-vertical-nav .fd-list__navigation-item[aria-pressed=true] .fd-list__navigation-item-arrow,.fd-vertical-nav .fd-list__navigation-item[aria-pressed=true] .fd-list__navigation-item-icon{color:var(--sapContent_ContrastIconColor)}.fd-vertical-nav .fd-list__navigation-item--condensed:not(:last-child),.fd-vertical-nav .fd-list__navigation-item:not(:last-child){border-bottom:var(--fdVerticalNav_Item_Border_Top_Bottom)}.fd-vertical-nav .fd-list__navigation-item-icon+.fd-list__navigation-item-text+.fd-list__navigation-item-arrow+.fd-list .fd-list__navigation-item-text{margin-left:var(--fdVerticalNav_Item_Text_Spacing)}.fd-vertical-nav .fd-list__navigation-item-icon+.fd-list__navigation-item-text+.fd-list__navigation-item-arrow+.fd-list .fd-list__navigation-item-text[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item-icon+.fd-list__navigation-item-text+.fd-list__navigation-item-arrow+.fd-list .fd-list__navigation-item-text{margin-left:0;margin-right:var(--fdVerticalNav_Item_Text_Spacing)}.fd-vertical-nav--overflow{overflow-y:scroll}.fd-vertical-nav--condensed{width:3.25rem}.fd-vertical-nav--condensed .fd-vertical-nav__utility-section .fd-list__navigation-item-text{display:none}.fd-vertical-nav--condensed .fd-vertical-nav__utility-section:before{width:calc(100% - 1rem)}.fd-vertical-nav__main-navigation .fd-list__navigation-item--condensed:first-child,.fd-vertical-nav__main-navigation .fd-list__navigation-item:first-child{border-top:var(--fdVerticalNav_Item_Border_Top_Bottom)}.fd-vertical-nav__main-navigation,.fd-vertical-nav__utility-section{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-vertical-nav__main-navigation:after,.fd-vertical-nav__main-navigation:before,.fd-vertical-nav__utility-section:after,.fd-vertical-nav__utility-section:before{box-sizing:inherit;font-size:inherit}.fd-vertical-nav__utility-section{margin-top:auto}.fd-vertical-nav__utility-section:before{background-color:var(--sapAccentColor6);content:\" \";display:block;height:.0625rem;margin:.25rem auto;width:calc(100% - 2rem)}.fd-vertical-nav .fd-vertical-nav__group-header{background:var(--sapList_AlternatingBackground)}\n"], dependencies: [{ kind: "component", type: i1.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline"], outputs: ["focusEscapeList"] }, { kind: "component", type: i2.VerticalNavigationMainNavigationComponent, selector: "fd-vertical-navigation-main-navigation" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
72
+ VerticalNavigationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: VerticalNavigationComponent, selector: "fd-vertical-navigation", inputs: { condensed: "condensed" }, host: { listeners: { "keydown": "keyDownHandler($event)" } }, queries: [{ propertyName: "_navigationItems", predicate: ListNavigationItemComponent, descendants: true }, { propertyName: "_mainNavigationItems", predicate: ListNavigationItemComponent }], ngImport: i0, template: "<div class=\"fd-vertical-nav\" [class.fd-vertical-nav--condensed]=\"condensed\">\n <fd-vertical-navigation-main-navigation>\n <ul fd-list>\n <ng-content></ng-content>\n </ul>\n </fd-vertical-navigation-main-navigation>\n</div>\n", styles: ["/*!\n * Fundamental Library Styles v0.25.0-rc.23\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-vertical-nav{-webkit-box-sizing:border-box;-webkit-box-pack:justify;-ms-flex-pack:justify;-webkit-box-shadow:var(--sapContent_Shadow0);background-color:var(--sapList_AlternatingBackground);border:0;box-shadow:var(--sapContent_Shadow0);box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;height:100%;justify-content:space-between;line-height:var(--sapContent_LineHeight);margin:0;padding:0;text-shadow:var(--fdVerticalNav_Text_Shadow);width:15rem}.fd-vertical-nav:after,.fd-vertical-nav:before{box-sizing:inherit;font-size:inherit}.fd-vertical-nav .fd-list .fd-list__navigation-item-indicator{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-vertical-nav .fd-list .fd-list__navigation-item-indicator:after,.fd-vertical-nav .fd-list .fd-list__navigation-item-indicator:before{box-sizing:inherit;font-size:inherit}.fd-vertical-nav .fd-list .fd-list__navigation-item-indicator:after{background-color:var(--sapSelectedColor);border-radius:var(--sapField_BorderCornerRadius);color:var(--sapSelectedColor);content:\"\";display:inline-block;height:var(--fdVerticalNav_Item_Indicator_Height);margin-right:var(--fdVerticalNavigation_Indicator_Spacing);position:absolute;right:0;top:var(--fdVerticalNav_Item_Indicator_Top);width:.1875rem}.fd-vertical-nav .fd-list .fd-list__navigation-item-indicator[dir=rtl]:after,[dir=rtl] .fd-vertical-nav .fd-list .fd-list__navigation-item-indicator:after{left:0;margin-left:var(--fdVerticalNavigation_Indicator_Spacing);margin-right:0;right:unset}.fd-vertical-nav .fd-list__navigation-item{-webkit-box-sizing:border-box;background:transparent;border:0;box-sizing:border-box;color:var(--sapTextColor);cursor:pointer;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;height:2.75rem;line-height:var(--sapContent_LineHeight);margin:0;padding:0 1rem 0 .5rem;position:relative}.fd-vertical-nav .fd-list__navigation-item:after,.fd-vertical-nav .fd-list__navigation-item:before{box-sizing:inherit;font-size:inherit}.fd-vertical-nav .fd-list__navigation-item.is-focus,.fd-vertical-nav .fd-list__navigation-item:focus{outline-color:var(--sapContent_FocusColor);outline-offset:-.1875rem;outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-vertical-nav .fd-list__navigation-item[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item{padding-left:1rem;padding-right:.5rem}.fd-vertical-nav .fd-list__navigation-item.fd-list__navigation-item--indicated,.fd-vertical-nav .fd-list__navigation-item.fd-list__navigation-item--indicated .fd-list__navigation-item-arrow,.fd-vertical-nav .fd-list__navigation-item.fd-list__navigation-item--indicated .fd-list__navigation-item-icon,.fd-vertical-nav .fd-list__navigation-item.fd-list__navigation-item--indicated .fd-list__navigation-item-text{color:var(--sapSelectedColor)}.fd-vertical-nav .fd-list__navigation-item.is-focus,.fd-vertical-nav .fd-list__navigation-item:focus{outline-offset:var(--fdVerticalNav_Item_Focus_Outline_Offset);z-index:5}.fd-vertical-nav .fd-list__navigation-item.fd-list__navigation-item--indicated.is-focus,.fd-vertical-nav .fd-list__navigation-item.fd-list__navigation-item--indicated:focus{outline-offset:var(--fdVerticalNav_Item_Indicated_Outline_Offset);z-index:5}.fd-vertical-nav .fd-list__navigation-item .fd-list{display:none}.fd-vertical-nav .fd-list__navigation-item--expandable{margin:var(--fdVerticalNav_Item_Expandable_Margin)}.fd-vertical-nav .fd-list__navigation-item.is-expanded{-webkit-box-shadow:var(--fdVerticalNav_Item_Expanded_Box_Shadow);border-radius:var(--fdVerticalNav_Item_Expanded_Border_Radius);box-shadow:var(--fdVerticalNav_Item_Expanded_Box_Shadow);height:100%;overflow:hidden;padding-left:var(--fdVerticalNav_Item_Expanded_Padding_Left)}.fd-vertical-nav .fd-list__navigation-item.is-expanded,.fd-vertical-nav .fd-list__navigation-item.is-expanded[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item.is-expanded{margin-left:var(--fdVerticalNav_Item_Expanded_Margin);margin-right:var(--fdVerticalNav_Item_Expanded_Margin)}.fd-vertical-nav .fd-list__navigation-item.is-expanded[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item.is-expanded{padding-left:0;padding-right:var(--fdVerticalNav_Item_Expanded_Padding_Left)}.fd-vertical-nav .fd-list__navigation-item.is-expanded.is-hover .fd-list,.fd-vertical-nav .fd-list__navigation-item.is-expanded:hover .fd-list{background-color:var(--sapList_AlternatingBackground)}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item{border-bottom:none;width:100%}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item.fd-list__navigation-item--indicated,.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item.fd-list__navigation-item--indicated .fd-list__navigation-item-arrow,.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item.fd-list__navigation-item--indicated .fd-list__navigation-item-icon,.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item.fd-list__navigation-item--indicated .fd-list__navigation-item-text{color:var(--sapSelectedColor)}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item .fd-list__navigation-item-indicator:after{margin-right:0}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item .fd-list__navigation-item-indicator:after[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item .fd-list__navigation-item-indicator:after{margin-left:0;margin-right:0}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item .fd-list__navigation-item-text{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--fdVerticalNav_Item_Child_Text_Color);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);line-height:2.75rem;margin:0;margin-left:var(--fdVerticalNav_Item_Text_No_Icon_Margin);padding:0}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item .fd-list__navigation-item-text:after,.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item .fd-list__navigation-item-text:before{box-sizing:inherit;font-size:inherit}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item .fd-list__navigation-item-text[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item .fd-list__navigation-item-text{margin-left:0;margin-right:var(--fdVerticalNav_Item_Text_No_Icon_Margin)}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item-text{padding-left:0}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item-text[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item-text{padding-left:0;padding-right:0}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item-icon{padding-right:.5rem}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item-icon[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item-icon{padding-left:.5rem;padding-right:0}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list{display:block;margin-left:var(--fdVerticalNav_Expanded_Item_Margin_Left);margin-right:-1rem;width:auto}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list{margin-left:0;margin-right:var(--fdVerticalNav_Expanded_Item_Margin_Left)}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item-indicator:after{margin-right:0}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item-indicator:after[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item-indicator:after{margin-left:0;margin-right:0}.fd-vertical-nav .fd-list__navigation-item.is-expanded>.fd-list__navigation-item-indicator:after{display:none}.fd-vertical-nav .fd-list__navigation-item .fd-list__navigation-item--indicated .fd-list__navigation-item-text{color:var(--sapSelectedColor)}.fd-vertical-nav .fd-list__navigation-item--condensed{padding-left:0;padding-right:0;position:relative;width:3.25rem}.fd-vertical-nav .fd-list__navigation-item--condensed[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item--condensed{padding-left:0;padding-right:0}.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-popover--first-level,.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-popover--second-level{background:var(--sapList_AlternatingBackground);display:none}.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-text{display:none}.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-icon{height:2.75rem;line-height:2.75rem;margin-left:.5rem;margin-right:.5rem}.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-icon[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-icon{margin-left:.5rem;margin-right:.5rem}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded{height:2.75rem;margin-left:0;margin-right:0;overflow:visible;visibility:hidden}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item,.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item[dir=rtl],.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded,[dir=rtl] .fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item{margin-left:0;margin-right:0}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item--condensed .fd-list__navigation-item-icon{margin-left:0;padding-left:.875rem}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item--condensed .fd-list__navigation-item-icon[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item--condensed .fd-list__navigation-item-icon{margin-left:.5rem;margin-right:0;padding-right:.875rem}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--first-level,.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level{display:block;overflow:hidden}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--first-level .fd-list,.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level .fd-list{border-top-left-radius:0;border-top-right-radius:0;display:inline-block;margin:0 auto;width:100%}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--first-level .fd-list__navigation-item-text,.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level .fd-list__navigation-item-text{margin-left:0;padding-left:0}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--first-level .fd-list__navigation-item-text[dir=rtl],.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level .fd-list__navigation-item-text[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--first-level .fd-list__navigation-item-text,[dir=rtl] .fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level .fd-list__navigation-item-text{margin-left:0;margin-right:0;padding-left:0;padding-right:0}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--first-level{border-bottom-right-radius:0;height:100%;left:.325rem;top:0;width:14.325rem;z-index:3}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--first-level[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--first-level{border-bottom-left-radius:0;border-bottom-right-radius:var(--sapElement_BorderCornerRadius);left:unset;right:.325rem}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level{border-top-left-radius:0;border-top-right-radius:0;left:3.25rem;width:11.4rem}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level{left:auto;right:3.25rem}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level .fd-list__navigation-item .fd-list__navigation-item-text{margin-left:1rem}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level .fd-list__navigation-item .fd-list__navigation-item-text[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level .fd-list__navigation-item .fd-list__navigation-item-text{margin-left:0;margin-right:1rem}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level .fd-list__navigation-item .fd-list__navigation-item-indicator:after{display:inline-block;margin-right:0}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level .fd-list__navigation-item .fd-list__navigation-item-indicator:after[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level .fd-list__navigation-item .fd-list__navigation-item-indicator:after{margin-left:0;margin-right:0}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-text{display:inline}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-arrow,.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-indicator:after{display:none}.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-arrow{width:100%}.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-arrow.is-focus,.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-arrow:focus{z-index:5}.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-arrow.is-focus:after,.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-arrow:focus:after{border-radius:0}.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-arrow:before{border-color:transparent var(--sapContent_NonInteractiveIconColor) transparent transparent;border-style:solid;border-width:.25rem .25rem 0 0;bottom:0;content:\"\";display:inline-block;margin-bottom:.5625rem;margin-right:.75rem;min-height:0;min-width:0;position:absolute;right:0}.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-arrow:before[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-arrow:before{left:0;margin-left:.75rem;margin-right:0;right:unset}.fd-vertical-nav .fd-list__navigation-item-icon{color:var(--fdVerticalNav_Icon_Color);font-family:SAP-icons;font-size:1rem;height:2.75rem;line-height:2.75rem;text-align:center;vertical-align:top;width:2.25rem}.fd-vertical-nav .fd-list__navigation-item-text{color:var(--sapList_TextColor);display:inline-block;font-family:var(--sapFontFamily);font-size:var(--sapFontLargeSize);line-height:2.75rem;max-width:9rem;overflow:hidden;padding-left:.25rem;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.fd-vertical-nav .fd-list__navigation-item-text[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item-text{padding-left:0;padding-right:.25rem}.fd-vertical-nav .fd-list__navigation-item-arrow{-webkit-box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;appearance:none;background-color:transparent;background-image:none;border:0;border-radius:var(--sapButton_BorderCornerRadius);box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_NonInteractiveIconColor);cursor:pointer;display:inline-block;font-family:var(--sapFontFamily);font-family:SAP-icons;font-size:var(--sapFontSize);font-size:1rem;font-weight:400;height:2.75rem;line-height:var(--sapContent_LineHeight);line-height:2.75rem;margin:0;outline:0;padding:0;position:absolute;right:0;text-decoration:none;user-select:none;vertical-align:middle;white-space:nowrap;width:2.75rem}.fd-vertical-nav .fd-list__navigation-item-arrow:after,.fd-vertical-nav .fd-list__navigation-item-arrow:before{box-sizing:inherit;font-size:inherit}.fd-vertical-nav .fd-list__navigation-item-arrow::-moz-focus-inner{border:0}.fd-vertical-nav .fd-list__navigation-item-arrow[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item-arrow{-webkit-transform:scaleX(-1);left:0;right:auto;transform:scaleX(-1)}.fd-vertical-nav .fd-list__navigation-item-arrow.is-focus,.fd-vertical-nav .fd-list__navigation-item-arrow:focus{outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);outline-offset:var(--fdVerticalNav_Item_Indicated_Outline_Offset);z-index:5}.fd-vertical-nav .fd-list__navigation-item--condensed.is-hover,.fd-vertical-nav .fd-list__navigation-item--condensed:hover,.fd-vertical-nav .fd-list__navigation-item.is-hover,.fd-vertical-nav .fd-list__navigation-item:hover{background:var(--sapList_Hover_Background)}.fd-vertical-nav .fd-list__navigation-item--condensed.is-pressed,.fd-vertical-nav .fd-list__navigation-item--condensed[aria-pressed=true],.fd-vertical-nav .fd-list__navigation-item.is-pressed,.fd-vertical-nav .fd-list__navigation-item[aria-pressed=true]{background:var(--sapList_Active_Background);color:var(--sapContent_ContrastTextColor)}.fd-vertical-nav .fd-list__navigation-item--condensed.is-pressed .fd-list__navigation-item-arrow,.fd-vertical-nav .fd-list__navigation-item--condensed.is-pressed .fd-list__navigation-item-icon,.fd-vertical-nav .fd-list__navigation-item--condensed[aria-pressed=true] .fd-list__navigation-item-arrow,.fd-vertical-nav .fd-list__navigation-item--condensed[aria-pressed=true] .fd-list__navigation-item-icon,.fd-vertical-nav .fd-list__navigation-item.is-pressed .fd-list__navigation-item-arrow,.fd-vertical-nav .fd-list__navigation-item.is-pressed .fd-list__navigation-item-icon,.fd-vertical-nav .fd-list__navigation-item[aria-pressed=true] .fd-list__navigation-item-arrow,.fd-vertical-nav .fd-list__navigation-item[aria-pressed=true] .fd-list__navigation-item-icon{color:var(--sapContent_ContrastIconColor)}.fd-vertical-nav .fd-list__navigation-item--condensed:not(:last-child),.fd-vertical-nav .fd-list__navigation-item:not(:last-child){border-bottom:var(--fdVerticalNav_Item_Border_Top_Bottom)}.fd-vertical-nav .fd-list__navigation-item-icon+.fd-list__navigation-item-text+.fd-list__navigation-item-arrow+.fd-list .fd-list__navigation-item-text{margin-left:var(--fdVerticalNav_Item_Text_Spacing)}.fd-vertical-nav .fd-list__navigation-item-icon+.fd-list__navigation-item-text+.fd-list__navigation-item-arrow+.fd-list .fd-list__navigation-item-text[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item-icon+.fd-list__navigation-item-text+.fd-list__navigation-item-arrow+.fd-list .fd-list__navigation-item-text{margin-left:0;margin-right:var(--fdVerticalNav_Item_Text_Spacing)}.fd-vertical-nav--overflow{overflow-y:scroll}.fd-vertical-nav--condensed{width:3.25rem}.fd-vertical-nav--condensed .fd-vertical-nav__utility-section .fd-list__navigation-item-text{display:none}.fd-vertical-nav--condensed .fd-vertical-nav__utility-section:before{width:calc(100% - 1rem)}.fd-vertical-nav__main-navigation .fd-list__navigation-item--condensed:first-child,.fd-vertical-nav__main-navigation .fd-list__navigation-item:first-child{border-top:var(--fdVerticalNav_Item_Border_Top_Bottom)}.fd-vertical-nav__main-navigation,.fd-vertical-nav__utility-section{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-vertical-nav__main-navigation:after,.fd-vertical-nav__main-navigation:before,.fd-vertical-nav__utility-section:after,.fd-vertical-nav__utility-section:before{box-sizing:inherit;font-size:inherit}.fd-vertical-nav__utility-section{margin-top:auto}.fd-vertical-nav__utility-section:before{background-color:var(--sapAccentColor6);content:\" \";display:block;height:.0625rem;margin:.25rem auto;width:calc(100% - 2rem)}.fd-vertical-nav .fd-vertical-nav__group-header{background:var(--sapList_AlternatingBackground)}\n"], dependencies: [{ kind: "component", type: i1.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline"], outputs: ["focusEscapeList"] }, { kind: "component", type: i2.VerticalNavigationMainNavigationComponent, selector: "fd-vertical-navigation-main-navigation" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
22
73
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: VerticalNavigationComponent, decorators: [{
23
74
  type: Component,
24
75
  args: [{ selector: 'fd-vertical-navigation', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"fd-vertical-nav\" [class.fd-vertical-nav--condensed]=\"condensed\">\n <fd-vertical-navigation-main-navigation>\n <ul fd-list>\n <ng-content></ng-content>\n </ul>\n </fd-vertical-navigation-main-navigation>\n</div>\n", styles: ["/*!\n * Fundamental Library Styles v0.25.0-rc.23\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-vertical-nav{-webkit-box-sizing:border-box;-webkit-box-pack:justify;-ms-flex-pack:justify;-webkit-box-shadow:var(--sapContent_Shadow0);background-color:var(--sapList_AlternatingBackground);border:0;box-shadow:var(--sapContent_Shadow0);box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;height:100%;justify-content:space-between;line-height:var(--sapContent_LineHeight);margin:0;padding:0;text-shadow:var(--fdVerticalNav_Text_Shadow);width:15rem}.fd-vertical-nav:after,.fd-vertical-nav:before{box-sizing:inherit;font-size:inherit}.fd-vertical-nav .fd-list .fd-list__navigation-item-indicator{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-vertical-nav .fd-list .fd-list__navigation-item-indicator:after,.fd-vertical-nav .fd-list .fd-list__navigation-item-indicator:before{box-sizing:inherit;font-size:inherit}.fd-vertical-nav .fd-list .fd-list__navigation-item-indicator:after{background-color:var(--sapSelectedColor);border-radius:var(--sapField_BorderCornerRadius);color:var(--sapSelectedColor);content:\"\";display:inline-block;height:var(--fdVerticalNav_Item_Indicator_Height);margin-right:var(--fdVerticalNavigation_Indicator_Spacing);position:absolute;right:0;top:var(--fdVerticalNav_Item_Indicator_Top);width:.1875rem}.fd-vertical-nav .fd-list .fd-list__navigation-item-indicator[dir=rtl]:after,[dir=rtl] .fd-vertical-nav .fd-list .fd-list__navigation-item-indicator:after{left:0;margin-left:var(--fdVerticalNavigation_Indicator_Spacing);margin-right:0;right:unset}.fd-vertical-nav .fd-list__navigation-item{-webkit-box-sizing:border-box;background:transparent;border:0;box-sizing:border-box;color:var(--sapTextColor);cursor:pointer;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;height:2.75rem;line-height:var(--sapContent_LineHeight);margin:0;padding:0 1rem 0 .5rem;position:relative}.fd-vertical-nav .fd-list__navigation-item:after,.fd-vertical-nav .fd-list__navigation-item:before{box-sizing:inherit;font-size:inherit}.fd-vertical-nav .fd-list__navigation-item.is-focus,.fd-vertical-nav .fd-list__navigation-item:focus{outline-color:var(--sapContent_FocusColor);outline-offset:-.1875rem;outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-vertical-nav .fd-list__navigation-item[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item{padding-left:1rem;padding-right:.5rem}.fd-vertical-nav .fd-list__navigation-item.fd-list__navigation-item--indicated,.fd-vertical-nav .fd-list__navigation-item.fd-list__navigation-item--indicated .fd-list__navigation-item-arrow,.fd-vertical-nav .fd-list__navigation-item.fd-list__navigation-item--indicated .fd-list__navigation-item-icon,.fd-vertical-nav .fd-list__navigation-item.fd-list__navigation-item--indicated .fd-list__navigation-item-text{color:var(--sapSelectedColor)}.fd-vertical-nav .fd-list__navigation-item.is-focus,.fd-vertical-nav .fd-list__navigation-item:focus{outline-offset:var(--fdVerticalNav_Item_Focus_Outline_Offset);z-index:5}.fd-vertical-nav .fd-list__navigation-item.fd-list__navigation-item--indicated.is-focus,.fd-vertical-nav .fd-list__navigation-item.fd-list__navigation-item--indicated:focus{outline-offset:var(--fdVerticalNav_Item_Indicated_Outline_Offset);z-index:5}.fd-vertical-nav .fd-list__navigation-item .fd-list{display:none}.fd-vertical-nav .fd-list__navigation-item--expandable{margin:var(--fdVerticalNav_Item_Expandable_Margin)}.fd-vertical-nav .fd-list__navigation-item.is-expanded{-webkit-box-shadow:var(--fdVerticalNav_Item_Expanded_Box_Shadow);border-radius:var(--fdVerticalNav_Item_Expanded_Border_Radius);box-shadow:var(--fdVerticalNav_Item_Expanded_Box_Shadow);height:100%;overflow:hidden;padding-left:var(--fdVerticalNav_Item_Expanded_Padding_Left)}.fd-vertical-nav .fd-list__navigation-item.is-expanded,.fd-vertical-nav .fd-list__navigation-item.is-expanded[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item.is-expanded{margin-left:var(--fdVerticalNav_Item_Expanded_Margin);margin-right:var(--fdVerticalNav_Item_Expanded_Margin)}.fd-vertical-nav .fd-list__navigation-item.is-expanded[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item.is-expanded{padding-left:0;padding-right:var(--fdVerticalNav_Item_Expanded_Padding_Left)}.fd-vertical-nav .fd-list__navigation-item.is-expanded.is-hover .fd-list,.fd-vertical-nav .fd-list__navigation-item.is-expanded:hover .fd-list{background-color:var(--sapList_AlternatingBackground)}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item{border-bottom:none;width:100%}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item.fd-list__navigation-item--indicated,.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item.fd-list__navigation-item--indicated .fd-list__navigation-item-arrow,.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item.fd-list__navigation-item--indicated .fd-list__navigation-item-icon,.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item.fd-list__navigation-item--indicated .fd-list__navigation-item-text{color:var(--sapSelectedColor)}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item .fd-list__navigation-item-indicator:after{margin-right:0}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item .fd-list__navigation-item-indicator:after[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item .fd-list__navigation-item-indicator:after{margin-left:0;margin-right:0}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item .fd-list__navigation-item-text{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--fdVerticalNav_Item_Child_Text_Color);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);line-height:2.75rem;margin:0;margin-left:var(--fdVerticalNav_Item_Text_No_Icon_Margin);padding:0}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item .fd-list__navigation-item-text:after,.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item .fd-list__navigation-item-text:before{box-sizing:inherit;font-size:inherit}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item .fd-list__navigation-item-text[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item .fd-list__navigation-item-text{margin-left:0;margin-right:var(--fdVerticalNav_Item_Text_No_Icon_Margin)}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item-text{padding-left:0}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item-text[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item-text{padding-left:0;padding-right:0}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item-icon{padding-right:.5rem}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item-icon[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item-icon{padding-left:.5rem;padding-right:0}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list{display:block;margin-left:var(--fdVerticalNav_Expanded_Item_Margin_Left);margin-right:-1rem;width:auto}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list{margin-left:0;margin-right:var(--fdVerticalNav_Expanded_Item_Margin_Left)}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item-indicator:after{margin-right:0}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item-indicator:after[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item-indicator:after{margin-left:0;margin-right:0}.fd-vertical-nav .fd-list__navigation-item.is-expanded>.fd-list__navigation-item-indicator:after{display:none}.fd-vertical-nav .fd-list__navigation-item .fd-list__navigation-item--indicated .fd-list__navigation-item-text{color:var(--sapSelectedColor)}.fd-vertical-nav .fd-list__navigation-item--condensed{padding-left:0;padding-right:0;position:relative;width:3.25rem}.fd-vertical-nav .fd-list__navigation-item--condensed[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item--condensed{padding-left:0;padding-right:0}.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-popover--first-level,.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-popover--second-level{background:var(--sapList_AlternatingBackground);display:none}.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-text{display:none}.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-icon{height:2.75rem;line-height:2.75rem;margin-left:.5rem;margin-right:.5rem}.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-icon[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-icon{margin-left:.5rem;margin-right:.5rem}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded{height:2.75rem;margin-left:0;margin-right:0;overflow:visible;visibility:hidden}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item,.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item[dir=rtl],.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded,[dir=rtl] .fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item{margin-left:0;margin-right:0}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item--condensed .fd-list__navigation-item-icon{margin-left:0;padding-left:.875rem}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item--condensed .fd-list__navigation-item-icon[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item--condensed .fd-list__navigation-item-icon{margin-left:.5rem;margin-right:0;padding-right:.875rem}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--first-level,.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level{display:block;overflow:hidden}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--first-level .fd-list,.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level .fd-list{border-top-left-radius:0;border-top-right-radius:0;display:inline-block;margin:0 auto;width:100%}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--first-level .fd-list__navigation-item-text,.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level .fd-list__navigation-item-text{margin-left:0;padding-left:0}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--first-level .fd-list__navigation-item-text[dir=rtl],.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level .fd-list__navigation-item-text[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--first-level .fd-list__navigation-item-text,[dir=rtl] .fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level .fd-list__navigation-item-text{margin-left:0;margin-right:0;padding-left:0;padding-right:0}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--first-level{border-bottom-right-radius:0;height:100%;left:.325rem;top:0;width:14.325rem;z-index:3}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--first-level[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--first-level{border-bottom-left-radius:0;border-bottom-right-radius:var(--sapElement_BorderCornerRadius);left:unset;right:.325rem}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level{border-top-left-radius:0;border-top-right-radius:0;left:3.25rem;width:11.4rem}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level{left:auto;right:3.25rem}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level .fd-list__navigation-item .fd-list__navigation-item-text{margin-left:1rem}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level .fd-list__navigation-item .fd-list__navigation-item-text[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level .fd-list__navigation-item .fd-list__navigation-item-text{margin-left:0;margin-right:1rem}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level .fd-list__navigation-item .fd-list__navigation-item-indicator:after{display:inline-block;margin-right:0}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level .fd-list__navigation-item .fd-list__navigation-item-indicator:after[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level .fd-list__navigation-item .fd-list__navigation-item-indicator:after{margin-left:0;margin-right:0}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-text{display:inline}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-arrow,.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-indicator:after{display:none}.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-arrow{width:100%}.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-arrow.is-focus,.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-arrow:focus{z-index:5}.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-arrow.is-focus:after,.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-arrow:focus:after{border-radius:0}.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-arrow:before{border-color:transparent var(--sapContent_NonInteractiveIconColor) transparent transparent;border-style:solid;border-width:.25rem .25rem 0 0;bottom:0;content:\"\";display:inline-block;margin-bottom:.5625rem;margin-right:.75rem;min-height:0;min-width:0;position:absolute;right:0}.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-arrow:before[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-arrow:before{left:0;margin-left:.75rem;margin-right:0;right:unset}.fd-vertical-nav .fd-list__navigation-item-icon{color:var(--fdVerticalNav_Icon_Color);font-family:SAP-icons;font-size:1rem;height:2.75rem;line-height:2.75rem;text-align:center;vertical-align:top;width:2.25rem}.fd-vertical-nav .fd-list__navigation-item-text{color:var(--sapList_TextColor);display:inline-block;font-family:var(--sapFontFamily);font-size:var(--sapFontLargeSize);line-height:2.75rem;max-width:9rem;overflow:hidden;padding-left:.25rem;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.fd-vertical-nav .fd-list__navigation-item-text[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item-text{padding-left:0;padding-right:.25rem}.fd-vertical-nav .fd-list__navigation-item-arrow{-webkit-box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;appearance:none;background-color:transparent;background-image:none;border:0;border-radius:var(--sapButton_BorderCornerRadius);box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_NonInteractiveIconColor);cursor:pointer;display:inline-block;font-family:var(--sapFontFamily);font-family:SAP-icons;font-size:var(--sapFontSize);font-size:1rem;font-weight:400;height:2.75rem;line-height:var(--sapContent_LineHeight);line-height:2.75rem;margin:0;outline:0;padding:0;position:absolute;right:0;text-decoration:none;user-select:none;vertical-align:middle;white-space:nowrap;width:2.75rem}.fd-vertical-nav .fd-list__navigation-item-arrow:after,.fd-vertical-nav .fd-list__navigation-item-arrow:before{box-sizing:inherit;font-size:inherit}.fd-vertical-nav .fd-list__navigation-item-arrow::-moz-focus-inner{border:0}.fd-vertical-nav .fd-list__navigation-item-arrow[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item-arrow{-webkit-transform:scaleX(-1);left:0;right:auto;transform:scaleX(-1)}.fd-vertical-nav .fd-list__navigation-item-arrow.is-focus,.fd-vertical-nav .fd-list__navigation-item-arrow:focus{outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);outline-offset:var(--fdVerticalNav_Item_Indicated_Outline_Offset);z-index:5}.fd-vertical-nav .fd-list__navigation-item--condensed.is-hover,.fd-vertical-nav .fd-list__navigation-item--condensed:hover,.fd-vertical-nav .fd-list__navigation-item.is-hover,.fd-vertical-nav .fd-list__navigation-item:hover{background:var(--sapList_Hover_Background)}.fd-vertical-nav .fd-list__navigation-item--condensed.is-pressed,.fd-vertical-nav .fd-list__navigation-item--condensed[aria-pressed=true],.fd-vertical-nav .fd-list__navigation-item.is-pressed,.fd-vertical-nav .fd-list__navigation-item[aria-pressed=true]{background:var(--sapList_Active_Background);color:var(--sapContent_ContrastTextColor)}.fd-vertical-nav .fd-list__navigation-item--condensed.is-pressed .fd-list__navigation-item-arrow,.fd-vertical-nav .fd-list__navigation-item--condensed.is-pressed .fd-list__navigation-item-icon,.fd-vertical-nav .fd-list__navigation-item--condensed[aria-pressed=true] .fd-list__navigation-item-arrow,.fd-vertical-nav .fd-list__navigation-item--condensed[aria-pressed=true] .fd-list__navigation-item-icon,.fd-vertical-nav .fd-list__navigation-item.is-pressed .fd-list__navigation-item-arrow,.fd-vertical-nav .fd-list__navigation-item.is-pressed .fd-list__navigation-item-icon,.fd-vertical-nav .fd-list__navigation-item[aria-pressed=true] .fd-list__navigation-item-arrow,.fd-vertical-nav .fd-list__navigation-item[aria-pressed=true] .fd-list__navigation-item-icon{color:var(--sapContent_ContrastIconColor)}.fd-vertical-nav .fd-list__navigation-item--condensed:not(:last-child),.fd-vertical-nav .fd-list__navigation-item:not(:last-child){border-bottom:var(--fdVerticalNav_Item_Border_Top_Bottom)}.fd-vertical-nav .fd-list__navigation-item-icon+.fd-list__navigation-item-text+.fd-list__navigation-item-arrow+.fd-list .fd-list__navigation-item-text{margin-left:var(--fdVerticalNav_Item_Text_Spacing)}.fd-vertical-nav .fd-list__navigation-item-icon+.fd-list__navigation-item-text+.fd-list__navigation-item-arrow+.fd-list .fd-list__navigation-item-text[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item-icon+.fd-list__navigation-item-text+.fd-list__navigation-item-arrow+.fd-list .fd-list__navigation-item-text{margin-left:0;margin-right:var(--fdVerticalNav_Item_Text_Spacing)}.fd-vertical-nav--overflow{overflow-y:scroll}.fd-vertical-nav--condensed{width:3.25rem}.fd-vertical-nav--condensed .fd-vertical-nav__utility-section .fd-list__navigation-item-text{display:none}.fd-vertical-nav--condensed .fd-vertical-nav__utility-section:before{width:calc(100% - 1rem)}.fd-vertical-nav__main-navigation .fd-list__navigation-item--condensed:first-child,.fd-vertical-nav__main-navigation .fd-list__navigation-item:first-child{border-top:var(--fdVerticalNav_Item_Border_Top_Bottom)}.fd-vertical-nav__main-navigation,.fd-vertical-nav__utility-section{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-vertical-nav__main-navigation:after,.fd-vertical-nav__main-navigation:before,.fd-vertical-nav__utility-section:after,.fd-vertical-nav__utility-section:before{box-sizing:inherit;font-size:inherit}.fd-vertical-nav__utility-section{margin-top:auto}.fd-vertical-nav__utility-section:before{background-color:var(--sapAccentColor6);content:\" \";display:block;height:.0625rem;margin:.25rem auto;width:calc(100% - 2rem)}.fd-vertical-nav .fd-vertical-nav__group-header{background:var(--sapList_AlternatingBackground)}\n"] }]
25
76
  }], propDecorators: { condensed: [{
26
77
  type: Input
27
78
  }], _navigationItems: [{
79
+ type: ContentChildren,
80
+ args: [ListNavigationItemComponent, { descendants: true }]
81
+ }], _mainNavigationItems: [{
28
82
  type: ContentChildren,
29
83
  args: [ListNavigationItemComponent]
84
+ }], keyDownHandler: [{
85
+ type: HostListener,
86
+ args: ['keydown', ['$event']]
30
87
  }] } });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVydGljYWwtbmF2aWdhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi92ZXJ0aWNhbC1uYXZpZ2F0aW9uL3ZlcnRpY2FsLW5hdmlnYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvdmVydGljYWwtbmF2aWdhdGlvbi92ZXJ0aWNhbC1uYXZpZ2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixLQUFLLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7OztBQVN6RSxNQUFNLE9BQU8sMkJBQTJCO0lBUHhDO1FBUUksd0VBQXdFO1FBRXhFLGNBQVMsR0FBRyxLQUFLLENBQUM7S0FjckI7SUFSRyxjQUFjO0lBQ2Qsa0JBQWtCO1FBQ2QsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtnQkFDdEMsT0FBTyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7WUFDOUIsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7O3dIQWhCUSwyQkFBMkI7NEdBQTNCLDJCQUEyQixtSUFNbkIsMkJBQTJCLDZCQ3hCaEQscVFBT0E7MkZEV2EsMkJBQTJCO2tCQVB2QyxTQUFTOytCQUNJLHdCQUF3QixpQkFHbkIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTs4QkFLL0MsU0FBUztzQkFEUixLQUFLO2dCQUtFLGdCQUFnQjtzQkFEdkIsZUFBZTt1QkFBQywyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBJbnB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMaXN0TmF2aWdhdGlvbkl0ZW1Db21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvbGlzdCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmQtdmVydGljYWwtbmF2aWdhdGlvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3ZlcnRpY2FsLW5hdmlnYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3ZlcnRpY2FsLW5hdmlnYXRpb24uY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFZlcnRpY2FsTmF2aWdhdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICAgIC8qKiBXaGV0aGVyIG9yIG5vdCB0aGlzIGNvbXBvbmVudCBpcyB0byBiZSBzaG93biBpbiAnY29uZGVuc2VkJyBtb2RlLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgY29uZGVuc2VkID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oTGlzdE5hdmlnYXRpb25JdGVtQ29tcG9uZW50KVxuICAgIHByaXZhdGUgX25hdmlnYXRpb25JdGVtczogUXVlcnlMaXN0PExpc3ROYXZpZ2F0aW9uSXRlbUNvbXBvbmVudD47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY29uZGVuc2VkKSB7XG4gICAgICAgICAgICB0aGlzLl9uYXZpZ2F0aW9uSXRlbXMuZm9yRWFjaCgobmF2SXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIG5hdkl0ZW0uX2NvbmRlbnNlZCA9IHRydWU7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmZC12ZXJ0aWNhbC1uYXZcIiBbY2xhc3MuZmQtdmVydGljYWwtbmF2LS1jb25kZW5zZWRdPVwiY29uZGVuc2VkXCI+XG4gICAgPGZkLXZlcnRpY2FsLW5hdmlnYXRpb24tbWFpbi1uYXZpZ2F0aW9uPlxuICAgICAgICA8dWwgZmQtbGlzdD5cbiAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPC91bD5cbiAgICA8L2ZkLXZlcnRpY2FsLW5hdmlnYXRpb24tbWFpbi1uYXZpZ2F0aW9uPlxuPC9kaXY+XG4iXX0=
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVydGljYWwtbmF2aWdhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi92ZXJ0aWNhbC1uYXZpZ2F0aW9uL3ZlcnRpY2FsLW5hdmlnYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvdmVydGljYWwtbmF2aWdhdGlvbi92ZXJ0aWNhbC1uYXZpZ2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osS0FBSyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN4RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7OztBQVN6RSxNQUFNLE9BQU8sMkJBQTJCO0lBUHhDO1FBUUksd0VBQXdFO1FBRXhFLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFbEIsdUdBQXVHO1FBQ3RGLGdCQUFXLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUVuRCxpR0FBaUc7UUFDaEYsZ0JBQVcsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0tBNkV0RDtJQTlERyxjQUFjO0lBQ2Qsa0JBQWtCO1FBQ2QsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtnQkFDMUMsT0FBTyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7WUFDOUIs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aU1BWW5CLDJCQUEyQiwwRUFNM0IsMkJBQTJCLDZCQ3ZDaEQscVFBT0E7MkZEY2EsMkJBQTJCO2tCQVB2QyxTQUFTOytCQUNJLHdCQUF3QixpQkFHbkIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTs4QkFLL0MsU0FBUztzQkFEUixLQUFLO2dCQVdFLGdCQUFnQjtzQkFEdkIsZUFBZTt1QkFBQywyQkFBMkIsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBTzNELG9CQUFvQjtzQkFEM0IsZUFBZTt1QkFBQywyQkFBMkI7Z0JBOEQ1QyxjQUFjO3NCQURiLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIElucHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvY3VzS2V5TWFuYWdlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IGRlbGF5LCBtYXAsIG1lcmdlLCBzdGFydFdpdGgsIFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTGlzdE5hdmlnYXRpb25JdGVtQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2xpc3QnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkLXZlcnRpY2FsLW5hdmlnYXRpb24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi92ZXJ0aWNhbC1uYXZpZ2F0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi92ZXJ0aWNhbC1uYXZpZ2F0aW9uLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBWZXJ0aWNhbE5hdmlnYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgICAvKiogV2hldGhlciBvciBub3QgdGhpcyBjb21wb25lbnQgaXMgdG8gYmUgc2hvd24gaW4gJ2NvbmRlbnNlZCcgbW9kZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIGNvbmRlbnNlZCA9IGZhbHNlO1xuXG4gICAgLyoqIEFuIFJ4SlMgU3ViamVjdCB0aGF0IHdpbGwga2lsbCB0aGUgZGF0YSBzdHJlYW0gdXBvbiBjb21wb25lbnTigJlzIGRlc3RydWN0aW9uIChmb3IgdW5zdWJzY3JpYmluZykgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfb25EZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogQW4gUnhKUyBTdWJqZWN0IHRoYXQgd2lsbCBraWxsIHRoZSBkYXRhIHN0cmVhbSB1cG9uIHF1ZXJ5TGlzdCBjaGFuZ2VzIChmb3IgdW5zdWJzY3JpYmluZykgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfb25SZWZyZXNoJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oTGlzdE5hdmlnYXRpb25JdGVtQ29tcG9uZW50LCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gICAgcHJpdmF0ZSBfbmF2aWdhdGlvbkl0ZW1zOiBRdWVyeUxpc3Q8TGlzdE5hdmlnYXRpb25JdGVtQ29tcG9uZW50PjtcblxuICAgIC8qKiBAaGlkZGVuXG4gICAgICogUXVlcnlsaXN0IG9mIGxpc3QtaXRlbXMgaW4gbWFpbiBuYXZpZ2F0aW9uLlxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oTGlzdE5hdmlnYXRpb25JdGVtQ29tcG9uZW50KVxuICAgIHByaXZhdGUgX21haW5OYXZpZ2F0aW9uSXRlbXM6IFF1ZXJ5TGlzdDxMaXN0TmF2aWdhdGlvbkl0ZW1Db21wb25lbnQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9rZXlNYW5hZ2VyOiBGb2N1c0tleU1hbmFnZXI8TGlzdE5hdmlnYXRpb25JdGVtQ29tcG9uZW50PjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jb25kZW5zZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX21haW5OYXZpZ2F0aW9uSXRlbXMuZm9yRWFjaCgobmF2SXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIG5hdkl0ZW0uX2NvbmRlbnNlZCA9IHRydWU7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2tleU1hbmFnZXIgPSBuZXcgRm9jdXNLZXlNYW5hZ2VyKHRoaXMuX25hdmlnYXRpb25JdGVtcylcbiAgICAgICAgICAgICAgICAud2l0aEhvbWVBbmRFbmQoKVxuICAgICAgICAgICAgICAgIC5za2lwUHJlZGljYXRlKChpdGVtKSA9PiAhaXRlbS5faXNJdGVtVmlzaWJsZSk7XG4gICAgICAgICAgICB0aGlzLl9saXN0ZW5PblF1ZXJ5Q2hhbmdlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogU2V0IGZha2UgZm9jdXMgb24gZWxlbWVudCB3aXRoIHBhc3NlZCBpbmRleCAqL1xuICAgIHNldEl0ZW1BY3RpdmUoaW5kZXg6IG51bWJlciwgdXBkYXRlT25seSA9IGZhbHNlKTogdm9pZCB7XG4gICAgICAgIGlmICh1cGRhdGVPbmx5KSB7XG4gICAgICAgICAgICB0aGlzLl9rZXlNYW5hZ2VyLnVwZGF0ZUFjdGl2ZUl0ZW0oaW5kZXgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fa2V5TWFuYWdlci5zZXRBY3RpdmVJdGVtKGluZGV4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfbGlzdGVuT25RdWVyeUNoYW5nZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbmF2aWdhdGlvbkl0ZW1zLmNoYW5nZXMucGlwZShkZWxheSgwKSwgc3RhcnRXaXRoKDApLCB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9saXN0ZW5Pbkl0ZW1zQ2xpY2soKTtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIC8vIHVzaW5nIHNldFRpbWVvdXQgdG8gYXZvaWQgRXhwcmVzc2lvbkNoYW5nZWRBZnRlckl0SGFzQmVlbkNoZWNrZWRFcnJvclxuICAgICAgICAgICAgICAgIHRoaXMuX25hdmlnYXRpb25JdGVtcy5mb3JFYWNoKChuYXZJdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpbmRleCAhPT0gMCAmJiAobmF2SXRlbS5fdGFiSW5kZXggPSAtMSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9saXN0ZW5Pbkl0ZW1zQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIC8qKiBGaW5pc2ggYWxsIHRoZSBzdHJlYW1zLCBmcm9tIGJlZm9yZSAqL1xuICAgICAgICB0aGlzLl9vblJlZnJlc2gkLm5leHQoKTtcblxuICAgICAgICAvKiogTWVyZ2UgcmVmcmVzaC9kZXN0cm95IG9ic2VydmFibGVzICovXG4gICAgICAgIGNvbnN0IGNvbXBsZXRpb24kID0gbWVyZ2UodGhpcy5fb25SZWZyZXNoJCwgdGhpcy5fb25EZXN0cm95JCk7XG4gICAgICAgIGNvbnN0IGludGVyYWN0aW9uQ2hhbmdlc0luZGV4ZXMgPSB0aGlzLl9uYXZpZ2F0aW9uSXRlbXMubWFwKChpdGVtLCBpbmRleCkgPT5cbiAgICAgICAgICAgIG1lcmdlKFxuICAgICAgICAgICAgICAgIGl0ZW0uX2NsaWNrZWQkLnBpcGUobWFwKCgpID0+ICh7IGluZGV4LCB1cGRhdGVPbmx5OiBmYWxzZSB9KSkpLFxuICAgICAgICAgICAgICAgIGl0ZW0uX2ZvY3VzZWQkLnBpcGUobWFwKChmb2N1c2VkT24pID0+ICh7IGluZGV4LCB1cGRhdGVPbmx5OiBmb2N1c2VkT24gfSkpKVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgICAgICBtZXJnZSguLi5pbnRlcmFjdGlvbkNoYW5nZXNJbmRleGVzKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKGNvbXBsZXRpb24kKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHsgaW5kZXgsIHVwZGF0ZU9ubHkgfSkgPT4gdGhpcy5zZXRJdGVtQWN0aXZlKGluZGV4LCB1cGRhdGVPbmx5KSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcbiAgICBrZXlEb3duSGFuZGxlcihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuY29uZGVuc2VkKSB7XG4gICAgICAgICAgICB0aGlzLl9rZXlNYW5hZ2VyLm9uS2V5ZG93bihldmVudCk7XG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmZC12ZXJ0aWNhbC1uYXZcIiBbY2xhc3MuZmQtdmVydGljYWwtbmF2LS1jb25kZW5zZWRdPVwiY29uZGVuc2VkXCI+XG4gICAgPGZkLXZlcnRpY2FsLW5hdmlnYXRpb24tbWFpbi1uYXZpZ2F0aW9uPlxuICAgICAgICA8dWwgZmQtbGlzdD5cbiAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPC91bD5cbiAgICA8L2ZkLXZlcnRpY2FsLW5hdmlnYXRpb24tbWFpbi1uYXZpZ2F0aW9uPlxuPC9kaXY+XG4iXX0=