@eui/ecl 21.0.0-alpha.37 → 21.0.0-alpha.38

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.
Files changed (184) hide show
  1. package/components/ecl-spotlight/package.json +4 -0
  2. package/docs/changelog.html +11 -0
  3. package/docs/components/EclAccordionComponent.html +2 -2
  4. package/docs/components/EclAccordionItemComponent.html +2 -2
  5. package/docs/components/EclAppComponent.html +2 -2
  6. package/docs/components/EclBannerComponent.html +2 -2
  7. package/docs/components/EclBlockquoteComponent.html +2 -2
  8. package/docs/components/EclBreadcrumbComponent.html +3 -3
  9. package/docs/components/EclBreadcrumbSegmentComponent.html +2 -2
  10. package/docs/components/EclButtonComponent.html +51 -3
  11. package/docs/components/EclCardBodyComponent.html +2 -2
  12. package/docs/components/EclCardComponent.html +2 -2
  13. package/docs/components/EclCarouselComponent.html +2 -2
  14. package/docs/components/EclCarouselItemComponent.html +2 -2
  15. package/docs/components/EclCategoryFilterComponent.html +2 -2
  16. package/docs/components/EclCategoryFilterItemComponent.html +2 -2
  17. package/docs/components/EclCategoryFilterListComponent.html +2 -2
  18. package/docs/components/EclCheckboxHelpComponent.html +2 -2
  19. package/docs/components/EclCheckboxLabelComponent.html +2 -2
  20. package/docs/components/EclContentBlockComponent.html +2 -2
  21. package/docs/components/EclContentItemComponent.html +2 -2
  22. package/docs/components/EclDateBlockComponent.html +2 -2
  23. package/docs/components/EclDescriptionListDefinitionComponent.html +2 -2
  24. package/docs/components/EclExpandableComponent.html +3 -3
  25. package/docs/components/EclFactFiguresComponent.html +2 -2
  26. package/docs/components/EclFactFiguresDescriptionComponent.html +2 -2
  27. package/docs/components/EclFactFiguresItemComponent.html +2 -2
  28. package/docs/components/EclFactFiguresTitleComponent.html +2 -2
  29. package/docs/components/EclFactFiguresValueComponent.html +2 -2
  30. package/docs/components/EclFactFiguresViewAllComponent.html +2 -2
  31. package/docs/components/EclFeaturedComponent.html +2 -2
  32. package/docs/components/EclFeaturedItemComponent.html +88 -8
  33. package/docs/components/EclFeaturedItemDescriptionComponent.html +2 -2
  34. package/docs/components/EclFileComponent.html +2 -2
  35. package/docs/components/EclFileItemComponent.html +2 -2
  36. package/docs/components/EclFileItemsComponent.html +3 -3
  37. package/docs/components/EclFileTaxonomyComponent.html +2 -2
  38. package/docs/components/EclFormGroupComponent.html +2 -2
  39. package/docs/components/EclFormLabelComponent.html +2 -2
  40. package/docs/components/EclGalleryComponent.html +3 -3
  41. package/docs/components/EclGalleryFooterComponent.html +3 -3
  42. package/docs/components/EclGalleryItemComponent.html +2 -2
  43. package/docs/components/EclIconComponent.html +2 -2
  44. package/docs/components/EclInpageNavigationComponent.html +2 -2
  45. package/docs/components/EclInpageNavigationItemComponent.html +2 -2
  46. package/docs/components/EclListIllustrationComponent.html +2 -2
  47. package/docs/components/EclListIllustrationItemComponent.html +2 -2
  48. package/docs/components/EclLoadingIndicatorComponent.html +2 -2
  49. package/docs/components/EclMediaContainerComponent.html +2 -2
  50. package/docs/components/EclMegaMenuComponent.html +3 -3
  51. package/docs/components/EclMegaMenuFeaturedComponent.html +2 -2
  52. package/docs/components/EclMegaMenuInfoComponent.html +2 -2
  53. package/docs/components/EclMegaMenuItemComponent.html +2 -2
  54. package/docs/components/EclMegaMenuSubitemComponent.html +2 -2
  55. package/docs/components/EclMenuComponent.html +3 -3
  56. package/docs/components/EclMenuItemComponent.html +2 -2
  57. package/docs/components/EclMenuMegaComponent.html +2 -2
  58. package/docs/components/EclMenuMegaItemComponent.html +2 -2
  59. package/docs/components/EclModalBodyComponent.html +29 -3
  60. package/docs/components/EclModalComponent.html +99 -2
  61. package/docs/components/EclModalFooterComponent.html +2 -2
  62. package/docs/components/EclModalHeaderComponent.html +2 -2
  63. package/docs/components/EclMultiselectComponent.html +2 -2
  64. package/docs/components/EclMultiselectDropdownComponent.html +3 -3
  65. package/docs/components/EclMultiselectInputComponent.html +3 -3
  66. package/docs/components/EclMultiselectOptgroupComponent.html +2 -2
  67. package/docs/components/EclMultiselectOptionComponent.html +2 -2
  68. package/docs/components/EclNavigationListComponent.html +2 -2
  69. package/docs/components/EclNavigationListItemComponent.html +2 -2
  70. package/docs/components/EclNewsTickerComponent.html +3 -3
  71. package/docs/components/EclNewsTickerItemComponent.html +2 -2
  72. package/docs/components/EclNotificationComponent.html +2 -2
  73. package/docs/components/EclPageHeaderComponent.html +2 -2
  74. package/docs/components/EclPaginationComponent.html +2 -2
  75. package/docs/components/EclPaginationItemComponent.html +2 -2
  76. package/docs/components/EclPopoverComponent.html +2 -2
  77. package/docs/components/EclRadioHelpComponent.html +2 -2
  78. package/docs/components/EclRadioLabelComponent.html +2 -2
  79. package/docs/components/EclRangeBubbleComponent.html +2 -2
  80. package/docs/components/EclRangeValueComponent.html +2 -2
  81. package/docs/components/EclRatingFieldComponent.html +2 -2
  82. package/docs/components/EclSearchFormComponent.html +2 -2
  83. package/docs/components/EclSelectContainerComponent.html +3 -3
  84. package/docs/components/EclSiteFooterComponent.html +2 -2
  85. package/docs/components/EclSiteFooterCoreComponent.html +2 -2
  86. package/docs/components/EclSiteFooterFixedContentEUComponent.html +2 -2
  87. package/docs/components/EclSiteFooterRowCommonComponent.html +2 -2
  88. package/docs/components/EclSiteHeaderActionComponent.html +2 -2
  89. package/docs/components/EclSiteHeaderBannerTopComponent.html +2 -2
  90. package/docs/components/EclSiteHeaderComponent.html +2 -2
  91. package/docs/components/EclSiteHeaderCustomActionComponent.html +2 -2
  92. package/docs/components/EclSiteHeaderEnvironmentComponent.html +2 -2
  93. package/docs/components/EclSiteHeaderLanguageComponent.html +3 -3
  94. package/docs/components/EclSiteHeaderLanguagePopoverComponent.html +3 -3
  95. package/docs/components/EclSiteHeaderLoginComponent.html +3 -3
  96. package/docs/components/EclSiteHeaderNotificationComponent.html +2 -2
  97. package/docs/components/EclSiteHeaderSearchComponent.html +3 -3
  98. package/docs/components/EclSocialMediaFollowComponent.html +2 -2
  99. package/docs/components/EclSocialMediaFollowItemComponent.html +2 -2
  100. package/docs/components/EclSplashPageComponent.html +2 -2
  101. package/docs/components/EclSplashPageLanguageCategoryComponent.html +2 -2
  102. package/docs/components/EclSplashPageLanguageContainerComponent.html +2 -2
  103. package/docs/components/EclSplashPageLanguageLinkComponent.html +2 -2
  104. package/docs/components/EclSpotlightComponent.html +715 -0
  105. package/docs/components/EclSpotlightLinkComponent.html +644 -0
  106. package/docs/components/EclStickyContainerComponent.html +2 -2
  107. package/docs/components/EclTabComponent.html +2 -2
  108. package/docs/components/EclTabLabelComponent.html +2 -2
  109. package/docs/components/EclTabMoreComponent.html +2 -2
  110. package/docs/components/EclTableSortButtonComponent.html +2 -2
  111. package/docs/components/EclTabsComponent.html +3 -3
  112. package/docs/components/EclTagComponent.html +2 -2
  113. package/docs/components/EclTimelineComponent.html +2 -2
  114. package/docs/components/EclTimelineItemComponent.html +22 -50
  115. package/docs/components/EclTimelineItemTogglerComponent.html +2 -2
  116. package/docs/directives/EclFeaturedItemLinkDirective.html +147 -0
  117. package/docs/directives/EclSpotlightImageDirective.html +535 -0
  118. package/docs/directives/EclSpotlightPictureDirective.html +541 -0
  119. package/docs/js/menu-wc.js +15 -3
  120. package/docs/js/menu-wc_es5.js +1 -1
  121. package/docs/js/search/search_index.js +2 -2
  122. package/docs/miscellaneous/variables.html +32 -0
  123. package/docs/overview.html +2 -2
  124. package/docs/properties.html +1 -1
  125. package/fesm2022/eui-ecl-components-ecl-banner.mjs +1 -1
  126. package/fesm2022/eui-ecl-components-ecl-banner.mjs.map +1 -1
  127. package/fesm2022/eui-ecl-components-ecl-breadcrumb.mjs +2 -2
  128. package/fesm2022/eui-ecl-components-ecl-breadcrumb.mjs.map +1 -1
  129. package/fesm2022/eui-ecl-components-ecl-button.mjs +12 -2
  130. package/fesm2022/eui-ecl-components-ecl-button.mjs.map +1 -1
  131. package/fesm2022/eui-ecl-components-ecl-carousel.mjs +2 -2
  132. package/fesm2022/eui-ecl-components-ecl-carousel.mjs.map +1 -1
  133. package/fesm2022/eui-ecl-components-ecl-expandable.mjs +2 -2
  134. package/fesm2022/eui-ecl-components-ecl-expandable.mjs.map +1 -1
  135. package/fesm2022/eui-ecl-components-ecl-featured.mjs +53 -30
  136. package/fesm2022/eui-ecl-components-ecl-featured.mjs.map +1 -1
  137. package/fesm2022/eui-ecl-components-ecl-file.mjs +2 -2
  138. package/fesm2022/eui-ecl-components-ecl-file.mjs.map +1 -1
  139. package/fesm2022/eui-ecl-components-ecl-gallery.mjs +4 -4
  140. package/fesm2022/eui-ecl-components-ecl-gallery.mjs.map +1 -1
  141. package/fesm2022/eui-ecl-components-ecl-media-container.mjs +1 -1
  142. package/fesm2022/eui-ecl-components-ecl-media-container.mjs.map +1 -1
  143. package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs +4 -4
  144. package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs.map +1 -1
  145. package/fesm2022/eui-ecl-components-ecl-menu.mjs +3 -3
  146. package/fesm2022/eui-ecl-components-ecl-menu.mjs.map +1 -1
  147. package/fesm2022/eui-ecl-components-ecl-modal.mjs +25 -4
  148. package/fesm2022/eui-ecl-components-ecl-modal.mjs.map +1 -1
  149. package/fesm2022/eui-ecl-components-ecl-multiselect.mjs +4 -4
  150. package/fesm2022/eui-ecl-components-ecl-multiselect.mjs.map +1 -1
  151. package/fesm2022/eui-ecl-components-ecl-news-ticker.mjs +3 -3
  152. package/fesm2022/eui-ecl-components-ecl-news-ticker.mjs.map +1 -1
  153. package/fesm2022/eui-ecl-components-ecl-notification.mjs +1 -1
  154. package/fesm2022/eui-ecl-components-ecl-notification.mjs.map +1 -1
  155. package/fesm2022/eui-ecl-components-ecl-popover.mjs +1 -1
  156. package/fesm2022/eui-ecl-components-ecl-popover.mjs.map +1 -1
  157. package/fesm2022/eui-ecl-components-ecl-search-form.mjs +1 -1
  158. package/fesm2022/eui-ecl-components-ecl-search-form.mjs.map +1 -1
  159. package/fesm2022/eui-ecl-components-ecl-select.mjs +2 -2
  160. package/fesm2022/eui-ecl-components-ecl-select.mjs.map +1 -1
  161. package/fesm2022/eui-ecl-components-ecl-site-header.mjs +9 -9
  162. package/fesm2022/eui-ecl-components-ecl-site-header.mjs.map +1 -1
  163. package/fesm2022/eui-ecl-components-ecl-spotlight.mjs +136 -0
  164. package/fesm2022/eui-ecl-components-ecl-spotlight.mjs.map +1 -0
  165. package/fesm2022/eui-ecl-components-ecl-tabs.mjs +2 -2
  166. package/fesm2022/eui-ecl-components-ecl-tabs.mjs.map +1 -1
  167. package/fesm2022/eui-ecl-components-ecl-timeline.mjs +29 -22
  168. package/fesm2022/eui-ecl-components-ecl-timeline.mjs.map +1 -1
  169. package/fesm2022/eui-ecl.mjs +14 -11
  170. package/fesm2022/eui-ecl.mjs.map +1 -1
  171. package/package.json +13 -9
  172. package/types/eui-ecl-components-ecl-button.d.ts +4 -2
  173. package/types/eui-ecl-components-ecl-button.d.ts.map +1 -1
  174. package/types/eui-ecl-components-ecl-featured.d.ts +19 -12
  175. package/types/eui-ecl-components-ecl-featured.d.ts.map +1 -1
  176. package/types/eui-ecl-components-ecl-modal.d.ts +18 -2
  177. package/types/eui-ecl-components-ecl-modal.d.ts.map +1 -1
  178. package/types/eui-ecl-components-ecl-news-ticker.d.ts.map +1 -1
  179. package/types/eui-ecl-components-ecl-spotlight.d.ts +70 -0
  180. package/types/eui-ecl-components-ecl-spotlight.d.ts.map +1 -0
  181. package/types/eui-ecl-components-ecl-timeline.d.ts +11 -5
  182. package/types/eui-ecl-components-ecl-timeline.d.ts.map +1 -1
  183. package/types/eui-ecl.d.ts +11 -10
  184. package/types/eui-ecl.d.ts.map +1 -1
