@eui/ecl 19.2.4-snapshot-1747840871711 → 19.2.4-snapshot-1747932948213

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 (199) hide show
  1. package/components/ecl-accordion/ecl-accordion-item.component.d.ts.map +1 -1
  2. package/components/ecl-banner/ecl-banner.component.d.ts.map +1 -1
  3. package/components/ecl-breadcrumb/ecl-breadcrumb-segment.component.d.ts.map +1 -1
  4. package/components/ecl-breadcrumb/ecl-breadcrumb.component.d.ts.map +1 -1
  5. package/components/ecl-button/ecl-button.component.d.ts.map +1 -1
  6. package/components/ecl-card/ecl-card-picture.directive.d.ts.map +1 -1
  7. package/components/ecl-carousel/ecl-carousel-item.component.d.ts.map +1 -1
  8. package/components/ecl-carousel/ecl-carousel.component.d.ts.map +1 -1
  9. package/components/ecl-checkbox/ecl-checkbox-help.component.d.ts.map +1 -1
  10. package/components/ecl-checkbox/ecl-checkbox-label.component.d.ts.map +1 -1
  11. package/components/ecl-checkbox/ecl-checkbox.directive.d.ts.map +1 -1
  12. package/components/ecl-content-item/ecl-content-item-image.directive.d.ts.map +1 -1
  13. package/components/ecl-content-item/ecl-content-item.component.d.ts.map +1 -1
  14. package/components/ecl-expandable/ecl-expandable.component.d.ts.map +1 -1
  15. package/components/ecl-fact-figures/ecl-fact-figures.component.d.ts.map +1 -1
  16. package/components/ecl-file/ecl-file-item/ecl-file-item.component.d.ts.map +1 -1
  17. package/components/ecl-file/ecl-file-items/ecl-file-items.component.d.ts.map +1 -1
  18. package/components/ecl-file-upload/ecl-file-upload.directive.d.ts.map +1 -1
  19. package/components/ecl-form-label/ecl-form-label.component.d.ts.map +1 -1
  20. package/components/ecl-gallery/ecl-gallery-item.component.d.ts.map +1 -1
  21. package/components/ecl-gallery/ecl-gallery-media.directive.d.ts.map +1 -1
  22. package/components/ecl-gallery/ecl-gallery.component.d.ts.map +1 -1
  23. package/components/ecl-help-block/ecl-help-block.directive.d.ts.map +1 -1
  24. package/components/ecl-icon/ecl-icon.component.d.ts.map +1 -1
  25. package/components/ecl-inpage-navigation/ecl-inpage-navigation.component.d.ts.map +1 -1
  26. package/components/ecl-link/ecl-link.directive.d.ts.map +1 -1
  27. package/components/ecl-list/ecl-list.directive.d.ts.map +1 -1
  28. package/components/ecl-list-illustration/ecl-list-illustration-picture.directive.d.ts.map +1 -1
  29. package/components/ecl-list-illustration/ecl-list-illustration.component.d.ts.map +1 -1
  30. package/components/ecl-loading-indicator/ecl-loading-indicator.component.d.ts.map +1 -1
  31. package/components/ecl-media-container/ecl-media-container.component.d.ts.map +1 -1
  32. package/components/ecl-mega-menu/ecl-mega-menu-subitem/ecl-mega-menu-subitem.component.d.ts.map +1 -1
  33. package/components/ecl-menu/ecl-menu/ecl-menu.component.d.ts.map +1 -1
  34. package/components/ecl-menu/ecl-menu-mega/ecl-menu-mega-item.component.d.ts.map +1 -1
  35. package/components/ecl-modal/ecl-modal-body.component.d.ts.map +1 -1
  36. package/components/ecl-multiselect/ecl-multiselect-dropdown/ecl-multiselect-dropdown.component.d.ts.map +1 -1
  37. package/components/ecl-multiselect/ecl-multiselect-input/ecl-multiselect-input.component.d.ts.map +1 -1
  38. package/components/ecl-multiselect/ecl-multiselect-option/ecl-multiselect-option.component.d.ts.map +1 -1
  39. package/components/ecl-multiselect/ecl-multiselect.component.d.ts.map +1 -1
  40. package/components/ecl-navigation-list/ecl-navigation-list.component.d.ts.map +1 -1
  41. package/components/ecl-news-ticker/ecl-news-ticker.component.d.ts.map +1 -1
  42. package/components/ecl-notification/ecl-notification.component.d.ts.map +1 -1
  43. package/components/ecl-page-header/ecl-page-header-title.directive.d.ts.map +1 -1
  44. package/components/ecl-pagination/ecl-pagination-item.component.d.ts.map +1 -1
  45. package/components/ecl-pagination/ecl-pagination.component.d.ts.map +1 -1
  46. package/components/ecl-radio/ecl-radio-help.component.d.ts.map +1 -1
  47. package/components/ecl-radio/ecl-radio-label.component.d.ts.map +1 -1
  48. package/components/ecl-radio/ecl-radio.directive.d.ts.map +1 -1
  49. package/components/ecl-range/ecl-range.directive.d.ts.map +1 -1
  50. package/components/ecl-rating-field/ecl-rating-field.component.d.ts.map +1 -1
  51. package/components/ecl-select/ecl-select-container.component.d.ts.map +1 -1
  52. package/components/ecl-select/ecl-select.directive.d.ts.map +1 -1
  53. package/components/ecl-site-footer/ecl-footer-elements/ec/ecl-site-footer-fixed-content.d.ts.map +1 -1
  54. package/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-list.directive.d.ts.map +1 -1
  55. package/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-section.directive.d.ts.map +1 -1
  56. package/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-title.directive.d.ts.map +1 -1
  57. package/components/ecl-site-footer/ecl-footer-elements/eu/ecl-site-footer-fixed-content.d.ts.map +1 -1
  58. package/components/ecl-site-footer/ecl-site-footer.component.d.ts.map +1 -1
  59. package/components/ecl-site-header/login/ecl-site-header-login.component.d.ts.map +1 -1
  60. package/components/ecl-social-media-follow/ecl-social-media-follow.component.d.ts.map +1 -1
  61. package/components/ecl-social-media-share/ecl-social-media-share.component.d.ts.map +1 -1
  62. package/components/ecl-sticky-container/ecl-sticky-container.component.d.ts.map +1 -1
  63. package/components/ecl-table/ecl-table.directive.d.ts.map +1 -1
  64. package/components/ecl-tabs/ecl-tab-more.component.d.ts.map +1 -1
  65. package/components/ecl-tabs/ecl-tab.component.d.ts.map +1 -1
  66. package/components/ecl-tag/ecl-tag.component.d.ts.map +1 -1
  67. package/components/ecl-text-area/ecl-text-area.directive.d.ts.map +1 -1
  68. package/components/ecl-text-input/ecl-text-input.directive.d.ts.map +1 -1
  69. package/components/ecl-timeline/ecl-timeline-item.component.d.ts.map +1 -1
  70. package/core/ecl-base.directive.d.ts.map +1 -1
  71. package/docs/dependencies.html +27 -27
  72. package/docs/js/search/search_index.js +2 -2
  73. package/fesm2022/eui-ecl-components-ecl-accordion.mjs +10 -10
  74. package/fesm2022/eui-ecl-components-ecl-accordion.mjs.map +1 -1
  75. package/fesm2022/eui-ecl-components-ecl-app.mjs +7 -7
  76. package/fesm2022/eui-ecl-components-ecl-app.mjs.map +1 -1
  77. package/fesm2022/eui-ecl-components-ecl-banner.mjs +34 -34
  78. package/fesm2022/eui-ecl-components-ecl-banner.mjs.map +1 -1
  79. package/fesm2022/eui-ecl-components-ecl-blockquote.mjs +13 -13
  80. package/fesm2022/eui-ecl-components-ecl-blockquote.mjs.map +1 -1
  81. package/fesm2022/eui-ecl-components-ecl-breadcrumb.mjs +13 -13
  82. package/fesm2022/eui-ecl-components-ecl-breadcrumb.mjs.map +1 -1
  83. package/fesm2022/eui-ecl-components-ecl-button.mjs +16 -16
  84. package/fesm2022/eui-ecl-components-ecl-button.mjs.map +1 -1
  85. package/fesm2022/eui-ecl-components-ecl-card.mjs +16 -16
  86. package/fesm2022/eui-ecl-components-ecl-card.mjs.map +1 -1
  87. package/fesm2022/eui-ecl-components-ecl-carousel.mjs +10 -10
  88. package/fesm2022/eui-ecl-components-ecl-carousel.mjs.map +1 -1
  89. package/fesm2022/eui-ecl-components-ecl-category-filter.mjs +13 -13
  90. package/fesm2022/eui-ecl-components-ecl-category-filter.mjs.map +1 -1
  91. package/fesm2022/eui-ecl-components-ecl-checkbox.mjs +16 -16
  92. package/fesm2022/eui-ecl-components-ecl-checkbox.mjs.map +1 -1
  93. package/fesm2022/eui-ecl-components-ecl-content-block.mjs +58 -58
  94. package/fesm2022/eui-ecl-components-ecl-content-block.mjs.map +1 -1
  95. package/fesm2022/eui-ecl-components-ecl-content-item.mjs +13 -13
  96. package/fesm2022/eui-ecl-components-ecl-content-item.mjs.map +1 -1
  97. package/fesm2022/eui-ecl-components-ecl-date-block.mjs +7 -7
  98. package/fesm2022/eui-ecl-components-ecl-date-block.mjs.map +1 -1
  99. package/fesm2022/eui-ecl-components-ecl-date-picker.mjs +7 -7
  100. package/fesm2022/eui-ecl-components-ecl-date-picker.mjs.map +1 -1
  101. package/fesm2022/eui-ecl-components-ecl-expandable.mjs +7 -7
  102. package/fesm2022/eui-ecl-components-ecl-expandable.mjs.map +1 -1
  103. package/fesm2022/eui-ecl-components-ecl-fact-figures.mjs +22 -22
  104. package/fesm2022/eui-ecl-components-ecl-fact-figures.mjs.map +1 -1
  105. package/fesm2022/eui-ecl-components-ecl-featured.mjs +25 -25
  106. package/fesm2022/eui-ecl-components-ecl-featured.mjs.map +1 -1
  107. package/fesm2022/eui-ecl-components-ecl-feedback-message.mjs +7 -7
  108. package/fesm2022/eui-ecl-components-ecl-feedback-message.mjs.map +1 -1
  109. package/fesm2022/eui-ecl-components-ecl-file-upload.mjs +7 -7
  110. package/fesm2022/eui-ecl-components-ecl-file-upload.mjs.map +1 -1
  111. package/fesm2022/eui-ecl-components-ecl-file.mjs +34 -34
  112. package/fesm2022/eui-ecl-components-ecl-file.mjs.map +1 -1
  113. package/fesm2022/eui-ecl-components-ecl-form-group.mjs +7 -7
  114. package/fesm2022/eui-ecl-components-ecl-form-group.mjs.map +1 -1
  115. package/fesm2022/eui-ecl-components-ecl-form-label.mjs +10 -10
  116. package/fesm2022/eui-ecl-components-ecl-form-label.mjs.map +1 -1
  117. package/fesm2022/eui-ecl-components-ecl-gallery.mjs +22 -22
  118. package/fesm2022/eui-ecl-components-ecl-gallery.mjs.map +1 -1
  119. package/fesm2022/eui-ecl-components-ecl-help-block.mjs +7 -7
  120. package/fesm2022/eui-ecl-components-ecl-help-block.mjs.map +1 -1
  121. package/fesm2022/eui-ecl-components-ecl-icon.mjs +7 -7
  122. package/fesm2022/eui-ecl-components-ecl-icon.mjs.map +1 -1
  123. package/fesm2022/eui-ecl-components-ecl-inpage-navigation.mjs +16 -16
  124. package/fesm2022/eui-ecl-components-ecl-inpage-navigation.mjs.map +1 -1
  125. package/fesm2022/eui-ecl-components-ecl-label.mjs +7 -7
  126. package/fesm2022/eui-ecl-components-ecl-label.mjs.map +1 -1
  127. package/fesm2022/eui-ecl-components-ecl-link.mjs +16 -16
  128. package/fesm2022/eui-ecl-components-ecl-link.mjs.map +1 -1
  129. package/fesm2022/eui-ecl-components-ecl-list-illustration.mjs +19 -19
  130. package/fesm2022/eui-ecl-components-ecl-list-illustration.mjs.map +1 -1
  131. package/fesm2022/eui-ecl-components-ecl-list.mjs +31 -31
  132. package/fesm2022/eui-ecl-components-ecl-list.mjs.map +1 -1
  133. package/fesm2022/eui-ecl-components-ecl-loading-indicator.mjs +13 -13
  134. package/fesm2022/eui-ecl-components-ecl-loading-indicator.mjs.map +1 -1
  135. package/fesm2022/eui-ecl-components-ecl-media-container.mjs +19 -19
  136. package/fesm2022/eui-ecl-components-ecl-media-container.mjs.map +1 -1
  137. package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs +49 -49
  138. package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs.map +1 -1
  139. package/fesm2022/eui-ecl-components-ecl-menu.mjs +16 -16
  140. package/fesm2022/eui-ecl-components-ecl-menu.mjs.map +1 -1
  141. package/fesm2022/eui-ecl-components-ecl-modal.mjs +25 -25
  142. package/fesm2022/eui-ecl-components-ecl-modal.mjs.map +1 -1
  143. package/fesm2022/eui-ecl-components-ecl-multiselect.mjs +25 -25
  144. package/fesm2022/eui-ecl-components-ecl-multiselect.mjs.map +1 -1
  145. package/fesm2022/eui-ecl-components-ecl-navigation-list.mjs +16 -16
  146. package/fesm2022/eui-ecl-components-ecl-navigation-list.mjs.map +1 -1
  147. package/fesm2022/eui-ecl-components-ecl-news-ticker.mjs +13 -13
  148. package/fesm2022/eui-ecl-components-ecl-news-ticker.mjs.map +1 -1
  149. package/fesm2022/eui-ecl-components-ecl-notification.mjs +10 -10
  150. package/fesm2022/eui-ecl-components-ecl-notification.mjs.map +1 -1
  151. package/fesm2022/eui-ecl-components-ecl-page-header.mjs +37 -37
  152. package/fesm2022/eui-ecl-components-ecl-page-header.mjs.map +1 -1
  153. package/fesm2022/eui-ecl-components-ecl-pagination.mjs +13 -13
  154. package/fesm2022/eui-ecl-components-ecl-pagination.mjs.map +1 -1
  155. package/fesm2022/eui-ecl-components-ecl-popover.mjs +13 -13
  156. package/fesm2022/eui-ecl-components-ecl-popover.mjs.map +1 -1
  157. package/fesm2022/eui-ecl-components-ecl-radio.mjs +16 -16
  158. package/fesm2022/eui-ecl-components-ecl-radio.mjs.map +1 -1
  159. package/fesm2022/eui-ecl-components-ecl-range.mjs +13 -13
  160. package/fesm2022/eui-ecl-components-ecl-range.mjs.map +1 -1
  161. package/fesm2022/eui-ecl-components-ecl-rating-field.mjs +7 -7
  162. package/fesm2022/eui-ecl-components-ecl-rating-field.mjs.map +1 -1
  163. package/fesm2022/eui-ecl-components-ecl-search-form.mjs +7 -7
  164. package/fesm2022/eui-ecl-components-ecl-search-form.mjs.map +1 -1
  165. package/fesm2022/eui-ecl-components-ecl-select.mjs +10 -10
  166. package/fesm2022/eui-ecl-components-ecl-select.mjs.map +1 -1
  167. package/fesm2022/eui-ecl-components-ecl-separator.mjs +7 -7
  168. package/fesm2022/eui-ecl-components-ecl-separator.mjs.map +1 -1
  169. package/fesm2022/eui-ecl-components-ecl-site-footer.mjs +61 -61
  170. package/fesm2022/eui-ecl-components-ecl-site-footer.mjs.map +1 -1
  171. package/fesm2022/eui-ecl-components-ecl-site-header.mjs +64 -64
  172. package/fesm2022/eui-ecl-components-ecl-site-header.mjs.map +1 -1
  173. package/fesm2022/eui-ecl-components-ecl-social-media-follow.mjs +13 -13
  174. package/fesm2022/eui-ecl-components-ecl-social-media-follow.mjs.map +1 -1
  175. package/fesm2022/eui-ecl-components-ecl-social-media-share.mjs +13 -13
  176. package/fesm2022/eui-ecl-components-ecl-social-media-share.mjs.map +1 -1
  177. package/fesm2022/eui-ecl-components-ecl-splash-page.mjs +31 -31
  178. package/fesm2022/eui-ecl-components-ecl-splash-page.mjs.map +1 -1
  179. package/fesm2022/eui-ecl-components-ecl-sticky-container.mjs +7 -7
  180. package/fesm2022/eui-ecl-components-ecl-sticky-container.mjs.map +1 -1
  181. package/fesm2022/eui-ecl-components-ecl-table.mjs +34 -34
  182. package/fesm2022/eui-ecl-components-ecl-table.mjs.map +1 -1
  183. package/fesm2022/eui-ecl-components-ecl-tabs.mjs +16 -16
  184. package/fesm2022/eui-ecl-components-ecl-tabs.mjs.map +1 -1
  185. package/fesm2022/eui-ecl-components-ecl-tag.mjs +16 -16
  186. package/fesm2022/eui-ecl-components-ecl-tag.mjs.map +1 -1
  187. package/fesm2022/eui-ecl-components-ecl-text-area.mjs +7 -7
  188. package/fesm2022/eui-ecl-components-ecl-text-area.mjs.map +1 -1
  189. package/fesm2022/eui-ecl-components-ecl-text-input.mjs +7 -7
  190. package/fesm2022/eui-ecl-components-ecl-text-input.mjs.map +1 -1
  191. package/fesm2022/eui-ecl-components-ecl-timeline.mjs +19 -19
  192. package/fesm2022/eui-ecl-components-ecl-timeline.mjs.map +1 -1
  193. package/fesm2022/eui-ecl-core.mjs +25 -25
  194. package/fesm2022/eui-ecl-core.mjs.map +1 -1
  195. package/fesm2022/eui-ecl-shared.mjs +3 -3
  196. package/fesm2022/eui-ecl-shared.mjs.map +1 -1
  197. package/fesm2022/eui-ecl.mjs +4 -4
  198. package/fesm2022/eui-ecl.mjs.map +1 -1
  199. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"eui-ecl-components-ecl-mega-menu.mjs","sources":["../../components/ecl-mega-menu/directives/ecl-mega-menu-container.directive.ts","../../components/ecl-mega-menu/directives/ecl-mega-menu-featured-list.directive.ts","../../components/ecl-mega-menu/directives/ecl-mega-menu-featured-picture.directive.ts","../../components/ecl-mega-menu/ecl-mega-menu-featured/ecl-mega-menu-featured.component.ts","../../components/ecl-mega-menu/ecl-mega-menu-featured/ecl-mega-menu-featured.component.html","../../components/ecl-mega-menu/services/ecl-mega-menu-data.service.ts","../../components/ecl-mega-menu/services/ecl-mega-menu.service.ts","../../components/ecl-mega-menu/ecl-mega-menu-subitem/ecl-mega-menu-subitem.component.ts","../../components/ecl-mega-menu/ecl-mega-menu-subitem/ecl-mega-menu-subitem.component.html","../../components/ecl-mega-menu/directives/ecl-mega-menu-list.directive.ts","../../components/ecl-mega-menu/ecl-mega-menu-info/ecl-mega-menu-info.component.ts","../../components/ecl-mega-menu/ecl-mega-menu-info/ecl-mega-menu-info.component.html","../../components/ecl-mega-menu/ecl-mega-menu-item/ecl-mega-menu-item.component.ts","../../components/ecl-mega-menu/ecl-mega-menu-item/ecl-mega-menu-item.component.html","../../components/ecl-mega-menu/ecl-mega-menu.component.ts","../../components/ecl-mega-menu/ecl-mega-menu.component.html","../../components/ecl-mega-menu/ecl-mega-menu.module.ts","../../components/ecl-mega-menu/eui-ecl-components-ecl-mega-menu.ts"],"sourcesContent":["import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'div[eclMegaMenuContainer]',\n standalone: false,\n})\n\nexport class EclMegaMenuContainerDirective extends ECLBaseDirective {\n\n @HostBinding('class.ecl') hasClass = true;\n}\n","import { Directive, HostBinding, ElementRef } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Directive({\n selector: '[eclMegaMenuFeaturedList]',\n standalone: false,\n})\nexport class EclMegaMenuFeaturedListDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-mega-menu__featured-list') cmpClass = true;\n}\n\n@Directive({\n selector: '[eclMegaMenuFeaturedListItem]',\n standalone: false,\n})\nexport class EclMegaMenuFeaturedListItemDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-mega-menu__featured-list__item') cmpClass = true;\n\n constructor(private el: ElementRef) {\n super();\n }\n\n getEclMegaMenuFeaturedItemHeight(): number {\n return this.el.nativeElement.scrollHeight;\n }\n}\n","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Directive({\n selector: '[eclMegaMenuFeaturedPicture]',\n standalone: false,\n})\nexport class EclMegaMenuFeaturedPictureDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-picture ecl-mega-menu__featured-picture')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclMegaMenuFeaturedImage]',\n standalone: false,\n})\nexport class EclMegaMenuFeaturedImageDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-mega-menu__featured-image') cmpClass = true;\n}\n","import { Component, ElementRef, HostBinding, Input, ContentChildren, forwardRef, QueryList } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclMegaMenuFeaturedListItemDirective } from '../directives/ecl-mega-menu-featured-list.directive';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'div[eclMegaMenuFeatured]',\n templateUrl: './ecl-mega-menu-featured.component.html',\n standalone: false,\n})\n\nexport class EclMegaMenuFeaturedComponent extends ECLBaseDirective {\n\n @HostBinding('class.ecl-mega-menu__featured') cmpClass = true;\n @HostBinding('style.height.px') eclMegaMenuFeaturedStyleHeight: number | null = null;\n @Input() title: string;\n @Input() titleId: string;\n\n @ContentChildren(forwardRef(() => EclMegaMenuFeaturedListItemDirective), { descendants: true }) listItems: QueryList<EclMegaMenuFeaturedListItemDirective>;\n\n constructor(private el: ElementRef) {\n super();\n }\n\n getEclMegaMenuFeaturedHeight(): number {\n let result = 0;\n this.listItems.forEach(it => result += it.getEclMegaMenuFeaturedItemHeight());\n return result;\n }\n}\n","<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>","import { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { EclMegaMenuItem } from '../models/ecl-mega-menu-item.model';\n\n@Injectable({ providedIn: 'root' })\nexport class EclMegaMenuDataService {\n\n\tpublic eclMegaMenuInfoBottomYSubject$: Observable<number>;\n\tpublic eclSubItemExpanded$: Observable<boolean>;\n\tpublic eclSubItemClicked$: Observable<EclMegaMenuItem>;\n\tpublic eclSubItemEscape$: Observable<boolean>;\n\n\tprivate eclMegaMenuInfoBottomYSubject: Subject<number> = new Subject<number>();\n\tprivate eclSubItemExpanded: Subject<boolean> = new Subject<boolean>();\n\tprivate eclSubItemClicked: Subject<EclMegaMenuItem> = new Subject<EclMegaMenuItem>();\n\tprivate eclSubItemEscape: Subject<boolean> = new Subject<boolean>();\n\n\tconstructor() {\n\t\tthis.eclMegaMenuInfoBottomYSubject$ = this.eclMegaMenuInfoBottomYSubject.asObservable();\n this.eclSubItemExpanded$ = this.eclSubItemExpanded.asObservable();\n\t\tthis.eclSubItemClicked$ = this.eclSubItemClicked.asObservable();\n\t\tthis.eclSubItemEscape$ = this.eclSubItemEscape.asObservable();\n\t}\n\n\tupdateEclMegaMenuInfoSize(value: number): void {\n\t\tthis.eclMegaMenuInfoBottomYSubject.next(value);\n\t}\n\n eclSubItemToggle(isExpanded: boolean): void {\n\t\tthis.eclSubItemExpanded.next(isExpanded);\n\t}\n\n\teclSubItemClick(item: EclMegaMenuItem): void {\n\t\tthis.eclSubItemClicked.next(item);\n\t}\n\n\teclSubItemEscapeEvent(value: boolean): void {\n\t\tthis.eclSubItemEscape.next(value);\n\t}\n}","import { Injectable, Renderer2, RendererFactory2 } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class EclMegaMenuService {\n private renderer: Renderer2;\n\n constructor(rendererFactory: RendererFactory2) {\n this.renderer = rendererFactory.createRenderer(null, null);\n }\n setExtraAttributesForLink(link: HTMLElement, linkExtraAttributes: { [key: string]: string }): void {\n if (linkExtraAttributes) {\n Object.keys(linkExtraAttributes).forEach((key) => {\n if (key !== 'href' && key !== 'routerLink') {\n this.renderer.setAttribute(link, key, linkExtraAttributes[key]);\n }\n });\n }\n }\n}","import { Component, ContentChild, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild, afterNextRender, booleanAttribute, forwardRef } from '@angular/core';\nimport { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\nimport { Params, QueryParamsHandling } from '@angular/router';\nimport { Subject, takeUntil } from 'rxjs';\nimport { KeyCode } from '@eui/ecl/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclLinkDirective } from '@eui/ecl/components/ecl-link';\nimport { EclButtonComponent } from '@eui/ecl/components/ecl-button';\nimport { EclMegaMenuItem } from '../models/ecl-mega-menu-item.model';\nimport { EclMegaMenuSublistDirective } from '../directives/ecl-mega-menu-list.directive';\nimport { EclMegaMenuDataService } from '../services';\nimport { EclMegaMenuService } from '../services';\nimport { EclMegaMenuFeaturedComponent } from '../ecl-mega-menu-featured/ecl-mega-menu-featured.component';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'li[eclMegaMenuSubitem]',\n templateUrl: './ecl-mega-menu-subitem.component.html',\n standalone: false,\n})\n\nexport class EclMegaMenuSubitemComponent extends ECLBaseDirective implements EclMegaMenuItem {\n\n @HostBinding('attr.aria-expanded') isExpanded = false;\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-mega-menu__subitem'),\n this.isCurrent ? 'ecl-mega-menu__subitem--current' : '',\n this.isExpanded ? 'ecl-mega-menu__subitem--expanded' : '',\n this.isSeeAll ? 'ecl-mega-menu__see-all' : '',\n this.isParentLink ? 'ecl-mega-menu__parent-link' : '',\n ]\n .join(' ')\n .trim();\n }\n\n @Input() buttonId: string;\n @Input() label = '';\n @Input({ transform: booleanAttribute }) isExternal = false;\n @Input() externalIconTitle: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Input() routerLink: string | any[] = null;\n @Input() queryParams: Params | null = null;\n @Input() queryParamsHandling: QueryParamsHandling = null;\n @Input() href = '';\n @Input() target = '';\n @Input({ transform: booleanAttribute }) isSeeAll = false;\n @Input() linkExtraAttributes: { [key: string]: string };\n\n @ViewChild('megaMenuLevel2') megaMenuLevel2: ElementRef;\n @ViewChild(EclLinkDirective) subMenuItemLink: EclLinkDirective;\n @ViewChild('subMenuItemBtn') subMenuItemBtn: EclButtonComponent;\n\n @ContentChild(forwardRef(() => EclMegaMenuSublistDirective)) submenu: EclMegaMenuSublistDirective;\n @ContentChild(forwardRef(() => EclMegaMenuFeaturedComponent)) eclMegaMenuFeatured: EclMegaMenuFeaturedComponent;\n\n @Output() megaMenuSubItemClicked = new EventEmitter();\n @Output() megaMenuSubItemKeydown = new EventEmitter();\n\n isCurrent = false;\n isMobileBreakpoint = false;\n labelId: string;\n level2StyleHeight: number | null = null;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private isParentLink = false;\n @HostBinding('style.display') private display = '';\n\n constructor(private cdkBreakpointObserver: BreakpointObserver, private eclMegaMenuDataService: EclMegaMenuDataService,\n private el: ElementRef, private eclMegaMenuService: EclMegaMenuService) {\n super();\n afterNextRender(() => {\n if (this.subMenuItemLink) {\n eclMegaMenuService.setExtraAttributesForLink(this.subMenuItemLink.el.nativeElement, this.linkExtraAttributes);\n }\n this.observeBreakpointChanges();\n });\n }\n\n get hasChildren(): boolean {\n return !!this.submenu;\n }\n\n onFocus(): void{\n if (this.subMenuItemLink) {\n this.subMenuItemLink.onFocus();\n } else if (this.subMenuItemBtn) {\n this.subMenuItemBtn.onFocus();\n }\n }\n\n onHide(): void {\n this.display = 'none';\n }\n\n onShow(): void {\n this.display = '';\n }\n\n getMegaMenuSubItemHeight(): number {\n return this.el.nativeElement.getBoundingClientRect().height;\n }\n\n onButtonClick(): void {\n this.isCurrent = !this.isCurrent;\n this.isExpanded = !this.isExpanded;\n this.eclMegaMenuDataService.eclSubItemToggle(this.isExpanded);\n this.eclMegaMenuDataService.eclSubItemClick(this);\n if (this.isMobileBreakpoint) {\n this.isParentLink = true;\n setTimeout(() => this.calculateLevel2Styles());\n }\n this.megaMenuSubItemClicked.emit();\n }\n\n onLinkClick(): void {\n this.eclMegaMenuDataService.eclSubItemClick(this);\n this.megaMenuSubItemClicked.emit();\n }\n\n onKeydown(evt: Event): void {\n if (evt instanceof KeyboardEvent) {\n if (!((evt as KeyboardEvent).key === KeyCode.TAB)) {\n if ((evt as KeyboardEvent).key === KeyCode.ESCAPE) {\n this.eclMegaMenuDataService.eclSubItemEscapeEvent(true);\n } else {\n this.megaMenuSubItemKeydown.emit(evt as KeyboardEvent);\n }\n }\n }\n }\n\n onSubMenuItemCollapse(): void {\n if (this.isExpanded) {\n this.eclMegaMenuDataService.eclSubItemToggle(false);\n this.isCurrent = false;\n this.isExpanded = false;\n this.isParentLink = false;\n }\n }\n\n onSubMenuItemExpand(): void {\n this.isCurrent = true;\n this.isExpanded = true;\n this.eclMegaMenuDataService.eclSubItemToggle(this.isExpanded);\n }\n\n private calculateLevel2Styles(): void {\n if (this.megaMenuLevel2) {\n const subMegaRect = this.megaMenuLevel2.nativeElement.getBoundingClientRect();\n const subMegaTop = subMegaRect.top;\n const availableHeight = window.innerHeight - subMegaTop;\n this.level2StyleHeight = availableHeight;\n }\n }\n\n private observeBreakpointChanges(): void {\n this.cdkBreakpointObserver\n .observe([Breakpoints.Handset, Breakpoints.Tablet, Breakpoints.Small])\n .pipe(takeUntil(this.destroy$))\n .subscribe((result) => {\n this.isMobileBreakpoint = result.matches;\n });\n }\n}\n","@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>","import { BreakpointObserver } from '@angular/cdk/layout';\nimport {\n ContentChildren, Directive,\n DoCheck,\n ElementRef,\n HostBinding,\n IterableDiffer, IterableDiffers,\n OnDestroy,\n QueryList,\n afterNextRender,\n forwardRef,\n} from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { KeyCode } from '@eui/ecl/core';\nimport { EclMegaMenuDataService } from '../services';\nimport { EclMegaMenuSubitemComponent } from '../ecl-mega-menu-subitem/ecl-mega-menu-subitem.component';\n\n@Directive({\n selector: 'ul[eclMegaMenuList]',\n standalone: false,\n})\nexport class EclMegaMenuListDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-mega-menu__list') cmpClass = true;\n}\n\n@Directive({\n selector: 'ul[eclMegaMenuSpacer]',\n standalone: false,\n})\nexport class EclMegaMenuSpacerDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-mega-menu__spacer') cmpClass = true;\n}\n\n@Directive({\n selector: 'ul[eclMegaMenuSublist]',\n standalone: false,\n})\nexport class EclMegaMenuSublistDirective extends ECLBaseDirective implements OnDestroy, DoCheck {\n @HostBinding('class.ecl-mega-menu__sublist') cmpClass = true;\n @HostBinding('class.ecl-mega-menu__sublist--scrollable') isScrollable = false;\n @HostBinding('style.top.px') styleTop: number | null = null;\n\n @ContentChildren(forwardRef(() => EclMegaMenuSubitemComponent)) submenuItems: QueryList<EclMegaMenuSubitemComponent>;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private differ: IterableDiffer<EclMegaMenuSubitemComponent>;\n private isMobileBreakpoint = false;\n\n constructor(public el: ElementRef, private cdkBreakpointObserver: BreakpointObserver,\n private differs: IterableDiffers) {\n super();\n this.differ = this.differs.find([]).create();\n afterNextRender(() => {\n this.observeBreakpointChanges();\n });\n }\n\n ngDoCheck(): void {\n const diff = this.differ.diff(this.submenuItems);\n if (diff) {\n diff.forEachItem((item) => {\n this.connectMegaMenuItemEvents(item.item);\n });\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n onParentMegaMenuItemClick(isExpanded: boolean): void {\n if (isExpanded) {\n if (!this.isMobileBreakpoint) {\n const itemWithChildren = this.submenuItems.find(item => item.hasChildren);\n itemWithChildren?.onSubMenuItemExpand();\n }\n } else {\n this.submenuItems.forEach(item => {\n if (item.isExpanded) {\n item.onSubMenuItemCollapse();\n }\n });\n }\n }\n\n private connectMegaMenuItemEvents(item: EclMegaMenuSubitemComponent): void {\n item.megaMenuSubItemClicked.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.onMegaMenuSubItemClicked(item);\n });\n\n item.megaMenuSubItemKeydown.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.onMegaMenuSubItemKeydown(item, evt);\n });\n }\n\n private onMegaMenuSubItemClicked(item: EclMegaMenuSubitemComponent): void {\n this.submenuItems.filter(subItem => subItem !== item).forEach(el => {\n el.onSubMenuItemCollapse();\n if (this.isMobileBreakpoint && item.hasChildren) {\n el.onHide();\n }\n });\n }\n\n private onMegaMenuSubItemKeydown(item: EclMegaMenuSubitemComponent, evt: KeyboardEvent): void {\n\n const itemIndex = this.submenuItems.toArray().findIndex(elem => elem === item);\n switch (evt.key) {\n case KeyCode.ARROW_DOWN: {\n evt.preventDefault();\n this.focusOnNextSibling(itemIndex);\n break;\n }\n case KeyCode.ARROW_UP: {\n evt.preventDefault();\n this.focusOnPrevSibling(itemIndex);\n break;\n }\n default: {\n break;\n }\n }\n }\n\n private focusOnPrevSibling(index: number): void {\n if (index > 0) {\n this.submenuItems.get(index-1).onFocus();\n }\n }\n\n private focusOnNextSibling(index: number): void {\n if (index < this.submenuItems.length - 1) {\n this.submenuItems.get(index+1).onFocus();\n }\n }\n\n private resetStyles(): void {\n if (this.isMobileBreakpoint) {\n this.isScrollable = true;\n } else {\n this.isScrollable = false;\n }\n }\n\n private observeBreakpointChanges(): void {\n this.cdkBreakpointObserver\n .observe(['(max-width: 996px)'])\n .pipe(takeUntil(this.destroy$))\n .subscribe((result) => {\n this.isMobileBreakpoint = result.matches;\n setTimeout(() => this.resetStyles());\n });\n }\n}\n","import { AfterViewInit, Component, ContentChild, ElementRef, HostBinding, Input, forwardRef } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclLinkDirective } from '@eui/ecl/components/ecl-link';\nimport { EclMegaMenuDataService } from '../services';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'div[eclMegaMenuInfo]',\n templateUrl: './ecl-mega-menu-info.component.html',\n standalone: false,\n})\n\nexport class EclMegaMenuInfoComponent extends ECLBaseDirective implements AfterViewInit {\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-mega-menu__info'),\n this.linkItem ? 'ecl-mega-menu__info--has-link' : '',\n ]\n .join(' ')\n .trim();\n }\n @HostBinding('style.height.px') eclMegaMenuInfoStyleHeight: number | null = null;\n @HostBinding('style.opacity') eclMegaMenuInfoStyleOpacity: number | null = null;\n\n @Input() title: string;\n\n @ContentChild(forwardRef(() => EclLinkDirective)) linkItem: EclLinkDirective;\n\n constructor(public el: ElementRef, private eclMegaMenuDataService: EclMegaMenuDataService) {\n super();\n }\n\n ngAfterViewInit(): void {\n if (this.linkItem) {\n setTimeout(() => this.linkItem.class = 'ecl-mega-menu__info-link');\n }\n\n this.publishSize();\n }\n\n getInfoPanelScrollHeight() : number {\n return this.el.nativeElement.scrollHeight;\n }\n\n private publishSize(): void {\n const bottomY = this.el.nativeElement.getBoundingClientRect().bottom;\n this.eclMegaMenuDataService.updateEclMegaMenuInfoSize(bottomY);\n }\n}\n","<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>","import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\nimport { Component, ContentChild, ElementRef, EventEmitter, HostBinding, HostListener, Input, OnDestroy, Output,\n Renderer2, ViewChild, afterNextRender, forwardRef } from '@angular/core';\nimport { Params, QueryParamsHandling } from '@angular/router';\nimport { Subject, takeUntil } from 'rxjs';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { KeyCode } from '@eui/ecl/core';\nimport { EclLinkDirective } from '@eui/ecl/components/ecl-link';\nimport { EclButtonComponent } from '@eui/ecl/components/ecl-button';\nimport { EclMegaMenuService } from '../services';\nimport { EclMegaMenuDataService } from '../services';\nimport { EclMegaMenuContainerDirective } from '../directives/ecl-mega-menu-container.directive';\nimport { EclMegaMenuSublistDirective } from '../directives/ecl-mega-menu-list.directive';\nimport { EclMegaMenuInfoComponent } from '../ecl-mega-menu-info/ecl-mega-menu-info.component';\nimport { EclHeaderMenuComunicationService } from '@eui/ecl/shared';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'li[eclMegaMenuItem]',\n templateUrl: './ecl-mega-menu-item.component.html',\n standalone: false,\n})\n\nexport class EclMegaMenuItemComponent extends ECLBaseDirective implements OnDestroy {\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-mega-menu__item'),\n this.eclMegaMenuSublist ? 'ecl-mega-menu__item--has-children' : '',\n this.eclMegaMenuContainer ? 'ecl-mega-menu__item--has-container' : '',\n this.isCurrent ? 'ecl-mega-menu__item--current' : '',\n this.isExpanded ? 'ecl-mega-menu__item--expanded' : '',\n ]\n .join(' ')\n .trim();\n }\n\n @HostBinding('attr.aria-expanded') isExpanded = false;\n @HostBinding('attr.aria-haspopup') hasPopup = this.hasChildren ? true : null;\n\n @Input() label: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Input() routerLink: string | any[] = null;\n @Input() queryParams: Params | null = null;\n @Input() queryParamsHandling: QueryParamsHandling = null;\n @Input() href = '';\n @Input() target = '';\n @Input() linkExtraAttributes: { [key: string]: string };\n\n @Output() megaMenuItemClicked = new EventEmitter();\n @Output() megaMenuItemKeydown = new EventEmitter<KeyboardEvent>();\n @ViewChild('eclMegaMenuMega') eclMegaMenuMega: ElementRef;\n @ViewChild('mainPanel') mainPanel: ElementRef;\n @ViewChild(EclLinkDirective) menuLink: EclLinkDirective;\n @ViewChild('menuBtn') menuBtn: EclButtonComponent;\n @ContentChild(forwardRef(() => EclMegaMenuInfoComponent)) eclMegaMenuInfo: EclMegaMenuInfoComponent;\n @ContentChild(forwardRef(() => EclMegaMenuSublistDirective)) eclMegaMenuSublist: EclMegaMenuSublistDirective;\n @ContentChild(forwardRef(() => EclMegaMenuContainerDirective)) eclMegaMenuContainer: EclMegaMenuContainerDirective;\n\n containerStyleHeight: number | null = null;\n isCurrent = false;\n isMobileBreakpoint = false;\n megaMenuMegaStyleHeight: number | null = null;\n megaMenuMegaStyleOpacity: number | null = null;\n wrapperStyleHeight: number | null = null;\n wrapperStyleTop: number | null = null;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private isLarge = false;\n\n constructor(private cdkBreakpointObserver: BreakpointObserver, public el: ElementRef,\n private eclMegaMenuDataService: EclMegaMenuDataService,\n private eclHeaderMenuComunicationService: EclHeaderMenuComunicationService,\n private eclMegaMenuService: EclMegaMenuService,\n private renderer: Renderer2) {\n super();\n afterNextRender(() => {\n eclMegaMenuDataService.eclMegaMenuInfoBottomYSubject$.pipe(takeUntil(this.destroy$)).subscribe(value => {\n this.calculateSublistStyle(value);\n });\n if (this.menuLink) {\n eclMegaMenuService.setExtraAttributesForLink(this.menuLink.el.nativeElement, this.linkExtraAttributes);\n }\n this.observeBreakpointChanges();\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n get hasChildren(): boolean {\n return !!this.eclMegaMenuSublist || !!this.eclMegaMenuContainer;\n }\n\n get hasSublist(): boolean {\n return !!this.eclMegaMenuSublist;\n }\n\n get hasContainer(): boolean {\n return !!this.eclMegaMenuContainer;\n }\n\n onFocus(): void{\n if (this.menuLink) {\n this.menuLink.onFocus();\n } else if (this.menuBtn) {\n this.menuBtn.onFocus();\n }\n }\n\n @HostListener('window:resize')\n onResize(): void {\n setTimeout(() => {\n if (this.isExpanded) {\n this.checkDropdownHeight();\n this.calculateWrapperStyle();\n }\n });\n }\n\n onMegaMenuItemClick(): void {\n\n if (this.hasChildren) {\n this.isCurrent = !this.isCurrent;\n this.isExpanded = !this.isExpanded;\n if (this.eclMegaMenuSublist) {\n this.eclMegaMenuSublist.onParentMegaMenuItemClick(this.isExpanded);\n }\n if (this.isExpanded) {\n this.eclHeaderMenuComunicationService.updateExpanded(this.isExpanded);\n this.hidePanels();\n setTimeout(() => {\n this.checkDropdownHeight();\n });\n } else {\n this.eclHeaderMenuComunicationService.updateExpanded(this.isExpanded);\n }\n } else {\n this.eclHeaderMenuComunicationService.updateExpanded(this.isExpanded);\n }\n this.megaMenuItemClicked.emit();\n }\n\n onMegaMenuItemCollapse(): void {\n this.isCurrent = false;\n this.isExpanded = false;\n if (this.eclMegaMenuSublist) {\n this.eclMegaMenuSublist.onParentMegaMenuItemClick(this.isExpanded);\n }\n }\n\n onKeydown(evt: Event): void {\n if (evt instanceof KeyboardEvent) {\n if ((evt as KeyboardEvent).key === KeyCode.TAB && !(evt as KeyboardEvent).shiftKey) {\n // if menu is open, navigate to children\n } else {\n this.megaMenuItemKeydown.emit(evt as KeyboardEvent);\n }\n }\n }\n\n private calculateSublistStyle(bottomInfo: number): void {\n if (this.isMobileBreakpoint) {\n const availableHeight = window.innerHeight - bottomInfo - 16;\n this.eclMegaMenuSublist.styleTop = availableHeight;\n }\n }\n\n private calculateWrapperStyle(): void {\n if (this.isMobileBreakpoint) {\n const bottomY = this.el.nativeElement.getBoundingClientRect().bottom;\n this.wrapperStyleTop = bottomY;\n }\n }\n\n private resetWrapperStyle(): void {\n if (this.isMobileBreakpoint) {\n this.wrapperStyleHeight = null;\n this.wrapperStyleTop = null;\n }\n }\n\n private hidePanels(): void {\n if (this.isMobileBreakpoint) {\n return;\n }\n if (this.eclMegaMenuMega) {\n this.megaMenuMegaStyleOpacity = 0;\n }\n if (this.eclMegaMenuInfo) {\n this.eclMegaMenuInfo.eclMegaMenuInfoStyleOpacity = 0;\n }\n }\n\n private checkDropdownHeight(): void {\n let infoPanelHeight = 0;\n\n if (!this.isMobileBreakpoint) {\n const heights = [];\n let height = 0;\n let itemsHeight = 0;\n let subItemsHeight = 0;\n let featuredHeight = 0;\n\n if (this.hasContainer) {\n const viewportHeight = window.innerHeight;\n const mainTop = this.mainPanel.nativeElement.getBoundingClientRect().top;\n this.containerStyleHeight = viewportHeight - mainTop;\n } else {\n if (this.eclMegaMenuInfo) {\n infoPanelHeight = this.eclMegaMenuInfo.getInfoPanelScrollHeight() + 16;\n if (this.isLarge) {\n heights.push(infoPanelHeight);\n } else {\n itemsHeight = infoPanelHeight;\n subItemsHeight = infoPanelHeight;\n featuredHeight = infoPanelHeight;\n }\n this.eclMegaMenuInfo.eclMegaMenuInfoStyleOpacity = 1;\n }\n\n if (this.eclMegaMenuMega) {\n if (this.eclMegaMenuSublist && this.eclMegaMenuSublist.submenuItems.length > 0) {\n this.eclMegaMenuSublist.submenuItems.forEach((item) => {\n itemsHeight += item.getMegaMenuSubItemHeight();\n });\n heights.push(itemsHeight);\n }\n const expandedSubItem = this.eclMegaMenuSublist.submenuItems.find(item => item.hasChildren && item.isExpanded);\n if (expandedSubItem !== undefined) {\n expandedSubItem.submenu.submenuItems.forEach(item => {\n subItemsHeight += item.getMegaMenuSubItemHeight();\n });\n heights.push(subItemsHeight);\n if (expandedSubItem.eclMegaMenuFeatured) {\n featuredHeight += expandedSubItem.eclMegaMenuFeatured.getEclMegaMenuFeaturedHeight();\n heights.push(featuredHeight);\n }\n }\n\n const maxHeight = Math.max(...heights);\n const containerBounding = this.el.nativeElement.getBoundingClientRect();\n const containerBottom = containerBounding.bottom;\n // By requirements, limit the height to the 70% of the available space.\n const availableHeight = (window.innerHeight - containerBottom) * 0.7;\n\n if (maxHeight > availableHeight) {\n height = availableHeight;\n } else {\n height = maxHeight;\n }\n\n this.wrapperStyleHeight = height;\n if (this.eclMegaMenuMega && this.isLarge) {\n this.megaMenuMegaStyleHeight = height;\n } else if (this.eclMegaMenuMega && this.eclMegaMenuInfo) {\n this.megaMenuMegaStyleHeight = height - infoPanelHeight;\n }\n if (this.eclMegaMenuInfo && this.isLarge) {\n this.eclMegaMenuInfo.eclMegaMenuInfoStyleHeight = height;\n }\n\n if (expandedSubItem !== undefined) {\n if (this.isLarge) {\n expandedSubItem.level2StyleHeight = height;\n } else {\n expandedSubItem.level2StyleHeight = height - infoPanelHeight;\n }\n\n if (expandedSubItem.eclMegaMenuFeatured) {\n if (this.isLarge) {\n expandedSubItem.eclMegaMenuFeatured.eclMegaMenuFeaturedStyleHeight = height;\n } else {\n expandedSubItem.eclMegaMenuFeatured.eclMegaMenuFeaturedStyleHeight = height - infoPanelHeight;\n }\n }\n }\n this.megaMenuMegaStyleOpacity = 1;\n }\n }\n }\n }\n\n private observeBreakpointChanges(): void {\n this.cdkBreakpointObserver\n .observe([Breakpoints.Handset, Breakpoints.Tablet, Breakpoints.Small,'(min-width: 1140px)'])\n .pipe(takeUntil(this.destroy$))\n .subscribe((result) => {\n this.isMobileBreakpoint = result.breakpoints[Breakpoints.Handset, Breakpoints.Tablet, Breakpoints.Small];\n this.isLarge = result.breakpoints['(min-width: 1140px)'];\n this.resetWrapperStyle();\n });\n }\n}\n","@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}","import { BreakpointObserver } from '@angular/cdk/layout';\nimport {\n Component,\n ContentChildren,\n DoCheck,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n IterableDiffer, IterableDiffers,\n OnDestroy,\n Output,\n QueryList,\n Renderer2,\n afterNextRender,\n forwardRef,\n} from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { ECLClickOutsideDirective, EclRtlService, EclUserDeviceService } from '@eui/ecl/core';\nimport { KeyCode } from '@eui/ecl/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclMegaMenuItem } from './models/ecl-mega-menu-item.model';\nimport { EclMegaMenuDataService } from './services';\nimport { EclMegaMenuItemComponent } from './ecl-mega-menu-item/ecl-mega-menu-item.component';\nimport { EclHeaderMenuComunicationService } from '@eui/ecl/shared';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'nav[eclMegaMenu]',\n templateUrl: './ecl-mega-menu.component.html',\n standalone: false,\n hostDirectives: [\n {\n directive: ECLBaseDirective,\n },\n {\n directive: ECLClickOutsideDirective,\n // eslint-disable-next-line @angular-eslint/no-outputs-metadata-property\n outputs: ['eclClickOutside'],\n },\n ],\n})\n\nexport class EclMegaMenuComponent extends ECLBaseDirective implements DoCheck, OnDestroy {\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-mega-menu'),\n this.isTwoPanels ? 'ecl-mega-menu--two-panels' : '',\n this.isOnePanel ? 'ecl-mega-menu--one-panel' : '',\n this.isRtl ? 'ecl-mega-menu--rtl' : '',\n this.isTablet ? 'ecl-mega-menu--forced-mobile' : '',\n this.isStartPanel ? 'ecl-mega-menu--start-panel' : '',\n ].join(' ');\n }\n\n @HostBinding('attr.aria-expanded') isExpanded = false;\n @HostBinding('attr.role') role = 'navigation';\n\n @Output() megaMenuItemSelect = new EventEmitter<EclMegaMenuItem>();\n @ContentChildren(forwardRef(() => EclMegaMenuItemComponent), { descendants: true }) menuItems: QueryList<EclMegaMenuItemComponent>;\n\n isMobileBreakpoint = false;\n isMobileExpanded = false;\n isOnePanel = false;\n isOpenMobile = false; //used for mobile only\n isStartPanel = false;\n isTwoPanels = false;\n overlayStyleTop: number;\n innerStyleTop: number;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private differ: IterableDiffer<EclMegaMenuItemComponent>;\n private isRtl = false;\n private isTablet = false;\n private parentHeaderBottomSpaceY: number;\n\n constructor(private differs: IterableDiffers, private cdkBreakpointObserver: BreakpointObserver,\n private eclRtlService: EclRtlService, private eclUserDeviceService: EclUserDeviceService,\n private eclHeaderMenuComunicationService: EclHeaderMenuComunicationService,\n private eclMegaMenuDataService: EclMegaMenuDataService,\n private el: ElementRef,\n private renderer: Renderer2) {\n super();\n this.differ = this.differs.find([]).create();\n afterNextRender(() => {\n this.observeBreakpointChanges();\n this.handleRtlChangeState();\n this.checkIsTabletDevice();\n this.subscribeToEvents();\n });\n }\n\n ngDoCheck(): void {\n const diff = this.differ.diff(this.menuItems);\n if (diff) {\n diff.forEachItem((item) => {\n this.connectMegaMenuItemEvents(item.item);\n });\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n @HostListener('eclClickOutside')\n onClickOutsideMegaMenu(): void {\n if (this.isExpanded) {\n this.closeMenuAndAnyOpenSubMenu();\n }\n }\n\n onMegaMenuMobileOpen(): void {\n if (this.isOpenMobile) {\n this.onMegaMenuMobileClose();\n } else {\n this.disableScroll();\n this.isExpanded = true;\n this.isOnePanel = false;\n this.isTwoPanels = false;\n\n if (this.isMobileBreakpoint) {\n this.isStartPanel = true;\n this.isMobileExpanded = true;\n }\n this.isOpenMobile = true;\n\n this.eclHeaderMenuComunicationService.updateOpen(true);\n\n // Focus first element\n if (this.menuItems.length > 0) {\n this.menuItems.first.onFocus();\n }\n }\n }\n\n onMegaMenuMobileClose(): void {\n this.enableScroll();\n this.collapseMenu();\n\n if (this.isMobileBreakpoint) {\n this.isStartPanel = false;\n this.isMobileExpanded = false;\n }\n this.isOpenMobile = false;\n }\n\n onMegaMenuBack(): void {\n if (this.isOnePanel) {\n this.onMegaMenuBackToStartPanel();\n } else if (this.isTwoPanels) {\n this.onMegaMenuBackToOnePanel();\n }\n }\n\n positionMenuOverlay(parentHeaderBottomSpaceY): void {\n this.parentHeaderBottomSpaceY = parentHeaderBottomSpaceY;\n if (this.isMobileBreakpoint && parentHeaderBottomSpaceY) {\n this.overlayStyleTop = parentHeaderBottomSpaceY;\n this.innerStyleTop = parentHeaderBottomSpaceY;\n } else {\n if (this.parentHeaderBottomSpaceY) {\n this.overlayStyleTop = parentHeaderBottomSpaceY;\n } else {\n const menuBottomY = this.el.nativeElement.getBoundingClientRect().bottom;\n this.overlayStyleTop = menuBottomY;\n }\n }\n }\n\n private onMegaMenuBackToOnePanel(): void {\n\n this.isStartPanel = false;\n this.isTwoPanels = false;\n this.isOnePanel = true;\n const currentItem = this.menuItems.find(item => item.isExpanded);\n const currentSubItem = currentItem.eclMegaMenuSublist.submenuItems.find(item => item.isExpanded);\n if (this.isMobileBreakpoint) {\n currentItem.eclMegaMenuSublist.submenuItems.filter(item => !item.isExpanded).forEach(el => {\n el.onShow();\n });\n }\n currentSubItem.isCurrent = false;\n currentSubItem.isExpanded = false;\n }\n\n private onMegaMenuBackToStartPanel(): void {\n this.isOnePanel = false;\n this.isStartPanel = true;\n const currentItem = this.menuItems.find(item => item.isExpanded);\n currentItem.isCurrent = false;\n currentItem.isExpanded = false;\n this.eclHeaderMenuComunicationService.updateExpanded(false);\n }\n\n private subscribeToEvents(): void {\n\n this.eclMegaMenuDataService.eclSubItemExpanded$.pipe(takeUntil(this.destroy$)).subscribe(isExpanded => {\n this.isTwoPanels = isExpanded;\n this.isOnePanel = !isExpanded;\n this.isStartPanel = false;\n });\n\n this.eclMegaMenuDataService.eclSubItemClicked$.pipe(takeUntil(this.destroy$)).subscribe(item => {\n this.onSubMenuItemClicked(item);\n this.megaMenuItemSelect.emit(item);\n });\n\n this.eclMegaMenuDataService.eclSubItemEscape$.pipe(takeUntil(this.destroy$)).subscribe(item => {\n this.closeMenuAndAnyOpenSubMenu();\n });\n }\n\n private connectMegaMenuItemEvents(item: EclMegaMenuItemComponent): void {\n item.megaMenuItemClicked.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.onMegaMenuItemClicked(item);\n });\n\n item.megaMenuItemKeydown.pipe(takeUntil(this.destroy$)).subscribe((evt: KeyboardEvent) => {\n this.onMegaMenuItemKeydown(item, evt);\n });\n }\n\n private onMegaMenuItemClicked(item: EclMegaMenuItemComponent): void {\n this.menuItems.filter(megaItem => megaItem !== item).forEach(item => item.onMegaMenuItemCollapse());\n if (item.hasChildren) {\n if (item.isExpanded) {\n if (this.isMobileBreakpoint) {\n this.isOnePanel = true;\n this.isTwoPanels = false;\n this.isStartPanel = false;\n } else {\n if (item.eclMegaMenuSublist?.submenuItems.first.hasChildren) {\n this.isOnePanel = false;\n this.isTwoPanels = true;\n } else {\n this.isOnePanel = true;\n this.isTwoPanels = false;\n }\n }\n this.positionMenuOverlay(this.parentHeaderBottomSpaceY);\n this.isExpanded = true;\n this.disableScroll();\n } else {\n this.collapseMenu();\n }\n } else {\n this.collapseMenu();\n }\n this.megaMenuItemSelect.emit(item);\n }\n\n private onMegaMenuItemKeydown(item: EclMegaMenuItemComponent, evt: KeyboardEvent): void {\n\n const itemIndex = this.menuItems.toArray().findIndex(elem => elem === item);\n switch (evt.key) {\n case KeyCode.ARROW_DOWN: {\n evt.preventDefault();\n this.focusOnPrevSibling(itemIndex);\n break;\n }\n case KeyCode.ARROW_UP: {\n evt.preventDefault();\n this.focusOnNextSibling(itemIndex);\n break;\n }\n case KeyCode.ARROW_LEFT: {\n evt.preventDefault();\n this.focusOnPrevSibling(itemIndex);\n break;\n }\n case KeyCode.ARROW_RIGHT: {\n evt.preventDefault();\n this.focusOnNextSibling(itemIndex);\n break;\n }\n case KeyCode.ESCAPE: {\n this.closeMenuAndAnyOpenSubMenu();\n break;\n }\n default: {\n break;\n }\n }\n }\n\n private onSubMenuItemClicked(item: EclMegaMenuItem): void {\n if (!item.hasChildren) {\n this.closeMenuAndAnyOpenSubMenu();\n }\n }\n\n private closeMenuAndAnyOpenSubMenu(): void {\n if (this.isExpanded) {\n const expandedItem = this.menuItems.find(item => item.isExpanded);\n if (expandedItem !== undefined) {\n expandedItem.onMegaMenuItemCollapse();\n }\n this.collapseMenu();\n }\n }\n\n private collapseMenu(): void {\n this.isExpanded = false;\n this.isTwoPanels = false;\n this.isOnePanel = false;\n this.enableScroll();\n this.eclHeaderMenuComunicationService.updateExpanded(false);\n }\n\n private focusOnPrevSibling(index: number): void {\n if (index > 0) {\n this.menuItems.get(index-1).onFocus();\n }\n }\n\n private focusOnNextSibling(index: number): void {\n if (index < this.menuItems.length - 1) {\n this.menuItems.get(index+1).onFocus();\n }\n }\n\n private checkIsTabletDevice(): void {\n const userAgent = navigator.userAgent.toLowerCase();\n this.isTablet = this.eclUserDeviceService.isTabletDevice(userAgent);\n }\n\n private observeBreakpointChanges(): void {\n this.cdkBreakpointObserver\n .observe(['(max-width: 996px)'])\n .pipe(takeUntil(this.destroy$))\n .subscribe((result) => {\n this.isMobileBreakpoint = result.matches;\n });\n }\n\n private handleRtlChangeState(): void {\n this.eclRtlService.currentRtlState$.pipe(takeUntil(this.destroy$)).subscribe((rtlState) => {\n if (rtlState !== undefined) {\n this.isRtl = rtlState;\n }\n });\n }\n\n private disableScroll(): void {\n const scrollBarWidth = window.innerWidth - document.documentElement.clientWidth;\n this.renderer.addClass(document.body, 'ecl-mega-menu-prevent-scroll');\n }\n\n private enableScroll(): void {\n this.renderer.removeClass(document.body, 'ecl-mega-menu-prevent-scroll');\n }\n}\n","<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>","import { LayoutModule } from '@angular/cdk/layout';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclButtonModule } from '@eui/ecl/components/ecl-button';\nimport { EclIconModule } from '@eui/ecl/components/ecl-icon';\nimport { EclLinkModule } from '@eui/ecl/components/ecl-link';\nimport { EclMegaMenuContainerDirective } from './directives/ecl-mega-menu-container.directive';\nimport { EclMegaMenuFeaturedListDirective, EclMegaMenuFeaturedListItemDirective } from './directives/ecl-mega-menu-featured-list.directive';\nimport { EclMegaMenuFeaturedImageDirective, EclMegaMenuFeaturedPictureDirective } from './directives/ecl-mega-menu-featured-picture.directive';\nimport { EclMegaMenuListDirective, EclMegaMenuSpacerDirective, EclMegaMenuSublistDirective } from './directives/ecl-mega-menu-list.directive';\nimport { EclMegaMenuFeaturedComponent } from './ecl-mega-menu-featured/ecl-mega-menu-featured.component';\nimport { EclMegaMenuInfoComponent } from './ecl-mega-menu-info/ecl-mega-menu-info.component';\nimport { EclMegaMenuItemComponent } from './ecl-mega-menu-item/ecl-mega-menu-item.component';\nimport { EclMegaMenuSubitemComponent } from './ecl-mega-menu-subitem/ecl-mega-menu-subitem.component';\nimport { EclMegaMenuComponent } from './ecl-mega-menu.component';\n\nconst COMPONENTS = [\n EclMegaMenuComponent,\n EclMegaMenuItemComponent,\n EclMegaMenuSubitemComponent,\n EclMegaMenuInfoComponent,\n EclMegaMenuFeaturedComponent,\n EclMegaMenuFeaturedPictureDirective,\n EclMegaMenuFeaturedImageDirective,\n EclMegaMenuFeaturedListDirective,\n EclMegaMenuFeaturedListItemDirective,\n EclMegaMenuListDirective,\n EclMegaMenuSublistDirective,\n EclMegaMenuContainerDirective,\n EclMegaMenuSpacerDirective,\n];\n\n@NgModule({\n imports: [\n EclButtonModule,\n EclIconModule,\n EclLinkModule,\n CommonModule,\n RouterModule,\n LayoutModule,\n TranslateModule,\n ],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclMegaMenuModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.EclMegaMenuDataService","i2.EclMegaMenuService","i1.EclMegaMenuDataService","i3","i4","i5","i6","i4.EclMegaMenuDataService","i7"],"mappings":"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"}
