@evotor-dev/ui-kit 8.0.0-beta.15 → 8.0.0-beta.16

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,7 +1,7 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output, ViewChild } from '@angular/core';
2
+ import { EvoDropdownOriginDirective } from '../../evo-dropdown';
2
3
  import { EvoDropdownComponent } from '../../evo-dropdown/evo-dropdown.component';
3
4
  import { RouterLink, RouterLinkActive } from '@angular/router';
4
- import { EvoDropdownOriginDirective as EvoDropdownOriginDirective_1 } from '../../evo-dropdown/evo-dropdown-origin.directive';
5
5
  import { NgFor, NgIf, NgTemplateOutlet } from '@angular/common';
6
6
  import { EvoLetDirective } from '../../../directives/evo-let/evo-let.directive';
7
7
  import * as i0 from "@angular/core";
@@ -18,39 +18,51 @@ export class EvoNavbarItemComponent {
18
18
  this.openSubMenu = new EventEmitter();
19
19
  this.closeSubMenu = new EventEmitter();
20
20
  }
21
- toggle(origin) {
22
- if (origin.isDropdownOpen) {
23
- this.closeSubMenu.emit(origin);
21
+ get id() {
22
+ return this.item.id || '';
23
+ }
24
+ get ngClass() {
25
+ return this.item.ngClass;
26
+ }
27
+ toggle() {
28
+ if (this.isSubMenuOpen()) {
29
+ this.closeSubMenu.emit(this.dropdownOrigin);
24
30
  }
25
31
  else {
26
- this.openSubMenu.emit(origin);
32
+ this.openSubMenu.emit(this.dropdownOrigin);
27
33
  }
28
34
  }
29
- open(origin) {
30
- if (!origin.isDropdownOpen) {
31
- this.openSubMenu.emit(origin);
35
+ open() {
36
+ if (!this.isSubMenuOpen()) {
37
+ this.openSubMenu.emit(this.dropdownOrigin);
32
38
  }
33
39
  }
34
- close(origin) {
35
- if (origin.isDropdownOpen) {
36
- this.closeSubMenu.emit(origin);
40
+ close() {
41
+ if (this.isSubMenuOpen()) {
42
+ this.closeSubMenu.emit(this.dropdownOrigin);
37
43
  }
38
44
  }
45
+ isSubMenuOpen() {
46
+ return this.dropdownOrigin.isDropdownOpen;
47
+ }
48
+ isNativeLink(item) {
49
+ return 'href' in item;
50
+ }
39
51
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoNavbarItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
40
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", type: EvoNavbarItemComponent, isStandalone: true, selector: "evo-navbar-item", inputs: { item: "item", isNested: "isNested", isMobileView: "isMobileView", subMenuPositions: "subMenuPositions" }, outputs: { openSubMenu: "openSubMenu", closeSubMenu: "closeSubMenu" }, ngImport: i0, template: "<!-- TODO: delete $any alias after update to ng12-->\n<ng-container *evoLet=\"$any(item) as linkItem\">\n <a\n *ngIf=\"linkItem.href; else routerLink\"\n #origin=\"evoDropdownOrigin\"\n evoDropdownOrigin\n class=\"evo-navbar__link evo-navbar__link_external\"\n [attr.href]=\"linkItem.href\"\n [attr.target]=\"linkItem.target\"\n [class.evo-navbar__link_nested]=\"isNested\"\n [class.evo-navbar__link_highlighted]=\"origin.isDropdownOpen\"\n (mouseenter)=\"open(origin)\"\n (mouseleave)=\"close(origin)\"\n >\n <span class=\"evo-navbar__link-title\">{{ linkItem.title }}</span>\n\n <ng-container *ngTemplateOutlet=\"subNav; context: {origin: origin}\" />\n </a>\n\n <ng-template #routerLink>\n <ng-container *evoLet=\"isMobileView && !!linkItem.subItems?.length as isRootItemJustOpenSubMenu\">\n <span\n *ngIf=\"isRootItemJustOpenSubMenu; else defaultRootItem\"\n #origin=\"evoDropdownOrigin\"\n evoDropdownOrigin\n class=\"evo-navbar__link\"\n [class.evo-navbar__link_highlighted]=\"origin.isDropdownOpen\"\n (click)=\"toggle(origin)\"\n (mouseleave)=\"close(origin)\"\n >\n <span class=\"evo-navbar__link-title\">{{ linkItem.title }}</span>\n\n <ng-container *ngTemplateOutlet=\"subNav; context: {origin: origin}\" />\n </span>\n\n <ng-template #defaultRootItem>\n <a\n #origin=\"evoDropdownOrigin\"\n evoDropdownOrigin\n class=\"evo-navbar__link\"\n [class.evo-navbar__link_nested]=\"isNested\"\n [class.evo-navbar__link_highlighted]=\"origin.isDropdownOpen\"\n [routerLink]=\"linkItem.routerLink\"\n [routerLinkActive]=\"isNested ? ['evo-navbar__link_active'] : []\"\n [routerLinkActiveOptions]=\"{exact: !!linkItem.isExactPath}\"\n [preserveFragment]=\"!!linkItem.preserveFragment\"\n [queryParamsHandling]=\"linkItem.queryParamsHandling\"\n [fragment]=\"linkItem.fragment\"\n [queryParams]=\"linkItem.queryParams\"\n [skipLocationChange]=\"linkItem.skipLocationChange\"\n [replaceUrl]=\"linkItem.replaceUrl\"\n [state]=\"linkItem.state\"\n (mouseenter)=\"open(origin)\"\n (mouseleave)=\"close(origin)\"\n >\n <span class=\"evo-navbar__link-title\">{{ linkItem.title }}</span>\n\n <ng-container *ngTemplateOutlet=\"subNav; context: {origin: origin}\" />\n </a>\n </ng-template>\n </ng-container>\n </ng-template>\n\n <ng-template #subNav let-origin=\"origin\">\n <evo-dropdown\n *ngIf=\"linkItem.subItems?.length\"\n [positions]=\"subMenuPositions\"\n [dropdownOrigin]=\"origin\"\n [(isOpen)]=\"origin.isDropdownOpen\"\n >\n <section class=\"evo-navbar__sub\" (mouseenter)=\"open(origin)\" (mouseleave)=\"close(origin)\">\n <div class=\"evo-navbar__sub-content\">\n <evo-navbar-item\n *ngFor=\"let subItem of linkItem.subItems\"\n [item]=\"subItem\"\n [isNested]=\"true\"\n [isMobileView]=\"isMobileView\"\n (click)=\"close(origin)\"\n />\n </div>\n </section>\n </evo-dropdown>\n </ng-template>\n</ng-container>\n", styles: [":host{display:block;flex-shrink:0}.evo-navbar__link{display:block;flex-shrink:0;padding:9px 8px;color:#212121;font-size:14px;line-height:22px;-webkit-user-select:none;user-select:none}@media (min-width: 768px){.evo-navbar__link:not(.evo-navbar__link_nested):hover .evo-navbar__link-title{background:#fff}}.evo-navbar__link_nested{padding:12px 16px}.evo-navbar__link_nested .evo-navbar__link-title{padding:0;font-weight:400;border-radius:0}.evo-navbar__link_nested:hover{background:#f4f6f8}.evo-navbar__link_nested.evo-navbar__link_active{color:#fff;background:#f05023}.evo-navbar__link_highlighted .evo-navbar__link-title{background:#fff}.evo-navbar__link-title{display:block;max-width:100%;padding:4px 8px;overflow:hidden;font-weight:600;white-space:nowrap;text-overflow:ellipsis;border-radius:4px}.evo-navbar__sub{--evo-navbar-dropdown-max-width: 85vw;--evo-navbar-dropdown-max-height: 310px;flex-shrink:0;max-width:85vw;max-width:var(--evo-navbar-dropdown-max-width)}.evo-navbar__sub-content{display:flex;flex-flow:column;max-height:310px;max-height:var(--evo-navbar-dropdown-max-height);margin-top:4px;overflow:auto;background:#fff;border-radius:8px;box-shadow:0 8px 10px #00000024,0 3px 14px #0000001f}\n"], dependencies: [{ kind: "component", type: EvoNavbarItemComponent, selector: "evo-navbar-item", inputs: ["item", "isNested", "isMobileView", "subMenuPositions"], outputs: ["openSubMenu", "closeSubMenu"] }, { kind: "directive", type: EvoLetDirective, selector: "[evoLet]", inputs: ["evoLet"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: EvoDropdownOriginDirective_1, selector: "[evoDropdownOrigin]", exportAs: ["evoDropdownOrigin"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: EvoDropdownComponent, selector: "evo-dropdown", inputs: ["scrollStrategy", "dropdownOrigin", "isOpen", "positions"], outputs: ["isOpenChange"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
52
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.10", type: EvoNavbarItemComponent, isStandalone: true, selector: "evo-navbar-item", inputs: { item: "item", isNested: "isNested", isMobileView: "isMobileView", subMenuPositions: "subMenuPositions" }, outputs: { openSubMenu: "openSubMenu", closeSubMenu: "closeSubMenu" }, host: { properties: { "attr.id": "this.id", "class": "this.ngClass" } }, viewQueries: [{ propertyName: "dropdownOrigin", first: true, predicate: ["origin"], descendants: true }], ngImport: i0, template: "<ng-container *evoLet=\"isMobileView && !!item.subItems?.length as isRootItemJustOpenSubMenu\">\n @if (isNativeLink(item)) {\n @if (isRootItemJustOpenSubMenu) {\n <span\n #origin=\"evoDropdownOrigin\"\n evoDropdownOrigin\n class=\"evo-navbar__link evo-navbar__link_external\"\n [class.evo-navbar__link_highlighted]=\"origin.isDropdownOpen\"\n (click)=\"toggle()\"\n (mouseleave)=\"close()\"\n >\n <span class=\"evo-navbar__link-title\">{{ item.title }}</span>\n\n <ng-container *ngTemplateOutlet=\"subNav; context: {origin: origin}\" />\n </span>\n } @else {\n <a\n #origin=\"evoDropdownOrigin\"\n evoDropdownOrigin\n class=\"evo-navbar__link evo-navbar__link_external\"\n [attr.href]=\"item.href\"\n [attr.target]=\"item.target\"\n [class.evo-navbar__link_nested]=\"isNested\"\n [class.evo-navbar__link_highlighted]=\"origin.isDropdownOpen\"\n (mouseenter)=\"open()\"\n (mouseleave)=\"close()\"\n >\n <span class=\"evo-navbar__link-title\">{{ item.title }}</span>\n\n <ng-container *ngTemplateOutlet=\"subNav; context: {origin: origin}\" />\n </a>\n }\n } @else {\n @if (isRootItemJustOpenSubMenu) {\n <span\n #origin=\"evoDropdownOrigin\"\n evoDropdownOrigin\n class=\"evo-navbar__link\"\n [class.evo-navbar__link_highlighted]=\"origin.isDropdownOpen\"\n (click)=\"toggle()\"\n (mouseleave)=\"close()\"\n >\n <span class=\"evo-navbar__link-title\">{{ item.title }}</span>\n\n <ng-container *ngTemplateOutlet=\"subNav; context: {origin: origin}\" />\n </span>\n } @else {\n <a\n #origin=\"evoDropdownOrigin\"\n evoDropdownOrigin\n class=\"evo-navbar__link\"\n [class.evo-navbar__link_nested]=\"isNested\"\n [class.evo-navbar__link_highlighted]=\"origin.isDropdownOpen\"\n [routerLink]=\"item.routerLink\"\n [routerLinkActive]=\"isNested ? ['evo-navbar__link_active'] : []\"\n [routerLinkActiveOptions]=\"{exact: !!item.isExactPath}\"\n [preserveFragment]=\"!!item.preserveFragment\"\n [queryParamsHandling]=\"item.queryParamsHandling\"\n [fragment]=\"item.fragment\"\n [queryParams]=\"item.queryParams\"\n [skipLocationChange]=\"item.skipLocationChange\"\n [replaceUrl]=\"item.replaceUrl\"\n [state]=\"item.state\"\n (mouseenter)=\"open()\"\n (mouseleave)=\"close()\"\n >\n <span class=\"evo-navbar__link-title\">{{ item.title }}</span>\n\n <ng-container *ngTemplateOutlet=\"subNav; context: {origin: origin}\" />\n </a>\n }\n }\n</ng-container>\n\n<ng-template #subNav let-origin=\"origin\">\n @if (item.subItems?.length) {\n <evo-dropdown [positions]=\"subMenuPositions\" [dropdownOrigin]=\"origin\" [(isOpen)]=\"origin.isDropdownOpen\">\n <section class=\"evo-navbar__sub\" (mouseenter)=\"open()\" (mouseleave)=\"close()\">\n <div class=\"evo-navbar__sub-content\">\n @for (subItem of item.subItems; track subItem.title) {\n <evo-navbar-item\n [item]=\"subItem\"\n [isNested]=\"true\"\n [isMobileView]=\"isMobileView\"\n (click)=\"close()\"\n />\n }\n </div>\n </section>\n </evo-dropdown>\n }\n</ng-template>\n", styles: [":host{display:block;flex-shrink:0}.evo-navbar__link{display:block;flex-shrink:0;padding:9px 8px;color:#212121;font-size:14px;line-height:22px;-webkit-user-select:none;user-select:none}@media (min-width: 768px){.evo-navbar__link:not(.evo-navbar__link_nested):hover .evo-navbar__link-title{background:#fff}}.evo-navbar__link_nested{padding:12px 16px}.evo-navbar__link_nested .evo-navbar__link-title{padding:0;font-weight:400;border-radius:0}.evo-navbar__link_nested:hover{background:#f4f6f8}.evo-navbar__link_nested.evo-navbar__link_active{color:#fff;background:#f05023}.evo-navbar__link_highlighted .evo-navbar__link-title{background:#fff}.evo-navbar__link-title{display:block;max-width:100%;padding:4px 8px;overflow:hidden;font-weight:600;white-space:nowrap;text-overflow:ellipsis;border-radius:4px}.evo-navbar__sub{--evo-navbar-dropdown-max-width: 85vw;--evo-navbar-dropdown-max-height: 310px;flex-shrink:0;max-width:85vw;max-width:var(--evo-navbar-dropdown-max-width)}.evo-navbar__sub-content{display:flex;flex-flow:column;max-height:310px;max-height:var(--evo-navbar-dropdown-max-height);margin-top:4px;overflow:auto;background:#fff;border-radius:8px;box-shadow:0 8px 10px #00000024,0 3px 14px #0000001f}\n"], dependencies: [{ kind: "component", type: EvoNavbarItemComponent, selector: "evo-navbar-item", inputs: ["item", "isNested", "isMobileView", "subMenuPositions"], outputs: ["openSubMenu", "closeSubMenu"] }, { kind: "directive", type: EvoLetDirective, selector: "[evoLet]", inputs: ["evoLet"] }, { kind: "directive", type: EvoDropdownOriginDirective, selector: "[evoDropdownOrigin]", exportAs: ["evoDropdownOrigin"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: EvoDropdownComponent, selector: "evo-dropdown", inputs: ["scrollStrategy", "dropdownOrigin", "isOpen", "positions"], outputs: ["isOpenChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
41
53
  }
42
54
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoNavbarItemComponent, decorators: [{
43
55
  type: Component,
44
56
  args: [{ selector: 'evo-navbar-item', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
45
57
  EvoLetDirective,
46
58
  NgIf,
47
- EvoDropdownOriginDirective_1,
59
+ EvoDropdownOriginDirective,
48
60
  NgTemplateOutlet,
49
61
  RouterLink,
50
62
  RouterLinkActive,
51
63
  EvoDropdownComponent,
52
64
  NgFor,
53
- ], template: "<!-- TODO: delete $any alias after update to ng12-->\n<ng-container *evoLet=\"$any(item) as linkItem\">\n <a\n *ngIf=\"linkItem.href; else routerLink\"\n #origin=\"evoDropdownOrigin\"\n evoDropdownOrigin\n class=\"evo-navbar__link evo-navbar__link_external\"\n [attr.href]=\"linkItem.href\"\n [attr.target]=\"linkItem.target\"\n [class.evo-navbar__link_nested]=\"isNested\"\n [class.evo-navbar__link_highlighted]=\"origin.isDropdownOpen\"\n (mouseenter)=\"open(origin)\"\n (mouseleave)=\"close(origin)\"\n >\n <span class=\"evo-navbar__link-title\">{{ linkItem.title }}</span>\n\n <ng-container *ngTemplateOutlet=\"subNav; context: {origin: origin}\" />\n </a>\n\n <ng-template #routerLink>\n <ng-container *evoLet=\"isMobileView && !!linkItem.subItems?.length as isRootItemJustOpenSubMenu\">\n <span\n *ngIf=\"isRootItemJustOpenSubMenu; else defaultRootItem\"\n #origin=\"evoDropdownOrigin\"\n evoDropdownOrigin\n class=\"evo-navbar__link\"\n [class.evo-navbar__link_highlighted]=\"origin.isDropdownOpen\"\n (click)=\"toggle(origin)\"\n (mouseleave)=\"close(origin)\"\n >\n <span class=\"evo-navbar__link-title\">{{ linkItem.title }}</span>\n\n <ng-container *ngTemplateOutlet=\"subNav; context: {origin: origin}\" />\n </span>\n\n <ng-template #defaultRootItem>\n <a\n #origin=\"evoDropdownOrigin\"\n evoDropdownOrigin\n class=\"evo-navbar__link\"\n [class.evo-navbar__link_nested]=\"isNested\"\n [class.evo-navbar__link_highlighted]=\"origin.isDropdownOpen\"\n [routerLink]=\"linkItem.routerLink\"\n [routerLinkActive]=\"isNested ? ['evo-navbar__link_active'] : []\"\n [routerLinkActiveOptions]=\"{exact: !!linkItem.isExactPath}\"\n [preserveFragment]=\"!!linkItem.preserveFragment\"\n [queryParamsHandling]=\"linkItem.queryParamsHandling\"\n [fragment]=\"linkItem.fragment\"\n [queryParams]=\"linkItem.queryParams\"\n [skipLocationChange]=\"linkItem.skipLocationChange\"\n [replaceUrl]=\"linkItem.replaceUrl\"\n [state]=\"linkItem.state\"\n (mouseenter)=\"open(origin)\"\n (mouseleave)=\"close(origin)\"\n >\n <span class=\"evo-navbar__link-title\">{{ linkItem.title }}</span>\n\n <ng-container *ngTemplateOutlet=\"subNav; context: {origin: origin}\" />\n </a>\n </ng-template>\n </ng-container>\n </ng-template>\n\n <ng-template #subNav let-origin=\"origin\">\n <evo-dropdown\n *ngIf=\"linkItem.subItems?.length\"\n [positions]=\"subMenuPositions\"\n [dropdownOrigin]=\"origin\"\n [(isOpen)]=\"origin.isDropdownOpen\"\n >\n <section class=\"evo-navbar__sub\" (mouseenter)=\"open(origin)\" (mouseleave)=\"close(origin)\">\n <div class=\"evo-navbar__sub-content\">\n <evo-navbar-item\n *ngFor=\"let subItem of linkItem.subItems\"\n [item]=\"subItem\"\n [isNested]=\"true\"\n [isMobileView]=\"isMobileView\"\n (click)=\"close(origin)\"\n />\n </div>\n </section>\n </evo-dropdown>\n </ng-template>\n</ng-container>\n", styles: [":host{display:block;flex-shrink:0}.evo-navbar__link{display:block;flex-shrink:0;padding:9px 8px;color:#212121;font-size:14px;line-height:22px;-webkit-user-select:none;user-select:none}@media (min-width: 768px){.evo-navbar__link:not(.evo-navbar__link_nested):hover .evo-navbar__link-title{background:#fff}}.evo-navbar__link_nested{padding:12px 16px}.evo-navbar__link_nested .evo-navbar__link-title{padding:0;font-weight:400;border-radius:0}.evo-navbar__link_nested:hover{background:#f4f6f8}.evo-navbar__link_nested.evo-navbar__link_active{color:#fff;background:#f05023}.evo-navbar__link_highlighted .evo-navbar__link-title{background:#fff}.evo-navbar__link-title{display:block;max-width:100%;padding:4px 8px;overflow:hidden;font-weight:600;white-space:nowrap;text-overflow:ellipsis;border-radius:4px}.evo-navbar__sub{--evo-navbar-dropdown-max-width: 85vw;--evo-navbar-dropdown-max-height: 310px;flex-shrink:0;max-width:85vw;max-width:var(--evo-navbar-dropdown-max-width)}.evo-navbar__sub-content{display:flex;flex-flow:column;max-height:310px;max-height:var(--evo-navbar-dropdown-max-height);margin-top:4px;overflow:auto;background:#fff;border-radius:8px;box-shadow:0 8px 10px #00000024,0 3px 14px #0000001f}\n"] }]
65
+ ], template: "<ng-container *evoLet=\"isMobileView && !!item.subItems?.length as isRootItemJustOpenSubMenu\">\n @if (isNativeLink(item)) {\n @if (isRootItemJustOpenSubMenu) {\n <span\n #origin=\"evoDropdownOrigin\"\n evoDropdownOrigin\n class=\"evo-navbar__link evo-navbar__link_external\"\n [class.evo-navbar__link_highlighted]=\"origin.isDropdownOpen\"\n (click)=\"toggle()\"\n (mouseleave)=\"close()\"\n >\n <span class=\"evo-navbar__link-title\">{{ item.title }}</span>\n\n <ng-container *ngTemplateOutlet=\"subNav; context: {origin: origin}\" />\n </span>\n } @else {\n <a\n #origin=\"evoDropdownOrigin\"\n evoDropdownOrigin\n class=\"evo-navbar__link evo-navbar__link_external\"\n [attr.href]=\"item.href\"\n [attr.target]=\"item.target\"\n [class.evo-navbar__link_nested]=\"isNested\"\n [class.evo-navbar__link_highlighted]=\"origin.isDropdownOpen\"\n (mouseenter)=\"open()\"\n (mouseleave)=\"close()\"\n >\n <span class=\"evo-navbar__link-title\">{{ item.title }}</span>\n\n <ng-container *ngTemplateOutlet=\"subNav; context: {origin: origin}\" />\n </a>\n }\n } @else {\n @if (isRootItemJustOpenSubMenu) {\n <span\n #origin=\"evoDropdownOrigin\"\n evoDropdownOrigin\n class=\"evo-navbar__link\"\n [class.evo-navbar__link_highlighted]=\"origin.isDropdownOpen\"\n (click)=\"toggle()\"\n (mouseleave)=\"close()\"\n >\n <span class=\"evo-navbar__link-title\">{{ item.title }}</span>\n\n <ng-container *ngTemplateOutlet=\"subNav; context: {origin: origin}\" />\n </span>\n } @else {\n <a\n #origin=\"evoDropdownOrigin\"\n evoDropdownOrigin\n class=\"evo-navbar__link\"\n [class.evo-navbar__link_nested]=\"isNested\"\n [class.evo-navbar__link_highlighted]=\"origin.isDropdownOpen\"\n [routerLink]=\"item.routerLink\"\n [routerLinkActive]=\"isNested ? ['evo-navbar__link_active'] : []\"\n [routerLinkActiveOptions]=\"{exact: !!item.isExactPath}\"\n [preserveFragment]=\"!!item.preserveFragment\"\n [queryParamsHandling]=\"item.queryParamsHandling\"\n [fragment]=\"item.fragment\"\n [queryParams]=\"item.queryParams\"\n [skipLocationChange]=\"item.skipLocationChange\"\n [replaceUrl]=\"item.replaceUrl\"\n [state]=\"item.state\"\n (mouseenter)=\"open()\"\n (mouseleave)=\"close()\"\n >\n <span class=\"evo-navbar__link-title\">{{ item.title }}</span>\n\n <ng-container *ngTemplateOutlet=\"subNav; context: {origin: origin}\" />\n </a>\n }\n }\n</ng-container>\n\n<ng-template #subNav let-origin=\"origin\">\n @if (item.subItems?.length) {\n <evo-dropdown [positions]=\"subMenuPositions\" [dropdownOrigin]=\"origin\" [(isOpen)]=\"origin.isDropdownOpen\">\n <section class=\"evo-navbar__sub\" (mouseenter)=\"open()\" (mouseleave)=\"close()\">\n <div class=\"evo-navbar__sub-content\">\n @for (subItem of item.subItems; track subItem.title) {\n <evo-navbar-item\n [item]=\"subItem\"\n [isNested]=\"true\"\n [isMobileView]=\"isMobileView\"\n (click)=\"close()\"\n />\n }\n </div>\n </section>\n </evo-dropdown>\n }\n</ng-template>\n", styles: [":host{display:block;flex-shrink:0}.evo-navbar__link{display:block;flex-shrink:0;padding:9px 8px;color:#212121;font-size:14px;line-height:22px;-webkit-user-select:none;user-select:none}@media (min-width: 768px){.evo-navbar__link:not(.evo-navbar__link_nested):hover .evo-navbar__link-title{background:#fff}}.evo-navbar__link_nested{padding:12px 16px}.evo-navbar__link_nested .evo-navbar__link-title{padding:0;font-weight:400;border-radius:0}.evo-navbar__link_nested:hover{background:#f4f6f8}.evo-navbar__link_nested.evo-navbar__link_active{color:#fff;background:#f05023}.evo-navbar__link_highlighted .evo-navbar__link-title{background:#fff}.evo-navbar__link-title{display:block;max-width:100%;padding:4px 8px;overflow:hidden;font-weight:600;white-space:nowrap;text-overflow:ellipsis;border-radius:4px}.evo-navbar__sub{--evo-navbar-dropdown-max-width: 85vw;--evo-navbar-dropdown-max-height: 310px;flex-shrink:0;max-width:85vw;max-width:var(--evo-navbar-dropdown-max-width)}.evo-navbar__sub-content{display:flex;flex-flow:column;max-height:310px;max-height:var(--evo-navbar-dropdown-max-height);margin-top:4px;overflow:auto;background:#fff;border-radius:8px;box-shadow:0 8px 10px #00000024,0 3px 14px #0000001f}\n"] }]
54
66
  }], propDecorators: { item: [{
55
67
  type: Input
56
68
  }], isNested: [{
@@ -63,5 +75,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
63
75
  type: Output
64
76
  }], closeSubMenu: [{
65
77
  type: Output
78
+ }], dropdownOrigin: [{
79
+ type: ViewChild,
80
+ args: ['origin']
81
+ }], id: [{
82
+ type: HostBinding,
83
+ args: ['attr.id']
84
+ }], ngClass: [{
85
+ type: HostBinding,
86
+ args: ['class']
66
87
  }] } });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLW5hdmJhci1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V2by11aS1raXQvc3JjL2xpYi9jb21wb25lbnRzL2V2by1uYXZiYXIvZXZvLW5hdmJhci1pdGVtL2V2by1uYXZiYXItaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldm8tdWkta2l0L3NyYy9saWIvY29tcG9uZW50cy9ldm8tbmF2YmFyL2V2by1uYXZiYXItaXRlbS9ldm8tbmF2YmFyLWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUk5RixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUMvRSxPQUFPLEVBQUMsVUFBVSxFQUFFLGdCQUFnQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0QsT0FBTyxFQUFDLDBCQUEwQixJQUFJLDRCQUE0QixFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFDNUgsT0FBTyxFQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sK0NBQStDLENBQUM7O0FBbUI5RSxNQUFNLE9BQU8sc0JBQXNCO0lBakJuQztRQXdCYSxxQkFBZ0IsR0FBd0I7WUFDN0M7Z0JBQ0ksT0FBTyxFQUFFLE9BQU87Z0JBQ2hCLE9BQU8sRUFBRSxRQUFRO2dCQUNqQixRQUFRLEVBQUUsT0FBTztnQkFDakIsUUFBUSxFQUFFLEtBQUs7YUFDbEI7U0FDSixDQUFDO1FBRVEsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBOEIsQ0FBQztRQUM3RCxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUE4QixDQUFDO0tBcUIzRTtJQW5CRyxNQUFNLENBQUMsTUFBa0M7UUFDckMsSUFBSSxNQUFNLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkMsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksQ0FBQyxNQUFrQztRQUNuQyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQWtDO1FBQ3BDLElBQUksTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLENBQUM7SUFDTCxDQUFDOytHQXJDUSxzQkFBc0I7bUdBQXRCLHNCQUFzQixzUUMzQm5DLDZ0SEFvRkEsbXZDRHpEYSxzQkFBc0Isd0tBVjNCLGVBQWUseUVBQ2YsSUFBSSw2RkFDSiw0QkFBNEIsaUdBQzVCLGdCQUFnQixvSkFDaEIsVUFBVSxvT0FDVixnQkFBZ0IsOE1BQ2hCLG9CQUFvQix5SkFDcEIsS0FBSzs7NEZBR0Esc0JBQXNCO2tCQWpCbEMsU0FBUzsrQkFDSSxpQkFBaUIsbUJBR1YsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ0wsZUFBZTt3QkFDZixJQUFJO3dCQUNKLDRCQUE0Qjt3QkFDNUIsZ0JBQWdCO3dCQUNoQixVQUFVO3dCQUNWLGdCQUFnQjt3QkFDaEIsb0JBQW9CO3dCQUNwQixLQUFLO3FCQUNSOzhCQUdRLElBQUk7c0JBQVosS0FBSztnQkFJRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQVNJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29ubmVjdGVkUG9zaXRpb259IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7RXZvRHJvcGRvd25PcmlnaW5EaXJlY3RpdmV9IGZyb20gJy4uLy4uL2V2by1kcm9wZG93bic7XG5pbXBvcnQge05hdkl0ZW19IGZyb20gJy4uL3R5cGVzL25hdi1pdGVtJztcbmltcG9ydCB7RXZvRHJvcGRvd25Db21wb25lbnR9IGZyb20gJy4uLy4uL2V2by1kcm9wZG93bi9ldm8tZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7Um91dGVyTGluaywgUm91dGVyTGlua0FjdGl2ZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7RXZvRHJvcGRvd25PcmlnaW5EaXJlY3RpdmUgYXMgRXZvRHJvcGRvd25PcmlnaW5EaXJlY3RpdmVfMX0gZnJvbSAnLi4vLi4vZXZvLWRyb3Bkb3duL2V2by1kcm9wZG93bi1vcmlnaW4uZGlyZWN0aXZlJztcbmltcG9ydCB7TmdGb3IsIE5nSWYsIE5nVGVtcGxhdGVPdXRsZXR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0V2b0xldERpcmVjdGl2ZX0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlcy9ldm8tbGV0L2V2by1sZXQuZGlyZWN0aXZlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdldm8tbmF2YmFyLWl0ZW0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ldm8tbmF2YmFyLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2V2by1uYXZiYXItaXRlbS5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBFdm9MZXREaXJlY3RpdmUsXG4gICAgICAgIE5nSWYsXG4gICAgICAgIEV2b0Ryb3Bkb3duT3JpZ2luRGlyZWN0aXZlXzEsXG4gICAgICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgICAgIFJvdXRlckxpbmssXG4gICAgICAgIFJvdXRlckxpbmtBY3RpdmUsXG4gICAgICAgIEV2b0Ryb3Bkb3duQ29tcG9uZW50LFxuICAgICAgICBOZ0ZvcixcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBFdm9OYXZiYXJJdGVtQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBpdGVtITogTmF2SXRlbTtcbiAgICAvKipcbiAgICAgKiBJcyBhIHNlY29uZGFyeSBsaW5rXG4gICAgICovXG4gICAgQElucHV0KCkgaXNOZXN0ZWQ/OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGlzTW9iaWxlVmlldz86IGJvb2xlYW47XG4gICAgQElucHV0KCkgc3ViTWVudVBvc2l0aW9uczogQ29ubmVjdGVkUG9zaXRpb25bXSA9IFtcbiAgICAgICAge1xuICAgICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgICAgIH0sXG4gICAgXTtcblxuICAgIEBPdXRwdXQoKSBvcGVuU3ViTWVudSA9IG5ldyBFdmVudEVtaXR0ZXI8RXZvRHJvcGRvd25PcmlnaW5EaXJlY3RpdmU+KCk7XG4gICAgQE91dHB1dCgpIGNsb3NlU3ViTWVudSA9IG5ldyBFdmVudEVtaXR0ZXI8RXZvRHJvcGRvd25PcmlnaW5EaXJlY3RpdmU+KCk7XG5cbiAgICB0b2dnbGUob3JpZ2luOiBFdm9Ecm9wZG93bk9yaWdpbkRpcmVjdGl2ZSkge1xuICAgICAgICBpZiAob3JpZ2luLmlzRHJvcGRvd25PcGVuKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlU3ViTWVudS5lbWl0KG9yaWdpbik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm9wZW5TdWJNZW51LmVtaXQob3JpZ2luKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9wZW4ob3JpZ2luOiBFdm9Ecm9wZG93bk9yaWdpbkRpcmVjdGl2ZSkge1xuICAgICAgICBpZiAoIW9yaWdpbi5pc0Ryb3Bkb3duT3Blbikge1xuICAgICAgICAgICAgdGhpcy5vcGVuU3ViTWVudS5lbWl0KG9yaWdpbik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjbG9zZShvcmlnaW46IEV2b0Ryb3Bkb3duT3JpZ2luRGlyZWN0aXZlKSB7XG4gICAgICAgIGlmIChvcmlnaW4uaXNEcm9wZG93bk9wZW4pIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2VTdWJNZW51LmVtaXQob3JpZ2luKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjwhLS0gVE9ETzogZGVsZXRlICRhbnkgYWxpYXMgYWZ0ZXIgdXBkYXRlIHRvIG5nMTItLT5cbjxuZy1jb250YWluZXIgKmV2b0xldD1cIiRhbnkoaXRlbSkgYXMgbGlua0l0ZW1cIj5cbiAgICA8YVxuICAgICAgICAqbmdJZj1cImxpbmtJdGVtLmhyZWY7IGVsc2Ugcm91dGVyTGlua1wiXG4gICAgICAgICNvcmlnaW49XCJldm9Ecm9wZG93bk9yaWdpblwiXG4gICAgICAgIGV2b0Ryb3Bkb3duT3JpZ2luXG4gICAgICAgIGNsYXNzPVwiZXZvLW5hdmJhcl9fbGluayBldm8tbmF2YmFyX19saW5rX2V4dGVybmFsXCJcbiAgICAgICAgW2F0dHIuaHJlZl09XCJsaW5rSXRlbS5ocmVmXCJcbiAgICAgICAgW2F0dHIudGFyZ2V0XT1cImxpbmtJdGVtLnRhcmdldFwiXG4gICAgICAgIFtjbGFzcy5ldm8tbmF2YmFyX19saW5rX25lc3RlZF09XCJpc05lc3RlZFwiXG4gICAgICAgIFtjbGFzcy5ldm8tbmF2YmFyX19saW5rX2hpZ2hsaWdodGVkXT1cIm9yaWdpbi5pc0Ryb3Bkb3duT3BlblwiXG4gICAgICAgIChtb3VzZWVudGVyKT1cIm9wZW4ob3JpZ2luKVwiXG4gICAgICAgIChtb3VzZWxlYXZlKT1cImNsb3NlKG9yaWdpbilcIlxuICAgID5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJldm8tbmF2YmFyX19saW5rLXRpdGxlXCI+e3sgbGlua0l0ZW0udGl0bGUgfX08L3NwYW4+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInN1Yk5hdjsgY29udGV4dDoge29yaWdpbjogb3JpZ2lufVwiIC8+XG4gICAgPC9hPlxuXG4gICAgPG5nLXRlbXBsYXRlICNyb3V0ZXJMaW5rPlxuICAgICAgICA8bmctY29udGFpbmVyICpldm9MZXQ9XCJpc01vYmlsZVZpZXcgJiYgISFsaW5rSXRlbS5zdWJJdGVtcz8ubGVuZ3RoIGFzIGlzUm9vdEl0ZW1KdXN0T3BlblN1Yk1lbnVcIj5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJpc1Jvb3RJdGVtSnVzdE9wZW5TdWJNZW51OyBlbHNlIGRlZmF1bHRSb290SXRlbVwiXG4gICAgICAgICAgICAgICAgI29yaWdpbj1cImV2b0Ryb3Bkb3duT3JpZ2luXCJcbiAgICAgICAgICAgICAgICBldm9Ecm9wZG93bk9yaWdpblxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZXZvLW5hdmJhcl9fbGlua1wiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmV2by1uYXZiYXJfX2xpbmtfaGlnaGxpZ2h0ZWRdPVwib3JpZ2luLmlzRHJvcGRvd25PcGVuXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlKG9yaWdpbilcIlxuICAgICAgICAgICAgICAgIChtb3VzZWxlYXZlKT1cImNsb3NlKG9yaWdpbilcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXZvLW5hdmJhcl9fbGluay10aXRsZVwiPnt7IGxpbmtJdGVtLnRpdGxlIH19PC9zcGFuPlxuXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInN1Yk5hdjsgY29udGV4dDoge29yaWdpbjogb3JpZ2lufVwiIC8+XG4gICAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFJvb3RJdGVtPlxuICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICNvcmlnaW49XCJldm9Ecm9wZG93bk9yaWdpblwiXG4gICAgICAgICAgICAgICAgICAgIGV2b0Ryb3Bkb3duT3JpZ2luXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXZvLW5hdmJhcl9fbGlua1wiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5ldm8tbmF2YmFyX19saW5rX25lc3RlZF09XCJpc05lc3RlZFwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5ldm8tbmF2YmFyX19saW5rX2hpZ2hsaWdodGVkXT1cIm9yaWdpbi5pc0Ryb3Bkb3duT3BlblwiXG4gICAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cImxpbmtJdGVtLnJvdXRlckxpbmtcIlxuICAgICAgICAgICAgICAgICAgICBbcm91dGVyTGlua0FjdGl2ZV09XCJpc05lc3RlZCA/IFsnZXZvLW5hdmJhcl9fbGlua19hY3RpdmUnXSA6IFtdXCJcbiAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtBY3RpdmVPcHRpb25zXT1cIntleGFjdDogISFsaW5rSXRlbS5pc0V4YWN0UGF0aH1cIlxuICAgICAgICAgICAgICAgICAgICBbcHJlc2VydmVGcmFnbWVudF09XCIhIWxpbmtJdGVtLnByZXNlcnZlRnJhZ21lbnRcIlxuICAgICAgICAgICAgICAgICAgICBbcXVlcnlQYXJhbXNIYW5kbGluZ109XCJsaW5rSXRlbS5xdWVyeVBhcmFtc0hhbmRsaW5nXCJcbiAgICAgICAgICAgICAgICAgICAgW2ZyYWdtZW50XT1cImxpbmtJdGVtLmZyYWdtZW50XCJcbiAgICAgICAgICAgICAgICAgICAgW3F1ZXJ5UGFyYW1zXT1cImxpbmtJdGVtLnF1ZXJ5UGFyYW1zXCJcbiAgICAgICAgICAgICAgICAgICAgW3NraXBMb2NhdGlvbkNoYW5nZV09XCJsaW5rSXRlbS5za2lwTG9jYXRpb25DaGFuZ2VcIlxuICAgICAgICAgICAgICAgICAgICBbcmVwbGFjZVVybF09XCJsaW5rSXRlbS5yZXBsYWNlVXJsXCJcbiAgICAgICAgICAgICAgICAgICAgW3N0YXRlXT1cImxpbmtJdGVtLnN0YXRlXCJcbiAgICAgICAgICAgICAgICAgICAgKG1vdXNlZW50ZXIpPVwib3BlbihvcmlnaW4pXCJcbiAgICAgICAgICAgICAgICAgICAgKG1vdXNlbGVhdmUpPVwiY2xvc2Uob3JpZ2luKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImV2by1uYXZiYXJfX2xpbmstdGl0bGVcIj57eyBsaW5rSXRlbS50aXRsZSB9fTwvc3Bhbj5cblxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic3ViTmF2OyBjb250ZXh0OiB7b3JpZ2luOiBvcmlnaW59XCIgLz5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLXRlbXBsYXRlICNzdWJOYXYgbGV0LW9yaWdpbj1cIm9yaWdpblwiPlxuICAgICAgICA8ZXZvLWRyb3Bkb3duXG4gICAgICAgICAgICAqbmdJZj1cImxpbmtJdGVtLnN1Ykl0ZW1zPy5sZW5ndGhcIlxuICAgICAgICAgICAgW3Bvc2l0aW9uc109XCJzdWJNZW51UG9zaXRpb25zXCJcbiAgICAgICAgICAgIFtkcm9wZG93bk9yaWdpbl09XCJvcmlnaW5cIlxuICAgICAgICAgICAgWyhpc09wZW4pXT1cIm9yaWdpbi5pc0Ryb3Bkb3duT3BlblwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPVwiZXZvLW5hdmJhcl9fc3ViXCIgKG1vdXNlZW50ZXIpPVwib3BlbihvcmlnaW4pXCIgKG1vdXNlbGVhdmUpPVwiY2xvc2Uob3JpZ2luKVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldm8tbmF2YmFyX19zdWItY29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZXZvLW5hdmJhci1pdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgc3ViSXRlbSBvZiBsaW5rSXRlbS5zdWJJdGVtc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaXRlbV09XCJzdWJJdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpc05lc3RlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpc01vYmlsZVZpZXddPVwiaXNNb2JpbGVWaWV3XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjbG9zZShvcmlnaW4pXCJcbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgPC9ldm8tZHJvcGRvd24+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctY29udGFpbmVyPlxuIl19
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLW5hdmJhci1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V2by11aS1raXQvc3JjL2xpYi9jb21wb25lbnRzL2V2by1uYXZiYXIvZXZvLW5hdmJhci1pdGVtL2V2by1uYXZiYXItaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldm8tdWkta2l0L3NyYy9saWIvY29tcG9uZW50cy9ldm8tbmF2YmFyL2V2by1uYXZiYXItaXRlbS9ldm8tbmF2YmFyLWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXRILE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBRTlELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBQyxVQUFVLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RCxPQUFPLEVBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzlELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQzs7QUFxQjlFLE1BQU0sT0FBTyxzQkFBc0I7SUFqQm5DO1FBd0JhLHFCQUFnQixHQUF3QjtZQUM3QztnQkFDSSxPQUFPLEVBQUUsT0FBTztnQkFDaEIsT0FBTyxFQUFFLFFBQVE7Z0JBQ2pCLFFBQVEsRUFBRSxPQUFPO2dCQUNqQixRQUFRLEVBQUUsS0FBSzthQUNsQjtTQUNKLENBQUM7UUFFUSxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUE4QixDQUFDO1FBQzdELGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQThCLENBQUM7S0F1QzNFO0lBbkNHLElBQTRCLEVBQUU7UUFDMUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQTBCLE9BQU87UUFDN0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUM3QixDQUFDO0lBRUQsTUFBTTtRQUNGLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2hELENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQy9DLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBSTtRQUNBLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDL0MsQ0FBQztJQUNMLENBQUM7SUFFRCxLQUFLO1FBQ0QsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDaEQsQ0FBQztJQUNMLENBQUM7SUFFRCxhQUFhO1FBQ1QsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQztJQUM5QyxDQUFDO0lBRVMsWUFBWSxDQUFDLElBQWE7UUFDaEMsT0FBTyxNQUFNLElBQUksSUFBSSxDQUFDO0lBQzFCLENBQUM7K0dBdkRRLHNCQUFzQjttR0FBdEIsc0JBQXNCLHliQzVCbkMsczlIQTRGQSxtdkNEaEVhLHNCQUFzQix3S0FWM0IsZUFBZSx5RUFFZiwwQkFBMEIsaUdBQzFCLGdCQUFnQixvSkFDaEIsVUFBVSxvT0FDVixnQkFBZ0IsOE1BQ2hCLG9CQUFvQjs7NEZBSWYsc0JBQXNCO2tCQWpCbEMsU0FBUzsrQkFDSSxpQkFBaUIsbUJBR1YsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ0wsZUFBZTt3QkFDZixJQUFJO3dCQUNKLDBCQUEwQjt3QkFDMUIsZ0JBQWdCO3dCQUNoQixVQUFVO3dCQUNWLGdCQUFnQjt3QkFDaEIsb0JBQW9CO3dCQUNwQixLQUFLO3FCQUNSOzhCQUdRLElBQUk7c0JBQVosS0FBSztnQkFJRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQVNJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFFYyxjQUFjO3NCQUFsQyxTQUFTO3VCQUFDLFFBQVE7Z0JBRVMsRUFBRTtzQkFBN0IsV0FBVzt1QkFBQyxTQUFTO2dCQUlJLE9BQU87c0JBQWhDLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29ubmVjdGVkUG9zaXRpb259IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7RXZvRHJvcGRvd25PcmlnaW5EaXJlY3RpdmV9IGZyb20gJy4uLy4uL2V2by1kcm9wZG93bic7XG5pbXBvcnQge05hdkl0ZW19IGZyb20gJy4uL3R5cGVzL25hdi1pdGVtJztcbmltcG9ydCB7RXZvRHJvcGRvd25Db21wb25lbnR9IGZyb20gJy4uLy4uL2V2by1kcm9wZG93bi9ldm8tZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7Um91dGVyTGluaywgUm91dGVyTGlua0FjdGl2ZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7TmdGb3IsIE5nSWYsIE5nVGVtcGxhdGVPdXRsZXR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0V2b0xldERpcmVjdGl2ZX0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlcy9ldm8tbGV0L2V2by1sZXQuZGlyZWN0aXZlJztcbmltcG9ydCB7TmF2SXRlbU1haW5JbmZvfSBmcm9tICcuLi9pbnRlcmZhY2VzL25hdi1pdGVtLW1haW4taW5mbyc7XG5pbXBvcnQge05hdkl0ZW1IcmVmfSBmcm9tICcuLi9pbnRlcmZhY2VzL25hdi1pdGVtLmhyZWYnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2V2by1uYXZiYXItaXRlbScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2V2by1uYXZiYXItaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZXZvLW5hdmJhci1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIEV2b0xldERpcmVjdGl2ZSxcbiAgICAgICAgTmdJZixcbiAgICAgICAgRXZvRHJvcGRvd25PcmlnaW5EaXJlY3RpdmUsXG4gICAgICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgICAgIFJvdXRlckxpbmssXG4gICAgICAgIFJvdXRlckxpbmtBY3RpdmUsXG4gICAgICAgIEV2b0Ryb3Bkb3duQ29tcG9uZW50LFxuICAgICAgICBOZ0ZvcixcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBFdm9OYXZiYXJJdGVtQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBpdGVtITogTmF2SXRlbTtcbiAgICAvKipcbiAgICAgKiBJcyBhIHNlY29uZGFyeSBsaW5rXG4gICAgICovXG4gICAgQElucHV0KCkgaXNOZXN0ZWQ/OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGlzTW9iaWxlVmlldz86IGJvb2xlYW47XG4gICAgQElucHV0KCkgc3ViTWVudVBvc2l0aW9uczogQ29ubmVjdGVkUG9zaXRpb25bXSA9IFtcbiAgICAgICAge1xuICAgICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgICAgIH0sXG4gICAgXTtcblxuICAgIEBPdXRwdXQoKSBvcGVuU3ViTWVudSA9IG5ldyBFdmVudEVtaXR0ZXI8RXZvRHJvcGRvd25PcmlnaW5EaXJlY3RpdmU+KCk7XG4gICAgQE91dHB1dCgpIGNsb3NlU3ViTWVudSA9IG5ldyBFdmVudEVtaXR0ZXI8RXZvRHJvcGRvd25PcmlnaW5EaXJlY3RpdmU+KCk7XG5cbiAgICBAVmlld0NoaWxkKCdvcmlnaW4nKSBkcm9wZG93bk9yaWdpbjogRXZvRHJvcGRvd25PcmlnaW5EaXJlY3RpdmU7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKSBnZXQgaWQoKTogTmF2SXRlbVsnaWQnXSB7XG4gICAgICAgIHJldHVybiB0aGlzLml0ZW0uaWQgfHwgJyc7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGdldCBuZ0NsYXNzKCk6IE5hdkl0ZW1bJ25nQ2xhc3MnXSB7XG4gICAgICAgIHJldHVybiB0aGlzLml0ZW0ubmdDbGFzcztcbiAgICB9XG5cbiAgICB0b2dnbGUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzU3ViTWVudU9wZW4oKSkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZVN1Yk1lbnUuZW1pdCh0aGlzLmRyb3Bkb3duT3JpZ2luKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMub3BlblN1Yk1lbnUuZW1pdCh0aGlzLmRyb3Bkb3duT3JpZ2luKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9wZW4oKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5pc1N1Yk1lbnVPcGVuKCkpIHtcbiAgICAgICAgICAgIHRoaXMub3BlblN1Yk1lbnUuZW1pdCh0aGlzLmRyb3Bkb3duT3JpZ2luKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNsb3NlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc1N1Yk1lbnVPcGVuKCkpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2VTdWJNZW51LmVtaXQodGhpcy5kcm9wZG93bk9yaWdpbik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpc1N1Yk1lbnVPcGVuKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kcm9wZG93bk9yaWdpbi5pc0Ryb3Bkb3duT3BlbjtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgaXNOYXRpdmVMaW5rKGl0ZW06IE5hdkl0ZW0pOiBpdGVtIGlzIE5hdkl0ZW1NYWluSW5mbyAmIE5hdkl0ZW1IcmVmIHtcbiAgICAgICAgcmV0dXJuICdocmVmJyBpbiBpdGVtO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKmV2b0xldD1cImlzTW9iaWxlVmlldyAmJiAhIWl0ZW0uc3ViSXRlbXM/Lmxlbmd0aCBhcyBpc1Jvb3RJdGVtSnVzdE9wZW5TdWJNZW51XCI+XG4gICAgQGlmIChpc05hdGl2ZUxpbmsoaXRlbSkpIHtcbiAgICAgICAgQGlmIChpc1Jvb3RJdGVtSnVzdE9wZW5TdWJNZW51KSB7XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICNvcmlnaW49XCJldm9Ecm9wZG93bk9yaWdpblwiXG4gICAgICAgICAgICAgICAgZXZvRHJvcGRvd25PcmlnaW5cbiAgICAgICAgICAgICAgICBjbGFzcz1cImV2by1uYXZiYXJfX2xpbmsgZXZvLW5hdmJhcl9fbGlua19leHRlcm5hbFwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmV2by1uYXZiYXJfX2xpbmtfaGlnaGxpZ2h0ZWRdPVwib3JpZ2luLmlzRHJvcGRvd25PcGVuXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlKClcIlxuICAgICAgICAgICAgICAgIChtb3VzZWxlYXZlKT1cImNsb3NlKClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXZvLW5hdmJhcl9fbGluay10aXRsZVwiPnt7IGl0ZW0udGl0bGUgfX08L3NwYW4+XG5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic3ViTmF2OyBjb250ZXh0OiB7b3JpZ2luOiBvcmlnaW59XCIgLz5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICNvcmlnaW49XCJldm9Ecm9wZG93bk9yaWdpblwiXG4gICAgICAgICAgICAgICAgZXZvRHJvcGRvd25PcmlnaW5cbiAgICAgICAgICAgICAgICBjbGFzcz1cImV2by1uYXZiYXJfX2xpbmsgZXZvLW5hdmJhcl9fbGlua19leHRlcm5hbFwiXG4gICAgICAgICAgICAgICAgW2F0dHIuaHJlZl09XCJpdGVtLmhyZWZcIlxuICAgICAgICAgICAgICAgIFthdHRyLnRhcmdldF09XCJpdGVtLnRhcmdldFwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmV2by1uYXZiYXJfX2xpbmtfbmVzdGVkXT1cImlzTmVzdGVkXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuZXZvLW5hdmJhcl9fbGlua19oaWdobGlnaHRlZF09XCJvcmlnaW4uaXNEcm9wZG93bk9wZW5cIlxuICAgICAgICAgICAgICAgIChtb3VzZWVudGVyKT1cIm9wZW4oKVwiXG4gICAgICAgICAgICAgICAgKG1vdXNlbGVhdmUpPVwiY2xvc2UoKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJldm8tbmF2YmFyX19saW5rLXRpdGxlXCI+e3sgaXRlbS50aXRsZSB9fTwvc3Bhbj5cblxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzdWJOYXY7IGNvbnRleHQ6IHtvcmlnaW46IG9yaWdpbn1cIiAvPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEBpZiAoaXNSb290SXRlbUp1c3RPcGVuU3ViTWVudSkge1xuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAjb3JpZ2luPVwiZXZvRHJvcGRvd25PcmlnaW5cIlxuICAgICAgICAgICAgICAgIGV2b0Ryb3Bkb3duT3JpZ2luXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJldm8tbmF2YmFyX19saW5rXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuZXZvLW5hdmJhcl9fbGlua19oaWdobGlnaHRlZF09XCJvcmlnaW4uaXNEcm9wZG93bk9wZW5cIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGUoKVwiXG4gICAgICAgICAgICAgICAgKG1vdXNlbGVhdmUpPVwiY2xvc2UoKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJldm8tbmF2YmFyX19saW5rLXRpdGxlXCI+e3sgaXRlbS50aXRsZSB9fTwvc3Bhbj5cblxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzdWJOYXY7IGNvbnRleHQ6IHtvcmlnaW46IG9yaWdpbn1cIiAvPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgI29yaWdpbj1cImV2b0Ryb3Bkb3duT3JpZ2luXCJcbiAgICAgICAgICAgICAgICBldm9Ecm9wZG93bk9yaWdpblxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZXZvLW5hdmJhcl9fbGlua1wiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmV2by1uYXZiYXJfX2xpbmtfbmVzdGVkXT1cImlzTmVzdGVkXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuZXZvLW5hdmJhcl9fbGlua19oaWdobGlnaHRlZF09XCJvcmlnaW4uaXNEcm9wZG93bk9wZW5cIlxuICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIml0ZW0ucm91dGVyTGlua1wiXG4gICAgICAgICAgICAgICAgW3JvdXRlckxpbmtBY3RpdmVdPVwiaXNOZXN0ZWQgPyBbJ2V2by1uYXZiYXJfX2xpbmtfYWN0aXZlJ10gOiBbXVwiXG4gICAgICAgICAgICAgICAgW3JvdXRlckxpbmtBY3RpdmVPcHRpb25zXT1cIntleGFjdDogISFpdGVtLmlzRXhhY3RQYXRofVwiXG4gICAgICAgICAgICAgICAgW3ByZXNlcnZlRnJhZ21lbnRdPVwiISFpdGVtLnByZXNlcnZlRnJhZ21lbnRcIlxuICAgICAgICAgICAgICAgIFtxdWVyeVBhcmFtc0hhbmRsaW5nXT1cIml0ZW0ucXVlcnlQYXJhbXNIYW5kbGluZ1wiXG4gICAgICAgICAgICAgICAgW2ZyYWdtZW50XT1cIml0ZW0uZnJhZ21lbnRcIlxuICAgICAgICAgICAgICAgIFtxdWVyeVBhcmFtc109XCJpdGVtLnF1ZXJ5UGFyYW1zXCJcbiAgICAgICAgICAgICAgICBbc2tpcExvY2F0aW9uQ2hhbmdlXT1cIml0ZW0uc2tpcExvY2F0aW9uQ2hhbmdlXCJcbiAgICAgICAgICAgICAgICBbcmVwbGFjZVVybF09XCJpdGVtLnJlcGxhY2VVcmxcIlxuICAgICAgICAgICAgICAgIFtzdGF0ZV09XCJpdGVtLnN0YXRlXCJcbiAgICAgICAgICAgICAgICAobW91c2VlbnRlcik9XCJvcGVuKClcIlxuICAgICAgICAgICAgICAgIChtb3VzZWxlYXZlKT1cImNsb3NlKClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXZvLW5hdmJhcl9fbGluay10aXRsZVwiPnt7IGl0ZW0udGl0bGUgfX08L3NwYW4+XG5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic3ViTmF2OyBjb250ZXh0OiB7b3JpZ2luOiBvcmlnaW59XCIgLz5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgfVxuICAgIH1cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI3N1Yk5hdiBsZXQtb3JpZ2luPVwib3JpZ2luXCI+XG4gICAgQGlmIChpdGVtLnN1Ykl0ZW1zPy5sZW5ndGgpIHtcbiAgICAgICAgPGV2by1kcm9wZG93biBbcG9zaXRpb25zXT1cInN1Yk1lbnVQb3NpdGlvbnNcIiBbZHJvcGRvd25PcmlnaW5dPVwib3JpZ2luXCIgWyhpc09wZW4pXT1cIm9yaWdpbi5pc0Ryb3Bkb3duT3BlblwiPlxuICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJldm8tbmF2YmFyX19zdWJcIiAobW91c2VlbnRlcik9XCJvcGVuKClcIiAobW91c2VsZWF2ZSk9XCJjbG9zZSgpXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2by1uYXZiYXJfX3N1Yi1jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgIEBmb3IgKHN1Ykl0ZW0gb2YgaXRlbS5zdWJJdGVtczsgdHJhY2sgc3ViSXRlbS50aXRsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGV2by1uYXZiYXItaXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpdGVtXT1cInN1Ykl0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpc05lc3RlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaXNNb2JpbGVWaWV3XT1cImlzTW9iaWxlVmlld1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICA8L2V2by1kcm9wZG93bj5cbiAgICB9XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -1,4 +1,4 @@
1
- import { ChangeDetectionStrategy, Component, Inject, Input } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, Inject, Input, ViewChildren } from '@angular/core';
2
2
  import { MOBILE_VIEW } from '../../common/constants/view-breakpoint-streams';
3
3
  import { AsyncPipe } from '@angular/common';
4
4
  import { EvoNavbarItemComponent } from './evo-navbar-item/evo-navbar-item.component';
@@ -30,7 +30,7 @@ export class EvoNavbarComponent {
30
30
  this.lastOpenedSubMenu = undefined;
31
31
  }
32
32
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoNavbarComponent, deps: [{ token: MOBILE_VIEW }], target: i0.ɵɵFactoryTarget.Component }); }
33
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.10", type: EvoNavbarComponent, isStandalone: true, selector: "evo-navbar", inputs: { subMenuPositions: "subMenuPositions", items: "items" }, ngImport: i0, template: "<nav class=\"evo-navbar\" (scroll)=\"closeLastOpenedSubMenu()\">\n @for (item of items; track item.title) {\n <evo-navbar-item\n [item]=\"item\"\n [isMobileView]=\"isMobileView$ | async\"\n [subMenuPositions]=\"subMenuPositions\"\n (openSubMenu)=\"openSubMenu($event)\"\n (closeSubMenu)=\"closeSubMenu($event)\"\n />\n }\n</nav>\n", styles: [":host{display:block}.evo-navbar{display:flex;flex-wrap:nowrap;padding:0 8px;overflow:auto;background:#f4f6f8;border-radius:8px;-ms-overflow-style:none;scrollbar-width:none}.evo-navbar::-webkit-scrollbar{display:none}\n"], dependencies: [{ kind: "component", type: EvoNavbarItemComponent, selector: "evo-navbar-item", inputs: ["item", "isNested", "isMobileView", "subMenuPositions"], outputs: ["openSubMenu", "closeSubMenu"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
33
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.10", type: EvoNavbarComponent, isStandalone: true, selector: "evo-navbar", inputs: { subMenuPositions: "subMenuPositions", items: "items" }, viewQueries: [{ propertyName: "children", predicate: EvoNavbarItemComponent, descendants: true }], ngImport: i0, template: "<nav class=\"evo-navbar\" (scroll)=\"closeLastOpenedSubMenu()\">\n @for (item of items; track item.title) {\n <evo-navbar-item\n [item]=\"item\"\n [isMobileView]=\"isMobileView$ | async\"\n [subMenuPositions]=\"subMenuPositions\"\n (openSubMenu)=\"openSubMenu($event)\"\n (closeSubMenu)=\"closeSubMenu($event)\"\n />\n }\n</nav>\n", styles: [":host{display:block}.evo-navbar{display:flex;flex-wrap:nowrap;padding:0 8px;overflow:auto;background:#f4f6f8;border-radius:8px;-ms-overflow-style:none;scrollbar-width:none}.evo-navbar::-webkit-scrollbar{display:none}\n"], dependencies: [{ kind: "component", type: EvoNavbarItemComponent, selector: "evo-navbar-item", inputs: ["item", "isNested", "isMobileView", "subMenuPositions"], outputs: ["openSubMenu", "closeSubMenu"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
34
34
  }
35
35
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoNavbarComponent, decorators: [{
36
36
  type: Component,
@@ -42,5 +42,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
42
42
  type: Input
43
43
  }], items: [{
44
44
  type: Input
45
+ }], children: [{
46
+ type: ViewChildren,
47
+ args: [EvoNavbarItemComponent]
45
48
  }] } });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLW5hdmJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldm8tdWkta2l0L3NyYy9saWIvY29tcG9uZW50cy9ldm8tbmF2YmFyL2V2by1uYXZiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLW5hdmJhci9ldm8tbmF2YmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUdoRixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFHM0UsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDZDQUE2QyxDQUFDOzs7QUFVbkYsTUFBTSxPQUFPLGtCQUFrQjtJQU0zQixZQUVhLGFBQWtDO1FBQWxDLGtCQUFhLEdBQWIsYUFBYSxDQUFxQjtJQUM1QyxDQUFDO0lBRUosc0JBQXNCO1FBQ2xCLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM5QyxDQUFDO0lBQ0wsQ0FBQztJQUVELGFBQWEsQ0FBQyxNQUFrQztRQUM1QyxJQUFJLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlCLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3QixDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFrQztRQUMxQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDZCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsTUFBTSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxZQUFZLENBQUMsTUFBa0M7UUFDM0MsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2YsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFNBQVMsQ0FBQztJQUN2QyxDQUFDOytHQWpDUSxrQkFBa0Isa0JBT2YsV0FBVzttR0FQZCxrQkFBa0Isd0lDakIvQix1WkFXQSxvUkRJYyxzQkFBc0IsbUtBQUUsU0FBUzs7NEZBRWxDLGtCQUFrQjtrQkFSOUIsU0FBUzsrQkFDSSxZQUFZLG1CQUdMLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsc0JBQXNCLEVBQUUsU0FBUyxDQUFDOzswQkFTdkMsTUFBTTsyQkFBQyxXQUFXO3lDQU5kLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEluamVjdCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb25uZWN0ZWRQb3NpdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7TU9CSUxFX1ZJRVd9IGZyb20gJy4uLy4uL2NvbW1vbi9jb25zdGFudHMvdmlldy1icmVha3BvaW50LXN0cmVhbXMnO1xuaW1wb3J0IHtFdm9Ecm9wZG93bk9yaWdpbkRpcmVjdGl2ZX0gZnJvbSAnLi4vZXZvLWRyb3Bkb3duJztcbmltcG9ydCB7TmF2SXRlbX0gZnJvbSAnLi90eXBlcy9uYXYtaXRlbSc7XG5pbXBvcnQge0FzeW5jUGlwZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7RXZvTmF2YmFySXRlbUNvbXBvbmVudH0gZnJvbSAnLi9ldm8tbmF2YmFyLWl0ZW0vZXZvLW5hdmJhci1pdGVtLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXZvLW5hdmJhcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2V2by1uYXZiYXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2V2by1uYXZiYXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtFdm9OYXZiYXJJdGVtQ29tcG9uZW50LCBBc3luY1BpcGVdLFxufSlcbmV4cG9ydCBjbGFzcyBFdm9OYXZiYXJDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIHN1Yk1lbnVQb3NpdGlvbnM/OiBDb25uZWN0ZWRQb3NpdGlvbltdO1xuICAgIEBJbnB1dCgpIGl0ZW1zITogTmF2SXRlbVtdO1xuXG4gICAgbGFzdE9wZW5lZFN1Yk1lbnU/OiBFdm9Ecm9wZG93bk9yaWdpbkRpcmVjdGl2ZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KE1PQklMRV9WSUVXKVxuICAgICAgICByZWFkb25seSBpc01vYmlsZVZpZXckOiBPYnNlcnZhYmxlPGJvb2xlYW4+LFxuICAgICkge31cblxuICAgIGNsb3NlTGFzdE9wZW5lZFN1Yk1lbnUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmxhc3RPcGVuZWRTdWJNZW51KSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlU3ViTWVudSh0aGlzLmxhc3RPcGVuZWRTdWJNZW51KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRvZ2dsZVN1Yk1lbnUob3JpZ2luOiBFdm9Ecm9wZG93bk9yaWdpbkRpcmVjdGl2ZSk6IHZvaWQge1xuICAgICAgICBpZiAob3JpZ2luLmlzRHJvcGRvd25PcGVuKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlU3ViTWVudShvcmlnaW4pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5vcGVuU3ViTWVudShvcmlnaW4pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb3BlblN1Yk1lbnUob3JpZ2luOiBFdm9Ecm9wZG93bk9yaWdpbkRpcmVjdGl2ZSk6IHZvaWQge1xuICAgICAgICBvcmlnaW4ub3BlbigpO1xuICAgICAgICB0aGlzLmxhc3RPcGVuZWRTdWJNZW51ID0gb3JpZ2luO1xuICAgIH1cblxuICAgIGNsb3NlU3ViTWVudShvcmlnaW46IEV2b0Ryb3Bkb3duT3JpZ2luRGlyZWN0aXZlKTogdm9pZCB7XG4gICAgICAgIG9yaWdpbi5jbG9zZSgpO1xuICAgICAgICB0aGlzLmxhc3RPcGVuZWRTdWJNZW51ID0gdW5kZWZpbmVkO1xuICAgIH1cbn1cbiIsIjxuYXYgY2xhc3M9XCJldm8tbmF2YmFyXCIgKHNjcm9sbCk9XCJjbG9zZUxhc3RPcGVuZWRTdWJNZW51KClcIj5cbiAgICBAZm9yIChpdGVtIG9mIGl0ZW1zOyB0cmFjayBpdGVtLnRpdGxlKSB7XG4gICAgICAgIDxldm8tbmF2YmFyLWl0ZW1cbiAgICAgICAgICAgIFtpdGVtXT1cIml0ZW1cIlxuICAgICAgICAgICAgW2lzTW9iaWxlVmlld109XCJpc01vYmlsZVZpZXckIHwgYXN5bmNcIlxuICAgICAgICAgICAgW3N1Yk1lbnVQb3NpdGlvbnNdPVwic3ViTWVudVBvc2l0aW9uc1wiXG4gICAgICAgICAgICAob3BlblN1Yk1lbnUpPVwib3BlblN1Yk1lbnUoJGV2ZW50KVwiXG4gICAgICAgICAgICAoY2xvc2VTdWJNZW51KT1cImNsb3NlU3ViTWVudSgkZXZlbnQpXCJcbiAgICAgICAgLz5cbiAgICB9XG48L25hdj5cbiJdfQ==
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLW5hdmJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldm8tdWkta2l0L3NyYy9saWIvY29tcG9uZW50cy9ldm8tbmF2YmFyL2V2by1uYXZiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLW5hdmJhci9ldm8tbmF2YmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBYSxZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHekcsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBRzNFLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQzs7O0FBVW5GLE1BQU0sT0FBTyxrQkFBa0I7SUFRM0IsWUFFYSxhQUFrQztRQUFsQyxrQkFBYSxHQUFiLGFBQWEsQ0FBcUI7SUFDNUMsQ0FBQztJQUVKLHNCQUFzQjtRQUNsQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDOUMsQ0FBQztJQUNMLENBQUM7SUFFRCxhQUFhLENBQUMsTUFBa0M7UUFDNUMsSUFBSSxNQUFNLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5QixDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0IsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXLENBQUMsTUFBa0M7UUFDMUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2QsSUFBSSxDQUFDLGlCQUFpQixHQUFHLE1BQU0sQ0FBQztJQUNwQyxDQUFDO0lBRUQsWUFBWSxDQUFDLE1BQWtDO1FBQzNDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNmLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxTQUFTLENBQUM7SUFDdkMsQ0FBQzsrR0FuQ1Esa0JBQWtCLGtCQVNmLFdBQVc7bUdBVGQsa0JBQWtCLHFLQUliLHNCQUFzQixnRENyQnhDLHVaQVdBLG9SREljLHNCQUFzQixtS0FBRSxTQUFTOzs0RkFFbEMsa0JBQWtCO2tCQVI5QixTQUFTOytCQUNJLFlBQVksbUJBR0wsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxzQkFBc0IsRUFBRSxTQUFTLENBQUM7OzBCQVd2QyxNQUFNOzJCQUFDLFdBQVc7eUNBUmQsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFFZ0MsUUFBUTtzQkFBN0MsWUFBWTt1QkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIFF1ZXJ5TGlzdCwgVmlld0NoaWxkcmVufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29ubmVjdGVkUG9zaXRpb259IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge01PQklMRV9WSUVXfSBmcm9tICcuLi8uLi9jb21tb24vY29uc3RhbnRzL3ZpZXctYnJlYWtwb2ludC1zdHJlYW1zJztcbmltcG9ydCB7RXZvRHJvcGRvd25PcmlnaW5EaXJlY3RpdmV9IGZyb20gJy4uL2V2by1kcm9wZG93bic7XG5pbXBvcnQge05hdkl0ZW19IGZyb20gJy4vdHlwZXMvbmF2LWl0ZW0nO1xuaW1wb3J0IHtBc3luY1BpcGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0V2b05hdmJhckl0ZW1Db21wb25lbnR9IGZyb20gJy4vZXZvLW5hdmJhci1pdGVtL2V2by1uYXZiYXItaXRlbS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2V2by1uYXZiYXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ldm8tbmF2YmFyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9ldm8tbmF2YmFyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbRXZvTmF2YmFySXRlbUNvbXBvbmVudCwgQXN5bmNQaXBlXSxcbn0pXG5leHBvcnQgY2xhc3MgRXZvTmF2YmFyQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBzdWJNZW51UG9zaXRpb25zPzogQ29ubmVjdGVkUG9zaXRpb25bXTtcbiAgICBASW5wdXQoKSBpdGVtcyE6IE5hdkl0ZW1bXTtcblxuICAgIEBWaWV3Q2hpbGRyZW4oRXZvTmF2YmFySXRlbUNvbXBvbmVudCkgY2hpbGRyZW46IFF1ZXJ5TGlzdDxFdm9OYXZiYXJJdGVtQ29tcG9uZW50PjtcblxuICAgIGxhc3RPcGVuZWRTdWJNZW51PzogRXZvRHJvcGRvd25PcmlnaW5EaXJlY3RpdmU7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChNT0JJTEVfVklFVylcbiAgICAgICAgcmVhZG9ubHkgaXNNb2JpbGVWaWV3JDogT2JzZXJ2YWJsZTxib29sZWFuPixcbiAgICApIHt9XG5cbiAgICBjbG9zZUxhc3RPcGVuZWRTdWJNZW51KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5sYXN0T3BlbmVkU3ViTWVudSkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZVN1Yk1lbnUodGhpcy5sYXN0T3BlbmVkU3ViTWVudSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0b2dnbGVTdWJNZW51KG9yaWdpbjogRXZvRHJvcGRvd25PcmlnaW5EaXJlY3RpdmUpOiB2b2lkIHtcbiAgICAgICAgaWYgKG9yaWdpbi5pc0Ryb3Bkb3duT3Blbikge1xuICAgICAgICAgICAgdGhpcy5jbG9zZVN1Yk1lbnUob3JpZ2luKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMub3BlblN1Yk1lbnUob3JpZ2luKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9wZW5TdWJNZW51KG9yaWdpbjogRXZvRHJvcGRvd25PcmlnaW5EaXJlY3RpdmUpOiB2b2lkIHtcbiAgICAgICAgb3JpZ2luLm9wZW4oKTtcbiAgICAgICAgdGhpcy5sYXN0T3BlbmVkU3ViTWVudSA9IG9yaWdpbjtcbiAgICB9XG5cbiAgICBjbG9zZVN1Yk1lbnUob3JpZ2luOiBFdm9Ecm9wZG93bk9yaWdpbkRpcmVjdGl2ZSk6IHZvaWQge1xuICAgICAgICBvcmlnaW4uY2xvc2UoKTtcbiAgICAgICAgdGhpcy5sYXN0T3BlbmVkU3ViTWVudSA9IHVuZGVmaW5lZDtcbiAgICB9XG59XG4iLCI8bmF2IGNsYXNzPVwiZXZvLW5hdmJhclwiIChzY3JvbGwpPVwiY2xvc2VMYXN0T3BlbmVkU3ViTWVudSgpXCI+XG4gICAgQGZvciAoaXRlbSBvZiBpdGVtczsgdHJhY2sgaXRlbS50aXRsZSkge1xuICAgICAgICA8ZXZvLW5hdmJhci1pdGVtXG4gICAgICAgICAgICBbaXRlbV09XCJpdGVtXCJcbiAgICAgICAgICAgIFtpc01vYmlsZVZpZXddPVwiaXNNb2JpbGVWaWV3JCB8IGFzeW5jXCJcbiAgICAgICAgICAgIFtzdWJNZW51UG9zaXRpb25zXT1cInN1Yk1lbnVQb3NpdGlvbnNcIlxuICAgICAgICAgICAgKG9wZW5TdWJNZW51KT1cIm9wZW5TdWJNZW51KCRldmVudClcIlxuICAgICAgICAgICAgKGNsb3NlU3ViTWVudSk9XCJjbG9zZVN1Yk1lbnUoJGV2ZW50KVwiXG4gICAgICAgIC8+XG4gICAgfVxuPC9uYXY+XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LWl0ZW0tbWFpbi1pbmZvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLW5hdmJhci9pbnRlcmZhY2VzL25hdi1pdGVtLW1haW4taW5mby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOYXZJdGVtfSBmcm9tICcuLi90eXBlcy9uYXYtaXRlbSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmF2SXRlbU1haW5JbmZvIHtcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIHN1Ykl0ZW1zPzogTmF2SXRlbVtdO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LWl0ZW0tbWFpbi1pbmZvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLW5hdmJhci9pbnRlcmZhY2VzL25hdi1pdGVtLW1haW4taW5mby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOYXZJdGVtfSBmcm9tICcuLi90eXBlcy9uYXYtaXRlbSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmF2SXRlbU1haW5JbmZvIHtcbiAgICBpZD86IHN0cmluZyB8IG51bWJlcjtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICBuZ0NsYXNzPzogc3RyaW5nIHwgc3RyaW5nW10gfCBTZXQ8c3RyaW5nPiB8IHtba2xhc3M6IHN0cmluZ106IGFueX07XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBzdWJJdGVtcz86IE5hdkl0ZW1bXTtcbn1cbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, Injectable, PLATFORM_ID, ɵstringify as _stringify, Directive, Input, EventEmitter, Output, HostListener, Optional, ViewContainerRef, TemplateRef, Inject, NgModule, CUSTOM_ELEMENTS_SCHEMA, inject, SecurityContext, Component, ChangeDetectionStrategy, HostBinding, Pipe, forwardRef, ViewChild, ViewEncapsulation, ContentChild, ElementRef, ComponentRef, Injector, ApplicationRef, ComponentFactoryResolver, Host, ContentChildren } from '@angular/core';
2
+ import { InjectionToken, Injectable, PLATFORM_ID, ɵstringify as _stringify, Directive, Input, EventEmitter, Output, HostListener, Optional, ViewContainerRef, TemplateRef, Inject, NgModule, CUSTOM_ELEMENTS_SCHEMA, inject, SecurityContext, Component, ChangeDetectionStrategy, HostBinding, Pipe, forwardRef, ViewChild, ViewEncapsulation, ContentChild, ElementRef, ComponentRef, Injector, ApplicationRef, ComponentFactoryResolver, Host, ContentChildren, ViewChildren } from '@angular/core';
3
3
  import * as i1 from '@angular/common';
4
4
  import { isPlatformBrowser, CommonModule, AsyncPipe, NgClass, NgTemplateOutlet, NgIf, NgStyle, NgFor } from '@angular/common';
5
5
  import * as i1$2 from '@angular/forms';
@@ -5972,26 +5972,38 @@ class EvoNavbarItemComponent {
5972
5972
  this.openSubMenu = new EventEmitter();
5973
5973
  this.closeSubMenu = new EventEmitter();
5974
5974
  }
5975
- toggle(origin) {
5976
- if (origin.isDropdownOpen) {
5977
- this.closeSubMenu.emit(origin);
5975
+ get id() {
5976
+ return this.item.id || '';
5977
+ }
5978
+ get ngClass() {
5979
+ return this.item.ngClass;
5980
+ }
5981
+ toggle() {
5982
+ if (this.isSubMenuOpen()) {
5983
+ this.closeSubMenu.emit(this.dropdownOrigin);
5978
5984
  }
5979
5985
  else {
5980
- this.openSubMenu.emit(origin);
5986
+ this.openSubMenu.emit(this.dropdownOrigin);
5981
5987
  }
5982
5988
  }
5983
- open(origin) {
5984
- if (!origin.isDropdownOpen) {
5985
- this.openSubMenu.emit(origin);
5989
+ open() {
5990
+ if (!this.isSubMenuOpen()) {
5991
+ this.openSubMenu.emit(this.dropdownOrigin);
5986
5992
  }
5987
5993
  }
5988
- close(origin) {
5989
- if (origin.isDropdownOpen) {
5990
- this.closeSubMenu.emit(origin);
5994
+ close() {
5995
+ if (this.isSubMenuOpen()) {
5996
+ this.closeSubMenu.emit(this.dropdownOrigin);
5991
5997
  }
5992
5998
  }
5999
+ isSubMenuOpen() {
6000
+ return this.dropdownOrigin.isDropdownOpen;
6001
+ }
6002
+ isNativeLink(item) {
6003
+ return 'href' in item;
6004
+ }
5993
6005
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoNavbarItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5994
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", type: EvoNavbarItemComponent, isStandalone: true, selector: "evo-navbar-item", inputs: { item: "item", isNested: "isNested", isMobileView: "isMobileView", subMenuPositions: "subMenuPositions" }, outputs: { openSubMenu: "openSubMenu", closeSubMenu: "closeSubMenu" }, ngImport: i0, template: "<!-- TODO: delete $any alias after update to ng12-->\n<ng-container *evoLet=\"$any(item) as linkItem\">\n <a\n *ngIf=\"linkItem.href; else routerLink\"\n #origin=\"evoDropdownOrigin\"\n evoDropdownOrigin\n class=\"evo-navbar__link evo-navbar__link_external\"\n [attr.href]=\"linkItem.href\"\n [attr.target]=\"linkItem.target\"\n [class.evo-navbar__link_nested]=\"isNested\"\n [class.evo-navbar__link_highlighted]=\"origin.isDropdownOpen\"\n (mouseenter)=\"open(origin)\"\n (mouseleave)=\"close(origin)\"\n >\n <span class=\"evo-navbar__link-title\">{{ linkItem.title }}</span>\n\n <ng-container *ngTemplateOutlet=\"subNav; context: {origin: origin}\" />\n </a>\n\n <ng-template #routerLink>\n <ng-container *evoLet=\"isMobileView && !!linkItem.subItems?.length as isRootItemJustOpenSubMenu\">\n <span\n *ngIf=\"isRootItemJustOpenSubMenu; else defaultRootItem\"\n #origin=\"evoDropdownOrigin\"\n evoDropdownOrigin\n class=\"evo-navbar__link\"\n [class.evo-navbar__link_highlighted]=\"origin.isDropdownOpen\"\n (click)=\"toggle(origin)\"\n (mouseleave)=\"close(origin)\"\n >\n <span class=\"evo-navbar__link-title\">{{ linkItem.title }}</span>\n\n <ng-container *ngTemplateOutlet=\"subNav; context: {origin: origin}\" />\n </span>\n\n <ng-template #defaultRootItem>\n <a\n #origin=\"evoDropdownOrigin\"\n evoDropdownOrigin\n class=\"evo-navbar__link\"\n [class.evo-navbar__link_nested]=\"isNested\"\n [class.evo-navbar__link_highlighted]=\"origin.isDropdownOpen\"\n [routerLink]=\"linkItem.routerLink\"\n [routerLinkActive]=\"isNested ? ['evo-navbar__link_active'] : []\"\n [routerLinkActiveOptions]=\"{exact: !!linkItem.isExactPath}\"\n [preserveFragment]=\"!!linkItem.preserveFragment\"\n [queryParamsHandling]=\"linkItem.queryParamsHandling\"\n [fragment]=\"linkItem.fragment\"\n [queryParams]=\"linkItem.queryParams\"\n [skipLocationChange]=\"linkItem.skipLocationChange\"\n [replaceUrl]=\"linkItem.replaceUrl\"\n [state]=\"linkItem.state\"\n (mouseenter)=\"open(origin)\"\n (mouseleave)=\"close(origin)\"\n >\n <span class=\"evo-navbar__link-title\">{{ linkItem.title }}</span>\n\n <ng-container *ngTemplateOutlet=\"subNav; context: {origin: origin}\" />\n </a>\n </ng-template>\n </ng-container>\n </ng-template>\n\n <ng-template #subNav let-origin=\"origin\">\n <evo-dropdown\n *ngIf=\"linkItem.subItems?.length\"\n [positions]=\"subMenuPositions\"\n [dropdownOrigin]=\"origin\"\n [(isOpen)]=\"origin.isDropdownOpen\"\n >\n <section class=\"evo-navbar__sub\" (mouseenter)=\"open(origin)\" (mouseleave)=\"close(origin)\">\n <div class=\"evo-navbar__sub-content\">\n <evo-navbar-item\n *ngFor=\"let subItem of linkItem.subItems\"\n [item]=\"subItem\"\n [isNested]=\"true\"\n [isMobileView]=\"isMobileView\"\n (click)=\"close(origin)\"\n />\n </div>\n </section>\n </evo-dropdown>\n </ng-template>\n</ng-container>\n", styles: [":host{display:block;flex-shrink:0}.evo-navbar__link{display:block;flex-shrink:0;padding:9px 8px;color:#212121;font-size:14px;line-height:22px;-webkit-user-select:none;user-select:none}@media (min-width: 768px){.evo-navbar__link:not(.evo-navbar__link_nested):hover .evo-navbar__link-title{background:#fff}}.evo-navbar__link_nested{padding:12px 16px}.evo-navbar__link_nested .evo-navbar__link-title{padding:0;font-weight:400;border-radius:0}.evo-navbar__link_nested:hover{background:#f4f6f8}.evo-navbar__link_nested.evo-navbar__link_active{color:#fff;background:#f05023}.evo-navbar__link_highlighted .evo-navbar__link-title{background:#fff}.evo-navbar__link-title{display:block;max-width:100%;padding:4px 8px;overflow:hidden;font-weight:600;white-space:nowrap;text-overflow:ellipsis;border-radius:4px}.evo-navbar__sub{--evo-navbar-dropdown-max-width: 85vw;--evo-navbar-dropdown-max-height: 310px;flex-shrink:0;max-width:85vw;max-width:var(--evo-navbar-dropdown-max-width)}.evo-navbar__sub-content{display:flex;flex-flow:column;max-height:310px;max-height:var(--evo-navbar-dropdown-max-height);margin-top:4px;overflow:auto;background:#fff;border-radius:8px;box-shadow:0 8px 10px #00000024,0 3px 14px #0000001f}\n"], dependencies: [{ kind: "component", type: EvoNavbarItemComponent, selector: "evo-navbar-item", inputs: ["item", "isNested", "isMobileView", "subMenuPositions"], outputs: ["openSubMenu", "closeSubMenu"] }, { kind: "directive", type: EvoLetDirective, selector: "[evoLet]", inputs: ["evoLet"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: EvoDropdownOriginDirective, selector: "[evoDropdownOrigin]", exportAs: ["evoDropdownOrigin"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: EvoDropdownComponent, selector: "evo-dropdown", inputs: ["scrollStrategy", "dropdownOrigin", "isOpen", "positions"], outputs: ["isOpenChange"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6006
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.10", type: EvoNavbarItemComponent, isStandalone: true, selector: "evo-navbar-item", inputs: { item: "item", isNested: "isNested", isMobileView: "isMobileView", subMenuPositions: "subMenuPositions" }, outputs: { openSubMenu: "openSubMenu", closeSubMenu: "closeSubMenu" }, host: { properties: { "attr.id": "this.id", "class": "this.ngClass" } }, viewQueries: [{ propertyName: "dropdownOrigin", first: true, predicate: ["origin"], descendants: true }], ngImport: i0, template: "<ng-container *evoLet=\"isMobileView && !!item.subItems?.length as isRootItemJustOpenSubMenu\">\n @if (isNativeLink(item)) {\n @if (isRootItemJustOpenSubMenu) {\n <span\n #origin=\"evoDropdownOrigin\"\n evoDropdownOrigin\n class=\"evo-navbar__link evo-navbar__link_external\"\n [class.evo-navbar__link_highlighted]=\"origin.isDropdownOpen\"\n (click)=\"toggle()\"\n (mouseleave)=\"close()\"\n >\n <span class=\"evo-navbar__link-title\">{{ item.title }}</span>\n\n <ng-container *ngTemplateOutlet=\"subNav; context: {origin: origin}\" />\n </span>\n } @else {\n <a\n #origin=\"evoDropdownOrigin\"\n evoDropdownOrigin\n class=\"evo-navbar__link evo-navbar__link_external\"\n [attr.href]=\"item.href\"\n [attr.target]=\"item.target\"\n [class.evo-navbar__link_nested]=\"isNested\"\n [class.evo-navbar__link_highlighted]=\"origin.isDropdownOpen\"\n (mouseenter)=\"open()\"\n (mouseleave)=\"close()\"\n >\n <span class=\"evo-navbar__link-title\">{{ item.title }}</span>\n\n <ng-container *ngTemplateOutlet=\"subNav; context: {origin: origin}\" />\n </a>\n }\n } @else {\n @if (isRootItemJustOpenSubMenu) {\n <span\n #origin=\"evoDropdownOrigin\"\n evoDropdownOrigin\n class=\"evo-navbar__link\"\n [class.evo-navbar__link_highlighted]=\"origin.isDropdownOpen\"\n (click)=\"toggle()\"\n (mouseleave)=\"close()\"\n >\n <span class=\"evo-navbar__link-title\">{{ item.title }}</span>\n\n <ng-container *ngTemplateOutlet=\"subNav; context: {origin: origin}\" />\n </span>\n } @else {\n <a\n #origin=\"evoDropdownOrigin\"\n evoDropdownOrigin\n class=\"evo-navbar__link\"\n [class.evo-navbar__link_nested]=\"isNested\"\n [class.evo-navbar__link_highlighted]=\"origin.isDropdownOpen\"\n [routerLink]=\"item.routerLink\"\n [routerLinkActive]=\"isNested ? ['evo-navbar__link_active'] : []\"\n [routerLinkActiveOptions]=\"{exact: !!item.isExactPath}\"\n [preserveFragment]=\"!!item.preserveFragment\"\n [queryParamsHandling]=\"item.queryParamsHandling\"\n [fragment]=\"item.fragment\"\n [queryParams]=\"item.queryParams\"\n [skipLocationChange]=\"item.skipLocationChange\"\n [replaceUrl]=\"item.replaceUrl\"\n [state]=\"item.state\"\n (mouseenter)=\"open()\"\n (mouseleave)=\"close()\"\n >\n <span class=\"evo-navbar__link-title\">{{ item.title }}</span>\n\n <ng-container *ngTemplateOutlet=\"subNav; context: {origin: origin}\" />\n </a>\n }\n }\n</ng-container>\n\n<ng-template #subNav let-origin=\"origin\">\n @if (item.subItems?.length) {\n <evo-dropdown [positions]=\"subMenuPositions\" [dropdownOrigin]=\"origin\" [(isOpen)]=\"origin.isDropdownOpen\">\n <section class=\"evo-navbar__sub\" (mouseenter)=\"open()\" (mouseleave)=\"close()\">\n <div class=\"evo-navbar__sub-content\">\n @for (subItem of item.subItems; track subItem.title) {\n <evo-navbar-item\n [item]=\"subItem\"\n [isNested]=\"true\"\n [isMobileView]=\"isMobileView\"\n (click)=\"close()\"\n />\n }\n </div>\n </section>\n </evo-dropdown>\n }\n</ng-template>\n", styles: [":host{display:block;flex-shrink:0}.evo-navbar__link{display:block;flex-shrink:0;padding:9px 8px;color:#212121;font-size:14px;line-height:22px;-webkit-user-select:none;user-select:none}@media (min-width: 768px){.evo-navbar__link:not(.evo-navbar__link_nested):hover .evo-navbar__link-title{background:#fff}}.evo-navbar__link_nested{padding:12px 16px}.evo-navbar__link_nested .evo-navbar__link-title{padding:0;font-weight:400;border-radius:0}.evo-navbar__link_nested:hover{background:#f4f6f8}.evo-navbar__link_nested.evo-navbar__link_active{color:#fff;background:#f05023}.evo-navbar__link_highlighted .evo-navbar__link-title{background:#fff}.evo-navbar__link-title{display:block;max-width:100%;padding:4px 8px;overflow:hidden;font-weight:600;white-space:nowrap;text-overflow:ellipsis;border-radius:4px}.evo-navbar__sub{--evo-navbar-dropdown-max-width: 85vw;--evo-navbar-dropdown-max-height: 310px;flex-shrink:0;max-width:85vw;max-width:var(--evo-navbar-dropdown-max-width)}.evo-navbar__sub-content{display:flex;flex-flow:column;max-height:310px;max-height:var(--evo-navbar-dropdown-max-height);margin-top:4px;overflow:auto;background:#fff;border-radius:8px;box-shadow:0 8px 10px #00000024,0 3px 14px #0000001f}\n"], dependencies: [{ kind: "component", type: EvoNavbarItemComponent, selector: "evo-navbar-item", inputs: ["item", "isNested", "isMobileView", "subMenuPositions"], outputs: ["openSubMenu", "closeSubMenu"] }, { kind: "directive", type: EvoLetDirective, selector: "[evoLet]", inputs: ["evoLet"] }, { kind: "directive", type: EvoDropdownOriginDirective, selector: "[evoDropdownOrigin]", exportAs: ["evoDropdownOrigin"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: EvoDropdownComponent, selector: "evo-dropdown", inputs: ["scrollStrategy", "dropdownOrigin", "isOpen", "positions"], outputs: ["isOpenChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5995
6007
  }
5996
6008
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoNavbarItemComponent, decorators: [{
5997
6009
  type: Component,
@@ -6004,7 +6016,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
6004
6016
  RouterLinkActive,
6005
6017
  EvoDropdownComponent,
6006
6018
  NgFor,
6007
- ], template: "<!-- TODO: delete $any alias after update to ng12-->\n<ng-container *evoLet=\"$any(item) as linkItem\">\n <a\n *ngIf=\"linkItem.href; else routerLink\"\n #origin=\"evoDropdownOrigin\"\n evoDropdownOrigin\n class=\"evo-navbar__link evo-navbar__link_external\"\n [attr.href]=\"linkItem.href\"\n [attr.target]=\"linkItem.target\"\n [class.evo-navbar__link_nested]=\"isNested\"\n [class.evo-navbar__link_highlighted]=\"origin.isDropdownOpen\"\n (mouseenter)=\"open(origin)\"\n (mouseleave)=\"close(origin)\"\n >\n <span class=\"evo-navbar__link-title\">{{ linkItem.title }}</span>\n\n <ng-container *ngTemplateOutlet=\"subNav; context: {origin: origin}\" />\n </a>\n\n <ng-template #routerLink>\n <ng-container *evoLet=\"isMobileView && !!linkItem.subItems?.length as isRootItemJustOpenSubMenu\">\n <span\n *ngIf=\"isRootItemJustOpenSubMenu; else defaultRootItem\"\n #origin=\"evoDropdownOrigin\"\n evoDropdownOrigin\n class=\"evo-navbar__link\"\n [class.evo-navbar__link_highlighted]=\"origin.isDropdownOpen\"\n (click)=\"toggle(origin)\"\n (mouseleave)=\"close(origin)\"\n >\n <span class=\"evo-navbar__link-title\">{{ linkItem.title }}</span>\n\n <ng-container *ngTemplateOutlet=\"subNav; context: {origin: origin}\" />\n </span>\n\n <ng-template #defaultRootItem>\n <a\n #origin=\"evoDropdownOrigin\"\n evoDropdownOrigin\n class=\"evo-navbar__link\"\n [class.evo-navbar__link_nested]=\"isNested\"\n [class.evo-navbar__link_highlighted]=\"origin.isDropdownOpen\"\n [routerLink]=\"linkItem.routerLink\"\n [routerLinkActive]=\"isNested ? ['evo-navbar__link_active'] : []\"\n [routerLinkActiveOptions]=\"{exact: !!linkItem.isExactPath}\"\n [preserveFragment]=\"!!linkItem.preserveFragment\"\n [queryParamsHandling]=\"linkItem.queryParamsHandling\"\n [fragment]=\"linkItem.fragment\"\n [queryParams]=\"linkItem.queryParams\"\n [skipLocationChange]=\"linkItem.skipLocationChange\"\n [replaceUrl]=\"linkItem.replaceUrl\"\n [state]=\"linkItem.state\"\n (mouseenter)=\"open(origin)\"\n (mouseleave)=\"close(origin)\"\n >\n <span class=\"evo-navbar__link-title\">{{ linkItem.title }}</span>\n\n <ng-container *ngTemplateOutlet=\"subNav; context: {origin: origin}\" />\n </a>\n </ng-template>\n </ng-container>\n </ng-template>\n\n <ng-template #subNav let-origin=\"origin\">\n <evo-dropdown\n *ngIf=\"linkItem.subItems?.length\"\n [positions]=\"subMenuPositions\"\n [dropdownOrigin]=\"origin\"\n [(isOpen)]=\"origin.isDropdownOpen\"\n >\n <section class=\"evo-navbar__sub\" (mouseenter)=\"open(origin)\" (mouseleave)=\"close(origin)\">\n <div class=\"evo-navbar__sub-content\">\n <evo-navbar-item\n *ngFor=\"let subItem of linkItem.subItems\"\n [item]=\"subItem\"\n [isNested]=\"true\"\n [isMobileView]=\"isMobileView\"\n (click)=\"close(origin)\"\n />\n </div>\n </section>\n </evo-dropdown>\n </ng-template>\n</ng-container>\n", styles: [":host{display:block;flex-shrink:0}.evo-navbar__link{display:block;flex-shrink:0;padding:9px 8px;color:#212121;font-size:14px;line-height:22px;-webkit-user-select:none;user-select:none}@media (min-width: 768px){.evo-navbar__link:not(.evo-navbar__link_nested):hover .evo-navbar__link-title{background:#fff}}.evo-navbar__link_nested{padding:12px 16px}.evo-navbar__link_nested .evo-navbar__link-title{padding:0;font-weight:400;border-radius:0}.evo-navbar__link_nested:hover{background:#f4f6f8}.evo-navbar__link_nested.evo-navbar__link_active{color:#fff;background:#f05023}.evo-navbar__link_highlighted .evo-navbar__link-title{background:#fff}.evo-navbar__link-title{display:block;max-width:100%;padding:4px 8px;overflow:hidden;font-weight:600;white-space:nowrap;text-overflow:ellipsis;border-radius:4px}.evo-navbar__sub{--evo-navbar-dropdown-max-width: 85vw;--evo-navbar-dropdown-max-height: 310px;flex-shrink:0;max-width:85vw;max-width:var(--evo-navbar-dropdown-max-width)}.evo-navbar__sub-content{display:flex;flex-flow:column;max-height:310px;max-height:var(--evo-navbar-dropdown-max-height);margin-top:4px;overflow:auto;background:#fff;border-radius:8px;box-shadow:0 8px 10px #00000024,0 3px 14px #0000001f}\n"] }]
6019
+ ], template: "<ng-container *evoLet=\"isMobileView && !!item.subItems?.length as isRootItemJustOpenSubMenu\">\n @if (isNativeLink(item)) {\n @if (isRootItemJustOpenSubMenu) {\n <span\n #origin=\"evoDropdownOrigin\"\n evoDropdownOrigin\n class=\"evo-navbar__link evo-navbar__link_external\"\n [class.evo-navbar__link_highlighted]=\"origin.isDropdownOpen\"\n (click)=\"toggle()\"\n (mouseleave)=\"close()\"\n >\n <span class=\"evo-navbar__link-title\">{{ item.title }}</span>\n\n <ng-container *ngTemplateOutlet=\"subNav; context: {origin: origin}\" />\n </span>\n } @else {\n <a\n #origin=\"evoDropdownOrigin\"\n evoDropdownOrigin\n class=\"evo-navbar__link evo-navbar__link_external\"\n [attr.href]=\"item.href\"\n [attr.target]=\"item.target\"\n [class.evo-navbar__link_nested]=\"isNested\"\n [class.evo-navbar__link_highlighted]=\"origin.isDropdownOpen\"\n (mouseenter)=\"open()\"\n (mouseleave)=\"close()\"\n >\n <span class=\"evo-navbar__link-title\">{{ item.title }}</span>\n\n <ng-container *ngTemplateOutlet=\"subNav; context: {origin: origin}\" />\n </a>\n }\n } @else {\n @if (isRootItemJustOpenSubMenu) {\n <span\n #origin=\"evoDropdownOrigin\"\n evoDropdownOrigin\n class=\"evo-navbar__link\"\n [class.evo-navbar__link_highlighted]=\"origin.isDropdownOpen\"\n (click)=\"toggle()\"\n (mouseleave)=\"close()\"\n >\n <span class=\"evo-navbar__link-title\">{{ item.title }}</span>\n\n <ng-container *ngTemplateOutlet=\"subNav; context: {origin: origin}\" />\n </span>\n } @else {\n <a\n #origin=\"evoDropdownOrigin\"\n evoDropdownOrigin\n class=\"evo-navbar__link\"\n [class.evo-navbar__link_nested]=\"isNested\"\n [class.evo-navbar__link_highlighted]=\"origin.isDropdownOpen\"\n [routerLink]=\"item.routerLink\"\n [routerLinkActive]=\"isNested ? ['evo-navbar__link_active'] : []\"\n [routerLinkActiveOptions]=\"{exact: !!item.isExactPath}\"\n [preserveFragment]=\"!!item.preserveFragment\"\n [queryParamsHandling]=\"item.queryParamsHandling\"\n [fragment]=\"item.fragment\"\n [queryParams]=\"item.queryParams\"\n [skipLocationChange]=\"item.skipLocationChange\"\n [replaceUrl]=\"item.replaceUrl\"\n [state]=\"item.state\"\n (mouseenter)=\"open()\"\n (mouseleave)=\"close()\"\n >\n <span class=\"evo-navbar__link-title\">{{ item.title }}</span>\n\n <ng-container *ngTemplateOutlet=\"subNav; context: {origin: origin}\" />\n </a>\n }\n }\n</ng-container>\n\n<ng-template #subNav let-origin=\"origin\">\n @if (item.subItems?.length) {\n <evo-dropdown [positions]=\"subMenuPositions\" [dropdownOrigin]=\"origin\" [(isOpen)]=\"origin.isDropdownOpen\">\n <section class=\"evo-navbar__sub\" (mouseenter)=\"open()\" (mouseleave)=\"close()\">\n <div class=\"evo-navbar__sub-content\">\n @for (subItem of item.subItems; track subItem.title) {\n <evo-navbar-item\n [item]=\"subItem\"\n [isNested]=\"true\"\n [isMobileView]=\"isMobileView\"\n (click)=\"close()\"\n />\n }\n </div>\n </section>\n </evo-dropdown>\n }\n</ng-template>\n", styles: [":host{display:block;flex-shrink:0}.evo-navbar__link{display:block;flex-shrink:0;padding:9px 8px;color:#212121;font-size:14px;line-height:22px;-webkit-user-select:none;user-select:none}@media (min-width: 768px){.evo-navbar__link:not(.evo-navbar__link_nested):hover .evo-navbar__link-title{background:#fff}}.evo-navbar__link_nested{padding:12px 16px}.evo-navbar__link_nested .evo-navbar__link-title{padding:0;font-weight:400;border-radius:0}.evo-navbar__link_nested:hover{background:#f4f6f8}.evo-navbar__link_nested.evo-navbar__link_active{color:#fff;background:#f05023}.evo-navbar__link_highlighted .evo-navbar__link-title{background:#fff}.evo-navbar__link-title{display:block;max-width:100%;padding:4px 8px;overflow:hidden;font-weight:600;white-space:nowrap;text-overflow:ellipsis;border-radius:4px}.evo-navbar__sub{--evo-navbar-dropdown-max-width: 85vw;--evo-navbar-dropdown-max-height: 310px;flex-shrink:0;max-width:85vw;max-width:var(--evo-navbar-dropdown-max-width)}.evo-navbar__sub-content{display:flex;flex-flow:column;max-height:310px;max-height:var(--evo-navbar-dropdown-max-height);margin-top:4px;overflow:auto;background:#fff;border-radius:8px;box-shadow:0 8px 10px #00000024,0 3px 14px #0000001f}\n"] }]
6008
6020
  }], propDecorators: { item: [{
6009
6021
  type: Input
6010
6022
  }], isNested: [{
@@ -6017,6 +6029,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
6017
6029
  type: Output
6018
6030
  }], closeSubMenu: [{
6019
6031
  type: Output
6032
+ }], dropdownOrigin: [{
6033
+ type: ViewChild,
6034
+ args: ['origin']
6035
+ }], id: [{
6036
+ type: HostBinding,
6037
+ args: ['attr.id']
6038
+ }], ngClass: [{
6039
+ type: HostBinding,
6040
+ args: ['class']
6020
6041
  }] } });
6021
6042
 
6022
6043
  class EvoNavbarComponent {
@@ -6045,7 +6066,7 @@ class EvoNavbarComponent {
6045
6066
  this.lastOpenedSubMenu = undefined;
6046
6067
  }
6047
6068
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoNavbarComponent, deps: [{ token: MOBILE_VIEW }], target: i0.ɵɵFactoryTarget.Component }); }
6048
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.10", type: EvoNavbarComponent, isStandalone: true, selector: "evo-navbar", inputs: { subMenuPositions: "subMenuPositions", items: "items" }, ngImport: i0, template: "<nav class=\"evo-navbar\" (scroll)=\"closeLastOpenedSubMenu()\">\n @for (item of items; track item.title) {\n <evo-navbar-item\n [item]=\"item\"\n [isMobileView]=\"isMobileView$ | async\"\n [subMenuPositions]=\"subMenuPositions\"\n (openSubMenu)=\"openSubMenu($event)\"\n (closeSubMenu)=\"closeSubMenu($event)\"\n />\n }\n</nav>\n", styles: [":host{display:block}.evo-navbar{display:flex;flex-wrap:nowrap;padding:0 8px;overflow:auto;background:#f4f6f8;border-radius:8px;-ms-overflow-style:none;scrollbar-width:none}.evo-navbar::-webkit-scrollbar{display:none}\n"], dependencies: [{ kind: "component", type: EvoNavbarItemComponent, selector: "evo-navbar-item", inputs: ["item", "isNested", "isMobileView", "subMenuPositions"], outputs: ["openSubMenu", "closeSubMenu"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6069
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.10", type: EvoNavbarComponent, isStandalone: true, selector: "evo-navbar", inputs: { subMenuPositions: "subMenuPositions", items: "items" }, viewQueries: [{ propertyName: "children", predicate: EvoNavbarItemComponent, descendants: true }], ngImport: i0, template: "<nav class=\"evo-navbar\" (scroll)=\"closeLastOpenedSubMenu()\">\n @for (item of items; track item.title) {\n <evo-navbar-item\n [item]=\"item\"\n [isMobileView]=\"isMobileView$ | async\"\n [subMenuPositions]=\"subMenuPositions\"\n (openSubMenu)=\"openSubMenu($event)\"\n (closeSubMenu)=\"closeSubMenu($event)\"\n />\n }\n</nav>\n", styles: [":host{display:block}.evo-navbar{display:flex;flex-wrap:nowrap;padding:0 8px;overflow:auto;background:#f4f6f8;border-radius:8px;-ms-overflow-style:none;scrollbar-width:none}.evo-navbar::-webkit-scrollbar{display:none}\n"], dependencies: [{ kind: "component", type: EvoNavbarItemComponent, selector: "evo-navbar-item", inputs: ["item", "isNested", "isMobileView", "subMenuPositions"], outputs: ["openSubMenu", "closeSubMenu"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6049
6070
  }
6050
6071
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoNavbarComponent, decorators: [{
6051
6072
  type: Component,
@@ -6057,6 +6078,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
6057
6078
  type: Input
6058
6079
  }], items: [{
6059
6080
  type: Input
6081
+ }], children: [{
6082
+ type: ViewChildren,
6083
+ args: [EvoNavbarItemComponent]
6060
6084
  }] } });
6061
6085
 
6062
6086
  class EvoNavbarModule {