@@ -216,7 +216,7 @@ class EclMediaContainerComponent extends ECLBaseDirective {
216
216
  button.onFocus();
217
217
  }
218
218
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclMediaContainerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
219
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-rc.0", type: EclMediaContainerComponent, isStandalone: true, selector: "ecl-media-container", inputs: { isFullWidth: ["isFullWidth", "isFullWidth", booleanAttribute], eclAutoplay: ["eclAutoplay", "eclAutoplay", booleanAttribute] }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "expandable", first: true, predicate: EclExpandableComponent, descendants: true }, { propertyName: "eclMediaContainerItem", first: true, predicate: EclMediaContainerItemDirective, descendants: true }], viewQueries: [{ propertyName: "pauseButton", first: true, predicate: ["pauseButton"], descendants: true }, { propertyName: "playButton", first: true, predicate: ["playButton"], descendants: true }, { propertyName: "eclButtons", predicate: EclButtonComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<figure class=\"ecl-media-container__figure\" [class.ecl-media-container--full-width]=\"isFullWidth\">\n @if (hasVideo) {\n <div class=\"ecl-media-container__video-wrapper\">\n <ng-content select=\"video[eclMediaContainerItem]\"></ng-content>\n @if (eclAutoplay) {\n <button #playButton eclButton variant=\"tertiary\" isIconOnly class=\"ecl-media-container__play\" (click)=\"onVideoPlay()\"\n [style.display]=\"isPlaying ? 'none' : 'flex'\" type=\"button\">\n <span eclButtonLabel>Play</span>\n <ecl-icon icon=\"play-outline\" size=\"m\"></ecl-icon>\n </button>\n <button #pauseButton eclButton variant=\"tertiary\" isIconOnly class=\"ecl-media-container__pause\" (click)=\"onVideoPause()\"\n [style.display]=\"isPlaying ? 'flex' : 'none'\" type=\"button\">\n <span eclButtonLabel>Pause</span>\n <ecl-icon icon=\"pause-outline\" size=\"m\"></ecl-icon>\n </button>\n }\n </div>\n }\n <ng-content select=\"div[eclMediaContainerItem]\"></ng-content>\n <ng-content select=\"picture[eclMediaContainerPicture]\"></ng-content>\n\n <figcaption class=\"ecl-media-container__caption\">\n <ng-content></ng-content>\n </figcaption>\n <ng-content select=\"ecl-expandable\"></ng-content>\n</figure>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "component", type: i1.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "containerStyleClass"] }, { kind: "directive", type: i1.EclButtonLabelDirective, selector: "[eclButtonLabel]" }, { kind: "component", type: i2.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }] }); }
219
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-rc.0", type: EclMediaContainerComponent, isStandalone: true, selector: "ecl-media-container", inputs: { isFullWidth: ["isFullWidth", "isFullWidth", booleanAttribute], eclAutoplay: ["eclAutoplay", "eclAutoplay", booleanAttribute] }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "expandable", first: true, predicate: EclExpandableComponent, descendants: true }, { propertyName: "eclMediaContainerItem", first: true, predicate: EclMediaContainerItemDirective, descendants: true }], viewQueries: [{ propertyName: "pauseButton", first: true, predicate: ["pauseButton"], descendants: true }, { propertyName: "playButton", first: true, predicate: ["playButton"], descendants: true }, { propertyName: "eclButtons", predicate: EclButtonComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<figure class=\"ecl-media-container__figure\" [class.ecl-media-container--full-width]=\"isFullWidth\">\n @if (hasVideo) {\n <div class=\"ecl-media-container__video-wrapper\">\n <ng-content select=\"video[eclMediaContainerItem]\"></ng-content>\n @if (eclAutoplay) {\n <button #playButton eclButton variant=\"tertiary\" isIconOnly class=\"ecl-media-container__play\" (click)=\"onVideoPlay()\"\n [style.display]=\"isPlaying ? 'none' : 'flex'\" type=\"button\">\n <span eclButtonLabel>Play</span>\n <ecl-icon icon=\"play-outline\" size=\"m\"></ecl-icon>\n </button>\n <button #pauseButton eclButton variant=\"tertiary\" isIconOnly class=\"ecl-media-container__pause\" (click)=\"onVideoPause()\"\n [style.display]=\"isPlaying ? 'flex' : 'none'\" type=\"button\">\n <span eclButtonLabel>Pause</span>\n <ecl-icon icon=\"pause-outline\" size=\"m\"></ecl-icon>\n </button>\n }\n </div>\n }\n <ng-content select=\"div[eclMediaContainerItem]\"></ng-content>\n <ng-content select=\"picture[eclMediaContainerPicture]\"></ng-content>\n\n <figcaption class=\"ecl-media-container__caption\">\n <ng-content></ng-content>\n </figcaption>\n <ng-content select=\"ecl-expandable\"></ng-content>\n</figure>\n", styles: [":host{display:block}\n"], dependencies: [{ 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: i2.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }] }); }
220
220
  }
