@eui/ecl 23.0.0-alpha.6 → 23.0.0-alpha.8
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 +86 -0
- package/docs/classes/EclLanguageService.html +8 -8
- package/docs/components/EclBannerComponent.html +28 -56
- package/docs/components/EclCardComponent.html +12 -24
- package/docs/components/EclCarouselComponent.html +33 -65
- package/docs/components/EclCarouselItemComponent.html +4 -8
- package/docs/components/EclCategoryFilterComponent.html +4 -8
- package/docs/components/EclCategoryFilterItemComponent.html +5 -9
- package/docs/components/EclCategoryFilterListComponent.html +5 -9
- package/docs/components/EclContentItemComponent.html +20 -40
- package/docs/components/EclFactFiguresItemComponent.html +4 -8
- package/docs/components/EclFactFiguresViewAllComponent.html +4 -8
- package/docs/components/EclFeaturedItemComponent.html +4 -10
- package/docs/components/EclFileComponent.html +4 -8
- package/docs/components/EclFileItemsComponent.html +4 -8
- package/docs/components/EclFormGroupComponent.html +4 -8
- package/docs/components/EclGalleryComponent.html +21 -41
- package/docs/components/EclGalleryItemComponent.html +8 -16
- package/docs/components/EclIconComponent.html +4 -8
- package/docs/components/EclInpageNavigationComponent.html +20 -40
- package/docs/components/EclInpageNavigationItemComponent.html +4 -8
- package/docs/components/EclListIllustrationComponent.html +4 -8
- package/docs/components/EclListIllustrationItemComponent.html +9 -17
- package/docs/components/EclMediaContainerComponent.html +21 -41
- package/docs/components/EclMegaMenuComponent.html +4 -8
- package/docs/components/EclMegaMenuFeaturedComponent.html +12 -24
- package/docs/components/EclMegaMenuInfoComponent.html +4 -8
- package/docs/components/EclMegaMenuItemComponent.html +37 -73
- package/docs/components/EclMegaMenuSubitemComponent.html +21 -43
- package/docs/components/EclMenuComponent.html +20 -40
- package/docs/components/EclMenuItemComponent.html +12 -24
- package/docs/components/EclMenuMegaItemComponent.html +12 -24
- package/docs/components/EclModalComponent.html +1 -1
- package/docs/components/EclMultiselectComponent.html +4 -8
- package/docs/components/EclMultiselectDropdownComponent.html +21 -41
- package/docs/components/EclMultiselectInputComponent.html +4 -8
- package/docs/components/EclMultiselectOptionComponent.html +4 -8
- package/docs/components/EclNavigationListComponent.html +4 -8
- package/docs/components/EclNavigationListItemComponent.html +4 -8
- package/docs/components/EclNewsTickerComponent.html +28 -48
- package/docs/components/EclNewsTickerItemComponent.html +4 -8
- package/docs/components/EclPageHeaderComponent.html +8 -16
- package/docs/components/EclPaginationComponent.html +4 -8
- package/docs/components/EclPopoverComponent.html +12 -24
- package/docs/components/EclSiteHeaderComponent.html +44 -88
- package/docs/components/EclSiteHeaderCustomActionComponent.html +8 -16
- package/docs/components/EclSiteHeaderLanguageComponent.html +10 -18
- package/docs/components/EclSiteHeaderLanguagePopoverComponent.html +6 -10
- package/docs/components/EclSiteHeaderLoginComponent.html +4 -8
- package/docs/components/EclSiteHeaderSearchComponent.html +4 -8
- package/docs/components/EclTabComponent.html +12 -24
- package/docs/components/EclTabsComponent.html +29 -57
- package/docs/components/EclTimelineComponent.html +4 -8
- package/docs/components/EclTimelineItemComponent.html +16 -32
- package/docs/directives/EclCheckboxDirective.html +16 -32
- package/docs/directives/EclDescriptionListDirective.html +4 -8
- package/docs/directives/EclGalleryMediaDirective.html +2 -2
- package/docs/directives/EclGalleryPictureDirective.html +1 -1
- package/docs/directives/EclListIllustrationPictureDirective.html +4 -8
- package/docs/directives/EclMediaContainerItemDirective.html +4 -8
- package/docs/directives/EclMegaMenuSublistDirective.html +8 -16
- package/docs/directives/EclMultiselectOptionDirective.html +4 -8
- package/docs/directives/EclPageHeaderMetaItemDirective.html +9 -0
- package/docs/directives/EclRadioDirective.html +8 -16
- package/docs/directives/EclSocialMediaFollowLinkDirective.html +4 -8
- package/docs/directives/EclTableDirective.html +4 -8
- package/docs/directives/EclTableHeadDirective.html +4 -8
- package/docs/injectables/EclDefaultLanguageService.html +7 -7
- package/docs/injectables/EclMegaMenuService.html +2 -2
- package/docs/interfaces/EclMegaMenuItem.html +2 -2
- package/docs/interfaces/EclMenuItem.html +2 -2
- package/docs/js/search/search_index.js +2 -2
- package/docs/json/EclMegaMenuItemComponent.md +1 -1
- package/docs/json/EclMegaMenuSubitemComponent.md +1 -1
- package/docs/json/EclSiteHeaderLanguagePopoverComponent.md +2 -2
- package/docs/json/documentation.json +1365 -2133
- package/docs/llms.txt +182 -182
- package/docs/miscellaneous/variables.html +16 -16
- package/docs/properties.html +1 -1
- package/fesm2022/eui-ecl-components-ecl-banner.mjs +37 -40
- package/fesm2022/eui-ecl-components-ecl-banner.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-card.mjs +23 -17
- package/fesm2022/eui-ecl-components-ecl-card.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-carousel.mjs +105 -82
- package/fesm2022/eui-ecl-components-ecl-carousel.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-category-filter.mjs +36 -29
- package/fesm2022/eui-ecl-components-ecl-category-filter.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-checkbox.mjs +30 -20
- package/fesm2022/eui-ecl-components-ecl-checkbox.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-content-item.mjs +46 -27
- package/fesm2022/eui-ecl-components-ecl-content-item.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-date-picker.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-fact-figures.mjs +25 -15
- package/fesm2022/eui-ecl-components-ecl-fact-figures.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-featured.mjs +10 -9
- package/fesm2022/eui-ecl-components-ecl-featured.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-file.mjs +17 -13
- package/fesm2022/eui-ecl-components-ecl-file.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-form-group.mjs +12 -7
- package/fesm2022/eui-ecl-components-ecl-form-group.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-gallery.mjs +44 -49
- package/fesm2022/eui-ecl-components-ecl-gallery.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-icon.mjs +7 -8
- package/fesm2022/eui-ecl-components-ecl-icon.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-inpage-navigation.mjs +48 -50
- package/fesm2022/eui-ecl-components-ecl-inpage-navigation.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-link.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-list-illustration.mjs +19 -24
- package/fesm2022/eui-ecl-components-ecl-list-illustration.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-list.mjs +6 -7
- package/fesm2022/eui-ecl-components-ecl-list.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-loading-indicator.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-media-container.mjs +31 -34
- package/fesm2022/eui-ecl-components-ecl-media-container.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs +237 -197
- package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-menu.mjs +108 -86
- package/fesm2022/eui-ecl-components-ecl-menu.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-modal.mjs +0 -1
- package/fesm2022/eui-ecl-components-ecl-modal.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-multiselect.mjs +70 -67
- package/fesm2022/eui-ecl-components-ecl-multiselect.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-navigation-list.mjs +16 -14
- package/fesm2022/eui-ecl-components-ecl-navigation-list.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-news-ticker.mjs +67 -51
- package/fesm2022/eui-ecl-components-ecl-news-ticker.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-page-header.mjs +17 -12
- package/fesm2022/eui-ecl-components-ecl-page-header.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-pagination.mjs +9 -7
- package/fesm2022/eui-ecl-components-ecl-pagination.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-popover.mjs +44 -38
- package/fesm2022/eui-ecl-components-ecl-popover.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-radio.mjs +22 -14
- package/fesm2022/eui-ecl-components-ecl-radio.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-site-footer.mjs +1 -1
- package/fesm2022/eui-ecl-components-ecl-site-footer.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-site-header.mjs +123 -118
- package/fesm2022/eui-ecl-components-ecl-site-header.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-slogan-ticker.mjs +2 -2
- package/fesm2022/eui-ecl-components-ecl-slogan-ticker.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-social-media-follow.mjs +10 -8
- package/fesm2022/eui-ecl-components-ecl-social-media-follow.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-table.mjs +17 -15
- package/fesm2022/eui-ecl-components-ecl-table.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-tabs.mjs +101 -81
- package/fesm2022/eui-ecl-components-ecl-tabs.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-timeline.mjs +47 -37
- package/fesm2022/eui-ecl-components-ecl-timeline.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-tooltip.mjs.map +1 -1
- package/fesm2022/eui-ecl-core.mjs +1 -1
- package/fesm2022/eui-ecl-core.mjs.map +1 -1
- package/package.json +1 -1
- package/types/eui-ecl-components-ecl-banner.d.ts +42 -43
- package/types/eui-ecl-components-ecl-banner.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-card.d.ts +34 -35
- package/types/eui-ecl-components-ecl-card.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-carousel.d.ts +10 -11
- package/types/eui-ecl-components-ecl-carousel.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-category-filter.d.ts +6 -6
- package/types/eui-ecl-components-ecl-category-filter.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-checkbox.d.ts +47 -49
- package/types/eui-ecl-components-ecl-checkbox.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-content-item.d.ts +16 -18
- package/types/eui-ecl-components-ecl-content-item.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-fact-figures.d.ts +3 -3
- package/types/eui-ecl-components-ecl-fact-figures.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-featured.d.ts +2 -2
- package/types/eui-ecl-components-ecl-featured.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-file.d.ts +42 -43
- package/types/eui-ecl-components-ecl-file.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-form-group.d.ts +1 -3
- package/types/eui-ecl-components-ecl-form-group.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-gallery.d.ts +12 -12
- package/types/eui-ecl-components-ecl-gallery.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-icon.d.ts +1 -1
- package/types/eui-ecl-components-ecl-icon.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-inpage-navigation.d.ts +8 -8
- package/types/eui-ecl-components-ecl-inpage-navigation.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-list-illustration.d.ts +44 -44
- package/types/eui-ecl-components-ecl-list-illustration.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-list.d.ts +2 -2
- package/types/eui-ecl-components-ecl-list.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-media-container.d.ts +33 -33
- package/types/eui-ecl-components-ecl-media-container.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-mega-menu.d.ts +185 -191
- package/types/eui-ecl-components-ecl-mega-menu.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-menu.d.ts +126 -128
- package/types/eui-ecl-components-ecl-menu.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-modal.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-multiselect.d.ts +10 -10
- package/types/eui-ecl-components-ecl-multiselect.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-navigation-list.d.ts +3 -4
- package/types/eui-ecl-components-ecl-navigation-list.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-news-ticker.d.ts +18 -18
- package/types/eui-ecl-components-ecl-news-ticker.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-page-header.d.ts +3 -3
- package/types/eui-ecl-components-ecl-page-header.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-pagination.d.ts +1 -1
- package/types/eui-ecl-components-ecl-pagination.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-popover.d.ts +3 -3
- package/types/eui-ecl-components-ecl-popover.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-radio.d.ts +28 -28
- package/types/eui-ecl-components-ecl-radio.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-site-header.d.ts +48 -48
- package/types/eui-ecl-components-ecl-site-header.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-social-media-follow.d.ts +1 -1
- package/types/eui-ecl-components-ecl-social-media-follow.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-table.d.ts +3 -3
- package/types/eui-ecl-components-ecl-table.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-tabs.d.ts +12 -12
- package/types/eui-ecl-components-ecl-tabs.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-timeline.d.ts +27 -28
- package/types/eui-ecl-components-ecl-timeline.d.ts.map +1 -1
- package/types/eui-ecl-core.d.ts +11 -11
- package/types/eui-ecl-core.d.ts.map +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { EventEmitter, Output, Input, HostBinding, Component, input, booleanAttribute, inject, ElementRef, afterNextRender, Directive, ChangeDetectorRef, Renderer2, HostListener,
|
|
2
|
+
import { EventEmitter, Output, Input, HostBinding, Component, input, booleanAttribute, inject, ElementRef, afterNextRender, Directive, ChangeDetectorRef, contentChild, Renderer2, HostListener, numberAttribute, output, contentChildren, viewChild, PLATFORM_ID, DOCUMENT } from '@angular/core';
|
|
3
3
|
import { TranslatePipe } from '@ngx-translate/core';
|
|
4
4
|
import { EclBaseEvent, ECLBaseDirective } from '@eui/ecl/core';
|
|
5
5
|
import * as i1 from '@eui/ecl/components/ecl-button';
|
|
@@ -291,6 +291,10 @@ class EclGalleryItemComponent extends ECLBaseDirective {
|
|
|
291
291
|
this.ariaLabel = input(null, /* @ts-ignore */
|
|
292
292
|
...(ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []));
|
|
293
293
|
this.itemClick = new EventEmitter();
|
|
294
|
+
this.mediaChild = contentChild(EclGalleryMediaDirective, /* @ts-ignore */
|
|
295
|
+
...(ngDevMode ? [{ debugName: "mediaChild" }] : /* istanbul ignore next */ []));
|
|
296
|
+
this.galleryPicture = contentChild(EclGalleryPictureDirective, /* @ts-ignore */
|
|
297
|
+
...(ngDevMode ? [{ debugName: "galleryPicture" }] : /* istanbul ignore next */ []));
|
|
294
298
|
/**
|
|
295
299
|
* The role attribute of the item is 'listitem', should not be changed.
|
|
296
300
|
*/
|
|
@@ -365,7 +369,7 @@ class EclGalleryItemComponent extends ECLBaseDirective {
|
|
|
365
369
|
this.renderer.selectRootElement(this.el.nativeElement.children[0], true).focus();
|
|
366
370
|
}
|
|
367
371
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclGalleryItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
368
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: EclGalleryItemComponent, isStandalone: true, selector: "ecl-gallery-item", inputs: { isShareable: { classPropertyName: "isShareable", publicName: "isShareable", isSignal: true, isRequired: false, transformFunction: null }, mediaType: { classPropertyName: "mediaType", publicName: "mediaType", isSignal: true, isRequired: false, transformFunction: null }, src: { classPropertyName: "src", publicName: "src", isSignal: false, isRequired: false, transformFunction: null }, meta: { classPropertyName: "meta", publicName: "meta", isSignal: false, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: false, isRequired: false, transformFunction: null }, srVideoAudioDescription: { classPropertyName: "srVideoAudioDescription", publicName: "srVideoAudioDescription", isSignal: false, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: false, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: false, isRequired: false, transformFunction: null }, itemId: { classPropertyName: "itemId", publicName: "itemId", isSignal: false, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { itemClick: "itemClick" }, host: { listeners: { "click": "onItemClick($event)" }, properties: { "class": "this.cssClasses", "attr.role": "this.role" } }, queries: [{ propertyName: "mediaChild", first: true, predicate: EclGalleryMediaDirective, descendants: true }, { propertyName: "galleryPicture", first: true, predicate: EclGalleryPictureDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<a [href]=\"src\" class=\"ecl-gallery__item-link\" [class.ecl-gallery__item__link--frozen]=\"isNoOverlay\" [id]=\"itemId\"\n [attr.aria-label]=\"ariaLabel()\">\n <figure class=\"ecl-gallery__image-container\">\n <div class=\"ecl-gallery__icon-zoom-wrapper\">\n <ecl-icon class=\"ecl-gallery__icon-zoom\" icon=\"fullscreen\" size=\"s\"></ecl-icon>\n </div>\n @if(mediaType() !== 'image') {\n <div class=\"ecl-gallery__item-icon-wrapper\">\n <ecl-icon isInverted class=\"ecl-gallery__item-icon\" icon=\"play\" size=\"s\"></ecl-icon>\n </div>\n } \n <ng-content select=\"[eclGalleryPicture], [eclGalleryThumbnail], [eclGalleryMedia], [eclGalleryImage]\"></ng-content>\n <figcaption class=\"ecl-gallery__description\">\n @if(title) {\n <span class=\"ecl-gallery__title\" [id]=\"titleId\">{{title}}</span>\n }\n @if(description) {\n <span class=\"ecl-gallery__caption\">{{ description }}</span>\n }\n @if(icon) {\n <ecl-icon class=\"ecl-gallery__description-icon\" [icon]=\"icon\"></ecl-icon>\n }\n <span class=\"ecl-gallery__meta\">\n {{ meta }}\n </span>\n </figcaption>\n </figure>\n</a>", dependencies: [{ kind: "component", type: i1$1.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }] }); }
|
|
372
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: EclGalleryItemComponent, isStandalone: true, selector: "ecl-gallery-item", inputs: { isShareable: { classPropertyName: "isShareable", publicName: "isShareable", isSignal: true, isRequired: false, transformFunction: null }, mediaType: { classPropertyName: "mediaType", publicName: "mediaType", isSignal: true, isRequired: false, transformFunction: null }, src: { classPropertyName: "src", publicName: "src", isSignal: false, isRequired: false, transformFunction: null }, meta: { classPropertyName: "meta", publicName: "meta", isSignal: false, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: false, isRequired: false, transformFunction: null }, srVideoAudioDescription: { classPropertyName: "srVideoAudioDescription", publicName: "srVideoAudioDescription", isSignal: false, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: false, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: false, isRequired: false, transformFunction: null }, itemId: { classPropertyName: "itemId", publicName: "itemId", isSignal: false, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { itemClick: "itemClick" }, host: { listeners: { "click": "onItemClick($event)" }, properties: { "class": "this.cssClasses", "attr.role": "this.role" } }, queries: [{ propertyName: "mediaChild", first: true, predicate: EclGalleryMediaDirective, descendants: true, isSignal: true }, { propertyName: "galleryPicture", first: true, predicate: EclGalleryPictureDirective, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<a [href]=\"src\" class=\"ecl-gallery__item-link\" [class.ecl-gallery__item__link--frozen]=\"isNoOverlay\" [id]=\"itemId\"\n [attr.aria-label]=\"ariaLabel()\">\n <figure class=\"ecl-gallery__image-container\">\n <div class=\"ecl-gallery__icon-zoom-wrapper\">\n <ecl-icon class=\"ecl-gallery__icon-zoom\" icon=\"fullscreen\" size=\"s\"></ecl-icon>\n </div>\n @if(mediaType() !== 'image') {\n <div class=\"ecl-gallery__item-icon-wrapper\">\n <ecl-icon isInverted class=\"ecl-gallery__item-icon\" icon=\"play\" size=\"s\"></ecl-icon>\n </div>\n } \n <ng-content select=\"[eclGalleryPicture], [eclGalleryThumbnail], [eclGalleryMedia], [eclGalleryImage]\"></ng-content>\n <figcaption class=\"ecl-gallery__description\">\n @if(title) {\n <span class=\"ecl-gallery__title\" [id]=\"titleId\">{{title}}</span>\n }\n @if(description) {\n <span class=\"ecl-gallery__caption\">{{ description }}</span>\n }\n @if(icon) {\n <ecl-icon class=\"ecl-gallery__description-icon\" [icon]=\"icon\"></ecl-icon>\n }\n <span class=\"ecl-gallery__meta\">\n {{ meta }}\n </span>\n </figcaption>\n </figure>\n</a>", dependencies: [{ kind: "component", type: i1$1.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }] }); }
|
|
369
373
|
}
|
|
370
374
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclGalleryItemComponent, decorators: [{
|
|
371
375
|
type: Component,
|
|
@@ -386,13 +390,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
|
|
|
386
390
|
type: Input
|
|
387
391
|
}], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], itemClick: [{
|
|
388
392
|
type: Output
|
|
389
|
-
}], mediaChild: [{
|
|
390
|
-
type: ContentChild,
|
|
391
|
-
args: [EclGalleryMediaDirective]
|
|
392
|
-
}], galleryPicture: [{
|
|
393
|
-
type: ContentChild,
|
|
394
|
-
args: [EclGalleryPictureDirective]
|
|
395
|
-
}], cssClasses: [{
|
|
393
|
+
}], mediaChild: [{ type: i0.ContentChild, args: [i0.forwardRef(() => EclGalleryMediaDirective), { isSignal: true }] }], galleryPicture: [{ type: i0.ContentChild, args: [i0.forwardRef(() => EclGalleryPictureDirective), { isSignal: true }] }], cssClasses: [{
|
|
396
394
|
type: HostBinding,
|
|
397
395
|
args: ['class']
|
|
398
396
|
}], role: [{
|
|
@@ -446,7 +444,6 @@ class EclGalleryComponent extends ECLBaseDirective {
|
|
|
446
444
|
/**
|
|
447
445
|
* Emits event when user clicks on an item to expand it.
|
|
448
446
|
*/
|
|
449
|
-
// eslint-disable-next-line @angular-eslint/no-output-native
|
|
450
447
|
this.show = output();
|
|
451
448
|
/**
|
|
452
449
|
* Emits event when an expanded item is closed.
|
|
@@ -464,6 +461,16 @@ class EclGalleryComponent extends ECLBaseDirective {
|
|
|
464
461
|
* Emits event when user is browsing items, opened in an overlay.
|
|
465
462
|
*/
|
|
466
463
|
this.itemSwitch = output();
|
|
464
|
+
this.galleryItems = contentChildren(EclGalleryItemComponent, /* @ts-ignore */
|
|
465
|
+
...(ngDevMode ? [{ debugName: "galleryItems" }] : /* istanbul ignore next */ []));
|
|
466
|
+
this.galleryFooter = contentChild(EclGalleryFooterComponent, /* @ts-ignore */
|
|
467
|
+
...(ngDevMode ? [{ debugName: "galleryFooter" }] : /* istanbul ignore next */ []));
|
|
468
|
+
this.overlayChild = viewChild('overlay', /* @ts-ignore */
|
|
469
|
+
...(ngDevMode ? [{ debugName: "overlayChild" }] : /* istanbul ignore next */ []));
|
|
470
|
+
this.headerChild = viewChild('header', /* @ts-ignore */
|
|
471
|
+
...(ngDevMode ? [{ debugName: "headerChild" }] : /* istanbul ignore next */ []));
|
|
472
|
+
this.footerChild = viewChild('footer', /* @ts-ignore */
|
|
473
|
+
...(ngDevMode ? [{ debugName: "footerChild" }] : /* istanbul ignore next */ []));
|
|
467
474
|
/**
|
|
468
475
|
* The default role of the component is 'region' and should not be changed.
|
|
469
476
|
*/
|
|
@@ -503,13 +510,14 @@ class EclGalleryComponent extends ECLBaseDirective {
|
|
|
503
510
|
}
|
|
504
511
|
}
|
|
505
512
|
ngAfterContentInit() {
|
|
506
|
-
this.itemsCount = this.galleryItems.length;
|
|
513
|
+
this.itemsCount = this.galleryItems().length;
|
|
507
514
|
this.visibleItems = this.maxVisibleItems ? this.maxVisibleItems : this.itemsCount;
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
515
|
+
const galleryFooter = this.galleryFooter();
|
|
516
|
+
if (galleryFooter) {
|
|
517
|
+
galleryFooter.itemsCount = this.itemsCount;
|
|
518
|
+
galleryFooter.isShowToggleBtn = this.hasHiddenGaleryItems();
|
|
511
519
|
// Subscribe to 'toggleItems' event from gallery footer, to show or collapse items.
|
|
512
|
-
|
|
520
|
+
galleryFooter.toggleItems.pipe(takeUntil(this.destroy$)).subscribe((evt) => {
|
|
513
521
|
if (evt.expandAll) {
|
|
514
522
|
this.showAllItems();
|
|
515
523
|
}
|
|
@@ -520,11 +528,11 @@ class EclGalleryComponent extends ECLBaseDirective {
|
|
|
520
528
|
}
|
|
521
529
|
if (!this.isNoOverlay()) {
|
|
522
530
|
// For each item, subscribe to 'itemClick' event.
|
|
523
|
-
this.galleryItems.forEach((item) => {
|
|
531
|
+
this.galleryItems().forEach((item) => {
|
|
524
532
|
item.itemClick.pipe(takeUntil(this.destroy$)).subscribe((_) => {
|
|
525
533
|
this.isDialogVisible = true;
|
|
526
534
|
this.item = item;
|
|
527
|
-
this.itemIndex = this.findItemIndex(this.galleryItems
|
|
535
|
+
this.itemIndex = this.findItemIndex(Array.from(this.galleryItems()), item);
|
|
528
536
|
this.show.emit(new EclGalleryShowEvent());
|
|
529
537
|
if (isPlatformBrowser(this.platformId)) {
|
|
530
538
|
setTimeout(() => this.setIframeDimensions());
|
|
@@ -533,7 +541,7 @@ class EclGalleryComponent extends ECLBaseDirective {
|
|
|
533
541
|
});
|
|
534
542
|
}
|
|
535
543
|
else {
|
|
536
|
-
this.galleryItems.forEach((item) => (item.isNoOverlay = true));
|
|
544
|
+
this.galleryItems().forEach((item) => (item.isNoOverlay = true));
|
|
537
545
|
}
|
|
538
546
|
if (this.hasHiddenGaleryItems()) {
|
|
539
547
|
this.collapseItems();
|
|
@@ -548,8 +556,8 @@ class EclGalleryComponent extends ECLBaseDirective {
|
|
|
548
556
|
* @param evt
|
|
549
557
|
*/
|
|
550
558
|
onPrevious(evt) {
|
|
551
|
-
this.item = this.findPreviousItem(this.galleryItems
|
|
552
|
-
this.itemIndex = this.findItemIndex(this.galleryItems
|
|
559
|
+
this.item = this.findPreviousItem(Array.from(this.galleryItems()), this.item);
|
|
560
|
+
this.itemIndex = this.findItemIndex(Array.from(this.galleryItems()), this.item);
|
|
553
561
|
this.itemSwitch.emit(new EclGalleryItemEvent(this.item));
|
|
554
562
|
}
|
|
555
563
|
/**
|
|
@@ -557,8 +565,8 @@ class EclGalleryComponent extends ECLBaseDirective {
|
|
|
557
565
|
* @param evt
|
|
558
566
|
*/
|
|
559
567
|
onNext(evt) {
|
|
560
|
-
this.item = this.findNextItem(this.galleryItems
|
|
561
|
-
this.itemIndex = this.findItemIndex(this.galleryItems
|
|
568
|
+
this.item = this.findNextItem(Array.from(this.galleryItems()), this.item);
|
|
569
|
+
this.itemIndex = this.findItemIndex(Array.from(this.galleryItems()), this.item);
|
|
562
570
|
this.itemSwitch.emit(new EclGalleryItemEvent(this.item));
|
|
563
571
|
}
|
|
564
572
|
/**
|
|
@@ -605,9 +613,9 @@ class EclGalleryComponent extends ECLBaseDirective {
|
|
|
605
613
|
}
|
|
606
614
|
getCalculatedIframeDimensions() {
|
|
607
615
|
let width = window.innerWidth;
|
|
608
|
-
let height = this.overlayChild.nativeElement.clientHeight -
|
|
609
|
-
this.headerChild.nativeElement.clientHeight -
|
|
610
|
-
this.footerChild.nativeElement.clientHeight;
|
|
616
|
+
let height = this.overlayChild().nativeElement.clientHeight -
|
|
617
|
+
this.headerChild().nativeElement.clientHeight -
|
|
618
|
+
this.footerChild().nativeElement.clientHeight;
|
|
611
619
|
if (width > height) {
|
|
612
620
|
const scaledHeight = height * this.RESOLUTION_16_9_PROPOTION;
|
|
613
621
|
if (scaledHeight > width) {
|
|
@@ -667,16 +675,18 @@ class EclGalleryComponent extends ECLBaseDirective {
|
|
|
667
675
|
manageItemsMobile() {
|
|
668
676
|
this.maxVisibleItems = this.MAX_VISIBLE_ITEMS_MOBILE;
|
|
669
677
|
this.collapseItems();
|
|
670
|
-
|
|
671
|
-
|
|
678
|
+
const galleryFooter = this.galleryFooter();
|
|
679
|
+
if (galleryFooter) {
|
|
680
|
+
galleryFooter.isShowToggleBtn = this.hasHiddenGaleryItems();
|
|
672
681
|
}
|
|
673
682
|
}
|
|
674
683
|
manageItemsDesktop() {
|
|
675
684
|
this.maxVisibleItems = this.visibleItems;
|
|
676
685
|
this.getVisibleItems().forEach((elem) => this.showGaleryItem(elem));
|
|
677
686
|
this.collapseItems();
|
|
678
|
-
|
|
679
|
-
|
|
687
|
+
const galleryFooter = this.galleryFooter();
|
|
688
|
+
if (galleryFooter) {
|
|
689
|
+
galleryFooter.isShowToggleBtn = this.hasHiddenGaleryItems();
|
|
680
690
|
}
|
|
681
691
|
}
|
|
682
692
|
hasHiddenGaleryItems() {
|
|
@@ -702,36 +712,21 @@ class EclGalleryComponent extends ECLBaseDirective {
|
|
|
702
712
|
item.isHidden = false;
|
|
703
713
|
}
|
|
704
714
|
getHiddenItems() {
|
|
705
|
-
return this.galleryItems.filter((item, cnt) => cnt >= this.maxVisibleItems);
|
|
715
|
+
return this.galleryItems().filter((item, cnt) => cnt >= this.maxVisibleItems);
|
|
706
716
|
}
|
|
707
717
|
getVisibleItems() {
|
|
708
|
-
return this.galleryItems.filter((item, cnt) => cnt < this.maxVisibleItems);
|
|
718
|
+
return this.galleryItems().filter((item, cnt) => cnt < this.maxVisibleItems);
|
|
709
719
|
}
|
|
710
720
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclGalleryComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
711
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: EclGalleryComponent, isStandalone: true, selector: "ecl-gallery", inputs: { isOpenInFullScreenPossible: { classPropertyName: "isOpenInFullScreenPossible", publicName: "isOpenInFullScreenPossible", isSignal: true, isRequired: false, transformFunction: null }, isShareable: { classPropertyName: "isShareable", publicName: "isShareable", isSignal: true, isRequired: false, transformFunction: null }, isFullWidth: { classPropertyName: "isFullWidth", publicName: "isFullWidth", isSignal: true, isRequired: false, transformFunction: null }, isNoOverlay: { classPropertyName: "isNoOverlay", publicName: "isNoOverlay", isSignal: true, isRequired: false, transformFunction: null }, isShowTitleOnHover: { classPropertyName: "isShowTitleOnHover", publicName: "isShowTitleOnHover", isSignal: true, isRequired: false, transformFunction: null }, maxVisibleItems: { classPropertyName: "maxVisibleItems", publicName: "maxVisibleItems", isSignal: false, isRequired: false, transformFunction: numberAttribute }, isGrid: { classPropertyName: "isGrid", publicName: "isGrid", isSignal: true, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, gridTemplate: { classPropertyName: "gridTemplate", publicName: "gridTemplate", isSignal: true, isRequired: false, transformFunction: null }, ratio: { classPropertyName: "ratio", publicName: "ratio", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { show: "show", hide: "hide", openFullScreen: "openFullScreen", share: "share", itemSwitch: "itemSwitch" }, host: { listeners: { "document:keydown.escape": "onEscapeKeydownHandler()" }, properties: { "class": "this.cssClasses", "attr.role": "this.role" } }, queries: [{ propertyName: "
|
|
721
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: EclGalleryComponent, isStandalone: true, selector: "ecl-gallery", inputs: { isOpenInFullScreenPossible: { classPropertyName: "isOpenInFullScreenPossible", publicName: "isOpenInFullScreenPossible", isSignal: true, isRequired: false, transformFunction: null }, isShareable: { classPropertyName: "isShareable", publicName: "isShareable", isSignal: true, isRequired: false, transformFunction: null }, isFullWidth: { classPropertyName: "isFullWidth", publicName: "isFullWidth", isSignal: true, isRequired: false, transformFunction: null }, isNoOverlay: { classPropertyName: "isNoOverlay", publicName: "isNoOverlay", isSignal: true, isRequired: false, transformFunction: null }, isShowTitleOnHover: { classPropertyName: "isShowTitleOnHover", publicName: "isShowTitleOnHover", isSignal: true, isRequired: false, transformFunction: null }, maxVisibleItems: { classPropertyName: "maxVisibleItems", publicName: "maxVisibleItems", isSignal: false, isRequired: false, transformFunction: numberAttribute }, isGrid: { classPropertyName: "isGrid", publicName: "isGrid", isSignal: true, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, gridTemplate: { classPropertyName: "gridTemplate", publicName: "gridTemplate", isSignal: true, isRequired: false, transformFunction: null }, ratio: { classPropertyName: "ratio", publicName: "ratio", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { show: "show", hide: "hide", openFullScreen: "openFullScreen", share: "share", itemSwitch: "itemSwitch" }, host: { listeners: { "document:keydown.escape": "onEscapeKeydownHandler()" }, properties: { "class": "this.cssClasses", "attr.role": "this.role" } }, queries: [{ propertyName: "galleryItems", predicate: EclGalleryItemComponent, isSignal: true }, { propertyName: "galleryFooter", first: true, predicate: EclGalleryFooterComponent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "overlayChild", first: true, predicate: ["overlay"], descendants: true, isSignal: true }, { propertyName: "headerChild", first: true, predicate: ["header"], descendants: true, isSignal: true }, { propertyName: "footerChild", first: true, predicate: ["footer"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ul class=\"ecl-gallery__list\">\n <ng-content></ng-content>\n</ul>\n\n<ng-content select=\"ecl-gallery-footer\"></ng-content>\n\n<dialog #overlay [attr.open]=\"isDialogVisible || null\" class=\"ecl-gallery__overlay\"\n [attr.aria-label]=\"'ecl.gallery.FULL-SIZE-DISPLAY' | translate\">\n <header #header class=\"ecl-gallery__close\">\n <button (click)=\"onClose($event)\" eclButton class=\"ecl-gallery__close-button\" isIconOnly variant=\"tertiary\" eclStyle=\"inverted\">\n <span eclButtonLabel>\n {{ 'ecl.common.CLOSE' | translate }}\n </span>\n <ecl-icon icon=\"close\" size=\"m\"></ecl-icon>\n </button>\n </header>\n <section class=\"ecl-gallery__slider\">\n <div class=\"ecl-gallery__slider-media-container\">\n @if(item?.isExternalVideo) {\n <div class=\"ecl-gallery__slider-embed\">\n @if (item?.srVideoAudioDescription) {\n <div class=\"ecl-gallery__slider-embed-audio\">{{item?.srVideoAudioDescription}}</div>\n }\n <iframe [src]=\"item?.getUrlExternalVideo()\" [style.width.px]=\"getIframeWidth()\"\n [style.height.px]=\"getIframeHeight()\" [attr.title]=\"item.title + ' - Video player'\" frameborder=\"0\">\n </iframe>\n </div>\n }\n @if(item?.isImage) {\n <picture class=\"ecl-picture ecl-gallery__picture ecl-gallery__slider-image\">\n @for(el of item.galleryPicture()?.sources; track el.srcset) {\n <source [attr.srcset]=\"el.srcset\" [attr.media]=\" el.media\">\n }\n <img [attr.alt]=\"item?.galleryPicture()?.img.alt || null\"\n [src]=\"item?.galleryPicture()?.img.src\"\n [attr.loading]=\"item?.galleryPicture()?.img.loading || null\" />\n </picture>\n }\n @if(item?.isVideo) {\n <video controls=\"controls\" class=\"ecl-gallery__slider-video\" [attr.aria-label]=\"item.title + ' - Video player'\"\n [attr.poster]=\"item.mediaChild()?.poster()\" playsinline>\n @for (el of item.mediaChild()?.sources; track el.src) {\n <source [attr.src]=\"el.src\" [attr.type]=\"el.type\" />\n }\n @for (elem of item.mediaChild()?.tracks; track elem.src) {\n <track [attr.src]=\"elem.src\" [attr.kind]=\"elem.kind\" [attr.srcLang]=\"elem.srcLang\"\n [attr.label]=\"elem.label\" />\n }\n </video>\n }\n </div>\n </section>\n <footer #footer class=\"ecl-gallery__detail\">\n <div class=\"ecl-container\">\n <div class=\"ecl-gallery__detail-container\">\n <div class=\"ecl-gallery__pager\">\n <div class=\"ecl-gallery__detail-counter\">\n <span>{{ itemIndex }}</span> {{ 'ecl.common.OF' | translate }} <span>{{ itemsCount }}</span>\n </div>\n <div class=\"ecl-gallery__controls\">\n <button eclButton class=\"ecl-gallery__slider-previous\" variant=\"tertiary\" isIconOnly\n (click)=\"onPrevious($event)\">\n <ecl-icon icon=\"corner-arrow\" size=\"m\" transform=\"rotate-270\"></ecl-icon>\n <span eclButtonLabel>\n {{ 'ecl.common.PREVIOUS' | translate }}\n </span>\n </button>\n <button eclButton class=\"ecl-gallery__slider-next\" variant=\"tertiary\" isIconOnly\n (click)=\"onNext($event)\">\n <span eclButtonLabel>\n {{ 'ecl.common.NEXT' | translate }}\n </span>\n <ecl-icon icon=\"corner-arrow\" size=\"m\" transform=\"rotate-90\"></ecl-icon>\n </button>\n </div>\n </div>\n <div class=\"ecl-gallery__detail-actions\">\n <ng-container *ngTemplateOutlet=\"links\"></ng-container>\n </div>\n </div>\n <div class=\"ecl-gallery__detail-description\">\n @if(isMobile) {\n <div class=\"ecl-gallery__detail-actions-mobile\">\n <ng-container *ngTemplateOutlet=\"links\"></ng-container>\n </div>\n }\n @if(item?.title) {\n <span class=\"ecl-gallery__title\" [id]=\"item?.itemId\">{{ item?.title }}</span>\n }\n @if(item?.description) {\n <span class=\"ecl-gallery__caption\">{{ item?.description }}</span>\n }\n @if(item?.meta) {\n <span class=\"ecl-gallery__meta\">{{ item?.meta }}</span>\n }\n </div>\n </div>\n </footer>\n</dialog>\n\n<ng-template #links>\n @if(canBeOpenInFullScreen()) {\n <a eclLink [attr.aria-describedby]=\"item?.titleId\" variant=\"standalone\"\n class=\"ecl-gallery__download\" [href]=\"item?.getDownloadLink()\" target=\"_blank\"\n (click)=\"onFullScreenOpen($event)\" isInverted>\n <span eclLinkLabel>{{ 'ecl.gallery.VIEW-ORIGINAL' | translate }}</span>\n <ecl-icon icon=\"fullscreen\" size=\"fluid\" focusable=\"false\"></ecl-icon>\n </a>\n }\n @if(canBeShared()) {\n <a [attr.aria-describedby]=\"item?.titleId\" eclLink variant=\"standalone\" isInverted\n class=\"ecl-gallery__share\" href=\"\" (click)=\"onShare($event)\">\n <span eclLinkLabel>{{ 'ecl.common.SHARE' | translate }}</span>\n <ecl-icon icon=\"share\" size=\"fluid\" focusable=\"false\"></ecl-icon>\n </a>\n }\n</ng-template>", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i1.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "eclStyle", "size", "containerStyleClass"] }, { kind: "directive", type: i1.EclButtonLabelDirective, selector: "[eclButtonLabel]" }, { kind: "component", type: i1$1.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "directive", type: i3.EclLinkDirective, selector: "[eclLink]", inputs: ["extraAttributes", "isInverted", "isIconOnly", "isHighlight", "isNoVisited", "isBranded", "variant"] }, { kind: "directive", type: i3.EclLinkLabelDirective, selector: "[eclLinkLabel]" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
712
722
|
}
|
|
713
723
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclGalleryComponent, decorators: [{
|
|
714
724
|
type: Component,
|
|
715
|
-
args: [{ selector: 'ecl-gallery', imports: [TranslatePipe, NgTemplateOutlet, ...EUI_ECL_BUTTON, ...EUI_ECL_ICON, ...EUI_ECL_LINK], template: "<ul class=\"ecl-gallery__list\">\n <ng-content></ng-content>\n</ul>\n\n<ng-content select=\"ecl-gallery-footer\"></ng-content>\n\n<dialog #overlay [attr.open]=\"isDialogVisible || null\" class=\"ecl-gallery__overlay\"\n [attr.aria-label]=\"'ecl.gallery.FULL-SIZE-DISPLAY' | translate\">\n <header #header class=\"ecl-gallery__close\">\n <button (click)=\"onClose($event)\" eclButton class=\"ecl-gallery__close-button\" isIconOnly variant=\"tertiary\" eclStyle=\"inverted\">\n <span eclButtonLabel>\n {{ 'ecl.common.CLOSE' | translate }}\n </span>\n <ecl-icon icon=\"close\" size=\"m\"></ecl-icon>\n </button>\n </header>\n <section class=\"ecl-gallery__slider\">\n <div class=\"ecl-gallery__slider-media-container\">\n @if(item?.isExternalVideo) {\n <div class=\"ecl-gallery__slider-embed\">\n @if (item?.srVideoAudioDescription) {\n <div class=\"ecl-gallery__slider-embed-audio\">{{item?.srVideoAudioDescription}}</div>\n }\n <iframe [src]=\"item?.getUrlExternalVideo()\" [style.width.px]=\"getIframeWidth()\"\n [style.height.px]=\"getIframeHeight()\" [attr.title]=\"item.title + ' - Video player'\" frameborder=\"0\">\n </iframe>\n </div>\n }\n @if(item?.isImage) {\n <picture class=\"ecl-picture ecl-gallery__picture ecl-gallery__slider-image\">\n @for(el of item.galleryPicture?.sources; track el.srcset) {\n <source [attr.srcset]=\"el.srcset\" [attr.media]=\" el.media\">\n }\n <img [attr.alt]=\"item?.galleryPicture?.img.alt || null\"\n [src]=\"item?.galleryPicture?.img.src\"\n [attr.loading]=\"item?.galleryPicture?.img.loading || null\" />\n </picture>\n }\n @if(item?.isVideo) {\n <video controls=\"controls\" class=\"ecl-gallery__slider-video\" [attr.aria-label]=\"item.title + ' - Video player'\"\n [attr.poster]=\"item.mediaChild?.poster()\" playsinline>\n @for (el of item.mediaChild?.sources; track el.src) {\n <source [attr.src]=\"el.src\" [attr.type]=\"el.type\" />\n }\n @for (elem of item.mediaChild?.tracks; track elem.src) {\n <track [attr.src]=\"elem.src\" [attr.kind]=\"elem.kind\" [attr.srcLang]=\"elem.srcLang\"\n [attr.label]=\"elem.label\" />\n }\n </video>\n }\n </div>\n </section>\n <footer #footer class=\"ecl-gallery__detail\">\n <div class=\"ecl-container\">\n <div class=\"ecl-gallery__detail-container\">\n <div class=\"ecl-gallery__pager\">\n <div class=\"ecl-gallery__detail-counter\">\n <span>{{ itemIndex }}</span> {{ 'ecl.common.OF' | translate }} <span>{{ itemsCount }}</span>\n </div>\n <div class=\"ecl-gallery__controls\">\n <button eclButton class=\"ecl-gallery__slider-previous\" variant=\"tertiary\" isIconOnly\n (click)=\"onPrevious($event)\">\n <ecl-icon icon=\"corner-arrow\" size=\"m\" transform=\"rotate-270\"></ecl-icon>\n <span eclButtonLabel>\n {{ 'ecl.common.PREVIOUS' | translate }}\n </span>\n </button>\n <button eclButton class=\"ecl-gallery__slider-next\" variant=\"tertiary\" isIconOnly\n (click)=\"onNext($event)\">\n <span eclButtonLabel>\n {{ 'ecl.common.NEXT' | translate }}\n </span>\n <ecl-icon icon=\"corner-arrow\" size=\"m\" transform=\"rotate-90\"></ecl-icon>\n </button>\n </div>\n </div>\n <div class=\"ecl-gallery__detail-actions\">\n <ng-container *ngTemplateOutlet=\"links\"></ng-container>\n </div>\n </div>\n <div class=\"ecl-gallery__detail-description\">\n @if(isMobile) {\n <div class=\"ecl-gallery__detail-actions-mobile\">\n <ng-container *ngTemplateOutlet=\"links\"></ng-container>\n </div>\n }\n @if(item?.title) {\n <span class=\"ecl-gallery__title\" [id]=\"item?.itemId\">{{ item?.title }}</span>\n }\n @if(item?.description) {\n <span class=\"ecl-gallery__caption\">{{ item?.description }}</span>\n }\n @if(item?.meta) {\n <span class=\"ecl-gallery__meta\">{{ item?.meta }}</span>\n }\n </div>\n </div>\n </footer>\n</dialog>\n\n<ng-template #links>\n @if(canBeOpenInFullScreen()) {\n <a eclLink [attr.aria-describedby]=\"item?.titleId\" variant=\"standalone\"\n class=\"ecl-gallery__download\" [href]=\"item?.getDownloadLink()\" target=\"_blank\"\n (click)=\"onFullScreenOpen($event)\" isInverted>\n <span eclLinkLabel>{{ 'ecl.gallery.VIEW-ORIGINAL' | translate }}</span>\n <ecl-icon icon=\"fullscreen\" size=\"fluid\" focusable=\"false\"></ecl-icon>\n </a>\n }\n @if(canBeShared()) {\n <a [attr.aria-describedby]=\"item?.titleId\" eclLink variant=\"standalone\" isInverted\n class=\"ecl-gallery__share\" href=\"\" (click)=\"onShare($event)\">\n <span eclLinkLabel>{{ 'ecl.common.SHARE' | translate }}</span>\n <ecl-icon icon=\"share\" size=\"fluid\" focusable=\"false\"></ecl-icon>\n </a>\n }\n</ng-template>", styles: [":host{display:block}\n"] }]
|
|
725
|
+
args: [{ selector: 'ecl-gallery', imports: [TranslatePipe, NgTemplateOutlet, ...EUI_ECL_BUTTON, ...EUI_ECL_ICON, ...EUI_ECL_LINK], template: "<ul class=\"ecl-gallery__list\">\n <ng-content></ng-content>\n</ul>\n\n<ng-content select=\"ecl-gallery-footer\"></ng-content>\n\n<dialog #overlay [attr.open]=\"isDialogVisible || null\" class=\"ecl-gallery__overlay\"\n [attr.aria-label]=\"'ecl.gallery.FULL-SIZE-DISPLAY' | translate\">\n <header #header class=\"ecl-gallery__close\">\n <button (click)=\"onClose($event)\" eclButton class=\"ecl-gallery__close-button\" isIconOnly variant=\"tertiary\" eclStyle=\"inverted\">\n <span eclButtonLabel>\n {{ 'ecl.common.CLOSE' | translate }}\n </span>\n <ecl-icon icon=\"close\" size=\"m\"></ecl-icon>\n </button>\n </header>\n <section class=\"ecl-gallery__slider\">\n <div class=\"ecl-gallery__slider-media-container\">\n @if(item?.isExternalVideo) {\n <div class=\"ecl-gallery__slider-embed\">\n @if (item?.srVideoAudioDescription) {\n <div class=\"ecl-gallery__slider-embed-audio\">{{item?.srVideoAudioDescription}}</div>\n }\n <iframe [src]=\"item?.getUrlExternalVideo()\" [style.width.px]=\"getIframeWidth()\"\n [style.height.px]=\"getIframeHeight()\" [attr.title]=\"item.title + ' - Video player'\" frameborder=\"0\">\n </iframe>\n </div>\n }\n @if(item?.isImage) {\n <picture class=\"ecl-picture ecl-gallery__picture ecl-gallery__slider-image\">\n @for(el of item.galleryPicture()?.sources; track el.srcset) {\n <source [attr.srcset]=\"el.srcset\" [attr.media]=\" el.media\">\n }\n <img [attr.alt]=\"item?.galleryPicture()?.img.alt || null\"\n [src]=\"item?.galleryPicture()?.img.src\"\n [attr.loading]=\"item?.galleryPicture()?.img.loading || null\" />\n </picture>\n }\n @if(item?.isVideo) {\n <video controls=\"controls\" class=\"ecl-gallery__slider-video\" [attr.aria-label]=\"item.title + ' - Video player'\"\n [attr.poster]=\"item.mediaChild()?.poster()\" playsinline>\n @for (el of item.mediaChild()?.sources; track el.src) {\n <source [attr.src]=\"el.src\" [attr.type]=\"el.type\" />\n }\n @for (elem of item.mediaChild()?.tracks; track elem.src) {\n <track [attr.src]=\"elem.src\" [attr.kind]=\"elem.kind\" [attr.srcLang]=\"elem.srcLang\"\n [attr.label]=\"elem.label\" />\n }\n </video>\n }\n </div>\n </section>\n <footer #footer class=\"ecl-gallery__detail\">\n <div class=\"ecl-container\">\n <div class=\"ecl-gallery__detail-container\">\n <div class=\"ecl-gallery__pager\">\n <div class=\"ecl-gallery__detail-counter\">\n <span>{{ itemIndex }}</span> {{ 'ecl.common.OF' | translate }} <span>{{ itemsCount }}</span>\n </div>\n <div class=\"ecl-gallery__controls\">\n <button eclButton class=\"ecl-gallery__slider-previous\" variant=\"tertiary\" isIconOnly\n (click)=\"onPrevious($event)\">\n <ecl-icon icon=\"corner-arrow\" size=\"m\" transform=\"rotate-270\"></ecl-icon>\n <span eclButtonLabel>\n {{ 'ecl.common.PREVIOUS' | translate }}\n </span>\n </button>\n <button eclButton class=\"ecl-gallery__slider-next\" variant=\"tertiary\" isIconOnly\n (click)=\"onNext($event)\">\n <span eclButtonLabel>\n {{ 'ecl.common.NEXT' | translate }}\n </span>\n <ecl-icon icon=\"corner-arrow\" size=\"m\" transform=\"rotate-90\"></ecl-icon>\n </button>\n </div>\n </div>\n <div class=\"ecl-gallery__detail-actions\">\n <ng-container *ngTemplateOutlet=\"links\"></ng-container>\n </div>\n </div>\n <div class=\"ecl-gallery__detail-description\">\n @if(isMobile) {\n <div class=\"ecl-gallery__detail-actions-mobile\">\n <ng-container *ngTemplateOutlet=\"links\"></ng-container>\n </div>\n }\n @if(item?.title) {\n <span class=\"ecl-gallery__title\" [id]=\"item?.itemId\">{{ item?.title }}</span>\n }\n @if(item?.description) {\n <span class=\"ecl-gallery__caption\">{{ item?.description }}</span>\n }\n @if(item?.meta) {\n <span class=\"ecl-gallery__meta\">{{ item?.meta }}</span>\n }\n </div>\n </div>\n </footer>\n</dialog>\n\n<ng-template #links>\n @if(canBeOpenInFullScreen()) {\n <a eclLink [attr.aria-describedby]=\"item?.titleId\" variant=\"standalone\"\n class=\"ecl-gallery__download\" [href]=\"item?.getDownloadLink()\" target=\"_blank\"\n (click)=\"onFullScreenOpen($event)\" isInverted>\n <span eclLinkLabel>{{ 'ecl.gallery.VIEW-ORIGINAL' | translate }}</span>\n <ecl-icon icon=\"fullscreen\" size=\"fluid\" focusable=\"false\"></ecl-icon>\n </a>\n }\n @if(canBeShared()) {\n <a [attr.aria-describedby]=\"item?.titleId\" eclLink variant=\"standalone\" isInverted\n class=\"ecl-gallery__share\" href=\"\" (click)=\"onShare($event)\">\n <span eclLinkLabel>{{ 'ecl.common.SHARE' | translate }}</span>\n <ecl-icon icon=\"share\" size=\"fluid\" focusable=\"false\"></ecl-icon>\n </a>\n }\n</ng-template>", styles: [":host{display:block}\n"] }]
|
|
716
726
|
}], propDecorators: { isOpenInFullScreenPossible: [{ type: i0.Input, args: [{ isSignal: true, alias: "isOpenInFullScreenPossible", required: false }] }], isShareable: [{ type: i0.Input, args: [{ isSignal: true, alias: "isShareable", required: false }] }], isFullWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "isFullWidth", required: false }] }], isNoOverlay: [{ type: i0.Input, args: [{ isSignal: true, alias: "isNoOverlay", required: false }] }], isShowTitleOnHover: [{ type: i0.Input, args: [{ isSignal: true, alias: "isShowTitleOnHover", required: false }] }], maxVisibleItems: [{
|
|
717
727
|
type: Input,
|
|
718
728
|
args: [{ transform: numberAttribute }]
|
|
719
|
-
}], isGrid: [{ type: i0.Input, args: [{ isSignal: true, alias: "isGrid", required: false }] }], columns: [{ type: i0.Input, args: [{ isSignal: true, alias: "columns", required: false }] }], gridTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "gridTemplate", required: false }] }], ratio: [{ type: i0.Input, args: [{ isSignal: true, alias: "ratio", required: false }] }], show: [{ type: i0.Output, args: ["show"] }], hide: [{ type: i0.Output, args: ["hide"] }], openFullScreen: [{ type: i0.Output, args: ["openFullScreen"] }], share: [{ type: i0.Output, args: ["share"] }], itemSwitch: [{ type: i0.Output, args: ["itemSwitch"] }], galleryItems: [{
|
|
720
|
-
type: ContentChildren,
|
|
721
|
-
args: [EclGalleryItemComponent]
|
|
722
|
-
}], galleryFooter: [{
|
|
723
|
-
type: ContentChild,
|
|
724
|
-
args: [EclGalleryFooterComponent]
|
|
725
|
-
}], overlayChild: [{
|
|
726
|
-
type: ViewChild,
|
|
727
|
-
args: ['overlay']
|
|
728
|
-
}], headerChild: [{
|
|
729
|
-
type: ViewChild,
|
|
730
|
-
args: ['header']
|
|
731
|
-
}], footerChild: [{
|
|
732
|
-
type: ViewChild,
|
|
733
|
-
args: ['footer']
|
|
734
|
-
}], cssClasses: [{
|
|
729
|
+
}], isGrid: [{ type: i0.Input, args: [{ isSignal: true, alias: "isGrid", required: false }] }], columns: [{ type: i0.Input, args: [{ isSignal: true, alias: "columns", required: false }] }], gridTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "gridTemplate", required: false }] }], ratio: [{ type: i0.Input, args: [{ isSignal: true, alias: "ratio", required: false }] }], show: [{ type: i0.Output, args: ["show"] }], hide: [{ type: i0.Output, args: ["hide"] }], openFullScreen: [{ type: i0.Output, args: ["openFullScreen"] }], share: [{ type: i0.Output, args: ["share"] }], itemSwitch: [{ type: i0.Output, args: ["itemSwitch"] }], galleryItems: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => EclGalleryItemComponent), { isSignal: true }] }], galleryFooter: [{ type: i0.ContentChild, args: [i0.forwardRef(() => EclGalleryFooterComponent), { isSignal: true }] }], overlayChild: [{ type: i0.ViewChild, args: ['overlay', { isSignal: true }] }], headerChild: [{ type: i0.ViewChild, args: ['header', { isSignal: true }] }], footerChild: [{ type: i0.ViewChild, args: ['footer', { isSignal: true }] }], cssClasses: [{
|
|
735
730
|
type: HostBinding,
|
|
736
731
|
args: ['class']
|
|
737
732
|
}], role: [{
|