@evotor-dev/ui-kit 7.4.3 → 7.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/components/evo-dropdown/evo-dropdown.component.mjs +21 -7
- package/esm2020/lib/components/evo-navbar/evo-navbar-item/evo-navbar-item.component.mjs +2 -2
- package/fesm2015/evotor-dev-ui-kit.mjs +21 -7
- package/fesm2015/evotor-dev-ui-kit.mjs.map +1 -1
- package/fesm2020/evotor-dev-ui-kit.mjs +21 -7
- package/fesm2020/evotor-dev-ui-kit.mjs.map +1 -1
- package/lib/components/evo-dropdown/evo-dropdown.component.d.ts +5 -2
- package/package.json +1 -1
|
@@ -7169,8 +7169,10 @@ class EvoDropdownComponent {
|
|
|
7169
7169
|
this.viewContainerRef = viewContainerRef;
|
|
7170
7170
|
this.ngZone = ngZone;
|
|
7171
7171
|
this.cdr = cdr;
|
|
7172
|
+
this.closeOnOutsideClick = true;
|
|
7172
7173
|
this.scrollStrategy = 'close';
|
|
7173
7174
|
this.isOpenChange = new EventEmitter();
|
|
7175
|
+
this.outsideClick = new EventEmitter();
|
|
7174
7176
|
this.connectedPositions = DEFAULT_POSITION;
|
|
7175
7177
|
this.destroy$ = new Subject();
|
|
7176
7178
|
this._isOpen = false;
|
|
@@ -7185,7 +7187,9 @@ class EvoDropdownComponent {
|
|
|
7185
7187
|
}
|
|
7186
7188
|
}
|
|
7187
7189
|
set positions(value) {
|
|
7188
|
-
this.connectedPositions = value
|
|
7190
|
+
this.connectedPositions = value
|
|
7191
|
+
? [].concat(value).map((p) => EVO_DROPDOWN_POSITION_DESCRIPTION[p] || p)
|
|
7192
|
+
: DEFAULT_POSITION;
|
|
7189
7193
|
}
|
|
7190
7194
|
get element() {
|
|
7191
7195
|
if (!this.viewContainerRef) {
|
|
@@ -7226,6 +7230,12 @@ class EvoDropdownComponent {
|
|
|
7226
7230
|
this.destroy$.next();
|
|
7227
7231
|
this.destroy$.unsubscribe();
|
|
7228
7232
|
}
|
|
7233
|
+
onOverlayOutsideClick(event) {
|
|
7234
|
+
this.outsideClick.emit(event);
|
|
7235
|
+
if (this.closeOnOutsideClick) {
|
|
7236
|
+
this.close();
|
|
7237
|
+
}
|
|
7238
|
+
}
|
|
7229
7239
|
/**
|
|
7230
7240
|
* Listens to the scroll in the dropdown container and closes it
|
|
7231
7241
|
*/
|
|
@@ -7236,8 +7246,8 @@ class EvoDropdownComponent {
|
|
|
7236
7246
|
this.scrollEventSubscription = this.ngZone.runOutsideAngular(() => {
|
|
7237
7247
|
return fromEvent(document, 'scroll', { capture: true })
|
|
7238
7248
|
.pipe(throttleTime(10), filter((scrollEvent) => {
|
|
7239
|
-
return (scrollEvent.target instanceof HTMLElement || scrollEvent.target instanceof HTMLDocument)
|
|
7240
|
-
|
|
7249
|
+
return ((scrollEvent.target instanceof HTMLElement || scrollEvent.target instanceof HTMLDocument) &&
|
|
7250
|
+
(scrollEvent.target.contains(this.element) || !this.element));
|
|
7241
7251
|
}), take(1), takeUntil(this.destroy$))
|
|
7242
7252
|
.subscribe(() => {
|
|
7243
7253
|
this.ngZone.run(() => {
|
|
@@ -7248,16 +7258,20 @@ class EvoDropdownComponent {
|
|
|
7248
7258
|
}
|
|
7249
7259
|
}
|
|
7250
7260
|
EvoDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EvoDropdownComponent, deps: [{ token: i0.ViewContainerRef }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
7251
|
-
EvoDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: EvoDropdownComponent, selector: "evo-dropdown", inputs: { scrollStrategy: "scrollStrategy", dropdownOrigin: "dropdownOrigin", isOpen: "isOpen", positions: "positions" }, outputs: { isOpenChange: "isOpenChange" }, ngImport: i0, template: "<ng-template\n cdkConnectedOverlay\n [
|
|
7261
|
+
EvoDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: EvoDropdownComponent, selector: "evo-dropdown", inputs: { closeOnOutsideClick: "closeOnOutsideClick", scrollStrategy: "scrollStrategy", dropdownOrigin: "dropdownOrigin", isOpen: "isOpen", positions: "positions" }, outputs: { isOpenChange: "isOpenChange", outsideClick: "outsideClick" }, ngImport: i0, template: "<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOpen]=\"isOpen\"\n [cdkConnectedOverlayOrigin]=\"dropdownOrigin\"\n [cdkConnectedOverlayPositions]=\"connectedPositions\"\n (detach)=\"close()\"\n (overlayOutsideClick)=\"onOverlayOutsideClick($event)\"\n>\n <ng-content></ng-content>\n</ng-template>\n", directives: [{ type: i1$3.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
7252
7262
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EvoDropdownComponent, decorators: [{
|
|
7253
7263
|
type: Component,
|
|
7254
|
-
args: [{ selector: 'evo-dropdown', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template\n cdkConnectedOverlay\n [
|
|
7255
|
-
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; }, propDecorators: {
|
|
7264
|
+
args: [{ selector: 'evo-dropdown', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOpen]=\"isOpen\"\n [cdkConnectedOverlayOrigin]=\"dropdownOrigin\"\n [cdkConnectedOverlayPositions]=\"connectedPositions\"\n (detach)=\"close()\"\n (overlayOutsideClick)=\"onOverlayOutsideClick($event)\"\n>\n <ng-content></ng-content>\n</ng-template>\n" }]
|
|
7265
|
+
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { closeOnOutsideClick: [{
|
|
7266
|
+
type: Input
|
|
7267
|
+
}], scrollStrategy: [{
|
|
7256
7268
|
type: Input
|
|
7257
7269
|
}], dropdownOrigin: [{
|
|
7258
7270
|
type: Input
|
|
7259
7271
|
}], isOpenChange: [{
|
|
7260
7272
|
type: Output
|
|
7273
|
+
}], outsideClick: [{
|
|
7274
|
+
type: Output
|
|
7261
7275
|
}], isOpen: [{
|
|
7262
7276
|
type: Input
|
|
7263
7277
|
}], positions: [{
|
|
@@ -7369,7 +7383,7 @@ class EvoNavbarItemComponent {
|
|
|
7369
7383
|
}
|
|
7370
7384
|
}
|
|
7371
7385
|
EvoNavbarItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EvoNavbarItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7372
|
-
EvoNavbarItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: EvoNavbarItemComponent, 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}\"></ng-container>\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}\"></ng-container>\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}\"></ng-container>\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\n class=\"evo-navbar__sub\"\n (mouseenter)=\"open(origin)\"\n (mouseleave)=\"close(origin)\"\n >\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 ></evo-navbar-item>\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:#FFFFFF}}.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:#FFFFFF}.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:#FFFFFF;border-radius:8px;box-shadow:0 8px 10px #00000024,0 3px 14px #0000001f}\n"], components: [{ type: EvoDropdownComponent, selector: "evo-dropdown", inputs: ["scrollStrategy", "dropdownOrigin", "isOpen", "positions"], outputs: ["isOpenChange"] }, { type: EvoNavbarItemComponent, selector: "evo-navbar-item", inputs: ["item", "isNested", "isMobileView", "subMenuPositions"], outputs: ["openSubMenu", "closeSubMenu"] }], directives: [{ type: EvoLetDirective, selector: "[evoLet]", inputs: ["evoLet"] }, { type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: EvoDropdownOriginDirective, selector: "[evoDropdownOrigin]", exportAs: ["evoDropdownOrigin"] }, { type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3$2.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i3$2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
7386
|
+
EvoNavbarItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: EvoNavbarItemComponent, 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}\"></ng-container>\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}\"></ng-container>\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}\"></ng-container>\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\n class=\"evo-navbar__sub\"\n (mouseenter)=\"open(origin)\"\n (mouseleave)=\"close(origin)\"\n >\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 ></evo-navbar-item>\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:#FFFFFF}}.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:#FFFFFF}.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:#FFFFFF;border-radius:8px;box-shadow:0 8px 10px #00000024,0 3px 14px #0000001f}\n"], components: [{ type: EvoDropdownComponent, selector: "evo-dropdown", inputs: ["closeOnOutsideClick", "scrollStrategy", "dropdownOrigin", "isOpen", "positions"], outputs: ["isOpenChange", "outsideClick"] }, { type: EvoNavbarItemComponent, selector: "evo-navbar-item", inputs: ["item", "isNested", "isMobileView", "subMenuPositions"], outputs: ["openSubMenu", "closeSubMenu"] }], directives: [{ type: EvoLetDirective, selector: "[evoLet]", inputs: ["evoLet"] }, { type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: EvoDropdownOriginDirective, selector: "[evoDropdownOrigin]", exportAs: ["evoDropdownOrigin"] }, { type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3$2.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i3$2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
7373
7387
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EvoNavbarItemComponent, decorators: [{
|
|
7374
7388
|
type: Component,
|
|
7375
7389
|
args: [{ selector: 'evo-navbar-item', changeDetection: ChangeDetectionStrategy.OnPush, 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}\"></ng-container>\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}\"></ng-container>\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}\"></ng-container>\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\n class=\"evo-navbar__sub\"\n (mouseenter)=\"open(origin)\"\n (mouseleave)=\"close(origin)\"\n >\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 ></evo-navbar-item>\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:#FFFFFF}}.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:#FFFFFF}.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:#FFFFFF;border-radius:8px;box-shadow:0 8px 10px #00000024,0 3px 14px #0000001f}\n"] }]
|