221
221
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclMediaContainerComponent, decorators: [{
222
222
  type: Component,
@@ -1 +1 @@
1
- {"version":3,"file":"eui-ecl-components-ecl-media-container.mjs","sources":["../../components/ecl-media-container/ecl-media-container-iframe.directive.ts","../../components/ecl-media-container/ecl-media-container-item-audio-description.directive.ts","../../components/ecl-media-container/ecl-media-container-item.directive.ts","../../components/ecl-media-container/ecl-media-container-picture.directive.ts","../../components/ecl-media-container/ecl-media-container.component.ts","../../components/ecl-media-container/ecl-media-container.component.html","../../components/ecl-media-container/ecl-media-container.module.ts","../../components/ecl-media-container/index.ts","../../components/ecl-media-container/eui-ecl-components-ecl-media-container.ts"],"sourcesContent":["import { Directive, ElementRef, HostBinding, Input, inject } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Adds styling and attributes to the iframe element.\n */\n@Directive({\n selector: 'iframe[eclMediaContainerIframe]',\n})\nexport class EclMediaContainerIframeDirective extends ECLBaseDirective {\n @Input() width;\n @Input() height;\n @Input()\n @HostBinding('style.aspect-ratio')\n get ratio(): string {\n return this.hasCustomRatio ? this.calculateCustomRatio() : null;\n }\n\n hasCustomRatio = false;\n private elem = inject(ElementRef);\n\n calculateCustomRatio(): string {\n let iframeHeight = this.height;\n let iframeWidth = this.width;\n if (!iframeWidth || !iframeHeight) {\n iframeWidth = this.elem.nativeElement.offsetWidth;\n iframeHeight = this.elem.nativeElement.offsetHeight;\n }\n return `${iframeWidth}/${iframeHeight}`;\n }\n}\n","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Adds styling to the media container description.\n */\n@Directive({\n\tselector: '[eclMediaContainerItemAudioDescription]',\n})\nexport class EclMediaContainerItemAudioDescriptionDirective extends ECLBaseDirective {\n\t@HostBinding('class')\n\tget cssClasses(): string {\n\t\treturn [super.getCssClasses('ecl-media-container__media-audio')].join(' ').trim();\n\t}\n}\n","import { AfterContentInit, ContentChild, Directive, ElementRef, HostBinding, Input, afterNextRender, inject } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclMediaContainerIframeDirective } from './ecl-media-container-iframe.directive';\n\n/**\n * Adds styling and functionality to the media container item /image.\n */\n@Directive({\n selector: '[eclMediaContainerItem], img[eclMediaContainerImage]',\n})\nexport class EclMediaContainerItemDirective extends ECLBaseDirective implements AfterContentInit {\n el = inject(ElementRef);\n\n @Input() ratio: string;\n @ContentChild(EclMediaContainerIframeDirective, { static: false }) contentIframe: EclMediaContainerIframeDirective;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-media-container__media'),\n this.ratio ? `ecl-media-container__media--ratio-${this.ratio}` : '',\n this.isVideo ? 'ecl-video' : '',\n ]\n .join(' ')\n .trim();\n }\n\n public isVideo = false;\n\n constructor() {\n super();\n afterNextRender(() => {\n this.setIframeUrl();\n });\n }\n\n ngAfterContentInit(): void {\n if (this.contentIframe) {\n this.contentIframe.hasCustomRatio = this.ratio ? false : true;\n }\n const selector = this.el.nativeElement.tagName;\n this.isVideo = selector === 'VIDEO';\n }\n\n // TODO: is this really needed?\n setIframeUrl(): void {\n if (this.el.nativeElement.lastChild && this.el.nativeElement.lastChild.nodeName === 'IFRAME') {\n const iframe = this.el.nativeElement.lastChild;\n const iframeUrl = new URL(iframe.src);\n if (iframeUrl.host.includes('youtube')) {\n iframe.src = iframeUrl;\n }\n }\n }\n}\n","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Applies styles for the picture element.\n */\n@Directive({\n selector: 'picture[eclMediaContainerPicture]',\n})\nexport class EclMediaContainerPictureDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-picture ecl-media-container__picture')].join(' ').trim();\n }\n}\n","import { AfterContentInit, Component, ContentChild, HostBinding, Input, Renderer2, ViewChild, booleanAttribute, ViewChildren, QueryList, inject } from '@angular/core';\nimport { take, timer } from 'rxjs'\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclExpandableComponent } from '@eui/ecl/components/ecl-expandable';\nimport { EclMediaContainerItemDirective } from './ecl-media-container-item.directive';\nimport { EclButtonComponent, EUI_ECL_BUTTON } from '@eui/ecl/components/ecl-button';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\n\n/**\n * A media container is used to display media items (video, audio, image or other data) with a caption.\n */\n@Component({\n selector: 'ecl-media-container',\n templateUrl: './ecl-media-container.component.html',\n imports: [...EUI_ECL_BUTTON, ...EUI_ECL_ICON],\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclMediaContainerComponent extends ECLBaseDirective implements AfterContentInit {\n @Input({ transform: booleanAttribute }) isFullWidth = false;\n /**\n * Used for a video only - if the video should play immediately.\n */\n @Input({ transform: booleanAttribute }) eclAutoplay = false;\n\n @ContentChild(EclExpandableComponent) expandable: EclExpandableComponent;\n @ContentChild(EclMediaContainerItemDirective) eclMediaContainerItem: EclMediaContainerItemDirective;\n @ViewChildren(EclButtonComponent) eclButtons: QueryList<EclButtonComponent>;\n @ViewChild('pauseButton') pauseButton: EclButtonComponent;\n @ViewChild('playButton') playButton: EclButtonComponent;\n\n /**\n * Applies specific classes for the component.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-media-container')].join(' ').trim();\n }\n\n public isPlaying = false;\n private readonly DELAY = 0;\n private renderer = inject(Renderer2);\n\n ngAfterContentInit(): void {\n // Manage additional attributes, if component includes video and should be played by default.\n if(this.hasVideo && this.eclAutoplay ) {\n const videoEl = this.eclMediaContainerItem.el.nativeElement;\n\n this.renderer.listen(videoEl, 'play', () => {\n this.isPlaying = true;\n })\n\n this.renderer.listen(videoEl, 'pause', () => {\n this.isPlaying = false;\n })\n\n this.renderer.setAttribute(this.eclMediaContainerItem.el.nativeElement, 'loop', '');\n this.renderer.setAttribute(this.eclMediaContainerItem.el.nativeElement, 'muted', '');\n this.renderer.setProperty(this.eclMediaContainerItem.el.nativeElement, 'muted', true);\n this.renderer.removeAttribute(this.eclMediaContainerItem.el.nativeElement, 'controls');\n }\n\n if (this.expandable) {\n this.expandable.class = [this.expandable.class, 'ecl-media-container__expandable'].join(' ');\n }\n }\n\n get hasVideo(): boolean {\n return this.eclMediaContainerItem?.isVideo;\n }\n\n /**\n * When user clicks on 'play' button -> start the video and move the focus to the 'pause' button.\n */\n onVideoPlay(): void {\n const videoEl = this.eclMediaContainerItem.el.nativeElement;\n videoEl.play();\n\n timer(this.DELAY).pipe(take(1)).subscribe(() => {\n const pauseButton = this.eclButtons.find(\n button => button === this.pauseButton );\n this.focusOnButton(pauseButton);\n });\n }\n\n /**\n * When user clicks on 'pause' button -> pause the video and move the focus to the 'play' button.\n */\n onVideoPause(): void {\n const videoEl = this.eclMediaContainerItem.el.nativeElement;\n videoEl.pause();\n\n timer(this.DELAY).pipe(take(1)).subscribe(() => {\n const playButton = this.eclButtons.find(\n button => button === this.playButton);\n this.focusOnButton(playButton);\n });\n }\n\n private focusOnButton(button: EclButtonComponent): void {\n if (!button) {\n return;\n }\n button.onFocus();\n }\n}\n","<figure class=\"ecl-media-container__figure\" [class.ecl-media-container--full-width]=\"isFullWidth\">\n @if (hasVideo) {\n <div class=\"ecl-media-container__video-wrapper\">\n <ng-content select=\"video[eclMediaContainerItem]\"></ng-content>\n @if (eclAutoplay) {\n <button #playButton eclButton variant=\"tertiary\" isIconOnly class=\"ecl-media-container__play\" (click)=\"onVideoPlay()\"\n [style.display]=\"isPlaying ? 'none' : 'flex'\" type=\"button\">\n <span eclButtonLabel>Play</span>\n <ecl-icon icon=\"play-outline\" size=\"m\"></ecl-icon>\n </button>\n <button #pauseButton eclButton variant=\"tertiary\" isIconOnly class=\"ecl-media-container__pause\" (click)=\"onVideoPause()\"\n [style.display]=\"isPlaying ? 'flex' : 'none'\" type=\"button\">\n <span eclButtonLabel>Pause</span>\n <ecl-icon icon=\"pause-outline\" size=\"m\"></ecl-icon>\n </button>\n }\n </div>\n }\n <ng-content select=\"div[eclMediaContainerItem]\"></ng-content>\n <ng-content select=\"picture[eclMediaContainerPicture]\"></ng-content>\n\n <figcaption class=\"ecl-media-container__caption\">\n <ng-content></ng-content>\n </figcaption>\n <ng-content select=\"ecl-expandable\"></ng-content>\n</figure>\n","import { NgModule } from '@angular/core';\nimport { EclMediaContainerIframeDirective } from './ecl-media-container-iframe.directive';\nimport { EclMediaContainerItemAudioDescriptionDirective } from './ecl-media-container-item-audio-description.directive';\nimport { EclMediaContainerItemDirective } from './ecl-media-container-item.directive';\nimport { EclMediaContainerPictureDirective } from './ecl-media-container-picture.directive';\nimport { EclMediaContainerComponent } from './ecl-media-container.component';\n\nconst COMPONENTS = [\n EclMediaContainerComponent,\n EclMediaContainerItemDirective,\n EclMediaContainerIframeDirective,\n EclMediaContainerPictureDirective,\n EclMediaContainerItemAudioDescriptionDirective,\n];\n\n/**\n * Module that provides the EclMediaContainerComponent and its dependencies.\n *\n * @deprecated Use {@link EUI_ECL_MEDIA_CONTAINER} instead.\n */\n@NgModule({\n imports: [...COMPONENTS],\n exports: [...COMPONENTS],\n})\nexport class EclMediaContainerModule {}\n","import { EclMediaContainerIframeDirective } from './ecl-media-container-iframe.directive';\nimport { EclMediaContainerItemAudioDescriptionDirective } from './ecl-media-container-item-audio-description.directive';\nimport { EclMediaContainerItemDirective } from './ecl-media-container-item.directive';\nimport { EclMediaContainerPictureDirective } from './ecl-media-container-picture.directive';\nimport { EclMediaContainerComponent } from './ecl-media-container.component';\n\nexport * from './ecl-media-container.module';\nexport * from './ecl-media-container.component';\nexport * from './ecl-media-container-item.directive';\nexport * from './ecl-media-container-iframe.directive';\nexport * from './ecl-media-container-picture.directive';\nexport * from './ecl-media-container-item-audio-description.directive';\n\nexport const EUI_ECL_MEDIA_CONTAINER = [\n EclMediaContainerComponent,\n EclMediaContainerItemDirective,\n EclMediaContainerIframeDirective,\n EclMediaContainerPictureDirective,\n EclMediaContainerItemAudioDescriptionDirective,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eui-ecl-components-ecl-media-container.mjs","sources":["../../components/ecl-media-container/ecl-media-container-iframe.directive.ts","../../components/ecl-media-container/ecl-media-container-item-audio-description.directive.ts","../../components/ecl-media-container/ecl-media-container-item.directive.ts","../../components/ecl-media-container/ecl-media-container-picture.directive.ts","../../components/ecl-media-container/ecl-media-container.component.ts","../../components/ecl-media-container/ecl-media-container.component.html","../../components/ecl-media-container/ecl-media-container.module.ts","../../components/ecl-media-container/index.ts","../../components/ecl-media-container/eui-ecl-components-ecl-media-container.ts"],"sourcesContent":["import { Directive, ElementRef, HostBinding, Input, inject } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Adds styling and attributes to the iframe element.\n */\n@Directive({\n selector: 'iframe[eclMediaContainerIframe]',\n})\nexport class EclMediaContainerIframeDirective extends ECLBaseDirective {\n @Input() width;\n @Input() height;\n @Input()\n @HostBinding('style.aspect-ratio')\n get ratio(): string {\n return this.hasCustomRatio ? this.calculateCustomRatio() : null;\n }\n\n hasCustomRatio = false;\n private elem = inject(ElementRef);\n\n calculateCustomRatio(): string {\n let iframeHeight = this.height;\n let iframeWidth = this.width;\n if (!iframeWidth || !iframeHeight) {\n iframeWidth = this.elem.nativeElement.offsetWidth;\n iframeHeight = this.elem.nativeElement.offsetHeight;\n }\n return `${iframeWidth}/${iframeHeight}`;\n }\n}\n","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Adds styling to the media container description.\n */\n@Directive({\n\tselector: '[eclMediaContainerItemAudioDescription]',\n})\nexport class EclMediaContainerItemAudioDescriptionDirective extends ECLBaseDirective {\n\t@HostBinding('class')\n\tget cssClasses(): string {\n\t\treturn [super.getCssClasses('ecl-media-container__media-audio')].join(' ').trim();\n\t}\n}\n","import { AfterContentInit, ContentChild, Directive, ElementRef, HostBinding, Input, afterNextRender, inject } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclMediaContainerIframeDirective } from './ecl-media-container-iframe.directive';\n\n/**\n * Adds styling and functionality to the media container item /image.\n */\n@Directive({\n selector: '[eclMediaContainerItem], img[eclMediaContainerImage]',\n})\nexport class EclMediaContainerItemDirective extends ECLBaseDirective implements AfterContentInit {\n el = inject(ElementRef);\n\n @Input() ratio: string;\n @ContentChild(EclMediaContainerIframeDirective, { static: false }) contentIframe: EclMediaContainerIframeDirective;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-media-container__media'),\n this.ratio ? `ecl-media-container__media--ratio-${this.ratio}` : '',\n this.isVideo ? 'ecl-video' : '',\n ]\n .join(' ')\n .trim();\n }\n\n public isVideo = false;\n\n constructor() {\n super();\n afterNextRender(() => {\n this.setIframeUrl();\n });\n }\n\n ngAfterContentInit(): void {\n if (this.contentIframe) {\n this.contentIframe.hasCustomRatio = this.ratio ? false : true;\n }\n const selector = this.el.nativeElement.tagName;\n this.isVideo = selector === 'VIDEO';\n }\n\n // TODO: is this really needed?\n setIframeUrl(): void {\n if (this.el.nativeElement.lastChild && this.el.nativeElement.lastChild.nodeName === 'IFRAME') {\n const iframe = this.el.nativeElement.lastChild;\n const iframeUrl = new URL(iframe.src);\n if (iframeUrl.host.includes('youtube')) {\n iframe.src = iframeUrl;\n }\n }\n }\n}\n","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Applies styles for the picture element.\n */\n@Directive({\n selector: 'picture[eclMediaContainerPicture]',\n})\nexport class EclMediaContainerPictureDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-picture ecl-media-container__picture')].join(' ').trim();\n }\n}\n","import { AfterContentInit, Component, ContentChild, HostBinding, Input, Renderer2, ViewChild, booleanAttribute, ViewChildren, QueryList, inject } from '@angular/core';\nimport { take, timer } from 'rxjs'\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclExpandableComponent } from '@eui/ecl/components/ecl-expandable';\nimport { EclMediaContainerItemDirective } from './ecl-media-container-item.directive';\nimport { EclButtonComponent, EUI_ECL_BUTTON } from '@eui/ecl/components/ecl-button';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\n\n/**\n * A media container is used to display media items (video, audio, image or other data) with a caption.\n */\n@Component({\n selector: 'ecl-media-container',\n templateUrl: './ecl-media-container.component.html',\n imports: [...EUI_ECL_BUTTON, ...EUI_ECL_ICON],\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclMediaContainerComponent extends ECLBaseDirective implements AfterContentInit {\n @Input({ transform: booleanAttribute }) isFullWidth = false;\n /**\n * Used for a video only - if the video should play immediately.\n */\n @Input({ transform: booleanAttribute }) eclAutoplay = false;\n\n @ContentChild(EclExpandableComponent) expandable: EclExpandableComponent;\n @ContentChild(EclMediaContainerItemDirective) eclMediaContainerItem: EclMediaContainerItemDirective;\n @ViewChildren(EclButtonComponent) eclButtons: QueryList<EclButtonComponent>;\n @ViewChild('pauseButton') pauseButton: EclButtonComponent;\n @ViewChild('playButton') playButton: EclButtonComponent;\n\n /**\n * Applies specific classes for the component.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-media-container')].join(' ').trim();\n }\n\n public isPlaying = false;\n private readonly DELAY = 0;\n private renderer = inject(Renderer2);\n\n ngAfterContentInit(): void {\n // Manage additional attributes, if component includes video and should be played by default.\n if(this.hasVideo && this.eclAutoplay ) {\n const videoEl = this.eclMediaContainerItem.el.nativeElement;\n\n this.renderer.listen(videoEl, 'play', () => {\n this.isPlaying = true;\n })\n\n this.renderer.listen(videoEl, 'pause', () => {\n this.isPlaying = false;\n })\n\n this.renderer.setAttribute(this.eclMediaContainerItem.el.nativeElement, 'loop', '');\n this.renderer.setAttribute(this.eclMediaContainerItem.el.nativeElement, 'muted', '');\n this.renderer.setProperty(this.eclMediaContainerItem.el.nativeElement, 'muted', true);\n this.renderer.removeAttribute(this.eclMediaContainerItem.el.nativeElement, 'controls');\n }\n\n if (this.expandable) {\n this.expandable.class = [this.expandable.class, 'ecl-media-container__expandable'].join(' ');\n }\n }\n\n get hasVideo(): boolean {\n return this.eclMediaContainerItem?.isVideo;\n }\n\n /**\n * When user clicks on 'play' button -> start the video and move the focus to the 'pause' button.\n */\n onVideoPlay(): void {\n const videoEl = this.eclMediaContainerItem.el.nativeElement;\n videoEl.play();\n\n timer(this.DELAY).pipe(take(1)).subscribe(() => {\n const pauseButton = this.eclButtons.find(\n button => button === this.pauseButton );\n this.focusOnButton(pauseButton);\n });\n }\n\n /**\n * When user clicks on 'pause' button -> pause the video and move the focus to the 'play' button.\n */\n onVideoPause(): void {\n const videoEl = this.eclMediaContainerItem.el.nativeElement;\n videoEl.pause();\n\n timer(this.DELAY).pipe(take(1)).subscribe(() => {\n const playButton = this.eclButtons.find(\n button => button === this.playButton);\n this.focusOnButton(playButton);\n });\n }\n\n private focusOnButton(button: EclButtonComponent): void {\n if (!button) {\n return;\n }\n button.onFocus();\n }\n}\n","<figure class=\"ecl-media-container__figure\" [class.ecl-media-container--full-width]=\"isFullWidth\">\n @if (hasVideo) {\n <div class=\"ecl-media-container__video-wrapper\">\n <ng-content select=\"video[eclMediaContainerItem]\"></ng-content>\n @if (eclAutoplay) {\n <button #playButton eclButton variant=\"tertiary\" isIconOnly class=\"ecl-media-container__play\" (click)=\"onVideoPlay()\"\n [style.display]=\"isPlaying ? 'none' : 'flex'\" type=\"button\">\n <span eclButtonLabel>Play</span>\n <ecl-icon icon=\"play-outline\" size=\"m\"></ecl-icon>\n </button>\n <button #pauseButton eclButton variant=\"tertiary\" isIconOnly class=\"ecl-media-container__pause\" (click)=\"onVideoPause()\"\n [style.display]=\"isPlaying ? 'flex' : 'none'\" type=\"button\">\n <span eclButtonLabel>Pause</span>\n <ecl-icon icon=\"pause-outline\" size=\"m\"></ecl-icon>\n </button>\n }\n </div>\n }\n <ng-content select=\"div[eclMediaContainerItem]\"></ng-content>\n <ng-content select=\"picture[eclMediaContainerPicture]\"></ng-content>\n\n <figcaption class=\"ecl-media-container__caption\">\n <ng-content></ng-content>\n </figcaption>\n <ng-content select=\"ecl-expandable\"></ng-content>\n</figure>\n","import { NgModule } from '@angular/core';\nimport { EclMediaContainerIframeDirective } from './ecl-media-container-iframe.directive';\nimport { EclMediaContainerItemAudioDescriptionDirective } from './ecl-media-container-item-audio-description.directive';\nimport { EclMediaContainerItemDirective } from './ecl-media-container-item.directive';\nimport { EclMediaContainerPictureDirective } from './ecl-media-container-picture.directive';\nimport { EclMediaContainerComponent } from './ecl-media-container.component';\n\nconst COMPONENTS = [\n EclMediaContainerComponent,\n EclMediaContainerItemDirective,\n EclMediaContainerIframeDirective,\n EclMediaContainerPictureDirective,\n EclMediaContainerItemAudioDescriptionDirective,\n];\n\n/**\n * Module that provides the EclMediaContainerComponent and its dependencies.\n *\n * @deprecated Use {@link EUI_ECL_MEDIA_CONTAINER} instead.\n */\n@NgModule({\n imports: [...COMPONENTS],\n exports: [...COMPONENTS],\n})\nexport class EclMediaContainerModule {}\n","import { EclMediaContainerIframeDirective } from './ecl-media-container-iframe.directive';\nimport { EclMediaContainerItemAudioDescriptionDirective } from './ecl-media-container-item-audio-description.directive';\nimport { EclMediaContainerItemDirective } from './ecl-media-container-item.directive';\nimport { EclMediaContainerPictureDirective } from './ecl-media-container-picture.directive';\nimport { EclMediaContainerComponent } from './ecl-media-container.component';\n\nexport * from './ecl-media-container.module';\nexport * from './ecl-media-container.component';\nexport * from './ecl-media-container-item.directive';\nexport * from './ecl-media-container-iframe.directive';\nexport * from './ecl-media-container-picture.directive';\nexport * from './ecl-media-container-item-audio-description.directive';\n\nexport const EUI_ECL_MEDIA_CONTAINER = [\n EclMediaContainerComponent,\n EclMediaContainerItemDirective,\n EclMediaContainerIframeDirective,\n EclMediaContainerPictureDirective,\n EclMediaContainerItemAudioDescriptionDirective,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -405,7 +405,7 @@ class EclMegaMenuSubitemComponent extends ECLBaseDirective {
405
405
  });
406
406
  }
407
407
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclMegaMenuSubitemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
408
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-rc.0", type: EclMegaMenuSubitemComponent, isStandalone: true, selector: "li[eclMegaMenuSubitem]", inputs: { buttonId: "buttonId", label: "label", isExternal: ["isExternal", "isExternal", booleanAttribute], externalIconTitle: "externalIconTitle", routerLink: "routerLink", queryParams: "queryParams", queryParamsHandling: "queryParamsHandling", href: "href", target: "target", isSeeAll: ["isSeeAll", "isSeeAll", booleanAttribute], linkExtraAttributes: "linkExtraAttributes" }, outputs: { megaMenuSubItemClicked: "megaMenuSubItemClicked", megaMenuSubItemKeydown: "megaMenuSubItemKeydown" }, host: { properties: { "class": "this.cssClasses", "style.display": "this.display" } }, queries: [{ propertyName: "submenu", first: true, predicate: EclMegaMenuSublistDirective, descendants: true }, { propertyName: "eclMegaMenuFeatured", first: true, predicate: i0.forwardRef(() => EclMegaMenuFeaturedComponent), descendants: true }], viewQueries: [{ propertyName: "megaMenuLevel2", first: true, predicate: ["megaMenuLevel2"], descendants: true }, { propertyName: "subMenuItemLink", first: true, predicate: EclLinkDirective, descendants: true }, { propertyName: "subMenuItemBtn", first: true, predicate: ["subMenuItemBtn"], descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (!isSeeAll) {\n@if (hasChildren) {\n<button eclButton #subMenuItemBtn variant=\"primary\" class=\"ecl-mega-menu__sublink\" [attr.aria-expanded]=\"isExpanded\"\n (click)=\"onButtonClick()\" (keydown)=\"onKeydown($event)\" id=\"{{buttonId}}\">\n <span eclButtonLabel>{{label}}</span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-90\" size=\"2xs\"></ecl-icon>\n</button>\n} @else if (href) {\n<a eclLink variant=\"standalone\" [href]=\"href\" class=\"ecl-mega-menu__sublink\"\n (keydown)=\"onKeydown($event)\" (click)=\"onLinkClick()\">\n <span eclLinkLabel>{{label}}</span>\n <ng-container *ngTemplateOutlet=\"eclIcon\"></ng-container>\n</a>\n} @else {\n<a eclLink variant=\"standalone\" [attr.tabindex]=\"tabindex || 0\" [routerLink]=\"routerLink\"\n [queryParams]=\"queryParams\" [queryParamsHandling]=\"queryParamsHandling\" class=\"ecl-mega-menu__sublink\"\n (keydown)=\"onKeydown($event)\" (click)=\"onLinkClick()\">\n <span eclLinkLabel>{{label}}</span>\n <ng-container *ngTemplateOutlet=\"eclIcon\"></ng-container>\n</a>\n}\n\n@if (hasChildren) {\n<div class=\"ecl-mega-menu__mega ecl-mega-menu__mega--level-2\" #megaMenuLevel2\n [style.height.px]=\"level2StyleHeight\">\n <ng-content select=\"[eclMegaMenuSublist]\"></ng-content>\n <ng-content select=\"[eclMegaMenuFeatured]\"></ng-content>\n</div>\n}\n} @else {\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n}\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #eclIcon>\n @if (isExternal) {\n <ecl-icon icon=\"external\" size=\"2xs\" ariaHidden=\"false\" role=\"img\">\n <title>Links to an external domain</title>\n </ecl-icon>\n }\n <!-- <ng-content select=\"ecl-icon\"></ng-content> -->\n</ng-template>", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i1.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "containerStyleClass"] }, { kind: "directive", type: i1.EclButtonLabelDirective, selector: "[eclButtonLabel]" }, { kind: "component", type: i2.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "directive", type: i3.EclLinkDirective, selector: "[eclLink]", inputs: ["isInverted", "isIconOnly", "isNoVisited", "variant"] }, { kind: "directive", type: i3.EclLinkLabelDirective, selector: "[eclLinkLabel]" }] }); }
408
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-rc.0", type: EclMegaMenuSubitemComponent, isStandalone: true, selector: "li[eclMegaMenuSubitem]", inputs: { buttonId: "buttonId", label: "label", isExternal: ["isExternal", "isExternal", booleanAttribute], externalIconTitle: "externalIconTitle", routerLink: "routerLink", queryParams: "queryParams", queryParamsHandling: "queryParamsHandling", href: "href", target: "target", isSeeAll: ["isSeeAll", "isSeeAll", booleanAttribute], linkExtraAttributes: "linkExtraAttributes" }, outputs: { megaMenuSubItemClicked: "megaMenuSubItemClicked", megaMenuSubItemKeydown: "megaMenuSubItemKeydown" }, host: { properties: { "class": "this.cssClasses", "style.display": "this.display" } }, queries: [{ propertyName: "submenu", first: true, predicate: EclMegaMenuSublistDirective, descendants: true }, { propertyName: "eclMegaMenuFeatured", first: true, predicate: i0.forwardRef(() => EclMegaMenuFeaturedComponent), descendants: true }], viewQueries: [{ propertyName: "megaMenuLevel2", first: true, predicate: ["megaMenuLevel2"], descendants: true }, { propertyName: "subMenuItemLink", first: true, predicate: EclLinkDirective, descendants: true }, { propertyName: "subMenuItemBtn", first: true, predicate: ["subMenuItemBtn"], descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (!isSeeAll) {\n@if (hasChildren) {\n<button eclButton #subMenuItemBtn variant=\"primary\" class=\"ecl-mega-menu__sublink\" [attr.aria-expanded]=\"isExpanded\"\n (click)=\"onButtonClick()\" (keydown)=\"onKeydown($event)\" id=\"{{buttonId}}\">\n <span eclButtonLabel>{{label}}</span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-90\" size=\"2xs\"></ecl-icon>\n</button>\n} @else if (href) {\n<a eclLink variant=\"standalone\" [href]=\"href\" class=\"ecl-mega-menu__sublink\"\n (keydown)=\"onKeydown($event)\" (click)=\"onLinkClick()\">\n <span eclLinkLabel>{{label}}</span>\n <ng-container *ngTemplateOutlet=\"eclIcon\"></ng-container>\n</a>\n} @else {\n<a eclLink variant=\"standalone\" [attr.tabindex]=\"tabindex || 0\" [routerLink]=\"routerLink\"\n [queryParams]=\"queryParams\" [queryParamsHandling]=\"queryParamsHandling\" class=\"ecl-mega-menu__sublink\"\n (keydown)=\"onKeydown($event)\" (click)=\"onLinkClick()\">\n <span eclLinkLabel>{{label}}</span>\n <ng-container *ngTemplateOutlet=\"eclIcon\"></ng-container>\n</a>\n}\n\n@if (hasChildren) {\n<div class=\"ecl-mega-menu__mega ecl-mega-menu__mega--level-2\" #megaMenuLevel2\n [style.height.px]=\"level2StyleHeight\">\n <ng-content select=\"[eclMegaMenuSublist]\"></ng-content>\n <ng-content select=\"[eclMegaMenuFeatured]\"></ng-content>\n</div>\n}\n} @else {\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n}\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #eclIcon>\n @if (isExternal) {\n <ecl-icon icon=\"external\" size=\"2xs\" ariaHidden=\"false\" role=\"img\">\n <title>Links to an external domain</title>\n </ecl-icon>\n }\n <!-- <ng-content select=\"ecl-icon\"></ng-content> -->\n</ng-template>", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { 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: i2.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "directive", type: i3.EclLinkDirective, selector: "[eclLink]", inputs: ["isInverted", "isIconOnly", "isNoVisited", "variant"] }, { kind: "directive", type: i3.EclLinkLabelDirective, selector: "[eclLinkLabel]" }] }); }
409
409
  }
