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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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.0.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
@@ -0,0 +1,296 @@
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, HostBinding, inject, Input, Output, QueryList, ViewChild, ViewEncapsulation } from '@angular/core';
2
+ import { DataSourceDirective } from '@fundamental-ngx/cdk/data-source';
3
+ import { DestroyedService, FDK_SELECTABLE_ITEM_PROVIDER, SelectableItemDirective, SelectableItemToken, uuidv4 } from '@fundamental-ngx/cdk/utils';
4
+ import { distinctUntilChanged, filter, startWith, Subject, switchMap, takeUntil } from 'rxjs';
5
+ import { TreeService } from '../../tree.service';
6
+ import { BaseTreeItem } from '../../models/base-tree-item.class';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@fundamental-ngx/cdk/data-source";
9
+ import * as i2 from "@angular/common";
10
+ import * as i3 from "@fundamental-ngx/core/icon";
11
+ import * as i4 from "@fundamental-ngx/core/checkbox";
12
+ import * as i5 from "@fundamental-ngx/cdk/utils";
13
+ import * as i6 from "@angular/forms";
14
+ import * as i7 from "@fundamental-ngx/core/radio";
15
+ import * as i8 from "@fundamental-ngx/core/skeleton";
16
+ import * as i9 from "@fundamental-ngx/i18n";
17
+ export class TreeItemComponent extends BaseTreeItem {
18
+ constructor() {
19
+ super(...arguments);
20
+ /**
21
+ * Tree item ID.
22
+ */
23
+ this.id = uuidv4();
24
+ /**
25
+ * Whether the tree item is navigatable.
26
+ */
27
+ this.navigatable = false;
28
+ /**
29
+ * Tree item child nodes data source.
30
+ */
31
+ this.childNodes = [];
32
+ /**
33
+ * Whether to wrap content.
34
+ */
35
+ this.wrapContent = false;
36
+ /** @hidden */
37
+ this._expanded = false;
38
+ /**
39
+ * @hidden
40
+ * Whether the tree item should have a navigation indicator.
41
+ */
42
+ this._navigationIndicator = false;
43
+ /**
44
+ * Event emitted when user clicks on tree item.
45
+ */
46
+ this.treeItemClick = new EventEmitter();
47
+ /**
48
+ * Event emitted when `expanded` state changes.
49
+ */
50
+ this.expandedChange = new EventEmitter();
51
+ /**
52
+ * @hidden
53
+ * Selection state.
54
+ */
55
+ this._selectionState = false;
56
+ /** @hidden */
57
+ this.children = [];
58
+ /** @hidden */
59
+ this.childrenLoaded = false;
60
+ /** @Hidden */
61
+ this._containerTabIndex = 0;
62
+ /** @hidden */
63
+ this._totalChildrenLoaded = false;
64
+ /** @hidden */
65
+ this._dsChildrenNumber = 0;
66
+ /** @hidden */
67
+ this._clicked$ = new Subject();
68
+ /** Clicked behavior implementation. */
69
+ this.clicked = this._clicked$.asObservable();
70
+ /** @hidden */
71
+ this._treeService = inject(TreeService);
72
+ /** @hidden */
73
+ this._dataSourceDirective = inject(DataSourceDirective);
74
+ /** @hidden */
75
+ this._cdr = inject(ChangeDetectorRef);
76
+ /** @hidden */
77
+ this._destroy$ = inject(DestroyedService);
78
+ /** @hidden */
79
+ this._parentTreeItem = inject(TreeItemComponent, {
80
+ optional: true,
81
+ skipSelf: true
82
+ });
83
+ }
84
+ /**
85
+ * Tree item parent ID.
86
+ */
87
+ set parentId(value) {
88
+ this._parentId = value;
89
+ }
90
+ get parentId() {
91
+ return this._parentId || this._parentTreeItem?.id;
92
+ }
93
+ /**
94
+ * Tree item level.
95
+ */
96
+ set level(value) {
97
+ this._level = value;
98
+ }
99
+ get level() {
100
+ return this._level || (this._parentTreeItem !== null ? this._parentTreeItem.level + 1 : 1);
101
+ }
102
+ /**
103
+ * Whether the tree item is expanded.
104
+ */
105
+ set expanded(value) {
106
+ if (value === this._expanded) {
107
+ return;
108
+ }
109
+ this._treeService.addExpandableItem(this.id, this.level, value);
110
+ this._expanded = value;
111
+ if (value) {
112
+ setTimeout(() => {
113
+ this._treeService.detectChanges.next();
114
+ this._dataSourceDirective.dataSourceProvider?.match();
115
+ });
116
+ }
117
+ else {
118
+ this.children = [];
119
+ this.childrenLoaded = false;
120
+ this._treeService.detectChanges.next();
121
+ }
122
+ this._cdr.detectChanges();
123
+ }
124
+ get expanded() {
125
+ return this._expanded;
126
+ }
127
+ /** Whether the tree item has any type of child nodes. */
128
+ get hasChildren() {
129
+ return !!this.childNodes || this.hasProjectedChildren;
130
+ }
131
+ /** Whether the tree item has content-projected child nodes. */
132
+ get hasProjectedChildren() {
133
+ return this._projectedTreeItems && this._projectedTreeItems.length > 0;
134
+ }
135
+ /** Whether the tree item has data source children. */
136
+ get hasDsChildren() {
137
+ return this._dsChildrenNumber > 0;
138
+ }
139
+ /** Whether the item is accessible via keyboard. */
140
+ get keyboardAccessible() {
141
+ return this._parentTreeItem === null
142
+ ? true
143
+ : this._parentTreeItem.keyboardAccessible && this._parentTreeItem.expanded;
144
+ }
145
+ /** @hidden */
146
+ ngOnInit() {
147
+ this._treeService.selectionMode.pipe(takeUntil(this._destroy$)).subscribe((model) => {
148
+ this._selectionModel = model;
149
+ this._cdr.detectChanges();
150
+ });
151
+ this._treeService.navigationIndicator.pipe(takeUntil(this._destroy$)).subscribe((value) => {
152
+ this._navigationIndicator = value;
153
+ this._cdr.detectChanges();
154
+ });
155
+ this._dataSourceDirective.dataSource = this.childNodes;
156
+ this._treeService.addExpandableItem(this.id, this.level, this.expanded);
157
+ this._dataSourceDirective.dataSourceProvider
158
+ ?.getTotalItems()
159
+ .pipe(takeUntil(this._destroy$))
160
+ .subscribe((totalItems) => {
161
+ this._dsChildrenNumber = totalItems;
162
+ this._totalChildrenLoaded = true;
163
+ this._cdr.detectChanges();
164
+ });
165
+ this._dataSourceDirective.dataSourceProvider?.dataReceived
166
+ .pipe(filter((received) => received), switchMap(() => this._dataSourceDirective.dataChanged$), takeUntil(this._destroy$))
167
+ .subscribe((data) => {
168
+ this.children = this._treeService.normalizeTreeItems(data, this.id, this.level + 1);
169
+ this.childrenLoaded = true;
170
+ setTimeout(() => {
171
+ this._treeService.detectChanges.next();
172
+ this._cdr.detectChanges();
173
+ });
174
+ });
175
+ }
176
+ /** @hidden */
177
+ ngAfterViewInit() {
178
+ this._projectedTreeItems.changes
179
+ .pipe(startWith(null), distinctUntilChanged(), takeUntil(this._destroy$))
180
+ .subscribe(() => {
181
+ this._cdr.detectChanges();
182
+ this._projectedTreeItems.forEach((treeItem, index) => {
183
+ treeItem.setPosition(this._projectedTreeItems.length, index + 1);
184
+ });
185
+ });
186
+ }
187
+ /** @hidden */
188
+ ngOnDestroy() {
189
+ this._treeService.removeExpandableItem(this.id, this.level);
190
+ }
191
+ /**
192
+ * Sets position of the current item in the set.
193
+ * @param totalItems Total items amount in the set.
194
+ * @param currentIndex Current item position in the set.
195
+ */
196
+ setPosition(totalItems, currentIndex) {
197
+ this._setSize = totalItems;
198
+ this._currentPosition = currentIndex;
199
+ }
200
+ /** Method to focus on the tree item. */
201
+ focus() {
202
+ this.itemContainer?.nativeElement.focus();
203
+ }
204
+ /** Method for setting the focusable tabindex. */
205
+ setContainerTabIndex(value) {
206
+ this._containerTabIndex = value;
207
+ this._cdr.markForCheck();
208
+ }
209
+ /** @hidden */
210
+ _toggleExpandState(event) {
211
+ // Do not bubble up to selection change event.
212
+ event.stopImmediatePropagation();
213
+ this.expanded = !this.expanded;
214
+ this.expandedChange.emit(this.expanded);
215
+ this.focus();
216
+ }
217
+ /** @hidden */
218
+ _onClick(event) {
219
+ event.stopImmediatePropagation();
220
+ this._clicked$.next(event);
221
+ this.treeItemClick.emit(event);
222
+ }
223
+ /** @hidden */
224
+ _setSelected(selected) {
225
+ this._selectionState = selected;
226
+ }
227
+ }
228
+ TreeItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TreeItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
229
+ 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: [
230
+ DestroyedService,
231
+ {
232
+ provide: FDK_SELECTABLE_ITEM_PROVIDER,
233
+ useExisting: TreeItemComponent
234
+ },
235
+ {
236
+ provide: BaseTreeItem,
237
+ useExisting: TreeItemComponent
238
+ }
239
+ ], 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: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "component", type: i4.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: i5.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: i5.SelectableItemDirective, selector: "[fdkSelectableItem]", inputs: ["value", "fdkSelectableItem"], outputs: ["clicked", "selected"], exportAs: ["fdkSelectableItem"] }, { kind: "component", type: i7.RadioButtonComponent, selector: "fd-radio-button", inputs: ["ariaLabel", "ariaLabelledBy", "ariaDescribedBy", "title", "tabIndex", "state", "disabled", "selectedValue", "name", "id", "value", "required", "standalone"] }, { kind: "component", type: i8.SkeletonComponent, selector: "fd-skeleton", inputs: ["animated", "type", "textLines", "width", "height"] }, { kind: "pipe", type: i9.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
240
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TreeItemComponent, decorators: [{
241
+ type: Component,
242
+ args: [{ selector: 'fd-tree-item', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [DataSourceDirective], host: {
243
+ class: 'fd-tree__item',
244
+ role: 'presentation'
245
+ }, providers: [
246
+ DestroyedService,
247
+ {
248
+ provide: FDK_SELECTABLE_ITEM_PROVIDER,
249
+ useExisting: TreeItemComponent
250
+ },
251
+ {
252
+ provide: BaseTreeItem,
253
+ useExisting: TreeItemComponent
254
+ }
255
+ ], 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" }]
256
+ }], propDecorators: { value: [{
257
+ type: Input
258
+ }], id: [{
259
+ type: Input
260
+ }], ariaLabel: [{
261
+ type: HostBinding,
262
+ args: ['attr.aria-label']
263
+ }, {
264
+ type: Input
265
+ }], parentId: [{
266
+ type: Input
267
+ }], navigatable: [{
268
+ type: Input
269
+ }], state: [{
270
+ type: Input
271
+ }], childNodes: [{
272
+ type: Input
273
+ }], wrapContent: [{
274
+ type: Input
275
+ }], level: [{
276
+ type: Input
277
+ }, {
278
+ type: HostBinding,
279
+ args: ['attr.aria-level']
280
+ }], expanded: [{
281
+ type: Input
282
+ }], treeItemClick: [{
283
+ type: Output
284
+ }], expandedChange: [{
285
+ type: Output
286
+ }], itemContainer: [{
287
+ type: ViewChild,
288
+ args: ['itemContainer', { read: ElementRef }]
289
+ }], selectableListItem: [{
290
+ type: ViewChild,
291
+ args: [SelectableItemDirective]
292
+ }], _projectedTreeItems: [{
293
+ type: ContentChildren,
294
+ args: [BaseTreeItem]
295
+ }] } });
296
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3RyZWUvY29tcG9uZW50cy90cmVlLWl0ZW0vdHJlZS1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3RyZWUvY29tcG9uZW50cy90cmVlLWl0ZW0vdHJlZS1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxFQUNULFNBQVMsRUFDVCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFjLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkYsT0FBTyxFQUNILGdCQUFnQixFQUNoQiw0QkFBNEIsRUFFNUIsdUJBQXVCLEVBQ3ZCLG1CQUFtQixFQUNuQixNQUFNLEVBQ1QsTUFBTSw0QkFBNEIsQ0FBQztBQUNwQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUc5RixPQUFPLEVBQUUsV0FBVyxFQUFzQixNQUFNLG9CQUFvQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7Ozs7Ozs7QUF3QmpFLE1BQU0sT0FBTyxpQkFDVCxTQUFRLFlBQWtCO0lBdkI5Qjs7UUErQkk7O1dBRUc7UUFFSCxPQUFFLEdBQUcsTUFBTSxFQUFFLENBQUM7UUF3QmQ7O1dBRUc7UUFFSCxnQkFBVyxHQUFHLEtBQUssQ0FBQztR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Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGFTb3VyY2UsIERhdGFTb3VyY2VEaXJlY3RpdmUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay9kYXRhLXNvdXJjZSc7XG5pbXBvcnQge1xuICAgIERlc3Ryb3llZFNlcnZpY2UsXG4gICAgRkRLX1NFTEVDVEFCTEVfSVRFTV9QUk9WSURFUixcbiAgICBOdWxsYWJsZSxcbiAgICBTZWxlY3RhYmxlSXRlbURpcmVjdGl2ZSxcbiAgICBTZWxlY3RhYmxlSXRlbVRva2VuLFxuICAgIHV1aWR2NFxufSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBzdGFydFdpdGgsIFN1YmplY3QsIHN3aXRjaE1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGZFRyZWVBY2NlcHRhYmxlRGF0YVNvdXJjZSwgRmRUcmVlRGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uL2RhdGEtc291cmNlL3RyZWUtZGF0YS1zb3VyY2UnO1xuaW1wb3J0IHsgVHJlZUl0ZW0sIFRyZWVJdGVtU3RhdGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvdHJlZS1pdGVtJztcbmltcG9ydCB7IFRyZWVTZXJ2aWNlLCBTZWxlY3Rpb25Nb2RlTW9kZWwgfSBmcm9tICcuLi8uLi90cmVlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQmFzZVRyZWVJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Jhc2UtdHJlZS1pdGVtLmNsYXNzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC10cmVlLWl0ZW0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90cmVlLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtEYXRhU291cmNlRGlyZWN0aXZlXSxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnZmQtdHJlZV9faXRlbScsXG4gICAgICAgIHJvbGU6ICdwcmVzZW50YXRpb24nXG4gICAgfSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgRGVzdHJveWVkU2VydmljZSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRkRLX1NFTEVDVEFCTEVfSVRFTV9QUk9WSURFUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBUcmVlSXRlbUNvbXBvbmVudFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBCYXNlVHJlZUl0ZW0sXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogVHJlZUl0ZW1Db21wb25lbnRcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgVHJlZUl0ZW1Db21wb25lbnQ8VCBleHRlbmRzIFRyZWVJdGVtID0gVHJlZUl0ZW0sIFAgPSBhbnk+XG4gICAgZXh0ZW5kcyBCYXNlVHJlZUl0ZW08VCwgUD5cbiAgICBpbXBsZW1lbnRzIFBhcnRpYWw8U2VsZWN0YWJsZUl0ZW1Ub2tlbjxIVE1MRWxlbWVudCwgUD4+LCBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveVxue1xuICAgIC8qKlxuICAgICAqIFRyZWUgaXRlbSB2YWx1ZS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHZhbHVlOiBQO1xuICAgIC8qKlxuICAgICAqIFRyZWUgaXRlbSBJRC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGlkID0gdXVpZHY0KCk7XG5cbiAgICAvKipcbiAgICAgKiBUcmVlIGl0ZW0gYXJpYSBsYWJlbC5cbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1sYWJlbCcpXG4gICAgQElucHV0KClcbiAgICBhcmlhTGFiZWw6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRyZWUgaXRlbSBwYXJlbnQgSUQuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgcGFyZW50SWQodmFsdWU6IE51bGxhYmxlPHN0cmluZz4pIHtcbiAgICAgICAgdGhpcy5fcGFyZW50SWQgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBnZXQgcGFyZW50SWQoKTogTnVsbGFibGU8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wYXJlbnRJZCB8fCB0aGlzLl9wYXJlbnRUcmVlSXRlbT8uaWQ7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9wYXJlbnRJZDogTnVsbGFibGU8c3RyaW5nPjtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIHRyZWUgaXRlbSBpcyBuYXZpZ2F0YWJsZS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIG5hdmlnYXRhYmxlID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBUcmVlIGl0ZW0gc3RhdGUuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzdGF0ZTogTnVsbGFibGU8VHJlZUl0ZW1TdGF0ZT47XG5cbiAgICAvKipcbiAgICAgKiBUcmVlIGl0ZW0gY2hpbGQgbm9kZXMgZGF0YSBzb3VyY2UuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBjaGlsZE5vZGVzOiBGZFRyZWVBY2NlcHRhYmxlRGF0YVNvdXJjZTxUPiA9IFtdO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0byB3cmFwIGNvbnRlbnQuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICB3cmFwQ29udGVudCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogVHJlZSBpdGVtIGxldmVsLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtbGV2ZWwnKVxuICAgIHNldCBsZXZlbCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuX2xldmVsID0gdmFsdWU7XG4gICAgfVxuXG4gICAgZ2V0IGxldmVsKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl9sZXZlbCB8fCAodGhpcy5fcGFyZW50VHJlZUl0ZW0gIT09IG51bGwgPyB0aGlzLl9wYXJlbnRUcmVlSXRlbS5sZXZlbCArIDEgOiAxKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2xldmVsOiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSB0cmVlIGl0ZW0gaXMgZXhwYW5kZWQuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgZXhwYW5kZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKHZhbHVlID09PSB0aGlzLl9leHBhbmRlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3RyZWVTZXJ2aWNlLmFkZEV4cGFuZGFibGVJdGVtKHRoaXMuaWQsIHRoaXMubGV2ZWwsIHZhbHVlKTtcbiAgICAgICAgdGhpcy5fZXhwYW5kZWQgPSB2YWx1ZTtcblxuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX3RyZWVTZXJ2aWNlLmRldGVjdENoYW5nZXMubmV4dCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuX2RhdGFTb3VyY2VEaXJlY3RpdmUuZGF0YVNvdXJjZVByb3ZpZGVyPy5tYXRjaCgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNoaWxkcmVuID0gW107XG4gICAgICAgICAgICB0aGlzLmNoaWxkcmVuTG9hZGVkID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLl90cmVlU2VydmljZS5kZXRlY3RDaGFuZ2VzLm5leHQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgZ2V0IGV4cGFuZGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZXhwYW5kZWQ7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9leHBhbmRlZCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIFdoZXRoZXIgdGhlIHRyZWUgaXRlbSBzaG91bGQgaGF2ZSBhIG5hdmlnYXRpb24gaW5kaWNhdG9yLlxuICAgICAqL1xuICAgIF9uYXZpZ2F0aW9uSW5kaWNhdG9yID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdXNlciBjbGlja3Mgb24gdHJlZSBpdGVtLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IHRyZWVJdGVtQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQgfCBLZXlib2FyZEV2ZW50PigpO1xuXG4gICAgLyoqXG4gICAgICogRXZlbnQgZW1pdHRlZCB3aGVuIGBleHBhbmRlZGAgc3RhdGUgY2hhbmdlcy5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBleHBhbmRlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBTZWxlY3Rpb24gc3RhdGUuXG4gICAgICovXG4gICAgX3NlbGVjdGlvblN0YXRlID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNoaWxkcmVuOiBUW10gPSBbXTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY2hpbGRyZW5Mb2FkZWQgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3NlbGVjdGlvbk1vZGVsOiBOdWxsYWJsZTxTZWxlY3Rpb25Nb2RlTW9kZWw+O1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIHRyZWUgaXRlbSBoYXMgYW55IHR5cGUgb2YgY2hpbGQgbm9kZXMuICovXG4gICAgZ2V0IGhhc0NoaWxkcmVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmNoaWxkTm9kZXMgfHwgdGhpcy5oYXNQcm9qZWN0ZWRDaGlsZHJlbjtcbiAgICB9XG5cbiAgICAvKiogV2hldGhlciB0aGUgdHJlZSBpdGVtIGhhcyBjb250ZW50LXByb2plY3RlZCBjaGlsZCBub2Rlcy4gKi9cbiAgICBnZXQgaGFzUHJvamVjdGVkQ2hpbGRyZW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wcm9qZWN0ZWRUcmVlSXRlbXMgJiYgdGhpcy5fcHJvamVjdGVkVHJlZUl0ZW1zLmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgLyoqIFdoZXRoZXIgdGhlIHRyZWUgaXRlbSBoYXMgZGF0YSBzb3VyY2UgY2hpbGRyZW4uICovXG4gICAgZ2V0IGhhc0RzQ2hpbGRyZW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kc0NoaWxkcmVuTnVtYmVyID4gMDtcbiAgICB9XG5cbiAgICAvKiogQEhpZGRlbiAqL1xuICAgIF9jb250YWluZXJUYWJJbmRleCA9IDA7XG5cbiAgICAvKiogVHJlZSBpdGVtIGZvY3VzYWJsZSBjb250YWluZXIuICovXG4gICAgQFZpZXdDaGlsZCgnaXRlbUNvbnRhaW5lcicsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICAgIGl0ZW1Db250YWluZXI6IE51bGxhYmxlPEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PjtcblxuICAgIC8qKiBTZWxlY3RhYmxlIGl0ZW0uICovXG4gICAgQFZpZXdDaGlsZChTZWxlY3RhYmxlSXRlbURpcmVjdGl2ZSlcbiAgICBzZWxlY3RhYmxlTGlzdEl0ZW06IFNlbGVjdGFibGVJdGVtVG9rZW47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oQmFzZVRyZWVJdGVtKVxuICAgIF9wcm9qZWN0ZWRUcmVlSXRlbXM6IFF1ZXJ5TGlzdDxCYXNlVHJlZUl0ZW0+O1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIGl0ZW0gaXMgYWNjZXNzaWJsZSB2aWEga2V5Ym9hcmQuICovXG4gICAgZ2V0IGtleWJvYXJkQWNjZXNzaWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BhcmVudFRyZWVJdGVtID09PSBudWxsXG4gICAgICAgICAgICA/IHRydWVcbiAgICAgICAgICAgIDogdGhpcy5fcGFyZW50VHJlZUl0ZW0ua2V5Ym9hcmRBY2Nlc3NpYmxlICYmIHRoaXMuX3BhcmVudFRyZWVJdGVtLmV4cGFuZGVkO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3NldFNpemU6IG51bWJlcjtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9jdXJyZW50UG9zaXRpb246IG51bWJlcjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3RvdGFsQ2hpbGRyZW5Mb2FkZWQgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZHNDaGlsZHJlbk51bWJlciA9IDA7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2NsaWNrZWQkID0gbmV3IFN1YmplY3Q8TW91c2VFdmVudCB8IEtleWJvYXJkRXZlbnQ+KCk7XG5cbiAgICAvKiogQ2xpY2tlZCBiZWhhdmlvciBpbXBsZW1lbnRhdGlvbi4gKi9cbiAgICBjbGlja2VkID0gdGhpcy5fY2xpY2tlZCQuYXNPYnNlcnZhYmxlKCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3RyZWVTZXJ2aWNlID0gaW5qZWN0KFRyZWVTZXJ2aWNlKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZGF0YVNvdXJjZURpcmVjdGl2ZSA9IGluamVjdDxEYXRhU291cmNlRGlyZWN0aXZlPFQsIEZkVHJlZURhdGFTb3VyY2U8VD4+PihEYXRhU291cmNlRGlyZWN0aXZlKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveSQgPSBpbmplY3QoRGVzdHJveWVkU2VydmljZSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3BhcmVudFRyZWVJdGVtID0gaW5qZWN0KFRyZWVJdGVtQ29tcG9uZW50LCB7XG4gICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgICBza2lwU2VsZjogdHJ1ZVxuICAgIH0pO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdHJlZVNlcnZpY2Uuc2VsZWN0aW9uTW9kZS5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpLnN1YnNjcmliZSgobW9kZWwpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGlvbk1vZGVsID0gbW9kZWw7XG4gICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLl90cmVlU2VydmljZS5uYXZpZ2F0aW9uSW5kaWNhdG9yLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSkuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fbmF2aWdhdGlvbkluZGljYXRvciA9IHZhbHVlO1xuICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fZGF0YVNvdXJjZURpcmVjdGl2ZS5kYXRhU291cmNlID0gdGhpcy5jaGlsZE5vZGVzIGFzIERhdGFTb3VyY2U7XG4gICAgICAgIHRoaXMuX3RyZWVTZXJ2aWNlLmFkZEV4cGFuZGFibGVJdGVtKHRoaXMuaWQsIHRoaXMubGV2ZWwsIHRoaXMuZXhwYW5kZWQpO1xuXG4gICAgICAgIHRoaXMuX2RhdGFTb3VyY2VEaXJlY3RpdmUuZGF0YVNvdXJjZVByb3ZpZGVyXG4gICAgICAgICAgICA/LmdldFRvdGFsSXRlbXMoKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHRvdGFsSXRlbXMpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9kc0NoaWxkcmVuTnVtYmVyID0gdG90YWxJdGVtcztcbiAgICAgICAgICAgICAgICB0aGlzLl90b3RhbENoaWxkcmVuTG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fZGF0YVNvdXJjZURpcmVjdGl2ZS5kYXRhU291cmNlUHJvdmlkZXI/LmRhdGFSZWNlaXZlZFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKChyZWNlaXZlZCkgPT4gcmVjZWl2ZWQpLFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLl9kYXRhU291cmNlRGlyZWN0aXZlLmRhdGFDaGFuZ2VkJCksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2hpbGRyZW4gPSB0aGlzLl90cmVlU2VydmljZS5ub3JtYWxpemVUcmVlSXRlbXMoZGF0YSwgdGhpcy5pZCwgdGhpcy5sZXZlbCArIDEpIGFzIFRbXTtcbiAgICAgICAgICAgICAgICB0aGlzLmNoaWxkcmVuTG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdHJlZVNlcnZpY2UuZGV0ZWN0Q2hhbmdlcy5uZXh0KCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcHJvamVjdGVkVHJlZUl0ZW1zLmNoYW5nZXNcbiAgICAgICAgICAgIC5waXBlKHN0YXJ0V2l0aChudWxsKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fcHJvamVjdGVkVHJlZUl0ZW1zLmZvckVhY2goKHRyZWVJdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0cmVlSXRlbS5zZXRQb3NpdGlvbih0aGlzLl9wcm9qZWN0ZWRUcmVlSXRlbXMubGVuZ3RoLCBpbmRleCArIDEpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdHJlZVNlcnZpY2UucmVtb3ZlRXhwYW5kYWJsZUl0ZW0odGhpcy5pZCwgdGhpcy5sZXZlbCEpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgcG9zaXRpb24gb2YgdGhlIGN1cnJlbnQgaXRlbSBpbiB0aGUgc2V0LlxuICAgICAqIEBwYXJhbSB0b3RhbEl0ZW1zIFRvdGFsIGl0ZW1zIGFtb3VudCBpbiB0aGUgc2V0LlxuICAgICAqIEBwYXJhbSBjdXJyZW50SW5kZXggQ3VycmVudCBpdGVtIHBvc2l0aW9uIGluIHRoZSBzZXQuXG4gICAgICovXG4gICAgc2V0UG9zaXRpb24odG90YWxJdGVtczogbnVtYmVyLCBjdXJyZW50SW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLl9zZXRTaXplID0gdG90YWxJdGVtcztcbiAgICAgICAgdGhpcy5fY3VycmVudFBvc2l0aW9uID0gY3VycmVudEluZGV4O1xuICAgIH1cblxuICAgIC8qKiBNZXRob2QgdG8gZm9jdXMgb24gdGhlIHRyZWUgaXRlbS4gKi9cbiAgICBmb2N1cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pdGVtQ29udGFpbmVyPy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgLyoqIE1ldGhvZCBmb3Igc2V0dGluZyB0aGUgZm9jdXNhYmxlIHRhYmluZGV4LiAqL1xuICAgIHNldENvbnRhaW5lclRhYkluZGV4KHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY29udGFpbmVyVGFiSW5kZXggPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3RvZ2dsZUV4cGFuZFN0YXRlKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIC8vIERvIG5vdCBidWJibGUgdXAgdG8gc2VsZWN0aW9uIGNoYW5nZSBldmVudC5cbiAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMuZXhwYW5kZWQgPSAhdGhpcy5leHBhbmRlZDtcbiAgICAgICAgdGhpcy5leHBhbmRlZENoYW5nZS5lbWl0KHRoaXMuZXhwYW5kZWQpO1xuICAgICAgICB0aGlzLmZvY3VzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfb25DbGljayhldmVudDogTW91c2VFdmVudCB8IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgdGhpcy5fY2xpY2tlZCQubmV4dChldmVudCk7XG4gICAgICAgIHRoaXMudHJlZUl0ZW1DbGljay5lbWl0KGV2ZW50KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9zZXRTZWxlY3RlZChzZWxlY3RlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLl9zZWxlY3Rpb25TdGF0ZSA9IHNlbGVjdGVkO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICBjbGFzcz1cImZkLXRyZWVfX2l0ZW0tY29udGFpbmVyXCJcbiAgICBbYXR0ci50YWJpbmRleF09XCJfY29udGFpbmVyVGFiSW5kZXhcIlxuICAgIChmZGtDbGlja2VkKT1cIl9vbkNsaWNrKCRldmVudClcIlxuICAgIGZka1NlbGVjdGFibGVJdGVtXG4gICAgKHNlbGVjdGVkKT1cIl9zZXRTZWxlY3RlZCgkZXZlbnQpXCJcbiAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgIFthdHRyLmFyaWEtaGFzcG9wdXBdPVwiY2hpbGRyZW4ubGVuZ3RoID4gMCB8fCBoYXNQcm9qZWN0ZWRDaGlsZHJlblwiXG4gICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJleHBhbmRlZFwiXG4gICAgW2F0dHIuYXJpYS1zZXRzaXplXT1cIl9zZXRTaXplXCJcbiAgICBbYXR0ci5hcmlhLXBvc2luc2V0XT1cIl9jdXJyZW50UG9zaXRpb25cIlxuICAgIHJvbGU9XCJ0cmVlaXRlbVwiXG4gICAgW2F0dHIuYXJpYS1sZXZlbF09XCJsZXZlbFwiXG4gICAgI2l0ZW1Db250YWluZXJcbiAgICBbbmdDbGFzc109XCJbXG4gICAgICAgIHN0YXRlID8gJ2hhcy1oaWdobGlnaHQtaW5kaWNhdG9yIGhhcy1oaWdobGlnaHQtaW5kaWNhdG9yLS0nICsgc3RhdGUgOiAnJyxcbiAgICAgICAgbmF2aWdhdGFibGUgPyAnZmQtdHJlZV9faXRlbS1jb250YWluZXItLWFjdGl2ZScgOiAnJyxcbiAgICAgICAgd3JhcENvbnRlbnQgPyAnZmQtdHJlZV9fY29udGVudC0td3JhcCcgOiAnJ1xuICAgIF1cIlxuPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJfc2VsZWN0aW9uTW9kZWw/LnBsYWNlbWVudCA9PT0gJ2xlZnQnXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJzZWxlY3Rpb25cIj48L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJoYXNDaGlsZHJlblwiPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICAgKm5nSWY9XCJoYXNEc0NoaWxkcmVuIHx8IGhhc1Byb2plY3RlZENoaWxkcmVuXCJcbiAgICAgICAgICAgIChjbGljayk9XCJfdG9nZ2xlRXhwYW5kU3RhdGUoJGV2ZW50KVwiXG4gICAgICAgICAgICBjbGFzcz1cImZkLXRyZWVfX2V4cGFuZGVyXCJcbiAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICByb2xlPVwicHJlc2VudGF0aW9uXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiKGV4cGFuZGVkID8gJ2NvcmVUcmVlLmNvbGxhcHNlJyA6ICdjb3JlVHJlZS5leHBhbmQnKSB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgIFtjbGFzcy5pcy1leHBhbmRlZF09XCJleHBhbmRlZFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxmZC1pY29uXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmZC10cmVlX19pY29uXCJcbiAgICAgICAgICAgICAgICBbZ2x5cGhdPVwiZXhwYW5kZWQgPyAnbmF2aWdhdGlvbi1kb3duLWFycm93JyA6ICduYXZpZ2F0aW9uLXJpZ2h0LWFycm93J1wiXG4gICAgICAgICAgICA+PC9mZC1pY29uPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmZC10cmVlX19leHBhbmRlciBmZC10cmVlX19leHBhbmRlci0tbG9hZGluZ1wiICpuZ0lmPVwiIV90b3RhbENoaWxkcmVuTG9hZGVkXCI+XG4gICAgICAgICAgICA8ZmQtc2tlbGV0b24gdHlwZT1cInJlY3RhbmdsZVwiIHdpZHRoPVwiMXJlbVwiIGhlaWdodD1cIjFyZW1cIj48L2ZkLXNrZWxldG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIl9zZWxlY3Rpb25Nb2RlbD8ucGxhY2VtZW50ID09PSAnYWZ0ZXJFeHBhbmQnXCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwic2VsZWN0aW9uXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPGRpdiBjbGFzcz1cImZkLXRyZWVfX2NvbnRlbnRcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ZkVHJlZUl0ZW1JY29uXVwiPjwvbmctY29udGVudD5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ZkVHJlZUl0ZW1UZXh0XVwiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZmRUcmVlSXRlbUJ1dHRvbl1cIj48L25nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIl9zZWxlY3Rpb25Nb2RlbD8ucGxhY2VtZW50ID09PSAncmlnaHQnXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJzZWxlY3Rpb25cIj48L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxmZC1pY29uXG4gICAgICAgIGdseXBoPVwic2xpbS1hcnJvdy1yaWdodFwiXG4gICAgICAgIGNsYXNzPVwiZmQtdHJlZV9faWNvbiBmZC10cmVlX19pY29uLS1uYXZpZ2F0aW9uXCJcbiAgICAgICAgKm5nSWY9XCJuYXZpZ2F0YWJsZSAmJiBfbmF2aWdhdGlvbkluZGljYXRvclwiXG4gICAgPjwvZmQtaWNvbj5cbjwvZGl2PlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwiaGFzUHJvamVjdGVkQ2hpbGRyZW4gJiYgZXhwYW5kZWRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZmQtdHJlZVwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmZC10cmVlLWl0ZW1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNzZWxlY3Rpb24+XG4gICAgPGRpdiBjbGFzcz1cImZkLWZvcm0taXRlbVwiPlxuICAgICAgICA8ZmQtY2hlY2tib3hcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwiX3NlbGVjdGlvblN0YXRlXCJcbiAgICAgICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXG4gICAgICAgICAgICBbc3RhbmRhbG9uZV09XCJ0cnVlXCJcbiAgICAgICAgICAgIHRhYkluZGV4VmFsdWU9XCItMVwiXG4gICAgICAgICAgICAqbmdJZj1cIl9zZWxlY3Rpb25Nb2RlbD8ubW9kZSA9PT0gJ211bHRpcGxlJ1wiXG4gICAgICAgID48L2ZkLWNoZWNrYm94PlxuICAgICAgICA8ZmQtcmFkaW8tYnV0dG9uXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cIl9zZWxlY3Rpb25TdGF0ZVwiXG4gICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxuICAgICAgICAgICAgW3NlbGVjdGVkVmFsdWVdPVwiX3NlbGVjdGlvblN0YXRlXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJ0cnVlXCJcbiAgICAgICAgICAgIHRhYkluZGV4PVwiLTFcIlxuICAgICAgICAgICAgW3N0YW5kYWxvbmVdPVwidHJ1ZVwiXG4gICAgICAgICAgICB0YWJJbmRleFZhbHVlPVwiLTFcIlxuICAgICAgICAgICAgKm5nSWY9XCJfc2VsZWN0aW9uTW9kZWw/Lm1vZGUgPT09ICdzaW5nbGUnXCJcbiAgICAgICAgPjwvZmQtcmFkaW8tYnV0dG9uPlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -0,0 +1,22 @@
1
+ import { isDataSource } from '@fundamental-ngx/cdk/data-source';
2
+ import { isObservable } from 'rxjs';
3
+ import { ArrayTreeDataSource, ObservableTreeDataSource } from './tree-data-source';
4
+ export class TreeDataSourceParser {
5
+ /**
6
+ * Transforms plain array or observable into DataSource class.
7
+ * @param source
8
+ */
9
+ parse(source) {
10
+ if (isDataSource(source)) {
11
+ return source;
12
+ }
13
+ if (Array.isArray(source)) {
14
+ return new ArrayTreeDataSource(source);
15
+ }
16
+ if (isObservable(source)) {
17
+ return new ObservableTreeDataSource(source);
18
+ }
19
+ return undefined;
20
+ }
21
+ }
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1kYXRhLXNvdXJjZS1wYXJzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi90cmVlL2RhdGEtc291cmNlL3RyZWUtZGF0YS1zb3VyY2UtcGFyc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0IsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQ0gsbUJBQW1CLEVBR25CLHdCQUF3QixFQUMzQixNQUFNLG9CQUFvQixDQUFDO0FBRTVCLE1BQU0sT0FBTyxvQkFBb0I7SUFDN0I7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLE1BQXFDO1FBQ3ZDLElBQUksWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3RCLE9BQU8sTUFBNkIsQ0FBQztTQUN4QztRQUVELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN2QixPQUFPLElBQUksbUJBQW1CLENBQUksTUFBTSxDQUFDLENBQUM7U0FDN0M7UUFFRCxJQUFJLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN0QixPQUFPLElBQUksd0JBQXdCLENBQUksTUFBTSxDQUFDLENBQUM7U0FDbEQ7UUFFRCxPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhU291cmNlUGFyc2VyLCBpc0RhdGFTb3VyY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay9kYXRhLXNvdXJjZSc7XG5pbXBvcnQgeyBpc09ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gICAgQXJyYXlUcmVlRGF0YVNvdXJjZSxcbiAgICBGZFRyZWVBY2NlcHRhYmxlRGF0YVNvdXJjZSxcbiAgICBGZFRyZWVEYXRhU291cmNlLFxuICAgIE9ic2VydmFibGVUcmVlRGF0YVNvdXJjZVxufSBmcm9tICcuL3RyZWUtZGF0YS1zb3VyY2UnO1xuXG5leHBvcnQgY2xhc3MgVHJlZURhdGFTb3VyY2VQYXJzZXI8VD4gaW1wbGVtZW50cyBEYXRhU291cmNlUGFyc2VyPFQsIEZkVHJlZURhdGFTb3VyY2U8VD4+IHtcbiAgICAvKipcbiAgICAgKiBUcmFuc2Zvcm1zIHBsYWluIGFycmF5IG9yIG9ic2VydmFibGUgaW50byBEYXRhU291cmNlIGNsYXNzLlxuICAgICAqIEBwYXJhbSBzb3VyY2VcbiAgICAgKi9cbiAgICBwYXJzZShzb3VyY2U6IEZkVHJlZUFjY2VwdGFibGVEYXRhU291cmNlPFQ+KTogRmRUcmVlRGF0YVNvdXJjZTxUPiB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGlmIChpc0RhdGFTb3VyY2Uoc291cmNlKSkge1xuICAgICAgICAgICAgcmV0dXJuIHNvdXJjZSBhcyBGZFRyZWVEYXRhU291cmNlPFQ+O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoc291cmNlKSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBBcnJheVRyZWVEYXRhU291cmNlPFQ+KHNvdXJjZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNPYnNlcnZhYmxlKHNvdXJjZSkpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZVRyZWVEYXRhU291cmNlPFQ+KHNvdXJjZSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,23 @@
1
+ import { BaseDataSource, DataProvider } from '@fundamental-ngx/cdk/data-source';
2
+ export class FdTreeDataSource extends BaseDataSource {
3
+ /** @hidden */
4
+ constructor(dataProvider) {
5
+ super(dataProvider);
6
+ this.dataProvider = dataProvider;
7
+ /** @hidden */
8
+ this.limitless = true;
9
+ }
10
+ }
11
+ export class ArrayTreeDataSource extends FdTreeDataSource {
12
+ /** @hidden */
13
+ constructor(data) {
14
+ super(new DataProvider(data));
15
+ }
16
+ }
17
+ export class ObservableTreeDataSource extends FdTreeDataSource {
18
+ /** @hidden */
19
+ constructor(data) {
20
+ super(new DataProvider(data));
21
+ }
22
+ }
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1kYXRhLXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3RyZWUvZGF0YS1zb3VyY2UvdHJlZS1kYXRhLXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXdCLGNBQWMsRUFBRSxZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUd0RyxNQUFNLE9BQU8sZ0JBQW9CLFNBQVEsY0FBaUI7SUFHdEQsY0FBYztJQUNkLFlBQW1CLFlBQXFDO1FBQ3BELEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQURMLGlCQUFZLEdBQVosWUFBWSxDQUF5QjtRQUh4RCxjQUFjO1FBQ2QsY0FBUyxHQUFHLElBQUksQ0FBQztJQUlqQixDQUFDO0NBQ0o7QUFFRCxNQUFNLE9BQU8sbUJBQXVCLFNBQVEsZ0JBQW1CO0lBQzNELGNBQWM7SUFDZCxZQUFZLElBQVM7UUFDakIsS0FBSyxDQUFDLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDbEMsQ0FBQztDQUNKO0FBRUQsTUFBTSxPQUFPLHdCQUE0QixTQUFRLGdCQUFtQjtJQUNoRSxjQUFjO0lBQ2QsWUFBWSxJQUFxQjtRQUM3QixLQUFLLENBQUMsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNsQyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdERhdGFQcm92aWRlciwgQmFzZURhdGFTb3VyY2UsIERhdGFQcm92aWRlciB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL2RhdGEtc291cmNlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGNsYXNzIEZkVHJlZURhdGFTb3VyY2U8VD4gZXh0ZW5kcyBCYXNlRGF0YVNvdXJjZTxUPiB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBsaW1pdGxlc3MgPSB0cnVlO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IocHVibGljIGRhdGFQcm92aWRlcjogQWJzdHJhY3REYXRhUHJvdmlkZXI8VD4pIHtcbiAgICAgICAgc3VwZXIoZGF0YVByb3ZpZGVyKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBcnJheVRyZWVEYXRhU291cmNlPFQ+IGV4dGVuZHMgRmRUcmVlRGF0YVNvdXJjZTxUPiB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBUW10pIHtcbiAgICAgICAgc3VwZXIobmV3IERhdGFQcm92aWRlcihkYXRhKSk7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgT2JzZXJ2YWJsZVRyZWVEYXRhU291cmNlPFQ+IGV4dGVuZHMgRmRUcmVlRGF0YVNvdXJjZTxUPiB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBPYnNlcnZhYmxlPFRbXT4pIHtcbiAgICAgICAgc3VwZXIobmV3IERhdGFQcm92aWRlcihkYXRhKSk7XG4gICAgfVxufVxuXG4vKipcbiAqIFR5cGUgb2YgYWNjZXB0YWJsZSBvYmplY3RzIGFzIGEgZGF0YXNvdXJjZSBmb3IgdGhlIE11bHRpLUNvbWJvIEJveCBjb21wb25lbnQuXG4gKi9cbmV4cG9ydCB0eXBlIEZkVHJlZUFjY2VwdGFibGVEYXRhU291cmNlPFQgPSBhbnk+ID0gRmRUcmVlRGF0YVNvdXJjZTxUPiB8IE9ic2VydmFibGU8VFtdPiB8IFRbXTtcbmV4cG9ydCB0eXBlIEZkVHJlZUl0ZW1UeXBlPFR5cGUgZXh0ZW5kcyBGZFRyZWVBY2NlcHRhYmxlRGF0YVNvdXJjZT4gPSBUeXBlIGV4dGVuZHMgQmFzZURhdGFTb3VyY2U8aW5mZXIgWD5cbiAgICA/IFhcbiAgICA6IFR5cGUgZXh0ZW5kcyBBcnJheTxpbmZlciBYPlxuICAgID8gWFxuICAgIDogVHlwZSBleHRlbmRzIE9ic2VydmFibGU8aW5mZXIgWD5cbiAgICA/IFggZXh0ZW5kcyBBcnJheTxpbmZlciBWPlxuICAgICAgICA/IFZcbiAgICAgICAgOiBYXG4gICAgOiBUeXBlO1xuIl19
@@ -0,0 +1,16 @@
1
+ import { Directive } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class TreeItemButtonDirective {
4
+ }
5
+ TreeItemButtonDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TreeItemButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6
+ TreeItemButtonDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: TreeItemButtonDirective, selector: "[fdTreeItemButton]", host: { classAttribute: "fd-tree__button" }, ngImport: i0 });
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TreeItemButtonDirective, decorators: [{
8
+ type: Directive,
9
+ args: [{
10
+ selector: '[fdTreeItemButton]',
11
+ host: {
12
+ class: 'fd-tree__button'
13
+ }
14
+ }]
15
+ }] });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1pdGVtLWJ1dHRvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi90cmVlL2RpcmVjdGl2ZXMvdHJlZS1pdGVtLWJ1dHRvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFRMUMsTUFBTSxPQUFPLHVCQUF1Qjs7b0hBQXZCLHVCQUF1Qjt3R0FBdkIsdUJBQXVCOzJGQUF2Qix1QkFBdUI7a0JBTm5DLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsSUFBSSxFQUFFO3dCQUNGLEtBQUssRUFBRSxpQkFBaUI7cUJBQzNCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2ZkVHJlZUl0ZW1CdXR0b25dJyxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnZmQtdHJlZV9fYnV0dG9uJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgVHJlZUl0ZW1CdXR0b25EaXJlY3RpdmUge31cbiJdfQ==
@@ -0,0 +1,23 @@
1
+ import { Directive, Input, TemplateRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class TreeItemDefDirective {
4
+ /** @hidden */
5
+ static ngTemplateContextGuard(dir, ctx) {
6
+ return true;
7
+ }
8
+ /** @hidden */
9
+ constructor(templateRef) {
10
+ this.templateRef = templateRef;
11
+ }
12
+ }
13
+ TreeItemDefDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TreeItemDefDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
14
+ TreeItemDefDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: TreeItemDefDirective, selector: "[fdTreeItemDef]", inputs: { fdTreeItemDefAs: "fdTreeItemDefAs" }, ngImport: i0 });
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TreeItemDefDirective, decorators: [{
16
+ type: Directive,
17
+ args: [{
18
+ selector: '[fdTreeItemDef]'
19
+ }]
20
+ }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; }, propDecorators: { fdTreeItemDefAs: [{
21
+ type: Input
22
+ }] } });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1pdGVtLWRlZi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi90cmVlL2RpcmVjdGl2ZXMvdHJlZS1pdGVtLWRlZi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU85RCxNQUFNLE9BQU8sb0JBQW9CO0lBTzdCLGNBQWM7SUFDZCxNQUFNLENBQUMsc0JBQXNCLENBQUMsR0FBeUIsRUFBRSxHQUF1QjtRQUM1RSxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsY0FBYztJQUNkLFlBQW1CLFdBQStDO1FBQS9DLGdCQUFXLEdBQVgsV0FBVyxDQUFvQztJQUFHLENBQUM7O2lIQWI3RCxvQkFBb0I7cUdBQXBCLG9CQUFvQjsyRkFBcEIsb0JBQW9CO2tCQUhoQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxpQkFBaUI7aUJBQzlCO2tHQU9HLGVBQWU7c0JBRGQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmVlSXRlbSB9IGZyb20gJy4uL21vZGVscy90cmVlLWl0ZW0nO1xuaW1wb3J0IHsgVHJlZUl0ZW1EZWZDb250ZXh0IH0gZnJvbSAnLi4vbW9kZWxzL3RyZWUtaXRlbS1kZWYtY29udGV4dCc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2ZkVHJlZUl0ZW1EZWZdJ1xufSlcbmV4cG9ydCBjbGFzcyBUcmVlSXRlbURlZkRpcmVjdGl2ZTxUIGV4dGVuZHMgVHJlZUl0ZW0gPSBUcmVlSXRlbT4ge1xuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBVc2VkIGZvciB0eXBlIHN1cHBvcnQuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBmZFRyZWVJdGVtRGVmQXM6IFQ7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBzdGF0aWMgbmdUZW1wbGF0ZUNvbnRleHRHdWFyZChkaXI6IFRyZWVJdGVtRGVmRGlyZWN0aXZlLCBjdHg6IFRyZWVJdGVtRGVmQ29udGV4dCk6IGN0eCBpcyBUcmVlSXRlbURlZkNvbnRleHQge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8VHJlZUl0ZW1EZWZDb250ZXh0PFQ+Pikge31cbn1cbiJdfQ==
@@ -0,0 +1,41 @@
1
+ import { Directive, HostBinding } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class TreeItemIconDirective {
4
+ constructor() {
5
+ /** @hidden */
6
+ this._role = 'presentation';
7
+ /** @hidden */
8
+ this._ariaHidden = true;
9
+ }
10
+ }
11
+ TreeItemIconDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TreeItemIconDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
12
+ 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 });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TreeItemIconDirective, decorators: [{
14
+ type: Directive,
15
+ args: [{
16
+ selector: '[fdTreeItemIcon]',
17
+ host: {
18
+ class: 'fd-tree__icon'
19
+ }
20
+ }]
21
+ }], propDecorators: { _role: [{
22
+ type: HostBinding,
23
+ args: ['attr.role']
24
+ }], _ariaHidden: [{
25
+ type: HostBinding,
26
+ args: ['attr.aria-hidden']
27
+ }] } });
28
+ export class TreeItemTextDirective {
29
+ }
30
+ TreeItemTextDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TreeItemTextDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
31
+ TreeItemTextDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: TreeItemTextDirective, selector: "[fdTreeItemText]", host: { classAttribute: "fd-tree__text" }, ngImport: i0 });
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TreeItemTextDirective, decorators: [{
33
+ type: Directive,
34
+ args: [{
35
+ selector: '[fdTreeItemText]',
36
+ host: {
37
+ class: 'fd-tree__text'
38
+ }
39
+ }]
40
+ }] });
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1pdGVtLWljb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvdHJlZS9kaXJlY3RpdmVzL3RyZWUtaXRlbS1pY29uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFRdkQsTUFBTSxPQUFPLHFCQUFxQjtJQU5sQztRQU9JLGNBQWM7UUFFRyxVQUFLLEdBQUcsY0FBYyxDQUFDO1FBRXhDLGNBQWM7UUFFRyxnQkFBVyxHQUFHLElBQUksQ0FBQztLQUN2Qzs7a0hBUlkscUJBQXFCO3NHQUFyQixxQkFBcUI7MkZBQXJCLHFCQUFxQjtrQkFOakMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixJQUFJLEVBQUU7d0JBQ0YsS0FBSyxFQUFFLGVBQWU7cUJBQ3pCO2lCQUNKOzhCQUlvQixLQUFLO3NCQURyQixXQUFXO3VCQUFDLFdBQVc7Z0JBS1AsV0FBVztzQkFEM0IsV0FBVzt1QkFBQyxrQkFBa0I7O0FBVW5DLE1BQU0sT0FBTyxxQkFBcUI7O2tIQUFyQixxQkFBcUI7c0dBQXJCLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQU5qQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLElBQUksRUFBRTt3QkFDRixLQUFLLEVBQUUsZUFBZTtxQkFDekI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RCaW5kaW5nIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2ZkVHJlZUl0ZW1JY29uXScsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2ZkLXRyZWVfX2ljb24nXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBUcmVlSXRlbUljb25EaXJlY3RpdmUge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgX3JvbGUgPSAncHJlc2VudGF0aW9uJztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtaGlkZGVuJylcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9hcmlhSGlkZGVuID0gdHJ1ZTtcbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZmRUcmVlSXRlbVRleHRdJyxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnZmQtdHJlZV9fdGV4dCdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFRyZWVJdGVtVGV4dERpcmVjdGl2ZSB7fVxuIl19
@@ -0,0 +1,26 @@
1
+ import { Directive, Injector } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class TreeItemDirective {
4
+ /** @hidden */
5
+ constructor(injector) {
6
+ this.injector = Injector.create({ providers: [], parent: injector });
7
+ }
8
+ /** Sets tree item. */
9
+ setTreeItem(item) {
10
+ this.treeItem = item;
11
+ }
12
+ /** @hidden */
13
+ ngOnDestroy() {
14
+ this.treeItem = null;
15
+ }
16
+ }
17
+ TreeItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TreeItemDirective, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
18
+ TreeItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: TreeItemDirective, selector: "[fdTreeItem]", exportAs: ["fdTreeItem"], ngImport: i0 });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: TreeItemDirective, decorators: [{
20
+ type: Directive,
21
+ args: [{
22
+ selector: '[fdTreeItem]',
23
+ exportAs: 'fdTreeItem'
24
+ }]
25
+ }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1pdGVtLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3RyZWUvZGlyZWN0aXZlcy90cmVlLWl0ZW0uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFhLE1BQU0sZUFBZSxDQUFDOztBQVMvRCxNQUFNLE9BQU8saUJBQWlCO0lBTzFCLGNBQWM7SUFDZCxZQUFZLFFBQWtCO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVELHNCQUFzQjtJQUN0QixXQUFXLENBQUMsSUFBa0M7UUFDMUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDekIsQ0FBQztJQUVELGNBQWM7SUFDZCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDekIsQ0FBQzs7OEdBcEJRLGlCQUFpQjtrR0FBakIsaUJBQWlCOzJGQUFqQixpQkFBaUI7a0JBSjdCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLFFBQVEsRUFBRSxZQUFZO2lCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5qZWN0b3IsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTnVsbGFibGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBCYXNlVHJlZUl0ZW0gfSBmcm9tICcuLi9tb2RlbHMvYmFzZS10cmVlLWl0ZW0uY2xhc3MnO1xuaW1wb3J0IHsgVHJlZUl0ZW0gfSBmcm9tICcuLi9tb2RlbHMvdHJlZS1pdGVtJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZmRUcmVlSXRlbV0nLFxuICAgIGV4cG9ydEFzOiAnZmRUcmVlSXRlbSdcbn0pXG5leHBvcnQgY2xhc3MgVHJlZUl0ZW1EaXJlY3RpdmU8VCBleHRlbmRzIFRyZWVJdGVtLCBQPiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgLyoqIFRyZWUgaXRlbSBjb21wb25lbnQgaW5zdGFuY2UuICovXG4gICAgdHJlZUl0ZW06IE51bGxhYmxlPEJhc2VUcmVlSXRlbTxULCBQPj47XG5cbiAgICAvKiogSW5qZWN0b3IgdG8gYmUgdXNlZCBpbiBhIHRyZWUgaXRlbSBjb21wb25lbnQsIHRvIHJlc29sdmUgYSB0cmVlIGl0ZW0gZGlyZWN0aXZlLiAqL1xuICAgIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3RvcjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgICAgIHRoaXMuaW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoeyBwcm92aWRlcnM6IFtdLCBwYXJlbnQ6IGluamVjdG9yIH0pO1xuICAgIH1cblxuICAgIC8qKiBTZXRzIHRyZWUgaXRlbS4gKi9cbiAgICBzZXRUcmVlSXRlbShpdGVtOiBOdWxsYWJsZTxCYXNlVHJlZUl0ZW08VCwgUD4+KTogdm9pZCB7XG4gICAgICAgIHRoaXMudHJlZUl0ZW0gPSBpdGVtO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMudHJlZUl0ZW0gPSBudWxsO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,25 @@
1
+ import { Directive, ElementRef, inject } from '@angular/core';
2
+ import { TreeItemDirective } from '../directives/tree-item.directive';
3
+ import * as i0 from "@angular/core";
4
+ export class BaseTreeItem {
5
+ /** @hidden */
6
+ constructor() {
7
+ /** @hidden */
8
+ this._elementRef = inject(ElementRef);
9
+ /** @hidden */
10
+ this._treeItemDir = inject(TreeItemDirective, {
11
+ optional: true
12
+ });
13
+ this._treeItemDir?.setTreeItem(this);
14
+ }
15
+ /** @hidden */
16
+ elementRef() {
17
+ return this._elementRef;
18
+ }
19
+ }
20
+ BaseTreeItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BaseTreeItem, deps: [], target: i0.ɵɵFactoryTarget.Directive });
21
+ BaseTreeItem.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.8", type: BaseTreeItem, ngImport: i0 });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BaseTreeItem, decorators: [{
23
+ type: Directive
24
+ }], ctorParameters: function () { return []; } });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS10cmVlLWl0ZW0uY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi90cmVlL21vZGVscy9iYXNlLXRyZWUtaXRlbS5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7O0FBSXRFLE1BQU0sT0FBZ0IsWUFBWTtJQThGOUIsY0FBYztJQUNkO1FBUkEsY0FBYztRQUNHLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRWxELGNBQWM7UUFDRyxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRTtZQUN0RCxRQUFRLEVBQUUsSUFBSTtTQUNqQixDQUFDLENBQUM7UUFHQyxJQUFJLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsY0FBYztJQUNkLFVBQVU7UUFDTixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQzs7eUdBdEdpQixZQUFZOzZGQUFaLFlBQVk7MkZBQVosWUFBWTtrQkFEakMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOdWxsYWJsZSwgU2VsZWN0YWJsZUl0ZW1Ub2tlbiB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IEZkVHJlZUFjY2VwdGFibGVEYXRhU291cmNlIH0gZnJvbSAnLi4vZGF0YS1zb3VyY2UvdHJlZS1kYXRhLXNvdXJjZSc7XG5pbXBvcnQgeyBUcmVlSXRlbURpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvdHJlZS1pdGVtLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUcmVlSXRlbSwgVHJlZUl0ZW1TdGF0ZSB9IGZyb20gJy4vdHJlZS1pdGVtJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZVRyZWVJdGVtPFQgZXh0ZW5kcyBUcmVlSXRlbSA9IFRyZWVJdGVtLCBQID0gYW55PlxuICAgIGltcGxlbWVudHMgUGFydGlhbDxTZWxlY3RhYmxlSXRlbVRva2VuPEhUTUxFbGVtZW50LCBQPj5cbntcbiAgICAvKipcbiAgICAgKiBUcmVlIGl0ZW0gdmFsdWUuXG4gICAgICovXG4gICAgYWJzdHJhY3QgdmFsdWU6IFA7XG4gICAgLyoqXG4gICAgICogVHJlZSBpdGVtIElELlxuICAgICAqL1xuICAgIGFic3RyYWN0IGlkOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUcmVlIGl0ZW0gcGFyZW50IElELlxuICAgICAqL1xuICAgIGFic3RyYWN0IHBhcmVudElkOiBOdWxsYWJsZTxzdHJpbmc+O1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgdHJlZSBpdGVtIGlzIG5hdmlnYXRhYmxlLlxuICAgICAqL1xuICAgIGFic3RyYWN0IG5hdmlnYXRhYmxlOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogVHJlZSBpdGVtIHN0YXRlLlxuICAgICAqL1xuICAgIGFic3RyYWN0IHN0YXRlOiBOdWxsYWJsZTxUcmVlSXRlbVN0YXRlPjtcblxuICAgIC8qKlxuICAgICAqIFRyZWUgaXRlbSBjaGlsZCBub2RlcyBkYXRhIHNvdXJjZS5cbiAgICAgKi9cbiAgICBhYnN0cmFjdCBjaGlsZE5vZGVzOiBGZFRyZWVBY2NlcHRhYmxlRGF0YVNvdXJjZTxUPjtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdG8gd3JhcCBjb250ZW50LlxuICAgICAqL1xuICAgIGFic3RyYWN0IHdyYXBDb250ZW50OiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgdHJlZSBpdGVtIGlzIGV4cGFuZGVkLlxuICAgICAqL1xuICAgIGFic3RyYWN0IGV4cGFuZGVkOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogVHJlZSBpdGVtIGxldmVsLlxuICAgICAqL1xuICAgIGFic3RyYWN0IGxldmVsOiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBUcmVlIGl0ZW0gY2hpbGRyZW4uXG4gICAgICovXG4gICAgYWJzdHJhY3QgY2hpbGRyZW46IFRbXTtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIHRyZWUgaXRlbSBoYXMgY29udGVudCBwcm9qZWN0ZWQgY2hpbGQgbm9kZXMuXG4gICAgICovXG4gICAgYWJzdHJhY3QgaGFzUHJvamVjdGVkQ2hpbGRyZW46IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSB0cmVlIGl0ZW0gaGFzIGNvbnRlbnQgcHJvamVjdGVkIGNoaWxkIG5vZGVzIG9yIGRhdGEgc291cmNlIGZvciBjaGlsZHJlbi5cbiAgICAgKi9cbiAgICBhYnN0cmFjdCBoYXNDaGlsZHJlbjogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIEZvY3VzYWJsZSB0cmVlIGl0ZW0gY29udGFpbmVyLlxuICAgICAqL1xuICAgIGFic3RyYWN0IGl0ZW1Db250YWluZXI6IE51bGxhYmxlPEVsZW1lbnRSZWY+O1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgdHJlZSBpdGVtIGlzIGtleWJvYXJkIG5hdmlnYXRhYmxlLlxuICAgICAqL1xuICAgIGFic3RyYWN0IGtleWJvYXJkQWNjZXNzaWJsZTogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIFRyZWUgaXRlbSBzZWxlY3RhYmxlIGl0ZW0uXG4gICAgICovXG4gICAgYWJzdHJhY3Qgc2VsZWN0YWJsZUxpc3RJdGVtOiBTZWxlY3RhYmxlSXRlbVRva2VuO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgdHJlZSBpdGVtIGhhcyBEYXRhIFNvdXJjZSBjaGlsZHJlbi5cbiAgICAgKi9cbiAgICBhYnN0cmFjdCBoYXNEc0NoaWxkcmVuOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgY2hpbGRyZW4gbm9kZXMgYmVpbmcgbG9hZGVkIGZyb20gdGhlIERhdGEgU291cmNlLlxuICAgICAqL1xuICAgIGFic3RyYWN0IGNoaWxkcmVuTG9hZGVkOiBib29sZWFuO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9lbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF90cmVlSXRlbURpciA9IGluamVjdChUcmVlSXRlbURpcmVjdGl2ZSwge1xuICAgICAgICBvcHRpb25hbDogdHJ1ZVxuICAgIH0pO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuX3RyZWVJdGVtRGlyPy5zZXRUcmVlSXRlbSh0aGlzKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGVsZW1lbnRSZWYoKTogRWxlbWVudFJlZiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9lbGVtZW50UmVmO1xuICAgIH1cblxuICAgIC8qKiBNZXRob2QgdG8gZm9jdXMgb24gdGhlIHRyZWUgaXRlbS4gKi9cbiAgICBhYnN0cmFjdCBmb2N1cygpOiB2b2lkO1xuXG4gICAgLyoqIE1ldGhvZCB0byBzZXQgdGhlIHBvc2l0aW9uIG9mIHRoZSBpdGVtIGluIHNldC4gKi9cbiAgICBhYnN0cmFjdCBzZXRQb3NpdGlvbih0b3RhbEl0ZW1zQ291bnQ6IG51bWJlciwgY3VycmVudEluZGV4OiBudW1iZXIpOiB2b2lkO1xuXG4gICAgLyoqIE1ldGhvZCBmb3Igc2V0dGluZyB0aGUgZm9jdXNhYmxlIHRhYmluZGV4LiAqL1xuICAgIGFic3RyYWN0IHNldENvbnRhaW5lclRhYkluZGV4KHZhbHVlOiBudW1iZXIpOiB2b2lkO1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLXR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi90cmVlL21vZGVscy9zZWxlY3Rpb24tdHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgU2VsZWN0aW9uVHlwZSA9ICdub25lJyB8ICdzaW5nbGUnIHwgJ211bHRpcGxlJztcbi8qKlxuICogU2VsZWN0aW9uIGNvbnRyb2wgcGxhY2VtZW50LlxuICogLSAnbGVmdCcgd2lsbCBwbGFjZSBjb250cm9sIGF0IHRoZSBtb3N0IGxlZnQgc2lkZSBvZiB0aGUgdHJlZSBpdGVtO1xuICogLSAncmlnaHQnIHdpbGwgcGxhY2UgY29udHJvbCBhdCB0aGUgbW9zdCByaWdodCBzaWRlIG9mIHRoZSB0cmVlIGl0ZW07XG4gKiAtICdub25lJyB3aWxsIG5vdCByZW5kZXIgdGhlIGNvbnRyb2wsIGJ1dCBzZWxlY3Rpb24gd2lsbCBzdGlsbCB3b3JrIGFjY29yZGluZyB0byBgU2VsZWN0aW9uVHlwZWAgbW9kZTtcbiAqIC0gJ2FmdGVyRXhwYW5kJyB3aWxsIHBsYWNlIGNvbnRyb2wgcmlnaHQgYWZ0ZXIgdGhlIGV4cGFuc2lvbiBidXR0b24gKGlmIHByZXNlbnQpIG9yIG9uIHRoZSBsZWZ0IHNpZGUgb2YgdGhlIHRyZWUgaXRlbSxcbiAqIGlmIGV4cGFuc2lvbiBidXR0b24gaXMgbm90IHByZXNlbnQuXG4gKi9cbmV4cG9ydCB0eXBlIFNlbGVjdGlvblBsYWNlbWVudCA9ICdsZWZ0JyB8ICdyaWdodCcgfCAnbm9uZScgfCAnYWZ0ZXJFeHBhbmQnO1xuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1pdGVtLWRlZi1jb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvdHJlZS9tb2RlbHMvdHJlZS1pdGVtLWRlZi1jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFRyZWVJdGVtRGVmQ29udGV4dDxUID0gYW55PiB7XG4gICAgJGltcGxpY2l0OiBUO1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvdHJlZS9tb2RlbHMvdHJlZS1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmRUcmVlQWNjZXB0YWJsZURhdGFTb3VyY2UgfSBmcm9tICcuLi9kYXRhLXNvdXJjZS90cmVlLWRhdGEtc291cmNlJztcbmltcG9ydCB7IFRyZWVJdGVtRGVmQ29udGV4dCB9IGZyb20gJy4vdHJlZS1pdGVtLWRlZi1jb250ZXh0JztcblxuZXhwb3J0IHR5cGUgVHJlZUl0ZW1TdGF0ZSA9ICdkZWZhdWx0JyB8ICdlcnJvcicgfCAnc3VjY2VzcycgfCAnd2FybmluZyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJlZUl0ZW08VCA9IGFueT4ge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgY2hpbGRyZW46IEZkVHJlZUFjY2VwdGFibGVEYXRhU291cmNlPFBhcnRpYWw8VHJlZUl0ZW08VD4+PjtcbiAgICBleHBhbmRlZDogYm9vbGVhbjtcbiAgICBuYXZpZ2F0YWJsZTogYm9vbGVhbjtcbiAgICBuYXZpZ2F0aW9uSW5kaWNhdG9yOiBib29sZWFuO1xuICAgIGRhdGE6IFQ7XG4gICAgbGV2ZWw6IG51bWJlcjtcbiAgICByZW5kZXJlcjogVGVtcGxhdGVSZWY8VHJlZUl0ZW1EZWZDb250ZXh0PFQ+PjtcbiAgICBzdGF0ZTogVHJlZUl0ZW1TdGF0ZTtcbiAgICBwYXJlbnRJZDogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBUcmVlSXRlbUdlbmVyaWM8VHlwZT4gPSBUeXBlIGV4dGVuZHMgVHJlZUl0ZW08aW5mZXIgWD4gPyBYIDogbmV2ZXI7XG4iXX0=
@@ -1,5 +1,16 @@
1
1
  export * from './tree.module';
