@volo/ngx-lepton-x.core 3.1.0 → 3.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,6 @@
1
- import { Component, EventEmitter, Injector, Input, Output, ViewEncapsulation, } from '@angular/core';
1
+ import { Component, effect, EventEmitter, inject, Injector, input, Input, Output, ViewEncapsulation, } from '@angular/core';
2
2
  import { getItemsFromGroup } from '../../../utils';
3
+ import { RoutesService } from '../../../services/route/routes.service';
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "@angular/common";
5
6
  import * as i2 from "../../../directives/visible.directive";
@@ -12,10 +13,13 @@ export class NavbarRoutesComponent {
12
13
  }
13
14
  return getItemsFromGroup(this.groupedItems);
14
15
  }
15
- constructor(injector) {
16
- this.injector = injector;
16
+ constructor() {
17
+ this.injector = inject(Injector);
18
+ this.routesService = inject(RoutesService);
19
+ this.routerItem = input();
17
20
  this.routeClick = new EventEmitter();
18
21
  this.isExpandedOrSelected = (item) => !!(item.expanded || item.selected);
22
+ this.fixNavbarItemsByRouter();
19
23
  }
20
24
  onSubnavbarExpand(menuItem, menuItems) {
21
25
  if (menuItem.expanded) {
@@ -57,19 +61,54 @@ export class NavbarRoutesComponent {
57
61
  return [...acc, item, ...this.flatChildren(item.children || [])];
58
62
  }, []) || []);
59
63
  }
