@eui/ecl 22.0.0-alpha.34 → 22.0.0-alpha.36
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/docs/changelog.html +38 -0
- package/docs/components/EclAccordionSummaryComponent.html +1 -1
- package/docs/components/EclAddToCalendarComponent.html +1 -1
- package/docs/components/EclAnimatedNumbersComponent.html +1 -1
- package/docs/components/EclAnimatedNumbersItemComponent.html +1 -1
- package/docs/components/EclAppComponent.html +1 -1
- package/docs/components/EclBannerComponent.html +1 -1
- package/docs/components/EclBlockquoteComponent.html +1 -1
- package/docs/components/EclBreadcrumbComponent.html +1 -1
- package/docs/components/EclBreadcrumbSegmentComponent.html +1 -1
- package/docs/components/EclButtonComponent.html +1 -1
- package/docs/components/EclCardBodyComponent.html +1 -1
- package/docs/components/EclCardComponent.html +1 -1
- package/docs/components/EclCarouselComponent.html +1 -1
- package/docs/components/EclCarouselItemComponent.html +1 -1
- package/docs/components/EclCategoryFilterComponent.html +1 -1
- package/docs/components/EclCategoryFilterItemComponent.html +1 -1
- package/docs/components/EclCategoryFilterListComponent.html +1 -1
- package/docs/components/EclCheckboxHelpComponent.html +1 -1
- package/docs/components/EclCheckboxLabelComponent.html +1 -1
- package/docs/components/EclContentBlockComponent.html +1 -1
- package/docs/components/EclContentItemComponent.html +1 -1
- package/docs/components/EclDateBlockComponent.html +1 -1
- package/docs/components/EclDescriptionListDefinitionComponent.html +1 -1
- package/docs/components/EclExpandableComponent.html +1 -1
- package/docs/components/EclFactFiguresComponent.html +1 -1
- package/docs/components/EclFactFiguresItemComponent.html +1 -1
- package/docs/components/EclFactFiguresViewAllComponent.html +1 -1
- package/docs/components/EclFeaturedComponent.html +1 -1
- package/docs/components/EclFeaturedItemComponent.html +1 -1
- package/docs/components/EclFeaturedItemDescriptionComponent.html +1 -1
- package/docs/components/EclFileComponent.html +1 -1
- package/docs/components/EclFileItemComponent.html +1 -1
- package/docs/components/EclFileItemsComponent.html +1 -1
- package/docs/components/EclFileListsComponent.html +1 -1
- package/docs/components/EclFormGroupComponent.html +1 -1
- package/docs/components/EclFormLabelComponent.html +1 -1
- package/docs/components/EclGalleryComponent.html +1 -1
- package/docs/components/EclGalleryFooterComponent.html +1 -1
- package/docs/components/EclGalleryItemComponent.html +1 -1
- package/docs/components/EclHighlightBoxComponent.html +1 -1
- package/docs/components/EclHighlightedSearchComponent.html +1 -1
- package/docs/components/EclIconComponent.html +4 -3
- package/docs/components/EclIndicatorComponent-1.html +1 -1
- package/docs/components/EclIndicatorComponent.html +1 -1
- package/docs/components/EclInpageNavigationComponent.html +1 -1
- package/docs/components/EclInpageNavigationItemComponent.html +1 -1
- package/docs/components/EclLayoutWrapperComponent.html +1 -1
- package/docs/components/EclListIllustrationComponent.html +1 -1
- package/docs/components/EclListIllustrationItemComponent.html +1 -1
- package/docs/components/EclLoadingIndicatorComponent.html +1 -1
- package/docs/components/EclMediaContainerComponent.html +1 -1
- package/docs/components/EclMegaMenuComponent.html +1 -1
- package/docs/components/EclMegaMenuFeaturedComponent.html +1 -1
- package/docs/components/EclMegaMenuInfoComponent.html +1 -1
- package/docs/components/EclMegaMenuItemComponent.html +1 -1
- package/docs/components/EclMegaMenuSubitemComponent.html +1 -1
- package/docs/components/EclMenuComponent.html +1 -1
- package/docs/components/EclMenuItemComponent.html +1 -1
- package/docs/components/EclMenuMegaComponent.html +1 -1
- package/docs/components/EclMenuMegaItemComponent.html +1 -1
- package/docs/components/EclModalBodyComponent.html +1 -1
- package/docs/components/EclModalComponent.html +1 -1
- package/docs/components/EclModalFooterComponent.html +1 -1
- package/docs/components/EclModalHeaderComponent.html +1 -1
- package/docs/components/EclMultiselectComponent.html +1 -1
- package/docs/components/EclMultiselectDropdownComponent.html +1 -1
- package/docs/components/EclMultiselectInputComponent.html +1 -1
- package/docs/components/EclMultiselectOptgroupComponent.html +1 -1
- package/docs/components/EclMultiselectOptionComponent.html +1 -1
- package/docs/components/EclNavigationListComponent.html +1 -1
- package/docs/components/EclNavigationListItemComponent.html +1 -1
- package/docs/components/EclNewsTickerComponent.html +1 -1
- package/docs/components/EclNewsTickerItemComponent.html +1 -1
- package/docs/components/EclNotificationComponent.html +1 -1
- package/docs/components/EclPageHeaderComponent.html +4 -114
- package/docs/components/EclPageHeaderDescriptionContainerComponent.html +1 -1
- package/docs/components/EclPageHeaderExpandableComponent.html +1 -1
- package/docs/components/EclPageHeaderSectionComponent.html +1 -1
- package/docs/components/EclPageHeaderSectionInfoComponent.html +1 -1
- package/docs/components/EclPageSummaryComponent.html +1 -1
- package/docs/components/EclPaginationComponent.html +1 -1
- package/docs/components/EclPaginationItemComponent.html +1 -1
- package/docs/components/EclPopoverComponent.html +1 -1
- package/docs/components/EclQuizCardComponent.html +1 -1
- package/docs/components/EclQuizComponent.html +1 -1
- package/docs/components/EclRadioHelpComponent.html +1 -1
- package/docs/components/EclRadioLabelComponent.html +1 -1
- package/docs/components/EclRangeBubbleComponent.html +1 -1
- package/docs/components/EclRangeValueComponent.html +1 -1
- package/docs/components/EclRatingFieldComponent.html +1 -1
- package/docs/components/EclSearchFormComponent.html +1 -1
- package/docs/components/EclSelectContainerComponent.html +1 -1
- package/docs/components/EclSiteFooterComponent.html +1 -1
- package/docs/components/EclSiteFooterCoownerComponent.html +1 -1
- package/docs/components/EclSiteFooterCoreComponent.html +1 -1
- package/docs/components/EclSiteFooterFeedbackComponent.html +1 -1
- package/docs/components/EclSiteFooterFixedContentEUComponent.html +1 -1
- package/docs/components/EclSiteFooterRowCommonComponent.html +1 -1
- package/docs/components/EclSiteHeaderActionComponent.html +5 -105
- package/docs/components/EclSiteHeaderBannerTopComponent.html +5 -105
- package/docs/components/EclSiteHeaderComponent.html +56 -102
- package/docs/components/EclSiteHeaderCustomActionComponent.html +7 -331
- package/docs/components/EclSiteHeaderEnvironmentComponent.html +5 -40
- package/docs/components/EclSiteHeaderLanguageComponent.html +4 -365
- package/docs/components/EclSiteHeaderLanguagePopoverComponent.html +4 -59
- package/docs/components/EclSiteHeaderLoginComponent.html +9 -9
- package/docs/components/EclSiteHeaderNotificationComponent.html +5 -69
- package/docs/components/EclSiteHeaderSearchComponent.html +43 -24
- package/docs/components/EclSloganTickerComponent.html +1 -1
- package/docs/components/EclSocialMediaFollowComponent.html +1 -1
- package/docs/components/EclSocialMediaFollowItemComponent.html +2 -2
- package/docs/components/EclSplashPageComponent.html +1 -1
- package/docs/components/EclSplashPageLanguageCategoryComponent.html +1 -1
- package/docs/components/EclSplashPageLanguageContainerComponent.html +1 -1
- package/docs/components/EclSplashPageLanguageLinkComponent.html +1 -1
- package/docs/components/EclSpotlightComponent.html +1 -1
- package/docs/components/EclSpotlightLinkComponent.html +1 -1
- package/docs/components/EclStickyContainerComponent.html +1 -1
- package/docs/components/EclStoryCardComponent.html +1 -1
- package/docs/components/EclStoryCardGridDetailsComponent.html +1 -1
- package/docs/components/EclStoryCardItemComponent.html +1 -1
- package/docs/components/EclTabComponent.html +1 -1
- package/docs/components/EclTabLabelComponent.html +1 -1
- package/docs/components/EclTableSortButtonComponent.html +1 -1
- package/docs/components/EclTabsComponent.html +1 -1
- package/docs/components/EclTagComponent.html +1 -1
- package/docs/components/EclTextMediaComponent.html +1 -1
- package/docs/components/EclTimelineComponent.html +1 -1
- package/docs/components/EclTimelineItemComponent.html +1 -1
- package/docs/components/EclTimelineItemTogglerComponent.html +1 -1
- package/docs/directives/ECLBaseDirective.html +3 -3
- package/docs/directives/EclContainerDirective.html +1 -1
- package/docs/directives/EclPageHeaderBackgroundImageDirective.html +1 -1
- package/docs/directives/EclPageHeaderBackgroundPictureDirective.html +1 -1
- package/docs/directives/EclPageHeaderContainerDirective.html +1 -1
- package/docs/directives/EclPageHeaderDescriptionDirective.html +1 -1
- package/docs/directives/EclPageHeaderDescriptionPictureDirective.html +1 -1
- package/docs/directives/EclPageHeaderDescriptionThumbnailDirective.html +1 -1
- package/docs/directives/EclPageHeaderExpandableHeaderDirective.html +1 -1
- package/docs/directives/EclPageHeaderInfoDirective.html +1 -1
- package/docs/directives/EclPageHeaderMetaDirective.html +1 -1
- package/docs/directives/EclPageHeaderMetaItemDirective.html +1 -1
- package/docs/directives/EclPageHeaderTitleDirective.html +1 -1
- package/docs/directives/EclSiteHeaderCtaDirective.html +0 -104
- package/docs/directives/EclSiteHeaderCustomActionContentDirective.html +0 -104
- package/docs/directives/EclSiteHeaderCustomActionLinkDirective.html +16 -253
- package/docs/directives/EclSiteHeaderCustomActionTitleDirective.html +0 -104
- package/docs/directives/EclSiteHeaderImageDirective.html +0 -39
- package/docs/directives/EclSiteHeaderLinkDirective.html +0 -104
- package/docs/directives/EclSiteHeaderLoginDescriptionDirective.html +0 -104
- package/docs/directives/EclSiteHeaderLoginSeparatorDirective.html +0 -104
- package/docs/directives/EclSiteHeaderPictureDirective.html +0 -104
- package/docs/js/menu-wc.js +1 -4
- package/docs/js/search/search_index.js +2 -2
- package/docs/json/EclIconComponent.md +1 -1
- package/docs/json/EclPageHeaderComponent.md +1 -1
- package/docs/json/EclSiteHeaderComponent.md +3 -2
- package/docs/json/EclSiteHeaderCustomActionLinkDirective.md +2 -1
- package/docs/json/EclSiteHeaderLanguageComponent.md +2 -2
- package/docs/json/EclSiteHeaderLoginComponent.md +1 -1
- package/docs/json/EclSiteHeaderSearchComponent.md +3 -2
- package/docs/json/EclSocialMediaFollowItemComponent.md +1 -1
- package/docs/json/documentation.json +1054 -1798
- package/docs/llms.txt +36 -107
- package/docs/miscellaneous/typealiases.html +28 -0
- package/docs/miscellaneous/variables.html +48 -49
- package/docs/overview.html +1 -1
- package/docs/properties.html +1 -1
- package/fesm2022/eui-ecl-components-ecl-app.mjs +5 -1
- package/fesm2022/eui-ecl-components-ecl-app.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-icon.mjs +2 -1
- package/fesm2022/eui-ecl-components-ecl-icon.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-page-header.mjs +5 -75
- package/fesm2022/eui-ecl-components-ecl-page-header.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-site-header.mjs +168 -224
- package/fesm2022/eui-ecl-components-ecl-site-header.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-social-media-follow.mjs.map +1 -1
- package/package.json +1 -1
- package/types/eui-ecl-components-ecl-app.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-icon.d.ts +8 -2
- package/types/eui-ecl-components-ecl-icon.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-page-header.d.ts +5 -42
- package/types/eui-ecl-components-ecl-page-header.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-site-header.d.ts +87 -90
- package/types/eui-ecl-components-ecl-site-header.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-social-media-follow.d.ts +2 -2
- package/types/eui-ecl-components-ecl-social-media-follow.d.ts.map +1 -1
- package/docs/components/EclPageHeaderNextComponent.html +0 -717
- package/docs/json/EclPageHeaderNextComponent.md +0 -18
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { Component, inject, PLATFORM_ID, Directive, model, input, output, contentChild, forwardRef, ElementRef, Renderer2, afterNextRender, booleanAttribute, viewChild, NgZone, DOCUMENT, signal, Injectable } from '@angular/core';
|
|
3
3
|
import * as i1 from '@eui/ecl/core';
|
|
4
4
|
import { ECLBaseDirective, ECLClickOutsideDirective, EclBaseEvent, EclThemeService, EclRtlService, logoLanguageCode } from '@eui/ecl/core';
|
|
5
5
|
import { isPlatformBrowser, UpperCasePipe, AsyncPipe } from '@angular/common';
|
|
6
|
+
import { outputToObservable } from '@angular/core/rxjs-interop';
|
|
6
7
|
import * as i2 from '@angular/cdk/a11y';
|
|
7
8
|
import { A11yModule } from '@angular/cdk/a11y';
|
|
8
9
|
import * as i2$1 from '@eui/ecl/components/ecl-icon';
|
|
@@ -12,7 +13,6 @@ import * as i3 from '@eui/ecl/components/ecl-button';
|
|
|
12
13
|
import { EUI_ECL_BUTTON } from '@eui/ecl/components/ecl-button';
|
|
13
14
|
import { BreakpointObserver } from '@angular/cdk/layout';
|
|
14
15
|
import { takeUntil as takeUntil$1 } from 'rxjs/operators';
|
|
15
|
-
import { outputToObservable } from '@angular/core/rxjs-interop';
|
|
16
16
|
import { GLOBAL_CONFIG_TOKEN, I18nService, EuiEuLanguages } from '@eui/core';
|
|
17
17
|
import * as i3$1 from '@eui/ecl/components/ecl-link';
|
|
18
18
|
import { EUI_ECL_LINK } from '@eui/ecl/components/ecl-link';
|
|
@@ -31,20 +31,15 @@ import { EUI_ECL_SEARCH_FORM } from '@eui/ecl/components/ecl-search-form';
|
|
|
31
31
|
*/
|
|
32
32
|
// TODO: maybe could be part of the header, and we don't need this component?
|
|
33
33
|
class EclSiteHeaderActionComponent extends ECLBaseDirective {
|
|
34
|
-
constructor() {
|
|
35
|
-
super(...arguments);
|
|
36
|
-
this.class = 'ecl-site-header__action';
|
|
37
|
-
}
|
|
38
34
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclSiteHeaderActionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
39
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.2", type: EclSiteHeaderActionComponent, isStandalone: true, selector: "ecl-site-header-action", host: {
|
|
35
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.2", type: EclSiteHeaderActionComponent, isStandalone: true, selector: "ecl-site-header-action", host: { classAttribute: "ecl-site-header__action" }, 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" }); }
|
|
40
36
|
}
|
|
41
37
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclSiteHeaderActionComponent, decorators: [{
|
|
42
38
|
type: Component,
|
|
43
|
-
args: [{ selector: 'ecl-site-header-action',
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
}] } });
|
|
39
|
+
args: [{ selector: 'ecl-site-header-action', host: {
|
|
40
|
+
class: 'ecl-site-header__action',
|
|
41
|
+
}, 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" }]
|
|
42
|
+
}] });
|
|
48
43
|
|
|
49
44
|
/**
|
|
50
45
|
* @deprecated This component is deprecated and will be removed in v23. Not used anymore.
|
|
@@ -54,7 +49,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
|
|
|
54
49
|
class EclSiteHeaderBannerTopComponent extends ECLBaseDirective {
|
|
55
50
|
constructor() {
|
|
56
51
|
super(...arguments);
|
|
57
|
-
this.className = true;
|
|
58
52
|
this.platformId = inject(PLATFORM_ID);
|
|
59
53
|
}
|
|
60
54
|
ngOnInit() {
|
|
@@ -63,43 +57,41 @@ class EclSiteHeaderBannerTopComponent extends ECLBaseDirective {
|
|
|
63
57
|
}
|
|
64
58
|
}
|
|
65
59
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclSiteHeaderBannerTopComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
66
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.2", type: EclSiteHeaderBannerTopComponent, isStandalone: true, selector: "ecl-site-header-banner-top", host: {
|
|
60
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.2", type: EclSiteHeaderBannerTopComponent, isStandalone: true, selector: "ecl-site-header-banner-top", host: { classAttribute: "ecl-site-header__banner-top" }, usesInheritance: true, ngImport: i0, template: "<div class=\"ecl-container\">\n <ng-content></ng-content>\n</div>", styles: [":host{display:block}\n"] }); }
|
|
67
61
|
}
|
|
68
62
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclSiteHeaderBannerTopComponent, decorators: [{
|
|
69
63
|
type: Component,
|
|
70
|
-
args: [{ selector: 'ecl-site-header-banner-top',
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
}] } });
|
|
64
|
+
args: [{ selector: 'ecl-site-header-banner-top', host: {
|
|
65
|
+
class: 'ecl-site-header__banner-top',
|
|
66
|
+
}, template: "<div class=\"ecl-container\">\n <ng-content></ng-content>\n</div>", styles: [":host{display:block}\n"] }]
|
|
67
|
+
}] });
|
|
75
68
|
|
|
76
69
|
/**
|
|
77
70
|
* This directive is used, when we want to show call-to-action link in the site-header. Used in harmonised and standardised header
|
|
78
71
|
* variants.
|
|
79
72
|
*/
|
|
80
73
|
class EclSiteHeaderCtaDirective extends ECLBaseDirective {
|
|
81
|
-
constructor() {
|
|
82
|
-
super(...arguments);
|
|
83
|
-
this.className = true;
|
|
84
|
-
}
|
|
85
74
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclSiteHeaderCtaDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
86
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.2", type: EclSiteHeaderCtaDirective, isStandalone: true, selector: "[eclSiteHeaderCta]", host: {
|
|
75
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.2", type: EclSiteHeaderCtaDirective, isStandalone: true, selector: "[eclSiteHeaderCta]", host: { classAttribute: "ecl-site-header__cta" }, usesInheritance: true, ngImport: i0 }); }
|
|
87
76
|
}
|
|
88
77
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclSiteHeaderCtaDirective, decorators: [{
|
|
89
78
|
type: Directive,
|
|
90
79
|
args: [{
|
|
91
80
|
selector: '[eclSiteHeaderCta]',
|
|
81
|
+
host: {
|
|
82
|
+
class: 'ecl-site-header__cta',
|
|
83
|
+
},
|
|
92
84
|
}]
|
|
93
|
-
}]
|
|
94
|
-
type: HostBinding,
|
|
95
|
-
args: ['class.ecl-site-header__cta']
|
|
96
|
-
}] } });
|
|
85
|
+
}] });
|
|
97
86
|
|
|
98
87
|
class EclSiteHeaderCustomActionLinkDirective extends ECLBaseDirective {
|
|
99
88
|
constructor() {
|
|
100
89
|
super(...arguments);
|
|
101
|
-
this.
|
|
102
|
-
|
|
90
|
+
this.href = model(/* @ts-ignore */
|
|
91
|
+
...(ngDevMode ? [undefined, { debugName: "href" }] : /* istanbul ignore next */ []));
|
|
92
|
+
this.routerLink = input(/* @ts-ignore */
|
|
93
|
+
...(ngDevMode ? [undefined, { debugName: "routerLink" }] : /* istanbul ignore next */ []));
|
|
94
|
+
this.customActionOverlayToggle = output();
|
|
103
95
|
this.eclIconComponent = contentChild(forwardRef(() => EclIconComponent), { ...(ngDevMode ? { debugName: "eclIconComponent" } : /* istanbul ignore next */ {}), descendants: true });
|
|
104
96
|
this.ARIA_CONTROLS = 'custom-action-overlay';
|
|
105
97
|
this.platformId = inject(PLATFORM_ID);
|
|
@@ -111,7 +103,7 @@ class EclSiteHeaderCustomActionLinkDirective extends ECLBaseDirective {
|
|
|
111
103
|
this.eclIconComponent().addExtraClass('ecl-site-header__icon');
|
|
112
104
|
}
|
|
113
105
|
if (!this.hasLink()) {
|
|
114
|
-
this.href
|
|
106
|
+
this.href.set('#');
|
|
115
107
|
this.isOverlayExpanded = false;
|
|
116
108
|
this.ariaControls = this.ARIA_CONTROLS;
|
|
117
109
|
}
|
|
@@ -124,81 +116,57 @@ class EclSiteHeaderCustomActionLinkDirective extends ECLBaseDirective {
|
|
|
124
116
|
}
|
|
125
117
|
}
|
|
126
118
|
hasLink() {
|
|
127
|
-
return (!!this.href && this.href !== '#') || !!this.routerLink;
|
|
119
|
+
return (!!this.href() && this.href() !== '#') || !!this.routerLink();
|
|
128
120
|
}
|
|
129
121
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclSiteHeaderCustomActionLinkDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
130
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "22.1.2", type: EclSiteHeaderCustomActionLinkDirective, isStandalone: true, selector: "a[eclSiteHeaderCustomActionLink]", inputs: { href: "href", routerLink: "routerLink" }, outputs: { customActionOverlayToggle: "customActionOverlayToggle" }, host: { listeners: { "click": "onClick($event)" }, properties: { "
|
|
122
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "22.1.2", type: EclSiteHeaderCustomActionLinkDirective, isStandalone: true, selector: "a[eclSiteHeaderCustomActionLink]", inputs: { href: { classPropertyName: "href", publicName: "href", isSignal: true, isRequired: false, transformFunction: null }, routerLink: { classPropertyName: "routerLink", publicName: "routerLink", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { href: "hrefChange", customActionOverlayToggle: "customActionOverlayToggle" }, host: { listeners: { "click": "onClick($event)" }, properties: { "attr.aria-expanded": "isOverlayExpanded", "attr.aria-controls": "ariaControls", "attr.href": "href()", "attr.routerLink": "routerLink()" }, classAttribute: "ecl-site-header__custom-action-toggle ecl-button ecl-button--tertiary ecl-button--neutral ecl-button--icon-only" }, queries: [{ propertyName: "eclIconComponent", first: true, predicate: i0.forwardRef(() => EclIconComponent), descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0 }); }
|
|
131
123
|
}
|
|
132
124
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclSiteHeaderCustomActionLinkDirective, decorators: [{
|
|
133
125
|
type: Directive,
|
|
134
126
|
args: [{
|
|
135
127
|
selector: 'a[eclSiteHeaderCustomActionLink]',
|
|
128
|
+
host: {
|
|
129
|
+
class: 'ecl-site-header__custom-action-toggle ecl-button ecl-button--tertiary ecl-button--neutral ecl-button--icon-only',
|
|
130
|
+
'[attr.aria-expanded]': 'isOverlayExpanded',
|
|
131
|
+
'[attr.aria-controls]': 'ariaControls',
|
|
132
|
+
'[attr.href]': 'href()',
|
|
133
|
+
'[attr.routerLink]': 'routerLink()',
|
|
134
|
+
'(click)': 'onClick($event)',
|
|
135
|
+
},
|
|
136
136
|
}]
|
|
137
|
-
}], propDecorators: {
|
|
138
|
-
type: HostBinding,
|
|
139
|
-
args: ['class']
|
|
140
|
-
}], isOverlayExpanded: [{
|
|
141
|
-
type: HostBinding,
|
|
142
|
-
args: ['attr.aria-expanded']
|
|
143
|
-
}], ariaControls: [{
|
|
144
|
-
type: HostBinding,
|
|
145
|
-
args: ['attr.aria-controls']
|
|
146
|
-
}], href: [{
|
|
147
|
-
type: Input
|
|
148
|
-
}, {
|
|
149
|
-
type: HostBinding,
|
|
150
|
-
args: ['attr.href']
|
|
151
|
-
}], routerLink: [{
|
|
152
|
-
type: Input
|
|
153
|
-
}, {
|
|
154
|
-
type: HostBinding,
|
|
155
|
-
args: ['attr.routerLink']
|
|
156
|
-
}], customActionOverlayToggle: [{
|
|
157
|
-
type: Output
|
|
158
|
-
}], eclIconComponent: [{ type: i0.ContentChild, args: [forwardRef(() => EclIconComponent), { ...{ descendants: true }, isSignal: true }] }], onClick: [{
|
|
159
|
-
type: HostListener,
|
|
160
|
-
args: ['click', ['$event']]
|
|
161
|
-
}] } });
|
|
137
|
+
}], propDecorators: { href: [{ type: i0.Input, args: [{ isSignal: true, alias: "href", required: false }] }, { type: i0.Output, args: ["hrefChange"] }], routerLink: [{ type: i0.Input, args: [{ isSignal: true, alias: "routerLink", required: false }] }], customActionOverlayToggle: [{ type: i0.Output, args: ["customActionOverlayToggle"] }], eclIconComponent: [{ type: i0.ContentChild, args: [forwardRef(() => EclIconComponent), { ...{ descendants: true }, isSignal: true }] }] } });
|
|
162
138
|
class EclSiteHeaderCustomActionContentDirective extends ECLBaseDirective {
|
|
163
|
-
constructor() {
|
|
164
|
-
super(...arguments);
|
|
165
|
-
this.className = true;
|
|
166
|
-
}
|
|
167
139
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclSiteHeaderCustomActionContentDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
168
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.2", type: EclSiteHeaderCustomActionContentDirective, isStandalone: true, selector: "div[eclSiteHeaderCustomActionContent]", host: {
|
|
140
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.2", type: EclSiteHeaderCustomActionContentDirective, isStandalone: true, selector: "div[eclSiteHeaderCustomActionContent]", host: { classAttribute: "ecl-site-header__custom-action-content" }, usesInheritance: true, ngImport: i0 }); }
|
|
169
141
|
}
|
|
170
142
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclSiteHeaderCustomActionContentDirective, decorators: [{
|
|
171
143
|
type: Directive,
|
|
172
144
|
args: [{
|
|
173
145
|
selector: 'div[eclSiteHeaderCustomActionContent]',
|
|
146
|
+
host: {
|
|
147
|
+
class: 'ecl-site-header__custom-action-content',
|
|
148
|
+
},
|
|
174
149
|
}]
|
|
175
|
-
}]
|
|
176
|
-
type: HostBinding,
|
|
177
|
-
args: ['class.ecl-site-header__custom-action-content']
|
|
178
|
-
}] } });
|
|
150
|
+
}] });
|
|
179
151
|
class EclSiteHeaderCustomActionTitleDirective extends ECLBaseDirective {
|
|
180
152
|
constructor() {
|
|
181
153
|
super(...arguments);
|
|
182
|
-
this.
|
|
183
|
-
|
|
154
|
+
this.id = input('custom-action-overlay-title', /* @ts-ignore */
|
|
155
|
+
...(ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []));
|
|
184
156
|
}
|
|
185
157
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclSiteHeaderCustomActionTitleDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
186
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
158
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.2", type: EclSiteHeaderCustomActionTitleDirective, isStandalone: true, selector: "div[eclSiteHeaderCustomActionTitle]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.id": "id()" }, classAttribute: "ecl-site-header__custom-action-title" }, usesInheritance: true, ngImport: i0 }); }
|
|
187
159
|
}
|
|
188
160
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclSiteHeaderCustomActionTitleDirective, decorators: [{
|
|
189
161
|
type: Directive,
|
|
190
162
|
args: [{
|
|
191
163
|
selector: 'div[eclSiteHeaderCustomActionTitle]',
|
|
164
|
+
host: {
|
|
165
|
+
class: 'ecl-site-header__custom-action-title',
|
|
166
|
+
'[attr.id]': 'id()',
|
|
167
|
+
},
|
|
192
168
|
}]
|
|
193
|
-
}], propDecorators: {
|
|
194
|
-
type: HostBinding,
|
|
195
|
-
args: ['class.ecl-site-header__custom-action-title']
|
|
196
|
-
}], id: [{
|
|
197
|
-
type: HostBinding,
|
|
198
|
-
args: ['attr.id']
|
|
199
|
-
}, {
|
|
200
|
-
type: Input
|
|
201
|
-
}] } });
|
|
169
|
+
}], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }] } });
|
|
202
170
|
|
|
203
171
|
/**
|
|
204
172
|
* This components gives opportunity for user to add a custom action. It will appear at first place, before log-in and language
|
|
@@ -207,26 +175,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
|
|
|
207
175
|
class EclSiteHeaderCustomActionComponent extends ECLBaseDirective {
|
|
208
176
|
constructor() {
|
|
209
177
|
super(...arguments);
|
|
210
|
-
this.class = 'ecl-site-header__custom-action';
|
|
211
|
-
this.title = contentChild(EclSiteHeaderCustomActionTitleDirective, /* @ts-ignore */
|
|
212
|
-
...(ngDevMode ? [{ debugName: "title" }] : /* istanbul ignore next */ []));
|
|
213
|
-
this.eclSiteHeaderCustomActionLink = contentChild(EclSiteHeaderCustomActionLinkDirective, /* @ts-ignore */
|
|
214
|
-
...(ngDevMode ? [{ debugName: "eclSiteHeaderCustomActionLink" }] : /* istanbul ignore next */ []));
|
|
215
178
|
/**
|
|
216
179
|
* Used to expand/collapse the dropdown, if any.
|
|
217
180
|
*/
|
|
218
181
|
this.isOverlayExpanded = false;
|
|
182
|
+
this.title = contentChild(EclSiteHeaderCustomActionTitleDirective, /* @ts-ignore */
|
|
183
|
+
...(ngDevMode ? [{ debugName: "title" }] : /* istanbul ignore next */ []));
|
|
184
|
+
this.eclSiteHeaderCustomActionLink = contentChild(EclSiteHeaderCustomActionLinkDirective, /* @ts-ignore */
|
|
185
|
+
...(ngDevMode ? [{ debugName: "eclSiteHeaderCustomActionLink" }] : /* istanbul ignore next */ []));
|
|
219
186
|
this.destroy$ = new Subject();
|
|
220
187
|
}
|
|
221
188
|
ngAfterContentInit() {
|
|
222
189
|
const title = this.title();
|
|
223
190
|
if (title) {
|
|
224
|
-
this.titleId = title.id;
|
|
191
|
+
this.titleId = title.id();
|
|
225
192
|
}
|
|
226
193
|
// Subscribe to link output, which toggles the dropdown.
|
|
227
194
|
const eclSiteHeaderCustomActionLink = this.eclSiteHeaderCustomActionLink();
|
|
228
195
|
if (eclSiteHeaderCustomActionLink) {
|
|
229
|
-
eclSiteHeaderCustomActionLink.customActionOverlayToggle.pipe(takeUntil(this.destroy$)).subscribe((isExpanded) => {
|
|
196
|
+
outputToObservable(eclSiteHeaderCustomActionLink.customActionOverlayToggle).pipe(takeUntil(this.destroy$)).subscribe((isExpanded) => {
|
|
230
197
|
this.isOverlayExpanded = isExpanded;
|
|
231
198
|
});
|
|
232
199
|
}
|
|
@@ -257,7 +224,7 @@ class EclSiteHeaderCustomActionComponent extends ECLBaseDirective {
|
|
|
257
224
|
this.onCustomActionOverlayClose();
|
|
258
225
|
}
|
|
259
226
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclSiteHeaderCustomActionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
260
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: EclSiteHeaderCustomActionComponent, isStandalone: true, selector: "div[eclSiteHeaderCustomAction]", host: { listeners: { "eclClickOutside": "onClickOutsideHandler()", "document:keydown.escape": "onEscapeKeydownHandler()" },
|
|
227
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: EclSiteHeaderCustomActionComponent, isStandalone: true, selector: "div[eclSiteHeaderCustomAction]", host: { listeners: { "eclClickOutside": "onClickOutsideHandler()", "document:keydown.escape": "onEscapeKeydownHandler()" }, classAttribute: "ecl-site-header__custom-action" }, queries: [{ propertyName: "title", first: true, predicate: EclSiteHeaderCustomActionTitleDirective, descendants: true, isSignal: true }, { propertyName: "eclSiteHeaderCustomActionLink", first: true, predicate: EclSiteHeaderCustomActionLinkDirective, descendants: true, isSignal: true }], usesInheritance: true, hostDirectives: [{ directive: i1.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: "ngmodule", type: A11yModule }, { kind: "directive", type: i2.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "component", type: i3.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "eclStyle", "size", "containerStyleClass"] }, { kind: "directive", type: i3.EclButtonLabelDirective, selector: "[eclButtonLabel]" }, { kind: "component", type: i2$1.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }] }); }
|
|
261
228
|
}
|
|
262
229
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclSiteHeaderCustomActionComponent, decorators: [{
|
|
263
230
|
type: Component,
|
|
@@ -266,17 +233,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
|
|
|
266
233
|
directive: ECLClickOutsideDirective,
|
|
267
234
|
outputs: ['eclClickOutside'],
|
|
268
235
|
},
|
|
269
|
-
],
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
args: ['eclClickOutside']
|
|
276
|
-
}], onEscapeKeydownHandler: [{
|
|
277
|
-
type: HostListener,
|
|
278
|
-
args: ['document:keydown.escape']
|
|
279
|
-
}] } });
|
|
236
|
+
], host: {
|
|
237
|
+
class: 'ecl-site-header__custom-action',
|
|
238
|
+
'(eclClickOutside)': 'onClickOutsideHandler()',
|
|
239
|
+
'(document:keydown.escape)': 'onEscapeKeydownHandler()',
|
|
240
|
+
}, 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" }]
|
|
241
|
+
}], propDecorators: { title: [{ type: i0.ContentChild, args: [i0.forwardRef(() => EclSiteHeaderCustomActionTitleDirective), { isSignal: true }] }], eclSiteHeaderCustomActionLink: [{ type: i0.ContentChild, args: [i0.forwardRef(() => EclSiteHeaderCustomActionLinkDirective), { isSignal: true }] }] } });
|
|
280
242
|
|
|
281
243
|
/**
|
|
282
244
|
* Custom component, that shows the current environment of the application, for example 'develop', 'acceptance', etc.
|
|
@@ -335,15 +297,14 @@ class EclSiteHeaderEnvironmentComponent extends ECLBaseDirective {
|
|
|
335
297
|
}
|
|
336
298
|
}
|
|
337
299
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclSiteHeaderEnvironmentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
338
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.2", type: EclSiteHeaderEnvironmentComponent, isStandalone: true, selector: "[eclSiteHeaderEnvironment]", host: { properties: { "class": "
|
|
300
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.2", type: EclSiteHeaderEnvironmentComponent, isStandalone: true, selector: "[eclSiteHeaderEnvironment]", host: { properties: { "class": "cssClasses" } }, usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [":host{position:absolute;width:100%;font-size:1.3rem;padding:.3rem;opacity:.6;text-align:center;transform:rotate(-10deg)}@media print{:host{display:none}}\n"] }); }
|
|
339
301
|
}
|
|
340
302
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclSiteHeaderEnvironmentComponent, decorators: [{
|
|
341
303
|
type: Component,
|
|
342
|
-
args: [{ selector: '[eclSiteHeaderEnvironment]', template: '<ng-content></ng-content>',
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
}] } });
|
|
304
|
+
args: [{ selector: '[eclSiteHeaderEnvironment]', template: '<ng-content></ng-content>', host: {
|
|
305
|
+
'[class]': 'cssClasses',
|
|
306
|
+
}, styles: [":host{position:absolute;width:100%;font-size:1.3rem;padding:.3rem;opacity:.6;text-align:center;transform:rotate(-10deg)}@media print{:host{display:none}}\n"] }]
|
|
307
|
+
}], ctorParameters: () => [] });
|
|
347
308
|
|
|
348
309
|
class EclSiteHeaderLoginEvent extends EclBaseEvent {
|
|
349
310
|
}
|
|
@@ -406,13 +367,10 @@ class EclAreaChangeEvent {
|
|
|
406
367
|
class EclSiteHeaderLanguagePopoverComponent extends ECLBaseDirective {
|
|
407
368
|
constructor() {
|
|
408
369
|
super();
|
|
409
|
-
this.el = inject(ElementRef);
|
|
410
|
-
this.eclThemeService = inject(EclThemeService);
|
|
411
370
|
/**
|
|
412
|
-
*
|
|
371
|
+
* Host element reference. Read by the parent `ecl-site-header-language` for positioning.
|
|
413
372
|
*/
|
|
414
|
-
this.
|
|
415
|
-
...(ngDevMode ? [{ debugName: "languageContent" }] : /* istanbul ignore next */ []));
|
|
373
|
+
this.el = inject(ElementRef);
|
|
416
374
|
/**
|
|
417
375
|
* Current language
|
|
418
376
|
*/
|
|
@@ -469,6 +427,12 @@ class EclSiteHeaderLanguagePopoverComponent extends ECLBaseDirective {
|
|
|
469
427
|
...(ngDevMode ? [{ debugName: "languageArrowPosition" }] : /* istanbul ignore next */ []));
|
|
470
428
|
this.languageClosed = output();
|
|
471
429
|
this.languageSelected = output();
|
|
430
|
+
this.eclThemeService = inject(EclThemeService);
|
|
431
|
+
/**
|
|
432
|
+
* The div, that wraps all the languages.
|
|
433
|
+
*/
|
|
434
|
+
this.languageContent = viewChild('languageContent', /* @ts-ignore */
|
|
435
|
+
...(ngDevMode ? [{ debugName: "languageContent" }] : /* istanbul ignore next */ []));
|
|
472
436
|
this.destroy$ = new Subject();
|
|
473
437
|
this.scrollDispatcher = inject(ScrollDispatcher);
|
|
474
438
|
this.zone = inject(NgZone);
|
|
@@ -550,7 +514,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
|
|
|
550
514
|
'[attr.aria-modal]': 'isModal',
|
|
551
515
|
'[attr.hidden]': 'isDropdownHidden',
|
|
552
516
|
}, 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\" eclStyle=\"neutral\" 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 <ecl-icon icon=\"close\" size=\"m\"></ecl-icon>\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\" [attr.translate]=\"'no'\">\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\" [attr.translate]=\"'no'\">\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" }]
|
|
553
|
-
}], ctorParameters: () => [], propDecorators: {
|
|
517
|
+
}], ctorParameters: () => [], propDecorators: { languageCode: [{ type: i0.Input, args: [{ isSignal: true, alias: "languageCode", required: false }] }], euLanguages: [{ type: i0.Input, args: [{ isSignal: true, alias: "euLanguages", required: false }] }], nonEuLanguages: [{ type: i0.Input, args: [{ isSignal: true, alias: "nonEuLanguages", required: false }] }], euColumnsCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "euColumnsCount", required: false }] }], nonEuColumnsCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "nonEuColumnsCount", required: false }] }], isHidden: [{ type: i0.Input, args: [{ isSignal: true, alias: "isHidden", required: false }] }], isPushRight: [{ type: i0.Input, args: [{ isSignal: true, alias: "isPushRight", required: false }] }], isPushLeft: [{ type: i0.Input, args: [{ isSignal: true, alias: "isPushLeft", required: false }] }], isStack: [{ type: i0.Input, args: [{ isSignal: true, alias: "isStack", required: false }] }], isFull: [{ type: i0.Input, args: [{ isSignal: true, alias: "isFull", required: false }] }], rightPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "rightPosition", required: false }] }], leftPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "leftPosition", required: false }] }], languageArrowPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "languageArrowPosition", required: false }] }], languageClosed: [{ type: i0.Output, args: ["languageClosed"] }], languageSelected: [{ type: i0.Output, args: ["languageSelected"] }], languageContent: [{ type: i0.ViewChild, args: ['languageContent', { isSignal: true }] }] } });
|
|
554
518
|
|
|
555
519
|
/** Half the arrow's own width, matching ECL's `arrowSize`. */
|
|
556
520
|
const ARROW_SIZE$2 = '0.5rem';
|
|
@@ -561,19 +525,22 @@ const ARROW_SIZE$2 = '0.5rem';
|
|
|
561
525
|
class EclSiteHeaderLanguageComponent extends ECLBaseDirective {
|
|
562
526
|
constructor() {
|
|
563
527
|
super(...arguments);
|
|
564
|
-
this.eclThemeService = inject(EclThemeService);
|
|
565
|
-
this.config = inject(GLOBAL_CONFIG_TOKEN, { optional: true });
|
|
566
|
-
this.i18nService = inject(I18nService);
|
|
567
528
|
/**
|
|
568
529
|
* Thie event is emited, when language link, showing the current language is clicked.
|
|
569
530
|
*/
|
|
570
|
-
this.languageClick =
|
|
531
|
+
this.languageClick = output();
|
|
571
532
|
/**
|
|
572
533
|
* Thie event is emited, when user selects a new language from the dropdown.
|
|
573
534
|
*/
|
|
574
|
-
this.languageSelected =
|
|
575
|
-
|
|
535
|
+
this.languageSelected = output();
|
|
536
|
+
/**
|
|
537
|
+
* Current language code. Read and written by the parent `ecl-site-header`.
|
|
538
|
+
*/
|
|
576
539
|
this.languageCode = 'en';
|
|
540
|
+
this.eclThemeService = inject(EclThemeService);
|
|
541
|
+
this.config = inject(GLOBAL_CONFIG_TOKEN, { optional: true });
|
|
542
|
+
this.i18nService = inject(I18nService);
|
|
543
|
+
this.isLanguagesDropdownVisible = false;
|
|
577
544
|
/**
|
|
578
545
|
* Array of EU languages, that can be selected for the current site.
|
|
579
546
|
*/
|
|
@@ -641,7 +608,7 @@ class EclSiteHeaderLanguageComponent extends ECLBaseDirective {
|
|
|
641
608
|
// Matches ECL's updateOverlayPosition call in toggleOverlay.
|
|
642
609
|
requestAnimationFrame(() => this.calculatePopoverPosition());
|
|
643
610
|
}
|
|
644
|
-
this.languageClick.
|
|
611
|
+
this.languageClick.emit(new EclSiteHeaderLanguageClickEvent());
|
|
645
612
|
evt.preventDefault();
|
|
646
613
|
}
|
|
647
614
|
onLanguageClosed(evt) {
|
|
@@ -651,7 +618,7 @@ class EclSiteHeaderLanguageComponent extends ECLBaseDirective {
|
|
|
651
618
|
this.languageCode = evt.language.code;
|
|
652
619
|
this.updateCurrentLanguage(evt.language.code);
|
|
653
620
|
this.isLanguagesDropdownVisible = false;
|
|
654
|
-
this.languageSelected.
|
|
621
|
+
this.languageSelected.emit(new EclSiteHeaderLanguageSelectedEvent(evt.language));
|
|
655
622
|
}
|
|
656
623
|
/**
|
|
657
624
|
* Close the dropdown, when clicking outside of the component.
|
|
@@ -804,11 +771,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
|
|
|
804
771
|
'(eclClickOutside)': 'onClickOutside()',
|
|
805
772
|
'(document:keydown.escape)': 'onEscapeKeydownHandler()',
|
|
806
773
|
}, template: "<a\n href=\"#\"\n #languageLink\n class=\"ecl-button ecl-button--tertiary ecl-button--neutral 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=\"m\" 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"] }]
|
|
807
|
-
}], propDecorators: { languageClick: [{
|
|
808
|
-
type: Output
|
|
809
|
-
}], languageSelected: [{
|
|
810
|
-
type: Output
|
|
811
|
-
}], languagePopover: [{ type: i0.ViewChild, args: [i0.forwardRef(() => EclSiteHeaderLanguagePopoverComponent), { isSignal: true }] }], languageLinkElement: [{ type: i0.ViewChild, args: ['languageLink', { ...{ read: ElementRef }, isSignal: true }] }] } });
|
|
774
|
+
}], propDecorators: { languageClick: [{ type: i0.Output, args: ["languageClick"] }], languageSelected: [{ type: i0.Output, args: ["languageSelected"] }], languagePopover: [{ type: i0.ViewChild, args: [i0.forwardRef(() => EclSiteHeaderLanguagePopoverComponent), { isSignal: true }] }], languageLinkElement: [{ type: i0.ViewChild, args: ['languageLink', { ...{ read: ElementRef }, isSignal: true }] }] } });
|
|
812
775
|
|
|
813
776
|
/** Half the arrow's own width, matching ECL's `arrowSize`. */
|
|
814
777
|
const ARROW_SIZE$1 = '0.5rem';
|
|
@@ -823,7 +786,7 @@ class EclSiteHeaderLoginComponent extends ECLBaseDirective {
|
|
|
823
786
|
super();
|
|
824
787
|
this.isLoggedIn = input(false, { ...(ngDevMode ? { debugName: "isLoggedIn" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
825
788
|
this.login = output();
|
|
826
|
-
this.loginBoxToggle =
|
|
789
|
+
this.loginBoxToggle = output();
|
|
827
790
|
/**
|
|
828
791
|
* If login popover is open (true) or closed (false). Kept public because the parent
|
|
829
792
|
* `ecl-site-header` resets it directly when the search box opens.
|
|
@@ -890,7 +853,7 @@ class EclSiteHeaderLoginComponent extends ECLBaseDirective {
|
|
|
890
853
|
onLoginBoxToggle(evt) {
|
|
891
854
|
this.isLoginBoxActive = !this.isLoginBoxActive;
|
|
892
855
|
const event = new EclSiteHeaderLoginBoxToggleEvent(this.isLoginBoxActive);
|
|
893
|
-
this.loginBoxToggle.
|
|
856
|
+
this.loginBoxToggle.emit(event);
|
|
894
857
|
evt.preventDefault();
|
|
895
858
|
if (this.isLoginBoxActive) {
|
|
896
859
|
// Measure after the '--active' class is applied and the box reflows to full width.
|
|
@@ -901,7 +864,7 @@ class EclSiteHeaderLoginComponent extends ECLBaseDirective {
|
|
|
901
864
|
if (this.isLoginBoxActive) {
|
|
902
865
|
this.isLoginBoxActive = false;
|
|
903
866
|
const event = new EclSiteHeaderLoginBoxToggleEvent(this.isLoginBoxActive);
|
|
904
|
-
this.loginBoxToggle.
|
|
867
|
+
this.loginBoxToggle.emit(event);
|
|
905
868
|
this.loginArrowPosition.set(undefined);
|
|
906
869
|
}
|
|
907
870
|
}
|
|
@@ -939,51 +902,41 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
|
|
|
939
902
|
class: 'ecl-site-header__login-container',
|
|
940
903
|
'(eclClickOutside)': 'onClickOutside()',
|
|
941
904
|
}, template: "@if (isLoggedIn()) {\n <a\n #loginLink\n href=\"#\"\n class=\"ecl-button ecl-button--tertiary ecl-button--neutral 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=\"m\" class=\"ecl-site-header__icon\"></ecl-icon>\n {{ 'ecl.site-header.LOGGED-IN' | translate }}\n </a>\n <div\n #loginBox\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-button--neutral ecl-site-header__login-toggle\"\n [attr.aria-expanded]=\"isLoginBoxActive\"\n (click)=\"onLoginClick($event)\">\n <ecl-icon icon=\"log-in\" size=\"m\" class=\"ecl-site-header__icon\"></ecl-icon>\n {{ 'ecl.site-header.LOGIN' | translate }}\n </a>\n}\n", styles: [":host{display:block}\n"] }]
|
|
942
|
-
}], ctorParameters: () => [], propDecorators: { isLoggedIn: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLoggedIn", required: false }] }], login: [{ type: i0.Output, args: ["login"] }], loginBoxToggle: [{
|
|
943
|
-
type: Output
|
|
944
|
-
}], loginLinkElement: [{ type: i0.ViewChild, args: ['loginLink', { ...{ read: ElementRef }, isSignal: true }] }], loginBoxElement: [{ type: i0.ViewChild, args: ['loginBox', { ...{ read: ElementRef }, isSignal: true }] }] } });
|
|
905
|
+
}], ctorParameters: () => [], propDecorators: { isLoggedIn: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLoggedIn", required: false }] }], login: [{ type: i0.Output, args: ["login"] }], loginBoxToggle: [{ type: i0.Output, args: ["loginBoxToggle"] }], loginLinkElement: [{ type: i0.ViewChild, args: ['loginLink', { ...{ read: ElementRef }, isSignal: true }] }], loginBoxElement: [{ type: i0.ViewChild, args: ['loginBox', { ...{ read: ElementRef }, isSignal: true }] }] } });
|
|
945
906
|
|
|
946
907
|
/**
|
|
947
908
|
* This directive is used to add specific class for the login description element, within the login dropdown.
|
|
948
909
|
*/
|
|
949
910
|
class EclSiteHeaderLoginDescriptionDirective extends ECLBaseDirective {
|
|
950
|
-
constructor() {
|
|
951
|
-
super(...arguments);
|
|
952
|
-
this.className = 'ecl-site-header__login-description';
|
|
953
|
-
}
|
|
954
911
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclSiteHeaderLoginDescriptionDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
955
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.2", type: EclSiteHeaderLoginDescriptionDirective, isStandalone: true, selector: "[eclSiteHeaderLoginDescription]", host: {
|
|
912
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.2", type: EclSiteHeaderLoginDescriptionDirective, isStandalone: true, selector: "[eclSiteHeaderLoginDescription]", host: { classAttribute: "ecl-site-header__login-description" }, usesInheritance: true, ngImport: i0 }); }
|
|
956
913
|
}
|
|
957
914
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclSiteHeaderLoginDescriptionDirective, decorators: [{
|
|
958
915
|
type: Directive,
|
|
959
916
|
args: [{
|
|
960
917
|
selector: '[eclSiteHeaderLoginDescription]',
|
|
918
|
+
host: {
|
|
919
|
+
class: 'ecl-site-header__login-description',
|
|
920
|
+
},
|
|
961
921
|
}]
|
|
962
|
-
}]
|
|
963
|
-
type: HostBinding,
|
|
964
|
-
args: ['class']
|
|
965
|
-
}] } });
|
|
922
|
+
}] });
|
|
966
923
|
/**
|
|
967
924
|
* This directive is used to add specific class for the horizontal line, that separates
|
|
968
925
|
* description from the 'Logout' link.
|
|
969
926
|
*/
|
|
970
927
|
class EclSiteHeaderLoginSeparatorDirective extends ECLBaseDirective {
|
|
971
|
-
constructor() {
|
|
972
|
-
super(...arguments);
|
|
973
|
-
this.className = 'ecl-site-header__login-separator';
|
|
974
|
-
}
|
|
975
928
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclSiteHeaderLoginSeparatorDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
976
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.2", type: EclSiteHeaderLoginSeparatorDirective, isStandalone: true, selector: "[eclSiteHeaderLoginSeparator]", host: {
|
|
929
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.2", type: EclSiteHeaderLoginSeparatorDirective, isStandalone: true, selector: "[eclSiteHeaderLoginSeparator]", host: { classAttribute: "ecl-site-header__login-separator" }, usesInheritance: true, ngImport: i0 }); }
|
|
977
930
|
}
|
|
978
931
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclSiteHeaderLoginSeparatorDirective, decorators: [{
|
|
979
932
|
type: Directive,
|
|
980
933
|
args: [{
|
|
981
934
|
selector: '[eclSiteHeaderLoginSeparator]',
|
|
935
|
+
host: {
|
|
936
|
+
class: 'ecl-site-header__login-separator',
|
|
937
|
+
},
|
|
982
938
|
}]
|
|
983
|
-
}]
|
|
984
|
-
type: HostBinding,
|
|
985
|
-
args: ['class']
|
|
986
|
-
}] } });
|
|
939
|
+
}] });
|
|
987
940
|
|
|
988
941
|
/**
|
|
989
942
|
* This component is used as a wrapper around ecl-notification component, when used in the site-header. Adds specific class
|
|
@@ -1004,39 +957,32 @@ class EclSiteHeaderNotificationComponent extends ECLBaseDirective {
|
|
|
1004
957
|
this.display = '';
|
|
1005
958
|
}
|
|
1006
959
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclSiteHeaderNotificationComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
1007
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.2", type: EclSiteHeaderNotificationComponent, isStandalone: true, selector: "ecl-site-header-notification", host: { properties: { "class": "
|
|
960
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.2", type: EclSiteHeaderNotificationComponent, isStandalone: true, selector: "ecl-site-header-notification", host: { properties: { "class": "cssClasses", "style.display": "display" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"ecl-container\">\n <ng-content></ng-content>\n</div>\n" }); }
|
|
1008
961
|
}
|
|
1009
962
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclSiteHeaderNotificationComponent, decorators: [{
|
|
1010
963
|
type: Component,
|
|
1011
|
-
args: [{ selector: 'ecl-site-header-notification',
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
type: HostBinding,
|
|
1017
|
-
args: ['style.display']
|
|
1018
|
-
}] } });
|
|
964
|
+
args: [{ selector: 'ecl-site-header-notification', host: {
|
|
965
|
+
'[class]': 'cssClasses',
|
|
966
|
+
'[style.display]': 'display',
|
|
967
|
+
}, template: "<div class=\"ecl-container\">\n <ng-content></ng-content>\n</div>\n" }]
|
|
968
|
+
}] });
|
|
1019
969
|
|
|
1020
970
|
/**
|
|
1021
971
|
* Adds some specific classes for picture element, when used in the site header logo.
|
|
1022
972
|
*/
|
|
1023
973
|
class EclSiteHeaderPictureDirective extends ECLBaseDirective {
|
|
1024
|
-
constructor() {
|
|
1025
|
-
super(...arguments);
|
|
1026
|
-
this.className = 'ecl-site-header__picture ecl-picture';
|
|
1027
|
-
}
|
|
1028
974
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclSiteHeaderPictureDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1029
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.2", type: EclSiteHeaderPictureDirective, isStandalone: true, selector: "[eclSiteHeaderPicture]", host: {
|
|
975
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.2", type: EclSiteHeaderPictureDirective, isStandalone: true, selector: "[eclSiteHeaderPicture]", host: { classAttribute: "ecl-site-header__picture ecl-picture" }, usesInheritance: true, ngImport: i0 }); }
|
|
1030
976
|
}
|
|
1031
977
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclSiteHeaderPictureDirective, decorators: [{
|
|
1032
978
|
type: Directive,
|
|
1033
979
|
args: [{
|
|
1034
980
|
selector: '[eclSiteHeaderPicture]',
|
|
981
|
+
host: {
|
|
982
|
+
class: 'ecl-site-header__picture ecl-picture',
|
|
983
|
+
},
|
|
1035
984
|
}]
|
|
1036
|
-
}]
|
|
1037
|
-
type: HostBinding,
|
|
1038
|
-
args: ['class']
|
|
1039
|
-
}] } });
|
|
985
|
+
}] });
|
|
1040
986
|
/**
|
|
1041
987
|
* Adds some specific classes for <img> element, when used in the site header logo.
|
|
1042
988
|
*/
|
|
@@ -1048,37 +994,33 @@ class EclSiteHeaderImageDirective extends ECLBaseDirective {
|
|
|
1048
994
|
].join(' ').trim();
|
|
1049
995
|
}
|
|
1050
996
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclSiteHeaderImageDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1051
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.2", type: EclSiteHeaderImageDirective, isStandalone: true, selector: "[eclSiteHeaderImage]", host: { properties: { "class": "
|
|
997
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.2", type: EclSiteHeaderImageDirective, isStandalone: true, selector: "[eclSiteHeaderImage]", host: { properties: { "class": "cssClasses" } }, usesInheritance: true, ngImport: i0 }); }
|
|
1052
998
|
}
|
|
1053
999
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclSiteHeaderImageDirective, decorators: [{
|
|
1054
1000
|
type: Directive,
|
|
1055
1001
|
args: [{
|
|
1056
1002
|
selector: '[eclSiteHeaderImage]',
|
|
1003
|
+
host: {
|
|
1004
|
+
'[class]': 'cssClasses',
|
|
1005
|
+
},
|
|
1057
1006
|
}]
|
|
1058
|
-
}]
|
|
1059
|
-
type: HostBinding,
|
|
1060
|
-
args: ['class']
|
|
1061
|
-
}] } });
|
|
1007
|
+
}] });
|
|
1062
1008
|
/**
|
|
1063
1009
|
* Adds some specific classes for <a> element, when used in the site header logo.
|
|
1064
1010
|
*/
|
|
1065
1011
|
class EclSiteHeaderLinkDirective extends ECLBaseDirective {
|
|
1066
|
-
constructor() {
|
|
1067
|
-
super(...arguments);
|
|
1068
|
-
this.className = 'ecl-link ecl-link--standalone ecl-site-header__logo-link';
|
|
1069
|
-
}
|
|
1070
1012
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclSiteHeaderLinkDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1071
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.2", type: EclSiteHeaderLinkDirective, isStandalone: true, selector: "[eclSiteHeaderLink]", host: {
|
|
1013
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.2", type: EclSiteHeaderLinkDirective, isStandalone: true, selector: "[eclSiteHeaderLink]", host: { classAttribute: "ecl-link ecl-link--standalone ecl-site-header__logo-link" }, usesInheritance: true, ngImport: i0 }); }
|
|
1072
1014
|
}
|
|
1073
1015
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclSiteHeaderLinkDirective, decorators: [{
|
|
1074
1016
|
type: Directive,
|
|
1075
1017
|
args: [{
|
|
1076
1018
|
selector: '[eclSiteHeaderLink]',
|
|
1019
|
+
host: {
|
|
1020
|
+
class: 'ecl-link ecl-link--standalone ecl-site-header__logo-link',
|
|
1021
|
+
},
|
|
1077
1022
|
}]
|
|
1078
|
-
}]
|
|
1079
|
-
type: HostBinding,
|
|
1080
|
-
args: ['class']
|
|
1081
|
-
}] } });
|
|
1023
|
+
}] });
|
|
1082
1024
|
|
|
1083
1025
|
const ECL_SITE_HEADER_SEARCH_VALUE_ACCESSOR = {
|
|
1084
1026
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -1099,12 +1041,14 @@ const RESIZE_DEBOUNCE = 200;
|
|
|
1099
1041
|
class EclSiteHeaderSearchComponent extends ECLBaseDirective {
|
|
1100
1042
|
constructor() {
|
|
1101
1043
|
super(...arguments);
|
|
1044
|
+
this.searchInputText = model(/* @ts-ignore */
|
|
1045
|
+
...(ngDevMode ? [undefined, { debugName: "searchInputText" }] : /* istanbul ignore next */ []));
|
|
1102
1046
|
this.searchInputPlaceholder = input(undefined, /* @ts-ignore */
|
|
1103
1047
|
...(ngDevMode ? [{ debugName: "searchInputPlaceholder" }] : /* istanbul ignore next */ []));
|
|
1104
1048
|
this.searchButtonLabel = input(undefined, /* @ts-ignore */
|
|
1105
1049
|
...(ngDevMode ? [{ debugName: "searchButtonLabel" }] : /* istanbul ignore next */ []));
|
|
1106
1050
|
this.searchEvent = output();
|
|
1107
|
-
this.searchToggle =
|
|
1051
|
+
this.searchToggle = output();
|
|
1108
1052
|
/**
|
|
1109
1053
|
* Whether the search dropdown is open. Kept public because the parent
|
|
1110
1054
|
* `ecl-site-header` resets it directly when the login box opens.
|
|
@@ -1151,7 +1095,7 @@ class EclSiteHeaderSearchComponent extends ECLBaseDirective {
|
|
|
1151
1095
|
}
|
|
1152
1096
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1153
1097
|
writeValue(value) {
|
|
1154
|
-
this.searchInputText
|
|
1098
|
+
this.searchInputText.set(value);
|
|
1155
1099
|
}
|
|
1156
1100
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1157
1101
|
registerOnChange(fn) {
|
|
@@ -1175,7 +1119,7 @@ class EclSiteHeaderSearchComponent extends ECLBaseDirective {
|
|
|
1175
1119
|
onSearchBoxToggle(evt) {
|
|
1176
1120
|
this.isSearchBoxActive = !this.isSearchBoxActive;
|
|
1177
1121
|
const event = new EclSiteHeaderSearchToggleEvent(this.isSearchBoxActive);
|
|
1178
|
-
this.searchToggle.
|
|
1122
|
+
this.searchToggle.emit(event);
|
|
1179
1123
|
evt.preventDefault();
|
|
1180
1124
|
// Measure after the `--active` class is applied and the box reflows to
|
|
1181
1125
|
// full width (matching ECL's toggleSearch -> setSearchArrow order).
|
|
@@ -1191,14 +1135,14 @@ class EclSiteHeaderSearchComponent extends ECLBaseDirective {
|
|
|
1191
1135
|
return ['ecl-site-header__search', this.isSearchBoxActive ? 'ecl-site-header__search--active' : ''].join(' ');
|
|
1192
1136
|
}
|
|
1193
1137
|
onModelChange(newValue) {
|
|
1194
|
-
this.searchInputText
|
|
1138
|
+
this.searchInputText.set(newValue);
|
|
1195
1139
|
this.onChange(newValue);
|
|
1196
1140
|
}
|
|
1197
1141
|
closeSearchBox() {
|
|
1198
1142
|
if (!this.isSearchBoxActive)
|
|
1199
1143
|
return;
|
|
1200
1144
|
this.isSearchBoxActive = false;
|
|
1201
|
-
this.searchToggle.
|
|
1145
|
+
this.searchToggle.emit(new EclSiteHeaderSearchToggleEvent(this.isSearchBoxActive));
|
|
1202
1146
|
this.searchArrowPosition.set(undefined);
|
|
1203
1147
|
}
|
|
1204
1148
|
/**
|
|
@@ -1224,7 +1168,7 @@ class EclSiteHeaderSearchComponent extends ECLBaseDirective {
|
|
|
1224
1168
|
}
|
|
1225
1169
|
}
|
|
1226
1170
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclSiteHeaderSearchComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
1227
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.1.2", type: EclSiteHeaderSearchComponent, isStandalone: true, selector: "ecl-site-header-search", inputs: { searchInputText: { classPropertyName: "searchInputText", publicName: "searchInputText", isSignal:
|
|
1171
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.1.2", type: EclSiteHeaderSearchComponent, isStandalone: true, selector: "ecl-site-header-search", inputs: { searchInputText: { classPropertyName: "searchInputText", publicName: "searchInputText", isSignal: true, isRequired: false, transformFunction: null }, searchInputPlaceholder: { classPropertyName: "searchInputPlaceholder", publicName: "searchInputPlaceholder", isSignal: true, isRequired: false, transformFunction: null }, searchButtonLabel: { classPropertyName: "searchButtonLabel", publicName: "searchButtonLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { searchInputText: "searchInputTextChange", searchEvent: "searchEvent", searchToggle: "searchToggle" }, host: { attributes: { "role": "search" }, listeners: { "eclClickOutside": "onClickOutside()" }, classAttribute: "ecl-site-header__search-container" }, providers: [ECL_SITE_HEADER_SEARCH_VALUE_ACCESSOR], viewQueries: [{ propertyName: "searchLinkElement", first: true, predicate: ["searchLink"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "searchFormElement", first: true, predicate: ["searchForm"], descendants: true, read: ElementRef, isSignal: true }], usesInheritance: true, hostDirectives: [{ directive: i1.ECLClickOutsideDirective, outputs: ["eclClickOutside", "eclClickOutside"] }], ngImport: i0, template: "<a\n #searchLink\n href=\"#\"\n class=\"ecl-button ecl-button--tertiary ecl-site-header__search-toggle ecl-button--neutral\"\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=\"m\" class=\"ecl-site-header__icon\"></ecl-icon>\n {{ 'ecl.common.SEARCH' | translate }}\n</a>\n\n<ecl-search-form\n #searchForm\n [style]=\"{'--ecl-search-arrow-position': searchArrowPosition()}\"\n (searchEvent)=\"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: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3$2.EclSearchFormComponent, selector: "ecl-search-form", inputs: ["searchInputText", "placeholder", "searchButtonLabel", "searchButtonIcon", "buttonExtraClassses", "inputExtraClassses"], outputs: ["searchInputTextChange", "searchEvent"] }, { kind: "component", type: i2$1.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
1228
1172
|
}
|
|
1229
1173
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclSiteHeaderSearchComponent, decorators: [{
|
|
1230
1174
|
type: Component,
|
|
@@ -1238,12 +1182,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
|
|
|
1238
1182
|
// The default role of the component is 'search', should not be changed.
|
|
1239
1183
|
role: 'search',
|
|
1240
1184
|
'(eclClickOutside)': 'onClickOutside()',
|
|
1241
|
-
}, template: "<a\n #searchLink\n href=\"#\"\n class=\"ecl-button ecl-button--tertiary ecl-site-header__search-toggle ecl-button--neutral\"\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=\"m\" class=\"ecl-site-header__icon\"></ecl-icon>\n {{ 'ecl.common.SEARCH' | translate }}\n</a>\n\n<ecl-search-form\n #searchForm\n [style]=\"{'--ecl-search-arrow-position': searchArrowPosition()}\"\n (searchEvent)=\"onSearch($event)\"\n [placeholder]=\"searchInputPlaceholder()\"\n (ngModelChange)=\"onModelChange($event)\"\n [
|
|
1242
|
-
}], propDecorators: { searchInputText: [{
|
|
1243
|
-
type: Input
|
|
1244
|
-
}], searchInputPlaceholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchInputPlaceholder", required: false }] }], searchButtonLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchButtonLabel", required: false }] }], searchEvent: [{ type: i0.Output, args: ["searchEvent"] }], searchToggle: [{
|
|
1245
|
-
type: Output
|
|
1246
|
-
}], searchLinkElement: [{ type: i0.ViewChild, args: ['searchLink', { ...{ read: ElementRef }, isSignal: true }] }], searchFormElement: [{ type: i0.ViewChild, args: ['searchForm', { ...{ read: ElementRef }, isSignal: true }] }] } });
|
|
1185
|
+
}, template: "<a\n #searchLink\n href=\"#\"\n class=\"ecl-button ecl-button--tertiary ecl-site-header__search-toggle ecl-button--neutral\"\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=\"m\" class=\"ecl-site-header__icon\"></ecl-icon>\n {{ 'ecl.common.SEARCH' | translate }}\n</a>\n\n<ecl-search-form\n #searchForm\n [style]=\"{'--ecl-search-arrow-position': searchArrowPosition()}\"\n (searchEvent)=\"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"] }]
|
|
1186
|
+
}], propDecorators: { searchInputText: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchInputText", required: false }] }, { type: i0.Output, args: ["searchInputTextChange"] }], searchInputPlaceholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchInputPlaceholder", required: false }] }], searchButtonLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchButtonLabel", required: false }] }], searchEvent: [{ type: i0.Output, args: ["searchEvent"] }], searchToggle: [{ type: i0.Output, args: ["searchToggle"] }], searchLinkElement: [{ type: i0.ViewChild, args: ['searchLink', { ...{ read: ElementRef }, isSignal: true }] }], searchFormElement: [{ type: i0.ViewChild, args: ['searchForm', { ...{ read: ElementRef }, isSignal: true }] }] } });
|
|
1247
1187
|
|
|
1248
1188
|
/**
|
|
1249
1189
|
* This class is used for methods, that serve for communication between the components in ecl-side-header.
|
|
@@ -1285,19 +1225,23 @@ class EclSiteHeaderComponent extends ECLBaseDirective {
|
|
|
1285
1225
|
`ecl-site-header-with-logo-${this.logoSize()}`,
|
|
1286
1226
|
this.eclMenuComponent() ? 'ecl-site-header--has-menu' : '',
|
|
1287
1227
|
this.eclMegaMenuComponent() ? 'ecl-site-header--has-mega-menu' : '',
|
|
1288
|
-
this.isEclMegaMenuOpen ? 'ecl-site-header--open-menu' : '',
|
|
1289
|
-
this.isEclMegaMenuStart ? 'ecl-site-header--open-menu-start' : '',
|
|
1290
|
-
this.isRtl ? 'ecl-site-header--rtl' : '',
|
|
1228
|
+
this.isEclMegaMenuOpen() ? 'ecl-site-header--open-menu' : '',
|
|
1229
|
+
this.isEclMegaMenuStart() ? 'ecl-site-header--open-menu-start' : '',
|
|
1230
|
+
this.isRtl() ? 'ecl-site-header--rtl' : '',
|
|
1291
1231
|
].join(' ').trim();
|
|
1292
1232
|
}
|
|
1293
1233
|
constructor() {
|
|
1294
1234
|
super();
|
|
1295
|
-
|
|
1296
|
-
|
|
1235
|
+
/**
|
|
1236
|
+
* The name of the site, to be added in the header, next to the logo.
|
|
1237
|
+
*/
|
|
1238
|
+
this.siteName = input(/* @ts-ignore */
|
|
1239
|
+
...(ngDevMode ? [undefined, { debugName: "siteName" }] : /* istanbul ignore next */ []));
|
|
1297
1240
|
/**
|
|
1298
1241
|
* Language code of the current language of the site.
|
|
1299
1242
|
*/
|
|
1300
|
-
this.languageCode = 'en'
|
|
1243
|
+
this.languageCode = model('en', /* @ts-ignore */
|
|
1244
|
+
...(ngDevMode ? [{ debugName: "languageCode" }] : /* istanbul ignore next */ []));
|
|
1301
1245
|
/**
|
|
1302
1246
|
* The size of the logo, 's', 'm' or 'l', default to 'm'.
|
|
1303
1247
|
*/
|
|
@@ -1331,11 +1275,16 @@ class EclSiteHeaderComponent extends ECLBaseDirective {
|
|
|
1331
1275
|
...(ngDevMode ? [{ debugName: "eclHeaderLink" }] : /* istanbul ignore next */ []));
|
|
1332
1276
|
this.eclHeaderImage = contentChild(forwardRef(() => EclSiteHeaderImageDirective), /* @ts-ignore */
|
|
1333
1277
|
...(ngDevMode ? [{ debugName: "eclHeaderImage" }] : /* istanbul ignore next */ []));
|
|
1278
|
+
this.eclThemeService = inject(EclThemeService);
|
|
1279
|
+
this.i18nService = inject(I18nService);
|
|
1334
1280
|
this.destroy$ = new Subject();
|
|
1335
|
-
this.isEclMegaMenuOpen = false
|
|
1336
|
-
|
|
1281
|
+
this.isEclMegaMenuOpen = signal(false, /* @ts-ignore */
|
|
1282
|
+
...(ngDevMode ? [{ debugName: "isEclMegaMenuOpen" }] : /* istanbul ignore next */ []));
|
|
1283
|
+
this.isEclMegaMenuStart = signal(false, /* @ts-ignore */
|
|
1284
|
+
...(ngDevMode ? [{ debugName: "isEclMegaMenuStart" }] : /* istanbul ignore next */ []));
|
|
1337
1285
|
this.isMobileBreakpoint = false;
|
|
1338
|
-
this.isRtl = false
|
|
1286
|
+
this.isRtl = signal(false, /* @ts-ignore */
|
|
1287
|
+
...(ngDevMode ? [{ debugName: "isRtl" }] : /* istanbul ignore next */ []));
|
|
1339
1288
|
this.TIMEOUT_INTERVAL = 100;
|
|
1340
1289
|
this.eclRtlService = inject(EclRtlService);
|
|
1341
1290
|
this.eclHeaderMenuComunicationService = inject(EclHeaderMenuComunicationService);
|
|
@@ -1369,27 +1318,27 @@ class EclSiteHeaderComponent extends ECLBaseDirective {
|
|
|
1369
1318
|
const eclLoginComponent = this.eclLoginComponent();
|
|
1370
1319
|
const eclSearchComponent = this.eclSearchComponent();
|
|
1371
1320
|
if (eclLoginComponent && eclSearchComponent) {
|
|
1372
|
-
eclLoginComponent.loginBoxToggle.pipe(takeUntil(this.destroy$)).subscribe((evt) => {
|
|
1321
|
+
outputToObservable(eclLoginComponent.loginBoxToggle).pipe(takeUntil(this.destroy$)).subscribe((evt) => {
|
|
1373
1322
|
this.eclSearchComponent().isSearchBoxActive = false;
|
|
1374
1323
|
this.sendResizeEventToChildComponents();
|
|
1375
1324
|
});
|
|
1376
|
-
eclSearchComponent.searchToggle.pipe(takeUntil(this.destroy$)).subscribe((evt) => {
|
|
1325
|
+
outputToObservable(eclSearchComponent.searchToggle).pipe(takeUntil(this.destroy$)).subscribe((evt) => {
|
|
1377
1326
|
this.eclLoginComponent().isLoginBoxActive = false;
|
|
1378
1327
|
this.sendResizeEventToChildComponents();
|
|
1379
1328
|
});
|
|
1380
1329
|
}
|
|
1381
1330
|
const eclLanguageComponent = this.eclLanguageComponent();
|
|
1382
1331
|
if (eclLanguageComponent) {
|
|
1383
|
-
eclLanguageComponent.languageClick.pipe(takeUntil(this.destroy$)).subscribe((evt) => {
|
|
1332
|
+
outputToObservable(eclLanguageComponent.languageClick).pipe(takeUntil(this.destroy$)).subscribe((evt) => {
|
|
1384
1333
|
this.languageClick.emit(new EclSiteHeaderLanguageClickEvent());
|
|
1385
1334
|
this.sendResizeEventToChildComponents();
|
|
1386
1335
|
});
|
|
1387
|
-
eclLanguageComponent.languageSelected.pipe(takeUntil(this.destroy$)).subscribe((evt) => {
|
|
1388
|
-
this.languageCode
|
|
1336
|
+
outputToObservable(eclLanguageComponent.languageSelected).pipe(takeUntil(this.destroy$)).subscribe((evt) => {
|
|
1337
|
+
this.languageCode.set(evt.language?.code);
|
|
1389
1338
|
});
|
|
1390
1339
|
}
|
|
1391
1340
|
if (eclLanguageComponent) {
|
|
1392
|
-
this.languageCode
|
|
1341
|
+
this.languageCode.set(eclLanguageComponent?.languageCode);
|
|
1393
1342
|
}
|
|
1394
1343
|
const eclMenuComponent = this.eclMenuComponent();
|
|
1395
1344
|
if (eclMenuComponent) {
|
|
@@ -1407,7 +1356,7 @@ class EclSiteHeaderComponent extends ECLBaseDirective {
|
|
|
1407
1356
|
* In this case, a default logo is returned.
|
|
1408
1357
|
*/
|
|
1409
1358
|
get partOfLogoName() {
|
|
1410
|
-
return logoLanguageCode(this.languageCode);
|
|
1359
|
+
return logoLanguageCode(this.languageCode());
|
|
1411
1360
|
}
|
|
1412
1361
|
onECLogoClick(evt) {
|
|
1413
1362
|
const event = new EclSiteHeaderLogoClickEvent();
|
|
@@ -1421,7 +1370,7 @@ class EclSiteHeaderComponent extends ECLBaseDirective {
|
|
|
1421
1370
|
}
|
|
1422
1371
|
handleRtlChangeState() {
|
|
1423
1372
|
this.eclRtlService.currentRtlState$.pipe(takeUntil(this.destroy$)).subscribe((rtlState) => {
|
|
1424
|
-
this.isRtl
|
|
1373
|
+
this.isRtl.set(rtlState);
|
|
1425
1374
|
});
|
|
1426
1375
|
}
|
|
1427
1376
|
/**
|
|
@@ -1439,8 +1388,8 @@ class EclSiteHeaderComponent extends ECLBaseDirective {
|
|
|
1439
1388
|
subscribeToMegaMenuEvents() {
|
|
1440
1389
|
this.eclHeaderMenuComunicationService.isMobileObjectOpen$.pipe(takeUntil(this.destroy$)).subscribe(isExpanded => {
|
|
1441
1390
|
if (this.isMobileBreakpoint) {
|
|
1442
|
-
this.isEclMegaMenuStart
|
|
1443
|
-
this.isEclMegaMenuOpen
|
|
1391
|
+
this.isEclMegaMenuStart.set(isExpanded);
|
|
1392
|
+
this.isEclMegaMenuOpen.set(isExpanded);
|
|
1444
1393
|
}
|
|
1445
1394
|
if (isExpanded) {
|
|
1446
1395
|
const bottomSpaceY = this.el.nativeElement.getBoundingClientRect().bottom;
|
|
@@ -1457,7 +1406,7 @@ class EclSiteHeaderComponent extends ECLBaseDirective {
|
|
|
1457
1406
|
}
|
|
1458
1407
|
}
|
|
1459
1408
|
else {
|
|
1460
|
-
this.isEclMegaMenuOpen
|
|
1409
|
+
this.isEclMegaMenuOpen.set(isExpanded);
|
|
1461
1410
|
if (isExpanded) {
|
|
1462
1411
|
const bottomSpaceY = this.el.nativeElement.getBoundingClientRect().bottom;
|
|
1463
1412
|
this.eclMegaMenuComponent().positionMenuOverlay(bottomSpaceY);
|
|
@@ -1466,7 +1415,7 @@ class EclSiteHeaderComponent extends ECLBaseDirective {
|
|
|
1466
1415
|
});
|
|
1467
1416
|
}
|
|
1468
1417
|
onMegaMenuItemExpandMobile() {
|
|
1469
|
-
this.isEclMegaMenuStart
|
|
1418
|
+
this.isEclMegaMenuStart.set(false);
|
|
1470
1419
|
const eclNotificationComponent = this.eclNotificationComponent();
|
|
1471
1420
|
if (eclNotificationComponent) {
|
|
1472
1421
|
eclNotificationComponent.onHide();
|
|
@@ -1479,7 +1428,7 @@ class EclSiteHeaderComponent extends ECLBaseDirective {
|
|
|
1479
1428
|
this.eclMegaMenuComponent().positionMenuOverlay(bottomSpaceY);
|
|
1480
1429
|
}
|
|
1481
1430
|
onMegaMenuItemCollapseMobile() {
|
|
1482
|
-
this.isEclMegaMenuStart
|
|
1431
|
+
this.isEclMegaMenuStart.set(true);
|
|
1483
1432
|
const eclNotificationComponent = this.eclNotificationComponent();
|
|
1484
1433
|
if (eclNotificationComponent) {
|
|
1485
1434
|
eclNotificationComponent.onShow();
|
|
@@ -1505,7 +1454,7 @@ class EclSiteHeaderComponent extends ECLBaseDirective {
|
|
|
1505
1454
|
}
|
|
1506
1455
|
handleLanguageChangeState() {
|
|
1507
1456
|
this.i18nService.getState().pipe(takeUntil(this.destroy$)).subscribe((lang) => {
|
|
1508
|
-
this.languageCode
|
|
1457
|
+
this.languageCode.set(lang.activeLang);
|
|
1509
1458
|
const eclLanguageComponent = this.eclLanguageComponent();
|
|
1510
1459
|
if (eclLanguageComponent) {
|
|
1511
1460
|
eclLanguageComponent.languageCode = lang.activeLang;
|
|
@@ -1513,19 +1462,14 @@ class EclSiteHeaderComponent extends ECLBaseDirective {
|
|
|
1513
1462
|
});
|
|
1514
1463
|
}
|
|
1515
1464
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclSiteHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1516
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: EclSiteHeaderComponent, isStandalone: true, selector: "ecl-site-header", inputs: { siteName: { classPropertyName: "siteName", publicName: "siteName", isSignal:
|
|
1465
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: EclSiteHeaderComponent, isStandalone: true, selector: "ecl-site-header", inputs: { siteName: { classPropertyName: "siteName", publicName: "siteName", isSignal: true, isRequired: false, transformFunction: null }, languageCode: { classPropertyName: "languageCode", publicName: "languageCode", isSignal: true, isRequired: false, transformFunction: null }, logoSize: { classPropertyName: "logoSize", publicName: "logoSize", isSignal: true, isRequired: false, transformFunction: null }, isSiteNameMobileOnly: { classPropertyName: "isSiteNameMobileOnly", publicName: "isSiteNameMobileOnly", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { languageCode: "languageCodeChange", logoClick: "logoClick", languageClick: "languageClick" }, host: { properties: { "class": "cssClasses" } }, queries: [{ propertyName: "eclLoginComponent", first: true, predicate: EclSiteHeaderLoginComponent, descendants: true, isSignal: true }, { propertyName: "eclMenuComponent", first: true, predicate: EclMenuComponent, descendants: true, isSignal: true }, { propertyName: "eclMegaMenuComponent", first: true, predicate: EclMegaMenuComponent, descendants: true, isSignal: true }, { propertyName: "eclSearchComponent", first: true, predicate: EclSiteHeaderSearchComponent, descendants: true, isSignal: true }, { propertyName: "eclLanguageComponent", first: true, predicate: EclSiteHeaderLanguageComponent, descendants: true, isSignal: true }, { propertyName: "eclNotificationComponent", first: true, predicate: EclSiteHeaderNotificationComponent, descendants: true, isSignal: true }, { propertyName: "eclHeaderLink", first: true, predicate: i0.forwardRef(() => EclSiteHeaderLinkDirective), descendants: true, isSignal: true }, { propertyName: "eclHeaderImage", first: true, predicate: i0.forwardRef(() => EclSiteHeaderImageDirective), descendants: true, isSignal: true }], viewQueries: [{ propertyName: "topContainerElement", first: true, predicate: ["topContainer"], descendants: true, isSignal: true }, { propertyName: "siteHeaderHeader", first: true, predicate: ["siteHeaderHeader"], descendants: true, isSignal: true }, { propertyName: "bannerHeader", first: true, predicate: ["bannerHeader"], descendants: true, isSignal: 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://commission.europa.eu/index_{{ languageCode() }}\" (click)=\"onECLogoClick($event)\"\n [attr.aria-label]=\"'ecl.footer.EUROPEAN-COMMISSION' | translate\"\n style=\"display: flex; align-items: center; position: relative;\">\n <ng-content select=\"[eclSiteHeaderEnvironment]\" media=\"(min-width: 1140px)\"></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/logo/ec/positive/logo-ec--{{ partOfLogoName }}.svg\"\n media=\"(min-width: 415px)\" />\n <img class=\"ecl-site-header__logo-image ecl-site-header__logo-image--{{logoSize()}}\"\n src=\"./assets/images/ecl/logo/ec/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/logo/eu/standard-version/positive/logo-eu--{{ partOfLogoName }}.svg\"\n media=\"(min-width: 415px)\" />\n <img class=\"ecl-site-header__logo-image ecl-site-header__logo-image--{{logoSize()}}\"\n src=\"./assets/images/ecl/logo/eu/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 [class.ecl-site-header__site-name--mobile-only]=\"isSiteNameMobileOnly()\">\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$1.EclLinkDirective, selector: "[eclLink]", inputs: ["extraAttributes", "isInverted", "isIconOnly", "isHighlight", "isNoVisited", "isBranded", "variant"] }, { kind: "directive", type: EclSiteHeaderPictureDirective, selector: "[eclSiteHeaderPicture]" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
1517
1466
|
}
|
|
1518
1467
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclSiteHeaderComponent, decorators: [{
|
|
1519
1468
|
type: Component,
|
|
1520
|
-
args: [{ selector: 'ecl-site-header', imports: [AsyncPipe, TranslatePipe, ...EUI_ECL_LINK, EclSiteHeaderPictureDirective],
|
|
1521
|
-
|
|
1522
|
-
|
|
1523
|
-
|
|
1524
|
-
type: Input
|
|
1525
|
-
}], logoSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "logoSize", required: false }] }], isSiteNameMobileOnly: [{ type: i0.Input, args: [{ isSignal: true, alias: "isSiteNameMobileOnly", required: false }] }], cssClasses: [{
|
|
1526
|
-
type: HostBinding,
|
|
1527
|
-
args: ['class']
|
|
1528
|
-
}], logoClick: [{ type: i0.Output, args: ["logoClick"] }], languageClick: [{ type: i0.Output, args: ["languageClick"] }], topContainerElement: [{ type: i0.ViewChild, args: ['topContainer', { isSignal: true }] }], siteHeaderHeader: [{ type: i0.ViewChild, args: ['siteHeaderHeader', { isSignal: true }] }], bannerHeader: [{ type: i0.ViewChild, args: ['bannerHeader', { isSignal: true }] }], eclLoginComponent: [{ type: i0.ContentChild, args: [i0.forwardRef(() => EclSiteHeaderLoginComponent), { isSignal: true }] }], eclMenuComponent: [{ type: i0.ContentChild, args: [i0.forwardRef(() => EclMenuComponent), { isSignal: true }] }], eclMegaMenuComponent: [{ type: i0.ContentChild, args: [i0.forwardRef(() => EclMegaMenuComponent), { isSignal: true }] }], eclSearchComponent: [{ type: i0.ContentChild, args: [i0.forwardRef(() => EclSiteHeaderSearchComponent), { isSignal: true }] }], eclLanguageComponent: [{ type: i0.ContentChild, args: [i0.forwardRef(() => EclSiteHeaderLanguageComponent), { isSignal: true }] }], eclNotificationComponent: [{ type: i0.ContentChild, args: [i0.forwardRef(() => EclSiteHeaderNotificationComponent), { isSignal: true }] }], eclHeaderLink: [{ type: i0.ContentChild, args: [forwardRef(() => EclSiteHeaderLinkDirective), { isSignal: true }] }], eclHeaderImage: [{ type: i0.ContentChild, args: [forwardRef(() => EclSiteHeaderImageDirective), { isSignal: true }] }] } });
|
|
1469
|
+
args: [{ selector: 'ecl-site-header', imports: [AsyncPipe, TranslatePipe, ...EUI_ECL_LINK, EclSiteHeaderPictureDirective], host: {
|
|
1470
|
+
'[class]': 'cssClasses',
|
|
1471
|
+
}, 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://commission.europa.eu/index_{{ languageCode() }}\" (click)=\"onECLogoClick($event)\"\n [attr.aria-label]=\"'ecl.footer.EUROPEAN-COMMISSION' | translate\"\n style=\"display: flex; align-items: center; position: relative;\">\n <ng-content select=\"[eclSiteHeaderEnvironment]\" media=\"(min-width: 1140px)\"></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/logo/ec/positive/logo-ec--{{ partOfLogoName }}.svg\"\n media=\"(min-width: 415px)\" />\n <img class=\"ecl-site-header__logo-image ecl-site-header__logo-image--{{logoSize()}}\"\n src=\"./assets/images/ecl/logo/ec/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/logo/eu/standard-version/positive/logo-eu--{{ partOfLogoName }}.svg\"\n media=\"(min-width: 415px)\" />\n <img class=\"ecl-site-header__logo-image ecl-site-header__logo-image--{{logoSize()}}\"\n src=\"./assets/images/ecl/logo/eu/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 [class.ecl-site-header__site-name--mobile-only]=\"isSiteNameMobileOnly()\">\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"] }]
|
|
1472
|
+
}], ctorParameters: () => [], propDecorators: { siteName: [{ type: i0.Input, args: [{ isSignal: true, alias: "siteName", required: false }] }], languageCode: [{ type: i0.Input, args: [{ isSignal: true, alias: "languageCode", required: false }] }, { type: i0.Output, args: ["languageCodeChange"] }], logoSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "logoSize", required: false }] }], isSiteNameMobileOnly: [{ type: i0.Input, args: [{ isSignal: true, alias: "isSiteNameMobileOnly", required: false }] }], logoClick: [{ type: i0.Output, args: ["logoClick"] }], languageClick: [{ type: i0.Output, args: ["languageClick"] }], topContainerElement: [{ type: i0.ViewChild, args: ['topContainer', { isSignal: true }] }], siteHeaderHeader: [{ type: i0.ViewChild, args: ['siteHeaderHeader', { isSignal: true }] }], bannerHeader: [{ type: i0.ViewChild, args: ['bannerHeader', { isSignal: true }] }], eclLoginComponent: [{ type: i0.ContentChild, args: [i0.forwardRef(() => EclSiteHeaderLoginComponent), { isSignal: true }] }], eclMenuComponent: [{ type: i0.ContentChild, args: [i0.forwardRef(() => EclMenuComponent), { isSignal: true }] }], eclMegaMenuComponent: [{ type: i0.ContentChild, args: [i0.forwardRef(() => EclMegaMenuComponent), { isSignal: true }] }], eclSearchComponent: [{ type: i0.ContentChild, args: [i0.forwardRef(() => EclSiteHeaderSearchComponent), { isSignal: true }] }], eclLanguageComponent: [{ type: i0.ContentChild, args: [i0.forwardRef(() => EclSiteHeaderLanguageComponent), { isSignal: true }] }], eclNotificationComponent: [{ type: i0.ContentChild, args: [i0.forwardRef(() => EclSiteHeaderNotificationComponent), { isSignal: true }] }], eclHeaderLink: [{ type: i0.ContentChild, args: [forwardRef(() => EclSiteHeaderLinkDirective), { isSignal: true }] }], eclHeaderImage: [{ type: i0.ContentChild, args: [forwardRef(() => EclSiteHeaderImageDirective), { isSignal: true }] }] } });
|
|
1529
1473
|
|
|
1530
1474
|
const EUI_ECL_SITE_HEADER = [
|
|
1531
1475
|
EclSiteHeaderComponent,
|