410
410
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclMegaMenuSubitemComponent, decorators: [{
411
411
  type: Component,
@@ -1013,7 +1013,7 @@ class EclMegaMenuItemComponent extends ECLBaseDirective {
1013
1013
  });
1014
1014
  }
1015
1015
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclMegaMenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1016
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-rc.0", type: EclMegaMenuItemComponent, isStandalone: true, selector: "li[eclMegaMenuItem]", inputs: { isPromotional: ["isPromotional", "isPromotional", booleanAttribute], label: "label", routerLink: "routerLink", queryParams: "queryParams", queryParamsHandling: "queryParamsHandling", href: "href", target: "target", linkExtraAttributes: "linkExtraAttributes" }, outputs: { megaMenuItemClicked: "megaMenuItemClicked", megaMenuItemKeydown: "megaMenuItemKeydown" }, host: { listeners: { "window:resize": "onResize()" }, properties: { "class": "this.cssClasses", "attr.aria-haspopup": "this.hasPopup" } }, queries: [{ propertyName: "eclMegaMenuInfo", first: true, predicate: i0.forwardRef(() => EclMegaMenuInfoComponent), descendants: true }, { propertyName: "eclMegaMenuSublist", first: true, predicate: i0.forwardRef(() => EclMegaMenuSublistDirective), descendants: true }, { propertyName: "eclMegaMenuFeatured", first: true, predicate: i0.forwardRef(() => EclMegaMenuFeaturedComponent) }, { propertyName: "eclMegaMenuContainer", first: true, predicate: i0.forwardRef(() => EclMegaMenuContainerDirective), descendants: true }], viewQueries: [{ propertyName: "eclMegaMenuMega", first: true, predicate: ["eclMegaMenuMega"], descendants: true }, { propertyName: "mainPanel", first: true, predicate: ["mainPanel"], descendants: true }, { propertyName: "menuLink", first: true, predicate: EclLinkDirective, descendants: true }, { propertyName: "menuBtn", first: true, predicate: ["menuBtn"], descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (hasChildren) {\n<button #menuBtn eclButton variant=\"primary\" class=\"ecl-mega-menu__link\" (click)=\"onMegaMenuItemClick()\"\n (keydown)=\"onKeydown($event)\">\n <span eclButtonLabel>{{label}}</span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-90\" size=\"2xs\"></ecl-icon>\n <ecl-icon icon=\"arrow-left\" transform=\"flip-horizontal\" size=\"s\"></ecl-icon>\n</button>\n} @else if (href) {\n<a eclLink #menuLink variant=\"standalone\" [href]=\"href\" [target]=\"target\" class=\"ecl-mega-menu__link\"\n (keydown)=\"onKeydown($event)\" (click)=\"onMegaMenuItemClick()\">\n <span eclLinkLabel>{{label}}</span>\n</a>\n} @else {\n<a eclLink #menuLink variant=\"standalone\" [attr.tabindex]=\"tabindex || 0\" [routerLink]=\"routerLink\"\n [queryParams]=\"queryParams\" [queryParamsHandling]=\"queryParamsHandling\" class=\"ecl-mega-menu__link\"\n (keydown)=\"onKeydown($event)\" (click)=\"onMegaMenuItemClick()\">\n <span eclLinkLabel>{{label}}</span>\n</a>\n}\n\n@if (hasSublist) {\n<div class=\"ecl-mega-menu__wrapper\" [style.height.px]=\"wrapperStyleHeight\" [style.top.px]=\"wrapperStyleTop\">\n <div class=\"ecl-container\">\n <ng-content select=\"[eclMegaMenuInfo]\"></ng-content>\n <div #eclMegaMenuMega class=\"ecl-mega-menu__mega\" [class.ecl-mega-menu__mega--has-featured]=\"hasFeatured\" [style.height.px]=\"megaMenuMegaStyleHeight\" [style.opacity]=\"megaMenuMegaStyleOpacity\">\n <ng-content select=\"[eclMegaMenuSublist]\"></ng-content>\n <ng-content select=\"[eclMegaMenuFeatured]\"></ng-content>\n </div>\n </div>\n</div>\n}\n\n@if (hasContainer) {\n<div #mainPanel class=\"ecl-mega-menu__mega ecl-mega-menu__mega-container\">\n <div class=\"ecl-container\" [style.height.px]=\"containerStyleHeight\">\n <div class=\"ecl-mega-menu__mega-container-scrollable\">\n <ng-content select=\"[eclMegaMenuContainer]\"></ng-content>\n </div>\n </div>\n</div>\n}", dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i1.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "containerStyleClass"] }, { kind: "directive", type: i1.EclButtonLabelDirective, selector: "[eclButtonLabel]" }, { kind: "component", type: i2.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "directive", type: i3.EclLinkDirective, selector: "[eclLink]", inputs: ["isInverted", "isIconOnly", "isNoVisited", "variant"] }, { kind: "directive", type: i3.EclLinkLabelDirective, selector: "[eclLinkLabel]" }] }); }
1016
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-rc.0", type: EclMegaMenuItemComponent, isStandalone: true, selector: "li[eclMegaMenuItem]", inputs: { isPromotional: ["isPromotional", "isPromotional", booleanAttribute], label: "label", routerLink: "routerLink", queryParams: "queryParams", queryParamsHandling: "queryParamsHandling", href: "href", target: "target", linkExtraAttributes: "linkExtraAttributes" }, outputs: { megaMenuItemClicked: "megaMenuItemClicked", megaMenuItemKeydown: "megaMenuItemKeydown" }, host: { listeners: { "window:resize": "onResize()" }, properties: { "class": "this.cssClasses", "attr.aria-haspopup": "this.hasPopup" } }, queries: [{ propertyName: "eclMegaMenuInfo", first: true, predicate: i0.forwardRef(() => EclMegaMenuInfoComponent), descendants: true }, { propertyName: "eclMegaMenuSublist", first: true, predicate: i0.forwardRef(() => EclMegaMenuSublistDirective), descendants: true }, { propertyName: "eclMegaMenuFeatured", first: true, predicate: i0.forwardRef(() => EclMegaMenuFeaturedComponent) }, { propertyName: "eclMegaMenuContainer", first: true, predicate: i0.forwardRef(() => EclMegaMenuContainerDirective), descendants: true }], viewQueries: [{ propertyName: "eclMegaMenuMega", first: true, predicate: ["eclMegaMenuMega"], descendants: true }, { propertyName: "mainPanel", first: true, predicate: ["mainPanel"], descendants: true }, { propertyName: "menuLink", first: true, predicate: EclLinkDirective, descendants: true }, { propertyName: "menuBtn", first: true, predicate: ["menuBtn"], descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (hasChildren) {\n<button #menuBtn eclButton variant=\"primary\" class=\"ecl-mega-menu__link\" (click)=\"onMegaMenuItemClick()\"\n (keydown)=\"onKeydown($event)\">\n <span eclButtonLabel>{{label}}</span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-90\" size=\"2xs\"></ecl-icon>\n <ecl-icon icon=\"arrow-left\" transform=\"flip-horizontal\" size=\"s\"></ecl-icon>\n</button>\n} @else if (href) {\n<a eclLink #menuLink variant=\"standalone\" [href]=\"href\" [target]=\"target\" class=\"ecl-mega-menu__link\"\n (keydown)=\"onKeydown($event)\" (click)=\"onMegaMenuItemClick()\">\n <span eclLinkLabel>{{label}}</span>\n</a>\n} @else {\n<a eclLink #menuLink variant=\"standalone\" [attr.tabindex]=\"tabindex || 0\" [routerLink]=\"routerLink\"\n [queryParams]=\"queryParams\" [queryParamsHandling]=\"queryParamsHandling\" class=\"ecl-mega-menu__link\"\n (keydown)=\"onKeydown($event)\" (click)=\"onMegaMenuItemClick()\">\n <span eclLinkLabel>{{label}}</span>\n</a>\n}\n\n@if (hasSublist) {\n<div class=\"ecl-mega-menu__wrapper\" [style.height.px]=\"wrapperStyleHeight\" [style.top.px]=\"wrapperStyleTop\">\n <div class=\"ecl-container\">\n <ng-content select=\"[eclMegaMenuInfo]\"></ng-content>\n <div #eclMegaMenuMega class=\"ecl-mega-menu__mega\" [class.ecl-mega-menu__mega--has-featured]=\"hasFeatured\" [style.height.px]=\"megaMenuMegaStyleHeight\" [style.opacity]=\"megaMenuMegaStyleOpacity\">\n <ng-content select=\"[eclMegaMenuSublist]\"></ng-content>\n <ng-content select=\"[eclMegaMenuFeatured]\"></ng-content>\n </div>\n </div>\n</div>\n}\n\n@if (hasContainer) {\n<div #mainPanel class=\"ecl-mega-menu__mega ecl-mega-menu__mega-container\">\n <div class=\"ecl-container\" [style.height.px]=\"containerStyleHeight\">\n <div class=\"ecl-mega-menu__mega-container-scrollable\">\n <ng-content select=\"[eclMegaMenuContainer]\"></ng-content>\n </div>\n </div>\n</div>\n}", dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { 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: i2.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "directive", type: i3.EclLinkDirective, selector: "[eclLink]", inputs: ["isInverted", "isIconOnly", "isNoVisited", "variant"] }, { kind: "directive", type: i3.EclLinkLabelDirective, selector: "[eclLinkLabel]" }] }); }
1017
1017
  }