2
2
  export * from './tree.component';
3
- export * from './tree-child.component';
4
- export * from './tree-row-object.model';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3RyZWUvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdHJlZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi90cmVlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3RyZWUtY2hpbGQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdHJlZS1yb3ctb2JqZWN0Lm1vZGVsJztcbiJdfQ==
3
+ export * from './models/tree-item';
4
+ export * from './data-source/tree-data-source';
5
+ export * from './data-source/tree-data-source-parser';
6
+ export * from './components/tree-item/tree-item.component';
7
+ export * from './directives/tree-item-def.directive';
8
+ export * from './directives/tree-item.directive';
9
+ export * from './directives/tree-item-icon.directive';
10
+ export * from './directives/tree-item-button.directive';
11
+ export * from './tokens';
12
+ export * from './models/tree-item';
13
+ export * from './models/selection-type';
14
+ export * from './models/tree-item-def-context';
15
+ export * from './models/base-tree-item.class';
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3RyZWUvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHVDQUF1QyxDQUFDO0FBRXRELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLCtCQUErQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90cmVlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3RyZWUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL3RyZWUtaXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGEtc291cmNlL3RyZWUtZGF0YS1zb3VyY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhLXNvdXJjZS90cmVlLWRhdGEtc291cmNlLXBhcnNlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy90cmVlLWl0ZW0vdHJlZS1pdGVtLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvdHJlZS1pdGVtLWRlZi5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL3RyZWUtaXRlbS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL3RyZWUtaXRlbS1pY29uLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvdHJlZS1pdGVtLWJ1dHRvbi5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi90b2tlbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvdHJlZS1pdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL3NlbGVjdGlvbi10eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL3RyZWUtaXRlbS1kZWYtY29udGV4dCc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9iYXNlLXRyZWUtaXRlbS5jbGFzcyc7XG4iXX0=