60
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: NavbarRoutesComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
61
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: NavbarRoutesComponent, selector: "lpx-navbar-routes", inputs: { groupedItems: "groupedItems", navbarItems: "navbarItems", routerItem: "routerItem" }, outputs: { routeClick: "routeClick" }, ngImport: i0, template: "<ul class=\"lpx-nav-menu\">\r\n <ng-container *ngIf=\"groupedItems; else defaultRoute\">\r\n <ng-container *ngFor=\"let item of groupedItems\">\r\n <ng-container\r\n *ngTemplateOutlet=\"groupText; context: { $implicit: item }\"\r\n ></ng-container>\r\n\r\n <ng-container *ngFor=\"let navbarItem of item.items\">\r\n <ng-container\r\n *ngTemplateOutlet=\"itemTemplate; context: { $implicit: navbarItem }\"\r\n ></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n</ul>\r\n\r\n<ng-template #defaultRoute>\r\n <ng-container *ngFor=\"let item of navbarItems\">\r\n <ng-container\r\n *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"\r\n ></ng-container>\r\n </ng-container>\r\n</ng-template>\r\n<ng-template #groupText let-item>\r\n <li\r\n *ngIf=\"item.items.length > 0\"\r\n class=\"group-menu-item hidden-in-hover-trigger\"\r\n >\r\n {{ item.group | lpxTranslate | async }}\r\n </li>\r\n</ng-template>\r\n<ng-template #itemTemplate let-item>\r\n <li\r\n class=\"outer-menu-item\"\r\n *lpxVisible=\"!item.visible || item.visible(item, injector)\"\r\n >\r\n <lpx-sub-navbar\r\n [item]=\"item\"\r\n (expand)=\"onSubnavbarExpand($event, navbarItems)\"\r\n (routeClick)=\"onRouteClick($event, navbarItems)\"\r\n [routerItem]=\"routerItem\"\r\n ></lpx-sub-navbar>\r\n </li>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.LpxVisibleDirective, selector: "[lpxVisible]", inputs: ["lpxVisible"] }, { kind: "component", type: i3.SubNavbarComponent, selector: "lpx-sub-navbar", inputs: ["item", "routerItem"], outputs: ["routeClick", "expand"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "lpxTranslate" }], encapsulation: i0.ViewEncapsulation.None }); }
64
+ fixNavbarItemsByRouter() {
65
+ effect(() => {
66
+ const currentNavigation = this.routesService.currentNavigation();
67
+ if (!currentNavigation) {
68
+ return;
69
+ }
70
+ this.fixNavbarItems(currentNavigation, this.navbarItems);
71
+ });
72
+ }
73
+ fixNavbarItems(currentUrl, items) {
74
+ if (!items) {
75
+ return;
76
+ }
77
+ for (const item of items) {
78
+ if (item.children?.length) {
79
+ item.expanded = this.hasUrlInChildren(item, currentUrl);
80
+ this.fixNavbarItems(currentUrl, item.children);
81
+ }
82
+ else {
83
+ item.selected = item.link === currentUrl;
84
+ }
85
+ }
86
+ }
87
+ hasUrlInChildren(item, url) {
88
+ if (item.link === url) {
89
+ return true;
90
+ }
91
+ if (item.children) {
92
+ for (const child of item.children) {
93
+ const found = this.hasUrlInChildren(child, url);
94
+ if (found) {
95
+ return true;
96
+ }
97
+ }
98
+ }
99
+ return false;
100
+ }
101
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: NavbarRoutesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
102
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: NavbarRoutesComponent, selector: "lpx-navbar-routes", inputs: { groupedItems: { classPropertyName: "groupedItems", publicName: "groupedItems", isSignal: false, isRequired: false, transformFunction: null }, navbarItems: { classPropertyName: "navbarItems", publicName: "navbarItems", isSignal: false, isRequired: false, transformFunction: null }, routerItem: { classPropertyName: "routerItem", publicName: "routerItem", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { routeClick: "routeClick" }, ngImport: i0, template: "<ul class=\"lpx-nav-menu\">\r\n @if (groupedItems) {\r\n @for (item of groupedItems; track item) {\r\n <ng-container\r\n *ngTemplateOutlet=\"groupText; context: { $implicit: item }\"\r\n ></ng-container>\r\n\r\n @for (navbarItem of item.items; track navbarItem) {\r\n <ng-container\r\n *ngTemplateOutlet=\"itemTemplate; context: { $implicit: navbarItem }\"\r\n ></ng-container>\r\n }\r\n }\r\n } @else {\r\n <ng-container *ngTemplateOutlet=\"defaultRoute\"></ng-container>\r\n }\r\n</ul>\r\n\r\n<ng-template #defaultRoute>\r\n @for (item of navbarItems; track item) {\r\n <ng-container\r\n *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"\r\n ></ng-container>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #groupText let-item>\r\n @if (item.items.length) {\r\n <li class=\"group-menu-item hidden-in-hover-trigger\">\r\n {{ item.group | lpxTranslate | async }}\r\n </li>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #itemTemplate let-item>\r\n <li\r\n class=\"outer-menu-item\"\r\n *lpxVisible=\"!item.visible || item.visible(item, injector)\"\r\n >\r\n <lpx-sub-navbar\r\n [item]=\"item\"\r\n (expand)=\"onSubnavbarExpand($event, navbarItems)\"\r\n (routeClick)=\"onRouteClick($event, navbarItems)\"\r\n [routerItem]=\"routerItem()\"\r\n ></lpx-sub-navbar>\r\n </li>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.LpxVisibleDirective, selector: "[lpxVisible]", inputs: ["lpxVisible"] }, { kind: "component", type: i3.SubNavbarComponent, selector: "lpx-sub-navbar", inputs: ["item", "routerItem"], outputs: ["routeClick", "expand"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "lpxTranslate" }], encapsulation: i0.ViewEncapsulation.None }); }
62
103
  }
63
104
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: NavbarRoutesComponent, decorators: [{
64
105
  type: Component,
65
- args: [{ selector: 'lpx-navbar-routes', encapsulation: ViewEncapsulation.None, template: "<ul class=\"lpx-nav-menu\">\r\n <ng-container *ngIf=\"groupedItems; else defaultRoute\">\r\n <ng-container *ngFor=\"let item of groupedItems\">\r\n <ng-container\r\n *ngTemplateOutlet=\"groupText; context: { $implicit: item }\"\r\n ></ng-container>\r\n\r\n <ng-container *ngFor=\"let navbarItem of item.items\">\r\n <ng-container\r\n *ngTemplateOutlet=\"itemTemplate; context: { $implicit: navbarItem }\"\r\n ></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n</ul>\r\n\r\n<ng-template #defaultRoute>\r\n <ng-container *ngFor=\"let item of navbarItems\">\r\n <ng-container\r\n *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"\r\n ></ng-container>\r\n </ng-container>\r\n</ng-template>\r\n<ng-template #groupText let-item>\r\n <li\r\n *ngIf=\"item.items.length > 0\"\r\n class=\"group-menu-item hidden-in-hover-trigger\"\r\n >\r\n {{ item.group | lpxTranslate | async }}\r\n </li>\r\n</ng-template>\r\n<ng-template #itemTemplate let-item>\r\n <li\r\n class=\"outer-menu-item\"\r\n *lpxVisible=\"!item.visible || item.visible(item, injector)\"\r\n >\r\n <lpx-sub-navbar\r\n [item]=\"item\"\r\n (expand)=\"onSubnavbarExpand($event, navbarItems)\"\r\n (routeClick)=\"onRouteClick($event, navbarItems)\"\r\n [routerItem]=\"routerItem\"\r\n ></lpx-sub-navbar>\r\n </li>\r\n</ng-template>\r\n" }]
66
- }], ctorParameters: () => [{ type: i0.Injector }], propDecorators: { groupedItems: [{
106
+ args: [{ selector: 'lpx-navbar-routes', encapsulation: ViewEncapsulation.None, template: "<ul class=\"lpx-nav-menu\">\r\n @if (groupedItems) {\r\n @for (item of groupedItems; track item) {\r\n <ng-container\r\n *ngTemplateOutlet=\"groupText; context: { $implicit: item }\"\r\n ></ng-container>\r\n\r\n @for (navbarItem of item.items; track navbarItem) {\r\n <ng-container\r\n *ngTemplateOutlet=\"itemTemplate; context: { $implicit: navbarItem }\"\r\n ></ng-container>\r\n }\r\n }\r\n } @else {\r\n <ng-container *ngTemplateOutlet=\"defaultRoute\"></ng-container>\r\n }\r\n</ul>\r\n\r\n<ng-template #defaultRoute>\r\n @for (item of navbarItems; track item) {\r\n <ng-container\r\n *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"\r\n ></ng-container>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #groupText let-item>\r\n @if (item.items.length) {\r\n <li class=\"group-menu-item hidden-in-hover-trigger\">\r\n {{ item.group | lpxTranslate | async }}\r\n </li>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #itemTemplate let-item>\r\n <li\r\n class=\"outer-menu-item\"\r\n *lpxVisible=\"!item.visible || item.visible(item, injector)\"\r\n >\r\n <lpx-sub-navbar\r\n [item]=\"item\"\r\n (expand)=\"onSubnavbarExpand($event, navbarItems)\"\r\n (routeClick)=\"onRouteClick($event, navbarItems)\"\r\n [routerItem]=\"routerItem()\"\r\n ></lpx-sub-navbar>\r\n </li>\r\n</ng-template>\r\n" }]
107
+ }], ctorParameters: () => [], propDecorators: { groupedItems: [{
67
108
  type: Input
68
109
  }], navbarItems: [{
69
110
  type: Input
70
- }], routerItem: [{
71
- type: Input
72
111
  }], routeClick: [{
73
112
  type: Output
74
113
  }] } });
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLXJvdXRlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2xlcHRvbi14LWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL25hdmJhci9uYXZiYXItcm91dGVzL25hdmJhci1yb3V0ZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9sZXB0b24teC1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9uYXZiYXIvbmF2YmFyLXJvdXRlcy9uYXZiYXItcm91dGVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFFBQVEsRUFDUixLQUFLLEVBQ0wsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBVW5ELE1BQU0sT0FBTyxxQkFBcUI7SUFhaEMsSUFBWSxjQUFjO1FBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdkIsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUVELE9BQU8saUJBQWlCLENBQ3RCLElBQUksQ0FBQyxZQUFZLENBQ2xCLENBQUM7SUFDSixDQUFDO0lBS0QsWUFBbUIsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQWZyQyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUM7UUFZdkMseUJBQW9CLEdBQUcsQ0FBQyxJQUFtQixFQUFXLEVBQUUsQ0FDOUQsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFRyxDQUFDO0lBRXpDLGlCQUFpQixDQUFDLFFBQXVCLEVBQUUsU0FBMEI7UUFDbkUsSUFBSSxRQUFRLENBQUMsUUFBUSxFQUFF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dXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbmplY3RvcixcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEdyb3VwZWROYXZiYXJJdGVtcywgTHB4TmF2YmFySXRlbSB9IGZyb20gJy4uL21vZGVscyc7XHJcbmltcG9ydCB7IGdldEl0ZW1zRnJvbUdyb3VwIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnO1xyXG5cclxuZXhwb3J0IHR5cGUgTmF2YmFySXRlbXNUeXBlID0gTHB4TmF2YmFySXRlbVtdIHwgbnVsbCB8IHVuZGVmaW5lZDtcclxuZXhwb3J0IHR5cGUgTmF2YmFyR3JvdXBJdGVtc1R5cGUgPSBHcm91cGVkTmF2YmFySXRlbXNbXSB8IG51bGwgfCB1bmRlZmluZWQ7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xweC1uYXZiYXItcm91dGVzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbmF2YmFyLXJvdXRlcy5jb21wb25lbnQuaHRtbCcsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE5hdmJhclJvdXRlc0NvbXBvbmVudCB7XHJcbiAgQElucHV0KClcclxuICBncm91cGVkSXRlbXM6IE5hdmJhckdyb3VwSXRlbXNUeXBlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIG5hdmJhckl0ZW1zOiBOYXZiYXJJdGVtc1R5cGU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcm91dGVySXRlbSE6IGJvb2xlYW47XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHJvdXRlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPExweE5hdmJhckl0ZW0+KCk7XHJcblxyXG4gIHByaXZhdGUgZ2V0IGl0ZW1zRnJvbUdyb3VwKCk6IExweE5hdmJhckl0ZW1bXSB8IHVuZGVmaW5lZCB7XHJcbiAgICBpZiAoIXRoaXMuZ3JvdXBlZEl0ZW1zKSB7XHJcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGdldEl0ZW1zRnJvbUdyb3VwPEdyb3VwZWROYXZiYXJJdGVtcywgTHB4TmF2YmFySXRlbT4oXHJcbiAgICAgIHRoaXMuZ3JvdXBlZEl0ZW1zLFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNFeHBhbmRlZE9yU2VsZWN0ZWQgPSAoaXRlbTogTHB4TmF2YmFySXRlbSk6IGJvb2xlYW4gPT5cclxuICAgICEhKGl0ZW0uZXhwYW5kZWQgfHwgaXRlbS5zZWxlY3RlZCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBpbmplY3RvcjogSW5qZWN0b3IpIHt9XHJcblxyXG4gIG9uU3VibmF2YmFyRXhwYW5kKG1lbnVJdGVtOiBMcHhOYXZiYXJJdGVtLCBtZW51SXRlbXM6IE5hdmJhckl0ZW1zVHlwZSk6IHZvaWQge1xyXG4gICAgaWYgKG1lbnVJdGVtLmV4cGFuZGVkKSB7XHJcbiAgICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5pdGVtc0Zyb21Hcm91cCB8fCBtZW51SXRlbXM7XHJcbiAgICAgIGlmICghaXRlbXMpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGl0ZW1zXHJcbiAgICAgICAgLmZpbHRlcigoaXRlbSkgPT4gaXRlbSAhPT0gbWVudUl0ZW0pXHJcbiAgICAgICAgLmZvckVhY2goKGl0ZW0pID0+IChpdGVtLmV4cGFuZGVkID0gZmFsc2UpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uUm91dGVDbGljayhtZW51SXRlbTogTHB4TmF2YmFySXRlbSwgbWVudUl0ZW1zOiBOYXZiYXJJdGVtc1R5cGUpOiB2b2lkIHtcclxuICAgIGNvbnN0IGV4cGFuZGVkSXRlbXMgPSBtZW51SXRlbXM/LmZpbHRlcih0aGlzLmlzRXhwYW5kZWRPclNlbGVjdGVkKTtcclxuICAgIGNvbnN0IGV4cGFuZGVkR3JvdXBJdGVtcyA9IHRoaXMuaXRlbXNGcm9tR3JvdXA/LmZpbHRlcihcclxuICAgICAgdGhpcy5pc0V4cGFuZGVkT3JTZWxlY3RlZCxcclxuICAgICk7XHJcblxyXG4gICAgY29uc3QgaXRlbXMgPSBleHBhbmRlZEdyb3VwSXRlbXMgfHwgZXhwYW5kZWRJdGVtcztcclxuXHJcbiAgICBpZiAoaXRlbXMpIHtcclxuICAgICAgaXRlbXNcclxuICAgICAgICAuZmlsdGVyKChpdGVtKSA9PiBpdGVtICE9PSBtZW51SXRlbSlcclxuICAgICAgICAucmVkdWNlPExweE5hdmJhckl0ZW1bXT4oKGFjYywgaXRlbSkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIFsuLi5hY2MsIGl0ZW0sIC4uLnRoaXMuZmxhdENoaWxkcmVuKGl0ZW0uY2hpbGRyZW4gfHwgW10pXTtcclxuICAgICAgICB9LCBbXSlcclxuICAgICAgICA/LmZpbHRlcihcclxuICAgICAgICAgIChpdGVtKSA9PlxyXG4gICAgICAgICAgICAhdGhpcy5jaGVja0NoaWxkcmVuSW5jbHVkZXNJdGVtKGl0ZW0sIG1lbnVJdGVtKSAmJlxyXG4gICAgICAgICAgICBpdGVtICE9PSBtZW51SXRlbSxcclxuICAgICAgICApXHJcbiAgICAgICAgLmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgICAgIGl0ZW0uc2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgICAgICAgIGl0ZW0uZXhwYW5kZWQgPSBmYWxzZTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnJvdXRlQ2xpY2suZW1pdChtZW51SXRlbSk7XHJcbiAgfVxyXG5cclxuICBjaGVja0NoaWxkcmVuSW5jbHVkZXNJdGVtKFxyXG4gICAgaXRlbTogTHB4TmF2YmFySXRlbSxcclxuICAgIG1lbnVJdGVtOiBMcHhOYXZiYXJJdGVtLFxyXG4gICk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgaXRlbS5jaGlsZHJlbj8ucmVkdWNlKFxyXG4gICAgICAgIChhY2MsIGNoaWxkKSA9PlxyXG4gICAgICAgICAgYWNjIHx8XHJcbiAgICAgICAgICBjaGlsZCA9PT0gbWVudUl0ZW0gfHxcclxuICAgICAgICAgIHRoaXMuY2hlY2tDaGlsZHJlbkluY2x1ZGVzSXRlbShjaGlsZCwgbWVudUl0ZW0pLFxyXG4gICAgICAgIGZhbHNlLFxyXG4gICAgICApIHx8IGZhbHNlXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZmxhdENoaWxkcmVuKG1lbnVJdGVtczogTmF2YmFySXRlbXNUeXBlKTogTHB4TmF2YmFySXRlbVtdIHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIG1lbnVJdGVtcz8ucmVkdWNlPExweE5hdmJhckl0ZW1bXT4oKGFjYywgaXRlbSkgPT4ge1xyXG4gICAgICAgIHJldHVybiBbLi4uYWNjLCBpdGVtLCAuLi50aGlzLmZsYXRDaGlsZHJlbihpdGVtLmNoaWxkcmVuIHx8IFtdKV07XHJcbiAgICAgIH0sIFtdKSB8fCBbXVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIiwiPHVsIGNsYXNzPVwibHB4LW5hdi1tZW51XCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImdyb3VwZWRJdGVtczsgZWxzZSBkZWZhdWx0Um91dGVcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZ3JvdXBlZEl0ZW1zXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cImdyb3VwVGV4dDsgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0gfVwiXHJcbiAgICAgID48L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG5hdmJhckl0ZW0gb2YgaXRlbS5pdGVtc1wiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiaXRlbVRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogbmF2YmFySXRlbSB9XCJcclxuICAgICAgICA+PC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvdWw+XHJcblxyXG48bmctdGVtcGxhdGUgI2RlZmF1bHRSb3V0ZT5cclxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIG5hdmJhckl0ZW1zXCI+XHJcbiAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiaXRlbVRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbSB9XCJcclxuICAgID48L25nLWNvbnRhaW5lcj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPG5nLXRlbXBsYXRlICNncm91cFRleHQgbGV0LWl0ZW0+XHJcbiAgPGxpXHJcbiAgICAqbmdJZj1cIml0ZW0uaXRlbXMubGVuZ3RoID4gMFwiXHJcbiAgICBjbGFzcz1cImdyb3VwLW1lbnUtaXRlbSBoaWRkZW4taW4taG92ZXItdHJpZ2dlclwiXHJcbiAgPlxyXG4gICAge3sgaXRlbS5ncm91cCB8IGxweFRyYW5zbGF0ZSB8IGFzeW5jIH19XHJcbiAgPC9saT5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPG5nLXRlbXBsYXRlICNpdGVtVGVtcGxhdGUgbGV0LWl0ZW0+XHJcbiAgPGxpXHJcbiAgICBjbGFzcz1cIm91dGVyLW1lbnUtaXRlbVwiXHJcbiAgICAqbHB4VmlzaWJsZT1cIiFpdGVtLnZpc2libGUgfHwgaXRlbS52aXNpYmxlKGl0ZW0sIGluamVjdG9yKVwiXHJcbiAgPlxyXG4gICAgPGxweC1zdWItbmF2YmFyXHJcbiAgICAgIFtpdGVtXT1cIml0ZW1cIlxyXG4gICAgICAoZXhwYW5kKT1cIm9uU3VibmF2YmFyRXhwYW5kKCRldmVudCwgbmF2YmFySXRlbXMpXCJcclxuICAgICAgKHJvdXRlQ2xpY2spPVwib25Sb3V0ZUNsaWNrKCRldmVudCwgbmF2YmFySXRlbXMpXCJcclxuICAgICAgW3JvdXRlckl0ZW1dPVwicm91dGVySXRlbVwiXHJcbiAgICA+PC9scHgtc3ViLW5hdmJhcj5cclxuICA8L2xpPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLXJvdXRlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2xlcHRvbi14LWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL25hdmJhci9uYXZiYXItcm91dGVzL25hdmJhci1yb3V0ZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9sZXB0b24teC1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9uYXZiYXIvbmF2YmFyLXJvdXRlcy9uYXZiYXItcm91dGVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFlBQVksRUFDWixNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssRUFDTCxLQUFLLEVBQ0wsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7OztBQVV2RSxNQUFNLE9BQU8scUJBQXFCO0lBZWhDLElBQVksY0FBYztRQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7UUFFRCxPQUFPLGlCQUFpQixDQUN0QixJQUFJLENBQUMsWUFBWSxDQUNsQixDQUFDO0lBQ0osQ0FBQztJQUVEO1FBeEJtQixhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVCLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBUXpELGVBQVUsR0FBRyxLQUFLLEVBQVcsQ0FBQztRQUc5QixlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUM7UUFnQnZDLHlCQUFvQixHQUFHLENBQUMsSUFBbUIs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LENBQUMsQ0FBQztnQkFDaEQsSUFBSSxLQUFLLEVBQUUsQ0FBQztvQkFDVixPQUFPLElBQUksQ0FBQztnQkFDZCxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7OEdBN0lVLHFCQUFxQjtrR0FBckIscUJBQXFCLDRnQkN2QmxDLGs1Q0ErQ0E7OzJGRHhCYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0UsbUJBQW1CLGlCQUVkLGlCQUFpQixDQUFDLElBQUk7d0RBT3JDLFlBQVk7c0JBRFgsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBTU4sVUFBVTtzQkFEVCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgZWZmZWN0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBpbmplY3QsXHJcbiAgSW5qZWN0b3IsXHJcbiAgaW5wdXQsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBHcm91cGVkTmF2YmFySXRlbXMsIExweE5hdmJhckl0ZW0gfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBnZXRJdGVtc0Zyb21Hcm91cCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgUm91dGVzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3JvdXRlL3JvdXRlcy5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCB0eXBlIE5hdmJhckl0ZW1zVHlwZSA9IExweE5hdmJhckl0ZW1bXSB8IG51bGwgfCB1bmRlZmluZWQ7XHJcbmV4cG9ydCB0eXBlIE5hdmJhckdyb3VwSXRlbXNUeXBlID0gR3JvdXBlZE5hdmJhckl0ZW1zW10gfCBudWxsIHwgdW5kZWZpbmVkO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdscHgtbmF2YmFyLXJvdXRlcycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL25hdmJhci1yb3V0ZXMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOYXZiYXJSb3V0ZXNDb21wb25lbnQge1xyXG4gIHByb3RlY3RlZCByZWFkb25seSBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHJvdXRlc1NlcnZpY2UgPSBpbmplY3QoUm91dGVzU2VydmljZSk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZ3JvdXBlZEl0ZW1zOiBOYXZiYXJHcm91cEl0ZW1zVHlwZTtcclxuXHJcbiAgQElucHV0KClcclxuICBuYXZiYXJJdGVtczogTmF2YmFySXRlbXNUeXBlO1xyXG5cclxuICByb3V0ZXJJdGVtID0gaW5wdXQ8Ym9vbGVhbj4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcm91dGVDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8THB4TmF2YmFySXRlbT4oKTtcclxuXHJcbiAgcHJpdmF0ZSBnZXQgaXRlbXNGcm9tR3JvdXAoKTogTHB4TmF2YmFySXRlbVtdIHwgdW5kZWZpbmVkIHtcclxuICAgIGlmICghdGhpcy5ncm91cGVkSXRlbXMpIHtcclxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZ2V0SXRlbXNGcm9tR3JvdXA8R3JvdXBlZE5hdmJhckl0ZW1zLCBMcHhOYXZiYXJJdGVtPihcclxuICAgICAgdGhpcy5ncm91cGVkSXRlbXMsXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLmZpeE5hdmJhckl0ZW1zQnlSb3V0ZXIoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNFeHBhbmRlZE9yU2VsZWN0ZWQgPSAoaXRlbTogTHB4TmF2YmFySXRlbSk6IGJvb2xlYW4gPT5cclxuICAgICEhKGl0ZW0uZXhwYW5kZWQgfHwgaXRlbS5zZWxlY3RlZCk7XHJcblxyXG4gIG9uU3VibmF2YmFyRXhwYW5kKG1lbnVJdGVtOiBMcHhOYXZiYXJJdGVtLCBtZW51SXRlbXM6IE5hdmJhckl0ZW1zVHlwZSk6IHZvaWQge1xyXG4gICAgaWYgKG1lbnVJdGVtLmV4cGFuZGVkKSB7XHJcbiAgICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5pdGVtc0Zyb21Hcm91cCB8fCBtZW51SXRlbXM7XHJcbiAgICAgIGlmICghaXRlbXMpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGl0ZW1zXHJcbiAgICAgICAgLmZpbHRlcigoaXRlbSkgPT4gaXRlbSAhPT0gbWVudUl0ZW0pXHJcbiAgICAgICAgLmZvckVhY2goKGl0ZW0pID0+IChpdGVtLmV4cGFuZGVkID0gZmFsc2UpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uUm91dGVDbGljayhtZW51SXRlbTogTHB4TmF2YmFySXRlbSwgbWVudUl0ZW1zOiBOYXZiYXJJdGVtc1R5cGUpOiB2b2lkIHtcclxuICAgIGNvbnN0IGV4cGFuZGVkSXRlbXMgPSBtZW51SXRlbXM/LmZpbHRlcih0aGlzLmlzRXhwYW5kZWRPclNlbGVjdGVkKTtcclxuICAgIGNvbnN0IGV4cGFuZGVkR3JvdXBJdGVtcyA9IHRoaXMuaXRlbXNGcm9tR3JvdXA/LmZpbHRlcihcclxuICAgICAgdGhpcy5pc0V4cGFuZGVkT3JTZWxlY3RlZCxcclxuICAgICk7XHJcblxyXG4gICAgY29uc3QgaXRlbXMgPSBleHBhbmRlZEdyb3VwSXRlbXMgfHwgZXhwYW5kZWRJdGVtcztcclxuXHJcbiAgICBpZiAoaXRlbXMpIHtcclxuICAgICAgaXRlbXNcclxuICAgICAgICAuZmlsdGVyKChpdGVtKSA9PiBpdGVtICE9PSBtZW51SXRlbSlcclxuICAgICAgICAucmVkdWNlPExweE5hdmJhckl0ZW1bXT4oKGFjYywgaXRlbSkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIFsuLi5hY2MsIGl0ZW0sIC4uLnRoaXMuZmxhdENoaWxkcmVuKGl0ZW0uY2hpbGRyZW4gfHwgW10pXTtcclxuICAgICAgICB9LCBbXSlcclxuICAgICAgICA/LmZpbHRlcihcclxuICAgICAgICAgIChpdGVtKSA9PlxyXG4gICAgICAgICAgICAhdGhpcy5jaGVja0NoaWxkcmVuSW5jbHVkZXNJdGVtKGl0ZW0sIG1lbnVJdGVtKSAmJlxyXG4gICAgICAgICAgICBpdGVtICE9PSBtZW51SXRlbSxcclxuICAgICAgICApXHJcbiAgICAgICAgLmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgICAgIGl0ZW0uc2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgICAgICAgIGl0ZW0uZXhwYW5kZWQgPSBmYWxzZTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnJvdXRlQ2xpY2suZW1pdChtZW51SXRlbSk7XHJcbiAgfVxyXG5cclxuICBjaGVja0NoaWxkcmVuSW5jbHVkZXNJdGVtKFxyXG4gICAgaXRlbTogTHB4TmF2YmFySXRlbSxcclxuICAgIG1lbnVJdGVtOiBMcHhOYXZiYXJJdGVtLFxyXG4gICk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgaXRlbS5jaGlsZHJlbj8ucmVkdWNlKFxyXG4gICAgICAgIChhY2MsIGNoaWxkKSA9PlxyXG4gICAgICAgICAgYWNjIHx8XHJcbiAgICAgICAgICBjaGlsZCA9PT0gbWVudUl0ZW0gfHxcclxuICAgICAgICAgIHRoaXMuY2hlY2tDaGlsZHJlbkluY2x1ZGVzSXRlbShjaGlsZCwgbWVudUl0ZW0pLFxyXG4gICAgICAgIGZhbHNlLFxyXG4gICAgICApIHx8IGZhbHNlXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZmxhdENoaWxkcmVuKG1lbnVJdGVtczogTmF2YmFySXRlbXNUeXBlKTogTHB4TmF2YmFySXRlbVtdIHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIG1lbnVJdGVtcz8ucmVkdWNlPExweE5hdmJhckl0ZW1bXT4oKGFjYywgaXRlbSkgPT4ge1xyXG4gICAgICAgIHJldHVybiBbLi4uYWNjLCBpdGVtLCAuLi50aGlzLmZsYXRDaGlsZHJlbihpdGVtLmNoaWxkcmVuIHx8IFtdKV07XHJcbiAgICAgIH0sIFtdKSB8fCBbXVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGZpeE5hdmJhckl0ZW1zQnlSb3V0ZXIoKSB7XHJcbiAgICBlZmZlY3QoKCkgPT4ge1xyXG4gICAgICBjb25zdCBjdXJyZW50TmF2aWdhdGlvbiA9IHRoaXMucm91dGVzU2VydmljZS5jdXJyZW50TmF2aWdhdGlvbigpO1xyXG5cclxuICAgICAgaWYgKCFjdXJyZW50TmF2aWdhdGlvbikge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5maXhOYXZiYXJJdGVtcyhcclxuICAgICAgICBjdXJyZW50TmF2aWdhdGlvbixcclxuICAgICAgICB0aGlzLm5hdmJhckl0ZW1zIGFzIExweE5hdmJhckl0ZW1bXSxcclxuICAgICAgKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZml4TmF2YmFySXRlbXMoY3VycmVudFVybDogc3RyaW5nLCBpdGVtczogTHB4TmF2YmFySXRlbVtdKTogdm9pZCB7XHJcbiAgICBpZiAoIWl0ZW1zKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgaXRlbXMpIHtcclxuICAgICAgaWYgKGl0ZW0uY2hpbGRyZW4/Lmxlbmd0aCkge1xyXG4gICAgICAgIGl0ZW0uZXhwYW5kZWQgPSB0aGlzLmhhc1VybEluQ2hpbGRyZW4oaXRlbSwgY3VycmVudFVybCk7XHJcbiAgICAgICAgdGhpcy5maXhOYXZiYXJJdGVtcyhjdXJyZW50VXJsLCBpdGVtLmNoaWxkcmVuKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpdGVtLnNlbGVjdGVkID0gaXRlbS5saW5rID09PSBjdXJyZW50VXJsO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoYXNVcmxJbkNoaWxkcmVuKGl0ZW06IExweE5hdmJhckl0ZW0sIHVybDogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoaXRlbS5saW5rID09PSB1cmwpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGl0ZW0uY2hpbGRyZW4pIHtcclxuICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiBpdGVtLmNoaWxkcmVuKSB7XHJcbiAgICAgICAgY29uc3QgZm91bmQgPSB0aGlzLmhhc1VybEluQ2hpbGRyZW4oY2hpbGQsIHVybCk7XHJcbiAgICAgICAgaWYgKGZvdW5kKSB7XHJcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG59XHJcbiIsIjx1bCBjbGFzcz1cImxweC1uYXYtbWVudVwiPlxyXG4gIEBpZiAoZ3JvdXBlZEl0ZW1zKSB7XHJcbiAgICBAZm9yIChpdGVtIG9mIGdyb3VwZWRJdGVtczsgdHJhY2sgaXRlbSkge1xyXG4gICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJncm91cFRleHQ7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtIH1cIlxyXG4gICAgICA+PC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICBAZm9yIChuYXZiYXJJdGVtIG9mIGl0ZW0uaXRlbXM7IHRyYWNrIG5hdmJhckl0ZW0pIHtcclxuICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIml0ZW1UZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IG5hdmJhckl0ZW0gfVwiXHJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGVmYXVsdFJvdXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgfVxyXG48L3VsPlxyXG5cclxuPG5nLXRlbXBsYXRlICNkZWZhdWx0Um91dGU+XHJcbiAgQGZvciAoaXRlbSBvZiBuYXZiYXJJdGVtczsgdHJhY2sgaXRlbSkge1xyXG4gICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIml0ZW1UZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0gfVwiXHJcbiAgICA+PC9uZy1jb250YWluZXI+XHJcbiAgfVxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNncm91cFRleHQgbGV0LWl0ZW0+XHJcbiAgQGlmIChpdGVtLml0ZW1zLmxlbmd0aCkge1xyXG4gICAgPGxpIGNsYXNzPVwiZ3JvdXAtbWVudS1pdGVtIGhpZGRlbi1pbi1ob3Zlci10cmlnZ2VyXCI+XHJcbiAgICAgIHt7IGl0ZW0uZ3JvdXAgfCBscHhUcmFuc2xhdGUgfCBhc3luYyB9fVxyXG4gICAgPC9saT5cclxuICB9XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2l0ZW1UZW1wbGF0ZSBsZXQtaXRlbT5cclxuICA8bGlcclxuICAgIGNsYXNzPVwib3V0ZXItbWVudS1pdGVtXCJcclxuICAgICpscHhWaXNpYmxlPVwiIWl0ZW0udmlzaWJsZSB8fCBpdGVtLnZpc2libGUoaXRlbSwgaW5qZWN0b3IpXCJcclxuICA+XHJcbiAgICA8bHB4LXN1Yi1uYXZiYXJcclxuICAgICAgW2l0ZW1dPVwiaXRlbVwiXHJcbiAgICAgIChleHBhbmQpPVwib25TdWJuYXZiYXJFeHBhbmQoJGV2ZW50LCBuYXZiYXJJdGVtcylcIlxyXG4gICAgICAocm91dGVDbGljayk9XCJvblJvdXRlQ2xpY2soJGV2ZW50LCBuYXZiYXJJdGVtcylcIlxyXG4gICAgICBbcm91dGVySXRlbV09XCJyb3V0ZXJJdGVtKClcIlxyXG4gICAgPjwvbHB4LXN1Yi1uYXZiYXI+XHJcbiAgPC9saT5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
@@ -1,4 +1,4 @@
1
- import { Component, EventEmitter, Injector, Input, Output, ViewEncapsulation, } from '@angular/core';
1
+ import { Component, EventEmitter, inject, Injector, input, Input, Output, ViewEncapsulation, } from '@angular/core';
2
2
  import { of } from 'rxjs';
3
3
  import { take } from 'rxjs/operators';
4
4
  import { getStream$ } from '../../../utils/common';
@@ -9,8 +9,9 @@ import * as i3 from "../../icon/icon.component";
9
9
  import * as i4 from "../../../directives/visible.directive";
10
10
  import * as i5 from "../../../pipes/translate/translate.pipe";
11
11
  export class SubNavbarComponent {
12
- constructor(injector) {
13
- this.injector = injector;
12
+ constructor() {
13
+ this.injector = inject(Injector);
14
+ this.routerItem = input();
14
15
  this.routeClick = new EventEmitter();
15
16
  this.expand = new EventEmitter();
16
17
  }
@@ -43,23 +44,21 @@ export class SubNavbarComponent {
43
44
  return;
44
45
  }
45
46
  this.routeClick.emit(menuItem);
46
- if (!this.routerItem) {
47
+ if (!this.routerItem()) {
47
48
  menuItem.selected = true;
48
49
  }
49
50
  }
50
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SubNavbarComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
51
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: SubNavbarComponent, selector: "lpx-sub-navbar", inputs: { item: "item", routerItem: "routerItem" }, outputs: { routeClick: "routeClick", expand: "expand" }, ngImport: i0, template: "<ng-container *ngIf=\"item.component; else defaultTemplate\">\r\n <ng-container\r\n *ngComponentOutlet=\"item.component; injector: injector\"\r\n ></ng-container>\r\n</ng-container>\r\n<ng-template #defaultTemplate>\r\n <a\r\n *ngIf=\"!item.component\"\r\n class=\"lpx-menu-item-link\"\r\n [routerLink]=\"item.link\"\r\n [routerLinkActive]=\"item.link ? 'selected' : ''\"\r\n [class.selected]=\"\r\n (item.children?.length && item.expanded) || (!routerItem && item.selected && !!item.link)\r\n \"\r\n [routerLinkActiveOptions]=\"{ exact: true }\"\r\n (click)=\"onItemClick(item)\"\r\n >\r\n <lpx-icon\r\n class=\"lpx-menu-item-icon\"\r\n *ngIf=\"item.icon\"\r\n [iconClass]=\"item.icon\"\r\n ></lpx-icon>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n item.template || textTmpl;\r\n context: { $implicit: item }\r\n \"\r\n ></ng-container>\r\n <ng-template #textTmpl>\r\n <span\r\n class=\"lpx-menu-item-text hidden-in-hover-trigger\"\r\n *ngIf=\"item.text\"\r\n >{{ item.text | lpxTranslate | async }}</span\r\n >\r\n </ng-template>\r\n\r\n <lpx-icon\r\n *ngIf=\"item.children && item.children.length\"\r\n [iconClass]=\"item.expanded ? 'chevronUp' : 'chevronDown'\"\r\n class=\"dd-icon hidden-in-hover-trigger\"\r\n >\r\n </lpx-icon>\r\n </a>\r\n <ul\r\n class=\"lpx-inner-menu hidden-in-hover-trigger\"\r\n [class.collapsed]=\"!item.expanded\"\r\n *ngIf=\"item.children && item.children.length\"\r\n >\r\n <ng-container *ngFor=\"let child of item.children\">\r\n <li\r\n class=\"lpx-inner-menu-item\"\r\n *lpxVisible=\"!child.visible || child.visible(child, injector)\">\r\n <lpx-sub-navbar\r\n [item]=\"child\"\r\n (routeClick)=\"this.routeClick.emit($event)\"\r\n (expand)=\"onChildExpand($event)\"\r\n ></lpx-sub-navbar>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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: "directive", type: i2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: i3.IconComponent, selector: "lpx-icon", inputs: ["iconClass"] }, { kind: "directive", type: i4.LpxVisibleDirective, selector: "[lpxVisible]", inputs: ["lpxVisible"] }, { kind: "component", type: SubNavbarComponent, selector: "lpx-sub-navbar", inputs: ["item", "routerItem"], outputs: ["routeClick", "expand"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.TranslatePipe, name: "lpxTranslate" }], encapsulation: i0.ViewEncapsulation.None }); }
51
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SubNavbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
52
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: SubNavbarComponent, selector: "lpx-sub-navbar", inputs: { item: { classPropertyName: "item", publicName: "item", isSignal: false, isRequired: false, transformFunction: null }, routerItem: { classPropertyName: "routerItem", publicName: "routerItem", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { routeClick: "routeClick", expand: "expand" }, ngImport: i0, template: "@if (item.component) {\r\n <ng-container\r\n *ngComponentOutlet=\"item.component; injector: injector\"\r\n ></ng-container>\r\n} @else {\r\n <ng-container *ngTemplateOutlet=\"defaultTemplate\"></ng-container>\r\n}\r\n<ng-template #defaultTemplate>\r\n <a\r\n class=\"lpx-menu-item-link\"\r\n [routerLink]=\"item.link\"\r\n [class.selected]=\"item.selected\"\r\n [class.expanded]=\"item.children?.length && item.expanded\"\r\n (click)=\"onItemClick(item)\"\r\n >\r\n <lpx-icon\r\n class=\"lpx-menu-item-icon\"\r\n *ngIf=\"item.icon\"\r\n [iconClass]=\"item.icon\"\r\n ></lpx-icon>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n item.template || textTmpl;\r\n context: { $implicit: item }\r\n \"\r\n ></ng-container>\r\n <ng-template #textTmpl>\r\n @if (item.text) {\r\n <span class=\"lpx-menu-item-text hidden-in-hover-trigger\">{{\r\n item.text | lpxTranslate | async\r\n }}</span>\r\n }\r\n </ng-template>\r\n\r\n @if (item.children?.length) {\r\n <lpx-icon\r\n [iconClass]=\"item.expanded ? 'chevronUp' : 'chevronDown'\"\r\n class=\"dd-icon hidden-in-hover-trigger\"\r\n >\r\n </lpx-icon>\r\n }\r\n </a>\r\n\r\n @if (item.children?.length) {\r\n <ul\r\n class=\"lpx-inner-menu hidden-in-hover-trigger\"\r\n [class.collapsed]=\"!item.expanded\"\r\n >\r\n @for (child of item.children; track item.children) {\r\n <li\r\n class=\"lpx-inner-menu-item\"\r\n *lpxVisible=\"!child.visible || child.visible(child, injector)\"\r\n >\r\n <lpx-sub-navbar\r\n [item]=\"child\"\r\n (routeClick)=\"this.routeClick.emit($event)\"\r\n (expand)=\"onChildExpand($event)\"\r\n ></lpx-sub-navbar>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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.IconComponent, selector: "lpx-icon", inputs: ["iconClass"] }, { kind: "directive", type: i4.LpxVisibleDirective, selector: "[lpxVisible]", inputs: ["lpxVisible"] }, { kind: "component", type: SubNavbarComponent, selector: "lpx-sub-navbar", inputs: ["item", "routerItem"], outputs: ["routeClick", "expand"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.TranslatePipe, name: "lpxTranslate" }], encapsulation: i0.ViewEncapsulation.None }); }
52
53
  }
53
54
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SubNavbarComponent, decorators: [{
54
55
  type: Component,
55
- args: [{ selector: 'lpx-sub-navbar', encapsulation: ViewEncapsulation.None, template: "<ng-container *ngIf=\"item.component; else defaultTemplate\">\r\n <ng-container\r\n *ngComponentOutlet=\"item.component; injector: injector\"\r\n ></ng-container>\r\n</ng-container>\r\n<ng-template #defaultTemplate>\r\n <a\r\n *ngIf=\"!item.component\"\r\n class=\"lpx-menu-item-link\"\r\n [routerLink]=\"item.link\"\r\n [routerLinkActive]=\"item.link ? 'selected' : ''\"\r\n [class.selected]=\"\r\n (item.children?.length && item.expanded) || (!routerItem && item.selected && !!item.link)\r\n \"\r\n [routerLinkActiveOptions]=\"{ exact: true }\"\r\n (click)=\"onItemClick(item)\"\r\n >\r\n <lpx-icon\r\n class=\"lpx-menu-item-icon\"\r\n *ngIf=\"item.icon\"\r\n [iconClass]=\"item.icon\"\r\n ></lpx-icon>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n item.template || textTmpl;\r\n context: { $implicit: item }\r\n \"\r\n ></ng-container>\r\n <ng-template #textTmpl>\r\n <span\r\n class=\"lpx-menu-item-text hidden-in-hover-trigger\"\r\n *ngIf=\"item.text\"\r\n >{{ item.text | lpxTranslate | async }}</span\r\n >\r\n </ng-template>\r\n\r\n <lpx-icon\r\n *ngIf=\"item.children && item.children.length\"\r\n [iconClass]=\"item.expanded ? 'chevronUp' : 'chevronDown'\"\r\n class=\"dd-icon hidden-in-hover-trigger\"\r\n >\r\n </lpx-icon>\r\n </a>\r\n <ul\r\n class=\"lpx-inner-menu hidden-in-hover-trigger\"\r\n [class.collapsed]=\"!item.expanded\"\r\n *ngIf=\"item.children && item.children.length\"\r\n >\r\n <ng-container *ngFor=\"let child of item.children\">\r\n <li\r\n class=\"lpx-inner-menu-item\"\r\n *lpxVisible=\"!child.visible || child.visible(child, injector)\">\r\n <lpx-sub-navbar\r\n [item]=\"child\"\r\n (routeClick)=\"this.routeClick.emit($event)\"\r\n (expand)=\"onChildExpand($event)\"\r\n ></lpx-sub-navbar>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n</ng-template>\r\n" }]
56
- }], ctorParameters: () => [{ type: i0.Injector }], propDecorators: { item: [{
57
- type: Input
58
- }], routerItem: [{
56
+ args: [{ selector: 'lpx-sub-navbar', encapsulation: ViewEncapsulation.None, template: "@if (item.component) {\r\n <ng-container\r\n *ngComponentOutlet=\"item.component; injector: injector\"\r\n ></ng-container>\r\n} @else {\r\n <ng-container *ngTemplateOutlet=\"defaultTemplate\"></ng-container>\r\n}\r\n<ng-template #defaultTemplate>\r\n <a\r\n class=\"lpx-menu-item-link\"\r\n [routerLink]=\"item.link\"\r\n [class.selected]=\"item.selected\"\r\n [class.expanded]=\"item.children?.length && item.expanded\"\r\n (click)=\"onItemClick(item)\"\r\n >\r\n <lpx-icon\r\n class=\"lpx-menu-item-icon\"\r\n *ngIf=\"item.icon\"\r\n [iconClass]=\"item.icon\"\r\n ></lpx-icon>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n item.template || textTmpl;\r\n context: { $implicit: item }\r\n \"\r\n ></ng-container>\r\n <ng-template #textTmpl>\r\n @if (item.text) {\r\n <span class=\"lpx-menu-item-text hidden-in-hover-trigger\">{{\r\n item.text | lpxTranslate | async\r\n }}</span>\r\n }\r\n </ng-template>\r\n\r\n @if (item.children?.length) {\r\n <lpx-icon\r\n [iconClass]=\"item.expanded ? 'chevronUp' : 'chevronDown'\"\r\n class=\"dd-icon hidden-in-hover-trigger\"\r\n >\r\n </lpx-icon>\r\n }\r\n </a>\r\n\r\n @if (item.children?.length) {\r\n <ul\r\n class=\"lpx-inner-menu hidden-in-hover-trigger\"\r\n [class.collapsed]=\"!item.expanded\"\r\n >\r\n @for (child of item.children; track item.children) {\r\n <li\r\n class=\"lpx-inner-menu-item\"\r\n *lpxVisible=\"!child.visible || child.visible(child, injector)\"\r\n >\r\n <lpx-sub-navbar\r\n [item]=\"child\"\r\n (routeClick)=\"this.routeClick.emit($event)\"\r\n (expand)=\"onChildExpand($event)\"\r\n ></lpx-sub-navbar>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n</ng-template>\r\n" }]
57
+ }], propDecorators: { item: [{
59
58
  type: Input
60
59
  }], routeClick: [{
61
60
  type: Output
62
61
  }], expand: [{
63
62
  type: Output
64
63
  }] } });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViLW5hdmJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2xlcHRvbi14LWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL25hdmJhci9zdWItbmF2YmFyL3N1Yi1uYXZiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9sZXB0b24teC1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9uYXZiYXIvc3ViLW5hdmJhci9zdWItbmF2YmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFFBQVEsRUFDUixLQUFLLEVBQ0wsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFCLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7QUFRbkQsTUFBTSxPQUFPLGtCQUFrQjtJQVU3QixZQUE0QixRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBSHBDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQUMvQyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUM7SUFFSixDQUFDO0lBRWxELFdBQVcsQ0FBQyxRQUF1QjtRQUNqQyxJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkIsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2pDLE9BQU8sR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0IsQ0FBQztRQUNELE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDekMsSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDWCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDbEMsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFvQjtRQUNoQyxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsSUFBSSxFQUFFLFFBQVE7Z0JBQ2pCLEVBQUUsTUFBTSxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxVQUFVLEtBQUssS0FBSyxDQUFDO2lCQUM3QyxPQUFPLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtnQkFDdEIsVUFBVSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7Z0JBQzVCLFVBQVUsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1lBQzlCLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztJQUNILENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxRQUF1QjtRQUM5QyxJQUFJLFFBQVEsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDOUIsUUFBUSxDQUFDLFFBQVEsR0FBRyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7WUFDdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDM0IsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3JCLFFBQVEsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQzNCLENBQUM7SUFDSCxDQUFDOzhHQTlDVSxrQkFBa0I7a0dBQWxCLGtCQUFrQixtS0NsQi9CLHMrREE2REEsaTFDRDNDYSxrQkFBa0I7OzJGQUFsQixrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0UsZ0JBQWdCLGlCQUVYLGlCQUFpQixDQUFDLElBQUk7NkVBSXJDLElBQUk7c0JBREgsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBR0ksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5qZWN0b3IsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBnZXRTdHJlYW0kIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvY29tbW9uJztcclxuaW1wb3J0IHsgTHB4TmF2YmFySXRlbSB9IGZyb20gJy4uL21vZGVscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xweC1zdWItbmF2YmFyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc3ViLW5hdmJhci5jb21wb25lbnQuaHRtbCcsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFN1Yk5hdmJhckNvbXBvbmVudCB7XHJcbiAgQElucHV0KClcclxuICBpdGVtITogTHB4TmF2YmFySXRlbTtcclxuXHJcbiAgQElucHV0KClcclxuICByb3V0ZXJJdGVtITogYm9vbGVhbjtcclxuXHJcbiAgQE91dHB1dCgpIHJvdXRlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPExweE5hdmJhckl0ZW0+KCk7XHJcbiAgQE91dHB1dCgpIGV4cGFuZCA9IG5ldyBFdmVudEVtaXR0ZXI8THB4TmF2YmFySXRlbT4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3Rvcikge31cclxuXHJcbiAgb25JdGVtQ2xpY2sobWVudUl0ZW06IExweE5hdmJhckl0ZW0pOiB2b2lkIHtcclxuICAgIGxldCBhY3Rpb24kID0gb2YodHJ1ZSk7XHJcbiAgICBpZiAobWVudUl0ZW0uYWN0aW9uKSB7XHJcbiAgICAgIGNvbnN0IHJlc3VsdCA9IG1lbnVJdGVtLmFjdGlvbigpO1xyXG4gICAgICBhY3Rpb24kID0gZ2V0U3RyZWFtJChyZXN1bHQpO1xyXG4gICAgfVxyXG4gICAgYWN0aW9uJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgICB0aGlzLnByb2Nlc3NJdGVtQ2xpY2sobWVudUl0ZW0pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uQ2hpbGRFeHBhbmQoY2hpbGQ6IExweE5hdmJhckl0ZW0pOiB2b2lkIHtcclxuICAgIGlmIChjaGlsZC5leHBhbmRlZCkge1xyXG4gICAgICB0aGlzLml0ZW0/LmNoaWxkcmVuXHJcbiAgICAgICAgPy5maWx0ZXIoKG90aGVyQ2hpbGQpID0+IG90aGVyQ2hpbGQgIT09IGNoaWxkKVxyXG4gICAgICAgIC5mb3JFYWNoKChvdGhlckNoaWxkKSA9PiB7XHJcbiAgICAgICAgICBvdGhlckNoaWxkLmV4cGFuZGVkID0gZmFsc2U7XHJcbiAgICAgICAgICBvdGhlckNoaWxkLnNlbGVjdGVkID0gZmFsc2U7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHByb2Nlc3NJdGVtQ2xpY2sobWVudUl0ZW06IExweE5hdmJhckl0ZW0pOiB2b2lkIHtcclxuICAgIGlmIChtZW51SXRlbS5jaGlsZHJlbj8ubGVuZ3RoKSB7XHJcbiAgICAgIG1lbnVJdGVtLmV4cGFuZGVkID0gIW1lbnVJdGVtLmV4cGFuZGVkO1xyXG4gICAgICB0aGlzLmV4cGFuZC5lbWl0KG1lbnVJdGVtKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5yb3V0ZUNsaWNrLmVtaXQobWVudUl0ZW0pO1xyXG4gICAgaWYgKCF0aGlzLnJvdXRlckl0ZW0pIHtcclxuICAgICAgbWVudUl0ZW0uc2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS5jb21wb25lbnQ7IGVsc2UgZGVmYXVsdFRlbXBsYXRlXCI+XHJcbiAgPG5nLWNvbnRhaW5lclxyXG4gICAgKm5nQ29tcG9uZW50T3V0bGV0PVwiaXRlbS5jb21wb25lbnQ7IGluamVjdG9yOiBpbmplY3RvclwiXHJcbiAgPjwvbmctY29udGFpbmVyPlxyXG48L25nLWNvbnRhaW5lcj5cclxuPG5nLXRlbXBsYXRlICNkZWZhdWx0VGVtcGxhdGU+XHJcbiAgPGFcclxuICAgICpuZ0lmPVwiIWl0ZW0uY29tcG9uZW50XCJcclxuICAgIGNsYXNzPVwibHB4LW1lbnUtaXRlbS1saW5rXCJcclxuICAgIFtyb3V0ZXJMaW5rXT1cIml0ZW0ubGlua1wiXHJcbiAgICBbcm91dGVyTGlua0FjdGl2ZV09XCJpdGVtLmxpbmsgPyAnc2VsZWN0ZWQnIDogJydcIlxyXG4gICAgW2NsYXNzLnNlbGVjdGVkXT1cIlxyXG4gICAgICAoaXRlbS5jaGlsZHJlbj8ubGVuZ3RoICYmIGl0ZW0uZXhwYW5kZWQpIHx8ICghcm91dGVySXRlbSAmJiBpdGVtLnNlbGVjdGVkICYmICEhaXRlbS5saW5rKVxyXG4gICAgXCJcclxuICAgIFtyb3V0ZXJMaW5rQWN0aXZlT3B0aW9uc109XCJ7IGV4YWN0OiB0cnVlIH1cIlxyXG4gICAgKGNsaWNrKT1cIm9uSXRlbUNsaWNrKGl0ZW0pXCJcclxuICA+XHJcbiAgICA8bHB4LWljb25cclxuICAgICAgY2xhc3M9XCJscHgtbWVudS1pdGVtLWljb25cIlxyXG4gICAgICAqbmdJZj1cIml0ZW0uaWNvblwiXHJcbiAgICAgIFtpY29uQ2xhc3NdPVwiaXRlbS5pY29uXCJcclxuICAgID48L2xweC1pY29uPlxyXG4gICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxyXG4gICAgICAgIGl0ZW0udGVtcGxhdGUgfHwgdGV4dFRtcGw7XHJcbiAgICAgICAgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0gfVxyXG4gICAgICBcIlxyXG4gICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLXRlbXBsYXRlICN0ZXh0VG1wbD5cclxuICAgICAgPHNwYW5cclxuICAgICAgICBjbGFzcz1cImxweC1tZW51LWl0ZW0tdGV4dCBoaWRkZW4taW4taG92ZXItdHJpZ2dlclwiXHJcbiAgICAgICAgKm5nSWY9XCJpdGVtLnRleHRcIlxyXG4gICAgICAgID57eyBpdGVtLnRleHQgfCBscHhUcmFuc2xhdGUgfCBhc3luYyB9fTwvc3BhblxyXG4gICAgICA+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgIDxscHgtaWNvblxyXG4gICAgICAqbmdJZj1cIml0ZW0uY2hpbGRyZW4gJiYgaXRlbS5jaGlsZHJlbi5sZW5ndGhcIlxyXG4gICAgICBbaWNvbkNsYXNzXT1cIml0ZW0uZXhwYW5kZWQgPyAnY2hldnJvblVwJyA6ICdjaGV2cm9uRG93bidcIlxyXG4gICAgICBjbGFzcz1cImRkLWljb24gaGlkZGVuLWluLWhvdmVyLXRyaWdnZXJcIlxyXG4gICAgPlxyXG4gICAgPC9scHgtaWNvbj5cclxuICA8L2E+XHJcbiAgPHVsXHJcbiAgICBjbGFzcz1cImxweC1pbm5lci1tZW51IGhpZGRlbi1pbi1ob3Zlci10cmlnZ2VyXCJcclxuICAgIFtjbGFzcy5jb2xsYXBzZWRdPVwiIWl0ZW0uZXhwYW5kZWRcIlxyXG4gICAgKm5nSWY9XCJpdGVtLmNoaWxkcmVuICYmIGl0ZW0uY2hpbGRyZW4ubGVuZ3RoXCJcclxuICA+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjaGlsZCBvZiBpdGVtLmNoaWxkcmVuXCI+XHJcbiAgICAgIDxsaVxyXG4gICAgICAgIGNsYXNzPVwibHB4LWlubmVyLW1lbnUtaXRlbVwiXHJcbiAgICAgICAgKmxweFZpc2libGU9XCIhY2hpbGQudmlzaWJsZSB8fCBjaGlsZC52aXNpYmxlKGNoaWxkLCBpbmplY3RvcilcIj5cclxuICAgICAgICA8bHB4LXN1Yi1uYXZiYXJcclxuICAgICAgICAgIFtpdGVtXT1cImNoaWxkXCJcclxuICAgICAgICAgIChyb3V0ZUNsaWNrKT1cInRoaXMucm91dGVDbGljay5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgKGV4cGFuZCk9XCJvbkNoaWxkRXhwYW5kKCRldmVudClcIlxyXG4gICAgICAgID48L2xweC1zdWItbmF2YmFyPlxyXG4gICAgICA8L2xpPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC91bD5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViLW5hdmJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2xlcHRvbi14LWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL25hdmJhci9zdWItbmF2YmFyL3N1Yi1uYXZiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9sZXB0b24teC1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9uYXZiYXIvc3ViLW5hdmJhci9zdWItbmF2YmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixRQUFRLEVBQ1IsS0FBSyxFQUNMLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUIsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7OztBQVFuRCxNQUFNLE9BQU8sa0JBQWtCO0lBTC9CO1FBTXFCLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFJL0MsZUFBVSxHQUFHLEtBQUssRUFBVyxDQUFDO1FBRXBCLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQUMvQyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUM7S0FxQ3REO0lBbkNDLFdBQVcsQ0FBQyxRQUF1QjtRQUNqQyxJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkIsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2pDLE9BQU8sR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0IsQ0FBQztRQUNELE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDekMsSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDWCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDbEMsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFvQjtRQUNoQyxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsSUFBSSxFQUFFLFFBQVE7Z0JBQ2pCLEVBQUUsTUFBTSxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxVQUFVLEtBQUssS0FBSyxDQUFDO2lCQUM3QyxPQUFPLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtnQkFDdEIsVUFBVSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7Z0JBQzVCLFVBQVUsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1lBQzlCLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztJQUNILENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxRQUF1QjtRQUM5QyxJQUFJLFFBQVEsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDOUIsUUFBUSxDQUFDLFFBQVEsR0FBRyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7WUFDdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDM0IsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7WUFDdkIsUUFBUSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDM0IsQ0FBQztJQUNILENBQUM7OEdBNUNVLGtCQUFrQjtrR0FBbEIsa0JBQWtCLHdYQ3BCL0IsZzNEQStEQSxtL0JEM0NhLGtCQUFrQjs7MkZBQWxCLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDRSxnQkFBZ0IsaUJBRVgsaUJBQWlCLENBQUMsSUFBSTs4QkFLNUIsSUFBSTtzQkFBWixLQUFLO2dCQUlJLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIGluamVjdCxcclxuICBJbmplY3RvcixcclxuICBpbnB1dCxcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IGdldFN0cmVhbSQgfSBmcm9tICcuLi8uLi8uLi91dGlscy9jb21tb24nO1xyXG5pbXBvcnQgeyBMcHhOYXZiYXJJdGVtIH0gZnJvbSAnLi4vbW9kZWxzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbHB4LXN1Yi1uYXZiYXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zdWItbmF2YmFyLmNvbXBvbmVudC5odG1sJyxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3ViTmF2YmFyQ29tcG9uZW50IHtcclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xyXG5cclxuICBASW5wdXQoKSBpdGVtITogTHB4TmF2YmFySXRlbTtcclxuXHJcbiAgcm91dGVySXRlbSA9IGlucHV0PGJvb2xlYW4+KCk7XHJcblxyXG4gIEBPdXRwdXQoKSByb3V0ZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxMcHhOYXZiYXJJdGVtPigpO1xyXG4gIEBPdXRwdXQoKSBleHBhbmQgPSBuZXcgRXZlbnRFbWl0dGVyPExweE5hdmJhckl0ZW0+KCk7XHJcblxyXG4gIG9uSXRlbUNsaWNrKG1lbnVJdGVtOiBMcHhOYXZiYXJJdGVtKTogdm9pZCB7XHJcbiAgICBsZXQgYWN0aW9uJCA9IG9mKHRydWUpO1xyXG4gICAgaWYgKG1lbnVJdGVtLmFjdGlvbikge1xyXG4gICAgICBjb25zdCByZXN1bHQgPSBtZW51SXRlbS5hY3Rpb24oKTtcclxuICAgICAgYWN0aW9uJCA9IGdldFN0cmVhbSQocmVzdWx0KTtcclxuICAgIH1cclxuICAgIGFjdGlvbiQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICBpZiAocmVzdWx0KSB7XHJcbiAgICAgICAgdGhpcy5wcm9jZXNzSXRlbUNsaWNrKG1lbnVJdGVtKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvbkNoaWxkRXhwYW5kKGNoaWxkOiBMcHhOYXZiYXJJdGVtKTogdm9pZCB7XHJcbiAgICBpZiAoY2hpbGQuZXhwYW5kZWQpIHtcclxuICAgICAgdGhpcy5pdGVtPy5jaGlsZHJlblxyXG4gICAgICAgID8uZmlsdGVyKChvdGhlckNoaWxkKSA9PiBvdGhlckNoaWxkICE9PSBjaGlsZClcclxuICAgICAgICAuZm9yRWFjaCgob3RoZXJDaGlsZCkgPT4ge1xyXG4gICAgICAgICAgb3RoZXJDaGlsZC5leHBhbmRlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgb3RoZXJDaGlsZC5zZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBwcm9jZXNzSXRlbUNsaWNrKG1lbnVJdGVtOiBMcHhOYXZiYXJJdGVtKTogdm9pZCB7XHJcbiAgICBpZiAobWVudUl0ZW0uY2hpbGRyZW4/Lmxlbmd0aCkge1xyXG4gICAgICBtZW51SXRlbS5leHBhbmRlZCA9ICFtZW51SXRlbS5leHBhbmRlZDtcclxuICAgICAgdGhpcy5leHBhbmQuZW1pdChtZW51SXRlbSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMucm91dGVDbGljay5lbWl0KG1lbnVJdGVtKTtcclxuICAgIGlmICghdGhpcy5yb3V0ZXJJdGVtKCkpIHtcclxuICAgICAgbWVudUl0ZW0uc2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJAaWYgKGl0ZW0uY29tcG9uZW50KSB7XHJcbiAgPG5nLWNvbnRhaW5lclxyXG4gICAgKm5nQ29tcG9uZW50T3V0bGV0PVwiaXRlbS5jb21wb25lbnQ7IGluamVjdG9yOiBpbmplY3RvclwiXHJcbiAgPjwvbmctY29udGFpbmVyPlxyXG59IEBlbHNlIHtcclxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGVmYXVsdFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbn1cclxuPG5nLXRlbXBsYXRlICNkZWZhdWx0VGVtcGxhdGU+XHJcbiAgPGFcclxuICAgIGNsYXNzPVwibHB4LW1lbnUtaXRlbS1saW5rXCJcclxuICAgIFtyb3V0ZXJMaW5rXT1cIml0ZW0ubGlua1wiXHJcbiAgICBbY2xhc3Muc2VsZWN0ZWRdPVwiaXRlbS5zZWxlY3RlZFwiXHJcbiAgICBbY2xhc3MuZXhwYW5kZWRdPVwiaXRlbS5jaGlsZHJlbj8ubGVuZ3RoICYmIGl0ZW0uZXhwYW5kZWRcIlxyXG4gICAgKGNsaWNrKT1cIm9uSXRlbUNsaWNrKGl0ZW0pXCJcclxuICA+XHJcbiAgICA8bHB4LWljb25cclxuICAgICAgY2xhc3M9XCJscHgtbWVudS1pdGVtLWljb25cIlxyXG4gICAgICAqbmdJZj1cIml0ZW0uaWNvblwiXHJcbiAgICAgIFtpY29uQ2xhc3NdPVwiaXRlbS5pY29uXCJcclxuICAgID48L2xweC1pY29uPlxyXG4gICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxyXG4gICAgICAgIGl0ZW0udGVtcGxhdGUgfHwgdGV4dFRtcGw7XHJcbiAgICAgICAgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0gfVxyXG4gICAgICBcIlxyXG4gICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLXRlbXBsYXRlICN0ZXh0VG1wbD5cclxuICAgICAgQGlmIChpdGVtLnRleHQpIHtcclxuICAgICAgICA8c3BhbiBjbGFzcz1cImxweC1tZW51LWl0ZW0tdGV4dCBoaWRkZW4taW4taG92ZXItdHJpZ2dlclwiPnt7XHJcbiAgICAgICAgICBpdGVtLnRleHQgfCBscHhUcmFuc2xhdGUgfCBhc3luY1xyXG4gICAgICAgIH19PC9zcGFuPlxyXG4gICAgICB9XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgIEBpZiAoaXRlbS5jaGlsZHJlbj8ubGVuZ3RoKSB7XHJcbiAgICAgIDxscHgtaWNvblxyXG4gICAgICAgIFtpY29uQ2xhc3NdPVwiaXRlbS5leHBhbmRlZCA/ICdjaGV2cm9uVXAnIDogJ2NoZXZyb25Eb3duJ1wiXHJcbiAgICAgICAgY2xhc3M9XCJkZC1pY29uIGhpZGRlbi1pbi1ob3Zlci10cmlnZ2VyXCJcclxuICAgICAgPlxyXG4gICAgICA8L2xweC1pY29uPlxyXG4gICAgfVxyXG4gIDwvYT5cclxuXHJcbiAgQGlmIChpdGVtLmNoaWxkcmVuPy5sZW5ndGgpIHtcclxuICAgIDx1bFxyXG4gICAgICBjbGFzcz1cImxweC1pbm5lci1tZW51IGhpZGRlbi1pbi1ob3Zlci10cmlnZ2VyXCJcclxuICAgICAgW2NsYXNzLmNvbGxhcHNlZF09XCIhaXRlbS5leHBhbmRlZFwiXHJcbiAgICA+XHJcbiAgICAgIEBmb3IgKGNoaWxkIG9mIGl0ZW0uY2hpbGRyZW47IHRyYWNrIGl0ZW0uY2hpbGRyZW4pIHtcclxuICAgICAgICA8bGlcclxuICAgICAgICAgIGNsYXNzPVwibHB4LWlubmVyLW1lbnUtaXRlbVwiXHJcbiAgICAgICAgICAqbHB4VmlzaWJsZT1cIiFjaGlsZC52aXNpYmxlIHx8IGNoaWxkLnZpc2libGUoY2hpbGQsIGluamVjdG9yKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGxweC1zdWItbmF2YmFyXHJcbiAgICAgICAgICAgIFtpdGVtXT1cImNoaWxkXCJcclxuICAgICAgICAgICAgKHJvdXRlQ2xpY2spPVwidGhpcy5yb3V0ZUNsaWNrLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIChleHBhbmQpPVwib25DaGlsZEV4cGFuZCgkZXZlbnQpXCJcclxuICAgICAgICAgID48L2xweC1zdWItbmF2YmFyPlxyXG4gICAgICAgIDwvbGk+XHJcbiAgICAgIH1cclxuICAgIDwvdWw+XHJcbiAgfVxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
@@ -6,4 +6,5 @@ export * from './translate/index';
6
6
  export * from './auth/index';
7
7
  export * from './local-storage/index';
8
8
  export * from './perfect-scrollbar.service';
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2xlcHRvbi14LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9sYW5ndWFnZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdXNlci1wcm9maWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9ib2R5JztcclxuZXhwb3J0ICogZnJvbSAnLi9sYXlvdXQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3RyYW5zbGF0ZS9pbmRleCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vYXV0aC9pbmRleCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbG9jYWwtc3RvcmFnZS9pbmRleCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcGVyZmVjdC1zY3JvbGxiYXIuc2VydmljZSc7XHJcbiJdfQ==
9
+ export * from './route';
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2xlcHRvbi14LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9sYW5ndWFnZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdXNlci1wcm9maWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9ib2R5JztcclxuZXhwb3J0ICogZnJvbSAnLi9sYXlvdXQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3RyYW5zbGF0ZS9pbmRleCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vYXV0aC9pbmRleCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbG9jYWwtc3RvcmFnZS9pbmRleCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcGVyZmVjdC1zY3JvbGxiYXIuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcm91dGUnO1xyXG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './routes.service';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2xlcHRvbi14LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9yb3V0ZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9yb3V0ZXMuc2VydmljZSc7XHJcbiJdfQ==
@@ -0,0 +1,22 @@
1
+ import { toSignal } from '@angular/core/rxjs-interop';
2
+ import { Injectable, inject } from '@angular/core';
3
+ import { NavigationEnd, Router } from '@angular/router';
4
+ import { filter, map } from 'rxjs/operators';
5
+ import * as i0 from "@angular/core";
6
+ export class RoutesService {
7
+ constructor() {
8
+ this.router = inject(Router);
9
+ this.currentNavigation = toSignal(this.router.events.pipe(filter((e) => e instanceof NavigationEnd),
10
+ //TODO: location object might be problem in the future for SSR
11
+ map(() => location.pathname)), { initialValue: location.pathname });
12
+ }
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: RoutesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
14
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: RoutesService, providedIn: 'root' }); }
15
+ }
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: RoutesService, decorators: [{
17
+ type: Injectable,
18
+ args: [{
19
+ providedIn: 'root',
20
+ }]
21
+ }] });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2xlcHRvbi14LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9yb3V0ZS9yb3V0ZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUs3QyxNQUFNLE9BQU8sYUFBYTtJQUgxQjtRQUlxQixXQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRWxDLHNCQUFpQixHQUFHLFFBQVEsQ0FDbkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNyQixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsWUFBWSxhQUFhLENBQUM7UUFDekMsOERBQThEO1FBQzlELEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQzdCLEVBQ0QsRUFBRSxZQUFZLEVBQUUsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUNwQyxDQUFDO0tBQ0g7OEdBWFksYUFBYTtrSEFBYixhQUFhLGNBRlosTUFBTTs7MkZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IGZpbHRlciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJvdXRlc1NlcnZpY2Uge1xyXG4gIHByb3RlY3RlZCByZWFkb25seSByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcclxuXHJcbiAgcmVhZG9ubHkgY3VycmVudE5hdmlnYXRpb24gPSB0b1NpZ25hbChcclxuICAgIHRoaXMucm91dGVyLmV2ZW50cy5waXBlKFxyXG4gICAgICBmaWx0ZXIoKGUpID0+IGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSxcclxuICAgICAgLy9UT0RPOiBsb2NhdGlvbiBvYmplY3QgbWlnaHQgYmUgcHJvYmxlbSBpbiB0aGUgZnV0dXJlIGZvciBTU1JcclxuICAgICAgbWFwKCgpID0+IGxvY2F0aW9uLnBhdGhuYW1lKSxcclxuICAgICksXHJcbiAgICB7IGluaXRpYWxWYWx1ZTogbG9jYXRpb24ucGF0aG5hbWUgfSxcclxuICApO1xyXG59XHJcbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, InjectionToken, Injectable, Inject, NgModule, Component, ViewEncapsulation, Input, Directive, Optional, Pipe, EventEmitter, Output, PLATFORM_ID, Injector, TemplateRef, ContentChild, SecurityContext, HostListener, APP_INITIALIZER, SkipSelf, ElementRef } from '@angular/core';
2
+ import { inject, InjectionToken, Injectable, Inject, NgModule, Component, ViewEncapsulation, Input, Directive, Optional, Pipe, Injector, input, EventEmitter, Output, effect, PLATFORM_ID, TemplateRef, ContentChild, SecurityContext, HostListener, APP_INITIALIZER, SkipSelf, ElementRef } from '@angular/core';
3
3
  import * as i2 from '@angular/router';
