@fundamental-ngx/core 0.41.0 → 0.41.1-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/esm2020/multi-combobox/base-multi-combobox.class.mjs +1 -1
  2. package/esm2020/multi-combobox/multi-combobox.component.mjs +3 -9
  3. package/esm2020/radio/radio-button/radio-button.component.mjs +22 -5
  4. package/esm2020/tree/components/tree-item/tree-item.component.mjs +296 -0
  5. package/esm2020/tree/data-source/tree-data-source-parser.mjs +22 -0
  6. package/esm2020/tree/data-source/tree-data-source.mjs +23 -0
  7. package/esm2020/tree/directives/tree-item-button.directive.mjs +16 -0
  8. package/esm2020/tree/directives/tree-item-def.directive.mjs +23 -0
  9. package/esm2020/tree/directives/tree-item-icon.directive.mjs +41 -0
  10. package/esm2020/tree/directives/tree-item.directive.mjs +26 -0
  11. package/esm2020/tree/models/base-tree-item.class.mjs +25 -0
  12. package/esm2020/tree/models/selection-type.mjs +2 -0
  13. package/esm2020/tree/models/tree-item-def-context.mjs +2 -0
  14. package/esm2020/tree/models/tree-item.mjs +2 -0
  15. package/esm2020/tree/public_api.mjs +14 -3
  16. package/esm2020/tree/tokens.mjs +3 -0
  17. package/esm2020/tree/tree.component.mjs +399 -57
  18. package/esm2020/tree/tree.module.mjs +83 -7
  19. package/esm2020/tree/tree.service.mjs +101 -0
  20. package/fesm2015/fundamental-ngx-core-multi-combobox.mjs +2 -8
  21. package/fesm2015/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
  22. package/fesm2015/fundamental-ngx-core-radio.mjs +21 -4
  23. package/fesm2015/fundamental-ngx-core-radio.mjs.map +1 -1
  24. package/fesm2015/fundamental-ngx-core-tree.mjs +997 -106
  25. package/fesm2015/fundamental-ngx-core-tree.mjs.map +1 -1
  26. package/fesm2020/fundamental-ngx-core-multi-combobox.mjs +2 -8
  27. package/fesm2020/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
  28. package/fesm2020/fundamental-ngx-core-radio.mjs +21 -4
  29. package/fesm2020/fundamental-ngx-core-radio.mjs.map +1 -1
  30. package/fesm2020/fundamental-ngx-core-tree.mjs +995 -106
  31. package/fesm2020/fundamental-ngx-core-tree.mjs.map +1 -1
  32. package/fundamental-ngx-core-v0.41.1-rc.1.tgz +0 -0
  33. package/multi-combobox/base-multi-combobox.class.d.ts +2 -2
  34. package/multi-combobox/multi-combobox.component.d.ts +2 -2
  35. package/package.json +3 -3
  36. package/radio/radio-button/radio-button.component.d.ts +9 -3
  37. package/schematics/add-dependencies/index.js +4 -4
  38. package/tree/components/tree-item/tree-item.component.d.ts +145 -0
  39. package/tree/data-source/tree-data-source-parser.d.ts +9 -0
  40. package/tree/data-source/tree-data-source.d.ts +22 -0
  41. package/tree/directives/tree-item-button.directive.d.ts +5 -0
  42. package/tree/directives/tree-item-def.directive.d.ts +18 -0
  43. package/tree/directives/tree-item-icon.directive.d.ts +13 -0
  44. package/tree/directives/tree-item.directive.d.ts +19 -0
  45. package/tree/models/base-tree-item.class.d.ts +91 -0
  46. package/tree/models/selection-type.d.ts +10 -0
  47. package/tree/models/tree-item-def-context.d.ts +3 -0
  48. package/tree/models/tree-item.d.ts +17 -0
  49. package/tree/public_api.d.ts +13 -2
  50. package/tree/tokens.d.ts +2 -0
  51. package/tree/tree.component.d.ts +137 -19
  52. package/tree/tree.module.d.ts +17 -7
  53. package/tree/tree.service.d.ts +62 -0
  54. package/esm2020/tree/tree-child.component.mjs +0 -66
  55. package/esm2020/tree/tree-row-object.model.mjs +0 -2
  56. package/fundamental-ngx-core-v0.41.0.tgz +0 -0
  57. package/tree/tree-child.component.d.ts +0 -27
  58. package/tree/tree-row-object.model.d.ts +0 -5
@@ -1,187 +1,1076 @@
1
1
  import * as i0 from '@angular/core';
2
- import { EventEmitter, Component, ViewEncapsulation, ChangeDetectionStrategy, Input, Output, ViewChildren, NgModule } from '@angular/core';
3
- import * as i1 from '@angular/common';
2
+ import { Directive, Input, Injector, inject, ElementRef, Injectable, EventEmitter, ChangeDetectorRef, Component, ViewEncapsulation, Output, ContentChild, ViewChildren, ContentChildren, HostListener, ChangeDetectionStrategy, HostBinding, ViewChild, NgModule, InjectionToken } from '@angular/core';
3
+ import * as i3 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
- import * as i2 from '@fundamental-ngx/core/button';
5
+ import * as i6 from '@angular/forms';
6
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
7
+ import * as i4 from '@fundamental-ngx/cdk/utils';
8
+ import { uuidv4, DestroyedService, SelectionService, RtlService, KeyUtil, applyCssClass, FDK_SELECTABLE_ITEM_PROVIDER, SelectableItemDirective, RepeatDirective, ClickedBehaviorModule } from '@fundamental-ngx/cdk/utils';
9
+ import * as i4$1 from '@fundamental-ngx/core/checkbox';
10
+ import { CheckboxModule } from '@fundamental-ngx/core/checkbox';
11
+ import * as i7$1 from '@fundamental-ngx/core/radio';
12
+ import { RadioModule } from '@fundamental-ngx/core/radio';
13
+ import * as i5 from '@fundamental-ngx/core/skeleton';
14
+ import { SkeletonModule } from '@fundamental-ngx/core/skeleton';
15
+ import * as i7 from '@fundamental-ngx/i18n';
16
+ import { I18nModule } from '@fundamental-ngx/i18n';
17
+ import { __decorate, __metadata } from 'tslib';
18
+ import { FocusKeyManager } from '@angular/cdk/a11y';
19
+ import { DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW } from '@angular/cdk/keycodes';
20
+ import * as i1 from '@fundamental-ngx/cdk/data-source';
21
+ import { BaseDataSource, DataProvider, isDataSource, DataSourceDirective, FD_DATA_SOURCE_TRANSFORMER } from '@fundamental-ngx/cdk/data-source';
22
+ import * as i2 from '@fundamental-ngx/cdk/forms';
23
+ import { CvaDirective } from '@fundamental-ngx/cdk/forms';
24
+ import { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';
25
+ import { isObservable, BehaviorSubject, Subject, distinctUntilChanged, takeUntil, startWith, filter, Subscription, fromEvent, switchMap } from 'rxjs';
6
26
  import { ButtonModule } from '@fundamental-ngx/core/button';
7
- import * as i3 from '@fundamental-ngx/core/menu';
8
- import { MenuModule } from '@fundamental-ngx/core/menu';
27
+ import * as i3$1 from '@fundamental-ngx/core/icon';
9
28
  import { IconModule } from '@fundamental-ngx/core/icon';
10
29
  import { PopoverModule } from '@fundamental-ngx/core/popover';
30
+ import { MenuModule } from '@fundamental-ngx/core/menu';
11
31
 
12
- class TreeChildComponent {
13
- constructor() {
14
- /** @hidden */
15
- this.editClicked = new EventEmitter();
32
+ class FdTreeDataSource extends BaseDataSource {
33
+ /** @hidden */
34
+ constructor(dataProvider) {
35
+ super(dataProvider);
36
+ this.dataProvider = dataProvider;
16
37
  /** @hidden */
17
- this.deleteClicked = new EventEmitter();
38
+ this.limitless = true;
18
39
  }
40
+ }
41
+ class ArrayTreeDataSource extends FdTreeDataSource {
19
42
  /** @hidden */
20
- ngOnInit() {
21
- this.hideChildren = false;
43
+ constructor(data) {
44
+ super(new DataProvider(data));
22
45
  }
46
+ }
47
+ class ObservableTreeDataSource extends FdTreeDataSource {
23
48
  /** @hidden */
24
- toggleDisplayChildren(hideAll) {
25
- if (hideAll !== undefined) {
26
- this.hideChildren = hideAll;
49
+ constructor(data) {
50
+ super(new DataProvider(data));
51
+ }
52
+ }
53
+
54
+ class TreeDataSourceParser {
55
+ /**
56
+ * Transforms plain array or observable into DataSource class.
57
+ * @param source
58
+ */
59
+ parse(source) {
60
+ if (isDataSource(source)) {
61
+ return source;
27
62
  }
28
- else {
29
- this.hideChildren = !this.hideChildren;
63
+ if (Array.isArray(source)) {
64
+ return new ArrayTreeDataSource(source);
65
+ }
66
+ if (isObservable(source)) {
67
+ return new ObservableTreeDataSource(source);
30
68
  }
69
+ return undefined;
70
+ }
71
+ }
72
+
73
+ class TreeItemDefDirective {
74
+ /** @hidden */
75
+ static ngTemplateContextGuard(dir, ctx) {
76
+ return true;
31
77
  }
32
78
  /** @hidden */
33
- typeOf(variable) {
34
- let retVal;
35
- if (typeof variable === 'string') {
36
- retVal = 'string';
37
- }
38
- else if (typeof variable === 'object') {
39
- retVal = 'object';
40
- }
41
- return retVal;
79
+ constructor(templateRef) {
80
+ this.templateRef = templateRef;
81
+ }
82
+ }
83
+ TreeItemDefDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TreeItemDefDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
84
+ TreeItemDefDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: TreeItemDefDirective, selector: "[fdTreeItemDef]", inputs: { fdTreeItemDefAs: "fdTreeItemDefAs" }, ngImport: i0 });
85
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TreeItemDefDirective, decorators: [{
86
+ type: Directive,
87
+ args: [{
88
+ selector: '[fdTreeItemDef]'
89
+ }]
90
+ }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; }, propDecorators: { fdTreeItemDefAs: [{
91
+ type: Input
92
+ }] } });
93
+
94
+ class TreeItemDirective {
95
+ /** @hidden */
96
+ constructor(injector) {
97
+ this.injector = Injector.create({ providers: [], parent: injector });
98
+ }
99
+ /** Sets tree item. */
100
+ setTreeItem(item) {
101
+ this.treeItem = item;
42
102
  }
43
103
  /** @hidden */
44
- editTreeItem(row) {
45
- if (row) {
46
- this.editClicked.emit(row);
104
+ ngOnDestroy() {
105
+ this.treeItem = null;
106
+ }
107
+ }
108
+ TreeItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TreeItemDirective, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
109
+ TreeItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: TreeItemDirective, selector: "[fdTreeItem]", exportAs: ["fdTreeItem"], ngImport: i0 });
110
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TreeItemDirective, decorators: [{
111
+ type: Directive,
112
+ args: [{
113
+ selector: '[fdTreeItem]',
114
+ exportAs: 'fdTreeItem'
115
+ }]
116
+ }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
117
+
118
+ class BaseTreeItem {
119
+ /** @hidden */
120
+ constructor() {
121
+ /** @hidden */
122
+ this._elementRef = inject(ElementRef);
123
+ /** @hidden */
124
+ this._treeItemDir = inject(TreeItemDirective, {
125
+ optional: true
126
+ });
127
+ this._treeItemDir?.setTreeItem(this);
128
+ }
129
+ /** @hidden */
130
+ elementRef() {
131
+ return this._elementRef;
132
+ }
133
+ }
134
+ BaseTreeItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BaseTreeItem, deps: [], target: i0.ɵɵFactoryTarget.Directive });
135
+ BaseTreeItem.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: BaseTreeItem, ngImport: i0 });
136
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BaseTreeItem, decorators: [{
137
+ type: Directive
138
+ }], ctorParameters: function () { return []; } });
139
+
140
+ class TreeService {
141
+ constructor() {
142
+ /** @hidden */
143
+ this._expandableItems = new Map();
144
+ /** @hidden */
145
+ this._selectionMode$ = new BehaviorSubject({ mode: 'none', placement: 'none' });
146
+ /** @hidden */
147
+ this._expandedLevel = new BehaviorSubject(undefined);
148
+ /** @hidden */
149
+ this._navigationIndicator$ = new BehaviorSubject(false);
150
+ /**
151
+ * @hidden
152
+ */
153
+ this.detectChanges = new Subject();
154
+ }
155
+ /** Current expanded level. */
156
+ get expandedLevel() {
157
+ return this._expandedLevel.asObservable();
158
+ }
159
+ /** Tree selection mode. */
160
+ get selectionMode() {
161
+ return this._selectionMode$.asObservable();
162
+ }
163
+ /** Whether to show navigation indicator. */
164
+ get navigationIndicator() {
165
+ return this._navigationIndicator$.asObservable();
166
+ }
167
+ /** Sets whether the navigation indicator should be visible. */
168
+ setNavigationIndicator(value) {
169
+ this._navigationIndicator$.next(value);
170
+ }
171
+ /** @hidden */
172
+ normalizeTreeItems(items, parentId = null, level = 1) {
173
+ if (!items) {
174
+ return [];
47
175
  }
176
+ return [...items].map((item) => ({
177
+ ...item,
178
+ ...{
179
+ level,
180
+ parentId,
181
+ renderer: this.treeItemTemplateRef,
182
+ id: item.id || uuidv4()
183
+ }
184
+ }));
185
+ }
186
+ /**
187
+ * Adds expandable item to the object of expandable items.
188
+ * @param id
189
+ * @param level
190
+ */
191
+ addExpandableItem(id, level, expanded) {
192
+ const levelCollection = this._expandableItems.get(level) || {};
193
+ levelCollection[id] = expanded;
194
+ this._expandableItems.set(level, levelCollection);
195
+ this._emitNewExpandedLevel();
196
+ }
197
+ /**
198
+ * Removes expandable item from the object of expandable items.
199
+ * @param id
200
+ * @param level
201
+ */
202
+ removeExpandableItem(id, level) {
203
+ const levelCollection = this._expandableItems.get(level) || {};
204
+ delete levelCollection[id];
205
+ this._expandableItems.set(level, levelCollection);
206
+ this._emitNewExpandedLevel();
207
+ }
208
+ /**
209
+ * Sets selection mode and it's placement.
210
+ * @param mode Selection mode.
211
+ * @param placement Selection control placement.
212
+ */
213
+ setSelectionMode(mode, placement) {
214
+ this._selectionMode$.next({ mode, placement });
48
215
  }
49
216
  /** @hidden */
50
- deleteTreeItem(row) {
51
- if (row) {
52
- this.deleteClicked.emit(row);
217
+ _emitNewExpandedLevel() {
218
+ // We need to go from level 1 to deeper level since level 4 may be expanded, yet level 2 not.
219
+ const levels = Array.from(this._expandableItems.keys()).sort();
220
+ let lastLevel;
221
+ for (const level of levels) {
222
+ const levelExpandableItems = this._expandableItems.get(level);
223
+ if (Object.values(levelExpandableItems).every((v) => !v)) {
224
+ break;
225
+ }
226
+ lastLevel = level;
53
227
  }
228
+ this._expandedLevel.next(lastLevel);
54
229
  }
55
230
  }
56
- TreeChildComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TreeChildComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
57
- TreeChildComponentcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: TreeChildComponent, selector: "fd-tree-child", inputs: { row: "row", hideChildren: "hideChildren", displayTreeActions: "displayTreeActions" }, outputs: { editClicked: "editClicked", deleteClicked: "deleteClicked" }, ngImport: i0, template: "<li #treeChild class=\"fd-tree__item\" role=\"treeitem\">\n <div class=\"fd-tree__row\">\n <div\n *ngFor=\"let cell of row.rowData; let i = index\"\n [attr.data-index]=\"i\"\n class=\"fd-tree__col\"\n [class.fd-tree__col--control]=\"i === 0\"\n >\n <button\n (click)=\"toggleDisplayChildren()\"\n *ngIf=\"row.children && i === 0\"\n class=\"fd-tree__control\"\n aria-label=\"Expand\"\n [class.is-pressed]=\"!hideChildren\"\n [attr.aria-pressed]=\"!hideChildren\"\n ></button>\n <ng-container *ngIf=\"typeOf(cell) === 'string'\">\n {{ cell }}\n </ng-container>\n <ng-container *ngIf=\"typeOf(cell) === 'object'\">\n <ng-container *ngIf=\"cell.linkUrl\">\n <ng-container *ngIf=\"cell.displayText\">\n <!-- link with display text -->\n <a [attr.href]=\"cell.linkUrl\" class=\"fd-has-font-weight-semi\">{{ cell.displayText }}</a>\n </ng-container>\n <ng-container *ngIf=\"!cell.displayText\">\n <!-- link without display text -->\n <a [attr.href]=\"cell.linkUrl\" class=\"fd-has-font-weight-semi\">{{ cell.linkUrl }}</a>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!cell.linkUrl\">\n {{ cell.displayText }}\n </ng-container>\n </ng-container>\n </div>\n <div class=\"fd-tree__col fd-tree__col--actions\">\n <ng-container *ngIf=\"displayTreeActions\">\n <button fd-button fdType=\"transparent\" glyph=\"vertical-grip\" [fdMenuTrigger]=\"menu\"></button>\n\n <fd-menu #menu>\n <li fd-menu-item (click)=\"editTreeItem(row)\">\n <div fd-menu-interactive>\n <span fd-menu-title>Edit</span>\n </div>\n </li>\n <li fd-menu-item (click)=\"deleteTreeItem(row)\">\n <div fd-menu-interactive>\n <span fd-menu-title>Delete</span>\n </div>\n </li>\n </fd-menu>\n </ng-container>\n </div>\n </div>\n <ul\n *ngIf=\"row.children && row.children.length > 0\"\n [class.is-hidden]=\"hideChildren\"\n class=\"fd-tree__group\"\n role=\"group\"\n >\n <fd-tree-child\n *ngFor=\"let child of row.children\"\n [displayTreeActions]=\"displayTreeActions\"\n [row]=\"child\"\n [class]=\"child.sublevelClass\"\n >\n </fd-tree-child>\n </ul>\n</li>\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.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i3.MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "focusAutoCapture", "tabbableScrollbar", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { kind: "component", type: i3.MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu", "parentSubmenu"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }, { kind: "directive", type: i3.MenuInteractiveDirective, selector: "[fd-menu-interactive]" }, { kind: "directive", type: i3.MenuTitleDirective, selector: "[fd-menu-title]" }, { kind: "directive", type: i3.MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { kind: "component", type: TreeChildComponent, selector: "fd-tree-child", inputs: ["row", "hideChildren", "displayTreeActions"], outputs: ["editClicked", "deleteClicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TreeChildComponent, decorators: [{
59
- type: Component,
60
- args: [{ selector: 'fd-tree-child', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<li #treeChild class=\"fd-tree__item\" role=\"treeitem\">\n <div class=\"fd-tree__row\">\n <div\n *ngFor=\"let cell of row.rowData; let i = index\"\n [attr.data-index]=\"i\"\n class=\"fd-tree__col\"\n [class.fd-tree__col--control]=\"i === 0\"\n >\n <button\n (click)=\"toggleDisplayChildren()\"\n *ngIf=\"row.children && i === 0\"\n class=\"fd-tree__control\"\n aria-label=\"Expand\"\n [class.is-pressed]=\"!hideChildren\"\n [attr.aria-pressed]=\"!hideChildren\"\n ></button>\n <ng-container *ngIf=\"typeOf(cell) === 'string'\">\n {{ cell }}\n </ng-container>\n <ng-container *ngIf=\"typeOf(cell) === 'object'\">\n <ng-container *ngIf=\"cell.linkUrl\">\n <ng-container *ngIf=\"cell.displayText\">\n <!-- link with display text -->\n <a [attr.href]=\"cell.linkUrl\" class=\"fd-has-font-weight-semi\">{{ cell.displayText }}</a>\n </ng-container>\n <ng-container *ngIf=\"!cell.displayText\">\n <!-- link without display text -->\n <a [attr.href]=\"cell.linkUrl\" class=\"fd-has-font-weight-semi\">{{ cell.linkUrl }}</a>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!cell.linkUrl\">\n {{ cell.displayText }}\n </ng-container>\n </ng-container>\n </div>\n <div class=\"fd-tree__col fd-tree__col--actions\">\n <ng-container *ngIf=\"displayTreeActions\">\n <button fd-button fdType=\"transparent\" glyph=\"vertical-grip\" [fdMenuTrigger]=\"menu\"></button>\n\n <fd-menu #menu>\n <li fd-menu-item (click)=\"editTreeItem(row)\">\n <div fd-menu-interactive>\n <span fd-menu-title>Edit</span>\n </div>\n </li>\n <li fd-menu-item (click)=\"deleteTreeItem(row)\">\n <div fd-menu-interactive>\n <span fd-menu-title>Delete</span>\n </div>\n </li>\n </fd-menu>\n </ng-container>\n </div>\n </div>\n <ul\n *ngIf=\"row.children && row.children.length > 0\"\n [class.is-hidden]=\"hideChildren\"\n class=\"fd-tree__group\"\n role=\"group\"\n >\n <fd-tree-child\n *ngFor=\"let child of row.children\"\n [displayTreeActions]=\"displayTreeActions\"\n [row]=\"child\"\n [class]=\"child.sublevelClass\"\n >\n </fd-tree-child>\n </ul>\n</li>\n" }]
61
- }], propDecorators: { row: [{
62
- type: Input
63
- }], hideChildren: [{
64
- type: Input
65
- }], displayTreeActions: [{
66
- type: Input
67
- }], editClicked: [{
68
- type: Output
69
- }], deleteClicked: [{
70
- type: Output
71
- }] } });
231
+ TreeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TreeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
232
+ TreeServiceprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TreeService });
233
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TreeService, decorators: [{
234
+ type: Injectable
235
+ }] });
72
236
 
