@eui/ecl 19.3.0-snapshot-1749210006896 → 19.3.0-snapshot-1749293621484
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/ecl-site-header/language/ecl-site-header-language.component.d.ts.map +1 -1
- package/docs/dependencies.html +2 -2
- package/docs/js/search/search_index.js +2 -2
- package/fesm2022/eui-ecl-components-ecl-site-header.mjs +3 -1
- package/fesm2022/eui-ecl-components-ecl-site-header.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -392,7 +392,9 @@ class EclSiteHeaderLanguageComponent extends ECLBaseDirective {
|
|
|
392
392
|
this.languageArrowPosition = undefined;
|
|
393
393
|
});
|
|
394
394
|
}
|
|
395
|
-
|
|
395
|
+
if (this.isLanguagesDropdownVisible) {
|
|
396
|
+
setTimeout(() => this.languagePopover.setLanguageContentMaxHeight());
|
|
397
|
+
}
|
|
396
398
|
this.languageClick.next(new EclSiteHeaderLanguageClickEvent());
|
|
397
399
|
evt.preventDefault();
|
|
398
400
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-ecl-components-ecl-site-header.mjs","sources":["../../components/ecl-site-header/action/ecl-site-header-action.component.ts","../../components/ecl-site-header/action/ecl-site-header-action.component.html","../../components/ecl-site-header/banner-top/ecl-site-header-banner-top.component.ts","../../components/ecl-site-header/banner-top/ecl-site-header-banner-top.component.html","../../components/ecl-site-header/cta/ecl-site-header-cta.directive.ts","../../components/ecl-site-header/ecl-site-header-environment/ecl-site-header-environment.component.ts","../../components/ecl-site-header/events/ecl-site-header-login.event.ts","../../components/ecl-site-header/events/ecl-site-header-language.event.ts","../../components/ecl-site-header/events/ecl-site-header-logo.event.ts","../../components/ecl-site-header/events/ecl-site-header-search.event.ts","../../components/ecl-site-header/language/ecl-site-header-language-popover.component.ts","../../components/ecl-site-header/language/ecl-site-header-language-popover.component.html","../../components/ecl-site-header/services/ecl-area-data.service.ts","../../components/ecl-site-header/language/ecl-site-header-language.component.ts","../../components/ecl-site-header/language/ecl-site-header-language.component.html","../../components/ecl-site-header/login/ecl-site-header-login.component.ts","../../components/ecl-site-header/login/ecl-site-header-login.component.html","../../components/ecl-site-header/login/ecl-site-header-login-details.directive.ts","../../components/ecl-site-header/notification/ecl-site-header-notification.component.ts","../../components/ecl-site-header/notification/ecl-site-header-notification.component.html","../../components/ecl-site-header/picture/ecl-site-header-picture.directive.ts","../../components/ecl-site-header/search/ecl-site-header-search.component.ts","../../components/ecl-site-header/search/ecl-site-header-search.component.html","../../components/ecl-site-header/events/ecl-area-change.event.ts","../../components/ecl-site-header/ecl-site-header.component.ts","../../components/ecl-site-header/ecl-site-header.component.html","../../components/ecl-site-header/custom-action/ecl-site-header-custom-action.directive.ts","../../components/ecl-site-header/custom-action/ecl-site-header-custom-action.component.ts","../../components/ecl-site-header/custom-action/ecl-site-header-custom-action.component.html","../../components/ecl-site-header/ecl-site-header.module.ts","../../components/ecl-site-header/eui-ecl-components-ecl-site-header.ts"],"sourcesContent":["import { Component, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Component({\n selector: 'ecl-site-header-action',\n templateUrl: './ecl-site-header-action.component.html',\n standalone: false,\n})\nexport class EclSiteHeaderActionComponent extends ECLBaseDirective {\n @HostBinding('class') class = 'ecl-site-header__action';\n}\n","<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","import { Component, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Component({\n selector: 'ecl-site-header-banner-top',\n templateUrl: 'ecl-site-header-banner-top.component.html',\n standalone: false,\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclSiteHeaderBannerTopComponent extends ECLBaseDirective {\n @HostBinding('class.ecl-site-header__banner-top') className = true;\n}\n","<div class=\"ecl-container\">\n <ng-content></ng-content>\n</div>","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Directive({\n selector: '[eclSiteHeaderCta]',\n standalone: false,\n})\nexport class EclSiteHeaderCtaDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-site-header__cta') className = true;\n}\n","import { BreakpointObserver } from '@angular/cdk/layout';\nimport { Component, ElementRef, HostBinding, OnDestroy, Renderer2, afterNextRender } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[eclSiteHeaderEnvironment]',\n standalone: false,\n template: '<ng-content></ng-content>',\n styles: [\n `\n :host {\n position: absolute;\n width: 100%;\n font-size: 1.3rem;\n padding: 0.3rem;\n opacity: 0.6;\n text-align: center;\n transform: rotate(-10deg);\n }\n @media print {\n :host {\n display: none;\n }\n }\n `,\n ],\n})\nexport class EclSiteHeaderEnvironmentComponent extends ECLBaseDirective implements OnDestroy {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses(''), 'ecl-u-type-xl ecl-u-bg-error ecl-u-type-color-white'].join(' ');\n }\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private isMobile = false;\n private parentEl: HTMLElement;\n\n constructor(\n private el: ElementRef,\n private cdkBreakpointObserver: BreakpointObserver,\n private renderer: Renderer2,\n ) {\n super();\n afterNextRender(() => {\n const el: HTMLElement = this.el.nativeElement;\n this.parentEl = this.renderer.parentNode(el);\n\n if (this.parentEl) {\n this.renderer.setStyle(this.parentEl, 'display', 'flex');\n this.renderer.setStyle(this.parentEl, 'alignItems', 'center');\n this.renderer.setStyle(this.parentEl, 'position', 'relative');\n }\n this.observeBreakpointChanges();\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n private observeBreakpointChanges(): void {\n this.cdkBreakpointObserver\n .observe(['(max-width: 480px)'])\n .pipe(takeUntil(this.destroy$))\n .subscribe((result) => {\n this.isMobile = result.matches;\n if (this.isMobile) {\n this.manageMobile();\n } else {\n this.manageDesktop();\n }\n });\n }\n\n private manageMobile(): void {\n if (this.parentEl) {\n this.renderer.setStyle(this.parentEl, 'display', 'block');\n this.renderer.setStyle(this.el.nativeElement, 'width', 'unset');\n }\n }\n\n private manageDesktop(): void {\n if (this.parentEl) {\n this.renderer.setStyle(this.parentEl, 'display', 'flex');\n this.renderer.setStyle(this.el.nativeElement, 'width', '100%');\n }\n }\n}\n","import { EclBaseEvent } from '@eui/ecl/core';\n\nexport class EclSiteHeaderLoginEvent extends EclBaseEvent {}\n\nexport class EclSiteHeaderLoginBoxToggleEvent extends EclBaseEvent {\n constructor(public isOpen: boolean) {\n super();\n }\n}","import { EclBaseEvent } from '@eui/ecl/core';\nimport { EuiLanguage } from '@eui/core';\n\nexport class EclSiteHeaderLanguageClickEvent extends EclBaseEvent {}\n\nexport class EclSiteHeaderLanguageSelectedEvent extends EclBaseEvent {\n constructor(public language: EuiLanguage) {\n super();\n }\n}\n\nexport class EclSiteHeaderLanguageCloseEvent extends EclBaseEvent {}","import { EclBaseEvent } from '@eui/ecl/core';\n\nexport class EclSiteHeaderLogoClickEvent extends EclBaseEvent {}","import { EclBaseEvent } from '@eui/ecl/core';\n\nexport class EclSiteHeaderSearchEvent extends EclBaseEvent {\n constructor(public keyword: string) {\n super();\n }\n}\n\nexport class EclSiteHeaderSearchToggleEvent extends EclBaseEvent {\n constructor(public isOpen: boolean) {\n super();\n }\n}","import { ScrollDispatcher } from '@angular/cdk/scrolling';\nimport { Component, ElementRef, EventEmitter, HostBinding, HostListener, Input, NgZone, OnDestroy, Output, ViewChild, afterNextRender } from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\n\nimport { EuiLanguage } from '@eui/base';\nimport { EclThemeService } from '@eui/ecl/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclSiteHeaderLanguageCloseEvent, EclSiteHeaderLanguageSelectedEvent } from '../events';\n\n@Component({\n selector: 'ecl-site-header-language-popover',\n templateUrl: './ecl-site-header-language-popover.component.html',\n standalone: false,\n})\nexport class EclSiteHeaderLanguagePopoverComponent extends ECLBaseDirective implements OnDestroy {\n @ViewChild('languageContent') languageContent: ElementRef;\n @Input() languageCode: string;\n @Input() euLanguages: Array<EuiLanguage> = [];\n @Input() nonEuLanguages: Array<EuiLanguage> = [];\n @Input() euColumnsCount: number;\n @Input() nonEuColumnsCount: number;\n @Input() isHidden = false;\n @Input() isPushRight = false;\n @Input() isPushLeft = false;\n @Input() isStack = false;\n @Input() isFull = false;\n @Input() @HostBinding('style.right.px') rightPosition: number;\n @Input() @HostBinding('style.left.px') leftPosition: number;\n @Input() @HostBinding('style.--ecl-language-arrow-position') languageArrowPosition: string;\n\n @Output() languageClosed = new EventEmitter<EclSiteHeaderLanguageCloseEvent>();\n @Output() languageSelected = new EventEmitter<EclSiteHeaderLanguageSelectedEvent>();\n\n @HostBinding('attr.role') role = 'dialog';\n @HostBinding('attr.aria-labelledby') labelledBy = 'ecl-site-header__language-title';\n @HostBinding('style.display')\n get display():string {\n return this.isHidden ? 'none' : 'block';\n }\n\n languageContentMaxHeight: number;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(public el: ElementRef, protected eclThemeService: EclThemeService,\n private scrollDispatcher: ScrollDispatcher, private zone: NgZone) {\n super();\n afterNextRender(() => {\n this.subscribeToCDKScrollEvent();\n });\n }\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-site-header__language-container'),\n this.isPushRight ? 'ecl-site-header__language-container--push-right' : '',\n this.isPushLeft ? 'ecl-site-header__language-container--push-left' : '',\n this.isFull ? 'ecl-site-header__language-container--full' : '',\n ]\n .join(' ')\n .trim();\n }\n\n @HostBinding('attr.aria-modal')\n get isModal(): boolean | undefined {\n return !this.isHidden || undefined;\n }\n\n @HostBinding('attr.hidden')\n get isDropdownHidden(): boolean | undefined {\n return this.isHidden || undefined;\n }\n\n @HostListener('window:resize', ['$event'])\n onWindowResize(): void {\n setTimeout(() => this.setLanguageContentMaxHeight());\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n onCloseClick(): void {\n this.languageClosed.next(new EclSiteHeaderLanguageCloseEvent());\n }\n\n onLanguageClick(language: EuiLanguage, evt: MouseEvent): void {\n this.languageCode = language.code;\n this.languageSelected.next(new EclSiteHeaderLanguageSelectedEvent(language));\n\n evt.preventDefault();\n }\n\n setLanguageContentMaxHeight(): void {\n const viewportHeight = window.innerHeight;\n if (this.languageContent) {\n const listTop = this.languageContent.nativeElement.getBoundingClientRect().top;\n const availableSpace = viewportHeight - listTop;\n if (availableSpace > 0) {\n this.languageContentMaxHeight = availableSpace;\n }\n }\n }\n\n private subscribeToCDKScrollEvent(): void {\n this.scrollDispatcher.scrolled().pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.zone.run(() => {\n this.setLanguageContentMaxHeight();\n });\n });\n }\n}\n","<div class=\"ecl-site-header__language-header\">\n <div class=\"ecl-site-header__language-title\">\n {{ 'ecl.language-list.SELECT-LANGUAGE' | translate }}\n </div>\n <button eclButton variant=\"tertiary\" isIconOnly class=\"ecl-site-header__language-close\" (click)=\"onCloseClick()\">\n <span class=\"ecl-button__container\">\n <span class=\"ecl-button__label\">\n {{ 'ecl.common.CLOSE' | translate }}\n </span>\n @if (eclThemeService.isECTheme()) {\n <ecl-icon icon=\"close\" size=\"m\"> </ecl-icon>\n } @else {\n <ecl-icon icon=\"close\" size=\"s\"> </ecl-icon>\n }\n </span>\n </button>\n</div>\n\n<div #languageContent class=\"ecl-site-header__language-content\" [style.max-height.px]=\"languageContentMaxHeight\"\n [class.ecl-site-header__language-content--stack]=\"isStack\">\n @if (euLanguages.length) {\n <div class=\"ecl-site-header__language-category ecl-site-header__language-category--{{ euColumnsCount }}-col\">\n <div class=\"ecl-site-header__language-category-title\">\n {{ 'ecl.language-list.EU-LANGUAGES' | translate }}\n </div>\n <ul class=\"ecl-site-header__language-list\">\n @for (item of euLanguages; track item.code) {\n <li class=\"ecl-site-header__language-item\">\n <a\n eclLink\n href=\"#\"\n variant=\"standalone\"\n [lang]=\"item.code\"\n [hreflang]=\"item.code\"\n class=\"ecl-site-header__language-link\"\n [class.ecl-site-header__language-link--active]=\"item.code === languageCode\"\n (click)=\"onLanguageClick(item, $event)\">\n <span class=\"ecl-site-header__language-link-code\">{{ item.code }}</span>\n <span class=\"ecl-site-header__language-link-label\">{{ item.label }}</span>\n </a>\n </li>\n }\n </ul>\n </div>\n }\n @if (nonEuLanguages.length) {\n <div class=\"ecl-site-header__language-category ecl-site-header__language-category--{{ nonEuColumnsCount }}-col\">\n <div class=\"ecl-site-header__language-category-title\">\n {{ 'ecl.language-list.NON-EU-LANGUAGES' | translate }}\n </div>\n <ul class=\"ecl-site-header__language-list\">\n @for (item of nonEuLanguages; track item.code) {\n <li class=\"ecl-site-header__language-item\">\n <a\n eclLink\n href=\"#\"\n [lang]=\"item.code\"\n [hreflang]=\"item.code\"\n variant=\"standalone\"\n class=\"ecl-site-header__language-link\"\n [class.ecl-site-header__language-link--active]=\"item.code === languageCode\"\n (click)=\"onLanguageClick(item, $event)\">\n <span class=\"ecl-site-header__language-link-code\">{{ item.code }}</span>\n <span class=\"ecl-site-header__language-link-label\">{{ item.label }}</span>\n </a>\n </li>\n }\n </ul>\n </div>\n }\n</div>\n","import { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { EclAreaChangeEvent } from '../events/ecl-area-change.event';\n\n@Injectable()\nexport class EclAreaDataService {\n\n\tpublic dataSubject$: Observable<EclAreaChangeEvent>;\n\tprivate dataSubject: Subject<EclAreaChangeEvent> = new Subject<EclAreaChangeEvent>();\n\n\tconstructor() {\n\t\tthis.dataSubject$ = this.dataSubject.asObservable();\n\t}\n\n\tpublishEvent(event: EclAreaChangeEvent): void {\n\t\tthis.dataSubject.next(event);\n\t}\n}","import {\n AfterViewInit,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Inject,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { EuiEuLanguages, GLOBAL_CONFIG_TOKEN, GlobalConfig, I18nService } from '@eui/core';\nimport { EuiLanguage } from '@eui/base';\nimport { ECLBaseDirective, ECLClickOutsideDirective, EclRtlService, EclThemeService } from '@eui/ecl/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { EclSiteHeaderLanguageClickEvent, EclSiteHeaderLanguageCloseEvent, EclSiteHeaderLanguageSelectedEvent } from '../events';\nimport { EclSiteHeaderLanguagePopoverComponent } from './ecl-site-header-language-popover.component';\nimport { EclAreaDataService } from '../services/ecl-area-data.service';\n\n@Component({\n selector: 'ecl-site-header-language',\n templateUrl: './ecl-site-header-language.component.html',\n standalone: false,\n hostDirectives: [\n {\n directive: ECLClickOutsideDirective,\n outputs: ['eclClickOutside'],\n },\n ],\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclSiteHeaderLanguageComponent extends ECLBaseDirective implements OnInit, AfterViewInit, OnDestroy {\n\n @ViewChild(EclSiteHeaderLanguagePopoverComponent) languagePopover: EclSiteHeaderLanguagePopoverComponent;\n @ViewChild('languageLink', { read: ElementRef }) languageLinkElement: ElementRef<HTMLAnchorElement>;\n\n @Output() languageClick = new EventEmitter<EclSiteHeaderLanguageClickEvent>();\n @Output() languageSelected = new EventEmitter<EclSiteHeaderLanguageSelectedEvent>();\n\n readonly MOBILE_BREAKPOINT = 768;\n readonly LANGUAGE_MAX_COLUMNS = 8;\n isLanguagesDropdownVisible = false;\n isPushRight: boolean;\n isPushLeft: boolean;\n isStack: boolean;\n isFull: boolean;\n languageArrowPosition: string;\n languageCode = 'en';\n rightPosition: number;\n leftPosition: number;\n euLanguages: Array<EuiLanguage> = [];\n nonEuLanguages: Array<EuiLanguage> = [];\n euColumnsCount = 1;\n nonEuColumnsCount = 1;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private _languages: Array<EuiLanguage> = [];\n private parentHeaderWidth: number;\n private isRtl = false;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-site-header__language')].join(' ').trim();\n }\n\n constructor(\n private eclAreaDataService: EclAreaDataService,\n private eclRtlService : EclRtlService,\n protected eclThemeService: EclThemeService,\n @Optional() @Inject(GLOBAL_CONFIG_TOKEN) protected config: GlobalConfig,\n protected i18nService: I18nService,\n ) {\n super();\n }\n\n ngOnInit(): void {\n this.handleRtlChangeState();\n }\n\n ngAfterViewInit(): void {\n this.eclAreaDataService.dataSubject$.pipe(takeUntil(this.destroy$)).subscribe(\n parentHeaderRect => {\n this.calculatePopoverPosition(parentHeaderRect.right, parentHeaderRect.left);\n });\n this.handleInitialConfiguredLanguages();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.complete();\n }\n\n getLanguageLabel(): string {\n return `${EuiEuLanguages.getLanguageByCode(this.languageCode)?.label} - ${this.languageCode.toUpperCase()}`;\n }\n\n onLanguageClick(evt: Event): void {\n this.isLanguagesDropdownVisible = !this.isLanguagesDropdownVisible;\n if( !this.isLanguagesDropdownVisible ) {\n setTimeout(() => {\n this.isFull = false;\n this.isStack = false;\n this.isPushRight = false;\n this.rightPosition = undefined;\n this.leftPosition = undefined;\n this.languageArrowPosition = undefined;\n });\n }\n\n setTimeout(() => this.languagePopover.setLanguageContentMaxHeight());\n\n this.languageClick.next(new EclSiteHeaderLanguageClickEvent());\n\n evt.preventDefault();\n }\n\n onLanguageClosed(evt: EclSiteHeaderLanguageCloseEvent): void {\n this.isLanguagesDropdownVisible = false;\n }\n\n onLanguageSelected(evt: EclSiteHeaderLanguageSelectedEvent): void {\n this.languageCode = evt.language.code;\n this.updateCurrentLanguage(evt.language.code);\n this.isLanguagesDropdownVisible = false;\n this.languageSelected.next(new EclSiteHeaderLanguageSelectedEvent(evt.language));\n }\n\n @HostListener('eclClickOutside')\n onClickOutside(): void {\n this.isLanguagesDropdownVisible = false;\n }\n\n @HostListener('document:keydown.escape')\n onEscapeKeydownHandler(): void {\n this.isLanguagesDropdownVisible = false;\n }\n\n public hasLanguageCodes(): boolean {\n return this._languages && this._languages.length > 0;\n }\n\n private handleRtlChangeState(): void {\n this.eclRtlService.currentRtlState$.pipe(takeUntil(this.destroy$)).subscribe((rtlState) => {\n this.isRtl = rtlState;\n });\n }\n\n private updateLanguages(): void {\n\n this.euLanguages = this._languages.filter((item) => EuiEuLanguages.isEuLanguage(item.code));\n\n this.nonEuLanguages = this._languages.filter((item) => !EuiEuLanguages.isEuLanguage(item.code));\n\n this.euColumnsCount = Math.ceil(this.euLanguages.length / this.LANGUAGE_MAX_COLUMNS);\n\n this.nonEuColumnsCount = Math.ceil(this.nonEuLanguages.length / this.LANGUAGE_MAX_COLUMNS);\n }\n\n private calculatePopoverPosition( parentHeaderRight: number, parentHeaderLeft: number): void {\n setTimeout(() => {\n if (this.hasLanguageCodes()) {\n const arrowSize = '0.5rem';\n const linkRect = this.languageLinkElement.nativeElement.getBoundingClientRect();\n const popoverRect = this.languagePopover?.el.nativeElement.getBoundingClientRect();\n const screenWidth = window.innerWidth;\n const vw = Math.max(document.documentElement.clientWidth || 0, window.innerWidth || 0);\n\n this.isFull = false;\n this.isStack = false;\n this.isPushRight = false;\n this.isPushLeft = false;\n this.rightPosition = undefined;\n this.leftPosition = undefined;\n this.languageArrowPosition = undefined;\n\n if (popoverRect?.width > this.parentHeaderWidth) {\n this.isStack = true;\n if (this.nonEuLanguages.length) {\n this.nonEuColumnsCount = Math.max(this.euColumnsCount, this.nonEuColumnsCount);\n }\n }\n if (this.isRtl && popoverRect?.left < 0) {\n const arrowPosition = linkRect.right - parentHeaderLeft - linkRect.width / 2;\n this.isPushLeft = true;\n this.leftPosition = -linkRect.left + parentHeaderLeft;\n this.languageArrowPosition = `${arrowPosition}px`;\n } else if (!this.isRtl && popoverRect?.right > screenWidth) {\n const arrowPosition = parentHeaderRight - linkRect.right + linkRect.width / 2;\n\n this.isPushRight = true;\n this.rightPosition = -parentHeaderRight + linkRect.right;\n this.languageArrowPosition = `calc(${arrowPosition}px - ${arrowSize})`;\n }\n\n if (vw < this.MOBILE_BREAKPOINT) {\n const arrowPosition = popoverRect?.right - linkRect.right + linkRect.width / 2;\n\n this.isFull = true;\n this.languageArrowPosition = `calc(${arrowPosition}px - ${arrowSize})`;\n }\n }\n });\n }\n\n private getConfiguredLanguages(): void {\n const languages: string[] = this.config?.i18n?.i18nService?.languages.map(lang => {\n return (typeof lang !== 'string') ? (lang as EuiLanguage).code : lang\n }) || [];\n this._languages = EuiEuLanguages.getAllLanguagesByCodes(languages);\n\n if (this.config?.i18n?.i18nService?.defaultLanguage) {\n this.languageCode = this.config?.i18n?.i18nService?.defaultLanguage;\n } else {\n if (this._languages && this._languages.length > 0) {\n this.languageCode = this._languages[0].code;\n }\n }\n }\n\n private updateCurrentLanguage(lang: string): void {\n this.i18nService.updateState({\n activeLang: lang,\n });\n }\n\n private handleInitialConfiguredLanguages(): void {\n setTimeout(() => {\n if (this._languages === undefined || this._languages.length === 0) {\n this.getConfiguredLanguages();\n }\n this.updateLanguages();\n });\n }\n}\n","<a\n href=\"#\"\n #languageLink\n class=\"ecl-button ecl-button--tertiary ecl-site-header__language-selector\"\n aria-controls=\"language-list-overlay\"\n role=\"button\"\n [attr.aria-label]=\"'ecl.language-list.SELECT-LANGUAGE-EXT' | translate: { currentLang: getLanguageLabel() }\"\n [attr.aria-expanded]=\"isLanguagesDropdownVisible\"\n (click)=\"onLanguageClick($event)\"\n (keydown.space)=\"onLanguageClick($event)\">\n <span class=\"ecl-site-header__language-icon\">\n <ecl-icon icon=\"global\" size=\"s\" class=\"ecl-site-header__icon\"></ecl-icon>\n </span>\n {{ languageCode | uppercase }}\n</a>\n@if(hasLanguageCodes() && isLanguagesDropdownVisible) {\n<ecl-site-header-language-popover\n #languagePopover\n cdkTrapFocus\n cdkTrapFocusAutoCapture\n id=\"language-list-overlay\"\n [languageCode]=\"languageCode\"\n [euLanguages]=\"euLanguages\"\n [nonEuLanguages]=\"nonEuLanguages\"\n [euColumnsCount]=\"euColumnsCount\"\n [nonEuColumnsCount]=\"nonEuColumnsCount\"\n [isStack]=\"isStack\"\n [isPushRight]=\"isPushRight\"\n [isPushLeft] = \"isPushLeft\"\n [isFull]=\"isFull\"\n [rightPosition]=\"rightPosition\"\n [leftPosition]=\"leftPosition\"\n [languageArrowPosition]=\"languageArrowPosition\"\n (languageSelected)=\"onLanguageSelected($event)\"\n (languageClosed)=\"onLanguageClosed($event)\">\n</ecl-site-header-language-popover>\n}","import { Component, ElementRef, EventEmitter, HostBinding, HostListener, Input, OnChanges,\n OnDestroy, Output, SimpleChanges, ViewChild, afterNextRender, booleanAttribute } from '@angular/core';\nimport { Subject, debounceTime, takeUntil } from 'rxjs';\nimport { ECLBaseDirective, ECLClickOutsideDirective } from '@eui/ecl/core';\nimport { EclRtlService } from '@eui/ecl/core';\nimport { EclSiteHeaderLoginBoxToggleEvent, EclSiteHeaderLoginEvent } from '../events';\nimport { EclAreaDataService } from '../services/ecl-area-data.service';\n\n@Component({\n selector: 'ecl-site-header-login',\n templateUrl: './ecl-site-header-login.component.html',\n standalone: false,\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n hostDirectives: [\n {\n directive: ECLBaseDirective,\n },\n {\n directive: ECLClickOutsideDirective,\n // eslint-disable-next-line @angular-eslint/no-outputs-metadata-property\n outputs: ['eclClickOutside'],\n },\n ],\n})\nexport class EclSiteHeaderLoginComponent extends ECLBaseDirective implements OnChanges, OnDestroy {\n @Input({ transform: booleanAttribute }) isLoggedIn = false;\n @HostBinding('class') class = 'ecl-site-header__login-container';\n\n @ViewChild('loginLink', { read: ElementRef }) loginLinkElement: ElementRef<HTMLAnchorElement>;\n\n @Output() login = new EventEmitter<EclSiteHeaderLoginEvent>();\n @Output() loginBoxToggle = new EventEmitter<EclSiteHeaderLoginBoxToggleEvent>();\n\n public isLoginBoxActive = false;\n public loginArrowPosition: string;\n readonly TABLET_BREAKPOINT = 996;\n private parentHeaderRight: number | undefined;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(\n private eclAreaDataService: EclAreaDataService,\n private eclRtlService : EclRtlService,\n ) {\n super();\n afterNextRender(() => {\n this.handleRtlChangeState();\n this.handleSiteHeaderAreaChangeEvent();\n });\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const isLoggedInChange = changes.isLoggedIn;\n if (isLoggedInChange && isLoggedInChange.previousValue === true) {\n this.isLoginBoxActive = false;\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n @HostListener('eclClickOutside')\n onClickOutsideMegaMenu(): void {\n this.onLoginBoxClose();\n }\n\n getLoginBoxCssClasses(): string {\n return ['ecl-site-header__login-box', this.isLoginBoxActive ? 'ecl-site-header__login-box--active' : ''].join(' ');\n }\n\n onLoginClick(evt: MouseEvent): void {\n const event = new EclSiteHeaderLoginEvent();\n this.login.next(event);\n evt.preventDefault();\n }\n\n onLoginBoxToggle(evt: MouseEvent): void {\n this.isLoginBoxActive = !this.isLoginBoxActive;\n const event = new EclSiteHeaderLoginBoxToggleEvent(this.isLoginBoxActive);\n this.loginBoxToggle.next(event);\n evt.preventDefault();\n }\n\n private onLoginBoxClose(): void {\n if (this.isLoginBoxActive) {\n this.isLoginBoxActive = false;\n const event = new EclSiteHeaderLoginBoxToggleEvent(this.isLoginBoxActive);\n this.loginBoxToggle.next(event);\n }\n }\n\n private handleRtlChangeState(): void {\n this.eclRtlService.currentRtlState$.pipe(debounceTime(50), takeUntil(this.destroy$)).subscribe(() => {\n this.calculateLoginArrowPosition(this.parentHeaderRight);\n });\n }\n\n private handleSiteHeaderAreaChangeEvent(): void {\n this.eclAreaDataService.dataSubject$.pipe(takeUntil(this.destroy$)).subscribe(\n parentHeaderRect => {\n this.parentHeaderRight = parentHeaderRect.right;\n this.calculateLoginArrowPosition(this.parentHeaderRight);\n });\n }\n\n private calculateLoginArrowPosition(parentHeaderRight: number | undefined): void {\n\n const vw = Math.max(document.documentElement.clientWidth || 0, window.innerWidth || 0);\n const arrowSize = '0.5rem';\n const loginLink = this.loginLinkElement?.nativeElement.getBoundingClientRect();\n const arrowPosition = parentHeaderRight - loginLink?.right + loginLink?.width /2;\n if (parentHeaderRight === undefined) {\n return;\n }\n if (this.isLoginBoxActive && vw < this.TABLET_BREAKPOINT) {\n this.loginArrowPosition = `calc(${arrowPosition}px + ${arrowSize})`;\n } else if (this.isLoginBoxActive ) {\n this.loginArrowPosition = null;\n }\n }\n}\n","@if (isLoggedIn) {\n <a\n #loginLink\n href=\"#\"\n class=\"ecl-button ecl-button--tertiary ecl-site-header__login-toggle\"\n aria-controls=\"login-box-id\"\n [attr.aria-expanded]=\"isLoginBoxActive\"\n (click)=\"onLoginBoxToggle($event)\">\n <ecl-icon icon=\"logged-in\" size=\"s\" class=\"ecl-site-header__icon\"></ecl-icon>\n {{ 'ecl.site-header.LOGGED-IN' | translate }}\n </a>\n <div\n id=\"login-box-id\"\n [style]=\"{'--ecl-login-arrow-position': loginArrowPosition}\"\n class=\"{{ getLoginBoxCssClasses() }}\">\n <ng-content></ng-content>\n </div>\n} @else {\n <a\n href=\"#\"\n class=\"ecl-button ecl-button--tertiary ecl-site-header__login-toggle\"\n [attr.aria-expanded]=\"isLoginBoxActive\"\n (click)=\"onLoginClick($event)\">\n <ecl-icon icon=\"log-in\" size=\"s\" class=\"ecl-site-header__icon\"></ecl-icon>\n {{ 'ecl.site-header.LOGIN' | translate }}\n </a>\n}\n","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Directive({\n selector: '[eclSiteHeaderLoginDescription]',\n standalone: false,\n})\nexport class EclSiteHeaderLoginDescriptionDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-site-header__login-description';\n}\n\n@Directive({\n selector: '[eclSiteHeaderLoginSeparator]',\n standalone: false,\n})\nexport class EclSiteHeaderLoginSeparatorDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-site-header__login-separator';\n}\n","import { Component, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Component({\n selector: 'ecl-site-header-notification',\n templateUrl: 'ecl-site-header-notification.component.html',\n standalone: false,\n})\nexport class EclSiteHeaderNotificationComponent extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-site-header__notification')].join(' ').trim();\n }\n @HostBinding('style.display') private display = '';\n\n onHide(): void {\n this.display = 'none';\n }\n\n onShow(): void {\n this.display = '';\n }\n}\n","<div class=\"ecl-container\">\n <ng-content></ng-content>\n</div>\n","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Directive({\n selector: '[eclSiteHeaderPicture]',\n standalone: false,\n})\nexport class EclSiteHeaderPictureDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-site-header__picture ecl-picture';\n}\n\n@Directive({\n selector: '[eclSiteHeaderImage]',\n standalone: false,\n})\nexport class EclSiteHeaderImageDirective extends ECLBaseDirective {\n logoSize: string;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-site-header__logo-image'),\n `ecl-site-header__logo-image--${this.logoSize}`,\n ].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclSiteHeaderLink]',\n standalone: false,\n})\nexport class EclSiteHeaderLinkDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-link ecl-link--standalone ecl-site-header__logo-link';\n}\n","import {\n afterNextRender, Component, ElementRef, EventEmitter, forwardRef, HostBinding, Input,\n OnDestroy, Output, Provider, ViewChild } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { debounceTime, Subject, takeUntil } from 'rxjs';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclRtlService } from '@eui/ecl/core';\nimport { EclSearchFormEvent } from '@eui/ecl/components/ecl-search-form';\nimport { EclSiteHeaderSearchEvent, EclSiteHeaderSearchToggleEvent } from '../events';\nimport { EclAreaDataService } from '../services/ecl-area-data.service';\n\nexport const ECL_SITE_HEADER_SEARCH_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EclSiteHeaderSearchComponent),\n multi: true,\n};\n\nconst noop = (): void => {\n /** empty*/\n};\n\n@Component({\n selector: 'ecl-site-header-search',\n templateUrl: './ecl-site-header-search.component.html',\n standalone: false,\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n providers: [ECL_SITE_HEADER_SEARCH_VALUE_ACCESSOR],\n})\nexport class EclSiteHeaderSearchComponent extends ECLBaseDirective implements ControlValueAccessor, OnDestroy {\n @HostBinding('class') class = 'ecl-site-header__search-container';\n @HostBinding('attr.role') role = 'search';\n\n @Input() searchInputText: string;\n @Input() searchInputPlaceholder: string;\n @Input() searchButtonLabel: string;\n\n @ViewChild('searchLink', { read: ElementRef }) searchLinkElement: ElementRef<HTMLAnchorElement>;\n\n // TODO: this output should be renamed in v20 - breaking change!\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() search = new EventEmitter<EclSiteHeaderSearchEvent>();\n @Output() searchToggle = new EventEmitter<EclSiteHeaderSearchToggleEvent>();\n\n public searchArrowPosition: string;\n public isSearchBoxActive = false;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private onChange: (_: any) => void = noop;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private onTouched: (_: any) => void = noop;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private parentHeaderRight: number | undefined;\n\n constructor(private eclAreaDataService: EclAreaDataService, private eclRtlService: EclRtlService,\n ) {\n super();\n afterNextRender(() => {\n this.handleRtlChangeState();\n this.handleSiteHeaderAreaChangeEvent();\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.complete();\n }\n\n onSearch(evt: EclSearchFormEvent): boolean {\n this.search.next(new EclSiteHeaderSearchEvent(evt.keyword));\n this.onChange(evt.keyword);\n return false;\n }\n\n onSearchBoxToggle(evt: MouseEvent): void {\n this.isSearchBoxActive = !this.isSearchBoxActive;\n const event = new EclSiteHeaderSearchToggleEvent(this.isSearchBoxActive);\n this.searchToggle.next(event);\n evt.preventDefault();\n }\n\n getSearchBoxCssClasses(): string {\n return ['ecl-site-header__search', this.isSearchBoxActive ? 'ecl-site-header__search--active' : ''].join(' ');\n }\n\n onModelChange(newValue: string): void {\n this.searchInputText = newValue;\n this.onChange(newValue);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n writeValue(value: any): void {\n this.searchInputText = value;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n private handleRtlChangeState(): void {\n this.eclRtlService.currentRtlState$.pipe(debounceTime(50), takeUntil(this.destroy$)).subscribe(() => {\n this.calculateSearchFormArrowPosition(this.parentHeaderRight);\n });\n }\n\n private handleSiteHeaderAreaChangeEvent(): void {\n this.eclAreaDataService.dataSubject$.pipe(takeUntil(this.destroy$)).subscribe(\n parentHeaderRect => {\n this.parentHeaderRight = parentHeaderRect.right;\n this.calculateSearchFormArrowPosition(this.parentHeaderRight);\n });\n }\n\n private calculateSearchFormArrowPosition(parentHeaderRight: number | undefined): void {\n const searchLink = this.searchLinkElement.nativeElement.getBoundingClientRect();\n const arrowPosition = parentHeaderRight - searchLink.right + searchLink.width /2;\n const arrowSize = '0.5rem';\n if (this.isSearchBoxActive || parentHeaderRight !== undefined) {\n this.searchArrowPosition = `calc(${arrowPosition}px + ${arrowSize})`;\n }\n }\n}\n","<a\n #searchLink\n href=\"#\"\n class=\"ecl-button ecl-button--tertiary ecl-site-header__search-toggle\"\n data-ecl-search-toggle=\"true\"\n aria-controls=\"search-form-id\"\n [attr.aria-expanded]=\"isSearchBoxActive\"\n (click)=\"onSearchBoxToggle($event)\">\n <ecl-icon icon=\"search\" size=\"s\" class=\"ecl-site-header__icon\"></ecl-icon>\n {{ 'ecl.common.SEARCH' | translate }}\n</a>\n\n<ecl-search-form\n [style]=\"{'--ecl-search-arrow-position': searchArrowPosition}\"\n (search)=\"onSearch($event)\"\n [placeholder]=\"searchInputPlaceholder\"\n (ngModelChange)=\"onModelChange($event)\"\n [(ngModel)]=\"searchInputText\"\n [searchButtonLabel]=\"searchButtonLabel\"\n [class]=\"getSearchBoxCssClasses()\">\n</ecl-search-form>\n","\nexport class EclAreaChangeEvent {\nprivate readonly _width: number;\nprivate readonly _left: number;\nprivate readonly _right: number;\n\n\tconstructor(width: number, left: number, right: number) {\n\t\tthis._width = width;\n\t\tthis._left = left;\n\t\tthis._right = right;\n\t}\n\n\tget width(): number {\n\t\treturn this._width;\n\t}\n\n\tget left(): number {\n\t\treturn this._left;\n\t}\n\n\tget right(): number {\n\t\treturn this._right;\n\t}\n}","import { BreakpointObserver } from '@angular/cdk/layout';\nimport {\n AfterContentInit, Component, ContentChild, ElementRef, EventEmitter, HostBinding, Input, OnDestroy, Output, ViewChild,\n afterNextRender, forwardRef,\n} from '@angular/core';\nimport { I18nService, EuiEuLanguages } from '@eui/core';\nimport { EclMegaMenuComponent } from '@eui/ecl/components/ecl-mega-menu';\nimport { EclMenuComponent } from '@eui/ecl/components/ecl-menu';\nimport { ECLBaseDirective, EclRtlService, EclThemeService } from '@eui/ecl/core';\nimport { EclHeaderMenuComunicationService } from '@eui/ecl/shared';\nimport { Subject, takeUntil } from 'rxjs';\nimport { EclSiteHeaderLanguageClickEvent, EclSiteHeaderLogoClickEvent } from './events';\nimport { EclSiteHeaderLanguageComponent } from './language';\nimport { EclSiteHeaderLoginComponent } from './login';\nimport { EclSiteHeaderNotificationComponent } from './notification';\nimport { EclSiteHeaderImageDirective, EclSiteHeaderLinkDirective } from './picture';\nimport { EclSiteHeaderSearchComponent } from './search';\nimport { EclAreaChangeEvent } from './events/ecl-area-change.event';\nimport { EclAreaDataService } from './services/ecl-area-data.service';\n\n@Component({\n selector: 'ecl-site-header',\n templateUrl: './ecl-site-header.component.html',\n standalone: false,\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclSiteHeaderComponent extends ECLBaseDirective implements AfterContentInit, OnDestroy {\n @Input() siteName: string;\n @Input() languageCode = 'en';\n @Input() logoUrl: string;\n @Input() logoSize: 's' | 'm' | 'l' = 'm';\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-site-header'),\n `ecl-site-header-with-logo-${this.logoSize}`,\n this.eclMenuComponent ? 'ecl-site-header--has-menu' : '',\n this.eclMegaMenuComponent ? 'ecl-site-header--has-mega-menu' : '',\n this.isEclMegaMenuOpen ? 'ecl-site-header--open-menu' : '',\n this.isEclMegaMenuStart ? 'ecl-site-header--open-menu-start' : '',\n this.isRtl ? 'ecl-site-header--rtl' : '',\n ].join(' ').trim();\n }\n\n @Output() logoClick = new EventEmitter<EclSiteHeaderLogoClickEvent>();\n @Output() languageClick = new EventEmitter<EclSiteHeaderLanguageClickEvent>();\n\n @ViewChild('topContainer') topContainerElement: ElementRef;\n @ViewChild('siteHeaderHeader') siteHeaderHeader: ElementRef;\n @ViewChild('bannerHeader') bannerHeader: ElementRef;\n @ContentChild(EclSiteHeaderLoginComponent) eclLoginComponent: EclSiteHeaderLoginComponent;\n @ContentChild(EclMenuComponent) eclMenuComponent: EclMenuComponent;\n @ContentChild(EclMegaMenuComponent) eclMegaMenuComponent: EclMegaMenuComponent;\n @ContentChild(EclSiteHeaderSearchComponent) eclSearchComponent: EclSiteHeaderSearchComponent;\n @ContentChild(EclSiteHeaderLanguageComponent) eclLanguageComponent: EclSiteHeaderLanguageComponent;\n @ContentChild(EclSiteHeaderNotificationComponent) eclNotificationComponent: EclSiteHeaderNotificationComponent;\n @ContentChild(forwardRef(() => EclSiteHeaderLinkDirective), { descendants: true }) eclHeaderLink: EclSiteHeaderLinkDirective;\n @ContentChild(forwardRef(() => EclSiteHeaderImageDirective), { descendants: true }) eclHeaderImage: EclSiteHeaderImageDirective;\n\n private isEclMegaMenuOpen = false;\n private isEclMegaMenuStart = false;\n private isMobileBreakpoint = false;\n private isRtl = false;\n private readonly TIMEOUT_INTERVAL = 100;\n private readonly DEFAULT_LOGO_COUNTRY_CODE = 'en';\n private readonly AVAILABLE_NON_EU_LOGO_COUNTRY_CODES = ['ar', 'ca', 'is', 'jp', 'lb', 'no', 'ru', 'sw', 'tr', 'uk', 'zh'];\n protected destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(\n private eclHeaderMenuComunicationService: EclHeaderMenuComunicationService,\n private eclAreaDataService: EclAreaDataService, private cdkBreakpointObserver: BreakpointObserver,\n private el: ElementRef, public eclThemeService: EclThemeService,\n private eclRtlService: EclRtlService, protected i18nService: I18nService,\n ) {\n super();\n\n afterNextRender(() => {\n this.observeBreakpointChanges();\n this.subscribeToMegaMenuEvents();\n new ResizeObserver(() => {\n setTimeout(() => {\n this.sendResizeEventToChildComponents();\n }, this.TIMEOUT_INTERVAL)\n }).observe(this.topContainerElement.nativeElement)\n });\n }\n\n ngAfterContentInit(): void {\n this.handleRtlChangeState();\n this.handleLanguageChangeState();\n if (this.eclHeaderImage) {\n this.eclHeaderImage.logoSize = this.logoSize;\n }\n\n if (this.eclLoginComponent && this.eclSearchComponent) {\n this.eclLoginComponent.loginBoxToggle.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.eclSearchComponent.isSearchBoxActive = false;\n\t this.sendResizeEventToChildComponents();\n });\n\n this.eclSearchComponent.searchToggle.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.eclLoginComponent.isLoginBoxActive = false;\n\t this.sendResizeEventToChildComponents();\n });\n }\n\n if (this.eclLanguageComponent) {\n this.eclLanguageComponent.languageClick.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.languageClick.next(new EclSiteHeaderLanguageClickEvent());\n\t this.sendResizeEventToChildComponents();\n });\n\n this.eclLanguageComponent.languageSelected.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.languageCode = evt.language?.code;\n });\n }\n\n if (this.eclLanguageComponent) {\n this.languageCode = this.eclLanguageComponent?.languageCode;\n }\n\n if (this.eclMenuComponent) {\n this.eclMenuComponent.openHamburgerMenu.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.positionMenu();\n });\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n get partOfLogoName(): string {\n if (this.AVAILABLE_NON_EU_LOGO_COUNTRY_CODES.includes(this.languageCode ) || EuiEuLanguages.isEuLanguage(this.languageCode)) {\n return this.languageCode;\n } else {\n return this.DEFAULT_LOGO_COUNTRY_CODE;\n }\n }\n\n onECLogoClick(evt: MouseEvent): void {\n const event = new EclSiteHeaderLogoClickEvent();\n this.logoClick.next(event);\n if (event.defaultPrevented) {\n evt.preventDefault();\n }\n }\n\n hasCustomLink(): boolean {\n return !!this.eclHeaderLink;\n }\n\n private handleRtlChangeState(): void {\n this.eclRtlService.currentRtlState$.pipe(takeUntil(this.destroy$)).subscribe((rtlState) => {\n this.isRtl = rtlState;\n });\n }\n\n private sendResizeEventToChildComponents(): void {\n if (this.topContainerElement.nativeElement.getBoundingClientRect().width !== undefined) {\n const topContainerRect = this.topContainerElement.nativeElement.getBoundingClientRect();\n const siteHeaderAreaChangeEvent = new EclAreaChangeEvent(\n topContainerRect.width,\n topContainerRect.left,\n topContainerRect.right);\n\n this.eclAreaDataService.publishEvent(siteHeaderAreaChangeEvent);\n }\n }\n\n private subscribeToMegaMenuEvents(): void {\n this.eclHeaderMenuComunicationService.isMobileObjectOpen$.pipe(takeUntil(this.destroy$)).subscribe(isExpanded => {\n if (this.isMobileBreakpoint) {\n this.isEclMegaMenuStart = isExpanded;\n this.isEclMegaMenuOpen = isExpanded;\n }\n if (isExpanded) {\n const bottomSpaceY = this.el.nativeElement.getBoundingClientRect().bottom;\n this.eclMegaMenuComponent.positionMenuOverlay(bottomSpaceY);\n }\n });\n\n this.eclHeaderMenuComunicationService.isObjectExpanded$.pipe(takeUntil(this.destroy$)).subscribe(isExpanded => {\n if (this.isMobileBreakpoint) {\n if (isExpanded) {\n this.onMegaMenuItemExpandMobile();\n } else {\n this.onMegaMenuItemCollapseMobile();\n }\n } else {\n this.isEclMegaMenuOpen = isExpanded;\n if (isExpanded) {\n const bottomSpaceY = this.el.nativeElement.getBoundingClientRect().bottom;\n this.eclMegaMenuComponent.positionMenuOverlay(bottomSpaceY);\n }\n }\n });\n }\n\n private onMegaMenuItemExpandMobile(): void {\n this.isEclMegaMenuStart = false;\n if (this.eclNotificationComponent) {\n this.eclNotificationComponent.onHide();\n }\n if (this.bannerHeader) {\n this.bannerHeader.nativeElement.style.display = 'none';\n }\n const bottomSpaceY = this.siteHeaderHeader.nativeElement.getBoundingClientRect().bottom;\n this.eclMegaMenuComponent.positionMenuOverlay(bottomSpaceY);\n }\n\n private onMegaMenuItemCollapseMobile(): void {\n this.isEclMegaMenuStart = true;\n if (this.eclNotificationComponent) {\n this.eclNotificationComponent.onShow();\n }\n if (this.bannerHeader) {\n this.bannerHeader.nativeElement.style.display = '';\n }\n const bottomSpaceY = this.el.nativeElement.getBoundingClientRect().bottom;\n this.eclMegaMenuComponent.positionMenuOverlay(bottomSpaceY);\n }\n\n private observeBreakpointChanges(): void {\n this.cdkBreakpointObserver\n .observe(['(max-width: 996px)'])\n .pipe(takeUntil(this.destroy$))\n .subscribe((result) => {\n this.isMobileBreakpoint = result.matches;\n });\n }\n\n private positionMenu(): void {\n const bottomSpaceY = this.siteHeaderHeader.nativeElement.getBoundingClientRect().bottom;\n this.eclMenuComponent.positionMenuOverlay(bottomSpaceY);\n }\n\n private handleLanguageChangeState(): void {\n this.i18nService.getState().pipe(takeUntil(this.destroy$)).subscribe((lang) => {\n this.languageCode = lang.activeLang;\n if (this.eclLanguageComponent) {\n this.eclLanguageComponent.languageCode = lang.activeLang;\n }\n });\n }\n}\n","<div class=\"ecl-site-header__background\">\n <div class=\"ecl-site-header__header\" #siteHeaderHeader>\n <div class=\"ecl-site-header__container ecl-container\">\n <div #topContainer class=\"ecl-site-header__top\">\n @if(hasCustomLink()) {\n <ng-content select=\"[eclSiteHeaderLink]\"></ng-content>\n } @else {\n <a eclLink variant=\"standalone\" class=\"ecl-site-header__logo-link\"\n href=\"https://ec.europa.eu/info/index_{{ languageCode }}\" (click)=\"onECLogoClick($event)\"\n [attr.aria-label]=\"'ecl.footer.EUROPEAN-COMMISSION' | translate\">\n <ng-content select=\"[eclSiteHeaderEnvironment]\"></ng-content>\n\n @if (eclThemeService.isEC$ | async) {\n <picture eclSiteHeaderPicture\n [attr.title]=\"'ecl.footer.EUROPEAN-COMMISSION' | translate\">\n <source\n srcset=\"./assets/images/ecl/ec/logo/positive/logo-ec--{{ partOfLogoName }}.svg\"\n media=\"(min-width: 996px)\" />\n <img class=\"ecl-site-header__logo-image ecl-site-header__logo-image--{{logoSize}}\"\n src=\"./assets/images/ecl/ec/logo/logo-ec--mute.svg\"\n [attr.alt]=\"'ecl.footer.EUROPEAN-COMMISSION' | translate\" />\n </picture>\n }\n @if (eclThemeService.isEU$ | async) {\n <picture eclSiteHeaderPicture\n [attr.title]=\"'ecl.footer.EUROPEAN-UNION' | translate\">\n <source\n srcset=\"./assets/images/ecl/eu/logo/standard-version/positive/logo-eu--{{ partOfLogoName }}.svg\"\n media=\"(min-width: 996px)\" />\n <img class=\"ecl-site-header__logo-image ecl-site-header__logo-image--{{logoSize}}\"\n src=\"./assets/images/ecl/eu/logo/condensed-version/positive/logo-eu--{{ partOfLogoName }}.svg\"\n alt=\"European Union\" />\n </picture>\n }\n </a>\n }\n <ng-content select=\"ecl-site-header-action\"></ng-content>\n </div>\n </div>\n </div>\n <ng-content select=\"ecl-site-header-notification\"></ng-content>\n</div>\n\n\n<ng-content select=\"ecl-site-header-banner-top\"></ng-content>\n@if (siteName) {\n <div class=\"ecl-site-header__banner\" #bannerHeader>\n <div class=\"ecl-container\">\n <div class=\"ecl-site-header__site-name\">{{ siteName }}</div>\n <ng-content select=\"[eclSiteHeaderCta]\"></ng-content>\n </div>\n </div>\n}\n\n<ng-content select=\"ecl-menu\"></ng-content>\n<ng-content select=\"[eclMegaMenu]\"></ng-content>\n","import { Directive, HostBinding, Input, ContentChild, forwardRef, AfterContentInit, HostListener, Output, EventEmitter } from '@angular/core';\nimport { EclIconComponent } from '@eui/ecl/components/ecl-icon';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Directive({\n selector: 'a[eclSiteHeaderCustomActionLink]',\n standalone: false,\n})\nexport class EclSiteHeaderCustomActionLinkDirective extends ECLBaseDirective implements AfterContentInit {\n @HostBinding('class') className = 'ecl-site-header__custom-action-toggle ecl-button ecl-button--tertiary';\n @HostBinding('attr.aria-expanded') isOverlayExpanded : boolean;\n @HostBinding('attr.aria-controls') ariaControls : string;\n @Input() @HostBinding('attr.href') href : string;\n @Input() @HostBinding('attr.routerLink') routerLink : string;\n @Output() customActionOverlayToggle = new EventEmitter<boolean>();\n @ContentChild(forwardRef(() => EclIconComponent), { descendants: true }) eclIconComponent: EclIconComponent;\n private readonly ARIA_CONTROLS = 'custom-action-overlay';\n\n ngAfterContentInit(): void {\n setTimeout(() => {\n if (this.eclIconComponent) {\n this.eclIconComponent.baseDirective.class = this.eclIconComponent.baseDirective.class + ' ecl-site-header__icon';\n }\n if (!this.hasLink()) {\n this.href = '#';\n this.isOverlayExpanded = false;\n this.ariaControls = this.ARIA_CONTROLS;\n }\n });\n }\n\n @HostListener('click', ['$event']) onClick(evt: Event): void {\n if (!this.hasLink()) {\n this.isOverlayExpanded = !this.isOverlayExpanded;\n evt.preventDefault();\n this.customActionOverlayToggle.emit(this.isOverlayExpanded);\n }\n }\n\n hasLink(): boolean {\n return (!!this.href && this.href !== '#') || !!this.routerLink;\n }\n}\n@Directive({\n selector: 'div[eclSiteHeaderCustomActionContent]',\n standalone: false,\n})\nexport class EclSiteHeaderCustomActionContentDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-site-header__custom-action-content') className = true;\n}\n\n@Directive({\n selector: 'div[eclSiteHeaderCustomActionTitle]',\n standalone: false,\n})\nexport class EclSiteHeaderCustomActionTitleDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-site-header__custom-action-title') className = true;\n @HostBinding('attr.id')\n @Input() id = 'custom-action-overlay-title';\n\n}","import { Component, HostBinding, HostListener, ContentChild, AfterContentInit, Renderer2, Inject, OnDestroy } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { ECLBaseDirective, ECLClickOutsideDirective } from '@eui/ecl/core';\nimport { EclSiteHeaderCustomActionLinkDirective, EclSiteHeaderCustomActionTitleDirective } from './ecl-site-header-custom-action.directive';\nimport { takeUntil, Subject } from 'rxjs';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'div[eclSiteHeaderCustomAction]',\n templateUrl: './ecl-site-header-custom-action.component.html',\n standalone: false,\n hostDirectives: [\n {\n directive: ECLClickOutsideDirective,\n outputs: ['eclClickOutside'],\n },\n ],\n})\nexport class EclSiteHeaderCustomActionComponent extends ECLBaseDirective implements AfterContentInit, OnDestroy {\n @HostBinding('class') class = 'ecl-site-header__custom-action';\n @ContentChild(EclSiteHeaderCustomActionTitleDirective) title: EclSiteHeaderCustomActionTitleDirective;\n @ContentChild(EclSiteHeaderCustomActionLinkDirective) eclSiteHeaderCustomActionLink: EclSiteHeaderCustomActionLinkDirective;\n isOverlayExpanded = false;\n titleId: string;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n \n constructor(@Inject(DOCUMENT) private document, private renderer: Renderer2) {\n super();\n }\n\n ngAfterContentInit(): void {\n if (this.title) {\n this.titleId = this.title.id;\n }\n\n if (this.eclSiteHeaderCustomActionLink) {\n this.eclSiteHeaderCustomActionLink.customActionOverlayToggle.pipe(takeUntil(this.destroy$)).subscribe((isExpanded) => {\n this.isOverlayExpanded = isExpanded;\n })\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n onCustomActionOverlayClose(): void {\n this.isOverlayExpanded = false;\n if (!this.eclSiteHeaderCustomActionLink.hasLink()) this.eclSiteHeaderCustomActionLink.isOverlayExpanded = false;\n }\n\n @HostListener('eclClickOutside')\n onClickOutsideHandler(): void {\n this.onCustomActionOverlayClose();\n }\n\n @HostListener('document:keydown.escape')\n onEscapeKeydownHandler(): void {\n this.onCustomActionOverlayClose();\n }\n}\n","<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","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclButtonModule } from '@eui/ecl/components/ecl-button';\nimport { EclFormGroupModule } from '@eui/ecl/components/ecl-form-group';\nimport { EclIconModule } from '@eui/ecl/components/ecl-icon';\nimport { EclLinkModule } from '@eui/ecl/components/ecl-link';\nimport { EclSearchFormModule } from '@eui/ecl/components/ecl-search-form';\nimport { EclSiteHeaderActionComponent } from './action';\nimport { EclSiteHeaderBannerTopComponent } from './banner-top';\nimport { EclSiteHeaderCtaDirective } from './cta';\nimport { EclSiteHeaderEnvironmentComponent } from './ecl-site-header-environment';\nimport { EclSiteHeaderComponent } from './ecl-site-header.component';\nimport { EclSiteHeaderLanguagePopoverComponent } from './language';\nimport { EclSiteHeaderLanguageComponent } from './language';\nimport {\n EclSiteHeaderLoginDescriptionDirective,\n EclSiteHeaderLoginSeparatorDirective,\n} from './login';\nimport { EclSiteHeaderLoginComponent } from './login';\nimport { EclSiteHeaderNotificationComponent } from './notification';\nimport { EclSiteHeaderSearchComponent } from './search';\nimport { EclSiteHeaderImageDirective, EclSiteHeaderLinkDirective, EclSiteHeaderPictureDirective } from './picture';\nimport { EclAreaDataService } from './services/ecl-area-data.service';\nimport { EclSiteHeaderCustomActionComponent } from './custom-action';\nimport { EclSiteHeaderCustomActionContentDirective, EclSiteHeaderCustomActionLinkDirective, EclSiteHeaderCustomActionTitleDirective } from './custom-action/ecl-site-header-custom-action.directive';\n\nconst COMPONENTS = [\n EclSiteHeaderComponent,\n EclSiteHeaderActionComponent,\n EclSiteHeaderCustomActionComponent,\n EclSiteHeaderCustomActionContentDirective,\n EclSiteHeaderCustomActionLinkDirective,\n EclSiteHeaderCustomActionTitleDirective,\n EclSiteHeaderLoginComponent,\n EclSiteHeaderLoginDescriptionDirective,\n EclSiteHeaderLoginSeparatorDirective,\n EclSiteHeaderLanguageComponent,\n EclSiteHeaderLanguagePopoverComponent,\n EclSiteHeaderSearchComponent,\n EclSiteHeaderBannerTopComponent,\n EclSiteHeaderEnvironmentComponent,\n EclSiteHeaderNotificationComponent,\n EclSiteHeaderCtaDirective,\n EclSiteHeaderImageDirective,\n EclSiteHeaderPictureDirective,\n EclSiteHeaderLinkDirective,\n];\n@NgModule({\n imports: [\n CommonModule,\n A11yModule,\n TranslateModule,\n FormsModule,\n ReactiveFormsModule,\n EclLinkModule,\n EclButtonModule,\n EclIconModule,\n EclFormGroupModule,\n EclSearchFormModule,\n ],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n providers: [EclAreaDataService],\n})\nexport class EclSiteHeaderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["takeUntil","i1","i2","i4","i3","i6.EclSiteHeaderLanguagePopoverComponent","i8","i1.EclAreaDataService","i5","i2.EclAreaDataService","i6","i7.EclSiteHeaderPictureDirective","i9"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"eui-ecl-components-ecl-site-header.mjs","sources":["../../components/ecl-site-header/action/ecl-site-header-action.component.ts","../../components/ecl-site-header/action/ecl-site-header-action.component.html","../../components/ecl-site-header/banner-top/ecl-site-header-banner-top.component.ts","../../components/ecl-site-header/banner-top/ecl-site-header-banner-top.component.html","../../components/ecl-site-header/cta/ecl-site-header-cta.directive.ts","../../components/ecl-site-header/ecl-site-header-environment/ecl-site-header-environment.component.ts","../../components/ecl-site-header/events/ecl-site-header-login.event.ts","../../components/ecl-site-header/events/ecl-site-header-language.event.ts","../../components/ecl-site-header/events/ecl-site-header-logo.event.ts","../../components/ecl-site-header/events/ecl-site-header-search.event.ts","../../components/ecl-site-header/language/ecl-site-header-language-popover.component.ts","../../components/ecl-site-header/language/ecl-site-header-language-popover.component.html","../../components/ecl-site-header/services/ecl-area-data.service.ts","../../components/ecl-site-header/language/ecl-site-header-language.component.ts","../../components/ecl-site-header/language/ecl-site-header-language.component.html","../../components/ecl-site-header/login/ecl-site-header-login.component.ts","../../components/ecl-site-header/login/ecl-site-header-login.component.html","../../components/ecl-site-header/login/ecl-site-header-login-details.directive.ts","../../components/ecl-site-header/notification/ecl-site-header-notification.component.ts","../../components/ecl-site-header/notification/ecl-site-header-notification.component.html","../../components/ecl-site-header/picture/ecl-site-header-picture.directive.ts","../../components/ecl-site-header/search/ecl-site-header-search.component.ts","../../components/ecl-site-header/search/ecl-site-header-search.component.html","../../components/ecl-site-header/events/ecl-area-change.event.ts","../../components/ecl-site-header/ecl-site-header.component.ts","../../components/ecl-site-header/ecl-site-header.component.html","../../components/ecl-site-header/custom-action/ecl-site-header-custom-action.directive.ts","../../components/ecl-site-header/custom-action/ecl-site-header-custom-action.component.ts","../../components/ecl-site-header/custom-action/ecl-site-header-custom-action.component.html","../../components/ecl-site-header/ecl-site-header.module.ts","../../components/ecl-site-header/eui-ecl-components-ecl-site-header.ts"],"sourcesContent":["import { Component, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Component({\n selector: 'ecl-site-header-action',\n templateUrl: './ecl-site-header-action.component.html',\n standalone: false,\n})\nexport class EclSiteHeaderActionComponent extends ECLBaseDirective {\n @HostBinding('class') class = 'ecl-site-header__action';\n}\n","<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","import { Component, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Component({\n selector: 'ecl-site-header-banner-top',\n templateUrl: 'ecl-site-header-banner-top.component.html',\n standalone: false,\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclSiteHeaderBannerTopComponent extends ECLBaseDirective {\n @HostBinding('class.ecl-site-header__banner-top') className = true;\n}\n","<div class=\"ecl-container\">\n <ng-content></ng-content>\n</div>","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Directive({\n selector: '[eclSiteHeaderCta]',\n standalone: false,\n})\nexport class EclSiteHeaderCtaDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-site-header__cta') className = true;\n}\n","import { BreakpointObserver } from '@angular/cdk/layout';\nimport { Component, ElementRef, HostBinding, OnDestroy, Renderer2, afterNextRender } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[eclSiteHeaderEnvironment]',\n standalone: false,\n template: '<ng-content></ng-content>',\n styles: [\n `\n :host {\n position: absolute;\n width: 100%;\n font-size: 1.3rem;\n padding: 0.3rem;\n opacity: 0.6;\n text-align: center;\n transform: rotate(-10deg);\n }\n @media print {\n :host {\n display: none;\n }\n }\n `,\n ],\n})\nexport class EclSiteHeaderEnvironmentComponent extends ECLBaseDirective implements OnDestroy {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses(''), 'ecl-u-type-xl ecl-u-bg-error ecl-u-type-color-white'].join(' ');\n }\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private isMobile = false;\n private parentEl: HTMLElement;\n\n constructor(\n private el: ElementRef,\n private cdkBreakpointObserver: BreakpointObserver,\n private renderer: Renderer2,\n ) {\n super();\n afterNextRender(() => {\n const el: HTMLElement = this.el.nativeElement;\n this.parentEl = this.renderer.parentNode(el);\n\n if (this.parentEl) {\n this.renderer.setStyle(this.parentEl, 'display', 'flex');\n this.renderer.setStyle(this.parentEl, 'alignItems', 'center');\n this.renderer.setStyle(this.parentEl, 'position', 'relative');\n }\n this.observeBreakpointChanges();\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n private observeBreakpointChanges(): void {\n this.cdkBreakpointObserver\n .observe(['(max-width: 480px)'])\n .pipe(takeUntil(this.destroy$))\n .subscribe((result) => {\n this.isMobile = result.matches;\n if (this.isMobile) {\n this.manageMobile();\n } else {\n this.manageDesktop();\n }\n });\n }\n\n private manageMobile(): void {\n if (this.parentEl) {\n this.renderer.setStyle(this.parentEl, 'display', 'block');\n this.renderer.setStyle(this.el.nativeElement, 'width', 'unset');\n }\n }\n\n private manageDesktop(): void {\n if (this.parentEl) {\n this.renderer.setStyle(this.parentEl, 'display', 'flex');\n this.renderer.setStyle(this.el.nativeElement, 'width', '100%');\n }\n }\n}\n","import { EclBaseEvent } from '@eui/ecl/core';\n\nexport class EclSiteHeaderLoginEvent extends EclBaseEvent {}\n\nexport class EclSiteHeaderLoginBoxToggleEvent extends EclBaseEvent {\n constructor(public isOpen: boolean) {\n super();\n }\n}","import { EclBaseEvent } from '@eui/ecl/core';\nimport { EuiLanguage } from '@eui/core';\n\nexport class EclSiteHeaderLanguageClickEvent extends EclBaseEvent {}\n\nexport class EclSiteHeaderLanguageSelectedEvent extends EclBaseEvent {\n constructor(public language: EuiLanguage) {\n super();\n }\n}\n\nexport class EclSiteHeaderLanguageCloseEvent extends EclBaseEvent {}","import { EclBaseEvent } from '@eui/ecl/core';\n\nexport class EclSiteHeaderLogoClickEvent extends EclBaseEvent {}","import { EclBaseEvent } from '@eui/ecl/core';\n\nexport class EclSiteHeaderSearchEvent extends EclBaseEvent {\n constructor(public keyword: string) {\n super();\n }\n}\n\nexport class EclSiteHeaderSearchToggleEvent extends EclBaseEvent {\n constructor(public isOpen: boolean) {\n super();\n }\n}","import { ScrollDispatcher } from '@angular/cdk/scrolling';\nimport { Component, ElementRef, EventEmitter, HostBinding, HostListener, Input, NgZone, OnDestroy, Output, ViewChild, afterNextRender } from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\n\nimport { EuiLanguage } from '@eui/base';\nimport { EclThemeService } from '@eui/ecl/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclSiteHeaderLanguageCloseEvent, EclSiteHeaderLanguageSelectedEvent } from '../events';\n\n@Component({\n selector: 'ecl-site-header-language-popover',\n templateUrl: './ecl-site-header-language-popover.component.html',\n standalone: false,\n})\nexport class EclSiteHeaderLanguagePopoverComponent extends ECLBaseDirective implements OnDestroy {\n @ViewChild('languageContent') languageContent: ElementRef;\n @Input() languageCode: string;\n @Input() euLanguages: Array<EuiLanguage> = [];\n @Input() nonEuLanguages: Array<EuiLanguage> = [];\n @Input() euColumnsCount: number;\n @Input() nonEuColumnsCount: number;\n @Input() isHidden = false;\n @Input() isPushRight = false;\n @Input() isPushLeft = false;\n @Input() isStack = false;\n @Input() isFull = false;\n @Input() @HostBinding('style.right.px') rightPosition: number;\n @Input() @HostBinding('style.left.px') leftPosition: number;\n @Input() @HostBinding('style.--ecl-language-arrow-position') languageArrowPosition: string;\n\n @Output() languageClosed = new EventEmitter<EclSiteHeaderLanguageCloseEvent>();\n @Output() languageSelected = new EventEmitter<EclSiteHeaderLanguageSelectedEvent>();\n\n @HostBinding('attr.role') role = 'dialog';\n @HostBinding('attr.aria-labelledby') labelledBy = 'ecl-site-header__language-title';\n @HostBinding('style.display')\n get display():string {\n return this.isHidden ? 'none' : 'block';\n }\n\n languageContentMaxHeight: number;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(public el: ElementRef, protected eclThemeService: EclThemeService,\n private scrollDispatcher: ScrollDispatcher, private zone: NgZone) {\n super();\n afterNextRender(() => {\n this.subscribeToCDKScrollEvent();\n });\n }\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-site-header__language-container'),\n this.isPushRight ? 'ecl-site-header__language-container--push-right' : '',\n this.isPushLeft ? 'ecl-site-header__language-container--push-left' : '',\n this.isFull ? 'ecl-site-header__language-container--full' : '',\n ]\n .join(' ')\n .trim();\n }\n\n @HostBinding('attr.aria-modal')\n get isModal(): boolean | undefined {\n return !this.isHidden || undefined;\n }\n\n @HostBinding('attr.hidden')\n get isDropdownHidden(): boolean | undefined {\n return this.isHidden || undefined;\n }\n\n @HostListener('window:resize', ['$event'])\n onWindowResize(): void {\n setTimeout(() => this.setLanguageContentMaxHeight());\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n onCloseClick(): void {\n this.languageClosed.next(new EclSiteHeaderLanguageCloseEvent());\n }\n\n onLanguageClick(language: EuiLanguage, evt: MouseEvent): void {\n this.languageCode = language.code;\n this.languageSelected.next(new EclSiteHeaderLanguageSelectedEvent(language));\n\n evt.preventDefault();\n }\n\n setLanguageContentMaxHeight(): void {\n const viewportHeight = window.innerHeight;\n if (this.languageContent) {\n const listTop = this.languageContent.nativeElement.getBoundingClientRect().top;\n const availableSpace = viewportHeight - listTop;\n if (availableSpace > 0) {\n this.languageContentMaxHeight = availableSpace;\n }\n }\n }\n\n private subscribeToCDKScrollEvent(): void {\n this.scrollDispatcher.scrolled().pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.zone.run(() => {\n this.setLanguageContentMaxHeight();\n });\n });\n }\n}\n","<div class=\"ecl-site-header__language-header\">\n <div class=\"ecl-site-header__language-title\">\n {{ 'ecl.language-list.SELECT-LANGUAGE' | translate }}\n </div>\n <button eclButton variant=\"tertiary\" isIconOnly class=\"ecl-site-header__language-close\" (click)=\"onCloseClick()\">\n <span class=\"ecl-button__container\">\n <span class=\"ecl-button__label\">\n {{ 'ecl.common.CLOSE' | translate }}\n </span>\n @if (eclThemeService.isECTheme()) {\n <ecl-icon icon=\"close\" size=\"m\"> </ecl-icon>\n } @else {\n <ecl-icon icon=\"close\" size=\"s\"> </ecl-icon>\n }\n </span>\n </button>\n</div>\n\n<div #languageContent class=\"ecl-site-header__language-content\" [style.max-height.px]=\"languageContentMaxHeight\"\n [class.ecl-site-header__language-content--stack]=\"isStack\">\n @if (euLanguages.length) {\n <div class=\"ecl-site-header__language-category ecl-site-header__language-category--{{ euColumnsCount }}-col\">\n <div class=\"ecl-site-header__language-category-title\">\n {{ 'ecl.language-list.EU-LANGUAGES' | translate }}\n </div>\n <ul class=\"ecl-site-header__language-list\">\n @for (item of euLanguages; track item.code) {\n <li class=\"ecl-site-header__language-item\">\n <a\n eclLink\n href=\"#\"\n variant=\"standalone\"\n [lang]=\"item.code\"\n [hreflang]=\"item.code\"\n class=\"ecl-site-header__language-link\"\n [class.ecl-site-header__language-link--active]=\"item.code === languageCode\"\n (click)=\"onLanguageClick(item, $event)\">\n <span class=\"ecl-site-header__language-link-code\">{{ item.code }}</span>\n <span class=\"ecl-site-header__language-link-label\">{{ item.label }}</span>\n </a>\n </li>\n }\n </ul>\n </div>\n }\n @if (nonEuLanguages.length) {\n <div class=\"ecl-site-header__language-category ecl-site-header__language-category--{{ nonEuColumnsCount }}-col\">\n <div class=\"ecl-site-header__language-category-title\">\n {{ 'ecl.language-list.NON-EU-LANGUAGES' | translate }}\n </div>\n <ul class=\"ecl-site-header__language-list\">\n @for (item of nonEuLanguages; track item.code) {\n <li class=\"ecl-site-header__language-item\">\n <a\n eclLink\n href=\"#\"\n [lang]=\"item.code\"\n [hreflang]=\"item.code\"\n variant=\"standalone\"\n class=\"ecl-site-header__language-link\"\n [class.ecl-site-header__language-link--active]=\"item.code === languageCode\"\n (click)=\"onLanguageClick(item, $event)\">\n <span class=\"ecl-site-header__language-link-code\">{{ item.code }}</span>\n <span class=\"ecl-site-header__language-link-label\">{{ item.label }}</span>\n </a>\n </li>\n }\n </ul>\n </div>\n }\n</div>\n","import { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { EclAreaChangeEvent } from '../events/ecl-area-change.event';\n\n@Injectable()\nexport class EclAreaDataService {\n\n\tpublic dataSubject$: Observable<EclAreaChangeEvent>;\n\tprivate dataSubject: Subject<EclAreaChangeEvent> = new Subject<EclAreaChangeEvent>();\n\n\tconstructor() {\n\t\tthis.dataSubject$ = this.dataSubject.asObservable();\n\t}\n\n\tpublishEvent(event: EclAreaChangeEvent): void {\n\t\tthis.dataSubject.next(event);\n\t}\n}","import {\n AfterViewInit,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Inject,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { EuiEuLanguages, GLOBAL_CONFIG_TOKEN, GlobalConfig, I18nService } from '@eui/core';\nimport { EuiLanguage } from '@eui/base';\nimport { ECLBaseDirective, ECLClickOutsideDirective, EclRtlService, EclThemeService } from '@eui/ecl/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { EclSiteHeaderLanguageClickEvent, EclSiteHeaderLanguageCloseEvent, EclSiteHeaderLanguageSelectedEvent } from '../events';\nimport { EclSiteHeaderLanguagePopoverComponent } from './ecl-site-header-language-popover.component';\nimport { EclAreaDataService } from '../services/ecl-area-data.service';\n\n@Component({\n selector: 'ecl-site-header-language',\n templateUrl: './ecl-site-header-language.component.html',\n standalone: false,\n hostDirectives: [\n {\n directive: ECLClickOutsideDirective,\n outputs: ['eclClickOutside'],\n },\n ],\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclSiteHeaderLanguageComponent extends ECLBaseDirective implements OnInit, AfterViewInit, OnDestroy {\n\n @ViewChild(EclSiteHeaderLanguagePopoverComponent) languagePopover: EclSiteHeaderLanguagePopoverComponent;\n @ViewChild('languageLink', { read: ElementRef }) languageLinkElement: ElementRef<HTMLAnchorElement>;\n\n @Output() languageClick = new EventEmitter<EclSiteHeaderLanguageClickEvent>();\n @Output() languageSelected = new EventEmitter<EclSiteHeaderLanguageSelectedEvent>();\n\n readonly MOBILE_BREAKPOINT = 768;\n readonly LANGUAGE_MAX_COLUMNS = 8;\n isLanguagesDropdownVisible = false;\n isPushRight: boolean;\n isPushLeft: boolean;\n isStack: boolean;\n isFull: boolean;\n languageArrowPosition: string;\n languageCode = 'en';\n rightPosition: number;\n leftPosition: number;\n euLanguages: Array<EuiLanguage> = [];\n nonEuLanguages: Array<EuiLanguage> = [];\n euColumnsCount = 1;\n nonEuColumnsCount = 1;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private _languages: Array<EuiLanguage> = [];\n private parentHeaderWidth: number;\n private isRtl = false;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-site-header__language')].join(' ').trim();\n }\n\n constructor(\n private eclAreaDataService: EclAreaDataService,\n private eclRtlService : EclRtlService,\n protected eclThemeService: EclThemeService,\n @Optional() @Inject(GLOBAL_CONFIG_TOKEN) protected config: GlobalConfig,\n protected i18nService: I18nService,\n ) {\n super();\n }\n\n ngOnInit(): void {\n this.handleRtlChangeState();\n }\n\n ngAfterViewInit(): void {\n this.eclAreaDataService.dataSubject$.pipe(takeUntil(this.destroy$)).subscribe(\n parentHeaderRect => {\n this.calculatePopoverPosition(parentHeaderRect.right, parentHeaderRect.left);\n });\n this.handleInitialConfiguredLanguages();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.complete();\n }\n\n getLanguageLabel(): string {\n return `${EuiEuLanguages.getLanguageByCode(this.languageCode)?.label} - ${this.languageCode.toUpperCase()}`;\n }\n\n onLanguageClick(evt: Event): void {\n this.isLanguagesDropdownVisible = !this.isLanguagesDropdownVisible;\n if( !this.isLanguagesDropdownVisible ) {\n setTimeout(() => {\n this.isFull = false;\n this.isStack = false;\n this.isPushRight = false;\n this.rightPosition = undefined;\n this.leftPosition = undefined;\n this.languageArrowPosition = undefined;\n });\n }\n\n if (this.isLanguagesDropdownVisible) {\n setTimeout(() => this.languagePopover.setLanguageContentMaxHeight());\n }\n this.languageClick.next(new EclSiteHeaderLanguageClickEvent());\n\n evt.preventDefault();\n }\n\n onLanguageClosed(evt: EclSiteHeaderLanguageCloseEvent): void {\n this.isLanguagesDropdownVisible = false;\n }\n\n onLanguageSelected(evt: EclSiteHeaderLanguageSelectedEvent): void {\n this.languageCode = evt.language.code;\n this.updateCurrentLanguage(evt.language.code);\n this.isLanguagesDropdownVisible = false;\n this.languageSelected.next(new EclSiteHeaderLanguageSelectedEvent(evt.language));\n }\n\n @HostListener('eclClickOutside')\n onClickOutside(): void {\n this.isLanguagesDropdownVisible = false;\n }\n\n @HostListener('document:keydown.escape')\n onEscapeKeydownHandler(): void {\n this.isLanguagesDropdownVisible = false;\n }\n\n public hasLanguageCodes(): boolean {\n return this._languages && this._languages.length > 0;\n }\n\n private handleRtlChangeState(): void {\n this.eclRtlService.currentRtlState$.pipe(takeUntil(this.destroy$)).subscribe((rtlState) => {\n this.isRtl = rtlState;\n });\n }\n\n private updateLanguages(): void {\n\n this.euLanguages = this._languages.filter((item) => EuiEuLanguages.isEuLanguage(item.code));\n\n this.nonEuLanguages = this._languages.filter((item) => !EuiEuLanguages.isEuLanguage(item.code));\n\n this.euColumnsCount = Math.ceil(this.euLanguages.length / this.LANGUAGE_MAX_COLUMNS);\n\n this.nonEuColumnsCount = Math.ceil(this.nonEuLanguages.length / this.LANGUAGE_MAX_COLUMNS);\n }\n\n private calculatePopoverPosition( parentHeaderRight: number, parentHeaderLeft: number): void {\n setTimeout(() => {\n if (this.hasLanguageCodes()) {\n const arrowSize = '0.5rem';\n const linkRect = this.languageLinkElement.nativeElement.getBoundingClientRect();\n const popoverRect = this.languagePopover?.el.nativeElement.getBoundingClientRect();\n const screenWidth = window.innerWidth;\n const vw = Math.max(document.documentElement.clientWidth || 0, window.innerWidth || 0);\n\n this.isFull = false;\n this.isStack = false;\n this.isPushRight = false;\n this.isPushLeft = false;\n this.rightPosition = undefined;\n this.leftPosition = undefined;\n this.languageArrowPosition = undefined;\n\n if (popoverRect?.width > this.parentHeaderWidth) {\n this.isStack = true;\n if (this.nonEuLanguages.length) {\n this.nonEuColumnsCount = Math.max(this.euColumnsCount, this.nonEuColumnsCount);\n }\n }\n if (this.isRtl && popoverRect?.left < 0) {\n const arrowPosition = linkRect.right - parentHeaderLeft - linkRect.width / 2;\n this.isPushLeft = true;\n this.leftPosition = -linkRect.left + parentHeaderLeft;\n this.languageArrowPosition = `${arrowPosition}px`;\n } else if (!this.isRtl && popoverRect?.right > screenWidth) {\n const arrowPosition = parentHeaderRight - linkRect.right + linkRect.width / 2;\n\n this.isPushRight = true;\n this.rightPosition = -parentHeaderRight + linkRect.right;\n this.languageArrowPosition = `calc(${arrowPosition}px - ${arrowSize})`;\n }\n\n if (vw < this.MOBILE_BREAKPOINT) {\n const arrowPosition = popoverRect?.right - linkRect.right + linkRect.width / 2;\n\n this.isFull = true;\n this.languageArrowPosition = `calc(${arrowPosition}px - ${arrowSize})`;\n }\n }\n });\n }\n\n private getConfiguredLanguages(): void {\n const languages: string[] = this.config?.i18n?.i18nService?.languages.map(lang => {\n return (typeof lang !== 'string') ? (lang as EuiLanguage).code : lang\n }) || [];\n this._languages = EuiEuLanguages.getAllLanguagesByCodes(languages);\n\n if (this.config?.i18n?.i18nService?.defaultLanguage) {\n this.languageCode = this.config?.i18n?.i18nService?.defaultLanguage;\n } else {\n if (this._languages && this._languages.length > 0) {\n this.languageCode = this._languages[0].code;\n }\n }\n }\n\n private updateCurrentLanguage(lang: string): void {\n this.i18nService.updateState({\n activeLang: lang,\n });\n }\n\n private handleInitialConfiguredLanguages(): void {\n setTimeout(() => {\n if (this._languages === undefined || this._languages.length === 0) {\n this.getConfiguredLanguages();\n }\n this.updateLanguages();\n });\n }\n}\n","<a\n href=\"#\"\n #languageLink\n class=\"ecl-button ecl-button--tertiary ecl-site-header__language-selector\"\n aria-controls=\"language-list-overlay\"\n role=\"button\"\n [attr.aria-label]=\"'ecl.language-list.SELECT-LANGUAGE-EXT' | translate: { currentLang: getLanguageLabel() }\"\n [attr.aria-expanded]=\"isLanguagesDropdownVisible\"\n (click)=\"onLanguageClick($event)\"\n (keydown.space)=\"onLanguageClick($event)\">\n <span class=\"ecl-site-header__language-icon\">\n <ecl-icon icon=\"global\" size=\"s\" class=\"ecl-site-header__icon\"></ecl-icon>\n </span>\n {{ languageCode | uppercase }}\n</a>\n@if(hasLanguageCodes() && isLanguagesDropdownVisible) {\n<ecl-site-header-language-popover\n #languagePopover\n cdkTrapFocus\n cdkTrapFocusAutoCapture\n id=\"language-list-overlay\"\n [languageCode]=\"languageCode\"\n [euLanguages]=\"euLanguages\"\n [nonEuLanguages]=\"nonEuLanguages\"\n [euColumnsCount]=\"euColumnsCount\"\n [nonEuColumnsCount]=\"nonEuColumnsCount\"\n [isStack]=\"isStack\"\n [isPushRight]=\"isPushRight\"\n [isPushLeft] = \"isPushLeft\"\n [isFull]=\"isFull\"\n [rightPosition]=\"rightPosition\"\n [leftPosition]=\"leftPosition\"\n [languageArrowPosition]=\"languageArrowPosition\"\n (languageSelected)=\"onLanguageSelected($event)\"\n (languageClosed)=\"onLanguageClosed($event)\">\n</ecl-site-header-language-popover>\n}","import { Component, ElementRef, EventEmitter, HostBinding, HostListener, Input, OnChanges,\n OnDestroy, Output, SimpleChanges, ViewChild, afterNextRender, booleanAttribute } from '@angular/core';\nimport { Subject, debounceTime, takeUntil } from 'rxjs';\nimport { ECLBaseDirective, ECLClickOutsideDirective } from '@eui/ecl/core';\nimport { EclRtlService } from '@eui/ecl/core';\nimport { EclSiteHeaderLoginBoxToggleEvent, EclSiteHeaderLoginEvent } from '../events';\nimport { EclAreaDataService } from '../services/ecl-area-data.service';\n\n@Component({\n selector: 'ecl-site-header-login',\n templateUrl: './ecl-site-header-login.component.html',\n standalone: false,\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n hostDirectives: [\n {\n directive: ECLBaseDirective,\n },\n {\n directive: ECLClickOutsideDirective,\n // eslint-disable-next-line @angular-eslint/no-outputs-metadata-property\n outputs: ['eclClickOutside'],\n },\n ],\n})\nexport class EclSiteHeaderLoginComponent extends ECLBaseDirective implements OnChanges, OnDestroy {\n @Input({ transform: booleanAttribute }) isLoggedIn = false;\n @HostBinding('class') class = 'ecl-site-header__login-container';\n\n @ViewChild('loginLink', { read: ElementRef }) loginLinkElement: ElementRef<HTMLAnchorElement>;\n\n @Output() login = new EventEmitter<EclSiteHeaderLoginEvent>();\n @Output() loginBoxToggle = new EventEmitter<EclSiteHeaderLoginBoxToggleEvent>();\n\n public isLoginBoxActive = false;\n public loginArrowPosition: string;\n readonly TABLET_BREAKPOINT = 996;\n private parentHeaderRight: number | undefined;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(\n private eclAreaDataService: EclAreaDataService,\n private eclRtlService : EclRtlService,\n ) {\n super();\n afterNextRender(() => {\n this.handleRtlChangeState();\n this.handleSiteHeaderAreaChangeEvent();\n });\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const isLoggedInChange = changes.isLoggedIn;\n if (isLoggedInChange && isLoggedInChange.previousValue === true) {\n this.isLoginBoxActive = false;\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n @HostListener('eclClickOutside')\n onClickOutsideMegaMenu(): void {\n this.onLoginBoxClose();\n }\n\n getLoginBoxCssClasses(): string {\n return ['ecl-site-header__login-box', this.isLoginBoxActive ? 'ecl-site-header__login-box--active' : ''].join(' ');\n }\n\n onLoginClick(evt: MouseEvent): void {\n const event = new EclSiteHeaderLoginEvent();\n this.login.next(event);\n evt.preventDefault();\n }\n\n onLoginBoxToggle(evt: MouseEvent): void {\n this.isLoginBoxActive = !this.isLoginBoxActive;\n const event = new EclSiteHeaderLoginBoxToggleEvent(this.isLoginBoxActive);\n this.loginBoxToggle.next(event);\n evt.preventDefault();\n }\n\n private onLoginBoxClose(): void {\n if (this.isLoginBoxActive) {\n this.isLoginBoxActive = false;\n const event = new EclSiteHeaderLoginBoxToggleEvent(this.isLoginBoxActive);\n this.loginBoxToggle.next(event);\n }\n }\n\n private handleRtlChangeState(): void {\n this.eclRtlService.currentRtlState$.pipe(debounceTime(50), takeUntil(this.destroy$)).subscribe(() => {\n this.calculateLoginArrowPosition(this.parentHeaderRight);\n });\n }\n\n private handleSiteHeaderAreaChangeEvent(): void {\n this.eclAreaDataService.dataSubject$.pipe(takeUntil(this.destroy$)).subscribe(\n parentHeaderRect => {\n this.parentHeaderRight = parentHeaderRect.right;\n this.calculateLoginArrowPosition(this.parentHeaderRight);\n });\n }\n\n private calculateLoginArrowPosition(parentHeaderRight: number | undefined): void {\n\n const vw = Math.max(document.documentElement.clientWidth || 0, window.innerWidth || 0);\n const arrowSize = '0.5rem';\n const loginLink = this.loginLinkElement?.nativeElement.getBoundingClientRect();\n const arrowPosition = parentHeaderRight - loginLink?.right + loginLink?.width /2;\n if (parentHeaderRight === undefined) {\n return;\n }\n if (this.isLoginBoxActive && vw < this.TABLET_BREAKPOINT) {\n this.loginArrowPosition = `calc(${arrowPosition}px + ${arrowSize})`;\n } else if (this.isLoginBoxActive ) {\n this.loginArrowPosition = null;\n }\n }\n}\n","@if (isLoggedIn) {\n <a\n #loginLink\n href=\"#\"\n class=\"ecl-button ecl-button--tertiary ecl-site-header__login-toggle\"\n aria-controls=\"login-box-id\"\n [attr.aria-expanded]=\"isLoginBoxActive\"\n (click)=\"onLoginBoxToggle($event)\">\n <ecl-icon icon=\"logged-in\" size=\"s\" class=\"ecl-site-header__icon\"></ecl-icon>\n {{ 'ecl.site-header.LOGGED-IN' | translate }}\n </a>\n <div\n id=\"login-box-id\"\n [style]=\"{'--ecl-login-arrow-position': loginArrowPosition}\"\n class=\"{{ getLoginBoxCssClasses() }}\">\n <ng-content></ng-content>\n </div>\n} @else {\n <a\n href=\"#\"\n class=\"ecl-button ecl-button--tertiary ecl-site-header__login-toggle\"\n [attr.aria-expanded]=\"isLoginBoxActive\"\n (click)=\"onLoginClick($event)\">\n <ecl-icon icon=\"log-in\" size=\"s\" class=\"ecl-site-header__icon\"></ecl-icon>\n {{ 'ecl.site-header.LOGIN' | translate }}\n </a>\n}\n","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Directive({\n selector: '[eclSiteHeaderLoginDescription]',\n standalone: false,\n})\nexport class EclSiteHeaderLoginDescriptionDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-site-header__login-description';\n}\n\n@Directive({\n selector: '[eclSiteHeaderLoginSeparator]',\n standalone: false,\n})\nexport class EclSiteHeaderLoginSeparatorDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-site-header__login-separator';\n}\n","import { Component, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Component({\n selector: 'ecl-site-header-notification',\n templateUrl: 'ecl-site-header-notification.component.html',\n standalone: false,\n})\nexport class EclSiteHeaderNotificationComponent extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-site-header__notification')].join(' ').trim();\n }\n @HostBinding('style.display') private display = '';\n\n onHide(): void {\n this.display = 'none';\n }\n\n onShow(): void {\n this.display = '';\n }\n}\n","<div class=\"ecl-container\">\n <ng-content></ng-content>\n</div>\n","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Directive({\n selector: '[eclSiteHeaderPicture]',\n standalone: false,\n})\nexport class EclSiteHeaderPictureDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-site-header__picture ecl-picture';\n}\n\n@Directive({\n selector: '[eclSiteHeaderImage]',\n standalone: false,\n})\nexport class EclSiteHeaderImageDirective extends ECLBaseDirective {\n logoSize: string;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-site-header__logo-image'),\n `ecl-site-header__logo-image--${this.logoSize}`,\n ].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclSiteHeaderLink]',\n standalone: false,\n})\nexport class EclSiteHeaderLinkDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-link ecl-link--standalone ecl-site-header__logo-link';\n}\n","import {\n afterNextRender, Component, ElementRef, EventEmitter, forwardRef, HostBinding, Input,\n OnDestroy, Output, Provider, ViewChild } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { debounceTime, Subject, takeUntil } from 'rxjs';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclRtlService } from '@eui/ecl/core';\nimport { EclSearchFormEvent } from '@eui/ecl/components/ecl-search-form';\nimport { EclSiteHeaderSearchEvent, EclSiteHeaderSearchToggleEvent } from '../events';\nimport { EclAreaDataService } from '../services/ecl-area-data.service';\n\nexport const ECL_SITE_HEADER_SEARCH_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EclSiteHeaderSearchComponent),\n multi: true,\n};\n\nconst noop = (): void => {\n /** empty*/\n};\n\n@Component({\n selector: 'ecl-site-header-search',\n templateUrl: './ecl-site-header-search.component.html',\n standalone: false,\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n providers: [ECL_SITE_HEADER_SEARCH_VALUE_ACCESSOR],\n})\nexport class EclSiteHeaderSearchComponent extends ECLBaseDirective implements ControlValueAccessor, OnDestroy {\n @HostBinding('class') class = 'ecl-site-header__search-container';\n @HostBinding('attr.role') role = 'search';\n\n @Input() searchInputText: string;\n @Input() searchInputPlaceholder: string;\n @Input() searchButtonLabel: string;\n\n @ViewChild('searchLink', { read: ElementRef }) searchLinkElement: ElementRef<HTMLAnchorElement>;\n\n // TODO: this output should be renamed in v20 - breaking change!\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() search = new EventEmitter<EclSiteHeaderSearchEvent>();\n @Output() searchToggle = new EventEmitter<EclSiteHeaderSearchToggleEvent>();\n\n public searchArrowPosition: string;\n public isSearchBoxActive = false;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private onChange: (_: any) => void = noop;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private onTouched: (_: any) => void = noop;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private parentHeaderRight: number | undefined;\n\n constructor(private eclAreaDataService: EclAreaDataService, private eclRtlService: EclRtlService,\n ) {\n super();\n afterNextRender(() => {\n this.handleRtlChangeState();\n this.handleSiteHeaderAreaChangeEvent();\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.complete();\n }\n\n onSearch(evt: EclSearchFormEvent): boolean {\n this.search.next(new EclSiteHeaderSearchEvent(evt.keyword));\n this.onChange(evt.keyword);\n return false;\n }\n\n onSearchBoxToggle(evt: MouseEvent): void {\n this.isSearchBoxActive = !this.isSearchBoxActive;\n const event = new EclSiteHeaderSearchToggleEvent(this.isSearchBoxActive);\n this.searchToggle.next(event);\n evt.preventDefault();\n }\n\n getSearchBoxCssClasses(): string {\n return ['ecl-site-header__search', this.isSearchBoxActive ? 'ecl-site-header__search--active' : ''].join(' ');\n }\n\n onModelChange(newValue: string): void {\n this.searchInputText = newValue;\n this.onChange(newValue);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n writeValue(value: any): void {\n this.searchInputText = value;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n private handleRtlChangeState(): void {\n this.eclRtlService.currentRtlState$.pipe(debounceTime(50), takeUntil(this.destroy$)).subscribe(() => {\n this.calculateSearchFormArrowPosition(this.parentHeaderRight);\n });\n }\n\n private handleSiteHeaderAreaChangeEvent(): void {\n this.eclAreaDataService.dataSubject$.pipe(takeUntil(this.destroy$)).subscribe(\n parentHeaderRect => {\n this.parentHeaderRight = parentHeaderRect.right;\n this.calculateSearchFormArrowPosition(this.parentHeaderRight);\n });\n }\n\n private calculateSearchFormArrowPosition(parentHeaderRight: number | undefined): void {\n const searchLink = this.searchLinkElement.nativeElement.getBoundingClientRect();\n const arrowPosition = parentHeaderRight - searchLink.right + searchLink.width /2;\n const arrowSize = '0.5rem';\n if (this.isSearchBoxActive || parentHeaderRight !== undefined) {\n this.searchArrowPosition = `calc(${arrowPosition}px + ${arrowSize})`;\n }\n }\n}\n","<a\n #searchLink\n href=\"#\"\n class=\"ecl-button ecl-button--tertiary ecl-site-header__search-toggle\"\n data-ecl-search-toggle=\"true\"\n aria-controls=\"search-form-id\"\n [attr.aria-expanded]=\"isSearchBoxActive\"\n (click)=\"onSearchBoxToggle($event)\">\n <ecl-icon icon=\"search\" size=\"s\" class=\"ecl-site-header__icon\"></ecl-icon>\n {{ 'ecl.common.SEARCH' | translate }}\n</a>\n\n<ecl-search-form\n [style]=\"{'--ecl-search-arrow-position': searchArrowPosition}\"\n (search)=\"onSearch($event)\"\n [placeholder]=\"searchInputPlaceholder\"\n (ngModelChange)=\"onModelChange($event)\"\n [(ngModel)]=\"searchInputText\"\n [searchButtonLabel]=\"searchButtonLabel\"\n [class]=\"getSearchBoxCssClasses()\">\n</ecl-search-form>\n","\nexport class EclAreaChangeEvent {\nprivate readonly _width: number;\nprivate readonly _left: number;\nprivate readonly _right: number;\n\n\tconstructor(width: number, left: number, right: number) {\n\t\tthis._width = width;\n\t\tthis._left = left;\n\t\tthis._right = right;\n\t}\n\n\tget width(): number {\n\t\treturn this._width;\n\t}\n\n\tget left(): number {\n\t\treturn this._left;\n\t}\n\n\tget right(): number {\n\t\treturn this._right;\n\t}\n}","import { BreakpointObserver } from '@angular/cdk/layout';\nimport {\n AfterContentInit, Component, ContentChild, ElementRef, EventEmitter, HostBinding, Input, OnDestroy, Output, ViewChild,\n afterNextRender, forwardRef,\n} from '@angular/core';\nimport { I18nService, EuiEuLanguages } from '@eui/core';\nimport { EclMegaMenuComponent } from '@eui/ecl/components/ecl-mega-menu';\nimport { EclMenuComponent } from '@eui/ecl/components/ecl-menu';\nimport { ECLBaseDirective, EclRtlService, EclThemeService } from '@eui/ecl/core';\nimport { EclHeaderMenuComunicationService } from '@eui/ecl/shared';\nimport { Subject, takeUntil } from 'rxjs';\nimport { EclSiteHeaderLanguageClickEvent, EclSiteHeaderLogoClickEvent } from './events';\nimport { EclSiteHeaderLanguageComponent } from './language';\nimport { EclSiteHeaderLoginComponent } from './login';\nimport { EclSiteHeaderNotificationComponent } from './notification';\nimport { EclSiteHeaderImageDirective, EclSiteHeaderLinkDirective } from './picture';\nimport { EclSiteHeaderSearchComponent } from './search';\nimport { EclAreaChangeEvent } from './events/ecl-area-change.event';\nimport { EclAreaDataService } from './services/ecl-area-data.service';\n\n@Component({\n selector: 'ecl-site-header',\n templateUrl: './ecl-site-header.component.html',\n standalone: false,\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclSiteHeaderComponent extends ECLBaseDirective implements AfterContentInit, OnDestroy {\n @Input() siteName: string;\n @Input() languageCode = 'en';\n @Input() logoUrl: string;\n @Input() logoSize: 's' | 'm' | 'l' = 'm';\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-site-header'),\n `ecl-site-header-with-logo-${this.logoSize}`,\n this.eclMenuComponent ? 'ecl-site-header--has-menu' : '',\n this.eclMegaMenuComponent ? 'ecl-site-header--has-mega-menu' : '',\n this.isEclMegaMenuOpen ? 'ecl-site-header--open-menu' : '',\n this.isEclMegaMenuStart ? 'ecl-site-header--open-menu-start' : '',\n this.isRtl ? 'ecl-site-header--rtl' : '',\n ].join(' ').trim();\n }\n\n @Output() logoClick = new EventEmitter<EclSiteHeaderLogoClickEvent>();\n @Output() languageClick = new EventEmitter<EclSiteHeaderLanguageClickEvent>();\n\n @ViewChild('topContainer') topContainerElement: ElementRef;\n @ViewChild('siteHeaderHeader') siteHeaderHeader: ElementRef;\n @ViewChild('bannerHeader') bannerHeader: ElementRef;\n @ContentChild(EclSiteHeaderLoginComponent) eclLoginComponent: EclSiteHeaderLoginComponent;\n @ContentChild(EclMenuComponent) eclMenuComponent: EclMenuComponent;\n @ContentChild(EclMegaMenuComponent) eclMegaMenuComponent: EclMegaMenuComponent;\n @ContentChild(EclSiteHeaderSearchComponent) eclSearchComponent: EclSiteHeaderSearchComponent;\n @ContentChild(EclSiteHeaderLanguageComponent) eclLanguageComponent: EclSiteHeaderLanguageComponent;\n @ContentChild(EclSiteHeaderNotificationComponent) eclNotificationComponent: EclSiteHeaderNotificationComponent;\n @ContentChild(forwardRef(() => EclSiteHeaderLinkDirective), { descendants: true }) eclHeaderLink: EclSiteHeaderLinkDirective;\n @ContentChild(forwardRef(() => EclSiteHeaderImageDirective), { descendants: true }) eclHeaderImage: EclSiteHeaderImageDirective;\n\n private isEclMegaMenuOpen = false;\n private isEclMegaMenuStart = false;\n private isMobileBreakpoint = false;\n private isRtl = false;\n private readonly TIMEOUT_INTERVAL = 100;\n private readonly DEFAULT_LOGO_COUNTRY_CODE = 'en';\n private readonly AVAILABLE_NON_EU_LOGO_COUNTRY_CODES = ['ar', 'ca', 'is', 'jp', 'lb', 'no', 'ru', 'sw', 'tr', 'uk', 'zh'];\n protected destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(\n private eclHeaderMenuComunicationService: EclHeaderMenuComunicationService,\n private eclAreaDataService: EclAreaDataService, private cdkBreakpointObserver: BreakpointObserver,\n private el: ElementRef, public eclThemeService: EclThemeService,\n private eclRtlService: EclRtlService, protected i18nService: I18nService,\n ) {\n super();\n\n afterNextRender(() => {\n this.observeBreakpointChanges();\n this.subscribeToMegaMenuEvents();\n new ResizeObserver(() => {\n setTimeout(() => {\n this.sendResizeEventToChildComponents();\n }, this.TIMEOUT_INTERVAL)\n }).observe(this.topContainerElement.nativeElement)\n });\n }\n\n ngAfterContentInit(): void {\n this.handleRtlChangeState();\n this.handleLanguageChangeState();\n if (this.eclHeaderImage) {\n this.eclHeaderImage.logoSize = this.logoSize;\n }\n\n if (this.eclLoginComponent && this.eclSearchComponent) {\n this.eclLoginComponent.loginBoxToggle.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.eclSearchComponent.isSearchBoxActive = false;\n\t this.sendResizeEventToChildComponents();\n });\n\n this.eclSearchComponent.searchToggle.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.eclLoginComponent.isLoginBoxActive = false;\n\t this.sendResizeEventToChildComponents();\n });\n }\n\n if (this.eclLanguageComponent) {\n this.eclLanguageComponent.languageClick.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.languageClick.next(new EclSiteHeaderLanguageClickEvent());\n\t this.sendResizeEventToChildComponents();\n });\n\n this.eclLanguageComponent.languageSelected.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.languageCode = evt.language?.code;\n });\n }\n\n if (this.eclLanguageComponent) {\n this.languageCode = this.eclLanguageComponent?.languageCode;\n }\n\n if (this.eclMenuComponent) {\n this.eclMenuComponent.openHamburgerMenu.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.positionMenu();\n });\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n get partOfLogoName(): string {\n if (this.AVAILABLE_NON_EU_LOGO_COUNTRY_CODES.includes(this.languageCode ) || EuiEuLanguages.isEuLanguage(this.languageCode)) {\n return this.languageCode;\n } else {\n return this.DEFAULT_LOGO_COUNTRY_CODE;\n }\n }\n\n onECLogoClick(evt: MouseEvent): void {\n const event = new EclSiteHeaderLogoClickEvent();\n this.logoClick.next(event);\n if (event.defaultPrevented) {\n evt.preventDefault();\n }\n }\n\n hasCustomLink(): boolean {\n return !!this.eclHeaderLink;\n }\n\n private handleRtlChangeState(): void {\n this.eclRtlService.currentRtlState$.pipe(takeUntil(this.destroy$)).subscribe((rtlState) => {\n this.isRtl = rtlState;\n });\n }\n\n private sendResizeEventToChildComponents(): void {\n if (this.topContainerElement.nativeElement.getBoundingClientRect().width !== undefined) {\n const topContainerRect = this.topContainerElement.nativeElement.getBoundingClientRect();\n const siteHeaderAreaChangeEvent = new EclAreaChangeEvent(\n topContainerRect.width,\n topContainerRect.left,\n topContainerRect.right);\n\n this.eclAreaDataService.publishEvent(siteHeaderAreaChangeEvent);\n }\n }\n\n private subscribeToMegaMenuEvents(): void {\n this.eclHeaderMenuComunicationService.isMobileObjectOpen$.pipe(takeUntil(this.destroy$)).subscribe(isExpanded => {\n if (this.isMobileBreakpoint) {\n this.isEclMegaMenuStart = isExpanded;\n this.isEclMegaMenuOpen = isExpanded;\n }\n if (isExpanded) {\n const bottomSpaceY = this.el.nativeElement.getBoundingClientRect().bottom;\n this.eclMegaMenuComponent.positionMenuOverlay(bottomSpaceY);\n }\n });\n\n this.eclHeaderMenuComunicationService.isObjectExpanded$.pipe(takeUntil(this.destroy$)).subscribe(isExpanded => {\n if (this.isMobileBreakpoint) {\n if (isExpanded) {\n this.onMegaMenuItemExpandMobile();\n } else {\n this.onMegaMenuItemCollapseMobile();\n }\n } else {\n this.isEclMegaMenuOpen = isExpanded;\n if (isExpanded) {\n const bottomSpaceY = this.el.nativeElement.getBoundingClientRect().bottom;\n this.eclMegaMenuComponent.positionMenuOverlay(bottomSpaceY);\n }\n }\n });\n }\n\n private onMegaMenuItemExpandMobile(): void {\n this.isEclMegaMenuStart = false;\n if (this.eclNotificationComponent) {\n this.eclNotificationComponent.onHide();\n }\n if (this.bannerHeader) {\n this.bannerHeader.nativeElement.style.display = 'none';\n }\n const bottomSpaceY = this.siteHeaderHeader.nativeElement.getBoundingClientRect().bottom;\n this.eclMegaMenuComponent.positionMenuOverlay(bottomSpaceY);\n }\n\n private onMegaMenuItemCollapseMobile(): void {\n this.isEclMegaMenuStart = true;\n if (this.eclNotificationComponent) {\n this.eclNotificationComponent.onShow();\n }\n if (this.bannerHeader) {\n this.bannerHeader.nativeElement.style.display = '';\n }\n const bottomSpaceY = this.el.nativeElement.getBoundingClientRect().bottom;\n this.eclMegaMenuComponent.positionMenuOverlay(bottomSpaceY);\n }\n\n private observeBreakpointChanges(): void {\n this.cdkBreakpointObserver\n .observe(['(max-width: 996px)'])\n .pipe(takeUntil(this.destroy$))\n .subscribe((result) => {\n this.isMobileBreakpoint = result.matches;\n });\n }\n\n private positionMenu(): void {\n const bottomSpaceY = this.siteHeaderHeader.nativeElement.getBoundingClientRect().bottom;\n this.eclMenuComponent.positionMenuOverlay(bottomSpaceY);\n }\n\n private handleLanguageChangeState(): void {\n this.i18nService.getState().pipe(takeUntil(this.destroy$)).subscribe((lang) => {\n this.languageCode = lang.activeLang;\n if (this.eclLanguageComponent) {\n this.eclLanguageComponent.languageCode = lang.activeLang;\n }\n });\n }\n}\n","<div class=\"ecl-site-header__background\">\n <div class=\"ecl-site-header__header\" #siteHeaderHeader>\n <div class=\"ecl-site-header__container ecl-container\">\n <div #topContainer class=\"ecl-site-header__top\">\n @if(hasCustomLink()) {\n <ng-content select=\"[eclSiteHeaderLink]\"></ng-content>\n } @else {\n <a eclLink variant=\"standalone\" class=\"ecl-site-header__logo-link\"\n href=\"https://ec.europa.eu/info/index_{{ languageCode }}\" (click)=\"onECLogoClick($event)\"\n [attr.aria-label]=\"'ecl.footer.EUROPEAN-COMMISSION' | translate\">\n <ng-content select=\"[eclSiteHeaderEnvironment]\"></ng-content>\n\n @if (eclThemeService.isEC$ | async) {\n <picture eclSiteHeaderPicture\n [attr.title]=\"'ecl.footer.EUROPEAN-COMMISSION' | translate\">\n <source\n srcset=\"./assets/images/ecl/ec/logo/positive/logo-ec--{{ partOfLogoName }}.svg\"\n media=\"(min-width: 996px)\" />\n <img class=\"ecl-site-header__logo-image ecl-site-header__logo-image--{{logoSize}}\"\n src=\"./assets/images/ecl/ec/logo/logo-ec--mute.svg\"\n [attr.alt]=\"'ecl.footer.EUROPEAN-COMMISSION' | translate\" />\n </picture>\n }\n @if (eclThemeService.isEU$ | async) {\n <picture eclSiteHeaderPicture\n [attr.title]=\"'ecl.footer.EUROPEAN-UNION' | translate\">\n <source\n srcset=\"./assets/images/ecl/eu/logo/standard-version/positive/logo-eu--{{ partOfLogoName }}.svg\"\n media=\"(min-width: 996px)\" />\n <img class=\"ecl-site-header__logo-image ecl-site-header__logo-image--{{logoSize}}\"\n src=\"./assets/images/ecl/eu/logo/condensed-version/positive/logo-eu--{{ partOfLogoName }}.svg\"\n alt=\"European Union\" />\n </picture>\n }\n </a>\n }\n <ng-content select=\"ecl-site-header-action\"></ng-content>\n </div>\n </div>\n </div>\n <ng-content select=\"ecl-site-header-notification\"></ng-content>\n</div>\n\n\n<ng-content select=\"ecl-site-header-banner-top\"></ng-content>\n@if (siteName) {\n <div class=\"ecl-site-header__banner\" #bannerHeader>\n <div class=\"ecl-container\">\n <div class=\"ecl-site-header__site-name\">{{ siteName }}</div>\n <ng-content select=\"[eclSiteHeaderCta]\"></ng-content>\n </div>\n </div>\n}\n\n<ng-content select=\"ecl-menu\"></ng-content>\n<ng-content select=\"[eclMegaMenu]\"></ng-content>\n","import { Directive, HostBinding, Input, ContentChild, forwardRef, AfterContentInit, HostListener, Output, EventEmitter } from '@angular/core';\nimport { EclIconComponent } from '@eui/ecl/components/ecl-icon';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Directive({\n selector: 'a[eclSiteHeaderCustomActionLink]',\n standalone: false,\n})\nexport class EclSiteHeaderCustomActionLinkDirective extends ECLBaseDirective implements AfterContentInit {\n @HostBinding('class') className = 'ecl-site-header__custom-action-toggle ecl-button ecl-button--tertiary';\n @HostBinding('attr.aria-expanded') isOverlayExpanded : boolean;\n @HostBinding('attr.aria-controls') ariaControls : string;\n @Input() @HostBinding('attr.href') href : string;\n @Input() @HostBinding('attr.routerLink') routerLink : string;\n @Output() customActionOverlayToggle = new EventEmitter<boolean>();\n @ContentChild(forwardRef(() => EclIconComponent), { descendants: true }) eclIconComponent: EclIconComponent;\n private readonly ARIA_CONTROLS = 'custom-action-overlay';\n\n ngAfterContentInit(): void {\n setTimeout(() => {\n if (this.eclIconComponent) {\n this.eclIconComponent.baseDirective.class = this.eclIconComponent.baseDirective.class + ' ecl-site-header__icon';\n }\n if (!this.hasLink()) {\n this.href = '#';\n this.isOverlayExpanded = false;\n this.ariaControls = this.ARIA_CONTROLS;\n }\n });\n }\n\n @HostListener('click', ['$event']) onClick(evt: Event): void {\n if (!this.hasLink()) {\n this.isOverlayExpanded = !this.isOverlayExpanded;\n evt.preventDefault();\n this.customActionOverlayToggle.emit(this.isOverlayExpanded);\n }\n }\n\n hasLink(): boolean {\n return (!!this.href && this.href !== '#') || !!this.routerLink;\n }\n}\n@Directive({\n selector: 'div[eclSiteHeaderCustomActionContent]',\n standalone: false,\n})\nexport class EclSiteHeaderCustomActionContentDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-site-header__custom-action-content') className = true;\n}\n\n@Directive({\n selector: 'div[eclSiteHeaderCustomActionTitle]',\n standalone: false,\n})\nexport class EclSiteHeaderCustomActionTitleDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-site-header__custom-action-title') className = true;\n @HostBinding('attr.id')\n @Input() id = 'custom-action-overlay-title';\n\n}","import { Component, HostBinding, HostListener, ContentChild, AfterContentInit, Renderer2, Inject, OnDestroy } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { ECLBaseDirective, ECLClickOutsideDirective } from '@eui/ecl/core';\nimport { EclSiteHeaderCustomActionLinkDirective, EclSiteHeaderCustomActionTitleDirective } from './ecl-site-header-custom-action.directive';\nimport { takeUntil, Subject } from 'rxjs';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'div[eclSiteHeaderCustomAction]',\n templateUrl: './ecl-site-header-custom-action.component.html',\n standalone: false,\n hostDirectives: [\n {\n directive: ECLClickOutsideDirective,\n outputs: ['eclClickOutside'],\n },\n ],\n})\nexport class EclSiteHeaderCustomActionComponent extends ECLBaseDirective implements AfterContentInit, OnDestroy {\n @HostBinding('class') class = 'ecl-site-header__custom-action';\n @ContentChild(EclSiteHeaderCustomActionTitleDirective) title: EclSiteHeaderCustomActionTitleDirective;\n @ContentChild(EclSiteHeaderCustomActionLinkDirective) eclSiteHeaderCustomActionLink: EclSiteHeaderCustomActionLinkDirective;\n isOverlayExpanded = false;\n titleId: string;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n \n constructor(@Inject(DOCUMENT) private document, private renderer: Renderer2) {\n super();\n }\n\n ngAfterContentInit(): void {\n if (this.title) {\n this.titleId = this.title.id;\n }\n\n if (this.eclSiteHeaderCustomActionLink) {\n this.eclSiteHeaderCustomActionLink.customActionOverlayToggle.pipe(takeUntil(this.destroy$)).subscribe((isExpanded) => {\n this.isOverlayExpanded = isExpanded;\n })\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n onCustomActionOverlayClose(): void {\n this.isOverlayExpanded = false;\n if (!this.eclSiteHeaderCustomActionLink.hasLink()) this.eclSiteHeaderCustomActionLink.isOverlayExpanded = false;\n }\n\n @HostListener('eclClickOutside')\n onClickOutsideHandler(): void {\n this.onCustomActionOverlayClose();\n }\n\n @HostListener('document:keydown.escape')\n onEscapeKeydownHandler(): void {\n this.onCustomActionOverlayClose();\n }\n}\n","<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","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclButtonModule } from '@eui/ecl/components/ecl-button';\nimport { EclFormGroupModule } from '@eui/ecl/components/ecl-form-group';\nimport { EclIconModule } from '@eui/ecl/components/ecl-icon';\nimport { EclLinkModule } from '@eui/ecl/components/ecl-link';\nimport { EclSearchFormModule } from '@eui/ecl/components/ecl-search-form';\nimport { EclSiteHeaderActionComponent } from './action';\nimport { EclSiteHeaderBannerTopComponent } from './banner-top';\nimport { EclSiteHeaderCtaDirective } from './cta';\nimport { EclSiteHeaderEnvironmentComponent } from './ecl-site-header-environment';\nimport { EclSiteHeaderComponent } from './ecl-site-header.component';\nimport { EclSiteHeaderLanguagePopoverComponent } from './language';\nimport { EclSiteHeaderLanguageComponent } from './language';\nimport {\n EclSiteHeaderLoginDescriptionDirective,\n EclSiteHeaderLoginSeparatorDirective,\n} from './login';\nimport { EclSiteHeaderLoginComponent } from './login';\nimport { EclSiteHeaderNotificationComponent } from './notification';\nimport { EclSiteHeaderSearchComponent } from './search';\nimport { EclSiteHeaderImageDirective, EclSiteHeaderLinkDirective, EclSiteHeaderPictureDirective } from './picture';\nimport { EclAreaDataService } from './services/ecl-area-data.service';\nimport { EclSiteHeaderCustomActionComponent } from './custom-action';\nimport { EclSiteHeaderCustomActionContentDirective, EclSiteHeaderCustomActionLinkDirective, EclSiteHeaderCustomActionTitleDirective } from './custom-action/ecl-site-header-custom-action.directive';\n\nconst COMPONENTS = [\n EclSiteHeaderComponent,\n EclSiteHeaderActionComponent,\n EclSiteHeaderCustomActionComponent,\n EclSiteHeaderCustomActionContentDirective,\n EclSiteHeaderCustomActionLinkDirective,\n EclSiteHeaderCustomActionTitleDirective,\n EclSiteHeaderLoginComponent,\n EclSiteHeaderLoginDescriptionDirective,\n EclSiteHeaderLoginSeparatorDirective,\n EclSiteHeaderLanguageComponent,\n EclSiteHeaderLanguagePopoverComponent,\n EclSiteHeaderSearchComponent,\n EclSiteHeaderBannerTopComponent,\n EclSiteHeaderEnvironmentComponent,\n EclSiteHeaderNotificationComponent,\n EclSiteHeaderCtaDirective,\n EclSiteHeaderImageDirective,\n EclSiteHeaderPictureDirective,\n EclSiteHeaderLinkDirective,\n];\n@NgModule({\n imports: [\n CommonModule,\n A11yModule,\n TranslateModule,\n FormsModule,\n ReactiveFormsModule,\n EclLinkModule,\n EclButtonModule,\n EclIconModule,\n EclFormGroupModule,\n EclSearchFormModule,\n ],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n providers: [EclAreaDataService],\n})\nexport class EclSiteHeaderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["takeUntil","i1","i2","i4","i3","i6.EclSiteHeaderLanguagePopoverComponent","i8","i1.EclAreaDataService","i5","i2.EclAreaDataService","i6","i7.EclSiteHeaderPictureDirective","i9"],"mappings":"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"}
|