@eui/ecl 21.0.0-alpha.31 → 21.0.0-alpha.33

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 (518) hide show
  1. package/components/ecl-accordion/package.json +2 -1
  2. package/components/ecl-app/package.json +2 -1
  3. package/components/ecl-banner/package.json +2 -1
  4. package/components/ecl-blockquote/package.json +2 -1
  5. package/components/ecl-breadcrumb/package.json +2 -1
  6. package/components/ecl-button/package.json +2 -1
  7. package/components/ecl-card/package.json +2 -1
  8. package/components/ecl-carousel/package.json +2 -1
  9. package/components/ecl-category-filter/package.json +2 -1
  10. package/components/ecl-checkbox/package.json +2 -1
  11. package/components/ecl-content-block/package.json +2 -1
  12. package/components/ecl-content-item/package.json +2 -1
  13. package/components/ecl-date-block/package.json +2 -1
  14. package/components/ecl-date-picker/package.json +2 -1
  15. package/components/ecl-divider/package.json +4 -0
  16. package/components/ecl-expandable/package.json +2 -1
  17. package/components/ecl-fact-figures/package.json +2 -1
  18. package/components/ecl-featured/package.json +2 -1
  19. package/components/ecl-feedback-message/package.json +2 -1
  20. package/components/ecl-file/package.json +2 -1
  21. package/components/ecl-file-upload/package.json +2 -1
  22. package/components/ecl-form-group/package.json +2 -1
  23. package/components/ecl-form-label/package.json +2 -1
  24. package/components/ecl-gallery/package.json +2 -1
  25. package/components/ecl-help-block/package.json +2 -1
  26. package/components/ecl-icon/package.json +2 -1
  27. package/components/ecl-inpage-navigation/package.json +2 -1
  28. package/components/ecl-label/package.json +2 -1
  29. package/components/ecl-link/package.json +2 -1
  30. package/components/ecl-list/package.json +2 -1
  31. package/components/ecl-list-illustration/package.json +2 -1
  32. package/components/ecl-loading-indicator/package.json +2 -1
  33. package/components/ecl-media-container/package.json +2 -1
  34. package/components/ecl-mega-menu/package.json +2 -1
  35. package/components/ecl-menu/package.json +2 -1
  36. package/components/ecl-modal/package.json +2 -1
  37. package/components/ecl-multiselect/package.json +2 -1
  38. package/components/ecl-navigation-list/package.json +2 -1
  39. package/components/ecl-news-ticker/package.json +2 -1
  40. package/components/ecl-notification/package.json +2 -1
  41. package/components/ecl-page-header/package.json +2 -1
  42. package/components/ecl-pagination/package.json +2 -1
  43. package/components/ecl-popover/package.json +2 -1
  44. package/components/ecl-radio/package.json +2 -1
  45. package/components/ecl-range/package.json +2 -1
  46. package/components/ecl-rating-field/package.json +2 -1
  47. package/components/ecl-search-form/package.json +2 -1
  48. package/components/ecl-select/package.json +2 -1
  49. package/components/ecl-site-footer/package.json +2 -1
  50. package/components/ecl-site-header/package.json +2 -1
  51. package/components/ecl-social-media-follow/package.json +2 -1
  52. package/components/ecl-splash-page/package.json +2 -1
  53. package/components/ecl-sticky-container/package.json +2 -1
  54. package/components/ecl-table/package.json +2 -1
  55. package/components/ecl-tabs/package.json +2 -1
  56. package/components/ecl-tag/package.json +2 -1
  57. package/components/ecl-text-area/package.json +2 -1
  58. package/components/ecl-text-input/package.json +2 -1
  59. package/components/ecl-timeline/package.json +2 -1
  60. package/core/package.json +2 -1
  61. package/docs/changelog.html +258 -0
  62. package/docs/components/EclAccordionComponent.html +43 -2
  63. package/docs/components/EclAccordionItemComponent.html +2 -2
  64. package/docs/components/EclAppComponent.html +2 -2
  65. package/docs/components/EclBannerComponent.html +2 -2
  66. package/docs/components/EclBlockquoteComponent.html +2 -2
  67. package/docs/components/EclBreadcrumbComponent.html +2 -2
  68. package/docs/components/EclBreadcrumbSegmentComponent.html +2 -2
  69. package/docs/components/EclButtonComponent.html +2 -2
  70. package/docs/components/EclCardBodyComponent.html +2 -2
  71. package/docs/components/EclCardComponent.html +2 -2
  72. package/docs/components/EclCarouselComponent.html +2 -2
  73. package/docs/components/EclCarouselItemComponent.html +2 -2
  74. package/docs/components/EclCategoryFilterComponent.html +2 -2
  75. package/docs/components/EclCategoryFilterItemComponent.html +2 -2
  76. package/docs/components/EclCategoryFilterListComponent.html +2 -2
  77. package/docs/components/EclCheckboxHelpComponent.html +2 -2
  78. package/docs/components/EclCheckboxLabelComponent.html +3 -3
  79. package/docs/components/EclContentBlockComponent.html +2 -2
  80. package/docs/components/EclContentItemComponent.html +2 -2
  81. package/docs/components/EclDateBlockComponent.html +2 -2
  82. package/docs/components/EclDescriptionListDefinitionComponent.html +2 -2
  83. package/docs/components/EclExpandableComponent.html +2 -2
  84. package/docs/components/EclFactFiguresComponent.html +2 -2
  85. package/docs/components/EclFactFiguresDescriptionComponent.html +2 -2
  86. package/docs/components/EclFactFiguresItemComponent.html +2 -2
  87. package/docs/components/EclFactFiguresTitleComponent.html +2 -2
  88. package/docs/components/EclFactFiguresValueComponent.html +2 -2
  89. package/docs/components/EclFactFiguresViewAllComponent.html +2 -2
  90. package/docs/components/EclFeaturedComponent.html +33 -15
  91. package/docs/components/EclFeaturedItemComponent.html +27 -3
  92. package/docs/components/EclFeaturedItemDescriptionComponent.html +2 -2
  93. package/docs/components/EclFileComponent.html +2 -2
  94. package/docs/components/EclFileItemComponent.html +2 -2
  95. package/docs/components/EclFileItemsComponent.html +2 -2
  96. package/docs/components/EclFileTaxonomyComponent.html +2 -2
  97. package/docs/components/EclFormGroupComponent.html +2 -2
  98. package/docs/components/EclFormLabelComponent.html +3 -3
  99. package/docs/components/EclGalleryComponent.html +3 -3
  100. package/docs/components/EclGalleryFooterComponent.html +2 -2
  101. package/docs/components/EclGalleryItemComponent.html +3 -3
  102. package/docs/components/EclIconComponent.html +2 -2
  103. package/docs/components/EclInpageNavigationComponent.html +2 -2
  104. package/docs/components/EclInpageNavigationItemComponent.html +2 -2
  105. package/docs/components/EclListIllustrationComponent.html +2 -2
  106. package/docs/components/EclListIllustrationItemComponent.html +2 -2
  107. package/docs/components/EclLoadingIndicatorComponent.html +2 -2
  108. package/docs/components/EclMediaContainerComponent.html +2 -2
  109. package/docs/components/EclMegaMenuComponent.html +75 -2
  110. package/docs/components/EclMegaMenuFeaturedComponent.html +83 -7
  111. package/docs/components/EclMegaMenuInfoComponent.html +2 -2
  112. package/docs/components/EclMegaMenuItemComponent.html +106 -43
  113. package/docs/components/EclMegaMenuSubitemComponent.html +25 -43
  114. package/docs/components/EclMenuComponent.html +46 -2
  115. package/docs/components/EclMenuItemComponent.html +3 -3
  116. package/docs/components/EclMenuMegaComponent.html +2 -2
  117. package/docs/components/EclMenuMegaItemComponent.html +2 -2
  118. package/docs/components/EclModalBodyComponent.html +2 -2
  119. package/docs/components/EclModalComponent.html +2 -2
  120. package/docs/components/EclModalFooterComponent.html +2 -2
  121. package/docs/components/EclModalHeaderComponent.html +2 -2
  122. package/docs/components/EclMultiselectComponent.html +2 -2
  123. package/docs/components/EclMultiselectDropdownComponent.html +2 -2
  124. package/docs/components/EclMultiselectInputComponent.html +2 -2
  125. package/docs/components/EclMultiselectOptgroupComponent.html +2 -2
  126. package/docs/components/EclMultiselectOptionComponent.html +2 -2
  127. package/docs/components/EclNavigationListComponent.html +2 -2
  128. package/docs/components/EclNavigationListItemComponent.html +2 -2
  129. package/docs/components/EclNewsTickerComponent.html +2 -2
  130. package/docs/components/EclNewsTickerItemComponent.html +2 -2
  131. package/docs/components/EclNotificationComponent.html +3 -3
  132. package/docs/components/EclPageHeaderComponent.html +2 -2
  133. package/docs/components/EclPaginationComponent.html +2 -2
  134. package/docs/components/EclPaginationItemComponent.html +2 -2
  135. package/docs/components/EclPopoverComponent.html +96 -27
  136. package/docs/components/EclRadioHelpComponent.html +2 -2
  137. package/docs/components/EclRadioLabelComponent.html +2 -2
  138. package/docs/components/EclRangeBubbleComponent.html +2 -2
  139. package/docs/components/EclRangeValueComponent.html +2 -2
  140. package/docs/components/EclRatingFieldComponent.html +2 -2
  141. package/docs/components/EclSearchFormComponent.html +3 -3
  142. package/docs/components/EclSelectContainerComponent.html +2 -2
  143. package/docs/components/EclSiteFooterComponent.html +2 -2
  144. package/docs/components/EclSiteFooterCoreComponent.html +2 -2
  145. package/docs/components/EclSiteFooterFixedContentEUComponent.html +2 -2
  146. package/docs/components/EclSiteFooterRowCommonComponent.html +2 -2
  147. package/docs/components/EclSiteHeaderActionComponent.html +2 -2
  148. package/docs/components/EclSiteHeaderBannerTopComponent.html +2 -2
  149. package/docs/components/EclSiteHeaderComponent.html +33 -3
  150. package/docs/components/EclSiteHeaderCustomActionComponent.html +2 -2
  151. package/docs/components/EclSiteHeaderEnvironmentComponent.html +2 -2
  152. package/docs/components/EclSiteHeaderLanguageComponent.html +3 -3
  153. package/docs/components/EclSiteHeaderLanguagePopoverComponent.html +3 -3
  154. package/docs/components/EclSiteHeaderLoginComponent.html +3 -3
  155. package/docs/components/EclSiteHeaderNotificationComponent.html +2 -2
  156. package/docs/components/EclSiteHeaderSearchComponent.html +2 -2
  157. package/docs/components/EclSocialMediaFollowComponent.html +2 -2
  158. package/docs/components/EclSocialMediaFollowItemComponent.html +2 -2
  159. package/docs/components/EclSplashPageComponent.html +2 -2
  160. package/docs/components/EclSplashPageLanguageCategoryComponent.html +2 -2
  161. package/docs/components/EclSplashPageLanguageContainerComponent.html +2 -2
  162. package/docs/components/EclSplashPageLanguageLinkComponent.html +2 -2
  163. package/docs/components/EclStickyContainerComponent.html +2 -2
  164. package/docs/components/EclTabComponent.html +2 -2
  165. package/docs/components/EclTabLabelComponent.html +2 -2
  166. package/docs/components/EclTabMoreComponent.html +2 -2
  167. package/docs/components/EclTableSortButtonComponent.html +2 -2
  168. package/docs/components/EclTabsComponent.html +2 -2
  169. package/docs/components/EclTagComponent.html +2 -2
  170. package/docs/components/EclTimelineComponent.html +2 -2
  171. package/docs/components/EclTimelineItemComponent.html +2 -2
  172. package/docs/components/EclTimelineItemTogglerComponent.html +2 -2
  173. package/docs/directives/EclBannerDescriptionLinkDirective.html +65 -1
  174. package/docs/directives/EclBannerTitleLinkDirective.html +64 -1
  175. package/docs/directives/{EclSeparatorDirective.html → EclDividerDirective.html} +4 -4
  176. package/docs/directives/{EclSocialMediaShareLinkDirective.html → EclMegaMenuFeaturedListItemDescriptionDirective.html} +20 -58
  177. package/docs/directives/EclMegaMenuFeaturedListItemDirective.html +48 -0
  178. package/docs/directives/EclMegaMenuSpacerDirective.html +1 -1
  179. package/docs/directives/EclMegaMenuSublistDirective.html +67 -0
  180. package/docs/directives/{EclFeaturedItemFooterLinkDirective.html → EclSiteFooterDescriptionNameDirective.html} +14 -14
  181. package/docs/directives/EclSiteFooterSectionDirective.html +32 -367
  182. package/docs/interfaces/EclMegaMenuItem.html +45 -0
  183. package/docs/js/menu-wc.js +45 -115
  184. package/docs/js/menu-wc_es5.js +1 -1
  185. package/docs/js/search/search_index.js +2 -2
  186. package/docs/miscellaneous/variables.html +33 -98
  187. package/docs/modules/{EclSeparatorModule.html → EclDividerModule.html} +6 -6
  188. package/docs/modules.html +12 -24
  189. package/docs/overview.html +4 -4
  190. package/docs/properties.html +1 -1
  191. package/fesm2022/eui-ecl-components-ecl-accordion.mjs +68 -50
  192. package/fesm2022/eui-ecl-components-ecl-accordion.mjs.map +1 -1
  193. package/fesm2022/eui-ecl-components-ecl-app.mjs +9 -9
  194. package/fesm2022/eui-ecl-components-ecl-app.mjs.map +1 -1
  195. package/fesm2022/eui-ecl-components-ecl-banner.mjs +46 -37
  196. package/fesm2022/eui-ecl-components-ecl-banner.mjs.map +1 -1
  197. package/fesm2022/eui-ecl-components-ecl-blockquote.mjs +13 -13
  198. package/fesm2022/eui-ecl-components-ecl-blockquote.mjs.map +1 -1
  199. package/fesm2022/eui-ecl-components-ecl-breadcrumb.mjs +13 -13
  200. package/fesm2022/eui-ecl-components-ecl-breadcrumb.mjs.map +1 -1
  201. package/fesm2022/eui-ecl-components-ecl-button.mjs +16 -16
  202. package/fesm2022/eui-ecl-components-ecl-button.mjs.map +1 -1
  203. package/fesm2022/eui-ecl-components-ecl-card.mjs +16 -16
  204. package/fesm2022/eui-ecl-components-ecl-card.mjs.map +1 -1
  205. package/fesm2022/eui-ecl-components-ecl-carousel.mjs +10 -10
  206. package/fesm2022/eui-ecl-components-ecl-carousel.mjs.map +1 -1
  207. package/fesm2022/eui-ecl-components-ecl-category-filter.mjs +13 -13
  208. package/fesm2022/eui-ecl-components-ecl-category-filter.mjs.map +1 -1
  209. package/fesm2022/eui-ecl-components-ecl-checkbox.mjs +17 -17
  210. package/fesm2022/eui-ecl-components-ecl-checkbox.mjs.map +1 -1
  211. package/fesm2022/eui-ecl-components-ecl-content-block.mjs +58 -58
  212. package/fesm2022/eui-ecl-components-ecl-content-block.mjs.map +1 -1
  213. package/fesm2022/eui-ecl-components-ecl-content-item.mjs +13 -13
  214. package/fesm2022/eui-ecl-components-ecl-content-item.mjs.map +1 -1
  215. package/fesm2022/eui-ecl-components-ecl-date-block.mjs +7 -7
  216. package/fesm2022/eui-ecl-components-ecl-date-block.mjs.map +1 -1
  217. package/fesm2022/eui-ecl-components-ecl-date-picker.mjs +7 -7
  218. package/fesm2022/eui-ecl-components-ecl-date-picker.mjs.map +1 -1
  219. package/fesm2022/eui-ecl-components-ecl-divider.mjs +57 -0
  220. package/fesm2022/eui-ecl-components-ecl-divider.mjs.map +1 -0
  221. package/fesm2022/eui-ecl-components-ecl-expandable.mjs +7 -7
  222. package/fesm2022/eui-ecl-components-ecl-expandable.mjs.map +1 -1
  223. package/fesm2022/eui-ecl-components-ecl-fact-figures.mjs +22 -22
  224. package/fesm2022/eui-ecl-components-ecl-fact-figures.mjs.map +1 -1
  225. package/fesm2022/eui-ecl-components-ecl-featured.mjs +35 -97
  226. package/fesm2022/eui-ecl-components-ecl-featured.mjs.map +1 -1
  227. package/fesm2022/eui-ecl-components-ecl-feedback-message.mjs +8 -7
  228. package/fesm2022/eui-ecl-components-ecl-feedback-message.mjs.map +1 -1
  229. package/fesm2022/eui-ecl-components-ecl-file-upload.mjs +7 -7
  230. package/fesm2022/eui-ecl-components-ecl-file-upload.mjs.map +1 -1
  231. package/fesm2022/eui-ecl-components-ecl-file.mjs +34 -34
  232. package/fesm2022/eui-ecl-components-ecl-file.mjs.map +1 -1
  233. package/fesm2022/eui-ecl-components-ecl-form-group.mjs +7 -7
  234. package/fesm2022/eui-ecl-components-ecl-form-group.mjs.map +1 -1
  235. package/fesm2022/eui-ecl-components-ecl-form-label.mjs +11 -11
  236. package/fesm2022/eui-ecl-components-ecl-form-label.mjs.map +1 -1
  237. package/fesm2022/eui-ecl-components-ecl-gallery.mjs +24 -24
  238. package/fesm2022/eui-ecl-components-ecl-gallery.mjs.map +1 -1
  239. package/fesm2022/eui-ecl-components-ecl-help-block.mjs +7 -7
  240. package/fesm2022/eui-ecl-components-ecl-help-block.mjs.map +1 -1
  241. package/fesm2022/eui-ecl-components-ecl-icon.mjs +7 -7
  242. package/fesm2022/eui-ecl-components-ecl-icon.mjs.map +1 -1
  243. package/fesm2022/eui-ecl-components-ecl-inpage-navigation.mjs +17 -17
  244. package/fesm2022/eui-ecl-components-ecl-inpage-navigation.mjs.map +1 -1
  245. package/fesm2022/eui-ecl-components-ecl-label.mjs +7 -7
  246. package/fesm2022/eui-ecl-components-ecl-label.mjs.map +1 -1
  247. package/fesm2022/eui-ecl-components-ecl-link.mjs +16 -16
  248. package/fesm2022/eui-ecl-components-ecl-link.mjs.map +1 -1
  249. package/fesm2022/eui-ecl-components-ecl-list-illustration.mjs +19 -19
  250. package/fesm2022/eui-ecl-components-ecl-list-illustration.mjs.map +1 -1
  251. package/fesm2022/eui-ecl-components-ecl-list.mjs +31 -31
  252. package/fesm2022/eui-ecl-components-ecl-list.mjs.map +1 -1
  253. package/fesm2022/eui-ecl-components-ecl-loading-indicator.mjs +13 -13
  254. package/fesm2022/eui-ecl-components-ecl-loading-indicator.mjs.map +1 -1
  255. package/fesm2022/eui-ecl-components-ecl-media-container.mjs +19 -19
  256. package/fesm2022/eui-ecl-components-ecl-media-container.mjs.map +1 -1
  257. package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs +211 -93
  258. package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs.map +1 -1
  259. package/fesm2022/eui-ecl-components-ecl-menu.mjs +49 -30
  260. package/fesm2022/eui-ecl-components-ecl-menu.mjs.map +1 -1
  261. package/fesm2022/eui-ecl-components-ecl-modal.mjs +25 -25
  262. package/fesm2022/eui-ecl-components-ecl-modal.mjs.map +1 -1
  263. package/fesm2022/eui-ecl-components-ecl-multiselect.mjs +45 -25
  264. package/fesm2022/eui-ecl-components-ecl-multiselect.mjs.map +1 -1
  265. package/fesm2022/eui-ecl-components-ecl-navigation-list.mjs +16 -16
  266. package/fesm2022/eui-ecl-components-ecl-navigation-list.mjs.map +1 -1
  267. package/fesm2022/eui-ecl-components-ecl-news-ticker.mjs +13 -13
  268. package/fesm2022/eui-ecl-components-ecl-news-ticker.mjs.map +1 -1
  269. package/fesm2022/eui-ecl-components-ecl-notification.mjs +11 -11
  270. package/fesm2022/eui-ecl-components-ecl-notification.mjs.map +1 -1
  271. package/fesm2022/eui-ecl-components-ecl-page-header.mjs +37 -37
  272. package/fesm2022/eui-ecl-components-ecl-page-header.mjs.map +1 -1
  273. package/fesm2022/eui-ecl-components-ecl-pagination.mjs +13 -13
  274. package/fesm2022/eui-ecl-components-ecl-pagination.mjs.map +1 -1
  275. package/fesm2022/eui-ecl-components-ecl-popover.mjs +182 -111
  276. package/fesm2022/eui-ecl-components-ecl-popover.mjs.map +1 -1
  277. package/fesm2022/eui-ecl-components-ecl-radio.mjs +16 -16
  278. package/fesm2022/eui-ecl-components-ecl-radio.mjs.map +1 -1
  279. package/fesm2022/eui-ecl-components-ecl-range.mjs +13 -13
  280. package/fesm2022/eui-ecl-components-ecl-range.mjs.map +1 -1
  281. package/fesm2022/eui-ecl-components-ecl-rating-field.mjs +7 -7
  282. package/fesm2022/eui-ecl-components-ecl-rating-field.mjs.map +1 -1
  283. package/fesm2022/eui-ecl-components-ecl-search-form.mjs +8 -8
  284. package/fesm2022/eui-ecl-components-ecl-search-form.mjs.map +1 -1
  285. package/fesm2022/eui-ecl-components-ecl-select.mjs +10 -10
  286. package/fesm2022/eui-ecl-components-ecl-select.mjs.map +1 -1
  287. package/fesm2022/eui-ecl-components-ecl-site-footer.mjs +97 -89
  288. package/fesm2022/eui-ecl-components-ecl-site-footer.mjs.map +1 -1
  289. package/fesm2022/eui-ecl-components-ecl-site-header.mjs +80 -73
  290. package/fesm2022/eui-ecl-components-ecl-site-header.mjs.map +1 -1
  291. package/fesm2022/eui-ecl-components-ecl-social-media-follow.mjs +14 -13
  292. package/fesm2022/eui-ecl-components-ecl-social-media-follow.mjs.map +1 -1
  293. package/fesm2022/eui-ecl-components-ecl-splash-page.mjs +31 -31
  294. package/fesm2022/eui-ecl-components-ecl-splash-page.mjs.map +1 -1
  295. package/fesm2022/eui-ecl-components-ecl-sticky-container.mjs +7 -7
  296. package/fesm2022/eui-ecl-components-ecl-sticky-container.mjs.map +1 -1
  297. package/fesm2022/eui-ecl-components-ecl-table.mjs +34 -34
  298. package/fesm2022/eui-ecl-components-ecl-table.mjs.map +1 -1
  299. package/fesm2022/eui-ecl-components-ecl-tabs.mjs +16 -16
  300. package/fesm2022/eui-ecl-components-ecl-tabs.mjs.map +1 -1
  301. package/fesm2022/eui-ecl-components-ecl-tag.mjs +16 -16
  302. package/fesm2022/eui-ecl-components-ecl-tag.mjs.map +1 -1
  303. package/fesm2022/eui-ecl-components-ecl-text-area.mjs +7 -7
  304. package/fesm2022/eui-ecl-components-ecl-text-area.mjs.map +1 -1
  305. package/fesm2022/eui-ecl-components-ecl-text-input.mjs +7 -7
  306. package/fesm2022/eui-ecl-components-ecl-text-input.mjs.map +1 -1
  307. package/fesm2022/eui-ecl-components-ecl-timeline.mjs +19 -19
  308. package/fesm2022/eui-ecl-components-ecl-timeline.mjs.map +1 -1
  309. package/fesm2022/eui-ecl-core.mjs +25 -25
  310. package/fesm2022/eui-ecl-core.mjs.map +1 -1
  311. package/fesm2022/eui-ecl-shared.mjs +3 -3
  312. package/fesm2022/eui-ecl-shared.mjs.map +1 -1
  313. package/fesm2022/eui-ecl.mjs +48 -51
  314. package/fesm2022/eui-ecl.mjs.map +1 -1
  315. package/package.json +82 -86
  316. package/shared/package.json +2 -1
  317. package/{components/ecl-accordion/index.d.ts → types/eui-ecl-components-ecl-accordion.d.ts} +9 -5
  318. package/types/eui-ecl-components-ecl-accordion.d.ts.map +1 -0
  319. package/{components/ecl-app/index.d.ts → types/eui-ecl-components-ecl-app.d.ts} +1 -1
  320. package/types/eui-ecl-components-ecl-app.d.ts.map +1 -0
  321. package/{components/ecl-banner/index.d.ts → types/eui-ecl-components-ecl-banner.d.ts} +5 -2
  322. package/types/eui-ecl-components-ecl-banner.d.ts.map +1 -0
  323. package/{components/ecl-blockquote/index.d.ts → types/eui-ecl-components-ecl-blockquote.d.ts} +1 -1
  324. package/types/eui-ecl-components-ecl-blockquote.d.ts.map +1 -0
  325. package/{components/ecl-breadcrumb/index.d.ts → types/eui-ecl-components-ecl-breadcrumb.d.ts} +1 -1
  326. package/types/eui-ecl-components-ecl-breadcrumb.d.ts.map +1 -0
  327. package/{components/ecl-button/index.d.ts → types/eui-ecl-components-ecl-button.d.ts} +1 -1
  328. package/types/eui-ecl-components-ecl-button.d.ts.map +1 -0
  329. package/{components/ecl-card/index.d.ts → types/eui-ecl-components-ecl-card.d.ts} +1 -1
  330. package/types/eui-ecl-components-ecl-card.d.ts.map +1 -0
  331. package/{components/ecl-carousel/index.d.ts → types/eui-ecl-components-ecl-carousel.d.ts} +1 -1
  332. package/types/eui-ecl-components-ecl-carousel.d.ts.map +1 -0
  333. package/{components/ecl-category-filter/index.d.ts → types/eui-ecl-components-ecl-category-filter.d.ts} +1 -1
  334. package/types/eui-ecl-components-ecl-category-filter.d.ts.map +1 -0
  335. package/{components/ecl-checkbox/index.d.ts → types/eui-ecl-components-ecl-checkbox.d.ts} +1 -1
  336. package/types/eui-ecl-components-ecl-checkbox.d.ts.map +1 -0
  337. package/{components/ecl-content-block/index.d.ts → types/eui-ecl-components-ecl-content-block.d.ts} +1 -1
  338. package/types/eui-ecl-components-ecl-content-block.d.ts.map +1 -0
  339. package/{components/ecl-content-item/index.d.ts → types/eui-ecl-components-ecl-content-item.d.ts} +1 -1
  340. package/types/eui-ecl-components-ecl-content-item.d.ts.map +1 -0
  341. package/{components/ecl-date-block/index.d.ts → types/eui-ecl-components-ecl-date-block.d.ts} +1 -1
  342. package/types/eui-ecl-components-ecl-date-block.d.ts.map +1 -0
  343. package/{components/ecl-date-picker/index.d.ts → types/eui-ecl-components-ecl-date-picker.d.ts} +1 -1
  344. package/types/eui-ecl-components-ecl-date-picker.d.ts.map +1 -0
  345. package/types/eui-ecl-components-ecl-divider.d.ts +31 -0
  346. package/types/eui-ecl-components-ecl-divider.d.ts.map +1 -0
  347. package/{components/ecl-expandable/index.d.ts → types/eui-ecl-components-ecl-expandable.d.ts} +1 -1
  348. package/types/eui-ecl-components-ecl-expandable.d.ts.map +1 -0
  349. package/{components/ecl-fact-figures/index.d.ts → types/eui-ecl-components-ecl-fact-figures.d.ts} +1 -1
  350. package/types/eui-ecl-components-ecl-fact-figures.d.ts.map +1 -0
  351. package/{components/ecl-featured/index.d.ts → types/eui-ecl-components-ecl-featured.d.ts} +14 -36
  352. package/types/eui-ecl-components-ecl-featured.d.ts.map +1 -0
  353. package/{components/ecl-feedback-message/index.d.ts → types/eui-ecl-components-ecl-feedback-message.d.ts} +1 -1
  354. package/types/eui-ecl-components-ecl-feedback-message.d.ts.map +1 -0
  355. package/{components/ecl-file-upload/index.d.ts → types/eui-ecl-components-ecl-file-upload.d.ts} +1 -1
  356. package/types/eui-ecl-components-ecl-file-upload.d.ts.map +1 -0
  357. package/{components/ecl-file/index.d.ts → types/eui-ecl-components-ecl-file.d.ts} +1 -1
  358. package/types/eui-ecl-components-ecl-file.d.ts.map +1 -0
  359. package/{components/ecl-form-group/index.d.ts → types/eui-ecl-components-ecl-form-group.d.ts} +1 -1
  360. package/types/eui-ecl-components-ecl-form-group.d.ts.map +1 -0
  361. package/{components/ecl-form-label/index.d.ts → types/eui-ecl-components-ecl-form-label.d.ts} +1 -1
  362. package/types/eui-ecl-components-ecl-form-label.d.ts.map +1 -0
  363. package/{components/ecl-gallery/index.d.ts → types/eui-ecl-components-ecl-gallery.d.ts} +1 -1
  364. package/types/eui-ecl-components-ecl-gallery.d.ts.map +1 -0
  365. package/{components/ecl-help-block/index.d.ts → types/eui-ecl-components-ecl-help-block.d.ts} +1 -1
  366. package/types/eui-ecl-components-ecl-help-block.d.ts.map +1 -0
  367. package/{components/ecl-icon/index.d.ts → types/eui-ecl-components-ecl-icon.d.ts} +1 -1
  368. package/types/eui-ecl-components-ecl-icon.d.ts.map +1 -0
  369. package/{components/ecl-inpage-navigation/index.d.ts → types/eui-ecl-components-ecl-inpage-navigation.d.ts} +1 -1
  370. package/types/eui-ecl-components-ecl-inpage-navigation.d.ts.map +1 -0
  371. package/{components/ecl-label/index.d.ts → types/eui-ecl-components-ecl-label.d.ts} +1 -1
  372. package/types/eui-ecl-components-ecl-label.d.ts.map +1 -0
  373. package/{components/ecl-link/index.d.ts → types/eui-ecl-components-ecl-link.d.ts} +1 -1
  374. package/types/eui-ecl-components-ecl-link.d.ts.map +1 -0
  375. package/{components/ecl-list-illustration/index.d.ts → types/eui-ecl-components-ecl-list-illustration.d.ts} +1 -1
  376. package/types/eui-ecl-components-ecl-list-illustration.d.ts.map +1 -0
  377. package/{components/ecl-list/index.d.ts → types/eui-ecl-components-ecl-list.d.ts} +1 -1
  378. package/types/eui-ecl-components-ecl-list.d.ts.map +1 -0
  379. package/{components/ecl-loading-indicator/index.d.ts → types/eui-ecl-components-ecl-loading-indicator.d.ts} +1 -1
  380. package/types/eui-ecl-components-ecl-loading-indicator.d.ts.map +1 -0
  381. package/{components/ecl-media-container/index.d.ts → types/eui-ecl-components-ecl-media-container.d.ts} +1 -1
  382. package/types/eui-ecl-components-ecl-media-container.d.ts.map +1 -0
  383. package/{components/ecl-mega-menu/index.d.ts → types/eui-ecl-components-ecl-mega-menu.d.ts} +45 -20
  384. package/types/eui-ecl-components-ecl-mega-menu.d.ts.map +1 -0
  385. package/{components/ecl-menu/index.d.ts → types/eui-ecl-components-ecl-menu.d.ts} +7 -4
  386. package/types/eui-ecl-components-ecl-menu.d.ts.map +1 -0
  387. package/{components/ecl-modal/index.d.ts → types/eui-ecl-components-ecl-modal.d.ts} +1 -1
  388. package/types/eui-ecl-components-ecl-modal.d.ts.map +1 -0
  389. package/{components/ecl-multiselect/index.d.ts → types/eui-ecl-components-ecl-multiselect.d.ts} +2 -1
  390. package/types/eui-ecl-components-ecl-multiselect.d.ts.map +1 -0
  391. package/{components/ecl-navigation-list/index.d.ts → types/eui-ecl-components-ecl-navigation-list.d.ts} +1 -1
  392. package/types/eui-ecl-components-ecl-navigation-list.d.ts.map +1 -0
  393. package/{components/ecl-news-ticker/index.d.ts → types/eui-ecl-components-ecl-news-ticker.d.ts} +1 -1
  394. package/types/eui-ecl-components-ecl-news-ticker.d.ts.map +1 -0
  395. package/{components/ecl-notification/index.d.ts → types/eui-ecl-components-ecl-notification.d.ts} +1 -1
  396. package/types/eui-ecl-components-ecl-notification.d.ts.map +1 -0
  397. package/{components/ecl-page-header/index.d.ts → types/eui-ecl-components-ecl-page-header.d.ts} +1 -1
  398. package/types/eui-ecl-components-ecl-page-header.d.ts.map +1 -0
  399. package/{components/ecl-pagination/index.d.ts → types/eui-ecl-components-ecl-pagination.d.ts} +1 -1
  400. package/types/eui-ecl-components-ecl-pagination.d.ts.map +1 -0
  401. package/{components/ecl-popover/index.d.ts → types/eui-ecl-components-ecl-popover.d.ts} +18 -13
  402. package/types/eui-ecl-components-ecl-popover.d.ts.map +1 -0
  403. package/{components/ecl-radio/index.d.ts → types/eui-ecl-components-ecl-radio.d.ts} +1 -1
  404. package/types/eui-ecl-components-ecl-radio.d.ts.map +1 -0
  405. package/{components/ecl-range/index.d.ts → types/eui-ecl-components-ecl-range.d.ts} +1 -1
  406. package/types/eui-ecl-components-ecl-range.d.ts.map +1 -0
  407. package/{components/ecl-rating-field/index.d.ts → types/eui-ecl-components-ecl-rating-field.d.ts} +1 -1
  408. package/types/eui-ecl-components-ecl-rating-field.d.ts.map +1 -0
  409. package/{components/ecl-search-form/index.d.ts → types/eui-ecl-components-ecl-search-form.d.ts} +1 -1
  410. package/types/eui-ecl-components-ecl-search-form.d.ts.map +1 -0
  411. package/{components/ecl-select/index.d.ts → types/eui-ecl-components-ecl-select.d.ts} +1 -1
  412. package/types/eui-ecl-components-ecl-select.d.ts.map +1 -0
  413. package/{components/ecl-site-footer/index.d.ts → types/eui-ecl-components-ecl-site-footer.d.ts} +15 -11
  414. package/types/eui-ecl-components-ecl-site-footer.d.ts.map +1 -0
  415. package/{components/ecl-site-header/index.d.ts → types/eui-ecl-components-ecl-site-header.d.ts} +7 -2
  416. package/types/eui-ecl-components-ecl-site-header.d.ts.map +1 -0
  417. package/{components/ecl-social-media-follow/index.d.ts → types/eui-ecl-components-ecl-social-media-follow.d.ts} +1 -1
  418. package/types/eui-ecl-components-ecl-social-media-follow.d.ts.map +1 -0
  419. package/{components/ecl-splash-page/index.d.ts → types/eui-ecl-components-ecl-splash-page.d.ts} +1 -1
  420. package/types/eui-ecl-components-ecl-splash-page.d.ts.map +1 -0
  421. package/{components/ecl-sticky-container/index.d.ts → types/eui-ecl-components-ecl-sticky-container.d.ts} +1 -1
  422. package/types/eui-ecl-components-ecl-sticky-container.d.ts.map +1 -0
  423. package/{components/ecl-table/index.d.ts → types/eui-ecl-components-ecl-table.d.ts} +1 -1
  424. package/types/eui-ecl-components-ecl-table.d.ts.map +1 -0
  425. package/{components/ecl-tabs/index.d.ts → types/eui-ecl-components-ecl-tabs.d.ts} +1 -1
  426. package/types/eui-ecl-components-ecl-tabs.d.ts.map +1 -0
  427. package/{components/ecl-tag/index.d.ts → types/eui-ecl-components-ecl-tag.d.ts} +1 -1
  428. package/types/eui-ecl-components-ecl-tag.d.ts.map +1 -0
  429. package/{components/ecl-text-area/index.d.ts → types/eui-ecl-components-ecl-text-area.d.ts} +1 -1
  430. package/types/eui-ecl-components-ecl-text-area.d.ts.map +1 -0
  431. package/{components/ecl-text-input/index.d.ts → types/eui-ecl-components-ecl-text-input.d.ts} +1 -1
  432. package/types/eui-ecl-components-ecl-text-input.d.ts.map +1 -0
  433. package/{components/ecl-timeline/index.d.ts → types/eui-ecl-components-ecl-timeline.d.ts} +1 -1
  434. package/types/eui-ecl-components-ecl-timeline.d.ts.map +1 -0
  435. package/{core/index.d.ts → types/eui-ecl-core.d.ts} +1 -1
  436. package/types/eui-ecl-core.d.ts.map +1 -0
  437. package/{shared/index.d.ts → types/eui-ecl-shared.d.ts} +1 -1
  438. package/types/eui-ecl-shared.d.ts.map +1 -0
  439. package/types/eui-ecl.d.ts +70 -0
  440. package/types/eui-ecl.d.ts.map +1 -0
  441. package/components/ecl-accordion/index.d.ts.map +0 -1
  442. package/components/ecl-app/index.d.ts.map +0 -1
  443. package/components/ecl-banner/index.d.ts.map +0 -1
  444. package/components/ecl-blockquote/index.d.ts.map +0 -1
  445. package/components/ecl-breadcrumb/index.d.ts.map +0 -1
  446. package/components/ecl-button/index.d.ts.map +0 -1
  447. package/components/ecl-card/index.d.ts.map +0 -1
  448. package/components/ecl-carousel/index.d.ts.map +0 -1
  449. package/components/ecl-category-filter/index.d.ts.map +0 -1
  450. package/components/ecl-checkbox/index.d.ts.map +0 -1
  451. package/components/ecl-content-block/index.d.ts.map +0 -1
  452. package/components/ecl-content-item/index.d.ts.map +0 -1
  453. package/components/ecl-date-block/index.d.ts.map +0 -1
  454. package/components/ecl-date-picker/index.d.ts.map +0 -1
  455. package/components/ecl-expandable/index.d.ts.map +0 -1
  456. package/components/ecl-fact-figures/index.d.ts.map +0 -1
  457. package/components/ecl-featured/index.d.ts.map +0 -1
  458. package/components/ecl-feedback-message/index.d.ts.map +0 -1
  459. package/components/ecl-file/index.d.ts.map +0 -1
  460. package/components/ecl-file-upload/index.d.ts.map +0 -1
  461. package/components/ecl-form-group/index.d.ts.map +0 -1
  462. package/components/ecl-form-label/index.d.ts.map +0 -1
  463. package/components/ecl-gallery/index.d.ts.map +0 -1
  464. package/components/ecl-help-block/index.d.ts.map +0 -1
  465. package/components/ecl-icon/index.d.ts.map +0 -1
  466. package/components/ecl-inpage-navigation/index.d.ts.map +0 -1
  467. package/components/ecl-label/index.d.ts.map +0 -1
  468. package/components/ecl-link/index.d.ts.map +0 -1
  469. package/components/ecl-list/index.d.ts.map +0 -1
  470. package/components/ecl-list-illustration/index.d.ts.map +0 -1
  471. package/components/ecl-loading-indicator/index.d.ts.map +0 -1
  472. package/components/ecl-media-container/index.d.ts.map +0 -1
  473. package/components/ecl-mega-menu/index.d.ts.map +0 -1
  474. package/components/ecl-menu/index.d.ts.map +0 -1
  475. package/components/ecl-modal/index.d.ts.map +0 -1
  476. package/components/ecl-multiselect/index.d.ts.map +0 -1
  477. package/components/ecl-navigation-list/index.d.ts.map +0 -1
  478. package/components/ecl-news-ticker/index.d.ts.map +0 -1
  479. package/components/ecl-notification/index.d.ts.map +0 -1
  480. package/components/ecl-page-header/index.d.ts.map +0 -1
  481. package/components/ecl-pagination/index.d.ts.map +0 -1
  482. package/components/ecl-popover/index.d.ts.map +0 -1
  483. package/components/ecl-radio/index.d.ts.map +0 -1
  484. package/components/ecl-range/index.d.ts.map +0 -1
  485. package/components/ecl-rating-field/index.d.ts.map +0 -1
  486. package/components/ecl-search-form/index.d.ts.map +0 -1
  487. package/components/ecl-select/index.d.ts.map +0 -1
  488. package/components/ecl-separator/index.d.ts +0 -31
  489. package/components/ecl-separator/index.d.ts.map +0 -1
  490. package/components/ecl-separator/package.json +0 -3
  491. package/components/ecl-site-footer/index.d.ts.map +0 -1
  492. package/components/ecl-site-header/index.d.ts.map +0 -1
  493. package/components/ecl-social-media-follow/index.d.ts.map +0 -1
  494. package/components/ecl-social-media-share/index.d.ts +0 -54
  495. package/components/ecl-social-media-share/index.d.ts.map +0 -1
  496. package/components/ecl-social-media-share/package.json +0 -3
  497. package/components/ecl-splash-page/index.d.ts.map +0 -1
  498. package/components/ecl-sticky-container/index.d.ts.map +0 -1
  499. package/components/ecl-table/index.d.ts.map +0 -1
  500. package/components/ecl-tabs/index.d.ts.map +0 -1
  501. package/components/ecl-tag/index.d.ts.map +0 -1
  502. package/components/ecl-text-area/index.d.ts.map +0 -1
  503. package/components/ecl-text-input/index.d.ts.map +0 -1
  504. package/components/ecl-timeline/index.d.ts.map +0 -1
  505. package/core/index.d.ts.map +0 -1
  506. package/docs/classes/EclSocialMediaShareItemClickEvent.html +0 -304
  507. package/docs/components/EclFeaturedItemFooterComponent.html +0 -560
  508. package/docs/components/EclSocialMediaShareComponent.html +0 -584
  509. package/docs/components/EclSocialMediaShareItemComponent.html +0 -829
  510. package/docs/directives/EclFeaturedItemFooterPictureDirective.html +0 -502
  511. package/docs/modules/EclSocialMediaShareModule.html +0 -321
  512. package/fesm2022/eui-ecl-components-ecl-separator.mjs +0 -57
  513. package/fesm2022/eui-ecl-components-ecl-separator.mjs.map +0 -1
  514. package/fesm2022/eui-ecl-components-ecl-social-media-share.mjs +0 -136
  515. package/fesm2022/eui-ecl-components-ecl-social-media-share.mjs.map +0 -1
  516. package/index.d.ts +0 -71
  517. package/index.d.ts.map +0 -1
  518. package/shared/index.d.ts.map +0 -1
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
- import { HostBinding, Directive, inject, ElementRef, Injectable, RendererFactory2, forwardRef, ContentChildren, Input, Component, EventEmitter, afterNextRender, booleanAttribute, Output, ContentChild, ViewChild, IterableDiffers, Renderer2, HostListener, NgModule } from '@angular/core';
2
+ import { HostBinding, Directive, inject, ElementRef, booleanAttribute, Input, Injectable, RendererFactory2, forwardRef, ContentChildren, ViewChild, Component, EventEmitter, afterNextRender, Output, ContentChild, IterableDiffers, Renderer2, ChangeDetectorRef, HostListener, NgModule } from '@angular/core';
3
3
  import * as i1$1 from '@eui/ecl/core';
