@eui/ecl 19.2.0-snapshot-1745849345782 → 19.2.0-snapshot-1745854088357
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-link/ecl-link.directive.d.ts.map +1 -1
- package/components/ecl-site-header/action/ecl-site-header-action.component.d.ts +1 -1
- package/components/ecl-site-header/custom-action/ecl-site-header-custom-action.component.d.ts +24 -0
- package/components/ecl-site-header/custom-action/ecl-site-header-custom-action.component.d.ts.map +1 -0
- package/components/ecl-site-header/custom-action/ecl-site-header-custom-action.directive.d.ts +31 -0
- package/components/ecl-site-header/custom-action/ecl-site-header-custom-action.directive.d.ts.map +1 -0
- package/components/ecl-site-header/custom-action/index.d.ts +3 -0
- package/components/ecl-site-header/custom-action/index.d.ts.map +1 -0
- package/components/ecl-site-header/ecl-site-header.module.d.ts +22 -19
- package/components/ecl-site-header/ecl-site-header.module.d.ts.map +1 -1
- package/components/ecl-site-header/index.d.ts +1 -0
- package/components/ecl-site-header/index.d.ts.map +1 -1
- package/docs/components/EclAccordionComponent.html +2 -2
- package/docs/components/EclAccordionItemComponent.html +2 -2
- package/docs/components/EclAppComponent.html +2 -2
- package/docs/components/EclBannerComponent.html +2 -2
- package/docs/components/EclBlockquoteComponent.html +2 -2
- package/docs/components/EclBreadcrumbComponent.html +2 -2
- package/docs/components/EclBreadcrumbSegmentComponent.html +2 -2
- package/docs/components/EclButtonComponent.html +2 -2
- package/docs/components/EclCardBodyComponent.html +2 -2
- package/docs/components/EclCardComponent.html +2 -2
- package/docs/components/EclCarouselComponent.html +2 -2
- package/docs/components/EclCarouselItemComponent.html +2 -2
- package/docs/components/EclCategoryFilterComponent.html +2 -2
- package/docs/components/EclCategoryFilterItemComponent.html +2 -2
- package/docs/components/EclCategoryFilterListComponent.html +2 -2
- package/docs/components/EclCheckboxHelpComponent.html +2 -2
- package/docs/components/EclCheckboxLabelComponent.html +2 -2
- package/docs/components/EclContentBlockComponent.html +2 -2
- package/docs/components/EclContentItemComponent.html +2 -2
- package/docs/components/EclDateBlockComponent.html +2 -2
- package/docs/components/EclDescriptionListDefinitionComponent.html +2 -2
- package/docs/components/EclExpandableComponent.html +2 -2
- package/docs/components/EclFactFiguresComponent.html +2 -2
- package/docs/components/EclFactFiguresDescriptionComponent.html +2 -2
- package/docs/components/EclFactFiguresItemComponent.html +2 -2
- package/docs/components/EclFactFiguresTitleComponent.html +2 -2
- package/docs/components/EclFactFiguresValueComponent.html +2 -2
- package/docs/components/EclFactFiguresViewAllComponent.html +2 -2
- package/docs/components/EclFeaturedComponent.html +2 -2
- package/docs/components/EclFeaturedItemComponent.html +2 -2
- package/docs/components/EclFeaturedItemDescriptionComponent.html +2 -2
- package/docs/components/EclFeaturedItemFooterComponent.html +2 -2
- package/docs/components/EclFileComponent.html +2 -2
- package/docs/components/EclFileItemComponent.html +2 -2
- package/docs/components/EclFileItemsComponent.html +2 -2
- package/docs/components/EclFileTaxonomyComponent.html +2 -2
- package/docs/components/EclFormGroupComponent.html +2 -2
- package/docs/components/EclFormLabelComponent.html +2 -2
- package/docs/components/EclGalleryComponent.html +2 -2
- package/docs/components/EclGalleryFooterComponent.html +2 -2
- package/docs/components/EclGalleryItemComponent.html +2 -2
- package/docs/components/EclIconComponent.html +2 -2
- package/docs/components/EclInpageNavigationComponent.html +2 -2
- package/docs/components/EclInpageNavigationItemComponent.html +2 -2
- package/docs/components/EclListIllustrationComponent.html +2 -2
- package/docs/components/EclListIllustrationItemComponent.html +2 -2
- package/docs/components/EclLoadingIndicatorComponent.html +2 -2
- package/docs/components/EclMediaContainerComponent.html +2 -2
- package/docs/components/EclMegaMenuComponent.html +2 -2
- package/docs/components/EclMegaMenuFeaturedComponent.html +2 -2
- package/docs/components/EclMegaMenuInfoComponent.html +2 -2
- package/docs/components/EclMegaMenuItemComponent.html +2 -2
- package/docs/components/EclMegaMenuSubitemComponent.html +2 -2
- package/docs/components/EclMenuComponent.html +2 -2
- package/docs/components/EclMenuItemComponent.html +2 -2
- package/docs/components/EclMenuMegaComponent.html +2 -2
- package/docs/components/EclMenuMegaItemComponent.html +2 -2
- package/docs/components/EclModalBodyComponent.html +2 -2
- package/docs/components/EclModalComponent.html +2 -2
- package/docs/components/EclModalFooterComponent.html +2 -2
- package/docs/components/EclModalHeaderComponent.html +2 -2
- package/docs/components/EclMultiselectComponent.html +2 -2
- package/docs/components/EclMultiselectDropdownComponent.html +2 -2
- package/docs/components/EclMultiselectInputComponent.html +2 -2
- package/docs/components/EclMultiselectOptgroupComponent.html +2 -2
- package/docs/components/EclMultiselectOptionComponent.html +2 -2
- package/docs/components/EclNavigationListComponent.html +2 -2
- package/docs/components/EclNavigationListItemComponent.html +2 -2
- package/docs/components/EclNewsTickerComponent.html +2 -2
- package/docs/components/EclNewsTickerItemComponent.html +2 -2
- package/docs/components/EclNotificationComponent.html +2 -2
- package/docs/components/EclPageHeaderComponent.html +2 -2
- package/docs/components/EclPaginationComponent.html +2 -2
- package/docs/components/EclPaginationItemComponent.html +2 -2
- package/docs/components/EclPopoverComponent.html +2 -2
- package/docs/components/EclRadioHelpComponent.html +2 -2
- package/docs/components/EclRadioLabelComponent.html +2 -2
- package/docs/components/EclRangeBubbleComponent.html +2 -2
- package/docs/components/EclRangeValueComponent.html +2 -2
- package/docs/components/EclRatingFieldComponent.html +2 -2
- package/docs/components/EclSearchFormComponent.html +2 -2
- package/docs/components/EclSelectContainerComponent.html +2 -2
- package/docs/components/EclSiteFooterComponent.html +2 -2
- package/docs/components/EclSiteFooterFixedContentECComponent.html +2 -2
- package/docs/components/EclSiteFooterFixedContentEUComponent.html +2 -2
- package/docs/components/EclSiteHeaderActionComponent.html +3 -3
- package/docs/components/EclSiteHeaderBannerTopComponent.html +2 -2
- package/docs/components/EclSiteHeaderComponent.html +2 -2
- package/docs/components/EclSiteHeaderCustomActionComponent.html +911 -0
- package/docs/components/EclSiteHeaderEnvironmentComponent.html +2 -2
- package/docs/components/EclSiteHeaderLanguageComponent.html +3 -3
- package/docs/components/EclSiteHeaderLanguagePopoverComponent.html +2 -2
- package/docs/components/EclSiteHeaderLoginComponent.html +2 -2
- package/docs/components/EclSiteHeaderNotificationComponent.html +2 -2
- package/docs/components/EclSiteHeaderSearchComponent.html +2 -2
- package/docs/components/EclSocialMediaFollowComponent.html +2 -2
- package/docs/components/EclSocialMediaFollowItemComponent.html +2 -2
- package/docs/components/EclSocialMediaShareComponent.html +2 -2
- package/docs/components/EclSocialMediaShareItemComponent.html +2 -2
- package/docs/components/EclSplashPageComponent.html +2 -2
- package/docs/components/EclSplashPageLanguageCategoryComponent.html +2 -2
- package/docs/components/EclSplashPageLanguageContainerComponent.html +2 -2
- package/docs/components/EclSplashPageLanguageLinkComponent.html +2 -2
- package/docs/components/EclStickyContainerComponent.html +2 -2
- package/docs/components/EclTabComponent.html +2 -2
- package/docs/components/EclTabLabelComponent.html +2 -2
- package/docs/components/EclTabMoreComponent.html +2 -2
- package/docs/components/EclTableSortButtonComponent.html +2 -2
- package/docs/components/EclTabsComponent.html +2 -2
- package/docs/components/EclTagComponent.html +2 -2
- package/docs/components/EclTimelineComponent.html +2 -2
- package/docs/components/EclTimelineItemComponent.html +2 -2
- package/docs/components/EclTimelineItemTogglerComponent.html +2 -2
- package/docs/dependencies.html +2 -2
- package/docs/directives/EclLinkDirective.html +1 -1
- package/docs/directives/EclSiteHeaderCustomActionContentDirective.html +497 -0
- package/docs/directives/EclSiteHeaderCustomActionLinkDirective.html +879 -0
- package/docs/directives/EclSiteHeaderCustomActionTitleDirective.html +521 -0
- package/docs/index.html +2 -2
- package/docs/js/menu-wc.js +21 -9
- package/docs/js/menu-wc_es5.js +1 -1
- package/docs/js/search/search_index.js +2 -2
- package/docs/miscellaneous/variables.html +26 -22
- package/fesm2022/eui-ecl-components-ecl-link.mjs +2 -2
- package/fesm2022/eui-ecl-components-ecl-link.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-site-header.mjs +217 -26
- package/fesm2022/eui-ecl-components-ecl-site-header.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -1,26 +1,28 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
1
|
+
import * as i7 from '@angular/common';
|
|
2
|
+
import { DOCUMENT, CommonModule } from '@angular/common';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
4
|
import { HostBinding, Component, Directive, afterNextRender, EventEmitter, HostListener, Output, Input, ViewChild, Injectable, ElementRef, Optional, Inject, booleanAttribute, forwardRef, ContentChild, NgModule } from '@angular/core';
|
|
5
|
-
import * as
|
|
5
|
+
import * as i4 from '@angular/cdk/a11y';
|
|
6
|
+
import { A11yModule } from '@angular/cdk/a11y';
|
|
7
|
+
import * as i3$3 from '@angular/forms';
|
|
6
8
|
import { NG_VALUE_ACCESSOR, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
7
9
|
import * as i6 from '@ngx-translate/core';
|
|
8
10
|
import { TranslateModule } from '@ngx-translate/core';
|
|
9
|
-
import * as
|
|
11
|
+
import * as i3$1 from '@eui/ecl/components/ecl-button';
|
|
10
12
|
import { EclButtonModule } from '@eui/ecl/components/ecl-button';
|
|
11
13
|
import { EclFormGroupModule } from '@eui/ecl/components/ecl-form-group';
|
|
12
|
-
import * as
|
|
13
|
-
import { EclIconModule } from '@eui/ecl/components/ecl-icon';
|
|
14
|
+
import * as i5 from '@eui/ecl/components/ecl-icon';
|
|
15
|
+
import { EclIconComponent, EclIconModule } from '@eui/ecl/components/ecl-icon';
|
|
14
16
|
import * as i3 from '@eui/ecl/components/ecl-link';
|
|
15
17
|
import { EclLinkModule } from '@eui/ecl/components/ecl-link';
|
|
16
|
-
import * as i5 from '@eui/ecl/components/ecl-search-form';
|
|
18
|
+
import * as i5$1 from '@eui/ecl/components/ecl-search-form';
|
|
17
19
|
import { EclSearchFormModule } from '@eui/ecl/components/ecl-search-form';
|
|
18
20
|
import * as i2 from '@eui/ecl/core';
|
|
19
21
|
import { ECLBaseDirective, EclBaseEvent, ECLClickOutsideDirective } from '@eui/ecl/core';
|
|
20
22
|
import { Subject, takeUntil as takeUntil$1, debounceTime } from 'rxjs';
|
|
21
23
|
import { takeUntil } from 'rxjs/operators';
|
|
22
24
|
import * as i1 from '@angular/cdk/layout';
|
|
23
|
-
import * as i3$
|
|
25
|
+
import * as i3$2 from '@eui/core';
|
|
24
26
|
import { EuiEuLanguages, GLOBAL_CONFIG_TOKEN } from '@eui/core';
|
|
25
27
|
import { EclMegaMenuComponent } from '@eui/ecl/components/ecl-mega-menu';
|
|
26
28
|
import { EclMenuComponent } from '@eui/ecl/components/ecl-menu';
|
|
@@ -33,11 +35,11 @@ class EclSiteHeaderActionComponent extends ECLBaseDirective {
|
|
|
33
35
|
this.class = 'ecl-site-header__action';
|
|
34
36
|
}
|
|
35
37
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: EclSiteHeaderActionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
36
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.8", type: EclSiteHeaderActionComponent, isStandalone: false, selector: "ecl-site-header-action", host: { properties: { "class": "this.class" } }, usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ecl-site-header-login\"></ng-content>\n<ng-content select=\"ecl-site-header-language\"></ng-content>\n<ng-content select=\"ecl-site-header-search\"></ng-content>\n" }); }
|
|
38
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.8", type: EclSiteHeaderActionComponent, isStandalone: false, selector: "ecl-site-header-action", host: { properties: { "class": "this.class" } }, usesInheritance: true, ngImport: i0, template: "<ng-content select=\"[eclSiteHeaderCustomAction]\"></ng-content>\n<ng-content select=\"ecl-site-header-login\"></ng-content>\n<ng-content select=\"ecl-site-header-language\"></ng-content>\n<ng-content select=\"ecl-site-header-search\"></ng-content>\n" }); }
|
|
37
39
|
}
|
|
38
40
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: EclSiteHeaderActionComponent, decorators: [{
|
|
39
41
|
type: Component,
|
|
40
|
-
args: [{ selector: 'ecl-site-header-action', standalone: false, template: "<ng-content select=\"ecl-site-header-login\"></ng-content>\n<ng-content select=\"ecl-site-header-language\"></ng-content>\n<ng-content select=\"ecl-site-header-search\"></ng-content>\n" }]
|
|
42
|
+
args: [{ selector: 'ecl-site-header-action', standalone: false, template: "<ng-content select=\"[eclSiteHeaderCustomAction]\"></ng-content>\n<ng-content select=\"ecl-site-header-login\"></ng-content>\n<ng-content select=\"ecl-site-header-language\"></ng-content>\n<ng-content select=\"ecl-site-header-search\"></ng-content>\n" }]
|
|
41
43
|
}], propDecorators: { class: [{
|
|
42
44
|
type: HostBinding,
|
|
43
45
|
args: ['class']
|
|
@@ -252,7 +254,7 @@ class EclSiteHeaderLanguagePopoverComponent extends ECLBaseDirective {
|
|
|
252
254
|
});
|
|
253
255
|
}
|
|
254
256
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: EclSiteHeaderLanguagePopoverComponent, deps: [{ token: i0.ElementRef }, { token: i2.EclThemeService }, { token: i2$1.ScrollDispatcher }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
255
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.8", type: EclSiteHeaderLanguagePopoverComponent, isStandalone: false, selector: "ecl-site-header-language-popover", inputs: { languageCode: "languageCode", euLanguages: "euLanguages", nonEuLanguages: "nonEuLanguages", euColumnsCount: "euColumnsCount", nonEuColumnsCount: "nonEuColumnsCount", isHidden: "isHidden", isPushRight: "isPushRight", isPushLeft: "isPushLeft", isStack: "isStack", isFull: "isFull", rightPosition: "rightPosition", leftPosition: "leftPosition", languageArrowPosition: "languageArrowPosition" }, outputs: { languageClosed: "languageClosed", languageSelected: "languageSelected" }, host: { listeners: { "window:resize": "onWindowResize($event)" }, properties: { "style.right.px": "this.rightPosition", "style.left.px": "this.leftPosition", "style.--ecl-language-arrow-position": "this.languageArrowPosition", "attr.role": "this.role", "attr.aria-labelledby": "this.labelledBy", "style.display": "this.display", "class": "this.cssClasses", "attr.aria-modal": "this.isModal", "attr.hidden": "this.isDropdownHidden" } }, viewQueries: [{ propertyName: "languageContent", first: true, predicate: ["languageContent"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ecl-site-header__language-header\">\n <div class=\"ecl-site-header__language-title\">\n {{ 'ecl.language-list.SELECT-LANGUAGE' | translate }}\n </div>\n <button eclButton variant=\"tertiary\" isIconOnly class=\"ecl-site-header__language-close\" (click)=\"onCloseClick()\">\n <span class=\"ecl-button__container\">\n <span class=\"ecl-button__label\">\n {{ 'ecl.common.CLOSE' | translate }}\n </span>\n @if (eclThemeService.isECTheme()) {\n <ecl-icon icon=\"close\" size=\"m\"> </ecl-icon>\n } @else {\n <ecl-icon icon=\"close\" size=\"s\"> </ecl-icon>\n }\n </span>\n </button>\n</div>\n\n<div #languageContent class=\"ecl-site-header__language-content\" [style.max-height.px]=\"languageContentMaxHeight\"\n [class.ecl-site-header__language-content--stack]=\"isStack\">\n @if (euLanguages.length) {\n <div class=\"ecl-site-header__language-category ecl-site-header__language-category--{{ euColumnsCount }}-col\">\n <div class=\"ecl-site-header__language-category-title\">\n {{ 'ecl.language-list.EU-LANGUAGES' | translate }}\n </div>\n <ul class=\"ecl-site-header__language-list\">\n @for (item of euLanguages; track item.code) {\n <li class=\"ecl-site-header__language-item\">\n <a\n eclLink\n href=\"#\"\n variant=\"standalone\"\n [lang]=\"item.code\"\n [hreflang]=\"item.code\"\n class=\"ecl-site-header__language-link\"\n [class.ecl-site-header__language-link--active]=\"item.code === languageCode\"\n (click)=\"onLanguageClick(item, $event)\">\n <span class=\"ecl-site-header__language-link-code\">{{ item.code }}</span>\n <span class=\"ecl-site-header__language-link-label\">{{ item.label }}</span>\n </a>\n </li>\n }\n </ul>\n </div>\n }\n @if (nonEuLanguages.length) {\n <div class=\"ecl-site-header__language-category ecl-site-header__language-category--{{ nonEuColumnsCount }}-col\">\n <div class=\"ecl-site-header__language-category-title\">\n {{ 'ecl.language-list.NON-EU-LANGUAGES' | translate }}\n </div>\n <ul class=\"ecl-site-header__language-list\">\n @for (item of nonEuLanguages; track item.code) {\n <li class=\"ecl-site-header__language-item\">\n <a\n eclLink\n href=\"#\"\n [lang]=\"item.code\"\n [hreflang]=\"item.code\"\n variant=\"standalone\"\n class=\"ecl-site-header__language-link\"\n [class.ecl-site-header__language-link--active]=\"item.code === languageCode\"\n (click)=\"onLanguageClick(item, $event)\">\n <span class=\"ecl-site-header__language-link-code\">{{ item.code }}</span>\n <span class=\"ecl-site-header__language-link-label\">{{ item.label }}</span>\n </a>\n </li>\n }\n </ul>\n </div>\n }\n</div>\n", dependencies: [{ kind: "directive", type: i3.EclLinkDirective, selector: "[eclLink]", inputs: ["isInverted", "isIconOnly", "isNoVisited", "variant"] }, { kind: "component", type:
|
|
257
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.8", type: EclSiteHeaderLanguagePopoverComponent, isStandalone: false, selector: "ecl-site-header-language-popover", inputs: { languageCode: "languageCode", euLanguages: "euLanguages", nonEuLanguages: "nonEuLanguages", euColumnsCount: "euColumnsCount", nonEuColumnsCount: "nonEuColumnsCount", isHidden: "isHidden", isPushRight: "isPushRight", isPushLeft: "isPushLeft", isStack: "isStack", isFull: "isFull", rightPosition: "rightPosition", leftPosition: "leftPosition", languageArrowPosition: "languageArrowPosition" }, outputs: { languageClosed: "languageClosed", languageSelected: "languageSelected" }, host: { listeners: { "window:resize": "onWindowResize($event)" }, properties: { "style.right.px": "this.rightPosition", "style.left.px": "this.leftPosition", "style.--ecl-language-arrow-position": "this.languageArrowPosition", "attr.role": "this.role", "attr.aria-labelledby": "this.labelledBy", "style.display": "this.display", "class": "this.cssClasses", "attr.aria-modal": "this.isModal", "attr.hidden": "this.isDropdownHidden" } }, viewQueries: [{ propertyName: "languageContent", first: true, predicate: ["languageContent"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ecl-site-header__language-header\">\n <div class=\"ecl-site-header__language-title\">\n {{ 'ecl.language-list.SELECT-LANGUAGE' | translate }}\n </div>\n <button eclButton variant=\"tertiary\" isIconOnly class=\"ecl-site-header__language-close\" (click)=\"onCloseClick()\">\n <span class=\"ecl-button__container\">\n <span class=\"ecl-button__label\">\n {{ 'ecl.common.CLOSE' | translate }}\n </span>\n @if (eclThemeService.isECTheme()) {\n <ecl-icon icon=\"close\" size=\"m\"> </ecl-icon>\n } @else {\n <ecl-icon icon=\"close\" size=\"s\"> </ecl-icon>\n }\n </span>\n </button>\n</div>\n\n<div #languageContent class=\"ecl-site-header__language-content\" [style.max-height.px]=\"languageContentMaxHeight\"\n [class.ecl-site-header__language-content--stack]=\"isStack\">\n @if (euLanguages.length) {\n <div class=\"ecl-site-header__language-category ecl-site-header__language-category--{{ euColumnsCount }}-col\">\n <div class=\"ecl-site-header__language-category-title\">\n {{ 'ecl.language-list.EU-LANGUAGES' | translate }}\n </div>\n <ul class=\"ecl-site-header__language-list\">\n @for (item of euLanguages; track item.code) {\n <li class=\"ecl-site-header__language-item\">\n <a\n eclLink\n href=\"#\"\n variant=\"standalone\"\n [lang]=\"item.code\"\n [hreflang]=\"item.code\"\n class=\"ecl-site-header__language-link\"\n [class.ecl-site-header__language-link--active]=\"item.code === languageCode\"\n (click)=\"onLanguageClick(item, $event)\">\n <span class=\"ecl-site-header__language-link-code\">{{ item.code }}</span>\n <span class=\"ecl-site-header__language-link-label\">{{ item.label }}</span>\n </a>\n </li>\n }\n </ul>\n </div>\n }\n @if (nonEuLanguages.length) {\n <div class=\"ecl-site-header__language-category ecl-site-header__language-category--{{ nonEuColumnsCount }}-col\">\n <div class=\"ecl-site-header__language-category-title\">\n {{ 'ecl.language-list.NON-EU-LANGUAGES' | translate }}\n </div>\n <ul class=\"ecl-site-header__language-list\">\n @for (item of nonEuLanguages; track item.code) {\n <li class=\"ecl-site-header__language-item\">\n <a\n eclLink\n href=\"#\"\n [lang]=\"item.code\"\n [hreflang]=\"item.code\"\n variant=\"standalone\"\n class=\"ecl-site-header__language-link\"\n [class.ecl-site-header__language-link--active]=\"item.code === languageCode\"\n (click)=\"onLanguageClick(item, $event)\">\n <span class=\"ecl-site-header__language-link-code\">{{ item.code }}</span>\n <span class=\"ecl-site-header__language-link-label\">{{ item.label }}</span>\n </a>\n </li>\n }\n </ul>\n </div>\n }\n</div>\n", dependencies: [{ kind: "directive", type: i3.EclLinkDirective, selector: "[eclLink]", inputs: ["isInverted", "isIconOnly", "isNoVisited", "variant"] }, { kind: "component", type: i3$1.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "containerStyleClass"] }, { kind: "component", type: i5.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
|
|
256
258
|
}
|
|
257
259
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: EclSiteHeaderLanguagePopoverComponent, decorators: [{
|
|
258
260
|
type: Component,
|
|
@@ -428,7 +430,7 @@ class EclSiteHeaderLanguageComponent extends ECLBaseDirective {
|
|
|
428
430
|
if (this.hasLanguageCodes()) {
|
|
429
431
|
const arrowSize = '0.5rem';
|
|
430
432
|
const linkRect = this.languageLinkElement.nativeElement.getBoundingClientRect();
|
|
431
|
-
const popoverRect = this.languagePopover
|
|
433
|
+
const popoverRect = this.languagePopover?.el.nativeElement.getBoundingClientRect();
|
|
432
434
|
const screenWidth = window.innerWidth;
|
|
433
435
|
const vw = Math.max(document.documentElement.clientWidth || 0, window.innerWidth || 0);
|
|
434
436
|
this.isFull = false;
|
|
@@ -438,26 +440,26 @@ class EclSiteHeaderLanguageComponent extends ECLBaseDirective {
|
|
|
438
440
|
this.rightPosition = undefined;
|
|
439
441
|
this.leftPosition = undefined;
|
|
440
442
|
this.languageArrowPosition = undefined;
|
|
441
|
-
if (popoverRect
|
|
443
|
+
if (popoverRect?.width > this.parentHeaderWidth) {
|
|
442
444
|
this.isStack = true;
|
|
443
445
|
if (this.nonEuLanguages.length) {
|
|
444
446
|
this.nonEuColumnsCount = Math.max(this.euColumnsCount, this.nonEuColumnsCount);
|
|
445
447
|
}
|
|
446
448
|
}
|
|
447
|
-
if (this.isRtl && popoverRect
|
|
449
|
+
if (this.isRtl && popoverRect?.left < 0) {
|
|
448
450
|
const arrowPosition = linkRect.right - parentHeaderLeft - linkRect.width / 2;
|
|
449
451
|
this.isPushLeft = true;
|
|
450
452
|
this.leftPosition = -linkRect.left + parentHeaderLeft;
|
|
451
453
|
this.languageArrowPosition = `${arrowPosition}px`;
|
|
452
454
|
}
|
|
453
|
-
else if (!this.isRtl && popoverRect
|
|
455
|
+
else if (!this.isRtl && popoverRect?.right > screenWidth) {
|
|
454
456
|
const arrowPosition = parentHeaderRight - linkRect.right + linkRect.width / 2;
|
|
455
457
|
this.isPushRight = true;
|
|
456
458
|
this.rightPosition = -parentHeaderRight + linkRect.right;
|
|
457
459
|
this.languageArrowPosition = `calc(${arrowPosition}px - ${arrowSize})`;
|
|
458
460
|
}
|
|
459
461
|
if (vw < this.MOBILE_BREAKPOINT) {
|
|
460
|
-
const arrowPosition = popoverRect
|
|
462
|
+
const arrowPosition = popoverRect?.right - linkRect.right + linkRect.width / 2;
|
|
461
463
|
this.isFull = true;
|
|
462
464
|
this.languageArrowPosition = `calc(${arrowPosition}px - ${arrowSize})`;
|
|
463
465
|
}
|
|
@@ -491,8 +493,8 @@ class EclSiteHeaderLanguageComponent extends ECLBaseDirective {
|
|
|
491
493
|
this.updateLanguages();
|
|
492
494
|
});
|
|
493
495
|
}
|
|
494
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: EclSiteHeaderLanguageComponent, deps: [{ token: EclAreaDataService }, { token: i2.EclRtlService }, { token: i2.EclThemeService }, { token: GLOBAL_CONFIG_TOKEN, optional: true }, { token: i3$
|
|
495
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.8", type: EclSiteHeaderLanguageComponent, isStandalone: false, selector: "ecl-site-header-language", outputs: { languageClick: "languageClick", languageSelected: "languageSelected" }, host: { listeners: { "eclClickOutside": "onClickOutside()", "document:keydown.escape": "onEscapeKeydownHandler()" }, properties: { "class": "this.cssClasses" } }, viewQueries: [{ propertyName: "languagePopover", first: true, predicate: EclSiteHeaderLanguagePopoverComponent, descendants: true }, { propertyName: "languageLinkElement", first: true, predicate: ["languageLink"], descendants: true, read: ElementRef }], usesInheritance: true, hostDirectives: [{ directive: i2.ECLClickOutsideDirective, outputs: ["eclClickOutside", "eclClickOutside"] }], ngImport: i0, template: "<a\n href=\"#\"\n #languageLink\n class=\"ecl-button ecl-button--tertiary ecl-site-header__language-selector\"\n aria-controls=\"language-list-overlay\"\n role=\"button\"\n [attr.aria-label]=\"'ecl.language-list.SELECT-LANGUAGE-EXT' | translate: { currentLang: getLanguageLabel() }\"\n [attr.aria-expanded]=\"isLanguagesDropdownVisible\"\n (click)=\"onLanguageClick($event)\"\n (keydown.space)=\"onLanguageClick($event)\">\n <span class=\"ecl-site-header__language-icon\">\n <ecl-icon icon=\"global\" size=\"s\" class=\"ecl-site-header__icon\"></ecl-icon>\n </span>\n {{ languageCode | uppercase }}\n</a>\n@if(hasLanguageCodes()) {\n<ecl-site-header-language-popover\n #languagePopover\n id=\"language-list-overlay\"\n [languageCode]=\"languageCode\"\n [euLanguages]=\"euLanguages\"\n [nonEuLanguages]=\"nonEuLanguages\"\n [euColumnsCount]=\"euColumnsCount\"\n [nonEuColumnsCount]=\"nonEuColumnsCount\"\n [
|
|
496
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: EclSiteHeaderLanguageComponent, deps: [{ token: EclAreaDataService }, { token: i2.EclRtlService }, { token: i2.EclThemeService }, { token: GLOBAL_CONFIG_TOKEN, optional: true }, { token: i3$2.I18nService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
497
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.8", type: EclSiteHeaderLanguageComponent, isStandalone: false, selector: "ecl-site-header-language", outputs: { languageClick: "languageClick", languageSelected: "languageSelected" }, host: { listeners: { "eclClickOutside": "onClickOutside()", "document:keydown.escape": "onEscapeKeydownHandler()" }, properties: { "class": "this.cssClasses" } }, viewQueries: [{ propertyName: "languagePopover", first: true, predicate: EclSiteHeaderLanguagePopoverComponent, descendants: true }, { propertyName: "languageLinkElement", first: true, predicate: ["languageLink"], descendants: true, read: ElementRef }], usesInheritance: true, hostDirectives: [{ directive: i2.ECLClickOutsideDirective, outputs: ["eclClickOutside", "eclClickOutside"] }], ngImport: i0, template: "<a\n href=\"#\"\n #languageLink\n class=\"ecl-button ecl-button--tertiary ecl-site-header__language-selector\"\n aria-controls=\"language-list-overlay\"\n role=\"button\"\n [attr.aria-label]=\"'ecl.language-list.SELECT-LANGUAGE-EXT' | translate: { currentLang: getLanguageLabel() }\"\n [attr.aria-expanded]=\"isLanguagesDropdownVisible\"\n (click)=\"onLanguageClick($event)\"\n (keydown.space)=\"onLanguageClick($event)\">\n <span class=\"ecl-site-header__language-icon\">\n <ecl-icon icon=\"global\" size=\"s\" class=\"ecl-site-header__icon\"></ecl-icon>\n </span>\n {{ languageCode | uppercase }}\n</a>\n@if(hasLanguageCodes() && isLanguagesDropdownVisible) {\n<ecl-site-header-language-popover\n #languagePopover\n cdkTrapFocus\n cdkTrapFocusAutoCapture\n id=\"language-list-overlay\"\n [languageCode]=\"languageCode\"\n [euLanguages]=\"euLanguages\"\n [nonEuLanguages]=\"nonEuLanguages\"\n [euColumnsCount]=\"euColumnsCount\"\n [nonEuColumnsCount]=\"nonEuColumnsCount\"\n [isStack]=\"isStack\"\n [isPushRight]=\"isPushRight\"\n [isPushLeft] = \"isPushLeft\"\n [isFull]=\"isFull\"\n [rightPosition]=\"rightPosition\"\n [leftPosition]=\"leftPosition\"\n [languageArrowPosition]=\"languageArrowPosition\"\n (languageSelected)=\"onLanguageSelected($event)\"\n (languageClosed)=\"onLanguageClosed($event)\">\n</ecl-site-header-language-popover>\n}", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i4.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "component", type: i5.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "component", type: EclSiteHeaderLanguagePopoverComponent, selector: "ecl-site-header-language-popover", inputs: ["languageCode", "euLanguages", "nonEuLanguages", "euColumnsCount", "nonEuColumnsCount", "isHidden", "isPushRight", "isPushLeft", "isStack", "isFull", "rightPosition", "leftPosition", "languageArrowPosition"], outputs: ["languageClosed", "languageSelected"] }, { kind: "pipe", type: i7.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
|
|
496
498
|
}
|
|
497
499
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: EclSiteHeaderLanguageComponent, decorators: [{
|
|
498
500
|
type: Component,
|
|
@@ -501,13 +503,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImpor
|
|
|
501
503
|
directive: ECLClickOutsideDirective,
|
|
502
504
|
outputs: ['eclClickOutside'],
|
|
503
505
|
},
|
|
504
|
-
], template: "<a\n href=\"#\"\n #languageLink\n class=\"ecl-button ecl-button--tertiary ecl-site-header__language-selector\"\n aria-controls=\"language-list-overlay\"\n role=\"button\"\n [attr.aria-label]=\"'ecl.language-list.SELECT-LANGUAGE-EXT' | translate: { currentLang: getLanguageLabel() }\"\n [attr.aria-expanded]=\"isLanguagesDropdownVisible\"\n (click)=\"onLanguageClick($event)\"\n (keydown.space)=\"onLanguageClick($event)\">\n <span class=\"ecl-site-header__language-icon\">\n <ecl-icon icon=\"global\" size=\"s\" class=\"ecl-site-header__icon\"></ecl-icon>\n </span>\n {{ languageCode | uppercase }}\n</a>\n@if(hasLanguageCodes()) {\n<ecl-site-header-language-popover\n #languagePopover\n id=\"language-list-overlay\"\n [languageCode]=\"languageCode\"\n [euLanguages]=\"euLanguages\"\n [nonEuLanguages]=\"nonEuLanguages\"\n [euColumnsCount]=\"euColumnsCount\"\n [nonEuColumnsCount]=\"nonEuColumnsCount\"\n [
|
|
506
|
+
], template: "<a\n href=\"#\"\n #languageLink\n class=\"ecl-button ecl-button--tertiary ecl-site-header__language-selector\"\n aria-controls=\"language-list-overlay\"\n role=\"button\"\n [attr.aria-label]=\"'ecl.language-list.SELECT-LANGUAGE-EXT' | translate: { currentLang: getLanguageLabel() }\"\n [attr.aria-expanded]=\"isLanguagesDropdownVisible\"\n (click)=\"onLanguageClick($event)\"\n (keydown.space)=\"onLanguageClick($event)\">\n <span class=\"ecl-site-header__language-icon\">\n <ecl-icon icon=\"global\" size=\"s\" class=\"ecl-site-header__icon\"></ecl-icon>\n </span>\n {{ languageCode | uppercase }}\n</a>\n@if(hasLanguageCodes() && isLanguagesDropdownVisible) {\n<ecl-site-header-language-popover\n #languagePopover\n cdkTrapFocus\n cdkTrapFocusAutoCapture\n id=\"language-list-overlay\"\n [languageCode]=\"languageCode\"\n [euLanguages]=\"euLanguages\"\n [nonEuLanguages]=\"nonEuLanguages\"\n [euColumnsCount]=\"euColumnsCount\"\n [nonEuColumnsCount]=\"nonEuColumnsCount\"\n [isStack]=\"isStack\"\n [isPushRight]=\"isPushRight\"\n [isPushLeft] = \"isPushLeft\"\n [isFull]=\"isFull\"\n [rightPosition]=\"rightPosition\"\n [leftPosition]=\"leftPosition\"\n [languageArrowPosition]=\"languageArrowPosition\"\n (languageSelected)=\"onLanguageSelected($event)\"\n (languageClosed)=\"onLanguageClosed($event)\">\n</ecl-site-header-language-popover>\n}", styles: [":host{display:block}\n"] }]
|
|
505
507
|
}], ctorParameters: () => [{ type: EclAreaDataService }, { type: i2.EclRtlService }, { type: i2.EclThemeService }, { type: undefined, decorators: [{
|
|
506
508
|
type: Optional
|
|
507
509
|
}, {
|
|
508
510
|
type: Inject,
|
|
509
511
|
args: [GLOBAL_CONFIG_TOKEN]
|
|
510
|
-
}] }, { type: i3$
|
|
512
|
+
}] }, { type: i3$2.I18nService }], propDecorators: { languagePopover: [{
|
|
511
513
|
type: ViewChild,
|
|
512
514
|
args: [EclSiteHeaderLanguagePopoverComponent]
|
|
513
515
|
}], languageLinkElement: [{
|
|
@@ -606,7 +608,7 @@ class EclSiteHeaderLoginComponent extends ECLBaseDirective {
|
|
|
606
608
|
}
|
|
607
609
|
}
|
|
608
610
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: EclSiteHeaderLoginComponent, deps: [{ token: EclAreaDataService }, { token: i2.EclRtlService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
609
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.8", type: EclSiteHeaderLoginComponent, isStandalone: false, selector: "ecl-site-header-login", inputs: { isLoggedIn: ["isLoggedIn", "isLoggedIn", booleanAttribute] }, outputs: { login: "login", loginBoxToggle: "loginBoxToggle" }, host: { listeners: { "eclClickOutside": "onClickOutsideMegaMenu()" }, properties: { "class": "this.class" } }, viewQueries: [{ propertyName: "loginLinkElement", first: true, predicate: ["loginLink"], descendants: true, read: ElementRef }], usesInheritance: true, usesOnChanges: true, hostDirectives: [{ directive: i2.ECLBaseDirective }, { directive: i2.ECLClickOutsideDirective, outputs: ["eclClickOutside", "eclClickOutside"] }], ngImport: i0, template: "@if (isLoggedIn) {\n <a\n #loginLink\n href=\"#\"\n class=\"ecl-button ecl-button--tertiary ecl-site-header__login-toggle\"\n aria-controls=\"login-box-id\"\n [attr.aria-expanded]=\"isLoginBoxActive\"\n (click)=\"onLoginBoxToggle($event)\">\n <ecl-icon icon=\"logged-in\" size=\"s\" class=\"ecl-site-header__icon\"></ecl-icon>\n {{ 'ecl.site-header.LOGGED-IN' | translate }}\n </a>\n <div\n id=\"login-box-id\"\n [style]=\"{'--ecl-login-arrow-position': loginArrowPosition}\"\n class=\"{{ getLoginBoxCssClasses() }}\">\n <ng-content></ng-content>\n </div>\n} @else {\n <a\n href=\"#\"\n class=\"ecl-button ecl-button--tertiary ecl-site-header__login-toggle\"\n [attr.aria-expanded]=\"isLoginBoxActive\"\n (click)=\"onLoginClick($event)\">\n <ecl-icon icon=\"log-in\" size=\"s\" class=\"ecl-site-header__icon\"></ecl-icon>\n {{ 'ecl.site-header.LOGIN' | translate }}\n </a>\n}\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "component", type:
|
|
611
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.8", type: EclSiteHeaderLoginComponent, isStandalone: false, selector: "ecl-site-header-login", inputs: { isLoggedIn: ["isLoggedIn", "isLoggedIn", booleanAttribute] }, outputs: { login: "login", loginBoxToggle: "loginBoxToggle" }, host: { listeners: { "eclClickOutside": "onClickOutsideMegaMenu()" }, properties: { "class": "this.class" } }, viewQueries: [{ propertyName: "loginLinkElement", first: true, predicate: ["loginLink"], descendants: true, read: ElementRef }], usesInheritance: true, usesOnChanges: true, hostDirectives: [{ directive: i2.ECLBaseDirective }, { directive: i2.ECLClickOutsideDirective, outputs: ["eclClickOutside", "eclClickOutside"] }], ngImport: i0, template: "@if (isLoggedIn) {\n <a\n #loginLink\n href=\"#\"\n class=\"ecl-button ecl-button--tertiary ecl-site-header__login-toggle\"\n aria-controls=\"login-box-id\"\n [attr.aria-expanded]=\"isLoginBoxActive\"\n (click)=\"onLoginBoxToggle($event)\">\n <ecl-icon icon=\"logged-in\" size=\"s\" class=\"ecl-site-header__icon\"></ecl-icon>\n {{ 'ecl.site-header.LOGGED-IN' | translate }}\n </a>\n <div\n id=\"login-box-id\"\n [style]=\"{'--ecl-login-arrow-position': loginArrowPosition}\"\n class=\"{{ getLoginBoxCssClasses() }}\">\n <ng-content></ng-content>\n </div>\n} @else {\n <a\n href=\"#\"\n class=\"ecl-button ecl-button--tertiary ecl-site-header__login-toggle\"\n [attr.aria-expanded]=\"isLoginBoxActive\"\n (click)=\"onLoginClick($event)\">\n <ecl-icon icon=\"log-in\" size=\"s\" class=\"ecl-site-header__icon\"></ecl-icon>\n {{ 'ecl.site-header.LOGIN' | translate }}\n </a>\n}\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "component", type: i5.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
|
|
610
612
|
}
|
|
611
613
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: EclSiteHeaderLoginComponent, decorators: [{
|
|
612
614
|
type: Component,
|
|
@@ -844,7 +846,7 @@ class EclSiteHeaderSearchComponent extends ECLBaseDirective {
|
|
|
844
846
|
}
|
|
845
847
|
}
|
|
846
848
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: EclSiteHeaderSearchComponent, deps: [{ token: EclAreaDataService }, { token: i2.EclRtlService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
847
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.8", type: EclSiteHeaderSearchComponent, isStandalone: false, selector: "ecl-site-header-search", inputs: { searchInputText: "searchInputText", searchInputPlaceholder: "searchInputPlaceholder", searchButtonLabel: "searchButtonLabel" }, outputs: { search: "search", searchToggle: "searchToggle" }, host: { properties: { "class": "this.class", "attr.role": "this.role" } }, providers: [ECL_SITE_HEADER_SEARCH_VALUE_ACCESSOR], viewQueries: [{ propertyName: "searchLinkElement", first: true, predicate: ["searchLink"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<a\n #searchLink\n href=\"#\"\n class=\"ecl-button ecl-button--tertiary ecl-site-header__search-toggle\"\n data-ecl-search-toggle=\"true\"\n aria-controls=\"search-form-id\"\n [attr.aria-expanded]=\"isSearchBoxActive\"\n (click)=\"onSearchBoxToggle($event)\">\n <ecl-icon icon=\"search\" size=\"s\" class=\"ecl-site-header__icon\"></ecl-icon>\n {{ 'ecl.common.SEARCH' | translate }}\n</a>\n\n<ecl-search-form\n [style]=\"{'--ecl-search-arrow-position': searchArrowPosition}\"\n (search)=\"onSearch($event)\"\n [placeholder]=\"searchInputPlaceholder\"\n (ngModelChange)=\"onModelChange($event)\"\n [(ngModel)]=\"searchInputText\"\n [searchButtonLabel]=\"searchButtonLabel\"\n [class]=\"getSearchBoxCssClasses()\">\n</ecl-search-form>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i3$
|
|
849
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.8", type: EclSiteHeaderSearchComponent, isStandalone: false, selector: "ecl-site-header-search", inputs: { searchInputText: "searchInputText", searchInputPlaceholder: "searchInputPlaceholder", searchButtonLabel: "searchButtonLabel" }, outputs: { search: "search", searchToggle: "searchToggle" }, host: { properties: { "class": "this.class", "attr.role": "this.role" } }, providers: [ECL_SITE_HEADER_SEARCH_VALUE_ACCESSOR], viewQueries: [{ propertyName: "searchLinkElement", first: true, predicate: ["searchLink"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<a\n #searchLink\n href=\"#\"\n class=\"ecl-button ecl-button--tertiary ecl-site-header__search-toggle\"\n data-ecl-search-toggle=\"true\"\n aria-controls=\"search-form-id\"\n [attr.aria-expanded]=\"isSearchBoxActive\"\n (click)=\"onSearchBoxToggle($event)\">\n <ecl-icon icon=\"search\" size=\"s\" class=\"ecl-site-header__icon\"></ecl-icon>\n {{ 'ecl.common.SEARCH' | translate }}\n</a>\n\n<ecl-search-form\n [style]=\"{'--ecl-search-arrow-position': searchArrowPosition}\"\n (search)=\"onSearch($event)\"\n [placeholder]=\"searchInputPlaceholder\"\n (ngModelChange)=\"onModelChange($event)\"\n [(ngModel)]=\"searchInputText\"\n [searchButtonLabel]=\"searchButtonLabel\"\n [class]=\"getSearchBoxCssClasses()\">\n</ecl-search-form>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i3$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "component", type: i5$1.EclSearchFormComponent, selector: "ecl-search-form", inputs: ["searchInputText", "placeholder", "searchButtonLabel", "searchButtonIcon", "buttonExtraClassses", "inputExtraClassses"], outputs: ["search"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
|
|
848
850
|
}
|
|
849
851
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: EclSiteHeaderSearchComponent, decorators: [{
|
|
850
852
|
type: Component,
|
|
@@ -1069,13 +1071,13 @@ class EclSiteHeaderComponent extends ECLBaseDirective {
|
|
|
1069
1071
|
}
|
|
1070
1072
|
});
|
|
1071
1073
|
}
|
|
1072
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: EclSiteHeaderComponent, deps: [{ token: i1$1.EclHeaderMenuComunicationService }, { token: EclAreaDataService }, { token: i1.BreakpointObserver }, { token: i0.ElementRef }, { token: i2.EclThemeService }, { token: i2.EclRtlService }, { token: i3$
|
|
1073
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.8", type: EclSiteHeaderComponent, isStandalone: false, selector: "ecl-site-header", inputs: { siteName: "siteName", languageCode: "languageCode", logoUrl: "logoUrl", logoSize: "logoSize" }, outputs: { logoClick: "logoClick", languageClick: "languageClick" }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "eclLoginComponent", first: true, predicate: EclSiteHeaderLoginComponent, descendants: true }, { propertyName: "eclMenuComponent", first: true, predicate: EclMenuComponent, descendants: true }, { propertyName: "eclMegaMenuComponent", first: true, predicate: EclMegaMenuComponent, descendants: true }, { propertyName: "eclSearchComponent", first: true, predicate: EclSiteHeaderSearchComponent, descendants: true }, { propertyName: "eclLanguageComponent", first: true, predicate: EclSiteHeaderLanguageComponent, descendants: true }, { propertyName: "eclNotificationComponent", first: true, predicate: EclSiteHeaderNotificationComponent, descendants: true }, { propertyName: "eclHeaderLink", first: true, predicate: i0.forwardRef(() => EclSiteHeaderLinkDirective), descendants: true }, { propertyName: "eclHeaderImage", first: true, predicate: i0.forwardRef(() => EclSiteHeaderImageDirective), descendants: true }], viewQueries: [{ propertyName: "topContainerElement", first: true, predicate: ["topContainer"], descendants: true }, { propertyName: "siteHeaderHeader", first: true, predicate: ["siteHeaderHeader"], descendants: true }, { propertyName: "bannerHeader", first: true, predicate: ["bannerHeader"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ecl-site-header__background\">\n <div class=\"ecl-site-header__header\" #siteHeaderHeader>\n <div class=\"ecl-site-header__container ecl-container\">\n <div #topContainer class=\"ecl-site-header__top\">\n @if(hasCustomLink()) {\n <ng-content select=\"[eclSiteHeaderLink]\"></ng-content>\n } @else {\n <a eclLink variant=\"standalone\" class=\"ecl-site-header__logo-link\"\n href=\"https://ec.europa.eu/info/index_{{ languageCode }}\" (click)=\"onECLogoClick($event)\"\n [attr.aria-label]=\"'ecl.footer.EUROPEAN-COMMISSION' | translate\">\n <ng-content select=\"[eclSiteHeaderEnvironment]\"></ng-content>\n\n @if (eclThemeService.isEC$ | async) {\n <picture eclSiteHeaderPicture\n [attr.title]=\"'ecl.footer.EUROPEAN-COMMISSION' | translate\">\n <source\n srcset=\"./assets/images/ecl/ec/logo/positive/logo-ec--{{ partOfLogoName }}.svg\"\n media=\"(min-width: 996px)\" />\n <img class=\"ecl-site-header__logo-image ecl-site-header__logo-image--{{logoSize}}\"\n src=\"./assets/images/ecl/ec/logo/logo-ec--mute.svg\"\n [attr.alt]=\"'ecl.footer.EUROPEAN-COMMISSION' | translate\" />\n </picture>\n }\n @if (eclThemeService.isEU$ | async) {\n <picture eclSiteHeaderPicture\n [attr.title]=\"'ecl.footer.EUROPEAN-UNION' | translate\">\n <source\n srcset=\"./assets/images/ecl/eu/logo/standard-version/positive/logo-eu--{{ partOfLogoName }}.svg\"\n media=\"(min-width: 996px)\" />\n <img class=\"ecl-site-header__logo-image ecl-site-header__logo-image--{{logoSize}}\"\n src=\"./assets/images/ecl/eu/logo/condensed-version/positive/logo-eu--{{ partOfLogoName }}.svg\"\n alt=\"European Union\" />\n </picture>\n }\n </a>\n }\n <ng-content select=\"ecl-site-header-action\"></ng-content>\n </div>\n </div>\n </div>\n <ng-content select=\"ecl-site-header-notification\"></ng-content>\n</div>\n\n\n<ng-content select=\"ecl-site-header-banner-top\"></ng-content>\n@if (siteName) {\n <div class=\"ecl-site-header__banner\" #bannerHeader>\n <div class=\"ecl-container\">\n <div class=\"ecl-site-header__site-name\">{{ siteName }}</div>\n <ng-content select=\"[eclSiteHeaderCta]\"></ng-content>\n </div>\n </div>\n}\n\n<ng-content select=\"ecl-menu\"></ng-content>\n<ng-content select=\"[eclMegaMenu]\"></ng-content>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i3.EclLinkDirective, selector: "[eclLink]", inputs: ["isInverted", "isIconOnly", "isNoVisited", "variant"] }, { kind: "directive", type: EclSiteHeaderPictureDirective, selector: "[eclSiteHeaderPicture]" }, { kind: "pipe", type:
|
|
1074
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: EclSiteHeaderComponent, deps: [{ token: i1$1.EclHeaderMenuComunicationService }, { token: EclAreaDataService }, { token: i1.BreakpointObserver }, { token: i0.ElementRef }, { token: i2.EclThemeService }, { token: i2.EclRtlService }, { token: i3$2.I18nService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1075
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.8", type: EclSiteHeaderComponent, isStandalone: false, selector: "ecl-site-header", inputs: { siteName: "siteName", languageCode: "languageCode", logoUrl: "logoUrl", logoSize: "logoSize" }, outputs: { logoClick: "logoClick", languageClick: "languageClick" }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "eclLoginComponent", first: true, predicate: EclSiteHeaderLoginComponent, descendants: true }, { propertyName: "eclMenuComponent", first: true, predicate: EclMenuComponent, descendants: true }, { propertyName: "eclMegaMenuComponent", first: true, predicate: EclMegaMenuComponent, descendants: true }, { propertyName: "eclSearchComponent", first: true, predicate: EclSiteHeaderSearchComponent, descendants: true }, { propertyName: "eclLanguageComponent", first: true, predicate: EclSiteHeaderLanguageComponent, descendants: true }, { propertyName: "eclNotificationComponent", first: true, predicate: EclSiteHeaderNotificationComponent, descendants: true }, { propertyName: "eclHeaderLink", first: true, predicate: i0.forwardRef(() => EclSiteHeaderLinkDirective), descendants: true }, { propertyName: "eclHeaderImage", first: true, predicate: i0.forwardRef(() => EclSiteHeaderImageDirective), descendants: true }], viewQueries: [{ propertyName: "topContainerElement", first: true, predicate: ["topContainer"], descendants: true }, { propertyName: "siteHeaderHeader", first: true, predicate: ["siteHeaderHeader"], descendants: true }, { propertyName: "bannerHeader", first: true, predicate: ["bannerHeader"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ecl-site-header__background\">\n <div class=\"ecl-site-header__header\" #siteHeaderHeader>\n <div class=\"ecl-site-header__container ecl-container\">\n <div #topContainer class=\"ecl-site-header__top\">\n @if(hasCustomLink()) {\n <ng-content select=\"[eclSiteHeaderLink]\"></ng-content>\n } @else {\n <a eclLink variant=\"standalone\" class=\"ecl-site-header__logo-link\"\n href=\"https://ec.europa.eu/info/index_{{ languageCode }}\" (click)=\"onECLogoClick($event)\"\n [attr.aria-label]=\"'ecl.footer.EUROPEAN-COMMISSION' | translate\">\n <ng-content select=\"[eclSiteHeaderEnvironment]\"></ng-content>\n\n @if (eclThemeService.isEC$ | async) {\n <picture eclSiteHeaderPicture\n [attr.title]=\"'ecl.footer.EUROPEAN-COMMISSION' | translate\">\n <source\n srcset=\"./assets/images/ecl/ec/logo/positive/logo-ec--{{ partOfLogoName }}.svg\"\n media=\"(min-width: 996px)\" />\n <img class=\"ecl-site-header__logo-image ecl-site-header__logo-image--{{logoSize}}\"\n src=\"./assets/images/ecl/ec/logo/logo-ec--mute.svg\"\n [attr.alt]=\"'ecl.footer.EUROPEAN-COMMISSION' | translate\" />\n </picture>\n }\n @if (eclThemeService.isEU$ | async) {\n <picture eclSiteHeaderPicture\n [attr.title]=\"'ecl.footer.EUROPEAN-UNION' | translate\">\n <source\n srcset=\"./assets/images/ecl/eu/logo/standard-version/positive/logo-eu--{{ partOfLogoName }}.svg\"\n media=\"(min-width: 996px)\" />\n <img class=\"ecl-site-header__logo-image ecl-site-header__logo-image--{{logoSize}}\"\n src=\"./assets/images/ecl/eu/logo/condensed-version/positive/logo-eu--{{ partOfLogoName }}.svg\"\n alt=\"European Union\" />\n </picture>\n }\n </a>\n }\n <ng-content select=\"ecl-site-header-action\"></ng-content>\n </div>\n </div>\n </div>\n <ng-content select=\"ecl-site-header-notification\"></ng-content>\n</div>\n\n\n<ng-content select=\"ecl-site-header-banner-top\"></ng-content>\n@if (siteName) {\n <div class=\"ecl-site-header__banner\" #bannerHeader>\n <div class=\"ecl-container\">\n <div class=\"ecl-site-header__site-name\">{{ siteName }}</div>\n <ng-content select=\"[eclSiteHeaderCta]\"></ng-content>\n </div>\n </div>\n}\n\n<ng-content select=\"ecl-menu\"></ng-content>\n<ng-content select=\"[eclMegaMenu]\"></ng-content>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i3.EclLinkDirective, selector: "[eclLink]", inputs: ["isInverted", "isIconOnly", "isNoVisited", "variant"] }, { kind: "directive", type: EclSiteHeaderPictureDirective, selector: "[eclSiteHeaderPicture]" }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
|
|
1074
1076
|
}
|
|
1075
1077
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: EclSiteHeaderComponent, decorators: [{
|
|
1076
1078
|
type: Component,
|
|
1077
1079
|
args: [{ selector: 'ecl-site-header', standalone: false, template: "<div class=\"ecl-site-header__background\">\n <div class=\"ecl-site-header__header\" #siteHeaderHeader>\n <div class=\"ecl-site-header__container ecl-container\">\n <div #topContainer class=\"ecl-site-header__top\">\n @if(hasCustomLink()) {\n <ng-content select=\"[eclSiteHeaderLink]\"></ng-content>\n } @else {\n <a eclLink variant=\"standalone\" class=\"ecl-site-header__logo-link\"\n href=\"https://ec.europa.eu/info/index_{{ languageCode }}\" (click)=\"onECLogoClick($event)\"\n [attr.aria-label]=\"'ecl.footer.EUROPEAN-COMMISSION' | translate\">\n <ng-content select=\"[eclSiteHeaderEnvironment]\"></ng-content>\n\n @if (eclThemeService.isEC$ | async) {\n <picture eclSiteHeaderPicture\n [attr.title]=\"'ecl.footer.EUROPEAN-COMMISSION' | translate\">\n <source\n srcset=\"./assets/images/ecl/ec/logo/positive/logo-ec--{{ partOfLogoName }}.svg\"\n media=\"(min-width: 996px)\" />\n <img class=\"ecl-site-header__logo-image ecl-site-header__logo-image--{{logoSize}}\"\n src=\"./assets/images/ecl/ec/logo/logo-ec--mute.svg\"\n [attr.alt]=\"'ecl.footer.EUROPEAN-COMMISSION' | translate\" />\n </picture>\n }\n @if (eclThemeService.isEU$ | async) {\n <picture eclSiteHeaderPicture\n [attr.title]=\"'ecl.footer.EUROPEAN-UNION' | translate\">\n <source\n srcset=\"./assets/images/ecl/eu/logo/standard-version/positive/logo-eu--{{ partOfLogoName }}.svg\"\n media=\"(min-width: 996px)\" />\n <img class=\"ecl-site-header__logo-image ecl-site-header__logo-image--{{logoSize}}\"\n src=\"./assets/images/ecl/eu/logo/condensed-version/positive/logo-eu--{{ partOfLogoName }}.svg\"\n alt=\"European Union\" />\n </picture>\n }\n </a>\n }\n <ng-content select=\"ecl-site-header-action\"></ng-content>\n </div>\n </div>\n </div>\n <ng-content select=\"ecl-site-header-notification\"></ng-content>\n</div>\n\n\n<ng-content select=\"ecl-site-header-banner-top\"></ng-content>\n@if (siteName) {\n <div class=\"ecl-site-header__banner\" #bannerHeader>\n <div class=\"ecl-container\">\n <div class=\"ecl-site-header__site-name\">{{ siteName }}</div>\n <ng-content select=\"[eclSiteHeaderCta]\"></ng-content>\n </div>\n </div>\n}\n\n<ng-content select=\"ecl-menu\"></ng-content>\n<ng-content select=\"[eclMegaMenu]\"></ng-content>\n", styles: [":host{display:block}\n"] }]
|
|
1078
|
-
}], ctorParameters: () => [{ type: i1$1.EclHeaderMenuComunicationService }, { type: EclAreaDataService }, { type: i1.BreakpointObserver }, { type: i0.ElementRef }, { type: i2.EclThemeService }, { type: i2.EclRtlService }, { type: i3$
|
|
1080
|
+
}], ctorParameters: () => [{ type: i1$1.EclHeaderMenuComunicationService }, { type: EclAreaDataService }, { type: i1.BreakpointObserver }, { type: i0.ElementRef }, { type: i2.EclThemeService }, { type: i2.EclRtlService }, { type: i3$2.I18nService }], propDecorators: { siteName: [{
|
|
1079
1081
|
type: Input
|
|
1080
1082
|
}], languageCode: [{
|
|
1081
1083
|
type: Input
|
|
@@ -1125,9 +1127,187 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImpor
|
|
|
1125
1127
|
args: [forwardRef(() => EclSiteHeaderImageDirective), { descendants: true }]
|
|
1126
1128
|
}] } });
|
|
1127
1129
|
|
|
1130
|
+
class EclSiteHeaderCustomActionLinkDirective extends ECLBaseDirective {
|
|
1131
|
+
constructor() {
|
|
1132
|
+
super(...arguments);
|
|
1133
|
+
this.className = 'ecl-site-header__custom-action-toggle ecl-button ecl-button--tertiary';
|
|
1134
|
+
this.customActionOverlayToggle = new EventEmitter();
|
|
1135
|
+
this.ARIA_CONTROLS = 'custom-action-overlay';
|
|
1136
|
+
}
|
|
1137
|
+
ngAfterContentInit() {
|
|
1138
|
+
setTimeout(() => {
|
|
1139
|
+
if (this.eclIconComponent) {
|
|
1140
|
+
this.eclIconComponent.baseDirective.class = this.eclIconComponent.baseDirective.class + ' ecl-site-header__icon';
|
|
1141
|
+
}
|
|
1142
|
+
if (!this.hasLink()) {
|
|
1143
|
+
this.href = '#';
|
|
1144
|
+
this.isOverlayExpanded = false;
|
|
1145
|
+
this.ariaControls = this.ARIA_CONTROLS;
|
|
1146
|
+
}
|
|
1147
|
+
});
|
|
1148
|
+
}
|
|
1149
|
+
onClick(evt) {
|
|
1150
|
+
if (!this.hasLink()) {
|
|
1151
|
+
this.isOverlayExpanded = !this.isOverlayExpanded;
|
|
1152
|
+
evt.preventDefault();
|
|
1153
|
+
this.customActionOverlayToggle.emit(this.isOverlayExpanded);
|
|
1154
|
+
}
|
|
1155
|
+
}
|
|
1156
|
+
hasLink() {
|
|
1157
|
+
return (!!this.href && this.href !== '#') || !!this.routerLink;
|
|
1158
|
+
}
|
|
1159
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: EclSiteHeaderCustomActionLinkDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1160
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.8", type: EclSiteHeaderCustomActionLinkDirective, isStandalone: false, selector: "a[eclSiteHeaderCustomActionLink]", inputs: { href: "href", routerLink: "routerLink" }, outputs: { customActionOverlayToggle: "customActionOverlayToggle" }, host: { listeners: { "click": "onClick($event)" }, properties: { "class": "this.className", "attr.aria-expanded": "this.isOverlayExpanded", "attr.aria-controls": "this.ariaControls", "attr.href": "this.href", "attr.routerLink": "this.routerLink" } }, queries: [{ propertyName: "eclIconComponent", first: true, predicate: i0.forwardRef(() => EclIconComponent), descendants: true }], usesInheritance: true, ngImport: i0 }); }
|
|
1161
|
+
}
|
|
1162
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: EclSiteHeaderCustomActionLinkDirective, decorators: [{
|
|
1163
|
+
type: Directive,
|
|
1164
|
+
args: [{
|
|
1165
|
+
selector: 'a[eclSiteHeaderCustomActionLink]',
|
|
1166
|
+
standalone: false,
|
|
1167
|
+
}]
|
|
1168
|
+
}], propDecorators: { className: [{
|
|
1169
|
+
type: HostBinding,
|
|
1170
|
+
args: ['class']
|
|
1171
|
+
}], isOverlayExpanded: [{
|
|
1172
|
+
type: HostBinding,
|
|
1173
|
+
args: ['attr.aria-expanded']
|
|
1174
|
+
}], ariaControls: [{
|
|
1175
|
+
type: HostBinding,
|
|
1176
|
+
args: ['attr.aria-controls']
|
|
1177
|
+
}], href: [{
|
|
1178
|
+
type: Input
|
|
1179
|
+
}, {
|
|
1180
|
+
type: HostBinding,
|
|
1181
|
+
args: ['attr.href']
|
|
1182
|
+
}], routerLink: [{
|
|
1183
|
+
type: Input
|
|
1184
|
+
}, {
|
|
1185
|
+
type: HostBinding,
|
|
1186
|
+
args: ['attr.routerLink']
|
|
1187
|
+
}], customActionOverlayToggle: [{
|
|
1188
|
+
type: Output
|
|
1189
|
+
}], eclIconComponent: [{
|
|
1190
|
+
type: ContentChild,
|
|
1191
|
+
args: [forwardRef(() => EclIconComponent), { descendants: true }]
|
|
1192
|
+
}], onClick: [{
|
|
1193
|
+
type: HostListener,
|
|
1194
|
+
args: ['click', ['$event']]
|
|
1195
|
+
}] } });
|
|
1196
|
+
class EclSiteHeaderCustomActionContentDirective extends ECLBaseDirective {
|
|
1197
|
+
constructor() {
|
|
1198
|
+
super(...arguments);
|
|
1199
|
+
this.className = true;
|
|
1200
|
+
}
|
|
1201
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: EclSiteHeaderCustomActionContentDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1202
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.8", type: EclSiteHeaderCustomActionContentDirective, isStandalone: false, selector: "div[eclSiteHeaderCustomActionContent]", host: { properties: { "class.ecl-site-header__custom-action-content": "this.className" } }, usesInheritance: true, ngImport: i0 }); }
|
|
1203
|
+
}
|
|
1204
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: EclSiteHeaderCustomActionContentDirective, decorators: [{
|
|
1205
|
+
type: Directive,
|
|
1206
|
+
args: [{
|
|
1207
|
+
selector: 'div[eclSiteHeaderCustomActionContent]',
|
|
1208
|
+
standalone: false,
|
|
1209
|
+
}]
|
|
1210
|
+
}], propDecorators: { className: [{
|
|
1211
|
+
type: HostBinding,
|
|
1212
|
+
args: ['class.ecl-site-header__custom-action-content']
|
|
1213
|
+
}] } });
|
|
1214
|
+
class EclSiteHeaderCustomActionTitleDirective extends ECLBaseDirective {
|
|
1215
|
+
constructor() {
|
|
1216
|
+
super(...arguments);
|
|
1217
|
+
this.className = true;
|
|
1218
|
+
this.id = 'custom-action-overlay-title';
|
|
1219
|
+
}
|
|
1220
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: EclSiteHeaderCustomActionTitleDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1221
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.8", type: EclSiteHeaderCustomActionTitleDirective, isStandalone: false, selector: "div[eclSiteHeaderCustomActionTitle]", inputs: { id: "id" }, host: { properties: { "class.ecl-site-header__custom-action-title": "this.className", "attr.id": "this.id" } }, usesInheritance: true, ngImport: i0 }); }
|
|
1222
|
+
}
|
|
1223
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: EclSiteHeaderCustomActionTitleDirective, decorators: [{
|
|
1224
|
+
type: Directive,
|
|
1225
|
+
args: [{
|
|
1226
|
+
selector: 'div[eclSiteHeaderCustomActionTitle]',
|
|
1227
|
+
standalone: false,
|
|
1228
|
+
}]
|
|
1229
|
+
}], propDecorators: { className: [{
|
|
1230
|
+
type: HostBinding,
|
|
1231
|
+
args: ['class.ecl-site-header__custom-action-title']
|
|
1232
|
+
}], id: [{
|
|
1233
|
+
type: HostBinding,
|
|
1234
|
+
args: ['attr.id']
|
|
1235
|
+
}, {
|
|
1236
|
+
type: Input
|
|
1237
|
+
}] } });
|
|
1238
|
+
|
|
1239
|
+
class EclSiteHeaderCustomActionComponent extends ECLBaseDirective {
|
|
1240
|
+
constructor(document, renderer) {
|
|
1241
|
+
super();
|
|
1242
|
+
this.document = document;
|
|
1243
|
+
this.renderer = renderer;
|
|
1244
|
+
this.class = 'ecl-site-header__custom-action';
|
|
1245
|
+
this.isOverlayExpanded = false;
|
|
1246
|
+
this.destroy$ = new Subject();
|
|
1247
|
+
}
|
|
1248
|
+
ngAfterContentInit() {
|
|
1249
|
+
if (this.title) {
|
|
1250
|
+
this.titleId = this.title.id;
|
|
1251
|
+
}
|
|
1252
|
+
if (this.eclSiteHeaderCustomActionLink) {
|
|
1253
|
+
this.eclSiteHeaderCustomActionLink.customActionOverlayToggle.pipe(takeUntil$1(this.destroy$)).subscribe((isExpanded) => {
|
|
1254
|
+
this.isOverlayExpanded = isExpanded;
|
|
1255
|
+
});
|
|
1256
|
+
}
|
|
1257
|
+
}
|
|
1258
|
+
ngOnDestroy() {
|
|
1259
|
+
this.destroy$.next(true);
|
|
1260
|
+
this.destroy$.unsubscribe();
|
|
1261
|
+
}
|
|
1262
|
+
onCustomActionOverlayClose() {
|
|
1263
|
+
this.isOverlayExpanded = false;
|
|
1264
|
+
if (!this.eclSiteHeaderCustomActionLink.hasLink())
|
|
1265
|
+
this.eclSiteHeaderCustomActionLink.isOverlayExpanded = false;
|
|
1266
|
+
}
|
|
1267
|
+
onClickOutsideHandler() {
|
|
1268
|
+
this.onCustomActionOverlayClose();
|
|
1269
|
+
}
|
|
1270
|
+
onEscapeKeydownHandler() {
|
|
1271
|
+
this.onCustomActionOverlayClose();
|
|
1272
|
+
}
|
|
1273
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: EclSiteHeaderCustomActionComponent, deps: [{ token: DOCUMENT }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1274
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.8", type: EclSiteHeaderCustomActionComponent, isStandalone: false, selector: "div[eclSiteHeaderCustomAction]", host: { listeners: { "eclClickOutside": "onClickOutsideHandler()", "document:keydown.escape": "onEscapeKeydownHandler()" }, properties: { "class": "this.class" } }, queries: [{ propertyName: "title", first: true, predicate: EclSiteHeaderCustomActionTitleDirective, descendants: true }, { propertyName: "eclSiteHeaderCustomActionLink", first: true, predicate: EclSiteHeaderCustomActionLinkDirective, descendants: true }], usesInheritance: true, hostDirectives: [{ directive: i2.ECLClickOutsideDirective, outputs: ["eclClickOutside", "eclClickOutside"] }], ngImport: i0, template: "<ng-content select=\"[eclSiteHeaderCustomActionLink]\"></ng-content>\n@if (isOverlayExpanded) {\n <div class=\"ecl-site-header__custom-action-overlay\" id=\"custom-action-overlay\" role=\"dialog\" [attr.aria-labelledby]=\"titleId\" cdkTrapFocus cdkTrapFocusAutoCapture>\n <div class=\"ecl-site-header__custom-action-header\">\n <ng-content select=\"[eclSiteHeaderCustomActionTitle]\"></ng-content>\n <button eclButton variant=\"tertiary\" isIconOnly class=\"ecl-site-header__custom-action-close\" (click)=\"onCustomActionOverlayClose()\">\n <span eclButtonLabel>Close</span>\n <ecl-icon icon=\"close\" size=\"m\"></ecl-icon>\n </button>\n </div>\n <ng-content select=\"[eclSiteHeaderCustomActionContent]\"></ng-content>\n </div>\n}\n", dependencies: [{ kind: "directive", type: i4.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "component", type: i3$1.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "containerStyleClass"] }, { kind: "directive", type: i3$1.EclButtonLabelDirective, selector: "[eclButtonLabel]" }, { kind: "component", type: i5.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }] }); }
|
|
1275
|
+
}
|
|
1276
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: EclSiteHeaderCustomActionComponent, decorators: [{
|
|
1277
|
+
type: Component,
|
|
1278
|
+
args: [{ selector: 'div[eclSiteHeaderCustomAction]', standalone: false, hostDirectives: [
|
|
1279
|
+
{
|
|
1280
|
+
directive: ECLClickOutsideDirective,
|
|
1281
|
+
outputs: ['eclClickOutside'],
|
|
1282
|
+
},
|
|
1283
|
+
], template: "<ng-content select=\"[eclSiteHeaderCustomActionLink]\"></ng-content>\n@if (isOverlayExpanded) {\n <div class=\"ecl-site-header__custom-action-overlay\" id=\"custom-action-overlay\" role=\"dialog\" [attr.aria-labelledby]=\"titleId\" cdkTrapFocus cdkTrapFocusAutoCapture>\n <div class=\"ecl-site-header__custom-action-header\">\n <ng-content select=\"[eclSiteHeaderCustomActionTitle]\"></ng-content>\n <button eclButton variant=\"tertiary\" isIconOnly class=\"ecl-site-header__custom-action-close\" (click)=\"onCustomActionOverlayClose()\">\n <span eclButtonLabel>Close</span>\n <ecl-icon icon=\"close\" size=\"m\"></ecl-icon>\n </button>\n </div>\n <ng-content select=\"[eclSiteHeaderCustomActionContent]\"></ng-content>\n </div>\n}\n" }]
|
|
1284
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
1285
|
+
type: Inject,
|
|
1286
|
+
args: [DOCUMENT]
|
|
1287
|
+
}] }, { type: i0.Renderer2 }], propDecorators: { class: [{
|
|
1288
|
+
type: HostBinding,
|
|
1289
|
+
args: ['class']
|
|
1290
|
+
}], title: [{
|
|
1291
|
+
type: ContentChild,
|
|
1292
|
+
args: [EclSiteHeaderCustomActionTitleDirective]
|
|
1293
|
+
}], eclSiteHeaderCustomActionLink: [{
|
|
1294
|
+
type: ContentChild,
|
|
1295
|
+
args: [EclSiteHeaderCustomActionLinkDirective]
|
|
1296
|
+
}], onClickOutsideHandler: [{
|
|
1297
|
+
type: HostListener,
|
|
1298
|
+
args: ['eclClickOutside']
|
|
1299
|
+
}], onEscapeKeydownHandler: [{
|
|
1300
|
+
type: HostListener,
|
|
1301
|
+
args: ['document:keydown.escape']
|
|
1302
|
+
}] } });
|
|
1303
|
+
|
|
1128
1304
|
const COMPONENTS = [
|
|
1129
1305
|
EclSiteHeaderComponent,
|
|
1130
1306
|
EclSiteHeaderActionComponent,
|
|
1307
|
+
EclSiteHeaderCustomActionComponent,
|
|
1308
|
+
EclSiteHeaderCustomActionContentDirective,
|
|
1309
|
+
EclSiteHeaderCustomActionLinkDirective,
|
|
1310
|
+
EclSiteHeaderCustomActionTitleDirective,
|
|
1131
1311
|
EclSiteHeaderLoginComponent,
|
|
1132
1312
|
EclSiteHeaderLoginDescriptionDirective,
|
|
1133
1313
|
EclSiteHeaderLoginSeparatorDirective,
|
|
@@ -1146,6 +1326,10 @@ class EclSiteHeaderModule {
|
|
|
1146
1326
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: EclSiteHeaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
1147
1327
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.8", ngImport: i0, type: EclSiteHeaderModule, declarations: [EclSiteHeaderComponent,
|
|
1148
1328
|
EclSiteHeaderActionComponent,
|
|
1329
|
+
EclSiteHeaderCustomActionComponent,
|
|
1330
|
+
EclSiteHeaderCustomActionContentDirective,
|
|
1331
|
+
EclSiteHeaderCustomActionLinkDirective,
|
|
1332
|
+
EclSiteHeaderCustomActionTitleDirective,
|
|
1149
1333
|
EclSiteHeaderLoginComponent,
|
|
1150
1334
|
EclSiteHeaderLoginDescriptionDirective,
|
|
1151
1335
|
EclSiteHeaderLoginSeparatorDirective,
|
|
@@ -1159,6 +1343,7 @@ class EclSiteHeaderModule {
|
|
|
1159
1343
|
EclSiteHeaderImageDirective,
|
|
1160
1344
|
EclSiteHeaderPictureDirective,
|
|
1161
1345
|
EclSiteHeaderLinkDirective], imports: [CommonModule,
|
|
1346
|
+
A11yModule,
|
|
1162
1347
|
TranslateModule,
|
|
1163
1348
|
FormsModule,
|
|
1164
1349
|
ReactiveFormsModule,
|
|
@@ -1168,6 +1353,10 @@ class EclSiteHeaderModule {
|
|
|
1168
1353
|
EclFormGroupModule,
|
|
1169
1354
|
EclSearchFormModule], exports: [EclSiteHeaderComponent,
|
|
1170
1355
|
EclSiteHeaderActionComponent,
|
|
1356
|
+
EclSiteHeaderCustomActionComponent,
|
|
1357
|
+
EclSiteHeaderCustomActionContentDirective,
|
|
1358
|
+
EclSiteHeaderCustomActionLinkDirective,
|
|
1359
|
+
EclSiteHeaderCustomActionTitleDirective,
|
|
1171
1360
|
EclSiteHeaderLoginComponent,
|
|
1172
1361
|
EclSiteHeaderLoginDescriptionDirective,
|
|
1173
1362
|
EclSiteHeaderLoginSeparatorDirective,
|
|
@@ -1182,6 +1371,7 @@ class EclSiteHeaderModule {
|
|
|
1182
1371
|
EclSiteHeaderPictureDirective,
|
|
1183
1372
|
EclSiteHeaderLinkDirective] }); }
|
|
1184
1373
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: EclSiteHeaderModule, providers: [EclAreaDataService], imports: [CommonModule,
|
|
1374
|
+
A11yModule,
|
|
1185
1375
|
TranslateModule,
|
|
1186
1376
|
FormsModule,
|
|
1187
1377
|
ReactiveFormsModule,
|
|
@@ -1196,6 +1386,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImpor
|
|
|
1196
1386
|
args: [{
|
|
1197
1387
|
imports: [
|
|
1198
1388
|
CommonModule,
|
|
1389
|
+
A11yModule,
|
|
1199
1390
|
TranslateModule,
|
|
1200
1391
|
FormsModule,
|
|
1201
1392
|
ReactiveFormsModule,
|
|
@@ -1215,5 +1406,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImpor
|
|
|
1215
1406
|
* Generated bundle index. Do not edit.
|
|
1216
1407
|
*/
|
|
1217
1408
|
|
|
1218
|
-
export { ECL_SITE_HEADER_SEARCH_VALUE_ACCESSOR, EclSiteHeaderActionComponent, EclSiteHeaderBannerTopComponent, EclSiteHeaderComponent, EclSiteHeaderCtaDirective, EclSiteHeaderEnvironmentComponent, EclSiteHeaderImageDirective, EclSiteHeaderLanguageClickEvent, EclSiteHeaderLanguageCloseEvent, EclSiteHeaderLanguageComponent, EclSiteHeaderLanguagePopoverComponent, EclSiteHeaderLanguageSelectedEvent, EclSiteHeaderLinkDirective, EclSiteHeaderLoginBoxToggleEvent, EclSiteHeaderLoginComponent, EclSiteHeaderLoginDescriptionDirective, EclSiteHeaderLoginEvent, EclSiteHeaderLoginSeparatorDirective, EclSiteHeaderLogoClickEvent, EclSiteHeaderModule, EclSiteHeaderNotificationComponent, EclSiteHeaderPictureDirective, EclSiteHeaderSearchComponent, EclSiteHeaderSearchEvent, EclSiteHeaderSearchToggleEvent };
|
|
1409
|
+
export { ECL_SITE_HEADER_SEARCH_VALUE_ACCESSOR, EclSiteHeaderActionComponent, EclSiteHeaderBannerTopComponent, EclSiteHeaderComponent, EclSiteHeaderCtaDirective, EclSiteHeaderCustomActionComponent, EclSiteHeaderCustomActionContentDirective, EclSiteHeaderCustomActionLinkDirective, EclSiteHeaderCustomActionTitleDirective, EclSiteHeaderEnvironmentComponent, EclSiteHeaderImageDirective, EclSiteHeaderLanguageClickEvent, EclSiteHeaderLanguageCloseEvent, EclSiteHeaderLanguageComponent, EclSiteHeaderLanguagePopoverComponent, EclSiteHeaderLanguageSelectedEvent, EclSiteHeaderLinkDirective, EclSiteHeaderLoginBoxToggleEvent, EclSiteHeaderLoginComponent, EclSiteHeaderLoginDescriptionDirective, EclSiteHeaderLoginEvent, EclSiteHeaderLoginSeparatorDirective, EclSiteHeaderLogoClickEvent, EclSiteHeaderModule, EclSiteHeaderNotificationComponent, EclSiteHeaderPictureDirective, EclSiteHeaderSearchComponent, EclSiteHeaderSearchEvent, EclSiteHeaderSearchToggleEvent };
|
|
1219
1410
|
//# sourceMappingURL=eui-ecl-components-ecl-site-header.mjs.map
|