73
237
  class TreeComponent {
238
+ /**
239
+ * Whether the Tree component has navigation indicators.
240
+ */
241
+ set navigationIndicator(value) {
242
+ if (value === this._navigationIndicator) {
243
+ return;
244
+ }
245
+ this._navigationIndicator = value;
246
+ this._treeService.setNavigationIndicator(value);
247
+ }
248
+ get navigationIndicator() {
249
+ return this._navigationIndicator;
250
+ }
251
+ /** Tree item template definition. */
252
+ set treeItemDef(value) {
253
+ this._treeItemDef = value;
254
+ // Set new renderer
255
+ this._treeService.treeItemTemplateRef = value?.templateRef;
256
+ this._items = this._treeService.normalizeTreeItems(this._items);
257
+ }
258
+ get treeItemDef() {
259
+ return this._treeItemDef;
260
+ }
261
+ /** @hidden */
262
+ get multiple() {
263
+ return this.selection === 'multiple';
264
+ }
265
+ /** @hidden */
266
+ get toggle() {
267
+ return true;
268
+ }
269
+ /** @hidden */
74
270
  constructor() {
271
+ /**
272
+ * Whether the tree should be borderless.
273
+ */
274
+ this.noBorder = false;
275
+ /** Type of tree items selection. */
276
+ this.selection = 'none';
277
+ /** Placement of the selection control. */
278
+ this.selectionPlacement = 'none';
279
+ /**
280
+ * Whether the sections should be dependent for selection mode.
281
+ * If true, selection control will shift, according to the level.
282
+ * If false, selection control will stay on the same place ignoring the item level.
283
+ */
284
+ this.independentSections = false;
285
+ /** @hidden */
286
+ this._navigationIndicator = false;
287
+ /** Event emitted when data loading is started. */
288
+ this.dataRequested = new EventEmitter();
289
+ /** Event emitted when data loading is finished. */
290
+ this.dataReceived = new EventEmitter();
291
+ /** Event emitted when selected state changed. */
292
+ this.selectedChange = new EventEmitter();
293
+ /** @hidden */
294
+ this._items = [];
295
+ /**
296
+ * @hidden
297
+ * Used for skeleton to appear before first meaningful data being loaded.
298
+ */
299
+ this._initialDataLoaded = false;
300
+ /** @hidden */
301
+ this._contentDensityObserver = inject(ContentDensityObserver);
302
+ /** @hidden */
303
+ this._dataSourceDirective = inject(DataSourceDirective);
304
+ /** @hidden */
305
+ this._destroy$ = inject(DestroyedService);
306
+ /** @hidden */
307
+ this._elementRef = inject(ElementRef);
308
+ /** @hidden */
309
+ this._treeService = inject(TreeService);
75
310
  /** @hidden */
76
- this.editRowClicked = new EventEmitter();
311
+ this._selectionService = inject(SelectionService);
77
312
  /** @hidden */
78
- this.deleteRowClicked = new EventEmitter();
313
+ this._rtl = inject(RtlService, {
314
+ optional: true
315
+ });
316
+ /** @hidden */
317
+ this._cvaDirective = inject(CvaDirective);
318
+ /** @hidden */
319
+ this._cdr = inject(ChangeDetectorRef);
320
+ /** @hidden */
321
+ this._dsSubscription = null;
322
+ /**
323
+ * @hidden
324
+ * Sorted tree item components.
325
+ */
326
+ this._sortedTreeItems = [];
327
+ /**
328
+ * @hidden
329
+ * All tree item components.
330
+ */
331
+ this._allItems = [];
332
+ this._selectionService.registerRootComponent(this);
333
+ this._contentDensityObserver.subscribe();
79
334
  }
80
335
  /** @hidden */
81
336
  ngOnInit() {
82
- this.hideAll = false;
337
+ this._openDataStream();
338
+ this.buildComponentCssClass();
339
+ this._treeService.expandedLevel.pipe(distinctUntilChanged(), takeUntil(this._destroy$)).subscribe((level) => {
340
+ this._expandedLevel = level;
341
+ this.buildComponentCssClass();
342
+ this._cdr.detectChanges();
343
+ });
344
+ this._treeService.detectChanges.pipe(takeUntil(this._destroy$)).subscribe(() => {
345
+ this._cdr.detectChanges();
346
+ });
347
+ if (this.selection !== 'none') {
348
+ this._selectionService.setValue(this._cvaDirective.value);
349
+ this._cvaDirective.ngControl?.valueChanges?.pipe(takeUntil(this._destroy$)).subscribe(() => {
350
+ this._selectionService.setValue(this._cvaDirective.value);
351
+ });
352
+ }
353
+ }
354
+ /** @hidden */
355
+ ngOnChanges(changes) {
356
+ this.buildComponentCssClass();
357
+ if ('selection' in changes || 'selectionPlacement' in changes) {
358
+ this._treeService.setSelectionMode(this.selection, this.selectionPlacement);
359
+ this._setSelectionListener();
360
+ }
361
+ }
362
+ /** @hidden */
363
+ ngAfterViewInit() {
364
+ this._listenToTreeItemsChanges();
365
+ this._listenToTreeItemDirectiveChanges();
366
+ }
367
+ /** @hidden */
368
+ ngOnDestroy() {
369
+ this._dsSubscription?.unsubscribe();
370
+ this._eventSub?.unsubscribe();
371
+ this._selectionSub?.unsubscribe();
83
372
  }
84
373
  /** @hidden */
85
- ngAfterContentInit() {
86
- if (this.treeData && this.treeData.length) {
87
- this.treeData.forEach((row) => {
88
- this.getChildDepth(row, 0);
89
- this.handleEmptyTrailingCells(row); // handle empty cells for parents
374
+ _setSelectionListener() {
375
+ this._selectionSub?.unsubscribe();
376
+ if (this.selection !== 'none') {
377
+ this._selectionService.setValue(this._cvaDirective.value);
378
+ this._selectionSub = this._cvaDirective.ngControl?.valueChanges
379
+ ?.pipe(takeUntil(this._destroy$))
380
+ .subscribe(() => {
381
+ this._selectionService.setValue(this._cvaDirective.value);
90
382
  });
91
383
  }
92
384
  }
93
385
  /** @hidden */
94
- toggleDisplayAll() {
95
- this.hideAll = !this.hideAll;
96
- this.treeChildren.forEach((child) => {
97
- child.toggleDisplayChildren(this.hideAll);
386
+ _listenToTreeItemDirectiveChanges() {
387
+ this._treeItemDirectives.changes
388
+ .pipe(startWith(null), filter(() => this.treeItemDef !== undefined), takeUntil(this._destroy$))
389
+ .subscribe(() => {
390
+ this._allItems = this._treeItemDirectives.toArray().map((item) => item.treeItem);
391
+ const flattenedItems = this._sortTreeItems(this._allItems);
392
+ this._setFlattenedItems(flattenedItems);
393
+ });
394
+ }
395
+ /** @hidden */
396
+ _listenToTreeItemsChanges() {
397
+ this._projectedTreeItems.changes
398
+ .pipe(startWith(null), filter(() => !this.treeItemDef), takeUntil(this._destroy$))
399
+ .subscribe(() => {
400
+ this._allItems = this._projectedTreeItems.toArray();
401
+ const flattenedItems = this._sortTreeItems(this._allItems);
402
+ this._setFlattenedItems(flattenedItems);
98
403
  });
99
404
  }
100
405
  /** @hidden */
101
- getChildDepth(row, depth) {
102
- if (depth > 0) {
103
- row.sublevelClass = 'fd-tree__group--sublevel-' + depth;
406
+ _setFlattenedItems(items) {
407
+ this._sortedTreeItems = items;
408
+ const activeItem = this._focusKeyManager?.activeItem;
409
+ const newActiveItemIndex = items.findIndex((item) => item === activeItem);
410
+ this._focusKeyManager?.destroy();
411
+ this._focusKeyManager = new FocusKeyManager(items)
412
+ .withVerticalOrientation(true)
413
+ .skipPredicate((item) => !item.keyboardAccessible);
414
+ if (newActiveItemIndex > -1) {
415
+ this._focusKeyManager.setActiveItem(newActiveItemIndex);
416
+ }
417
+ this._selectionService.initialize(this._sortedTreeItems.map((item) => item.selectableListItem));
418
+ this._setupEventListeners();
419
+ }
420
+ /** @hidden */
421
+ _onItemFocused(treeItem) {
422
+ let focusedIndex = -1;
423
+ this._sortedTreeItems.forEach((item, index) => {
424
+ const isFocused = treeItem === item;
425
+ item.setContainerTabIndex(isFocused ? 0 : -1);
426
+ if (isFocused) {
427
+ focusedIndex = index;
428
+ }
429
+ });
430
+ if (focusedIndex === -1) {
431
+ return;
104
432
  }
105
- if (row.children) {
106
- row.children.forEach((child) => {
107
- this.getChildDepth(child, depth + 1);
108
- this.handleEmptyTrailingCells(child); // handle empty cells for children
433
+ this._focusKeyManager.setActiveItem(focusedIndex);
434
+ }
435
+ /** @hidden */
436
+ _setupEventListeners() {
437
+ this._eventSub?.unsubscribe();
438
+ this._eventSub = new Subscription();
439
+ this._sortedTreeItems.forEach((item) => {
440
+ this._eventSub.add(fromEvent(item.elementRef().nativeElement, 'keydown').subscribe((event) => {
441
+ this._onItemKeyDown(event, item);
442
+ }));
443
+ this._eventSub.add(fromEvent(item.itemContainer?.nativeElement, 'focus').subscribe(() => {
444
+ this._onItemFocused(item);
445
+ }));
446
+ });
447
+ }
448
+ /** @hidden */
449
+ _sortTreeItems(items) {
450
+ const components = [];
451
+ const rootItems = items.filter((item) => item.level === 1);
452
+ rootItems.forEach((treeItem, index) => {
453
+ treeItem.setPosition(rootItems.length, index + 1);
454
+ });
455
+ items.forEach((item) => {
456
+ if (!item || components.includes(item)) {
457
+ return;
458
+ }
459
+ components.push(item);
460
+ if (item.children.length === 0) {
461
+ return;
462
+ }
463
+ const childItems = this._sortTreeItems(this._allItems.filter((i) => i.parentId === item.id));
464
+ childItems.forEach((treeItem, index) => {
465
+ treeItem.setPosition(childItems.length, index + 1);
109
466
  });
467
+ components.push(...childItems);
468
+ });
469
+ return components;
470
+ }
471
+ /** @hidden */
472
+ elementRef() {
473
+ return this._elementRef;
474
+ }
475
+ /** @hidden */
476
+ buildComponentCssClass() {
477
+ return [
478
+ this.class,
479
+ this._expandedLevel ? `expanded-level-${this._expandedLevel}` : '',
480
+ this.noBorder ? 'fd-tree--no-border' : '',
481
+ this._items.length === 0 && this._initialDataLoaded ? 'fd-tree--no-data' : '',
482
+ this.independentSections ? 'fd-tree--independent-multi-selection' : '',
483
+ 'fd-tree'
484
+ ];
485
+ }
486
+ /**
487
+ * @hidden
488
+ * Keyboard navigation
489
+ * @param event Keyboard event.
490
+ */
491
+ _onKeyUp(event) {
492
+ if (KeyUtil.isKeyCode(event, [DOWN_ARROW, UP_ARROW])) {
493
+ if (event.defaultPrevented) {
494
+ return;
495
+ }
496
+ event.preventDefault();
497
+ this._focusKeyManager?.onKeydown(event);
110
498
  }
111
499
  }
112
500
  /** @hidden */
113
- handleEmptyTrailingCells(row) {
114
- if (row &&
115
- row.rowData &&
116
- row.rowData.length &&
117
- typeof row.rowData[0] !== 'object' &&
118
- this.headers &&
119
- this.headers.length) {
120
- while (row.rowData.length < this.headers.length) {
121
- row.rowData.push('');
501
+ _onItemKeyDown(event, treeItem) {
502
+ if (!treeItem) {
503
+ return;
504
+ }
505
+ const isRtl = !!this._rtl?.rtl.value;
506
+ const expandKey = isRtl ? LEFT_ARROW : RIGHT_ARROW;
507
+ const collapseKey = isRtl ? RIGHT_ARROW : LEFT_ARROW;
508
+ if (KeyUtil.isKeyCode(event, expandKey) && (treeItem.hasDsChildren || treeItem.hasProjectedChildren)) {
509
+ if (event.defaultPrevented) {
510
+ return;
122
511
  }
512
+ event.preventDefault();
513
+ this._expandTreeSection(treeItem);
514
+ return;
123
515
  }
124
- else if (row &&
125
- row.rowData &&
126
- row.rowData.length &&
127
- typeof row.rowData[0] === 'object' &&
128
- this.headers &&
129
- this.headers.length) {
130
- while (row.rowData.length < this.headers.length) {
131
- row.rowData.push({
132
- displayText: ''
133
- });
516
+ if (KeyUtil.isKeyCode(event, collapseKey)) {
517
+ if (event.defaultPrevented) {
518
+ return;
519
+ }
520
+ event.preventDefault();
521
+ this._collapseTreeSection(treeItem);
522
+ return;
523
+ }
524
+ }
525
+ /** @hidden */
526
+ _trackFn(index, item) {
527
+ return item.id;
528
+ }
529
+ /** @hidden */
530
+ _expandTreeSection(treeItem) {
531
+ if (treeItem.expanded) {
532
+ // Shift focus on the first child item
533
+ const itemIndex = this._sortedTreeItems.findIndex((item) => item.id === treeItem.id);
534
+ const nextItem = this._sortedTreeItems[itemIndex + 1];
535
+ if (nextItem?.parentId === treeItem.id) {
536
+ this._focusKeyManager.setActiveItem(itemIndex + 1);
134
537
  }
538
+ return;
135
539
  }
540
+ treeItem.expanded = true;
541
+ this._cdr.detectChanges();
136
542
  }
137
543
  /** @hidden */
138
- editClicked(row) {
139
- this.editRowClicked.emit(row);
544
+ _collapseTreeSection(treeItem) {
545
+ if (!treeItem.expanded && treeItem.parentId) {
546
+ const parentItemIndex = this._sortedTreeItems.findIndex((item) => item.id === treeItem.parentId);
547
+ if (parentItemIndex > -1) {
548
+ this._focusKeyManager.setActiveItem(parentItemIndex);
549
+ return;
550
+ }
551
+ }
552
+ treeItem.expanded = false;
553
+ this._cdr.detectChanges();
140
554
  }
141
555
  /** @hidden */
142
- deleteClicked(row) {
143
- this.deleteRowClicked.emit(row);
556
+ _openDataStream() {
557
+ this._dsSubscription?.unsubscribe();
558
+ this._dsSubscription = new Subscription();
559
+ this._dsSubscription.add(this._dataSourceDirective.dataSourceProvider?.dataRequested.subscribe(this.dataRequested));
560
+ this._dsSubscription.add(this._dataSourceDirective.dataSourceProvider?.dataReceived.subscribe(this.dataReceived));
561
+ this._dsSubscription.add(this._dataSourceDirective.dataSourceProvider?.dataReceived
562
+ .pipe(filter((received) => received), switchMap(() => this._dataSourceDirective.dataChanged$))
563
+ .subscribe((data) => {
564
+ this._initialDataLoaded = true;
565
+ this._items = this._treeService.normalizeTreeItems(data);
566
+ this.buildComponentCssClass();
567
+ this._cdr.markForCheck();
568
+ }));
569
+ this._dataSourceDirective.dataSourceProvider?.match();
570
+ }
571
+ /**
572
+ * @hidden
573
+ * Select list interface method implementation.
574
+ * Sets value for control value accessor and emits it.
575
+ * @param value value of the selection.
576
+ */
577
+ onChange(value) {
578
+ this._cvaDirective.setValue(value, true);
144
579
  }
145
580
  }
146
581
  TreeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TreeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
147
- TreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: TreeComponent, selector: "fd-tree", inputs: { headers: "headers", treeData: "treeData", hideAll: "hideAll", displayTreeActions: "displayTreeActions" }, outputs: { editRowClicked: "editRowClicked", deleteRowClicked: "deleteRowClicked" }, viewQueries: [{ propertyName: "treeChildren", predicate: TreeChildComponent, descendants: true }], ngImport: i0, template: "<div class=\"fd-tree fd-tree--header\" *ngIf=\"headers.length > 0\">\n <div class=\"fd-tree__row fd-tree__row--header\">\n <div class=\"fd-tree__col fd-tree__col--control\">\n <button\n (click)=\"toggleDisplayAll()\"\n class=\"fd-tree__control\"\n aria-label=\"Expand all\"\n [class.is-pressed]=\"!hideAll\"\n [attr.aria-pressed]=\"!hideAll\"\n ></button>\n {{ headers[0] }}\n </div>\n <div class=\"fd-tree__col\" *ngFor=\"let header of headers | slice: 1\">\n {{ header }}\n </div>\n <div class=\"fd-tree__col fd-tree__col--actions\"></div>\n </div>\n</div>\n<ul class=\"fd-tree\" id=\"ENusD653\" role=\"tree\">\n <fd-tree-child\n (editClicked)=\"editClicked($event)\"\n (deleteClicked)=\"deleteClicked($event)\"\n [displayTreeActions]=\"displayTreeActions\"\n *ngFor=\"let row of treeData\"\n [row]=\"row\"\n ></fd-tree-child>\n</ul>\n", styles: ["/*!\n * Fundamental Library Styles v0.28.3\n * Copyright (c) 2023 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-tree{--fdTree_Button_Spacing:var(--fdList_Button_Spacing);--fdTree_Expander_Size:2.75rem;--fdTree_Expander_Icon_Font_Size:var(--sapFontLargeSize);--fdTree_Item_Height:2.75rem;--fdTree_Item_Font_Size:var(--sapFontLargeSize);--fdTree_Item_Wrap_Text_Line_Height:1.4;-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;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);list-style-type:none;margin:0;padding:0;width:100%}.fd-tree[class*=-compact],.fd-tree[class*=-condensed],[class*=-compact] .fd-tree:not([class*=-cozy]),[class*=-condensed] .fd-tree:not([class*=-cozy]){--fdTree_Expander_Size:2rem;--fdTree_Expander_Icon_Font_Size:var(--sapFontSmallSize);--fdTree_Item_Height:2rem;--fdTree_Item_Font_Size:var(--sapFontSize);--fdTree_Item_Wrap_Text_Line_Height:1.4}.fd-tree .has-highlight-indicator{--fdTree_Item_Highlight_Color:var(--sapInformationBorderColor);box-shadow:inset .375rem 0 0 0 var(--fdTree_Item_Highlight_Color)}.fd-tree .has-highlight-indicator--error{--fdTree_Item_Highlight_Color:var(--sapErrorBorderColor)}.fd-tree .has-highlight-indicator--warning{--fdTree_Item_Highlight_Color:var(--sapWarningBorderColor)}.fd-tree .has-highlight-indicator--success{--fdTree_Item_Highlight_Color:var(--sapSuccessBorderColor)}.fd-tree .has-highlight-indicator[dir=rtl],[dir=rtl] .fd-tree .has-highlight-indicator{box-shadow:inset -.375rem 0 0 0 var(--fdTree_Item_Highlight_Color)}.fd-tree .has-highlight-indicator.is-navigated{box-shadow:inset -.1875rem 0 0 0 var(--sapSelectedColor),inset .375rem 0 0 0 var(--fdTree_Item_Highlight_Color)}.fd-tree .has-highlight-indicator.is-navigated[dir=rtl],[dir=rtl] .fd-tree .has-highlight-indicator.is-navigated{box-shadow:inset .1875rem 0 0 0 var(--sapSelectedColor),inset -.375rem 0 0 0 var(--fdTree_Item_Highlight_Color)}.fd-tree .fd-tree__item .fd-tree__item-container .fd-tree__expander{margin-left:var(--fdTree_Item_Level_Spacing)}.fd-tree .fd-tree__item .fd-tree__item-container .fd-tree__expander[dir=rtl],[dir=rtl] .fd-tree .fd-tree__item .fd-tree__item-container .fd-tree__expander{margin-left:0;margin-right:var(--fdTree_Item_Level_Spacing)}.fd-tree .fd-tree__item .fd-tree__item-container .fd-form-item:first-child,.fd-tree .fd-tree__item .fd-tree__item-container .fd-tree__content{margin-left:calc(var(--fdTree_Item_Level_Spacing, 0rem) + var(--fdTree_Expander_Size))}.fd-tree .fd-tree__item .fd-tree__item-container .fd-form-item:first-child[dir=rtl],.fd-tree .fd-tree__item .fd-tree__item-container .fd-tree__content[dir=rtl],[dir=rtl] .fd-tree .fd-tree__item .fd-tree__item-container .fd-form-item:first-child,[dir=rtl] .fd-tree .fd-tree__item .fd-tree__item-container .fd-tree__content{margin-left:0;margin-right:calc(var(--fdTree_Item_Level_Spacing, 0rem) + var(--fdTree_Expander_Size))}.fd-tree .fd-tree__item .fd-tree__item-container .fd-form-item+.fd-tree__content,.fd-tree .fd-tree__item .fd-tree__item-container .fd-tree__expander+.fd-tree__content{margin-left:0}.fd-tree .fd-tree__item .fd-tree__item-container .fd-form-item+.fd-tree__content[dir=rtl],.fd-tree .fd-tree__item .fd-tree__item-container .fd-tree__expander+.fd-tree__content[dir=rtl],[dir=rtl] .fd-tree .fd-tree__item .fd-tree__item-container .fd-form-item+.fd-tree__content,[dir=rtl] .fd-tree .fd-tree__item .fd-tree__item-container .fd-tree__expander+.fd-tree__content{margin-left:0;margin-right:0}.fd-tree.fd-tree--independent-multi-selection .fd-tree__item .fd-tree__item-container .fd-form-item:first-child{margin-left:0}.fd-tree.fd-tree--independent-multi-selection .fd-tree__item .fd-tree__item-container .fd-form-item:first-child[dir=rtl],[dir=rtl] .fd-tree.fd-tree--independent-multi-selection .fd-tree__item .fd-tree__item-container .fd-form-item:first-child{margin-left:0;margin-right:0}.fd-tree.fd-tree--independent-multi-selection .fd-tree__item .fd-tree__item-container .fd-form-item:first-child+.fd-tree__content{margin-left:calc(var(--fdTree_Item_Level_Spacing, 0rem) + var(--fdTree_Expander_Size))}.fd-tree.fd-tree--independent-multi-selection .fd-tree__item .fd-tree__item-container .fd-form-item:first-child+.fd-tree__content[dir=rtl],[dir=rtl] .fd-tree.fd-tree--independent-multi-selection .fd-tree__item .fd-tree__item-container .fd-form-item:first-child+.fd-tree__content{margin-left:0;margin-right:calc(var(--fdTree_Item_Level_Spacing, 0rem) + var(--fdTree_Expander_Size))}.fd-tree.expanded-level-1 .fd-tree__item[aria-level=\"2\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-2 .fd-tree__item[aria-level=\"2\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-2 .fd-tree__item[aria-level=\"3\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-3 .fd-tree__item[aria-level=\"2\"],.fd-tree.expanded-level-4 .fd-tree__item[aria-level=\"2\"],.fd-tree.expanded-level-5 .fd-tree__item[aria-level=\"2\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-3 .fd-tree__item[aria-level=\"3\"],.fd-tree.expanded-level-4 .fd-tree__item[aria-level=\"3\"],.fd-tree.expanded-level-5 .fd-tree__item[aria-level=\"3\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-3 .fd-tree__item[aria-level=\"4\"],.fd-tree.expanded-level-4 .fd-tree__item[aria-level=\"4\"],.fd-tree.expanded-level-5 .fd-tree__item[aria-level=\"4\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-3 .fd-tree__item[aria-level=\"5\"],.fd-tree.expanded-level-4 .fd-tree__item[aria-level=\"5\"],.fd-tree.expanded-level-5 .fd-tree__item[aria-level=\"5\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-3 .fd-tree__item[aria-level=\"6\"],.fd-tree.expanded-level-4 .fd-tree__item[aria-level=\"6\"],.fd-tree.expanded-level-5 .fd-tree__item[aria-level=\"6\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\"1\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\"2\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\"3\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\"4\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\"5\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\"6\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\"7\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\"8\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\"9\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\"10\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\"11\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\"12\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\"1\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\"2\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\"3\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\"4\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\"5\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\"6\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\"7\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\"8\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\"9\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\"10\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\"11\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\"12\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\"1\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\"2\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\"3\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\"4\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\"5\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\"6\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\"7\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\"8\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\"9\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\"10\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\"11\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\"12\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\"1\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\"2\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\"3\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\"4\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\"5\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\"6\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\"7\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\"8\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\"9\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\"10\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\"11\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\"12\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\"1\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\"2\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\"3\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\"4\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\"5\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\"6\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\"7\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\"8\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\"9\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\"10\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\"11\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\"12\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\"1\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\"2\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\"3\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\"4\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\"5\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\"6\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\"7\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\"8\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\"9\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\"10\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\"11\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\"12\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\"1\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\"2\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\"3\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\"4\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\"5\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\"6\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\"7\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\"8\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\"9\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\"10\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\"11\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\"12\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree .fd-tree__item-container .fd-form-item:first-child label,.fd-tree .fd-tree__item-container .fd-tree__expander+.fd-form-item label{margin:0}.fd-tree .fd-tree__expander+.fd-tree__content{margin-left:0}.fd-tree .fd-tree__expander+.fd-tree__content[dir=rtl],[dir=rtl] .fd-tree .fd-tree__expander+.fd-tree__content{margin-left:0;margin-right:0}.fd-tree:after,.fd-tree:before{box-sizing:inherit;font-size:inherit}.fd-tree[aria-hidden=true]{display:none}.fd-tree__item{-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;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-tree__item:after,.fd-tree__item:before{box-sizing:inherit;font-size:inherit}.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container{background:var(--sapList_Background);border-bottom:var(--sapList_BorderWidth) solid var(--sapList_BorderColor)}.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-selected,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container[aria-selected=true]{background:var(--sapList_SelectionBackgroundColor);border-bottom:var(--sapList_BorderWidth) solid var(--sapList_SelectionBorderColor)}.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active{cursor:pointer;position:relative}.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-hover,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:hover{background:var(--sapList_Hover_Background)}.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-selected,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active[aria-selected=true]{background:var(--sapList_SelectionBackgroundColor);border-bottom:var(--sapList_BorderWidth) solid var(--sapList_SelectionBorderColor)}.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-active,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-active.is-hover,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-active.is-selected,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-active.is-selected.is-hover,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-active.is-selected:hover,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-active:hover,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-active[aria-selected=true],.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-active[aria-selected=true].is-hover,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-active[aria-selected=true]:hover,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:active,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:active.is-hover,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:active.is-selected,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:active.is-selected.is-hover,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:active.is-selected:hover,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:active:hover,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:active[aria-selected=true],.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:active[aria-selected=true].is-hover,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:active[aria-selected=true]:hover{background:var(--sapList_Active_Background)}.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-focus,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:focus{outline:none;pointer-events:all}.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-focus:before,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:focus:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);bottom:.125rem;content:\"\";display:block;inset:.125rem .125rem .625rem;pointer-events:none;position:absolute}.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-focus.is-active:before,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-focus:active:before,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:focus.is-active:before,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:focus:active:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdList_Active_Outline_Color)}.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-active .fd-button,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-active .fd-tree__icon [class*=sap-icon],.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-active .fd-tree__icon[class*=sap-icon],.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-active .fd-tree__text,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:active .fd-button,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:active .fd-tree__icon [class*=sap-icon],.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:active .fd-tree__icon[class*=sap-icon],.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:active .fd-tree__text{color:var(--sapList_Active_TextColor)}.fd-tree__item-container{-webkit-box-sizing:border-box;align-items:center;background:var(--sapList_AlternatingBackground);border:0;border-bottom:var(--sapList_BorderWidth) solid transparent;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;min-height:var(--fdTree_Item_Height);padding:0 1rem 0 0;position:relative;width:100%}.fd-tree__item-container:after,.fd-tree__item-container:before{box-sizing:inherit;font-size:inherit}.fd-tree__item-container[dir=rtl],[dir=rtl] .fd-tree__item-container{padding-left:1rem;padding-right:0}.fd-tree__item-container.is-selected,.fd-tree__item-container[aria-selected=true]{background:var(--sapList_SelectionBackgroundColor);border-bottom:var(--sapList_BorderWidth) solid var(--sapList_SelectionBorderColor)}.fd-tree__item-container.is-navigated{box-shadow:inset -.1875rem 0 0 0 var(--sapSelectedColor)}.fd-tree__item-container.is-navigated[dir=rtl],[dir=rtl] .fd-tree__item-container.is-navigated{box-shadow:inset .1875rem 0 0 0 var(--sapSelectedColor)}.fd-tree__item-container.is-focus,.fd-tree__item-container:focus{outline:none;pointer-events:all}.fd-tree__item-container.is-focus:before,.fd-tree__item-container:focus:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);bottom:.125rem;content:\"\";display:block;inset:.125rem .125rem .0625rem;pointer-events:none;position:absolute}.fd-tree__item-container.is-focus.is-active:before,.fd-tree__item-container.is-focus:active:before,.fd-tree__item-container:focus.is-active:before,.fd-tree__item-container:focus:active:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdList_Active_Outline_Color)}.fd-tree__item-container--active{cursor:pointer;position:relative}.fd-tree__item-container--active.is-hover,.fd-tree__item-container--active:hover{background:var(--sapList_Hover_Background)}.fd-tree__item-container--active.is-selected,.fd-tree__item-container--active[aria-selected=true]{background:var(--sapList_SelectionBackgroundColor);border-bottom:var(--sapList_BorderWidth) solid var(--sapList_SelectionBorderColor)}.fd-tree__item-container--active.is-active,.fd-tree__item-container--active.is-active.is-hover,.fd-tree__item-container--active.is-active.is-selected,.fd-tree__item-container--active.is-active.is-selected.is-hover,.fd-tree__item-container--active.is-active.is-selected:hover,.fd-tree__item-container--active.is-active:hover,.fd-tree__item-container--active.is-active[aria-selected=true],.fd-tree__item-container--active.is-active[aria-selected=true].is-hover,.fd-tree__item-container--active.is-active[aria-selected=true]:hover,.fd-tree__item-container--active:active,.fd-tree__item-container--active:active.is-hover,.fd-tree__item-container--active:active.is-selected,.fd-tree__item-container--active:active.is-selected.is-hover,.fd-tree__item-container--active:active.is-selected:hover,.fd-tree__item-container--active:active:hover,.fd-tree__item-container--active:active[aria-selected=true],.fd-tree__item-container--active:active[aria-selected=true].is-hover,.fd-tree__item-container--active:active[aria-selected=true]:hover{background:var(--sapList_Active_Background)}.fd-tree__item-container--active.is-focus,.fd-tree__item-container--active:focus{outline:none;pointer-events:all}.fd-tree__item-container--active.is-focus:before,.fd-tree__item-container--active:focus:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);bottom:.125rem;content:\"\";display:block;inset:.125rem .125rem .625rem;pointer-events:none;position:absolute}.fd-tree__item-container--active.is-focus.is-active:before,.fd-tree__item-container--active.is-focus:active:before,.fd-tree__item-container--active:focus.is-active:before,.fd-tree__item-container--active:focus:active:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdList_Active_Outline_Color)}.fd-tree__item-container--active.is-active .fd-button,.fd-tree__item-container--active.is-active .fd-tree__icon [class*=sap-icon],.fd-tree__item-container--active.is-active .fd-tree__icon[class*=sap-icon],.fd-tree__item-container--active.is-active .fd-tree__text,.fd-tree__item-container--active:active .fd-button,.fd-tree__item-container--active:active .fd-tree__icon [class*=sap-icon],.fd-tree__item-container--active:active .fd-tree__icon[class*=sap-icon],.fd-tree__item-container--active:active .fd-tree__text{color:var(--sapList_Active_TextColor)}.fd-tree__button{margin-left:var(--fdTree_Button_Spacing)}.fd-tree__button[dir=rtl],[dir=rtl] .fd-tree__button{margin-left:0;margin-right:var(--fdTree_Button_Spacing)}.fd-tree__expander{-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:transparent;background-color:transparent;background-image:none;border:0;border-radius:var(--sapButton_BorderCornerRadius);box-sizing:border-box;color:var(--sapTextColor);color:var(--sapButton_IconColor);cursor:pointer;display:inline-block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;min-height:var(--fdTree_Expander_Size);min-width:var(--fdTree_Expander_Size);outline:0;padding:0;text-decoration:none;user-select:none;vertical-align:middle;white-space:nowrap}.fd-tree__expander:after,.fd-tree__expander:before{box-sizing:inherit;font-size:inherit}.fd-tree__expander::-moz-focus-inner{border:0}.fd-tree__expander.is-focus,.fd-tree__expander:focus{outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);outline-offset:var(--fdButton_Outline_Offset);z-index:5}.fd-tree__expander .fd-tree__icon{-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;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-tree__expander .fd-tree__icon:after,.fd-tree__expander .fd-tree__icon:before{box-sizing:inherit;font-size:inherit}.fd-tree__expander .fd-tree__icon [class*=sap-icon],.fd-tree__expander .fd-tree__icon[class*=sap-icon]{-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;color:var(--sapButton_IconColor);display:flex;font-size:var(--fdTree_Expander_Icon_Font_Size);justify-content:center}.fd-tree__expander.is-expanded,.fd-tree__expander[aria-expanded=true]{border-bottom:none}.fd-tree__content{-webkit-box-sizing:border-box;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;min-height:var(--fdTree_Item_Height);overflow:hidden;padding:0;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;width:100%}.fd-tree__content:after,.fd-tree__content:before{box-sizing:inherit;font-size:inherit}.fd-tree__content--wrap,.fd-tree__content--wrap .fd-tree__text{overflow:visible;text-overflow:clip;white-space:normal}.fd-tree__content--wrap .fd-tree__text{line-height:var(--fdTree_Item_Wrap_Text_Line_Height)}.fd-tree__icon{line-height:var(--fdTree_Expander_Size);min-height:var(--fdTree_Expander_Size);min-width:var(--fdTree_Expander_Size)}.fd-tree__icon,.fd-tree__icon [class*=sap-icon],.fd-tree__icon[class*=sap-icon]{-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:flex;justify-content:center}.fd-tree__icon [class*=sap-icon],.fd-tree__icon[class*=sap-icon]{color:var(--sapContent_NonInteractiveIconColor);font-size:1.125rem}.fd-tree__icon--navigation [class*=sap-icon],.fd-tree__icon--navigation[class*=sap-icon]{font-size:.75rem;min-width:2.5rem}.fd-tree__icon--navigation:last-child{margin-right:-1rem}.fd-tree__icon--navigation[dir=rtl]:last-child,[dir=rtl] .fd-tree__icon--navigation:last-child{margin-left:-1rem;margin-right:0}.fd-tree__text{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapList_TextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--fdTree_Item_Font_Size);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);line-height:var(--fdTree_Item_Height);margin:0;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap;width:100%}.fd-tree__text:after,.fd-tree__text:before{box-sizing:inherit;font-size:inherit}.fd-tree--no-border .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container{border-bottom:var(--sapList_BorderWidth) solid transparent}.fd-tree--no-border .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-selected,.fd-tree--no-border .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container[aria-selected=true]{border-bottom:var(--sapList_BorderWidth) solid var(--sapList_SelectionBorderColor)}.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container{cursor:pointer;position:relative}.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-hover,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:hover{background:var(--sapList_Hover_Background)}.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-selected,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container[aria-selected=true]{background:var(--sapList_SelectionBackgroundColor);border-bottom:var(--sapList_BorderWidth) solid var(--sapList_SelectionBorderColor)}.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-active,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-active.is-hover,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-active.is-selected,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-active.is-selected.is-hover,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-active.is-selected:hover,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-active:hover,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-active[aria-selected=true],.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-active[aria-selected=true].is-hover,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-active[aria-selected=true]:hover,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:active,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:active.is-hover,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:active.is-selected,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:active.is-selected.is-hover,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:active.is-selected:hover,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:active:hover,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:active[aria-selected=true],.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:active[aria-selected=true].is-hover,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:active[aria-selected=true]:hover{background:var(--sapList_Active_Background)}.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-focus,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:focus{outline:none;pointer-events:all}.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-focus:before,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:focus:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);bottom:.125rem;content:\"\";display:block;inset:.125rem .125rem .625rem;pointer-events:none;position:absolute}.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-focus.is-active:before,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-focus:active:before,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:focus.is-active:before,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:focus:active:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdList_Active_Outline_Color)}.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-active .fd-button,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-active .fd-tree__icon [class*=sap-icon],.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-active .fd-tree__icon[class*=sap-icon],.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-active .fd-tree__text,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:active .fd-button,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:active .fd-tree__icon [class*=sap-icon],.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:active .fd-tree__icon[class*=sap-icon],.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:active .fd-tree__text{color:var(--sapList_Active_TextColor)}.fd-tree--active .fd-tree__item-container{cursor:pointer;position:relative}.fd-tree--active .fd-tree__item-container.is-hover,.fd-tree--active .fd-tree__item-container:hover{background:var(--sapList_Hover_Background)}.fd-tree--active .fd-tree__item-container.is-selected,.fd-tree--active .fd-tree__item-container[aria-selected=true]{background:var(--sapList_SelectionBackgroundColor);border-bottom:var(--sapList_BorderWidth) solid var(--sapList_SelectionBorderColor)}.fd-tree--active .fd-tree__item-container.is-active,.fd-tree--active .fd-tree__item-container.is-active.is-hover,.fd-tree--active .fd-tree__item-container.is-active.is-selected,.fd-tree--active .fd-tree__item-container.is-active.is-selected.is-hover,.fd-tree--active .fd-tree__item-container.is-active.is-selected:hover,.fd-tree--active .fd-tree__item-container.is-active:hover,.fd-tree--active .fd-tree__item-container.is-active[aria-selected=true],.fd-tree--active .fd-tree__item-container.is-active[aria-selected=true].is-hover,.fd-tree--active .fd-tree__item-container.is-active[aria-selected=true]:hover,.fd-tree--active .fd-tree__item-container:active,.fd-tree--active .fd-tree__item-container:active.is-hover,.fd-tree--active .fd-tree__item-container:active.is-selected,.fd-tree--active .fd-tree__item-container:active.is-selected.is-hover,.fd-tree--active .fd-tree__item-container:active.is-selected:hover,.fd-tree--active .fd-tree__item-container:active:hover,.fd-tree--active .fd-tree__item-container:active[aria-selected=true],.fd-tree--active .fd-tree__item-container:active[aria-selected=true].is-hover,.fd-tree--active .fd-tree__item-container:active[aria-selected=true]:hover{background:var(--sapList_Active_Background)}.fd-tree--active .fd-tree__item-container.is-focus,.fd-tree--active .fd-tree__item-container:focus{outline:none;pointer-events:all}.fd-tree--active .fd-tree__item-container.is-focus:before,.fd-tree--active .fd-tree__item-container:focus:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);bottom:.125rem;content:\"\";display:block;inset:.125rem .125rem .625rem;pointer-events:none;position:absolute}.fd-tree--active .fd-tree__item-container.is-focus.is-active:before,.fd-tree--active .fd-tree__item-container.is-focus:active:before,.fd-tree--active .fd-tree__item-container:focus.is-active:before,.fd-tree--active .fd-tree__item-container:focus:active:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdList_Active_Outline_Color)}.fd-tree--active .fd-tree__item-container.is-active .fd-button,.fd-tree--active .fd-tree__item-container.is-active .fd-tree__icon [class*=sap-icon],.fd-tree--active .fd-tree__item-container.is-active .fd-tree__icon[class*=sap-icon],.fd-tree--active .fd-tree__item-container.is-active .fd-tree__text,.fd-tree--active .fd-tree__item-container:active .fd-button,.fd-tree--active .fd-tree__item-container:active .fd-tree__icon [class*=sap-icon],.fd-tree--active .fd-tree__item-container:active .fd-tree__icon[class*=sap-icon],.fd-tree--active .fd-tree__item-container:active .fd-tree__text{color:var(--sapList_Active_TextColor)}.fd-tree--no-data .fd-tree__text{text-align:center}\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: TreeChildComponent, selector: "fd-tree-child", inputs: ["row", "hideChildren", "displayTreeActions"], outputs: ["editClicked", "deleteClicked"] }, { kind: "pipe", type: i1.SlicePipe, name: "slice" }], encapsulation: i0.ViewEncapsulation.None });
582
+ TreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: TreeComponent, selector: "fd-tree", inputs: { class: "class", noBorder: "noBorder", selection: "selection", selectionPlacement: "selectionPlacement", independentSections: "independentSections", navigationIndicator: "navigationIndicator" }, outputs: { dataRequested: "dataRequested", dataReceived: "dataReceived", selectedChange: "selectedChange" }, host: { attributes: { "role": "tree" }, listeners: { "keydown": "_onKeyUp($event)" } }, providers: [
583
+ contentDensityObserverProviders(),
584
+ TreeService,
585
+ SelectionService,
586
+ DestroyedService,
587
+ {
588
+ provide: FD_DATA_SOURCE_TRANSFORMER,
589
+ useClass: TreeDataSourceParser
590
+ }
591
+ ], queries: [{ propertyName: "treeItemDef", first: true, predicate: TreeItemDefDirective, descendants: true }, { propertyName: "_projectedTreeItems", predicate: BaseTreeItem, descendants: true }], viewQueries: [{ propertyName: "_treeItemDirectives", predicate: TreeItemDirective, descendants: true }], usesOnChanges: true, hostDirectives: [{ directive: i1.DataSourceDirective, inputs: ["dataSource", "dataSource"], outputs: ["dataChanged", "dataChanged"] }, { directive: i2.CvaDirective, inputs: ["name", "name", "id", "id", "state", "state", "stateMessage", "stateMessage", "disabled", "disabled", "readonly", "readonly"] }], ngImport: i0, template: "<ng-template #dataSourceRenderer>\n <ng-template\n [ngTemplateOutlet]=\"!_initialDataLoaded ? loadingRenderer : dataLoadedTpl\"\n [ngTemplateOutletContext]=\"{ $implicit: 1 }\"\n ></ng-template>\n\n <ng-template #loadingRenderer let-level>\n <div *fdkRepeat=\"5\" role=\"treeitem\" [attr.aria-level]=\"level\" class=\"fd-tree__item\">\n <div class=\"fd-tree__item-container\">\n <div class=\"fd-tree__content\">\n <span class=\"fd-tree__text\">\n <fd-skeleton type=\"text\" width=\"100px\" textLines=\"1\"></fd-skeleton>\n </span>\n </div>\n </div>\n </div>\n </ng-template>\n\n <ng-template #dataLoadedTpl>\n <ng-container *ngIf=\"_items.length > 0 && treeItemDef; else noDataTpl\">\n <ng-container *ngFor=\"let item of _items; trackBy: _trackFn\">\n <ng-template\n [ngTemplateOutlet]=\"renderer\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-template>\n </ng-container>\n </ng-container>\n </ng-template>\n\n <ng-template #renderer let-item>\n <ng-container fdTreeItem fdkSelectableItem #treeItemDirective=\"fdTreeItem\">\n <ng-template\n [ngTemplateOutlet]=\"item.renderer\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n [ngTemplateOutletInjector]=\"treeItemDirective.injector\"\n ></ng-template>\n </ng-container>\n <ng-container\n *ngIf=\"\n treeItemDirective.treeItem?.hasDsChildren &&\n !!treeItemDirective.treeItem?.expanded &&\n !treeItemDirective.treeItem?.childrenLoaded\n \"\n >\n <ng-template\n [ngTemplateOutlet]=\"loadingRenderer\"\n [ngTemplateOutletContext]=\"{ $implicit: item.level + 1 }\"\n ></ng-template>\n </ng-container>\n <ng-container *ngIf=\"treeItemDirective.treeItem?.children as childItems\">\n <div class=\"fd-tree\" *ngIf=\"childItems && childItems.length > 0 && !!treeItemDirective?.treeItem?.expanded\">\n <ng-container *ngFor=\"let child of childItems; trackBy: _trackFn\">\n <ng-template\n [ngTemplateOutlet]=\"renderer\"\n [ngTemplateOutletContext]=\"{ $implicit: child }\"\n ></ng-template>\n </ng-container>\n </div>\n </ng-container>\n </ng-template>\n\n <ng-template #noDataTpl>\n <div role=\"treeitem\" aria-level=\"1\" class=\"fd-tree__item\">\n <div class=\"fd-tree__item-container\">\n <div class=\"fd-tree__content\">\n <span class=\"fd-tree__text\">{{ 'coreTree.noData' | fdTranslate }}</span>\n </div>\n </div>\n </div>\n </ng-template>\n</ng-template>\n<ng-template #projectedContentRenderer>\n <ng-content select=\"fd-tree-item\"></ng-content>\n</ng-template>\n\n<ng-template [ngTemplateOutlet]=\"treeItemDef ? dataSourceRenderer : projectedContentRenderer\"></ng-template>\n", styles: ["/*!\n * Fundamental Library Styles v0.28.3\n * Copyright (c) 2023 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-tree{--fdTree_Button_Spacing:var(--fdList_Button_Spacing);--fdTree_Expander_Size:2.75rem;--fdTree_Expander_Icon_Font_Size:var(--sapFontLargeSize);--fdTree_Item_Height:2.75rem;--fdTree_Item_Font_Size:var(--sapFontLargeSize);--fdTree_Item_Wrap_Text_Line_Height:1.4;-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;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);list-style-type:none;margin:0;padding:0;width:100%}.fd-tree[class*=-compact],.fd-tree[class*=-condensed],[class*=-compact] .fd-tree:not([class*=-cozy]),[class*=-condensed] .fd-tree:not([class*=-cozy]){--fdTree_Expander_Size:2rem;--fdTree_Expander_Icon_Font_Size:var(--sapFontSmallSize);--fdTree_Item_Height:2rem;--fdTree_Item_Font_Size:var(--sapFontSize);--fdTree_Item_Wrap_Text_Line_Height:1.4}.fd-tree .has-highlight-indicator{--fdTree_Item_Highlight_Color:var(--sapInformationBorderColor);box-shadow:inset .375rem 0 0 0 var(--fdTree_Item_Highlight_Color)}.fd-tree .has-highlight-indicator--error{--fdTree_Item_Highlight_Color:var(--sapErrorBorderColor)}.fd-tree .has-highlight-indicator--warning{--fdTree_Item_Highlight_Color:var(--sapWarningBorderColor)}.fd-tree .has-highlight-indicator--success{--fdTree_Item_Highlight_Color:var(--sapSuccessBorderColor)}.fd-tree .has-highlight-indicator[dir=rtl],[dir=rtl] .fd-tree .has-highlight-indicator{box-shadow:inset -.375rem 0 0 0 var(--fdTree_Item_Highlight_Color)}.fd-tree .has-highlight-indicator.is-navigated{box-shadow:inset -.1875rem 0 0 0 var(--sapSelectedColor),inset .375rem 0 0 0 var(--fdTree_Item_Highlight_Color)}.fd-tree .has-highlight-indicator.is-navigated[dir=rtl],[dir=rtl] .fd-tree .has-highlight-indicator.is-navigated{box-shadow:inset .1875rem 0 0 0 var(--sapSelectedColor),inset -.375rem 0 0 0 var(--fdTree_Item_Highlight_Color)}.fd-tree .fd-tree__item .fd-tree__item-container .fd-tree__expander{margin-left:var(--fdTree_Item_Level_Spacing)}.fd-tree .fd-tree__item .fd-tree__item-container .fd-tree__expander[dir=rtl],[dir=rtl] .fd-tree .fd-tree__item .fd-tree__item-container .fd-tree__expander{margin-left:0;margin-right:var(--fdTree_Item_Level_Spacing)}.fd-tree .fd-tree__item .fd-tree__item-container .fd-form-item:first-child,.fd-tree .fd-tree__item .fd-tree__item-container .fd-tree__content{margin-left:calc(var(--fdTree_Item_Level_Spacing, 0rem) + var(--fdTree_Expander_Size))}.fd-tree .fd-tree__item .fd-tree__item-container .fd-form-item:first-child[dir=rtl],.fd-tree .fd-tree__item .fd-tree__item-container .fd-tree__content[dir=rtl],[dir=rtl] .fd-tree .fd-tree__item .fd-tree__item-container .fd-form-item:first-child,[dir=rtl] .fd-tree .fd-tree__item .fd-tree__item-container .fd-tree__content{margin-left:0;margin-right:calc(var(--fdTree_Item_Level_Spacing, 0rem) + var(--fdTree_Expander_Size))}.fd-tree .fd-tree__item .fd-tree__item-container .fd-form-item+.fd-tree__content,.fd-tree .fd-tree__item .fd-tree__item-container .fd-tree__expander+.fd-tree__content{margin-left:0}.fd-tree .fd-tree__item .fd-tree__item-container .fd-form-item+.fd-tree__content[dir=rtl],.fd-tree .fd-tree__item .fd-tree__item-container .fd-tree__expander+.fd-tree__content[dir=rtl],[dir=rtl] .fd-tree .fd-tree__item .fd-tree__item-container .fd-form-item+.fd-tree__content,[dir=rtl] .fd-tree .fd-tree__item .fd-tree__item-container .fd-tree__expander+.fd-tree__content{margin-left:0;margin-right:0}.fd-tree.fd-tree--independent-multi-selection .fd-tree__item .fd-tree__item-container .fd-form-item:first-child{margin-left:0}.fd-tree.fd-tree--independent-multi-selection .fd-tree__item .fd-tree__item-container .fd-form-item:first-child[dir=rtl],[dir=rtl] .fd-tree.fd-tree--independent-multi-selection .fd-tree__item .fd-tree__item-container .fd-form-item:first-child{margin-left:0;margin-right:0}.fd-tree.fd-tree--independent-multi-selection .fd-tree__item .fd-tree__item-container .fd-form-item:first-child+.fd-tree__content{margin-left:calc(var(--fdTree_Item_Level_Spacing, 0rem) + var(--fdTree_Expander_Size))}.fd-tree.fd-tree--independent-multi-selection .fd-tree__item .fd-tree__item-container .fd-form-item:first-child+.fd-tree__content[dir=rtl],[dir=rtl] .fd-tree.fd-tree--independent-multi-selection .fd-tree__item .fd-tree__item-container .fd-form-item:first-child+.fd-tree__content{margin-left:0;margin-right:calc(var(--fdTree_Item_Level_Spacing, 0rem) + var(--fdTree_Expander_Size))}.fd-tree.expanded-level-1 .fd-tree__item[aria-level=\"2\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-2 .fd-tree__item[aria-level=\"2\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-2 .fd-tree__item[aria-level=\"3\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-3 .fd-tree__item[aria-level=\"2\"],.fd-tree.expanded-level-4 .fd-tree__item[aria-level=\"2\"],.fd-tree.expanded-level-5 .fd-tree__item[aria-level=\"2\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-3 .fd-tree__item[aria-level=\"3\"],.fd-tree.expanded-level-4 .fd-tree__item[aria-level=\"3\"],.fd-tree.expanded-level-5 .fd-tree__item[aria-level=\"3\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-3 .fd-tree__item[aria-level=\"4\"],.fd-tree.expanded-level-4 .fd-tree__item[aria-level=\"4\"],.fd-tree.expanded-level-5 .fd-tree__item[aria-level=\"4\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-3 .fd-tree__item[aria-level=\"5\"],.fd-tree.expanded-level-4 .fd-tree__item[aria-level=\"5\"],.fd-tree.expanded-level-5 .fd-tree__item[aria-level=\"5\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-3 .fd-tree__item[aria-level=\"6\"],.fd-tree.expanded-level-4 .fd-tree__item[aria-level=\"6\"],.fd-tree.expanded-level-5 .fd-tree__item[aria-level=\"6\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\"1\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\"2\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\"3\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\"4\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\"5\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\"6\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\"7\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\"8\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\"9\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\"10\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\"11\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\"12\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\"1\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\"2\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\"3\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\"4\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\"5\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\"6\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\"7\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\"8\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\"9\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\"10\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\"11\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\"12\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\"1\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\"2\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\"3\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\"4\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\"5\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\"6\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\"7\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\"8\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\"9\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\"10\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\"11\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\"12\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\"1\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\"2\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\"3\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\"4\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\"5\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\"6\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\"7\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\"8\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\"9\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\"10\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\"11\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\"12\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\"1\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\"2\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\"3\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\"4\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\"5\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\"6\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\"7\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\"8\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\"9\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\"10\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\"11\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\"12\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\"1\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\"2\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\"3\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\"4\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\"5\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\"6\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\"7\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\"8\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\"9\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\"10\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\"11\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\"12\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\"1\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\"2\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\"3\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\"4\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\"5\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\"6\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\"7\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\"8\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\"9\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\"10\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\"11\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\"12\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree .fd-tree__item-container .fd-form-item:first-child label,.fd-tree .fd-tree__item-container .fd-tree__expander+.fd-form-item label{margin:0}.fd-tree .fd-tree__expander+.fd-tree__content{margin-left:0}.fd-tree .fd-tree__expander+.fd-tree__content[dir=rtl],[dir=rtl] .fd-tree .fd-tree__expander+.fd-tree__content{margin-left:0;margin-right:0}.fd-tree:after,.fd-tree:before{box-sizing:inherit;font-size:inherit}.fd-tree[aria-hidden=true]{display:none}.fd-tree__item{-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;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-tree__item:after,.fd-tree__item:before{box-sizing:inherit;font-size:inherit}.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container{background:var(--sapList_Background);border-bottom:var(--sapList_BorderWidth) solid var(--sapList_BorderColor)}.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-selected,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container[aria-selected=true]{background:var(--sapList_SelectionBackgroundColor);border-bottom:var(--sapList_BorderWidth) solid var(--sapList_SelectionBorderColor)}.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active{cursor:pointer;position:relative}.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-hover,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:hover{background:var(--sapList_Hover_Background)}.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-selected,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active[aria-selected=true]{background:var(--sapList_SelectionBackgroundColor);border-bottom:var(--sapList_BorderWidth) solid var(--sapList_SelectionBorderColor)}.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-active,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-active.is-hover,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-active.is-selected,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-active.is-selected.is-hover,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-active.is-selected:hover,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-active:hover,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-active[aria-selected=true],.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-active[aria-selected=true].is-hover,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-active[aria-selected=true]:hover,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:active,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:active.is-hover,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:active.is-selected,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:active.is-selected.is-hover,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:active.is-selected:hover,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:active:hover,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:active[aria-selected=true],.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:active[aria-selected=true].is-hover,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:active[aria-selected=true]:hover{background:var(--sapList_Active_Background)}.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-focus,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:focus{outline:none;pointer-events:all}.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-focus:before,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:focus:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);bottom:.125rem;content:\"\";display:block;inset:.125rem .125rem .625rem;pointer-events:none;position:absolute}.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-focus.is-active:before,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-focus:active:before,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:focus.is-active:before,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:focus:active:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdList_Active_Outline_Color)}.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-active .fd-button,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-active .fd-tree__icon [class*=sap-icon],.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-active .fd-tree__icon[class*=sap-icon],.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-active .fd-tree__text,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:active .fd-button,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:active .fd-tree__icon [class*=sap-icon],.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:active .fd-tree__icon[class*=sap-icon],.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:active .fd-tree__text{color:var(--sapList_Active_TextColor)}.fd-tree__item-container{-webkit-box-sizing:border-box;align-items:center;background:var(--sapList_AlternatingBackground);border:0;border-bottom:var(--sapList_BorderWidth) solid transparent;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;min-height:var(--fdTree_Item_Height);padding:0 1rem 0 0;position:relative;width:100%}.fd-tree__item-container:after,.fd-tree__item-container:before{box-sizing:inherit;font-size:inherit}.fd-tree__item-container[dir=rtl],[dir=rtl] .fd-tree__item-container{padding-left:1rem;padding-right:0}.fd-tree__item-container.is-selected,.fd-tree__item-container[aria-selected=true]{background:var(--sapList_SelectionBackgroundColor);border-bottom:var(--sapList_BorderWidth) solid var(--sapList_SelectionBorderColor)}.fd-tree__item-container.is-navigated{box-shadow:inset -.1875rem 0 0 0 var(--sapSelectedColor)}.fd-tree__item-container.is-navigated[dir=rtl],[dir=rtl] .fd-tree__item-container.is-navigated{box-shadow:inset .1875rem 0 0 0 var(--sapSelectedColor)}.fd-tree__item-container.is-focus,.fd-tree__item-container:focus{outline:none;pointer-events:all}.fd-tree__item-container.is-focus:before,.fd-tree__item-container:focus:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);bottom:.125rem;content:\"\";display:block;inset:.125rem .125rem .0625rem;pointer-events:none;position:absolute}.fd-tree__item-container.is-focus.is-active:before,.fd-tree__item-container.is-focus:active:before,.fd-tree__item-container:focus.is-active:before,.fd-tree__item-container:focus:active:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdList_Active_Outline_Color)}.fd-tree__item-container--active{cursor:pointer;position:relative}.fd-tree__item-container--active.is-hover,.fd-tree__item-container--active:hover{background:var(--sapList_Hover_Background)}.fd-tree__item-container--active.is-selected,.fd-tree__item-container--active[aria-selected=true]{background:var(--sapList_SelectionBackgroundColor);border-bottom:var(--sapList_BorderWidth) solid var(--sapList_SelectionBorderColor)}.fd-tree__item-container--active.is-active,.fd-tree__item-container--active.is-active.is-hover,.fd-tree__item-container--active.is-active.is-selected,.fd-tree__item-container--active.is-active.is-selected.is-hover,.fd-tree__item-container--active.is-active.is-selected:hover,.fd-tree__item-container--active.is-active:hover,.fd-tree__item-container--active.is-active[aria-selected=true],.fd-tree__item-container--active.is-active[aria-selected=true].is-hover,.fd-tree__item-container--active.is-active[aria-selected=true]:hover,.fd-tree__item-container--active:active,.fd-tree__item-container--active:active.is-hover,.fd-tree__item-container--active:active.is-selected,.fd-tree__item-container--active:active.is-selected.is-hover,.fd-tree__item-container--active:active.is-selected:hover,.fd-tree__item-container--active:active:hover,.fd-tree__item-container--active:active[aria-selected=true],.fd-tree__item-container--active:active[aria-selected=true].is-hover,.fd-tree__item-container--active:active[aria-selected=true]:hover{background:var(--sapList_Active_Background)}.fd-tree__item-container--active.is-focus,.fd-tree__item-container--active:focus{outline:none;pointer-events:all}.fd-tree__item-container--active.is-focus:before,.fd-tree__item-container--active:focus:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);bottom:.125rem;content:\"\";display:block;inset:.125rem .125rem .625rem;pointer-events:none;position:absolute}.fd-tree__item-container--active.is-focus.is-active:before,.fd-tree__item-container--active.is-focus:active:before,.fd-tree__item-container--active:focus.is-active:before,.fd-tree__item-container--active:focus:active:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdList_Active_Outline_Color)}.fd-tree__item-container--active.is-active .fd-button,.fd-tree__item-container--active.is-active .fd-tree__icon [class*=sap-icon],.fd-tree__item-container--active.is-active .fd-tree__icon[class*=sap-icon],.fd-tree__item-container--active.is-active .fd-tree__text,.fd-tree__item-container--active:active .fd-button,.fd-tree__item-container--active:active .fd-tree__icon [class*=sap-icon],.fd-tree__item-container--active:active .fd-tree__icon[class*=sap-icon],.fd-tree__item-container--active:active .fd-tree__text{color:var(--sapList_Active_TextColor)}.fd-tree__button{margin-left:var(--fdTree_Button_Spacing)}.fd-tree__button[dir=rtl],[dir=rtl] .fd-tree__button{margin-left:0;margin-right:var(--fdTree_Button_Spacing)}.fd-tree__expander{-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:transparent;background-color:transparent;background-image:none;border:0;border-radius:var(--sapButton_BorderCornerRadius);box-sizing:border-box;color:var(--sapTextColor);color:var(--sapButton_IconColor);cursor:pointer;display:inline-block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;min-height:var(--fdTree_Expander_Size);min-width:var(--fdTree_Expander_Size);outline:0;padding:0;text-decoration:none;user-select:none;vertical-align:middle;white-space:nowrap}.fd-tree__expander:after,.fd-tree__expander:before{box-sizing:inherit;font-size:inherit}.fd-tree__expander::-moz-focus-inner{border:0}.fd-tree__expander.is-focus,.fd-tree__expander:focus{outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);outline-offset:var(--fdButton_Outline_Offset);z-index:5}.fd-tree__expander .fd-tree__icon{-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;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-tree__expander .fd-tree__icon:after,.fd-tree__expander .fd-tree__icon:before{box-sizing:inherit;font-size:inherit}.fd-tree__expander .fd-tree__icon [class*=sap-icon],.fd-tree__expander .fd-tree__icon[class*=sap-icon]{-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;color:var(--sapButton_IconColor);display:flex;font-size:var(--fdTree_Expander_Icon_Font_Size);justify-content:center}.fd-tree__expander.is-expanded,.fd-tree__expander[aria-expanded=true]{border-bottom:none}.fd-tree__content{-webkit-box-sizing:border-box;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;min-height:var(--fdTree_Item_Height);overflow:hidden;padding:0;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;width:100%}.fd-tree__content:after,.fd-tree__content:before{box-sizing:inherit;font-size:inherit}.fd-tree__content--wrap,.fd-tree__content--wrap .fd-tree__text{overflow:visible;text-overflow:clip;white-space:normal}.fd-tree__content--wrap .fd-tree__text{line-height:var(--fdTree_Item_Wrap_Text_Line_Height)}.fd-tree__icon{line-height:var(--fdTree_Expander_Size);min-height:var(--fdTree_Expander_Size);min-width:var(--fdTree_Expander_Size)}.fd-tree__icon,.fd-tree__icon [class*=sap-icon],.fd-tree__icon[class*=sap-icon]{-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:flex;justify-content:center}.fd-tree__icon [class*=sap-icon],.fd-tree__icon[class*=sap-icon]{color:var(--sapContent_NonInteractiveIconColor);font-size:1.125rem}.fd-tree__icon--navigation [class*=sap-icon],.fd-tree__icon--navigation[class*=sap-icon]{font-size:.75rem;min-width:2.5rem}.fd-tree__icon--navigation:last-child{margin-right:-1rem}.fd-tree__icon--navigation[dir=rtl]:last-child,[dir=rtl] .fd-tree__icon--navigation:last-child{margin-left:-1rem;margin-right:0}.fd-tree__text{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapList_TextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--fdTree_Item_Font_Size);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);line-height:var(--fdTree_Item_Height);margin:0;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap;width:100%}.fd-tree__text:after,.fd-tree__text:before{box-sizing:inherit;font-size:inherit}.fd-tree--no-border .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container{border-bottom:var(--sapList_BorderWidth) solid transparent}.fd-tree--no-border .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-selected,.fd-tree--no-border .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container[aria-selected=true]{border-bottom:var(--sapList_BorderWidth) solid var(--sapList_SelectionBorderColor)}.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container{cursor:pointer;position:relative}.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-hover,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:hover{background:var(--sapList_Hover_Background)}.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-selected,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container[aria-selected=true]{background:var(--sapList_SelectionBackgroundColor);border-bottom:var(--sapList_BorderWidth) solid var(--sapList_SelectionBorderColor)}.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-active,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-active.is-hover,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-active.is-selected,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-active.is-selected.is-hover,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-active.is-selected:hover,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-active:hover,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-active[aria-selected=true],.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-active[aria-selected=true].is-hover,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-active[aria-selected=true]:hover,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:active,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:active.is-hover,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:active.is-selected,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:active.is-selected.is-hover,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:active.is-selected:hover,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:active:hover,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:active[aria-selected=true],.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:active[aria-selected=true].is-hover,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:active[aria-selected=true]:hover{background:var(--sapList_Active_Background)}.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-focus,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:focus{outline:none;pointer-events:all}.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-focus:before,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:focus:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);bottom:.125rem;content:\"\";display:block;inset:.125rem .125rem .625rem;pointer-events:none;position:absolute}.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-focus.is-active:before,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-focus:active:before,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:focus.is-active:before,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:focus:active:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdList_Active_Outline_Color)}.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-active .fd-button,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-active .fd-tree__icon [class*=sap-icon],.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-active .fd-tree__icon[class*=sap-icon],.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-active .fd-tree__text,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:active .fd-button,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:active .fd-tree__icon [class*=sap-icon],.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:active .fd-tree__icon[class*=sap-icon],.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:active .fd-tree__text{color:var(--sapList_Active_TextColor)}.fd-tree--active .fd-tree__item-container{cursor:pointer;position:relative}.fd-tree--active .fd-tree__item-container.is-hover,.fd-tree--active .fd-tree__item-container:hover{background:var(--sapList_Hover_Background)}.fd-tree--active .fd-tree__item-container.is-selected,.fd-tree--active .fd-tree__item-container[aria-selected=true]{background:var(--sapList_SelectionBackgroundColor);border-bottom:var(--sapList_BorderWidth) solid var(--sapList_SelectionBorderColor)}.fd-tree--active .fd-tree__item-container.is-active,.fd-tree--active .fd-tree__item-container.is-active.is-hover,.fd-tree--active .fd-tree__item-container.is-active.is-selected,.fd-tree--active .fd-tree__item-container.is-active.is-selected.is-hover,.fd-tree--active .fd-tree__item-container.is-active.is-selected:hover,.fd-tree--active .fd-tree__item-container.is-active:hover,.fd-tree--active .fd-tree__item-container.is-active[aria-selected=true],.fd-tree--active .fd-tree__item-container.is-active[aria-selected=true].is-hover,.fd-tree--active .fd-tree__item-container.is-active[aria-selected=true]:hover,.fd-tree--active .fd-tree__item-container:active,.fd-tree--active .fd-tree__item-container:active.is-hover,.fd-tree--active .fd-tree__item-container:active.is-selected,.fd-tree--active .fd-tree__item-container:active.is-selected.is-hover,.fd-tree--active .fd-tree__item-container:active.is-selected:hover,.fd-tree--active .fd-tree__item-container:active:hover,.fd-tree--active .fd-tree__item-container:active[aria-selected=true],.fd-tree--active .fd-tree__item-container:active[aria-selected=true].is-hover,.fd-tree--active .fd-tree__item-container:active[aria-selected=true]:hover{background:var(--sapList_Active_Background)}.fd-tree--active .fd-tree__item-container.is-focus,.fd-tree--active .fd-tree__item-container:focus{outline:none;pointer-events:all}.fd-tree--active .fd-tree__item-container.is-focus:before,.fd-tree--active .fd-tree__item-container:focus:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);bottom:.125rem;content:\"\";display:block;inset:.125rem .125rem .625rem;pointer-events:none;position:absolute}.fd-tree--active .fd-tree__item-container.is-focus.is-active:before,.fd-tree--active .fd-tree__item-container.is-focus:active:before,.fd-tree--active .fd-tree__item-container:focus.is-active:before,.fd-tree--active .fd-tree__item-container:focus:active:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdList_Active_Outline_Color)}.fd-tree--active .fd-tree__item-container.is-active .fd-button,.fd-tree--active .fd-tree__item-container.is-active .fd-tree__icon [class*=sap-icon],.fd-tree--active .fd-tree__item-container.is-active .fd-tree__icon[class*=sap-icon],.fd-tree--active .fd-tree__item-container.is-active .fd-tree__text,.fd-tree--active .fd-tree__item-container:active .fd-button,.fd-tree--active .fd-tree__item-container:active .fd-tree__icon [class*=sap-icon],.fd-tree--active .fd-tree__item-container:active .fd-tree__icon[class*=sap-icon],.fd-tree--active .fd-tree__item-container:active .fd-tree__text{color:var(--sapList_Active_TextColor)}.fd-tree--no-data .fd-tree__text{text-align:center}.fd-tree{display:block}.fd-tree__expander--loading{display:flex;align-items:center;justify-content:center}[dir=rtl] .fd-tree__expander:not(.is-expanded),.fd-tree__expander:not(.is-expanded)[dir=rtl]{transform:rotate(180deg)}[dir=rtl] .fd-tree__icon--navigation,.fd-tree__icon--navigation[dir=rtl]{transform:rotate(180deg)}.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-focus:before,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:focus:before,.fd-tree__item-container--active:focus:before{bottom:.0625rem}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4.SelectableItemDirective, selector: "[fdkSelectableItem]", inputs: ["value", "fdkSelectableItem"], outputs: ["clicked", "selected"], exportAs: ["fdkSelectableItem"] }, { kind: "component", type: i5.SkeletonComponent, selector: "fd-skeleton", inputs: ["animated", "type", "textLines", "width", "height"] }, { kind: "directive", type: i4.RepeatDirective, selector: "[fdkRepeat], [fdRepeat]", inputs: ["fdkRepeat", "fdRepeat"] }, { kind: "directive", type: TreeItemDirective, selector: "[fdTreeItem]", exportAs: ["fdTreeItem"] }, { kind: "pipe", type: i7.FdTranslatePipe, name: "fdTranslate" }], encapsulation: i0.ViewEncapsulation.None });
592
+ __decorate([
593
+ applyCssClass,
594
+ __metadata("design:type", Function),
595
+ __metadata("design:paramtypes", []),
596
+ __metadata("design:returntype", Array)
597
+ ], TreeComponent.prototype, "buildComponentCssClass", null);
148
598
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TreeComponent, decorators: [{
149
599
  type: Component,
150
- args: [{ selector: 'fd-tree', encapsulation: ViewEncapsulation.None, template: "<div class=\"fd-tree fd-tree--header\" *ngIf=\"headers.length > 0\">\n <div class=\"fd-tree__row fd-tree__row--header\">\n <div class=\"fd-tree__col fd-tree__col--control\">\n <button\n (click)=\"toggleDisplayAll()\"\n class=\"fd-tree__control\"\n aria-label=\"Expand all\"\n [class.is-pressed]=\"!hideAll\"\n [attr.aria-pressed]=\"!hideAll\"\n ></button>\n {{ headers[0] }}\n </div>\n <div class=\"fd-tree__col\" *ngFor=\"let header of headers | slice: 1\">\n {{ header }}\n </div>\n <div class=\"fd-tree__col fd-tree__col--actions\"></div>\n </div>\n</div>\n<ul class=\"fd-tree\" id=\"ENusD653\" role=\"tree\">\n <fd-tree-child\n (editClicked)=\"editClicked($event)\"\n (deleteClicked)=\"deleteClicked($event)\"\n [displayTreeActions]=\"displayTreeActions\"\n *ngFor=\"let row of treeData\"\n [row]=\"row\"\n ></fd-tree-child>\n</ul>\n", styles: ["/*!\n * Fundamental Library Styles v0.28.3\n * Copyright (c) 2023 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-tree{--fdTree_Button_Spacing:var(--fdList_Button_Spacing);--fdTree_Expander_Size:2.75rem;--fdTree_Expander_Icon_Font_Size:var(--sapFontLargeSize);--fdTree_Item_Height:2.75rem;--fdTree_Item_Font_Size:var(--sapFontLargeSize);--fdTree_Item_Wrap_Text_Line_Height:1.4;-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;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);list-style-type:none;margin:0;padding:0;width:100%}.fd-tree[class*=-compact],.fd-tree[class*=-condensed],[class*=-compact] .fd-tree:not([class*=-cozy]),[class*=-condensed] .fd-tree:not([class*=-cozy]){--fdTree_Expander_Size:2rem;--fdTree_Expander_Icon_Font_Size:var(--sapFontSmallSize);--fdTree_Item_Height:2rem;--fdTree_Item_Font_Size:var(--sapFontSize);--fdTree_Item_Wrap_Text_Line_Height:1.4}.fd-tree .has-highlight-indicator{--fdTree_Item_Highlight_Color:var(--sapInformationBorderColor);box-shadow:inset .375rem 0 0 0 var(--fdTree_Item_Highlight_Color)}.fd-tree .has-highlight-indicator--error{--fdTree_Item_Highlight_Color:var(--sapErrorBorderColor)}.fd-tree .has-highlight-indicator--warning{--fdTree_Item_Highlight_Color:var(--sapWarningBorderColor)}.fd-tree .has-highlight-indicator--success{--fdTree_Item_Highlight_Color:var(--sapSuccessBorderColor)}.fd-tree .has-highlight-indicator[dir=rtl],[dir=rtl] .fd-tree .has-highlight-indicator{box-shadow:inset -.375rem 0 0 0 var(--fdTree_Item_Highlight_Color)}.fd-tree .has-highlight-indicator.is-navigated{box-shadow:inset -.1875rem 0 0 0 var(--sapSelectedColor),inset .375rem 0 0 0 var(--fdTree_Item_Highlight_Color)}.fd-tree .has-highlight-indicator.is-navigated[dir=rtl],[dir=rtl] .fd-tree .has-highlight-indicator.is-navigated{box-shadow:inset .1875rem 0 0 0 var(--sapSelectedColor),inset -.375rem 0 0 0 var(--fdTree_Item_Highlight_Color)}.fd-tree .fd-tree__item .fd-tree__item-container .fd-tree__expander{margin-left:var(--fdTree_Item_Level_Spacing)}.fd-tree .fd-tree__item .fd-tree__item-container .fd-tree__expander[dir=rtl],[dir=rtl] .fd-tree .fd-tree__item .fd-tree__item-container .fd-tree__expander{margin-left:0;margin-right:var(--fdTree_Item_Level_Spacing)}.fd-tree .fd-tree__item .fd-tree__item-container .fd-form-item:first-child,.fd-tree .fd-tree__item .fd-tree__item-container .fd-tree__content{margin-left:calc(var(--fdTree_Item_Level_Spacing, 0rem) + var(--fdTree_Expander_Size))}.fd-tree .fd-tree__item .fd-tree__item-container .fd-form-item:first-child[dir=rtl],.fd-tree .fd-tree__item .fd-tree__item-container .fd-tree__content[dir=rtl],[dir=rtl] .fd-tree .fd-tree__item .fd-tree__item-container .fd-form-item:first-child,[dir=rtl] .fd-tree .fd-tree__item .fd-tree__item-container .fd-tree__content{margin-left:0;margin-right:calc(var(--fdTree_Item_Level_Spacing, 0rem) + var(--fdTree_Expander_Size))}.fd-tree .fd-tree__item .fd-tree__item-container .fd-form-item+.fd-tree__content,.fd-tree .fd-tree__item .fd-tree__item-container .fd-tree__expander+.fd-tree__content{margin-left:0}.fd-tree .fd-tree__item .fd-tree__item-container .fd-form-item+.fd-tree__content[dir=rtl],.fd-tree .fd-tree__item .fd-tree__item-container .fd-tree__expander+.fd-tree__content[dir=rtl],[dir=rtl] .fd-tree .fd-tree__item .fd-tree__item-container .fd-form-item+.fd-tree__content,[dir=rtl] .fd-tree .fd-tree__item .fd-tree__item-container .fd-tree__expander+.fd-tree__content{margin-left:0;margin-right:0}.fd-tree.fd-tree--independent-multi-selection .fd-tree__item .fd-tree__item-container .fd-form-item:first-child{margin-left:0}.fd-tree.fd-tree--independent-multi-selection .fd-tree__item .fd-tree__item-container .fd-form-item:first-child[dir=rtl],[dir=rtl] .fd-tree.fd-tree--independent-multi-selection .fd-tree__item .fd-tree__item-container .fd-form-item:first-child{margin-left:0;margin-right:0}.fd-tree.fd-tree--independent-multi-selection .fd-tree__item .fd-tree__item-container .fd-form-item:first-child+.fd-tree__content{margin-left:calc(var(--fdTree_Item_Level_Spacing, 0rem) + var(--fdTree_Expander_Size))}.fd-tree.fd-tree--independent-multi-selection .fd-tree__item .fd-tree__item-container .fd-form-item:first-child+.fd-tree__content[dir=rtl],[dir=rtl] .fd-tree.fd-tree--independent-multi-selection .fd-tree__item .fd-tree__item-container .fd-form-item:first-child+.fd-tree__content{margin-left:0;margin-right:calc(var(--fdTree_Item_Level_Spacing, 0rem) + var(--fdTree_Expander_Size))}.fd-tree.expanded-level-1 .fd-tree__item[aria-level=\"2\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-2 .fd-tree__item[aria-level=\"2\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-2 .fd-tree__item[aria-level=\"3\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-3 .fd-tree__item[aria-level=\"2\"],.fd-tree.expanded-level-4 .fd-tree__item[aria-level=\"2\"],.fd-tree.expanded-level-5 .fd-tree__item[aria-level=\"2\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-3 .fd-tree__item[aria-level=\"3\"],.fd-tree.expanded-level-4 .fd-tree__item[aria-level=\"3\"],.fd-tree.expanded-level-5 .fd-tree__item[aria-level=\"3\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-3 .fd-tree__item[aria-level=\"4\"],.fd-tree.expanded-level-4 .fd-tree__item[aria-level=\"4\"],.fd-tree.expanded-level-5 .fd-tree__item[aria-level=\"4\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-3 .fd-tree__item[aria-level=\"5\"],.fd-tree.expanded-level-4 .fd-tree__item[aria-level=\"5\"],.fd-tree.expanded-level-5 .fd-tree__item[aria-level=\"5\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-3 .fd-tree__item[aria-level=\"6\"],.fd-tree.expanded-level-4 .fd-tree__item[aria-level=\"6\"],.fd-tree.expanded-level-5 .fd-tree__item[aria-level=\"6\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\"1\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\"2\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\"3\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\"4\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\"5\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\"6\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\"7\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\"8\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\"9\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\"10\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\"11\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\"12\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\"1\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\"2\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\"3\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\"4\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\"5\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\"6\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\"7\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\"8\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\"9\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\"10\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\"11\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\"12\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\"1\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\"2\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\"3\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\"4\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\"5\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\"6\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\"7\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\"8\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\"9\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\"10\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\"11\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\"12\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\"1\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\"2\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\"3\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\"4\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\"5\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\"6\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\"7\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\"8\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\"9\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\"10\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\"11\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\"12\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\"1\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\"2\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\"3\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\"4\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\"5\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\"6\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\"7\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\"8\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\"9\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\"10\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\"11\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\"12\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\"1\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\"2\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\"3\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\"4\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\"5\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\"6\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\"7\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\"8\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\"9\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\"10\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\"11\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\"12\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\"1\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\"2\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\"3\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\"4\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\"5\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\"6\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\"7\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\"8\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\"9\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\"10\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\"11\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\"12\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree .fd-tree__item-container .fd-form-item:first-child label,.fd-tree .fd-tree__item-container .fd-tree__expander+.fd-form-item label{margin:0}.fd-tree .fd-tree__expander+.fd-tree__content{margin-left:0}.fd-tree .fd-tree__expander+.fd-tree__content[dir=rtl],[dir=rtl] .fd-tree .fd-tree__expander+.fd-tree__content{margin-left:0;margin-right:0}.fd-tree:after,.fd-tree:before{box-sizing:inherit;font-size:inherit}.fd-tree[aria-hidden=true]{display:none}.fd-tree__item{-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;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-tree__item:after,.fd-tree__item:before{box-sizing:inherit;font-size:inherit}.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container{background:var(--sapList_Background);border-bottom:var(--sapList_BorderWidth) solid var(--sapList_BorderColor)}.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-selected,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container[aria-selected=true]{background:var(--sapList_SelectionBackgroundColor);border-bottom:var(--sapList_BorderWidth) solid var(--sapList_SelectionBorderColor)}.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active{cursor:pointer;position:relative}.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-hover,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:hover{background:var(--sapList_Hover_Background)}.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-selected,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active[aria-selected=true]{background:var(--sapList_SelectionBackgroundColor);border-bottom:var(--sapList_BorderWidth) solid var(--sapList_SelectionBorderColor)}.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-active,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-active.is-hover,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-active.is-selected,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-active.is-selected.is-hover,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-active.is-selected:hover,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-active:hover,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-active[aria-selected=true],.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-active[aria-selected=true].is-hover,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-active[aria-selected=true]:hover,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:active,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:active.is-hover,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:active.is-selected,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:active.is-selected.is-hover,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:active.is-selected:hover,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:active:hover,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:active[aria-selected=true],.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:active[aria-selected=true].is-hover,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:active[aria-selected=true]:hover{background:var(--sapList_Active_Background)}.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-focus,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:focus{outline:none;pointer-events:all}.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-focus:before,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:focus:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);bottom:.125rem;content:\"\";display:block;inset:.125rem .125rem .625rem;pointer-events:none;position:absolute}.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-focus.is-active:before,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-focus:active:before,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:focus.is-active:before,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:focus:active:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdList_Active_Outline_Color)}.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-active .fd-button,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-active .fd-tree__icon [class*=sap-icon],.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-active .fd-tree__icon[class*=sap-icon],.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-active .fd-tree__text,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:active .fd-button,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:active .fd-tree__icon [class*=sap-icon],.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:active .fd-tree__icon[class*=sap-icon],.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:active .fd-tree__text{color:var(--sapList_Active_TextColor)}.fd-tree__item-container{-webkit-box-sizing:border-box;align-items:center;background:var(--sapList_AlternatingBackground);border:0;border-bottom:var(--sapList_BorderWidth) solid transparent;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;min-height:var(--fdTree_Item_Height);padding:0 1rem 0 0;position:relative;width:100%}.fd-tree__item-container:after,.fd-tree__item-container:before{box-sizing:inherit;font-size:inherit}.fd-tree__item-container[dir=rtl],[dir=rtl] .fd-tree__item-container{padding-left:1rem;padding-right:0}.fd-tree__item-container.is-selected,.fd-tree__item-container[aria-selected=true]{background:var(--sapList_SelectionBackgroundColor);border-bottom:var(--sapList_BorderWidth) solid var(--sapList_SelectionBorderColor)}.fd-tree__item-container.is-navigated{box-shadow:inset -.1875rem 0 0 0 var(--sapSelectedColor)}.fd-tree__item-container.is-navigated[dir=rtl],[dir=rtl] .fd-tree__item-container.is-navigated{box-shadow:inset .1875rem 0 0 0 var(--sapSelectedColor)}.fd-tree__item-container.is-focus,.fd-tree__item-container:focus{outline:none;pointer-events:all}.fd-tree__item-container.is-focus:before,.fd-tree__item-container:focus:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);bottom:.125rem;content:\"\";display:block;inset:.125rem .125rem .0625rem;pointer-events:none;position:absolute}.fd-tree__item-container.is-focus.is-active:before,.fd-tree__item-container.is-focus:active:before,.fd-tree__item-container:focus.is-active:before,.fd-tree__item-container:focus:active:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdList_Active_Outline_Color)}.fd-tree__item-container--active{cursor:pointer;position:relative}.fd-tree__item-container--active.is-hover,.fd-tree__item-container--active:hover{background:var(--sapList_Hover_Background)}.fd-tree__item-container--active.is-selected,.fd-tree__item-container--active[aria-selected=true]{background:var(--sapList_SelectionBackgroundColor);border-bottom:var(--sapList_BorderWidth) solid var(--sapList_SelectionBorderColor)}.fd-tree__item-container--active.is-active,.fd-tree__item-container--active.is-active.is-hover,.fd-tree__item-container--active.is-active.is-selected,.fd-tree__item-container--active.is-active.is-selected.is-hover,.fd-tree__item-container--active.is-active.is-selected:hover,.fd-tree__item-container--active.is-active:hover,.fd-tree__item-container--active.is-active[aria-selected=true],.fd-tree__item-container--active.is-active[aria-selected=true].is-hover,.fd-tree__item-container--active.is-active[aria-selected=true]:hover,.fd-tree__item-container--active:active,.fd-tree__item-container--active:active.is-hover,.fd-tree__item-container--active:active.is-selected,.fd-tree__item-container--active:active.is-selected.is-hover,.fd-tree__item-container--active:active.is-selected:hover,.fd-tree__item-container--active:active:hover,.fd-tree__item-container--active:active[aria-selected=true],.fd-tree__item-container--active:active[aria-selected=true].is-hover,.fd-tree__item-container--active:active[aria-selected=true]:hover{background:var(--sapList_Active_Background)}.fd-tree__item-container--active.is-focus,.fd-tree__item-container--active:focus{outline:none;pointer-events:all}.fd-tree__item-container--active.is-focus:before,.fd-tree__item-container--active:focus:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);bottom:.125rem;content:\"\";display:block;inset:.125rem .125rem .625rem;pointer-events:none;position:absolute}.fd-tree__item-container--active.is-focus.is-active:before,.fd-tree__item-container--active.is-focus:active:before,.fd-tree__item-container--active:focus.is-active:before,.fd-tree__item-container--active:focus:active:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdList_Active_Outline_Color)}.fd-tree__item-container--active.is-active .fd-button,.fd-tree__item-container--active.is-active .fd-tree__icon [class*=sap-icon],.fd-tree__item-container--active.is-active .fd-tree__icon[class*=sap-icon],.fd-tree__item-container--active.is-active .fd-tree__text,.fd-tree__item-container--active:active .fd-button,.fd-tree__item-container--active:active .fd-tree__icon [class*=sap-icon],.fd-tree__item-container--active:active .fd-tree__icon[class*=sap-icon],.fd-tree__item-container--active:active .fd-tree__text{color:var(--sapList_Active_TextColor)}.fd-tree__button{margin-left:var(--fdTree_Button_Spacing)}.fd-tree__button[dir=rtl],[dir=rtl] .fd-tree__button{margin-left:0;margin-right:var(--fdTree_Button_Spacing)}.fd-tree__expander{-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:transparent;background-color:transparent;background-image:none;border:0;border-radius:var(--sapButton_BorderCornerRadius);box-sizing:border-box;color:var(--sapTextColor);color:var(--sapButton_IconColor);cursor:pointer;display:inline-block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;min-height:var(--fdTree_Expander_Size);min-width:var(--fdTree_Expander_Size);outline:0;padding:0;text-decoration:none;user-select:none;vertical-align:middle;white-space:nowrap}.fd-tree__expander:after,.fd-tree__expander:before{box-sizing:inherit;font-size:inherit}.fd-tree__expander::-moz-focus-inner{border:0}.fd-tree__expander.is-focus,.fd-tree__expander:focus{outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);outline-offset:var(--fdButton_Outline_Offset);z-index:5}.fd-tree__expander .fd-tree__icon{-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;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-tree__expander .fd-tree__icon:after,.fd-tree__expander .fd-tree__icon:before{box-sizing:inherit;font-size:inherit}.fd-tree__expander .fd-tree__icon [class*=sap-icon],.fd-tree__expander .fd-tree__icon[class*=sap-icon]{-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;color:var(--sapButton_IconColor);display:flex;font-size:var(--fdTree_Expander_Icon_Font_Size);justify-content:center}.fd-tree__expander.is-expanded,.fd-tree__expander[aria-expanded=true]{border-bottom:none}.fd-tree__content{-webkit-box-sizing:border-box;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;min-height:var(--fdTree_Item_Height);overflow:hidden;padding:0;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;width:100%}.fd-tree__content:after,.fd-tree__content:before{box-sizing:inherit;font-size:inherit}.fd-tree__content--wrap,.fd-tree__content--wrap .fd-tree__text{overflow:visible;text-overflow:clip;white-space:normal}.fd-tree__content--wrap .fd-tree__text{line-height:var(--fdTree_Item_Wrap_Text_Line_Height)}.fd-tree__icon{line-height:var(--fdTree_Expander_Size);min-height:var(--fdTree_Expander_Size);min-width:var(--fdTree_Expander_Size)}.fd-tree__icon,.fd-tree__icon [class*=sap-icon],.fd-tree__icon[class*=sap-icon]{-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:flex;justify-content:center}.fd-tree__icon [class*=sap-icon],.fd-tree__icon[class*=sap-icon]{color:var(--sapContent_NonInteractiveIconColor);font-size:1.125rem}.fd-tree__icon--navigation [class*=sap-icon],.fd-tree__icon--navigation[class*=sap-icon]{font-size:.75rem;min-width:2.5rem}.fd-tree__icon--navigation:last-child{margin-right:-1rem}.fd-tree__icon--navigation[dir=rtl]:last-child,[dir=rtl] .fd-tree__icon--navigation:last-child{margin-left:-1rem;margin-right:0}.fd-tree__text{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapList_TextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--fdTree_Item_Font_Size);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);line-height:var(--fdTree_Item_Height);margin:0;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap;width:100%}.fd-tree__text:after,.fd-tree__text:before{box-sizing:inherit;font-size:inherit}.fd-tree--no-border .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container{border-bottom:var(--sapList_BorderWidth) solid transparent}.fd-tree--no-border .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-selected,.fd-tree--no-border .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container[aria-selected=true]{border-bottom:var(--sapList_BorderWidth) solid var(--sapList_SelectionBorderColor)}.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container{cursor:pointer;position:relative}.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-hover,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:hover{background:var(--sapList_Hover_Background)}.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-selected,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container[aria-selected=true]{background:var(--sapList_SelectionBackgroundColor);border-bottom:var(--sapList_BorderWidth) solid var(--sapList_SelectionBorderColor)}.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-active,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-active.is-hover,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-active.is-selected,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-active.is-selected.is-hover,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-active.is-selected:hover,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-active:hover,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-active[aria-selected=true],.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-active[aria-selected=true].is-hover,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-active[aria-selected=true]:hover,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:active,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:active.is-hover,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:active.is-selected,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:active.is-selected.is-hover,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:active.is-selected:hover,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:active:hover,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:active[aria-selected=true],.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:active[aria-selected=true].is-hover,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:active[aria-selected=true]:hover{background:var(--sapList_Active_Background)}.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-focus,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:focus{outline:none;pointer-events:all}.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-focus:before,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:focus:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);bottom:.125rem;content:\"\";display:block;inset:.125rem .125rem .625rem;pointer-events:none;position:absolute}.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-focus.is-active:before,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-focus:active:before,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:focus.is-active:before,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:focus:active:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdList_Active_Outline_Color)}.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-active .fd-button,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-active .fd-tree__icon [class*=sap-icon],.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-active .fd-tree__icon[class*=sap-icon],.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-active .fd-tree__text,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:active .fd-button,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:active .fd-tree__icon [class*=sap-icon],.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:active .fd-tree__icon[class*=sap-icon],.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:active .fd-tree__text{color:var(--sapList_Active_TextColor)}.fd-tree--active .fd-tree__item-container{cursor:pointer;position:relative}.fd-tree--active .fd-tree__item-container.is-hover,.fd-tree--active .fd-tree__item-container:hover{background:var(--sapList_Hover_Background)}.fd-tree--active .fd-tree__item-container.is-selected,.fd-tree--active .fd-tree__item-container[aria-selected=true]{background:var(--sapList_SelectionBackgroundColor);border-bottom:var(--sapList_BorderWidth) solid var(--sapList_SelectionBorderColor)}.fd-tree--active .fd-tree__item-container.is-active,.fd-tree--active .fd-tree__item-container.is-active.is-hover,.fd-tree--active .fd-tree__item-container.is-active.is-selected,.fd-tree--active .fd-tree__item-container.is-active.is-selected.is-hover,.fd-tree--active .fd-tree__item-container.is-active.is-selected:hover,.fd-tree--active .fd-tree__item-container.is-active:hover,.fd-tree--active .fd-tree__item-container.is-active[aria-selected=true],.fd-tree--active .fd-tree__item-container.is-active[aria-selected=true].is-hover,.fd-tree--active .fd-tree__item-container.is-active[aria-selected=true]:hover,.fd-tree--active .fd-tree__item-container:active,.fd-tree--active .fd-tree__item-container:active.is-hover,.fd-tree--active .fd-tree__item-container:active.is-selected,.fd-tree--active .fd-tree__item-container:active.is-selected.is-hover,.fd-tree--active .fd-tree__item-container:active.is-selected:hover,.fd-tree--active .fd-tree__item-container:active:hover,.fd-tree--active .fd-tree__item-container:active[aria-selected=true],.fd-tree--active .fd-tree__item-container:active[aria-selected=true].is-hover,.fd-tree--active .fd-tree__item-container:active[aria-selected=true]:hover{background:var(--sapList_Active_Background)}.fd-tree--active .fd-tree__item-container.is-focus,.fd-tree--active .fd-tree__item-container:focus{outline:none;pointer-events:all}.fd-tree--active .fd-tree__item-container.is-focus:before,.fd-tree--active .fd-tree__item-container:focus:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);bottom:.125rem;content:\"\";display:block;inset:.125rem .125rem .625rem;pointer-events:none;position:absolute}.fd-tree--active .fd-tree__item-container.is-focus.is-active:before,.fd-tree--active .fd-tree__item-container.is-focus:active:before,.fd-tree--active .fd-tree__item-container:focus.is-active:before,.fd-tree--active .fd-tree__item-container:focus:active:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdList_Active_Outline_Color)}.fd-tree--active .fd-tree__item-container.is-active .fd-button,.fd-tree--active .fd-tree__item-container.is-active .fd-tree__icon [class*=sap-icon],.fd-tree--active .fd-tree__item-container.is-active .fd-tree__icon[class*=sap-icon],.fd-tree--active .fd-tree__item-container.is-active .fd-tree__text,.fd-tree--active .fd-tree__item-container:active .fd-button,.fd-tree--active .fd-tree__item-container:active .fd-tree__icon [class*=sap-icon],.fd-tree--active .fd-tree__item-container:active .fd-tree__icon[class*=sap-icon],.fd-tree--active .fd-tree__item-container:active .fd-tree__text{color:var(--sapList_Active_TextColor)}.fd-tree--no-data .fd-tree__text{text-align:center}\n"] }]
151
- }], propDecorators: { headers: [{
600
+ args: [{ selector: 'fd-tree', encapsulation: ViewEncapsulation.None, hostDirectives: [
601
+ {
602
+ directive: DataSourceDirective,
603
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
604
+ inputs: ['dataSource'],
605
+ // eslint-disable-next-line @angular-eslint/no-outputs-metadata-property
606
+ outputs: ['dataChanged']
607
+ },
608
+ {
609
+ directive: CvaDirective,
610
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
611
+ inputs: ['name', 'id', 'state', 'stateMessage', 'disabled', 'readonly']
612
+ }
613
+ ], host: {
614
+ role: 'tree'
615
+ }, providers: [
616
+ contentDensityObserverProviders(),
617
+ TreeService,
618
+ SelectionService,
619
+ DestroyedService,
620
+ {
621
+ provide: FD_DATA_SOURCE_TRANSFORMER,
622
+ useClass: TreeDataSourceParser
623
+ }
624
+ ], template: "<ng-template #dataSourceRenderer>\n <ng-template\n [ngTemplateOutlet]=\"!_initialDataLoaded ? loadingRenderer : dataLoadedTpl\"\n [ngTemplateOutletContext]=\"{ $implicit: 1 }\"\n ></ng-template>\n\n <ng-template #loadingRenderer let-level>\n <div *fdkRepeat=\"5\" role=\"treeitem\" [attr.aria-level]=\"level\" class=\"fd-tree__item\">\n <div class=\"fd-tree__item-container\">\n <div class=\"fd-tree__content\">\n <span class=\"fd-tree__text\">\n <fd-skeleton type=\"text\" width=\"100px\" textLines=\"1\"></fd-skeleton>\n </span>\n </div>\n </div>\n </div>\n </ng-template>\n\n <ng-template #dataLoadedTpl>\n <ng-container *ngIf=\"_items.length > 0 && treeItemDef; else noDataTpl\">\n <ng-container *ngFor=\"let item of _items; trackBy: _trackFn\">\n <ng-template\n [ngTemplateOutlet]=\"renderer\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-template>\n </ng-container>\n </ng-container>\n </ng-template>\n\n <ng-template #renderer let-item>\n <ng-container fdTreeItem fdkSelectableItem #treeItemDirective=\"fdTreeItem\">\n <ng-template\n [ngTemplateOutlet]=\"item.renderer\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n [ngTemplateOutletInjector]=\"treeItemDirective.injector\"\n ></ng-template>\n </ng-container>\n <ng-container\n *ngIf=\"\n treeItemDirective.treeItem?.hasDsChildren &&\n !!treeItemDirective.treeItem?.expanded &&\n !treeItemDirective.treeItem?.childrenLoaded\n \"\n >\n <ng-template\n [ngTemplateOutlet]=\"loadingRenderer\"\n [ngTemplateOutletContext]=\"{ $implicit: item.level + 1 }\"\n ></ng-template>\n </ng-container>\n <ng-container *ngIf=\"treeItemDirective.treeItem?.children as childItems\">\n <div class=\"fd-tree\" *ngIf=\"childItems && childItems.length > 0 && !!treeItemDirective?.treeItem?.expanded\">\n <ng-container *ngFor=\"let child of childItems; trackBy: _trackFn\">\n <ng-template\n [ngTemplateOutlet]=\"renderer\"\n [ngTemplateOutletContext]=\"{ $implicit: child }\"\n ></ng-template>\n </ng-container>\n </div>\n </ng-container>\n </ng-template>\n\n <ng-template #noDataTpl>\n <div role=\"treeitem\" aria-level=\"1\" class=\"fd-tree__item\">\n <div class=\"fd-tree__item-container\">\n <div class=\"fd-tree__content\">\n <span class=\"fd-tree__text\">{{ 'coreTree.noData' | fdTranslate }}</span>\n </div>\n </div>\n </div>\n </ng-template>\n</ng-template>\n<ng-template #projectedContentRenderer>\n <ng-content select=\"fd-tree-item\"></ng-content>\n</ng-template>\n\n<ng-template [ngTemplateOutlet]=\"treeItemDef ? dataSourceRenderer : projectedContentRenderer\"></ng-template>\n", styles: ["/*!\n * Fundamental Library Styles v0.28.3\n * Copyright (c) 2023 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-tree{--fdTree_Button_Spacing:var(--fdList_Button_Spacing);--fdTree_Expander_Size:2.75rem;--fdTree_Expander_Icon_Font_Size:var(--sapFontLargeSize);--fdTree_Item_Height:2.75rem;--fdTree_Item_Font_Size:var(--sapFontLargeSize);--fdTree_Item_Wrap_Text_Line_Height:1.4;-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;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);list-style-type:none;margin:0;padding:0;width:100%}.fd-tree[class*=-compact],.fd-tree[class*=-condensed],[class*=-compact] .fd-tree:not([class*=-cozy]),[class*=-condensed] .fd-tree:not([class*=-cozy]){--fdTree_Expander_Size:2rem;--fdTree_Expander_Icon_Font_Size:var(--sapFontSmallSize);--fdTree_Item_Height:2rem;--fdTree_Item_Font_Size:var(--sapFontSize);--fdTree_Item_Wrap_Text_Line_Height:1.4}.fd-tree .has-highlight-indicator{--fdTree_Item_Highlight_Color:var(--sapInformationBorderColor);box-shadow:inset .375rem 0 0 0 var(--fdTree_Item_Highlight_Color)}.fd-tree .has-highlight-indicator--error{--fdTree_Item_Highlight_Color:var(--sapErrorBorderColor)}.fd-tree .has-highlight-indicator--warning{--fdTree_Item_Highlight_Color:var(--sapWarningBorderColor)}.fd-tree .has-highlight-indicator--success{--fdTree_Item_Highlight_Color:var(--sapSuccessBorderColor)}.fd-tree .has-highlight-indicator[dir=rtl],[dir=rtl] .fd-tree .has-highlight-indicator{box-shadow:inset -.375rem 0 0 0 var(--fdTree_Item_Highlight_Color)}.fd-tree .has-highlight-indicator.is-navigated{box-shadow:inset -.1875rem 0 0 0 var(--sapSelectedColor),inset .375rem 0 0 0 var(--fdTree_Item_Highlight_Color)}.fd-tree .has-highlight-indicator.is-navigated[dir=rtl],[dir=rtl] .fd-tree .has-highlight-indicator.is-navigated{box-shadow:inset .1875rem 0 0 0 var(--sapSelectedColor),inset -.375rem 0 0 0 var(--fdTree_Item_Highlight_Color)}.fd-tree .fd-tree__item .fd-tree__item-container .fd-tree__expander{margin-left:var(--fdTree_Item_Level_Spacing)}.fd-tree .fd-tree__item .fd-tree__item-container .fd-tree__expander[dir=rtl],[dir=rtl] .fd-tree .fd-tree__item .fd-tree__item-container .fd-tree__expander{margin-left:0;margin-right:var(--fdTree_Item_Level_Spacing)}.fd-tree .fd-tree__item .fd-tree__item-container .fd-form-item:first-child,.fd-tree .fd-tree__item .fd-tree__item-container .fd-tree__content{margin-left:calc(var(--fdTree_Item_Level_Spacing, 0rem) + var(--fdTree_Expander_Size))}.fd-tree .fd-tree__item .fd-tree__item-container .fd-form-item:first-child[dir=rtl],.fd-tree .fd-tree__item .fd-tree__item-container .fd-tree__content[dir=rtl],[dir=rtl] .fd-tree .fd-tree__item .fd-tree__item-container .fd-form-item:first-child,[dir=rtl] .fd-tree .fd-tree__item .fd-tree__item-container .fd-tree__content{margin-left:0;margin-right:calc(var(--fdTree_Item_Level_Spacing, 0rem) + var(--fdTree_Expander_Size))}.fd-tree .fd-tree__item .fd-tree__item-container .fd-form-item+.fd-tree__content,.fd-tree .fd-tree__item .fd-tree__item-container .fd-tree__expander+.fd-tree__content{margin-left:0}.fd-tree .fd-tree__item .fd-tree__item-container .fd-form-item+.fd-tree__content[dir=rtl],.fd-tree .fd-tree__item .fd-tree__item-container .fd-tree__expander+.fd-tree__content[dir=rtl],[dir=rtl] .fd-tree .fd-tree__item .fd-tree__item-container .fd-form-item+.fd-tree__content,[dir=rtl] .fd-tree .fd-tree__item .fd-tree__item-container .fd-tree__expander+.fd-tree__content{margin-left:0;margin-right:0}.fd-tree.fd-tree--independent-multi-selection .fd-tree__item .fd-tree__item-container .fd-form-item:first-child{margin-left:0}.fd-tree.fd-tree--independent-multi-selection .fd-tree__item .fd-tree__item-container .fd-form-item:first-child[dir=rtl],[dir=rtl] .fd-tree.fd-tree--independent-multi-selection .fd-tree__item .fd-tree__item-container .fd-form-item:first-child{margin-left:0;margin-right:0}.fd-tree.fd-tree--independent-multi-selection .fd-tree__item .fd-tree__item-container .fd-form-item:first-child+.fd-tree__content{margin-left:calc(var(--fdTree_Item_Level_Spacing, 0rem) + var(--fdTree_Expander_Size))}.fd-tree.fd-tree--independent-multi-selection .fd-tree__item .fd-tree__item-container .fd-form-item:first-child+.fd-tree__content[dir=rtl],[dir=rtl] .fd-tree.fd-tree--independent-multi-selection .fd-tree__item .fd-tree__item-container .fd-form-item:first-child+.fd-tree__content{margin-left:0;margin-right:calc(var(--fdTree_Item_Level_Spacing, 0rem) + var(--fdTree_Expander_Size))}.fd-tree.expanded-level-1 .fd-tree__item[aria-level=\"2\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-2 .fd-tree__item[aria-level=\"2\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-2 .fd-tree__item[aria-level=\"3\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-3 .fd-tree__item[aria-level=\"2\"],.fd-tree.expanded-level-4 .fd-tree__item[aria-level=\"2\"],.fd-tree.expanded-level-5 .fd-tree__item[aria-level=\"2\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-3 .fd-tree__item[aria-level=\"3\"],.fd-tree.expanded-level-4 .fd-tree__item[aria-level=\"3\"],.fd-tree.expanded-level-5 .fd-tree__item[aria-level=\"3\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-3 .fd-tree__item[aria-level=\"4\"],.fd-tree.expanded-level-4 .fd-tree__item[aria-level=\"4\"],.fd-tree.expanded-level-5 .fd-tree__item[aria-level=\"4\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-3 .fd-tree__item[aria-level=\"5\"],.fd-tree.expanded-level-4 .fd-tree__item[aria-level=\"5\"],.fd-tree.expanded-level-5 .fd-tree__item[aria-level=\"5\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-3 .fd-tree__item[aria-level=\"6\"],.fd-tree.expanded-level-4 .fd-tree__item[aria-level=\"6\"],.fd-tree.expanded-level-5 .fd-tree__item[aria-level=\"6\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\"1\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\"2\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\"3\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\"4\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\"5\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\"6\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\"7\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\"8\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\"9\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\"10\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\"11\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-6 .fd-tree__item[aria-level=\"12\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\"1\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\"2\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\"3\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\"4\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\"5\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\"6\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\"7\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\"8\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\"9\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\"10\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\"11\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-7 .fd-tree__item[aria-level=\"12\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\"1\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\"2\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\"3\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\"4\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\"5\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\"6\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\"7\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\"8\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\"9\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\"10\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\"11\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-8 .fd-tree__item[aria-level=\"12\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\"1\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\"2\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\"3\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\"4\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\"5\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\"6\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\"7\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\"8\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\"9\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\"10\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\"11\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-9 .fd-tree__item[aria-level=\"12\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\"1\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\"2\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\"3\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\"4\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\"5\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\"6\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\"7\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\"8\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\"9\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\"10\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\"11\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-10 .fd-tree__item[aria-level=\"12\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\"1\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\"2\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\"3\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\"4\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\"5\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\"6\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\"7\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\"8\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\"9\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\"10\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\"11\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-11 .fd-tree__item[aria-level=\"12\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\"1\"]{--fdTree_Item_Level_Spacing:0rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\"2\"]{--fdTree_Item_Level_Spacing:.25rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\"3\"]{--fdTree_Item_Level_Spacing:.5rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\"4\"]{--fdTree_Item_Level_Spacing:.75rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\"5\"]{--fdTree_Item_Level_Spacing:1rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\"6\"]{--fdTree_Item_Level_Spacing:1.25rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\"7\"]{--fdTree_Item_Level_Spacing:1.5rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\"8\"]{--fdTree_Item_Level_Spacing:1.75rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\"9\"]{--fdTree_Item_Level_Spacing:2rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\"10\"]{--fdTree_Item_Level_Spacing:2.25rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\"11\"]{--fdTree_Item_Level_Spacing:2.5rem}.fd-tree.expanded-level-12 .fd-tree__item[aria-level=\"12\"]{--fdTree_Item_Level_Spacing:2.75rem}.fd-tree .fd-tree__item-container .fd-form-item:first-child label,.fd-tree .fd-tree__item-container .fd-tree__expander+.fd-form-item label{margin:0}.fd-tree .fd-tree__expander+.fd-tree__content{margin-left:0}.fd-tree .fd-tree__expander+.fd-tree__content[dir=rtl],[dir=rtl] .fd-tree .fd-tree__expander+.fd-tree__content{margin-left:0;margin-right:0}.fd-tree:after,.fd-tree:before{box-sizing:inherit;font-size:inherit}.fd-tree[aria-hidden=true]{display:none}.fd-tree__item{-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;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-tree__item:after,.fd-tree__item:before{box-sizing:inherit;font-size:inherit}.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container{background:var(--sapList_Background);border-bottom:var(--sapList_BorderWidth) solid var(--sapList_BorderColor)}.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-selected,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container[aria-selected=true]{background:var(--sapList_SelectionBackgroundColor);border-bottom:var(--sapList_BorderWidth) solid var(--sapList_SelectionBorderColor)}.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active{cursor:pointer;position:relative}.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-hover,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:hover{background:var(--sapList_Hover_Background)}.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-selected,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active[aria-selected=true]{background:var(--sapList_SelectionBackgroundColor);border-bottom:var(--sapList_BorderWidth) solid var(--sapList_SelectionBorderColor)}.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-active,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-active.is-hover,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-active.is-selected,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-active.is-selected.is-hover,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-active.is-selected:hover,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-active:hover,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-active[aria-selected=true],.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-active[aria-selected=true].is-hover,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-active[aria-selected=true]:hover,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:active,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:active.is-hover,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:active.is-selected,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:active.is-selected.is-hover,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:active.is-selected:hover,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:active:hover,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:active[aria-selected=true],.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:active[aria-selected=true].is-hover,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:active[aria-selected=true]:hover{background:var(--sapList_Active_Background)}.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-focus,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:focus{outline:none;pointer-events:all}.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-focus:before,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:focus:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);bottom:.125rem;content:\"\";display:block;inset:.125rem .125rem .625rem;pointer-events:none;position:absolute}.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-focus.is-active:before,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-focus:active:before,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:focus.is-active:before,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:focus:active:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdList_Active_Outline_Color)}.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-active .fd-button,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-active .fd-tree__icon [class*=sap-icon],.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-active .fd-tree__icon[class*=sap-icon],.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-active .fd-tree__text,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:active .fd-button,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:active .fd-tree__icon [class*=sap-icon],.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:active .fd-tree__icon[class*=sap-icon],.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:active .fd-tree__text{color:var(--sapList_Active_TextColor)}.fd-tree__item-container{-webkit-box-sizing:border-box;align-items:center;background:var(--sapList_AlternatingBackground);border:0;border-bottom:var(--sapList_BorderWidth) solid transparent;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;min-height:var(--fdTree_Item_Height);padding:0 1rem 0 0;position:relative;width:100%}.fd-tree__item-container:after,.fd-tree__item-container:before{box-sizing:inherit;font-size:inherit}.fd-tree__item-container[dir=rtl],[dir=rtl] .fd-tree__item-container{padding-left:1rem;padding-right:0}.fd-tree__item-container.is-selected,.fd-tree__item-container[aria-selected=true]{background:var(--sapList_SelectionBackgroundColor);border-bottom:var(--sapList_BorderWidth) solid var(--sapList_SelectionBorderColor)}.fd-tree__item-container.is-navigated{box-shadow:inset -.1875rem 0 0 0 var(--sapSelectedColor)}.fd-tree__item-container.is-navigated[dir=rtl],[dir=rtl] .fd-tree__item-container.is-navigated{box-shadow:inset .1875rem 0 0 0 var(--sapSelectedColor)}.fd-tree__item-container.is-focus,.fd-tree__item-container:focus{outline:none;pointer-events:all}.fd-tree__item-container.is-focus:before,.fd-tree__item-container:focus:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);bottom:.125rem;content:\"\";display:block;inset:.125rem .125rem .0625rem;pointer-events:none;position:absolute}.fd-tree__item-container.is-focus.is-active:before,.fd-tree__item-container.is-focus:active:before,.fd-tree__item-container:focus.is-active:before,.fd-tree__item-container:focus:active:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdList_Active_Outline_Color)}.fd-tree__item-container--active{cursor:pointer;position:relative}.fd-tree__item-container--active.is-hover,.fd-tree__item-container--active:hover{background:var(--sapList_Hover_Background)}.fd-tree__item-container--active.is-selected,.fd-tree__item-container--active[aria-selected=true]{background:var(--sapList_SelectionBackgroundColor);border-bottom:var(--sapList_BorderWidth) solid var(--sapList_SelectionBorderColor)}.fd-tree__item-container--active.is-active,.fd-tree__item-container--active.is-active.is-hover,.fd-tree__item-container--active.is-active.is-selected,.fd-tree__item-container--active.is-active.is-selected.is-hover,.fd-tree__item-container--active.is-active.is-selected:hover,.fd-tree__item-container--active.is-active:hover,.fd-tree__item-container--active.is-active[aria-selected=true],.fd-tree__item-container--active.is-active[aria-selected=true].is-hover,.fd-tree__item-container--active.is-active[aria-selected=true]:hover,.fd-tree__item-container--active:active,.fd-tree__item-container--active:active.is-hover,.fd-tree__item-container--active:active.is-selected,.fd-tree__item-container--active:active.is-selected.is-hover,.fd-tree__item-container--active:active.is-selected:hover,.fd-tree__item-container--active:active:hover,.fd-tree__item-container--active:active[aria-selected=true],.fd-tree__item-container--active:active[aria-selected=true].is-hover,.fd-tree__item-container--active:active[aria-selected=true]:hover{background:var(--sapList_Active_Background)}.fd-tree__item-container--active.is-focus,.fd-tree__item-container--active:focus{outline:none;pointer-events:all}.fd-tree__item-container--active.is-focus:before,.fd-tree__item-container--active:focus:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);bottom:.125rem;content:\"\";display:block;inset:.125rem .125rem .625rem;pointer-events:none;position:absolute}.fd-tree__item-container--active.is-focus.is-active:before,.fd-tree__item-container--active.is-focus:active:before,.fd-tree__item-container--active:focus.is-active:before,.fd-tree__item-container--active:focus:active:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdList_Active_Outline_Color)}.fd-tree__item-container--active.is-active .fd-button,.fd-tree__item-container--active.is-active .fd-tree__icon [class*=sap-icon],.fd-tree__item-container--active.is-active .fd-tree__icon[class*=sap-icon],.fd-tree__item-container--active.is-active .fd-tree__text,.fd-tree__item-container--active:active .fd-button,.fd-tree__item-container--active:active .fd-tree__icon [class*=sap-icon],.fd-tree__item-container--active:active .fd-tree__icon[class*=sap-icon],.fd-tree__item-container--active:active .fd-tree__text{color:var(--sapList_Active_TextColor)}.fd-tree__button{margin-left:var(--fdTree_Button_Spacing)}.fd-tree__button[dir=rtl],[dir=rtl] .fd-tree__button{margin-left:0;margin-right:var(--fdTree_Button_Spacing)}.fd-tree__expander{-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:transparent;background-color:transparent;background-image:none;border:0;border-radius:var(--sapButton_BorderCornerRadius);box-sizing:border-box;color:var(--sapTextColor);color:var(--sapButton_IconColor);cursor:pointer;display:inline-block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;min-height:var(--fdTree_Expander_Size);min-width:var(--fdTree_Expander_Size);outline:0;padding:0;text-decoration:none;user-select:none;vertical-align:middle;white-space:nowrap}.fd-tree__expander:after,.fd-tree__expander:before{box-sizing:inherit;font-size:inherit}.fd-tree__expander::-moz-focus-inner{border:0}.fd-tree__expander.is-focus,.fd-tree__expander:focus{outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);outline-offset:var(--fdButton_Outline_Offset);z-index:5}.fd-tree__expander .fd-tree__icon{-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;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-tree__expander .fd-tree__icon:after,.fd-tree__expander .fd-tree__icon:before{box-sizing:inherit;font-size:inherit}.fd-tree__expander .fd-tree__icon [class*=sap-icon],.fd-tree__expander .fd-tree__icon[class*=sap-icon]{-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;color:var(--sapButton_IconColor);display:flex;font-size:var(--fdTree_Expander_Icon_Font_Size);justify-content:center}.fd-tree__expander.is-expanded,.fd-tree__expander[aria-expanded=true]{border-bottom:none}.fd-tree__content{-webkit-box-sizing:border-box;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;min-height:var(--fdTree_Item_Height);overflow:hidden;padding:0;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;width:100%}.fd-tree__content:after,.fd-tree__content:before{box-sizing:inherit;font-size:inherit}.fd-tree__content--wrap,.fd-tree__content--wrap .fd-tree__text{overflow:visible;text-overflow:clip;white-space:normal}.fd-tree__content--wrap .fd-tree__text{line-height:var(--fdTree_Item_Wrap_Text_Line_Height)}.fd-tree__icon{line-height:var(--fdTree_Expander_Size);min-height:var(--fdTree_Expander_Size);min-width:var(--fdTree_Expander_Size)}.fd-tree__icon,.fd-tree__icon [class*=sap-icon],.fd-tree__icon[class*=sap-icon]{-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;display:flex;justify-content:center}.fd-tree__icon [class*=sap-icon],.fd-tree__icon[class*=sap-icon]{color:var(--sapContent_NonInteractiveIconColor);font-size:1.125rem}.fd-tree__icon--navigation [class*=sap-icon],.fd-tree__icon--navigation[class*=sap-icon]{font-size:.75rem;min-width:2.5rem}.fd-tree__icon--navigation:last-child{margin-right:-1rem}.fd-tree__icon--navigation[dir=rtl]:last-child,[dir=rtl] .fd-tree__icon--navigation:last-child{margin-left:-1rem;margin-right:0}.fd-tree__text{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapList_TextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--fdTree_Item_Font_Size);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);line-height:var(--fdTree_Item_Height);margin:0;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap;width:100%}.fd-tree__text:after,.fd-tree__text:before{box-sizing:inherit;font-size:inherit}.fd-tree--no-border .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container{border-bottom:var(--sapList_BorderWidth) solid transparent}.fd-tree--no-border .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-selected,.fd-tree--no-border .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container[aria-selected=true]{border-bottom:var(--sapList_BorderWidth) solid var(--sapList_SelectionBorderColor)}.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container{cursor:pointer;position:relative}.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-hover,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:hover{background:var(--sapList_Hover_Background)}.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-selected,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container[aria-selected=true]{background:var(--sapList_SelectionBackgroundColor);border-bottom:var(--sapList_BorderWidth) solid var(--sapList_SelectionBorderColor)}.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-active,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-active.is-hover,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-active.is-selected,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-active.is-selected.is-hover,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-active.is-selected:hover,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-active:hover,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-active[aria-selected=true],.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-active[aria-selected=true].is-hover,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-active[aria-selected=true]:hover,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:active,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:active.is-hover,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:active.is-selected,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:active.is-selected.is-hover,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:active.is-selected:hover,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:active:hover,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:active[aria-selected=true],.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:active[aria-selected=true].is-hover,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:active[aria-selected=true]:hover{background:var(--sapList_Active_Background)}.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-focus,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:focus{outline:none;pointer-events:all}.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-focus:before,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:focus:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);bottom:.125rem;content:\"\";display:block;inset:.125rem .125rem .625rem;pointer-events:none;position:absolute}.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-focus.is-active:before,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-focus:active:before,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:focus.is-active:before,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:focus:active:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdList_Active_Outline_Color)}.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-active .fd-button,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-active .fd-tree__icon [class*=sap-icon],.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-active .fd-tree__icon[class*=sap-icon],.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container.is-active .fd-tree__text,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:active .fd-button,.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:active .fd-tree__icon [class*=sap-icon],.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:active .fd-tree__icon[class*=sap-icon],.fd-tree--active .fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container:active .fd-tree__text{color:var(--sapList_Active_TextColor)}.fd-tree--active .fd-tree__item-container{cursor:pointer;position:relative}.fd-tree--active .fd-tree__item-container.is-hover,.fd-tree--active .fd-tree__item-container:hover{background:var(--sapList_Hover_Background)}.fd-tree--active .fd-tree__item-container.is-selected,.fd-tree--active .fd-tree__item-container[aria-selected=true]{background:var(--sapList_SelectionBackgroundColor);border-bottom:var(--sapList_BorderWidth) solid var(--sapList_SelectionBorderColor)}.fd-tree--active .fd-tree__item-container.is-active,.fd-tree--active .fd-tree__item-container.is-active.is-hover,.fd-tree--active .fd-tree__item-container.is-active.is-selected,.fd-tree--active .fd-tree__item-container.is-active.is-selected.is-hover,.fd-tree--active .fd-tree__item-container.is-active.is-selected:hover,.fd-tree--active .fd-tree__item-container.is-active:hover,.fd-tree--active .fd-tree__item-container.is-active[aria-selected=true],.fd-tree--active .fd-tree__item-container.is-active[aria-selected=true].is-hover,.fd-tree--active .fd-tree__item-container.is-active[aria-selected=true]:hover,.fd-tree--active .fd-tree__item-container:active,.fd-tree--active .fd-tree__item-container:active.is-hover,.fd-tree--active .fd-tree__item-container:active.is-selected,.fd-tree--active .fd-tree__item-container:active.is-selected.is-hover,.fd-tree--active .fd-tree__item-container:active.is-selected:hover,.fd-tree--active .fd-tree__item-container:active:hover,.fd-tree--active .fd-tree__item-container:active[aria-selected=true],.fd-tree--active .fd-tree__item-container:active[aria-selected=true].is-hover,.fd-tree--active .fd-tree__item-container:active[aria-selected=true]:hover{background:var(--sapList_Active_Background)}.fd-tree--active .fd-tree__item-container.is-focus,.fd-tree--active .fd-tree__item-container:focus{outline:none;pointer-events:all}.fd-tree--active .fd-tree__item-container.is-focus:before,.fd-tree--active .fd-tree__item-container:focus:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);bottom:.125rem;content:\"\";display:block;inset:.125rem .125rem .625rem;pointer-events:none;position:absolute}.fd-tree--active .fd-tree__item-container.is-focus.is-active:before,.fd-tree--active .fd-tree__item-container.is-focus:active:before,.fd-tree--active .fd-tree__item-container:focus.is-active:before,.fd-tree--active .fd-tree__item-container:focus:active:before{border:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--fdList_Active_Outline_Color)}.fd-tree--active .fd-tree__item-container.is-active .fd-button,.fd-tree--active .fd-tree__item-container.is-active .fd-tree__icon [class*=sap-icon],.fd-tree--active .fd-tree__item-container.is-active .fd-tree__icon[class*=sap-icon],.fd-tree--active .fd-tree__item-container.is-active .fd-tree__text,.fd-tree--active .fd-tree__item-container:active .fd-button,.fd-tree--active .fd-tree__item-container:active .fd-tree__icon [class*=sap-icon],.fd-tree--active .fd-tree__item-container:active .fd-tree__icon[class*=sap-icon],.fd-tree--active .fd-tree__item-container:active .fd-tree__text{color:var(--sapList_Active_TextColor)}.fd-tree--no-data .fd-tree__text{text-align:center}.fd-tree{display:block}.fd-tree__expander--loading{display:flex;align-items:center;justify-content:center}[dir=rtl] .fd-tree__expander:not(.is-expanded),.fd-tree__expander:not(.is-expanded)[dir=rtl]{transform:rotate(180deg)}[dir=rtl] .fd-tree__icon--navigation,.fd-tree__icon--navigation[dir=rtl]{transform:rotate(180deg)}.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active.is-focus:before,.fd-tree__item[aria-level=\"1\"]>.fd-tree__item-container--active:focus:before,.fd-tree__item-container--active:focus:before{bottom:.0625rem}\n"] }]
625
+ }], ctorParameters: function () { return []; }, propDecorators: { class: [{
152
626
  type: Input
153
- }], treeData: [{
627
+ }], noBorder: [{
154
628
  type: Input
155
- }], hideAll: [{
629
+ }], selection: [{
156
630
  type: Input
157
- }], displayTreeActions: [{
631
+ }], selectionPlacement: [{
158
632
  type: Input
159
- }], editRowClicked: [{
633
+ }], independentSections: [{
634
+ type: Input
635
+ }], navigationIndicator: [{
636
+ type: Input
637
+ }], dataRequested: [{
160
638
  type: Output
161
- }], deleteRowClicked: [{
639
+ }], dataReceived: [{
162
640
  type: Output
163
- }], treeChildren: [{
641
+ }], selectedChange: [{
642
+ type: Output
643
+ }], treeItemDef: [{
644
+ type: ContentChild,
645
+ args: [TreeItemDefDirective]
646
+ }], _treeItemDirectives: [{
164
647
  type: ViewChildren,
165
- args: [TreeChildComponent]
648
+ args: [TreeItemDirective]
649
+ }], _projectedTreeItems: [{
650
+ type: ContentChildren,
651
+ args: [BaseTreeItem, { descendants: true }]
652
+ }], buildComponentCssClass: [], _onKeyUp: [{
653
+ type: HostListener,
654
+ args: ['keydown', ['$event']]
655
+ }] } });
656
+
657
+ class TreeItemComponent extends BaseTreeItem {
658
+ constructor() {
659
+ super(...arguments);
660
+ /**
661
+ * Tree item ID.
662
+ */
663
+ this.id = uuidv4();
664
+ /**
665
+ * Whether the tree item is navigatable.
666
+ */
667
+ this.navigatable = false;
668
+ /**
669
+ * Tree item child nodes data source.
670
+ */
671
+ this.childNodes = [];
672
+ /**
673
+ * Whether to wrap content.
674
+ */
675
+ this.wrapContent = false;
676
+ /** @hidden */
677
+ this._expanded = false;
678
+ /**
679
+ * @hidden
680
+ * Whether the tree item should have a navigation indicator.
681
+ */
682
+ this._navigationIndicator = false;
683
+ /**
684
+ * Event emitted when user clicks on tree item.
685
+ */
686
+ this.treeItemClick = new EventEmitter();
687
+ /**
688
+ * Event emitted when `expanded` state changes.
689
+ */
690
+ this.expandedChange = new EventEmitter();
691
+ /**
692
+ * @hidden
693
+ * Selection state.
694
+ */
695
+ this._selectionState = false;
696
+ /** @hidden */
697
+ this.children = [];
698
+ /** @hidden */
699
+ this.childrenLoaded = false;
700
+ /** @Hidden */
701
+ this._containerTabIndex = 0;
702
+ /** @hidden */
703
+ this._totalChildrenLoaded = false;
704
+ /** @hidden */
705
+ this._dsChildrenNumber = 0;
706
+ /** @hidden */
707
+ this._clicked$ = new Subject();
708
+ /** Clicked behavior implementation. */
709
+ this.clicked = this._clicked$.asObservable();
710
+ /** @hidden */
711
+ this._treeService = inject(TreeService);
712
+ /** @hidden */
713
+ this._dataSourceDirective = inject(DataSourceDirective);
714
+ /** @hidden */
715
+ this._cdr = inject(ChangeDetectorRef);
716
+ /** @hidden */
717
+ this._destroy$ = inject(DestroyedService);
718
+ /** @hidden */
719
+ this._parentTreeItem = inject(TreeItemComponent, {
720
+ optional: true,
721
+ skipSelf: true
722
+ });
723
+ }
724
+ /**
725
+ * Tree item parent ID.
726
+ */
727
+ set parentId(value) {
728
+ this._parentId = value;
729
+ }
730
+ get parentId() {
731
+ return this._parentId || this._parentTreeItem?.id;
732
+ }
733
+ /**
734
+ * Tree item level.
735
+ */
736
+ set level(value) {
737
+ this._level = value;
738
+ }
739
+ get level() {
740
+ return this._level || (this._parentTreeItem !== null ? this._parentTreeItem.level + 1 : 1);
741
+ }
742
+ /**
743
+ * Whether the tree item is expanded.
744
+ */
745
+ set expanded(value) {
746
+ if (value === this._expanded) {
747
+ return;
748
+ }
749
+ this._treeService.addExpandableItem(this.id, this.level, value);
750
+ this._expanded = value;
751
+ if (value) {
752
+ setTimeout(() => {
753
+ this._treeService.detectChanges.next();
754
+ this._dataSourceDirective.dataSourceProvider?.match();
755
+ });
756
+ }
757
+ else {
758
+ this.children = [];
759
+ this.childrenLoaded = false;
760
+ this._treeService.detectChanges.next();
761
+ }
762
+ this._cdr.detectChanges();
763
+ }
764
+ get expanded() {
765
+ return this._expanded;
766
+ }
767
+ /** Whether the tree item has any type of child nodes. */
768
+ get hasChildren() {
769
+ return !!this.childNodes || this.hasProjectedChildren;
770
+ }
771
+ /** Whether the tree item has content-projected child nodes. */
772
+ get hasProjectedChildren() {
773
+ return this._projectedTreeItems && this._projectedTreeItems.length > 0;
774
+ }
775
+ /** Whether the tree item has data source children. */
776
+ get hasDsChildren() {
777
+ return this._dsChildrenNumber > 0;
778
+ }
779
+ /** Whether the item is accessible via keyboard. */
780
+ get keyboardAccessible() {
781
+ return this._parentTreeItem === null
782
+ ? true
783
+ : this._parentTreeItem.keyboardAccessible && this._parentTreeItem.expanded;
784
+ }
785
+ /** @hidden */
786
+ ngOnInit() {
787
+ this._treeService.selectionMode.pipe(takeUntil(this._destroy$)).subscribe((model) => {
788
+ this._selectionModel = model;
789
+ this._cdr.detectChanges();
790
+ });
791
+ this._treeService.navigationIndicator.pipe(takeUntil(this._destroy$)).subscribe((value) => {
792
+ this._navigationIndicator = value;
793
+ this._cdr.detectChanges();
794
+ });
795
+ this._dataSourceDirective.dataSource = this.childNodes;
796
+ this._treeService.addExpandableItem(this.id, this.level, this.expanded);
797
+ this._dataSourceDirective.dataSourceProvider
798
+ ?.getTotalItems()
799
+ .pipe(takeUntil(this._destroy$))
800
+ .subscribe((totalItems) => {
801
+ this._dsChildrenNumber = totalItems;
802
+ this._totalChildrenLoaded = true;
803
+ this._cdr.detectChanges();
804
+ });
805
+ this._dataSourceDirective.dataSourceProvider?.dataReceived
806
+ .pipe(filter((received) => received), switchMap(() => this._dataSourceDirective.dataChanged$), takeUntil(this._destroy$))
807
+ .subscribe((data) => {
808
+ this.children = this._treeService.normalizeTreeItems(data, this.id, this.level + 1);
809
+ this.childrenLoaded = true;
810
+ setTimeout(() => {
811
+ this._treeService.detectChanges.next();
812
+ this._cdr.detectChanges();
813
+ });
814
+ });
815
+ }
816
+ /** @hidden */
817
+ ngAfterViewInit() {
818
+ this._projectedTreeItems.changes
819
+ .pipe(startWith(null), distinctUntilChanged(), takeUntil(this._destroy$))
820
+ .subscribe(() => {
821
+ this._cdr.detectChanges();
822
+ this._projectedTreeItems.forEach((treeItem, index) => {
823
+ treeItem.setPosition(this._projectedTreeItems.length, index + 1);
824
+ });
825
+ });
826
+ }
827
+ /** @hidden */
828
+ ngOnDestroy() {
829
+ this._treeService.removeExpandableItem(this.id, this.level);
830
+ }
831
+ /**
832
+ * Sets position of the current item in the set.
833
+ * @param totalItems Total items amount in the set.
834
+ * @param currentIndex Current item position in the set.
835
+ */
836
+ setPosition(totalItems, currentIndex) {
837
+ this._setSize = totalItems;
838
+ this._currentPosition = currentIndex;
839
+ }
840
+ /** Method to focus on the tree item. */
841
+ focus() {
842
+ this.itemContainer?.nativeElement.focus();
843
+ }
844
+ /** Method for setting the focusable tabindex. */
845
+ setContainerTabIndex(value) {
846
+ this._containerTabIndex = value;
847
+ this._cdr.markForCheck();
848
+ }
849
+ /** @hidden */
850
+ _toggleExpandState(event) {
851
+ // Do not bubble up to selection change event.
852
+ event.stopImmediatePropagation();
853
+ this.expanded = !this.expanded;
854
+ this.expandedChange.emit(this.expanded);
855
+ this.focus();
856
+ }
857
+ /** @hidden */
858
+ _onClick(event) {
859
+ event.stopImmediatePropagation();
860
+ this._clicked$.next(event);
861
+ this.treeItemClick.emit(event);
862
+ }
863
+ /** @hidden */
864
+ _setSelected(selected) {
865
+ this._selectionState = selected;
866
+ }
867
+ }
868
+ TreeItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TreeItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
869
+ TreeItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: TreeItemComponent, selector: "fd-tree-item", inputs: { value: "value", id: "id", ariaLabel: "ariaLabel", parentId: "parentId", navigatable: "navigatable", state: "state", childNodes: "childNodes", wrapContent: "wrapContent", level: "level", expanded: "expanded" }, outputs: { treeItemClick: "treeItemClick", expandedChange: "expandedChange" }, host: { attributes: { "role": "presentation" }, properties: { "attr.aria-label": "this.ariaLabel", "attr.aria-level": "this.level" }, classAttribute: "fd-tree__item" }, providers: [
870
+ DestroyedService,
871
+ {
872
+ provide: FDK_SELECTABLE_ITEM_PROVIDER,
873
+ useExisting: TreeItemComponent
874
+ },
875
+ {
876
+ provide: BaseTreeItem,
877
+ useExisting: TreeItemComponent
878
+ }
879
+ ], queries: [{ propertyName: "_projectedTreeItems", predicate: BaseTreeItem }], viewQueries: [{ propertyName: "itemContainer", first: true, predicate: ["itemContainer"], descendants: true, read: ElementRef }, { propertyName: "selectableListItem", first: true, predicate: SelectableItemDirective, descendants: true }], usesInheritance: true, hostDirectives: [{ directive: i1.DataSourceDirective }], ngImport: i0, template: "<div\n class=\"fd-tree__item-container\"\n [attr.tabindex]=\"_containerTabIndex\"\n (fdkClicked)=\"_onClick($event)\"\n fdkSelectableItem\n (selected)=\"_setSelected($event)\"\n [value]=\"value\"\n [attr.aria-haspopup]=\"children.length > 0 || hasProjectedChildren\"\n [attr.aria-expanded]=\"expanded\"\n [attr.aria-setsize]=\"_setSize\"\n [attr.aria-posinset]=\"_currentPosition\"\n role=\"treeitem\"\n [attr.aria-level]=\"level\"\n #itemContainer\n [ngClass]=\"[\n state ? 'has-highlight-indicator has-highlight-indicator--' + state : '',\n navigatable ? 'fd-tree__item-container--active' : '',\n wrapContent ? 'fd-tree__content--wrap' : ''\n ]\"\n>\n <ng-container *ngIf=\"_selectionModel?.placement === 'left'\">\n <ng-template [ngTemplateOutlet]=\"selection\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"hasChildren\">\n <span\n *ngIf=\"hasDsChildren || hasProjectedChildren\"\n (click)=\"_toggleExpandState($event)\"\n class=\"fd-tree__expander\"\n aria-hidden=\"true\"\n role=\"presentation\"\n [attr.aria-label]=\"(expanded ? 'coreTree.collapse' : 'coreTree.expand') | fdTranslate\"\n [class.is-expanded]=\"expanded\"\n >\n <fd-icon\n class=\"fd-tree__icon\"\n [glyph]=\"expanded ? 'navigation-down-arrow' : 'navigation-right-arrow'\"\n ></fd-icon>\n </span>\n <div class=\"fd-tree__expander fd-tree__expander--loading\" *ngIf=\"!_totalChildrenLoaded\">\n <fd-skeleton type=\"rectangle\" width=\"1rem\" height=\"1rem\"></fd-skeleton>\n </div>\n <ng-container *ngIf=\"_selectionModel?.placement === 'afterExpand'\">\n <ng-template [ngTemplateOutlet]=\"selection\"></ng-template>\n </ng-container>\n </ng-container>\n <div class=\"fd-tree__content\">\n <ng-content select=\"[fdTreeItemIcon]\"></ng-content>\n <ng-content select=\"[fdTreeItemText]\"></ng-content>\n </div>\n <ng-content select=\"[fdTreeItemButton]\"></ng-content>\n <ng-container *ngIf=\"_selectionModel?.placement === 'right'\">\n <ng-template [ngTemplateOutlet]=\"selection\"></ng-template>\n </ng-container>\n <fd-icon\n glyph=\"slim-arrow-right\"\n class=\"fd-tree__icon fd-tree__icon--navigation\"\n *ngIf=\"navigatable && _navigationIndicator\"\n ></fd-icon>\n</div>\n\n<ng-container *ngIf=\"hasProjectedChildren && expanded\">\n <div class=\"fd-tree\">\n <ng-content select=\"fd-tree-item\"></ng-content>\n </div>\n</ng-container>\n\n<ng-template #selection>\n <div class=\"fd-form-item\">\n <fd-checkbox\n [(ngModel)]=\"_selectionState\"\n [ngModelOptions]=\"{ standalone: true }\"\n [standalone]=\"true\"\n tabIndexValue=\"-1\"\n *ngIf=\"_selectionModel?.mode === 'multiple'\"\n ></fd-checkbox>\n <fd-radio-button\n [(ngModel)]=\"_selectionState\"\n [ngModelOptions]=\"{ standalone: true }\"\n [selectedValue]=\"_selectionState\"\n [value]=\"true\"\n tabIndex=\"-1\"\n [standalone]=\"true\"\n tabIndexValue=\"-1\"\n *ngIf=\"_selectionModel?.mode === 'single'\"\n ></fd-radio-button>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3$1.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "component", type: i4$1.CheckboxComponent, selector: "fd-checkbox", inputs: ["ariaLabel", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "tristate", "tristateSelectable", "labelClass", "required", "values", "standalone"], outputs: ["focusChange"] }, { kind: "directive", type: i4.ClickedDirective, selector: "[fdkClicked]", outputs: ["fdkClicked"] }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.SelectableItemDirective, selector: "[fdkSelectableItem]", inputs: ["value", "fdkSelectableItem"], outputs: ["clicked", "selected"], exportAs: ["fdkSelectableItem"] }, { kind: "component", type: i7$1.RadioButtonComponent, selector: "fd-radio-button", inputs: ["ariaLabel", "ariaLabelledBy", "ariaDescribedBy", "title", "tabIndex", "state", "disabled", "selectedValue", "name", "id", "value", "required", "standalone"] }, { kind: "component", type: i5.SkeletonComponent, selector: "fd-skeleton", inputs: ["animated", "type", "textLines", "width", "height"] }, { kind: "pipe", type: i7.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
880
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TreeItemComponent, decorators: [{
881
+ type: Component,
882
+ args: [{ selector: 'fd-tree-item', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [DataSourceDirective], host: {
883
+ class: 'fd-tree__item',
884
+ role: 'presentation'
885
+ }, providers: [
886
+ DestroyedService,
887
+ {
888
+ provide: FDK_SELECTABLE_ITEM_PROVIDER,
889
+ useExisting: TreeItemComponent
890
+ },
891
+ {
892
+ provide: BaseTreeItem,
893
+ useExisting: TreeItemComponent
894
+ }
895
+ ], template: "<div\n class=\"fd-tree__item-container\"\n [attr.tabindex]=\"_containerTabIndex\"\n (fdkClicked)=\"_onClick($event)\"\n fdkSelectableItem\n (selected)=\"_setSelected($event)\"\n [value]=\"value\"\n [attr.aria-haspopup]=\"children.length > 0 || hasProjectedChildren\"\n [attr.aria-expanded]=\"expanded\"\n [attr.aria-setsize]=\"_setSize\"\n [attr.aria-posinset]=\"_currentPosition\"\n role=\"treeitem\"\n [attr.aria-level]=\"level\"\n #itemContainer\n [ngClass]=\"[\n state ? 'has-highlight-indicator has-highlight-indicator--' + state : '',\n navigatable ? 'fd-tree__item-container--active' : '',\n wrapContent ? 'fd-tree__content--wrap' : ''\n ]\"\n>\n <ng-container *ngIf=\"_selectionModel?.placement === 'left'\">\n <ng-template [ngTemplateOutlet]=\"selection\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"hasChildren\">\n <span\n *ngIf=\"hasDsChildren || hasProjectedChildren\"\n (click)=\"_toggleExpandState($event)\"\n class=\"fd-tree__expander\"\n aria-hidden=\"true\"\n role=\"presentation\"\n [attr.aria-label]=\"(expanded ? 'coreTree.collapse' : 'coreTree.expand') | fdTranslate\"\n [class.is-expanded]=\"expanded\"\n >\n <fd-icon\n class=\"fd-tree__icon\"\n [glyph]=\"expanded ? 'navigation-down-arrow' : 'navigation-right-arrow'\"\n ></fd-icon>\n </span>\n <div class=\"fd-tree__expander fd-tree__expander--loading\" *ngIf=\"!_totalChildrenLoaded\">\n <fd-skeleton type=\"rectangle\" width=\"1rem\" height=\"1rem\"></fd-skeleton>\n </div>\n <ng-container *ngIf=\"_selectionModel?.placement === 'afterExpand'\">\n <ng-template [ngTemplateOutlet]=\"selection\"></ng-template>\n </ng-container>\n </ng-container>\n <div class=\"fd-tree__content\">\n <ng-content select=\"[fdTreeItemIcon]\"></ng-content>\n <ng-content select=\"[fdTreeItemText]\"></ng-content>\n </div>\n <ng-content select=\"[fdTreeItemButton]\"></ng-content>\n <ng-container *ngIf=\"_selectionModel?.placement === 'right'\">\n <ng-template [ngTemplateOutlet]=\"selection\"></ng-template>\n </ng-container>\n <fd-icon\n glyph=\"slim-arrow-right\"\n class=\"fd-tree__icon fd-tree__icon--navigation\"\n *ngIf=\"navigatable && _navigationIndicator\"\n ></fd-icon>\n</div>\n\n<ng-container *ngIf=\"hasProjectedChildren && expanded\">\n <div class=\"fd-tree\">\n <ng-content select=\"fd-tree-item\"></ng-content>\n </div>\n</ng-container>\n\n<ng-template #selection>\n <div class=\"fd-form-item\">\n <fd-checkbox\n [(ngModel)]=\"_selectionState\"\n [ngModelOptions]=\"{ standalone: true }\"\n [standalone]=\"true\"\n tabIndexValue=\"-1\"\n *ngIf=\"_selectionModel?.mode === 'multiple'\"\n ></fd-checkbox>\n <fd-radio-button\n [(ngModel)]=\"_selectionState\"\n [ngModelOptions]=\"{ standalone: true }\"\n [selectedValue]=\"_selectionState\"\n [value]=\"true\"\n tabIndex=\"-1\"\n [standalone]=\"true\"\n tabIndexValue=\"-1\"\n *ngIf=\"_selectionModel?.mode === 'single'\"\n ></fd-radio-button>\n </div>\n</ng-template>\n" }]
896
+ }], propDecorators: { value: [{
897
+ type: Input
898
+ }], id: [{
899
+ type: Input
900
+ }], ariaLabel: [{
901
+ type: HostBinding,
902
+ args: ['attr.aria-label']
903
+ }, {
904
+ type: Input
905
+ }], parentId: [{
906
+ type: Input
907
+ }], navigatable: [{
908
+ type: Input
909
+ }], state: [{
910
+ type: Input
911
+ }], childNodes: [{
912
+ type: Input
913
+ }], wrapContent: [{
914
+ type: Input
915
+ }], level: [{
916
+ type: Input
917
+ }, {
918
+ type: HostBinding,
919
+ args: ['attr.aria-level']
920
+ }], expanded: [{
921
+ type: Input
922
+ }], treeItemClick: [{
923
+ type: Output
924
+ }], expandedChange: [{
925
+ type: Output
926
+ }], itemContainer: [{
927
+ type: ViewChild,
928
+ args: ['itemContainer', { read: ElementRef }]
929
+ }], selectableListItem: [{
930
+ type: ViewChild,
931
+ args: [SelectableItemDirective]
932
+ }], _projectedTreeItems: [{
933
+ type: ContentChildren,
934
+ args: [BaseTreeItem]
935
+ }] } });
936
+
937
+ class TreeItemIconDirective {
938
+ constructor() {
939
+ /** @hidden */
940
+ this._role = 'presentation';
941
+ /** @hidden */
942
+ this._ariaHidden = true;
943
+ }
944
+ }
945
+ TreeItemIconDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TreeItemIconDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
946
+ TreeItemIconDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: TreeItemIconDirective, selector: "[fdTreeItemIcon]", host: { properties: { "attr.role": "this._role", "attr.aria-hidden": "this._ariaHidden" }, classAttribute: "fd-tree__icon" }, ngImport: i0 });
947
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TreeItemIconDirective, decorators: [{
948
+ type: Directive,
949
+ args: [{
950
+ selector: '[fdTreeItemIcon]',
951
+ host: {
952
+ class: 'fd-tree__icon'
953
+ }
954
+ }]
955
+ }], propDecorators: { _role: [{
956
+ type: HostBinding,
957
+ args: ['attr.role']
958
+ }], _ariaHidden: [{
959
+ type: HostBinding,
960
+ args: ['attr.aria-hidden']
166
961
  }] } });
962
+ class TreeItemTextDirective {
963
+ }
964
+ TreeItemTextDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TreeItemTextDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
965
+ TreeItemTextDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: TreeItemTextDirective, selector: "[fdTreeItemText]", host: { classAttribute: "fd-tree__text" }, ngImport: i0 });
966
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TreeItemTextDirective, decorators: [{
967
+ type: Directive,
968
+ args: [{
969
+ selector: '[fdTreeItemText]',
970
+ host: {
971
+ class: 'fd-tree__text'
972
+ }
973
+ }]
974
+ }] });
975
+
976
+ class TreeItemButtonDirective {
977
+ }
978
+ TreeItemButtonDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TreeItemButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
979
+ TreeItemButtonDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: TreeItemButtonDirective, selector: "[fdTreeItemButton]", host: { classAttribute: "fd-tree__button" }, ngImport: i0 });
980
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TreeItemButtonDirective, decorators: [{
981
+ type: Directive,
982
+ args: [{
983
+ selector: '[fdTreeItemButton]',
984
+ host: {
985
+ class: 'fd-tree__button'
986
+ }
987
+ }]
988
+ }] });
167
989
 
168
990
  class TreeModule {
169
991
  }
170
992
  TreeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TreeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
171
- TreeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: TreeModule, declarations: [TreeComponent, TreeChildComponent], imports: [CommonModule, ButtonModule, IconModule, PopoverModule, MenuModule], exports: [TreeComponent, TreeChildComponent] });
172
- TreeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TreeModule, imports: [CommonModule, ButtonModule, IconModule, PopoverModule, MenuModule] });
993
+ TreeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: TreeModule, declarations: [TreeComponent,
994
+ TreeItemComponent,
995
+ TreeItemDefDirective,
996
+ TreeItemDirective,
997
+ TreeItemIconDirective,
998
+ TreeItemTextDirective,
999
+ TreeItemButtonDirective], imports: [CommonModule,
1000
+ ButtonModule,
1001
+ IconModule,
1002
+ PopoverModule,
1003
+ MenuModule,
1004
+ CheckboxModule, i4.ClickedBehaviorModule, FormsModule,
1005
+ SelectableItemDirective,
1006
+ RadioModule,
1007
+ SkeletonModule,
1008
+ RepeatDirective,
1009
+ ReactiveFormsModule,
1010
+ I18nModule], exports: [TreeComponent,
1011
+ TreeItemComponent,
1012
+ TreeItemDefDirective,
1013
+ TreeItemDirective,
1014
+ TreeItemIconDirective,
1015
+ TreeItemTextDirective,
1016
+ TreeItemButtonDirective] });
1017
+ TreeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TreeModule, imports: [CommonModule,
1018
+ ButtonModule,
1019
+ IconModule,
1020
+ PopoverModule,
1021
+ MenuModule,
1022
+ CheckboxModule,
1023
+ ClickedBehaviorModule.forRoot(),
1024
+ FormsModule,
1025
+ RadioModule,
1026
+ SkeletonModule,
1027
+ ReactiveFormsModule,
1028
+ I18nModule] });
173
1029
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TreeModule, decorators: [{
174
1030
  type: NgModule,
175
1031
  args: [{
176
- declarations: [TreeComponent, TreeChildComponent],
177
- imports: [CommonModule, ButtonModule, IconModule, PopoverModule, MenuModule],
178
- exports: [TreeComponent, TreeChildComponent]
1032
+ declarations: [
1033
+ TreeComponent,
1034
+ TreeItemComponent,
1035
+ TreeItemDefDirective,
1036
+ TreeItemDirective,
1037
+ TreeItemIconDirective,
1038
+ TreeItemTextDirective,
1039
+ TreeItemButtonDirective
1040
+ ],
1041
+ imports: [
1042
+ CommonModule,
1043
+ ButtonModule,
1044
+ IconModule,
1045
+ PopoverModule,
1046
+ MenuModule,
1047
+ CheckboxModule,
1048
+ ClickedBehaviorModule.forRoot(),
1049
+ FormsModule,
1050
+ SelectableItemDirective,
1051
+ RadioModule,
1052
+ SkeletonModule,
1053
+ RepeatDirective,
1054
+ ReactiveFormsModule,
1055
+ I18nModule
1056
+ ],
1057
+ exports: [
1058
+ TreeComponent,
1059
+ TreeItemComponent,
1060
+ TreeItemDefDirective,
1061
+ TreeItemDirective,
1062
+ TreeItemIconDirective,
1063
+ TreeItemTextDirective,
1064
+ TreeItemButtonDirective
1065
+ ]
179
1066
  }]
180
1067
  }] });
181
1068
 
1069
+ const FD_TREE_ITEM = new InjectionToken('FdTreeItem');
1070
+
182
1071
  /**
183
1072
  * Generated bundle index. Do not edit.
184
1073
  */
185
1074
 
186
- export { TreeChildComponent, TreeComponent, TreeModule };
1075
+ export { ArrayTreeDataSource, BaseTreeItem, FD_TREE_ITEM, FdTreeDataSource, ObservableTreeDataSource, TreeComponent, TreeDataSourceParser, TreeItemButtonDirective, TreeItemComponent, TreeItemDefDirective, TreeItemDirective, TreeItemIconDirective, TreeItemTextDirective, TreeModule };
187
1076
  //# sourceMappingURL=fundamental-ngx-core-tree.mjs.map