4
- import { ECLBaseDirective, KeyCode, EclRtlService, EclUserDeviceService, ECLClickOutsideDirective } from '@eui/ecl/core';
4
+ import { ECLBaseDirective, KeyCode, EclRtlService, ECLClickOutsideDirective } from '@eui/ecl/core';
5
5
  import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';
6
6
  import { Subject, takeUntil } from 'rxjs';
7
7
  import { NgTemplateOutlet } from '@angular/common';
@@ -15,6 +15,7 @@ import { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';
15
15
  import { EclHeaderMenuComunicationService } from '@eui/ecl/shared';
16
16
  import * as i4 from '@ngx-translate/core';
17
17
  import { TranslateModule } from '@ngx-translate/core';
18
+ import { EuiAppShellService } from '@eui/core';
18
19
 
19
20
  /**
20
21
  * Directive that adds specific class to the mega-menu container.
@@ -24,10 +25,10 @@ class EclMegaMenuContainerDirective extends ECLBaseDirective {
24
25
  super(...arguments);
25
26
  this.hasClass = true;
26
27
  }
27
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclMegaMenuContainerDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
28
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0-next.5", type: EclMegaMenuContainerDirective, isStandalone: true, selector: "div[eclMegaMenuContainer]", host: { properties: { "class.ecl": "this.hasClass" } }, usesInheritance: true, ngImport: i0 }); }
28
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclMegaMenuContainerDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
29
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0-rc.0", type: EclMegaMenuContainerDirective, isStandalone: true, selector: "div[eclMegaMenuContainer]", host: { properties: { "class.ecl": "this.hasClass" } }, usesInheritance: true, ngImport: i0 }); }
29
30
  }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclMegaMenuContainerDirective, decorators: [{
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclMegaMenuContainerDirective, decorators: [{
31
32
  type: Directive,
32
33
  args: [{
33
34
  // eslint-disable-next-line @angular-eslint/component-selector
@@ -46,10 +47,10 @@ class EclMegaMenuFeaturedListDirective extends ECLBaseDirective {
46
47
  super(...arguments);
47
48
  this.cmpClass = true;
48
49
  }
49
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclMegaMenuFeaturedListDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
50
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0-next.5", type: EclMegaMenuFeaturedListDirective, isStandalone: true, selector: "[eclMegaMenuFeaturedList]", host: { properties: { "class.ecl-mega-menu__featured-list": "this.cmpClass" } }, usesInheritance: true, ngImport: i0 }); }
50
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclMegaMenuFeaturedListDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
51
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0-rc.0", type: EclMegaMenuFeaturedListDirective, isStandalone: true, selector: "[eclMegaMenuFeaturedList]", host: { properties: { "class.ecl-mega-menu__featured-list": "this.cmpClass" } }, usesInheritance: true, ngImport: i0 }); }
51
52
  }
52
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclMegaMenuFeaturedListDirective, decorators: [{
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclMegaMenuFeaturedListDirective, decorators: [{
53
54
  type: Directive,
54
55
  args: [{
55
56
  selector: '[eclMegaMenuFeaturedList]',
@@ -66,15 +67,17 @@ class EclMegaMenuFeaturedListItemDirective extends ECLBaseDirective {
66
67
  constructor() {
67
68
  super(...arguments);
68
69
  this.cmpClass = true;
70
+ this.isImageOnly = false;
71
+ this.isCombo = false;
69
72
  this.el = inject(ElementRef);
70
73
  }
71
74
  getEclMegaMenuFeaturedItemHeight() {
72
75
  return this.el.nativeElement.scrollHeight;
73
76
  }
74
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclMegaMenuFeaturedListItemDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
75
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0-next.5", type: EclMegaMenuFeaturedListItemDirective, isStandalone: true, selector: "[eclMegaMenuFeaturedListItem]", host: { properties: { "class.ecl-mega-menu__featured-list__item": "this.cmpClass" } }, usesInheritance: true, ngImport: i0 }); }
77
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclMegaMenuFeaturedListItemDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
78
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "21.0.0-rc.0", type: EclMegaMenuFeaturedListItemDirective, isStandalone: true, selector: "[eclMegaMenuFeaturedListItem]", inputs: { isImageOnly: ["isImageOnly", "isImageOnly", booleanAttribute], isCombo: ["isCombo", "isCombo", booleanAttribute] }, host: { properties: { "class.ecl-mega-menu__featured-list__item": "this.cmpClass", "class.ecl-mega-menu__featured-list__item--image-only": "this.isImageOnly", "class.ecl-mega-menu__featured-list__item--combo": "this.isCombo" } }, usesInheritance: true, ngImport: i0 }); }
76
79
  }
77
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclMegaMenuFeaturedListItemDirective, decorators: [{
80
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclMegaMenuFeaturedListItemDirective, decorators: [{
78
81
  type: Directive,
79
82
  args: [{
80
83
  selector: '[eclMegaMenuFeaturedListItem]',
@@ -82,6 +85,35 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.5",
82
85
  }], propDecorators: { cmpClass: [{
83
86
  type: HostBinding,
84
87
  args: ['class.ecl-mega-menu__featured-list__item']
88
+ }], isImageOnly: [{
89
+ type: HostBinding,
90
+ args: ['class.ecl-mega-menu__featured-list__item--image-only']
91
+ }, {
92
+ type: Input,
93
+ args: [{ transform: booleanAttribute }]
94
+ }], isCombo: [{
95
+ type: HostBinding,
96
+ args: ['class.ecl-mega-menu__featured-list__item--combo']
97
+ }, {
98
+ type: Input,
99
+ args: [{ transform: booleanAttribute }]
100
+ }] } });
101
+ class EclMegaMenuFeaturedListItemDescriptionDirective extends ECLBaseDirective {
102
+ constructor() {
103
+ super(...arguments);
104
+ this.cmpClass = true;
105
+ }
106
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclMegaMenuFeaturedListItemDescriptionDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
107
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0-rc.0", type: EclMegaMenuFeaturedListItemDescriptionDirective, isStandalone: true, selector: "[eclMegaMenuFeaturedListItemDescription]", host: { properties: { "class.ecl-mega-menu__featured-list__item-description": "this.cmpClass" } }, usesInheritance: true, ngImport: i0 }); }
108
+ }
109
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclMegaMenuFeaturedListItemDescriptionDirective, decorators: [{
110
+ type: Directive,
111
+ args: [{
112
+ selector: '[eclMegaMenuFeaturedListItemDescription]',
113
+ }]
114
+ }], propDecorators: { cmpClass: [{
115
+ type: HostBinding,
116
+ args: ['class.ecl-mega-menu__featured-list__item-description']
85
117
  }] } });
86
118
 
87
119
  /**
@@ -91,10 +123,10 @@ class EclMegaMenuFeaturedPictureDirective extends ECLBaseDirective {
91
123
  get cssClasses() {
92
124
  return [super.getCssClasses('ecl-picture ecl-mega-menu__featured-picture')].join(' ').trim();
93
125
  }
94
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclMegaMenuFeaturedPictureDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
95
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0-next.5", type: EclMegaMenuFeaturedPictureDirective, isStandalone: true, selector: "[eclMegaMenuFeaturedPicture]", host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0 }); }
126
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclMegaMenuFeaturedPictureDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
127
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0-rc.0", type: EclMegaMenuFeaturedPictureDirective, isStandalone: true, selector: "[eclMegaMenuFeaturedPicture]", host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0 }); }
96
128
  }
97
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclMegaMenuFeaturedPictureDirective, decorators: [{
129
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclMegaMenuFeaturedPictureDirective, decorators: [{
98
130
  type: Directive,
99
131
  args: [{
100
132
  selector: '[eclMegaMenuFeaturedPicture]',
@@ -111,10 +143,10 @@ class EclMegaMenuFeaturedImageDirective extends ECLBaseDirective {
111
143
  super(...arguments);
112
144
  this.cmpClass = true;
113
145
  }
114
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclMegaMenuFeaturedImageDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
115
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0-next.5", type: EclMegaMenuFeaturedImageDirective, isStandalone: true, selector: "[eclMegaMenuFeaturedImage]", host: { properties: { "class.ecl-mega-menu__featured-image": "this.cmpClass" } }, usesInheritance: true, ngImport: i0 }); }
146
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclMegaMenuFeaturedImageDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
147
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0-rc.0", type: EclMegaMenuFeaturedImageDirective, isStandalone: true, selector: "[eclMegaMenuFeaturedImage]", host: { properties: { "class.ecl-mega-menu__featured-image": "this.cmpClass" } }, usesInheritance: true, ngImport: i0 }); }
116
148
  }
117
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclMegaMenuFeaturedImageDirective, decorators: [{
149
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclMegaMenuFeaturedImageDirective, decorators: [{
118
150
  type: Directive,
119
151
  args: [{
120
152
  selector: '[eclMegaMenuFeaturedImage]',
@@ -150,10 +182,10 @@ class EclMegaMenuDataService {
150
182
  eclSubItemEscapeEvent(value) {
151
183
  this.eclSubItemEscape.next(value);
152
184
  }
153
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclMegaMenuDataService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
154
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclMegaMenuDataService, providedIn: 'root' }); }
185
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclMegaMenuDataService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
186
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclMegaMenuDataService, providedIn: 'root' }); }
155
187
  }
156
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclMegaMenuDataService, decorators: [{
188
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclMegaMenuDataService, decorators: [{
157
189
  type: Injectable,
158
190
  args: [{ providedIn: 'root' }]
159
191
  }], ctorParameters: () => [] });
@@ -172,10 +204,10 @@ class EclMegaMenuService {
172
204
  });
173
205
  }
174
206
  }
175
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclMegaMenuService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
176
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclMegaMenuService, providedIn: 'root' }); }
207
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclMegaMenuService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
208
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclMegaMenuService, providedIn: 'root' }); }
177
209
  }
178
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclMegaMenuService, decorators: [{
210
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclMegaMenuService, decorators: [{
179
211
  type: Injectable,
180
212
  args: [{ providedIn: 'root' }]
181
213
  }], ctorParameters: () => [] });
@@ -188,7 +220,9 @@ class EclMegaMenuFeaturedComponent extends ECLBaseDirective {
188
220
  super(...arguments);
189
221
  this.cmpClass = true;
190
222
  this.eclMegaMenuFeaturedStyleHeight = null;
191
- this.el = inject(ElementRef);
223
+ }
224
+ ngAfterContentInit() {
225
+ this.links?.forEach(link => link.class = 'ecl-mega-menu__featured-link');
192
226
  }
193
227
  /**
194
228
  * Calculates and returns the height of the component. The total height of all the list items.
@@ -196,16 +230,19 @@ class EclMegaMenuFeaturedComponent extends ECLBaseDirective {
196
230
  */
197
231
  getEclMegaMenuFeaturedHeight() {
198
232
  let result = 0;
199
- this.listItems.forEach(it => result += it.getEclMegaMenuFeaturedItemHeight());
233
+ this.featuredItems?.forEach(el => result += el.getEclMegaMenuFeaturedItemHeight());
200
234
  return result;
201
235
  }
202
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclMegaMenuFeaturedComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
203
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-next.5", type: EclMegaMenuFeaturedComponent, isStandalone: true, selector: "div[eclMegaMenuFeatured]", inputs: { title: "title", titleId: "titleId" }, host: { properties: { "class.ecl-mega-menu__featured": "this.cmpClass", "style.height.px": "this.eclMegaMenuFeaturedStyleHeight" } }, queries: [{ propertyName: "listItems", predicate: i0.forwardRef(() => EclMegaMenuFeaturedListItemDirective), descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ecl-mega-menu__featured-scrollable\">\n <ng-content select=\"[eclMegaMenuFeaturedPicture]\"></ng-content>\n @if(title) {\n <span class=\"ecl-mega-menu__featured-title\" id=\"{{titleId}}\">{{ title }}</span>\n }\n <ng-content select=\"[eclMegaMenuFeaturedList]\"></ng-content>\n</div>" }); }
236
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclMegaMenuFeaturedComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
237
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-rc.0", type: EclMegaMenuFeaturedComponent, isStandalone: true, selector: "div[eclMegaMenuFeatured]", inputs: { title: "title", titleId: "titleId" }, host: { properties: { "class.ecl-mega-menu__featured": "this.cmpClass", "style.height.px": "this.eclMegaMenuFeaturedStyleHeight" } }, queries: [{ propertyName: "links", predicate: i0.forwardRef(() => EclLinkDirective), descendants: true }, { propertyName: "featuredItems", predicate: i0.forwardRef(() => EclMegaMenuFeaturedListItemDirective), descendants: true }], viewQueries: [{ propertyName: "megaMenuFeaturedScrollable", first: true, predicate: ["megaMenuFeaturedScrollable"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ecl-mega-menu__featured-scrollable\" #megaMenuFeaturedScrollable>\n <ng-content select=\"[eclMegaMenuFeaturedPicture]\"></ng-content>\n @if(title) {\n <span class=\"ecl-mega-menu__featured-title\" id=\"{{titleId}}\">{{ title }}</span>\n }\n <ng-content select=\"[eclMegaMenuFeaturedList]\"></ng-content>\n</div>" }); }
204
238
  }