1
+ {"version":3,"file":"eui-ecl-components-ecl-mega-menu.mjs","sources":["../../components/ecl-mega-menu/directives/ecl-mega-menu-container.directive.ts","../../components/ecl-mega-menu/directives/ecl-mega-menu-featured-list.directive.ts","../../components/ecl-mega-menu/directives/ecl-mega-menu-featured-picture.directive.ts","../../components/ecl-mega-menu/ecl-mega-menu-featured/ecl-mega-menu-featured.component.ts","../../components/ecl-mega-menu/ecl-mega-menu-featured/ecl-mega-menu-featured.component.html","../../components/ecl-mega-menu/services/ecl-mega-menu-data.service.ts","../../components/ecl-mega-menu/services/ecl-mega-menu.service.ts","../../components/ecl-mega-menu/ecl-mega-menu-subitem/ecl-mega-menu-subitem.component.ts","../../components/ecl-mega-menu/ecl-mega-menu-subitem/ecl-mega-menu-subitem.component.html","../../components/ecl-mega-menu/directives/ecl-mega-menu-list.directive.ts","../../components/ecl-mega-menu/ecl-mega-menu-info/ecl-mega-menu-info.component.ts","../../components/ecl-mega-menu/ecl-mega-menu-info/ecl-mega-menu-info.component.html","../../components/ecl-mega-menu/ecl-mega-menu-item/ecl-mega-menu-item.component.ts","../../components/ecl-mega-menu/ecl-mega-menu-item/ecl-mega-menu-item.component.html","../../components/ecl-mega-menu/ecl-mega-menu.component.ts","../../components/ecl-mega-menu/ecl-mega-menu.component.html","../../components/ecl-mega-menu/ecl-mega-menu.module.ts","../../components/ecl-mega-menu/eui-ecl-components-ecl-mega-menu.ts"],"sourcesContent":["import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'div[eclMegaMenuContainer]',\n standalone: false,\n})\n\nexport class EclMegaMenuContainerDirective extends ECLBaseDirective {\n\n @HostBinding('class.ecl') hasClass = true;\n}\n","import { Directive, HostBinding, ElementRef } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Directive({\n selector: '[eclMegaMenuFeaturedList]',\n standalone: false,\n})\nexport class EclMegaMenuFeaturedListDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-mega-menu__featured-list') cmpClass = true;\n}\n\n@Directive({\n selector: '[eclMegaMenuFeaturedListItem]',\n standalone: false,\n})\nexport class EclMegaMenuFeaturedListItemDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-mega-menu__featured-list__item') cmpClass = true;\n\n constructor(private el: ElementRef) {\n super();\n }\n\n getEclMegaMenuFeaturedItemHeight(): number {\n return this.el.nativeElement.scrollHeight;\n }\n}\n","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Directive({\n selector: '[eclMegaMenuFeaturedPicture]',\n standalone: false,\n})\nexport class EclMegaMenuFeaturedPictureDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-picture ecl-mega-menu__featured-picture')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclMegaMenuFeaturedImage]',\n standalone: false,\n})\nexport class EclMegaMenuFeaturedImageDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-mega-menu__featured-image') cmpClass = true;\n}\n","import { Component, ElementRef, HostBinding, Input, ContentChildren, forwardRef, QueryList } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclMegaMenuFeaturedListItemDirective } from '../directives/ecl-mega-menu-featured-list.directive';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'div[eclMegaMenuFeatured]',\n templateUrl: './ecl-mega-menu-featured.component.html',\n standalone: false,\n})\n\nexport class EclMegaMenuFeaturedComponent extends ECLBaseDirective {\n\n @HostBinding('class.ecl-mega-menu__featured') cmpClass = true;\n @HostBinding('style.height.px') eclMegaMenuFeaturedStyleHeight: number | null = null;\n @Input() title: string;\n @Input() titleId: string;\n\n @ContentChildren(forwardRef(() => EclMegaMenuFeaturedListItemDirective), { descendants: true }) listItems: QueryList<EclMegaMenuFeaturedListItemDirective>;\n\n constructor(private el: ElementRef) {\n super();\n }\n\n getEclMegaMenuFeaturedHeight(): number {\n let result = 0;\n this.listItems.forEach(it => result += it.getEclMegaMenuFeaturedItemHeight());\n return result;\n }\n}\n","<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>","import { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { EclMegaMenuItem } from '../models/ecl-mega-menu-item.model';\n\n@Injectable({ providedIn: 'root' })\nexport class EclMegaMenuDataService {\n\n\tpublic eclMegaMenuInfoBottomYSubject$: Observable<number>;\n\tpublic eclSubItemExpanded$: Observable<boolean>;\n\tpublic eclSubItemClicked$: Observable<EclMegaMenuItem>;\n\tpublic eclSubItemEscape$: Observable<boolean>;\n\n\tprivate eclMegaMenuInfoBottomYSubject: Subject<number> = new Subject<number>();\n\tprivate eclSubItemExpanded: Subject<boolean> = new Subject<boolean>();\n\tprivate eclSubItemClicked: Subject<EclMegaMenuItem> = new Subject<EclMegaMenuItem>();\n\tprivate eclSubItemEscape: Subject<boolean> = new Subject<boolean>();\n\n\tconstructor() {\n\t\tthis.eclMegaMenuInfoBottomYSubject$ = this.eclMegaMenuInfoBottomYSubject.asObservable();\n this.eclSubItemExpanded$ = this.eclSubItemExpanded.asObservable();\n\t\tthis.eclSubItemClicked$ = this.eclSubItemClicked.asObservable();\n\t\tthis.eclSubItemEscape$ = this.eclSubItemEscape.asObservable();\n\t}\n\n\tupdateEclMegaMenuInfoSize(value: number): void {\n\t\tthis.eclMegaMenuInfoBottomYSubject.next(value);\n\t}\n\n eclSubItemToggle(isExpanded: boolean): void {\n\t\tthis.eclSubItemExpanded.next(isExpanded);\n\t}\n\n\teclSubItemClick(item: EclMegaMenuItem): void {\n\t\tthis.eclSubItemClicked.next(item);\n\t}\n\n\teclSubItemEscapeEvent(value: boolean): void {\n\t\tthis.eclSubItemEscape.next(value);\n\t}\n}","import { Injectable, Renderer2, RendererFactory2 } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class EclMegaMenuService {\n private renderer: Renderer2;\n\n constructor(rendererFactory: RendererFactory2) {\n this.renderer = rendererFactory.createRenderer(null, null);\n }\n setExtraAttributesForLink(link: HTMLElement, linkExtraAttributes: { [key: string]: string }): void {\n if (linkExtraAttributes) {\n Object.keys(linkExtraAttributes).forEach((key) => {\n if (key !== 'href' && key !== 'routerLink') {\n this.renderer.setAttribute(link, key, linkExtraAttributes[key]);\n }\n });\n }\n }\n}","import { Component, ContentChild, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild, afterNextRender, booleanAttribute, forwardRef } from '@angular/core';\nimport { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\nimport { Params, QueryParamsHandling } from '@angular/router';\nimport { Subject, takeUntil } from 'rxjs';\nimport { KeyCode } from '@eui/ecl/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclLinkDirective } from '@eui/ecl/components/ecl-link';\nimport { EclButtonComponent } from '@eui/ecl/components/ecl-button';\nimport { EclMegaMenuItem } from '../models/ecl-mega-menu-item.model';\nimport { EclMegaMenuSublistDirective } from '../directives/ecl-mega-menu-list.directive';\nimport { EclMegaMenuDataService } from '../services';\nimport { EclMegaMenuService } from '../services';\nimport { EclMegaMenuFeaturedComponent } from '../ecl-mega-menu-featured/ecl-mega-menu-featured.component';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'li[eclMegaMenuSubitem]',\n templateUrl: './ecl-mega-menu-subitem.component.html',\n standalone: false,\n})\n\nexport class EclMegaMenuSubitemComponent extends ECLBaseDirective implements EclMegaMenuItem {\n\n @HostBinding('attr.aria-expanded') isExpanded = false;\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-mega-menu__subitem'),\n this.isCurrent ? 'ecl-mega-menu__subitem--current' : '',\n this.isExpanded ? 'ecl-mega-menu__subitem--expanded' : '',\n this.isSeeAll ? 'ecl-mega-menu__see-all' : '',\n this.isParentLink ? 'ecl-mega-menu__parent-link' : '',\n ]\n .join(' ')\n .trim();\n }\n\n @Input() buttonId: string;\n @Input() label = '';\n @Input({ transform: booleanAttribute }) isExternal = false;\n @Input() externalIconTitle: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Input() routerLink: string | any[] = null;\n @Input() queryParams: Params | null = null;\n @Input() queryParamsHandling: QueryParamsHandling = null;\n @Input() href = '';\n @Input() target = '';\n @Input({ transform: booleanAttribute }) isSeeAll = false;\n @Input() linkExtraAttributes: { [key: string]: string };\n\n @ViewChild('megaMenuLevel2') megaMenuLevel2: ElementRef;\n @ViewChild(EclLinkDirective) subMenuItemLink: EclLinkDirective;\n @ViewChild('subMenuItemBtn') subMenuItemBtn: EclButtonComponent;\n\n @ContentChild(forwardRef(() => EclMegaMenuSublistDirective)) submenu: EclMegaMenuSublistDirective;\n @ContentChild(forwardRef(() => EclMegaMenuFeaturedComponent)) eclMegaMenuFeatured: EclMegaMenuFeaturedComponent;\n\n @Output() megaMenuSubItemClicked = new EventEmitter();\n @Output() megaMenuSubItemKeydown = new EventEmitter();\n\n isCurrent = false;\n isMobileBreakpoint = false;\n labelId: string;\n level2StyleHeight: number | null = null;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private isParentLink = false;\n @HostBinding('style.display') private display = '';\n\n constructor(private cdkBreakpointObserver: BreakpointObserver, private eclMegaMenuDataService: EclMegaMenuDataService,\n private el: ElementRef, private eclMegaMenuService: EclMegaMenuService) {\n super();\n afterNextRender(() => {\n if (this.subMenuItemLink) {\n eclMegaMenuService.setExtraAttributesForLink(this.subMenuItemLink.el.nativeElement, this.linkExtraAttributes);\n }\n this.observeBreakpointChanges();\n });\n }\n\n get hasChildren(): boolean {\n return !!this.submenu;\n }\n\n onFocus(): void{\n if (this.subMenuItemLink) {\n this.subMenuItemLink.onFocus();\n } else if (this.subMenuItemBtn) {\n this.subMenuItemBtn.onFocus();\n }\n }\n\n onHide(): void {\n this.display = 'none';\n }\n\n onShow(): void {\n this.display = '';\n }\n\n getMegaMenuSubItemHeight(): number {\n return this.el.nativeElement.getBoundingClientRect().height;\n }\n\n onButtonClick(): void {\n this.isCurrent = !this.isCurrent;\n this.isExpanded = !this.isExpanded;\n this.eclMegaMenuDataService.eclSubItemToggle(this.isExpanded);\n this.eclMegaMenuDataService.eclSubItemClick(this);\n if (this.isMobileBreakpoint) {\n this.isParentLink = true;\n setTimeout(() => this.calculateLevel2Styles());\n }\n this.megaMenuSubItemClicked.emit();\n }\n\n onLinkClick(): void {\n this.eclMegaMenuDataService.eclSubItemClick(this);\n this.megaMenuSubItemClicked.emit();\n }\n\n onKeydown(evt: Event): void {\n if (evt instanceof KeyboardEvent) {\n if (!((evt as KeyboardEvent).key === KeyCode.TAB)) {\n if ((evt as KeyboardEvent).key === KeyCode.ESCAPE) {\n this.eclMegaMenuDataService.eclSubItemEscapeEvent(true);\n } else {\n this.megaMenuSubItemKeydown.emit(evt as KeyboardEvent);\n }\n }\n }\n }\n\n onSubMenuItemCollapse(): void {\n if (this.isExpanded) {\n this.eclMegaMenuDataService.eclSubItemToggle(false);\n this.isCurrent = false;\n this.isExpanded = false;\n this.isParentLink = false;\n }\n }\n\n onSubMenuItemExpand(): void {\n this.isCurrent = true;\n this.isExpanded = true;\n this.eclMegaMenuDataService.eclSubItemToggle(this.isExpanded);\n }\n\n private calculateLevel2Styles(): void {\n if (this.megaMenuLevel2) {\n const subMegaRect = this.megaMenuLevel2.nativeElement.getBoundingClientRect();\n const subMegaTop = subMegaRect.top;\n const availableHeight = window.innerHeight - subMegaTop;\n this.level2StyleHeight = availableHeight;\n }\n }\n\n private observeBreakpointChanges(): void {\n this.cdkBreakpointObserver\n .observe([Breakpoints.Handset, Breakpoints.Tablet, Breakpoints.Small])\n .pipe(takeUntil(this.destroy$))\n .subscribe((result) => {\n this.isMobileBreakpoint = result.matches;\n });\n }\n}\n","@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>","import { BreakpointObserver } from '@angular/cdk/layout';\nimport {\n ContentChildren, Directive,\n DoCheck,\n ElementRef,\n HostBinding,\n IterableDiffer, IterableDiffers,\n OnDestroy,\n QueryList,\n afterNextRender,\n forwardRef,\n} from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { KeyCode } from '@eui/ecl/core';\nimport { EclMegaMenuDataService } from '../services';\nimport { EclMegaMenuSubitemComponent } from '../ecl-mega-menu-subitem/ecl-mega-menu-subitem.component';\n\n@Directive({\n selector: 'ul[eclMegaMenuList]',\n standalone: false,\n})\nexport class EclMegaMenuListDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-mega-menu__list') cmpClass = true;\n}\n\n@Directive({\n selector: 'ul[eclMegaMenuSpacer]',\n standalone: false,\n})\nexport class EclMegaMenuSpacerDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-mega-menu__spacer') cmpClass = true;\n}\n\n@Directive({\n selector: 'ul[eclMegaMenuSublist]',\n standalone: false,\n})\nexport class EclMegaMenuSublistDirective extends ECLBaseDirective implements OnDestroy, DoCheck {\n @HostBinding('class.ecl-mega-menu__sublist') cmpClass = true;\n @HostBinding('class.ecl-mega-menu__sublist--scrollable') isScrollable = false;\n @HostBinding('style.top.px') styleTop: number | null = null;\n\n @ContentChildren(forwardRef(() => EclMegaMenuSubitemComponent)) submenuItems: QueryList<EclMegaMenuSubitemComponent>;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private differ: IterableDiffer<EclMegaMenuSubitemComponent>;\n private isMobileBreakpoint = false;\n\n constructor(public el: ElementRef, private cdkBreakpointObserver: BreakpointObserver,\n private differs: IterableDiffers) {\n super();\n this.differ = this.differs.find([]).create();\n afterNextRender(() => {\n this.observeBreakpointChanges();\n });\n }\n\n ngDoCheck(): void {\n const diff = this.differ.diff(this.submenuItems);\n if (diff) {\n diff.forEachItem((item) => {\n this.connectMegaMenuItemEvents(item.item);\n });\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n onParentMegaMenuItemClick(isExpanded: boolean): void {\n if (isExpanded) {\n if (!this.isMobileBreakpoint) {\n const itemWithChildren = this.submenuItems.find(item => item.hasChildren);\n itemWithChildren?.onSubMenuItemExpand();\n }\n } else {\n this.submenuItems.forEach(item => {\n if (item.isExpanded) {\n item.onSubMenuItemCollapse();\n }\n });\n }\n }\n\n private connectMegaMenuItemEvents(item: EclMegaMenuSubitemComponent): void {\n item.megaMenuSubItemClicked.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.onMegaMenuSubItemClicked(item);\n });\n\n item.megaMenuSubItemKeydown.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.onMegaMenuSubItemKeydown(item, evt);\n });\n }\n\n private onMegaMenuSubItemClicked(item: EclMegaMenuSubitemComponent): void {\n this.submenuItems.filter(subItem => subItem !== item).forEach(el => {\n el.onSubMenuItemCollapse();\n if (this.isMobileBreakpoint && item.hasChildren) {\n el.onHide();\n }\n });\n }\n\n private onMegaMenuSubItemKeydown(item: EclMegaMenuSubitemComponent, evt: KeyboardEvent): void {\n\n const itemIndex = this.submenuItems.toArray().findIndex(elem => elem === item);\n switch (evt.key) {\n case KeyCode.ARROW_DOWN: {\n evt.preventDefault();\n this.focusOnNextSibling(itemIndex);\n break;\n }\n case KeyCode.ARROW_UP: {\n evt.preventDefault();\n this.focusOnPrevSibling(itemIndex);\n break;\n }\n default: {\n break;\n }\n }\n }\n\n private focusOnPrevSibling(index: number): void {\n if (index > 0) {\n this.submenuItems.get(index-1).onFocus();\n }\n }\n\n private focusOnNextSibling(index: number): void {\n if (index < this.submenuItems.length - 1) {\n this.submenuItems.get(index+1).onFocus();\n }\n }\n\n private resetStyles(): void {\n if (this.isMobileBreakpoint) {\n this.isScrollable = true;\n } else {\n this.isScrollable = false;\n }\n }\n\n private observeBreakpointChanges(): void {\n this.cdkBreakpointObserver\n .observe(['(max-width: 996px)'])\n .pipe(takeUntil(this.destroy$))\n .subscribe((result) => {\n this.isMobileBreakpoint = result.matches;\n setTimeout(() => this.resetStyles());\n });\n }\n}\n","import { AfterViewInit, Component, ContentChild, ElementRef, HostBinding, Input, forwardRef } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclLinkDirective } from '@eui/ecl/components/ecl-link';\nimport { EclMegaMenuDataService } from '../services';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'div[eclMegaMenuInfo]',\n templateUrl: './ecl-mega-menu-info.component.html',\n standalone: false,\n})\n\nexport class EclMegaMenuInfoComponent extends ECLBaseDirective implements AfterViewInit {\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-mega-menu__info'),\n this.linkItem ? 'ecl-mega-menu__info--has-link' : '',\n ]\n .join(' ')\n .trim();\n }\n @HostBinding('style.height.px') eclMegaMenuInfoStyleHeight: number | null = null;\n @HostBinding('style.opacity') eclMegaMenuInfoStyleOpacity: number | null = null;\n\n @Input() title: string;\n\n @ContentChild(forwardRef(() => EclLinkDirective)) linkItem: EclLinkDirective;\n\n constructor(public el: ElementRef, private eclMegaMenuDataService: EclMegaMenuDataService) {\n super();\n }\n\n ngAfterViewInit(): void {\n if (this.linkItem) {\n setTimeout(() => this.linkItem.class = 'ecl-mega-menu__info-link');\n }\n\n this.publishSize();\n }\n\n getInfoPanelScrollHeight() : number {\n return this.el.nativeElement.scrollHeight;\n }\n\n private publishSize(): void {\n const bottomY = this.el.nativeElement.getBoundingClientRect().bottom;\n this.eclMegaMenuDataService.updateEclMegaMenuInfoSize(bottomY);\n }\n}\n","<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>","import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\nimport { Component, ContentChild, ElementRef, EventEmitter, HostBinding, HostListener, Input, OnDestroy, Output,\n Renderer2, ViewChild, afterNextRender, forwardRef } from '@angular/core';\nimport { Params, QueryParamsHandling } from '@angular/router';\nimport { Subject, takeUntil } from 'rxjs';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { KeyCode } from '@eui/ecl/core';\nimport { EclLinkDirective } from '@eui/ecl/components/ecl-link';\nimport { EclButtonComponent } from '@eui/ecl/components/ecl-button';\nimport { EclMegaMenuService } from '../services';\nimport { EclMegaMenuDataService } from '../services';\nimport { EclMegaMenuContainerDirective } from '../directives/ecl-mega-menu-container.directive';\nimport { EclMegaMenuSublistDirective } from '../directives/ecl-mega-menu-list.directive';\nimport { EclMegaMenuInfoComponent } from '../ecl-mega-menu-info/ecl-mega-menu-info.component';\nimport { EclHeaderMenuComunicationService } from '@eui/ecl/shared';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'li[eclMegaMenuItem]',\n templateUrl: './ecl-mega-menu-item.component.html',\n standalone: false,\n})\n\nexport class EclMegaMenuItemComponent extends ECLBaseDirective implements OnDestroy {\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-mega-menu__item'),\n this.eclMegaMenuSublist ? 'ecl-mega-menu__item--has-children' : '',\n this.eclMegaMenuContainer ? 'ecl-mega-menu__item--has-container' : '',\n this.isCurrent ? 'ecl-mega-menu__item--current' : '',\n this.isExpanded ? 'ecl-mega-menu__item--expanded' : '',\n ]\n .join(' ')\n .trim();\n }\n\n @HostBinding('attr.aria-expanded') isExpanded = false;\n @HostBinding('attr.aria-haspopup') hasPopup = this.hasChildren ? true : null;\n\n @Input() label: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Input() routerLink: string | any[] = null;\n @Input() queryParams: Params | null = null;\n @Input() queryParamsHandling: QueryParamsHandling = null;\n @Input() href = '';\n @Input() target = '';\n @Input() linkExtraAttributes: { [key: string]: string };\n\n @Output() megaMenuItemClicked = new EventEmitter();\n @Output() megaMenuItemKeydown = new EventEmitter<KeyboardEvent>();\n @ViewChild('eclMegaMenuMega') eclMegaMenuMega: ElementRef;\n @ViewChild('mainPanel') mainPanel: ElementRef;\n @ViewChild(EclLinkDirective) menuLink: EclLinkDirective;\n @ViewChild('menuBtn') menuBtn: EclButtonComponent;\n @ContentChild(forwardRef(() => EclMegaMenuInfoComponent)) eclMegaMenuInfo: EclMegaMenuInfoComponent;\n @ContentChild(forwardRef(() => EclMegaMenuSublistDirective)) eclMegaMenuSublist: EclMegaMenuSublistDirective;\n @ContentChild(forwardRef(() => EclMegaMenuContainerDirective)) eclMegaMenuContainer: EclMegaMenuContainerDirective;\n\n containerStyleHeight: number | null = null;\n isCurrent = false;\n isMobileBreakpoint = false;\n megaMenuMegaStyleHeight: number | null = null;\n megaMenuMegaStyleOpacity: number | null = null;\n wrapperStyleHeight: number | null = null;\n wrapperStyleTop: number | null = null;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private isLarge = false;\n\n constructor(private cdkBreakpointObserver: BreakpointObserver, public el: ElementRef,\n private eclMegaMenuDataService: EclMegaMenuDataService,\n private eclHeaderMenuComunicationService: EclHeaderMenuComunicationService,\n private eclMegaMenuService: EclMegaMenuService,\n private renderer: Renderer2) {\n super();\n afterNextRender(() => {\n eclMegaMenuDataService.eclMegaMenuInfoBottomYSubject$.pipe(takeUntil(this.destroy$)).subscribe(value => {\n this.calculateSublistStyle(value);\n });\n if (this.menuLink) {\n eclMegaMenuService.setExtraAttributesForLink(this.menuLink.el.nativeElement, this.linkExtraAttributes);\n }\n this.observeBreakpointChanges();\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n get hasChildren(): boolean {\n return !!this.eclMegaMenuSublist || !!this.eclMegaMenuContainer;\n }\n\n get hasSublist(): boolean {\n return !!this.eclMegaMenuSublist;\n }\n\n get hasContainer(): boolean {\n return !!this.eclMegaMenuContainer;\n }\n\n onFocus(): void{\n if (this.menuLink) {\n this.menuLink.onFocus();\n } else if (this.menuBtn) {\n this.menuBtn.onFocus();\n }\n }\n\n @HostListener('window:resize')\n onResize(): void {\n setTimeout(() => {\n if (this.isExpanded) {\n this.checkDropdownHeight();\n this.calculateWrapperStyle();\n }\n });\n }\n\n onMegaMenuItemClick(): void {\n\n if (this.hasChildren) {\n this.isCurrent = !this.isCurrent;\n this.isExpanded = !this.isExpanded;\n if (this.eclMegaMenuSublist) {\n this.eclMegaMenuSublist.onParentMegaMenuItemClick(this.isExpanded);\n }\n if (this.isExpanded) {\n this.eclHeaderMenuComunicationService.updateExpanded(this.isExpanded);\n this.hidePanels();\n setTimeout(() => {\n this.checkDropdownHeight();\n });\n } else {\n this.eclHeaderMenuComunicationService.updateExpanded(this.isExpanded);\n }\n } else {\n this.eclHeaderMenuComunicationService.updateExpanded(this.isExpanded);\n }\n this.megaMenuItemClicked.emit();\n }\n\n onMegaMenuItemCollapse(): void {\n this.isCurrent = false;\n this.isExpanded = false;\n if (this.eclMegaMenuSublist) {\n this.eclMegaMenuSublist.onParentMegaMenuItemClick(this.isExpanded);\n }\n }\n\n onKeydown(evt: Event): void {\n if (evt instanceof KeyboardEvent) {\n if ((evt as KeyboardEvent).key === KeyCode.TAB && !(evt as KeyboardEvent).shiftKey) {\n // if menu is open, navigate to children\n } else {\n this.megaMenuItemKeydown.emit(evt as KeyboardEvent);\n }\n }\n }\n\n private calculateSublistStyle(bottomInfo: number): void {\n if (this.isMobileBreakpoint) {\n const availableHeight = window.innerHeight - bottomInfo - 16;\n this.eclMegaMenuSublist.styleTop = availableHeight;\n }\n }\n\n private calculateWrapperStyle(): void {\n if (this.isMobileBreakpoint) {\n const bottomY = this.el.nativeElement.getBoundingClientRect().bottom;\n this.wrapperStyleTop = bottomY;\n }\n }\n\n private resetWrapperStyle(): void {\n if (this.isMobileBreakpoint) {\n this.wrapperStyleHeight = null;\n this.wrapperStyleTop = null;\n }\n }\n\n private hidePanels(): void {\n if (this.isMobileBreakpoint) {\n return;\n }\n if (this.eclMegaMenuMega) {\n this.megaMenuMegaStyleOpacity = 0;\n }\n if (this.eclMegaMenuInfo) {\n this.eclMegaMenuInfo.eclMegaMenuInfoStyleOpacity = 0;\n }\n }\n\n private checkDropdownHeight(): void {\n let infoPanelHeight = 0;\n\n if (!this.isMobileBreakpoint) {\n const heights = [];\n let height = 0;\n let itemsHeight = 0;\n let subItemsHeight = 0;\n let featuredHeight = 0;\n\n if (this.hasContainer) {\n const viewportHeight = window.innerHeight;\n const mainTop = this.mainPanel.nativeElement.getBoundingClientRect().top;\n this.containerStyleHeight = viewportHeight - mainTop;\n } else {\n if (this.eclMegaMenuInfo) {\n infoPanelHeight = this.eclMegaMenuInfo.getInfoPanelScrollHeight() + 16;\n if (this.isLarge) {\n heights.push(infoPanelHeight);\n } else {\n itemsHeight = infoPanelHeight;\n subItemsHeight = infoPanelHeight;\n featuredHeight = infoPanelHeight;\n }\n this.eclMegaMenuInfo.eclMegaMenuInfoStyleOpacity = 1;\n }\n\n if (this.eclMegaMenuMega) {\n if (this.eclMegaMenuSublist && this.eclMegaMenuSublist.submenuItems.length > 0) {\n this.eclMegaMenuSublist.submenuItems.forEach((item) => {\n itemsHeight += item.getMegaMenuSubItemHeight();\n });\n heights.push(itemsHeight);\n }\n const expandedSubItem = this.eclMegaMenuSublist.submenuItems.find(item => item.hasChildren && item.isExpanded);\n if (expandedSubItem !== undefined) {\n expandedSubItem.submenu.submenuItems.forEach(item => {\n subItemsHeight += item.getMegaMenuSubItemHeight();\n });\n heights.push(subItemsHeight);\n if (expandedSubItem.eclMegaMenuFeatured) {\n featuredHeight += expandedSubItem.eclMegaMenuFeatured.getEclMegaMenuFeaturedHeight();\n heights.push(featuredHeight);\n }\n }\n\n const maxHeight = Math.max(...heights);\n const containerBounding = this.el.nativeElement.getBoundingClientRect();\n const containerBottom = containerBounding.bottom;\n // By requirements, limit the height to the 70% of the available space.\n const availableHeight = (window.innerHeight - containerBottom) * 0.7;\n\n if (maxHeight > availableHeight) {\n height = availableHeight;\n } else {\n height = maxHeight;\n }\n\n this.wrapperStyleHeight = height;\n if (this.eclMegaMenuMega && this.isLarge) {\n this.megaMenuMegaStyleHeight = height;\n } else if (this.eclMegaMenuMega && this.eclMegaMenuInfo) {\n this.megaMenuMegaStyleHeight = height - infoPanelHeight;\n }\n if (this.eclMegaMenuInfo && this.isLarge) {\n this.eclMegaMenuInfo.eclMegaMenuInfoStyleHeight = height;\n }\n\n if (expandedSubItem !== undefined) {\n if (this.isLarge) {\n expandedSubItem.level2StyleHeight = height;\n } else {\n expandedSubItem.level2StyleHeight = height - infoPanelHeight;\n }\n\n if (expandedSubItem.eclMegaMenuFeatured) {\n if (this.isLarge) {\n expandedSubItem.eclMegaMenuFeatured.eclMegaMenuFeaturedStyleHeight = height;\n } else {\n expandedSubItem.eclMegaMenuFeatured.eclMegaMenuFeaturedStyleHeight = height - infoPanelHeight;\n }\n }\n }\n this.megaMenuMegaStyleOpacity = 1;\n }\n }\n }\n }\n\n private observeBreakpointChanges(): void {\n this.cdkBreakpointObserver\n .observe([Breakpoints.Handset, Breakpoints.Tablet, Breakpoints.Small,'(min-width: 1140px)'])\n .pipe(takeUntil(this.destroy$))\n .subscribe((result) => {\n this.isMobileBreakpoint = result.breakpoints[Breakpoints.Handset, Breakpoints.Tablet, Breakpoints.Small];\n this.isLarge = result.breakpoints['(min-width: 1140px)'];\n this.resetWrapperStyle();\n });\n }\n}\n","@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}","import { BreakpointObserver } from '@angular/cdk/layout';\nimport {\n Component,\n ContentChildren,\n DoCheck,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n IterableDiffer, IterableDiffers,\n OnDestroy,\n Output,\n QueryList,\n Renderer2,\n afterNextRender,\n forwardRef,\n} from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { ECLClickOutsideDirective, EclRtlService, EclUserDeviceService } from '@eui/ecl/core';\nimport { KeyCode } from '@eui/ecl/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclMegaMenuItem } from './models/ecl-mega-menu-item.model';\nimport { EclMegaMenuDataService } from './services';\nimport { EclMegaMenuItemComponent } from './ecl-mega-menu-item/ecl-mega-menu-item.component';\nimport { EclHeaderMenuComunicationService } from '@eui/ecl/shared';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'nav[eclMegaMenu]',\n templateUrl: './ecl-mega-menu.component.html',\n standalone: false,\n hostDirectives: [\n {\n directive: ECLBaseDirective,\n },\n {\n directive: ECLClickOutsideDirective,\n // eslint-disable-next-line @angular-eslint/no-outputs-metadata-property\n outputs: ['eclClickOutside'],\n },\n ],\n})\n\nexport class EclMegaMenuComponent extends ECLBaseDirective implements DoCheck, OnDestroy {\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-mega-menu'),\n this.isTwoPanels ? 'ecl-mega-menu--two-panels' : '',\n this.isOnePanel ? 'ecl-mega-menu--one-panel' : '',\n this.isRtl ? 'ecl-mega-menu--rtl' : '',\n this.isTablet ? 'ecl-mega-menu--forced-mobile' : '',\n this.isStartPanel ? 'ecl-mega-menu--start-panel' : '',\n ].join(' ');\n }\n\n @HostBinding('attr.aria-expanded') isExpanded = false;\n @HostBinding('attr.role') role = 'navigation';\n\n @Output() megaMenuItemSelect = new EventEmitter<EclMegaMenuItem>();\n @ContentChildren(forwardRef(() => EclMegaMenuItemComponent), { descendants: true }) menuItems: QueryList<EclMegaMenuItemComponent>;\n\n isMobileBreakpoint = false;\n isMobileExpanded = false;\n isOnePanel = false;\n isOpenMobile = false; //used for mobile only\n isStartPanel = false;\n isTwoPanels = false;\n overlayStyleTop: number;\n innerStyleTop: number;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private differ: IterableDiffer<EclMegaMenuItemComponent>;\n private isRtl = false;\n private isTablet = false;\n private parentHeaderBottomSpaceY: number;\n\n constructor(private differs: IterableDiffers, private cdkBreakpointObserver: BreakpointObserver,\n private eclRtlService: EclRtlService, private eclUserDeviceService: EclUserDeviceService,\n private eclHeaderMenuComunicationService: EclHeaderMenuComunicationService,\n private eclMegaMenuDataService: EclMegaMenuDataService,\n private el: ElementRef,\n private renderer: Renderer2) {\n super();\n this.differ = this.differs.find([]).create();\n afterNextRender(() => {\n this.observeBreakpointChanges();\n this.handleRtlChangeState();\n this.checkIsTabletDevice();\n this.subscribeToEvents();\n });\n }\n\n ngDoCheck(): void {\n const diff = this.differ.diff(this.menuItems);\n if (diff) {\n diff.forEachItem((item) => {\n this.connectMegaMenuItemEvents(item.item);\n });\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n @HostListener('eclClickOutside')\n onClickOutsideMegaMenu(): void {\n if (this.isExpanded) {\n this.closeMenuAndAnyOpenSubMenu();\n }\n }\n\n onMegaMenuMobileOpen(): void {\n if (this.isOpenMobile) {\n this.onMegaMenuMobileClose();\n } else {\n this.disableScroll();\n this.isExpanded = true;\n this.isOnePanel = false;\n this.isTwoPanels = false;\n\n if (this.isMobileBreakpoint) {\n this.isStartPanel = true;\n this.isMobileExpanded = true;\n }\n this.isOpenMobile = true;\n\n this.eclHeaderMenuComunicationService.updateOpen(true);\n\n // Focus first element\n if (this.menuItems.length > 0) {\n this.menuItems.first.onFocus();\n }\n }\n }\n\n onMegaMenuMobileClose(): void {\n this.enableScroll();\n this.collapseMenu();\n\n if (this.isMobileBreakpoint) {\n this.isStartPanel = false;\n this.isMobileExpanded = false;\n }\n this.isOpenMobile = false;\n }\n\n onMegaMenuBack(): void {\n if (this.isOnePanel) {\n this.onMegaMenuBackToStartPanel();\n } else if (this.isTwoPanels) {\n this.onMegaMenuBackToOnePanel();\n }\n }\n\n positionMenuOverlay(parentHeaderBottomSpaceY): void {\n this.parentHeaderBottomSpaceY = parentHeaderBottomSpaceY;\n if (this.isMobileBreakpoint && parentHeaderBottomSpaceY) {\n this.overlayStyleTop = parentHeaderBottomSpaceY;\n this.innerStyleTop = parentHeaderBottomSpaceY;\n } else {\n if (this.parentHeaderBottomSpaceY) {\n this.overlayStyleTop = parentHeaderBottomSpaceY;\n } else {\n const menuBottomY = this.el.nativeElement.getBoundingClientRect().bottom;\n this.overlayStyleTop = menuBottomY;\n }\n }\n }\n\n private onMegaMenuBackToOnePanel(): void {\n\n this.isStartPanel = false;\n this.isTwoPanels = false;\n this.isOnePanel = true;\n const currentItem = this.menuItems.find(item => item.isExpanded);\n const currentSubItem = currentItem.eclMegaMenuSublist.submenuItems.find(item => item.isExpanded);\n if (this.isMobileBreakpoint) {\n currentItem.eclMegaMenuSublist.submenuItems.filter(item => !item.isExpanded).forEach(el => {\n el.onShow();\n });\n }\n currentSubItem.isCurrent = false;\n currentSubItem.isExpanded = false;\n }\n\n private onMegaMenuBackToStartPanel(): void {\n this.isOnePanel = false;\n this.isStartPanel = true;\n const currentItem = this.menuItems.find(item => item.isExpanded);\n currentItem.isCurrent = false;\n currentItem.isExpanded = false;\n this.eclHeaderMenuComunicationService.updateExpanded(false);\n }\n\n private subscribeToEvents(): void {\n\n this.eclMegaMenuDataService.eclSubItemExpanded$.pipe(takeUntil(this.destroy$)).subscribe(isExpanded => {\n this.isTwoPanels = isExpanded;\n this.isOnePanel = !isExpanded;\n this.isStartPanel = false;\n });\n\n this.eclMegaMenuDataService.eclSubItemClicked$.pipe(takeUntil(this.destroy$)).subscribe(item => {\n this.onSubMenuItemClicked(item);\n this.megaMenuItemSelect.emit(item);\n });\n\n this.eclMegaMenuDataService.eclSubItemEscape$.pipe(takeUntil(this.destroy$)).subscribe(item => {\n this.closeMenuAndAnyOpenSubMenu();\n });\n }\n\n private connectMegaMenuItemEvents(item: EclMegaMenuItemComponent): void {\n item.megaMenuItemClicked.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.onMegaMenuItemClicked(item);\n });\n\n item.megaMenuItemKeydown.pipe(takeUntil(this.destroy$)).subscribe((evt: KeyboardEvent) => {\n this.onMegaMenuItemKeydown(item, evt);\n });\n }\n\n private onMegaMenuItemClicked(item: EclMegaMenuItemComponent): void {\n this.menuItems.filter(megaItem => megaItem !== item).forEach(item => item.onMegaMenuItemCollapse());\n if (item.hasChildren) {\n if (item.isExpanded) {\n if (this.isMobileBreakpoint) {\n this.isOnePanel = true;\n this.isTwoPanels = false;\n this.isStartPanel = false;\n } else {\n if (item.eclMegaMenuSublist?.submenuItems.first.hasChildren) {\n this.isOnePanel = false;\n this.isTwoPanels = true;\n } else {\n this.isOnePanel = true;\n this.isTwoPanels = false;\n }\n }\n this.positionMenuOverlay(this.parentHeaderBottomSpaceY);\n this.isExpanded = true;\n this.disableScroll();\n } else {\n this.collapseMenu();\n }\n } else {\n this.collapseMenu();\n }\n this.megaMenuItemSelect.emit(item);\n }\n\n private onMegaMenuItemKeydown(item: EclMegaMenuItemComponent, evt: KeyboardEvent): void {\n\n const itemIndex = this.menuItems.toArray().findIndex(elem => elem === item);\n switch (evt.key) {\n case KeyCode.ARROW_DOWN: {\n evt.preventDefault();\n this.focusOnPrevSibling(itemIndex);\n break;\n }\n case KeyCode.ARROW_UP: {\n evt.preventDefault();\n this.focusOnNextSibling(itemIndex);\n break;\n }\n case KeyCode.ARROW_LEFT: {\n evt.preventDefault();\n this.focusOnPrevSibling(itemIndex);\n break;\n }\n case KeyCode.ARROW_RIGHT: {\n evt.preventDefault();\n this.focusOnNextSibling(itemIndex);\n break;\n }\n case KeyCode.ESCAPE: {\n this.closeMenuAndAnyOpenSubMenu();\n break;\n }\n default: {\n break;\n }\n }\n }\n\n private onSubMenuItemClicked(item: EclMegaMenuItem): void {\n if (!item.hasChildren) {\n this.closeMenuAndAnyOpenSubMenu();\n }\n }\n\n private closeMenuAndAnyOpenSubMenu(): void {\n if (this.isExpanded) {\n const expandedItem = this.menuItems.find(item => item.isExpanded);\n if (expandedItem !== undefined) {\n expandedItem.onMegaMenuItemCollapse();\n }\n this.collapseMenu();\n }\n }\n\n private collapseMenu(): void {\n this.isExpanded = false;\n this.isTwoPanels = false;\n this.isOnePanel = false;\n this.enableScroll();\n this.eclHeaderMenuComunicationService.updateExpanded(false);\n }\n\n private focusOnPrevSibling(index: number): void {\n if (index > 0) {\n this.menuItems.get(index-1).onFocus();\n }\n }\n\n private focusOnNextSibling(index: number): void {\n if (index < this.menuItems.length - 1) {\n this.menuItems.get(index+1).onFocus();\n }\n }\n\n private checkIsTabletDevice(): void {\n const userAgent = navigator.userAgent.toLowerCase();\n this.isTablet = this.eclUserDeviceService.isTabletDevice(userAgent);\n }\n\n private observeBreakpointChanges(): void {\n this.cdkBreakpointObserver\n .observe(['(max-width: 996px)'])\n .pipe(takeUntil(this.destroy$))\n .subscribe((result) => {\n this.isMobileBreakpoint = result.matches;\n });\n }\n\n private handleRtlChangeState(): void {\n this.eclRtlService.currentRtlState$.pipe(takeUntil(this.destroy$)).subscribe((rtlState) => {\n if (rtlState !== undefined) {\n this.isRtl = rtlState;\n }\n });\n }\n\n private disableScroll(): void {\n const scrollBarWidth = window.innerWidth - document.documentElement.clientWidth;\n this.renderer.addClass(document.body, 'ecl-mega-menu-prevent-scroll');\n }\n\n private enableScroll(): void {\n this.renderer.removeClass(document.body, 'ecl-mega-menu-prevent-scroll');\n }\n}\n","<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>","import { LayoutModule } from '@angular/cdk/layout';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclButtonModule } from '@eui/ecl/components/ecl-button';\nimport { EclIconModule } from '@eui/ecl/components/ecl-icon';\nimport { EclLinkModule } from '@eui/ecl/components/ecl-link';\nimport { EclMegaMenuContainerDirective } from './directives/ecl-mega-menu-container.directive';\nimport { EclMegaMenuFeaturedListDirective, EclMegaMenuFeaturedListItemDirective } from './directives/ecl-mega-menu-featured-list.directive';\nimport { EclMegaMenuFeaturedImageDirective, EclMegaMenuFeaturedPictureDirective } from './directives/ecl-mega-menu-featured-picture.directive';\nimport { EclMegaMenuListDirective, EclMegaMenuSpacerDirective, EclMegaMenuSublistDirective } from './directives/ecl-mega-menu-list.directive';\nimport { EclMegaMenuFeaturedComponent } from './ecl-mega-menu-featured/ecl-mega-menu-featured.component';\nimport { EclMegaMenuInfoComponent } from './ecl-mega-menu-info/ecl-mega-menu-info.component';\nimport { EclMegaMenuItemComponent } from './ecl-mega-menu-item/ecl-mega-menu-item.component';\nimport { EclMegaMenuSubitemComponent } from './ecl-mega-menu-subitem/ecl-mega-menu-subitem.component';\nimport { EclMegaMenuComponent } from './ecl-mega-menu.component';\n\nconst COMPONENTS = [\n EclMegaMenuComponent,\n EclMegaMenuItemComponent,\n EclMegaMenuSubitemComponent,\n EclMegaMenuInfoComponent,\n EclMegaMenuFeaturedComponent,\n EclMegaMenuFeaturedPictureDirective,\n EclMegaMenuFeaturedImageDirective,\n EclMegaMenuFeaturedListDirective,\n EclMegaMenuFeaturedListItemDirective,\n EclMegaMenuListDirective,\n EclMegaMenuSublistDirective,\n EclMegaMenuContainerDirective,\n EclMegaMenuSpacerDirective,\n];\n\n@NgModule({\n imports: [\n EclButtonModule,\n EclIconModule,\n EclLinkModule,\n CommonModule,\n RouterModule,\n LayoutModule,\n TranslateModule,\n ],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclMegaMenuModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.EclMegaMenuDataService","i2.EclMegaMenuService","i1.EclMegaMenuDataService","i3","i4","i5","i6","i4.EclMegaMenuDataService","i7"],"mappings":"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"}