@eui/ecl 19.0.0-next.13 → 19.0.0-next.14
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/components/ecl-mega-menu/ecl-mega-menu-item/ecl-mega-menu-item.component.d.ts +3 -3
- package/components/ecl-mega-menu/ecl-mega-menu-item/ecl-mega-menu-item.component.d.ts.map +1 -1
- package/components/ecl-mega-menu/ecl-mega-menu.component.d.ts +3 -3
- package/components/ecl-mega-menu/ecl-mega-menu.component.d.ts.map +1 -1
- package/components/ecl-mega-menu/ecl-mega-menu.module.d.ts.map +1 -1
- package/components/ecl-menu/ecl-menu/ecl-menu.component.d.ts +3 -3
- package/components/ecl-menu/ecl-menu/ecl-menu.component.d.ts.map +1 -1
- package/components/ecl-menu/ecl-menu.module.d.ts.map +1 -1
- package/components/ecl-site-header/ecl-site-header.component.d.ts +5 -3
- package/components/ecl-site-header/ecl-site-header.component.d.ts.map +1 -1
- package/components/ecl-site-header/ecl-site-header.module.d.ts.map +1 -1
- package/components/ecl-site-header/events/ecl-area-change.event.d.ts.map +1 -0
- package/components/ecl-site-header/language/ecl-site-header-language.component.d.ts +2 -1
- package/components/ecl-site-header/language/ecl-site-header-language.component.d.ts.map +1 -1
- package/components/ecl-site-header/login/ecl-site-header-login.component.d.ts +1 -1
- package/components/ecl-site-header/login/ecl-site-header-login.component.d.ts.map +1 -1
- package/components/ecl-site-header/search/ecl-site-header-search.component.d.ts +1 -1
- package/components/ecl-site-header/search/ecl-site-header-search.component.d.ts.map +1 -1
- package/{core/services/scope-services → components/ecl-site-header/services}/ecl-area-data.service.d.ts +1 -1
- package/components/ecl-site-header/services/ecl-area-data.service.d.ts.map +1 -0
- package/core/events/index.d.ts +0 -1
- package/core/events/index.d.ts.map +1 -1
- package/core/services/index.d.ts +0 -2
- package/core/services/index.d.ts.map +1 -1
- package/docs/classes/EclAreaChangeEvent.html +1 -1
- package/docs/components/EclMegaMenuComponent.html +3 -3
- package/docs/components/EclMegaMenuItemComponent.html +3 -3
- package/docs/components/EclMenuComponent.html +3 -3
- package/docs/components/EclSiteHeaderComponent.html +3 -3
- package/docs/dependencies.html +2 -2
- package/docs/injectables/EclAreaDataService.html +1 -1
- package/docs/injectables/{EclExpandableItemSetDataService.html → EclHeaderMenuComunicationService.html} +3 -3
- package/docs/js/menu-wc.js +22 -56
- package/docs/js/menu-wc_es5.js +1 -1
- package/docs/js/search/search_index.js +2 -2
- package/docs/modules/EclMegaMenuModule.html +0 -9
- package/docs/modules/EclMenuModule.html +0 -9
- package/docs/modules/EclSiteHeaderModule.html +0 -3
- package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs +26 -28
- package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-menu.mjs +15 -15
- package/fesm2022/eui-ecl-components-ecl-menu.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-site-header.mjs +64 -31
- package/fesm2022/eui-ecl-components-ecl-site-header.mjs.map +1 -1
- package/fesm2022/eui-ecl-core.mjs +1 -59
- package/fesm2022/eui-ecl-core.mjs.map +1 -1
- package/fesm2022/eui-ecl-shared.mjs +37 -0
- package/fesm2022/eui-ecl-shared.mjs.map +1 -0
- package/package.json +5 -1
- package/shared/eui-ecl-shared.d.ts.map +1 -0
- package/shared/index.d.ts +2 -0
- package/shared/index.d.ts.map +1 -0
- package/shared/package.json +3 -0
- package/{core/services/scope-services/ecl-expandable-item-set-data.service.d.ts → shared/services/ecl-header-menu-comunication.service.d.ts} +4 -4
- package/shared/services/ecl-header-menu-comunication.service.d.ts.map +1 -0
- package/core/events/ecl-area-change.event.d.ts.map +0 -1
- package/core/services/scope-services/ecl-area-data.service.d.ts.map +0 -1
- package/core/services/scope-services/ecl-expandable-item-set-data.service.d.ts.map +0 -1
- /package/{core → components/ecl-site-header}/events/ecl-area-change.event.d.ts +0 -0
|
@@ -150,15 +150,6 @@
|
|
|
150
150
|
</li>
|
|
151
151
|
</ul>
|
|
152
152
|
</div>
|
|
153
|
-
<div class="col-sm-3">
|
|
154
|
-
<h3>Providers<a href="https://angular.io/api/core/NgModule#providers" target="_blank" rel="noopener noreferrer"
|
|
155
|
-
title="Official documentation about module providers"><span class="icon ion-ios-information-circle-outline"></a></h3>
|
|
156
|
-
<ul class="list-group">
|
|
157
|
-
<li class="list-group-item">
|
|
158
|
-
<a href="../injectables/EclExpandableItemSetDataService.html">EclExpandableItemSetDataService</a>
|
|
159
|
-
</li>
|
|
160
|
-
</ul>
|
|
161
|
-
</div>
|
|
162
153
|
<div class="col-sm-3">
|
|
163
154
|
<h3>Imports<a href="https://angular.io/api/core/NgModule#imports" target="_blank" rel="noopener noreferrer"
|
|
164
155
|
title="Official documentation about module imports"><span
|
|
@@ -150,15 +150,6 @@
|
|
|
150
150
|
</li>
|
|
151
151
|
</ul>
|
|
152
152
|
</div>
|
|
153
|
-
<div class="col-sm-3">
|
|
154
|
-
<h3>Providers<a href="https://angular.io/api/core/NgModule#providers" target="_blank" rel="noopener noreferrer"
|
|
155
|
-
title="Official documentation about module providers"><span class="icon ion-ios-information-circle-outline"></a></h3>
|
|
156
|
-
<ul class="list-group">
|
|
157
|
-
<li class="list-group-item">
|
|
158
|
-
<a href="../injectables/EclExpandableItemSetDataService.html">EclExpandableItemSetDataService</a>
|
|
159
|
-
</li>
|
|
160
|
-
</ul>
|
|
161
|
-
</div>
|
|
162
153
|
<div class="col-sm-3">
|
|
163
154
|
<h3>Imports<a href="https://angular.io/api/core/NgModule#imports" target="_blank" rel="noopener noreferrer"
|
|
164
155
|
title="Official documentation about module imports"><span
|
|
@@ -157,9 +157,6 @@
|
|
|
157
157
|
<li class="list-group-item">
|
|
158
158
|
<a href="../injectables/EclAreaDataService.html">EclAreaDataService</a>
|
|
159
159
|
</li>
|
|
160
|
-
<li class="list-group-item">
|
|
161
|
-
<a href="../injectables/EclExpandableItemSetDataService.html">EclExpandableItemSetDataService</a>
|
|
162
|
-
</li>
|
|
163
160
|
</ul>
|
|
164
161
|
</div>
|
|
165
162
|
<div class="col-sm-3">
|
|
@@ -6,17 +6,18 @@ import * as i0 from '@angular/core';
|
|
|
6
6
|
import { Directive, HostBinding, Component, Input, ContentChildren, forwardRef, Injectable, EventEmitter, afterNextRender, booleanAttribute, ViewChild, ContentChild, Output, HostListener, NgModule } from '@angular/core';
|
|
7
7
|
import * as i7 from '@angular/router';
|
|
8
8
|
import { RouterModule } from '@angular/router';
|
|
9
|
-
import * as
|
|
9
|
+
import * as i7$1 from '@ngx-translate/core';
|
|
10
10
|
import { TranslateModule } from '@ngx-translate/core';
|
|
11
|
-
import * as
|
|
12
|
-
import { ECLBaseDirective, KeyCode, EclExpandableItemSetDataService } from '@eui/ecl/core';
|
|
13
|
-
import * as i4 from '@eui/ecl/components/ecl-button';
|
|
11
|
+
import * as i3 from '@eui/ecl/components/ecl-button';
|
|
14
12
|
import { EclButtonModule } from '@eui/ecl/components/ecl-button';
|
|
15
|
-
import * as
|
|
13
|
+
import * as i4 from '@eui/ecl/components/ecl-icon';
|
|
16
14
|
import { EclIconModule } from '@eui/ecl/components/ecl-icon';
|
|
17
|
-
import * as i5
|
|
15
|
+
import * as i5 from '@eui/ecl/components/ecl-link';
|
|
18
16
|
import { EclLinkDirective, EclLinkModule } from '@eui/ecl/components/ecl-link';
|
|
17
|
+
import * as i2 from '@eui/ecl/core';
|
|
18
|
+
import { ECLBaseDirective, KeyCode } from '@eui/ecl/core';
|
|
19
19
|
import { Subject, takeUntil } from 'rxjs';
|
|
20
|
+
import * as i3$1 from '@eui/ecl/shared';
|
|
20
21
|
|
|
21
22
|
class EclMegaMenuContainerDirective extends ECLBaseDirective {
|
|
22
23
|
constructor() {
|
|
@@ -320,7 +321,7 @@ class EclMegaMenuSubitemComponent extends ECLBaseDirective {
|
|
|
320
321
|
});
|
|
321
322
|
}
|
|
322
323
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: EclMegaMenuSubitemComponent, deps: [{ token: i1.BreakpointObserver }, { token: EclMegaMenuDataService }, { token: i0.ElementRef }, { token: EclMegaMenuService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
323
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.0", type: EclMegaMenuSubitemComponent, isStandalone: false, selector: "li[eclMegaMenuSubitem]", inputs: { buttonId: "buttonId", label: "label", isExternal: ["isExternal", "isExternal", booleanAttribute], externalIconTitle: "externalIconTitle", routerLink: "routerLink", queryParams: "queryParams", queryParamsHandling: "queryParamsHandling", href: "href", target: "target", isSeeAll: ["isSeeAll", "isSeeAll", booleanAttribute], linkExtraAttributes: "linkExtraAttributes" }, outputs: { megaMenuSubItemClicked: "megaMenuSubItemClicked", megaMenuSubItemKeydown: "megaMenuSubItemKeydown" }, host: { properties: { "attr.aria-expanded": "this.isExpanded", "class": "this.cssClasses", "style.display": "this.display" } }, queries: [{ propertyName: "submenu", first: true, predicate: i0.forwardRef(() => EclMegaMenuSublistDirective), descendants: true }, { propertyName: "eclMegaMenuFeatured", first: true, predicate: i0.forwardRef(() => EclMegaMenuFeaturedComponent), descendants: true }], viewQueries: [{ propertyName: "megaMenuLevel2", first: true, predicate: ["megaMenuLevel2"], descendants: true }, { propertyName: "subMenuItemLink", first: true, predicate: EclLinkDirective, descendants: true }, { propertyName: "subMenuItemBtn", first: true, predicate: ["subMenuItemBtn"], descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (!isSeeAll) {\n@if (hasChildren) {\n<button eclButton #subMenuItemBtn variant=\"primary\" class=\"ecl-mega-menu__sublink\" [attr.aria-expanded]=\"isExpanded\"\n (click)=\"onButtonClick()\" (keydown)=\"onKeydown($event)\" id=\"{{buttonId}}\">\n <span eclButtonLabel>{{label}}</span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-90\" size=\"2xs\"></ecl-icon>\n</button>\n} @else if (href) {\n<a eclLink variant=\"standalone\" [href]=\"href\" class=\"ecl-mega-menu__sublink\"\n (keydown)=\"onKeydown($event)\" (click)=\"onLinkClick()\">\n <span eclLinkLabel>{{label}}</span>\n <ng-container *ngTemplateOutlet=\"eclIcon\"></ng-container>\n</a>\n} @else {\n<a eclLink variant=\"standalone\" [attr.tabindex]=\"tabindex || 0\" [routerLink]=\"routerLink\"\n [queryParams]=\"queryParams\" [queryParamsHandling]=\"queryParamsHandling\" class=\"ecl-mega-menu__sublink\"\n (keydown)=\"onKeydown($event)\" (click)=\"onLinkClick()\">\n <span eclLinkLabel>{{label}}</span>\n <ng-container *ngTemplateOutlet=\"eclIcon\"></ng-container>\n</a>\n}\n\n@if (hasChildren) {\n<div class=\"ecl-mega-menu__mega ecl-mega-menu__mega--level-2\" #megaMenuLevel2\n [style.height.px]=\"level2StyleHeight\">\n <ng-content select=\"[eclMegaMenuSublist]\"></ng-content>\n <ng-content select=\"[eclMegaMenuFeatured]\"></ng-content>\n</div>\n}\n} @else {\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n}\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #eclIcon>\n @if (isExternal) {\n <ecl-icon icon=\"external\" size=\"2xs\" ariaHidden=\"false\" role=\"img\">\n <title>Links to an external domain</title>\n </ecl-icon>\n }\n <!-- <ng-content select=\"ecl-icon\"></ng-content> -->\n</ng-template>", dependencies: [{ kind: "component", type:
|
|
324
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.0", type: EclMegaMenuSubitemComponent, isStandalone: false, selector: "li[eclMegaMenuSubitem]", inputs: { buttonId: "buttonId", label: "label", isExternal: ["isExternal", "isExternal", booleanAttribute], externalIconTitle: "externalIconTitle", routerLink: "routerLink", queryParams: "queryParams", queryParamsHandling: "queryParamsHandling", href: "href", target: "target", isSeeAll: ["isSeeAll", "isSeeAll", booleanAttribute], linkExtraAttributes: "linkExtraAttributes" }, outputs: { megaMenuSubItemClicked: "megaMenuSubItemClicked", megaMenuSubItemKeydown: "megaMenuSubItemKeydown" }, host: { properties: { "attr.aria-expanded": "this.isExpanded", "class": "this.cssClasses", "style.display": "this.display" } }, queries: [{ propertyName: "submenu", first: true, predicate: i0.forwardRef(() => EclMegaMenuSublistDirective), descendants: true }, { propertyName: "eclMegaMenuFeatured", first: true, predicate: i0.forwardRef(() => EclMegaMenuFeaturedComponent), descendants: true }], viewQueries: [{ propertyName: "megaMenuLevel2", first: true, predicate: ["megaMenuLevel2"], descendants: true }, { propertyName: "subMenuItemLink", first: true, predicate: EclLinkDirective, descendants: true }, { propertyName: "subMenuItemBtn", first: true, predicate: ["subMenuItemBtn"], descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (!isSeeAll) {\n@if (hasChildren) {\n<button eclButton #subMenuItemBtn variant=\"primary\" class=\"ecl-mega-menu__sublink\" [attr.aria-expanded]=\"isExpanded\"\n (click)=\"onButtonClick()\" (keydown)=\"onKeydown($event)\" id=\"{{buttonId}}\">\n <span eclButtonLabel>{{label}}</span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-90\" size=\"2xs\"></ecl-icon>\n</button>\n} @else if (href) {\n<a eclLink variant=\"standalone\" [href]=\"href\" class=\"ecl-mega-menu__sublink\"\n (keydown)=\"onKeydown($event)\" (click)=\"onLinkClick()\">\n <span eclLinkLabel>{{label}}</span>\n <ng-container *ngTemplateOutlet=\"eclIcon\"></ng-container>\n</a>\n} @else {\n<a eclLink variant=\"standalone\" [attr.tabindex]=\"tabindex || 0\" [routerLink]=\"routerLink\"\n [queryParams]=\"queryParams\" [queryParamsHandling]=\"queryParamsHandling\" class=\"ecl-mega-menu__sublink\"\n (keydown)=\"onKeydown($event)\" (click)=\"onLinkClick()\">\n <span eclLinkLabel>{{label}}</span>\n <ng-container *ngTemplateOutlet=\"eclIcon\"></ng-container>\n</a>\n}\n\n@if (hasChildren) {\n<div class=\"ecl-mega-menu__mega ecl-mega-menu__mega--level-2\" #megaMenuLevel2\n [style.height.px]=\"level2StyleHeight\">\n <ng-content select=\"[eclMegaMenuSublist]\"></ng-content>\n <ng-content select=\"[eclMegaMenuFeatured]\"></ng-content>\n</div>\n}\n} @else {\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n}\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #eclIcon>\n @if (isExternal) {\n <ecl-icon icon=\"external\" size=\"2xs\" ariaHidden=\"false\" role=\"img\">\n <title>Links to an external domain</title>\n </ecl-icon>\n }\n <!-- <ng-content select=\"ecl-icon\"></ng-content> -->\n</ng-template>", dependencies: [{ kind: "component", type: i3.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "containerStyleClass"] }, { kind: "directive", type: i3.EclButtonLabelDirective, selector: "[eclButtonLabel]" }, { kind: "component", type: i4.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "directive", type: i5.EclLinkDirective, selector: "[eclLink]", inputs: ["isInverted", "isIconOnly", "isNoVisited", "variant"] }, { kind: "directive", type: i5.EclLinkLabelDirective, selector: "[eclLinkLabel]" }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i7.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] }); }
|
|
324
325
|
}
|
|
325
326
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: EclMegaMenuSubitemComponent, decorators: [{
|
|
326
327
|
type: Component,
|
|
@@ -605,12 +606,12 @@ class EclMegaMenuItemComponent extends ECLBaseDirective {
|
|
|
605
606
|
.join(' ')
|
|
606
607
|
.trim();
|
|
607
608
|
}
|
|
608
|
-
constructor(cdkBreakpointObserver, el, eclMegaMenuDataService,
|
|
609
|
+
constructor(cdkBreakpointObserver, el, eclMegaMenuDataService, eclHeaderMenuComunicationService, eclMegaMenuService, renderer) {
|
|
609
610
|
super();
|
|
610
611
|
this.cdkBreakpointObserver = cdkBreakpointObserver;
|
|
611
612
|
this.el = el;
|
|
612
613
|
this.eclMegaMenuDataService = eclMegaMenuDataService;
|
|
613
|
-
this.
|
|
614
|
+
this.eclHeaderMenuComunicationService = eclHeaderMenuComunicationService;
|
|
614
615
|
this.eclMegaMenuService = eclMegaMenuService;
|
|
615
616
|
this.renderer = renderer;
|
|
616
617
|
this.isExpanded = false;
|
|
@@ -679,7 +680,7 @@ class EclMegaMenuItemComponent extends ECLBaseDirective {
|
|
|
679
680
|
this.eclMegaMenuSublist.onParentMegaMenuItemClick(this.isExpanded);
|
|
680
681
|
}
|
|
681
682
|
if (this.isExpanded) {
|
|
682
|
-
this.
|
|
683
|
+
this.eclHeaderMenuComunicationService.updateExpanded(this.isExpanded);
|
|
683
684
|
this.hidePanels();
|
|
684
685
|
setTimeout(() => {
|
|
685
686
|
this.checkDropdownHeight();
|
|
@@ -687,12 +688,12 @@ class EclMegaMenuItemComponent extends ECLBaseDirective {
|
|
|
687
688
|
});
|
|
688
689
|
}
|
|
689
690
|
else {
|
|
690
|
-
this.
|
|
691
|
+
this.eclHeaderMenuComunicationService.updateExpanded(this.isExpanded);
|
|
691
692
|
this.enableScroll();
|
|
692
693
|
}
|
|
693
694
|
}
|
|
694
695
|
else {
|
|
695
|
-
this.
|
|
696
|
+
this.eclHeaderMenuComunicationService.updateExpanded(this.isExpanded);
|
|
696
697
|
this.enableScroll();
|
|
697
698
|
}
|
|
698
699
|
this.megaMenuItemClicked.emit();
|
|
@@ -850,13 +851,13 @@ class EclMegaMenuItemComponent extends ECLBaseDirective {
|
|
|
850
851
|
this.resetWrapperStyle();
|
|
851
852
|
});
|
|
852
853
|
}
|
|
853
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: EclMegaMenuItemComponent, deps: [{ token: i1.BreakpointObserver }, { token: i0.ElementRef }, { token: EclMegaMenuDataService }, { token:
|
|
854
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.0", type: EclMegaMenuItemComponent, isStandalone: false, selector: "li[eclMegaMenuItem]", inputs: { label: "label", routerLink: "routerLink", queryParams: "queryParams", queryParamsHandling: "queryParamsHandling", href: "href", target: "target", linkExtraAttributes: "linkExtraAttributes" }, outputs: { megaMenuItemClicked: "megaMenuItemClicked", megaMenuItemKeydown: "megaMenuItemKeydown" }, host: { listeners: { "window:resize": "onResize()" }, properties: { "class": "this.cssClasses", "attr.aria-expanded": "this.isExpanded", "attr.aria-haspopup": "this.hasPopup" } }, queries: [{ propertyName: "eclMegaMenuInfo", first: true, predicate: i0.forwardRef(() => EclMegaMenuInfoComponent), descendants: true }, { propertyName: "eclMegaMenuSublist", first: true, predicate: i0.forwardRef(() => EclMegaMenuSublistDirective), descendants: true }, { propertyName: "eclMegaMenuContainer", first: true, predicate: i0.forwardRef(() => EclMegaMenuContainerDirective), descendants: true }], viewQueries: [{ propertyName: "eclMegaMenuMega", first: true, predicate: ["eclMegaMenuMega"], descendants: true }, { propertyName: "mainPanel", first: true, predicate: ["mainPanel"], descendants: true }, { propertyName: "menuLink", first: true, predicate: EclLinkDirective, descendants: true }, { propertyName: "menuBtn", first: true, predicate: ["menuBtn"], descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (hasChildren) {\n<button #menuBtn eclButton variant=\"primary\" class=\"ecl-mega-menu__link\" (click)=\"onMegaMenuItemClick()\"\n (keydown)=\"onKeydown($event)\">\n <span eclButtonLabel>{{label}}</span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-90\" size=\"2xs\"></ecl-icon>\n <ecl-icon icon=\"arrow-left\" transform=\"flip-horizontal\" size=\"s\"></ecl-icon>\n</button>\n} @else if (href) {\n<a eclLink #menuLink variant=\"standalone\" [href]=\"href\" [target]=\"target\" class=\"ecl-mega-menu__link\"\n (keydown)=\"onKeydown($event)\" (click)=\"onMegaMenuItemClick()\">\n <span eclLinkLabel>{{label}}</span>\n</a>\n} @else {\n<a eclLink #menuLink variant=\"standalone\" [attr.tabindex]=\"tabindex || 0\" [routerLink]=\"routerLink\"\n [queryParams]=\"queryParams\" [queryParamsHandling]=\"queryParamsHandling\" class=\"ecl-mega-menu__link\"\n (keydown)=\"onKeydown($event)\" (click)=\"onMegaMenuItemClick()\">\n <span eclLinkLabel>{{label}}</span>\n</a>\n}\n\n@if (hasSublist) {\n<div class=\"ecl-mega-menu__wrapper\" [style.height.px]=\"wrapperStyleHeight\" [style.top.px]=\"wrapperStyleTop\">\n <div class=\"ecl-container\">\n <ng-content select=\"[eclMegaMenuInfo]\"></ng-content>\n <div #eclMegaMenuMega class=\"ecl-mega-menu__mega\" [style.height.px]=\"megaMenuMegaStyleHeight\" [style.opacity]=\"megaMenuMegaStyleOpacity\">\n <ng-content select=\"[eclMegaMenuSublist]\"></ng-content>\n </div>\n </div>\n</div>\n}\n\n@if (hasContainer) {\n<div #mainPanel class=\"ecl-mega-menu__mega ecl-mega-menu__mega-container\">\n <div class=\"ecl-container\" [style.height.px]=\"containerStyleHeight\">\n <div class=\"ecl-mega-menu__mega-container-scrollable\">\n <ng-content select=\"[eclMegaMenuContainer]\"></ng-content>\n </div>\n </div>\n</div>\n}", dependencies: [{ kind: "component", type:
|
|
854
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: EclMegaMenuItemComponent, deps: [{ token: i1.BreakpointObserver }, { token: i0.ElementRef }, { token: EclMegaMenuDataService }, { token: i3$1.EclHeaderMenuComunicationService }, { token: EclMegaMenuService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
855
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.0", type: EclMegaMenuItemComponent, isStandalone: false, selector: "li[eclMegaMenuItem]", inputs: { label: "label", routerLink: "routerLink", queryParams: "queryParams", queryParamsHandling: "queryParamsHandling", href: "href", target: "target", linkExtraAttributes: "linkExtraAttributes" }, outputs: { megaMenuItemClicked: "megaMenuItemClicked", megaMenuItemKeydown: "megaMenuItemKeydown" }, host: { listeners: { "window:resize": "onResize()" }, properties: { "class": "this.cssClasses", "attr.aria-expanded": "this.isExpanded", "attr.aria-haspopup": "this.hasPopup" } }, queries: [{ propertyName: "eclMegaMenuInfo", first: true, predicate: i0.forwardRef(() => EclMegaMenuInfoComponent), descendants: true }, { propertyName: "eclMegaMenuSublist", first: true, predicate: i0.forwardRef(() => EclMegaMenuSublistDirective), descendants: true }, { propertyName: "eclMegaMenuContainer", first: true, predicate: i0.forwardRef(() => EclMegaMenuContainerDirective), descendants: true }], viewQueries: [{ propertyName: "eclMegaMenuMega", first: true, predicate: ["eclMegaMenuMega"], descendants: true }, { propertyName: "mainPanel", first: true, predicate: ["mainPanel"], descendants: true }, { propertyName: "menuLink", first: true, predicate: EclLinkDirective, descendants: true }, { propertyName: "menuBtn", first: true, predicate: ["menuBtn"], descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (hasChildren) {\n<button #menuBtn eclButton variant=\"primary\" class=\"ecl-mega-menu__link\" (click)=\"onMegaMenuItemClick()\"\n (keydown)=\"onKeydown($event)\">\n <span eclButtonLabel>{{label}}</span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-90\" size=\"2xs\"></ecl-icon>\n <ecl-icon icon=\"arrow-left\" transform=\"flip-horizontal\" size=\"s\"></ecl-icon>\n</button>\n} @else if (href) {\n<a eclLink #menuLink variant=\"standalone\" [href]=\"href\" [target]=\"target\" class=\"ecl-mega-menu__link\"\n (keydown)=\"onKeydown($event)\" (click)=\"onMegaMenuItemClick()\">\n <span eclLinkLabel>{{label}}</span>\n</a>\n} @else {\n<a eclLink #menuLink variant=\"standalone\" [attr.tabindex]=\"tabindex || 0\" [routerLink]=\"routerLink\"\n [queryParams]=\"queryParams\" [queryParamsHandling]=\"queryParamsHandling\" class=\"ecl-mega-menu__link\"\n (keydown)=\"onKeydown($event)\" (click)=\"onMegaMenuItemClick()\">\n <span eclLinkLabel>{{label}}</span>\n</a>\n}\n\n@if (hasSublist) {\n<div class=\"ecl-mega-menu__wrapper\" [style.height.px]=\"wrapperStyleHeight\" [style.top.px]=\"wrapperStyleTop\">\n <div class=\"ecl-container\">\n <ng-content select=\"[eclMegaMenuInfo]\"></ng-content>\n <div #eclMegaMenuMega class=\"ecl-mega-menu__mega\" [style.height.px]=\"megaMenuMegaStyleHeight\" [style.opacity]=\"megaMenuMegaStyleOpacity\">\n <ng-content select=\"[eclMegaMenuSublist]\"></ng-content>\n </div>\n </div>\n</div>\n}\n\n@if (hasContainer) {\n<div #mainPanel class=\"ecl-mega-menu__mega ecl-mega-menu__mega-container\">\n <div class=\"ecl-container\" [style.height.px]=\"containerStyleHeight\">\n <div class=\"ecl-mega-menu__mega-container-scrollable\">\n <ng-content select=\"[eclMegaMenuContainer]\"></ng-content>\n </div>\n </div>\n</div>\n}", dependencies: [{ kind: "component", type: i3.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "containerStyleClass"] }, { kind: "directive", type: i3.EclButtonLabelDirective, selector: "[eclButtonLabel]" }, { kind: "component", type: i4.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "directive", type: i5.EclLinkDirective, selector: "[eclLink]", inputs: ["isInverted", "isIconOnly", "isNoVisited", "variant"] }, { kind: "directive", type: i5.EclLinkLabelDirective, selector: "[eclLinkLabel]" }, { kind: "directive", type: i7.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] }); }
|
|
855
856
|
}
|
|
856
857
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: EclMegaMenuItemComponent, decorators: [{
|
|
857
858
|
type: Component,
|
|
858
859
|
args: [{ selector: 'li[eclMegaMenuItem]', standalone: false, template: "@if (hasChildren) {\n<button #menuBtn eclButton variant=\"primary\" class=\"ecl-mega-menu__link\" (click)=\"onMegaMenuItemClick()\"\n (keydown)=\"onKeydown($event)\">\n <span eclButtonLabel>{{label}}</span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-90\" size=\"2xs\"></ecl-icon>\n <ecl-icon icon=\"arrow-left\" transform=\"flip-horizontal\" size=\"s\"></ecl-icon>\n</button>\n} @else if (href) {\n<a eclLink #menuLink variant=\"standalone\" [href]=\"href\" [target]=\"target\" class=\"ecl-mega-menu__link\"\n (keydown)=\"onKeydown($event)\" (click)=\"onMegaMenuItemClick()\">\n <span eclLinkLabel>{{label}}</span>\n</a>\n} @else {\n<a eclLink #menuLink variant=\"standalone\" [attr.tabindex]=\"tabindex || 0\" [routerLink]=\"routerLink\"\n [queryParams]=\"queryParams\" [queryParamsHandling]=\"queryParamsHandling\" class=\"ecl-mega-menu__link\"\n (keydown)=\"onKeydown($event)\" (click)=\"onMegaMenuItemClick()\">\n <span eclLinkLabel>{{label}}</span>\n</a>\n}\n\n@if (hasSublist) {\n<div class=\"ecl-mega-menu__wrapper\" [style.height.px]=\"wrapperStyleHeight\" [style.top.px]=\"wrapperStyleTop\">\n <div class=\"ecl-container\">\n <ng-content select=\"[eclMegaMenuInfo]\"></ng-content>\n <div #eclMegaMenuMega class=\"ecl-mega-menu__mega\" [style.height.px]=\"megaMenuMegaStyleHeight\" [style.opacity]=\"megaMenuMegaStyleOpacity\">\n <ng-content select=\"[eclMegaMenuSublist]\"></ng-content>\n </div>\n </div>\n</div>\n}\n\n@if (hasContainer) {\n<div #mainPanel class=\"ecl-mega-menu__mega ecl-mega-menu__mega-container\">\n <div class=\"ecl-container\" [style.height.px]=\"containerStyleHeight\">\n <div class=\"ecl-mega-menu__mega-container-scrollable\">\n <ng-content select=\"[eclMegaMenuContainer]\"></ng-content>\n </div>\n </div>\n</div>\n}" }]
|
|
859
|
-
}], ctorParameters: () => [{ type: i1.BreakpointObserver }, { type: i0.ElementRef }, { type: EclMegaMenuDataService }, { type:
|
|
860
|
+
}], ctorParameters: () => [{ type: i1.BreakpointObserver }, { type: i0.ElementRef }, { type: EclMegaMenuDataService }, { type: i3$1.EclHeaderMenuComunicationService }, { type: EclMegaMenuService }, { type: i0.Renderer2 }], propDecorators: { cssClasses: [{
|
|
860
861
|
type: HostBinding,
|
|
861
862
|
args: ['class']
|
|
862
863
|
}], isExpanded: [{
|
|
@@ -920,15 +921,13 @@ class EclMegaMenuComponent extends ECLBaseDirective {
|
|
|
920
921
|
this.isStartPanel ? 'ecl-mega-menu--start-panel' : '',
|
|
921
922
|
].join(' ');
|
|
922
923
|
}
|
|
923
|
-
constructor(differs, cdkBreakpointObserver, eclRtlService, eclUserDeviceService,
|
|
924
|
-
// private eclSiteHeaderAreaDataService: EclExpandableItemSetDataService,
|
|
925
|
-
eclExpandableItemSetDataService, eclMegaMenuDataService, el, renderer) {
|
|
924
|
+
constructor(differs, cdkBreakpointObserver, eclRtlService, eclUserDeviceService, eclHeaderMenuComunicationService, eclMegaMenuDataService, el, renderer) {
|
|
926
925
|
super();
|
|
927
926
|
this.differs = differs;
|
|
928
927
|
this.cdkBreakpointObserver = cdkBreakpointObserver;
|
|
929
928
|
this.eclRtlService = eclRtlService;
|
|
930
929
|
this.eclUserDeviceService = eclUserDeviceService;
|
|
931
|
-
this.
|
|
930
|
+
this.eclHeaderMenuComunicationService = eclHeaderMenuComunicationService;
|
|
932
931
|
this.eclMegaMenuDataService = eclMegaMenuDataService;
|
|
933
932
|
this.el = el;
|
|
934
933
|
this.renderer = renderer;
|
|
@@ -978,7 +977,7 @@ class EclMegaMenuComponent extends ECLBaseDirective {
|
|
|
978
977
|
this.isMobileExpanded = true;
|
|
979
978
|
}
|
|
980
979
|
this.isOpen = true;
|
|
981
|
-
this.
|
|
980
|
+
this.eclHeaderMenuComunicationService.updateOpen(true);
|
|
982
981
|
// Focus first element
|
|
983
982
|
if (this.menuItems.length > 0) {
|
|
984
983
|
this.menuItems.first.onFocus();
|
|
@@ -993,7 +992,7 @@ class EclMegaMenuComponent extends ECLBaseDirective {
|
|
|
993
992
|
this.isMobileExpanded = false;
|
|
994
993
|
}
|
|
995
994
|
this.isOpen = false;
|
|
996
|
-
this.
|
|
995
|
+
this.eclHeaderMenuComunicationService.updateOpen(false);
|
|
997
996
|
}
|
|
998
997
|
onMegaMenuBack() {
|
|
999
998
|
if (this.isOnePanel) {
|
|
@@ -1039,7 +1038,7 @@ class EclMegaMenuComponent extends ECLBaseDirective {
|
|
|
1039
1038
|
const currentItem = this.menuItems.find(item => item.isExpanded);
|
|
1040
1039
|
currentItem.isCurrent = false;
|
|
1041
1040
|
currentItem.isExpanded = false;
|
|
1042
|
-
this.
|
|
1041
|
+
this.eclHeaderMenuComunicationService.updateExpanded(false);
|
|
1043
1042
|
}
|
|
1044
1043
|
subscribeToEvents() {
|
|
1045
1044
|
this.eclMegaMenuDataService.eclSubItemExpanded$.pipe(takeUntil(this.destroy$)).subscribe(isExpanded => {
|
|
@@ -1140,7 +1139,7 @@ class EclMegaMenuComponent extends ECLBaseDirective {
|
|
|
1140
1139
|
this.isExpanded = false;
|
|
1141
1140
|
this.isTwoPanels = false;
|
|
1142
1141
|
this.isOnePanel = false;
|
|
1143
|
-
this.
|
|
1142
|
+
this.eclHeaderMenuComunicationService.updateExpanded(false);
|
|
1144
1143
|
}
|
|
1145
1144
|
focusOnPrevSibling(index) {
|
|
1146
1145
|
if (index > 0) {
|
|
@@ -1182,13 +1181,13 @@ class EclMegaMenuComponent extends ECLBaseDirective {
|
|
|
1182
1181
|
this.renderer.removeClass(document.body, 'ecl-mega-menu-prevent-scroll');
|
|
1183
1182
|
this.renderer.removeStyle(document.body, 'padding-right');
|
|
1184
1183
|
}
|
|
1185
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: EclMegaMenuComponent, deps: [{ token: i0.IterableDiffers }, { token: i1.BreakpointObserver }, { token: i2.EclRtlService }, { token: i2.EclUserDeviceService }, { token:
|
|
1186
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.0", type: EclMegaMenuComponent, isStandalone: false, selector: "nav[eclMegaMenu]", outputs: { megaMenuItemSelect: "megaMenuItemSelect" }, host: { properties: { "class": "this.cssClasses", "attr.aria-expanded": "this.isExpanded", "attr.role": "this.role" } }, queries: [{ propertyName: "menuItems", predicate: i0.forwardRef(() => EclMegaMenuItemComponent), descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ecl-mega-menu__overlay\" [style.top.px]=\"overlayStyleTop\"></div>\n<div class=\"ecl-container ecl-mega-menu__container\">\n <button class=\"ecl-button ecl-button--tertiary ecl-mega-menu__open ecl-button--icon-only\"\n type=\"button\" aria-expanded=\"isMobileExpanded\" (click)=\"onMegaMenuOpen()\">\n <ecl-icon icon=\"hamburger\" size=\"m\"></ecl-icon>\n <ecl-icon icon=\"close\" size=\"m\"></ecl-icon>\n @if (isOpen) {\n <span class=\"ecl-button__label\">{{ 'ecl.common.CLOSE' | translate }}</span>\n } @else {\n <span class=\"ecl-button__label\">{{ 'ecl.menu.MENU' | translate }}</span>\n }\n </button>\n <section class=\"ecl-mega-menu__inner\" [class.ecl-mega-menu__inner--expanded]=\"!isStartPanel && isExpanded\"\n aria-label=\"ecl mega menu\" [style.top.px]=\"innerStyleTop\">\n <header class=\"ecl-mega-menu__inner-header\">\n <button eclButton variant=\"ghost\" class=\"ecl-mega-menu__back\" type=\"submit\" (click)=\"onMegaMenuBack()\">\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-270\"></ecl-icon>\n <span eclButtonLabel>Back</span>\n </button>\n </header>\n <ng-content></ng-content>\n </section>\n</div>", dependencies: [{ kind: "component", type:
|
|
1184
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: EclMegaMenuComponent, deps: [{ token: i0.IterableDiffers }, { token: i1.BreakpointObserver }, { token: i2.EclRtlService }, { token: i2.EclUserDeviceService }, { token: i3$1.EclHeaderMenuComunicationService }, { token: EclMegaMenuDataService }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1185
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.0", type: EclMegaMenuComponent, isStandalone: false, selector: "nav[eclMegaMenu]", outputs: { megaMenuItemSelect: "megaMenuItemSelect" }, host: { properties: { "class": "this.cssClasses", "attr.aria-expanded": "this.isExpanded", "attr.role": "this.role" } }, queries: [{ propertyName: "menuItems", predicate: i0.forwardRef(() => EclMegaMenuItemComponent), descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ecl-mega-menu__overlay\" [style.top.px]=\"overlayStyleTop\"></div>\n<div class=\"ecl-container ecl-mega-menu__container\">\n <button class=\"ecl-button ecl-button--tertiary ecl-mega-menu__open ecl-button--icon-only\"\n type=\"button\" aria-expanded=\"isMobileExpanded\" (click)=\"onMegaMenuOpen()\">\n <ecl-icon icon=\"hamburger\" size=\"m\"></ecl-icon>\n <ecl-icon icon=\"close\" size=\"m\"></ecl-icon>\n @if (isOpen) {\n <span class=\"ecl-button__label\">{{ 'ecl.common.CLOSE' | translate }}</span>\n } @else {\n <span class=\"ecl-button__label\">{{ 'ecl.menu.MENU' | translate }}</span>\n }\n </button>\n <section class=\"ecl-mega-menu__inner\" [class.ecl-mega-menu__inner--expanded]=\"!isStartPanel && isExpanded\"\n aria-label=\"ecl mega menu\" [style.top.px]=\"innerStyleTop\">\n <header class=\"ecl-mega-menu__inner-header\">\n <button eclButton variant=\"ghost\" class=\"ecl-mega-menu__back\" type=\"submit\" (click)=\"onMegaMenuBack()\">\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-270\"></ecl-icon>\n <span eclButtonLabel>Back</span>\n </button>\n </header>\n <ng-content></ng-content>\n </section>\n</div>", dependencies: [{ kind: "component", type: i3.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "containerStyleClass"] }, { kind: "directive", type: i3.EclButtonLabelDirective, selector: "[eclButtonLabel]" }, { kind: "component", type: i4.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "pipe", type: i7$1.TranslatePipe, name: "translate" }] }); }
|
|
1187
1186
|
}
|
|
1188
1187
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: EclMegaMenuComponent, decorators: [{
|
|
1189
1188
|
type: Component,
|
|
1190
1189
|
args: [{ selector: 'nav[eclMegaMenu]', standalone: false, template: "<div class=\"ecl-mega-menu__overlay\" [style.top.px]=\"overlayStyleTop\"></div>\n<div class=\"ecl-container ecl-mega-menu__container\">\n <button class=\"ecl-button ecl-button--tertiary ecl-mega-menu__open ecl-button--icon-only\"\n type=\"button\" aria-expanded=\"isMobileExpanded\" (click)=\"onMegaMenuOpen()\">\n <ecl-icon icon=\"hamburger\" size=\"m\"></ecl-icon>\n <ecl-icon icon=\"close\" size=\"m\"></ecl-icon>\n @if (isOpen) {\n <span class=\"ecl-button__label\">{{ 'ecl.common.CLOSE' | translate }}</span>\n } @else {\n <span class=\"ecl-button__label\">{{ 'ecl.menu.MENU' | translate }}</span>\n }\n </button>\n <section class=\"ecl-mega-menu__inner\" [class.ecl-mega-menu__inner--expanded]=\"!isStartPanel && isExpanded\"\n aria-label=\"ecl mega menu\" [style.top.px]=\"innerStyleTop\">\n <header class=\"ecl-mega-menu__inner-header\">\n <button eclButton variant=\"ghost\" class=\"ecl-mega-menu__back\" type=\"submit\" (click)=\"onMegaMenuBack()\">\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-270\"></ecl-icon>\n <span eclButtonLabel>Back</span>\n </button>\n </header>\n <ng-content></ng-content>\n </section>\n</div>" }]
|
|
1191
|
-
}], ctorParameters: () => [{ type: i0.IterableDiffers }, { type: i1.BreakpointObserver }, { type: i2.EclRtlService }, { type: i2.EclUserDeviceService }, { type:
|
|
1190
|
+
}], ctorParameters: () => [{ type: i0.IterableDiffers }, { type: i1.BreakpointObserver }, { type: i2.EclRtlService }, { type: i2.EclUserDeviceService }, { type: i3$1.EclHeaderMenuComunicationService }, { type: EclMegaMenuDataService }, { type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { cssClasses: [{
|
|
1192
1191
|
type: HostBinding,
|
|
1193
1192
|
args: ['class']
|
|
1194
1193
|
}], isExpanded: [{
|
|
@@ -1252,7 +1251,7 @@ class EclMegaMenuModule {
|
|
|
1252
1251
|
EclMegaMenuSublistDirective,
|
|
1253
1252
|
EclMegaMenuContainerDirective,
|
|
1254
1253
|
EclMegaMenuSpacerDirective] }); }
|
|
1255
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: EclMegaMenuModule,
|
|
1254
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: EclMegaMenuModule, imports: [EclButtonModule,
|
|
1256
1255
|
EclIconModule,
|
|
1257
1256
|
EclLinkModule,
|
|
1258
1257
|
CommonModule,
|
|
@@ -1274,7 +1273,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImpor
|
|
|
1274
1273
|
],
|
|
1275
1274
|
exports: [...COMPONENTS],
|
|
1276
1275
|
declarations: [...COMPONENTS],
|
|
1277
|
-
providers: [EclExpandableItemSetDataService],
|
|
1278
1276
|
}]
|
|
1279
1277
|
}] });
|
|
1280
1278
|
|