205
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclMegaMenuFeaturedComponent, decorators: [{
239
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclMegaMenuFeaturedComponent, decorators: [{
206
240
  type: Component,
207
- args: [{ selector: 'div[eclMegaMenuFeatured]', template: "<div class=\"ecl-mega-menu__featured-scrollable\">\n <ng-content select=\"[eclMegaMenuFeaturedPicture]\"></ng-content>\n @if(title) {\n <span class=\"ecl-mega-menu__featured-title\" id=\"{{titleId}}\">{{ title }}</span>\n }\n <ng-content select=\"[eclMegaMenuFeaturedList]\"></ng-content>\n</div>" }]
208
- }], propDecorators: { cmpClass: [{
241
+ args: [{ selector: 'div[eclMegaMenuFeatured]', template: "<div class=\"ecl-mega-menu__featured-scrollable\" #megaMenuFeaturedScrollable>\n <ng-content select=\"[eclMegaMenuFeaturedPicture]\"></ng-content>\n @if(title) {\n <span class=\"ecl-mega-menu__featured-title\" id=\"{{titleId}}\">{{ title }}</span>\n }\n <ng-content select=\"[eclMegaMenuFeaturedList]\"></ng-content>\n</div>" }]
242
+ }], propDecorators: { megaMenuFeaturedScrollable: [{
243
+ type: ViewChild,
244
+ args: ['megaMenuFeaturedScrollable']
245
+ }], cmpClass: [{
209
246
  type: HostBinding,
210
247
  args: ['class.ecl-mega-menu__featured']
211
248
  }], eclMegaMenuFeaturedStyleHeight: [{
@@ -215,7 +252,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.5",
215
252
  type: Input
216
253
  }], titleId: [{
217
254
  type: Input
218
- }], listItems: [{
255
+ }], links: [{
256
+ type: ContentChildren,
257
+ args: [forwardRef(() => EclLinkDirective), { descendants: true }]
258
+ }], featuredItems: [{
219
259
  type: ContentChildren,
220
260
  args: [forwardRef(() => EclMegaMenuFeaturedListItemDirective), { descendants: true }]
221
261
  }] } });
@@ -279,6 +319,9 @@ class EclMegaMenuSubitemComponent extends ECLBaseDirective {
279
319
  get hasChildren() {
280
320
  return !!this.submenu;
281
321
  }
322
+ get hasFeatured() {
323
+ return !!this.eclMegaMenuFeatured;
324
+ }
282
325
  /**
283
326
  * Sets focus on either link or button element.
284
327
  */
@@ -361,16 +404,13 @@ class EclMegaMenuSubitemComponent extends ECLBaseDirective {
361
404
  this.isMobileBreakpoint = result.matches;
362
405
  });
363
406
  }
