@fundamental-ngx/cx 0.49.0-rc.8 → 0.49.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.
- package/esm2022/fundamental-ngx-cx.mjs +1 -1
- package/esm2022/fundamental-ngx.module.mjs +19 -0
- package/esm2022/index.mjs +2 -2
- package/esm2022/nested-list/nested-content/nested-list-content.directive.mjs +3 -3
- package/esm2022/nested-list/nested-item/nested-item.component.mjs +13 -5
- package/esm2022/nested-list/nested-link/nested-link.component.mjs +3 -3
- package/esm2022/nested-list/nested-list/nested-list.component.mjs +3 -3
- package/esm2022/nested-list/nested-list-directives.mjs +15 -15
- package/esm2022/nested-list/nested-list-keyboard.service.mjs +3 -3
- package/esm2022/nested-list/nested-list-popover/nested-list-popover.component.mjs +3 -3
- package/esm2022/nested-list/nested-list-state.service.mjs +3 -3
- package/esm2022/nested-list/nested-list.module.mjs +4 -4
- package/esm2022/nested-list/prepared-nested-list/prepared-nested-list.component.mjs +4 -4
- package/esm2022/side-navigation/side-navigation-button.directive.mjs +3 -3
- package/esm2022/side-navigation/side-navigation-main.component.mjs +7 -4
- package/esm2022/side-navigation/side-navigation-utility.directive.mjs +3 -3
- package/esm2022/side-navigation/side-navigation.component.mjs +41 -26
- package/esm2022/side-navigation/side-navigation.module.mjs +4 -4
- package/fesm2022/fundamental-ngx-cx-nested-list.mjs +52 -44
- package/fesm2022/fundamental-ngx-cx-nested-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-cx-side-navigation.mjs +53 -36
- package/fesm2022/fundamental-ngx-cx-side-navigation.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-cx.mjs +7 -7
- package/fesm2022/fundamental-ngx-cx.mjs.map +1 -1
- package/index.d.ts +1 -1
- package/nested-list/nested-item/nested-item.component.d.ts +4 -1
- package/package.json +6 -6
- package/schematics/ng-add/styles.d.ts +1 -1
- package/schematics/ng-add/styles.js +2 -2
- package/side-navigation/side-navigation-main.component.d.ts +2 -1
- package/side-navigation/side-navigation.component.d.ts +18 -7
- package/esm2022/fundamental-ngx-cx.module.mjs +0 -19
- package/fundamental-ngx-cx-v0.49.0-rc.8.tgz +0 -0
- package/nested-list/README.md +0 -25
- package/side-navigation/README.md +0 -25
- /package/{fundamental-ngx-cx.module.d.ts → fundamental-ngx.module.d.ts} +0 -0
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
* Generated bundle index. Do not edit.
|
|
3
3
|
*/
|
|
4
4
|
export * from './index';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuZGFtZW50YWwtbmd4LWN4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy9jeC9mdW5kYW1lbnRhbC1uZ3gtY3gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { CxNestedListModule } from '@fundamental-ngx/cx/nested-list';
|
|
4
|
+
import { CxSideNavigationModule } from '@fundamental-ngx/cx/side-navigation';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class FundamentalNgxCxModule {
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: FundamentalNgxCxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
8
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.0", ngImport: i0, type: FundamentalNgxCxModule, imports: [CommonModule], exports: [CxNestedListModule, CxSideNavigationModule] }); }
|
|
9
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: FundamentalNgxCxModule, imports: [CommonModule, CxNestedListModule, CxSideNavigationModule] }); }
|
|
10
|
+
}
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: FundamentalNgxCxModule, decorators: [{
|
|
12
|
+
type: NgModule,
|
|
13
|
+
args: [{
|
|
14
|
+
imports: [CommonModule],
|
|
15
|
+
declarations: [],
|
|
16
|
+
exports: [CxNestedListModule, CxSideNavigationModule]
|
|
17
|
+
}]
|
|
18
|
+
}] });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuZGFtZW50YWwtbmd4Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvY3gvZnVuZGFtZW50YWwtbmd4Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7QUFPN0UsTUFBTSxPQUFPLHNCQUFzQjs4R0FBdEIsc0JBQXNCOytHQUF0QixzQkFBc0IsWUFKckIsWUFBWSxhQUVaLGtCQUFrQixFQUFFLHNCQUFzQjsrR0FFM0Msc0JBQXNCLFlBSnJCLFlBQVksRUFFWixrQkFBa0IsRUFBRSxzQkFBc0I7OzJGQUUzQyxzQkFBc0I7a0JBTGxDLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixZQUFZLEVBQUUsRUFBRTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsa0JBQWtCLEVBQUUsc0JBQXNCLENBQUM7aUJBQ3hEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDeE5lc3RlZExpc3RNb2R1bGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2N4L25lc3RlZC1saXN0JztcbmltcG9ydCB7IEN4U2lkZU5hdmlnYXRpb25Nb2R1bGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2N4L3NpZGUtbmF2aWdhdGlvbic7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gICAgZGVjbGFyYXRpb25zOiBbXSxcbiAgICBleHBvcnRzOiBbQ3hOZXN0ZWRMaXN0TW9kdWxlLCBDeFNpZGVOYXZpZ2F0aW9uTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBGdW5kYW1lbnRhbE5neEN4TW9kdWxlIHt9XG4iXX0=
|
package/esm2022/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * from './fundamental-ngx-cx.module';
|
|
2
1
|
export * from '@fundamental-ngx/cx/nested-list';
|
|
3
2
|
export * from '@fundamental-ngx/cx/side-navigation';
|
|
4
|
-
|
|
3
|
+
export * from './fundamental-ngx.module';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2N4L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDBCQUEwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jeC9uZXN0ZWQtbGlzdCc7XG5leHBvcnQgKiBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2N4L3NpZGUtbmF2aWdhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2Z1bmRhbWVudGFsLW5neC5tb2R1bGUnO1xuIl19
|
|
@@ -74,10 +74,10 @@ export class NestedListContentDirective {
|
|
|
74
74
|
this.changeDetRef.detectChanges();
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0
|
|
78
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0
|
|
77
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: NestedListContentDirective, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.NestedItemService }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
78
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.0", type: NestedListContentDirective, selector: "[cxNestedListContent], [fdx-nested-list-content]", inputs: { selected: "selected" }, outputs: { selectedChange: "selectedChange", keyboardTriggered: "keyboardTriggered", clicked: "clicked" }, host: { attributes: { "tabindex": "0" }, listeners: { "keydown": "onKeyDown($event)", "click": "onClick($event)" }, properties: { "class.is-selected": "this.selected", "attr.role": "this.role", "attr.aria-expanded": "this.ariaExpanded", "class.fdx-nested-list__content": "this.cxNestedListContentClass", "class.has-child": "this.hasChildren" } }, queries: [{ propertyName: "nestedLink", first: true, predicate: NestedLinkComponent, descendants: true }, { propertyName: "nestedExpandIcon", first: true, predicate: NestedListExpandIconComponent, descendants: true }], ngImport: i0 }); }
|
|
79
79
|
}
|
|
80
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0
|
|
80
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: NestedListContentDirective, decorators: [{
|
|
81
81
|
type: Directive,
|
|
82
82
|
args: [{
|
|
83
83
|
selector: '[cxNestedListContent], [fdx-nested-list-content]',
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, ContentChild, DestroyRef, ElementRef, EventEmitter, HostBinding, Input, Output, forwardRef, inject } from '@angular/core';
|
|
1
|
+
import { Component, ContentChild, DestroyRef, ElementRef, EventEmitter, HostBinding, Input, Output, booleanAttribute, forwardRef, inject } from '@angular/core';
|
|
2
2
|
import { filter } from 'rxjs/operators';
|
|
3
3
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
4
4
|
import { NestedListContentDirective } from '../nested-content/nested-list-content.directive';
|
|
@@ -30,6 +30,8 @@ export class NestedItemComponent {
|
|
|
30
30
|
this._keyboardService = _keyboardService;
|
|
31
31
|
this._stateService = _stateService;
|
|
32
32
|
this.elementRef = elementRef;
|
|
33
|
+
/** @hidden */
|
|
34
|
+
this.group = false;
|
|
33
35
|
/** Event thrown, when expanded state is changed */
|
|
34
36
|
this.expandedChange = new EventEmitter();
|
|
35
37
|
/** Event thrown, when any keyboard event is dispatched on this, or link element */
|
|
@@ -213,10 +215,10 @@ export class NestedItemComponent {
|
|
|
213
215
|
this.linkItem.changeSelected(selected);
|
|
214
216
|
}
|
|
215
217
|
}
|
|
216
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0
|
|
217
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
218
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: NestedItemComponent, deps: [{ token: i1.NestedItemService }, { token: i2.NestedListKeyboardService }, { token: i3.NestedListStateService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
219
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.0", type: NestedItemComponent, selector: "[cxNestedItem], [fdx-nested-list-item], li[fdx-nested-list-item]", inputs: { expanded: "expanded", group: ["group", "group", booleanAttribute], fdNestedListItemClass: "fdNestedListItemClass", header: "header", display: "display" }, outputs: { expandedChange: "expandedChange", keyboardTriggered: "keyboardTriggered" }, host: { attributes: { "role": "treeitem" }, properties: { "class.fdx-nested-list__item--group": "this.group", "class.fdx-nested-list__item": "this.fdNestedListItemClass", "class.fdx-nested-list__item--header": "this.header", "attr.aria-level": "this._ariaLevel", "attr.title": "this._title", "style.display": "this._display", "attr.role": "this._role", "attr.aria-expanded": "this._ariaExpanded", "attr.aria-selected": "this._ariaSelected", "attr.aria-disabled": "this._ariaDisabled", "attr.aria-label": "this._ariaLabel", "attr.aria-hidden": "this._ariaHidden" } }, providers: [NestedItemService], queries: [{ propertyName: "linkItem", first: true, predicate: NestedLinkComponent, descendants: true }, { propertyName: "contentItem", first: true, predicate: NestedListContentDirective, descendants: true }, { propertyName: "expandIcon", first: true, predicate: NestedListExpandIconComponent, descendants: true }, { propertyName: "_nestedList", first: true, predicate: i0.forwardRef(() => NestedListComponent), descendants: true }], ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true }); }
|
|
218
220
|
}
|
|
219
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0
|
|
221
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: NestedItemComponent, decorators: [{
|
|
220
222
|
type: Component,
|
|
221
223
|
args: [{
|
|
222
224
|
// eslint-disable-next-line @angular-eslint/component-selector
|
|
@@ -229,6 +231,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
|
|
|
229
231
|
}]
|
|
230
232
|
}], ctorParameters: () => [{ type: i1.NestedItemService }, { type: i2.NestedListKeyboardService }, { type: i3.NestedListStateService }, { type: i0.ElementRef }], propDecorators: { expanded: [{
|
|
231
233
|
type: Input
|
|
234
|
+
}], group: [{
|
|
235
|
+
type: HostBinding,
|
|
236
|
+
args: ['class.fdx-nested-list__item--group']
|
|
237
|
+
}, {
|
|
238
|
+
type: Input,
|
|
239
|
+
args: [{ transform: booleanAttribute }]
|
|
232
240
|
}], expandedChange: [{
|
|
233
241
|
type: Output
|
|
234
242
|
}], keyboardTriggered: [{
|
|
@@ -285,4 +293,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
|
|
|
285
293
|
type: HostBinding,
|
|
286
294
|
args: ['attr.aria-hidden']
|
|
287
295
|
}] } });
|
|
288
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jeC9uZXN0ZWQtbGlzdC9uZXN0ZWQtaXRlbS9uZXN0ZWQtaXRlbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFDTCxNQUFNLEVBQ04sVUFBVSxFQUNWLE1BQU0sRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFaEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDN0YsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFM0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7O0FBRTFELElBQUksMEJBQTBCLEdBQUcsQ0FBQyxDQUFDO0FBV25DLE1BQU0sT0FBTyxtQkFBbUI7SUFDNUIsc0NBQXNDO0lBQ3RDLElBQWEsUUFBUSxDQUFDLFFBQWlCO1FBQ25DLElBQUksUUFBUSxLQUFLLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDN0IsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3RDO0lB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OzRMQUdnQixRQUFRO3NCQUFwQixLQUFLO2dCQWFHLGNBQWM7c0JBRHRCLE1BQU07Z0JBS0UsaUJBQWlCO3NCQUR6QixNQUFNO2dCQU1QLHFCQUFxQjtzQkFGcEIsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyw2QkFBNkI7Z0JBTTFDLE1BQU07c0JBRkwsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxxQ0FBcUM7Z0JBS2xELE9BQU87c0JBRE4sS0FBSztnQkFRTixRQUFRO3NCQURQLFlBQVk7dUJBQUMsbUJBQW1CO2dCQVNqQyxXQUFXO3NCQURWLFlBQVk7dUJBQUMsMEJBQTBCO2dCQUt4QyxVQUFVO3NCQURULFlBQVk7dUJBQUMsNkJBQTZCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQUtsRSxXQUFXO3NCQURWLFlBQVk7dUJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDO2dCQUtuRCxVQUFVO3NCQURULFdBQVc7dUJBQUMsaUJBQWlCO2dCQUs5QixNQUFNO3NCQURMLFdBQVc7dUJBQUMsWUFBWTtnQkFLekIsUUFBUTtzQkFEUCxXQUFXO3VCQUFDLGVBQWU7Z0JBUXBCLEtBQUs7c0JBRFosV0FBVzt1QkFBQyxXQUFXO2dCQVFoQixhQUFhO3NCQURwQixXQUFXO3VCQUFDLG9CQUFvQjtnQkFLekIsYUFBYTtzQkFEcEIsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBS3pCLGFBQWE7c0JBRHBCLFdBQVc7dUJBQUMsb0JBQW9CO2dCQUt6QixVQUFVO3NCQURqQixXQUFXO3VCQUFDLGlCQUFpQjtnQkFLdEIsV0FBVztzQkFEbEIsV0FBVzt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBEZXN0cm95UmVmLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBmb3J3YXJkUmVmLFxuICAgIGluamVjdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgTnVsbGFibGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0Q29udGVudERpcmVjdGl2ZSB9IGZyb20gJy4uL25lc3RlZC1jb250ZW50L25lc3RlZC1saXN0LWNvbnRlbnQuZGlyZWN0aXZlJztcbmltcG9ydCB7IE5lc3RlZExpbmtDb21wb25lbnQgfSBmcm9tICcuLi9uZXN0ZWQtbGluay9uZXN0ZWQtbGluay5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmVzdGVkTGlzdEV4cGFuZEljb25Db21wb25lbnQgfSBmcm9tICcuLi9uZXN0ZWQtbGlzdC1kaXJlY3RpdmVzJztcbmltcG9ydCB7IE5lc3RlZExpc3RLZXlib2FyZFNlcnZpY2UgfSBmcm9tICcuLi9uZXN0ZWQtbGlzdC1rZXlib2FyZC5zZXJ2aWNlJztcbmltcG9ydCB7IE5lc3RlZExpc3RTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi9uZXN0ZWQtbGlzdC1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IE5lc3RlZExpc3RDb21wb25lbnQgfSBmcm9tICcuLi9uZXN0ZWQtbGlzdC9uZXN0ZWQtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmVzdGVkSXRlbUludGVyZmFjZSB9IGZyb20gJy4vbmVzdGVkLWl0ZW0uaW50ZXJmYWNlJztcbmltcG9ydCB7IE5lc3RlZEl0ZW1TZXJ2aWNlIH0gZnJvbSAnLi9uZXN0ZWQtaXRlbS5zZXJ2aWNlJztcblxubGV0IHNpZGVOYXZpZ2F0aW9uSXRlbVVuaXF1ZUlkID0gMDtcblxuQENvbXBvbmVudCh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ1tjeE5lc3RlZEl0ZW1dLCBbZmR4LW5lc3RlZC1saXN0LWl0ZW1dLCBsaVtmZHgtbmVzdGVkLWxpc3QtaXRlbV0nLFxuICAgIHRlbXBsYXRlOiBgIDxuZy1jb250ZW50PjwvbmctY29udGVudD4gYCxcbiAgICBwcm92aWRlcnM6IFtOZXN0ZWRJdGVtU2VydmljZV0sXG4gICAgaG9zdDoge1xuICAgICAgICByb2xlOiAndHJlZWl0ZW0nXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBOZXN0ZWRJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgTmVzdGVkSXRlbUludGVyZmFjZSB7XG4gICAgLyoqIFdoZXRoZXIgaXRlbSBzaG91bGQgYmUgZXhwYW5kZWQgKi9cbiAgICBASW5wdXQoKSBzZXQgZXhwYW5kZWQoZXhwYW5kZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKGV4cGFuZGVkICE9PSB0aGlzLl9leHBhbmRlZCkge1xuICAgICAgICAgICAgdGhpcy5wcm9wYWdhdGVPcGVuQ2hhbmdlKGV4cGFuZGVkKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZ2V0IGV4cGFuZGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZXhwYW5kZWQ7XG4gICAgfVxuXG4gICAgLyoqIEV2ZW50IHRocm93biwgd2hlbiBleHBhbmRlZCBzdGF0ZSBpcyBjaGFuZ2VkICovXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgZXhwYW5kZWRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIC8qKiBFdmVudCB0aHJvd24sIHdoZW4gYW55IGtleWJvYXJkIGV2ZW50IGlzIGRpc3BhdGNoZWQgb24gdGhpcywgb3IgbGluayBlbGVtZW50ICovXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkga2V5Ym9hcmRUcmlnZ2VyZWQ6IEV2ZW50RW1pdHRlcjxLZXlib2FyZEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8S2V5Ym9hcmRFdmVudD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkeC1uZXN0ZWQtbGlzdF9faXRlbScpXG4gICAgZmROZXN0ZWRMaXN0SXRlbUNsYXNzID0gdHJ1ZTtcblxuICAgIC8qKiBXaGV0aGVyIHRoaXMgaXRlbSBpcyBhIGhlYWRlciBpdGVtLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZHgtbmVzdGVkLWxpc3RfX2l0ZW0tLWhlYWRlcicpXG4gICAgaGVhZGVyID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciB0aGlzIGl0ZW0gaXMgb25seSBtZWFudCBmb3IgZGlzcGxheSBwdXJwb3NlcywgbWVhbmluZyBpdCBjYW5ub3QgYmUgdXNlZCBmb3IgbmF2aWdhdGlvbiBvciBzaG93biBhcyBzZWxlY3RlZC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGRpc3BsYXkgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBSZWZlcmVuY2UgdG8gdGhlIGxpbmsgZGlyZWN0aXZlLCB0byBhbGxvdyBtYW5pcHVsYXRpbmcgdGhlIHByb3BlcnRpZXMgb2YgdGhpcyBlbGVtZW50LlxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoTmVzdGVkTGlua0NvbXBvbmVudClcbiAgICBsaW5rSXRlbTogTmVzdGVkTGlua0NvbXBvbmVudDtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBNb3N0bHkgdXNlZCwgd2hlbiB0aGlzIGl0ZW0gaGFzIGxpc3RcbiAgICAgKiBSZWZlcmVuY2UgdG8gdGhlIGNvbnRlbnQgZGlyZWN0aXZlLCB0byBhbGxvdyBtYW5pcHVsYXRpbmcgdGhlIHByb3BlcnRpZXMgb2YgdGhpcyBlbGVtZW50LlxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoTmVzdGVkTGlzdENvbnRlbnREaXJlY3RpdmUpXG4gICAgY29udGVudEl0ZW06IE5lc3RlZExpc3RDb250ZW50RGlyZWN0aXZlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKE5lc3RlZExpc3RFeHBhbmRJY29uQ29tcG9uZW50LCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gICAgZXhwYW5kSWNvbjogTmVzdGVkTGlzdEV4cGFuZEljb25Db21wb25lbnQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGQoZm9yd2FyZFJlZigoKSA9PiBOZXN0ZWRMaXN0Q29tcG9uZW50KSlcbiAgICBfbmVzdGVkTGlzdDogTmVzdGVkTGlzdENvbXBvbmVudDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtbGV2ZWwnKVxuICAgIF9hcmlhTGV2ZWw6IE51bGxhYmxlPG51bWJlcj4gPSBudWxsO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIudGl0bGUnKVxuICAgIF90aXRsZTogc3RyaW5nO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLmRpc3BsYXknKVxuICAgIF9kaXNwbGF5ID0gJ2Jsb2NrJztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX25hcnJvdyA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpXG4gICAgcHJpdmF0ZSBfcm9sZTogc3RyaW5nO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9leHBhbmRlZCA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1leHBhbmRlZCcpXG4gICAgcHJpdmF0ZSBfYXJpYUV4cGFuZGVkOiBOdWxsYWJsZTxib29sZWFuPiA9IG51bGw7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLXNlbGVjdGVkJylcbiAgICBwcml2YXRlIF9hcmlhU2VsZWN0ZWQ6IE51bGxhYmxlPGJvb2xlYW4+ID0gbnVsbDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZGlzYWJsZWQnKVxuICAgIHByaXZhdGUgX2FyaWFEaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1sYWJlbCcpXG4gICAgcHJpdmF0ZSBfYXJpYUxhYmVsOiBzdHJpbmc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWhpZGRlbicpXG4gICAgcHJpdmF0ZSBfYXJpYUhpZGRlbiA9IHRydWU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgICAvKiogVW5pcXVlIGVsZW1lbnQgSUQgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9lbGVtZW50SWQ6IHN0cmluZyA9ICdmZE5lc3RlZEl0ZW0nICsgc2lkZU5hdmlnYXRpb25JdGVtVW5pcXVlSWQrKztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX2l0ZW1TZXJ2aWNlOiBOZXN0ZWRJdGVtU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBfa2V5Ym9hcmRTZXJ2aWNlOiBOZXN0ZWRMaXN0S2V5Ym9hcmRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9zdGF0ZVNlcnZpY2U6IE5lc3RlZExpc3RTdGF0ZVNlcnZpY2UsXG4gICAgICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmXG4gICAgKSB7fVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NldFVwU3Vic2NyaXB0aW9ucygpO1xuICAgICAgICB0aGlzLl9wcm9wYWdhdGVIYXNDaGlsZHJlblByb3BlcnR5KCk7XG4gICAgICAgIHRoaXMuX3Bhc3NJdGVtUmVmZXJlbmNlcygpO1xuICAgICAgICAvKiogUHJvcGFnYXRlIGluaXRpYWwgb3BlbiBzdGF0ZSB0byBjaGlsZHJlbiAqL1xuICAgICAgICB0aGlzLnByb3BhZ2F0ZU9wZW5DaGFuZ2UodGhpcy5fZXhwYW5kZWQpO1xuXG4gICAgICAgIGlmICh0aGlzLmxpbmtJdGVtKSB7XG4gICAgICAgICAgICB0aGlzLl9hcmlhU2VsZWN0ZWQgPSB0aGlzLmxpbmtJdGVtLnNlbGVjdGVkO1xuICAgICAgICAgICAgdGhpcy5fYXJpYURpc2FibGVkID0gIXRoaXMuX3N0YXRlU2VydmljZS5zZWxlY3RhYmxlICYmICF0aGlzLmxpbmtJdGVtLnNlbGVjdGVkO1xuICAgICAgICAgICAgdGhpcy5fdGl0bGUgPSB0aGlzLmxpbmtJdGVtLmdldFRpdGxlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQ2hlY2sgaWYgdGhlIGl0ZW0gZWxlbWVudCBoYXMgYW55IGNoaWxkICovXG4gICAgZ2V0IGhhc0NoaWxkcmVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLl9pdGVtU2VydmljZT8ubGlzdDtcbiAgICB9XG5cbiAgICAvKiogR2V0IGFsbCBvZiB0aGUgY2hpbGRyZW4gaXRlbSBlbGVtZW50cyAqL1xuICAgIGdldCBhbGxDaGlsZHJlbkl0ZW1zKCk6IE5lc3RlZEl0ZW1JbnRlcmZhY2VbXSB7XG4gICAgICAgIGlmICh0aGlzLl9pdGVtU2VydmljZT8ubGlzdCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2l0ZW1TZXJ2aWNlLmxpc3QubmVzdGVkSXRlbXMudG9BcnJheSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIC8qKiBNZXRob2QgdGhhdCBleHBhbmQgdGhlIGl0ZW0gYW5kIHByb3BhZ2F0ZSBpdCB0byBjaGlsZHJlbiAqL1xuICAgIHRyaWdnZXJPcGVuKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZXhwYW5kZWQpIHtcbiAgICAgICAgICAgIC8qKiBQcm9wYWdhdGUgaW5pdGlhbCBvcGVuIHN0YXRlIHRvIGNoaWxkcmVuICovXG4gICAgICAgICAgICB0aGlzLnByb3BhZ2F0ZU9wZW5DaGFuZ2UodHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogTWV0aG9kIHRoYXQgY2xvc2UgdGhlIGl0ZW0gYW5kIHByb3BhZ2F0ZSBpdCB0byBjaGlsZHJlbiAqL1xuICAgIHRyaWdnZXJDbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZXhwYW5kZWQpIHtcbiAgICAgICAgICAgIC8qKiBQcm9wYWdhdGUgaW5pdGlhbCBvcGVuIHN0YXRlIHRvIGNoaWxkcmVuICovXG4gICAgICAgICAgICB0aGlzLnByb3BhZ2F0ZU9wZW5DaGFuZ2UoZmFsc2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIE1ldGhvZCB0aGF0IHRvZ2dsZSB0aGUgaXRlbSBhbmQgcHJvcGFnYXRlIGl0IHRvIGNoaWxkcmVuICovXG4gICAgdG9nZ2xlKCk6IHZvaWQge1xuICAgICAgICAvKiogUHJvcGFnYXRlIGluaXRpYWwgb3BlbiBzdGF0ZSB0byBjaGlsZHJlbiAqL1xuICAgICAgICB0aGlzLnByb3BhZ2F0ZU9wZW5DaGFuZ2UoIXRoaXMuX2V4cGFuZGVkKTtcbiAgICB9XG5cbiAgICAvKiogTWV0aG9kIHRoYXQgZGlzcGF0Y2hlcyBgY2xpY2tgIGV2ZW50IG9uIGxpbmsgaXRlbSovXG4gICAgY2xpY2soKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5kaXNwbGF5KSB7XG4gICAgICAgICAgICBpZiAodGhpcy5jb250ZW50SXRlbSkge1xuICAgICAgICAgICAgICAgIHRoaXMuY29udGVudEl0ZW0uY2xpY2soKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5saW5rSXRlbSkge1xuICAgICAgICAgICAgICAgIHRoaXMubGlua0l0ZW0uY2xpY2soKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBNZXRob2QgdGhhdCBmb2N1c2VzIGxpbmsgaXRlbSovXG4gICAgZm9jdXMoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRlbnRJdGVtKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRJdGVtLmZvY3VzKCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5saW5rSXRlbSkge1xuICAgICAgICAgICAgdGhpcy5saW5rSXRlbS5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIE1ldGhvZCB0aGF0IHByb3ZpZGVzIGluZm9ybWF0aW9uIGlmIGVsZW1lbnQsIG9yIGNoaWxkcmVuIG9mIHRoaXMgZWxlbWVudCBoYXMgcGFzc2VkIGlkICovXG4gICAgY29udGFpbnNJZChpZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLl9lbGVtZW50SWQgPT09IGlkKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLl9pdGVtU2VydmljZS5saXN0KSB7XG4gICAgICAgICAgICByZXR1cm4gISF0aGlzLl9pdGVtU2VydmljZS5saXN0Lm5lc3RlZEl0ZW1zLmZpbmQoKGl0ZW0pID0+IGl0ZW0uY29udGFpbnNJZChpZCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBQcm9wYWdhdGUgb3BlbiBzdGF0ZSB0byBhbGwgb2YgdGhlIGNoaWxkcmVuXG4gICAgICovXG4gICAgcHJpdmF0ZSBwcm9wYWdhdGVPcGVuQ2hhbmdlKG9wZW46IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZXhwYW5kZWQgPSBvcGVuO1xuXG4gICAgICAgIGlmICh0aGlzLmhhc0NoaWxkcmVuKSB7XG4gICAgICAgICAgICB0aGlzLl9hcmlhRXhwYW5kZWQgPSB0aGlzLl9leHBhbmRlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZXhwYW5kSWNvbj8uY2hhbmdlRXhwYW5kZWRTdGF0ZShvcGVuKTtcblxuICAgICAgICAvKiogUHJvcGFnYXRlIGhpZGRlbiBmbGFnIHRvIGxpc3QgY29tcG9uZW50LCB0aGF0IGlzIHBhc3NlZCBmcm9tIGNoaWxkICovXG4gICAgICAgIGlmICh0aGlzLl9pdGVtU2VydmljZS5saXN0KSB7XG4gICAgICAgICAgICB0aGlzLl9pdGVtU2VydmljZS5saXN0LmhpZGRlbiA9ICFvcGVuO1xuICAgICAgICAgICAgdGhpcy5faXRlbVNlcnZpY2UubGlzdC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cblxuICAgICAgICAvKiogUHJvcGFnYXRlIG9wZW4gZmxhZyB0byBwb3BvdmVyIGxpc3QgY29tcG9uZW50LCB0aGF0IGlzIHBhc3NlZCBmcm9tIGNoaWxkICovXG4gICAgICAgIGlmICh0aGlzLl9pdGVtU2VydmljZS5wb3BvdmVyKSB7XG4gICAgICAgICAgICB0aGlzLl9pdGVtU2VydmljZS5wb3BvdmVyLm9wZW4gPSBvcGVuO1xuICAgICAgICB9XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIElmIHRoZXJlIGFyZSBhbnkgbGlzdCBiZWxvd1xuICAgICAgICAgKiBUcmlnZ2VyIGV2ZW50IHRvIHByb3ZpZGUga2V5Ym9hcmQgc3VwcG9ydCB0byBuZXcgbGlzdCBvZiBvcGVuZWQgaXRlbSBlbGVtZW50LlxuICAgICAgICAgKiAqL1xuICAgICAgICBpZiAodGhpcy5fc2hvdWxkUmVmcmVzaEtleWJvYXJkU2VydmljZSgpKSB7XG4gICAgICAgICAgICB0aGlzLl9rZXlib2FyZFNlcnZpY2UucmVmcmVzaCQubmV4dCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5leHBhbmRlZENoYW5nZS5lbWl0KG9wZW4pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc2hvdWxkUmVmcmVzaEtleWJvYXJkU2VydmljZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhKHRoaXMuX2l0ZW1TZXJ2aWNlLnBvcG92ZXIgfHwgdGhpcy5faXRlbVNlcnZpY2UubGlzdCB8fCB0aGlzLmNvbnRlbnRJdGVtKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NldFVwU3Vic2NyaXB0aW9ucygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX3N0YXRlU2VydmljZS5jb25kZW5zZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX3JvbGUgPSAnbWVudWl0ZW1yYWRpbyc7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMuZGlzcGxheSkge1xuICAgICAgICAgICAgLyoqIFN1YnNjcmliZSB0byBtb3VzZSBjbGljayBldmVudCwgdGhyb3duIGJ5IGxpbmsgaXRlbSAqL1xuICAgICAgICAgICAgdGhpcy5faXRlbVNlcnZpY2UudG9nZ2xlLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy50b2dnbGUoKSk7XG5cbiAgICAgICAgICAgIC8qKiBTdWJzY3JpYmUgdG8gbW91c2UgY2xpY2sgZXZlbnQsIHRocm93biBieSBsaW5rIGl0ZW0gKi9cbiAgICAgICAgICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLmNsaWNrXG4gICAgICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fc3RhdGVTZXJ2aWNlLm9uU2VsZWN0ZWQubmV4dCh0aGlzLl9lbGVtZW50SWQpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qKiBTdWJzY3JpYmUgdG8ga2V5Ym9hcmQgZXZlbnQgYW5kIHRocm93IGl0IGZhcnRoZXIgKi9cbiAgICAgICAgdGhpcy5faXRlbVNlcnZpY2Uua2V5RG93blxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoa2V5Ym9hcmRFdmVudCkgPT4gdGhpcy5rZXlib2FyZFRyaWdnZXJlZC5lbWl0KGtleWJvYXJkRXZlbnQpKTtcblxuICAgICAgICAvKiogU3Vic2NyaWJlIHRvIHNlbGVjdGVkIHN0YXRlIGNoYW5nZSwgaXQncyBub3QgdHJpZ2dlcmVkLCB3aGVuIHNlbGVjdGFibGUgZmxhZyBpcyBkaXNhYmxlZCovXG4gICAgICAgIHRoaXMuX3N0YXRlU2VydmljZS5vblNlbGVjdGVkXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZiksXG4gICAgICAgICAgICAgICAgZmlsdGVyKCgpID0+IHRoaXMuX3N0YXRlU2VydmljZS5zZWxlY3RhYmxlKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoaWQpID0+IHRoaXMuX3NlbGVjdGVkQ2hhbmdlKGlkKSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9wcm9wYWdhdGVIYXNDaGlsZHJlblByb3BlcnR5KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jb250ZW50SXRlbSAmJiB0aGlzLmhhc0NoaWxkcmVuKSB7XG4gICAgICAgICAgICB0aGlzLl9hcmlhRXhwYW5kZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuY29udGVudEl0ZW0uaGFzQ2hpbGRyZW4gPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5jb250ZW50SXRlbS5jaGFuZ2VEZXRSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIFBhc3MgdGhpcyBlbGVtZW50IHRvIHBvcG92ZXIgY2hpbGQgaXRlbSwgdG8gYWxsb3cgY29udHJvbCBgZXhwYW5kZWRgIHZhbHVlICovXG4gICAgcHJpdmF0ZSBfcGFzc0l0ZW1SZWZlcmVuY2VzKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5faXRlbVNlcnZpY2UucG9wb3Zlcikge1xuICAgICAgICAgICAgdGhpcy5faXRlbVNlcnZpY2UucG9wb3Zlci5wYXJlbnRJdGVtRWxlbWVudCA9IHRoaXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQ2hhbmdlIG9mIHNlbGVjdGVkIHN0YXRlIG9mIGNvbnRlbnQgb3IgbGluaywgaWYgdGhlcmUgaXMgYW55IGNoaWxkcmVuIHdpdGggSSAqL1xuICAgIHByaXZhdGUgX3NlbGVjdGVkQ2hhbmdlKGlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWQgPSB0aGlzLmNvbnRhaW5zSWQoaWQpO1xuICAgICAgICB0aGlzLl9hcmlhU2VsZWN0ZWQgPSBzZWxlY3RlZDtcblxuICAgICAgICBpZiAodGhpcy5jb250ZW50SXRlbSkge1xuICAgICAgICAgICAgdGhpcy5jb250ZW50SXRlbS5jaGFuZ2VTZWxlY3RlZChzZWxlY3RlZCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5saW5rSXRlbSkge1xuICAgICAgICAgICAgdGhpcy5saW5rSXRlbS5jaGFuZ2VTZWxlY3RlZChzZWxlY3RlZCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
296
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jeC9uZXN0ZWQtbGlzdC9uZXN0ZWQtaXRlbS9uZXN0ZWQtaXRlbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFDTCxNQUFNLEVBQ04sZ0JBQWdCLEVBQ2hCLFVBQVUsRUFDVixNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXhDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRWhFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRTNFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7OztBQUUxRCxJQUFJLDBCQUEwQixHQUFHLENBQUMsQ0FBQztBQVduQyxNQUFNLE9BQU8sbUJBQW1CO0lBQzVCLHNDQUFzQztJQUN0QyxJQUFhLFFBQVEsQ0FBQyxRQUFpQjtRQUNuQyxJQUFJLFFBQVEsS0FBSyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQzdCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMs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dGVyQ29udGVudEluaXQsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBEZXN0cm95UmVmLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBib29sZWFuQXR0cmlidXRlLFxuICAgIGZvcndhcmRSZWYsXG4gICAgaW5qZWN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBOdWxsYWJsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IE5lc3RlZExpc3RDb250ZW50RGlyZWN0aXZlIH0gZnJvbSAnLi4vbmVzdGVkLWNvbnRlbnQvbmVzdGVkLWxpc3QtY29udGVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTmVzdGVkTGlua0NvbXBvbmVudCB9IGZyb20gJy4uL25lc3RlZC1saW5rL25lc3RlZC1saW5rLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0RXhwYW5kSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uL25lc3RlZC1saXN0LWRpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgTmVzdGVkTGlzdEtleWJvYXJkU2VydmljZSB9IGZyb20gJy4uL25lc3RlZC1saXN0LWtleWJvYXJkLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmVzdGVkTGlzdFN0YXRlU2VydmljZSB9IGZyb20gJy4uL25lc3RlZC1saXN0LXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmVzdGVkTGlzdENvbXBvbmVudCB9IGZyb20gJy4uL25lc3RlZC1saXN0L25lc3RlZC1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZXN0ZWRJdGVtSW50ZXJmYWNlIH0gZnJvbSAnLi9uZXN0ZWQtaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTmVzdGVkSXRlbVNlcnZpY2UgfSBmcm9tICcuL25lc3RlZC1pdGVtLnNlcnZpY2UnO1xuXG5sZXQgc2lkZU5hdmlnYXRpb25JdGVtVW5pcXVlSWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnW2N4TmVzdGVkSXRlbV0sIFtmZHgtbmVzdGVkLWxpc3QtaXRlbV0sIGxpW2ZkeC1uZXN0ZWQtbGlzdC1pdGVtXScsXG4gICAgdGVtcGxhdGU6IGAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PiBgLFxuICAgIHByb3ZpZGVyczogW05lc3RlZEl0ZW1TZXJ2aWNlXSxcbiAgICBob3N0OiB7XG4gICAgICAgIHJvbGU6ICd0cmVlaXRlbSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIE5lc3RlZEl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBOZXN0ZWRJdGVtSW50ZXJmYWNlIHtcbiAgICAvKiogV2hldGhlciBpdGVtIHNob3VsZCBiZSBleHBhbmRlZCAqL1xuICAgIEBJbnB1dCgpIHNldCBleHBhbmRlZChleHBhbmRlZDogYm9vbGVhbikge1xuICAgICAgICBpZiAoZXhwYW5kZWQgIT09IHRoaXMuX2V4cGFuZGVkKSB7XG4gICAgICAgICAgICB0aGlzLnByb3BhZ2F0ZU9wZW5DaGFuZ2UoZXhwYW5kZWQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBnZXQgZXhwYW5kZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9leHBhbmRlZDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmR4LW5lc3RlZC1saXN0X19pdGVtLS1ncm91cCcpXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgZ3JvdXAgPSBmYWxzZTtcblxuICAgIC8qKiBFdmVudCB0aHJvd24sIHdoZW4gZXhwYW5kZWQgc3RhdGUgaXMgY2hhbmdlZCAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGV4cGFuZGVkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICAvKiogRXZlbnQgdGhyb3duLCB3aGVuIGFueSBrZXlib2FyZCBldmVudCBpcyBkaXNwYXRjaGVkIG9uIHRoaXMsIG9yIGxpbmsgZWxlbWVudCAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGtleWJvYXJkVHJpZ2dlcmVkOiBFdmVudEVtaXR0ZXI8S2V5Ym9hcmRFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEtleWJvYXJkRXZlbnQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZHgtbmVzdGVkLWxpc3RfX2l0ZW0nKVxuICAgIGZkTmVzdGVkTGlzdEl0ZW1DbGFzcyA9IHRydWU7XG5cbiAgICAvKiogV2hldGhlciB0aGlzIGl0ZW0gaXMgYSBoZWFkZXIgaXRlbS4gKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmR4LW5lc3RlZC1saXN0X19pdGVtLS1oZWFkZXInKVxuICAgIGhlYWRlciA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhpcyBpdGVtIGlzIG9ubHkgbWVhbnQgZm9yIGRpc3BsYXkgcHVycG9zZXMsIG1lYW5pbmcgaXQgY2Fubm90IGJlIHVzZWQgZm9yIG5hdmlnYXRpb24gb3Igc2hvd24gYXMgc2VsZWN0ZWQuICovXG4gICAgQElucHV0KClcbiAgICBkaXNwbGF5ID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogUmVmZXJlbmNlIHRvIHRoZSBsaW5rIGRpcmVjdGl2ZSwgdG8gYWxsb3cgbWFuaXB1bGF0aW5nIHRoZSBwcm9wZXJ0aWVzIG9mIHRoaXMgZWxlbWVudC5cbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKE5lc3RlZExpbmtDb21wb25lbnQpXG4gICAgbGlua0l0ZW06IE5lc3RlZExpbmtDb21wb25lbnQ7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogTW9zdGx5IHVzZWQsIHdoZW4gdGhpcyBpdGVtIGhhcyBsaXN0XG4gICAgICogUmVmZXJlbmNlIHRvIHRoZSBjb250ZW50IGRpcmVjdGl2ZSwgdG8gYWxsb3cgbWFuaXB1bGF0aW5nIHRoZSBwcm9wZXJ0aWVzIG9mIHRoaXMgZWxlbWVudC5cbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKE5lc3RlZExpc3RDb250ZW50RGlyZWN0aXZlKVxuICAgIGNvbnRlbnRJdGVtOiBOZXN0ZWRMaXN0Q29udGVudERpcmVjdGl2ZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZChOZXN0ZWRMaXN0RXhwYW5kSWNvbkNvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICAgIGV4cGFuZEljb246IE5lc3RlZExpc3RFeHBhbmRJY29uQ29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKGZvcndhcmRSZWYoKCkgPT4gTmVzdGVkTGlzdENvbXBvbmVudCkpXG4gICAgX25lc3RlZExpc3Q6IE5lc3RlZExpc3RDb21wb25lbnQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxldmVsJylcbiAgICBfYXJpYUxldmVsOiBOdWxsYWJsZTxudW1iZXI+ID0gbnVsbDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnRpdGxlJylcbiAgICBfdGl0bGU6IHN0cmluZztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5kaXNwbGF5JylcbiAgICBfZGlzcGxheSA9ICdibG9jayc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9uYXJyb3cgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKVxuICAgIHByaXZhdGUgX3JvbGU6IHN0cmluZztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZXhwYW5kZWQgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZXhwYW5kZWQnKVxuICAgIHByaXZhdGUgX2FyaWFFeHBhbmRlZDogTnVsbGFibGU8Ym9vbGVhbj4gPSBudWxsO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1zZWxlY3RlZCcpXG4gICAgcHJpdmF0ZSBfYXJpYVNlbGVjdGVkOiBOdWxsYWJsZTxib29sZWFuPiA9IG51bGw7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWRpc2FibGVkJylcbiAgICBwcml2YXRlIF9hcmlhRGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtbGFiZWwnKVxuICAgIHByaXZhdGUgX2FyaWFMYWJlbDogc3RyaW5nO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1oaWRkZW4nKVxuICAgIHByaXZhdGUgX2FyaWFIaWRkZW4gPSB0cnVlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgLyoqIFVuaXF1ZSBlbGVtZW50IElEICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZWxlbWVudElkOiBzdHJpbmcgPSAnZmROZXN0ZWRJdGVtJyArIHNpZGVOYXZpZ2F0aW9uSXRlbVVuaXF1ZUlkKys7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF9pdGVtU2VydmljZTogTmVzdGVkSXRlbVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgX2tleWJvYXJkU2VydmljZTogTmVzdGVkTGlzdEtleWJvYXJkU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBfc3RhdGVTZXJ2aWNlOiBOZXN0ZWRMaXN0U3RhdGVTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZlxuICAgICkge31cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zZXRVcFN1YnNjcmlwdGlvbnMoKTtcbiAgICAgICAgdGhpcy5fcHJvcGFnYXRlSGFzQ2hpbGRyZW5Qcm9wZXJ0eSgpO1xuICAgICAgICB0aGlzLl9wYXNzSXRlbVJlZmVyZW5jZXMoKTtcbiAgICAgICAgLyoqIFByb3BhZ2F0ZSBpbml0aWFsIG9wZW4gc3RhdGUgdG8gY2hpbGRyZW4gKi9cbiAgICAgICAgdGhpcy5wcm9wYWdhdGVPcGVuQ2hhbmdlKHRoaXMuX2V4cGFuZGVkKTtcblxuICAgICAgICBpZiAodGhpcy5saW5rSXRlbSkge1xuICAgICAgICAgICAgdGhpcy5fYXJpYVNlbGVjdGVkID0gdGhpcy5saW5rSXRlbS5zZWxlY3RlZDtcbiAgICAgICAgICAgIHRoaXMuX2FyaWFEaXNhYmxlZCA9ICF0aGlzLl9zdGF0ZVNlcnZpY2Uuc2VsZWN0YWJsZSAmJiAhdGhpcy5saW5rSXRlbS5zZWxlY3RlZDtcbiAgICAgICAgICAgIHRoaXMuX3RpdGxlID0gdGhpcy5saW5rSXRlbS5nZXRUaXRsZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIENoZWNrIGlmIHRoZSBpdGVtIGVsZW1lbnQgaGFzIGFueSBjaGlsZCAqL1xuICAgIGdldCBoYXNDaGlsZHJlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5faXRlbVNlcnZpY2U/Lmxpc3Q7XG4gICAgfVxuXG4gICAgLyoqIEdldCBhbGwgb2YgdGhlIGNoaWxkcmVuIGl0ZW0gZWxlbWVudHMgKi9cbiAgICBnZXQgYWxsQ2hpbGRyZW5JdGVtcygpOiBOZXN0ZWRJdGVtSW50ZXJmYWNlW10ge1xuICAgICAgICBpZiAodGhpcy5faXRlbVNlcnZpY2U/Lmxpc3QpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9pdGVtU2VydmljZS5saXN0Lm5lc3RlZEl0ZW1zLnRvQXJyYXkoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICAvKiogTWV0aG9kIHRoYXQgZXhwYW5kIHRoZSBpdGVtIGFuZCBwcm9wYWdhdGUgaXQgdG8gY2hpbGRyZW4gKi9cbiAgICB0cmlnZ2VyT3BlbigpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmV4cGFuZGVkKSB7XG4gICAgICAgICAgICAvKiogUHJvcGFnYXRlIGluaXRpYWwgb3BlbiBzdGF0ZSB0byBjaGlsZHJlbiAqL1xuICAgICAgICAgICAgdGhpcy5wcm9wYWdhdGVPcGVuQ2hhbmdlKHRydWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIE1ldGhvZCB0aGF0IGNsb3NlIHRoZSBpdGVtIGFuZCBwcm9wYWdhdGUgaXQgdG8gY2hpbGRyZW4gKi9cbiAgICB0cmlnZ2VyQ2xvc2UoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmV4cGFuZGVkKSB7XG4gICAgICAgICAgICAvKiogUHJvcGFnYXRlIGluaXRpYWwgb3BlbiBzdGF0ZSB0byBjaGlsZHJlbiAqL1xuICAgICAgICAgICAgdGhpcy5wcm9wYWdhdGVPcGVuQ2hhbmdlKGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBNZXRob2QgdGhhdCB0b2dnbGUgdGhlIGl0ZW0gYW5kIHByb3BhZ2F0ZSBpdCB0byBjaGlsZHJlbiAqL1xuICAgIHRvZ2dsZSgpOiB2b2lkIHtcbiAgICAgICAgLyoqIFByb3BhZ2F0ZSBpbml0aWFsIG9wZW4gc3RhdGUgdG8gY2hpbGRyZW4gKi9cbiAgICAgICAgdGhpcy5wcm9wYWdhdGVPcGVuQ2hhbmdlKCF0aGlzLl9leHBhbmRlZCk7XG4gICAgfVxuXG4gICAgLyoqIE1ldGhvZCB0aGF0IGRpc3BhdGNoZXMgYGNsaWNrYCBldmVudCBvbiBsaW5rIGl0ZW0qL1xuICAgIGNsaWNrKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZGlzcGxheSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuY29udGVudEl0ZW0pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnRJdGVtLmNsaWNrKCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMubGlua0l0ZW0pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxpbmtJdGVtLmNsaWNrKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogTWV0aG9kIHRoYXQgZm9jdXNlcyBsaW5rIGl0ZW0qL1xuICAgIGZvY3VzKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jb250ZW50SXRlbSkge1xuICAgICAgICAgICAgdGhpcy5jb250ZW50SXRlbS5mb2N1cygpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMubGlua0l0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMubGlua0l0ZW0uZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBNZXRob2QgdGhhdCBwcm92aWRlcyBpbmZvcm1hdGlvbiBpZiBlbGVtZW50LCBvciBjaGlsZHJlbiBvZiB0aGlzIGVsZW1lbnQgaGFzIHBhc3NlZCBpZCAqL1xuICAgIGNvbnRhaW5zSWQoaWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5fZWxlbWVudElkID09PSBpZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5faXRlbVNlcnZpY2UubGlzdCkge1xuICAgICAgICAgICAgcmV0dXJuICEhdGhpcy5faXRlbVNlcnZpY2UubGlzdC5uZXN0ZWRJdGVtcy5maW5kKChpdGVtKSA9PiBpdGVtLmNvbnRhaW5zSWQoaWQpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogUHJvcGFnYXRlIG9wZW4gc3RhdGUgdG8gYWxsIG9mIHRoZSBjaGlsZHJlblxuICAgICAqL1xuICAgIHByaXZhdGUgcHJvcGFnYXRlT3BlbkNoYW5nZShvcGVuOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2V4cGFuZGVkID0gb3BlbjtcblxuICAgICAgICBpZiAodGhpcy5oYXNDaGlsZHJlbikge1xuICAgICAgICAgICAgdGhpcy5fYXJpYUV4cGFuZGVkID0gdGhpcy5fZXhwYW5kZWQ7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmV4cGFuZEljb24/LmNoYW5nZUV4cGFuZGVkU3RhdGUob3Blbik7XG5cbiAgICAgICAgLyoqIFByb3BhZ2F0ZSBoaWRkZW4gZmxhZyB0byBsaXN0IGNvbXBvbmVudCwgdGhhdCBpcyBwYXNzZWQgZnJvbSBjaGlsZCAqL1xuICAgICAgICBpZiAodGhpcy5faXRlbVNlcnZpY2UubGlzdCkge1xuICAgICAgICAgICAgdGhpcy5faXRlbVNlcnZpY2UubGlzdC5oaWRkZW4gPSAhb3BlbjtcbiAgICAgICAgICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLmxpc3QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9XG5cbiAgICAgICAgLyoqIFByb3BhZ2F0ZSBvcGVuIGZsYWcgdG8gcG9wb3ZlciBsaXN0IGNvbXBvbmVudCwgdGhhdCBpcyBwYXNzZWQgZnJvbSBjaGlsZCAqL1xuICAgICAgICBpZiAodGhpcy5faXRlbVNlcnZpY2UucG9wb3Zlcikge1xuICAgICAgICAgICAgdGhpcy5faXRlbVNlcnZpY2UucG9wb3Zlci5vcGVuID0gb3BlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBJZiB0aGVyZSBhcmUgYW55IGxpc3QgYmVsb3dcbiAgICAgICAgICogVHJpZ2dlciBldmVudCB0byBwcm92aWRlIGtleWJvYXJkIHN1cHBvcnQgdG8gbmV3IGxpc3Qgb2Ygb3BlbmVkIGl0ZW0gZWxlbWVudC5cbiAgICAgICAgICogKi9cbiAgICAgICAgaWYgKHRoaXMuX3Nob3VsZFJlZnJlc2hLZXlib2FyZFNlcnZpY2UoKSkge1xuICAgICAgICAgICAgdGhpcy5fa2V5Ym9hcmRTZXJ2aWNlLnJlZnJlc2gkLm5leHQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZXhwYW5kZWRDaGFuZ2UuZW1pdChvcGVuKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Nob3VsZFJlZnJlc2hLZXlib2FyZFNlcnZpY2UoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhISh0aGlzLl9pdGVtU2VydmljZS5wb3BvdmVyIHx8IHRoaXMuX2l0ZW1TZXJ2aWNlLmxpc3QgfHwgdGhpcy5jb250ZW50SXRlbSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zZXRVcFN1YnNjcmlwdGlvbnMoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9zdGF0ZVNlcnZpY2UuY29uZGVuc2VkKSB7XG4gICAgICAgICAgICB0aGlzLl9yb2xlID0gJ21lbnVpdGVtcmFkaW8nO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLmRpc3BsYXkpIHtcbiAgICAgICAgICAgIC8qKiBTdWJzY3JpYmUgdG8gbW91c2UgY2xpY2sgZXZlbnQsIHRocm93biBieSBsaW5rIGl0ZW0gKi9cbiAgICAgICAgICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLnRvZ2dsZS5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMudG9nZ2xlKCkpO1xuXG4gICAgICAgICAgICAvKiogU3Vic2NyaWJlIHRvIG1vdXNlIGNsaWNrIGV2ZW50LCB0aHJvd24gYnkgbGluayBpdGVtICovXG4gICAgICAgICAgICB0aGlzLl9pdGVtU2VydmljZS5jbGlja1xuICAgICAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuX3N0YXRlU2VydmljZS5vblNlbGVjdGVkLm5leHQodGhpcy5fZWxlbWVudElkKSk7XG4gICAgICAgIH1cblxuICAgICAgICAvKiogU3Vic2NyaWJlIHRvIGtleWJvYXJkIGV2ZW50IGFuZCB0aHJvdyBpdCBmYXJ0aGVyICovXG4gICAgICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLmtleURvd25cbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGtleWJvYXJkRXZlbnQpID0+IHRoaXMua2V5Ym9hcmRUcmlnZ2VyZWQuZW1pdChrZXlib2FyZEV2ZW50KSk7XG5cbiAgICAgICAgLyoqIFN1YnNjcmliZSB0byBzZWxlY3RlZCBzdGF0ZSBjaGFuZ2UsIGl0J3Mgbm90IHRyaWdnZXJlZCwgd2hlbiBzZWxlY3RhYmxlIGZsYWcgaXMgZGlzYWJsZWQqL1xuICAgICAgICB0aGlzLl9zdGF0ZVNlcnZpY2Uub25TZWxlY3RlZFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpLFxuICAgICAgICAgICAgICAgIGZpbHRlcigoKSA9PiB0aGlzLl9zdGF0ZVNlcnZpY2Uuc2VsZWN0YWJsZSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGlkKSA9PiB0aGlzLl9zZWxlY3RlZENoYW5nZShpZCkpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcHJvcGFnYXRlSGFzQ2hpbGRyZW5Qcm9wZXJ0eSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY29udGVudEl0ZW0gJiYgdGhpcy5oYXNDaGlsZHJlbikge1xuICAgICAgICAgICAgdGhpcy5fYXJpYUV4cGFuZGVkID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRJdGVtLmhhc0NoaWxkcmVuID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuY29udGVudEl0ZW0uY2hhbmdlRGV0UmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBQYXNzIHRoaXMgZWxlbWVudCB0byBwb3BvdmVyIGNoaWxkIGl0ZW0sIHRvIGFsbG93IGNvbnRyb2wgYGV4cGFuZGVkYCB2YWx1ZSAqL1xuICAgIHByaXZhdGUgX3Bhc3NJdGVtUmVmZXJlbmNlcygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2l0ZW1TZXJ2aWNlLnBvcG92ZXIpIHtcbiAgICAgICAgICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLnBvcG92ZXIucGFyZW50SXRlbUVsZW1lbnQgPSB0aGlzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIENoYW5nZSBvZiBzZWxlY3RlZCBzdGF0ZSBvZiBjb250ZW50IG9yIGxpbmssIGlmIHRoZXJlIGlzIGFueSBjaGlsZHJlbiB3aXRoIEkgKi9cbiAgICBwcml2YXRlIF9zZWxlY3RlZENoYW5nZShpZDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5jb250YWluc0lkKGlkKTtcbiAgICAgICAgdGhpcy5fYXJpYVNlbGVjdGVkID0gc2VsZWN0ZWQ7XG5cbiAgICAgICAgaWYgKHRoaXMuY29udGVudEl0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMuY29udGVudEl0ZW0uY2hhbmdlU2VsZWN0ZWQoc2VsZWN0ZWQpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMubGlua0l0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMubGlua0l0ZW0uY2hhbmdlU2VsZWN0ZWQoc2VsZWN0ZWQpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -65,8 +65,8 @@ export class NestedLinkComponent {
|
|
|
65
65
|
get _collapseOnly() {
|
|
66
66
|
return !this._nestedListButton && this._expandIcon;
|
|
67
67
|
}
|
|
68
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0
|
|
69
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0
|
|
68
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: NestedLinkComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.NestedItemService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
69
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: NestedLinkComponent, selector: "[fdx-nested-list-link], button[fdx-nested-list-link], a[fdx-nested-list-link], div[fdx-nested-list-link]", inputs: { onClickCallback: "onClickCallback", selected: "selected", ariaDescribedby: "ariaDescribedby" }, outputs: { selectedChange: "selectedChange" }, host: { listeners: { "keydown": "onKeyDown($event)", "click": "onClick()", "focus": "onFocus()" }, properties: { "attr.tabindex": "!_nestedListButton ? 0 : -1", "class.is-selected": "this.selected", "attr.aria-label": "this._ariaLabel", "attr.aria-describedby": "this.ariaDescribedby", "class.fdx-nested-list__link": "this.cxNestedListItemClass", "attr.role": "this.role" } }, queries: [{ propertyName: "title", first: true, predicate: NestedListTitleDirective, descendants: true }, { propertyName: "_nestedListButton", first: true, predicate: NestedListButtonDirective, descendants: true }, { propertyName: "_expandIcon", first: true, predicate: NestedListExpandIconComponent, descendants: true }], ngImport: i0, template: `
|
|
70
70
|
@if (!_nestedListButton) {
|
|
71
71
|
<div class="fdx-nested-list__link-container">
|
|
72
72
|
<ng-template [ngTemplateOutlet]="containerContent"></ng-template>
|
|
@@ -85,7 +85,7 @@ export class NestedLinkComponent {
|
|
|
85
85
|
</ng-template>
|
|
86
86
|
`, isInline: true, dependencies: [{ kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
87
87
|
}
|
|
88
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0
|
|
88
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: NestedLinkComponent, decorators: [{
|
|
89
89
|
type: Component,
|
|
90
90
|
args: [{
|
|
91
91
|
template: `
|
|
@@ -134,10 +134,10 @@ export class NestedListComponent {
|
|
|
134
134
|
this._ariaHaspopup = 'tree';
|
|
135
135
|
}
|
|
136
136
|
}
|
|
137
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0
|
|
138
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0
|
|
137
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: NestedListComponent, deps: [{ token: i1.NestedItemService, optional: true }, { token: i2.NestedListStateService }, { token: i3.NestedListKeyboardService }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: FD_LANGUAGE }, { token: i4.ContentDensityObserver }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
138
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: NestedListComponent, selector: "[cxNestedList], [fdx-nested-list], ul[fdx-nested-list]", inputs: { textOnly: "textOnly", ariaRoledescriptionTree: "ariaRoledescriptionTree", ariaRoledescriptionMenuBar: "ariaRoledescriptionMenuBar", ariaLabelSelected: "ariaLabelSelected" }, host: { properties: { "class.fdx-nested-list--text-only": "this.textOnly", "class.fdx-nested-list": "this.fdNestedListItemClass", "attr.aria-hidden": "this.hidden", "attr.role": "this._role", "attr.aria-roledescription": "this._ariaRoledescription", "attr.aria-haspopup": "this._ariaHaspopup", "attr.tabindex": "this._tabindex" } }, providers: [contentDensityObserverProviders()], queries: [{ propertyName: "_nestedListHeader", first: true, predicate: NestedListHeaderDirective, descendants: true }, { propertyName: "nestedItems", predicate: i0.forwardRef(() => NestedItemComponent) }, { propertyName: "_nestedLists", predicate: i0.forwardRef(() => NestedListComponent), descendants: true }], ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true }); }
|
|
139
139
|
}
|
|
140
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0
|
|
140
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: NestedListComponent, decorators: [{
|
|
141
141
|
type: Component,
|
|
142
142
|
args: [{
|
|
143
143
|
template: ` <ng-content></ng-content> `,
|
|
@@ -17,10 +17,10 @@ export class NestedListHeaderDirective {
|
|
|
17
17
|
get title() {
|
|
18
18
|
return this._elementRef.nativeElement.textContent;
|
|
19
19
|
}
|
|
20
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0
|
|
21
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0
|
|
20
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: NestedListHeaderDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
21
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.0", type: NestedListHeaderDirective, selector: "[cxNestedDirectivesHeader], [fdx-nested-list-header]", inputs: { id: "id" }, host: { properties: { "attr.id": "this.id", "class.fdx-nested-list__group-header": "this.cxNestedListHeaderClass" } }, ngImport: i0 }); }
|
|
22
22
|
}
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: NestedListHeaderDirective, decorators: [{
|
|
24
24
|
type: Directive,
|
|
25
25
|
args: [{
|
|
26
26
|
selector: '[cxNestedDirectivesHeader], [fdx-nested-list-header]'
|
|
@@ -42,10 +42,10 @@ export class NestedListIconComponent extends IconComponent {
|
|
|
42
42
|
/** @hidden */
|
|
43
43
|
this.fdNestedListIconClass = true;
|
|
44
44
|
}
|
|
45
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0
|
|
46
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0
|
|
45
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: NestedListIconComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
46
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: NestedListIconComponent, selector: "[cxNestedDirectivesIcon], [fdx-nested-list-icon]", inputs: { role: "role" }, host: { properties: { "attr.role": "this.role", "class.fdx-nested-list__icon": "this.fdNestedListIconClass" } }, usesInheritance: true, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true }); }
|
|
47
47
|
}
|
|
48
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: NestedListIconComponent, decorators: [{
|
|
49
49
|
type: Component,
|
|
50
50
|
args: [{
|
|
51
51
|
// eslint-disable-next-line @angular-eslint/component-selector
|
|
@@ -72,10 +72,10 @@ export class NestedListTitleDirective {
|
|
|
72
72
|
getInnerText() {
|
|
73
73
|
return this.elementRef && this.elementRef.nativeElement.textContent;
|
|
74
74
|
}
|
|
75
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0
|
|
76
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0
|
|
75
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: NestedListTitleDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
76
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.0", type: NestedListTitleDirective, selector: "[cxNestedDirectivesTitle], [fdx-nested-list-title]", host: { properties: { "class.fdx-nested-list__title": "this.fdNestedListTitleClass" } }, ngImport: i0 }); }
|
|
77
77
|
}
|
|
78
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0
|
|
78
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: NestedListTitleDirective, decorators: [{
|
|
79
79
|
type: Directive,
|
|
80
80
|
args: [{
|
|
81
81
|
selector: '[cxNestedDirectivesTitle], [fdx-nested-list-title]'
|
|
@@ -122,10 +122,10 @@ export class NestedListExpandIconComponent {
|
|
|
122
122
|
this.expanded = expanded;
|
|
123
123
|
this._changeDetRef.detectChanges();
|
|
124
124
|
}
|
|
125
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0
|
|
126
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0
|
|
125
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: NestedListExpandIconComponent, deps: [{ token: i1.NestedItemService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
126
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: NestedListExpandIconComponent, selector: "[cxNestedListExpandIcon], [fdx-nested-list-expand-icon]", host: { attributes: { "aria-haspopup": "true", "role": "presentation" }, listeners: { "click": "onClick($event)", "focus": "onFocus()" }, properties: { "class.fdx-nested-list__arrow": "this.fdNestedListArrowClass", "class.sap-icon--navigation-down-arrow": "this.fdNestedListDownArrowClass", "class.sap-icon--navigation-right-arrow": "this.fdNestedListRightArrowClass", "class.is-expanded": "this.expanded", "attr.aria-expanded": "this.expanded", "attr.aria-hidden": "this.ariaHidden" } }, ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
127
127
|
}
|
|
128
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0
|
|
128
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: NestedListExpandIconComponent, decorators: [{
|
|
129
129
|
type: Component,
|
|
130
130
|
args: [{
|
|
131
131
|
// eslint-disable-next-line @angular-eslint/component-selector
|
|
@@ -180,10 +180,10 @@ export class NestedListButtonDirective {
|
|
|
180
180
|
this._expandIcon.fdNestedListArrowClass = false;
|
|
181
181
|
}
|
|
182
182
|
}
|
|
183
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0
|
|
184
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0
|
|
183
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: NestedListButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
184
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.0", type: NestedListButtonDirective, selector: "[cxNestedDirectivesButton], [fdx-nested-list-button]", host: { listeners: { "click": "onClick($event)", "keydown.enter": "onClick($event)", "keydown.space": "onClick($event)" }, properties: { "class.fdx-nested-list__button": "this.fdNestedListButtonClass" } }, queries: [{ propertyName: "_expandIcon", first: true, predicate: NestedListExpandIconComponent, descendants: true }], ngImport: i0 }); }
|
|
185
185
|
}
|
|
186
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0
|
|
186
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: NestedListButtonDirective, decorators: [{
|
|
187
187
|
type: Directive,
|
|
188
188
|
args: [{
|
|
189
189
|
selector: '[cxNestedDirectivesButton], [fdx-nested-list-button]'
|
|
@@ -81,10 +81,10 @@ export class NestedListKeyboardService {
|
|
|
81
81
|
}
|
|
82
82
|
this.keyboardService.keyDownHandler(keyboardEvent, index, items);
|
|
83
83
|
}
|
|
84
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0
|
|
85
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0
|
|
84
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: NestedListKeyboardService, deps: [{ token: MenuKeyboardService }, { token: i1.RtlService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
85
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: NestedListKeyboardService }); }
|
|
86
86
|
}
|
|
87
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0
|
|
87
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: NestedListKeyboardService, decorators: [{
|
|
88
88
|
type: Injectable
|
|
89
89
|
}], ctorParameters: () => [{ type: i2.MenuKeyboardService, decorators: [{
|
|
90
90
|
type: Inject,
|
|
@@ -56,10 +56,10 @@ export class NestedListPopoverComponent {
|
|
|
56
56
|
}
|
|
57
57
|
});
|
|
58
58
|
}
|
|
59
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0
|
|
60
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0
|
|
59
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: NestedListPopoverComponent, deps: [{ token: i1.NestedListKeyboardService }, { token: i2.NestedItemService, optional: true }, { token: i3.RtlService, optional: true }, { token: i4.Overlay }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
60
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: NestedListPopoverComponent, selector: "fdx-nested-list-popover", host: { properties: { "class.fdx-nested-list__popover": "this.popoverClass" } }, queries: [{ propertyName: "linkDirective", first: true, predicate: NestedLinkComponent, descendants: true }], viewQueries: [{ propertyName: "popoverComponent", first: true, predicate: PopoverComponent, descendants: true }], ngImport: i0, template: "<fd-popover\n [placement]=\"placement$()\"\n [triggers]=\"['click']\"\n [noArrow]=\"false\"\n [isOpen]=\"open\"\n (isOpenChange)=\"handleOpenChange($event)\"\n [scrollStrategy]=\"_closeScrollStrategy\"\n>\n <fd-popover-control>\n <ng-content select=\"[fdx-nested-list-link]\"></ng-content>\n <ng-content select=\"[fdx-nested-list-content]\"></ng-content>\n </fd-popover-control>\n <fd-popover-body class=\"fdx-side-nav__popover-body fdx-nested-list--text-only\">\n <ng-content select=\"[fdx-nested-list]\"></ng-content>\n <ng-content select=\"fdx-prepared-nested-list\"></ng-content>\n </fd-popover-body>\n</fd-popover>\n", styles: [".fdx-side-nav--condensed .fd-popover-container-custom .fdx-nested-list__title{display:inline-flex}.fdx-side-nav--condensed .fdx-nested-list__popover-header{box-shadow:0 0 .25rem #00000026,inset 0 -.0625rem #d9d9d9}.fdx-side-nav--condensed .fd-popover-custom{display:block}[dir=rtl] .fdx-side-nav--condensed .fd-popover-container-custom .fdx-nested-list__link,.fdx-side-nav--condensed[dir=rtl] .fd-popover-container-custom .fdx-nested-list__link{padding-left:1rem}\n"], dependencies: [{ kind: "component", type: i5.PopoverControlComponent, selector: "fd-popover-control, [fdPopoverControl]" }, { kind: "component", type: i5.PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"] }, { kind: "component", type: i5.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
61
61
|
}
|
|
62
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0
|
|
62
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: NestedListPopoverComponent, decorators: [{
|
|
63
63
|
type: Component,
|
|
64
64
|
args: [{ selector: 'fdx-nested-list-popover', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-popover\n [placement]=\"placement$()\"\n [triggers]=\"['click']\"\n [noArrow]=\"false\"\n [isOpen]=\"open\"\n (isOpenChange)=\"handleOpenChange($event)\"\n [scrollStrategy]=\"_closeScrollStrategy\"\n>\n <fd-popover-control>\n <ng-content select=\"[fdx-nested-list-link]\"></ng-content>\n <ng-content select=\"[fdx-nested-list-content]\"></ng-content>\n </fd-popover-control>\n <fd-popover-body class=\"fdx-side-nav__popover-body fdx-nested-list--text-only\">\n <ng-content select=\"[fdx-nested-list]\"></ng-content>\n <ng-content select=\"fdx-prepared-nested-list\"></ng-content>\n </fd-popover-body>\n</fd-popover>\n", styles: [".fdx-side-nav--condensed .fd-popover-container-custom .fdx-nested-list__title{display:inline-flex}.fdx-side-nav--condensed .fdx-nested-list__popover-header{box-shadow:0 0 .25rem #00000026,inset 0 -.0625rem #d9d9d9}.fdx-side-nav--condensed .fd-popover-custom{display:block}[dir=rtl] .fdx-side-nav--condensed .fd-popover-container-custom .fdx-nested-list__link,.fdx-side-nav--condensed[dir=rtl] .fd-popover-container-custom .fdx-nested-list__link{padding-left:1rem}\n"] }]
|
|
65
65
|
}], ctorParameters: () => [{ type: i1.NestedListKeyboardService }, { type: i2.NestedItemService, decorators: [{
|
|
@@ -15,10 +15,10 @@ export class NestedListStateService {
|
|
|
15
15
|
/** @hidden */
|
|
16
16
|
this.onSelected = new Subject();
|
|
17
17
|
}
|
|
18
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0
|
|
19
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0
|
|
18
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: NestedListStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
19
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: NestedListStateService }); }
|
|
20
20
|
}
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: NestedListStateService, decorators: [{
|
|
22
22
|
type: Injectable
|
|
23
23
|
}] });
|
|
24
24
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWxpc3Qtc3RhdGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY3gvbmVzdGVkLWxpc3QvbmVzdGVkLWxpc3Qtc3RhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBRy9CLE1BQU0sT0FBTyxzQkFBc0I7SUFEbkM7UUFFSTs7O1dBR0c7UUFDSCxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRWxCOztXQUVHO1FBQ0gsZUFBVSxHQUFHLElBQUksQ0FBQztRQUVsQixjQUFjO1FBQ2QsZUFBVSxHQUFvQixJQUFJLE9BQU8sRUFBVSxDQUFDO0tBQ3ZEOzhHQWRZLHNCQUFzQjtrSEFBdEIsc0JBQXNCOzsyRkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTmVzdGVkTGlzdFN0YXRlU2VydmljZSB7XG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIFRoZSBjb25kZW5zZWQgc3RhdGUgaXMgbW9kaWZpZWQgYnkgdGhlIHBhcmVudCBhbmQgcmVhZCBieSBuZXN0ZWQgbGlzdHMuXG4gICAgICovXG4gICAgY29uZGVuc2VkID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgc2VsZWN0YWJsZSA9IHRydWU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG9uU2VsZWN0ZWQ6IFN1YmplY3Q8c3RyaW5nPiA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcbn1cbiJdfQ==
|
|
@@ -16,8 +16,8 @@ import { NestedListComponent } from './nested-list/nested-list.component';
|
|
|
16
16
|
import { PreparedNestedListComponent } from './prepared-nested-list/prepared-nested-list.component';
|
|
17
17
|
import * as i0 from "@angular/core";
|
|
18
18
|
export class CxNestedListModule {
|
|
19
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0
|
|
20
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0
|
|
19
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CxNestedListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
20
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.0", ngImport: i0, type: CxNestedListModule, declarations: [NestedListComponent,
|
|
21
21
|
NestedLinkComponent,
|
|
22
22
|
NestedItemComponent,
|
|
23
23
|
NestedListIconComponent,
|
|
@@ -39,9 +39,9 @@ export class CxNestedListModule {
|
|
|
39
39
|
NestedListContentDirective,
|
|
40
40
|
NestedListButtonDirective,
|
|
41
41
|
ContentDensityModule] }); }
|
|
42
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0
|
|
42
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CxNestedListModule, providers: [MenuKeyboardService, NestedListKeyboardService, NestedListStateService], imports: [CommonModule, PopoverModule, RouterModule, IconComponent, ContentDensityModule, ContentDensityModule] }); }
|
|
43
43
|
}
|
|
44
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0
|
|
44
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: CxNestedListModule, decorators: [{
|
|
45
45
|
type: NgModule,
|
|
46
46
|
args: [{
|
|
47
47
|
imports: [CommonModule, PopoverModule, RouterModule, IconComponent, ContentDensityModule],
|
|
@@ -34,10 +34,10 @@ export class PreparedNestedListComponent {
|
|
|
34
34
|
_expandedChange(expanded, item) {
|
|
35
35
|
item.expanded = expanded;
|
|
36
36
|
}
|
|
37
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0
|
|
38
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0
|
|
37
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: PreparedNestedListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
38
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: PreparedNestedListComponent, selector: "fdx-prepared-nested-list", inputs: { first: "first", condensed: "condensed", list: "list" }, viewQueries: [{ propertyName: "_nestedListComponent", first: true, predicate: i0.forwardRef(() => NestedListComponent), descendants: true }], ngImport: i0, template: "<ul fdx-nested-list [textOnly]=\"!!list?.textOnly\">\n @for (item of list?.items; track item) {\n @if (item.headerTitle) {\n <li fdx-nested-list-header>\n {{ item.headerTitle }}\n </li>\n } @else {\n <li fdx-nested-list-item [expanded]=\"!!item.expanded\" (expandedChange)=\"_expandedChange($event, item)\">\n @if (condensed && first && item.list) {\n <fdx-nested-list-popover [title]=\"item.link?.title || ''\">\n <div fdx-nested-list-content [selected]=\"!!item.link?.selected\">\n <ng-template\n [ngTemplateOutlet]=\"link\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-template>\n <button fdx-nested-list-expand-icon></button>\n </div>\n @if (item.list) {\n <fdx-prepared-nested-list [first]=\"false\" [list]=\"item.list\"></fdx-prepared-nested-list>\n }\n </fdx-nested-list-popover>\n }\n @if (!item.list) {\n <ng-template [ngTemplateOutlet]=\"link\" [ngTemplateOutletContext]=\"{ item: item }\"></ng-template>\n }\n @if ((!condensed || !first) && item.list) {\n <div fdx-nested-list-content>\n <ng-template [ngTemplateOutlet]=\"link\" [ngTemplateOutletContext]=\"{ item: item }\"></ng-template>\n <button fdx-nested-list-expand-icon></button>\n </div>\n @if (item.list) {\n <fdx-prepared-nested-list [first]=\"false\" [list]=\"item.list\"></fdx-prepared-nested-list>\n }\n }\n <ng-template let-item=\"item\" #link>\n @if (item.link) {\n <a\n fdx-nested-list-link\n [onClickCallback]=\"item.link.callback\"\n [(selected)]=\"!item.list && item.link.selected\"\n [attr.href]=\"item.link.href ? item.link.href : null\"\n [routerLink]=\"item.link.routerLink ? item.link.routerLink : []\"\n >\n @if (item.link.icon) {\n <span fdx-nested-list-icon [glyph]=\"item.link.icon\"></span>\n }\n <span fdx-nested-list-title>{{ item.link.title }}</span>\n </a>\n }\n </ng-template>\n </li>\n }\n }\n</ul>\n", dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i3.NestedListComponent, selector: "[cxNestedList], [fdx-nested-list], ul[fdx-nested-list]", inputs: ["textOnly", "ariaRoledescriptionTree", "ariaRoledescriptionMenuBar", "ariaLabelSelected"] }, { kind: "component", type: i4.NestedLinkComponent, selector: "[fdx-nested-list-link], button[fdx-nested-list-link], a[fdx-nested-list-link], div[fdx-nested-list-link]", inputs: ["onClickCallback", "selected", "ariaDescribedby"], outputs: ["selectedChange"] }, { kind: "component", type: i5.NestedItemComponent, selector: "[cxNestedItem], [fdx-nested-list-item], li[fdx-nested-list-item]", inputs: ["expanded", "group", "fdNestedListItemClass", "header", "display"], outputs: ["expandedChange", "keyboardTriggered"] }, { kind: "component", type: i6.NestedListIconComponent, selector: "[cxNestedDirectivesIcon], [fdx-nested-list-icon]", inputs: ["role"] }, { kind: "directive", type: i6.NestedListTitleDirective, selector: "[cxNestedDirectivesTitle], [fdx-nested-list-title]" }, { kind: "directive", type: i6.NestedListHeaderDirective, selector: "[cxNestedDirectivesHeader], [fdx-nested-list-header]", inputs: ["id"] }, { kind: "component", type: i7.NestedListPopoverComponent, selector: "fdx-nested-list-popover" }, { kind: "component", type: PreparedNestedListComponent, selector: "fdx-prepared-nested-list", inputs: ["first", "condensed", "list"] }, { kind: "component", type: i6.NestedListExpandIconComponent, selector: "[cxNestedListExpandIcon], [fdx-nested-list-expand-icon]" }, { kind: "directive", type: i8.NestedListContentDirective, selector: "[cxNestedListContent], [fdx-nested-list-content]", inputs: ["selected"], outputs: ["selectedChange", "keyboardTriggered", "clicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
39
39
|
}
|
|
40
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: PreparedNestedListComponent, decorators: [{
|
|
41
41
|
type: Component,
|
|
42
42
|
args: [{ selector: 'fdx-prepared-nested-list', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ul fdx-nested-list [textOnly]=\"!!list?.textOnly\">\n @for (item of list?.items; track item) {\n @if (item.headerTitle) {\n <li fdx-nested-list-header>\n {{ item.headerTitle }}\n </li>\n } @else {\n <li fdx-nested-list-item [expanded]=\"!!item.expanded\" (expandedChange)=\"_expandedChange($event, item)\">\n @if (condensed && first && item.list) {\n <fdx-nested-list-popover [title]=\"item.link?.title || ''\">\n <div fdx-nested-list-content [selected]=\"!!item.link?.selected\">\n <ng-template\n [ngTemplateOutlet]=\"link\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-template>\n <button fdx-nested-list-expand-icon></button>\n </div>\n @if (item.list) {\n <fdx-prepared-nested-list [first]=\"false\" [list]=\"item.list\"></fdx-prepared-nested-list>\n }\n </fdx-nested-list-popover>\n }\n @if (!item.list) {\n <ng-template [ngTemplateOutlet]=\"link\" [ngTemplateOutletContext]=\"{ item: item }\"></ng-template>\n }\n @if ((!condensed || !first) && item.list) {\n <div fdx-nested-list-content>\n <ng-template [ngTemplateOutlet]=\"link\" [ngTemplateOutletContext]=\"{ item: item }\"></ng-template>\n <button fdx-nested-list-expand-icon></button>\n </div>\n @if (item.list) {\n <fdx-prepared-nested-list [first]=\"false\" [list]=\"item.list\"></fdx-prepared-nested-list>\n }\n }\n <ng-template let-item=\"item\" #link>\n @if (item.link) {\n <a\n fdx-nested-list-link\n [onClickCallback]=\"item.link.callback\"\n [(selected)]=\"!item.list && item.link.selected\"\n [attr.href]=\"item.link.href ? item.link.href : null\"\n [routerLink]=\"item.link.routerLink ? item.link.routerLink : []\"\n >\n @if (item.link.icon) {\n <span fdx-nested-list-icon [glyph]=\"item.link.icon\"></span>\n }\n <span fdx-nested-list-title>{{ item.link.title }}</span>\n </a>\n }\n </ng-template>\n </li>\n }\n }\n</ul>\n" }]
|
|
43
43
|
}], propDecorators: { first: [{
|
|
@@ -50,4 +50,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
|
|
|
50
50
|
type: ViewChild,
|
|
51
51
|
args: [forwardRef(() => NestedListComponent)]
|
|
52
52
|
}] } });
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlcGFyZWQtbmVzdGVkLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jeC9uZXN0ZWQtbGlzdC9wcmVwYXJlZC1uZXN0ZWQtbGlzdC9wcmVwYXJlZC1uZXN0ZWQtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2N4L25lc3RlZC1saXN0L3ByZXBhcmVkLW5lc3RlZC1saXN0L3ByZXBhcmVkLW5lc3RlZC1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHcEgsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7Ozs7QUFFM0U7O0dBRUc7QUFPSCxNQUFNLE9BQU8sMkJBQTJCO0lBTnhDO1FBT0k7Ozs7V0FJRztRQUVILFVBQUssR0FBRyxJQUFJLENBQUM7UUFFYiw0REFBNEQ7UUFFNUQsY0FBUyxHQUFHLEtBQUssQ0FBQztLQXdCckI7SUFaRzs7O09BR0c7SUFDSCxJQUFJLG1CQUFtQjtRQUNuQixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztJQUNyQyxDQUFDO0lBRUQsY0FBYztJQUNkLGVBQWUsQ0FBQyxRQUFpQixFQUFFLElBQW9CO1FBQ25ELElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzdCLENBQUM7OEdBbENRLDJCQUEyQjtrR0FBM0IsMkJBQTJCLDRNQW9CUixtQkFBbUIsaURDbENuRCxneEZBc0RBLHdwRER4Q2EsMkJBQTJCOzsyRkFBM0IsMkJBQTJCO2tCQU52QyxTQUFTOytCQUNJLDBCQUEwQixpQkFFckIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTs4QkFTL0MsS0FBSztzQkFESixLQUFLO2dCQUtOLFNBQVM7c0JBRFIsS0FBSztnQkFLTixJQUFJO3NCQURILEtBQUs7Z0JBT04sb0JBQW9CO3NCQURuQixTQUFTO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGZvcndhcmRSZWYsIElucHV0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOdWxsYWJsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IE5lc3RlZExpc3RJdGVtLCBOZXN0ZWRMaXN0TW9kZWwgfSBmcm9tICcuLi9uZXN0ZWQtbGlzdC1tb2RlbCc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi4vbmVzdGVkLWxpc3QvbmVzdGVkLWxpc3QuY29tcG9uZW50JztcblxuLyoqXG4gKiBDb21wb25lbnQgZm9yIGludGVybmFsIHVzYWdlLCBhbGxvd3MgdG8gZ2VuZXJhdGUgdGhlIG5lc3RlZCBsaXN0IGZyb20gZGVmaW5lZCBvYmplY3QuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmR4LXByZXBhcmVkLW5lc3RlZC1saXN0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHJlcGFyZWQtbmVzdGVkLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUHJlcGFyZWROZXN0ZWRMaXN0Q29tcG9uZW50IHtcbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogRm9yIGludGVybmFsIHVzYWdlLlxuICAgICAqIERlZmluZXMgaWYgdGhlIGNvbXBvbmVudCBpcyBmaXJzdFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZmlyc3QgPSB0cnVlO1xuXG4gICAgLyoqIERlZmluZXMgaWYgbGlzdCBzaG91bGQgYmUgZGlzcGxheWVkIGluIGNvbmRlbnNlZCBtb2RlICovXG4gICAgQElucHV0KClcbiAgICBjb25kZW5zZWQgPSBmYWxzZTtcblxuICAgIC8qKiBMaXN0IGNvbmZpZ3VyYXRpb24qL1xuICAgIEBJbnB1dCgpXG4gICAgbGlzdDogTnVsbGFibGU8TmVzdGVkTGlzdE1vZGVsPjtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKGZvcndhcmRSZWYoKCkgPT4gTmVzdGVkTGlzdENvbXBvbmVudCkpXG4gICAgX25lc3RlZExpc3RDb21wb25lbnQ6IE5lc3RlZExpc3RDb21wb25lbnQ7XG5cbiAgICAvKipcbiAgICAgKiBJbiBwcmVwYXJlZCBuZXN0ZWQgbGlzdCwgbmVzdGVkIGl0ZW1zIHNob3VsZCBiZSB0YWtlbiBhcyByZWZlcmVuY2Ugb2YgVmlldywgbm90IENvbnRlbnQuXG4gICAgICogVGhlcmUgaXMgZGlyZWN0IHJlZmVyZW5jZSB0byB0aGVzZSBkaXJlY3RpdmVzIGhlcmUuXG4gICAgICovXG4gICAgZ2V0IG5lc3RlZExpc3RDb21wb25lbnQoKTogTmVzdGVkTGlzdENvbXBvbmVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9uZXN0ZWRMaXN0Q29tcG9uZW50O1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2V4cGFuZGVkQ2hhbmdlKGV4cGFuZGVkOiBib29sZWFuLCBpdGVtOiBOZXN0ZWRMaXN0SXRlbSk6IHZvaWQge1xuICAgICAgICBpdGVtLmV4cGFuZGVkID0gZXhwYW5kZWQ7XG4gICAgfVxufVxuIiwiPHVsIGZkeC1uZXN0ZWQtbGlzdCBbdGV4dE9ubHldPVwiISFsaXN0Py50ZXh0T25seVwiPlxuICAgIEBmb3IgKGl0ZW0gb2YgbGlzdD8uaXRlbXM7IHRyYWNrIGl0ZW0pIHtcbiAgICAgICAgQGlmIChpdGVtLmhlYWRlclRpdGxlKSB7XG4gICAgICAgICAgICA8bGkgZmR4LW5lc3RlZC1saXN0LWhlYWRlcj5cbiAgICAgICAgICAgICAgICB7eyBpdGVtLmhlYWRlclRpdGxlIH19XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIDxsaSBmZHgtbmVzdGVkLWxpc3QtaXRlbSBbZXhwYW5kZWRdPVwiISFpdGVtLmV4cGFuZGVkXCIgKGV4cGFuZGVkQ2hhbmdlKT1cIl9leHBhbmRlZENoYW5nZSgkZXZlbnQsIGl0ZW0pXCI+XG4gICAgICAgICAgICAgICAgQGlmIChjb25kZW5zZWQgJiYgZmlyc3QgJiYgaXRlbS5saXN0KSB7XG4gICAgICAgICAgICAgICAgICAgIDxmZHgtbmVzdGVkLWxpc3QtcG9wb3ZlciBbdGl0bGVdPVwiaXRlbS5saW5rPy50aXRsZSB8fCAnJ1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBmZHgtbmVzdGVkLWxpc3QtY29udGVudCBbc2VsZWN0ZWRdPVwiISFpdGVtLmxpbms/LnNlbGVjdGVkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxpbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBpdGVtOiBpdGVtIH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gZmR4LW5lc3RlZC1saXN0LWV4cGFuZC1pY29uPjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0ubGlzdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZHgtcHJlcGFyZWQtbmVzdGVkLWxpc3QgW2ZpcnN0XT1cImZhbHNlXCIgW2xpc3RdPVwiaXRlbS5saXN0XCI+PC9mZHgtcHJlcGFyZWQtbmVzdGVkLWxpc3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvZmR4LW5lc3RlZC1saXN0LXBvcG92ZXI+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpZiAoIWl0ZW0ubGlzdCkge1xuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwibGlua1wiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGl0ZW06IGl0ZW0gfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpZiAoKCFjb25kZW5zZWQgfHwgIWZpcnN0KSAmJiBpdGVtLmxpc3QpIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBmZHgtbmVzdGVkLWxpc3QtY29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJsaW5rXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgaXRlbTogaXRlbSB9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gZmR4LW5lc3RlZC1saXN0LWV4cGFuZC1pY29uPjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLmxpc3QpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZHgtcHJlcGFyZWQtbmVzdGVkLWxpc3QgW2ZpcnN0XT1cImZhbHNlXCIgW2xpc3RdPVwiaXRlbS5saXN0XCI+PC9mZHgtcHJlcGFyZWQtbmVzdGVkLWxpc3Q+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1pdGVtPVwiaXRlbVwiICNsaW5rPlxuICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0ubGluaykge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZHgtbmVzdGVkLWxpc3QtbGlua1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvbkNsaWNrQ2FsbGJhY2tdPVwiaXRlbS5saW5rLmNhbGxiYWNrXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKHNlbGVjdGVkKV09XCIhaXRlbS5saXN0ICYmIGl0ZW0ubGluay5zZWxlY3RlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuaHJlZl09XCJpdGVtLmxpbmsuaHJlZiA/IGl0ZW0ubGluay5ocmVmIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiaXRlbS5saW5rLnJvdXRlckxpbmsgPyBpdGVtLmxpbmsucm91dGVyTGluayA6IFtdXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0ubGluay5pY29uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGZkeC1uZXN0ZWQtbGlzdC1pY29uIFtnbHlwaF09XCJpdGVtLmxpbmsuaWNvblwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZmR4LW5lc3RlZC1saXN0LXRpdGxlPnt7IGl0ZW0ubGluay50aXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICB9XG4gICAgfVxuPC91bD5cbiJdfQ==
|
|
@@ -5,10 +5,10 @@ export class SideNavigationButtonDirective {
|
|
|
5
5
|
/** @hidden */
|
|
6
6
|
this.fdSideNavButtonClass = true;
|
|
7
7
|
}
|
|
8
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0
|
|
9
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0
|
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: SideNavigationButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
9
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.0", type: SideNavigationButtonDirective, selector: "[cxSideNavButton], [fdx-side-nav-button]", host: { properties: { "class.fdx-side-nav__button": "this.fdSideNavButtonClass" } }, ngImport: i0 }); }
|
|
10
10
|
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: SideNavigationButtonDirective, decorators: [{
|
|
12
12
|
type: Directive,
|
|
13
13
|
args: [{
|
|
14
14
|
selector: '[cxSideNavButton], [fdx-side-nav-button]'
|