@eui/ecl 21.0.0-alpha.15 → 21.0.0-alpha.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/ecl-banner/index.d.ts +8 -4
- package/components/ecl-banner/index.d.ts.map +1 -1
- package/components/ecl-gallery/index.d.ts +1 -1
- package/components/ecl-mega-menu/index.d.ts +1 -1
- package/components/ecl-mega-menu/index.d.ts.map +1 -1
- package/components/ecl-multiselect/index.d.ts +2 -2
- package/components/ecl-pagination/index.d.ts +1 -0
- package/components/ecl-pagination/index.d.ts.map +1 -1
- package/components/ecl-popover/index.d.ts +1 -1
- package/components/ecl-popover/index.d.ts.map +1 -1
- package/components/ecl-site-header/index.d.ts +1 -1
- package/docs/changelog.html +111 -0
- package/docs/components/EclBannerComponent.html +1 -1
- package/docs/components/EclBreadcrumbComponent.html +1 -6
- package/docs/components/EclGalleryComponent.html +4 -44
- package/docs/components/EclMultiselectDropdownComponent.html +3 -38
- package/docs/components/EclPaginationItemComponent.html +26 -1
- package/docs/components/EclPopoverComponent.html +5 -50
- package/docs/components/EclSiteHeaderLanguagePopoverComponent.html +1 -6
- package/docs/directives/EclRangeDirective.html +2 -2
- package/docs/js/search/search_index.js +2 -2
- package/docs/properties.html +1 -1
- package/fesm2022/eui-ecl-components-ecl-accordion.mjs +10 -10
- package/fesm2022/eui-ecl-components-ecl-app.mjs +7 -7
- package/fesm2022/eui-ecl-components-ecl-banner.mjs +85 -72
- package/fesm2022/eui-ecl-components-ecl-banner.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-blockquote.mjs +13 -13
- package/fesm2022/eui-ecl-components-ecl-breadcrumb.mjs +14 -14
- package/fesm2022/eui-ecl-components-ecl-breadcrumb.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-button.mjs +16 -16
- package/fesm2022/eui-ecl-components-ecl-card.mjs +16 -16
- package/fesm2022/eui-ecl-components-ecl-carousel.mjs +10 -10
- package/fesm2022/eui-ecl-components-ecl-category-filter.mjs +13 -13
- package/fesm2022/eui-ecl-components-ecl-checkbox.mjs +16 -16
- package/fesm2022/eui-ecl-components-ecl-content-block.mjs +58 -58
- package/fesm2022/eui-ecl-components-ecl-content-item.mjs +13 -13
- package/fesm2022/eui-ecl-components-ecl-date-block.mjs +7 -7
- package/fesm2022/eui-ecl-components-ecl-date-picker.mjs +7 -7
- package/fesm2022/eui-ecl-components-ecl-expandable.mjs +7 -7
- package/fesm2022/eui-ecl-components-ecl-fact-figures.mjs +22 -22
- package/fesm2022/eui-ecl-components-ecl-featured.mjs +25 -25
- package/fesm2022/eui-ecl-components-ecl-feedback-message.mjs +7 -7
- package/fesm2022/eui-ecl-components-ecl-file-upload.mjs +7 -7
- package/fesm2022/eui-ecl-components-ecl-file.mjs +34 -34
- package/fesm2022/eui-ecl-components-ecl-form-group.mjs +7 -7
- package/fesm2022/eui-ecl-components-ecl-form-label.mjs +10 -10
- package/fesm2022/eui-ecl-components-ecl-gallery.mjs +25 -25
- package/fesm2022/eui-ecl-components-ecl-gallery.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-help-block.mjs +7 -7
- package/fesm2022/eui-ecl-components-ecl-icon.mjs +7 -7
- package/fesm2022/eui-ecl-components-ecl-inpage-navigation.mjs +16 -16
- package/fesm2022/eui-ecl-components-ecl-label.mjs +7 -7
- package/fesm2022/eui-ecl-components-ecl-link.mjs +16 -16
- package/fesm2022/eui-ecl-components-ecl-list-illustration.mjs +19 -19
- package/fesm2022/eui-ecl-components-ecl-list.mjs +31 -31
- package/fesm2022/eui-ecl-components-ecl-loading-indicator.mjs +13 -13
- package/fesm2022/eui-ecl-components-ecl-media-container.mjs +19 -19
- package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs +50 -50
- package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-menu.mjs +16 -16
- package/fesm2022/eui-ecl-components-ecl-modal.mjs +25 -25
- package/fesm2022/eui-ecl-components-ecl-multiselect.mjs +27 -27
- package/fesm2022/eui-ecl-components-ecl-multiselect.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-navigation-list.mjs +16 -16
- package/fesm2022/eui-ecl-components-ecl-news-ticker.mjs +13 -13
- package/fesm2022/eui-ecl-components-ecl-notification.mjs +10 -10
- package/fesm2022/eui-ecl-components-ecl-page-header.mjs +37 -37
- package/fesm2022/eui-ecl-components-ecl-pagination.mjs +21 -14
- package/fesm2022/eui-ecl-components-ecl-pagination.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-popover.mjs +17 -17
- package/fesm2022/eui-ecl-components-ecl-popover.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-radio.mjs +16 -16
- package/fesm2022/eui-ecl-components-ecl-range.mjs +14 -14
- package/fesm2022/eui-ecl-components-ecl-range.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-rating-field.mjs +7 -7
- package/fesm2022/eui-ecl-components-ecl-search-form.mjs +7 -7
- package/fesm2022/eui-ecl-components-ecl-select.mjs +10 -10
- package/fesm2022/eui-ecl-components-ecl-separator.mjs +7 -7
- package/fesm2022/eui-ecl-components-ecl-site-footer.mjs +61 -61
- package/fesm2022/eui-ecl-components-ecl-site-header.mjs +65 -65
- package/fesm2022/eui-ecl-components-ecl-site-header.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-social-media-follow.mjs +13 -13
- package/fesm2022/eui-ecl-components-ecl-social-media-share.mjs +13 -13
- package/fesm2022/eui-ecl-components-ecl-splash-page.mjs +31 -31
- package/fesm2022/eui-ecl-components-ecl-sticky-container.mjs +7 -7
- package/fesm2022/eui-ecl-components-ecl-table.mjs +34 -34
- package/fesm2022/eui-ecl-components-ecl-tabs.mjs +16 -16
- package/fesm2022/eui-ecl-components-ecl-tag.mjs +16 -16
- package/fesm2022/eui-ecl-components-ecl-text-area.mjs +7 -7
- package/fesm2022/eui-ecl-components-ecl-text-input.mjs +7 -7
- package/fesm2022/eui-ecl-components-ecl-timeline.mjs +19 -19
- package/fesm2022/eui-ecl-core.mjs +25 -25
- package/fesm2022/eui-ecl-shared.mjs +3 -3
- package/fesm2022/eui-ecl.mjs +4 -4
- package/package.json +13 -13
package/docs/properties.html
CHANGED
|
@@ -33,10 +33,10 @@ class EclAccordionComponent {
|
|
|
33
33
|
get cssClasses() {
|
|
34
34
|
return [this.baseDirective.getCssClasses('ecl-accordion')].join(' ').trim();
|
|
35
35
|
}
|
|
36
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
37
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0-next.
|
|
36
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclAccordionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
37
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0-next.3", type: EclAccordionComponent, isStandalone: true, selector: "ecl-accordion", host: { properties: { "class": "this.cssClasses" } }, hostDirectives: [{ directive: i1.ECLBaseDirective }], ngImport: i0, template: "<ng-content></ng-content>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: TranslateModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
38
38
|
}
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclAccordionComponent, decorators: [{
|
|
40
40
|
type: Component,
|
|
41
41
|
args: [{ selector: 'ecl-accordion', changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule, ...EUI_ECL_ICON, TranslateModule], hostDirectives: [
|
|
42
42
|
{
|
|
@@ -100,10 +100,10 @@ class EclAccordionItemComponent {
|
|
|
100
100
|
this.isExpanded = nextExpandedState;
|
|
101
101
|
}
|
|
102
102
|
}
|
|
103
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
104
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.0.0-next.
|
|
103
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclAccordionItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
104
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.0.0-next.3", type: EclAccordionItemComponent, isStandalone: true, selector: "ecl-accordion-item", inputs: { label: "label", isExpanded: ["isExpanded", "isExpanded", booleanAttribute] }, outputs: { toggle: "toggle" }, host: { properties: { "class": "this.cssClasses" } }, hostDirectives: [{ directive: i1.ECLBaseDirective }], ngImport: i0, template: "<h3 class=\"ecl-accordion__title\" [id]=\"titleId\">\n <button\n type=\"button\"\n (click)=\"onItemClick($event)\"\n [attr.aria-expanded]=\"isExpanded\"\n class=\"ecl-accordion__toggle\"\n [attr.aria-controls]=\"contentId\">\n <span class=\"ecl-accordion__toggle-flex\">\n <span class=\"ecl-accordion__toggle-title\">{{ label }}</span>\n <span class=\"ecl-accordion__toggle-indicator\">\n <ecl-icon icon=\"plus\" size=\"s\" class=\"ecl-accordion__toggle-icon\" ariaHidden=\"true\">\n </ecl-icon>\n <ecl-icon icon=\"minus\" size=\"s\" class=\"ecl-accordion__toggle-icon\" ariaHidden=\"true\">\n </ecl-icon>\n </span>\n </span>\n </button>\n</h3>\n<div class=\"ecl-accordion__content\" [hidden]=\"!isExpanded\" role=\"region\" [attr.aria-labelledby]=\"titleId\" [id]=\"contentId\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: i2.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "ngmodule", type: TranslateModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
105
105
|
}
|
|
106
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
106
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclAccordionItemComponent, decorators: [{
|
|
107
107
|
type: Component,
|
|
108
108
|
args: [{ selector: 'ecl-accordion-item', changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule, ...EUI_ECL_ICON, TranslateModule], hostDirectives: [
|
|
109
109
|
{
|
|
@@ -129,11 +129,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.1",
|
|
|
129
129
|
* @deprecated Use {@link EUI_ECL_ACCORDION} instead.
|
|
130
130
|
*/
|
|
131
131
|
class EclAccordionModule {
|
|
132
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
133
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.0-next.
|
|
134
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
132
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclAccordionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
133
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclAccordionModule, imports: [EclAccordionComponent, EclAccordionItemComponent], exports: [EclAccordionComponent, EclAccordionItemComponent] }); }
|
|
134
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclAccordionModule, imports: [EclAccordionComponent, EclAccordionItemComponent] }); }
|
|
135
135
|
}
|
|
136
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
136
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclAccordionModule, decorators: [{
|
|
137
137
|
type: NgModule,
|
|
138
138
|
args: [{
|
|
139
139
|
imports: [EclAccordionComponent, EclAccordionItemComponent],
|
|
@@ -59,10 +59,10 @@ class EclAppComponent extends ECLBaseDirective {
|
|
|
59
59
|
this.languageDismiss.next(new EclAppLanguageDismissEvent(evt.language));
|
|
60
60
|
});
|
|
61
61
|
}
|
|
62
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
63
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0-next.
|
|
62
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclAppComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
63
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0-next.3", type: EclAppComponent, isStandalone: true, selector: "ecl-app", outputs: { languageDismiss: "languageDismiss" }, host: { properties: { "attr.dir": "this.textDirection" } }, queries: [{ propertyName: "eclSiteHeaderLanguage", first: true, predicate: EclSiteHeaderLanguageComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n" }); }
|
|
64
64
|
}
|
|
65
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
65
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclAppComponent, decorators: [{
|
|
66
66
|
type: Component,
|
|
67
67
|
args: [{ selector: 'ecl-app', template: "<ng-content></ng-content>\n" }]
|
|
68
68
|
}], propDecorators: { textDirection: [{
|
|
@@ -81,11 +81,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.1",
|
|
|
81
81
|
* @deprecated Use {@link EUI_ECL_APP} instead.
|
|
82
82
|
*/
|
|
83
83
|
class EclAppModule {
|
|
84
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
85
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.0-next.
|
|
86
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
84
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclAppModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
85
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclAppModule, imports: [EclAppComponent], exports: [EclAppComponent] }); }
|
|
86
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclAppModule }); }
|
|
87
87
|
}
|
|
88
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
88
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclAppModule, decorators: [{
|
|
89
89
|
type: NgModule,
|
|
90
90
|
args: [{
|
|
91
91
|
imports: [EclAppComponent],
|
|
@@ -18,10 +18,10 @@ class EclBannerPictureDirective extends ECLBaseDirective {
|
|
|
18
18
|
get cssClasses() {
|
|
19
19
|
return [super.getCssClasses('ecl-picture ecl-banner__picture')].join(' ').trim();
|
|
20
20
|
}
|
|
21
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
22
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0-next.
|
|
21
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclBannerPictureDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
22
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0-next.3", type: EclBannerPictureDirective, isStandalone: true, selector: "picture[eclBannerPicture]", host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0 }); }
|
|
23
23
|
}
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclBannerPictureDirective, decorators: [{
|
|
25
25
|
type: Directive,
|
|
26
26
|
args: [{
|
|
27
27
|
selector: 'picture[eclBannerPicture]',
|
|
@@ -40,10 +40,10 @@ class EclBannerImageDirective extends ECLBaseDirective {
|
|
|
40
40
|
this.el = inject(ElementRef);
|
|
41
41
|
this.className = true;
|
|
42
42
|
}
|
|
43
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
44
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0-next.
|
|
43
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclBannerImageDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
44
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0-next.3", type: EclBannerImageDirective, isStandalone: true, selector: "img[eclBannerImage]", host: { properties: { "class.ecl-banner__image": "this.className" } }, usesInheritance: true, ngImport: i0 }); }
|
|
45
45
|
}
|
|
46
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclBannerImageDirective, decorators: [{
|
|
47
47
|
type: Directive,
|
|
48
48
|
args: [{
|
|
49
49
|
selector: 'img[eclBannerImage]',
|
|
@@ -66,10 +66,10 @@ class EclBannerVideoDirective extends ECLBaseDirective {
|
|
|
66
66
|
*/
|
|
67
67
|
this.videoClasses = 'ecl-video ecl-banner__video';
|
|
68
68
|
}
|
|
69
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
70
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0-next.
|
|
69
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclBannerVideoDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
70
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0-next.3", type: EclBannerVideoDirective, isStandalone: true, selector: "video[eclBannerVideo]", host: { properties: { "class": "this.videoClasses" } }, usesInheritance: true, ngImport: i0 }); }
|
|
71
71
|
}
|
|
72
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
72
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclBannerVideoDirective, decorators: [{
|
|
73
73
|
type: Directive,
|
|
74
74
|
args: [{
|
|
75
75
|
selector: 'video[eclBannerVideo]',
|
|
@@ -150,11 +150,13 @@ class EclBannerComponent extends ECLBaseDirective {
|
|
|
150
150
|
this.isPlaying = false;
|
|
151
151
|
this.BANNER_PADDING = 16;
|
|
152
152
|
this.destroy$ = new Subject();
|
|
153
|
-
this.
|
|
153
|
+
this.breakpoint = 996;
|
|
154
|
+
this.bannerVPadding = 8;
|
|
154
155
|
this.isTabletBreakpoint = true;
|
|
155
156
|
this.TIMEOUT_INTERVAL = 200;
|
|
156
157
|
this.renderer = inject(Renderer2);
|
|
157
158
|
this.cdkBreakpointObserver = inject(BreakpointObserver);
|
|
159
|
+
this.maxIterations = 10;
|
|
158
160
|
afterNextRender(() => {
|
|
159
161
|
this.observeBreakpointChanges();
|
|
160
162
|
this.observeElementSizeChanges();
|
|
@@ -237,55 +239,66 @@ class EclBannerComponent extends ECLBaseDirective {
|
|
|
237
239
|
observeElementSizeChanges() {
|
|
238
240
|
new ResizeObserver(() => {
|
|
239
241
|
setTimeout(() => {
|
|
240
|
-
|
|
241
|
-
this.bannerWidth = this.bannerContainer.nativeElement.offsetWidth;
|
|
242
|
-
if (this.eclBannerImage || this.eclBannerVideo) {
|
|
243
|
-
this.setBannerHeight();
|
|
244
|
-
}
|
|
245
|
-
}
|
|
242
|
+
this.checkViewport();
|
|
246
243
|
}, this.TIMEOUT_INTERVAL);
|
|
247
244
|
}).observe(this.bannerContainer.nativeElement);
|
|
248
245
|
}
|
|
249
|
-
|
|
250
|
-
if (
|
|
251
|
-
|
|
252
|
-
}
|
|
253
|
-
const bannerContainerHeight = this.bannerContainer.nativeElement.offsetHeight + this.BANNER_PADDING;
|
|
254
|
-
const ratioArray = this.getRatioArray();
|
|
255
|
-
const elHeight = parseInt(window.getComputedStyle(this.el.nativeElement).getPropertyValue('width'), 10) * ratioArray[1] / ratioArray[0];
|
|
256
|
-
if (this.isTabletBreakpoint && bannerContainerHeight > elHeight) {
|
|
257
|
-
if (this.eclBannerImage) {
|
|
258
|
-
this.renderer.setStyle(this.eclBannerImage.el.nativeElement, 'aspectRatio', 'auto');
|
|
259
|
-
}
|
|
260
|
-
else if (this.eclBannerVideo) {
|
|
261
|
-
this.renderer.setStyle(this.eclBannerVideo.el.nativeElement, 'aspectRatio', 'auto');
|
|
262
|
-
}
|
|
263
|
-
this.renderer.setStyle(this.el.nativeElement, 'height', `${bannerContainerHeight}px`);
|
|
246
|
+
checkViewport() {
|
|
247
|
+
if (window.innerWidth > this.breakpoint) {
|
|
248
|
+
this.setBannerHeight();
|
|
264
249
|
}
|
|
265
250
|
else {
|
|
266
|
-
this.
|
|
267
|
-
}
|
|
268
|
-
if (this.bannerFooter) {
|
|
269
|
-
this.bannerFooterHeight = this.bannerFooter.nativeElement.offsetHeight;
|
|
251
|
+
this.resetBannerHeight();
|
|
270
252
|
}
|
|
271
253
|
}
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
this.
|
|
254
|
+
waitForAspectRatioToBeDefined(attemptCounter) {
|
|
255
|
+
attemptCounter = attemptCounter + 1;
|
|
256
|
+
const aspectRatio = window.getComputedStyle(this.el.nativeElement).getPropertyValue('--css-aspect-ratio');
|
|
257
|
+
if ((typeof aspectRatio === 'undefined' || aspectRatio === '') &&
|
|
258
|
+
this.maxIterations > attemptCounter) {
|
|
259
|
+
setTimeout(() => this.waitForAspectRatioToBeDefined(attemptCounter), 100);
|
|
277
260
|
}
|
|
278
|
-
|
|
279
|
-
this.
|
|
261
|
+
else {
|
|
262
|
+
this.setHeight(aspectRatio);
|
|
280
263
|
}
|
|
281
264
|
}
|
|
282
|
-
|
|
283
|
-
if (this.eclBannerImage) {
|
|
284
|
-
|
|
285
|
-
return aspectRatio.split('/').map(Number);
|
|
265
|
+
setBannerHeight() {
|
|
266
|
+
if (this.eclBannerImage || this.eclBannerVideo) {
|
|
267
|
+
this.waitForAspectRatioToBeDefined(0);
|
|
286
268
|
}
|
|
287
269
|
else {
|
|
288
|
-
|
|
270
|
+
this.setHeight(this.getDefaultRatio());
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
setHeight(ratio) {
|
|
274
|
+
if (this.bannerContainer) {
|
|
275
|
+
const bannerHeight = this.bannerContainer.nativeElement.offsetHeight + 2 * this.bannerVPadding;
|
|
276
|
+
const bannerWidth = parseInt(window.getComputedStyle(this.el.nativeElement).getPropertyValue('width'), 10);
|
|
277
|
+
const [denominator, numerator] = ratio.split('/').map(Number);
|
|
278
|
+
const currentHeight = (bannerWidth * numerator) / denominator;
|
|
279
|
+
if (bannerHeight > currentHeight) {
|
|
280
|
+
this.renderer.setStyle(this.el.nativeElement, 'aspect-ratio', 'auto');
|
|
281
|
+
this.renderer.setStyle(this.el.nativeElement, 'height', `${bannerHeight}px`);
|
|
282
|
+
}
|
|
283
|
+
else {
|
|
284
|
+
this.resetBannerHeight();
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
// Add margin to the banner container when there is a footer
|
|
288
|
+
// This is needed to keep the vertical alignment
|
|
289
|
+
if (this.bannerFooter) {
|
|
290
|
+
this.renderer.setStyle(this.el.nativeElement, '--banner-footer-height', `${this.bannerFooter.nativeElement.offsetHeight}px`);
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
resetBannerHeight() {
|
|
294
|
+
// remove aspect-ratio
|
|
295
|
+
this.renderer.removeStyle(this.el.nativeElement, 'aspect-ratio');
|
|
296
|
+
// set height to auto
|
|
297
|
+
this.renderer.setStyle(this.el.nativeElement, 'height', 'auto');
|
|
298
|
+
// update footer height if bannerFooter exists
|
|
299
|
+
if (this.bannerFooter) {
|
|
300
|
+
const footerHeight = `${this.bannerFooter.nativeElement.offsetHeight}px`;
|
|
301
|
+
this.renderer.setStyle(this.el.nativeElement, '--banner-footer-height', footerHeight);
|
|
289
302
|
}
|
|
290
303
|
}
|
|
291
304
|
getDefaultRatio() {
|
|
@@ -317,10 +330,10 @@ class EclBannerComponent extends ECLBaseDirective {
|
|
|
317
330
|
}
|
|
318
331
|
});
|
|
319
332
|
}
|
|
320
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
321
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-next.
|
|
333
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclBannerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
334
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-next.3", type: EclBannerComponent, isStandalone: true, selector: "ecl-banner", inputs: { eclSize: "eclSize", fontColor: "fontColor", fontSize: "fontSize", boxBackground: "boxBackground", horizontalAlignment: "horizontalAlignment", verticalAlignment: "verticalAlignment", copyright: "copyright", isFullWidth: ["isFullWidth", "isFullWidth", booleanAttribute] }, host: { properties: { "style.--banner-footer-height.px": "this.bannerFooterHeight", "class": "this.cssClasses" } }, queries: [{ propertyName: "eclBannerImage", first: true, predicate: EclBannerImageDirective, descendants: true }, { propertyName: "eclBannerVideo", first: true, predicate: EclBannerVideoDirective, descendants: true }, { propertyName: "eclLinkComponents", predicate: i0.forwardRef(() => EclLinkDirective) }], viewQueries: [{ propertyName: "bannerFooter", first: true, predicate: ["bannerFooter"], descendants: true }, { propertyName: "bannerContainer", first: true, predicate: ["bannerContainer"], descendants: true }, { propertyName: "playBtn", first: true, predicate: ["playBtn"], descendants: true }, { propertyName: "pauseBtn", first: true, predicate: ["pauseBtn"], descendants: true }], usesInheritance: true, ngImport: i0, template: "@if(hasImage) {\n<figure class=\"ecl-banner__picture-container\">\n <ng-content select=\"[eclBannerPicture]\"></ng-content>\n @if(copyright) {\n <ng-container *ngTemplateOutlet=\"bannerFooterTemplate\"></ng-container>\n }\n</figure>\n}\n\n@if(hasVideo) {\n<div class=\"ecl-banner__video-container\">\n <ng-content select=\"[eclBannerVideo]\"></ng-content>\n @if(copyright) {\n <ng-container *ngTemplateOutlet=\"bannerFooterTemplate\"></ng-container>\n }\n <button #playBtn eclButton variant=\"tertiary\" isIconOnly class=\"ecl-banner__play\" (click)=\"onVideoPlay()\"\n [style.display]=\"isPlaying ? 'none' : 'block'\" (keydown.enter)=\"onKeydownEnterPlay()\">\n <span eclButtonLabel>Play video</span>\n <ecl-icon icon=\"play-outline\" size=\"m\"></ecl-icon>\n </button>\n <button #pauseBtn eclButton variant=\"tertiary\" isIconOnly class=\"ecl-banner__pause\" (click)=\"onVideoPause()\"\n [style.display]=\"isPlaying ? 'block' : 'none'\" (keydown.enter)=\"onKeydownEnterPause()\">\n <span eclButtonLabel>Pause video</span>\n <ecl-icon icon=\"pause-outline\" size=\"m\"></ecl-icon>\n </button>\n</div>\n}\n<div class=\"ecl-container ecl-banner__info\">\n <div #bannerContainer class=\"ecl-banner__container \">\n <div class=\"ecl-banner__content\">\n <ng-content select=\"[eclBannerTitle]\"></ng-content>\n <ng-content select=\"[eclBannerDescription]\"></ng-content>\n @if (hasCtaLink) {\n <div class=\"ecl-banner__cta\">\n <ng-content select=\"[eclLink]\"></ng-content>\n </div>\n }\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n\n<ng-template #bannerFooterTemplate>\n <div #bannerFooter class=\"ecl-banner__credit\"><div class=\"ecl-container\">\u00A9 {{copyright}}</div></div>\n</ng-template>", dependencies: [{ kind: "component", type: i1.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "component", type: i2.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "containerStyleClass"] }, { kind: "directive", type: i2.EclButtonLabelDirective, selector: "[eclButtonLabel]" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
322
335
|
}
|
|
323
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
336
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclBannerComponent, decorators: [{
|
|
324
337
|
type: Component,
|
|
325
338
|
args: [{ selector: 'ecl-banner', imports: [
|
|
326
339
|
...EUI_ECL_ICON,
|
|
@@ -382,10 +395,10 @@ class EclBannerTitleDirective extends ECLBaseDirective {
|
|
|
382
395
|
super(...arguments);
|
|
383
396
|
this.className = 'ecl-banner__title';
|
|
384
397
|
}
|
|
385
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
386
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0-next.
|
|
398
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclBannerTitleDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
399
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0-next.3", type: EclBannerTitleDirective, isStandalone: true, selector: "[eclBannerTitle]", host: { properties: { "class": "this.className" } }, usesInheritance: true, ngImport: i0 }); }
|
|
387
400
|
}
|
|
388
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
401
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclBannerTitleDirective, decorators: [{
|
|
389
402
|
type: Directive,
|
|
390
403
|
args: [{
|
|
391
404
|
selector: '[eclBannerTitle]',
|
|
@@ -403,10 +416,10 @@ class EclBannerTitleTextDirective extends ECLBaseDirective {
|
|
|
403
416
|
super(...arguments);
|
|
404
417
|
this.className = 'ecl-banner__title-text';
|
|
405
418
|
}
|
|
406
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
407
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0-next.
|
|
419
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclBannerTitleTextDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
420
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0-next.3", type: EclBannerTitleTextDirective, isStandalone: true, selector: "[eclBannerTitleText]", host: { properties: { "class": "this.className" } }, usesInheritance: true, ngImport: i0 }); }
|
|
408
421
|
}
|
|
409
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
422
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclBannerTitleTextDirective, decorators: [{
|
|
410
423
|
type: Directive,
|
|
411
424
|
args: [{
|
|
412
425
|
selector: '[eclBannerTitleText]',
|
|
@@ -424,10 +437,10 @@ class EclBannerTitleLinkDirective extends ECLBaseDirective {
|
|
|
424
437
|
super(...arguments);
|
|
425
438
|
this.className = 'ecl-link ecl-banner__title-link';
|
|
426
439
|
}
|
|
427
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
428
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0-next.
|
|
440
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclBannerTitleLinkDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
441
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0-next.3", type: EclBannerTitleLinkDirective, isStandalone: true, selector: "[eclBannerTitleLink]", host: { properties: { "class": "this.className" } }, usesInheritance: true, ngImport: i0 }); }
|
|
429
442
|
}
|
|
430
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
443
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclBannerTitleLinkDirective, decorators: [{
|
|
431
444
|
type: Directive,
|
|
432
445
|
args: [{
|
|
433
446
|
selector: '[eclBannerTitleLink]',
|
|
@@ -445,10 +458,10 @@ class EclBannerDescriptionDirective extends ECLBaseDirective {
|
|
|
445
458
|
super(...arguments);
|
|
446
459
|
this.className = 'ecl-banner__description';
|
|
447
460
|
}
|
|
448
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
449
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0-next.
|
|
461
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclBannerDescriptionDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
462
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0-next.3", type: EclBannerDescriptionDirective, isStandalone: true, selector: "[eclBannerDescription]", host: { properties: { "class": "this.className" } }, usesInheritance: true, ngImport: i0 }); }
|
|
450
463
|
}
|
|
451
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
464
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclBannerDescriptionDirective, decorators: [{
|
|
452
465
|
type: Directive,
|
|
453
466
|
args: [{
|
|
454
467
|
selector: '[eclBannerDescription]',
|
|
@@ -465,10 +478,10 @@ class EclBannerDescriptionTextDirective extends ECLBaseDirective {
|
|
|
465
478
|
super(...arguments);
|
|
466
479
|
this.className = 'ecl-banner__description-text';
|
|
467
480
|
}
|
|
468
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
469
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0-next.
|
|
481
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclBannerDescriptionTextDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
482
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0-next.3", type: EclBannerDescriptionTextDirective, isStandalone: true, selector: "[eclBannerDescriptionText]", host: { properties: { "class": "this.className" } }, usesInheritance: true, ngImport: i0 }); }
|
|
470
483
|
}
|
|
471
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
484
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclBannerDescriptionTextDirective, decorators: [{
|
|
472
485
|
type: Directive,
|
|
473
486
|
args: [{
|
|
474
487
|
selector: '[eclBannerDescriptionText]',
|
|
@@ -485,10 +498,10 @@ class EclBannerDescriptionLinkDirective extends ECLBaseDirective {
|
|
|
485
498
|
super(...arguments);
|
|
486
499
|
this.className = 'ecl-link ecl-banner__description-link';
|
|
487
500
|
}
|
|
488
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
489
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0-next.
|
|
501
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclBannerDescriptionLinkDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
502
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0-next.3", type: EclBannerDescriptionLinkDirective, isStandalone: true, selector: "[eclBannerDescriptionLink]", host: { properties: { "class": "this.className" } }, usesInheritance: true, ngImport: i0 }); }
|
|
490
503
|
}
|
|
491
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
504
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclBannerDescriptionLinkDirective, decorators: [{
|
|
492
505
|
type: Directive,
|
|
493
506
|
args: [{
|
|
494
507
|
selector: '[eclBannerDescriptionLink]',
|
|
@@ -517,8 +530,8 @@ const COMPONENTS = [
|
|
|
517
530
|
* @deprecated Use {@link EUI_ECL_BANNER} instead.
|
|
518
531
|
*/
|
|
519
532
|
class EclBannerModule {
|
|
520
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
521
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.0-next.
|
|
533
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclBannerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
534
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclBannerModule, imports: [EclBannerComponent,
|
|
522
535
|
EclBannerTitleDirective,
|
|
523
536
|
EclBannerTitleTextDirective,
|
|
524
537
|
EclBannerDescriptionDirective,
|
|
@@ -537,9 +550,9 @@ class EclBannerModule {
|
|
|
537
550
|
EclBannerTitleLinkDirective,
|
|
538
551
|
EclBannerVideoDirective,
|
|
539
552
|
EclBannerDescriptionLinkDirective] }); }
|
|
540
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
553
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclBannerModule, imports: [EclBannerComponent] }); }
|
|
541
554
|
}
|
|
542
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
555
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclBannerModule, decorators: [{
|
|
543
556
|
type: NgModule,
|
|
544
557
|
args: [{
|
|
545
558
|
imports: [...COMPONENTS],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-ecl-components-ecl-banner.mjs","sources":["../../components/ecl-banner/ecl-banner-picture.directive.ts","../../components/ecl-banner/ecl-banner-video.directive.ts","../../components/ecl-banner/ecl-banner.component.ts","../../components/ecl-banner/ecl-banner.component.html","../../components/ecl-banner/ecl-banner-title.directive.ts","../../components/ecl-banner/ecl-banner-description.directive.ts","../../components/ecl-banner/ecl-banner.module.ts","../../components/ecl-banner/index.ts","../../components/ecl-banner/eui-ecl-components-ecl-banner.ts"],"sourcesContent":["import { Directive, HostBinding, ElementRef, inject } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive applied to the <picture> element within the banner.\n * Adds the appropriate classes for styling the banner picture.\n */\n@Directive({\n selector: 'picture[eclBannerPicture]',\n})\nexport class EclBannerPictureDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-picture ecl-banner__picture')].join(' ').trim();\n }\n}\n\n/**\n * Directive applied to the <img> element inside the banner.\n * Enables class binding and exposes the element reference.\n */\n@Directive({\n selector: 'img[eclBannerImage]',\n})\nexport class EclBannerImageDirective extends ECLBaseDirective {\n el = inject(ElementRef);\n\n @HostBinding('class.ecl-banner__image') className = true;\n}\n","import { Directive, HostBinding, ElementRef, inject } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive applied to the video element used in the banner.\n * Adds appropriate styling classes to the host element.\n */\n@Directive({\n selector: 'video[eclBannerVideo]',\n})\nexport class EclBannerVideoDirective extends ECLBaseDirective {\n el = inject(ElementRef);\n\n /**\n * CSS classes applied to the host video element.\n */\n @HostBinding('class') videoClasses = 'ecl-video ecl-banner__video';\n}\n","import { BreakpointObserver } from '@angular/cdk/layout';\nimport {\n AfterContentInit,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n HostBinding,\n Input,\n OnDestroy,\n QueryList,\n Renderer2,\n ViewChild,\n afterNextRender,\n booleanAttribute,\n forwardRef,\n inject,\n} from '@angular/core';\nimport { Subject, delay, takeUntil } from 'rxjs';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclLinkDirective } from '@eui/ecl/components/ecl-link';\nimport { EclBannerImageDirective } from './ecl-banner-picture.directive';\nimport { EclBannerVideoDirective } from './ecl-banner-video.directive';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { EclButtonComponent, EUI_ECL_BUTTON } from '@eui/ecl/components/ecl-button';\n\nconst enum DefaultRatio {\n XS = '6/1',\n S = '5/1',\n M = '4/1',\n L = '3/1',\n}\n\n/**\n * Component representing a banner, which can contain image, video and call-to-action (CTA) links.\n * Allows customization of layout, alignment, and appearance through inputs.\n */\n@Component({\n selector: 'ecl-banner',\n templateUrl: './ecl-banner.component.html',\n imports: [\n ...EUI_ECL_ICON,\n ...EUI_ECL_BUTTON,\n NgTemplateOutlet,\n ],\n})\nexport class EclBannerComponent extends ECLBaseDirective implements AfterContentInit, OnDestroy {\n el = inject(ElementRef);\n /**\n * Defines the size of the banner. Affects its height-to-width aspect ratio.\n * Allowed values: 'xs' | 's' | 'm' | 'l'.\n * Default: 'm'.\n */\n @Input() eclSize: 'xs'| 's' | 'm' | 'l' | string = 'm';\n\n /**\n * Defines the color of the font inside the banner content box.\n * Allowed values: 'light' | 'dark'.\n * Default: 'dark'.\n */\n @Input() fontColor: 'light' | 'dark' | string = 'dark';\n\n /**\n * Defines the font size inside the banner content box.\n * Allowed values: 'm' | 'l'.\n * Default: 'm'.\n */\n @Input() fontSize: 'm' | 'l' | string = 'm';\n\n /**\n * Defines the background color of the banner content box.\n * Allowed values: 'none' | 'light' | 'dark'.\n * Default: 'light'.\n */\n @Input() boxBackground: 'none' | 'light' | 'dark' | string = 'light';\n\n /**\n * Sets the horizontal alignment of the content inside the banner.\n * Allowed values: 'left' | 'center' | 'right'.\n * Default: 'left'.\n */\n @Input() horizontalAlignment: 'right' | 'left' | 'center' | string = 'left';\n\n /**\n * Sets the vertical alignment of the content inside the banner.\n * Allowed values: 'top' | 'center' | 'bottom'.\n * Default: 'center'.\n */\n @Input() verticalAlignment: 'top' | 'center' | 'bottom' | string = 'center';\n\n /**\n * Sets the copyright text displayed in the banner.\n */\n @Input() copyright = '';\n\n /**\n * When true, the banner stretches to full width of its container.\n * Default: false.\n */\n @Input({ transform: booleanAttribute }) isFullWidth = false;\n\n @ContentChildren(forwardRef(() => EclLinkDirective)) eclLinkComponents: QueryList<EclLinkDirective>;\n @ContentChild(EclBannerImageDirective) eclBannerImage: EclBannerImageDirective;\n @ContentChild(EclBannerVideoDirective) eclBannerVideo: EclBannerVideoDirective;\n\n @ViewChild('bannerFooter') bannerFooter: ElementRef;\n @ViewChild('bannerContainer') bannerContainer: ElementRef;\n @ViewChild('playBtn') playBtn: EclButtonComponent;\n @ViewChild('pauseBtn') pauseBtn: EclButtonComponent;\n\n @HostBinding('style.--banner-footer-height.px') bannerFooterHeight = null;\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-banner'),\n `ecl-banner--${this.eclSize}`,\n `ecl-banner--font-${this.fontSize}`,\n `ecl-banner--box-bg-${this.boxBackground}`,\n `ecl-banner--h-${this.horizontalAlignment}`,\n `ecl-banner--v-${this.verticalAlignment}`,\n `ecl-banner--color-${this.fontColor}`,\n this.isFullWidth ? 'ecl-banner--full-width' : '',\n ]\n .join(' ')\n .trim();\n }\n\n isPlaying = false;\n private readonly BANNER_PADDING = 16;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private bannerWidth = 0;\n private isTabletBreakpoint = true;\n private readonly TIMEOUT_INTERVAL = 200;\n private renderer = inject(Renderer2);\n private cdkBreakpointObserver = inject(BreakpointObserver);\n\n constructor() {\n super();\n afterNextRender(() => {\n this.observeBreakpointChanges();\n this.observeElementSizeChanges();\n });\n }\n\n ngAfterContentInit(): void {\n if (this.eclLinkComponents) {\n this.eclLinkComponents.forEach((link) => {\n link.class = 'ecl-banner__link-cta';\n });\n }\n\n if (this.hasVideo) {\n const videoEl : HTMLVideoElement = this.eclBannerVideo.el.nativeElement;\n videoEl.addEventListener('play', () => {\n this.isPlaying = true;\n });\n videoEl.addEventListener('pause', () => {\n this.isPlaying = false;\n });\n this.renderer.setProperty(videoEl, 'muted', true);\n this.renderer.setProperty(videoEl, 'loop', true);\n this.renderer.setProperty(videoEl, 'autoplay', true);\n this.renderer.removeAttribute(videoEl, 'controls');\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n /**\n * Indicates whether the banner contains at least one call-to-action link.\n */\n get hasCtaLink(): boolean {\n return this.eclLinkComponents.length > 0;\n }\n\n /**\n * Indicates whether the banner contains an image.\n */\n get hasImage(): boolean {\n return !!this.eclBannerImage;\n }\n\n /**\n * Indicates whether the banner contains a video.\n */\n get hasVideo(): boolean {\n return !!this.eclBannerVideo;\n }\n\n /**\n * Handles keyboard activation (Enter key) to play video.\n * Moves focus to pause button after playing starts.\n */\n onKeydownEnterPlay(): void {\n this.onVideoPlay();\n setTimeout(() => this.pauseBtn.onFocus());\n }\n\n /**\n * Handles keyboard activation (Enter key) to pause video.\n * Moves focus to play button after pausing.\n */\n onKeydownEnterPause(): void {\n this.onVideoPause();\n setTimeout(() => this.playBtn.onFocus());\n }\n\n /**\n * Plays the embedded banner video.\n * Triggered via interaction (e.g., button).\n */\n onVideoPlay(): void {\n const videoEl : HTMLVideoElement = this.eclBannerVideo.el.nativeElement;\n videoEl.play();\n }\n\n /**\n * Pauses the embedded banner video.\n * Triggered via interaction (e.g., button).\n */\n onVideoPause(): void {\n const videoEl : HTMLVideoElement = this.eclBannerVideo.el.nativeElement;\n videoEl.pause();\n }\n\n private observeElementSizeChanges(): void {\n new ResizeObserver(() => {\n setTimeout(() => {\n if (this.bannerWidth !== this.bannerContainer.nativeElement.offsetWidth) {\n this.bannerWidth = this.bannerContainer.nativeElement.offsetWidth;\n if (this.eclBannerImage || this.eclBannerVideo) {\n this.setBannerHeight();\n }\n }\n }, this.TIMEOUT_INTERVAL);\n }).observe(this.bannerContainer.nativeElement);\n }\n\n private setBannerHeight(): void {\n if (!this.bannerContainer) {\n return;\n }\n\n const bannerContainerHeight = this.bannerContainer.nativeElement.offsetHeight + this.BANNER_PADDING;\n const ratioArray = this.getRatioArray();\n const elHeight = parseInt(window.getComputedStyle(this.el.nativeElement).getPropertyValue('width'), 10) * ratioArray[1] / ratioArray[0];\n if (this.isTabletBreakpoint && bannerContainerHeight > elHeight) {\n if (this.eclBannerImage) {\n this.renderer.setStyle(this.eclBannerImage.el.nativeElement, 'aspectRatio', 'auto');\n } else if (this.eclBannerVideo) {\n this.renderer.setStyle(this.eclBannerVideo.el.nativeElement, 'aspectRatio', 'auto');\n }\n this.renderer.setStyle(this.el.nativeElement, 'height', `${bannerContainerHeight}px`);\n } else {\n this.resetHeight();\n }\n\n if (this.bannerFooter) {\n this.bannerFooterHeight = this.bannerFooter.nativeElement.offsetHeight;\n }\n }\n\n private resetHeight(): void {\n this.renderer.setStyle(this.el.nativeElement, 'height', 'auto');\n if (this.eclBannerImage) {\n const aspectRatio = window.getComputedStyle(this.eclBannerImage.el.nativeElement).getPropertyValue('--css-aspect-ratio');\n this.renderer.setStyle(this.eclBannerImage.el.nativeElement, 'aspectRatio', aspectRatio);\n }\n if (this.eclBannerVideo) {\n this.renderer.setStyle(this.eclBannerVideo.el.nativeElement, 'aspectRatio', this.getDefaultRatio());\n }\n }\n\n private getRatioArray(): number[] {\n if (this.eclBannerImage) {\n const aspectRatio = window.getComputedStyle(this.eclBannerImage.el.nativeElement).getPropertyValue('--css-aspect-ratio');\n return aspectRatio.split('/').map(Number);\n } else {\n return this.getDefaultRatio().split('/').map(Number);\n }\n }\n\n private getDefaultRatio(): string {\n switch(this.eclSize) {\n case 'xs': {\n return DefaultRatio.XS;\n }\n case 's': {\n return DefaultRatio.S;\n }\n case 'l': {\n return DefaultRatio.L;\n }\n default: {\n return DefaultRatio.M;\n }\n }\n }\n\n private observeBreakpointChanges(): void {\n this.cdkBreakpointObserver\n .observe([\n '(min-width: 997px)',\n ])\n .pipe(takeUntil(this.destroy$), delay(this.TIMEOUT_INTERVAL))\n .subscribe((result) => {\n this.isTabletBreakpoint = result.breakpoints['(min-width: 997px)'];\n if ( !this.isTabletBreakpoint) {\n this.setBannerHeight();\n }\n });\n }\n\n}\n","@if(hasImage) {\n<figure class=\"ecl-banner__picture-container\">\n <ng-content select=\"[eclBannerPicture]\"></ng-content>\n @if(copyright) {\n <ng-container *ngTemplateOutlet=\"bannerFooterTemplate\"></ng-container>\n }\n</figure>\n}\n\n@if(hasVideo) {\n<div class=\"ecl-banner__video-container\">\n <ng-content select=\"[eclBannerVideo]\"></ng-content>\n @if(copyright) {\n <ng-container *ngTemplateOutlet=\"bannerFooterTemplate\"></ng-container>\n }\n <button #playBtn eclButton variant=\"tertiary\" isIconOnly class=\"ecl-banner__play\" (click)=\"onVideoPlay()\"\n [style.display]=\"isPlaying ? 'none' : 'block'\" (keydown.enter)=\"onKeydownEnterPlay()\">\n <span eclButtonLabel>Play video</span>\n <ecl-icon icon=\"play-outline\" size=\"m\"></ecl-icon>\n </button>\n <button #pauseBtn eclButton variant=\"tertiary\" isIconOnly class=\"ecl-banner__pause\" (click)=\"onVideoPause()\"\n [style.display]=\"isPlaying ? 'block' : 'none'\" (keydown.enter)=\"onKeydownEnterPause()\">\n <span eclButtonLabel>Pause video</span>\n <ecl-icon icon=\"pause-outline\" size=\"m\"></ecl-icon>\n </button>\n</div>\n}\n<div class=\"ecl-container ecl-banner__info\">\n <div #bannerContainer class=\"ecl-banner__container \">\n <div class=\"ecl-banner__content\">\n <ng-content select=\"[eclBannerTitle]\"></ng-content>\n <ng-content select=\"[eclBannerDescription]\"></ng-content>\n @if (hasCtaLink) {\n <div class=\"ecl-banner__cta\">\n <ng-content select=\"[eclLink]\"></ng-content>\n </div>\n }\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n\n<ng-template #bannerFooterTemplate>\n <div #bannerFooter class=\"ecl-banner__credit\"><div class=\"ecl-container\">© {{copyright}}</div></div>\n</ng-template>","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive applied to the banner title container element.\n * Adds appropriate styling class to the host element.\n */\n@Directive({\n selector: '[eclBannerTitle]',\n})\nexport class EclBannerTitleDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-banner__title';\n}\n\n/**\n * Directive applied to the text element within the banner title.\n * Adds appropriate styling class to the host element.\n */\n@Directive({\n selector: '[eclBannerTitleText]',\n})\nexport class EclBannerTitleTextDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-banner__title-text';\n}\n\n/**\n * Directive applied to the link element within the banner title.\n * Adds appropriate link styling classes to the host element.\n */\n@Directive({\n selector: '[eclBannerTitleLink]',\n})\nexport class EclBannerTitleLinkDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-link ecl-banner__title-link';\n}\n","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive for the main banner description container.\n */\n@Directive({\n selector: '[eclBannerDescription]',\n})\nexport class EclBannerDescriptionDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-banner__description';\n}\n\n/**\n * Directive for the textual content inside the banner description.\n */\n@Directive({\n selector: '[eclBannerDescriptionText]',\n})\nexport class EclBannerDescriptionTextDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-banner__description-text';\n}\n\n/**\n * Directive for a link inside the banner description.\n */\n@Directive({\n selector: '[eclBannerDescriptionLink]',\n})\nexport class EclBannerDescriptionLinkDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-link ecl-banner__description-link';\n}\n","import { NgModule } from '@angular/core';\nimport { EclBannerTitleDirective, EclBannerTitleLinkDirective, EclBannerTitleTextDirective } from './ecl-banner-title.directive';\nimport { EclBannerDescriptionDirective, EclBannerDescriptionLinkDirective, EclBannerDescriptionTextDirective } from './ecl-banner-description.directive';\nimport { EclBannerComponent } from './ecl-banner.component';\nimport { EclBannerImageDirective, EclBannerPictureDirective } from './ecl-banner-picture.directive';\nimport { EclBannerVideoDirective } from './ecl-banner-video.directive';\n\nconst COMPONENTS = [\n EclBannerComponent,\n EclBannerTitleDirective,\n EclBannerTitleTextDirective,\n EclBannerDescriptionDirective,\n EclBannerDescriptionTextDirective,\n EclBannerPictureDirective,\n EclBannerImageDirective,\n EclBannerTitleLinkDirective,\n EclBannerVideoDirective,\n EclBannerDescriptionLinkDirective,\n];\n\n/**\n * @description\n * Module that provides the EclBanner component and its dependencies.\n *\n * @deprecated Use {@link EUI_ECL_BANNER} instead.\n */\n@NgModule({\n imports: [...COMPONENTS],\n exports: [...COMPONENTS],\n})\nexport class EclBannerModule {}\n","import { EclBannerComponent } from './ecl-banner.component';\nimport { EclBannerTitleDirective, EclBannerTitleTextDirective, EclBannerTitleLinkDirective } from './ecl-banner-title.directive';\nimport { EclBannerDescriptionDirective, EclBannerDescriptionTextDirective, EclBannerDescriptionLinkDirective } from './ecl-banner-description.directive';\nimport { EclBannerImageDirective, EclBannerPictureDirective } from './ecl-banner-picture.directive';\nimport { EclBannerVideoDirective } from './ecl-banner-video.directive';\n\nexport * from './ecl-banner.module';\nexport * from './ecl-banner.component';\nexport * from './ecl-banner-title.directive';\nexport * from './ecl-banner-description.directive';\nexport * from './ecl-banner-picture.directive';\nexport * from './ecl-banner-video.directive';\n\nexport const EUI_ECL_BANNER = [\n EclBannerComponent,\n EclBannerTitleDirective,\n EclBannerTitleTextDirective,\n EclBannerTitleLinkDirective,\n EclBannerDescriptionDirective,\n EclBannerDescriptionTextDirective,\n EclBannerDescriptionLinkDirective,\n EclBannerPictureDirective,\n EclBannerImageDirective,\n EclBannerVideoDirective,\n] as const;\n","/**\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-banner.mjs","sources":["../../components/ecl-banner/ecl-banner-picture.directive.ts","../../components/ecl-banner/ecl-banner-video.directive.ts","../../components/ecl-banner/ecl-banner.component.ts","../../components/ecl-banner/ecl-banner.component.html","../../components/ecl-banner/ecl-banner-title.directive.ts","../../components/ecl-banner/ecl-banner-description.directive.ts","../../components/ecl-banner/ecl-banner.module.ts","../../components/ecl-banner/index.ts","../../components/ecl-banner/eui-ecl-components-ecl-banner.ts"],"sourcesContent":["import { Directive, HostBinding, ElementRef, inject } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive applied to the <picture> element within the banner.\n * Adds the appropriate classes for styling the banner picture.\n */\n@Directive({\n selector: 'picture[eclBannerPicture]',\n})\nexport class EclBannerPictureDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-picture ecl-banner__picture')].join(' ').trim();\n }\n}\n\n/**\n * Directive applied to the <img> element inside the banner.\n * Enables class binding and exposes the element reference.\n */\n@Directive({\n selector: 'img[eclBannerImage]',\n})\nexport class EclBannerImageDirective extends ECLBaseDirective {\n el = inject(ElementRef);\n\n @HostBinding('class.ecl-banner__image') className = true;\n}\n","import { Directive, HostBinding, ElementRef, inject } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive applied to the video element used in the banner.\n * Adds appropriate styling classes to the host element.\n */\n@Directive({\n selector: 'video[eclBannerVideo]',\n})\nexport class EclBannerVideoDirective extends ECLBaseDirective {\n el = inject(ElementRef);\n\n /**\n * CSS classes applied to the host video element.\n */\n @HostBinding('class') videoClasses = 'ecl-video ecl-banner__video';\n}\n","import { BreakpointObserver } from '@angular/cdk/layout';\nimport {\n AfterContentInit,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n HostBinding,\n Input,\n OnDestroy,\n QueryList,\n Renderer2,\n ViewChild,\n afterNextRender,\n booleanAttribute,\n forwardRef,\n inject,\n} from '@angular/core';\nimport { Subject, delay, takeUntil } from 'rxjs';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclLinkDirective } from '@eui/ecl/components/ecl-link';\nimport { EclBannerImageDirective } from './ecl-banner-picture.directive';\nimport { EclBannerVideoDirective } from './ecl-banner-video.directive';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { EclButtonComponent, EUI_ECL_BUTTON } from '@eui/ecl/components/ecl-button';\n\nconst enum DefaultRatio {\n XS = '6/1',\n S = '5/1',\n M = '4/1',\n L = '3/1',\n}\n\n/**\n * Component representing a banner, which can contain image, video and call-to-action (CTA) links.\n * Allows customization of layout, alignment, and appearance through inputs.\n */\n@Component({\n selector: 'ecl-banner',\n templateUrl: './ecl-banner.component.html',\n imports: [\n ...EUI_ECL_ICON,\n ...EUI_ECL_BUTTON,\n NgTemplateOutlet,\n ],\n})\nexport class EclBannerComponent extends ECLBaseDirective implements AfterContentInit, OnDestroy {\n el = inject(ElementRef);\n /**\n * Defines the size of the banner. Affects its height-to-width aspect ratio.\n * Allowed values: 'xs' | 's' | 'm' | 'l'.\n * Default: 'm'.\n */\n @Input() eclSize: 'xs'| 's' | 'm' | 'l' | string = 'm';\n\n /**\n * Defines the color of the font inside the banner content box.\n * Allowed values: 'light' | 'dark'.\n * Default: 'dark'.\n */\n @Input() fontColor: 'light' | 'dark' | string = 'dark';\n\n /**\n * Defines the font size inside the banner content box.\n * Allowed values: 'm' | 'l'.\n * Default: 'm'.\n */\n @Input() fontSize: 's' | 'm' | 'l' | string = 'm';\n\n /**\n * Defines the background color of the banner content box.\n * Allowed values: 'none' | 'light' | 'dark'.\n * Default: 'light'.\n */\n @Input() boxBackground: 'none' | 'light' | 'dark' | string = 'light';\n\n /**\n * Sets the horizontal alignment of the content inside the banner.\n * Allowed values: 'left' | 'center' | 'right'.\n * Default: 'left'.\n */\n @Input() horizontalAlignment: 'right' | 'left' | 'center' | string = 'left';\n\n /**\n * Sets the vertical alignment of the content inside the banner.\n * Allowed values: 'top' | 'center' | 'bottom'.\n * Default: 'center'.\n */\n @Input() verticalAlignment: 'top' | 'center' | 'bottom' | string = 'center';\n\n /**\n * Sets the copyright text displayed in the banner.\n */\n @Input() copyright = '';\n\n /**\n * When true, the banner stretches to full width of its container.\n * Default: false.\n */\n @Input({ transform: booleanAttribute }) isFullWidth = false;\n\n @ContentChildren(forwardRef(() => EclLinkDirective)) eclLinkComponents: QueryList<EclLinkDirective>;\n @ContentChild(EclBannerImageDirective) eclBannerImage: EclBannerImageDirective;\n @ContentChild(EclBannerVideoDirective) eclBannerVideo: EclBannerVideoDirective;\n\n @ViewChild('bannerFooter') bannerFooter: ElementRef;\n @ViewChild('bannerContainer') bannerContainer: ElementRef;\n @ViewChild('playBtn') playBtn: EclButtonComponent;\n @ViewChild('pauseBtn') pauseBtn: EclButtonComponent;\n\n @HostBinding('style.--banner-footer-height.px') bannerFooterHeight = null;\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-banner'),\n `ecl-banner--${this.eclSize}`,\n `ecl-banner--font-${this.fontSize}`,\n `ecl-banner--box-bg-${this.boxBackground}`,\n `ecl-banner--h-${this.horizontalAlignment}`,\n `ecl-banner--v-${this.verticalAlignment}`,\n `ecl-banner--color-${this.fontColor}`,\n this.isFullWidth ? 'ecl-banner--full-width' : '',\n ]\n .join(' ')\n .trim();\n }\n\n isPlaying = false;\n private readonly BANNER_PADDING = 16;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private breakpoint = 996;\n private bannerVPadding = 8;\n private isTabletBreakpoint = true;\n private readonly TIMEOUT_INTERVAL = 200;\n private renderer = inject(Renderer2);\n private cdkBreakpointObserver = inject(BreakpointObserver);\n private maxIterations = 10;\n\n constructor() {\n super();\n afterNextRender(() => {\n this.observeBreakpointChanges();\n this.observeElementSizeChanges();\n });\n }\n\n ngAfterContentInit(): void {\n if (this.eclLinkComponents) {\n this.eclLinkComponents.forEach((link) => {\n link.class = 'ecl-banner__link-cta';\n });\n }\n\n if (this.hasVideo) {\n const videoEl : HTMLVideoElement = this.eclBannerVideo.el.nativeElement;\n videoEl.addEventListener('play', () => {\n this.isPlaying = true;\n });\n videoEl.addEventListener('pause', () => {\n this.isPlaying = false;\n });\n this.renderer.setProperty(videoEl, 'muted', true);\n this.renderer.setProperty(videoEl, 'loop', true);\n this.renderer.setProperty(videoEl, 'autoplay', true);\n this.renderer.removeAttribute(videoEl, 'controls');\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n /**\n * Indicates whether the banner contains at least one call-to-action link.\n */\n get hasCtaLink(): boolean {\n return this.eclLinkComponents.length > 0;\n }\n\n /**\n * Indicates whether the banner contains an image.\n */\n get hasImage(): boolean {\n return !!this.eclBannerImage;\n }\n\n /**\n * Indicates whether the banner contains a video.\n */\n get hasVideo(): boolean {\n return !!this.eclBannerVideo;\n }\n\n /**\n * Handles keyboard activation (Enter key) to play video.\n * Moves focus to pause button after playing starts.\n */\n onKeydownEnterPlay(): void {\n this.onVideoPlay();\n setTimeout(() => this.pauseBtn.onFocus());\n }\n\n /**\n * Handles keyboard activation (Enter key) to pause video.\n * Moves focus to play button after pausing.\n */\n onKeydownEnterPause(): void {\n this.onVideoPause();\n setTimeout(() => this.playBtn.onFocus());\n }\n\n /**\n * Plays the embedded banner video.\n * Triggered via interaction (e.g., button).\n */\n onVideoPlay(): void {\n const videoEl : HTMLVideoElement = this.eclBannerVideo.el.nativeElement;\n videoEl.play();\n }\n\n /**\n * Pauses the embedded banner video.\n * Triggered via interaction (e.g., button).\n */\n onVideoPause(): void {\n const videoEl : HTMLVideoElement = this.eclBannerVideo.el.nativeElement;\n videoEl.pause();\n }\n\n private observeElementSizeChanges(): void {\n new ResizeObserver(() => {\n setTimeout(() => {\n this.checkViewport();\n }, this.TIMEOUT_INTERVAL);\n }).observe(this.bannerContainer.nativeElement);\n }\n\n private checkViewport() {\n if (window.innerWidth > this.breakpoint) {\n this.setBannerHeight();\n } else {\n this.resetBannerHeight();\n }\n }\n\n private waitForAspectRatioToBeDefined(attemptCounter: number) {\n attemptCounter = attemptCounter + 1;\n const aspectRatio = window.getComputedStyle(this.el.nativeElement).getPropertyValue('--css-aspect-ratio');\n\n if (\n (typeof aspectRatio === 'undefined' || aspectRatio === '') &&\n this.maxIterations > attemptCounter\n ) {\n setTimeout(() => this.waitForAspectRatioToBeDefined(attemptCounter), 100);\n } else {\n this.setHeight(aspectRatio);\n }\n }\n\n private setBannerHeight(): void {\n if (this.eclBannerImage || this.eclBannerVideo) {\n this.waitForAspectRatioToBeDefined(0);\n } else {\n this.setHeight(this.getDefaultRatio());\n }\n }\n\n private setHeight(ratio) {\n if (this.bannerContainer) {\n const bannerHeight = this.bannerContainer.nativeElement.offsetHeight + 2*this.bannerVPadding;\n const bannerWidth = parseInt(window.getComputedStyle(this.el.nativeElement).getPropertyValue('width'), 10);\n const [denominator, numerator] = ratio.split('/').map(Number);\n const currentHeight = (bannerWidth * numerator) / denominator;\n if (bannerHeight > currentHeight) {\n this.renderer.setStyle(this.el.nativeElement, 'aspect-ratio', 'auto');\n this.renderer.setStyle(this.el.nativeElement, 'height', `${bannerHeight}px`);\n } else {\n this.resetBannerHeight();\n }\n }\n\n // Add margin to the banner container when there is a footer\n // This is needed to keep the vertical alignment\n if (this.bannerFooter) {\n this.renderer.setStyle(this.el.nativeElement, '--banner-footer-height', `${this.bannerFooter.nativeElement.offsetHeight}px`);\n }\n }\n\n private resetBannerHeight(): void {\n // remove aspect-ratio\n this.renderer.removeStyle(this.el.nativeElement, 'aspect-ratio');\n\n // set height to auto\n this.renderer.setStyle(this.el.nativeElement, 'height', 'auto');\n\n // update footer height if bannerFooter exists\n if (this.bannerFooter) {\n const footerHeight = `${this.bannerFooter.nativeElement.offsetHeight}px`;\n this.renderer.setStyle(this.el.nativeElement, '--banner-footer-height', footerHeight);\n }\n }\n\n private getDefaultRatio(): string {\n switch(this.eclSize) {\n case 'xs': {\n return DefaultRatio.XS;\n }\n case 's': {\n return DefaultRatio.S;\n }\n case 'l': {\n return DefaultRatio.L;\n }\n default: {\n return DefaultRatio.M;\n }\n }\n }\n\n private observeBreakpointChanges(): void {\n this.cdkBreakpointObserver\n .observe([\n '(min-width: 997px)',\n ])\n .pipe(takeUntil(this.destroy$), delay(this.TIMEOUT_INTERVAL))\n .subscribe((result) => {\n this.isTabletBreakpoint = result.breakpoints['(min-width: 997px)'];\n if ( !this.isTabletBreakpoint) {\n this.setBannerHeight();\n }\n });\n }\n\n}\n","@if(hasImage) {\n<figure class=\"ecl-banner__picture-container\">\n <ng-content select=\"[eclBannerPicture]\"></ng-content>\n @if(copyright) {\n <ng-container *ngTemplateOutlet=\"bannerFooterTemplate\"></ng-container>\n }\n</figure>\n}\n\n@if(hasVideo) {\n<div class=\"ecl-banner__video-container\">\n <ng-content select=\"[eclBannerVideo]\"></ng-content>\n @if(copyright) {\n <ng-container *ngTemplateOutlet=\"bannerFooterTemplate\"></ng-container>\n }\n <button #playBtn eclButton variant=\"tertiary\" isIconOnly class=\"ecl-banner__play\" (click)=\"onVideoPlay()\"\n [style.display]=\"isPlaying ? 'none' : 'block'\" (keydown.enter)=\"onKeydownEnterPlay()\">\n <span eclButtonLabel>Play video</span>\n <ecl-icon icon=\"play-outline\" size=\"m\"></ecl-icon>\n </button>\n <button #pauseBtn eclButton variant=\"tertiary\" isIconOnly class=\"ecl-banner__pause\" (click)=\"onVideoPause()\"\n [style.display]=\"isPlaying ? 'block' : 'none'\" (keydown.enter)=\"onKeydownEnterPause()\">\n <span eclButtonLabel>Pause video</span>\n <ecl-icon icon=\"pause-outline\" size=\"m\"></ecl-icon>\n </button>\n</div>\n}\n<div class=\"ecl-container ecl-banner__info\">\n <div #bannerContainer class=\"ecl-banner__container \">\n <div class=\"ecl-banner__content\">\n <ng-content select=\"[eclBannerTitle]\"></ng-content>\n <ng-content select=\"[eclBannerDescription]\"></ng-content>\n @if (hasCtaLink) {\n <div class=\"ecl-banner__cta\">\n <ng-content select=\"[eclLink]\"></ng-content>\n </div>\n }\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n\n<ng-template #bannerFooterTemplate>\n <div #bannerFooter class=\"ecl-banner__credit\"><div class=\"ecl-container\">© {{copyright}}</div></div>\n</ng-template>","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive applied to the banner title container element.\n * Adds appropriate styling class to the host element.\n */\n@Directive({\n selector: '[eclBannerTitle]',\n})\nexport class EclBannerTitleDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-banner__title';\n}\n\n/**\n * Directive applied to the text element within the banner title.\n * Adds appropriate styling class to the host element.\n */\n@Directive({\n selector: '[eclBannerTitleText]',\n})\nexport class EclBannerTitleTextDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-banner__title-text';\n}\n\n/**\n * Directive applied to the link element within the banner title.\n * Adds appropriate link styling classes to the host element.\n */\n@Directive({\n selector: '[eclBannerTitleLink]',\n})\nexport class EclBannerTitleLinkDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-link ecl-banner__title-link';\n}\n","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive for the main banner description container.\n */\n@Directive({\n selector: '[eclBannerDescription]',\n})\nexport class EclBannerDescriptionDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-banner__description';\n}\n\n/**\n * Directive for the textual content inside the banner description.\n */\n@Directive({\n selector: '[eclBannerDescriptionText]',\n})\nexport class EclBannerDescriptionTextDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-banner__description-text';\n}\n\n/**\n * Directive for a link inside the banner description.\n */\n@Directive({\n selector: '[eclBannerDescriptionLink]',\n})\nexport class EclBannerDescriptionLinkDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-link ecl-banner__description-link';\n}\n","import { NgModule } from '@angular/core';\nimport { EclBannerTitleDirective, EclBannerTitleLinkDirective, EclBannerTitleTextDirective } from './ecl-banner-title.directive';\nimport { EclBannerDescriptionDirective, EclBannerDescriptionLinkDirective, EclBannerDescriptionTextDirective } from './ecl-banner-description.directive';\nimport { EclBannerComponent } from './ecl-banner.component';\nimport { EclBannerImageDirective, EclBannerPictureDirective } from './ecl-banner-picture.directive';\nimport { EclBannerVideoDirective } from './ecl-banner-video.directive';\n\nconst COMPONENTS = [\n EclBannerComponent,\n EclBannerTitleDirective,\n EclBannerTitleTextDirective,\n EclBannerDescriptionDirective,\n EclBannerDescriptionTextDirective,\n EclBannerPictureDirective,\n EclBannerImageDirective,\n EclBannerTitleLinkDirective,\n EclBannerVideoDirective,\n EclBannerDescriptionLinkDirective,\n];\n\n/**\n * @description\n * Module that provides the EclBanner component and its dependencies.\n *\n * @deprecated Use {@link EUI_ECL_BANNER} instead.\n */\n@NgModule({\n imports: [...COMPONENTS],\n exports: [...COMPONENTS],\n})\nexport class EclBannerModule {}\n","import { EclBannerComponent } from './ecl-banner.component';\nimport { EclBannerTitleDirective, EclBannerTitleTextDirective, EclBannerTitleLinkDirective } from './ecl-banner-title.directive';\nimport { EclBannerDescriptionDirective, EclBannerDescriptionTextDirective, EclBannerDescriptionLinkDirective } from './ecl-banner-description.directive';\nimport { EclBannerImageDirective, EclBannerPictureDirective } from './ecl-banner-picture.directive';\nimport { EclBannerVideoDirective } from './ecl-banner-video.directive';\n\nexport * from './ecl-banner.module';\nexport * from './ecl-banner.component';\nexport * from './ecl-banner-title.directive';\nexport * from './ecl-banner-description.directive';\nexport * from './ecl-banner-picture.directive';\nexport * from './ecl-banner-video.directive';\n\nexport const EUI_ECL_BANNER = [\n EclBannerComponent,\n EclBannerTitleDirective,\n EclBannerTitleTextDirective,\n EclBannerTitleLinkDirective,\n EclBannerDescriptionDirective,\n EclBannerDescriptionTextDirective,\n EclBannerDescriptionLinkDirective,\n EclBannerPictureDirective,\n EclBannerImageDirective,\n EclBannerVideoDirective,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|