364
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclMegaMenuSubitemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
365
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-next.5", 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: { "attr.aria-expanded": "this.isExpanded", "class": "this.cssClasses", "style.display": "this.display" } }, queries: [{ propertyName: "submenu", first: true, predicate: i0.forwardRef(() => 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]" }] }); }
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]" }] }); }
366
409
  }
367
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclMegaMenuSubitemComponent, decorators: [{
410
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclMegaMenuSubitemComponent, decorators: [{
368
411
  type: Component,
369
412
  args: [{ selector: 'li[eclMegaMenuSubitem]', imports: [NgTemplateOutlet, RouterLink, RouterLinkWithHref, ...EUI_ECL_BUTTON, ...EUI_ECL_ICON, ...EUI_ECL_LINK], 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>" }]
370
- }], ctorParameters: () => [], propDecorators: { isExpanded: [{
371
- type: HostBinding,
372
- args: ['attr.aria-expanded']
373
- }], cssClasses: [{
413
+ }], ctorParameters: () => [], propDecorators: { cssClasses: [{
374
414
  type: HostBinding,
375
415
  args: ['class']
376
416
  }], buttonId: [{
@@ -408,7 +448,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.5",
408
448
  args: ['subMenuItemBtn']
409
449
  }], submenu: [{
410
450
  type: ContentChild,
411
- args: [forwardRef(() => EclMegaMenuSublistDirective)]
451
+ args: [EclMegaMenuSublistDirective]
412
452
  }], eclMegaMenuFeatured: [{
413
453
  type: ContentChild,
414
454
  args: [forwardRef(() => EclMegaMenuFeaturedComponent)]
@@ -429,10 +469,10 @@ class EclMegaMenuListDirective extends ECLBaseDirective {
429
469
  super(...arguments);
430
470
  this.cmpClass = true;
431
471
  }
432
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclMegaMenuListDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
433
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0-next.5", type: EclMegaMenuListDirective, isStandalone: true, selector: "ul[eclMegaMenuList]", host: { properties: { "class.ecl-mega-menu__list": "this.cmpClass" } }, usesInheritance: true, ngImport: i0 }); }
472
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclMegaMenuListDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
473
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0-rc.0", type: EclMegaMenuListDirective, isStandalone: true, selector: "ul[eclMegaMenuList]", host: { properties: { "class.ecl-mega-menu__list": "this.cmpClass" } }, usesInheritance: true, ngImport: i0 }); }
434
474
  }
435
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclMegaMenuListDirective, decorators: [{
475
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclMegaMenuListDirective, decorators: [{
436
476
  type: Directive,
437
477
  args: [{
438
478
  selector: 'ul[eclMegaMenuList]',
@@ -449,13 +489,13 @@ class EclMegaMenuSpacerDirective extends ECLBaseDirective {
449
489
  super(...arguments);
450
490
  this.cmpClass = true;
451
491
  }
452
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclMegaMenuSpacerDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
453
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0-next.5", type: EclMegaMenuSpacerDirective, isStandalone: true, selector: "ul[eclMegaMenuSpacer]", host: { properties: { "class.ecl-mega-menu__spacer": "this.cmpClass" } }, usesInheritance: true, ngImport: i0 }); }
492
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclMegaMenuSpacerDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
493
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0-rc.0", type: EclMegaMenuSpacerDirective, isStandalone: true, selector: "li[eclMegaMenuSpacer]", host: { properties: { "class.ecl-mega-menu__spacer": "this.cmpClass" } }, usesInheritance: true, ngImport: i0 }); }
454
494
  }
455
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclMegaMenuSpacerDirective, decorators: [{
495
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclMegaMenuSpacerDirective, decorators: [{
456
496
  type: Directive,
457
497
  args: [{
458
- selector: 'ul[eclMegaMenuSpacer]',
498
+ selector: 'li[eclMegaMenuSpacer]',
459
499
  }]
460
500
  }], propDecorators: { cmpClass: [{
461
501
  type: HostBinding,
@@ -471,6 +511,7 @@ class EclMegaMenuSublistDirective extends ECLBaseDirective {
471
511
  this.cmpClass = true;
472
512
  this.isScrollable = false;
473
513
  this.styleTop = null;
514
+ this.megaMenuSubItemClicked = new EventEmitter();
474
515
  this.destroy$ = new Subject();
475
516
  this.isMobileBreakpoint = false;
476
517
  this.cdkBreakpointObserver = inject(BreakpointObserver);
@@ -500,10 +541,10 @@ class EclMegaMenuSublistDirective extends ECLBaseDirective {
500
541
  onParentMegaMenuItemClick(isExpanded) {
501
542
  if (isExpanded) {
502
543
  // If mega-menu item is expanded -> find the first mega-menu list child (i.e. sub item) and expand it's children.
503
- if (!this.isMobileBreakpoint) {
504
- const itemWithChildren = this.submenuItems.find(item => item.hasChildren);
505
- itemWithChildren?.onSubMenuItemExpand();
506
- }
544
+ // if (!this.isMobileBreakpoint) {
545
+ // const itemWithChildren = this.submenuItems.find(item => item.hasChildren);
546
+ // itemWithChildren?.onSubMenuItemExpand();
547
+ // }
507
548
  }
508
549
  else {
509
550
  this.submenuItems.forEach(item => {
@@ -528,6 +569,7 @@ class EclMegaMenuSublistDirective extends ECLBaseDirective {
528
569
  el.onHide();
529
570
  }
530
571
  });
572
+ this.megaMenuSubItemClicked.emit();
531
573
  }
532
574
  onMegaMenuSubItemKeydown(item, evt) {
533
575
  const itemIndex = this.submenuItems.toArray().findIndex(elem => elem === item);
@@ -574,10 +616,10 @@ class EclMegaMenuSublistDirective extends ECLBaseDirective {
574
616
  setTimeout(() => this.resetStyles());
575
617
  });
576
618
  }
577
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclMegaMenuSublistDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
578
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0-next.5", type: EclMegaMenuSublistDirective, isStandalone: true, selector: "ul[eclMegaMenuSublist]", host: { properties: { "class.ecl-mega-menu__sublist": "this.cmpClass", "class.ecl-mega-menu__sublist--scrollable": "this.isScrollable", "style.top.px": "this.styleTop" } }, queries: [{ propertyName: "submenuItems", predicate: i0.forwardRef(() => EclMegaMenuSubitemComponent) }], usesInheritance: true, ngImport: i0 }); }
619
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclMegaMenuSublistDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
620
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0-rc.0", type: EclMegaMenuSublistDirective, isStandalone: true, selector: "ul[eclMegaMenuSublist]", outputs: { megaMenuSubItemClicked: "megaMenuSubItemClicked" }, host: { properties: { "class.ecl-mega-menu__sublist": "this.cmpClass", "class.ecl-mega-menu__sublist--scrollable": "this.isScrollable", "style.top.px": "this.styleTop" } }, queries: [{ propertyName: "spacer", first: true, predicate: i0.forwardRef(() => EclMegaMenuSpacerDirective), descendants: true }, { propertyName: "submenuItems", predicate: i0.forwardRef(() => EclMegaMenuSubitemComponent) }], usesInheritance: true, ngImport: i0 }); }
579
621
  }
580
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclMegaMenuSublistDirective, decorators: [{
622
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclMegaMenuSublistDirective, decorators: [{
581
623
  type: Directive,
582
624
  args: [{
583
625
  selector: 'ul[eclMegaMenuSublist]',
@@ -594,6 +636,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.5",
594
636
  }], submenuItems: [{
595
637
  type: ContentChildren,
596
638
  args: [forwardRef(() => EclMegaMenuSubitemComponent)]
639
+ }], spacer: [{
640
+ type: ContentChild,
641
+ args: [forwardRef(() => EclMegaMenuSpacerDirective)]
642
+ }], megaMenuSubItemClicked: [{
643
+ type: Output
597
644
  }] } });
598
645
 
599
646
  /**
@@ -646,10 +693,10 @@ class EclMegaMenuInfoComponent extends ECLBaseDirective {
646
693
  const bottomY = this.el.nativeElement.getBoundingClientRect().bottom;
647
694
  this.eclMegaMenuDataService.updateEclMegaMenuInfoSize(bottomY);
648
695
  }
649
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclMegaMenuInfoComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
650
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0-next.5", type: EclMegaMenuInfoComponent, isStandalone: true, selector: "div[eclMegaMenuInfo]", inputs: { title: "title" }, host: { properties: { "class": "this.cssClasses", "style.height.px": "this.eclMegaMenuInfoStyleHeight", "style.opacity": "this.eclMegaMenuInfoStyleOpacity" } }, queries: [{ propertyName: "linkItem", first: true, predicate: i0.forwardRef(() => EclLinkDirective), descendants: true }], usesInheritance: true, ngImport: i0, template: "<span class=\"ecl-mega-menu__info-title\">{{ title }}</span>\n<div class=\"ecl-mega-menu__info-scrollable\">\n <div class=\"ecl-mega-menu__info-content\"><ng-content></ng-content>\n </div>\n</div>" }); }
696
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclMegaMenuInfoComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
697
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0-rc.0", type: EclMegaMenuInfoComponent, isStandalone: true, selector: "div[eclMegaMenuInfo]", inputs: { title: "title" }, host: { properties: { "class": "this.cssClasses", "style.height.px": "this.eclMegaMenuInfoStyleHeight", "style.opacity": "this.eclMegaMenuInfoStyleOpacity" } }, queries: [{ propertyName: "linkItem", first: true, predicate: i0.forwardRef(() => EclLinkDirective), descendants: true }], usesInheritance: true, ngImport: i0, template: "<span class=\"ecl-mega-menu__info-title\">{{ title }}</span>\n<div class=\"ecl-mega-menu__info-scrollable\">\n <div class=\"ecl-mega-menu__info-content\"><ng-content></ng-content>\n </div>\n</div>" }); }
651
698
  }
652
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclMegaMenuInfoComponent, decorators: [{
699
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclMegaMenuInfoComponent, decorators: [{
653
700
  type: Component,
654
701
  args: [{ selector: 'div[eclMegaMenuInfo]', template: "<span class=\"ecl-mega-menu__info-title\">{{ title }}</span>\n<div class=\"ecl-mega-menu__info-scrollable\">\n <div class=\"ecl-mega-menu__info-content\"><ng-content></ng-content>\n </div>\n</div>" }]
655
702
  }], propDecorators: { cssClasses: [{
@@ -682,6 +729,7 @@ class EclMegaMenuItemComponent extends ECLBaseDirective {
682
729
  this.eclMegaMenuContainer ? 'ecl-mega-menu__item--has-container' : '',
683
730
  this.isCurrent ? 'ecl-mega-menu__item--current' : '',
684
731
  this.isExpanded ? 'ecl-mega-menu__item--expanded' : '',
732
+ this.isPromotional ? 'ecl-mega-menu__item--promotional' : '',
685
733
  ]
686
734
  .join(' ')
687
735
  .trim();
@@ -689,8 +737,10 @@ class EclMegaMenuItemComponent extends ECLBaseDirective {
689
737
  constructor() {
690
738
  super();
691
739
  this.el = inject(ElementRef);
740
+ this.renderer = inject(Renderer2);
692
741
  this.isExpanded = false;
693
742
  this.hasPopup = this.hasChildren ? true : null;
743
+ this.isPromotional = false;
694
744
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
695
745
  this.routerLink = null;
696
746
  this.queryParams = null;
@@ -712,7 +762,7 @@ class EclMegaMenuItemComponent extends ECLBaseDirective {
712
762
  this.eclHeaderMenuComunicationService = inject(EclHeaderMenuComunicationService);
713
763
  this.eclMegaMenuService = inject(EclMegaMenuService);
714
764
  this.cdkBreakpointObserver = inject(BreakpointObserver);
715
- this.renderer = inject(Renderer2);
765
+ this.cd = inject(ChangeDetectorRef);
716
766
  const eclMegaMenuDataService = this.eclMegaMenuDataService;
717
767
  const eclMegaMenuService = this.eclMegaMenuService;
718
768
  afterNextRender(() => {
@@ -725,6 +775,11 @@ class EclMegaMenuItemComponent extends ECLBaseDirective {
725
775
  this.observeBreakpointChanges();
726
776
  });
727
777
  }
778
+ ngAfterContentInit() {
779
+ this.eclMegaMenuSublist?.megaMenuSubItemClicked.pipe(takeUntil(this.destroy$)).subscribe(() => {
780
+ setTimeout(() => this.checkDropdownHeight(), 100);
781
+ });
782
+ }
728
783
  ngOnDestroy() {
729
784
  this.destroy$.next(true);
730
785
  this.destroy$.unsubscribe();
@@ -735,6 +790,9 @@ class EclMegaMenuItemComponent extends ECLBaseDirective {
735
790
  get hasSublist() {
736
791
  return !!this.eclMegaMenuSublist;
737
792
  }
793
+ get hasFeatured() {
794
+ return !!this.eclMegaMenuFeatured;
795
+ }
738
796
  get hasContainer() {
739
797
  return !!this.eclMegaMenuContainer;
740
798
  }
@@ -775,7 +833,8 @@ class EclMegaMenuItemComponent extends ECLBaseDirective {
775
833
  this.hidePanels();
776
834
  setTimeout(() => {
777
835
  this.checkDropdownHeight();
778
- });
836
+ this.calculateWrapperStyle();
837
+ }, 100);
779
838
  }
780
839
  else {
781
840
  this.eclHeaderMenuComunicationService.updateExpanded(this.isExpanded);
@@ -817,6 +876,10 @@ class EclMegaMenuItemComponent extends ECLBaseDirective {
817
876
  const bottomY = this.el.nativeElement.getBoundingClientRect().bottom;
818
877
  this.wrapperStyleTop = bottomY;
819
878
  }
879
+ else {
880
+ const height = this.el.nativeElement.getBoundingClientRect().height;
881
+ this.wrapperStyleTop = height;
882
+ }
820
883
  }
821
884
  resetWrapperStyle() {
822
885
  if (this.isMobileBreakpoint) {
@@ -836,13 +899,16 @@ class EclMegaMenuItemComponent extends ECLBaseDirective {
836
899
  }
837
900
  }
838
901
  checkDropdownHeight() {
902
+ this.hidePanels();
839
903
  let infoPanelHeight = 0;
904
+ this.eclMegaMenuInfo.eclMegaMenuInfoStyleHeight = null;
840
905
  if (!this.isMobileBreakpoint) {
841
906
  const heights = [];
842
907
  let height = 0;
843
908
  let itemsHeight = 0;
844
909
  let subItemsHeight = 0;
845
910
  let featuredHeight = 0;
911
+ let featuredHeight2 = 0;
846
912
  if (this.hasContainer) {
847
913
  const viewportHeight = window.innerHeight;
848
914
  const mainTop = this.mainPanel.nativeElement.getBoundingClientRect().top;
@@ -866,6 +932,9 @@ class EclMegaMenuItemComponent extends ECLBaseDirective {
866
932
  this.eclMegaMenuSublist.submenuItems.forEach((item) => {
867
933
  itemsHeight += item.getMegaMenuSubItemHeight();
868
934
  });
935
+ if (this.eclMegaMenuSublist.spacer) {
936
+ itemsHeight += 25;
937
+ }
869
938
  heights.push(itemsHeight);
870
939
  }
871
940
  const expandedSubItem = this.eclMegaMenuSublist.submenuItems.find(item => item.hasChildren && item.isExpanded);
@@ -879,11 +948,14 @@ class EclMegaMenuItemComponent extends ECLBaseDirective {
879
948
  heights.push(featuredHeight);
880
949
  }
881
950
  }
951
+ if (this.eclMegaMenuFeatured) {
952
+ featuredHeight2 = this.eclMegaMenuFeatured.getEclMegaMenuFeaturedHeight();
953
+ }
882
954
  const maxHeight = Math.max(...heights);
883
955
  const containerBounding = this.el.nativeElement.getBoundingClientRect();
884
956
  const containerBottom = containerBounding.bottom;
885
957
  // By requirements, limit the height to the 70% of the available space.
886
- const availableHeight = (window.innerHeight - containerBottom) * 0.7;
958
+ const availableHeight = (window.innerHeight - containerBottom) * 0.9;
887
959
  if (maxHeight > availableHeight) {
888
960
  height = availableHeight;
889
961
  }
@@ -898,54 +970,63 @@ class EclMegaMenuItemComponent extends ECLBaseDirective {
898
970
  this.megaMenuMegaStyleHeight = height - infoPanelHeight;
899
971
  }
900
972
  if (this.eclMegaMenuInfo && this.isLarge) {
901
- this.eclMegaMenuInfo.eclMegaMenuInfoStyleHeight = height;
973
+ // this.eclMegaMenuInfo.eclMegaMenuInfoStyleHeight = height;
902
974
  }
903
975
  if (expandedSubItem !== undefined) {
904
976
  if (this.isLarge) {
905
977
  expandedSubItem.level2StyleHeight = height;
906
978
  }
907
- else {
979
+ else if (!this.isMobileBreakpoint) {
908
980
  expandedSubItem.level2StyleHeight = height - infoPanelHeight;
909
981
  }
910
982
  if (expandedSubItem.eclMegaMenuFeatured) {
911
983
  if (this.isLarge) {
912
984
  expandedSubItem.eclMegaMenuFeatured.eclMegaMenuFeaturedStyleHeight = height;
913
985
  }
914
- else {
986
+ else if (!this.isMobileBreakpoint) {
915
987
  expandedSubItem.eclMegaMenuFeatured.eclMegaMenuFeaturedStyleHeight = height - infoPanelHeight;
916
988
  }
917
989
  }
918
990
  }
991
+ if (this.eclMegaMenuFeatured) {
992
+ if (this.isLarge) {
993
+ this.eclMegaMenuFeatured.eclMegaMenuFeaturedStyleHeight = height;
994
+ }
995
+ else if (!this.isMobileBreakpoint) {
996
+ this.eclMegaMenuFeatured.eclMegaMenuFeaturedStyleHeight = height - infoPanelHeight;
997
+ }
998
+ }
919
999
  this.megaMenuMegaStyleOpacity = 1;
1000
+ this.cd.markForCheck();
920
1001
  }
921
1002
  }
922
1003
  }
923
1004
  }
924
1005
  observeBreakpointChanges() {
925
1006
  this.cdkBreakpointObserver
926
- .observe([Breakpoints.Handset, Breakpoints.Tablet, Breakpoints.Small, '(min-width: 1140px)'])
1007
+ .observe([Breakpoints.Handset, Breakpoints.Tablet, Breakpoints.Small, '(min-width: 1368px)'])
927
1008
  .pipe(takeUntil(this.destroy$))
928
1009
  .subscribe((result) => {
929
1010
  this.isMobileBreakpoint = result.breakpoints[Breakpoints.Handset, Breakpoints.Tablet, Breakpoints.Small];
930
- this.isLarge = result.breakpoints['(min-width: 1140px)'];
1011
+ this.isLarge = result.breakpoints['(min-width: 1368px)'];
931
1012
  this.resetWrapperStyle();
932
1013
  });
933
1014
  }
934
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclMegaMenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
935
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-next.5", type: EclMegaMenuItemComponent, isStandalone: true, selector: "li[eclMegaMenuItem]", inputs: { 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-expanded": "this.isExpanded", "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: "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\" [style.height.px]=\"megaMenuMegaStyleHeight\" [style.opacity]=\"megaMenuMegaStyleOpacity\">\n <ng-content select=\"[eclMegaMenuSublist]\"></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]" }] }); }
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]" }] }); }
936
1017
  }
937
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclMegaMenuItemComponent, decorators: [{
1018
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclMegaMenuItemComponent, decorators: [{
938
1019
  type: Component,
939
- args: [{ selector: 'li[eclMegaMenuItem]', imports: [RouterLink, RouterLinkWithHref, ...EUI_ECL_BUTTON, ...EUI_ECL_ICON, ...EUI_ECL_LINK], 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\" [style.height.px]=\"megaMenuMegaStyleHeight\" [style.opacity]=\"megaMenuMegaStyleOpacity\">\n <ng-content select=\"[eclMegaMenuSublist]\"></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}" }]
1020
+ args: [{ selector: 'li[eclMegaMenuItem]', imports: [RouterLink, RouterLinkWithHref, ...EUI_ECL_BUTTON, ...EUI_ECL_ICON, ...EUI_ECL_LINK], 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}" }]
940
1021
  }], ctorParameters: () => [], propDecorators: { cssClasses: [{
941
1022
  type: HostBinding,
942
1023
  args: ['class']
943
- }], isExpanded: [{
944
- type: HostBinding,
945
- args: ['attr.aria-expanded']
946
1024
  }], hasPopup: [{
947
1025
  type: HostBinding,
948
1026
  args: ['attr.aria-haspopup']
1027
+ }], isPromotional: [{
1028
+ type: Input,
1029
+ args: [{ transform: booleanAttribute }]
949
1030
  }], label: [{
950
1031
  type: Input
951
1032
  }], routerLink: [{
@@ -982,6 +1063,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.5",
982
1063
  }], eclMegaMenuSublist: [{
983
1064
  type: ContentChild,
984
1065
  args: [forwardRef(() => EclMegaMenuSublistDirective)]
1066
+ }], eclMegaMenuFeatured: [{
1067
+ type: ContentChild,
1068
+ args: [forwardRef(() => EclMegaMenuFeaturedComponent), { descendants: false }]
985
1069
  }], eclMegaMenuContainer: [{
986
1070
  type: ContentChild,
987
1071
  args: [forwardRef(() => EclMegaMenuContainerDirective)]
@@ -1005,10 +1089,11 @@ class EclMegaMenuComponent extends ECLBaseDirective {
1005
1089
  this.isRtl ? 'ecl-mega-menu--rtl' : '',
1006
1090
  this.isTablet ? 'ecl-mega-menu--forced-mobile' : '',
1007
1091
  this.isStartPanel ? 'ecl-mega-menu--start-panel' : '',
1092
+ this.hasSecondaryFeatured ? 'ecl-mega-menu--has-secondary-featured' : '',
1008
1093
  ].join(' ');
1009
1094
  }
1010
1095
  get expandedAttr() {
1011
- return this.isExpanded ? '' : null;
1096
+ return this.isExpanded ? 'true' : null;
1012
1097
  }
1013
1098
  constructor() {
1014
1099
  super();
@@ -1045,22 +1130,33 @@ class EclMegaMenuComponent extends ECLBaseDirective {
1045
1130
  * If a menu item is expanded and has two panels/levels displayed.
1046
1131
  */
1047
1132
  this.isTwoPanels = false;
1133
+ /** Adds the relative class to the component, when a submenu is opened and this submenu has a featured component child */
1134
+ this.hasSecondaryFeatured = false;
1135
+ /**
1136
+ * Represents the current viewport breakpoint states.
1137
+ */
1138
+ this.breakpointsValue = {
1139
+ isMobile: false,
1140
+ isTablet: false,
1141
+ isLtDesktop: false,
1142
+ isDesktop: false,
1143
+ isXL: false,
1144
+ isXXL: false,
1145
+ };
1048
1146
  this.destroy$ = new Subject();
1049
1147
  this.isRtl = false;
1050
1148
  this.isTablet = false;
1051
1149
  this.differs = inject(IterableDiffers);
1052
- this.cdkBreakpointObserver = inject(BreakpointObserver);
1053
1150
  this.eclRtlService = inject(EclRtlService);
1054
- this.eclUserDeviceService = inject(EclUserDeviceService);
1151
+ this.euiAppShellService = inject(EuiAppShellService);
1055
1152
  this.eclHeaderMenuComunicationService = inject(EclHeaderMenuComunicationService);
1056
1153
  this.eclMegaMenuDataService = inject(EclMegaMenuDataService);
1057
1154
  this.el = inject(ElementRef);
1058
1155
  this.renderer = inject(Renderer2);
1059
1156
  this.differ = this.differs.find([]).create();
1060
1157
  afterNextRender(() => {
1061
- this.observeBreakpointChanges();
1158
+ this.subscribeToAppShellBreakpoints();
1062
1159
  this.handleRtlChangeState();
1063
- this.checkIsTabletDevice();
1064
1160
  this.subscribeToEvents();
1065
1161
  });
1066
1162
  }
@@ -1148,6 +1244,7 @@ class EclMegaMenuComponent extends ECLBaseDirective {
1148
1244
  this.isOnePanel = true;
1149
1245
  const currentItem = this.menuItems.find(item => item.isExpanded);
1150
1246
  const currentSubItem = currentItem.eclMegaMenuSublist.submenuItems.find(item => item.isExpanded);
1247
+ this.hasSecondaryFeatured = false;
1151
1248
  if (this.isMobileBreakpoint) {
1152
1249
  currentItem.eclMegaMenuSublist.submenuItems.filter(item => !item.isExpanded).forEach(el => {
1153
1250
  el.onShow();
@@ -1251,6 +1348,12 @@ class EclMegaMenuComponent extends ECLBaseDirective {
1251
1348
  }
1252
1349
  }
1253
1350
  onSubMenuItemClicked(item) {
1351
+ if (item.isExpanded && item.hasFeatured) {
1352
+ this.hasSecondaryFeatured = true;
1353
+ }
1354
+ else {
1355
+ this.hasSecondaryFeatured = false;
1356
+ }
1254
1357
  if (!item.hasChildren) {
1255
1358
  this.closeMenuAndAnyOpenSubMenu();
1256
1359
  }
@@ -1281,16 +1384,27 @@ class EclMegaMenuComponent extends ECLBaseDirective {
1281
1384
  this.menuItems.get(index + 1).onFocus();
1282
1385
  }
1283
1386
  }
1284
- checkIsTabletDevice() {
1285
- const userAgent = navigator.userAgent.toLowerCase();
1286
- this.isTablet = this.eclUserDeviceService.isTabletDevice(userAgent);
1287
- }
1288
- observeBreakpointChanges() {
1289
- this.cdkBreakpointObserver
1290
- .observe(['(max-width: 996px)'])
1387
+ subscribeToAppShellBreakpoints() {
1388
+ this.euiAppShellService.breakpoints$
1291
1389
  .pipe(takeUntil(this.destroy$))
1292
- .subscribe((result) => {
1293
- this.isMobileBreakpoint = result.matches;
1390
+ .subscribe((bkps) => {
1391
+ this.breakpointsValue = bkps ?? this.breakpointsValue;
1392
+ if (typeof bkps?.isMobile !== 'undefined' || typeof bkps?.isTablet !== 'undefined') {
1393
+ this.isMobileBreakpoint = !!bkps.isMobile;
1394
+ this.isTablet = !!bkps.isTablet;
1395
+ return;
1396
+ }
1397
+ if (typeof bkps?.width === 'number') {
1398
+ const w = bkps.width;
1399
+ this.isMobileBreakpoint = w <= 415;
1400
+ this.isTablet = w > 415 && w <= 1140;
1401
+ return;
1402
+ }
1403
+ if (bkps && typeof bkps === 'object') {
1404
+ this.isMobileBreakpoint = !!(bkps.Handset || bkps.Small || bkps.mobile);
1405
+ this.isTablet = !!(bkps.Tablet || bkps.tablet);
1406
+ return;
1407
+ }
1294
1408
  });
1295
1409
  }
1296
1410
  handleRtlChangeState() {
@@ -1307,10 +1421,10 @@ class EclMegaMenuComponent extends ECLBaseDirective {
1307
1421
  enableScroll() {
1308
1422
  this.renderer.removeClass(document.body, 'ecl-mega-menu-prevent-scroll');
1309
1423
  }
1310
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclMegaMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1311
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-next.5", 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" }] }); }
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" }] }); }
1312
1426
  }
1313
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclMegaMenuComponent, decorators: [{
1427
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclMegaMenuComponent, decorators: [{
1314
1428
  type: Component,
1315
1429
  args: [{ selector: 'nav[eclMegaMenu]', imports: [TranslateModule, ...EUI_ECL_BUTTON, ...EUI_ECL_ICON], hostDirectives: [
1316
1430
  {
@@ -1351,6 +1465,7 @@ const COMPONENTS = [
1351
1465
  EclMegaMenuFeaturedImageDirective,
1352
1466
  EclMegaMenuFeaturedListDirective,
1353
1467
  EclMegaMenuFeaturedListItemDirective,
1468
+ EclMegaMenuFeaturedListItemDescriptionDirective,
1354
1469
  EclMegaMenuListDirective,
1355
1470
  EclMegaMenuSublistDirective,
1356
1471
  EclMegaMenuContainerDirective,
@@ -1362,8 +1477,8 @@ const COMPONENTS = [
1362
1477
  * @deprecated Use {@link EUI_ECL_MEGA_MENU} instead.
1363
1478
  */
1364
1479
  class EclMegaMenuModule {
1365
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclMegaMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1366
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclMegaMenuModule, imports: [EclMegaMenuComponent,
1480
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclMegaMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1481
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclMegaMenuModule, imports: [EclMegaMenuComponent,
1367
1482
  EclMegaMenuItemComponent,
1368
1483
  EclMegaMenuSubitemComponent,
1369
1484
  EclMegaMenuInfoComponent,
@@ -1372,6 +1487,7 @@ class EclMegaMenuModule {
1372
1487
  EclMegaMenuFeaturedImageDirective,
1373
1488
  EclMegaMenuFeaturedListDirective,
1374
1489
  EclMegaMenuFeaturedListItemDirective,
1490
+ EclMegaMenuFeaturedListItemDescriptionDirective,
1375
1491
  EclMegaMenuListDirective,
1376
1492
  EclMegaMenuSublistDirective,
1377
1493
  EclMegaMenuContainerDirective,
@@ -1384,15 +1500,16 @@ class EclMegaMenuModule {
1384
1500
  EclMegaMenuFeaturedImageDirective,
1385
1501
  EclMegaMenuFeaturedListDirective,
1386
1502
  EclMegaMenuFeaturedListItemDirective,
1503
+ EclMegaMenuFeaturedListItemDescriptionDirective,
1387
1504
  EclMegaMenuListDirective,
1388
1505
  EclMegaMenuSublistDirective,
1389
1506
  EclMegaMenuContainerDirective,
1390
1507
  EclMegaMenuSpacerDirective] }); }
1391
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclMegaMenuModule, imports: [EclMegaMenuComponent,
1508
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclMegaMenuModule, imports: [EclMegaMenuComponent,
1392
1509
  EclMegaMenuItemComponent,
1393
1510
  EclMegaMenuSubitemComponent] }); }
1394
1511
  }
1395
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclMegaMenuModule, decorators: [{
1512
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclMegaMenuModule, decorators: [{
1396
1513
  type: NgModule,
1397
1514
  args: [{
1398
1515
  imports: [...COMPONENTS],
@@ -1410,6 +1527,7 @@ const EUI_ECL_MEGA_MENU = [
1410
1527
  EclMegaMenuFeaturedImageDirective,
1411
1528
  EclMegaMenuFeaturedListDirective,
1412
1529
  EclMegaMenuFeaturedListItemDirective,
1530
+ EclMegaMenuFeaturedListItemDescriptionDirective,
1413
1531
  EclMegaMenuListDirective,
1414
1532
  EclMegaMenuSublistDirective,
1415
1533
  EclMegaMenuContainerDirective,
@@ -1420,5 +1538,5 @@ const EUI_ECL_MEGA_MENU = [
1420
1538
  * Generated bundle index. Do not edit.
1421
1539
  */
1422
1540
 
1423
- export { EUI_ECL_MEGA_MENU, EclMegaMenuComponent, EclMegaMenuContainerDirective, EclMegaMenuDataService, EclMegaMenuFeaturedComponent, EclMegaMenuFeaturedImageDirective, EclMegaMenuFeaturedListDirective, EclMegaMenuFeaturedListItemDirective, EclMegaMenuFeaturedPictureDirective, EclMegaMenuInfoComponent, EclMegaMenuItemComponent, EclMegaMenuListDirective, EclMegaMenuModule, EclMegaMenuService, EclMegaMenuSpacerDirective, EclMegaMenuSubitemComponent, EclMegaMenuSublistDirective };
1541
+ export { EUI_ECL_MEGA_MENU, EclMegaMenuComponent, EclMegaMenuContainerDirective, EclMegaMenuDataService, EclMegaMenuFeaturedComponent, EclMegaMenuFeaturedImageDirective, EclMegaMenuFeaturedListDirective, EclMegaMenuFeaturedListItemDescriptionDirective, EclMegaMenuFeaturedListItemDirective, EclMegaMenuFeaturedPictureDirective, EclMegaMenuInfoComponent, EclMegaMenuItemComponent, EclMegaMenuListDirective, EclMegaMenuModule, EclMegaMenuService, EclMegaMenuSpacerDirective, EclMegaMenuSubitemComponent, EclMegaMenuSublistDirective };
1424
1542
  //# sourceMappingURL=eui-ecl-components-ecl-mega-menu.mjs.map