@eui/ecl 21.0.0-next.20 → 21.0.0-next.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/changelog.html +66 -0
- package/docs/components/EclSiteFooterComponent.html +13 -0
- package/docs/components/EclSocialMediaFollowItemComponent.html +20 -1
- package/docs/directives/EclLinkDirective.html +132 -12
- package/docs/js/search/search_index.js +2 -2
- package/docs/properties.html +1 -1
- package/fesm2022/eui-ecl-components-ecl-breadcrumb.mjs +1 -1
- package/fesm2022/eui-ecl-components-ecl-breadcrumb.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-gallery.mjs +1 -1
- package/fesm2022/eui-ecl-components-ecl-gallery.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-inpage-navigation.mjs +1 -1
- package/fesm2022/eui-ecl-components-ecl-inpage-navigation.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-link.mjs +32 -11
- package/fesm2022/eui-ecl-components-ecl-link.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-list.mjs +1 -1
- package/fesm2022/eui-ecl-components-ecl-list.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs +2 -2
- package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-menu.mjs +1 -1
- package/fesm2022/eui-ecl-components-ecl-menu.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-pagination.mjs +1 -1
- package/fesm2022/eui-ecl-components-ecl-pagination.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-site-footer.mjs +17 -10
- package/fesm2022/eui-ecl-components-ecl-site-footer.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-site-header.mjs +2 -2
- package/fesm2022/eui-ecl-components-ecl-site-header.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-social-media-follow.mjs +4 -2
- package/fesm2022/eui-ecl-components-ecl-social-media-follow.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-tabs.mjs +1 -1
- package/fesm2022/eui-ecl-components-ecl-tabs.mjs.map +1 -1
- package/package.json +1 -1
- package/types/eui-ecl-components-ecl-link.d.ts +15 -3
- package/types/eui-ecl-components-ecl-link.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-site-footer.d.ts +1 -0
- package/types/eui-ecl-components-ecl-site-footer.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-social-media-follow.d.ts +5 -1
- package/types/eui-ecl-components-ecl-social-media-follow.d.ts.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-ecl-components-ecl-pagination.mjs","sources":["../../components/ecl-pagination/ecl-pagination-item.component.ts","../../components/ecl-pagination/ecl-pagination-item.component.html","../../components/ecl-pagination/ecl-pagination-list.directive.ts","../../components/ecl-pagination/events/ecl-pagination.event.ts","../../components/ecl-pagination/ecl-pagination.component.ts","../../components/ecl-pagination/ecl-pagination.component.html","../../components/ecl-pagination/index.ts","../../components/ecl-pagination/eui-ecl-components-ecl-pagination.ts"],"sourcesContent":["import { Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewEncapsulation, booleanAttribute, inject } from '@angular/core';\nimport { Params, QueryParamsHandling, RouterLink, RouterLinkWithHref } from '@angular/router';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclBaseEvent } from '@eui/ecl/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\nimport { EUI_ECL_LINK } from '@eui/ecl/components/ecl-link';\n\n/**\n * Event emitted when a pagination item is clicked.\n */\nexport class EclPaginationItemClickEvent extends EclBaseEvent {}\n\n@Component({\n selector: 'li[eclPaginationItem]',\n templateUrl: './ecl-pagination-item.component.html',\n imports: [RouterLink, RouterLinkWithHref, TranslateModule, ...EUI_ECL_ICON, ...EUI_ECL_LINK],\n encapsulation: ViewEncapsulation.None,\n})\nexport class EclPaginationItemComponent extends ECLBaseDirective {\n el = inject(ElementRef);\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-pagination__item'),\n this.isCurrent ? 'ecl-pagination__item--current' : '',\n this.isNext ? 'ecl-pagination__item--next' : '',\n this.isPrevious ? 'ecl-pagination__item--previous' : '',\n ]\n .join(' ')\n .trim();\n }\n\n /**\n * Sets the `role` attribute for accessibility.\n */\n @HostBinding('attr.role') role = 'listitem';\n\n /**\n * Text content of the pagination item.\n */\n @Input() label: string;\n\n /**\n * Value for the `aria-label` attribute used for accessibility.\n */\n @Input() ariaLabel: string;\n\n /**\n * Total number of pages displayed by the pagination component.\n */\n @Input() pagesCount: string;\n\n /**\n * Adds the `ecl-pagination__item--current` class when true.\n */\n @Input({ transform: booleanAttribute }) isCurrent: boolean;\n\n /**\n * Adds the `ecl-pagination__item--next` class when true.\n */\n @Input({ transform: booleanAttribute }) isNext: boolean;\n\n /**\n * Adds the `ecl-pagination__item--previous` class when true.\n */\n @Input({ transform: booleanAttribute }) isPrevious: boolean;\n\n /**\n * Adds the `ecl-pagination__item--truncation` class when true.\n */\n @Input({ transform: booleanAttribute }) @HostBinding('class.ecl-pagination__item--truncation') isTruncated = false;\n\n /**\n * Router navigation link for Angular routing.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Input() routerLink: string | any[] = null;\n\n /**\n * Query parameters for the router link.\n */\n @Input() queryParams: Params | null = null;\n\n /**\n * Determines how query parameters are handled during navigation.\n */\n @Input() queryParamsHandling: QueryParamsHandling = null;\n\n /**\n * Href link for navigation.\n */\n @Input() href: string = null;\n\n /**\n * Emits when the pagination item is clicked.\n */\n @Output() pageClick = new EventEmitter<EclPaginationItemClickEvent>();\n\n get anchorRole(): string | null {\n return !this.href && !this.routerLink ? 'button' : null;\n }\n\n /**\n * Adds relevant classes to the host element.\n */\n constructor() {\n super();\n const el = this.el;\n\n if (el.nativeElement.tagName.toLowerCase() === 'ecl-pagination-item') {\n console.warn('\"ecl-pagination-item\" selector is deprecated; use \"li[eclPaginationItem]\" instead.');\n }\n }\n\n /**\n * Returns true if this item is an icon-only element (previous or next page).\n */\n get isIconOnly(): boolean {\n return this.isPrevOrNextVisible();\n }\n\n /**\n * Handles the click event and emits the `pageClick` output.\n * Prevents event propagation if no href is defined.\n *\n * @param evt Event object from the DOM click event.\n */\n onPageClick(evt: Event): void {\n this.pageClick.next(new EclPaginationItemClickEvent());\n if (!this.href) {\n evt.stopPropagation();\n }\n }\n\n /**\n * Returns the i18n translation key for the ARIA label.\n */\n geti18nPageAriaLabelKey(): string {\n let key = '';\n\n if (this.isNext) {\n key = 'ecl.pagination.GO-TO-NEXT-PAGE';\n } else if (this.isPrevious) {\n key = 'ecl.pagination.GO-TO-PREV-PAGE';\n } else {\n key = 'ecl.pagination.GO-TO-PAGE';\n }\n return key;\n }\n\n /**\n * Returns the i18n translation key for the visible label.\n */\n geti18nPageLabelKey(): string {\n let key = '';\n\n if (this.isNext) {\n key = 'ecl.pagination.NEXT';\n } else if (this.isPrevious) {\n key = 'ecl.pagination.PREVIOUS';\n }\n return key;\n }\n\n /**\n * Returns true if the item is either previous or next.\n */\n isPrevOrNextVisible(): boolean {\n return this.isPrevious || this.isNext;\n }\n}\n","@if (!isCurrent && !isTruncated) {\n@if(routerLink){\n<a eclLink [isIconOnly]=\"isIconOnly\" (keydown.enter)=\"onPageClick($event)\" (click)=\"onPageClick($event)\" variant=\"standalone\"\n attr.aria-label=\"{{ ariaLabel || geti18nPageAriaLabelKey() | translate: { pageNumber: label } }}\" [attr.role]=\"anchorRole\"\n [routerLink]=\"routerLink\" [queryParams]=\"queryParams\" [queryParamsHandling]=\"queryParamsHandling\"\n class=\"ecl-pagination__link eui-ecl-u-cursor-pointer\" tabindex=\"{{tabindex ? tabindex : 0}}\">\n @if (isPrevious) {\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-270\"></ecl-icon>\n }\n <span eclLinkLabel>{{ label || geti18nPageLabelKey() | translate }}</span>\n @if (isNext) {\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-90\"></ecl-icon>\n }\n</a>\n}\n\n@if (!routerLink) {\n<a eclLink [isIconOnly]=\"isIconOnly\" (keydown.enter)=\"onPageClick($event)\" (click)=\"onPageClick($event)\" variant=\"standalone\"\n attr.aria-label=\"{{ ariaLabel || geti18nPageAriaLabelKey() | translate: { pageNumber: label } }}\" [attr.href]=\"href\"\n class=\"ecl-pagination__link eui-ecl-u-cursor-pointer\" tabindex=\"{{tabindex ? tabindex : 0}}\" [attr.role]=\"anchorRole\">\n @if (isPrevious) {\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-270\"></ecl-icon>\n }\n <span eclLinkLabel>{{ label || geti18nPageLabelKey() | translate }}</span>\n @if (isNext) {\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-90\"></ecl-icon>\n }\n</a>\n}\n}\n\n@else if (isTruncated) {\n<span class=\"ecl-pagination__text ecl-pagination__text--summary\" aria-current=\"true\">\n {{ label }}\n</span>\n}\n@else {\n<span class=\"ecl-pagination__text ecl-pagination__text--summary\" aria-current=\"true\">\n {{ label }}\n</span>\n\n<span class=\"ecl-pagination__text ecl-pagination__text--full\" aria-current=\"true\">\n {{ 'ecl.pagination.PAGE' | translate: { pageNumber: label } }}\n @if(pagesCount) {\n {{ 'ecl.common.OF' | translate}} {{pagesCount}}\n }\n</span>\n}","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive to apply ECL styles to the pagination list element.\n * Adds the `ecl-pagination__list` class to the host element.\n */\n@Directive({\n selector: '[eclPaginationList]',\n})\nexport class EclPaginationListDirective extends ECLBaseDirective {\n /**\n * Adds the `ecl-pagination__list` class to the host element.\n */\n @HostBinding('class.ecl-pagination__list') hasClass = true;\n}\n","import { EclBaseEvent } from '@eui/ecl/core';\n\n/**\n * Event emitted by EclPaginationComponent when the page changes.\n * Contains information about the current page and visible item range.\n */\nexport class EclPaginationEvent extends EclBaseEvent {\n /**\n * Current page number after the change.\n */\n constructor(\n public readonly page: number,\n\n /**\n * Index of the first item shown on the current page.\n */\n public readonly showingFrom: number,\n\n /**\n * Index of the last item shown on the current page.\n */\n public readonly showingTo: number,\n ) {\n super();\n }\n}\n","import { Component, ContentChild, EventEmitter, HostBinding, Input, OnChanges, OnInit, Output, numberAttribute } from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { DefaultConfig, EuiPagination } from '@eui/base';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclPaginationEvent } from './events/ecl-pagination.event';\nimport { EclPaginationListDirective } from './ecl-pagination-list.directive';\nimport { EclPaginationItemComponent } from './ecl-pagination-item.component';\n\n/**\n * Component rendering the ECL pagination.\n * Supports manual and automatic modes.\n * Emits page change events and manages pagination logic.\n */\n@Component({\n selector: 'ecl-pagination',\n templateUrl: './ecl-pagination.component.html',\n imports: [NgTemplateOutlet, EclPaginationItemComponent],\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclPaginationComponent extends ECLBaseDirective implements OnInit, OnChanges {\n /**\n * Defines the pagination mode.\n * - `manual` - component waits for external events to change pages.\n * - `auto` - component manages the pages automatically based on inputs.\n */\n @Input() mode: 'manual' | 'auto' = 'manual';\n\n /**\n * Total number of items in the list.\n */\n @Input({ transform: numberAttribute }) totalItems: number = DefaultConfig.totalItems;\n\n /**\n * Number of items displayed on a single page.\n */\n @Input({ transform: numberAttribute }) pageSize: number = DefaultConfig.pageSize;\n\n /**\n * Currently selected page number.\n */\n @Input({ transform: numberAttribute }) currentPage: number = DefaultConfig.currentPage;\n\n /**\n * Number of pagination links visible around the current page.\n */\n @Input({ transform: numberAttribute }) pageWindowSize: number = DefaultConfig.pageWindowSize;\n\n /**\n * Emits a pagination event each time the page changes.\n */\n @Output() page = new EventEmitter<EclPaginationEvent>();\n\n /**\n * Adds the `ecl-pagination` class to the host element.\n */\n @HostBinding('class.ecl-pagination') cmpClass = true;\n\n /**\n * Sets the ARIA role to indicate navigation.\n */\n @HostBinding('attr.role') role = 'navigation';\n\n /**\n * Reference to the pagination list directive inside the component's content.\n */\n @ContentChild(EclPaginationListDirective) eclPaginationList: EclPaginationListDirective;\n\n /**\n * Internal pagination model storing pagination data and logic.\n */\n public model = EuiPagination.create();\n\n /**\n * Lifecycle hook that runs once after component initialization.\n * In automatic mode, triggers an initial page event.\n */\n ngOnInit(): void {\n if (this.isModeAuto()) {\n setTimeout(() => {\n this.firePageEvent();\n });\n }\n }\n\n /**\n * Lifecycle hook called on input changes.\n * Re-creates the pagination model in automatic mode.\n */\n ngOnChanges(): void {\n if (this.isModeAuto()) {\n this.model = EuiPagination.create({\n totalItems: this.totalItems,\n pageSize: this.pageSize,\n currentPage: this.currentPage,\n pageWindowSize: this.pageWindowSize,\n });\n }\n }\n\n /**\n * Returns true if the pagination list exists in the template.\n */\n get hasList(): boolean {\n return !!this.eclPaginationList;\n }\n \n /**\n * Navigates to the previous page and emits a page change event.\n */\n onPreviousPage(): void {\n this.model.goToPreviousPage();\n this.firePageEvent();\n }\n\n /**\n * Navigates to the next page and emits a page change event.\n */\n onNextPage(): void {\n this.model.goToNextPage();\n this.firePageEvent();\n }\n\n /**\n * Navigates to a specific page and emits a page change event.\n *\n * @param page The page number to navigate to.\n */\n onPage(page: number): void {\n this.model.goToPage(page);\n this.firePageEvent();\n }\n\n /**\n * Checks if the component is in automatic mode.\n */\n isModeAuto(): boolean {\n return this.mode === 'auto';\n }\n\n /**\n * Emits the page change event with the current pagination state.\n */\n private firePageEvent(): void {\n const evt = new EclPaginationEvent(this.model.getCurrentPage(), this.model.getShowingFrom(), this.model.getShowingTo());\n\n this.page.next(evt);\n }\n}\n","@if(!hasList) {\n <ul class=\"ecl-pagination__list\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ul>\n } @else {\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n }\n \n <ng-template #content>\n @if (isModeAuto()){\n @if(model.hasPreviousPage()){\n <li eclPaginationItem [isPrevious]=\"true\" (pageClick)=\"onPreviousPage()\"> </li>\n }\n @for (page of model.getPages(); track page) {\n <li eclPaginationItem\n [label]=\"page.toString()\"\n [isCurrent]=\"model.getCurrentPage() === page\"\n (pageClick)=\"onPage(page)\"\n [pagesCount]=\"model.getPagesCount().toString()\">\n </li>\n }\n \n @if(model.hasNextPage()){\n <li eclPaginationItem [isNext]=\"true\" (pageClick)=\"onNextPage()\"> </li>\n }\n }\n \n @if(!isModeAuto()) {\n <ng-content></ng-content>\n }\n </ng-template>","import { EclPaginationItemComponent } from './ecl-pagination-item.component';\nimport { EclPaginationListDirective } from './ecl-pagination-list.directive';\nimport { EclPaginationComponent } from './ecl-pagination.component';\n\nexport * from './ecl-pagination.component';\nexport * from './ecl-pagination-item.component';\nexport * from './events/ecl-pagination.event';\nexport * from './ecl-pagination-list.directive';\n\nexport const EUI_ECL_PAGINATION = [\n EclPaginationComponent, EclPaginationItemComponent, EclPaginationListDirective,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"eui-ecl-components-ecl-pagination.mjs","sources":["../../components/ecl-pagination/ecl-pagination-item.component.ts","../../components/ecl-pagination/ecl-pagination-item.component.html","../../components/ecl-pagination/ecl-pagination-list.directive.ts","../../components/ecl-pagination/events/ecl-pagination.event.ts","../../components/ecl-pagination/ecl-pagination.component.ts","../../components/ecl-pagination/ecl-pagination.component.html","../../components/ecl-pagination/index.ts","../../components/ecl-pagination/eui-ecl-components-ecl-pagination.ts"],"sourcesContent":["import { Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewEncapsulation, booleanAttribute, inject } from '@angular/core';\nimport { Params, QueryParamsHandling, RouterLink, RouterLinkWithHref } from '@angular/router';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclBaseEvent } from '@eui/ecl/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\nimport { EUI_ECL_LINK } from '@eui/ecl/components/ecl-link';\n\n/**\n * Event emitted when a pagination item is clicked.\n */\nexport class EclPaginationItemClickEvent extends EclBaseEvent {}\n\n@Component({\n selector: 'li[eclPaginationItem]',\n templateUrl: './ecl-pagination-item.component.html',\n imports: [RouterLink, RouterLinkWithHref, TranslateModule, ...EUI_ECL_ICON, ...EUI_ECL_LINK],\n encapsulation: ViewEncapsulation.None,\n})\nexport class EclPaginationItemComponent extends ECLBaseDirective {\n el = inject(ElementRef);\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-pagination__item'),\n this.isCurrent ? 'ecl-pagination__item--current' : '',\n this.isNext ? 'ecl-pagination__item--next' : '',\n this.isPrevious ? 'ecl-pagination__item--previous' : '',\n ]\n .join(' ')\n .trim();\n }\n\n /**\n * Sets the `role` attribute for accessibility.\n */\n @HostBinding('attr.role') role = 'listitem';\n\n /**\n * Text content of the pagination item.\n */\n @Input() label: string;\n\n /**\n * Value for the `aria-label` attribute used for accessibility.\n */\n @Input() ariaLabel: string;\n\n /**\n * Total number of pages displayed by the pagination component.\n */\n @Input() pagesCount: string;\n\n /**\n * Adds the `ecl-pagination__item--current` class when true.\n */\n @Input({ transform: booleanAttribute }) isCurrent: boolean;\n\n /**\n * Adds the `ecl-pagination__item--next` class when true.\n */\n @Input({ transform: booleanAttribute }) isNext: boolean;\n\n /**\n * Adds the `ecl-pagination__item--previous` class when true.\n */\n @Input({ transform: booleanAttribute }) isPrevious: boolean;\n\n /**\n * Adds the `ecl-pagination__item--truncation` class when true.\n */\n @Input({ transform: booleanAttribute }) @HostBinding('class.ecl-pagination__item--truncation') isTruncated = false;\n\n /**\n * Router navigation link for Angular routing.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Input() routerLink: string | any[] = null;\n\n /**\n * Query parameters for the router link.\n */\n @Input() queryParams: Params | null = null;\n\n /**\n * Determines how query parameters are handled during navigation.\n */\n @Input() queryParamsHandling: QueryParamsHandling = null;\n\n /**\n * Href link for navigation.\n */\n @Input() href: string = null;\n\n /**\n * Emits when the pagination item is clicked.\n */\n @Output() pageClick = new EventEmitter<EclPaginationItemClickEvent>();\n\n get anchorRole(): string | null {\n return !this.href && !this.routerLink ? 'button' : null;\n }\n\n /**\n * Adds relevant classes to the host element.\n */\n constructor() {\n super();\n const el = this.el;\n\n if (el.nativeElement.tagName.toLowerCase() === 'ecl-pagination-item') {\n console.warn('\"ecl-pagination-item\" selector is deprecated; use \"li[eclPaginationItem]\" instead.');\n }\n }\n\n /**\n * Returns true if this item is an icon-only element (previous or next page).\n */\n get isIconOnly(): boolean {\n return this.isPrevOrNextVisible();\n }\n\n /**\n * Handles the click event and emits the `pageClick` output.\n * Prevents event propagation if no href is defined.\n *\n * @param evt Event object from the DOM click event.\n */\n onPageClick(evt: Event): void {\n this.pageClick.next(new EclPaginationItemClickEvent());\n if (!this.href) {\n evt.stopPropagation();\n }\n }\n\n /**\n * Returns the i18n translation key for the ARIA label.\n */\n geti18nPageAriaLabelKey(): string {\n let key = '';\n\n if (this.isNext) {\n key = 'ecl.pagination.GO-TO-NEXT-PAGE';\n } else if (this.isPrevious) {\n key = 'ecl.pagination.GO-TO-PREV-PAGE';\n } else {\n key = 'ecl.pagination.GO-TO-PAGE';\n }\n return key;\n }\n\n /**\n * Returns the i18n translation key for the visible label.\n */\n geti18nPageLabelKey(): string {\n let key = '';\n\n if (this.isNext) {\n key = 'ecl.pagination.NEXT';\n } else if (this.isPrevious) {\n key = 'ecl.pagination.PREVIOUS';\n }\n return key;\n }\n\n /**\n * Returns true if the item is either previous or next.\n */\n isPrevOrNextVisible(): boolean {\n return this.isPrevious || this.isNext;\n }\n}\n","@if (!isCurrent && !isTruncated) {\n@if(routerLink){\n<a eclLink [isIconOnly]=\"isIconOnly\" (keydown.enter)=\"onPageClick($event)\" (click)=\"onPageClick($event)\" variant=\"standalone\"\n attr.aria-label=\"{{ ariaLabel || geti18nPageAriaLabelKey() | translate: { pageNumber: label } }}\" [attr.role]=\"anchorRole\"\n [routerLink]=\"routerLink\" [queryParams]=\"queryParams\" [queryParamsHandling]=\"queryParamsHandling\"\n class=\"ecl-pagination__link eui-ecl-u-cursor-pointer\" tabindex=\"{{tabindex ? tabindex : 0}}\">\n @if (isPrevious) {\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-270\"></ecl-icon>\n }\n <span eclLinkLabel>{{ label || geti18nPageLabelKey() | translate }}</span>\n @if (isNext) {\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-90\"></ecl-icon>\n }\n</a>\n}\n\n@if (!routerLink) {\n<a eclLink [isIconOnly]=\"isIconOnly\" (keydown.enter)=\"onPageClick($event)\" (click)=\"onPageClick($event)\" variant=\"standalone\"\n attr.aria-label=\"{{ ariaLabel || geti18nPageAriaLabelKey() | translate: { pageNumber: label } }}\" [attr.href]=\"href\"\n class=\"ecl-pagination__link eui-ecl-u-cursor-pointer\" tabindex=\"{{tabindex ? tabindex : 0}}\" [attr.role]=\"anchorRole\">\n @if (isPrevious) {\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-270\"></ecl-icon>\n }\n <span eclLinkLabel>{{ label || geti18nPageLabelKey() | translate }}</span>\n @if (isNext) {\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-90\"></ecl-icon>\n }\n</a>\n}\n}\n\n@else if (isTruncated) {\n<span class=\"ecl-pagination__text ecl-pagination__text--summary\" aria-current=\"true\">\n {{ label }}\n</span>\n}\n@else {\n<span class=\"ecl-pagination__text ecl-pagination__text--summary\" aria-current=\"true\">\n {{ label }}\n</span>\n\n<span class=\"ecl-pagination__text ecl-pagination__text--full\" aria-current=\"true\">\n {{ 'ecl.pagination.PAGE' | translate: { pageNumber: label } }}\n @if(pagesCount) {\n {{ 'ecl.common.OF' | translate}} {{pagesCount}}\n }\n</span>\n}","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive to apply ECL styles to the pagination list element.\n * Adds the `ecl-pagination__list` class to the host element.\n */\n@Directive({\n selector: '[eclPaginationList]',\n})\nexport class EclPaginationListDirective extends ECLBaseDirective {\n /**\n * Adds the `ecl-pagination__list` class to the host element.\n */\n @HostBinding('class.ecl-pagination__list') hasClass = true;\n}\n","import { EclBaseEvent } from '@eui/ecl/core';\n\n/**\n * Event emitted by EclPaginationComponent when the page changes.\n * Contains information about the current page and visible item range.\n */\nexport class EclPaginationEvent extends EclBaseEvent {\n /**\n * Current page number after the change.\n */\n constructor(\n public readonly page: number,\n\n /**\n * Index of the first item shown on the current page.\n */\n public readonly showingFrom: number,\n\n /**\n * Index of the last item shown on the current page.\n */\n public readonly showingTo: number,\n ) {\n super();\n }\n}\n","import { Component, ContentChild, EventEmitter, HostBinding, Input, OnChanges, OnInit, Output, numberAttribute } from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { DefaultConfig, EuiPagination } from '@eui/base';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclPaginationEvent } from './events/ecl-pagination.event';\nimport { EclPaginationListDirective } from './ecl-pagination-list.directive';\nimport { EclPaginationItemComponent } from './ecl-pagination-item.component';\n\n/**\n * Component rendering the ECL pagination.\n * Supports manual and automatic modes.\n * Emits page change events and manages pagination logic.\n */\n@Component({\n selector: 'ecl-pagination',\n templateUrl: './ecl-pagination.component.html',\n imports: [NgTemplateOutlet, EclPaginationItemComponent],\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclPaginationComponent extends ECLBaseDirective implements OnInit, OnChanges {\n /**\n * Defines the pagination mode.\n * - `manual` - component waits for external events to change pages.\n * - `auto` - component manages the pages automatically based on inputs.\n */\n @Input() mode: 'manual' | 'auto' = 'manual';\n\n /**\n * Total number of items in the list.\n */\n @Input({ transform: numberAttribute }) totalItems: number = DefaultConfig.totalItems;\n\n /**\n * Number of items displayed on a single page.\n */\n @Input({ transform: numberAttribute }) pageSize: number = DefaultConfig.pageSize;\n\n /**\n * Currently selected page number.\n */\n @Input({ transform: numberAttribute }) currentPage: number = DefaultConfig.currentPage;\n\n /**\n * Number of pagination links visible around the current page.\n */\n @Input({ transform: numberAttribute }) pageWindowSize: number = DefaultConfig.pageWindowSize;\n\n /**\n * Emits a pagination event each time the page changes.\n */\n @Output() page = new EventEmitter<EclPaginationEvent>();\n\n /**\n * Adds the `ecl-pagination` class to the host element.\n */\n @HostBinding('class.ecl-pagination') cmpClass = true;\n\n /**\n * Sets the ARIA role to indicate navigation.\n */\n @HostBinding('attr.role') role = 'navigation';\n\n /**\n * Reference to the pagination list directive inside the component's content.\n */\n @ContentChild(EclPaginationListDirective) eclPaginationList: EclPaginationListDirective;\n\n /**\n * Internal pagination model storing pagination data and logic.\n */\n public model = EuiPagination.create();\n\n /**\n * Lifecycle hook that runs once after component initialization.\n * In automatic mode, triggers an initial page event.\n */\n ngOnInit(): void {\n if (this.isModeAuto()) {\n setTimeout(() => {\n this.firePageEvent();\n });\n }\n }\n\n /**\n * Lifecycle hook called on input changes.\n * Re-creates the pagination model in automatic mode.\n */\n ngOnChanges(): void {\n if (this.isModeAuto()) {\n this.model = EuiPagination.create({\n totalItems: this.totalItems,\n pageSize: this.pageSize,\n currentPage: this.currentPage,\n pageWindowSize: this.pageWindowSize,\n });\n }\n }\n\n /**\n * Returns true if the pagination list exists in the template.\n */\n get hasList(): boolean {\n return !!this.eclPaginationList;\n }\n \n /**\n * Navigates to the previous page and emits a page change event.\n */\n onPreviousPage(): void {\n this.model.goToPreviousPage();\n this.firePageEvent();\n }\n\n /**\n * Navigates to the next page and emits a page change event.\n */\n onNextPage(): void {\n this.model.goToNextPage();\n this.firePageEvent();\n }\n\n /**\n * Navigates to a specific page and emits a page change event.\n *\n * @param page The page number to navigate to.\n */\n onPage(page: number): void {\n this.model.goToPage(page);\n this.firePageEvent();\n }\n\n /**\n * Checks if the component is in automatic mode.\n */\n isModeAuto(): boolean {\n return this.mode === 'auto';\n }\n\n /**\n * Emits the page change event with the current pagination state.\n */\n private firePageEvent(): void {\n const evt = new EclPaginationEvent(this.model.getCurrentPage(), this.model.getShowingFrom(), this.model.getShowingTo());\n\n this.page.next(evt);\n }\n}\n","@if(!hasList) {\n <ul class=\"ecl-pagination__list\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ul>\n } @else {\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n }\n \n <ng-template #content>\n @if (isModeAuto()){\n @if(model.hasPreviousPage()){\n <li eclPaginationItem [isPrevious]=\"true\" (pageClick)=\"onPreviousPage()\"> </li>\n }\n @for (page of model.getPages(); track page) {\n <li eclPaginationItem\n [label]=\"page.toString()\"\n [isCurrent]=\"model.getCurrentPage() === page\"\n (pageClick)=\"onPage(page)\"\n [pagesCount]=\"model.getPagesCount().toString()\">\n </li>\n }\n \n @if(model.hasNextPage()){\n <li eclPaginationItem [isNext]=\"true\" (pageClick)=\"onNextPage()\"> </li>\n }\n }\n \n @if(!isModeAuto()) {\n <ng-content></ng-content>\n }\n </ng-template>","import { EclPaginationItemComponent } from './ecl-pagination-item.component';\nimport { EclPaginationListDirective } from './ecl-pagination-list.directive';\nimport { EclPaginationComponent } from './ecl-pagination.component';\n\nexport * from './ecl-pagination.component';\nexport * from './ecl-pagination-item.component';\nexport * from './events/ecl-pagination.event';\nexport * from './ecl-pagination-list.directive';\n\nexport const EUI_ECL_PAGINATION = [\n EclPaginationComponent, EclPaginationItemComponent, EclPaginationListDirective,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { HostBinding, Directive, booleanAttribute, Input, ViewEncapsulation, Component, input, contentChildren, inject } from '@angular/core';
|
|
2
|
+
import { HostBinding, Directive, booleanAttribute, Input, ViewEncapsulation, Component, input, contentChildren, inject, ElementRef } from '@angular/core';
|
|
3
3
|
import * as i1 from '@eui/ecl/components/ecl-link';
|
|
4
4
|
import { EUI_ECL_LINK, EclLinkDirective } from '@eui/ecl/components/ecl-link';
|
|
5
5
|
import * as i2 from '@eui/ecl/components/ecl-social-media-follow';
|
|
@@ -163,7 +163,7 @@ class EclSiteFooterRowCommonComponent extends ECLBaseDirective {
|
|
|
163
163
|
return logoLanguageCode(this.languageCode);
|
|
164
164
|
}
|
|
165
165
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclSiteFooterRowCommonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
166
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0", type: EclSiteFooterRowCommonComponent, isStandalone: true, selector: "div[eclSiteFooterRowCommon]", inputs: { languageCode: "languageCode", isCore: "isCore" }, host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"ecl-site-footer__section ecl-site-footer__section--common\">\n @if (!isCore) {\n <a href=\"https://commission.europa.eu/index_{{languageCode}}\"\n class=\"ecl-link ecl-link--standalone ecl-link--inverted ecl-site-footer__logo-link\">\n <picture class=\"ecl-picture ecl-site-footer__picture\"><img class=\"ecl-site-footer__logo-image\"\n src=\"assets/images/ecl/ec/logo/negative/logo-ec--{{logoLanguageCode}}.svg\" alt=\"European Commission\">\n </picture>\n </a>\n <div class=\"ecl-site-footer__extra-links-container\">\n <ecl-social-media-follow description=\"{{'ecl.footer.FOLLOW-EUROPEAN-COMMISSION' | translate}}\"\n class=\"ecl-social-media-follow--description_inline ecl-site-footer__social-media\">\n <ecl-social-media-follow-item icon=\"facebook\" href=\"https://www.facebook.com/EuropeanCommission\"\n isInverted></ecl-social-media-follow-item>\n <ecl-social-media-follow-item icon=\"instagram\" href=\"https://www.instagram.com/europeancommission/\"\n isInverted></ecl-social-media-follow-item>\n <ecl-social-media-follow-item icon=\"twitter\" href=\"https://x.com/EU_Commission\"\n isInverted></ecl-social-media-follow-item>\n <ecl-social-media-follow-item icon=\"linkedin\" href=\"https://www.linkedin.com/company/european-commission\"\n isInverted></ecl-social-media-follow-item>\n <ecl-social-media-follow-item icon=\"chain\"\n href=\"https://european-union.europa.eu/contact-eu/social-media-channels_{{languageCode}}\"\n isInverted></ecl-social-media-follow-item>\n </ecl-social-media-follow>\n <ul eclSiteFooterList isInline>\n <li eclSiteFooterListItem><a\n href=\"https://commission.europa.eu/about-european-commission/contact_{{languageCode}}\"\n class=\"ecl-link ecl-link--standalone ecl-link--inverted ecl-site-footer__link\">{{ 'ecl.footer.CONTACT' | translate }}</a></li>\n </ul>\n </div>\n } @else {\n <ecl-social-media-follow description=\"{{'ecl.footer.FOLLOW-EUROPEAN-COMMISSION' | translate}}\"\n class=\"ecl-social-media-follow--description_inline ecl-site-footer__social-media\">\n <ecl-social-media-follow-item icon=\"facebook\" href=\"https://www.facebook.com/EuropeanCommission\"\n isInverted></ecl-social-media-follow-item>\n <ecl-social-media-follow-item icon=\"instagram\" href=\"https://www.instagram.com/europeancommission/\"\n isInverted></ecl-social-media-follow-item>\n <ecl-social-media-follow-item icon=\"twitter\" href=\"https://x.com/EU_Commission\"\n isInverted></ecl-social-media-follow-item>\n <ecl-social-media-follow-item icon=\"linkedin\" href=\"https://www.linkedin.com/company/european-commission\"\n isInverted></ecl-social-media-follow-item>\n <ecl-social-media-follow-item icon=\"chain\"\n href=\"https://european-union.europa.eu/contact-eu/social-media-channels_{{languageCode}}\"\n isInverted></ecl-social-media-follow-item>\n </ecl-social-media-follow>\n }\n <ul eclSiteFooterList isInline>\n <li eclSiteFooterListItem><a\n href=\"https://commission.europa.eu/legal-notice/vulnerability-disclosure-policy_{{languageCode}}\"\n eclLink isInverted variant=\"standalone\" eclSiteFooterLink>{{ 'ecl.footer.REPORT-IT-VULNERABILITY' | translate }}</a></li>\n <li eclSiteFooterListItem><a href=\"https://commission.europa.eu/languages-our-websites_{{languageCode}}\" eclLink\n isInverted variant=\"standalone\" eclSiteFooterLink>{{ 'ecl.footer.LANGUAGES' | translate }}</a></li>\n <li eclSiteFooterListItem><a href=\"https://commission.europa.eu/cookies_{{languageCode}}\" eclLink isInverted\n variant=\"standalone\" eclSiteFooterLink>{{ 'ecl.footer.COOKIES' | translate }}</a></li>\n <li eclSiteFooterListItem><a href=\"https://commission.europa.eu/privacy-policy_{{languageCode}}\" eclLink\n isInverted variant=\"standalone\" eclSiteFooterLink>{{ 'ecl.footer.PRIVACY-POLICY' | translate }}</a></li>\n <li eclSiteFooterListItem><a href=\"https://commission.europa.eu/legal-notice_{{languageCode}}\" eclLink\n isInverted variant=\"standalone\" eclSiteFooterLink>{{ 'ecl.footer.LEGAL-NOTICE' | translate }}</a></li>\n <li eclSiteFooterListItem><a href=\"https://commission.europa.eu/accessibility-statement_{{languageCode}}\"\n eclLink isInverted variant=\"standalone\" eclSiteFooterLink>{{ 'ecl.footer.ACCESSIBILITY' | translate }}</a></li>\n </ul>\n</div>", styles: [".ecl-link--inverted svg.ecl-social-media-follow__icon{fill:#000;filter:invert(1)}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i1.EclLinkDirective, selector: "[eclLink]", inputs: ["isInverted", "isIconOnly", "isHighlight", "isNoVisited", "variant"] }, { kind: "component", type: i2.EclSocialMediaFollowComponent, selector: "ecl-social-media-follow", inputs: ["description", "isVertical", "horizontalAlignment"] }, { kind: "component", type: i2.EclSocialMediaFollowItemComponent, selector: "ecl-social-media-follow-item", inputs: ["isInverted", "icon", "iconSet", "href", "routerLink", "target", "size"], outputs: ["itemClick"] }, { kind: "directive", type: EclSiteFooterListItemDirective, selector: "[eclSiteFooterListItem]" }, { kind: "directive", type: EclSiteFooterLinkDirective, selector: "[eclSiteFooterLink]" }, { kind: "directive", type: EclSiteFooterListDirective, selector: "[eclSiteFooterList]", inputs: ["isInline"] }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
166
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0", type: EclSiteFooterRowCommonComponent, isStandalone: true, selector: "div[eclSiteFooterRowCommon]", inputs: { languageCode: "languageCode", isCore: "isCore" }, host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"ecl-site-footer__section ecl-site-footer__section--common\">\n @if (!isCore) {\n <a href=\"https://commission.europa.eu/index_{{languageCode}}\"\n class=\"ecl-link ecl-link--standalone ecl-link--inverted ecl-site-footer__logo-link\">\n <picture class=\"ecl-picture ecl-site-footer__picture\"><img class=\"ecl-site-footer__logo-image\"\n src=\"assets/images/ecl/ec/logo/negative/logo-ec--{{logoLanguageCode}}.svg\" alt=\"European Commission\">\n </picture>\n </a>\n <div class=\"ecl-site-footer__extra-links-container\">\n <ecl-social-media-follow description=\"{{'ecl.footer.FOLLOW-EUROPEAN-COMMISSION' | translate}}\"\n class=\"ecl-social-media-follow--description_inline ecl-site-footer__social-media\">\n <ecl-social-media-follow-item icon=\"facebook\" href=\"https://www.facebook.com/EuropeanCommission\"\n isInverted></ecl-social-media-follow-item>\n <ecl-social-media-follow-item icon=\"instagram\" href=\"https://www.instagram.com/europeancommission/\"\n isInverted></ecl-social-media-follow-item>\n <ecl-social-media-follow-item icon=\"twitter\" href=\"https://x.com/EU_Commission\"\n isInverted></ecl-social-media-follow-item>\n <ecl-social-media-follow-item icon=\"linkedin\" href=\"https://www.linkedin.com/company/european-commission\"\n isInverted></ecl-social-media-follow-item>\n <ecl-social-media-follow-item icon=\"chain\"\n href=\"https://european-union.europa.eu/contact-eu/social-media-channels_{{languageCode}}\"\n isInverted></ecl-social-media-follow-item>\n </ecl-social-media-follow>\n <ul eclSiteFooterList isInline>\n <li eclSiteFooterListItem><a\n href=\"https://commission.europa.eu/about-european-commission/contact_{{languageCode}}\"\n class=\"ecl-link ecl-link--standalone ecl-link--inverted ecl-site-footer__link\">{{ 'ecl.footer.CONTACT' | translate }}</a></li>\n </ul>\n </div>\n } @else {\n <ecl-social-media-follow description=\"{{'ecl.footer.FOLLOW-EUROPEAN-COMMISSION' | translate}}\"\n class=\"ecl-social-media-follow--description_inline ecl-site-footer__social-media\">\n <ecl-social-media-follow-item icon=\"facebook\" href=\"https://www.facebook.com/EuropeanCommission\"\n isInverted></ecl-social-media-follow-item>\n <ecl-social-media-follow-item icon=\"instagram\" href=\"https://www.instagram.com/europeancommission/\"\n isInverted></ecl-social-media-follow-item>\n <ecl-social-media-follow-item icon=\"twitter\" href=\"https://x.com/EU_Commission\"\n isInverted></ecl-social-media-follow-item>\n <ecl-social-media-follow-item icon=\"linkedin\" href=\"https://www.linkedin.com/company/european-commission\"\n isInverted></ecl-social-media-follow-item>\n <ecl-social-media-follow-item icon=\"chain\"\n href=\"https://european-union.europa.eu/contact-eu/social-media-channels_{{languageCode}}\"\n isInverted></ecl-social-media-follow-item>\n </ecl-social-media-follow>\n }\n <ul eclSiteFooterList isInline>\n <li eclSiteFooterListItem><a\n href=\"https://commission.europa.eu/legal-notice/vulnerability-disclosure-policy_{{languageCode}}\"\n eclLink isInverted variant=\"standalone\" eclSiteFooterLink>{{ 'ecl.footer.REPORT-IT-VULNERABILITY' | translate }}</a></li>\n <li eclSiteFooterListItem><a href=\"https://commission.europa.eu/languages-our-websites_{{languageCode}}\" eclLink\n isInverted variant=\"standalone\" eclSiteFooterLink>{{ 'ecl.footer.LANGUAGES' | translate }}</a></li>\n <li eclSiteFooterListItem><a href=\"https://commission.europa.eu/cookies_{{languageCode}}\" eclLink isInverted\n variant=\"standalone\" eclSiteFooterLink>{{ 'ecl.footer.COOKIES' | translate }}</a></li>\n <li eclSiteFooterListItem><a href=\"https://commission.europa.eu/privacy-policy_{{languageCode}}\" eclLink\n isInverted variant=\"standalone\" eclSiteFooterLink>{{ 'ecl.footer.PRIVACY-POLICY' | translate }}</a></li>\n <li eclSiteFooterListItem><a href=\"https://commission.europa.eu/legal-notice_{{languageCode}}\" eclLink\n isInverted variant=\"standalone\" eclSiteFooterLink>{{ 'ecl.footer.LEGAL-NOTICE' | translate }}</a></li>\n <li eclSiteFooterListItem><a href=\"https://commission.europa.eu/accessibility-statement_{{languageCode}}\"\n eclLink isInverted variant=\"standalone\" eclSiteFooterLink>{{ 'ecl.footer.ACCESSIBILITY' | translate }}</a></li>\n </ul>\n</div>", styles: [".ecl-link--inverted svg.ecl-social-media-follow__icon{fill:#000;filter:invert(1)}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i1.EclLinkDirective, selector: "[eclLink]", inputs: ["extraAttributes", "isInverted", "isIconOnly", "isHighlight", "isNoVisited", "variant"] }, { kind: "component", type: i2.EclSocialMediaFollowComponent, selector: "ecl-social-media-follow", inputs: ["description", "isVertical", "horizontalAlignment"] }, { kind: "component", type: i2.EclSocialMediaFollowItemComponent, selector: "ecl-social-media-follow-item", inputs: ["isInverted", "icon", "iconSet", "href", "routerLink", "target", "size", "extraAttributes"], outputs: ["itemClick"] }, { kind: "directive", type: EclSiteFooterListItemDirective, selector: "[eclSiteFooterListItem]" }, { kind: "directive", type: EclSiteFooterLinkDirective, selector: "[eclSiteFooterLink]" }, { kind: "directive", type: EclSiteFooterListDirective, selector: "[eclSiteFooterList]", inputs: ["isInline"] }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
167
167
|
}
|
|
168
168
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclSiteFooterRowCommonComponent, decorators: [{
|
|
169
169
|
type: Component,
|
|
@@ -186,7 +186,7 @@ class EclSiteFooterCoreComponent extends ECLBaseDirective {
|
|
|
186
186
|
return [super.getCssClasses('ecl-site-footer__section ecl-site-footer__section--core')].join(' ').trim();
|
|
187
187
|
}
|
|
188
188
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclSiteFooterCoreComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
189
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0", type: EclSiteFooterCoreComponent, isStandalone: true, selector: "div[eclSiteFooterCore]", inputs: { languageCode: "languageCode" }, host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0, template: "<ul class=\"ecl-site-footer__list\">\n <li eclSiteFooterListItem><a href=\"https://commission.europa.eu/about-european-commission_{{languageCode}}\"\n eclLink isInverted variant=\"standalone\" eclSiteFooterLink>{{ 'ecl.footer.ABOUT-US' | translate }}</a></li>\n <li eclSiteFooterListItem><a href=\"https://commission.europa.eu/about-european-commission/contact_{{languageCode}}\"\n eclLink isInverted variant=\"standalone\" eclSiteFooterLink>{{ 'ecl.footer.CONTACT-US' |translate }}</a></li>\n <li eclSiteFooterListItem><a href=\"/example#lxsav\"\n eclLink isInverted variant=\"standalone\" eclSiteFooterLink>{{ 'ecl.footer.PRIORITIES' | translate }}</a></li>\n <li eclSiteFooterListItem><a href=\"/example#w8i44\"\n eclLink isInverted variant=\"standalone\" eclSiteFooterLink>Topics</a></li>\n <li eclSiteFooterListItem><a href=\"https://commission.europa.eu/funding-tenders_{{languageCode}}\"\n eclLink isInverted variant=\"standalone\" eclSiteFooterLink>Funding and tenders</a>\n </li>\n <li eclSiteFooterListItem><a href=\"https://commission.europa.eu/jobs-european-commission_{{languageCode}}\"\n eclLink isInverted variant=\"standalone\" eclSiteFooterLink>Jobs</a></li>\n <li eclSiteFooterListItem><a href=\"https://ec.europa.eu/commission/presscorner/home/{{languageCode}}\"\n eclLink isInverted variant=\"standalone\" eclSiteFooterLink>Press corner</a></li>\n <li eclSiteFooterListItem><a href=\"https://commission.europa.eu/events_{{languageCode}}\"\n eclLink isInverted variant=\"standalone\" eclSiteFooterLink>Events</a></li>\n</ul>", dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i1.EclLinkDirective, selector: "[eclLink]", inputs: ["isInverted", "isIconOnly", "isHighlight", "isNoVisited", "variant"] }, { kind: "directive", type: EclSiteFooterListItemDirective, selector: "[eclSiteFooterListItem]" }, { kind: "directive", type: EclSiteFooterLinkDirective, selector: "[eclSiteFooterLink]" }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }] }); }
|
|
189
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0", type: EclSiteFooterCoreComponent, isStandalone: true, selector: "div[eclSiteFooterCore]", inputs: { languageCode: "languageCode" }, host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0, template: "<ul class=\"ecl-site-footer__list\">\n <li eclSiteFooterListItem><a href=\"https://commission.europa.eu/about-european-commission_{{languageCode}}\"\n eclLink isInverted variant=\"standalone\" eclSiteFooterLink>{{ 'ecl.footer.ABOUT-US' | translate }}</a></li>\n <li eclSiteFooterListItem><a href=\"https://commission.europa.eu/about-european-commission/contact_{{languageCode}}\"\n eclLink isInverted variant=\"standalone\" eclSiteFooterLink>{{ 'ecl.footer.CONTACT-US' |translate }}</a></li>\n <li eclSiteFooterListItem><a href=\"/example#lxsav\"\n eclLink isInverted variant=\"standalone\" eclSiteFooterLink>{{ 'ecl.footer.PRIORITIES' | translate }}</a></li>\n <li eclSiteFooterListItem><a href=\"/example#w8i44\"\n eclLink isInverted variant=\"standalone\" eclSiteFooterLink>Topics</a></li>\n <li eclSiteFooterListItem><a href=\"https://commission.europa.eu/funding-tenders_{{languageCode}}\"\n eclLink isInverted variant=\"standalone\" eclSiteFooterLink>Funding and tenders</a>\n </li>\n <li eclSiteFooterListItem><a href=\"https://commission.europa.eu/jobs-european-commission_{{languageCode}}\"\n eclLink isInverted variant=\"standalone\" eclSiteFooterLink>Jobs</a></li>\n <li eclSiteFooterListItem><a href=\"https://ec.europa.eu/commission/presscorner/home/{{languageCode}}\"\n eclLink isInverted variant=\"standalone\" eclSiteFooterLink>Press corner</a></li>\n <li eclSiteFooterListItem><a href=\"https://commission.europa.eu/events_{{languageCode}}\"\n eclLink isInverted variant=\"standalone\" eclSiteFooterLink>Events</a></li>\n</ul>", dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i1.EclLinkDirective, selector: "[eclLink]", inputs: ["extraAttributes", "isInverted", "isIconOnly", "isHighlight", "isNoVisited", "variant"] }, { kind: "directive", type: EclSiteFooterListItemDirective, selector: "[eclSiteFooterListItem]" }, { kind: "directive", type: EclSiteFooterLinkDirective, selector: "[eclSiteFooterLink]" }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }] }); }
|
|
190
190
|
}
|
|
191
191
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclSiteFooterCoreComponent, decorators: [{
|
|
192
192
|
type: Component,
|
|
@@ -339,7 +339,7 @@ class EclSiteFooterFixedContentEUComponent extends ECLBaseDirective {
|
|
|
339
339
|
}
|
|
340
340
|
}
|
|
341
341
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclSiteFooterFixedContentEUComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
342
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0", type: EclSiteFooterFixedContentEUComponent, isStandalone: true, selector: "ecl-site-footer-fixed-content-eu", inputs: { isCore: ["isCore", "isCore", booleanAttribute], languageCode: "languageCode", ecLogoLanguageCode: "ecLogoLanguageCode", content: "content" }, usesInheritance: true, ngImport: i0, template: "@if(isCore){\n <div eclSiteFooterRow>\n <div eclSiteFooterColumn>\n <div eclSiteFooterSection>\n <a\n eclLink\n href=\"https://european-union.europa.eu/index_{{ ecLogoLanguageCode }}\"\n variant=\"standalone\"\n eclSiteFooterLogoLink\n [attr.aria-label]=\"'ecl.footer.EUROPEAN-UNION' | translate\">\n <picture eclSiteFooterPicture [attr.title]=\"'ecl.footer.EUROPEAN-UNION' | translate\">\n <source\n srcset=\"./assets/images/ecl/eu/logo/standard-version/positive/logo-eu--{{ ecLogoLanguageCode }}.svg\"\n media=\"(min-width: 996px)\" />\n <img\n eclSiteFooterLogoImage\n src=\"./assets/images/ecl/eu/logo/condensed-version/positive/logo-eu--{{ ecLogoLanguageCode }}.svg\"\n alt=\"European Union logo\" />\n </picture>\n </a>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n </div>\n\n <div eclSiteFooterColumn>\n <div eclSiteFooterSection>\n <div eclSiteFooterTitle isSeparator>\n {{ 'ecl.footer.CONTACT-EU' | translate }}\n </div>\n <ul eclSiteFooterList>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.STRATEGY' | translate\"\n variant=\"standalone\"\n href=\"tel:0080067891011\">\n {{ 'ecl.footer.CALL-US' | translate }} 00 800 6 7 8 9 10 11\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.USE-OTHER-TELEPHONE-OPTIONS' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/contact-eu/call-us_{{ languageCode }}\">\n {{ 'ecl.footer.USE-OTHER-TELEPHONE-OPTIONS' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.WRITE-TO-US' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/contact-eu/write-us_{{ languageCode }}\">\n {{ 'ecl.footer.WRITE-TO-US' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.MEET-US' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/contact-eu/meet-us_{{ languageCode }}\">\n {{ 'ecl.footer.MEET-US' | translate }}\n </a>\n </li>\n </ul>\n </div>\n <div eclSiteFooterSection>\n <div eclSiteFooterTitle isSeparator>\n {{ 'ecl.footer.SOCIAL-MEDIA' | translate }}\n </div>\n <ul eclSiteFooterList>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.SEARCH-FOR-EU-SOCIAL-MEDIA' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/contact-eu/social-media-channels_{{ languageCode }}\">\n {{ 'ecl.footer.SEARCH-FOR-EU-SOCIAL-MEDIA' | translate }}\n </a>\n </li>\n </ul>\n </div>\n </div>\n <div eclSiteFooterColumn>\n <div eclSiteFooterSection>\n <div eclSiteFooterTitle isSeparator>\n {{ 'ecl.footer.LEGAL' | translate }}\n </div>\n <ul eclSiteFooterList>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.LANGUAGES' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/languages-our-websites_{{ languageCode }}\">\n {{ 'ecl.footer.LANGUAGES' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.PRIVACY-POLICY' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/privacy-policy_{{ languageCode }}\">\n {{ 'ecl.footer.PRIVACY-POLICY' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.LEGAL-NOTICE' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/legal-notice_{{ languageCode }}\">\n {{ 'ecl.footer.LEGAL-NOTICE' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.COOKIES' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/cookies_{{ languageCode }}\">\n {{ 'ecl.footer.COOKIES' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.ACCESSIBILITY' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/web-accessibility-policy_{{ languageCode }}\">\n {{ 'ecl.footer.ACCESSIBILITY' | translate }}\n </a>\n </li>\n </ul>\n </div>\n <div eclSiteFooterSection>\n <div eclSiteFooterTitle isSeparator>\n {{ 'ecl.footer.EU-INSTITUTIONS-AND-BODIES' | translate }}\n </div>\n <ul eclSiteFooterList>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.SEARCH-EU-INSTITUTIONS-AND-BODIES' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/institutions-law-budget/institutions-and-bodies/search-all-eu-institutions-and-bodies_{{\n languageCode }}\">\n {{ 'ecl.footer.SEARCH-EU-INSTITUTIONS-AND-BODIES' | translate }}\n </a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n}\n@if(!isCore){\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n\n <div eclSiteFooterRow>\n <div eclSiteFooterColumn>\n <div eclSiteFooterSection>\n <a\n eclLink\n href=\"https://european-union.europa.eu/index_{{ ecLogoLanguageCode }}\"\n variant=\"standalone\"\n class=\"ecl-site-footer__logo-link\"\n [attr.aria-label]=\"'ecl.footer.EUROPEAN-UNION' | translate\">\n <picture eclSiteFooterPicture [attr.title]=\"'ecl.footer.EUROPEAN-UNION' | translate\">\n <source\n srcset=\"./assets/images/ecl/eu/logo/standard-version/positive/logo-eu--{{ ecLogoLanguageCode }}.svg\"\n media=\"(min-width: 996px)\" />\n <img\n eclSiteFooterLogoImage\n src=\"./assets/images/ecl/eu/logo/condensed-version/positive/logo-eu--{{ ecLogoLanguageCode }}.svg\"\n alt=\"European Union logo\" />\n </picture>\n </a>\n <ul eclSiteFooterList>\n <li eclSiteFooterListItem>\n <a href=\"https://european-union.europa.eu/index_{{ ecLogoLanguageCode }}\" eclLink variant=\"standalone\" class=\"ecl-site-footer__link\">\n {{ 'ecl.footer.DISCOVER-MORE-ON' | translate }} europa.eu</a>\n </li>\n </ul>\n </div>\n </div>\n\n <div eclSiteFooterColumn>\n <div eclSiteFooterSection>\n <div eclSiteFooterTitle isSeparator>\n {{ 'ecl.footer.CONTACT-EU' | translate }}\n </div>\n <ul eclSiteFooterList>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.STRATEGY' | translate\"\n variant=\"standalone\"\n href=\"tel:0080067891011\">\n {{ 'ecl.footer.CALL-US' | translate }} 00 800 6 7 8 9 10 11\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.USE-OTHER-TELEPHONE-OPTIONS' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/contact-eu/call-us_{{ languageCode }}\">\n {{ 'ecl.footer.USE-OTHER-TELEPHONE-OPTIONS' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.WRITE-TO-US' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/contact-eu/write-us_{{ languageCode }}\">\n {{ 'ecl.footer.WRITE-TO-US' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.MEET-US' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/contact-eu/meet-us_{{ languageCode }}\">\n {{ 'ecl.footer.MEET-US' | translate }}\n </a>\n </li>\n </ul>\n </div>\n <div eclSiteFooterSection>\n <div eclSiteFooterTitle isSeparator>\n {{ 'ecl.footer.SOCIAL-MEDIA' | translate }}\n </div>\n <ul eclSiteFooterList>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.SEARCH-FOR-EU-SOCIAL-MEDIA' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/contact-eu/social-media-channels_{{ languageCode }}\">\n {{ 'ecl.footer.SEARCH-FOR-EU-SOCIAL-MEDIA' | translate }}\n </a>\n </li>\n </ul>\n </div>\n </div>\n <div eclSiteFooterColumn>\n <div eclSiteFooterSection>\n <div eclSiteFooterTitle isSeparator>\n {{ 'ecl.footer.LEGAL' | translate }}\n </div>\n <ul eclSiteFooterList>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.LANGUAGES' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/languages-our-websites_{{ languageCode }}\">\n {{ 'ecl.footer.LANGUAGES' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.PRIVACY-POLICY' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/privacy-policy_{{ languageCode }}\">\n {{ 'ecl.footer.PRIVACY-POLICY' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.LEGAL-NOTICE' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/legal-notice_{{ languageCode }}\">\n {{ 'ecl.footer.LEGAL-NOTICE' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.COOKIES' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/cookies_{{ languageCode }}\">\n {{ 'ecl.footer.COOKIES' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.ACCESSIBILITY' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/web-accessibility-policy_{{ languageCode }}\">\n {{ 'ecl.footer.ACCESSIBILITY' | translate }}\n </a>\n </li>\n </ul>\n </div>\n <div eclSiteFooterSection>\n <div eclSiteFooterTitle isSeparator>\n {{ 'ecl.footer.EU-INSTITUTIONS-AND-BODIES' | translate }}\n </div>\n <ul eclSiteFooterList>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.SEARCH-EU-INSTITUTIONS-AND-BODIES' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/institutions-law-budget/institutions-and-bodies/search-all-eu-institutions-and-bodies_{{ languageCode }}\">\n {{ 'ecl.footer.SEARCH-EU-INSTITUTIONS-AND-BODIES' | translate }}\n </a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n}\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i1.EclLinkDirective, selector: "[eclLink]", inputs: ["isInverted", "isIconOnly", "isHighlight", "isNoVisited", "variant"] }, { kind: "directive", type: EclSiteFooterRowDirective, selector: "[eclSiteFooterRow]" }, { kind: "directive", type: EclSiteFooterColumnDirective, selector: "[eclSiteFooterColumn]" }, { kind: "directive", type: EclSiteFooterSectionDirective, selector: "[eclSiteFooterSection]", inputs: ["variant"] }, { kind: "directive", type: EclSiteFooterPictureDirective, selector: "picture[eclSiteFooterPicture]" }, { kind: "directive", type: EclSiteFooterLogoImageDirective, selector: "img[eclSiteFooterLogoImage]" }, { kind: "directive", type: EclSiteFooterListDirective, selector: "[eclSiteFooterList]", inputs: ["isInline"] }, { kind: "directive", type: EclSiteFooterListItemDirective, selector: "[eclSiteFooterListItem]" }, { kind: "directive", type: EclSiteFooterLinkDirective, selector: "[eclSiteFooterLink]" }, { kind: "directive", type: EclSiteFooterTitleDirective, selector: "[eclSiteFooterTitle]", inputs: ["isSeparator"] }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }] }); }
|
|
342
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0", type: EclSiteFooterFixedContentEUComponent, isStandalone: true, selector: "ecl-site-footer-fixed-content-eu", inputs: { isCore: ["isCore", "isCore", booleanAttribute], languageCode: "languageCode", ecLogoLanguageCode: "ecLogoLanguageCode", content: "content" }, usesInheritance: true, ngImport: i0, template: "@if(isCore){\n <div eclSiteFooterRow>\n <div eclSiteFooterColumn>\n <div eclSiteFooterSection>\n <a\n eclLink\n href=\"https://european-union.europa.eu/index_{{ ecLogoLanguageCode }}\"\n variant=\"standalone\"\n eclSiteFooterLogoLink\n [attr.aria-label]=\"'ecl.footer.EUROPEAN-UNION' | translate\">\n <picture eclSiteFooterPicture [attr.title]=\"'ecl.footer.EUROPEAN-UNION' | translate\">\n <source\n srcset=\"./assets/images/ecl/eu/logo/standard-version/positive/logo-eu--{{ ecLogoLanguageCode }}.svg\"\n media=\"(min-width: 996px)\" />\n <img\n eclSiteFooterLogoImage\n src=\"./assets/images/ecl/eu/logo/condensed-version/positive/logo-eu--{{ ecLogoLanguageCode }}.svg\"\n alt=\"European Union logo\" />\n </picture>\n </a>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n </div>\n\n <div eclSiteFooterColumn>\n <div eclSiteFooterSection>\n <div eclSiteFooterTitle isSeparator>\n {{ 'ecl.footer.CONTACT-EU' | translate }}\n </div>\n <ul eclSiteFooterList>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.STRATEGY' | translate\"\n variant=\"standalone\"\n href=\"tel:0080067891011\">\n {{ 'ecl.footer.CALL-US' | translate }} 00 800 6 7 8 9 10 11\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.USE-OTHER-TELEPHONE-OPTIONS' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/contact-eu/call-us_{{ languageCode }}\">\n {{ 'ecl.footer.USE-OTHER-TELEPHONE-OPTIONS' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.WRITE-TO-US' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/contact-eu/write-us_{{ languageCode }}\">\n {{ 'ecl.footer.WRITE-TO-US' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.MEET-US' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/contact-eu/meet-us_{{ languageCode }}\">\n {{ 'ecl.footer.MEET-US' | translate }}\n </a>\n </li>\n </ul>\n </div>\n <div eclSiteFooterSection>\n <div eclSiteFooterTitle isSeparator>\n {{ 'ecl.footer.SOCIAL-MEDIA' | translate }}\n </div>\n <ul eclSiteFooterList>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.SEARCH-FOR-EU-SOCIAL-MEDIA' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/contact-eu/social-media-channels_{{ languageCode }}\">\n {{ 'ecl.footer.SEARCH-FOR-EU-SOCIAL-MEDIA' | translate }}\n </a>\n </li>\n </ul>\n </div>\n </div>\n <div eclSiteFooterColumn>\n <div eclSiteFooterSection>\n <div eclSiteFooterTitle isSeparator>\n {{ 'ecl.footer.LEGAL' | translate }}\n </div>\n <ul eclSiteFooterList>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.LANGUAGES' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/languages-our-websites_{{ languageCode }}\">\n {{ 'ecl.footer.LANGUAGES' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.PRIVACY-POLICY' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/privacy-policy_{{ languageCode }}\">\n {{ 'ecl.footer.PRIVACY-POLICY' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.LEGAL-NOTICE' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/legal-notice_{{ languageCode }}\">\n {{ 'ecl.footer.LEGAL-NOTICE' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.COOKIES' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/cookies_{{ languageCode }}\">\n {{ 'ecl.footer.COOKIES' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.ACCESSIBILITY' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/web-accessibility-policy_{{ languageCode }}\">\n {{ 'ecl.footer.ACCESSIBILITY' | translate }}\n </a>\n </li>\n </ul>\n </div>\n <div eclSiteFooterSection>\n <div eclSiteFooterTitle isSeparator>\n {{ 'ecl.footer.EU-INSTITUTIONS-AND-BODIES' | translate }}\n </div>\n <ul eclSiteFooterList>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.SEARCH-EU-INSTITUTIONS-AND-BODIES' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/institutions-law-budget/institutions-and-bodies/search-all-eu-institutions-and-bodies_{{\n languageCode }}\">\n {{ 'ecl.footer.SEARCH-EU-INSTITUTIONS-AND-BODIES' | translate }}\n </a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n}\n@if(!isCore){\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n\n <div eclSiteFooterRow>\n <div eclSiteFooterColumn>\n <div eclSiteFooterSection>\n <a\n eclLink\n href=\"https://european-union.europa.eu/index_{{ ecLogoLanguageCode }}\"\n variant=\"standalone\"\n class=\"ecl-site-footer__logo-link\"\n [attr.aria-label]=\"'ecl.footer.EUROPEAN-UNION' | translate\">\n <picture eclSiteFooterPicture [attr.title]=\"'ecl.footer.EUROPEAN-UNION' | translate\">\n <source\n srcset=\"./assets/images/ecl/eu/logo/standard-version/positive/logo-eu--{{ ecLogoLanguageCode }}.svg\"\n media=\"(min-width: 996px)\" />\n <img\n eclSiteFooterLogoImage\n src=\"./assets/images/ecl/eu/logo/condensed-version/positive/logo-eu--{{ ecLogoLanguageCode }}.svg\"\n alt=\"European Union logo\" />\n </picture>\n </a>\n <ul eclSiteFooterList>\n <li eclSiteFooterListItem>\n <a href=\"https://european-union.europa.eu/index_{{ ecLogoLanguageCode }}\" eclLink variant=\"standalone\" class=\"ecl-site-footer__link\">\n {{ 'ecl.footer.DISCOVER-MORE-ON' | translate }} europa.eu</a>\n </li>\n </ul>\n </div>\n </div>\n\n <div eclSiteFooterColumn>\n <div eclSiteFooterSection>\n <div eclSiteFooterTitle isSeparator>\n {{ 'ecl.footer.CONTACT-EU' | translate }}\n </div>\n <ul eclSiteFooterList>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.STRATEGY' | translate\"\n variant=\"standalone\"\n href=\"tel:0080067891011\">\n {{ 'ecl.footer.CALL-US' | translate }} 00 800 6 7 8 9 10 11\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.USE-OTHER-TELEPHONE-OPTIONS' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/contact-eu/call-us_{{ languageCode }}\">\n {{ 'ecl.footer.USE-OTHER-TELEPHONE-OPTIONS' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.WRITE-TO-US' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/contact-eu/write-us_{{ languageCode }}\">\n {{ 'ecl.footer.WRITE-TO-US' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.MEET-US' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/contact-eu/meet-us_{{ languageCode }}\">\n {{ 'ecl.footer.MEET-US' | translate }}\n </a>\n </li>\n </ul>\n </div>\n <div eclSiteFooterSection>\n <div eclSiteFooterTitle isSeparator>\n {{ 'ecl.footer.SOCIAL-MEDIA' | translate }}\n </div>\n <ul eclSiteFooterList>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.SEARCH-FOR-EU-SOCIAL-MEDIA' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/contact-eu/social-media-channels_{{ languageCode }}\">\n {{ 'ecl.footer.SEARCH-FOR-EU-SOCIAL-MEDIA' | translate }}\n </a>\n </li>\n </ul>\n </div>\n </div>\n <div eclSiteFooterColumn>\n <div eclSiteFooterSection>\n <div eclSiteFooterTitle isSeparator>\n {{ 'ecl.footer.LEGAL' | translate }}\n </div>\n <ul eclSiteFooterList>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.LANGUAGES' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/languages-our-websites_{{ languageCode }}\">\n {{ 'ecl.footer.LANGUAGES' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.PRIVACY-POLICY' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/privacy-policy_{{ languageCode }}\">\n {{ 'ecl.footer.PRIVACY-POLICY' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.LEGAL-NOTICE' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/legal-notice_{{ languageCode }}\">\n {{ 'ecl.footer.LEGAL-NOTICE' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.COOKIES' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/cookies_{{ languageCode }}\">\n {{ 'ecl.footer.COOKIES' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.ACCESSIBILITY' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/web-accessibility-policy_{{ languageCode }}\">\n {{ 'ecl.footer.ACCESSIBILITY' | translate }}\n </a>\n </li>\n </ul>\n </div>\n <div eclSiteFooterSection>\n <div eclSiteFooterTitle isSeparator>\n {{ 'ecl.footer.EU-INSTITUTIONS-AND-BODIES' | translate }}\n </div>\n <ul eclSiteFooterList>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.SEARCH-EU-INSTITUTIONS-AND-BODIES' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/institutions-law-budget/institutions-and-bodies/search-all-eu-institutions-and-bodies_{{ languageCode }}\">\n {{ 'ecl.footer.SEARCH-EU-INSTITUTIONS-AND-BODIES' | translate }}\n </a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n}\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i1.EclLinkDirective, selector: "[eclLink]", inputs: ["extraAttributes", "isInverted", "isIconOnly", "isHighlight", "isNoVisited", "variant"] }, { kind: "directive", type: EclSiteFooterRowDirective, selector: "[eclSiteFooterRow]" }, { kind: "directive", type: EclSiteFooterColumnDirective, selector: "[eclSiteFooterColumn]" }, { kind: "directive", type: EclSiteFooterSectionDirective, selector: "[eclSiteFooterSection]", inputs: ["variant"] }, { kind: "directive", type: EclSiteFooterPictureDirective, selector: "picture[eclSiteFooterPicture]" }, { kind: "directive", type: EclSiteFooterLogoImageDirective, selector: "img[eclSiteFooterLogoImage]" }, { kind: "directive", type: EclSiteFooterListDirective, selector: "[eclSiteFooterList]", inputs: ["isInline"] }, { kind: "directive", type: EclSiteFooterListItemDirective, selector: "[eclSiteFooterListItem]" }, { kind: "directive", type: EclSiteFooterLinkDirective, selector: "[eclSiteFooterLink]" }, { kind: "directive", type: EclSiteFooterTitleDirective, selector: "[eclSiteFooterTitle]", inputs: ["isSeparator"] }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }] }); }
|
|
343
343
|
}
|
|
344
344
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclSiteFooterFixedContentEUComponent, decorators: [{
|
|
345
345
|
type: Component,
|
|
@@ -499,8 +499,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImpor
|
|
|
499
499
|
* important sections within the EC ecosystem.
|
|
500
500
|
*/
|
|
501
501
|
class EclSiteFooterComponent extends ECLBaseDirective {
|
|
502
|
+
get cssClasses() {
|
|
503
|
+
return [super.getCssClasses('ecl-site-footer'), this.isCore ? 'ecl-site-footer--split-columns' : ''].join(' ').trim();
|
|
504
|
+
}
|
|
502
505
|
constructor() {
|
|
503
|
-
super(
|
|
506
|
+
super();
|
|
504
507
|
this.i18nService = inject(I18nService);
|
|
505
508
|
this.eclThemeService = inject(EclThemeService);
|
|
506
509
|
/**
|
|
@@ -516,9 +519,13 @@ class EclSiteFooterComponent extends ECLBaseDirective {
|
|
|
516
519
|
*/
|
|
517
520
|
this.role = 'contentinfo';
|
|
518
521
|
this.destroy$ = new Subject();
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
+
// Detect which selector was used
|
|
523
|
+
const host = inject((ElementRef)).nativeElement;
|
|
524
|
+
// If the element tag is the old one → warn
|
|
525
|
+
if (host.tagName.toLowerCase() === 'ecl-site-footer') {
|
|
526
|
+
console.warn('[DEPRECATION] <ecl-site-footer> is deprecated. ' +
|
|
527
|
+
'Use <footer eclSiteFooter> instead.');
|
|
528
|
+
}
|
|
522
529
|
}
|
|
523
530
|
ngOnInit() {
|
|
524
531
|
this.handleLanguageChangeState();
|
|
@@ -539,7 +546,7 @@ class EclSiteFooterComponent extends ECLBaseDirective {
|
|
|
539
546
|
this.languageCode = lang.activeLang;
|
|
540
547
|
});
|
|
541
548
|
}
|
|
542
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclSiteFooterComponent, deps:
|
|
549
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclSiteFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
543
550
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0", type: EclSiteFooterComponent, isStandalone: true, selector: "footer[eclSiteFooter], ecl-site-footer", inputs: { isCore: ["isCore", "isCore", booleanAttribute] }, host: { properties: { "class": "this.cssClasses", "attr.role": "this.role" } }, usesInheritance: true, ngImport: i0, template: "<ng-content select=\"[eclSiteFooterCoowner]\"></ng-content>\n<div class=\"ecl-site-footer__main\">\n <div class=\"ecl-container ecl-site-footer__container\">\n @if(eclThemeService.isEC$ | async) {\n @if (isCore) {\n <div class=\"ecl-site-footer__row ecl-site-footer__row--specific\">\n <div class=\"ecl-site-footer__section ecl-site-footer__section--site-info\"><a\n href=\"https://commission.europa.eu/index_{{languageCode}}\" eclLink isInverted variant=\"standalone\"\n eclSiteFooterLogoLink>\n <picture class=\"ecl-picture ecl-site-footer__picture\"><img class=\"ecl-site-footer__logo-image\"\n src=\"assets/images/ecl/ec/logo/negative/logo-ec--{{logoLanguageCode}}.svg\"\n alt=\"European Commission\"></picture>\n </a>\n <div class=\"ecl-site-footer__description\"><ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n </div>\n <div eclSiteFooterCore [languageCode]=\"languageCode\"></div>\n </div>\n <div eclSiteFooterRowCommon [isCore]=\"isCore\" [languageCode]=\"languageCode\"></div>\n } @else {\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n <div eclSiteFooterRowCommon [isCore]=\"isCore\" [languageCode]=\"languageCode\"></div>\n }\n }\n @if(eclThemeService.isEU$ | async) {\n <ecl-site-footer-fixed-content-eu [isCore]=\"isCore\" [languageCode]=\"languageCode\"\n [ecLogoLanguageCode]=\"languageCode\" [content]=\"content\">\n </ecl-site-footer-fixed-content-eu>\n }\n\n <ng-template #content>\n <ng-content></ng-content>\n </ng-template>\n </div>\n</div>", styles: [".ecl-link--inverted svg.ecl-social-media-follow__icon{fill:#000;filter:invert(1)}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: EclSiteFooterRowCommonComponent, selector: "div[eclSiteFooterRowCommon]", inputs: ["languageCode", "isCore"] }, { kind: "component", type: EclSiteFooterFixedContentEUComponent, selector: "ecl-site-footer-fixed-content-eu", inputs: ["isCore", "languageCode", "ecLogoLanguageCode", "content"] }, { kind: "component", type: EclSiteFooterCoreComponent, selector: "div[eclSiteFooterCore]", inputs: ["languageCode"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
544
551
|
}
|
|
545
552
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclSiteFooterComponent, decorators: [{
|
|
@@ -547,7 +554,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImpor
|
|
|
547
554
|
args: [{ selector: 'footer[eclSiteFooter], ecl-site-footer', encapsulation: ViewEncapsulation.None, imports: [AsyncPipe, NgTemplateOutlet, EclSiteFooterRowCommonComponent, EclSiteFooterFixedContentEUComponent,
|
|
548
555
|
EclSiteFooterCoreComponent,
|
|
549
556
|
], template: "<ng-content select=\"[eclSiteFooterCoowner]\"></ng-content>\n<div class=\"ecl-site-footer__main\">\n <div class=\"ecl-container ecl-site-footer__container\">\n @if(eclThemeService.isEC$ | async) {\n @if (isCore) {\n <div class=\"ecl-site-footer__row ecl-site-footer__row--specific\">\n <div class=\"ecl-site-footer__section ecl-site-footer__section--site-info\"><a\n href=\"https://commission.europa.eu/index_{{languageCode}}\" eclLink isInverted variant=\"standalone\"\n eclSiteFooterLogoLink>\n <picture class=\"ecl-picture ecl-site-footer__picture\"><img class=\"ecl-site-footer__logo-image\"\n src=\"assets/images/ecl/ec/logo/negative/logo-ec--{{logoLanguageCode}}.svg\"\n alt=\"European Commission\"></picture>\n </a>\n <div class=\"ecl-site-footer__description\"><ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n </div>\n <div eclSiteFooterCore [languageCode]=\"languageCode\"></div>\n </div>\n <div eclSiteFooterRowCommon [isCore]=\"isCore\" [languageCode]=\"languageCode\"></div>\n } @else {\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n <div eclSiteFooterRowCommon [isCore]=\"isCore\" [languageCode]=\"languageCode\"></div>\n }\n }\n @if(eclThemeService.isEU$ | async) {\n <ecl-site-footer-fixed-content-eu [isCore]=\"isCore\" [languageCode]=\"languageCode\"\n [ecLogoLanguageCode]=\"languageCode\" [content]=\"content\">\n </ecl-site-footer-fixed-content-eu>\n }\n\n <ng-template #content>\n <ng-content></ng-content>\n </ng-template>\n </div>\n</div>", styles: [".ecl-link--inverted svg.ecl-social-media-follow__icon{fill:#000;filter:invert(1)}\n"] }]
|
|
550
|
-
}], propDecorators: { isCore: [{
|
|
557
|
+
}], ctorParameters: () => [], propDecorators: { isCore: [{
|
|
551
558
|
type: Input,
|
|
552
559
|
args: [{ transform: booleanAttribute }]
|
|
553
560
|
}], cssClasses: [{
|