1018
1018
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclMegaMenuItemComponent, decorators: [{
1019
1019
  type: Component,
@@ -1422,7 +1422,7 @@ class EclMegaMenuComponent extends ECLBaseDirective {
1422
1422
  this.renderer.removeClass(document.body, 'ecl-mega-menu-prevent-scroll');
1423
1423
  }
1424
1424
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclMegaMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1425
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-rc.0", type: EclMegaMenuComponent, isStandalone: true, selector: "nav[eclMegaMenu]", outputs: { megaMenuItemSelect: "megaMenuItemSelect" }, host: { listeners: { "eclClickOutside": "onClickOutsideMegaMenu()" }, properties: { "class": "this.cssClasses", "attr.data-expanded": "this.expandedAttr", "attr.role": "this.role" } }, queries: [{ propertyName: "menuItems", predicate: i0.forwardRef(() => EclMegaMenuItemComponent), descendants: true }], usesInheritance: true, hostDirectives: [{ directive: i1$1.ECLBaseDirective }, { directive: i1$1.ECLClickOutsideDirective, outputs: ["eclClickOutside", "eclClickOutside"] }], ngImport: i0, template: "<div class=\"ecl-mega-menu__overlay\" [style.top.px]=\"overlayStyleTop\"></div>\n<div class=\"ecl-container ecl-mega-menu__container\">\n <button class=\"ecl-button ecl-button--tertiary ecl-mega-menu__open ecl-button--icon-only\"\n type=\"button\" aria-expanded=\"isMobileExpanded\" (click)=\"onMegaMenuMobileOpen()\">\n <ecl-icon icon=\"hamburger\" size=\"m\"></ecl-icon>\n <ecl-icon icon=\"close\" size=\"m\"></ecl-icon>\n @if (isOpenMobile) {\n <span class=\"ecl-button__label\">{{ 'ecl.common.CLOSE' | translate }}</span>\n } @else {\n <span class=\"ecl-button__label\">{{ 'ecl.menu.MENU' | translate }}</span>\n }\n </button>\n <section class=\"ecl-mega-menu__inner\" [class.ecl-mega-menu__inner--expanded]=\"!isStartPanel && isExpanded\"\n aria-label=\"ecl mega menu\" [style.top.px]=\"innerStyleTop\">\n <header class=\"ecl-mega-menu__inner-header\">\n <button eclButton variant=\"ghost\" class=\"ecl-mega-menu__back\" type=\"submit\" (click)=\"onMegaMenuBack()\">\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-270\"></ecl-icon>\n <span eclButtonLabel>Back</span>\n </button>\n </header>\n <ng-content></ng-content>\n </section>\n</div>", dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "component", type: i1.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "containerStyleClass"] }, { kind: "directive", type: i1.EclButtonLabelDirective, selector: "[eclButtonLabel]" }, { kind: "component", type: i2.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
1425
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-rc.0", type: EclMegaMenuComponent, isStandalone: true, selector: "nav[eclMegaMenu]", outputs: { megaMenuItemSelect: "megaMenuItemSelect" }, host: { listeners: { "eclClickOutside": "onClickOutsideMegaMenu()" }, properties: { "class": "this.cssClasses", "attr.data-expanded": "this.expandedAttr", "attr.role": "this.role" } }, queries: [{ propertyName: "menuItems", predicate: i0.forwardRef(() => EclMegaMenuItemComponent), descendants: true }], usesInheritance: true, hostDirectives: [{ directive: i1$1.ECLBaseDirective }, { directive: i1$1.ECLClickOutsideDirective, outputs: ["eclClickOutside", "eclClickOutside"] }], ngImport: i0, template: "<div class=\"ecl-mega-menu__overlay\" [style.top.px]=\"overlayStyleTop\"></div>\n<div class=\"ecl-container ecl-mega-menu__container\">\n <button class=\"ecl-button ecl-button--tertiary ecl-mega-menu__open ecl-button--icon-only\"\n type=\"button\" aria-expanded=\"isMobileExpanded\" (click)=\"onMegaMenuMobileOpen()\">\n <ecl-icon icon=\"hamburger\" size=\"m\"></ecl-icon>\n <ecl-icon icon=\"close\" size=\"m\"></ecl-icon>\n @if (isOpenMobile) {\n <span class=\"ecl-button__label\">{{ 'ecl.common.CLOSE' | translate }}</span>\n } @else {\n <span class=\"ecl-button__label\">{{ 'ecl.menu.MENU' | translate }}</span>\n }\n </button>\n <section class=\"ecl-mega-menu__inner\" [class.ecl-mega-menu__inner--expanded]=\"!isStartPanel && isExpanded\"\n aria-label=\"ecl mega menu\" [style.top.px]=\"innerStyleTop\">\n <header class=\"ecl-mega-menu__inner-header\">\n <button eclButton variant=\"tertiary\" eclStyle=\"neutral\" class=\"ecl-mega-menu__back\" type=\"submit\" (click)=\"onMegaMenuBack()\">\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-270\"></ecl-icon>\n <span eclButtonLabel>Back</span>\n </button>\n </header>\n <ng-content></ng-content>\n </section>\n</div>", dependencies: [{ kind: "ngmodule", type: TranslateModule }, { 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: i2.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
1426
1426
  }
1427
1427
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclMegaMenuComponent, decorators: [{
1428
1428
  type: Component,
@@ -1435,7 +1435,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.0", ng
1435
1435
  // eslint-disable-next-line @angular-eslint/no-outputs-metadata-property
1436
1436
  outputs: ['eclClickOutside'],
1437
1437
  },
1438
- ], template: "<div class=\"ecl-mega-menu__overlay\" [style.top.px]=\"overlayStyleTop\"></div>\n<div class=\"ecl-container ecl-mega-menu__container\">\n <button class=\"ecl-button ecl-button--tertiary ecl-mega-menu__open ecl-button--icon-only\"\n type=\"button\" aria-expanded=\"isMobileExpanded\" (click)=\"onMegaMenuMobileOpen()\">\n <ecl-icon icon=\"hamburger\" size=\"m\"></ecl-icon>\n <ecl-icon icon=\"close\" size=\"m\"></ecl-icon>\n @if (isOpenMobile) {\n <span class=\"ecl-button__label\">{{ 'ecl.common.CLOSE' | translate }}</span>\n } @else {\n <span class=\"ecl-button__label\">{{ 'ecl.menu.MENU' | translate }}</span>\n }\n </button>\n <section class=\"ecl-mega-menu__inner\" [class.ecl-mega-menu__inner--expanded]=\"!isStartPanel && isExpanded\"\n aria-label=\"ecl mega menu\" [style.top.px]=\"innerStyleTop\">\n <header class=\"ecl-mega-menu__inner-header\">\n <button eclButton variant=\"ghost\" class=\"ecl-mega-menu__back\" type=\"submit\" (click)=\"onMegaMenuBack()\">\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-270\"></ecl-icon>\n <span eclButtonLabel>Back</span>\n </button>\n </header>\n <ng-content></ng-content>\n </section>\n</div>" }]
1438
+ ], template: "<div class=\"ecl-mega-menu__overlay\" [style.top.px]=\"overlayStyleTop\"></div>\n<div class=\"ecl-container ecl-mega-menu__container\">\n <button class=\"ecl-button ecl-button--tertiary ecl-mega-menu__open ecl-button--icon-only\"\n type=\"button\" aria-expanded=\"isMobileExpanded\" (click)=\"onMegaMenuMobileOpen()\">\n <ecl-icon icon=\"hamburger\" size=\"m\"></ecl-icon>\n <ecl-icon icon=\"close\" size=\"m\"></ecl-icon>\n @if (isOpenMobile) {\n <span class=\"ecl-button__label\">{{ 'ecl.common.CLOSE' | translate }}</span>\n } @else {\n <span class=\"ecl-button__label\">{{ 'ecl.menu.MENU' | translate }}</span>\n }\n </button>\n <section class=\"ecl-mega-menu__inner\" [class.ecl-mega-menu__inner--expanded]=\"!isStartPanel && isExpanded\"\n aria-label=\"ecl mega menu\" [style.top.px]=\"innerStyleTop\">\n <header class=\"ecl-mega-menu__inner-header\">\n <button eclButton variant=\"tertiary\" eclStyle=\"neutral\" class=\"ecl-mega-menu__back\" type=\"submit\" (click)=\"onMegaMenuBack()\">\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-270\"></ecl-icon>\n <span eclButtonLabel>Back</span>\n </button>\n </header>\n <ng-content></ng-content>\n </section>\n</div>" }]
1439
1439
  }], ctorParameters: () => [], propDecorators: { cssClasses: [{
1440
1440
  type: HostBinding,
1441
1441
  args: ['class']