4
4
  import { Router, RouterModule, NavigationEnd, NavigationError, NavigationCancel } from '@angular/router';
5
5
  import * as i1 from '@angular/common';
@@ -7,6 +7,7 @@ import { CommonModule, isPlatformBrowser, DOCUMENT } from '@angular/common';
7
7
  import { map, distinctUntilChanged, filter, take, tap, switchMap, startWith, distinctUntilKeyChanged } from 'rxjs/operators';
8
8
  import { BehaviorSubject, Subject, Observable, from, of, EMPTY, filter as filter$1, map as map$1, combineLatest, fromEvent, Subscription } from 'rxjs';
9
9
  import { FormsModule } from '@angular/forms';
10
+ import { toSignal } from '@angular/core/rxjs-interop';
10
11
  import PerfectScrollbar from 'perfect-scrollbar';
11
12
  import { DomSanitizer } from '@angular/platform-browser';
12
13
 
@@ -521,6 +522,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
521
522
  }]
522
523
  }], ctorParameters: () => [{ type: i0.TemplateRef }] });
523
524
 
525
+ class RoutesService {
526
+ constructor() {
527
+ this.router = inject(Router);
528
+ this.currentNavigation = toSignal(this.router.events.pipe(filter((e) => e instanceof NavigationEnd),
529
+ //TODO: location object might be problem in the future for SSR
530
+ map(() => location.pathname)), { initialValue: location.pathname });
531
+ }
532
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: RoutesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
533
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: RoutesService, providedIn: 'root' }); }
534
+ }
535
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: RoutesService, decorators: [{
536
+ type: Injectable,
537
+ args: [{
538
+ providedIn: 'root',
539
+ }]
540
+ }] });
541
+
524
542
  class LpxVisibleDirective {
525
543
  set lpxVisible(value) {
526
544
  this.condition$ = checkType(value);
@@ -779,8 +797,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
779
797
  }], ctorParameters: () => [{ type: LpxThemeTranslateService }] });
780
798
 
781
799
  class SubNavbarComponent {
782
- constructor(injector) {
783
- this.injector = injector;
800
+ constructor() {
801
+ this.injector = inject(Injector);
802
+ this.routerItem = input();
784
803
  this.routeClick = new EventEmitter();
785
804
  this.expand = new EventEmitter();
786
805
  }
@@ -813,19 +832,17 @@ class SubNavbarComponent {
813
832
  return;
814
833
  }
815
834
  this.routeClick.emit(menuItem);
816
- if (!this.routerItem) {
835
+ if (!this.routerItem()) {
817
836
  menuItem.selected = true;
818
837
  }
819
838
  }
820
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SubNavbarComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
821
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: SubNavbarComponent, selector: "lpx-sub-navbar", inputs: { item: "item", routerItem: "routerItem" }, outputs: { routeClick: "routeClick", expand: "expand" }, ngImport: i0, template: "<ng-container *ngIf=\"item.component; else defaultTemplate\">\r\n <ng-container\r\n *ngComponentOutlet=\"item.component; injector: injector\"\r\n ></ng-container>\r\n</ng-container>\r\n<ng-template #defaultTemplate>\r\n <a\r\n *ngIf=\"!item.component\"\r\n class=\"lpx-menu-item-link\"\r\n [routerLink]=\"item.link\"\r\n [routerLinkActive]=\"item.link ? 'selected' : ''\"\r\n [class.selected]=\"\r\n (item.children?.length && item.expanded) || (!routerItem && item.selected && !!item.link)\r\n \"\r\n [routerLinkActiveOptions]=\"{ exact: true }\"\r\n (click)=\"onItemClick(item)\"\r\n >\r\n <lpx-icon\r\n class=\"lpx-menu-item-icon\"\r\n *ngIf=\"item.icon\"\r\n [iconClass]=\"item.icon\"\r\n ></lpx-icon>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n item.template || textTmpl;\r\n context: { $implicit: item }\r\n \"\r\n ></ng-container>\r\n <ng-template #textTmpl>\r\n <span\r\n class=\"lpx-menu-item-text hidden-in-hover-trigger\"\r\n *ngIf=\"item.text\"\r\n >{{ item.text | lpxTranslate | async }}</span\r\n >\r\n </ng-template>\r\n\r\n <lpx-icon\r\n *ngIf=\"item.children && item.children.length\"\r\n [iconClass]=\"item.expanded ? 'chevronUp' : 'chevronDown'\"\r\n class=\"dd-icon hidden-in-hover-trigger\"\r\n >\r\n </lpx-icon>\r\n </a>\r\n <ul\r\n class=\"lpx-inner-menu hidden-in-hover-trigger\"\r\n [class.collapsed]=\"!item.expanded\"\r\n *ngIf=\"item.children && item.children.length\"\r\n >\r\n <ng-container *ngFor=\"let child of item.children\">\r\n <li\r\n class=\"lpx-inner-menu-item\"\r\n *lpxVisible=\"!child.visible || child.visible(child, injector)\">\r\n <lpx-sub-navbar\r\n [item]=\"child\"\r\n (routeClick)=\"this.routeClick.emit($event)\"\r\n (expand)=\"onChildExpand($event)\"\r\n ></lpx-sub-navbar>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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: "directive", type: i2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: IconComponent, selector: "lpx-icon", inputs: ["iconClass"] }, { kind: "directive", type: LpxVisibleDirective, selector: "[lpxVisible]", inputs: ["lpxVisible"] }, { kind: "component", type: SubNavbarComponent, selector: "lpx-sub-navbar", inputs: ["item", "routerItem"], outputs: ["routeClick", "expand"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "lpxTranslate" }], encapsulation: i0.ViewEncapsulation.None }); }
839
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SubNavbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
840
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: SubNavbarComponent, selector: "lpx-sub-navbar", inputs: { item: { classPropertyName: "item", publicName: "item", isSignal: false, isRequired: false, transformFunction: null }, routerItem: { classPropertyName: "routerItem", publicName: "routerItem", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { routeClick: "routeClick", expand: "expand" }, ngImport: i0, template: "@if (item.component) {\r\n <ng-container\r\n *ngComponentOutlet=\"item.component; injector: injector\"\r\n ></ng-container>\r\n} @else {\r\n <ng-container *ngTemplateOutlet=\"defaultTemplate\"></ng-container>\r\n}\r\n<ng-template #defaultTemplate>\r\n <a\r\n class=\"lpx-menu-item-link\"\r\n [routerLink]=\"item.link\"\r\n [class.selected]=\"item.selected\"\r\n [class.expanded]=\"item.children?.length && item.expanded\"\r\n (click)=\"onItemClick(item)\"\r\n >\r\n <lpx-icon\r\n class=\"lpx-menu-item-icon\"\r\n *ngIf=\"item.icon\"\r\n [iconClass]=\"item.icon\"\r\n ></lpx-icon>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n item.template || textTmpl;\r\n context: { $implicit: item }\r\n \"\r\n ></ng-container>\r\n <ng-template #textTmpl>\r\n @if (item.text) {\r\n <span class=\"lpx-menu-item-text hidden-in-hover-trigger\">{{\r\n item.text | lpxTranslate | async\r\n }}</span>\r\n }\r\n </ng-template>\r\n\r\n @if (item.children?.length) {\r\n <lpx-icon\r\n [iconClass]=\"item.expanded ? 'chevronUp' : 'chevronDown'\"\r\n class=\"dd-icon hidden-in-hover-trigger\"\r\n >\r\n </lpx-icon>\r\n }\r\n </a>\r\n\r\n @if (item.children?.length) {\r\n <ul\r\n class=\"lpx-inner-menu hidden-in-hover-trigger\"\r\n [class.collapsed]=\"!item.expanded\"\r\n >\r\n @for (child of item.children; track item.children) {\r\n <li\r\n class=\"lpx-inner-menu-item\"\r\n *lpxVisible=\"!child.visible || child.visible(child, injector)\"\r\n >\r\n <lpx-sub-navbar\r\n [item]=\"child\"\r\n (routeClick)=\"this.routeClick.emit($event)\"\r\n (expand)=\"onChildExpand($event)\"\r\n ></lpx-sub-navbar>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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: IconComponent, selector: "lpx-icon", inputs: ["iconClass"] }, { kind: "directive", type: LpxVisibleDirective, selector: "[lpxVisible]", inputs: ["lpxVisible"] }, { kind: "component", type: SubNavbarComponent, selector: "lpx-sub-navbar", inputs: ["item", "routerItem"], outputs: ["routeClick", "expand"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "lpxTranslate" }], encapsulation: i0.ViewEncapsulation.None }); }
822
841
  }
823
842
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SubNavbarComponent, decorators: [{
824
843
  type: Component,
825
- args: [{ selector: 'lpx-sub-navbar', encapsulation: ViewEncapsulation.None, template: "<ng-container *ngIf=\"item.component; else defaultTemplate\">\r\n <ng-container\r\n *ngComponentOutlet=\"item.component; injector: injector\"\r\n ></ng-container>\r\n</ng-container>\r\n<ng-template #defaultTemplate>\r\n <a\r\n *ngIf=\"!item.component\"\r\n class=\"lpx-menu-item-link\"\r\n [routerLink]=\"item.link\"\r\n [routerLinkActive]=\"item.link ? 'selected' : ''\"\r\n [class.selected]=\"\r\n (item.children?.length && item.expanded) || (!routerItem && item.selected && !!item.link)\r\n \"\r\n [routerLinkActiveOptions]=\"{ exact: true }\"\r\n (click)=\"onItemClick(item)\"\r\n >\r\n <lpx-icon\r\n class=\"lpx-menu-item-icon\"\r\n *ngIf=\"item.icon\"\r\n [iconClass]=\"item.icon\"\r\n ></lpx-icon>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n item.template || textTmpl;\r\n context: { $implicit: item }\r\n \"\r\n ></ng-container>\r\n <ng-template #textTmpl>\r\n <span\r\n class=\"lpx-menu-item-text hidden-in-hover-trigger\"\r\n *ngIf=\"item.text\"\r\n >{{ item.text | lpxTranslate | async }}</span\r\n >\r\n </ng-template>\r\n\r\n <lpx-icon\r\n *ngIf=\"item.children && item.children.length\"\r\n [iconClass]=\"item.expanded ? 'chevronUp' : 'chevronDown'\"\r\n class=\"dd-icon hidden-in-hover-trigger\"\r\n >\r\n </lpx-icon>\r\n </a>\r\n <ul\r\n class=\"lpx-inner-menu hidden-in-hover-trigger\"\r\n [class.collapsed]=\"!item.expanded\"\r\n *ngIf=\"item.children && item.children.length\"\r\n >\r\n <ng-container *ngFor=\"let child of item.children\">\r\n <li\r\n class=\"lpx-inner-menu-item\"\r\n *lpxVisible=\"!child.visible || child.visible(child, injector)\">\r\n <lpx-sub-navbar\r\n [item]=\"child\"\r\n (routeClick)=\"this.routeClick.emit($event)\"\r\n (expand)=\"onChildExpand($event)\"\r\n ></lpx-sub-navbar>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n</ng-template>\r\n" }]
826
- }], ctorParameters: () => [{ type: i0.Injector }], propDecorators: { item: [{
827
- type: Input
828
- }], routerItem: [{
844
+ args: [{ selector: 'lpx-sub-navbar', encapsulation: ViewEncapsulation.None, template: "@if (item.component) {\r\n <ng-container\r\n *ngComponentOutlet=\"item.component; injector: injector\"\r\n ></ng-container>\r\n} @else {\r\n <ng-container *ngTemplateOutlet=\"defaultTemplate\"></ng-container>\r\n}\r\n<ng-template #defaultTemplate>\r\n <a\r\n class=\"lpx-menu-item-link\"\r\n [routerLink]=\"item.link\"\r\n [class.selected]=\"item.selected\"\r\n [class.expanded]=\"item.children?.length && item.expanded\"\r\n (click)=\"onItemClick(item)\"\r\n >\r\n <lpx-icon\r\n class=\"lpx-menu-item-icon\"\r\n *ngIf=\"item.icon\"\r\n [iconClass]=\"item.icon\"\r\n ></lpx-icon>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n item.template || textTmpl;\r\n context: { $implicit: item }\r\n \"\r\n ></ng-container>\r\n <ng-template #textTmpl>\r\n @if (item.text) {\r\n <span class=\"lpx-menu-item-text hidden-in-hover-trigger\">{{\r\n item.text | lpxTranslate | async\r\n }}</span>\r\n }\r\n </ng-template>\r\n\r\n @if (item.children?.length) {\r\n <lpx-icon\r\n [iconClass]=\"item.expanded ? 'chevronUp' : 'chevronDown'\"\r\n class=\"dd-icon hidden-in-hover-trigger\"\r\n >\r\n </lpx-icon>\r\n }\r\n </a>\r\n\r\n @if (item.children?.length) {\r\n <ul\r\n class=\"lpx-inner-menu hidden-in-hover-trigger\"\r\n [class.collapsed]=\"!item.expanded\"\r\n >\r\n @for (child of item.children; track item.children) {\r\n <li\r\n class=\"lpx-inner-menu-item\"\r\n *lpxVisible=\"!child.visible || child.visible(child, injector)\"\r\n >\r\n <lpx-sub-navbar\r\n [item]=\"child\"\r\n (routeClick)=\"this.routeClick.emit($event)\"\r\n (expand)=\"onChildExpand($event)\"\r\n ></lpx-sub-navbar>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n</ng-template>\r\n" }]
845
+ }], propDecorators: { item: [{
829
846
  type: Input
830
847
  }], routeClick: [{
831
848
  type: Output
@@ -840,10 +857,13 @@ class NavbarRoutesComponent {
840
857
  }
841
858
  return getItemsFromGroup(this.groupedItems);
842
859
  }
843
- constructor(injector) {
844
- this.injector = injector;
860
+ constructor() {
861
+ this.injector = inject(Injector);
862
+ this.routesService = inject(RoutesService);
863
+ this.routerItem = input();
845
864
  this.routeClick = new EventEmitter();
846
865
  this.isExpandedOrSelected = (item) => !!(item.expanded || item.selected);
866
+ this.fixNavbarItemsByRouter();
847
867
  }
848
868
  onSubnavbarExpand(menuItem, menuItems) {
849
869
  if (menuItem.expanded) {
@@ -885,18 +905,53 @@ class NavbarRoutesComponent {
885
905
  return [...acc, item, ...this.flatChildren(item.children || [])];
886
906
  }, []) || []);
887
907
  }
888
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: NavbarRoutesComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
889
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: NavbarRoutesComponent, selector: "lpx-navbar-routes", inputs: { groupedItems: "groupedItems", navbarItems: "navbarItems", routerItem: "routerItem" }, outputs: { routeClick: "routeClick" }, ngImport: i0, template: "<ul class=\"lpx-nav-menu\">\r\n <ng-container *ngIf=\"groupedItems; else defaultRoute\">\r\n <ng-container *ngFor=\"let item of groupedItems\">\r\n <ng-container\r\n *ngTemplateOutlet=\"groupText; context: { $implicit: item }\"\r\n ></ng-container>\r\n\r\n <ng-container *ngFor=\"let navbarItem of item.items\">\r\n <ng-container\r\n *ngTemplateOutlet=\"itemTemplate; context: { $implicit: navbarItem }\"\r\n ></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n</ul>\r\n\r\n<ng-template #defaultRoute>\r\n <ng-container *ngFor=\"let item of navbarItems\">\r\n <ng-container\r\n *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"\r\n ></ng-container>\r\n </ng-container>\r\n</ng-template>\r\n<ng-template #groupText let-item>\r\n <li\r\n *ngIf=\"item.items.length > 0\"\r\n class=\"group-menu-item hidden-in-hover-trigger\"\r\n >\r\n {{ item.group | lpxTranslate | async }}\r\n </li>\r\n</ng-template>\r\n<ng-template #itemTemplate let-item>\r\n <li\r\n class=\"outer-menu-item\"\r\n *lpxVisible=\"!item.visible || item.visible(item, injector)\"\r\n >\r\n <lpx-sub-navbar\r\n [item]=\"item\"\r\n (expand)=\"onSubnavbarExpand($event, navbarItems)\"\r\n (routeClick)=\"onRouteClick($event, navbarItems)\"\r\n [routerItem]=\"routerItem\"\r\n ></lpx-sub-navbar>\r\n </li>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: LpxVisibleDirective, selector: "[lpxVisible]", inputs: ["lpxVisible"] }, { kind: "component", type: SubNavbarComponent, selector: "lpx-sub-navbar", inputs: ["item", "routerItem"], outputs: ["routeClick", "expand"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "lpxTranslate" }], encapsulation: i0.ViewEncapsulation.None }); }
908
+ fixNavbarItemsByRouter() {
909
+ effect(() => {
910
+ const currentNavigation = this.routesService.currentNavigation();
911
+ if (!currentNavigation) {
912
+ return;
913
+ }
914
+ this.fixNavbarItems(currentNavigation, this.navbarItems);
915
+ });
916
+ }
917
+ fixNavbarItems(currentUrl, items) {
918
+ if (!items) {
919
+ return;
920
+ }
921
+ for (const item of items) {
922
+ if (item.children?.length) {
923
+ item.expanded = this.hasUrlInChildren(item, currentUrl);
924
+ this.fixNavbarItems(currentUrl, item.children);
925
+ }
926
+ else {
927
+ item.selected = item.link === currentUrl;
928
+ }
929
+ }
930
+ }
931
+ hasUrlInChildren(item, url) {
932
+ if (item.link === url) {
933
+ return true;
934
+ }
935
+ if (item.children) {
936
+ for (const child of item.children) {
937
+ const found = this.hasUrlInChildren(child, url);
938
+ if (found) {
939
+ return true;
940
+ }
941
+ }
942
+ }
943
+ return false;
944
+ }
945
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: NavbarRoutesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
946
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: NavbarRoutesComponent, selector: "lpx-navbar-routes", inputs: { groupedItems: { classPropertyName: "groupedItems", publicName: "groupedItems", isSignal: false, isRequired: false, transformFunction: null }, navbarItems: { classPropertyName: "navbarItems", publicName: "navbarItems", isSignal: false, isRequired: false, transformFunction: null }, routerItem: { classPropertyName: "routerItem", publicName: "routerItem", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { routeClick: "routeClick" }, ngImport: i0, template: "<ul class=\"lpx-nav-menu\">\r\n @if (groupedItems) {\r\n @for (item of groupedItems; track item) {\r\n <ng-container\r\n *ngTemplateOutlet=\"groupText; context: { $implicit: item }\"\r\n ></ng-container>\r\n\r\n @for (navbarItem of item.items; track navbarItem) {\r\n <ng-container\r\n *ngTemplateOutlet=\"itemTemplate; context: { $implicit: navbarItem }\"\r\n ></ng-container>\r\n }\r\n }\r\n } @else {\r\n <ng-container *ngTemplateOutlet=\"defaultRoute\"></ng-container>\r\n }\r\n</ul>\r\n\r\n<ng-template #defaultRoute>\r\n @for (item of navbarItems; track item) {\r\n <ng-container\r\n *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"\r\n ></ng-container>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #groupText let-item>\r\n @if (item.items.length) {\r\n <li class=\"group-menu-item hidden-in-hover-trigger\">\r\n {{ item.group | lpxTranslate | async }}\r\n </li>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #itemTemplate let-item>\r\n <li\r\n class=\"outer-menu-item\"\r\n *lpxVisible=\"!item.visible || item.visible(item, injector)\"\r\n >\r\n <lpx-sub-navbar\r\n [item]=\"item\"\r\n (expand)=\"onSubnavbarExpand($event, navbarItems)\"\r\n (routeClick)=\"onRouteClick($event, navbarItems)\"\r\n [routerItem]=\"routerItem()\"\r\n ></lpx-sub-navbar>\r\n </li>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: LpxVisibleDirective, selector: "[lpxVisible]", inputs: ["lpxVisible"] }, { kind: "component", type: SubNavbarComponent, selector: "lpx-sub-navbar", inputs: ["item", "routerItem"], outputs: ["routeClick", "expand"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "lpxTranslate" }], encapsulation: i0.ViewEncapsulation.None }); }
890
947
  }
891
948
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: NavbarRoutesComponent, decorators: [{
892
949
  type: Component,
893
- args: [{ selector: 'lpx-navbar-routes', encapsulation: ViewEncapsulation.None, template: "<ul class=\"lpx-nav-menu\">\r\n <ng-container *ngIf=\"groupedItems; else defaultRoute\">\r\n <ng-container *ngFor=\"let item of groupedItems\">\r\n <ng-container\r\n *ngTemplateOutlet=\"groupText; context: { $implicit: item }\"\r\n ></ng-container>\r\n\r\n <ng-container *ngFor=\"let navbarItem of item.items\">\r\n <ng-container\r\n *ngTemplateOutlet=\"itemTemplate; context: { $implicit: navbarItem }\"\r\n ></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n</ul>\r\n\r\n<ng-template #defaultRoute>\r\n <ng-container *ngFor=\"let item of navbarItems\">\r\n <ng-container\r\n *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"\r\n ></ng-container>\r\n </ng-container>\r\n</ng-template>\r\n<ng-template #groupText let-item>\r\n <li\r\n *ngIf=\"item.items.length > 0\"\r\n class=\"group-menu-item hidden-in-hover-trigger\"\r\n >\r\n {{ item.group | lpxTranslate | async }}\r\n </li>\r\n</ng-template>\r\n<ng-template #itemTemplate let-item>\r\n <li\r\n class=\"outer-menu-item\"\r\n *lpxVisible=\"!item.visible || item.visible(item, injector)\"\r\n >\r\n <lpx-sub-navbar\r\n [item]=\"item\"\r\n (expand)=\"onSubnavbarExpand($event, navbarItems)\"\r\n (routeClick)=\"onRouteClick($event, navbarItems)\"\r\n [routerItem]=\"routerItem\"\r\n ></lpx-sub-navbar>\r\n </li>\r\n</ng-template>\r\n" }]
894
- }], ctorParameters: () => [{ type: i0.Injector }], propDecorators: { groupedItems: [{
950
+ args: [{ selector: 'lpx-navbar-routes', encapsulation: ViewEncapsulation.None, template: "<ul class=\"lpx-nav-menu\">\r\n @if (groupedItems) {\r\n @for (item of groupedItems; track item) {\r\n <ng-container\r\n *ngTemplateOutlet=\"groupText; context: { $implicit: item }\"\r\n ></ng-container>\r\n\r\n @for (navbarItem of item.items; track navbarItem) {\r\n <ng-container\r\n *ngTemplateOutlet=\"itemTemplate; context: { $implicit: navbarItem }\"\r\n ></ng-container>\r\n }\r\n }\r\n } @else {\r\n <ng-container *ngTemplateOutlet=\"defaultRoute\"></ng-container>\r\n }\r\n</ul>\r\n\r\n<ng-template #defaultRoute>\r\n @for (item of navbarItems; track item) {\r\n <ng-container\r\n *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"\r\n ></ng-container>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #groupText let-item>\r\n @if (item.items.length) {\r\n <li class=\"group-menu-item hidden-in-hover-trigger\">\r\n {{ item.group | lpxTranslate | async }}\r\n </li>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #itemTemplate let-item>\r\n <li\r\n class=\"outer-menu-item\"\r\n *lpxVisible=\"!item.visible || item.visible(item, injector)\"\r\n >\r\n <lpx-sub-navbar\r\n [item]=\"item\"\r\n (expand)=\"onSubnavbarExpand($event, navbarItems)\"\r\n (routeClick)=\"onRouteClick($event, navbarItems)\"\r\n [routerItem]=\"routerItem()\"\r\n ></lpx-sub-navbar>\r\n </li>\r\n</ng-template>\r\n" }]
951
+ }], ctorParameters: () => [], propDecorators: { groupedItems: [{
895
952
  type: Input
896
953
  }], navbarItems: [{
897
954
  type: Input
898
- }], routerItem: [{
899
- type: Input
900
955
  }], routeClick: [{
901
956
  type: Output
902
957
  }] } });
@@ -1971,5 +2026,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
1971
2026
  * Generated bundle index. Do not edit.
1972
2027
  */
1973
2028
 
1974
- export { AvatarComponent, BodyService, BrandLogoComponent, BreadcrumbComponent, BreadcrumbPanelDirective, BreadcrumbRouteListenerService, BreadcrumbService, CONTENT_AFTER_ROUTES, CONTENT_BEFORE_ROUTES, ClickOutsideDirective, ContentPanelDirective, CurrentUserImagePanelDirective, CurrentUserPanelDirective, DataStore, DefaultAuthService, DefaultTranslateService, FooterComponent, FooterLinksService, FooterPanelDirective, ICON_MAP, IconComponent, LEPTON_X_ICON_SET, LPX_AUTH_SERVICE_PROVIDER, LPX_AUTH_SERVICE_TOKEN, LPX_INITIAL_STYLES, LPX_LANGUAGE, LPX_LAYOUT_STYLE_FINAL, LPX_MENU_ITEMS, LPX_PERFECT_SCROLLBAR, LPX_RESPONSIVE_BREAKPOINTS_DEFAULTS, LPX_STYLE_FINAL, LPX_STYLE_PROVIDERS, LPX_TRANSLATE_SERVICE_TOKEN, LPX_TRANSLATE_TOKEN, LanguagePanelDirective, LanguageService, LanguageTranslateDefaults, LanguageTranslateKeys, LayoutService, LogoPanelDirective, LpxAvatarModule, LpxBrandLogoModule, LpxBreadcrumbModule, LpxClickOutsideModule, LpxCoreModule, LpxFooterModule, LpxIconModule, LpxLanguageModule, LpxLocalStorageService, LpxNavbarModule, LpxPerfectScrollbar, LpxPerfectScrollbarService, LpxResponsiveModule, LpxThemeTranslateService, LpxTranslateModule, LpxVisibleDirective, MobileNavbarPanelDirective, NavbarComponent, NavbarPanelDirective, NavbarRoutesComponent, NavbarRoutesDirective, NavbarService, NavitemPanelDirective, OTHERS_GROUP_KEY, PanelsModule, PerfectScrollbarDirective, RESPONSIVE_BREAKPOINTS, ResponsiveDirective, ResponsiveService, SafeHtmlPipe, SettingsPanelDirective, StyleService, SubNavbarComponent, ToObservableModule, ToObservablePipe, ToolbarPanelDirective, ToolbarService, TopNavbarPanelDirective, TranslatePipe, UserProfileService, WINDOW, breadCrumbInit, createDirectionProvider, createGroupMap, createResponsiveProvider, createStyleFactory, createWindowProvider, exportedDeclarations, flatArrayDeepToObject, getItemsFromGroup, getStream$, isArray, isNullOrUndefined, listenDirectionChange, loadInitialStyles, sortItems, styleLoadFactory };
2029
+ export { AvatarComponent, BodyService, BrandLogoComponent, BreadcrumbComponent, BreadcrumbPanelDirective, BreadcrumbRouteListenerService, BreadcrumbService, CONTENT_AFTER_ROUTES, CONTENT_BEFORE_ROUTES, ClickOutsideDirective, ContentPanelDirective, CurrentUserImagePanelDirective, CurrentUserPanelDirective, DataStore, DefaultAuthService, DefaultTranslateService, FooterComponent, FooterLinksService, FooterPanelDirective, ICON_MAP, IconComponent, LEPTON_X_ICON_SET, LPX_AUTH_SERVICE_PROVIDER, LPX_AUTH_SERVICE_TOKEN, LPX_INITIAL_STYLES, LPX_LANGUAGE, LPX_LAYOUT_STYLE_FINAL, LPX_MENU_ITEMS, LPX_PERFECT_SCROLLBAR, LPX_RESPONSIVE_BREAKPOINTS_DEFAULTS, LPX_STYLE_FINAL, LPX_STYLE_PROVIDERS, LPX_TRANSLATE_SERVICE_TOKEN, LPX_TRANSLATE_TOKEN, LanguagePanelDirective, LanguageService, LanguageTranslateDefaults, LanguageTranslateKeys, LayoutService, LogoPanelDirective, LpxAvatarModule, LpxBrandLogoModule, LpxBreadcrumbModule, LpxClickOutsideModule, LpxCoreModule, LpxFooterModule, LpxIconModule, LpxLanguageModule, LpxLocalStorageService, LpxNavbarModule, LpxPerfectScrollbar, LpxPerfectScrollbarService, LpxResponsiveModule, LpxThemeTranslateService, LpxTranslateModule, LpxVisibleDirective, MobileNavbarPanelDirective, NavbarComponent, NavbarPanelDirective, NavbarRoutesComponent, NavbarRoutesDirective, NavbarService, NavitemPanelDirective, OTHERS_GROUP_KEY, PanelsModule, PerfectScrollbarDirective, RESPONSIVE_BREAKPOINTS, ResponsiveDirective, ResponsiveService, RoutesService, SafeHtmlPipe, SettingsPanelDirective, StyleService, SubNavbarComponent, ToObservableModule, ToObservablePipe, ToolbarPanelDirective, ToolbarService, TopNavbarPanelDirective, TranslatePipe, UserProfileService, WINDOW, breadCrumbInit, createDirectionProvider, createGroupMap, createResponsiveProvider, createStyleFactory, createWindowProvider, exportedDeclarations, flatArrayDeepToObject, getItemsFromGroup, getStream$, isArray, isNullOrUndefined, listenDirectionChange, loadInitialStyles, sortItems, styleLoadFactory };
1975
2030
  //# sourceMappingURL=volo-ngx-lepton-x.core.mjs.map