@eui/ecl 18.0.0-next.2 → 18.0.0-next.21

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 (554) hide show
  1. package/assets/i18n-ecl/bg.json +1 -1
  2. package/assets/i18n-ecl/cs.json +1 -1
  3. package/assets/i18n-ecl/da.json +1 -1
  4. package/assets/i18n-ecl/de.json +1 -1
  5. package/assets/i18n-ecl/el.json +1 -1
  6. package/assets/i18n-ecl/en.json +1 -1
  7. package/assets/i18n-ecl/es.json +1 -1
  8. package/assets/i18n-ecl/et.json +1 -1
  9. package/assets/i18n-ecl/fi.json +1 -1
  10. package/assets/i18n-ecl/fr.json +1 -1
  11. package/assets/i18n-ecl/ga.json +1 -1
  12. package/assets/i18n-ecl/hr.json +1 -1
  13. package/assets/i18n-ecl/hu.json +1 -1
  14. package/assets/i18n-ecl/it.json +1 -1
  15. package/assets/i18n-ecl/lt.json +1 -1
  16. package/assets/i18n-ecl/lv.json +1 -1
  17. package/assets/i18n-ecl/mt.json +1 -1
  18. package/assets/i18n-ecl/nl.json +1 -1
  19. package/assets/i18n-ecl/pl.json +1 -1
  20. package/assets/i18n-ecl/pt.json +1 -1
  21. package/assets/i18n-ecl/ro.json +1 -1
  22. package/assets/i18n-ecl/sk.json +1 -1
  23. package/assets/i18n-ecl/sl.json +1 -1
  24. package/assets/i18n-ecl/sv.json +1 -1
  25. package/docs/classes/{EclMessageCloseEvent.html → EclNotificationCloseEvent.html} +3 -3
  26. package/docs/components/EclAccordionComponent.html +2 -2
  27. package/docs/components/EclAccordionItemComponent.html +2 -2
  28. package/docs/components/EclAppComponent.html +2 -2
  29. package/docs/components/EclBannerComponent.html +2 -2
  30. package/docs/components/EclBlockquoteComponent.html +2 -2
  31. package/docs/components/EclBreadcrumbComponent.html +2 -2
  32. package/docs/components/EclBreadcrumbSegmentComponent.html +3 -3
  33. package/docs/components/EclButtonComponent.html +2 -2
  34. package/docs/components/EclCardBodyComponent.html +2 -2
  35. package/docs/components/EclCardComponent.html +2 -2
  36. package/docs/components/EclCarouselComponent.html +71 -26
  37. package/docs/components/EclCarouselItemComponent.html +2 -2
  38. package/docs/components/EclCategoryFilterComponent.html +2 -2
  39. package/docs/components/EclCategoryFilterItemComponent.html +2 -2
  40. package/docs/components/EclCategoryFilterListComponent.html +2 -2
  41. package/docs/components/EclCheckboxHelpComponent.html +2 -2
  42. package/docs/components/EclCheckboxLabelComponent.html +2 -2
  43. package/docs/components/EclContentBlockComponent.html +2 -2
  44. package/docs/components/EclContentItemComponent.html +2 -2
  45. package/docs/components/EclDateBlockComponent.html +2 -2
  46. package/docs/components/EclDescriptionListDefinitionComponent.html +2 -2
  47. package/docs/components/EclExpandableComponent.html +2 -2
  48. package/docs/components/EclFactFiguresComponent.html +2 -2
  49. package/docs/components/EclFactFiguresDescriptionComponent.html +2 -2
  50. package/docs/components/EclFactFiguresItemComponent.html +2 -2
  51. package/docs/components/EclFactFiguresTitleComponent.html +2 -2
  52. package/docs/components/EclFactFiguresValueComponent.html +2 -2
  53. package/docs/components/EclFactFiguresViewAllComponent.html +2 -2
  54. package/docs/components/EclFeaturedComponent.html +7 -7
  55. package/docs/components/EclFeaturedItemComponent.html +3 -3
  56. package/docs/components/EclFeaturedItemDescriptionComponent.html +2 -2
  57. package/docs/components/{EclListIllustrationImageComponent.html → EclFeaturedItemFooterComponent.html} +21 -193
  58. package/docs/components/EclFileComponent.html +80 -274
  59. package/docs/components/EclFileItemComponent.html +10 -253
  60. package/docs/components/EclFileItemsComponent.html +4 -4
  61. package/docs/components/EclFileTaxonomyComponent.html +2 -2
  62. package/docs/components/EclFormGroupComponent.html +2 -2
  63. package/docs/components/EclFormLabelComponent.html +2 -2
  64. package/docs/components/EclGalleryComponent.html +2 -2
  65. package/docs/components/EclGalleryFooterComponent.html +2 -2
  66. package/docs/components/EclGalleryItemComponent.html +2 -2
  67. package/docs/components/EclIconComponent.html +98 -34
  68. package/docs/components/EclInpageNavigationComponent.html +2 -2
  69. package/docs/components/EclInpageNavigationItemComponent.html +2 -2
  70. package/docs/components/EclListIllustrationComponent.html +4 -4
  71. package/docs/components/EclListIllustrationItemComponent.html +2 -2
  72. package/docs/components/{EclSpinnerComponent.html → EclLoadingIndicatorComponent.html} +13 -13
  73. package/docs/components/EclMediaContainerComponent.html +11 -161
  74. package/docs/components/EclMenuComponent.html +2 -2
  75. package/docs/components/EclMenuItemComponent.html +2 -2
  76. package/docs/components/EclMenuMegaComponent.html +2 -2
  77. package/docs/components/EclMenuMegaItemComponent.html +2 -2
  78. package/docs/components/EclModalBodyComponent.html +2 -2
  79. package/docs/components/EclModalComponent.html +2 -2
  80. package/docs/components/EclModalFooterComponent.html +2 -2
  81. package/docs/components/EclModalHeaderComponent.html +123 -3
  82. package/docs/components/EclMultiselectComponent.html +2 -2
  83. package/docs/components/EclMultiselectDropdownComponent.html +2 -2
  84. package/docs/components/EclMultiselectInputComponent.html +2 -2
  85. package/docs/components/EclMultiselectOptgroupComponent.html +2 -2
  86. package/docs/components/EclMultiselectOptionComponent.html +2 -2
  87. package/docs/components/EclNavigationListComponent.html +2 -2
  88. package/docs/components/EclNavigationListImageComponent.html +2 -2
  89. package/docs/components/EclNavigationListItemComponent.html +2 -2
  90. package/docs/components/EclNewsTickerComponent.html +6 -8
  91. package/docs/components/EclNewsTickerItemComponent.html +2 -2
  92. package/docs/components/{EclMessageComponent.html → EclNotificationComponent.html} +103 -48
  93. package/docs/components/EclPageHeaderComponent.html +2 -2
  94. package/docs/components/EclPageHeaderDescriptionContainerComponent.html +2 -2
  95. package/docs/components/EclPaginationComponent.html +2 -2
  96. package/docs/components/EclPaginationItemComponent.html +2 -2
  97. package/docs/components/EclPopoverComponent.html +265 -77
  98. package/docs/components/EclRadioHelpComponent.html +2 -2
  99. package/docs/components/EclRadioLabelComponent.html +2 -2
  100. package/docs/components/EclRangeValueComponent.html +2 -2
  101. package/docs/components/EclRatingFieldComponent.html +2 -2
  102. package/docs/components/EclSearchFormComponent.html +2 -2
  103. package/docs/components/EclSelectContainerComponent.html +2 -2
  104. package/docs/components/EclSiteFooterComponent.html +2 -2
  105. package/docs/components/EclSiteFooterFixedContentECComponent.html +2 -2
  106. package/docs/components/EclSiteFooterFixedContentEUComponent.html +2 -2
  107. package/docs/components/EclSiteHeaderActionComponent.html +2 -2
  108. package/docs/components/EclSiteHeaderBannerTopComponent.html +2 -2
  109. package/docs/components/EclSiteHeaderComponent.html +2 -2
  110. package/docs/components/EclSiteHeaderEnvironmentComponent.html +2 -2
  111. package/docs/components/EclSiteHeaderLanguageComponent.html +2 -2
  112. package/docs/components/EclSiteHeaderLanguagePopoverComponent.html +2 -2
  113. package/docs/components/EclSiteHeaderLoginComponent.html +2 -2
  114. package/docs/components/EclSiteHeaderMessageComponent.html +2 -2
  115. package/docs/components/EclSiteHeaderSearchComponent.html +2 -2
  116. package/docs/components/EclSocialMediaFollowComponent.html +3 -3
  117. package/docs/components/EclSocialMediaFollowItemComponent.html +28 -4
  118. package/docs/components/EclSocialMediaShareComponent.html +2 -2
  119. package/docs/components/EclSocialMediaShareItemComponent.html +2 -2
  120. package/docs/components/EclStickyContainerComponent.html +77 -4
  121. package/docs/components/EclTabComponent.html +2 -2
  122. package/docs/components/EclTabLabelComponent.html +2 -2
  123. package/docs/components/EclTabMoreComponent.html +2 -2
  124. package/docs/components/EclTableSortButtonComponent.html +72 -27
  125. package/docs/components/EclTabsComponent.html +2 -2
  126. package/docs/components/EclTagComponent.html +54 -7
  127. package/docs/components/EclTimelineComponent.html +2 -2
  128. package/docs/components/EclTimelineItemComponent.html +2 -2
  129. package/docs/components/EclTimelineItemTogglerComponent.html +2 -2
  130. package/docs/dependencies.html +32 -50
  131. package/docs/directives/EclFeaturedItemFooterLinkDirective.html +492 -0
  132. package/docs/directives/{EclMessageTitleDirective.html → EclFeaturedItemFooterPictureDirective.html} +4 -4
  133. package/docs/directives/EclFileTitleDirective.html +511 -0
  134. package/docs/directives/EclFileTranslationDownloadDirective.html +492 -0
  135. package/docs/directives/EclLinkDirective.html +46 -61
  136. package/docs/directives/EclListIllustrationImageDirective.html +1 -1
  137. package/docs/directives/{EclSpinnerLabelDirective.html → EclLoadingIndicatorLabelDirective.html} +4 -4
  138. package/docs/directives/{EclPopoverItemDirective.html → EclLoadingIndicatorOverlayDirective.html} +4 -4
  139. package/docs/directives/EclMediaContainerItemDirective.html +0 -76
  140. package/docs/directives/{EclPopoverLinkDirective.html → EclNotificationTitleDirective.html} +4 -4
  141. package/docs/directives/EclTableDirective.html +1 -1
  142. package/docs/directives/EclTableHeaderDirective.html +32 -1
  143. package/docs/directives/{EclPopoverListDirective.html → EclTagSetDirective.html} +4 -4
  144. package/docs/index.html +2 -2
  145. package/docs/js/menu-wc.js +177 -136
  146. package/docs/js/menu-wc_es5.js +1 -1
  147. package/docs/js/search/search_index.js +2 -2
  148. package/docs/miscellaneous/variables.html +40 -56
  149. package/docs/modules/EclAllModule.html +12 -12
  150. package/docs/modules/EclFeaturedModule.html +32 -8
  151. package/docs/modules/{EclMessageComponentModule.html → EclLoadingIndicatorComponentModule.html} +13 -7
  152. package/docs/modules/{EclSpinnerComponentModule.html → EclNotificationComponentModule.html} +7 -7
  153. package/docs/modules/EclTagComponentModule.html +6 -0
  154. package/docs/modules.html +18 -18
  155. package/esm2022/lib/components/ecl-accordion/ecl-accordion-item.component.mjs +4 -4
  156. package/esm2022/lib/components/ecl-accordion/ecl-accordion.component.mjs +4 -4
  157. package/esm2022/lib/components/ecl-accordion/ecl-accordion.module.mjs +4 -4
  158. package/esm2022/lib/components/ecl-app/ecl-app.component.mjs +4 -4
  159. package/esm2022/lib/components/ecl-app/ecl-app.module.mjs +4 -4
  160. package/esm2022/lib/components/ecl-banner/ecl-banner-credit.directive.mjs +3 -3
  161. package/esm2022/lib/components/ecl-banner/ecl-banner-description.directive.mjs +6 -6
  162. package/esm2022/lib/components/ecl-banner/ecl-banner-picture.directive.mjs +6 -6
  163. package/esm2022/lib/components/ecl-banner/ecl-banner-title.directive.mjs +6 -6
  164. package/esm2022/lib/components/ecl-banner/ecl-banner.component.mjs +4 -4
  165. package/esm2022/lib/components/ecl-banner/ecl-banner.module.mjs +4 -4
  166. package/esm2022/lib/components/ecl-base.directive.mjs +3 -3
  167. package/esm2022/lib/components/ecl-blockquote/ecl-blockquote-picture.directive.mjs +6 -6
  168. package/esm2022/lib/components/ecl-blockquote/ecl-blockquote.component.mjs +3 -3
  169. package/esm2022/lib/components/ecl-blockquote/ecl-blockquote.module.mjs +4 -4
  170. package/esm2022/lib/components/ecl-breadcrumb/ecl-breadcrumb-segment.component.mjs +5 -5
  171. package/esm2022/lib/components/ecl-breadcrumb/ecl-breadcrumb.component.mjs +4 -4
  172. package/esm2022/lib/components/ecl-breadcrumb/ecl-breadcrumb.module.mjs +4 -4
  173. package/esm2022/lib/components/ecl-button/ecl-button-label.directive.mjs +3 -3
  174. package/esm2022/lib/components/ecl-button/ecl-button.component.mjs +4 -4
  175. package/esm2022/lib/components/ecl-button/ecl-button.module.mjs +4 -4
  176. package/esm2022/lib/components/ecl-card/ecl-card-body.component.mjs +3 -3
  177. package/esm2022/lib/components/ecl-card/ecl-card-picture.directive.mjs +6 -6
  178. package/esm2022/lib/components/ecl-card/ecl-card.component.mjs +4 -4
  179. package/esm2022/lib/components/ecl-card/ecl-card.module.mjs +4 -4
  180. package/esm2022/lib/components/ecl-carousel/ecl-carousel-item.component.mjs +3 -3
  181. package/esm2022/lib/components/ecl-carousel/ecl-carousel.component.mjs +4 -6
  182. package/esm2022/lib/components/ecl-carousel/ecl-carousel.module.mjs +4 -4
  183. package/esm2022/lib/components/ecl-category-filter/ecl-category-filter/ecl-category-filter.component.mjs +4 -4
  184. package/esm2022/lib/components/ecl-category-filter/ecl-category-filter-list/ecl-category-filter-item.component.mjs +4 -4
  185. package/esm2022/lib/components/ecl-category-filter/ecl-category-filter-list/ecl-category-filter-list.component.mjs +4 -4
  186. package/esm2022/lib/components/ecl-category-filter/ecl-category-filter.module.mjs +4 -4
  187. package/esm2022/lib/components/ecl-checkbox/ecl-checkbox-help.component.mjs +3 -3
  188. package/esm2022/lib/components/ecl-checkbox/ecl-checkbox-input.directive.mjs +4 -4
  189. package/esm2022/lib/components/ecl-checkbox/ecl-checkbox-label.component.mjs +3 -3
  190. package/esm2022/lib/components/ecl-checkbox/ecl-checkbox.directive.mjs +4 -4
  191. package/esm2022/lib/components/ecl-checkbox/ecl-checkbox.module.mjs +4 -4
  192. package/esm2022/lib/components/ecl-content-block/ecl-content-block-elements.directive.mjs +51 -51
  193. package/esm2022/lib/components/ecl-content-block/ecl-content-block.component.mjs +3 -3
  194. package/esm2022/lib/components/ecl-content-block/ecl-content-block.module.mjs +4 -4
  195. package/esm2022/lib/components/ecl-content-item/ecl-content-item-image.directive.mjs +6 -6
  196. package/esm2022/lib/components/ecl-content-item/ecl-content-item.component.mjs +4 -4
  197. package/esm2022/lib/components/ecl-content-item/ecl-content-item.module.mjs +4 -4
  198. package/esm2022/lib/components/ecl-date-block/ecl-date-block.component.mjs +4 -4
  199. package/esm2022/lib/components/ecl-date-block/ecl-date-block.module.mjs +4 -4
  200. package/esm2022/lib/components/ecl-date-picker/ecl-date-picker.directive.mjs +4 -4
  201. package/esm2022/lib/components/ecl-date-picker/ecl-date-picker.module.mjs +4 -4
  202. package/esm2022/lib/components/ecl-expandable/ecl-expandable.component.mjs +4 -4
  203. package/esm2022/lib/components/ecl-expandable/ecl-expandable.module.mjs +4 -4
  204. package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures-description.component.mjs +4 -4
  205. package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures-item.component.mjs +9 -9
  206. package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures-title.component.mjs +4 -4
  207. package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures-value.component.mjs +4 -4
  208. package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures-view-all.component.mjs +8 -8
  209. package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures.component.mjs +7 -7
  210. package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures.module.mjs +5 -5
  211. package/esm2022/lib/components/ecl-featured/ecl-featured-item-description.component.mjs +3 -3
  212. package/esm2022/lib/components/ecl-featured/ecl-featured-item-footer.component.mjs +19 -0
  213. package/esm2022/lib/components/ecl-featured/ecl-featured-item-link.directive.mjs +37 -4
  214. package/esm2022/lib/components/ecl-featured/ecl-featured-item.component.mjs +5 -6
  215. package/esm2022/lib/components/ecl-featured/ecl-featured.component.mjs +11 -16
  216. package/esm2022/lib/components/ecl-featured/ecl-featured.module.mjs +18 -8
  217. package/esm2022/lib/components/ecl-featured/index.mjs +2 -1
  218. package/esm2022/lib/components/ecl-feedback-message/ecl-feedback-message.directive.mjs +4 -4
  219. package/esm2022/lib/components/ecl-feedback-message/ecl-feedback-message.module.mjs +4 -4
  220. package/esm2022/lib/components/ecl-file/ecl-file-download.directive.mjs +21 -4
  221. package/esm2022/lib/components/ecl-file/ecl-file-item/ecl-file-item.component.mjs +7 -44
  222. package/esm2022/lib/components/ecl-file/ecl-file-items/ecl-file-items.component.mjs +12 -20
  223. package/esm2022/lib/components/ecl-file/ecl-file-picture.directive.mjs +27 -8
  224. package/esm2022/lib/components/ecl-file/ecl-file-taxonomy/ecl-file-taxonomy.component.mjs +3 -3
  225. package/esm2022/lib/components/ecl-file/ecl-file.component.mjs +22 -60
  226. package/esm2022/lib/components/ecl-file/ecl-file.module.mjs +13 -7
  227. package/esm2022/lib/components/ecl-file/index.mjs +1 -2
  228. package/esm2022/lib/components/ecl-file-upload/ecl-file-upload.directive.mjs +4 -4
  229. package/esm2022/lib/components/ecl-file-upload/ecl-file-upload.module.mjs +4 -4
  230. package/esm2022/lib/components/ecl-form-group/ecl-form-group.component.mjs +3 -3
  231. package/esm2022/lib/components/ecl-form-group/ecl-form-group.module.mjs +4 -4
  232. package/esm2022/lib/components/ecl-form-label/ecl-form-label.component.mjs +3 -3
  233. package/esm2022/lib/components/ecl-form-label/ecl-form-label.module.mjs +4 -4
  234. package/esm2022/lib/components/ecl-gallery/ecl-gallery-footer.component.mjs +3 -3
  235. package/esm2022/lib/components/ecl-gallery/ecl-gallery-item.component.mjs +3 -3
  236. package/esm2022/lib/components/ecl-gallery/ecl-gallery-media.directive.mjs +7 -7
  237. package/esm2022/lib/components/ecl-gallery/ecl-gallery.component.mjs +4 -4
  238. package/esm2022/lib/components/ecl-gallery/ecl-gallery.module.mjs +4 -4
  239. package/esm2022/lib/components/ecl-help-block/ecl-help-block.directive.mjs +3 -3
  240. package/esm2022/lib/components/ecl-help-block/ecl-help-block.module.mjs +4 -4
  241. package/esm2022/lib/components/ecl-icon/ecl-icon.component.mjs +25 -42
  242. package/esm2022/lib/components/ecl-icon/ecl-icon.module.mjs +4 -4
  243. package/esm2022/lib/components/ecl-inpage-navigation/ecl-inpage-navigation-item.component.mjs +3 -3
  244. package/esm2022/lib/components/ecl-inpage-navigation/ecl-inpage-navigation.component.mjs +4 -4
  245. package/esm2022/lib/components/ecl-inpage-navigation/ecl-inpage-navigation.module.mjs +4 -4
  246. package/esm2022/lib/components/ecl-label/ecl-label.directive.mjs +3 -3
  247. package/esm2022/lib/components/ecl-label/ecl-label.module.mjs +4 -4
  248. package/esm2022/lib/components/ecl-link/ecl-link-label.directive.mjs +4 -4
  249. package/esm2022/lib/components/ecl-link/ecl-link.directive.mjs +33 -67
  250. package/esm2022/lib/components/ecl-link/ecl-link.module.mjs +4 -4
  251. package/esm2022/lib/components/ecl-list/ecl-description-list-definition/ecl-description-list-definition.component.mjs +4 -4
  252. package/esm2022/lib/components/ecl-list/ecl-description-list-definition-item.directive.mjs +6 -6
  253. package/esm2022/lib/components/ecl-list/ecl-list.directive.mjs +19 -19
  254. package/esm2022/lib/components/ecl-list/ecl-list.module.mjs +4 -4
  255. package/esm2022/lib/components/ecl-list-illustration/ecl-list-illustration-icon.directive.mjs +3 -3
  256. package/esm2022/lib/components/ecl-list-illustration/ecl-list-illustration-item.component.mjs +3 -3
  257. package/esm2022/lib/components/ecl-list-illustration/ecl-list-illustration-picture.directive.mjs +10 -15
  258. package/esm2022/lib/components/ecl-list-illustration/ecl-list-illustration.component.mjs +9 -17
  259. package/esm2022/lib/components/ecl-list-illustration/ecl-list-illustration.module.mjs +5 -9
  260. package/esm2022/lib/components/ecl-list-illustration/index.mjs +1 -2
  261. package/esm2022/lib/components/ecl-loading-indicator/ecl-loading-indicator-label.directive.mjs +19 -0
  262. package/esm2022/lib/components/ecl-loading-indicator/ecl-loading-indicator-overlay.directive.mjs +20 -0
  263. package/esm2022/lib/components/ecl-loading-indicator/ecl-loading-indicator.component.mjs +43 -0
  264. package/esm2022/lib/components/ecl-loading-indicator/ecl-loading-indicator.module.mjs +21 -0
  265. package/esm2022/lib/components/ecl-loading-indicator/index.mjs +5 -0
  266. package/esm2022/lib/components/ecl-media-container/ecl-media-container-iframe.directive.mjs +4 -4
  267. package/esm2022/lib/components/ecl-media-container/ecl-media-container-item.directive.mjs +5 -16
  268. package/esm2022/lib/components/ecl-media-container/ecl-media-container-picture.directive.mjs +3 -3
  269. package/esm2022/lib/components/ecl-media-container/ecl-media-container.component.mjs +9 -32
  270. package/esm2022/lib/components/ecl-media-container/ecl-media-container.module.mjs +4 -4
  271. package/esm2022/lib/components/ecl-menu/ecl-menu/ecl-menu-item.component.mjs +4 -4
  272. package/esm2022/lib/components/ecl-menu/ecl-menu/ecl-menu.component.mjs +4 -4
  273. package/esm2022/lib/components/ecl-menu/ecl-menu-mega/ecl-menu-mega-item.component.mjs +4 -4
  274. package/esm2022/lib/components/ecl-menu/ecl-menu-mega/ecl-menu-mega.component.mjs +4 -4
  275. package/esm2022/lib/components/ecl-menu/ecl-menu.module.mjs +4 -4
  276. package/esm2022/lib/components/ecl-modal/ecl-modal-body-fixed.directive.mjs +3 -3
  277. package/esm2022/lib/components/ecl-modal/ecl-modal-body.component.mjs +3 -3
  278. package/esm2022/lib/components/ecl-modal/ecl-modal-close.directive.mjs +3 -3
  279. package/esm2022/lib/components/ecl-modal/ecl-modal-footer.component.mjs +4 -4
  280. package/esm2022/lib/components/ecl-modal/ecl-modal-header.component.mjs +21 -11
  281. package/esm2022/lib/components/ecl-modal/ecl-modal-trigger.directive.mjs +3 -3
  282. package/esm2022/lib/components/ecl-modal/ecl-modal.component.mjs +4 -4
  283. package/esm2022/lib/components/ecl-modal/ecl-modal.module.mjs +4 -4
  284. package/esm2022/lib/components/ecl-multiselect/boldText.pipe.mjs +4 -4
  285. package/esm2022/lib/components/ecl-multiselect/ecl-multiselect-dropdown/ecl-multiselect-dropdown.component.mjs +4 -4
  286. package/esm2022/lib/components/ecl-multiselect/ecl-multiselect-input/ecl-multiselect-input.component.mjs +4 -4
  287. package/esm2022/lib/components/ecl-multiselect/ecl-multiselect-optgroup/ecl-multiselect-optgroup.component.mjs +3 -3
  288. package/esm2022/lib/components/ecl-multiselect/ecl-multiselect-option/ecl-multiselect-option.component.mjs +3 -3
  289. package/esm2022/lib/components/ecl-multiselect/ecl-multiselect-option.directive.mjs +3 -3
  290. package/esm2022/lib/components/ecl-multiselect/ecl-multiselect.component.mjs +4 -4
  291. package/esm2022/lib/components/ecl-multiselect/ecl-multiselect.module.mjs +4 -4
  292. package/esm2022/lib/components/ecl-navigation-list/ecl-navigation-list-image/ecl-navigation-list-image.component.mjs +3 -3
  293. package/esm2022/lib/components/ecl-navigation-list/ecl-navigation-list-item.component.mjs +4 -4
  294. package/esm2022/lib/components/ecl-navigation-list/ecl-navigation-list-picture.directive.mjs +6 -6
  295. package/esm2022/lib/components/ecl-navigation-list/ecl-navigation-list.component.mjs +3 -3
  296. package/esm2022/lib/components/ecl-navigation-list/ecl-navigation-list.module.mjs +4 -4
  297. package/esm2022/lib/components/ecl-news-ticker/ecl-news-ticker-item.component.mjs +4 -4
  298. package/esm2022/lib/components/ecl-news-ticker/ecl-news-ticker.component.mjs +14 -21
  299. package/esm2022/lib/components/ecl-news-ticker/ecl-news-ticker.module.mjs +4 -4
  300. package/esm2022/lib/components/ecl-notification/ecl-notification-title.directive.mjs +20 -0
  301. package/esm2022/lib/components/ecl-notification/ecl-notification.component.mjs +82 -0
  302. package/esm2022/lib/components/ecl-notification/ecl-notification.module.mjs +23 -0
  303. package/esm2022/lib/components/ecl-notification/index.mjs +4 -0
  304. package/esm2022/lib/components/ecl-page-header/ecl-page-header-background.directive.mjs +6 -6
  305. package/esm2022/lib/components/ecl-page-header/ecl-page-header-description/ecl-page-header-description.component.mjs +4 -4
  306. package/esm2022/lib/components/ecl-page-header/ecl-page-header-description.directive.mjs +9 -9
  307. package/esm2022/lib/components/ecl-page-header/ecl-page-header-meta.directive.mjs +6 -6
  308. package/esm2022/lib/components/ecl-page-header/ecl-page-header-title.directive.mjs +3 -3
  309. package/esm2022/lib/components/ecl-page-header/ecl-page-header.component.mjs +4 -4
  310. package/esm2022/lib/components/ecl-page-header/ecl-page-header.module.mjs +4 -4
  311. package/esm2022/lib/components/ecl-pagination/ecl-pagination-item.component.mjs +4 -4
  312. package/esm2022/lib/components/ecl-pagination/ecl-pagination.component.mjs +4 -4
  313. package/esm2022/lib/components/ecl-pagination/ecl-pagination.module.mjs +4 -4
  314. package/esm2022/lib/components/ecl-popover/ecl-popover-content.directive.mjs +3 -3
  315. package/esm2022/lib/components/ecl-popover/ecl-popover-toggle.directive.mjs +4 -4
  316. package/esm2022/lib/components/ecl-popover/ecl-popover.component.mjs +178 -37
  317. package/esm2022/lib/components/ecl-popover/ecl-popover.module.mjs +11 -20
  318. package/esm2022/lib/components/ecl-popover/index.mjs +1 -2
  319. package/esm2022/lib/components/ecl-radio/ecl-radio-help.component.mjs +3 -3
  320. package/esm2022/lib/components/ecl-radio/ecl-radio-input.directive.mjs +4 -4
  321. package/esm2022/lib/components/ecl-radio/ecl-radio-label.component.mjs +3 -3
  322. package/esm2022/lib/components/ecl-radio/ecl-radio.directive.mjs +4 -4
  323. package/esm2022/lib/components/ecl-radio/ecl-radio.module.mjs +4 -4
  324. package/esm2022/lib/components/ecl-range/ecl-range-value.component.mjs +3 -3
  325. package/esm2022/lib/components/ecl-range/ecl-range.directive.mjs +4 -4
  326. package/esm2022/lib/components/ecl-range/ecl-range.module.mjs +4 -4
  327. package/esm2022/lib/components/ecl-rating-field/ecl-rating-field.component.mjs +3 -3
  328. package/esm2022/lib/components/ecl-rating-field/ecl-rating-field.module.mjs +4 -4
  329. package/esm2022/lib/components/ecl-search-form/ecl-search-form.component.mjs +3 -3
  330. package/esm2022/lib/components/ecl-search-form/ecl-search-form.module.mjs +4 -4
  331. package/esm2022/lib/components/ecl-select/ecl-select-container.component.mjs +3 -3
  332. package/esm2022/lib/components/ecl-select/ecl-select.directive.mjs +4 -4
  333. package/esm2022/lib/components/ecl-select/ecl-select.module.mjs +4 -4
  334. package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ec/ecl-site-footer-fixed-content.mjs +3 -3
  335. package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-column.directive.mjs +9 -9
  336. package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-description.directive.mjs +3 -3
  337. package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-link.directive.mjs +15 -15
  338. package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-list.directive.mjs +15 -15
  339. package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-section.directive.mjs +3 -3
  340. package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-title.directive.mjs +6 -6
  341. package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/eu/ecl-site-footer-fixed-content.mjs +4 -4
  342. package/esm2022/lib/components/ecl-site-footer/ecl-site-footer.component.mjs +3 -3
  343. package/esm2022/lib/components/ecl-site-footer/ecl-site-footer.module.mjs +4 -4
  344. package/esm2022/lib/components/ecl-site-header/action/ecl-site-header-action.component.mjs +3 -3
  345. package/esm2022/lib/components/ecl-site-header/banner-top/ecl-site-header-banner-top.component.mjs +3 -3
  346. package/esm2022/lib/components/ecl-site-header/cta/ecl-site-header-cta.directive.mjs +3 -3
  347. package/esm2022/lib/components/ecl-site-header/ecl-site-header-environment/ecl-site-header-environment.component.mjs +4 -4
  348. package/esm2022/lib/components/ecl-site-header/ecl-site-header.component.mjs +4 -4
  349. package/esm2022/lib/components/ecl-site-header/ecl-site-header.module.mjs +4 -4
  350. package/esm2022/lib/components/ecl-site-header/language/ecl-site-header-language-popover.component.mjs +3 -3
  351. package/esm2022/lib/components/ecl-site-header/language/ecl-site-header-language.component.mjs +4 -4
  352. package/esm2022/lib/components/ecl-site-header/login/ecl-site-header-login-details.directive.mjs +6 -6
  353. package/esm2022/lib/components/ecl-site-header/login/ecl-site-header-login.component.mjs +4 -4
  354. package/esm2022/lib/components/ecl-site-header/message/ecl-site-header-message.component.mjs +3 -3
  355. package/esm2022/lib/components/ecl-site-header/search/ecl-site-header-search.component.mjs +3 -3
  356. package/esm2022/lib/components/ecl-social-media-follow/ecl-social-media-follow-item.component.mjs +14 -10
  357. package/esm2022/lib/components/ecl-social-media-follow/ecl-social-media-follow-link.directive.mjs +4 -4
  358. package/esm2022/lib/components/ecl-social-media-follow/ecl-social-media-follow.component.mjs +7 -12
  359. package/esm2022/lib/components/ecl-social-media-follow/ecl-social-media-follow.module.mjs +7 -6
  360. package/esm2022/lib/components/ecl-social-media-share/ecl-social-media-share-item.component.mjs +4 -4
  361. package/esm2022/lib/components/ecl-social-media-share/ecl-social-media-share-link.directive.mjs +4 -4
  362. package/esm2022/lib/components/ecl-social-media-share/ecl-social-media-share.component.mjs +3 -3
  363. package/esm2022/lib/components/ecl-social-media-share/ecl-social-media-share.module.mjs +4 -4
  364. package/esm2022/lib/components/ecl-sticky-container/ecl-sticky-container.component.mjs +43 -20
  365. package/esm2022/lib/components/ecl-sticky-container/ecl-sticky-container.module.mjs +4 -4
  366. package/esm2022/lib/components/ecl-table/ecl-table-sort-button.component.mjs +10 -9
  367. package/esm2022/lib/components/ecl-table/ecl-table.directive.mjs +37 -36
  368. package/esm2022/lib/components/ecl-table/ecl-table.module.mjs +4 -4
  369. package/esm2022/lib/components/ecl-tabs/ecl-tab-label.component.mjs +3 -3
  370. package/esm2022/lib/components/ecl-tabs/ecl-tab-more.component.mjs +3 -3
  371. package/esm2022/lib/components/ecl-tabs/ecl-tab.component.mjs +4 -4
  372. package/esm2022/lib/components/ecl-tabs/ecl-tabs.component.mjs +4 -4
  373. package/esm2022/lib/components/ecl-tabs/ecl-tabs.module.mjs +4 -4
  374. package/esm2022/lib/components/ecl-tag/ecl-tag-set.directive.mjs +20 -0
  375. package/esm2022/lib/components/ecl-tag/ecl-tag.component.mjs +18 -10
  376. package/esm2022/lib/components/ecl-tag/ecl-tag.module.mjs +9 -8
  377. package/esm2022/lib/components/ecl-tag/index.mjs +2 -1
  378. package/esm2022/lib/components/ecl-text-area/ecl-text-area.directive.mjs +4 -4
  379. package/esm2022/lib/components/ecl-text-area/ecl-text-area.module.mjs +4 -4
  380. package/esm2022/lib/components/ecl-text-input/ecl-text-input.directive.mjs +4 -4
  381. package/esm2022/lib/components/ecl-text-input/ecl-text-input.module.mjs +4 -4
  382. package/esm2022/lib/components/ecl-timeline/ecl-timeline-item-label.directive.mjs +3 -3
  383. package/esm2022/lib/components/ecl-timeline/ecl-timeline-item-title.directive.mjs +3 -3
  384. package/esm2022/lib/components/ecl-timeline/ecl-timeline-item-toggler.component.mjs +3 -3
  385. package/esm2022/lib/components/ecl-timeline/ecl-timeline-item.component.mjs +4 -4
  386. package/esm2022/lib/components/ecl-timeline/ecl-timeline.component.mjs +4 -4
  387. package/esm2022/lib/components/ecl-timeline/ecl-timeline.module.mjs +4 -4
  388. package/esm2022/lib/components/index.mjs +3 -3
  389. package/esm2022/lib/model/ecl-dom.event.mjs +1 -1
  390. package/esm2022/lib/services/ecl-default-language.service.mjs +4 -4
  391. package/esm2022/lib/services/ecl-rtl.service.mjs +4 -4
  392. package/esm2022/lib/services/ecl-theme.service.mjs +4 -4
  393. package/esm2022/lib/shared/ecl-all.module.mjs +15 -15
  394. package/esm2022/lib/utils/directives/ecl-click-outside/ecl-click-outside.directive.mjs +4 -4
  395. package/esm2022/lib/utils/directives/ecl-hidden/ecl-hidden.directive.mjs +3 -3
  396. package/esm2022/lib/utils/directives/ecl-hidden/ecl-hidden.module.mjs +4 -4
  397. package/esm2022/lib/utils/dom/dom-helpers.mjs +1 -1
  398. package/fesm2022/eui-ecl.mjs +5342 -5372
  399. package/fesm2022/eui-ecl.mjs.map +4 -4
  400. package/lib/components/ecl-accordion/ecl-accordion-item.component.d.ts.map +1 -1
  401. package/lib/components/ecl-banner/ecl-banner.component.d.ts.map +1 -1
  402. package/lib/components/ecl-base.directive.d.ts.map +1 -1
  403. package/lib/components/ecl-breadcrumb/ecl-breadcrumb-segment.component.d.ts.map +1 -1
  404. package/lib/components/ecl-breadcrumb/ecl-breadcrumb.component.d.ts.map +1 -1
  405. package/lib/components/ecl-button/ecl-button.component.d.ts.map +1 -1
  406. package/lib/components/ecl-carousel/ecl-carousel-item.component.d.ts.map +1 -1
  407. package/lib/components/ecl-carousel/ecl-carousel.component.d.ts +2 -2
  408. package/lib/components/ecl-carousel/ecl-carousel.component.d.ts.map +1 -1
  409. package/lib/components/ecl-expandable/ecl-expandable.component.d.ts.map +1 -1
  410. package/lib/components/ecl-fact-figures/ecl-fact-figures-description.component.d.ts.map +1 -1
  411. package/lib/components/ecl-fact-figures/ecl-fact-figures-item.component.d.ts +2 -2
  412. package/lib/components/ecl-fact-figures/ecl-fact-figures-item.component.d.ts.map +1 -1
  413. package/lib/components/ecl-fact-figures/ecl-fact-figures-title.component.d.ts.map +1 -1
  414. package/lib/components/ecl-fact-figures/ecl-fact-figures-value.component.d.ts.map +1 -1
  415. package/lib/components/ecl-fact-figures/ecl-fact-figures-view-all.component.d.ts +1 -1
  416. package/lib/components/ecl-fact-figures/ecl-fact-figures-view-all.component.d.ts.map +1 -1
  417. package/lib/components/ecl-fact-figures/ecl-fact-figures.component.d.ts +1 -1
  418. package/lib/components/ecl-fact-figures/ecl-fact-figures.component.d.ts.map +1 -1
  419. package/lib/components/ecl-fact-figures/ecl-fact-figures.module.d.ts.map +1 -1
  420. package/lib/components/ecl-featured/ecl-featured-item-footer.component.d.ts +8 -0
  421. package/lib/components/ecl-featured/ecl-featured-item-footer.component.d.ts.map +1 -0
  422. package/lib/components/ecl-featured/ecl-featured-item-link.directive.d.ts +10 -0
  423. package/lib/components/ecl-featured/ecl-featured-item-link.directive.d.ts.map +1 -1
  424. package/lib/components/ecl-featured/ecl-featured.component.d.ts +3 -2
  425. package/lib/components/ecl-featured/ecl-featured.component.d.ts.map +1 -1
  426. package/lib/components/ecl-featured/ecl-featured.module.d.ts +5 -4
  427. package/lib/components/ecl-featured/ecl-featured.module.d.ts.map +1 -1
  428. package/lib/components/ecl-featured/index.d.ts +1 -0
  429. package/lib/components/ecl-featured/index.d.ts.map +1 -1
  430. package/lib/components/ecl-file/ecl-file-download.directive.d.ts +5 -0
  431. package/lib/components/ecl-file/ecl-file-download.directive.d.ts.map +1 -1
  432. package/lib/components/ecl-file/ecl-file-item/ecl-file-item.component.d.ts +4 -15
  433. package/lib/components/ecl-file/ecl-file-item/ecl-file-item.component.d.ts.map +1 -1
  434. package/lib/components/ecl-file/ecl-file-items/ecl-file-items.component.d.ts +3 -2
  435. package/lib/components/ecl-file/ecl-file-items/ecl-file-items.component.d.ts.map +1 -1
  436. package/lib/components/ecl-file/ecl-file-picture.directive.d.ts +6 -0
  437. package/lib/components/ecl-file/ecl-file-picture.directive.d.ts.map +1 -1
  438. package/lib/components/ecl-file/ecl-file.component.d.ts +9 -22
  439. package/lib/components/ecl-file/ecl-file.component.d.ts.map +1 -1
  440. package/lib/components/ecl-file/ecl-file.module.d.ts +1 -1
  441. package/lib/components/ecl-file/ecl-file.module.d.ts.map +1 -1
  442. package/lib/components/ecl-file/index.d.ts +0 -1
  443. package/lib/components/ecl-file/index.d.ts.map +1 -1
  444. package/lib/components/ecl-icon/ecl-icon.component.d.ts +11 -10
  445. package/lib/components/ecl-icon/ecl-icon.component.d.ts.map +1 -1
  446. package/lib/components/ecl-link/ecl-link-label.directive.d.ts.map +1 -1
  447. package/lib/components/ecl-link/ecl-link.directive.d.ts +11 -10
  448. package/lib/components/ecl-link/ecl-link.directive.d.ts.map +1 -1
  449. package/lib/components/ecl-list/ecl-list.directive.d.ts.map +1 -1
  450. package/lib/components/ecl-list-illustration/ecl-list-illustration-picture.directive.d.ts +2 -1
  451. package/lib/components/ecl-list-illustration/ecl-list-illustration-picture.directive.d.ts.map +1 -1
  452. package/lib/components/ecl-list-illustration/ecl-list-illustration.component.d.ts +4 -2
  453. package/lib/components/ecl-list-illustration/ecl-list-illustration.component.d.ts.map +1 -1
  454. package/lib/components/ecl-list-illustration/ecl-list-illustration.module.d.ts +6 -7
  455. package/lib/components/ecl-list-illustration/ecl-list-illustration.module.d.ts.map +1 -1
  456. package/lib/components/ecl-list-illustration/index.d.ts +0 -1
  457. package/lib/components/ecl-list-illustration/index.d.ts.map +1 -1
  458. package/lib/components/ecl-loading-indicator/ecl-loading-indicator-label.directive.d.ts +7 -0
  459. package/lib/components/ecl-loading-indicator/ecl-loading-indicator-label.directive.d.ts.map +1 -0
  460. package/lib/components/ecl-loading-indicator/ecl-loading-indicator-overlay.directive.d.ts +8 -0
  461. package/lib/components/ecl-loading-indicator/ecl-loading-indicator-overlay.directive.d.ts.map +1 -0
  462. package/lib/components/ecl-loading-indicator/ecl-loading-indicator.component.d.ts +14 -0
  463. package/lib/components/ecl-loading-indicator/ecl-loading-indicator.component.d.ts.map +1 -0
  464. package/lib/components/ecl-loading-indicator/ecl-loading-indicator.module.d.ts +12 -0
  465. package/lib/components/ecl-loading-indicator/ecl-loading-indicator.module.d.ts.map +1 -0
  466. package/lib/components/ecl-loading-indicator/index.d.ts +5 -0
  467. package/lib/components/ecl-loading-indicator/index.d.ts.map +1 -0
  468. package/lib/components/ecl-media-container/ecl-media-container-item.directive.d.ts +1 -8
  469. package/lib/components/ecl-media-container/ecl-media-container-item.directive.d.ts.map +1 -1
  470. package/lib/components/ecl-media-container/ecl-media-container.component.d.ts +2 -23
  471. package/lib/components/ecl-media-container/ecl-media-container.component.d.ts.map +1 -1
  472. package/lib/components/ecl-modal/ecl-modal-body.component.d.ts.map +1 -1
  473. package/lib/components/ecl-modal/ecl-modal-header.component.d.ts +4 -0
  474. package/lib/components/ecl-modal/ecl-modal-header.component.d.ts.map +1 -1
  475. package/lib/components/ecl-multiselect/ecl-multiselect-input/ecl-multiselect-input.component.d.ts +4 -4
  476. package/lib/components/ecl-multiselect/ecl-multiselect-input/ecl-multiselect-input.component.d.ts.map +1 -1
  477. package/lib/components/ecl-news-ticker/ecl-news-ticker.component.d.ts +4 -3
  478. package/lib/components/ecl-news-ticker/ecl-news-ticker.component.d.ts.map +1 -1
  479. package/lib/components/ecl-notification/ecl-notification-title.directive.d.ts +8 -0
  480. package/lib/components/ecl-notification/ecl-notification-title.directive.d.ts.map +1 -0
  481. package/lib/components/ecl-notification/ecl-notification.component.d.ts +26 -0
  482. package/lib/components/ecl-notification/ecl-notification.component.d.ts.map +1 -0
  483. package/lib/components/ecl-notification/ecl-notification.module.d.ts +14 -0
  484. package/lib/components/ecl-notification/ecl-notification.module.d.ts.map +1 -0
  485. package/lib/components/ecl-notification/index.d.ts +4 -0
  486. package/lib/components/ecl-notification/index.d.ts.map +1 -0
  487. package/lib/components/ecl-popover/ecl-popover.component.d.ts +29 -6
  488. package/lib/components/ecl-popover/ecl-popover.component.d.ts.map +1 -1
  489. package/lib/components/ecl-popover/ecl-popover.module.d.ts +5 -5
  490. package/lib/components/ecl-popover/ecl-popover.module.d.ts.map +1 -1
  491. package/lib/components/ecl-popover/index.d.ts +0 -1
  492. package/lib/components/ecl-popover/index.d.ts.map +1 -1
  493. package/lib/components/ecl-social-media-follow/ecl-social-media-follow-item.component.d.ts +2 -1
  494. package/lib/components/ecl-social-media-follow/ecl-social-media-follow-item.component.d.ts.map +1 -1
  495. package/lib/components/ecl-social-media-follow/ecl-social-media-follow.component.d.ts +2 -1
  496. package/lib/components/ecl-social-media-follow/ecl-social-media-follow.component.d.ts.map +1 -1
  497. package/lib/components/ecl-social-media-follow/ecl-social-media-follow.module.d.ts +4 -3
  498. package/lib/components/ecl-social-media-follow/ecl-social-media-follow.module.d.ts.map +1 -1
  499. package/lib/components/ecl-sticky-container/ecl-sticky-container.component.d.ts +14 -2
  500. package/lib/components/ecl-sticky-container/ecl-sticky-container.component.d.ts.map +1 -1
  501. package/lib/components/ecl-table/ecl-table-sort-button.component.d.ts +2 -2
  502. package/lib/components/ecl-table/ecl-table-sort-button.component.d.ts.map +1 -1
  503. package/lib/components/ecl-table/ecl-table.directive.d.ts +7 -4
  504. package/lib/components/ecl-table/ecl-table.directive.d.ts.map +1 -1
  505. package/lib/components/ecl-tag/ecl-tag-set.directive.d.ts +8 -0
  506. package/lib/components/ecl-tag/ecl-tag-set.directive.d.ts.map +1 -0
  507. package/lib/components/ecl-tag/ecl-tag.component.d.ts +6 -7
  508. package/lib/components/ecl-tag/ecl-tag.component.d.ts.map +1 -1
  509. package/lib/components/ecl-tag/ecl-tag.module.d.ts +4 -3
  510. package/lib/components/ecl-tag/ecl-tag.module.d.ts.map +1 -1
  511. package/lib/components/ecl-tag/index.d.ts +1 -0
  512. package/lib/components/ecl-tag/index.d.ts.map +1 -1
  513. package/lib/components/index.d.ts +2 -2
  514. package/lib/components/index.d.ts.map +1 -1
  515. package/lib/services/ecl-default-language.service.d.ts +2 -1
  516. package/lib/services/ecl-default-language.service.d.ts.map +1 -1
  517. package/lib/services/ecl-theme.service.d.ts +1 -1
  518. package/lib/services/ecl-theme.service.d.ts.map +1 -1
  519. package/lib/shared/ecl-all.module.d.ts +20 -20
  520. package/package.json +1 -1
  521. package/docs/classes/EclFileDownloadEvent.html +0 -367
  522. package/esm2022/lib/components/ecl-file/ecl-file-item/ecl-file-download.event.mjs +0 -8
  523. package/esm2022/lib/components/ecl-list-illustration/ecl-list-illustration-image/ecl-list-illustration-image.component.mjs +0 -53
  524. package/esm2022/lib/components/ecl-message/ecl-message-title.directive.mjs +0 -20
  525. package/esm2022/lib/components/ecl-message/ecl-message.component.mjs +0 -88
  526. package/esm2022/lib/components/ecl-message/ecl-message.module.mjs +0 -22
  527. package/esm2022/lib/components/ecl-message/index.mjs +0 -4
  528. package/esm2022/lib/components/ecl-popover/ecl-popover-list.directive.mjs +0 -52
  529. package/esm2022/lib/components/ecl-spinner/ecl-spinner-label.directive.mjs +0 -19
  530. package/esm2022/lib/components/ecl-spinner/ecl-spinner.component.mjs +0 -51
  531. package/esm2022/lib/components/ecl-spinner/ecl-spinner.module.mjs +0 -20
  532. package/esm2022/lib/components/ecl-spinner/index.mjs +0 -4
  533. package/lib/components/ecl-file/ecl-file-item/ecl-file-download.event.d.ts +0 -6
  534. package/lib/components/ecl-file/ecl-file-item/ecl-file-download.event.d.ts.map +0 -1
  535. package/lib/components/ecl-list-illustration/ecl-list-illustration-image/ecl-list-illustration-image.component.d.ts +0 -17
  536. package/lib/components/ecl-list-illustration/ecl-list-illustration-image/ecl-list-illustration-image.component.d.ts.map +0 -1
  537. package/lib/components/ecl-message/ecl-message-title.directive.d.ts +0 -8
  538. package/lib/components/ecl-message/ecl-message-title.directive.d.ts.map +0 -1
  539. package/lib/components/ecl-message/ecl-message.component.d.ts +0 -21
  540. package/lib/components/ecl-message/ecl-message.component.d.ts.map +0 -1
  541. package/lib/components/ecl-message/ecl-message.module.d.ts +0 -13
  542. package/lib/components/ecl-message/ecl-message.module.d.ts.map +0 -1
  543. package/lib/components/ecl-message/index.d.ts +0 -4
  544. package/lib/components/ecl-message/index.d.ts.map +0 -1
  545. package/lib/components/ecl-popover/ecl-popover-list.directive.d.ts +0 -18
  546. package/lib/components/ecl-popover/ecl-popover-list.directive.d.ts.map +0 -1
  547. package/lib/components/ecl-spinner/ecl-spinner-label.directive.d.ts +0 -7
  548. package/lib/components/ecl-spinner/ecl-spinner-label.directive.d.ts.map +0 -1
  549. package/lib/components/ecl-spinner/ecl-spinner.component.d.ts +0 -12
  550. package/lib/components/ecl-spinner/ecl-spinner.component.d.ts.map +0 -1
  551. package/lib/components/ecl-spinner/ecl-spinner.module.d.ts +0 -11
  552. package/lib/components/ecl-spinner/ecl-spinner.module.d.ts.map +0 -1
  553. package/lib/components/ecl-spinner/index.d.ts +0 -4
  554. package/lib/components/ecl-spinner/index.d.ts.map +0 -1
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/lib/model/ecl-base.event.ts", "../../src/lib/components/ecl-base.directive.ts", "../../src/lib/services/ecl-default-language.service.ts", "../../src/lib/services/ecl-language.service.ts", "../../src/lib/services/ecl-theme.service.ts", "../../src/lib/services/ecl-rtl.service.ts", "../../src/lib/components/ecl-icon/ecl-icon.component.ts", "../../src/lib/components/ecl-icon/ecl-icon.component.html", "../../src/lib/components/ecl-accordion/ecl-accordion-item.component.ts", "../../src/lib/components/ecl-accordion/ecl-accordion-item.component.html", "../../src/lib/utils/directives/ecl-click-outside/ecl-click-outside.directive.ts", "../../src/lib/utils/directives/ecl-hidden/ecl-hidden.directive.ts", "../../src/lib/utils/directives/ecl-hidden/ecl-hidden.module.ts", "../../src/lib/utils/dom/dom-helpers.ts", "../../src/lib/utils/constants/constants.ts", "../../src/lib/components/ecl-accordion/ecl-accordion.component.ts", "../../src/lib/components/ecl-accordion/ecl-accordion.component.html", "../../src/lib/components/ecl-icon/ecl-icon.module.ts", "../../src/lib/components/ecl-accordion/ecl-accordion.module.ts", "../../src/lib/model/ecl-dom.event.ts", "../../src/lib/components/ecl-button/ecl-button.component.ts", "../../src/lib/components/ecl-button/ecl-button.component.html", "../../src/lib/components/ecl-button/ecl-button-label.directive.ts", "../../src/lib/components/ecl-button/ecl-button.module.ts", "../../src/lib/components/ecl-form-label/ecl-form-label.component.ts", "../../src/lib/components/ecl-form-label/ecl-form-label.component.html", "../../src/lib/components/ecl-form-label/ecl-form-label.module.ts", "../../src/lib/components/ecl-form-group/ecl-form-group.component.ts", "../../src/lib/components/ecl-form-group/ecl-form-group.component.html", "../../src/lib/components/ecl-form-group/ecl-form-group.module.ts", "../../src/lib/components/ecl-link/ecl-link.directive.ts", "../../src/lib/components/ecl-link/ecl-link-label.directive.ts", "../../src/lib/components/ecl-link/ecl-link.module.ts", "../../src/lib/components/ecl-text-input/ecl-text-input.directive.ts", "../../src/lib/components/ecl-text-input/ecl-text-input.module.ts", "../../src/lib/components/ecl-search-form/ecl-search-form.component.ts", "../../src/lib/components/ecl-search-form/ecl-search-form.component.html", "../../src/lib/components/ecl-search-form/ecl-search-form.module.ts", "../../src/lib/components/ecl-site-header/action/ecl-site-header-action.component.ts", "../../src/lib/components/ecl-site-header/action/ecl-site-header-action.component.html", "../../src/lib/components/ecl-site-header/banner-top/ecl-site-header-banner-top.component.ts", "../../src/lib/components/ecl-site-header/banner-top/ecl-site-header-banner-top.component.html", "../../src/lib/components/ecl-site-header/cta/ecl-site-header-cta.directive.ts", "../../src/lib/components/ecl-site-header/ecl-site-header-environment/ecl-site-header-environment.component.ts", "../../src/lib/components/ecl-site-header/language/ecl-site-header-language-popover.component.ts", "../../src/lib/components/ecl-site-header/language/ecl-site-header-language-popover.component.html", "../../src/lib/components/ecl-site-header/language/ecl-site-header-language.component.ts", "../../src/lib/components/ecl-site-header/language/ecl-site-header-language.component.html", "../../src/lib/components/ecl-site-header/login/ecl-site-header-login.component.ts", "../../src/lib/components/ecl-site-header/login/ecl-site-header-login.component.html", "../../src/lib/components/ecl-site-header/search/ecl-site-header-search.component.ts", "../../src/lib/components/ecl-site-header/search/ecl-site-header-search.component.html", "../../src/lib/components/ecl-site-header/ecl-site-header.component.ts", "../../src/lib/components/ecl-site-header/ecl-site-header.component.html", "../../src/lib/components/ecl-site-header/login/ecl-site-header-login-details.directive.ts", "../../src/lib/components/ecl-site-header/message/ecl-site-header-message.component.ts", "../../src/lib/components/ecl-site-header/message/ecl-site-header-message.component.html", "../../src/lib/components/ecl-site-header/ecl-site-header.module.ts", "../../src/lib/components/ecl-app/ecl-app.component.ts", "../../src/lib/components/ecl-app/ecl-app.component.html", "../../src/lib/components/ecl-app/ecl-app.module.ts", "../../src/lib/components/ecl-banner/ecl-banner-title.directive.ts", "../../src/lib/components/ecl-banner/ecl-banner-description.directive.ts", "../../src/lib/components/ecl-banner/ecl-banner-picture.directive.ts", "../../src/lib/components/ecl-banner/ecl-banner.component.ts", "../../src/lib/components/ecl-banner/ecl-banner.component.html", "../../src/lib/components/ecl-banner/ecl-banner-credit.directive.ts", "../../src/lib/components/ecl-banner/ecl-banner.module.ts", "../../src/lib/components/ecl-blockquote/ecl-blockquote.component.ts", "../../src/lib/components/ecl-blockquote/ecl-blockquote.component.html", "../../src/lib/components/ecl-blockquote/ecl-blockquote-picture.directive.ts", "../../src/lib/components/ecl-blockquote/ecl-blockquote.module.ts", "../../src/lib/components/ecl-breadcrumb/ecl-breadcrumb-segment.component.ts", "../../src/lib/components/ecl-breadcrumb/ecl-breadcrumb-segment.component.html", "../../src/lib/components/ecl-breadcrumb/ecl-breadcrumb.component.ts", "../../src/lib/components/ecl-breadcrumb/ecl-breadcrumb.component.html", "../../src/lib/components/ecl-breadcrumb/ecl-breadcrumb.module.ts", "../../src/lib/components/ecl-label/ecl-label.directive.ts", "../../src/lib/components/ecl-label/ecl-label.module.ts", "../../src/lib/components/ecl-card/ecl-card-body.component.ts", "../../src/lib/components/ecl-card/ecl-card-body.component.html", "../../src/lib/components/ecl-content-block/ecl-content-block-elements.directive.ts", "../../src/lib/components/ecl-content-block/ecl-content-block.component.ts", "../../src/lib/components/ecl-content-block/ecl-content-block.component.html", "../../src/lib/components/ecl-content-block/ecl-content-block.module.ts", "../../src/lib/components/ecl-card/ecl-card-picture.directive.ts", "../../src/lib/components/ecl-card/ecl-card.component.ts", "../../src/lib/components/ecl-card/ecl-card.component.html", "../../src/lib/components/ecl-card/ecl-card.module.ts", "../../src/lib/components/ecl-carousel/ecl-carousel.event.ts", "../../src/lib/components/ecl-carousel/ecl-carousel-item.component.ts", "../../src/lib/components/ecl-carousel/ecl-carousel-item.component.html", "../../src/lib/components/ecl-carousel/ecl-carousel.component.ts", "../../src/lib/components/ecl-carousel/ecl-carousel.component.html", "../../src/lib/components/ecl-carousel/ecl-carousel.module.ts", "../../src/lib/components/ecl-category-filter/common/ecl-category-filter-item.event.ts", "../../src/lib/components/ecl-category-filter/ecl-category-filter-list/ecl-category-filter-list.component.ts", "../../src/lib/components/ecl-category-filter/ecl-category-filter-list/ecl-category-filter-list.component.html", "../../src/lib/components/ecl-category-filter/ecl-category-filter-list/ecl-category-filter-item.component.ts", "../../src/lib/components/ecl-category-filter/ecl-category-filter-list/ecl-category-filter-item.component.html", "../../src/lib/components/ecl-category-filter/ecl-category-filter/ecl-category-filter.component.ts", "../../src/lib/components/ecl-category-filter/ecl-category-filter/ecl-category-filter.component.html", "../../src/lib/components/ecl-category-filter/ecl-category-filter.module.ts", "../../src/lib/components/ecl-help-block/ecl-help-block.directive.ts", "../../src/lib/components/ecl-checkbox/ecl-checkbox-label.component.ts", "../../src/lib/components/ecl-checkbox/ecl-checkbox-label.component.html", "../../src/lib/components/ecl-checkbox/ecl-checkbox-help.component.ts", "../../src/lib/components/ecl-checkbox/ecl-checkbox-help.component.html", "../../src/lib/components/ecl-checkbox/ecl-checkbox.directive.ts", "../../src/lib/components/ecl-checkbox/ecl-checkbox-input.directive.ts", "../../src/lib/components/ecl-checkbox/ecl-checkbox.module.ts", "../../src/lib/components/ecl-content-item/ecl-content-item-image.directive.ts", "../../src/lib/components/ecl-date-block/ecl-date-block.component.ts", "../../src/lib/components/ecl-date-block/ecl-date-block.component.html", "../../src/lib/components/ecl-content-item/ecl-content-item.component.ts", "../../src/lib/components/ecl-content-item/ecl-content-item.component.html", "../../src/lib/components/ecl-content-item/ecl-content-item.module.ts", "../../src/lib/components/ecl-date-block/ecl-date-block.module.ts", "../../src/lib/components/ecl-date-picker/ecl-date-picker.directive.ts", "../../src/lib/components/ecl-date-picker/ecl-date-picker.module.ts", "../../src/lib/components/ecl-expandable/ecl-expandable.component.ts", "../../src/lib/components/ecl-expandable/ecl-expandable.component.html", "../../src/lib/components/ecl-expandable/ecl-expandable.module.ts", "../../src/lib/components/ecl-fact-figures/ecl-fact-figures.component.ts", "../../src/lib/components/ecl-fact-figures/ecl-fact-figures.component.html", "../../src/lib/components/ecl-fact-figures/ecl-fact-figures-item.component.ts", "../../src/lib/components/ecl-fact-figures/ecl-fact-figures-item.component.html", "../../src/lib/components/ecl-fact-figures/ecl-fact-figures-view-all.component.ts", "../../src/lib/components/ecl-fact-figures/ecl-fact-figures-view-all.component.html", "../../src/lib/components/ecl-fact-figures/ecl-fact-figures-description.component.ts", "../../src/lib/components/ecl-fact-figures/ecl-fact-figures-description.component.html", "../../src/lib/components/ecl-fact-figures/ecl-fact-figures-title.component.ts", "../../src/lib/components/ecl-fact-figures/ecl-fact-figures-title.component.html", "../../src/lib/components/ecl-fact-figures/ecl-fact-figures-value.component.ts", "../../src/lib/components/ecl-fact-figures/ecl-fact-figures-value.component.html", "../../src/lib/components/ecl-fact-figures/ecl-fact-figures.module.ts", "../../src/lib/components/ecl-media-container/ecl-media-container-iframe.directive.ts", "../../src/lib/components/ecl-media-container/ecl-media-container-item.directive.ts", "../../src/lib/components/ecl-media-container/ecl-media-container-picture.directive.ts", "../../src/lib/components/ecl-media-container/ecl-media-container.component.ts", "../../src/lib/components/ecl-media-container/ecl-media-container.component.html", "../../src/lib/components/ecl-media-container/ecl-media-container.module.ts", "../../src/lib/components/ecl-featured/ecl-featured-item-description.component.ts", "../../src/lib/components/ecl-featured/ecl-featured-item-description.component.html", "../../src/lib/components/ecl-featured/ecl-featured-item-link.directive.ts", "../../src/lib/components/ecl-featured/ecl-featured-item.component.ts", "../../src/lib/components/ecl-featured/ecl-featured-item.component.html", "../../src/lib/components/ecl-featured/ecl-featured.component.ts", "../../src/lib/components/ecl-featured/ecl-featured.component.html", "../../src/lib/components/ecl-featured/ecl-featured.module.ts", "../../src/lib/components/ecl-feedback-message/ecl-feedback-message.directive.ts", "../../src/lib/components/ecl-feedback-message/ecl-feedback-message.module.ts", "../../src/lib/components/ecl-file-upload/ecl-file-upload.directive.ts", "../../src/lib/components/ecl-file-upload/ecl-file-upload.module.ts", "../../src/lib/components/ecl-file/ecl-file-item/ecl-file-download.event.ts", "../../src/lib/components/ecl-file/ecl-file-picture.directive.ts", "../../src/lib/components/ecl-file/ecl-file.component.ts", "../../src/lib/components/ecl-file/ecl-file.component.html", "../../src/lib/components/ecl-file/ecl-file-item/ecl-file-item.component.ts", "../../src/lib/components/ecl-file/ecl-file-item/ecl-file-item.component.html", "../../src/lib/components/ecl-file/ecl-file-items/ecl-file-items.component.ts", "../../src/lib/components/ecl-file/ecl-file-items/ecl-file-items.component.html", "../../src/lib/components/ecl-file/ecl-file-taxonomy/ecl-file-taxonomy.component.ts", "../../src/lib/components/ecl-file/ecl-file-taxonomy/ecl-file-taxonomy.component.html", "../../src/lib/components/ecl-file/ecl-file-download.directive.ts", "../../src/lib/components/ecl-file/ecl-file.module.ts", "../../src/lib/components/ecl-gallery/ecl-gallery-media.directive.ts", "../../src/lib/components/ecl-gallery/ecl-gallery-item.component.ts", "../../src/lib/components/ecl-gallery/ecl-gallery-item.component.html", "../../src/lib/components/ecl-gallery/ecl-gallery-footer.component.ts", "../../src/lib/components/ecl-gallery/ecl-gallery-footer.component.html", "../../src/lib/components/ecl-gallery/ecl-gallery.component.ts", "../../src/lib/components/ecl-gallery/ecl-gallery.component.html", "../../src/lib/components/ecl-gallery/ecl-gallery.module.ts", "../../src/lib/components/ecl-help-block/ecl-help-block.module.ts", "../../src/lib/components/ecl-inpage-navigation/ecl-inpage-navigation-item.component.ts", "../../src/lib/components/ecl-inpage-navigation/ecl-inpage-navigation-item.component.html", "../../src/lib/components/ecl-sticky-container/ecl-sticky-container.component.ts", "../../src/lib/components/ecl-sticky-container/ecl-sticky-container.component.html", "../../src/lib/components/ecl-sticky-container/ecl-sticky-container.module.ts", "../../src/lib/components/ecl-inpage-navigation/ecl-inpage-navigation.component.ts", "../../src/lib/components/ecl-inpage-navigation/ecl-inpage-navigation.component.html", "../../src/lib/components/ecl-inpage-navigation/ecl-inpage-navigation.module.ts", "../../src/lib/components/ecl-list-illustration/ecl-list-illustration-image/ecl-list-illustration-image.component.ts", "../../src/lib/components/ecl-list-illustration/ecl-list-illustration-image/ecl-list-illustration-image.component.html", "../../src/lib/components/ecl-list-illustration/ecl-list-illustration-item.component.ts", "../../src/lib/components/ecl-list-illustration/ecl-list-illustration-item.component.html", "../../src/lib/components/ecl-list-illustration/ecl-list-illustration-icon.directive.ts", "../../src/lib/components/ecl-list-illustration/ecl-list-illustration-picture.directive.ts", "../../src/lib/components/ecl-list-illustration/ecl-list-illustration.component.ts", "../../src/lib/components/ecl-list-illustration/ecl-list-illustration.component.html", "../../src/lib/components/ecl-list-illustration/ecl-list-illustration.module.ts", "../../src/lib/components/ecl-list/ecl-description-list-definition-item.directive.ts", "../../src/lib/components/ecl-list/ecl-description-list-definition/ecl-description-list-definition.component.ts", "../../src/lib/components/ecl-list/ecl-description-list-definition/ecl-description-list-definition.component.html", "../../src/lib/components/ecl-list/ecl-list.directive.ts", "../../src/lib/components/ecl-list/ecl-list.module.ts", "../../src/lib/components/ecl-menu/common/ecl-menu-item.event.ts", "../../src/lib/components/ecl-menu/ecl-menu-mega/ecl-menu-mega-item.component.ts", "../../src/lib/components/ecl-menu/ecl-menu-mega/ecl-menu-mega-item.component.html", "../../src/lib/components/ecl-menu/ecl-menu-mega/ecl-menu-mega.component.ts", "../../src/lib/components/ecl-menu/ecl-menu-mega/ecl-menu-mega.component.html", "../../src/lib/components/ecl-menu/ecl-menu/ecl-menu-item.component.ts", "../../src/lib/components/ecl-menu/ecl-menu/ecl-menu-item.component.html", "../../src/lib/components/ecl-menu/ecl-menu/ecl-menu.component.ts", "../../src/lib/components/ecl-menu/ecl-menu/ecl-menu.component.html", "../../src/lib/components/ecl-menu/ecl-menu.module.ts", "../../src/lib/components/ecl-message/ecl-message.component.ts", "../../src/lib/components/ecl-message/ecl-message.component.html", "../../src/lib/components/ecl-message/ecl-message-title.directive.ts", "../../src/lib/components/ecl-message/ecl-message.module.ts", "../../src/lib/components/ecl-modal/ecl-modal-close.directive.ts", "../../src/lib/components/ecl-modal/ecl-modal-header.component.ts", "../../src/lib/components/ecl-modal/ecl-modal-header.component.html", "../../src/lib/components/ecl-modal/ecl-modal.component.ts", "../../src/lib/components/ecl-modal/ecl-modal.component.html", "../../src/lib/components/ecl-modal/ecl-modal-body.component.ts", "../../src/lib/components/ecl-modal/ecl-modal-body.component.html", "../../src/lib/components/ecl-modal/ecl-modal-footer.component.ts", "../../src/lib/components/ecl-modal/ecl-modal-footer.component.html", "../../src/lib/components/ecl-modal/ecl-modal-trigger.directive.ts", "../../src/lib/components/ecl-modal/ecl-modal-body-fixed.directive.ts", "../../src/lib/components/ecl-modal/ecl-modal.module.ts", "../../src/lib/components/ecl-multiselect/boldText.pipe.ts", "../../src/lib/components/ecl-multiselect/ecl-multiselect-option/ecl-multiselect-option.component.ts", "../../src/lib/components/ecl-multiselect/ecl-multiselect-option/ecl-multiselect-option.component.html", "../../src/lib/components/ecl-multiselect/ecl-multiselect-input/ecl-multiselect-input.component.ts", "../../src/lib/components/ecl-multiselect/ecl-multiselect-input/ecl-multiselect-input.component.html", "../../src/lib/components/ecl-multiselect/ecl-multiselect-optgroup/ecl-multiselect-optgroup.component.ts", "../../src/lib/components/ecl-multiselect/ecl-multiselect-optgroup/ecl-multiselect-optgroup.component.html", "../../src/lib/components/ecl-multiselect/ecl-multiselect-dropdown/ecl-multiselect-dropdown.component.ts", "../../src/lib/components/ecl-multiselect/ecl-multiselect-dropdown/ecl-multiselect-dropdown.component.html", "../../src/lib/components/ecl-multiselect/ecl-multiselect-option.directive.ts", "../../src/lib/components/ecl-multiselect/ecl-multiselect.component.ts", "../../src/lib/components/ecl-multiselect/ecl-multiselect.component.html", "../../src/lib/components/ecl-multiselect/ecl-multiselect.module.ts", "../../src/lib/components/ecl-navigation-list/ecl-navigation-list-item.component.ts", "../../src/lib/components/ecl-navigation-list/ecl-navigation-list-item.component.html", "../../src/lib/components/ecl-navigation-list/ecl-navigation-list.component.ts", "../../src/lib/components/ecl-navigation-list/ecl-navigation-list.component.html", "../../src/lib/components/ecl-navigation-list/ecl-navigation-list-picture.directive.ts", "../../src/lib/components/ecl-navigation-list/ecl-navigation-list-image/ecl-navigation-list-image.component.ts", "../../src/lib/components/ecl-navigation-list/ecl-navigation-list-image/ecl-navigation-list-image.component.html", "../../src/lib/components/ecl-navigation-list/ecl-navigation-list.module.ts", "../../src/lib/components/ecl-news-ticker/ecl-news-ticker-item.component.ts", "../../src/lib/components/ecl-news-ticker/ecl-news-ticker-item.component.html", "../../src/lib/components/ecl-news-ticker/ecl-news-ticker.component.ts", "../../src/lib/components/ecl-news-ticker/ecl-news-ticker.component.html", "../../src/lib/components/ecl-news-ticker/ecl-news-ticker.module.ts", "../../src/lib/components/ecl-page-header/ecl-page-header-description.directive.ts", "../../src/lib/components/ecl-page-header/ecl-page-header-title.directive.ts", "../../src/lib/components/ecl-page-header/ecl-page-header-meta.directive.ts", "../../src/lib/components/ecl-page-header/ecl-page-header-background.directive.ts", "../../src/lib/components/ecl-page-header/ecl-page-header.component.ts", "../../src/lib/components/ecl-page-header/ecl-page-header.component.html", "../../src/lib/components/ecl-page-header/ecl-page-header-description/ecl-page-header-description.component.ts", "../../src/lib/components/ecl-page-header/ecl-page-header-description/ecl-page-header-description.component.html", "../../src/lib/components/ecl-page-header/ecl-page-header.module.ts", "../../src/lib/components/ecl-pagination/ecl-pagination-item.component.ts", "../../src/lib/components/ecl-pagination/ecl-pagination-item.component.html", "../../src/lib/components/ecl-pagination/ecl-pagination.component.ts", "../../src/lib/components/ecl-pagination/ecl-pagination.component.html", "../../src/lib/components/ecl-pagination/ecl-pagination.module.ts", "../../src/lib/components/ecl-popover/ecl-popover-toggle.directive.ts", "../../src/lib/components/ecl-popover/ecl-popover.component.ts", "../../src/lib/components/ecl-popover/ecl-popover.component.html", "../../src/lib/components/ecl-popover/ecl-popover-content.directive.ts", "../../src/lib/components/ecl-popover/ecl-popover-list.directive.ts", "../../src/lib/components/ecl-popover/ecl-popover.module.ts", "../../src/lib/components/ecl-radio/ecl-radio-help.component.ts", "../../src/lib/components/ecl-radio/ecl-radio-help.component.html", "../../src/lib/components/ecl-radio/ecl-radio-label.component.ts", "../../src/lib/components/ecl-radio/ecl-radio-label.component.html", "../../src/lib/components/ecl-radio/ecl-radio.directive.ts", "../../src/lib/components/ecl-radio/ecl-radio-input.directive.ts", "../../src/lib/components/ecl-radio/ecl-radio.module.ts", "../../src/lib/components/ecl-rating-field/ecl-rating-field.component.ts", "../../src/lib/components/ecl-rating-field/ecl-rating-field.component.html", "../../src/lib/components/ecl-rating-field/ecl-rating-field.module.ts", "../../src/lib/components/ecl-range/ecl-range-value.component.ts", "../../src/lib/components/ecl-range/ecl-range-value.component.html", "../../src/lib/components/ecl-range/ecl-range.directive.ts", "../../src/lib/components/ecl-range/ecl-range.module.ts", "../../src/lib/components/ecl-select/ecl-select-container.component.ts", "../../src/lib/components/ecl-select/ecl-select-container.component.html", "../../src/lib/components/ecl-select/ecl-select.directive.ts", "../../src/lib/components/ecl-select/ecl-select.module.ts", "../../src/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-section.directive.ts", "../../src/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-title.directive.ts", "../../src/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-description.directive.ts", "../../src/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-list.directive.ts", "../../src/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-link.directive.ts", "../../src/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-column.directive.ts", "../../src/lib/components/ecl-site-footer/ecl-footer-elements/ec/ecl-site-footer-fixed-content.ts", "../../src/lib/components/ecl-site-footer/ecl-footer-elements/ec/ecl-site-footer-fixed-content.component.html", "../../src/lib/components/ecl-site-footer/ecl-footer-elements/eu/ecl-site-footer-fixed-content.ts", "../../src/lib/components/ecl-site-footer/ecl-footer-elements/eu/ecl-site-footer-fixed-content.component.html", "../../src/lib/components/ecl-site-footer/ecl-site-footer.component.ts", "../../src/lib/components/ecl-site-footer/ecl-site-footer.component.html", "../../src/lib/components/ecl-site-footer/ecl-site-footer.module.ts", "../../src/lib/components/ecl-social-media-follow/ecl-social-media-follow.component.ts", "../../src/lib/components/ecl-social-media-follow/ecl-social-media-follow.component.html", "../../src/lib/components/ecl-social-media-follow/ecl-social-media-follow-item.component.ts", "../../src/lib/components/ecl-social-media-follow/ecl-social-media-follow-item.component.html", "../../src/lib/components/ecl-social-media-follow/ecl-social-media-follow-link.directive.ts", "../../src/lib/components/ecl-social-media-follow/ecl-social-media-follow.module.ts", "../../src/lib/components/ecl-social-media-share/ecl-social-media-share.component.ts", "../../src/lib/components/ecl-social-media-share/ecl-social-media-share.component.html", "../../src/lib/components/ecl-social-media-share/ecl-social-media-share-item.component.ts", "../../src/lib/components/ecl-social-media-share/ecl-social-media-share-item.component.html", "../../src/lib/components/ecl-social-media-share/ecl-social-media-share-link.directive.ts", "../../src/lib/components/ecl-social-media-share/ecl-social-media-share.module.ts", "../../src/lib/components/ecl-spinner/ecl-spinner.component.ts", "../../src/lib/components/ecl-spinner/ecl-spinner.component.html", "../../src/lib/components/ecl-spinner/ecl-spinner-label.directive.ts", "../../src/lib/components/ecl-spinner/ecl-spinner.module.ts", "../../src/lib/components/ecl-table/ecl-table-sort-button.component.ts", "../../src/lib/components/ecl-table/ecl-table-sort-button.component.html", "../../src/lib/components/ecl-table/ecl-table.directive.ts", "../../src/lib/components/ecl-table/ecl-table.module.ts", "../../src/lib/components/ecl-tabs/ecl-tab-label.component.ts", "../../src/lib/components/ecl-tabs/ecl-tab-label.component.html", "../../src/lib/components/ecl-tabs/ecl-tab.component.ts", "../../src/lib/components/ecl-tabs/ecl-tab.component.html", "../../src/lib/components/ecl-tabs/ecl-tab-more.component.ts", "../../src/lib/components/ecl-tabs/ecl-tab-more.component.html", "../../src/lib/components/ecl-tabs/ecl-tabs.component.ts", "../../src/lib/components/ecl-tabs/ecl-tabs.component.html", "../../src/lib/components/ecl-tabs/ecl-tabs.module.ts", "../../src/lib/components/ecl-tag/ecl-tag.component.ts", "../../src/lib/components/ecl-tag/ecl-tag.component.html", "../../src/lib/components/ecl-tag/ecl-tag.module.ts", "../../src/lib/components/ecl-text-area/ecl-text-area.directive.ts", "../../src/lib/components/ecl-text-area/ecl-text-area.module.ts", "../../src/lib/components/ecl-timeline/ecl-timeline-item-label.directive.ts", "../../src/lib/components/ecl-timeline/ecl-timeline-item-title.directive.ts", "../../src/lib/components/ecl-timeline/ecl-timeline-item-toggler.component.ts", "../../src/lib/components/ecl-timeline/ecl-timeline-item-toggler.component.html", "../../src/lib/components/ecl-timeline/ecl-timeline-item.component.ts", "../../src/lib/components/ecl-timeline/ecl-timeline-item.component.html", "../../src/lib/components/ecl-timeline/ecl-timeline.component.ts", "../../src/lib/components/ecl-timeline/ecl-timeline.component.html", "../../src/lib/components/ecl-timeline/ecl-timeline.module.ts", "../../src/lib/shared/ecl-all.module.ts"],
4
- "sourcesContent": ["export class EclBaseEvent {\n private isDefaultPrevented: boolean;\n\n get defaultPrevented(): boolean {\n return this.isDefaultPrevented;\n }\n\n preventDefault(): void {\n this.isDefaultPrevented = true;\n }\n}\n", "import { Directive, Input, HostBinding, numberAttribute } from '@angular/core';\n\n@Directive({\n standalone: true,\n selector: '[eclBase]',\n})\nexport class ECLBaseDirective {\n @Input() class: string;\n\n @HostBinding('attr.data-e2e') @Input() e2eAttr;\n\n @Input({ transform: numberAttribute })\n @HostBinding('attr.tabindex') tabindex: number;\n\n getCssClasses(rootClass: string): string {\n return [rootClass, this.class].join(' ').trim();\n }\n}\n", "import { Inject, Injectable, OnDestroy, Optional } from '@angular/core';\nimport { GlobalConfig, GLOBAL_CONFIG_TOKEN, I18nService } from '@eui/core';\nimport { EclLanguage } from '../model/ecl-language.model';\nimport { EclLanguageService } from './ecl-language.service';\nimport { ReplaySubject, Subject, takeUntil } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class EclDefaultLanguageService implements EclLanguageService, OnDestroy {\n public currentLanguage$: Subject<EclLanguage> = new ReplaySubject<EclLanguage>();\n private currentLanguage: EclLanguage;\n\n private readonly FALLBACK_LANGUAGE: EclLanguage = { code: 'en', label: 'English' };\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(\n @Optional() @Inject(GLOBAL_CONFIG_TOKEN) protected config: GlobalConfig,\n protected i18nService: I18nService,\n ) {\n this.handleActiveLanguageChangeState();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n getFallbackLanguage(): EclLanguage {\n return this.FALLBACK_LANGUAGE;\n }\n\n getEULanguageOrFallback(code: string): EclLanguage {\n if (this.isEuLanguage(code)) {\n return this.getLanguageByCode(code);\n } else {\n return this.getFallbackLanguage();\n }\n }\n\n getCurrentLanguage(): EclLanguage {\n return this.currentLanguage;\n }\n\n updateCurrentLanguage(lang: EclLanguage): void {\n this.i18nService.updateState({\n activeLang: lang.code,\n });\n }\n\n getConfiguredLanguages(): Array<EclLanguage> {\n const languages = this.config?.i18n?.i18nService?.languages || [];\n return languages.map((code: string) => this.getLanguageByCode(code));\n }\n\n getEULanguageCodes(): Array<string> {\n return [\n 'bg',\n 'cs',\n 'da',\n 'de',\n 'et',\n 'el',\n 'en',\n 'es',\n 'fi',\n 'fr',\n 'ga',\n 'hr',\n 'hu',\n 'it',\n 'lt',\n 'lv',\n 'mt',\n 'nl',\n 'pl',\n 'pt',\n 'ro',\n 'sk',\n 'sl',\n 'sv',\n ];\n }\n\n getAllLanguageCodes(): string[] {\n return this.getAllLanguages().map((l) => l.code);\n }\n\n getEULanguages(): Array<EclLanguage> {\n return this.getLanguagesByCodes(this.getEULanguageCodes());\n }\n\n getLanguageByCode(code: string): EclLanguage {\n return this.getAllLanguages().find((l) => l.code === code);\n }\n\n getLanguagesByCodes(codes: Array<string>): Array<EclLanguage> {\n return this.getAllLanguages().filter((lang) => codes.includes(lang.code));\n }\n\n isEuLanguage(code: string): boolean {\n return this.getEULanguageCodes().includes(code);\n }\n\n isRtlLanguage(code: string): boolean {\n return this.getLanguageByCode(code).isRtl;\n }\n\n getAllLanguages(): Array<EclLanguage> {\n return [\n { code: 'aa', label: 'Afaraf' },\n { code: 'ab', label: 'аҧсуа' },\n { code: 'ae', label: 'avesta' },\n { code: 'af', label: 'Afrikaans' },\n { code: 'ak', label: 'Akan' },\n { code: 'am', label: 'አማርኛ' },\n { code: 'an', label: 'Aragonés' },\n { code: 'ar', label: 'العربية', isRtl: true },\n { code: 'as', label: 'অসমীয়া' },\n { code: 'av', label: 'авар мацӀ, магӀарул мацӀ' },\n { code: 'ay', label: 'aymar aru' },\n { code: 'az', label: 'azərbaycan dili' },\n { code: 'ba', label: 'башҡорт теле' },\n { code: 'be', label: 'Беларуская' },\n { code: 'bg', label: 'български език' },\n { code: 'bh', label: 'भोजपुरी' },\n { code: 'bi', label: 'Bislama' },\n { code: 'bm', label: 'bamanankan' },\n { code: 'bn', label: 'বাংলা' },\n { code: 'bo', label: 'བོད་ཡིག' },\n { code: 'br', label: 'brezhoneg' },\n { code: 'bs', label: 'bosanski jezik' },\n { code: 'ca', label: 'Català' },\n { code: 'ce', label: 'нохчийн мотт' },\n { code: 'ch', label: 'Chamoru' },\n { code: 'co', label: 'corsu, lingua corsa' },\n { code: 'cr', label: 'ᓀᐦᐃᔭᐍᐏᐣ' },\n { code: 'cs', label: 'čeština' },\n { code: 'cu', label: 'ѩзыкъ словѣньскъ' },\n { code: 'cv', label: 'чӑваш чӗлхи' },\n { code: 'cy', label: 'Cymraeg' },\n { code: 'da', label: 'dansk' },\n { code: 'de', label: 'Deutsch' },\n { code: 'dv', label: 'ދިވެހި' },\n { code: 'ee', label: 'Eʋegbe' },\n { code: 'el', label: 'Ελληνικά' },\n { code: 'en', label: 'English' },\n { code: 'eo', label: 'Esperanto' },\n { code: 'es', label: 'español' },\n { code: 'et', label: 'eesti' },\n { code: 'eu', label: 'euskara, euskera' },\n { code: 'fa', label: 'فارسی', isRtl: true },\n { code: 'ff', label: 'Fulfulde, Pulaar, Pular' },\n { code: 'fi', label: 'suomi' },\n { code: 'fj', label: 'vosa Vakaviti' },\n { code: 'fo', label: 'føroyskt' },\n { code: 'fr', label: 'français' },\n { code: 'fy', label: 'Frysk' },\n { code: 'ga', label: 'Gaeilge' },\n { code: 'gd', label: 'Gàidhlig' },\n { code: 'gl', label: 'Galego' },\n { code: 'gn', label: 'Avañeẽ' },\n { code: 'gu', label: 'ગુજરાતી' },\n { code: 'gv', label: 'Gaelg, Gailck' },\n { code: 'ha', label: 'Hausa, هَوُسَ' },\n { code: 'he', label: 'עברית', isRtl: true },\n { code: 'hi', label: 'हिन्दी, हिंदी' },\n { code: 'ho', label: 'Hiri Motu' },\n { code: 'hr', label: 'hrvatski' },\n { code: 'ht', label: 'Kreyòl ayisyen' },\n { code: 'hu', label: 'Magyar' },\n { code: 'hy', label: 'Հայերեն' },\n { code: 'hz', label: 'Otjiherero' },\n { code: 'ia', label: 'Interlingua' },\n { code: 'id', label: 'Bahasa Indonesia' },\n { code: 'ie', label: 'Originally called Occidental' },\n { code: 'ig', label: 'Asụsụ Igbo' },\n { code: 'ii', label: 'ꆈꌠ꒿ Nuosuhxop' },\n { code: 'ik', label: 'Iñupiaq, Iñupiatun' },\n { code: 'io', label: 'Ido' },\n { code: 'is', label: 'Íslenska' },\n { code: 'it', label: 'Italiano' },\n { code: 'iu', label: 'ᐃᓄᒃᑎᑐᑦ' },\n { code: 'ja', label: '日本語' },\n { code: 'jv', label: 'basa Jawa' },\n { code: 'ka', label: 'ქართული' },\n { code: 'kg', label: 'KiKongo' },\n { code: 'ki', label: 'Gĩkũyũ' },\n { code: 'kj', label: 'Kuanyama' },\n { code: 'kk', label: 'Қазақ тілі' },\n { code: 'kl', label: 'kalaallisut' },\n { code: 'km', label: 'ភាសាខ្មែរ' },\n { code: 'kn', label: 'ಕನ್ನಡ' },\n { code: 'ko', label: '한국어 (韓國語), 조선말 (朝鮮語)' },\n { code: 'kr', label: 'Kanuri' },\n { code: 'ks', label: 'कश्मीरी, كشميري‎' },\n { code: 'ku', label: 'Kurdî, كوردی‎', isRtl: true },\n { code: 'kv', label: 'коми кыв' },\n { code: 'kw', label: 'Kernewek' },\n { code: 'ky', label: 'кыргыз тили' },\n { code: 'la', label: 'latine' },\n { code: 'lb', label: 'Lëtzebuergesch' },\n { code: 'lg', label: 'Luganda' },\n { code: 'li', label: 'Limburgs' },\n { code: 'ln', label: 'Lingála' },\n { code: 'lo', label: 'ພາສາລາວ' },\n { code: 'lt', label: 'lietuvių kalba' },\n { code: 'lu', label: 'Lëtzebuergesch' },\n { code: 'lv', label: 'latviešu valoda' },\n { code: 'mg', label: 'Malagasy fiteny' },\n { code: 'mh', label: 'Kajin M̧ajeļ' },\n { code: 'mi', label: 'te reo Māori' },\n { code: 'mk', label: 'македонски јазик' },\n { code: 'ml', label: 'മലയാളം' },\n { code: 'mn', label: 'монгол' },\n { code: 'mr', label: 'मराठी' },\n { code: 'ms', label: 'bahasa Melayu, بهاس ملايو‎' },\n { code: 'mt', label: 'Malti' },\n { code: 'my', label: 'ဗမာစာ' },\n { code: 'na', label: 'Ekakairũ Naoero' },\n { code: 'nb', label: 'Norsk bokmål' },\n { code: 'nd', label: 'isiNdebele' },\n { code: 'ne', label: 'नेपाली' },\n { code: 'ng', label: 'Owambo' },\n { code: 'nl', label: 'Nederlands' },\n { code: 'nn', label: 'Norsk nynorsk' },\n { code: 'no', label: 'Norsk' },\n { code: 'nr', label: 'isiNdebele' },\n { code: 'nv', label: 'Diné bizaad, Dinékʼehǰí' },\n { code: 'ny', label: 'chiCheŵa, chinyanja' },\n { code: 'oc', label: 'Occitan' },\n { code: 'oj', label: 'ᐊᓂᔑᓈᐯᒧᐎᓐ' },\n { code: 'om', label: 'Afaan Oromoo' },\n { code: 'or', label: 'ଓଡ଼ିଆ' },\n { code: 'os', label: 'ирон æвзаг' },\n { code: 'pa', label: 'ਪੰਜਾਬੀ, پنجابی‎' },\n { code: 'pi', label: 'पाऴि' },\n { code: 'pl', label: 'polski' },\n { code: 'ps', label: 'پښتو' },\n { code: 'pt', label: 'Português' },\n { code: 'qu', label: 'Runa Simi, Kichwa' },\n { code: 'rm', label: 'rumantsch grischun' },\n { code: 'rn', label: 'kiRundi' },\n { code: 'ro', label: 'română' },\n { code: 'ru', label: 'русский язык' },\n { code: 'rw', label: 'Ikinyarwanda' },\n { code: 'sa', label: 'संस्कृतम्' },\n { code: 'sc', label: 'sardu' },\n { code: 'sd', label: 'सिन्धी, سنڌي، سندھی‎' },\n { code: 'se', label: 'Davvisámegiella' },\n { code: 'sg', label: 'yângâ tî sängö' },\n { code: 'si', label: 'සිංහල' },\n { code: 'sk', label: 'slovenčina' },\n { code: 'sl', label: 'slovenščina' },\n { code: 'sm', label: 'gagana faa Samoa' },\n { code: 'sn', label: 'chiShona' },\n { code: 'so', label: 'Soomaaliga, af Soomaali' },\n { code: 'sq', label: 'Shqip' },\n { code: 'sr', label: 'српски језик' },\n { code: 'ss', label: 'SiSwati' },\n { code: 'st', label: 'Sesotho' },\n { code: 'su', label: 'Basa Sunda' },\n { code: 'sv', label: 'svenska' },\n { code: 'sw', label: 'Kiswahili' },\n { code: 'ta', label: 'தமிழ்' },\n { code: 'te', label: 'తెలుగు' },\n { code: 'tg', label: 'тоҷикӣ, toğikī, تاجیکی‎' },\n { code: 'th', label: 'ไทย' },\n { code: 'ti', label: 'ትግርኛ' },\n { code: 'tk', label: 'Türkmen, Түркмен' },\n { code: 'tl', label: 'Wikang Tagalog' },\n { code: 'tn', label: 'Setswana' },\n { code: 'to', label: 'faka Tonga' },\n { code: 'tr', label: 'Türkçe' },\n { code: 'ts', label: 'Xitsonga' },\n { code: 'tt', label: 'татарча, tatarça, تاتارچا‎' },\n { code: 'tw', label: 'Twi' },\n { code: 'ty', label: 'Reo Tahiti' },\n { code: 'ug', label: 'Uyƣurqə, ئۇيغۇرچە‎' },\n { code: 'uk', label: 'українська' },\n { code: 'ur', label: 'اردو', isRtl: true },\n { code: 'uz', label: 'zbek, Ўзбек, أۇزبېك‎' },\n { code: 've', label: 'Tshivenḓa' },\n { code: 'vi', label: 'Tiếng Việt' },\n { code: 'vo', label: 'Volapük' },\n { code: 'wa', label: 'Walon' },\n { code: 'wo', label: 'Wollof' },\n { code: 'xh', label: 'isiXhosa' },\n { code: 'yi', label: 'ייִדיש' },\n { code: 'yo', label: 'Yorùbá' },\n { code: 'za', label: 'Saɯ cueŋƅ, Saw cuengh' },\n { code: 'zh', label: '中文 (Zhōngwén), 汉语, 漢語' },\n ];\n }\n\n private handleActiveLanguageChangeState(): void {\n this.i18nService\n .getState()\n .pipe(takeUntil(this.destroy$))\n .subscribe((state) => {\n this.currentLanguage = this.getLanguageByCode(state.activeLang) || this.FALLBACK_LANGUAGE;\n this.currentLanguage$.next(this.currentLanguage);\n });\n }\n}\n", "import { Observable } from 'rxjs';\nimport { EclLanguage } from '../model/ecl-language.model';\n\nexport abstract class EclLanguageService {\n abstract currentLanguage$: Observable<EclLanguage>;\n abstract getCurrentLanguage(): EclLanguage;\n abstract getFallbackLanguage(): EclLanguage;\n abstract getEULanguageOrFallback(code: string): EclLanguage;\n abstract updateCurrentLanguage(lang: EclLanguage);\n abstract getConfiguredLanguages(): Array<EclLanguage>;\n\n abstract getEULanguageCodes(): Array<string>;\n abstract getAllLanguageCodes(): Array<string>;\n abstract getEULanguages(): Array<EclLanguage>;\n abstract getAllLanguages(): Array<EclLanguage>;\n abstract getLanguageByCode(code: string): EclLanguage;\n abstract getLanguagesByCodes(codes: Array<string>): Array<EclLanguage>;\n abstract isEuLanguage(code: string): boolean;\n abstract isRtlLanguage(code: string): boolean;\n}\n", "import { Inject, Injectable, Optional } from '@angular/core';\nimport { GlobalConfig, GLOBAL_CONFIG_TOKEN } from '@eui/core';\nimport { map, Observable, ReplaySubject, Subject } from 'rxjs';\n\nexport enum ECLTheme {\n EC = 'ec',\n EU = 'eu',\n}\n\n@Injectable({ providedIn: 'root' })\nexport class EclThemeService {\n public theme$: Observable<ECLTheme>;\n public isEU$: Observable<boolean>;\n public isEC$: Observable<boolean>;\n\n private theme: ECLTheme = ECLTheme.EC;\n private themeSubject: Subject<ECLTheme> = new ReplaySubject<ECLTheme>();\n\n constructor(@Optional() @Inject(GLOBAL_CONFIG_TOKEN) protected config: GlobalConfig) {\n this.theme$ = this.themeSubject.asObservable();\n\n this.isEU$ = this.theme$.pipe(map((theme) => ECLTheme.EU === theme));\n\n this.isEC$ = this.theme$.pipe(map((theme) => ECLTheme.EC === theme));\n\n const theme = (this.config?.eui?.theme as ECLTheme) || ECLTheme.EC;\n this.setTheme(theme);\n }\n\n isECTheme(): boolean {\n return ECLTheme.EC === this.theme;\n }\n\n isEUTheme(): boolean {\n return ECLTheme.EU === this.theme;\n }\n\n getTheme(): ECLTheme {\n return this.theme;\n }\n\n setTheme(theme: ECLTheme): void {\n this.theme = theme;\n this.themeSubject.next(theme);\n }\n}\n", "import { DOCUMENT } from '@angular/common';\nimport { Inject, Injectable, OnDestroy } from '@angular/core';\nimport { Observable, ReplaySubject, Subject, takeUntil } from 'rxjs';\nimport { EclDefaultLanguageService } from './ecl-default-language.service';\nimport { ECLTheme, EclThemeService } from './ecl-theme.service';\n\n@Injectable({ providedIn: 'root' })\nexport class EclRtlService implements OnDestroy {\n\n public currentRtlState$: Observable<boolean>;\n private currentRtlState: Subject<boolean> = new ReplaySubject<boolean>();\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(\n @Inject(DOCUMENT) private document: Document,\n public eclThemeService: EclThemeService, protected eclLanguageService: EclDefaultLanguageService) {\n this.currentRtlState$ = this.currentRtlState.asObservable();\n this.handleRtlChangeStateOnLangChange();\n }\n\n changeRtlState(rtlState: boolean): void {\n this.manageRtlState(rtlState);\n this.currentRtlState.next(rtlState);\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n private handleRtlChangeStateOnLangChange(): void {\n this.eclLanguageService.currentLanguage$.pipe(takeUntil(this.destroy$)).subscribe((lang) => {\n this.changeRtlState(lang.isRtl);\n });\n }\n\n private manageRtlState(rtlState: boolean): void {\n if (rtlState) {\n this.enableRTLCss();\n } else {\n this.disableRtlCss();\n }\n }\n\n private enableRTLCss(): void {\n const head = this.document.getElementsByTagName('head')[0];\n const themeLink = this.document.getElementById('rtl-theme') as HTMLLinkElement;\n let styleSheet;\n if (this.eclThemeService.getTheme() === ECLTheme.EC) {\n styleSheet = 'assets/eui-ecl-ec-rtl.css';\n } else {\n styleSheet = 'assets/eui-ecl-eu-rtl.css';\n }\n\n if (themeLink) {\n themeLink.href = styleSheet;\n themeLink.media = '';\n } else {\n const style = this.document.createElement('link');\n style.id = 'rtl-theme';\n style.rel = 'stylesheet';\n style.href = styleSheet;\n\n head.appendChild(style);\n }\n }\n\n private disableRtlCss(): void {\n const themeLink = this.document.getElementById('rtl-theme') as HTMLLinkElement;\n if (themeLink) {\n themeLink.media = 'max-width: 1px';\n }\n }\n}\n", "import { AfterViewInit, Component, ElementRef, Input, OnChanges, OnDestroy, OnInit, SimpleChanges, ViewChild } from '@angular/core';\nimport { coerceBoolean, coerceElement } from '@eui/base';\nimport { Observable, of, switchMap } from 'rxjs';\nimport { EclThemeService } from '../../services';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n selector: 'ecl-icon',\n templateUrl: './ecl-icon.component.html',\n})\nexport class EclIconComponent extends ECLBaseDirective implements OnInit, OnChanges, AfterViewInit, OnDestroy {\n @Input() iconSet: 'default' | 'social' | 'social-media' | 'flag' | string = 'default';\n @Input() icon: string;\n @Input() size: '2xs' | 'xs' | 's' | 'm' | 'l' | 'xl' | '2xl' | 'fluid' | string = 'xs';\n @Input() color: string;\n @Input() transform: string;\n @Input() ariaLabelledby: string;\n @Input() role: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isInverted: boolean | any = false;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() ariaHidden: boolean | any = true;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() focusable: boolean | any = false;\n\n @coerceElement @ViewChild('svg') svgEl: Element;\n\n iconUrl$: Observable<string>;\n\n constructor(\n public el: ElementRef,\n private eclThemeService: EclThemeService,\n ) {\n super();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['icon']) {\n this.initiateIconUrl();\n }\n }\n\n ngOnInit(): void {\n this.initiateIconUrl();\n }\n\n ngAfterViewInit(): void {\n const hostEl: HTMLElement = this.getHostElement();\n const hostParentEl = this.getHostParentElement(hostEl);\n\n if (hostParentEl != null) {\n hostEl.style.display = 'none';\n hostEl.after(this.svgEl);\n }\n }\n\n ngOnDestroy(): void {\n try {\n if (this.svgEl) {\n const hostParentEl = this.svgEl.parentElement;\n if (hostParentEl) {\n hostParentEl.removeChild(this.svgEl);\n }\n }\n } catch (e) {\n /* empty */\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n getClasses(): { [x: string]: any } {\n const hostClasses = this.getHostElement().classList.toString();\n\n return {\n [super.getCssClasses('ecl-icon')]: true,\n [`ecl-icon--${this.size}`]: this.size,\n [`ecl-icon--${this.transform}`]: this.transform,\n [`ecl-icon--${this.color}`]: this.color,\n ['ecl-icon--inverted']: this.isInverted,\n [hostClasses]: true,\n };\n }\n\n private getHostElement(): HTMLElement {\n return this.el.nativeElement;\n }\n\n private getHostParentElement(hostEl: HTMLElement): HTMLElement {\n return hostEl.parentElement;\n }\n\n private initiateIconUrl(): void {\n this.iconUrl$ = this.eclThemeService.theme$.pipe(\n switchMap((theme) => {\n switch (this.iconSet) {\n case 'default':\n return of(`assets/images/ecl/${theme}/icons/sprites/icons.svg#${this.icon}`);\n case 'social':\n return of(`assets/images/ecl/${theme}/social-icons/sprites/icons-social.svg#${this.icon}`);\n case 'social-media':\n return of(`assets/images/ecl/${theme}/icons-social-media/sprites/icons-social-media.svg#${this.icon}`);\n case 'flag':\n return of(`assets/images/ecl/${theme}/icons-flag/sprites/icons-flag.svg#${this.icon}`);\n case 'flag-non-members':\n return of(`assets/images/ecl/${theme}/icons-flag/sprites/icons-flag-non-members.svg#${this.icon}`);\n default:\n return of(`${this.iconSet}#${this.icon}`);\n }\n }),\n );\n }\n}\n", "<svg\n #svg\n [ngClass]=\"getClasses()\"\n [attr.aria-hidden]=\"ariaHidden\"\n [attr.aria-labelledby]=\"ariaLabelledby || null\"\n [attr.role]=\"role || null\"\n [attr.focusable]=\"focusable\">\n <use [attr.xlink:href]=\"iconUrl$ | async\"></use>\n <ng-content></ng-content>\n</svg>\n", "import {\n ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, OnInit, Output, booleanAttribute,\n ChangeDetectorRef,\n} from '@angular/core';\nimport { v4 as uuidgen } from 'uuid';\nimport { EclBaseEvent } from '../../model/ecl-base.event';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\nexport class EclAccordionToggleEvent extends EclBaseEvent {\n constructor(public isExpanded: boolean) {\n super();\n }\n}\n\n@Component({\n selector: 'ecl-accordion-item',\n templateUrl: './ecl-accordion-item.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n hostDirectives: [\n {\n directive: ECLBaseDirective,\n },\n ],\n})\nexport class EclAccordionItemComponent implements OnInit {\n\n @HostBinding('class')\n get cssClasses(): string {\n return [this.baseDirective.getCssClasses('ecl-accordion__item')].join(' ').trim();\n }\n\n @Input() label: string;\n @Input({ transform: booleanAttribute }) isExpanded = false;\n\n @Output() toggle = new EventEmitter<EclAccordionToggleEvent>();\n\n isActive = false;\n contentId = '';\n titleId = '';\n \n constructor(public baseDirective: ECLBaseDirective, private cd: ChangeDetectorRef) {}\n\n ngOnInit(): void {\n this.titleId = uuidgen();\n this.contentId = uuidgen();\n }\n\n onItemClick(evt: MouseEvent): void {\n const nextExpandedState = !this.isExpanded;\n this.isActive = true;\n const event = new EclAccordionToggleEvent(nextExpandedState);\n\n this.toggle.next(event);\n\n if (!event.defaultPrevented) {\n this.isExpanded = nextExpandedState;\n }\n }\n\n removeActiveStatus(): void {\n this.isActive = false;\n this.cd.detectChanges();\n }\n}\n", "<h3 class=\"ecl-accordion__title\" [id]=\"titleId\">\n <button\n type=\"button\"\n (click)=\"onItemClick($event)\"\n [attr.aria-expanded]=\"isExpanded\"\n class=\"ecl-accordion__toggle\"\n [class.ecl-accordion__toggle--active]=\"isActive\"\n [attr.aria-controls]=\"contentId\">\n <span class=\"ecl-accordion__toggle-flex\">\n <span class=\"ecl-accordion__toggle-title\">{{ label }}</span>\n <span class=\"ecl-accordion__toggle-indicator\">\n <ecl-icon *ngIf=\"!isExpanded\" icon=\"plus\" size=\"s\" class=\"ecl-accordion__toggle-icon\" [attr.aria-hidden]=\"!isExpanded\">\n </ecl-icon>\n <ecl-icon *ngIf=\"isExpanded\" icon=\"minus\" size=\"s\" class=\"ecl-accordion__toggle-icon\" [attr.aria-hidden]=\"isExpanded\">\n </ecl-icon>\n </span>\n </span>\n </button>\n</h3>\n<div class=\"ecl-accordion__content\" [hidden]=\"!isExpanded\" role=\"region\" [attr.aria-labelledby]=\"titleId\" [id]=\"contentId\">\n <ng-content></ng-content>\n</div>\n", "import { Directive, ElementRef, EventEmitter, HostListener, Output } from '@angular/core';\nimport { ECLBaseDirective } from '../../../components/ecl-base.directive';\n\n@Directive({\n selector: '[eclClickOutside]',\n standalone: true,\n})\nexport class ECLClickOutsideDirective extends ECLBaseDirective {\n @Output() eclClickOutside = new EventEmitter<void>();\n\n constructor(private elementRef: ElementRef) {\n super();\n }\n\n @HostListener('document:click', ['$event.target'])\n public onClick(target): void {\n const clickedInside = this.elementRef.nativeElement.contains(target);\n if (!clickedInside) {\n this.eclClickOutside.emit();\n }\n }\n}\n", "import { Directive, HostBinding, Input } from '@angular/core';\nimport { ECLBaseDirective } from '../../../components/ecl-base.directive';\n\n@Directive({\n selector: '[eclHidden]',\n})\nexport class EclHiddenDirective extends ECLBaseDirective {\n @Input('eclHidden') @HostBinding('class.ecl-u-d-none') isHidden = true;\n}\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclHiddenDirective } from './ecl-hidden.directive';\n\n@NgModule({\n imports: [CommonModule],\n exports: [EclHiddenDirective],\n declarations: [EclHiddenDirective],\n})\nexport class EclHiddenModule {}\n", "export const hasNextSiblingWithAttribute = (element: Element, attribute: string): boolean => {\n const nextSibling = element && element.nextElementSibling;\n if (nextSibling) {\n if (nextSibling.hasAttribute(attribute)) {\n return true;\n } else {\n return hasNextSiblingWithAttribute(nextSibling, attribute);\n }\n } else {\n return false;\n }\n};\n\nexport const hasPreviousSiblingWithAttribute = (element: Element, attribute: string): boolean => {\n const previousSibling = element && element.previousElementSibling;\n if (previousSibling) {\n if (previousSibling.hasAttribute(attribute)) {\n return true;\n } else {\n return hasNextSiblingWithAttribute(previousSibling, attribute);\n }\n } else {\n return false;\n }\n};\n", "export enum KeyCode {\n ARROW_DOWN = 'ArrowDown',\n ARROW_LEFT = 'ArrowLeft',\n ARROW_RIGHT = 'ArrowRight',\n ARROW_UP = 'ArrowUp',\n END = 'End',\n ENTER = 'Enter',\n ESCAPE = 'Escape',\n HOME = 'Home',\n TAB = 'Tab',\n}\n", "import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n DoCheck,\n HostBinding,\n HostListener,\n IterableDiffer,\n IterableDiffers,\n OnDestroy,\n QueryList, forwardRef,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { ECLClickOutsideDirective } from '../../utils';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclAccordionItemComponent } from './ecl-accordion-item.component';\n\n@Component({\n selector: 'ecl-accordion',\n templateUrl: './ecl-accordion.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\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})\nexport class EclAccordionComponent implements DoCheck, OnDestroy {\n @HostBinding('class')\n get cssClasses(): string {\n return [this.baseDirective.getCssClasses('ecl-accordion')].join(' ').trim();\n }\n\n @ContentChildren(forwardRef(() => EclAccordionItemComponent)) accordionItems: QueryList<EclAccordionItemComponent>;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private differ: IterableDiffer<EclAccordionItemComponent>;\n\n constructor(public baseDirective: ECLBaseDirective, private cd: ChangeDetectorRef,\n private differs: IterableDiffers) {\n this.differ = this.differs.find([]).create();\n }\n\n ngDoCheck(): void {\n const diff = this.differ.diff(this.accordionItems);\n\n if (diff) {\n this.subscribeToItemEvents();\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n @HostListener('eclClickOutside')\n onClickOutsideAccordion(): void {\n this.accordionItems.forEach(item => {\n item.removeActiveStatus();\n });\n }\n\n private subscribeToItemEvents(): void {\n this.accordionItems.forEach(item => {\n item.toggle.pipe(takeUntil(this.destroy$))\n .subscribe(isActive => {\n this.removeActiveStatusToAllItemsButOne(item);\n });\n });\n }\n\n private removeActiveStatusToAllItemsButOne(item: EclAccordionItemComponent): void {\n this.accordionItems\n .filter((it) => it !== item)\n .forEach((it) => {\n it.removeActiveStatus();\n });\n }\n}\n", "<ng-content></ng-content>\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclIconComponent } from './ecl-icon.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [EclIconComponent],\n declarations: [EclIconComponent],\n})\nexport class EclIconComponentModule {}\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclAccordionItemComponent } from './ecl-accordion-item.component';\nimport { EclAccordionComponent } from './ecl-accordion.component';\nimport { EclIconComponentModule } from '../ecl-icon/ecl-icon.module';\n\n@NgModule({\n imports: [CommonModule, EclIconComponentModule, TranslateModule],\n exports: [EclAccordionComponent, EclAccordionItemComponent],\n declarations: [EclAccordionComponent, EclAccordionItemComponent],\n})\nexport class EclAccordionComponentModule {}\n", "import { EclBaseEvent } from './ecl-base.event';\n\nexport class EclDomEvent<T extends Event> extends EclBaseEvent {\n constructor(public readonly domEvent: T) {\n super();\n }\n\n public preventDefault(): void {\n super.preventDefault();\n\n if (this.domEvent) {\n this.domEvent.preventDefault();\n }\n }\n}\n", "import { booleanAttribute, Component, ContentChildren, ElementRef, forwardRef, HostBinding, Input, QueryList,\n AfterViewInit } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclIconComponent } from '../ecl-icon/ecl-icon.component';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[eclButton], button[ecl-button], a[eclButton]',\n templateUrl: './ecl-button.component.html',\n})\nexport class EclButtonComponent extends ECLBaseDirective implements AfterViewInit {\n\n @Input({ transform: booleanAttribute }) isIconOnly = false;\n @Input() variant: 'primary' | 'secondary' | 'tertiary' | 'cta' | 'ghost' | 'ghost-inverted' = 'primary';\n @Input() containerStyleClass: string;\n\n @ContentChildren(forwardRef(() => EclIconComponent)) iconComponents: QueryList<EclIconComponent>;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-button'), `ecl-button--${this.variant}`,\n this.isIconOnly ? 'ecl-button--icon-only' : ''].join(' ').trim();\n }\n\n get hasIcon(): QueryList<EclIconComponent> {\n return this.iconComponents;\n }\n\n constructor(public el: ElementRef) {\n super();\n }\n\n ngAfterViewInit(): void {\n if (this.iconComponents) {\n setTimeout(() => {\n this.iconComponents.forEach((icn) => {\n icn.class = 'ecl-button__icon';\n });\n });\n }\n }\n}\n", "<span *ngIf=\"hasIcon\" class=\"ecl-button__container {{ containerStyleClass }}\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</span>\n<ng-container *ngIf=\"!hasIcon\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</ng-container>\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: '[eclButtonLabel]',\n})\nexport class EclButtonLabelDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-button__label')].join(' ').trim();\n }\n}\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclIconComponentModule } from '../ecl-icon/ecl-icon.module';\nimport { EclButtonComponent } from './ecl-button.component';\nimport { EclButtonLabelDirective } from './ecl-button-label.directive';\n\n@NgModule({\n imports: [CommonModule, EclIconComponentModule],\n exports: [EclButtonComponent, EclButtonLabelDirective],\n declarations: [EclButtonComponent, EclButtonLabelDirective],\n})\nexport class EclButtonComponentModule {}\n", "import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\nimport { coerceBoolean } from '@eui/base';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[eclFormLabel]',\n templateUrl: './ecl-form-label.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EclFormLabelComponent extends ECLBaseDirective {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isOptional: boolean | any = false;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isInvalid: boolean | any = false;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isDisabled: boolean | any = false;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isRequired: boolean | any = false;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-form-label'),\n this.isInvalid ? 'ecl-form-label--invalid' : '',\n this.isDisabled ? 'ecl-form-label--disabled' : '',\n ]\n .join(' ')\n .trim();\n }\n}\n", "<ng-content></ng-content>\n<span *ngIf=\"isOptional\" class=\"ecl-form-label__optional\"> ({{ 'ecl.form-label.OPTIONAL' | translate }})</span>\n<span *ngIf=\"isRequired\" class=\"ecl-form-label__required\">*</span>\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclFormLabelComponent } from './ecl-form-label.component';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@NgModule({\n imports: [CommonModule, TranslateModule],\n exports: [EclFormLabelComponent],\n declarations: [EclFormLabelComponent],\n})\nexport class EclFormLabelComponentModule {}\n", "import { Component, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n selector: '[eclFormGroup], ecl-form-group',\n templateUrl: './ecl-form-group.component.html',\n})\nexport class EclFormGroupComponent extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-form-group')].join(' ').trim();\n }\n}\n", "<ng-content></ng-content>\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclFormLabelComponentModule } from '../ecl-form-label/ecl-form-label.module';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclFormGroupComponent } from './ecl-form-group.component';\n\n@NgModule({\n imports: [CommonModule, EclFormLabelComponentModule, TranslateModule],\n exports: [EclFormGroupComponent],\n declarations: [EclFormGroupComponent],\n})\nexport class EclFormGroupComponentModule {}\n", "import { Directive, HostBinding, Input, AfterContentInit, forwardRef, ContentChildren, QueryList, ElementRef } from '@angular/core';\nimport { hasNextSiblingWithAttribute, hasPreviousSiblingWithAttribute } from '../../utils/dom/dom-helpers';\nimport { EclIconComponent } from '../ecl-icon/ecl-icon.component';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { coerceBoolean } from '@eui/base';\n\n@Directive({\n selector: '[eclLink]',\n})\nexport class EclLinkDirective extends ECLBaseDirective implements AfterContentInit {\n @Input() variant: 'standalone' | 'cta' | 'primary' | 'secondary';\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() @HostBinding('class.ecl-link--negative') isNegative: boolean | any;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() @HostBinding('class.ecl-link--no-visited') isNoVisited: boolean | any;\n @ContentChildren(forwardRef(() => EclIconComponent)) eclIconComponents: QueryList<EclIconComponent>;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-link'), this.variant ? `ecl-link--${this.variant}` : ''].join(' ').trim();\n }\n\n @HostBinding('class.ecl-link--icon-after')\n get hasRightIcon(): boolean {\n return this.isIconOnRightSide(this.eclIconComponents.toArray());\n }\n\n @HostBinding('class.ecl-link--icon-before')\n get hasLeftIcon(): boolean {\n return this.isIconOnLeftSide(this.eclIconComponents.toArray());\n }\n\n @HostBinding('class.ecl-link--icon')\n get hasIcon(): boolean {\n return this.eclIconComponents && this.eclIconComponents.length > 0;\n }\n\n constructor(public el: ElementRef) {\n super();\n }\n\n ngAfterContentInit(): void {\n if (this.eclIconComponents) {\n setTimeout(() => {\n this.eclIconComponents.forEach((icn) => {\n if (this.isIconOnLeftSide(this.eclIconComponents.toArray())) {\n icn.class = 'ecl-link__icon ecl-link__icon--before';\n } else if (this.isIconOnRightSide(this.eclIconComponents.toArray())) {\n icn.class = 'ecl-link__icon ecl-link__icon--after';\n } else {\n icn.class = 'ecl-link__icon ecl-link__icon--before';\n }\n });\n });\n }\n }\n\n private isIconOnRightSide(icons: EclIconComponent[]): boolean {\n return !!icons.find((icn) => {\n const iconEl = icn.el.nativeElement as HTMLElement;\n\n if (hasPreviousSiblingWithAttribute(iconEl, 'eclLinkLabel')) {\n return true;\n }\n\n return false;\n });\n }\n\n private isIconOnLeftSide(icons: EclIconComponent[]): boolean {\n return !!icons.find((icn) => {\n const iconEl = icn.el.nativeElement as HTMLElement;\n\n if (hasNextSiblingWithAttribute(iconEl, 'eclLinkLabel')) {\n return true;\n }\n\n return false;\n });\n }\n}\n", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: '[eclLinkLabel]',\n})\nexport class EclLinkLabelDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-link__label')].join(' ').trim();\n }\n}\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclLinkDirective } from './ecl-link.directive';\nimport { EclLinkLabelDirective } from './ecl-link-label.directive';\n\n@NgModule({\n imports: [CommonModule],\n exports: [EclLinkDirective, EclLinkLabelDirective],\n declarations: [EclLinkDirective, EclLinkLabelDirective],\n})\nexport class EclLinkDirectiveModule {}\n", "import { Directive, HostBinding, Input, Optional, Self } from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { coerceBoolean } from '@eui/base';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: 'input[eclTextInput]',\n standalone: true,\n})\nexport class EclTextInputDirective extends ECLBaseDirective {\n @HostBinding('attr.type') type = 'text';\n\n @Input() eclSize = 'm';\n\n @coerceBoolean\n @Input()\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n isInvalid: boolean | any = false;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-text-input'), this.eclSize ? `ecl-text-input--${this.eclSize}` : ''].join(' ').trim();\n }\n\n constructor(@Optional() @Self() protected ngControl: NgControl) {\n super();\n }\n\n @HostBinding('class.ecl-text-input--invalid')\n get invalidState(): boolean {\n if (this.ngControl) {\n return this.ngControl.status === 'INVALID' && this.ngControl.touched;\n } else {\n return this.isInvalid;\n }\n }\n}\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclTextInputDirective } from './ecl-text-input.directive';\n\n@NgModule({\n imports: [CommonModule, EclTextInputDirective],\n exports: [EclTextInputDirective],\n})\nexport class EclTextInputDirectiveModule {}\n", "import {\n Component,\n ComponentFactoryResolver,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n Output,\n Provider,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { EclBaseEvent } from '../../model/ecl-base.event';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\nexport class EclSearchFormEvent extends EclBaseEvent {\n constructor(public keyword: string) {\n super();\n }\n}\n\nexport const ECL_SEARCH_FORM_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EclSearchFormComponent),\n multi: true,\n};\n\nconst noop = (): void => {\n /** empty*/\n};\n\n@Component({\n selector: 'ecl-search-form',\n templateUrl: 'ecl-search-form.component.html',\n providers: [ECL_SEARCH_FORM_VALUE_ACCESSOR],\n})\nexport class EclSearchFormComponent extends ECLBaseDirective implements ControlValueAccessor {\n @Input() searchInputText: string;\n @Input() placeholder: string;\n @Input() searchButtonLabel: string;\n @Input() searchButtonIcon = 'search';\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-search-form')].join(' ').trim();\n }\n\n @HostBinding('attr.role') role = 'search';\n\n @Output() search = new EventEmitter<EclSearchFormEvent>();\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private onChange: (_: any) => void = noop;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private onTouched: (_: any) => void = noop;\n\n onSearchClick(evt: Event): void {\n this.search.next(new EclSearchFormEvent(this.searchInputText));\n evt.preventDefault();\n }\n\n @HostListener('keydown.enter', ['$event'])\n onEnterKeyDown(evt: Event): void {\n this.search.next(new EclSearchFormEvent(this.searchInputText));\n evt.preventDefault();\n }\n\n onModelChange(newValue: string): void {\n this.searchInputText = newValue;\n this.onChange(newValue);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n writeValue(value: any): void {\n this.searchInputText = value;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: (_: any) => void): void {\n this.onChange = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: (_: any) => void): void {\n this.onTouched = fn;\n }\n}\n", "<ecl-form-group>\n <label eclFormLabel for=\"search-input\" class=\"ecl-search-form__label\">\n {{ 'ecl.common.SEARCH' | translate }}\n </label>\n <input\n eclTextInput\n [(ngModel)]=\"searchInputText\"\n (ngModelChange)=\"onModelChange($event)\"\n type=\"search\"\n name=\"search-input\"\n placeholder=\"{{ placeholder || 'ecl.common.SEARCH' | translate }}\"\n class=\"ecl-search-form__text-input\" />\n</ecl-form-group>\n<button eclButton aria-label=\"Search\" variant=\"ghost\" (click)=\"onSearchClick($event)\" class=\"ecl-search-form__button\">\n <span eclButtonLabel>\n {{ searchButtonLabel || 'ecl.common.SEARCH' | translate }}\n </span>\n <ecl-icon [icon]=\"searchButtonIcon\" size=\"xs\"></ecl-icon>\n</button>\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclButtonComponentModule } from '../ecl-button/ecl-button.module';\nimport { EclFormGroupComponentModule } from '../ecl-form-group/ecl-form-group.module';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { EclTextInputDirectiveModule } from '../ecl-text-input/ecl-text-input.module';\nimport { EclIconComponentModule } from '../ecl-icon/ecl-icon.module';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclSearchFormComponent } from './ecl-search-form.component';\nimport { EclFormLabelComponentModule } from '../ecl-form-label/ecl-form-label.module';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n TranslateModule,\n EclButtonComponentModule,\n EclIconComponentModule,\n EclFormGroupComponentModule,\n EclFormLabelComponentModule,\n EclTextInputDirectiveModule,\n FormsModule,\n ],\n exports: [EclSearchFormComponent],\n declarations: [EclSearchFormComponent],\n})\nexport class EclSearchFormComponentModule {}\n", "import { Component, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\n\n@Component({\n selector: 'ecl-site-header-action',\n templateUrl: './ecl-site-header-action.component.html',\n})\nexport class EclSiteHeaderActionComponent extends ECLBaseDirective {\n @HostBinding('class') class = 'ecl-site-header__action';\n}\n", "<ng-content select=\"ecl-site-header-login\"></ng-content>\n<ng-content select=\"ecl-site-header-language\"></ng-content>\n<ng-content select=\"ecl-site-header-search\"></ng-content>\n", "import { Component } from '@angular/core';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\n\n@Component({\n selector: 'ecl-site-header-banner-top',\n templateUrl: 'ecl-site-header-banner-top.component.html',\n})\nexport class EclSiteHeaderBannerTopComponent extends ECLBaseDirective {}\n", "<div class=\"ecl-site-header__banner-top\">\n <div class=\"ecl-container\">\n <ng-content></ng-content>\n </div>\n</div>\n", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\n\n@Directive({\n selector: '[eclSiteHeaderCta]',\n})\nexport class EclSiteHeaderCtaDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-site-header__cta') className = true;\n}\n", "import { AfterViewInit, Component, ElementRef, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[eclSiteHeaderEnvironment]',\n template: '<ng-content></ng-content>',\n styles: [\n `\n :host {\n position: absolute;\n width: 100%;\n font-size: 1.3rem;\n padding: 0.3rem;\n opacity: 0.6;\n text-align: center;\n transform: rotate(-10deg);\n }\n @media print {\n :host {\n display: none;\n }\n }\n `,\n ],\n})\nexport class EclSiteHeaderEnvironmentComponent extends ECLBaseDirective implements AfterViewInit {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses(''), 'ecl-u-type-xl ecl-u-bg-red ecl-u-type-color-white'].join(' ');\n }\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private isMobile = false;\n private parentEl: HTMLElement;\n\n constructor(\n private el: ElementRef,\n private cdkBreakpointObserver: BreakpointObserver,\n ) {\n super();\n }\n\n ngAfterViewInit(): void {\n const el: HTMLElement = this.el.nativeElement;\n this.parentEl = el.parentElement;\n\n if (this.parentEl) {\n this.parentEl.style.display = 'flex';\n this.parentEl.style.alignItems = 'center';\n this.parentEl.style.position = 'relative';\n }\n\n this.observeBreakpointChanges();\n }\n\n private observeBreakpointChanges(): void {\n this.cdkBreakpointObserver\n .observe(['(max-width: 480px)'])\n .pipe(takeUntil(this.destroy$))\n .subscribe((result) => {\n this.isMobile = result.matches;\n if (this.isMobile) {\n this.manageMobile();\n } else {\n this.manageDesktop();\n }\n });\n }\n\n private manageMobile(): void {\n if (this.parentEl) {\n this.parentEl.style.display = 'block';\n this.el.nativeElement.style.width = 'unset';\n }\n }\n\n private manageDesktop(): void {\n if (this.parentEl) {\n this.parentEl.style.display = 'flex';\n this.el.nativeElement.style.width = '100%';\n }\n }\n}\n", "import { Component, ElementRef, EventEmitter, HostBinding, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\nimport { EclBaseEvent } from '../../../model/ecl-base.event';\nimport { EclLanguage } from '../../../model/ecl-language.model';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\n\nexport class EclSiteHeaderLanguageSelectedEvent extends EclBaseEvent {\n constructor(public language: EclLanguage) {\n super();\n }\n}\n\nexport class EclSiteHeaderLanguageCloseEvent extends EclBaseEvent {}\n\n@Component({\n selector: 'ecl-site-header-language-popover',\n templateUrl: './ecl-site-header-language-popover.component.html',\n})\nexport class EclSiteHeaderLanguagePopoverComponent extends ECLBaseDirective {\n @Input() languageCode: string;\n @Input() euLanguages: Array<EclLanguage> = [];\n @Input() nonEuLanguages: Array<EclLanguage> = [];\n @Input() euColumnsCount: number;\n @Input() nonEuColumnsCount: number;\n @Input() isHidden = false;\n @Input() isPushRight = false;\n @Input() isStack = false;\n @Input() isFull = false;\n @Input() @HostBinding('style.right') rightPosition: string;\n @Input() @HostBinding('style.--ecl-language-arrow-position') languageArrowPosition: string;\n\n @Output() languageClosed = new EventEmitter<EclSiteHeaderLanguageCloseEvent>();\n @Output() languageSelected = new EventEmitter<EclSiteHeaderLanguageSelectedEvent>();\n\n @HostBinding('attr.role') role = 'dialog';\n @HostBinding('attr.aria-labelledby') labelledBy = 'ecl-site-header__language-title';\n\n constructor(public popoverElementRef: ElementRef) {\n super();\n }\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-site-header__language-container'),\n this.isPushRight ? 'ecl-site-header__language-container--push-right' : '',\n this.isFull ? 'ecl-site-header__language-container--full' : '',\n ]\n .join(' ')\n .trim();\n }\n\n @HostBinding('attr.aria-modal')\n get isModal(): boolean | undefined {\n return !this.isHidden || undefined;\n }\n\n @HostBinding('attr.hidden')\n get isDropdownHidden(): boolean | undefined {\n return this.isHidden || undefined;\n }\n\n onCloseClick(): void {\n this.languageClosed.next(new EclSiteHeaderLanguageCloseEvent());\n }\n\n onLanguageClick(language: EclLanguage, evt: MouseEvent): void {\n this.languageCode = language.code;\n this.languageSelected.next(new EclSiteHeaderLanguageSelectedEvent(language));\n\n evt.preventDefault();\n }\n}\n", "<div class=\"ecl-site-header__language-header\">\n <div class=\"ecl-site-header__language-title\">\n {{ 'ecl.language-list.SELECT-LANGUAGE' | translate }}\n </div>\n <button eclButton variant=\"ghost\" class=\"ecl-site-header__language-close\" (click)=\"onCloseClick()\">\n <span class=\"ecl-u-sr-only\">\n {{ 'ecl.common.CLOSE' | translate }}\n </span>\n <ecl-icon icon=\"close-filled\" size=\"s\"> </ecl-icon>\n </button>\n</div>\n\n<div class=\"ecl-site-header__language-content\" [class.ecl-site-header__language-content--stack]=\"isStack\">\n <div *ngIf=\"euLanguages.length\" class=\"ecl-site-header__language-category ecl-site-header__language-category--{{ euColumnsCount }}-col\">\n <div class=\"ecl-site-header__language-category-title\">\n {{ 'ecl.language-list.EU-LANGUAGES' | translate }}\n </div>\n <ul class=\"ecl-site-header__language-list\">\n <li *ngFor=\"let item of euLanguages\" class=\"ecl-site-header__language-item\">\n <a\n eclLink\n href=\"#\"\n variant=\"standalone\"\n [lang]=\"item.code\"\n [hreflang]=\"item.code\"\n class=\"ecl-site-header__language-link\"\n [class.ecl-site-header__language-link--active]=\"item.code === languageCode\"\n (click)=\"onLanguageClick(item, $event)\">\n <span class=\"ecl-site-header__language-link-code\">{{ item.code }}</span>\n <span class=\"ecl-site-header__language-link-label\">{{ item.label }}</span>\n </a>\n </li>\n </ul>\n </div>\n <div\n *ngIf=\"nonEuLanguages.length\"\n class=\"ecl-site-header__language-category ecl-site-header__language-category--{{ nonEuColumnsCount }}-col\">\n <div class=\"ecl-site-header__language-category-title\">\n {{ 'ecl.language-list.NON-EU-LANGUAGES' | translate }}\n </div>\n <ul class=\"ecl-site-header__language-list\">\n <li *ngFor=\"let item of nonEuLanguages\" class=\"ecl-site-header__language-item\">\n <a\n eclLink\n href=\"#\"\n [lang]=\"item.code\"\n [hreflang]=\"item.code\"\n variant=\"standalone\"\n class=\"ecl-site-header__language-link\"\n [class.ecl-site-header__language-link--active]=\"item.code === languageCode\"\n (click)=\"onLanguageClick(item, $event)\">\n <span class=\"ecl-site-header__language-link-code\">{{ item.code }}</span>\n <span class=\"ecl-site-header__language-link-label\">{{ item.label }}</span>\n </a>\n </li>\n </ul>\n </div>\n</div>\n", "import {\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport { coerceElement } from '@eui/base';\nimport { debounceTime, fromEvent, Subject, takeUntil } from 'rxjs';\nimport { EclLanguage } from '../../../model';\nimport { EclBaseEvent } from '../../../model/ecl-base.event';\nimport { EclLanguageService } from '../../../services';\nimport { ECLClickOutsideDirective } from '../../../utils/directives/ecl-click-outside';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\nimport { EclSiteHeaderComponent } from '../ecl-site-header.component';\nimport { EclSiteHeaderLanguageCloseEvent, EclSiteHeaderLanguageSelectedEvent } from './ecl-site-header-language-popover.component';\n\nexport class EclSiteHeaderLanguageClickEvent extends EclBaseEvent {}\n\n@Component({\n selector: 'ecl-site-header-language',\n templateUrl: './ecl-site-header-language.component.html',\n hostDirectives: [\n {\n directive: ECLClickOutsideDirective,\n outputs: ['eclClickOutside'],\n },\n ],\n})\nexport class EclSiteHeaderLanguageComponent extends ECLBaseDirective implements OnInit, OnChanges, OnDestroy {\n @Input()\n languageCode = 'en';\n\n public get languageCodes(): Array<string> {\n return this._languageCodes;\n }\n\n @Input()\n public set languageCodes(value: Array<string>) {\n this._languageCodes = value;\n this.updateLanguages();\n }\n\n /*\n * @deprecated languageLabel is automatically translated\n * using languageCode. To be removed in 18\n */\n @Input() languageLabel: string;\n\n @coerceElement @ViewChild('languagePopover', { read: ElementRef }) languagePopoverElement: HTMLElement;\n @coerceElement @ViewChild('languageLink', { read: ElementRef }) languageLinkElement: HTMLElement;\n\n @Output() languageClick = new EventEmitter<EclSiteHeaderLanguageClickEvent>();\n @Output() languageSelected = new EventEmitter<EclSiteHeaderLanguageSelectedEvent>();\n\n readonly MOBILE_BREAKPOINT = 768;\n readonly LANGUAGE_MAX_COLUMNS = 8;\n isLanguagesDropdownVisible = false;\n isPushRight: boolean;\n isStack: boolean;\n isFull: boolean;\n languageArrowPosition: string;\n rightPosition: string;\n euLanguages: Array<EclLanguage> = [];\n nonEuLanguages: Array<EclLanguage> = [];\n euColumnsCount = 1;\n nonEuColumnsCount = 1;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private _languageCodes: Array<string> = [];\n private RESIZE_DEBOUNCE_TIME = 200;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-site-header__language')].join(' ').trim();\n }\n\n constructor(\n private eclLanguageService: EclLanguageService,\n private eclSiteHeader: EclSiteHeaderComponent,\n ) {\n super();\n }\n\n ngOnInit(): void {\n this.updateLanguages();\n this.handleWindowResize();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['languageCodes']) {\n this.updateLanguages();\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.complete();\n }\n\n getLanguageLabel(): string {\n return this.eclLanguageService.getLanguageByCode(this.languageCode)?.label;\n }\n\n onLanguageClick(evt: Event): void {\n this.isLanguagesDropdownVisible = !this.isLanguagesDropdownVisible;\n if (this.isLanguagesDropdownVisible) {\n this.calculatePopoverPosition();\n } else {\n setTimeout(() => {\n this.isFull = false;\n this.isStack = false;\n this.isPushRight = false;\n this.rightPosition = undefined;\n this.languageArrowPosition = undefined;\n });\n }\n\n this.languageClick.next(new EclSiteHeaderLanguageClickEvent());\n\n evt.preventDefault();\n }\n\n onLanguageClosed(evt: EclSiteHeaderLanguageCloseEvent): void {\n this.isLanguagesDropdownVisible = false;\n }\n\n onLanguageSelected(evt: EclSiteHeaderLanguageSelectedEvent): void {\n this.languageCode = evt.language.code;\n\n this.isLanguagesDropdownVisible = false;\n this.languageSelected.next(new EclSiteHeaderLanguageSelectedEvent(evt.language));\n }\n\n @HostListener('eclClickOutside')\n onClickOutside(): void {\n this.isLanguagesDropdownVisible = false;\n }\n\n @HostListener('document:keydown.escape')\n onEscapeKeydownHandler(): void {\n this.isLanguagesDropdownVisible = false;\n }\n\n public hasLanguageCodes(): boolean {\n return this.languageCodes && this.languageCodes.length > 0;\n }\n\n handleWindowResize(): void {\n fromEvent(window, 'resize')\n .pipe(debounceTime(this.RESIZE_DEBOUNCE_TIME), takeUntil(this.destroy$))\n .subscribe(() => {\n if (this.isLanguagesDropdownVisible) {\n this.calculatePopoverPosition();\n }\n });\n }\n\n private updateLanguages(): void {\n const languages = this.eclLanguageService.getLanguagesByCodes(this.languageCodes);\n\n this.euLanguages = languages.filter((item) => this.eclLanguageService.isEuLanguage(item.code));\n\n this.nonEuLanguages = languages.filter((item) => !this.eclLanguageService.isEuLanguage(item.code));\n\n this.euColumnsCount = Math.ceil(this.euLanguages.length / this.LANGUAGE_MAX_COLUMNS);\n\n this.nonEuColumnsCount = Math.ceil(this.nonEuLanguages.length / this.LANGUAGE_MAX_COLUMNS);\n }\n\n private calculatePopoverPosition(): void {\n setTimeout(() => {\n if (this.hasLanguageCodes()) {\n const arrowSize = '0.5rem';\n const containerElement = this.eclSiteHeader.topContainerElement;\n const containerRect = containerElement.getBoundingClientRect();\n const linkRect = this.languageLinkElement.getBoundingClientRect();\n const popoverRect = this.languagePopoverElement.getBoundingClientRect();\n const screenWidth = window.innerWidth;\n const vw = Math.max(document.documentElement.clientWidth || 0, window.innerWidth || 0);\n\n this.isFull = false;\n this.isStack = false;\n this.isPushRight = false;\n this.rightPosition = undefined;\n this.languageArrowPosition = undefined;\n\n if (popoverRect.width > containerRect.width) {\n this.isStack = true;\n if (this.nonEuLanguages.length) {\n this.nonEuColumnsCount = Math.max(this.euColumnsCount, this.nonEuColumnsCount);\n }\n }\n\n if (popoverRect.right > screenWidth) {\n const arrowPosition = containerRect.right - linkRect.right + linkRect.width / 2;\n\n this.isPushRight = true;\n this.rightPosition = `-${containerRect.right - linkRect.right}px`;\n this.languageArrowPosition = `calc(${arrowPosition}px - ${arrowSize})`;\n }\n\n if (vw < this.MOBILE_BREAKPOINT) {\n const arrowPosition = popoverRect.right - linkRect.right + linkRect.width / 2;\n\n this.isFull = true;\n this.languageArrowPosition = `calc(${arrowPosition}px - ${arrowSize})`;\n }\n }\n });\n }\n}\n", "<a\n href=\"#\"\n #languageLink\n class=\"ecl-button ecl-button--ghost ecl-site-header__language-selector\"\n aria-controls=\"language-list-overlay\"\n role=\"button\"\n [attr.aria-label]=\"'ecl.language-list.SELECT-LANGUAGE-EXT' | translate: { currentLang: getLanguageLabel() }\"\n [attr.aria-expanded]=\"isLanguagesDropdownVisible\"\n (click)=\"onLanguageClick($event)\"\n (keydown.space)=\"onLanguageClick($event)\">\n <span class=\"ecl-site-header__language-icon\">\n <ecl-icon icon=\"global\" size=\"s\" class=\"ecl-site-header__icon\"></ecl-icon>\n </span>\n {{ getLanguageLabel() }}\n</a>\n\n<ecl-site-header-language-popover\n #languagePopover\n *ngIf=\"hasLanguageCodes()\"\n [languageCode]=\"languageCode\"\n [euLanguages]=\"euLanguages\"\n [nonEuLanguages]=\"nonEuLanguages\"\n [euColumnsCount]=\"euColumnsCount\"\n [nonEuColumnsCount]=\"nonEuColumnsCount\"\n [isHidden]=\"!isLanguagesDropdownVisible\"\n [isStack]=\"isStack\"\n [isPushRight]=\"isPushRight\"\n [isFull]=\"isFull\"\n [rightPosition]=\"rightPosition\"\n [languageArrowPosition]=\"languageArrowPosition\"\n (languageSelected)=\"onLanguageSelected($event)\"\n (languageClosed)=\"onLanguageClosed($event)\">\n</ecl-site-header-language-popover>\n", "import { Component, EventEmitter, HostBinding, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { coerceBoolean } from '@eui/base';\nimport { EclBaseEvent } from '../../../model/ecl-base.event';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\n\nexport class EclSiteHeaderLoginEvent extends EclBaseEvent {}\nexport class EclSiteHeaderLoginBoxToggleEvent extends EclBaseEvent {\n constructor(public isOpen: boolean) {\n super();\n }\n}\n\n@Component({\n selector: 'ecl-site-header-login',\n templateUrl: './ecl-site-header-login.component.html',\n styles: [\n `\n .ecl-site-header__login-toggle .ecl-site-header__login-arrow {\n display: inline-flex;\n }\n `,\n ],\n})\nexport class EclSiteHeaderLoginComponent extends ECLBaseDirective implements OnChanges {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isLoggedIn: boolean | any = false;\n @HostBinding('class') class = 'ecl-site-header__login-container';\n\n @Output() login = new EventEmitter<EclSiteHeaderLoginEvent>();\n @Output() loginBoxToggle = new EventEmitter<EclSiteHeaderLoginBoxToggleEvent>();\n\n public isLoginBoxActive = false;\n\n ngOnChanges(changes: SimpleChanges): void {\n const isLoggedInChange = changes.isLoggedIn;\n if (isLoggedInChange && isLoggedInChange.previousValue === true) {\n this.isLoginBoxActive = false;\n }\n }\n\n getLoginBoxCssClasses(): string {\n return ['ecl-site-header__login-box', this.isLoginBoxActive ? 'ecl-site-header__login-box--active' : ''].join(' ');\n }\n\n onLoginClick(evt: MouseEvent): void {\n const event = new EclSiteHeaderLoginEvent();\n this.login.next(event);\n evt.preventDefault();\n }\n\n onLoginBoxToggle(evt: MouseEvent): void {\n this.isLoginBoxActive = !this.isLoginBoxActive;\n const event = new EclSiteHeaderLoginBoxToggleEvent(this.isLoginBoxActive);\n this.loginBoxToggle.next(event);\n evt.preventDefault();\n }\n}\n", "<ng-container *ngIf=\"!isLoggedIn\">\n <a\n href=\"#\"\n class=\"ecl-button ecl-button--ghost ecl-site-header__login-toggle\"\n [attr.aria-expanded]=\"isLoginBoxActive\"\n (click)=\"onLoginClick($event)\">\n <ecl-icon icon=\"log-in\" size=\"s\" class=\"ecl-site-header__icon\"></ecl-icon>\n {{ 'ecl.site-header.LOGIN' | translate }}\n </a>\n</ng-container>\n<ng-container *ngIf=\"isLoggedIn\">\n <a\n href=\"#\"\n class=\"ecl-button ecl-button--ghost ecl-site-header__login-toggle\"\n aria-controls=\"login-box-id\"\n [attr.aria-expanded]=\"isLoginBoxActive\"\n (click)=\"onLoginBoxToggle($event)\">\n <ecl-icon icon=\"logged-in\" size=\"s\" class=\"ecl-site-header__icon\"></ecl-icon>\n {{ 'ecl.site-header.LOGGED-IN' | translate }}\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" class=\"ecl-site-header__login-arrow\"></ecl-icon>\n </a>\n <div class=\"{{ getLoginBoxCssClasses() }}\">\n <ng-content></ng-content>\n </div>\n</ng-container>\n", "import { Component, EventEmitter, forwardRef, HostBinding, Input, Output, Provider } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { EclBaseEvent } from '../../../model/ecl-base.event';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\nimport { EclSearchFormEvent } from '../../ecl-search-form/index';\n\nexport class EclSiteHeaderSearchEvent extends EclBaseEvent {\n constructor(public keyword: string) {\n super();\n }\n}\n\nexport class EclSiteHeaderSearchToggleEvent extends EclBaseEvent {\n constructor(public isOpen: boolean) {\n super();\n }\n}\n\nexport const ECL_SITE_HEADER_SEARCH_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EclSiteHeaderSearchComponent),\n multi: true,\n};\n\nconst noop = (): void => {\n /** empty*/\n};\n\n@Component({\n selector: 'ecl-site-header-search',\n templateUrl: './ecl-site-header-search.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n providers: [ECL_SITE_HEADER_SEARCH_VALUE_ACCESSOR],\n})\nexport class EclSiteHeaderSearchComponent extends ECLBaseDirective implements ControlValueAccessor {\n @HostBinding('class') class = 'ecl-site-header__search-container';\n @HostBinding('attr.role') role = 'search';\n\n @Input() searchInputText: string;\n @Input() searchInputPlaceholder: string;\n @Input() searchButtonLabel: string;\n\n @Output() search = new EventEmitter<EclSiteHeaderSearchEvent>();\n @Output() searchToggle = new EventEmitter<EclSiteHeaderSearchToggleEvent>();\n\n public isSearchBoxActive = false;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private onChange: (_: any) => void = noop;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private onTouched: (_: any) => void = noop;\n\n onSearch(evt: EclSearchFormEvent): boolean {\n this.search.next(new EclSiteHeaderSearchEvent(evt.keyword));\n this.onChange(evt.keyword);\n return false;\n }\n\n onSearchBoxToggle(evt: MouseEvent): void {\n this.isSearchBoxActive = !this.isSearchBoxActive;\n const event = new EclSiteHeaderSearchToggleEvent(this.isSearchBoxActive);\n this.searchToggle.next(event);\n evt.preventDefault();\n }\n\n getSearchBoxCssClasses(): string {\n return ['ecl-site-header__search', this.isSearchBoxActive ? 'ecl-site-header__search--active' : ''].join(' ');\n }\n\n onModelChange(newValue: string): void {\n this.searchInputText = newValue;\n this.onChange(newValue);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n writeValue(value: any): void {\n this.searchInputText = value;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n}\n", "<a\n href=\"#\"\n class=\"ecl-button ecl-button--ghost ecl-site-header__search-toggle\"\n data-ecl-search-toggle=\"true\"\n aria-controls=\"search-form-id\"\n [attr.aria-expanded]=\"isSearchBoxActive\"\n (click)=\"onSearchBoxToggle($event)\">\n <ecl-icon icon=\"search\" size=\"s\" class=\"ecl-site-header__icon\"></ecl-icon>\n {{ 'ecl.common.SEARCH' | translate }}\n</a>\n\n<ecl-search-form\n (search)=\"onSearch($event)\"\n [placeholder]=\"searchInputPlaceholder\"\n (ngModelChange)=\"onModelChange($event)\"\n [(ngModel)]=\"searchInputText\"\n [searchButtonLabel]=\"searchButtonLabel\"\n [class]=\"getSearchBoxCssClasses()\">\n</ecl-search-form>\n", "import { AfterContentInit, Component, ContentChild, EventEmitter, HostBinding, Input, OnDestroy, Output, ViewChild } from '@angular/core';\nimport { coerceElement } from '@eui/base';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { EclBaseEvent } from '../../model/ecl-base.event';\nimport { EclThemeService } from '../../services';\nimport { EclLanguageService } from '../../services/ecl-language.service';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclSiteHeaderLanguageClickEvent, EclSiteHeaderLanguageComponent } from './language/ecl-site-header-language.component';\nimport { EclSiteHeaderLoginComponent } from './login/ecl-site-header-login.component';\nimport { EclSiteHeaderSearchComponent } from './search/ecl-site-header-search.component';\n\nexport class EclSiteHeaderLogoClickEvent extends EclBaseEvent {}\n\n@Component({\n selector: 'ecl-site-header',\n templateUrl: './ecl-site-header.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclSiteHeaderComponent extends ECLBaseDirective implements AfterContentInit, OnDestroy {\n @Input() logoUrl: string;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-site-header')].join(' ').trim();\n }\n\n @HostBinding('attr.role') role = 'banner';\n\n @Input() siteName: string;\n\n @Output() logoClick = new EventEmitter<EclSiteHeaderLogoClickEvent>();\n @Output() languageClick = new EventEmitter<EclSiteHeaderLanguageClickEvent>();\n\n @coerceElement @ViewChild('topContainer') topContainerElement: HTMLElement;\n\n @ContentChild(EclSiteHeaderLoginComponent) eclLoginComponent: EclSiteHeaderLoginComponent;\n @ContentChild(EclSiteHeaderSearchComponent) eclSearchComponent: EclSiteHeaderSearchComponent;\n @ContentChild(EclSiteHeaderLanguageComponent) eclLanguageComponent: EclSiteHeaderLanguageComponent;\n\n @Input() languageCode = 'en';\n\n protected destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(\n protected eclLanguageService: EclLanguageService,\n protected translateService: TranslateService,\n public eclThemeService: EclThemeService,\n ) {\n super();\n }\n\n ngAfterContentInit(): void {\n if (this.eclLoginComponent && this.eclSearchComponent) {\n this.eclLoginComponent.loginBoxToggle.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.eclSearchComponent.isSearchBoxActive = false;\n });\n\n this.eclSearchComponent.searchToggle.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.eclLoginComponent.isLoginBoxActive = false;\n });\n }\n\n if (this.eclLanguageComponent) {\n this.eclLanguageComponent.languageClick.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.languageClick.next(new EclSiteHeaderLanguageClickEvent());\n });\n\n this.eclLanguageComponent.languageSelected.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.languageCode = evt.language?.code;\n });\n }\n\n if (this.eclLanguageComponent) {\n this.languageCode = this.eclLanguageComponent?.languageCode;\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n onECLogoClick(evt: MouseEvent): void {\n const event = new EclSiteHeaderLogoClickEvent();\n this.logoClick.next(event);\n if (event.defaultPrevented) {\n evt.preventDefault();\n }\n }\n\n public getEULanguageCode(): string {\n return this.eclLanguageService.getEULanguageOrFallback(this.languageCode).code;\n }\n}\n", "<div class=\"ecl-site-header__header\">\n <div class=\"ecl-site-header__container ecl-container\">\n <div #topContainer class=\"ecl-site-header__top\">\n <a\n eclLink\n variant=\"standalone\"\n class=\"ecl-site-header__logo-link\"\n href=\"https://ec.europa.eu/info/index_{{ getEULanguageCode() }}\"\n (click)=\"onECLogoClick($event)\"\n [attr.aria-label]=\"'ecl.footer.EUROPEAN-COMMISSION' | translate\">\n <ng-content select=\"[eclSiteHeaderEnvironment]\"></ng-content>\n\n <ng-container *ngIf=\"eclThemeService.isEC$ | async\">\n <picture class=\"ecl-picture ecl-site-header__picture\" [attr.title]=\"'ecl.footer.EUROPEAN-COMMISSION' | translate\">\n <source srcset=\"./assets/images/ecl/ec/logo/positive/logo-ec--{{ getEULanguageCode() }}.svg\" media=\"(min-width: 996px)\" />\n <img\n class=\"ecl-site-header__logo-image\"\n src=\"./assets/images/ecl/ec/logo/positive/logo-ec--{{ getEULanguageCode() }}.svg\"\n alt=\"European Commission logo\" />\n </picture>\n </ng-container>\n\n <ng-container *ngIf=\"eclThemeService.isEU$ | async\">\n <picture class=\"ecl-picture ecl-site-header__picture\" [attr.title]=\"'ecl.footer.EUROPEAN-UNION' | translate\">\n <source\n srcset=\"./assets/images/ecl/eu/logo/standard-version/positive/logo-eu--{{ getEULanguageCode() }}.svg\"\n media=\"(min-width: 996px)\" />\n <img\n class=\"ecl-site-header__logo-image\"\n src=\"./assets/images/ecl/eu/logo/condensed-version/positive/logo-eu--{{ getEULanguageCode() }}.svg\"\n alt=\"European Union flag\" />\n </picture>\n </ng-container>\n </a>\n <ng-content select=\"ecl-site-header-action\"></ng-content>\n </div>\n </div>\n</div>\n\n<ng-content select=\"ecl-site-header-message\"></ng-content>\n<ng-content select=\"ecl-site-header-banner-top\"></ng-content>\n\n<div *ngIf=\"siteName\" class=\"ecl-site-header__banner\">\n <div class=\"ecl-container\">\n <div class=\"ecl-site-header__site-name\">{{ siteName }}</div>\n <ng-content select=\"[eclSiteHeaderCta]\"></ng-content>\n </div>\n</div>\n\n<ng-content select=\"ecl-menu\"></ng-content>\n\n<!-- @deprecated language list is replaced with site header language -->\n<ng-content select=\"ecl-language-list\"></ng-content>\n", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\n\n@Directive({\n selector: '[eclSiteHeaderLoginDescription]',\n})\nexport class EclSiteHeaderLoginDescriptionDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-site-header__login-description';\n}\n\n@Directive({\n selector: '[eclSiteHeaderLoginSeparator]',\n})\nexport class EclSiteHeaderLoginSeparatorDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-site-header__login-separator';\n}\n", "import { Component, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\n\n@Component({\n selector: 'ecl-site-header-message',\n templateUrl: 'ecl-site-header-message.component.html',\n})\nexport class EclSiteHeaderMessageComponent extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-site-header__message')].join(' ').trim();\n }\n}\n", "<div class=\"ecl-container\">\n <ng-content></ng-content>\n</div>\n", "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclButtonComponentModule } from '../ecl-button/ecl-button.module';\nimport { EclFormGroupComponentModule } from '../ecl-form-group/ecl-form-group.module';\nimport { EclIconComponentModule } from '../ecl-icon/ecl-icon.module';\nimport { EclLinkDirectiveModule } from '../ecl-link/ecl-link.module';\nimport { EclSearchFormComponentModule } from '../ecl-search-form/ecl-search-form.module';\nimport { EclSiteHeaderActionComponent } from './action/ecl-site-header-action.component';\nimport { EclSiteHeaderBannerTopComponent } from './banner-top/ecl-site-header-banner-top.component';\nimport { EclSiteHeaderCtaDirective } from './cta/ecl-site-header-cta.directive';\nimport { EclSiteHeaderEnvironmentComponent } from './ecl-site-header-environment';\nimport { EclSiteHeaderComponent } from './ecl-site-header.component';\nimport { EclSiteHeaderLanguagePopoverComponent } from './language/ecl-site-header-language-popover.component';\nimport { EclSiteHeaderLanguageComponent } from './language/ecl-site-header-language.component';\nimport {\n EclSiteHeaderLoginDescriptionDirective,\n EclSiteHeaderLoginSeparatorDirective,\n} from './login/ecl-site-header-login-details.directive';\nimport { EclSiteHeaderLoginComponent } from './login/ecl-site-header-login.component';\nimport { EclSiteHeaderMessageComponent } from './message';\nimport { EclSiteHeaderSearchComponent } from './search/ecl-site-header-search.component';\n\nconst COMPONENTS = [\n EclSiteHeaderComponent,\n EclSiteHeaderActionComponent,\n EclSiteHeaderLoginComponent,\n EclSiteHeaderLoginDescriptionDirective,\n EclSiteHeaderLoginSeparatorDirective,\n EclSiteHeaderLanguageComponent,\n EclSiteHeaderLanguagePopoverComponent,\n EclSiteHeaderSearchComponent,\n EclSiteHeaderBannerTopComponent,\n EclSiteHeaderEnvironmentComponent,\n EclSiteHeaderMessageComponent,\n EclSiteHeaderCtaDirective,\n];\n@NgModule({\n imports: [\n CommonModule,\n TranslateModule,\n FormsModule,\n ReactiveFormsModule,\n EclLinkDirectiveModule,\n EclButtonComponentModule,\n EclIconComponentModule,\n EclFormGroupComponentModule,\n EclSearchFormComponentModule,\n ],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclSiteHeaderComponentModule {}\n", "import { AfterViewInit, OnDestroy, Component, ContentChild, EventEmitter, HostBinding, Output } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { EclBaseEvent, EclLanguage } from '../../model';\nimport { EclLanguageService } from '../../services/ecl-language.service';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclSiteHeaderComponent, EclSiteHeaderLanguageComponent, EclSiteHeaderLanguageSelectedEvent } from '../ecl-site-header';\nimport { EclRtlService } from '../../services';\n\nexport class EclAppLanguageDismissEvent extends EclBaseEvent {\n constructor(public language?: EclLanguage) {\n super();\n }\n}\n\n@Component({\n selector: 'ecl-app',\n templateUrl: './ecl-app.component.html',\n})\nexport class EclAppComponent extends ECLBaseDirective implements AfterViewInit, OnDestroy {\n @HostBinding('attr.dir') textDirection = 'ltr';\n\n @ContentChild(EclSiteHeaderLanguageComponent) eclSiteHeaderLanguage: EclSiteHeaderLanguageComponent;\n @ContentChild(EclSiteHeaderComponent) eclSiteHeader: EclSiteHeaderComponent;\n\n @Output() languageDismiss = new EventEmitter<EclAppLanguageDismissEvent>();\n\n protected destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(protected eclLanguageService: EclLanguageService, private eclRtlService: EclRtlService) {\n super();\n }\n\n ngAfterViewInit(): void {\n this.handleRtlChangeState();\n this.handleInitialConfiguredLanguages();\n this.handleLanguageChangeState();\n this.handleUIEvents();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n private handleInitialConfiguredLanguages(): void {\n setTimeout(() => {\n const languages = this.eclLanguageService.getConfiguredLanguages();\n if (this.eclSiteHeaderLanguage) {\n this.eclSiteHeaderLanguage.languageCodes = languages?.map((lang) => lang.code);\n }\n });\n }\n\n private handleLanguageChangeState(): void {\n this.eclLanguageService.currentLanguage$.pipe(takeUntil(this.destroy$)).subscribe((lang) => {\n setTimeout(() => {\n if (this.eclSiteHeaderLanguage) {\n this.eclSiteHeaderLanguage.languageCode = lang.code;\n }\n if (this.eclSiteHeader) {\n this.eclSiteHeader.languageCode = lang.code;\n }\n });\n });\n }\n\n private handleRtlChangeState(): void {\n this.eclRtlService.currentRtlState$.pipe(takeUntil(this.destroy$)).subscribe((rtlState) => {\n if (rtlState) {\n this.textDirection = 'rtl';\n } else {\n this.textDirection = 'ltr';\n }\n });\n }\n\n private handleUIEvents(): void {\n this.eclSiteHeaderLanguage?.languageSelected\n .pipe(takeUntil(this.destroy$))\n .subscribe((evt: EclSiteHeaderLanguageSelectedEvent) => {\n this.eclLanguageService.updateCurrentLanguage(evt.language);\n this.languageDismiss.next(new EclAppLanguageDismissEvent(evt.language));\n });\n }\n}\n", "<ng-content></ng-content>\n", "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { EclAppComponent } from './ecl-app.component';\nimport { EclSiteHeaderComponentModule } from '../ecl-site-header';\n\n@NgModule({\n imports: [CommonModule, RouterModule, EclSiteHeaderComponentModule],\n exports: [EclAppComponent],\n declarations: [EclAppComponent],\n})\nexport class EclAppComponentModule {}\n", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: '[eclBannerTitle]',\n})\nexport class EclBannerTitleDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-banner__title';\n}\n\n@Directive({\n selector: '[eclBannerTitleText]',\n})\nexport class EclBannerTitleTextDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-banner__title-text';\n}\n", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: '[eclBannerDescription]',\n})\nexport class EclBannerDescriptionDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-banner__description';\n}\n\n@Directive({\n selector: '[eclBannerDescriptionText]',\n})\nexport class EclBannerDescriptionTextDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-banner__description-text';\n}\n", "import { Directive, HostBinding, ElementRef } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: 'picture[eclBannerPicture]',\n})\nexport class EclBannerPictureDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-picture ecl-banner__picture')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: 'img[eclBannerImage]',\n})\nexport class EclBannerImageDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-banner__image') className = true;\n\n constructor(public el: ElementRef) {\n super();\n }\n}\n", "import {\n AfterContentInit,\n AfterViewInit,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n HostBinding,\n Input, QueryList,\n ViewChild,\n booleanAttribute,\n forwardRef, Renderer2,\n} from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclLinkDirective } from '../ecl-link/ecl-link.directive';\nimport { EclBannerImageDirective } from './ecl-banner-picture.directive';\n\n@Component({\n selector: 'ecl-banner',\n templateUrl: './ecl-banner.component.html',\n})\nexport class EclBannerComponent extends ECLBaseDirective implements AfterContentInit, AfterViewInit {\n @Input() variant: 'text-box' | 'text-overlay' | 'plain-background';\n @Input() eclSize = 'm';\n @Input() copyright = '';\n @Input({ transform: booleanAttribute }) isCentered = false;\n @Input({ transform: booleanAttribute }) isFullWidth = false;\n\n @ContentChildren(forwardRef(() => EclLinkDirective)) eclLinkComponents: QueryList<EclLinkDirective>;\n @ContentChild(EclBannerImageDirective) eclBannerImage: EclBannerImageDirective;\n\n @ViewChild('bannerContainer') bannerContainer: ElementRef;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-banner'),\n `ecl-banner--${this.variant}`,\n `ecl-banner--${this.eclSize}`,\n this.isCentered ? 'ecl-banner--centered' : '',\n this.isFullWidth ? 'ecl-banner--full-width' : '',\n ]\n .join(' ')\n .trim();\n }\n\n private defaultRatio = '4/1'\n\n constructor(public el: ElementRef, private renderer: Renderer2) {\n super();\n }\n\n ngAfterContentInit(): void {\n if (this.eclLinkComponents) {\n this.eclLinkComponents.forEach((link) => {\n link.class = 'ecl-banner__link-cta';\n });\n }\n }\n\n ngAfterViewInit(): void {\n this.observeElementSizeChanges();\n }\n\n get hasCtaLink(): boolean {\n return this.eclLinkComponents.length > 0;\n }\n\n private observeElementSizeChanges(): void {\n new ResizeObserver(() => {\n setTimeout(() => this.setBannerHeight());\n }).observe(this.bannerContainer.nativeElement);\n }\n\n private setBannerHeight(): void {\n \n const bannerContainerHeight = this.bannerContainer.nativeElement.offsetHeight + 16;\n const ratioArray = this.getRatioArray();\n const elHeight = parseInt(window.getComputedStyle(this.el.nativeElement).getPropertyValue('width'), 10)*ratioArray[1]/ratioArray[0];\n if (bannerContainerHeight > elHeight) {\n if (this.eclBannerImage) {\n this.renderer.setStyle(this.eclBannerImage.el.nativeElement, 'aspectRatio', 'auto');\n }\n this.renderer.setStyle(this.el.nativeElement, 'height', `${bannerContainerHeight}px`);\n } else {\n this.resetHeight();\n }\n }\n\n private resetHeight(): void {\n this.renderer.setStyle(this.el.nativeElement, 'height', 'auto');\n if (this.eclBannerImage) {\n const aspectRatio = window.getComputedStyle(this.eclBannerImage.el.nativeElement).getPropertyValue('--css-aspect-ratio');\n this.renderer.setStyle(this.eclBannerImage.el.nativeElement, 'aspectRatio', aspectRatio);\n }\n }\n\n private getRatioArray(): number[] {\n if (this.eclBannerImage) {\n const aspectRatio = window.getComputedStyle(this.eclBannerImage.el.nativeElement).getPropertyValue('--css-aspect-ratio');\n return aspectRatio.split('/').map(Number);\n } else {\n return this.defaultRatio.split('/').map(Number);\n }\n }\n}\n", "<figure class=\"ecl-banner__picture-container\">\n <ng-content select=\"[eclBannerPicture]\"></ng-content>\n @if(copyright) {\n <footer class=\"ecl-banner__credit\"><small>© {{copyright}}</small></footer>\n }\n</figure>\n\n<div class=\"ecl-container\">\n <div #bannerContainer class=\"ecl-banner__container\">\n <div class=\"ecl-banner__content\">\n <ng-content select=\"[eclBannerTitle]\"></ng-content>\n <ng-content select=\"[eclBannerDescription]\"></ng-content>\n <div *ngIf=\"hasCtaLink\" class=\"ecl-banner__cta\">\n <ng-content select=\"[eclLink]\"></ng-content>\n </div>\n <ng-content></ng-content>\n </div>\n </div>\n</div>", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: '[eclBannerCredit]',\n})\nexport class EclBannerCreditDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-banner__credit';\n}\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclBannerTitleDirective, EclBannerTitleTextDirective } from './ecl-banner-title.directive';\nimport { EclBannerDescriptionDirective, EclBannerDescriptionTextDirective } from './ecl-banner-description.directive';\nimport { EclBannerComponent } from './ecl-banner.component';\nimport { EclLinkDirectiveModule } from '../ecl-link/ecl-link.module';\nimport { EclBannerCreditDirective } from './ecl-banner-credit.directive';\nimport { EclBannerImageDirective, EclBannerPictureDirective } from './ecl-banner-picture.directive';\n\nconst COMPONENTS = [\n EclBannerComponent,\n EclBannerTitleDirective,\n EclBannerTitleTextDirective,\n EclBannerDescriptionDirective,\n EclBannerDescriptionTextDirective,\n EclBannerCreditDirective,\n EclBannerPictureDirective,\n EclBannerImageDirective,\n];\n@NgModule({\n imports: [CommonModule, EclLinkDirectiveModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclBannerComponentModule {}\n", "import { Component, Input, HostBinding, ChangeDetectionStrategy, ViewEncapsulation, OnInit, ChangeDetectorRef } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclLanguageService } from '../../services';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[eclBlockquote]',\n templateUrl: './ecl-blockquote.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EclBlockquoteComponent extends ECLBaseDirective implements OnInit {\n @Input() author: string;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-blockquote')].join(' ').trim();\n }\n\n constructor(\n private readonly cdRef: ChangeDetectorRef,\n protected translateService: TranslateService,\n protected eclLanguageService: EclLanguageService) {\n super();\n }\n ngOnInit(): void {\n this.translateService.onLangChange.subscribe(() => {\n this.cdRef.detectChanges();\n });\n }\n\n get hasAuthor(): boolean {\n return this.author !== null;\n }\n\n getLanguageCode(): string {\n const language = this.eclLanguageService.getEULanguageOrFallback(this.translateService.currentLang);\n return language.code;\n }\n}\n", "<ng-content select=\"picture[eclBlockquotePicture]\"></ng-content>\n<div class=\"ecl-blockquote__body\">\n <blockquote class=\"ecl-blockquote__quote\">\n <p class=\"ecl-blockquote__citation\" [attr.lang]=\"getLanguageCode()\">\n <ng-content></ng-content>\n </p>\n @if (hasAuthor) {\n <footer class=\"ecl-blockquote__attribution\">\n <cite class=\"ecl-blockquote__author\">{{ author }}</cite>\n </footer>\n }\n </blockquote>\n</div>\n", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: 'picture[eclBlockquotePicture]',\n})\nexport class EclBlockquotePictureDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-picture ecl-blockquote__picture')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: 'img[eclBlockquoteImage]',\n})\nexport class EclBlockquoteImageDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-blockquote__image')].join(' ').trim();\n }\n}\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { EclBlockquoteComponent } from './ecl-blockquote.component';\nimport { EclBlockquoteImageDirective, EclBlockquotePictureDirective } from './ecl-blockquote-picture.directive';\n\n@NgModule({\n imports: [CommonModule],\n exports: [EclBlockquoteComponent, EclBlockquoteImageDirective, EclBlockquotePictureDirective],\n declarations: [EclBlockquoteComponent, EclBlockquoteImageDirective, EclBlockquotePictureDirective],\n})\nexport class EclBlockquoteComponentModule {}\n", "import { Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewEncapsulation, booleanAttribute } from '@angular/core';\nimport { EclBaseEvent } from '../../model';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { Params, QueryParamsHandling } from '@angular/router';\n\nexport class EclBreadcrumbSegmentClickEvent extends EclBaseEvent {}\n\n@Component({\n selector: 'ecl-breadcrumb-segment',\n templateUrl: './ecl-breadcrumb-segment.component.html',\n encapsulation: ViewEncapsulation.None,\n})\nexport class EclBreadcrumbSegmentComponent extends ECLBaseDirective {\n @HostBinding('attr.tabindex') tabIndex = '-1';\n @HostBinding('attr.role') role = 'listitem';\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Input() routerLink: string | any[] = null;\n @Input() queryParams: Params | null = null;\n @Input() href = '';\n @Input() queryParamsHandling: QueryParamsHandling = null;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Input({ transform: booleanAttribute }) isCurrentPage: boolean | any = false;\n @Input({ transform: booleanAttribute })\n @HostBinding('attr.aria-hidden')\n isHidden = false;\n\n @Output() segmentClick = new EventEmitter<EclBreadcrumbSegmentClickEvent>();\n\n constructor(public el: ElementRef) {\n super();\n }\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-breadcrumb__segment'), this.isCurrentPage ? 'ecl-breadcrumb__current-page' : ''].join(' ').trim();\n }\n\n get isEllipsis(): boolean {\n return this.el.nativeElement.classList.contains('ecl-breadcrumb__segment--ellipsis');\n }\n\n getWidth(): number {\n return this.el.nativeElement.offsetWidth;\n }\n\n onSegmentClick(evt: MouseEvent): void {\n this.segmentClick.next(new EclBreadcrumbSegmentClickEvent());\n if (!this.href) {\n evt.stopPropagation();\n }\n }\n}\n", "@if (!isEllipsis) {\n<a *ngIf=\"!isCurrentPage && href\" eclLink variant=\"standalone\" [isNoVisited]=\"true\" [href]=\"href\" tabindex=\"0\"\n (click)=\"onSegmentClick($event)\" class=\"ecl-breadcrumb__link\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n<a *ngIf=\"!isCurrentPage && !href\" eclLink [routerLink]=\"routerLink\" [queryParams]=\"queryParams\"\n [queryParamsHandling]=\"queryParamsHandling\" variant=\"standalone\" [isNoVisited]=\"true\" [href]=\"href\" tabindex=\"0\"\n (click)=\"onSegmentClick($event)\" class=\"ecl-breadcrumb__link\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n} @else {\n<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n}\n\n@if (isCurrentPage) {\n<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n} @else {\n<ecl-icon role=\"presentation\" icon=\"corner-arrow\" ariaHidden=\"true\" focusable=\"false\" size=\"fluid\"\n class=\"ecl-breadcrumb__icon\">\n</ecl-icon>\n}\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>", "import {\n AfterViewInit,\n Component,\n ContentChildren,\n ElementRef,\n HostBinding,\n Input,\n OnDestroy,\n OnInit,\n QueryList,\n Renderer2,\n ViewChild,\n booleanAttribute,\n forwardRef,\n HostListener,\n} from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclBreadcrumbSegmentComponent } from './ecl-breadcrumb-segment.component';\n\n@Component({\n selector: 'ecl-breadcrumb',\n templateUrl: './ecl-breadcrumb.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclBreadcrumbComponent extends ECLBaseDirective implements OnInit, AfterViewInit, OnDestroy {\n\n @Input({ transform: booleanAttribute }) isExpanded = false;\n @HostBinding('attr.role') role = 'navigation';\n @HostBinding('attr.aria-label') ariaLabel;\n\n @ViewChild('ellipsisSegment') eclEllipsisSegment: EclBreadcrumbSegmentComponent;\n @ViewChild('breadcrumbContainer') breadcrumbContainer: ElementRef;\n\n @ContentChildren(forwardRef(() => EclBreadcrumbSegmentComponent))\n eclSegments: QueryList<EclBreadcrumbSegmentComponent>;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private nonStaticSegments: EclBreadcrumbSegmentComponent[] = [];\n private staticSegments: EclBreadcrumbSegmentComponent[] = [];\n private MINIMUM_WIDTH = 767;\n\n constructor(\n private el: ElementRef,\n private translate: TranslateService,\n private renderer: Renderer2,\n ) {\n super();\n }\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-breadcrumb'),\n this.isExpanded ? '' : 'ecl-breadcrumb--collapsed'].join(' ').trim();\n }\n\n ngOnInit(): void {\n this.translate\n .stream('ecl.breadcrumb.YOU-ARE-HERE')\n .pipe(takeUntil(this.destroy$))\n .subscribe((text) => {\n this.ariaLabel = text;\n });\n }\n\n ngAfterViewInit(): void {\n this.init();\n this.handleOverflownSegments();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n @HostListener('window:resize', ['$event'])\n onWindowResize(): void {\n this.handleOverflownSegments();\n }\n\n onEllipsisSegmentClick(evt: MouseEvent): void {\n this.eclSegments.forEach((segment) => {\n segment.isHidden = false;\n });\n this.hideEllipsis();\n this.isExpanded = true;\n }\n\n private init(): void {\n setTimeout(() => {\n this.insertEllipsisSegmentIntoPosition();\n this.handleStaticAndNonStaticSegments();\n });\n }\n\n private insertEllipsisSegmentIntoPosition(): void {\n if (this.hasEnoughSegments()) {\n const secondEclSegmentEl: HTMLElement = this.eclSegments.get(1).el.nativeElement;\n const ellipsisSegmentEl: HTMLElement = this.eclEllipsisSegment.el.nativeElement;\n this.renderer.insertBefore(this.breadcrumbContainer.nativeElement, ellipsisSegmentEl, secondEclSegmentEl);\n }\n }\n\n private handleOverflownSegments(): void {\n if (this.hasEnoughSegments()) {\n setTimeout(() => {\n if (this.isBreadcrumbOverflowed()) {\n // if (this.getBreadcrumbTotalWidth() < this.MINIMUM_WIDTH) {\n // this.hideNonStaticSegments();\n // this.showEllipsis();\n // this.collapse();\n // } else {\n this.hideNonStaticSegments();\n this.showEllipsis();\n this.collapse();\n //}\n } else {\n this.hideEllipsis();\n this.showNonStaticSegments()\n this.expand();\n }\n });\n }\n }\n\n private hideNonStaticSegments(): void {\n this.nonStaticSegments.forEach((segment) => {\n segment.isHidden = true;\n });\n }\n\n private showNonStaticSegments(): void {\n this.nonStaticSegments.forEach((segment) => {\n segment.isHidden = false;\n });\n }\n\n private collapse(): void {\n this.isExpanded = false;\n }\n\n private expand(): void {\n this.isExpanded = true;\n }\n\n private hideEllipsis(): void {\n this.eclEllipsisSegment.isHidden = true;\n }\n\n private getEllipsisWidth(): number {\n return this.eclEllipsisSegment.getWidth();\n }\n\n private getStaticElementsWidth(): number {\n return this.staticSegments.reduce((width: number, segmentComponent) => width + segmentComponent.getWidth(), 0);\n }\n\n private showEllipsis(): void {\n this.eclEllipsisSegment.isHidden = false;\n }\n\n private hasEnoughSegments(): boolean {\n return this.eclSegments && this.eclSegments.length > 3;\n }\n\n private handleStaticAndNonStaticSegments(): void {\n if (this.hasEnoughSegments()) {\n this.staticSegments = [this.eclSegments.first, ...this.eclSegments.toArray().slice(-2)];\n this.nonStaticSegments = this.eclSegments.toArray().slice(1, this.eclSegments.length - 2);\n }\n }\n\n private isBreadcrumbOverflowed(): boolean {\n const breadcrumbTotalWidth = this.getBreadcrumbTotalWidth();\n const segmentsTotalWidth = this.getSegmentsTotalWidth();\n\n return segmentsTotalWidth > breadcrumbTotalWidth;\n }\n\n private getBreadcrumbTotalWidth(): number {\n return this.el.nativeElement.offsetWidth;\n }\n\n private getSegmentsTotalWidth(): number {\n return this.eclSegments.reduce((width: number, segmentComponent) => width + segmentComponent.el.nativeElement.offsetWidth, 0);\n }\n}\n", "<ol class=\"ecl-breadcrumb__container\" #breadcrumbContainer>\n <ecl-breadcrumb-segment #ellipsisSegment [isHidden]=\"true\" class=\"ecl-breadcrumb__segment--ellipsis\">\n <button\n tabindex=\"0\"\n eclButton\n variant=\"ghost\"\n class=\"ecl-breadcrumb__ellipsis\"\n [attr.aria-label]=\"'ecl.breadcrumb.CLICK-TO-EXPAND' | translate\"\n (click)=\"onEllipsisSegmentClick($event)\">\n ...\n </button>\n </ecl-breadcrumb-segment>\n <ng-content></ng-content>\n</ol>\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { EclBreadcrumbSegmentComponent } from './ecl-breadcrumb-segment.component';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclBreadcrumbComponent } from './ecl-breadcrumb.component';\nimport { EclLinkDirectiveModule } from '../ecl-link/ecl-link.module';\nimport { EclIconComponentModule } from '../ecl-icon/ecl-icon.module';\nimport { EclButtonComponentModule } from '../ecl-button/ecl-button.module';\n\nconst COMPONENTS = [EclBreadcrumbComponent, EclBreadcrumbSegmentComponent];\n@NgModule({\n imports: [CommonModule, RouterModule, TranslateModule, EclButtonComponentModule, EclLinkDirectiveModule, EclIconComponentModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclBreadcrumbComponentModule {}\n", "import { Directive, HostBinding, Input } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: '[eclLabel]',\n})\nexport class EclLabelDirective extends ECLBaseDirective {\n @Input() variant: 'low' | 'medium' | 'high' | 'highlight' = 'low';\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-label'), `ecl-label--${this.variant}`].join(' ').trim();\n }\n}\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclLabelDirective } from './ecl-label.directive';\n\n@NgModule({\n imports: [CommonModule],\n exports: [EclLabelDirective],\n declarations: [EclLabelDirective],\n})\nexport class EclLabelDirectiveModule {}\n", "import { Component, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n selector: 'ecl-card-body',\n templateUrl: './ecl-card-body.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclCardBodyComponent extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-card__body')].join(' ').trim();\n }\n}\n", "<ng-content></ng-content>\n", "import { Directive, HostBinding, ElementRef, ContentChild } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclLinkDirective } from '../ecl-link';\n\n@Directive({\n selector: '[eclContentBlockTitle]',\n})\nexport class EclContentBlockTitleDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-content-block__title')].join(' ').trim();\n }\n\n @ContentChild(EclLinkDirective, { descendants: true }) eclLink: EclLinkDirective;\n}\n\n@Directive({\n selector: '[eclContentBlockDescription]',\n})\nexport class EclContentBlockDescriptionDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-content-block__description')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclContentBlockLabels]',\n})\nexport class EclContentBlockLabelsDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-content-block__label-container')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclContentBlockLabel]',\n})\nexport class EclContentBlockLabelDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-content-block__label-item')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclContentBlockPrimaryMetas]',\n})\nexport class EclContentBlockPrimaryMetasDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-content-block__primary-meta-container')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclContentBlockPrimaryMeta]',\n})\nexport class EclContentBlockPrimaryMetaDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-content-block__primary-meta-item')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclContentBlockSecondaryMetas]',\n})\nexport class EclContentBlockSecondaryMetasDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-content-block__secondary-meta-container')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclContentBlockSecondaryMeta]',\n})\nexport class EclContentBlockSecondaryMetaDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-content-block__secondary-meta-item')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclContentBlockSecondaryMetaLabel]',\n})\nexport class EclContentBlockSecondaryMetaLabelDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-content-block__secondary-meta-label')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclContentBlockSecondaryMetaIcon]',\n})\nexport class EclContentBlockSecondaryMetaIconDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-content-block__secondary-meta-icon')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclContentBlockTags]',\n})\nexport class EclContentBlockTagsDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-content-block__tag-container')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclContentBlockTag]',\n})\nexport class EclContentBlockTagDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-content-block__tag-item')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclContentBlockLinksContainer]',\n})\nexport class EclContentBlockLinksContainerDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-content-block__link-container')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclContentBlockLinks]',\n})\nexport class EclContentBlockLinksDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-content-block__link-list')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclContentBlockLink]',\n})\nexport class EclContentBlockLinkDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-content-block__link-item')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclContentBlockListContainer]',\n})\nexport class EclContentBlockListContainerDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-content-block__list-container')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclContentBlockList]',\n})\nexport class EclContentBlockListDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-content-block__list')].join(' ').trim();\n }\n}\n", "import { Component, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n selector: 'ecl-content-block',\n templateUrl: './ecl-content-block.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclContentBlockComponent extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-content-block')].join(' ').trim();\n }\n}\n", "<ng-content></ng-content>\n", "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport {\n EclContentBlockDescriptionDirective,\n EclContentBlockLabelDirective,\n EclContentBlockLabelsDirective,\n EclContentBlockLinkDirective,\n EclContentBlockLinksContainerDirective,\n EclContentBlockLinksDirective,\n EclContentBlockListContainerDirective,\n EclContentBlockListDirective,\n EclContentBlockPrimaryMetaDirective,\n EclContentBlockPrimaryMetasDirective,\n EclContentBlockSecondaryMetaDirective,\n EclContentBlockSecondaryMetaIconDirective,\n EclContentBlockSecondaryMetaLabelDirective,\n EclContentBlockSecondaryMetasDirective,\n EclContentBlockTagDirective,\n EclContentBlockTagsDirective,\n EclContentBlockTitleDirective,\n} from './ecl-content-block-elements.directive';\nimport { EclContentBlockComponent } from './ecl-content-block.component';\n\nconst COMPONENTS = [\n EclContentBlockComponent,\n EclContentBlockTitleDirective,\n EclContentBlockDescriptionDirective,\n EclContentBlockLabelsDirective,\n EclContentBlockLabelDirective,\n EclContentBlockPrimaryMetasDirective,\n EclContentBlockPrimaryMetaDirective,\n EclContentBlockSecondaryMetasDirective,\n EclContentBlockSecondaryMetaDirective,\n EclContentBlockSecondaryMetaLabelDirective,\n EclContentBlockSecondaryMetaIconDirective,\n EclContentBlockTagsDirective,\n EclContentBlockTagDirective,\n EclContentBlockLinksContainerDirective,\n EclContentBlockLinksDirective,\n EclContentBlockLinkDirective,\n EclContentBlockListContainerDirective,\n EclContentBlockListDirective,\n];\n\n@NgModule({\n imports: [CommonModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclContentBlockComponentModule {}\n", "import { Directive, HostBinding, ElementRef } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: 'picture[eclCardPicture]',\n})\nexport class EclCardPictureDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-picture ecl-card__picture')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: 'img[eclCardImage]',\n})\nexport class EclCardImageDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-card__image')].join(' ').trim();\n }\n\n constructor(public el: ElementRef) {\n super();\n }\n}\n", "import { Component, HostBinding, ContentChild, Renderer2, AfterViewInit, forwardRef } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclContentBlockComponent, EclContentBlockTitleDirective } from '../ecl-content-block';\nimport { EclCardImageDirective } from './ecl-card-picture.directive';\n\n@Component({\n selector: 'ecl-card',\n templateUrl: './ecl-card.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclCardComponent extends ECLBaseDirective implements AfterViewInit {\n @HostBinding('attr.role') role = 'article';\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-card')].join(' ').trim();\n }\n\n @ContentChild(forwardRef(() => EclContentBlockComponent), { descendants: true }) eclContentBlock: EclContentBlockComponent;\n @ContentChild(forwardRef(() => EclContentBlockTitleDirective), { descendants: true }) eclContentBlockTitle: EclContentBlockTitleDirective;\n @ContentChild(forwardRef(() => EclCardImageDirective), { descendants: true }) eclCardImage: EclCardImageDirective;\n\n constructor(private renderer: Renderer2) {\n super();\n }\n\n ngAfterViewInit(): void {\n this.attachClickEventToImage();\n\n if (this.eclContentBlock) {\n this.eclContentBlock.class = 'ecl-card__content-block';\n }\n }\n\n private attachClickEventToImage(): void {\n if (this.eclContentBlockTitle && this.eclContentBlockTitle.eclLink) {\n if (this.eclCardImage) {\n this.renderer.setStyle(this.eclCardImage.el.nativeElement, 'cursor', 'pointer');\n this.renderer.listen(this.eclCardImage.el.nativeElement, 'click', () => {\n this.eclContentBlockTitle.eclLink.el.nativeElement.click();\n });\n }\n }\n\n }\n}\n", "<ng-content></ng-content>\n", "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { EclIconComponentModule } from '../ecl-icon/ecl-icon.module';\nimport { EclLabelDirectiveModule } from '../ecl-label/ecl-label.module';\nimport { EclCardBodyComponent } from './ecl-card-body.component';\nimport { EclCardComponent } from './ecl-card.component';\nimport { EclCardPictureDirective, EclCardImageDirective } from './ecl-card-picture.directive';\n\nconst COMPONENTS = [EclCardComponent, EclCardBodyComponent, EclCardPictureDirective, EclCardImageDirective];\n@NgModule({\n imports: [CommonModule, RouterModule, EclIconComponentModule, EclLabelDirectiveModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclCardComponentModule {}\n", "import { EclBaseEvent } from '../../model';\nimport { EclCarouselItem } from './ecl-carousel-item.component';\n\nexport class EclSlideEvent extends EclBaseEvent {\n constructor(public item: EclCarouselItem) {\n super();\n }\n}", "import { Component, ElementRef, EventEmitter, HostBinding, HostListener, Input, Output, booleanAttribute,\n ContentChild, forwardRef } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclSlideEvent } from './ecl-carousel.event';\nimport { EclBannerComponent } from '../ecl-banner';\n\nexport interface EclCarouselItem {\n isCurrent: boolean;\n index: number;\n id?: string;\n}\n\n@Component({\n selector: 'ecl-carousel-item',\n templateUrl: './ecl-carousel-item.component.html',\n styles: [\n `\n /* TODO: remove by implementing full ECL specs */\n :host:before {\n left: 0 !important;\n display: none;\n }\n `,\n ],\n})\nexport class EclCarouselItemComponent extends ECLBaseDirective implements EclCarouselItem {\n @HostBinding('attr.aria-label') ariaLabel: string;\n @HostBinding('attr.role') role = 'group';\n @HostBinding('style.width.%') width: number;\n\n @Input() id: string;\n @Input({ transform: booleanAttribute }) isCurrent = false;\n\n @Output() slideClick = new EventEmitter<EclSlideEvent>();\n @ContentChild(forwardRef(() => EclBannerComponent)) banner: EclBannerComponent;\n\n public index: number;\n\n constructor(public el: ElementRef) {\n super();\n }\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-carousel__slide')].join(' ').trim();\n }\n\n @HostBinding('attr.inert')\n get isInert(): boolean {\n return !this.isCurrent || undefined;\n }\n\n @HostListener('click')\n onSlideClick(): void {\n this.slideClick.next(new EclSlideEvent(this));\n }\n}\n", "<ng-content></ng-content>\n", "import { BreakpointObserver } from '@angular/cdk/layout';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n Renderer2,\n ViewChild,\n ViewChildren,\n booleanAttribute,\n forwardRef,\n numberAttribute,\n} from '@angular/core';\nimport { coerceElement } from '@eui/base';\nimport { Subject, interval, switchMap, takeUntil } from 'rxjs';\nimport { EclRtlService } from '../../services/ecl-rtl.service';\nimport { KeyCode } from '../../utils';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclCarouselItemComponent } from './ecl-carousel-item.component';\nimport { EclSlideEvent } from './ecl-carousel.event';\n\n@Component({\n selector: 'ecl-carousel',\n templateUrl: './ecl-carousel.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n\n /* TODO: remove by implementing full ECL specs */\n .ecl-carousel__container {\n width: 100%;\n }\n\n .ecl-carousel__slides {\n transition-duration: 0.4s;\n }\n `,\n ],\n})\nexport class EclCarouselComponent extends ECLBaseDirective implements OnInit, OnDestroy, AfterContentInit, AfterViewInit {\n\n @HostBinding('attr.aria-label') @Input('aria-label') ariaLabel: string | null = 'Carousel description here';\n @HostBinding('attr.aria-roledescription') @Input() ariaRoleDescription: string | null = 'carousel';\n\n @Input({ transform: booleanAttribute }) isAutoplay = true;\n @Input({ transform: numberAttribute }) playInterval = 5000;\n @Output() slide = new EventEmitter<EclSlideEvent>();\n\n @ViewChild('carouselContainer') carouselContainerElement: ElementRef;\n @ContentChildren(forwardRef(() => EclCarouselItemComponent)) slides: QueryList<EclCarouselItemComponent>;\n @ViewChildren('currButton') navigationButtons: QueryList<ElementRef>;\n @ViewChild('playButton') playButton: ElementRef;\n @ViewChild('pauseButton') pauseButton: ElementRef;\n @ViewChild('prevButton') prevButton: ElementRef;\n @ViewChild('nextButton') nextButton: ElementRef;\n @ViewChild('firstHiddenItem') firstHiddenItem: EclCarouselItemComponent;\n @ViewChild('lastHiddenItem') lastHiddenItem: EclCarouselItemComponent;\n @ViewChild('slidesContainer') slidesContainer: ElementRef;\n\n public isButtonNavVisible= false;\n public isPlaying = false;\n public isPausedForced = false;\n public isRtl = false;\n slideWidth: number;\n transitionDuration = 0.4;\n\n private isTabletBreakpoint = false;\n private isDesktopBreakpoint = false;\n private isLargeDesktopBreakpoint = false;\n private isMobileBreakpoint = false;\n private playSubject = new Subject<void>();\n private stopSubject = new Subject<void>();\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private unsubscribeListener: () => void;\n private readonly TIMEOUT_INTERVAL = 400;\n\n constructor(\n private cdkBreakpointObserver: BreakpointObserver,\n private cd: ChangeDetectorRef,\n private renderer2: Renderer2,\n private eclRtlService: EclRtlService,\n ) {\n super();\n }\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-carousel')].join(' ').trim();\n }\n\n ngOnInit(): void {\n this.initAutoplay();\n this.handleRtlChangeState();\n }\n\n ngAfterContentInit(): void {\n setTimeout(() => {\n this.initializeSlider();\n this.isButtonDisplay();\n });\n }\n\n ngAfterViewInit(): void {\n this.observeElementSizeChanges();\n this.cd.detectChanges();\n setTimeout(() => this.observeBreakpointChanges(), 200);\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n if (this.unsubscribeListener) {\n this.unsubscribeListener();\n }\n }\n\n onPlayClick(): void {\n this.startPlaying();\n this.showButton(this.pauseButton);\n this.focusOnButton(this.pauseButton);\n }\n\n onPauseClick(): void {\n this.stopPlaying();\n this.showButton(this.playButton);\n this.focusOnButton(this.playButton);\n }\n\n onFirstCarouselElementPress(e): void {\n if (e.key === KeyCode.TAB) {\n if (this.isPlaying) {\n this.stopPlaying();\n }\n }\n }\n\n onPlayKeyboardPress(e): void {\n if (e.key === KeyCode.TAB && e.shiftKey) {\n return;\n }\n if ([KeyCode.TAB].includes(e.key)) {\n if (this.isPlaying) {\n this.activateSlide(this.slides.get(0), true);\n this.focusOnButton(this.navigationButtons.get(0));\n this.stopPlaying();\n } else {\n this.focusOnButton(this.navigationButtons.get(this.getCurrentSlideIndex()));\n }\n e.preventDefault();\n } else if (!this.isPlaying && [KeyCode.ARROW_RIGHT].includes(e.key)) {\n this.focusOnButton(this.navigationButtons.get(this.getCurrentSlideIndex()));\n }\n }\n\n onNavBtnKeyboardPress(e: KeyboardEvent, index: number): void {\n if (e.key === KeyCode.TAB && e.shiftKey) {\n this.onNavigationButtonTabAndShift(e, index);\n } else if (e.key === KeyCode.ARROW_RIGHT) {\n this.onNavigationButtonArrowRight(e);\n } else if (e.key === KeyCode.TAB) {\n this.onNavigationButtonTab(e, index);\n } else if (e.key === KeyCode.ARROW_LEFT) {\n this.onNavigationButtonArrowLeft(e, index);\n }\n return;\n }\n\n isButtonVisible(button: ElementRef): boolean {\n if (!button) {\n return false;\n }\n return button.nativeElement.style.display === '';\n }\n\n showButton(button: ElementRef): void {\n this.renderer2.setStyle(button.nativeElement, 'display', '')\n }\n\n focusOnButton(button: ElementRef): void {\n if (!button) {\n return;\n }\n button.nativeElement.focus();\n }\n\n onSlideControlClick(slide: EclCarouselItemComponent): void {\n this.stopPlaying();\n this.activateSlide(slide, true);\n }\n\n onNextSlideClick(): void {\n this.stopPlaying();\n this.goToNextSlide(true);\n }\n\n onPreviousSlideClick(): void {\n this.stopPlaying();\n this.goToPreviousSlide(true);\n }\n\n onSlideHover(): void {\n this.pausePlaying();\n }\n\n onSlideHoverout(): void {\n if (!this.isStopButtonPressed()) {\n this.resumePlaying();\n }\n }\n\n public isStopButtonPressed(): boolean {\n return this.isPausedForced;\n }\n\n public isPadded(): boolean {\n return this.isDesktopBreakpoint;\n }\n\n public hasControls(): boolean {\n return this.getSlidesCount() > 1;\n }\n\n public getCurrentSlideIndex(): number {\n let currentIndex: number;\n\n this.getAllSlidesArray().forEach((item, idx) => {\n if (item && item.isCurrent) {\n currentIndex = idx;\n }\n });\n if (currentIndex === this.getAllSlidesCount() -1) {\n return 0;\n } else if (currentIndex === 0) {\n return this.getSlidesCount() - 1;\n }\n return currentIndex - 1;\n }\n\n public getCarouselSlidesWidth(): number {\n return this.carouselContainerElement?.nativeElement.offsetWidth * this.getAllSlidesCount();\n }\n\n public getCarouselSlidesOffsetLeft(): number {\n return -1 * this.carouselContainerElement?.nativeElement.offsetWidth * this.getCurrentItemIndex();\n }\n\n public getCarouselSlidesOffsetRight(): number {\n return -1 * this.carouselContainerElement?.nativeElement.offsetWidth * this.getCurrentItemIndex();\n }\n\n private handleRtlChangeState(): void {\n this.eclRtlService.currentRtlState$.pipe(takeUntil(this.destroy$)).subscribe((rtlState) => {\n this.isRtl = rtlState;\n });\n }\n\n private initAutoplay(): void {\n const start$ = this.playSubject.asObservable();\n const stop$ = this.stopSubject.asObservable();\n\n start$\n .pipe(\n switchMap(() => interval(this.playInterval).pipe(takeUntil(stop$))),\n takeUntil(this.destroy$),\n )\n .subscribe(() => {\n this.goToNextSlide(true);\n });\n }\n\n private getCurrentItemIndex(): number {\n let result = 0;\n this.getAllSlidesArray().forEach((item, index) => {\n if (item && item.isCurrent) {\n result = index;\n }\n });\n return result;\n }\n\n private initializeSlider(): void {\n this.slides.forEach((item, idx) => {\n this.initSlide(item, idx);\n });\n\n if (this.hasControls()) {\n this.initHiddenItems();\n if (this.isNoSlideSelected()) {\n this.activateSlide(this.slides.first, false);\n }\n\n if (this.isAutoplay && this.isTabletBreakpoint) {\n this.startPlaying();\n }\n }\n }\n\n private initHiddenItems(): void {\n this.firstHiddenItem.el.nativeElement.innerHTML = this.getLastContentChild();\n this.firstHiddenItem.isCurrent = false;\n this.lastHiddenItem.el.nativeElement.innerHTML = this.getFirstContentChild();\n this.lastHiddenItem.isCurrent = false;\n this.slideWidth = this.slides.first.width;\n this.unsubscribeListener = this.renderer2.listen(this.slidesContainer.nativeElement, 'transitionend', () => this.checkIndex());\n }\n\n private checkIndex(): void {\n if (this.getCurrentItemIndex() === this.getAllSlidesCount() - 1) {\n const item = this.slides.first;\n this.activateSlide(item, false);\n } else if (this.getCurrentItemIndex() === 0) {\n const item = this.slides.last;\n this.activateSlide(item, false);\n }\n }\n\n private getLastContentChild(): string {\n return this.getSlidesCount() > 0 ? this.slides.get(this.getSlidesCount() - 1).el.nativeElement.innerHTML : '';\n }\n\n private getFirstContentChild(): string {\n return this.getSlidesCount() > 0 ? this.slides.get(0).el.nativeElement.innerHTML : '';\n }\n\n private initSlide(item: EclCarouselItemComponent, idx: number): void {\n item.index = idx;\n item.ariaLabel = `slide ${idx + 1} of ${this.getSlidesCount()}`;\n item.width = 100 / this.getAllSlidesCount();\n }\n\n private goToNextSlide(isLoop: boolean): void {\n this.activateSlide(this.getNextSlide(isLoop), true);\n }\n\n private goToPreviousSlide(isLoop: boolean): void {\n this.activateSlide(this.getPreviousSlide(isLoop), true);\n }\n\n private activateSlide(slide: EclCarouselItemComponent, withTransition: boolean): void {\n if (withTransition) {\n this.transitionDuration = 0.4;\n } else {\n this.transitionDuration = 0;\n }\n if (slide) {\n this.getAllSlidesArray().forEach((item) => {\n item.isCurrent = false;\n });\n slide.isCurrent = true;\n }\n if (withTransition) {\n this.slide.next(new EclSlideEvent(this.slides.get(this.getCurrentSlideIndex())));\n }\n }\n\n private isLastButton(index): boolean {\n const buttonsList = this.navigationButtons;\n return index + 1 >= buttonsList.length;\n }\n\n private isFirstButton(index): boolean {\n return index <= 0;\n }\n\n private startPlaying(): void {\n this.isPlaying = true;\n this.isPausedForced = false;\n this.playSubject.next();\n }\n\n private stopPlaying(): void {\n this.isPlaying = false;\n this.isPausedForced = true;\n this.stopSubject.next();\n }\n\n private pausePlaying(): void {\n this.isPlaying = false;\n this.stopSubject.next();\n }\n\n private resumePlaying(): void {\n this.isPlaying = true;\n this.playSubject.next();\n }\n\n private getNextSlide(isLoop: boolean): EclCarouselItemComponent {\n const slidesCount = this.getSlidesCount();\n const currentIndex = this.getCurrentSlideIndex();\n\n if (currentIndex >= slidesCount - 1) {\n if (isLoop) {\n return this.getAllSlidesArray()[this.getAllSlidesCount() -1];\n } else {\n return this.slides.last;\n }\n } else {\n return this.slides.get(currentIndex + 1);\n }\n }\n\n private getAllSlidesArray(): EclCarouselItemComponent[] {\n return [...[this.firstHiddenItem], ...this.slides.toArray(), ...[this.lastHiddenItem]];\n }\n\n private getPreviousSlide(isLoop: boolean): EclCarouselItemComponent {\n const currentIndex = this.getCurrentSlideIndex();\n\n if (currentIndex <= 0) {\n if(isLoop) {\n return this.getAllSlidesArray()[0];\n } else {\n return this.slides.first;\n }\n } else {\n return this.slides.get(currentIndex - 1);\n }\n }\n\n private getSlidesCount(): number {\n return this.slides.length;\n }\n\n private getAllSlidesCount(): number {\n if (this.hasControls()) {\n return this.slides.length + 2;\n } else {\n return this.slides.length\n }\n }\n\n private isNoSlideSelected(): boolean {\n return !this.slides.some((item) => item.isCurrent);\n }\n\n private onNavigationButtonTabAndShift(e: KeyboardEvent, index: number): void {\n const button: ElementRef = this.navigationButtons.get(this.getCurrentSlideIndex());\n if (button) {\n if (this.isPlaying) {\n this.stopPlaying();\n }\n }\n if (this.isFirstButton(index)) {\n if (this.playButton) {\n this.focusOnButton(this.playButton);\n }\n if (this.pauseButton) {\n this.focusOnButton(this.pauseButton);\n }\n } else {\n setTimeout(() => {\n this.goToPreviousSlide(false);\n const button: ElementRef = this.navigationButtons.get(this.getCurrentSlideIndex());\n this.focusOnButton(button);\n }, this.TIMEOUT_INTERVAL);\n }\n e.preventDefault();\n }\n\n private onNavigationButtonTab(e, index): void {\n if (this.isLastButton(index)) {\n if (this.isButtonVisible(this.prevButton)) {\n this.focusOnButton(this.prevButton);\n e.preventDefault();\n }\n } else {\n setTimeout(() => {\n this.goToNextSlide(false);\n const button: ElementRef = this.navigationButtons.get(this.getCurrentSlideIndex());\n this.focusOnButton(button);\n }, this.TIMEOUT_INTERVAL);\n e.preventDefault();\n }\n }\n\n private onNavigationButtonArrowRight(e: KeyboardEvent): void {\n setTimeout(() => {\n this.goToNextSlide(false);\n const button: ElementRef = this.navigationButtons.get(this.getCurrentSlideIndex());\n this.focusOnButton(button);\n }, this.TIMEOUT_INTERVAL);\n e.preventDefault();\n }\n\n private onNavigationButtonArrowLeft(e: KeyboardEvent, index: number): void {\n if (this.isFirstButton(index)) {\n if (this.playButton) {\n this.focusOnButton(this.playButton);\n }\n if (this.pauseButton) {\n this.focusOnButton(this.pauseButton);\n }\n } else {\n setTimeout(() => {\n this.goToPreviousSlide(false);\n const button: ElementRef = this.navigationButtons.get(this.getCurrentSlideIndex());\n this.focusOnButton(button);\n }, this.TIMEOUT_INTERVAL);\n e.preventDefault();\n }\n }\n\n private observeBreakpointChanges(): void {\n this.cdkBreakpointObserver\n .observe([\n '(max-width: 768px)',\n '(max-width: 997px)',\n '(min-width: 998px)',\n '(min-width: 1140px) and (max-width: 1260px)',\n '(min-width: 1140px)',\n ])\n .pipe(takeUntil(this.destroy$))\n .subscribe((result) => {\n this.isMobileBreakpoint = result.breakpoints['(max-width: 768px)'];\n this.isTabletBreakpoint = result.breakpoints['(min-width: 998px)'];\n this.isDesktopBreakpoint = result.breakpoints['(min-width: 1140px) and (max-width: 1260px)'];\n this.isLargeDesktopBreakpoint = result.breakpoints['(min-width: 1140px)'];\n if (result.breakpoints['(max-width: 997px)']) {\n setTimeout(() => this.resetHeight(), 200);\n }\n if (this.isMobileBreakpoint) {\n this.stopPlaying();\n }\n\n if (this.isTabletBreakpoint) {\n setTimeout(() => this.checkBannerHeights(), 200);\n }\n\n if (this.isLargeDesktopBreakpoint) {\n this.isButtonDisplay();\n }\n });\n }\n\n private observeElementSizeChanges(): void {\n new ResizeObserver(() => {\n this.cd.detectChanges();\n }).observe(this.carouselContainerElement.nativeElement);\n }\n\n private isButtonDisplay(): void {\n this.isButtonNavVisible = true;\n if (this.getSlidesCount() <= 1) {\n this.isButtonNavVisible = false;\n }\n }\n\n private checkBannerHeights(): void {\n const heightValues = this.slides.map((slide)=> {\n const height = slide.banner?.el.nativeElement.offsetHeight;\n console.log('height', height);\n if (height === 'auto') {\n return 0;\n }\n if (Number.isNaN(height) || height === 100) {\n return 1;\n }\n return height;\n });\n\n const elementHeights = heightValues.filter((height)=> height !== undefined)\n const tallestElementHeight = Math.max(...elementHeights);\n if (tallestElementHeight > 0) {\n this.slides.forEach((slide) => {\n const banner = slide.banner;\n if (banner) {\n const bannerImage = banner.eclBannerImage;\n this.renderer2.setStyle(banner.el.nativeElement, 'height', `${tallestElementHeight}px`)\n if (bannerImage) {\n this.renderer2.setStyle(bannerImage.el.nativeElement, 'aspectRatio', 'auto');\n }\n }\n });\n this.resetHiddenItems();\n }\n }\n\n private resetHeight(): void {\n this.getAllSlidesArray().forEach((slide)=> {\n const banner = slide.banner;\n if (banner) {\n const bannerImage = slide.banner.eclBannerImage;\n this.renderer2.setStyle(banner.el.nativeElement, 'height', '')\n if (bannerImage) {\n this.renderer2.setStyle(bannerImage.el.nativeElement, 'aspectRatio', '')\n }\n }\n });\n this.resetHiddenItems();\n }\n\n private resetHiddenItems(): void {\n if (this.hasControls()) {\n this.firstHiddenItem.el.nativeElement.innerHTML = this.getLastContentChild();\n this.lastHiddenItem.el.nativeElement.innerHTML = this.getFirstContentChild();\n }\n }\n}\n", "<div #carouselContainer class=\"ecl-carousel__container\" [class.ecl-carousel-container--padded]=\"isPadded()\">\n <div #slidesContainer (keyup)=\"onFirstCarouselElementPress($event)\" class=\"ecl-carousel__slides\"\n [style.width.px]=\"getCarouselSlidesWidth()\" [style.left.px]=\"!isRtl ? getCarouselSlidesOffsetLeft() : null\"\n [style.right.px]=\"isRtl ? getCarouselSlidesOffsetRight() : null\"\n [style.transition-duration.s]=\"transitionDuration\" (mouseover)=\"onSlideHover()\" (mouseout)=\"onSlideHoverout()\">\n\n @if(hasControls()){\n <ecl-carousel-item #firstHiddenItem [style.width.%]=\"slideWidth\"></ecl-carousel-item>\n }\n <ng-content></ng-content>\n\n @if(hasControls()){\n <ecl-carousel-item #lastHiddenItem [style.width.%]=\"slideWidth\"></ecl-carousel-item>\n }\n\n </div>\n</div>\n@if(isButtonNavVisible) {\n<button #prevButton class=\"ecl-button ecl-button--ghost ecl-carousel__prev ecl-button--icon-only\" type=\"button\"\n (click)=\"onPreviousSlideClick()\">\n <span class=\"ecl-button__container\">\n <span class=\"ecl-button__label\">\n {{ 'ecl.carousel.NEXT-SLIDES' | translate }}\n </span>\n <ecl-icon icon=\"corner-arrow\" size=\"m\" transform=\"rotate-270\" class=\"ecl-button__icon\"> </ecl-icon>\n </span>\n</button>\n}\n\n@if(hasControls()){\n<div class=\"ecl-carousel__controls\">\n <div class=\"ecl-container\">\n <div class=\"ecl-carousel__autoplay\">\n <button #playButton class=\"ecl-button ecl-button--ghost ecl-carousel__play ecl-button--icon-only\"\n type=\"button\" [style.display]=\"isPlaying ? 'none' : 'flex'\" (keydown)=\"onPlayKeyboardPress($event)\"\n (click)=\"onPlayClick()\">\n <span class=\"ecl-button__container\">\n <span class=\"ecl-button__label\">\n {{ 'ecl.carousel.PLAY' | translate }}\n </span>\n <ecl-icon icon=\"play-outline\" size=\"m\" class=\"ecl-button__icon ecl-carousel__icon-default\">\n </ecl-icon>\n </span>\n\n </button>\n\n <button #pauseButton class=\"ecl-button ecl-button--ghost ecl-carousel__pause ecl-button--icon-only\"\n type=\"button\" [style.display]=\"isPlaying ? 'flex' : 'none'\" (keydown)=\"onPlayKeyboardPress($event)\"\n (click)=\"onPauseClick()\">\n <span class=\"ecl-button__container\">\n <span class=\"ecl-button__label\">\n {{ 'ecl.carousel.PAUSE' | translate }}\n </span>\n <ecl-icon icon=\"pause\" size=\"m\" class=\"ecl-button__icon ecl-carousel__icon-default\"> </ecl-icon>\n </span>\n\n </button>\n </div>\n\n <div class=\"ecl-carousel__navigation\">\n @for (slide of slides; let i = $index; track slide) {\n <button #currButton [attr.aria-current]=\"i === getCurrentSlideIndex()\"\n class=\"ecl-button ecl-button--ghost ecl-carousel__navigation-item\" (click)=\"onSlideControlClick(slide)\"\n (keydown)=\"onNavBtnKeyboardPress($event, i)\">\n {{ i + 1 }}\n </button>\n }\n </div>\n </div>\n</div>\n}\n@if(isButtonNavVisible) {\n<button #nextButton class=\"ecl-button ecl-button--ghost ecl-carousel__next ecl-button--icon-only\" type=\"button\"\n (click)=\"onNextSlideClick()\">\n <span class=\"ecl-button__container\">\n <span class=\"ecl-button__label\">\n {{ 'ecl.carousel.NEXT-SLIDES' | translate }}\n </span>\n <ecl-icon icon=\"corner-arrow\" size=\"m\" transform=\"rotate-90\" class=\"ecl-button__icon\"> </ecl-icon>\n </span>\n\n</button>\n}", "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclIconComponentModule } from '../ecl-icon/ecl-icon.module';\nimport { EclCarouselItemComponent } from './ecl-carousel-item.component';\nimport { EclCarouselComponent } from './ecl-carousel.component';\n\nconst COMPONENTS = [EclCarouselComponent, EclCarouselItemComponent];\n\n@NgModule({\n imports: [CommonModule, EclIconComponentModule, TranslateModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclCarouselComponentModule {}\n", "import { EclBaseEvent } from '../../../model/ecl-base.event';\nimport { EclCategoryFilterItem } from '../../../model/ecl-category-filter-item.model';\n\nexport class EclCategoryFilterItemSelectEvent extends EclBaseEvent {\n constructor(public item: EclCategoryFilterItem) {\n super();\n }\n}\n", "import { Component, ContentChildren, forwardRef, HostBinding, QueryList } from '@angular/core';\nimport { EclCategoryFilterItemComponent } from './ecl-category-filter-item.component';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\n\n@Component({\n selector: 'ecl-category-filter-list',\n templateUrl: './ecl-category-filter-list.component.html',\n})\nexport class EclCategoryFilterListComponent extends ECLBaseDirective {\n @HostBinding('class.ecl-category-filter__list') className = true;\n @HostBinding('attr.role') role = 'list';\n @HostBinding('attr.aria-controls') controls: string;\n\n @ContentChildren(forwardRef(() => EclCategoryFilterItemComponent))\n eclCategoryFilterItems: QueryList<EclCategoryFilterItemComponent>;\n\n get level(): number {\n return this._level;\n }\n set level(value: number) {\n this._level = value;\n this.updateChildrenItemsLevel(value);\n }\n private _level: number;\n\n get hasChildren(): boolean {\n return this.eclCategoryFilterItems !== undefined && this.eclCategoryFilterItems.length > 0;\n }\n\n get children(): EclCategoryFilterItemComponent[] {\n return this.eclCategoryFilterItems.toArray();\n }\n\n updateChildrenItemsLevel(value: number): void {\n if (this.eclCategoryFilterItems) {\n this.eclCategoryFilterItems.forEach((item) =>\n (item.level = value));\n }\n }\n}\n", "<ng-content></ng-content>\n", "import { Component, ContentChild, EventEmitter, forwardRef, HostBinding, Input, Output } from '@angular/core';\n\nimport { EclCategoryFilterItem } from '../../../model/ecl-category-filter-item.model';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\nimport { EclCategoryFilterItemSelectEvent } from '../common/ecl-category-filter-item.event';\nimport { EclCategoryFilterListComponent } from './ecl-category-filter-list.component';\n\n@Component({\n selector: 'ecl-category-filter-item',\n templateUrl: './ecl-category-filter-item.component.html',\n})\nexport class EclCategoryFilterItemComponent extends ECLBaseDirective implements EclCategoryFilterItem {\n @Input() href: string;\n @Input() id: string;\n\n @Output() itemSelect = new EventEmitter<EclCategoryFilterItemSelectEvent>();\n\n @HostBinding('class.ecl-category-filter__list-item') className = true;\n @HostBinding('attr.role') role = 'listitem';\n @HostBinding('class.ecl-category-filter__list-item--open')\n get isAriaExpanded(): boolean {\n return this.hasChildren ? this.isExpanded : null;\n }\n\n isExpanded = false;\n isCurrent = false;\n @ContentChild(forwardRef(() => EclCategoryFilterListComponent)) eclCategoryList: EclCategoryFilterListComponent;\n\n get level(): number {\n return this._level;\n }\n set level(value: number) {\n this._level = ++value;\n this.updateChildListLevel(this._level);\n }\n private _level: number;\n\n get levelClass(): string {\n return `ecl-category-filter__item--level-${this._level}`;\n }\n\n get hasChildren(): boolean {\n return this.eclCategoryList !== undefined;\n }\n\n get children(): EclCategoryFilterItemComponent[] {\n return this.eclCategoryList.children;\n }\n\n get isRootItemWithChildren(): boolean {\n return this.hasChildren && this.isRootItem;\n }\n\n get isChildItemWithChildren(): boolean {\n return this.hasChildren && !this.isRootItem;\n }\n\n get isRootItem(): boolean {\n return this.level === 1;\n }\n\n onItemClick(evt: MouseEvent): void {\n this.toggleExpanded();\n this.itemSelect.next(new EclCategoryFilterItemSelectEvent(this));\n if (!this.href) {\n evt.preventDefault();\n }\n evt.stopPropagation();\n }\n\n private toggleExpanded(): void {\n this.isExpanded = !this.isExpanded;\n this.isCurrent = true;\n }\n\n private updateChildListLevel(value: number): void {\n if (this.eclCategoryList) {\n this.eclCategoryList.level = value;\n }\n }\n}\n", "@if (hasChildren) {\n <button\n class=\"ecl-category-filter__item {{ levelClass }}\"\n [class.ecl-category-filter__item--has-children]=\"hasChildren\"\n [class.ecl-category-filter__item--current]=\"isCurrent\"\n [attr.aria-current]=\"isCurrent ? true : null\"\n [attr.aria-expanded] = \"isExpanded\"\n [attr.aria-controls]=\"id\"\n (click)=\"onItemClick($event)\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n @if(isChildItemWithChildren) {\n <ecl-icon icon=\"solid-arrow\" size=\"xs\" transform=\"rotate-90\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n @if(isRootItemWithChildren) {\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-180\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n </button>\n} @else {\n <a\n [href]=\"href\"\n class=\"ecl-category-filter__item {{ levelClass }}\"\n [class.ecl-category-filter__item--has-children]=\"hasChildren\"\n (click)=\"onItemClick($event)\">\n @if(isChildItemWithChildren) {\n <ecl-icon icon=\"solid-arrow\" size=\"xs\" transform=\"rotate-90\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n @if(isRootItemWithChildren) {\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-180\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n </a>\n}\n<ng-content select=\"ecl-category-filter-list\"></ng-content>\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", "import {\n Component,\n ContentChild,\n ContentChildren,\n forwardRef,\n HostBinding,\n IterableDiffer,\n IterableDiffers,\n QueryList,\n Input,\n DoCheck,\n AfterContentInit,\n} from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { v4 as uuidgen } from 'uuid';\n\nimport { EclCategoryFilterItemSelectEvent } from '../common/ecl-category-filter-item.event';\nimport { EclCategoryFilterItem } from '../../../model/ecl-category-filter-item.model';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\nimport { EclCategoryFilterItemComponent } from '../ecl-category-filter-list/ecl-category-filter-item.component';\nimport { EclCategoryFilterListComponent } from '../ecl-category-filter-list/ecl-category-filter-list.component';\n\n@Component({\n selector: 'ecl-category-filter',\n templateUrl: './ecl-category-filter.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclCategoryFilterComponent extends ECLBaseDirective implements DoCheck, AfterContentInit {\n @Input() currentItemId: string;\n\n @HostBinding('class.ecl-category-filter') className = true;\n @HostBinding('attr.role') role = 'navigation';\n @HostBinding('attr.aria-label') @Input('aria-label') ariaLabel: string | null = 'Category filter';\n\n @ContentChild(forwardRef(() => EclCategoryFilterListComponent)) eclCategoryList: EclCategoryFilterListComponent;\n @ContentChildren(forwardRef(() => EclCategoryFilterItemComponent), { descendants: true })\n eclCategoryFilterItemsAll: QueryList<EclCategoryFilterItemComponent>;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private differ: IterableDiffer<EclCategoryFilterItemComponent>;\n\n constructor(private differs: IterableDiffers) {\n super();\n this.differ = this.differs.find([]).create();\n }\n\n ngDoCheck(): void {\n const diff = this.differ.diff(this.eclCategoryFilterItemsAll);\n if (diff) {\n diff.forEachItem((item) => {\n this.connectCategoryfilterItemEvents(item.item);\n });\n setTimeout(() => {\n this.eclCategoryList.updateChildrenItemsLevel(0);\n if (this.currentItemId !== undefined) {\n this.setPreselectedCurrentItem();\n }\n });\n }\n }\n\n ngAfterContentInit (): void {\n this.setId(this.eclCategoryList.eclCategoryFilterItems);\n\n }\n\n private setId(subList: QueryList<EclCategoryFilterItemComponent>): void {\n if (subList) {\n subList.forEach((item) => {\n if (!item.id) {\n item.id = uuidgen();\n }\n if(item.eclCategoryList) {\n item.eclCategoryList.controls = item.id;\n this.setId(item.eclCategoryList.eclCategoryFilterItems);\n }\n });\n }\n }\n\n private connectCategoryfilterItemEvents(item: EclCategoryFilterItemComponent): void {\n item.itemSelect.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.onItemSelected(evt);\n });\n }\n\n private onItemSelected(evt: EclCategoryFilterItemSelectEvent): void {\n if (evt.item.isRootItem) {\n this.closeAllItemsButOne(evt.item);\n } else {\n this.deselectAllItemsButOne(evt.item);\n }\n }\n\n private setPreselectedCurrentItem(): void {\n const currItem = this.eclCategoryFilterItemsAll.toArray().find((item) => item.id === this.currentItemId);\n if(currItem) {\n currItem.isCurrent = true;\n if (currItem.hasChildren) {\n currItem.isExpanded = true;\n }\n this.expandParents(currItem);\n }\n }\n\n private expandParents(currItem: EclCategoryFilterItem): void {\n if (currItem.isRootItem) {\n return;\n } else {\n const parent = this.eclCategoryFilterItemsAll.find(\n (item) => item.hasChildren && item.children.find((child) => child.id === currItem.id) !== undefined,\n );\n parent.isExpanded = true;\n this.expandParents(parent);\n }\n }\n\n private closeAllItemsButOne(item: EclCategoryFilterItem): void {\n this.eclCategoryFilterItemsAll\n .filter((it) => it !== item)\n .forEach((it) => {\n it.isExpanded = false;\n it.isCurrent = false;\n });\n }\n\n private deselectAllItemsButOne(item: EclCategoryFilterItem): void {\n this.eclCategoryFilterItemsAll\n .filter((it) => it !== item)\n .forEach((it) => {\n it.isCurrent = false;\n });\n }\n}\n", "<ng-content></ng-content>\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { LayoutModule } from '@angular/cdk/layout';\nimport { EclLinkDirectiveModule } from '../ecl-link/ecl-link.module';\nimport { EclIconComponentModule } from '../ecl-icon/ecl-icon.module';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclCategoryFilterComponent } from './ecl-category-filter/ecl-category-filter.component';\nimport { EclCategoryFilterListComponent } from './ecl-category-filter-list/ecl-category-filter-list.component';\nimport { EclCategoryFilterItemComponent } from './ecl-category-filter-list/ecl-category-filter-item.component';\n\n@NgModule({\n imports: [EclIconComponentModule, EclLinkDirectiveModule, CommonModule, LayoutModule, TranslateModule],\n exports: [EclCategoryFilterComponent, EclCategoryFilterListComponent, EclCategoryFilterItemComponent],\n declarations: [EclCategoryFilterComponent, EclCategoryFilterListComponent, EclCategoryFilterItemComponent],\n})\nexport class EclCategoryFilterModule {}\n", "import { Directive, HostBinding, Input } from '@angular/core';\nimport { coerceBoolean } from '@eui/base';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: '[eclHelpBlock]',\n})\nexport class EclHelpBlockDirective extends ECLBaseDirective {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isDisabled: boolean | any = false;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-help-block'), this.isDisabled ? 'ecl-help-block--disabled' : ''].join(' ').trim();\n }\n}\n", "import { Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\nimport { coerceBoolean } from '@eui/base';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'label[eclCheckboxLabel]',\n templateUrl: './ecl-checkbox-label.component.html',\n encapsulation: ViewEncapsulation.None,\n})\nexport class EclCheckboxLabelComponent extends ECLBaseDirective {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isInvalid: boolean | any = false;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isDisabled: boolean | any = false;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-checkbox__label')].join(' ');\n }\n}\n", "<span class=\"ecl-checkbox__box\" [class.ecl-checkbox__box--disabled]=\"isDisabled\" [class.ecl-checkbox__box--invalid]=\"isInvalid\">\n <ecl-icon size=\"m\" icon=\"check\" class=\"ecl-checkbox__icon\"></ecl-icon>\n</span>\n\n<span class=\"ecl-checkbox__text\">\n <ng-content></ng-content>\n</span>\n", "import { Component, HostBinding, Input } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[eclCheckboxHelp]',\n templateUrl: './ecl-checkbox-help.component.html',\n})\nexport class EclCheckboxHelpComponent extends ECLBaseDirective {\n @Input() @HostBinding('class.ecl-checkbox__help--disabled') isDisabled = false;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-checkbox__help')].join(' ');\n }\n}\n", "<ng-content></ng-content>\n", "import { Directive, HostBinding, Input, forwardRef, ContentChild, AfterContentInit, OnChanges } from '@angular/core';\nimport { EclFormLabelComponent } from '../ecl-form-label/ecl-form-label.component';\nimport { EclHelpBlockDirective } from '../ecl-help-block/ecl-help-block.directive';\nimport { EclCheckboxLabelComponent } from './ecl-checkbox-label.component';\nimport { EclCheckboxHelpComponent } from './ecl-checkbox-help.component';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { coerceBoolean } from '@eui/base';\n\n@Directive({\n selector: '[eclCheckbox]',\n standalone: true,\n})\nexport class EclCheckboxDirective extends ECLBaseDirective implements AfterContentInit, OnChanges {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() @HostBinding('class.ecl-checkbox--disabled') isDisabled: boolean | any = false;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() @HostBinding('class.ecl-checkbox--invalid') isInvalid: boolean | any = false;\n\n @ContentChild(forwardRef(() => EclCheckboxLabelComponent)) eclCheckboxLabelComponent: EclCheckboxLabelComponent;\n @ContentChild(forwardRef(() => EclCheckboxHelpComponent)) eclCheckboxHelpComponent: EclCheckboxHelpComponent;\n @ContentChild(forwardRef(() => EclFormLabelComponent)) eclFormLabelDirective: EclFormLabelComponent;\n @ContentChild(forwardRef(() => EclHelpBlockDirective)) eclHelpBlockDirective: EclHelpBlockDirective;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-checkbox')].join(' ');\n }\n\n ngAfterContentInit(): void {\n this.updateChildElements();\n }\n\n ngOnChanges(): void {\n this.updateChildElements();\n }\n\n private updateChildElements(): void {\n if (this.eclCheckboxLabelComponent) {\n this.eclCheckboxLabelComponent.isInvalid = this.isInvalid;\n this.eclCheckboxLabelComponent.isDisabled = this.isDisabled;\n }\n\n if (this.eclCheckboxHelpComponent) {\n this.eclCheckboxHelpComponent.isDisabled = this.isDisabled;\n }\n }\n}\n", "import { Directive, DoCheck, forwardRef, HostBinding, Inject, Optional, Self } from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclCheckboxDirective } from './ecl-checkbox.directive';\n\n@Directive({\n selector: 'input[eclCheckboxInput]',\n})\nexport class EclCheckboxInputDirective extends ECLBaseDirective implements DoCheck {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-checkbox__input')].join(' ');\n }\n\n constructor(\n @Inject(forwardRef(() => EclCheckboxDirective)) public eclCheckbox: EclCheckboxDirective,\n @Optional() @Self() protected ngControl: NgControl,\n ) {\n super();\n }\n\n ngDoCheck(): void {\n if (this.ngControl) {\n if (this.eclCheckbox) {\n this.eclCheckbox.isInvalid = this.ngControl.invalid && this.ngControl.touched;\n this.eclCheckbox.isDisabled = this.ngControl.disabled;\n }\n }\n }\n}\n", "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EclCheckboxDirective } from './ecl-checkbox.directive';\nimport { EclCheckboxLabelComponent } from './ecl-checkbox-label.component';\nimport { EclCheckboxInputDirective } from './ecl-checkbox-input.directive';\nimport { EclCheckboxHelpComponent } from './ecl-checkbox-help.component';\nimport { EclIconComponentModule } from '../ecl-icon';\n\nconst COMPONENTS = [EclCheckboxLabelComponent, EclCheckboxHelpComponent, EclCheckboxInputDirective];\n@NgModule({\n imports: [CommonModule, EclIconComponentModule, EclCheckboxDirective],\n exports: [EclCheckboxDirective, ...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclCheckboxModule {}\n", "import { Directive, HostBinding, Input, ElementRef } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: '[eclContentItemPicture]',\n})\nexport class EclContentItemPictureDirective extends ECLBaseDirective {\n @Input() size = 'large';\n @Input() position: 'left' | 'right' | 'top' = 'left';\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-content-item__picture ecl-picture'),\n `ecl-content-item__picture--${this.size}`,\n `ecl-content-item__picture--${this.position}`,\n ]\n .join(' ')\n .trim();\n }\n}\n\n@Directive({\n selector: '[eclContentItemImage]',\n})\nexport class EclContentItemImageDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-content-item__image')].join(' ').trim();\n }\n\n constructor(public el: ElementRef) {\n super();\n }\n}\n", "import { formatDate } from '@angular/common';\nimport { Component, Input, HostBinding } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'time[eclDateBlock]',\n templateUrl: './ecl-date-block.component.html',\n})\nexport class EclDateBlockComponent extends ECLBaseDirective {\n @Input() date: Date;\n @Input() dateFormat = 'dd/M/yyyy';\n @Input() variant: 'ongoing' | 'past' = null;\n @Input() day: string;\n @Input() month: string;\n @Input() monthTitle: string;\n @Input() year: string;\n\n locale = 'en';\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-date-block'), this.variant ? `ecl-date-block--${this.variant}` : ''].join(' ').trim();\n }\n\n @Input()\n @HostBinding('attr.datetime')\n get datetime(): string {\n return this.getDatetime();\n }\n set datetime(value) {\n this._datetime = value;\n }\n private _datetime: string = null;\n\n constructor(private translateService: TranslateService) {\n super();\n this.locale = translateService.currentLang;\n }\n\n private getDatetime(): string {\n return this._datetime || this.getFormattedDate(this.date, this.dateFormat);\n }\n\n private getFormattedDate(date: Date, dateFormat: string): string {\n if (date) {\n return formatDate(date, dateFormat, this.translateService.currentLang);\n } else {\n return null;\n }\n }\n}\n", "<span class=\"ecl-date-block__daytime\">{{ datetime || (date | date: dateFormat) }}</span>\n<span class=\"ecl-date-block__day\" aria-hidden=\"true\">{{ day || (date | date: 'd') }}</span>\n<abbr [title]=\"monthTitle || month || (date | date: 'MMMM' : '' : locale)\" class=\"ecl-date-block__month\" aria-hidden=\"true\">\n {{ month || (date | date: 'MMM' : '' : locale) }}\n</abbr>\n<span class=\"ecl-date-block__year\" aria-hidden=\"true\">{{ year || (date | date: 'yyyy') }}</span>\n", "import { AfterContentInit, Component, ContentChild, forwardRef, HostBinding, Renderer2 } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclContentBlockComponent, EclContentBlockTitleDirective } from '../ecl-content-block';\nimport { EclDateBlockComponent } from '../ecl-date-block/ecl-date-block.component';\nimport { EclContentItemImageDirective, EclContentItemPictureDirective } from './ecl-content-item-image.directive';\n\n@Component({\n selector: 'ecl-content-item',\n templateUrl: './ecl-content-item.component.html',\n})\nexport class EclContentItemComponent extends ECLBaseDirective implements AfterContentInit {\n\n @ContentChild(forwardRef(() => EclContentBlockComponent)) eclContentBlock: EclContentBlockComponent;\n @ContentChild(forwardRef(() => EclDateBlockComponent)) eclDateBlock: EclDateBlockComponent;\n @ContentChild(forwardRef(() => EclContentItemPictureDirective)) eclContentItemPicture: EclContentItemPictureDirective;\n @ContentChild(forwardRef(() => EclContentBlockTitleDirective), { descendants: true }) eclContentBlockTitle: EclContentBlockTitleDirective;\n @ContentChild(forwardRef(() => EclContentItemImageDirective), { descendants: true }) eclContentItemImage: EclContentItemImageDirective;\n\n @HostBinding('attr.role') role = 'article';\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-content-item'), this.isStack ? 'ecl-content-item--stack' : ''].join(' ').trim();\n }\n\n private isStack = false;\n\n constructor(private renderer: Renderer2) {\n super();\n }\n\n ngAfterContentInit(): void {\n if (this.eclContentBlock) {\n this.eclContentBlock.class = 'ecl-content-item__content-block';\n }\n\n if (this.eclDateBlock) {\n this.eclDateBlock.class = 'ecl-content-item__date';\n }\n\n if (this.eclContentItemPicture && this.eclContentItemPicture.position === 'top') {\n this.isStack = true;\n }\n\n this.attachClickEventToImage();\n }\n\n private attachClickEventToImage(): void {\n if (this.eclContentBlockTitle && this.eclContentBlockTitle.eclLink) {\n if (this.eclContentItemImage) {\n this.renderer.setStyle(this.eclContentItemImage.el.nativeElement, 'cursor', 'pointer');\n this.renderer.listen(this.eclContentItemImage.el.nativeElement, 'click', () => {\n this.eclContentBlockTitle.eclLink.el.nativeElement.click();\n });\n }\n }\n }\n}\n", "<ng-content></ng-content>\n", "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { EclContentItemImageDirective, EclContentItemPictureDirective } from './ecl-content-item-image.directive';\nimport { EclContentItemComponent } from './ecl-content-item.component';\n\nconst COMPONENTS = [EclContentItemComponent, EclContentItemImageDirective, EclContentItemPictureDirective];\n\n@NgModule({\n imports: [CommonModule, RouterModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclContentItemComponentModule {}\n", "import { CommonModule } from '@angular/common';\nimport '@angular/common/locales/global/bg';\nimport '@angular/common/locales/global/da';\nimport '@angular/common/locales/global/en';\nimport '@angular/common/locales/global/et';\nimport '@angular/common/locales/global/fr';\nimport '@angular/common/locales/global/hr';\nimport '@angular/common/locales/global/lv';\nimport '@angular/common/locales/global/hu';\nimport '@angular/common/locales/global/nl';\nimport '@angular/common/locales/global/pt';\nimport '@angular/common/locales/global/sk';\nimport '@angular/common/locales/global/fi';\nimport '@angular/common/locales/global/cs';\nimport '@angular/common/locales/global/de';\nimport '@angular/common/locales/global/el';\nimport '@angular/common/locales/global/es';\nimport '@angular/common/locales/global/ga';\nimport '@angular/common/locales/global/it';\nimport '@angular/common/locales/global/lt';\nimport '@angular/common/locales/global/mt';\nimport '@angular/common/locales/global/pl';\nimport '@angular/common/locales/global/ro';\nimport '@angular/common/locales/global/sl';\nimport '@angular/common/locales/global/sv';\nimport { NgModule } from '@angular/core';\nimport { EclDateBlockComponent } from './ecl-date-block.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [EclDateBlockComponent],\n declarations: [EclDateBlockComponent],\n})\nexport class EclDateBlockComponentModule {}\n", "/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n Directive,\n HostBinding,\n Input,\n ElementRef,\n OnInit,\n ViewContainerRef,\n Output,\n EventEmitter,\n forwardRef,\n HostListener,\n OnDestroy,\n Provider,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\nimport Pikaday from 'pikaday';\nimport { EclIconComponent } from '../ecl-icon/ecl-icon.component';\nimport { EclBaseEvent } from '../../model/ecl-base.event';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { LangChangeEvent, TranslateService } from '@ngx-translate/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { EclLanguageService } from '../../services';\n\nconst pikadayDefaultI18n = {\n previousMonth: 'Previous Month',\n nextMonth: 'Next Month',\n months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\n weekdays: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n weekdaysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n};\n\nexport class EclDatePickerDatePickedEvent extends EclBaseEvent {\n constructor(public date: Date) {\n super();\n }\n}\n\nexport const ECL_DATE_PICKER_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EclDatePickerDirective),\n multi: true,\n};\n\nconst noop = (): void => {\n /** empty*/\n};\n\n@Directive({\n selector: 'input[eclDatePicker]',\n providers: [ECL_DATE_PICKER_VALUE_ACCESSOR],\n})\nexport class EclDatePickerDirective extends ECLBaseDirective implements OnInit, ControlValueAccessor, OnDestroy {\n @Input() yearRange = 40;\n @Input() format = 'DD-MM-YYYY';\n @HostBinding('attr.type') type = 'text';\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-datepicker__field')].join(' ').trim();\n }\n\n @Output() datePicked = new EventEmitter<EclDatePickerDatePickedEvent>();\n\n @HostBinding('attr.disabled')\n isDisabled = null;\n\n private picker: Pikaday;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private onChange: (_: any) => void = noop;\n private onTouched: () => void = noop;\n\n private hostEl: HTMLInputElement;\n private hostParentEl: HTMLElement;\n private hostWrapperEl: HTMLElement;\n private eclIconComponentEl: HTMLElement;\n\n constructor(\n private el: ElementRef,\n private viewContainerRef: ViewContainerRef,\n protected translateService: TranslateService,\n private eclLanguageService: EclLanguageService,\n ) {\n super();\n this.handlei18nEvents();\n }\n\n ngOnInit(): void {\n this.initPikaday();\n this.handleMarkup();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n @HostListener('click')\n onClick(): void {\n this.onTouched();\n }\n\n @HostListener('blur')\n onBlur(): void {\n const textFieldValue: string = this.hostEl.value;\n\n if (textFieldValue) {\n this.onChange(this.picker.getDate());\n } else {\n this.onChange(null);\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n writeValue(value: any): void {\n this.picker.setDate(value);\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.isDisabled = isDisabled || null;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n private initPikaday(): void {\n const i18nKey = 'ecl.date-picker.PIKADAY';\n let i18nTranslation = this.translateService.instant(i18nKey);\n const isRTL = this.eclLanguageService.getCurrentLanguage().isRtl;\n const position = isRTL ? 'bottom right' : 'bottom left';\n\n if (!i18nTranslation || i18nTranslation === i18nKey) {\n i18nTranslation = pikadayDefaultI18n;\n }\n\n this.picker = new Pikaday({\n field: this.el.nativeElement,\n format: this.format,\n theme: 'ecl-datepicker-theme',\n yearRange: this.yearRange,\n reposition: false,\n i18n: i18nTranslation,\n isRTL,\n position,\n showDaysInNextAndPreviousMonths: true,\n enableSelectionDaysInNextAndPreviousMonths: true,\n onSelect: this.onSelectDate.bind(this),\n onOpen(): void {\n // Extend picker size on mobile\n const vw = Math.max(document.documentElement.clientWidth || 0, window.innerWidth || 0);\n const elRect = this.el.getBoundingClientRect();\n const pickerMargin = isRTL ? vw - elRect.right : elRect.left;\n\n if (vw < 768) {\n this.el.style.width = 'auto';\n this.el.style.left = `${pickerMargin}px`;\n this.el.style.right = `${pickerMargin}px`;\n }\n },\n });\n }\n\n private handlei18nEvents(): void {\n this.translateService.onLangChange.pipe(takeUntil(this.destroy$)).subscribe((langChangeEvent: LangChangeEvent) => {\n this.initPikaday();\n });\n }\n\n private onSelectDate(date: Date): void {\n this.datePicked.next(new EclDatePickerDatePickedEvent(date));\n this.onChange(date);\n }\n\n private handleMarkup(): void {\n this.hostEl = this.getHostElement();\n this.hostParentEl = this.getHostParentElement(this.hostEl);\n this.hostWrapperEl = this.createHostWrapperContainer();\n this.eclIconComponentEl = this.createIconComponent();\n\n if (this.hostParentEl != null) {\n this.hostParentEl.replaceChild(this.hostWrapperEl, this.hostEl);\n this.hostWrapperEl.appendChild(this.hostEl);\n this.hostWrapperEl.appendChild(this.eclIconComponentEl);\n }\n }\n\n private getHostElement(): HTMLInputElement {\n return this.el.nativeElement;\n }\n\n private getHostParentElement(hostEl: HTMLInputElement): HTMLElement {\n return hostEl.parentElement;\n }\n\n private createHostWrapperContainer(): HTMLElement {\n const wrapperContainer = document.createElement('div');\n wrapperContainer.classList.add('ecl-datepicker');\n\n return wrapperContainer;\n }\n\n private createIconComponent(): HTMLElement {\n const eclIconComponent = this.viewContainerRef.createComponent(EclIconComponent);\n eclIconComponent.instance.size = 's';\n eclIconComponent.instance.icon = 'calendar';\n eclIconComponent.instance.class = 'ecl-datepicker__icon';\n\n return eclIconComponent.location.nativeElement;\n }\n}\n", "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclDatePickerDirective } from './ecl-date-picker.directive';\n\n@NgModule({\n imports: [CommonModule, TranslateModule],\n exports: [EclDatePickerDirective],\n declarations: [EclDatePickerDirective],\n})\nexport class EclDatePickerDirectiveModule {}\n", "import { Component, Input, OnInit, Output, EventEmitter, HostBinding, booleanAttribute } from '@angular/core';\n\nimport { EclBaseEvent } from '../../model';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\nexport class EclExpandableToggleEvent extends EclBaseEvent {\n constructor(public isExpanded: boolean) {\n super();\n }\n}\n\n@Component({\n selector: 'ecl-expandable',\n templateUrl: './ecl-expandable.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclExpandableComponent extends ECLBaseDirective implements OnInit {\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-expandable')].join(' ').trim();\n }\n\n @Input({ transform: booleanAttribute }) isExpanded = false;\n @Input() collapsedLabel: string;\n @Input() expandedLabel: string;\n\n @Output() toggle = new EventEmitter<EclExpandableToggleEvent>();\n\n ngOnInit(): void {\n if (!this.expandedLabel) {\n this.expandedLabel = this.collapsedLabel;\n }\n }\n\n onButtonClick(): void {\n const nextExpandedState = !this.isExpanded;\n const event = new EclExpandableToggleEvent(nextExpandedState);\n\n this.toggle.next(event);\n\n if (!event.defaultPrevented) {\n this.isExpanded = nextExpandedState;\n }\n }\n}\n", "<button\n eclButton\n variant=\"ghost\"\n type=\"button\"\n class=\"ecl-expandable__toggle\"\n [attr.aria-expanded]=\"isExpanded\"\n (click)=\"onButtonClick()\">\n <span eclButtonLabel>\n @if (isExpanded) {\n {{ expandedLabel || 'ecl.common.COLLAPSE' | translate }}\n } @else {\n {{ collapsedLabel || 'ecl.common.EXPAND' | translate }}\n }\n </span>\n <ecl-icon icon=\"corner-arrow\" size=\"fluid\" transform=\"rotate-180\"></ecl-icon>\n</button>\n<div class=\"ecl-expandable__content\" [hidden]=\"!isExpanded\">\n <ng-content></ng-content>\n</div>\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclButtonComponentModule } from '../ecl-button/ecl-button.module';\nimport { EclIconComponentModule } from '../ecl-icon/ecl-icon.module';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclExpandableComponent } from './ecl-expandable.component';\n\n@NgModule({\n imports: [CommonModule, EclButtonComponentModule, EclIconComponentModule, TranslateModule],\n exports: [EclExpandableComponent],\n declarations: [EclExpandableComponent],\n})\nexport class EclExpandableComponentModule {}\n", "import { Component, Input, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n selector: 'ecl-fact-figures',\n templateUrl: './ecl-fact-figures.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclFactFiguresComponent extends ECLBaseDirective {\n @Input() columns = '3';\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-fact-figures'), `ecl-fact-figures--col-${this.columns}`].join(' ').trim();\n }\n}\n", "<div class=\"ecl-fact-figures__items\">\n <ng-content></ng-content>\n</div>\n\n<ng-content select=\"ecl-fact-figures-view-all\"></ng-content>\n", "import { AfterContentInit, Component, ContentChildren, HostBinding, QueryList } from '@angular/core';\nimport { EclIconComponent } from '../ecl-icon/ecl-icon.component';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n selector: 'ecl-fact-figures-item',\n templateUrl: './ecl-fact-figures-item.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclFactFiguresItemComponent extends ECLBaseDirective implements AfterContentInit {\n @ContentChildren(EclIconComponent) eclIconComponents: QueryList<EclIconComponent>;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-fact-figures__item')].join(' ').trim();\n }\n\n ngAfterContentInit(): void {\n if (this.eclIconComponents) {\n this.eclIconComponents.forEach((eclIcon) => {\n eclIcon.class = [eclIcon.class, 'ecl-fact-figures__icon'].join(' ');\n });\n }\n }\n}\n", "<ng-content></ng-content>\n", "import { AfterContentInit, Component, ContentChild, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclLinkDirective } from '../ecl-link';\n\n@Component({\n selector: 'ecl-fact-figures-view-all',\n templateUrl: './ecl-fact-figures-view-all.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclFactFiguresViewAllComponent extends ECLBaseDirective implements AfterContentInit {\n @ContentChild(EclLinkDirective) eclLink: EclLinkDirective;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-fact-figures__view-all')].join(' ').trim();\n }\n\n ngAfterContentInit(): void {\n if (this.eclLink) {\n this.eclLink.class = [this.eclLink.class, 'ecl-fact-figures__view-all-link'].join(' ');\n }\n }\n}\n", "<ng-content></ng-content>\n", "import { Component, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n selector: 'ecl-fact-figures-description',\n templateUrl: './ecl-fact-figures-description.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclFactFiguresDescriptionComponent extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-fact-figures__description')].join(' ').trim();\n }\n}\n", "<ng-content></ng-content>\n", "import { Component, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n selector: 'ecl-fact-figures-title',\n templateUrl: './ecl-fact-figures-title.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclFactFiguresTitleComponent extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-fact-figures__title')].join(' ').trim();\n }\n}\n", "<ng-content></ng-content>\n", "import { Component, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n selector: 'ecl-fact-figures-value',\n templateUrl: './ecl-fact-figures-value.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclFactFiguresValueComponent extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-fact-figures__value')].join(' ').trim();\n }\n}\n", "<ng-content></ng-content>\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclFactFiguresComponent } from './ecl-fact-figures.component';\nimport { EclFactFiguresItemComponent } from './ecl-fact-figures-item.component';\nimport { EclFactFiguresViewAllComponent } from './ecl-fact-figures-view-all.component';\nimport { EclFactFiguresDescriptionComponent } from './ecl-fact-figures-description.component';\nimport { EclFactFiguresTitleComponent } from './ecl-fact-figures-title.component';\nimport { EclFactFiguresValueComponent } from './ecl-fact-figures-value.component';\n\n@NgModule({\n imports: [CommonModule, TranslateModule],\n exports: [\n EclFactFiguresComponent,\n EclFactFiguresItemComponent,\n EclFactFiguresViewAllComponent,\n EclFactFiguresDescriptionComponent,\n EclFactFiguresTitleComponent,\n EclFactFiguresValueComponent,\n ],\n declarations: [\n EclFactFiguresComponent,\n EclFactFiguresItemComponent,\n EclFactFiguresViewAllComponent,\n EclFactFiguresDescriptionComponent,\n EclFactFiguresTitleComponent,\n EclFactFiguresValueComponent,\n ],\n})\nexport class EclFactFiguresComponentModule {}\n", "import { Directive, ElementRef, HostBinding, Input } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: 'iframe[eclMediaContainerIframe]',\n})\nexport class EclMediaContainerIframeDirective extends ECLBaseDirective {\n @Input() width;\n @Input() height;\n @Input()\n @HostBinding('style.aspect-ratio')\n get ratio(): string {\n return this.hasCustomRatio ? this.calculateCustomRatio() : null;\n }\n\n hasCustomRatio = false;\n\n constructor(private elem: ElementRef) {\n super();\n }\n\n calculateCustomRatio(): string {\n let iframeHeight = this.height;\n let iframeWidth = this.width;\n if (!iframeWidth || !iframeHeight) {\n iframeWidth = this.elem.nativeElement.offsetWidth;\n iframeHeight = this.elem.nativeElement.offsetHeight;\n }\n return `${iframeWidth}/${iframeHeight}`;\n }\n}\n", "import { AfterContentInit, ContentChild, Directive, ElementRef, HostBinding, Input } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclMediaContainerIframeDirective } from './ecl-media-container-iframe.directive';\n\n@Directive({\n selector: '[eclMediaContainerItem], img[eclMediaContainerImage]',\n})\nexport class EclMediaContainerItemDirective extends ECLBaseDirective implements AfterContentInit {\n @Input() ratio: string;\n @ContentChild(EclMediaContainerIframeDirective, { static: false }) contentIframe: EclMediaContainerIframeDirective;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-media-container__media'), this.ratio ? `ecl-media-container__media--ratio-${this.ratio}` : '']\n .join(' ')\n .trim();\n }\n\n constructor(private el: ElementRef) {\n super();\n }\n\n ngAfterContentInit(): void {\n if (this.contentIframe) {\n this.contentIframe.hasCustomRatio = this.ratio ? false : true;\n }\n }\n\n /**\n * @deprecated\n * This method is deprecated and will be removed in 18 version\n */\n get isImage(): boolean {\n return this.el.nativeElement.tagName === 'IMG';\n }\n}\n", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: 'picture[eclMediaContainerPicture]',\n})\nexport class EclMediaContainerPictureDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-picture ecl-media-container__picture')].join(' ').trim();\n }\n}\n", "import { AfterContentInit, ChangeDetectorRef, Component, ContentChild, HostBinding, Input } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclExpandableComponent } from '../ecl-expandable';\nimport { EclMediaContainerItemDirective } from './ecl-media-container-item.directive';\nimport { EclMediaContainerPictureDirective } from './ecl-media-container-picture.directive';\n\n@Component({\n selector: 'ecl-media-container',\n templateUrl: './ecl-media-container.component.html',\n})\nexport class EclMediaContainerComponent extends ECLBaseDirective implements AfterContentInit {\n @Input() isFullWidth = false;\n /**\n * @deprecated\n * This property is deprecated and will be removed in 18 version\n */\n @ContentChild(EclMediaContainerPictureDirective) pictureContent: EclMediaContainerPictureDirective;\n /**\n * @deprecated\n * This property is deprecated and will be removed in 18 version\n */\n @ContentChild(EclMediaContainerItemDirective) mediaContent: EclMediaContainerItemDirective;\n\n @ContentChild(EclExpandableComponent) expandable: EclExpandableComponent;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-media-container'), this.isFullWidth ? 'ecl-media-container--full-width' : ''].join(' ').trim();\n }\n\n /**\n * @deprecated\n * This method is deprecated and will be removed in 18 version\n */\n get hasPictureContent(): boolean {\n return !!this.pictureContent;\n }\n\n /**\n * @deprecated\n * This method is deprecated and will be removed in 18 version\n */\n get hasImgContent(): boolean {\n return this.mediaContent.isImage;\n }\n\n ngAfterContentInit(): void {\n if (this.expandable) {\n this.expandable.class = [this.expandable.class, 'ecl-media-container__expandable'].join(' ');\n }\n }\n}\n", "<ng-content select=\"video[eclMediaContainerItem]\"></ng-content>\n<ng-content select=\"div[eclMediaContainerItem]\"></ng-content>\n<ng-content select=\"picture[eclMediaContainerPicture]\"></ng-content>\n<!-- TODO: Remove this code in 17 version -->\n<picture *ngIf=\"!hasPictureContent && hasImgContent\" eclMediaContainerPicture>\n <ng-content select=\"img[eclMediaContainerItem]\"></ng-content>\n</picture>\n\n<figcaption class=\"ecl-media-container__caption\">\n <ng-content></ng-content>\n</figcaption>\n<ng-content select=\"ecl-expandable\"></ng-content>\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclMediaContainerComponent } from './ecl-media-container.component';\nimport { EclMediaContainerItemDirective } from './ecl-media-container-item.directive';\nimport { EclMediaContainerIframeDirective } from './ecl-media-container-iframe.directive';\nimport { EclMediaContainerPictureDirective } from './ecl-media-container-picture.directive';\n\nconst COMPONENTS = [\n EclMediaContainerComponent,\n EclMediaContainerItemDirective,\n EclMediaContainerIframeDirective,\n EclMediaContainerPictureDirective,\n];\n@NgModule({\n imports: [CommonModule, TranslateModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclMediaContainerComponentModule {}\n", "import { Component, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n selector: 'ecl-featured-item-description',\n templateUrl: './ecl-featured-item-description.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclFeaturedItemDescriptionComponent extends ECLBaseDirective {\n @HostBinding('class.ecl-featured-item__description') className = true;\n}\n", "<p class=\"ecl-u-type-paragraph-m\">\n <ng-content></ng-content>\n</p>\n", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: '[eclFeaturedItemLink]',\n})\nexport class EclFeaturedItemLinkDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-featured-item__link') className = true;\n}\n", "import { AfterContentInit, Component, ContentChild, ContentChildren, forwardRef, HostBinding, Input, QueryList } from '@angular/core';\nimport { EclMediaContainerComponent } from '..';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n selector: 'ecl-featured-item',\n templateUrl: './ecl-featured-item.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclFeaturedItemComponent extends ECLBaseDirective implements AfterContentInit {\n @Input() eclTitle = '';\n @ContentChild(EclMediaContainerComponent) mediaContainer: EclMediaContainerComponent;\n @HostBinding('class.ecl-featured-item__item') className = true;\n\n get hasTitle(): boolean {\n return this.eclTitle !== '';\n }\n\n ngAfterContentInit(): void {\n if (this.mediaContainer) {\n this.mediaContainer.class = 'ecl-featured-item__media_container';\n }\n }\n}\n", "<div *ngIf=\"hasTitle\" class=\"ecl-featured-item__title\">{{ eclTitle }}</div>\n<ng-content></ng-content>\n", "import { Component, HostBinding, Input } from '@angular/core';\nimport { coerceBoolean } from '@eui/base';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n selector: 'ecl-featured',\n templateUrl: './ecl-featured.component.html',\n})\nexport class EclFeaturedComponent extends ECLBaseDirective {\n @Input() position: 'left' | 'right' = 'left';\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isExtended: boolean | any = false;\n\n @HostBinding('attr.role') role = 'article';\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-featured-item'), this.isExtended ? 'ecl-featured-item--extended' : ''].join(' ').trim();\n }\n}\n", "<div class=\"ecl-featured-item__container ecl-featured-item__container--{{ position }}\">\n <ng-content></ng-content>\n</div>\n", "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclMediaContainerComponentModule } from '../ecl-media-container/ecl-media-container.module';\nimport { EclFeaturedItemDescriptionComponent } from './ecl-featured-item-description.component';\nimport { EclFeaturedItemLinkDirective } from './ecl-featured-item-link.directive';\nimport { EclFeaturedItemComponent } from './ecl-featured-item.component';\nimport { EclFeaturedComponent } from './ecl-featured.component';\n\n@NgModule({\n imports: [CommonModule, TranslateModule, EclMediaContainerComponentModule],\n exports: [EclFeaturedComponent, EclFeaturedItemComponent, EclFeaturedItemLinkDirective, EclFeaturedItemDescriptionComponent],\n declarations: [EclFeaturedComponent, EclFeaturedItemComponent, EclFeaturedItemLinkDirective, EclFeaturedItemDescriptionComponent],\n})\nexport class EclFeaturedModule {}\n", "import { AfterContentInit, ContentChildren, Directive, forwardRef, HostBinding, QueryList } from '@angular/core';\nimport { EclIconComponent } from '../ecl-icon/ecl-icon.component';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: '[eclFeedbackMessage]',\n})\nexport class EclFeedbackMessageDirective extends ECLBaseDirective implements AfterContentInit {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-feedback-message')].join(' ').trim();\n }\n\n @ContentChildren(forwardRef(() => EclIconComponent)) eclIconComponents: QueryList<EclIconComponent>;\n\n ngAfterContentInit(): void {\n if (this.eclIconComponents) {\n setTimeout(() => {\n this.eclIconComponents.forEach((icn) => {\n icn.class = [icn.class, 'ecl-feedback-message__icon'].join(' ');\n });\n });\n }\n }\n}\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclFeedbackMessageDirective } from './ecl-feedback-message.directive';\n\n@NgModule({\n imports: [CommonModule],\n exports: [EclFeedbackMessageDirective],\n declarations: [EclFeedbackMessageDirective],\n})\nexport class EclFeedbackMessageDirectiveModule {}\n", "import {\n Directive,\n HostBinding,\n Input,\n Optional,\n Self,\n DoCheck,\n ElementRef,\n OnInit,\n HostListener,\n Output,\n EventEmitter,\n OnDestroy,\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { EclFileUpload } from '../../model/ecl-file-upload.model';\nimport { EclBaseEvent } from '../../model/ecl-base.event';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { TranslateService } from '@ngx-translate/core';\nimport { takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\nimport { coerceBoolean } from '@eui/base';\n\nexport class EclFileUploadFileSelectedEvent extends EclBaseEvent {\n constructor(public files: Array<EclFileUpload>) {\n super();\n }\n}\n\n@Directive({\n selector: '[eclFileUpload]',\n})\nexport class EclFileUploadDirective extends ECLBaseDirective implements OnInit, OnDestroy, DoCheck {\n @Input() variant = 'default';\n @Input() isInvalid = false;\n @Input() @HostBinding('attr.id') id: string;\n\n @coerceBoolean\n @Input()\n @HostBinding('attr.disabled')\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n disabled: boolean | any;\n\n @coerceBoolean\n @Input()\n @HostBinding('attr.multiple')\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n multiple: boolean | any;\n\n @Output() filesSelected = new EventEmitter<EclFileUploadFileSelectedEvent>();\n\n @HostBinding('attr.type') type = 'file';\n private fileListEl: HTMLElement;\n\n private files: EclFileUpload[] = [];\n private buttonEl: HTMLElement;\n private labelEl: HTMLElement;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(\n @Optional() @Self() protected ngControl: NgControl,\n private el: ElementRef,\n private translate: TranslateService,\n ) {\n super();\n }\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-file-upload')].join(' ').trim();\n }\n\n @HostBinding('class.ecl-file-upload--invalid')\n get invalidState(): boolean {\n if (this.ngControl) {\n return this.ngControl.status === 'INVALID' && this.ngControl.touched;\n } else {\n return this.isInvalid;\n }\n }\n\n ngOnInit(): void {\n this.createDOMStructure();\n this.handleTranslations();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n ngDoCheck(): void {\n if (this.disabled) {\n this.buttonEl.setAttribute('disabled', '');\n } else {\n this.buttonEl.removeAttribute('disabled');\n }\n }\n\n @HostListener('click', ['$event']) onClick(evt: Event): void {\n if (this.disabled) {\n evt.preventDefault();\n }\n }\n\n @HostListener('change', ['$event']) onFilesSelected(evt: Event): void {\n const inputElement: HTMLInputElement = evt.target as HTMLInputElement;\n const fileList: FileList = inputElement.files;\n this.files = this.getFileModels(fileList);\n\n const fileEvent = new EclFileUploadFileSelectedEvent(this.files);\n this.filesSelected.next(fileEvent);\n\n if (!fileEvent.defaultPrevented) {\n this.handleTranslations();\n this.updateListItemsDOM(this.files);\n }\n }\n\n private handleTranslations(): void {\n const uploadButtonLabelKey = this.geti18nUploadButtonLabelKey();\n\n this.translate\n .stream(uploadButtonLabelKey)\n .pipe(takeUntil(this.destroy$))\n .subscribe((translation: string) => {\n if (this.buttonEl) {\n this.buttonEl.textContent = translation;\n }\n });\n }\n\n private geti18nUploadButtonLabelKey(): string {\n let key = '';\n\n if (this.files && this.files.length !== 0) {\n if (this.multiple) {\n key = 'ecl.file-upload.REPLACE-FILES';\n } else {\n key = 'ecl.file-upload.REPLACE-FILE';\n }\n } else {\n if (this.multiple) {\n key = 'ecl.file-upload.CHOOSE-FILES';\n } else {\n key = 'ecl.file-upload.CHOOSE-FILE';\n }\n }\n\n return key;\n }\n\n private updateListItemsDOM(files: EclFileUpload[]): void {\n this.fileListEl.innerHTML = '';\n files.forEach((file) => {\n const item = this.createFileListItemDOMElement(file);\n this.fileListEl.appendChild(item);\n });\n }\n\n private createDOMStructure(): void {\n const labelEl = this.createLabelDOMElement();\n const hostEl = this.getHostDOMElement();\n const fileListEl = this.createFileListDOMElement();\n\n hostEl.insertAdjacentElement('afterend', fileListEl);\n hostEl.insertAdjacentElement('afterend', labelEl);\n\n this.fileListEl = fileListEl;\n }\n\n private getHostDOMElement(): HTMLInputElement {\n return this.el.nativeElement;\n }\n\n private createLabelDOMElement(): HTMLElement {\n this.buttonEl = document.createElement('span');\n this.buttonEl.classList.add('ecl-button', 'ecl-button--primary', 'ecl-file-upload__button');\n\n this.labelEl = document.createElement('label');\n this.labelEl.setAttribute('for', this.id);\n this.labelEl.classList.add('ecl-file-upload__button-container');\n\n this.labelEl.appendChild(this.buttonEl);\n\n return this.labelEl;\n }\n\n private createFileListDOMElement(): HTMLElement {\n const element = document.createElement('ul');\n element.classList.add('ecl-file-upload__list');\n\n return element;\n }\n\n private createFileListItemDOMElement(fileUpload: EclFileUpload): HTMLElement {\n const liElement = document.createElement('li');\n liElement.classList.add('ecl-file-upload__item');\n\n const fileNameElement = document.createElement('span');\n fileNameElement.textContent = fileUpload.name;\n fileNameElement.classList.add('ecl-file-upload__item-name');\n\n const fileMetaElement = document.createElement('span');\n fileMetaElement.textContent = `${fileUpload.size} - ${fileUpload.extension}`;\n fileMetaElement.classList.add('ecl-file-upload__item-meta');\n\n liElement.appendChild(fileNameElement);\n liElement.appendChild(fileMetaElement);\n\n return liElement;\n }\n\n private getFileModels(fileList: FileList): Array<EclFileUpload> {\n return Array.from(fileList).map((f) => ({\n name: f.name,\n extension: this.getFilenameExtension(f.name),\n size: this.formatBytes(f.size),\n }));\n }\n\n private getFilenameExtension(filename: string): string {\n return filename.split('.').pop();\n }\n\n private formatBytes(bytes, decimals = 2): string {\n if (bytes === 0) {\n return '0 Bytes';\n }\n\n const k = 1024;\n const dm = decimals < 0 ? 0 : decimals;\n const sizes = ['Bytes', 'kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n\n return `${parseFloat((bytes / k ** i).toFixed(dm))} ${sizes[i]}`;\n }\n}\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclFileUploadDirective } from './ecl-file-upload.directive';\n\n@NgModule({\n imports: [CommonModule],\n exports: [EclFileUploadDirective],\n declarations: [EclFileUploadDirective],\n})\nexport class EclFileUploadDirectiveModule {}\n", "import { EclBaseEvent } from '../../../model';\n\nexport class EclFileDownloadEvent extends EclBaseEvent {\n constructor(public href: string) {\n super();\n }\n}\n", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: 'picture[eclFilePicture]',\n})\nexport class EclFilePictureDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-picture ecl-file__picture')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: 'img[eclFileImage]',\n})\nexport class EclFileImageDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-file__image') className = true;\n}\n", "import { Component, Input, Output, EventEmitter, HostBinding, ContentChild, booleanAttribute } from '@angular/core';\nimport { EclFileDownloadEvent } from './ecl-file-item/ecl-file-download.event';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { coerceArray } from '@eui/base';\nimport { EclFilePictureDirective } from './ecl-file-picture.directive';\n\n@Component({\n selector: 'ecl-file',\n templateUrl: './ecl-file.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclFileComponent extends ECLBaseDirective {\n @Input() eclTitle: string;\n @Input() description: string;\n @Input({ transform: booleanAttribute }) hasCustomDownload = false;\n @Input() label: string;\n @Input() labelInfo: string;\n @Input() language: string;\n @Input() detailMeta: string[];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceArray @Input() meta: string[] | any;\n /**\n * @deprecated\n * This property is deprecated and will be removed in 18 version\n */\n @Input() thumbnailUrl: string;\n @Input() href = '';\n @Input() downloadFileName: string;\n @Input('aria-label') ariaLabel = '';\n\n @Output() itemDownload = new EventEmitter<EclFileDownloadEvent>();\n\n @ContentChild(EclFilePictureDirective) pictureContent: EclFilePictureDirective;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-file'), this.isThumbnail ? 'ecl-file--thumbnail' : ''].join(' ').trim();\n }\n\n get isThumbnail(): boolean {\n return !!this.thumbnailUrl || !!this.pictureContent;\n }\n\n get hasPictureContent(): boolean {\n return !!this.pictureContent;\n }\n\n onItemClick(evt: MouseEvent): void {\n const event = new EclFileDownloadEvent(this.href);\n\n this.itemDownload.next(event);\n if (!this.href || event.defaultPrevented) {\n evt.preventDefault();\n }\n }\n\n public getDownloadFileName(): string {\n return this.downloadFileName || this.href.split('/').pop();\n }\n}\n", "<div class=\"ecl-file__container\">\n <ecl-icon *ngIf=\"!isThumbnail\" icon=\"file\" class=\"ecl-file__icon\" size=\"2xl\"></ecl-icon>\n <div *ngIf=\"isThumbnail\" class=\"ecl-file__detail\">\n <div class=\"ecl-file__detail-info\">\n <div class=\"ecl-file__label\" *ngIf=\"labelInfo\">\n <span eclLabel variant=\"highlight\">{{ labelInfo }}</span>\n </div>\n <div class=\"ecl-file__detail-meta\">\n <span class=\"ecl-file__detail-meta-item\" *ngFor=\"let el of detailMeta\">{{ el }}</span>\n </div>\n <div class=\"ecl-file__title\">{{ eclTitle }}</div>\n <div class=\"ecl-file__description\">{{ description }}</div>\n </div>\n <ng-content *ngIf=\"hasPictureContent\" select=\"[eclFilePicture]\"></ng-content>\n <picture *ngIf=\"!hasPictureContent\" class=\"ecl-picture ecl-file__picture\"><img class=\"ecl-file__image\"\n [src]=\"thumbnailUrl\" alt=\"thumbnail\" /></picture>\n </div>\n <ng-content select=\"ecl-file-taxonomy\"></ng-content>\n <div class=\"ecl-file__info\">\n <div *ngIf=\"!isThumbnail\" class=\"ecl-file__title\">{{ eclTitle }}</div>\n <div class=\"ecl-file__language\">{{ language }}</div>\n <div class=\"ecl-file__meta\">{{ meta }}</div>\n </div>\n @if (hasCustomDownload) {\n <ng-content select=\"[eclFileDownload]\"></ng-content>\n } @else {\n <a eclLink variant=\"standalone\" [href]=\"href\" [download]=\"getDownloadFileName()\" class=\"ecl-file__download\"\n (click)=\"onItemClick($event)\" [attr.aria-label]=\"ariaLabel\">\n <span eclLinkLabel>{{ label || 'ecl.common.DOWNLOAD' | translate }}</span>\n <ecl-icon icon=\"download\" size=\"fluid\"></ecl-icon>\n </a>\n }\n</div>\n<ng-content></ng-content>", "import { Component, Input, HostBinding, Output, EventEmitter, booleanAttribute } from '@angular/core';\nimport { EclFileComponent } from '../ecl-file.component';\nimport { EclFileDownloadEvent } from './ecl-file-download.event';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\nimport { coerceArray } from '@eui/base';\n\n@Component({\n selector: 'ecl-file-item',\n templateUrl: './ecl-file-item.component.html',\n})\nexport class EclFileItemComponent extends ECLBaseDirective {\n @Input({ transform: booleanAttribute }) isDescription = false;\n @Input() eclTitle: string;\n @Input({ transform: booleanAttribute }) hasCustomDownload = false;\n @Input() language: string;\n @Input() description: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceArray @Input() meta: string[] | any;\n @Input() label: string;\n @Input() langDetail: string;\n @Input() href = '';\n @Input() downloadFileName: string;\n @Input('aria-label') ariaLabel = '';\n\n @Output() itemDownload = new EventEmitter<EclFileDownloadEvent>();\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-file__translation-item'), this.isDescription ? 'ecl-file__translation-description' : '']\n .join(' ')\n .trim();\n }\n\n constructor(private eclFileComponent: EclFileComponent) {\n super();\n }\n\n get isThumbnail(): boolean {\n return this.eclFileComponent && this.eclFileComponent.isThumbnail;\n }\n\n onItemClick(evt: MouseEvent): void {\n const event = new EclFileDownloadEvent(this.href);\n\n this.itemDownload.next(event);\n if (!this.href || event.defaultPrevented) {\n evt.preventDefault();\n }\n }\n\n public getDownloadFileName(): string {\n return this.downloadFileName || this.href.split('/').pop();\n }\n}\n", "<ng-template [ngIf]=\"!isDescription\">\n <div *ngIf=\"isThumbnail\" class=\"ecl-file__translation-detail\">\n <div class=\"ecl-file__translation-title\" [attr.lang]=\"langDetail\">{{ eclTitle }}</div>\n <div class=\"ecl-file__translation-description\" [attr.lang]=\"langDetail\">{{ description }}</div>\n </div>\n <div class=\"ecl-file__translation-info\">\n <div *ngIf=\"isThumbnail\" class=\"ecl-file__translation-language\">{{ language }}</div>\n <div *ngIf=\"!isThumbnail\" class=\"ecl-file__translation-title\" [attr.lang]=\"langDetail\">{{ eclTitle }}</div>\n <div class=\"ecl-file__translation-meta\">{{ meta }}</div>\n </div>\n @if (hasCustomDownload) {\n <ng-content select=\"[eclFileDownload]\"></ng-content>\n } @else {\n <a eclLink variant=\"standalone\" [href]=\"href\" [download]=\"getDownloadFileName()\"\n class=\"ecl-file__translation-download\" (click)=\"onItemClick($event)\" [attr.aria-label]=\"ariaLabel\">\n <span class=\"ecl-link__label\">{{ label || 'ecl.common.DOWNLOAD' | translate }}</span>&nbsp;\n <ecl-icon icon=\"download\" size=\"fluid\"></ecl-icon>\n </a>\n }\n</ng-template>\n<ng-template [ngIf]=\"isDescription\">\n <ng-content></ng-content>\n</ng-template>", "import { Component, Input, ContentChildren, QueryList, Output, EventEmitter, HostBinding } from '@angular/core';\nimport { EclFileItemComponent } from '../ecl-file-item/ecl-file-item.component';\nimport { EclBaseEvent } from '../../../model/ecl-base.event';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\nimport { coerceBoolean } from '@eui/base';\n\nexport class EclFileItemsToggleEvent extends EclBaseEvent {\n constructor(public isExpanded: boolean) {\n super();\n }\n}\n\n@Component({\n selector: 'ecl-file-items',\n templateUrl: './ecl-file-items.component.html',\n})\nexport class EclFileItemsComponent extends ECLBaseDirective {\n @Input() label: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() @HostBinding('attr.aria-expanded') isExpanded: boolean | any = false;\n\n @Output() toggle = new EventEmitter<EclFileItemsToggleEvent>();\n\n @ContentChildren(EclFileItemComponent) items: QueryList<EclFileItemComponent>;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-file__translation-container')].join(' ').trim();\n }\n\n getItemsCount(): number {\n return this.items.filter((item) => !item.isDescription).length;\n }\n\n onToggleClick(evt: MouseEvent): void {\n const nextExpandedState = !this.isExpanded;\n const event = new EclFileItemsToggleEvent(nextExpandedState);\n\n this.toggle.next(event);\n\n if (!event.defaultPrevented) {\n this.isExpanded = nextExpandedState;\n }\n }\n}\n", "<button eclButton variant=\"ghost\" class=\"ecl-file__translation-toggle\" (click)=\"onToggleClick($event)\">\n <span eclButtonLabel>\n {{ label || 'ecl.file.OTHER-LANGUAGES' | translate: { count: getItemsCount() } }}\n </span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-180\"></ecl-icon>\n</button>\n<ul class=\"ecl-file__translation-list\">\n <ng-content></ng-content>\n</ul>\n", "import { Component, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\n\n@Component({\n selector: 'ecl-file-taxonomy',\n templateUrl: './ecl-file-taxonomy.component.html',\n})\nexport class EclFileTaxonomyComponent extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-file__taxonomy')].join(' ').trim();\n }\n}\n", "<ng-content></ng-content>\n", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: '[eclFileDownload]',\n})\nexport class EclFileDownloadDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-file__download') className = true;\n}", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclLinkDirectiveModule } from '../ecl-link/ecl-link.module';\nimport { EclIconComponentModule } from '../ecl-icon/ecl-icon.module';\nimport { EclFileItemsComponent } from './ecl-file-items/ecl-file-items.component';\nimport { EclFileItemComponent } from './ecl-file-item/ecl-file-item.component';\nimport { EclButtonComponentModule } from '../ecl-button/ecl-button.module';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclFileComponent } from './ecl-file.component';\nimport { EclFileTaxonomyComponent } from './ecl-file-taxonomy/ecl-file-taxonomy.component';\nimport { EclLabelDirectiveModule } from '../ecl-label/ecl-label.module';\nimport { EclFileImageDirective, EclFilePictureDirective } from './ecl-file-picture.directive';\nimport { EclFileDownloadDirective } from './ecl-file-download.directive';\n\nconst COMPONENTS = [\n EclFileComponent,\n EclFileDownloadDirective,\n EclFileItemsComponent,\n EclFileItemComponent,\n EclFileTaxonomyComponent,\n EclFilePictureDirective,\n EclFileImageDirective,\n];\n@NgModule({\n imports: [\n CommonModule,\n EclLinkDirectiveModule,\n EclIconComponentModule,\n EclButtonComponentModule,\n EclLabelDirectiveModule,\n TranslateModule,\n ],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclFileComponentModule {}\n", "import { Directive, ElementRef, HostBinding, Input, OnInit } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\nexport class EclGalleryMediaSource {\n src?: string;\n type?: string;\n}\n\nexport class EclGalleryMediaTrack {\n src?: string;\n kind?: string;\n srcLang?: string;\n label?: string;\n}\n\n@Directive({\n selector: '[eclGalleryMedia], [eclGalleryImage]',\n})\nexport class EclGalleryMediaDirective extends ECLBaseDirective implements OnInit {\n @Input() poster: string;\n sources: Array<EclGalleryMediaSource> = [];\n tracks: Array<EclGalleryMediaTrack> = [];\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-gallery__image')].join(' ').trim();\n }\n\n constructor(private el: ElementRef) {\n super();\n }\n\n ngOnInit(): void {\n if (this.getHostElement().hasChildNodes) {\n this.getHostElement().childNodes.forEach((el: HTMLInputElement) => {\n if (el.nodeName === 'SOURCE') {\n const mediaSource = new EclGalleryMediaSource();\n mediaSource.src = el.getAttribute('src');\n mediaSource.type = el.getAttribute('type');\n this.sources.push(mediaSource);\n } else if (el.nodeName === 'TRACK') {\n const mediaTrack = new EclGalleryMediaTrack();\n mediaTrack.src = el.getAttribute('src');\n mediaTrack.kind = el.getAttribute('kind');\n mediaTrack.srcLang = el.getAttribute('srcLang');\n mediaTrack.label = el.getAttribute('label');\n this.tracks.push(mediaTrack);\n }\n });\n }\n }\n\n private getHostElement(): HTMLInputElement {\n return this.el.nativeElement;\n }\n}\n\n@Directive({\n selector: 'picture[eclGalleryPicture]',\n})\nexport class EclGalleryPictureDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-picture ecl-gallery__picture')].join(' ').trim();\n }\n}\n", "import { Component, ContentChild, ElementRef, EventEmitter, HostBinding, HostListener, Input, OnInit, Output } from '@angular/core';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\nimport { coerceBoolean } from '@eui/base';\nimport { EclBaseEvent } from '../../model/ecl-base.event';\nimport { EclGalleryItem } from '../../model/ecl-gallery-item.model';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclGalleryMediaDirective, EclGalleryPictureDirective } from './ecl-gallery-media.directive';\n\nexport class EclGalleryItemClickEvent extends EclBaseEvent {}\n\n@Component({\n selector: 'ecl-gallery-item',\n templateUrl: './ecl-gallery-item.component.html',\n styles: [\n `\n .ecl-gallery__description {\n width: 100%;\n }\n `,\n ],\n})\nexport class EclGalleryItemComponent extends ECLBaseDirective implements EclGalleryItem, OnInit {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isShareable: boolean | any = true;\n @Input() mediaType: 'image' | 'video' | 'externalVideo' = 'image';\n @Input() src: string;\n @Input() label: string;\n @Input() meta: string;\n @Input() description: string;\n @Input() icon: string;\n @Output() itemClick = new EventEmitter<EclGalleryItemClickEvent>();\n @ContentChild(EclGalleryPictureDirective) pictureChild: EclGalleryPictureDirective;\n @ContentChild(EclGalleryMediaDirective) mediaChild: EclGalleryMediaDirective;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-gallery__item'), this._isHidden ? 'ecl-gallery__item--hidden' : ''].join(' ').trim();\n }\n @HostBinding('attr.role') role = 'listitem';\n\n private _isNoOverlay = false;\n private _isHidden = false;\n private externalVideoUrl: SafeResourceUrl;\n\n constructor(\n private domSanitizer: DomSanitizer,\n public el: ElementRef,\n ) {\n super();\n }\n\n ngOnInit(): void {\n this.externalVideoUrl = this.domSanitizer.bypassSecurityTrustResourceUrl(this.src);\n }\n\n set isHidden(value: boolean) {\n this._isHidden = value;\n }\n\n @HostListener('click', ['$event'])\n onItemClick(evt: MouseEvent): void {\n this.itemClick.next(new EclGalleryItemClickEvent());\n evt.preventDefault();\n }\n\n getDownloadLink(): string {\n return this.src;\n }\n\n getUrlExternalVideo(): SafeResourceUrl {\n return this.externalVideoUrl;\n }\n\n get isNoOverlay(): boolean {\n return this._isNoOverlay;\n }\n\n set isNoOverlay(value: boolean) {\n this._isNoOverlay = value;\n }\n\n get isImage(): boolean {\n return this.mediaType === 'image';\n }\n\n get isVideo(): boolean {\n return this.mediaType === 'video';\n }\n\n get isExternalVideo(): boolean {\n return this.mediaType === 'externalVideo';\n }\n /**\n * @deprecated\n * The name 'isDownloadable' is deprecated and should be removed as of version 18.\n */\n get isDownloadable(): boolean {\n return this.mediaType !== 'externalVideo';\n }\n\n get isOpenInFullScreenPossible(): boolean {\n return this.mediaType !== 'externalVideo';\n }\n\n get hasPictureChild(): boolean {\n return !!this.pictureChild;\n }\n}\n", "<a [href]=\"src\" class=\"ecl-gallery__item-link\" [attr.aria-label]=\"label\" [class.ecl-gallery__item__link--frozen]=\"isNoOverlay\">\n <figure class=\"ecl-gallery__image-container\">\n <div *ngIf=\"mediaType !== 'image'\" class=\"ecl-gallery__item-icon-wrapper\">\n <ecl-icon isInverted class=\"ecl-gallery__item-icon\" icon=\"play-filled\" size=\"l\"></ecl-icon>\n </div>\n <!-- TODO: Remove this code in 18 version -->\n <ng-container *ngIf=\"hasPictureChild\">\n <ng-content select=\"[eclGalleryPicture]\"></ng-content>\n </ng-container>\n <ng-container *ngIf=\"!hasPictureChild\">\n <picture *ngIf=\"isImage || isExternalVideo\" class=\"ecl-picture ecl-gallery__picture\">\n <ng-content *ngTemplateOutlet=\"galleryMedia\"></ng-content>\n </picture>\n <ng-container *ngIf=\"isVideo\"><ng-content *ngTemplateOutlet=\"galleryMedia\"></ng-content></ng-container>\n </ng-container>\n <!-- TODO: Remove the above code in 18 version -->\n <figcaption class=\"ecl-gallery__description\">\n {{ description }}\n <ecl-icon *ngIf=\"icon\" class=\"ecl-gallery__description-icon\" [icon]=\"icon\"></ecl-icon>\n <span class=\"ecl-gallery__meta\">\n {{ meta }}\n </span>\n </figcaption>\n </figure>\n</a>\n<ng-template #galleryMedia>\n <ng-content select=\"[eclGalleryMedia], [eclGalleryImage]\"></ng-content>\n</ng-template>\n", "import { Component, EventEmitter, Output } from '@angular/core';\nimport { EclBaseEvent } from '../../model';\n\nexport class EclGalleryToggleItemsEvent extends EclBaseEvent {\n constructor(public expandAll: boolean) {\n super();\n }\n}\n@Component({\n selector: 'ecl-gallery-footer',\n templateUrl: './ecl-gallery-footer.component.html',\n})\nexport class EclGalleryFooterComponent {\n @Output() toggleItems = new EventEmitter<EclGalleryToggleItemsEvent>();\n\n get isExpanded(): boolean {\n return this._isExpanded;\n }\n set isExpanded(value: boolean) {\n this._isExpanded = value;\n }\n\n get itemsCount(): number {\n return this._itemsCount;\n }\n set itemsCount(value: number) {\n this._itemsCount = value;\n }\n\n get isShowToggleBtn(): boolean {\n return this._isShowToggleBtn;\n }\n set isShowToggleBtn(value: boolean) {\n this._isShowToggleBtn = value;\n }\n\n private _itemsCount: number;\n private _isExpanded = false;\n private _isShowToggleBtn = false;\n\n onToggle(): void {\n this._isExpanded = !this._isExpanded;\n this.toggleItems.next(new EclGalleryToggleItemsEvent(this.isExpanded));\n }\n}\n", "<div class=\"ecl-gallery__footer\">\n <div class=\"ecl-gallery__info\">\n <strong class=\"ecl-gallery__info-total\">{{ itemsCount }}</strong>\n {{ 'ecl.gallery.MEDIA-FILES-COUNT' | translate }}\n <ng-container *ngIf=\"isShowToggleBtn\">\n <button *ngIf=\"!isExpanded\" eclButton variant=\"ghost\" class=\"ecl-gallery__view-all\" (click)=\"onToggle()\">\n {{ 'ecl.gallery.VIEW-ALL' | translate }}\n </button>\n <button *ngIf=\"isExpanded\" eclButton variant=\"ghost\" class=\"ecl-gallery__view-all\" (click)=\"onToggle()\">\n {{ 'ecl.common.COLLAPSE' | translate }}\n </button>\n </ng-container>\n </div>\n <hr class=\"ecl-gallery__footer-divider\" />\n <div class=\"ecl-gallery__footer-link\">\n <ng-content></ng-content>\n </div>\n</div>\n", "import {\n Component,\n Input,\n Output,\n ContentChildren,\n QueryList,\n EventEmitter,\n AfterContentInit,\n OnDestroy,\n HostListener,\n ViewChild,\n ElementRef,\n HostBinding,\n OnInit,\n ContentChild,\n} from '@angular/core';\nimport { EclGalleryItemComponent } from './ecl-gallery-item.component';\nimport { EclGalleryItem } from '../../model/ecl-gallery-item.model';\nimport { Subject, delay } from 'rxjs';\nimport { EclBaseEvent } from '../../model/ecl-base.event';\nimport { takeUntil } from 'rxjs/operators';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\nimport { coerceBoolean, coerceNumber } from '@eui/base';\nimport { EclGalleryFooterComponent } from './ecl-gallery-footer.component';\n\nexport class EclGalleryShowEvent extends EclBaseEvent {}\nexport class EclGalleryHideEvent extends EclBaseEvent {}\n/**\n * @deprecated\n * The name 'EclGalleryDownloadEvent' is deprecated and should be removed as of version 18.\n */\nexport class EclGalleryDownloadEvent extends EclBaseEvent {\n constructor(public galleryItem: EclGalleryItem) {\n super();\n }\n}\nexport class EclGalleryFullScreenEvent extends EclBaseEvent {\n constructor(public galleryItem: EclGalleryItem) {\n super();\n }\n}\nexport class EclGalleryShareEvent extends EclBaseEvent {\n constructor(public galleryItem: EclGalleryItem) {\n super();\n }\n}\n\nexport class EclGalleryItemEvent extends EclBaseEvent {\n constructor(public galleryItem: EclGalleryItem) {\n super();\n }\n}\n\n@Component({\n selector: 'ecl-gallery',\n templateUrl: './ecl-gallery.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclGalleryComponent extends ECLBaseDirective implements AfterContentInit, OnDestroy, OnInit {\n /**\n * @deprecated\n * The name 'isDownloadable' is deprecated and should be removed as of version 18.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isDownloadable: boolean | any = true;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isOpenInFullScreenPossible: boolean | any = true;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isShareable: boolean | any = true;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isFullWidth: boolean | any = false;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isNoOverlay: boolean | any = false;\n @coerceNumber @Input() maxVisibleItems: number;\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() show = new EventEmitter<EclGalleryShowEvent>();\n @Output() hide = new EventEmitter<EclGalleryHideEvent>();\n /**\n * @deprecated\n * The name 'download' is deprecated and should be removed as of version 18.\n */\n @Output() download = new EventEmitter<EclGalleryDownloadEvent>();\n @Output() openFullScreen = new EventEmitter<EclGalleryFullScreenEvent>();\n @Output() share = new EventEmitter<EclGalleryShareEvent>();\n @Output() itemSwitch = new EventEmitter<EclGalleryItemEvent>();\n @ContentChildren(EclGalleryItemComponent) galleryItems: QueryList<EclGalleryItemComponent>;\n @ContentChild(EclGalleryFooterComponent) galleryFooter: EclGalleryFooterComponent;\n @ViewChild('video') videoChild: ElementRef;\n @ViewChild('image') imageChild: ElementRef;\n @ViewChild('externalVideo') externalVideoChild: ElementRef;\n @ViewChild('overlay') overlayChild: ElementRef;\n @ViewChild('header') headerChild: ElementRef;\n @ViewChild('footer') footerChild: ElementRef;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-gallery'), this.isFullWidth ? 'ecl-gallery--full-width' : ''].join(' ').trim();\n }\n @HostBinding('attr.role') role = 'region';\n\n isDialogVisible = false;\n isMobile = false;\n itemsCount: number;\n itemIndex: number;\n item: EclGalleryItemComponent;\n private iframeWidth: number;\n private iframeHeight: number;\n private BREAKPOINT_CHANGES_TIMEOUT = 500;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private visibleItems: number;\n private MAX_VISIBLE_ITEMS_MOBILE = 3;\n private RESOLUTION_16_9_PROPOTION = 16 / 9;\n private RESOLUTION_4_3_PROPOTION = 4 / 3;\n\n constructor(private cdkBreakpointObserver: BreakpointObserver) {\n super();\n }\n\n onPrevious(evt: MouseEvent): void {\n this.item = this.findPreviousItem(this.galleryItems.toArray(), this.item);\n\n this.itemIndex = this.findItemIndex(this.galleryItems.toArray(), this.item);\n\n this.itemSwitch.next(new EclGalleryItemEvent(this.item));\n }\n\n onNext(evt: MouseEvent): void {\n this.item = this.findNextItem(this.galleryItems.toArray(), this.item);\n this.itemIndex = this.findItemIndex(this.galleryItems.toArray(), this.item);\n\n this.itemSwitch.next(new EclGalleryItemEvent(this.item));\n }\n\n onClose(evt: MouseEvent): void {\n this.item = null;\n this.itemIndex = -1;\n this.isDialogVisible = false;\n this.hide.next(new EclGalleryHideEvent());\n }\n\n @HostListener('document:keydown.escape', ['$event'])\n onEscapeKeydownHandler(event: KeyboardEvent): void {\n this.isDialogVisible = false;\n this.hide.next(new EclGalleryHideEvent());\n }\n /**\n * @deprecated\n * The name 'onDownload' is deprecated and should be removed as of version 18.\n */\n onDownload(evt: MouseEvent): void {\n this.download.next(new EclGalleryDownloadEvent(this.item));\n }\n\n onFullScreenOpen(evt: MouseEvent): void {\n this.openFullScreen.next(new EclGalleryFullScreenEvent(this.item));\n }\n\n onShare(evt: MouseEvent): void {\n this.share.next(new EclGalleryShareEvent(this.item));\n evt.preventDefault();\n }\n\n ngOnInit(): void {\n this.observeBreakpointChanges();\n }\n\n ngAfterContentInit(): void {\n this.itemsCount = this.galleryItems.length;\n this.visibleItems = this.maxVisibleItems ? this.maxVisibleItems : this.itemsCount;\n this.galleryFooter.itemsCount = this.itemsCount;\n this.galleryFooter.isShowToggleBtn = this.hasHiddenGaleryItems();\n this.galleryFooter.toggleItems.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n if (evt.expandAll) {\n this.showAllItems();\n } else {\n this.collapseItems();\n }\n });\n\n if (!this.isNoOverlay) {\n this.galleryItems.forEach((item) => {\n item.itemClick.pipe(takeUntil(this.destroy$)).subscribe((_) => {\n this.isDialogVisible = true;\n this.item = item;\n this.itemIndex = this.findItemIndex(this.galleryItems.toArray(), item);\n this.show.next(new EclGalleryShowEvent());\n setTimeout(() => this.setIframeDimensions());\n });\n });\n } else {\n this.galleryItems.forEach((item) => (item.isNoOverlay = true));\n }\n\n if (this.hasHiddenGaleryItems()) {\n this.collapseItems();\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n /**\n * @deprecated\n * The name 'canBeDownloaded' is deprecated and should be removed as of version 18.\n */\n canBeDownloaded(): boolean {\n return this.isDownloadable && this.item?.isDownloadable;\n }\n\n canBeOpenInFullScreen(): boolean {\n return this.isOpenInFullScreenPossible && this.item?.isOpenInFullScreenPossible;\n }\n\n canBeShared(): boolean {\n return this.isShareable && this.item?.isShareable;\n }\n\n getIframeWidth(): number {\n return this.iframeWidth;\n }\n\n getIframeHeight(): number {\n return this.iframeHeight;\n }\n\n setIframeDimensions(): void {\n const { width, height } = this.getCalculatedIframeDimensions();\n this.iframeWidth = width;\n this.iframeHeight = height;\n }\n\n @HostListener('window:resize', ['$event'])\n private iframeResize(): void {\n this.setIframeDimensions();\n }\n\n private getCalculatedIframeDimensions(): { width: number; height: number } {\n let width = window.innerWidth;\n let height =\n this.overlayChild.nativeElement.clientHeight -\n this.headerChild.nativeElement.clientHeight -\n this.footerChild.nativeElement.clientHeight;\n if (width > height) {\n const scaledHeight = height * this.RESOLUTION_16_9_PROPOTION;\n if (scaledHeight > width) {\n width = width * 0.95;\n } else {\n width = scaledHeight;\n }\n } else {\n const scaledWith = width * this.RESOLUTION_4_3_PROPOTION;\n if (scaledWith > height) {\n height = height * 0.95;\n } else {\n height = scaledWith;\n }\n }\n return {\n width,\n height,\n };\n }\n\n private findItemIndex(items: Array<EclGalleryItemComponent>, item: EclGalleryItemComponent): number {\n return items.findIndex((it) => it === item) + 1;\n }\n\n private findPreviousItem(items: Array<EclGalleryItemComponent>, item: EclGalleryItemComponent): EclGalleryItemComponent {\n const index = this.findPreviousItemIndex(items, item);\n return items[index];\n }\n\n private findNextItem(items: Array<EclGalleryItemComponent>, item: EclGalleryItemComponent): EclGalleryItemComponent {\n const index = this.findNextItemIndex(items, item);\n return items[index];\n }\n\n private findPreviousItemIndex(items: Array<EclGalleryItemComponent>, item: EclGalleryItemComponent): number {\n const currentIndex = items.findIndex((it) => it === item);\n return currentIndex === 0 ? items.length - 1 : currentIndex - 1;\n }\n\n private findNextItemIndex(items: Array<EclGalleryItemComponent>, item: EclGalleryItemComponent): number {\n const currentIndex = items.findIndex((it) => it === item);\n return currentIndex >= items.length - 1 ? 0 : currentIndex + 1;\n }\n\n private observeBreakpointChanges(): void {\n this.cdkBreakpointObserver\n .observe([Breakpoints.Handset, Breakpoints.Tablet])\n .pipe(takeUntil(this.destroy$), delay(this.BREAKPOINT_CHANGES_TIMEOUT))\n .subscribe((result) => {\n this.isMobile = result.matches;\n if (this.isMobile) {\n this.manageItemsMobile();\n } else {\n this.manageItemsDesktop();\n }\n });\n }\n\n private manageItemsMobile(): void {\n this.maxVisibleItems = this.MAX_VISIBLE_ITEMS_MOBILE;\n this.collapseItems();\n this.galleryFooter.isShowToggleBtn = this.hasHiddenGaleryItems();\n }\n\n private manageItemsDesktop(): void {\n this.maxVisibleItems = this.visibleItems;\n this.getVisibleItems().forEach((elem) => this.showGaleryItem(elem));\n this.collapseItems();\n this.galleryFooter.isShowToggleBtn = this.hasHiddenGaleryItems();\n }\n\n private hasHiddenGaleryItems(): boolean {\n if (this.maxVisibleItems && this.itemsCount > 0 && this.maxVisibleItems < this.itemsCount) {\n return true;\n } else {\n return false;\n }\n }\n\n private collapseItems(): void {\n this.getHiddenItems().forEach((elem) => this.hideGaleryItem(elem));\n }\n\n private showAllItems(): void {\n this.getHiddenItems().forEach((elem) => this.showGaleryItem(elem));\n }\n\n private hideGaleryItem(item: EclGalleryItemComponent): void {\n item.isHidden = true;\n }\n\n private showGaleryItem(item: EclGalleryItemComponent): void {\n item.isHidden = false;\n }\n\n private getHiddenItems(): EclGalleryItemComponent[] {\n return this.galleryItems.filter((item, cnt) => cnt >= this.maxVisibleItems);\n }\n private getVisibleItems(): EclGalleryItemComponent[] {\n return this.galleryItems.filter((item, cnt) => cnt < this.maxVisibleItems);\n }\n}\n", "<ul class=\"ecl-gallery__list\">\n <ng-content></ng-content>\n</ul>\n\n<ng-content select=\"ecl-gallery-footer\"></ng-content>\n\n<dialog\n #overlay\n [attr.open]=\"isDialogVisible || null\"\n class=\"ecl-gallery__overlay\"\n [attr.aria-label]=\"'ecl.gallery.FULL-SIZE-DISPLAY' | translate\">\n <header #header class=\"ecl-gallery__close\">\n <button (click)=\"onClose($event)\" eclButton class=\"ecl-gallery__close-button\" variant=\"ghost\">\n <span eclButtonLabel>\n {{ 'ecl.common.CLOSE' | translate }}\n </span>\n <ecl-icon icon=\"close-filled\" eclSize=\"s\"></ecl-icon>\n </button>\n </header>\n <section class=\"ecl-gallery__slider\">\n <div class=\"ecl-gallery__slider-media-container\">\n <div #externalVideo class=\"ecl-gallery__slider-embed\" *ngIf=\"item?.isExternalVideo\">\n <iframe\n [src]=\"item?.getUrlExternalVideo()\"\n [style.width.px]=\"getIframeWidth()\"\n [style.height.px]=\"getIframeHeight()\"\n frameborder=\"0\">\n </iframe>\n </div>\n <picture #image *ngIf=\"item?.isImage\" class=\"ecl-picture ecl-gallery__picture ecl-gallery__slider-image\">\n <img [attr.alt]=\"item?.label || null\" [src]=\"item?.src\" />\n </picture>\n <video\n #video\n *ngIf=\"item?.isVideo\"\n controls=\"controls\"\n class=\"ecl-gallery__slider-video\"\n [attr.poster]=\"item.mediaChild?.poster\">\n <source *ngFor=\"let item of item.mediaChild?.sources\" [attr.src]=\"item.src\" [attr.type]=\"item.type\" />\n <track\n *ngFor=\"let item of item.mediaChild?.tracks\"\n [attr.src]=\"item\"\n [attr.kind]=\"item.kind\"\n [attr.srcLang]=\"item.srcLang\"\n [attr.label]=\"item.label\" />\n </video>\n </div>\n </section>\n <footer #footer class=\"ecl-gallery__detail\">\n <div class=\"ecl-container\">\n <div class=\"ecl-gallery__detail-actions\">\n <!-- @deprecated [download]=\"item?.src\" -->\n <a\n *ngIf=\"canBeDownloaded()\"\n eclLink\n variant=\"standalone\"\n class=\"ecl-gallery__download\"\n [href]=\"item?.getDownloadLink()\"\n [download]=\"item?.src\"\n target=\"_blank\"\n (click)=\"onDownload($event)\">\n <span eclLinkLabel>{{ 'ecl.gallery.VIEW-ORIGINAL' | translate }}</span>\n <ecl-icon icon=\"fullscreen\" transform=\"fluid\" focusable=\"false\"></ecl-icon>\n </a>\n <a *ngIf=\"canBeShared()\" eclLink variant=\"standalone\" class=\"ecl-gallery__share\" href=\"\" (click)=\"onShare($event)\">\n <span eclLinkLabel>{{ 'ecl.common.SHARE' | translate }}</span>\n <ecl-icon icon=\"share\" transform=\"fluid\" focusable=\"false\"></ecl-icon>\n </a>\n </div>\n\n <div *ngIf=\"item?.description\" class=\"ecl-gallery__detail-description\">{{ item?.description }}</div>\n\n <div *ngIf=\"item?.meta\" class=\"ecl-gallery__detail-meta\">{{ item?.meta }}</div>\n\n <div class=\"ecl-gallery__pager\">\n <button eclButton class=\"ecl-gallery__slider-previous\" variant=\"ghost\" (click)=\"onPrevious($event)\">\n <ecl-icon icon=\"corner-arrow\" size=\"m\" transform=\"rotate-270\"></ecl-icon>\n <span eclButtonLabel class=\"ecl-u-sr-only\">\n {{ 'ecl.common.PREVIOUS' | translate }}\n </span>\n </button>\n <div class=\"ecl-gallery__detail-counter\">\n <span>{{ itemIndex }}</span> {{ 'ecl.common.OF' | translate }} <span>{{ itemsCount }}</span>\n </div>\n <button eclButton class=\"ecl-gallery__slider-next\" variant=\"ghost\" (click)=\"onNext($event)\">\n <span eclButtonLabel class=\"ecl-u-sr-only\">\n {{ 'ecl.common.NEXT' | translate }}\n </span>\n <ecl-icon icon=\"corner-arrow\" size=\"m\" transform=\"rotate-90\"></ecl-icon>\n </button>\n </div>\n </div>\n </footer>\n</dialog>\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclButtonComponentModule } from '../ecl-button/ecl-button.module';\nimport { EclIconComponentModule } from '../ecl-icon/ecl-icon.module';\nimport { EclLinkDirectiveModule } from '../ecl-link/ecl-link.module';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclGalleryComponent } from './ecl-gallery.component';\nimport { EclGalleryItemComponent } from './ecl-gallery-item.component';\nimport { EclGalleryFooterComponent } from './ecl-gallery-footer.component';\nimport { EclGalleryMediaDirective, EclGalleryPictureDirective } from './ecl-gallery-media.directive';\n\nconst COMPONENTS = [\n EclGalleryComponent,\n EclGalleryFooterComponent,\n EclGalleryItemComponent,\n EclGalleryMediaDirective,\n EclGalleryPictureDirective,\n];\n@NgModule({\n imports: [CommonModule, TranslateModule, EclButtonComponentModule, EclIconComponentModule, EclLinkDirectiveModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclGalleryComponentModule {}\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclHelpBlockDirective } from './ecl-help-block.directive';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [EclHelpBlockDirective],\n exports: [EclHelpBlockDirective],\n})\nexport class EclHelpBlockDirectiveModule {}\n", "import { Component, HostBinding, Input, Output, EventEmitter } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclBaseEvent } from '../../model/ecl-base.event';\n\nexport class EclInpageNavigationItemClickEvent extends EclBaseEvent {\n constructor(public sectionElementId: string) {\n super();\n }\n}\n\n@Component({\n selector: 'ecl-inpage-navigation-item',\n templateUrl: './ecl-inpage-navigation-item.component.html',\n styles: [\n `\n :host {\n display: list-item;\n }\n `,\n ],\n})\nexport class EclInpageNavigationItemComponent extends ECLBaseDirective {\n @HostBinding('class.ecl-inpage-navigation__item') cmpClass = true;\n\n @Input() label: string;\n @Input() sectionId: string;\n @Input() @HostBinding('class.ecl-inpage-navigation__item--active') isActive: boolean;\n\n @Output() itemClick = new EventEmitter<EclInpageNavigationItemClickEvent>();\n\n onItemClick(evt: MouseEvent): void {\n const event = new EclInpageNavigationItemClickEvent(this.sectionId);\n this.itemClick.next(event);\n\n evt.preventDefault();\n }\n\n get sectionElement(): HTMLElement {\n return document.querySelector(`#${this.sectionId}`);\n }\n}\n", "<a eclLink (click)=\"onItemClick($event)\" variant=\"standalone\" href=\"#\" class=\"ecl-inpage-navigation__link\">\n {{ label }}\n</a>\n", "import { Component, HostBinding, Input } from '@angular/core';\nimport { coerceBoolean } from '@eui/base';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n selector: 'ecl-sticky-container',\n templateUrl: './ecl-sticky-container.component.html',\n styles: [\n `\n :host {\n display: block;\n align-self: flex-start;\n top: 0;\n z-index: 10;\n position: sticky;\n position: -webkit-sticky;\n }\n\n :host.ecl-sticky-container--disabled {\n position: static;\n }\n `,\n ],\n})\nexport class EclStickyContainerComponent extends ECLBaseDirective {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isEnabled: boolean | any = true;\n @Input() marginTop = 0;\n @Input() marginBottom = 0;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-sticky-container'), !this.isEnabled ? 'ecl-sticky-container--disabled' : ''].join(' ').trim();\n }\n\n @HostBinding('style.top.px')\n get top(): number {\n return this.marginTop || null;\n }\n\n @HostBinding('style.bottom.px')\n get bottom(): number {\n return this.marginBottom || null;\n }\n}\n", "<ng-content></ng-content>\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclStickyContainerComponent } from './ecl-sticky-container.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [EclStickyContainerComponent],\n declarations: [EclStickyContainerComponent],\n})\nexport class EclStickyContainerComponentModule {}\n", "import { EventEmitter, Component, Input, AfterContentInit, OnDestroy, ContentChildren, QueryList, Output } from '@angular/core';\nimport { Subject, fromEvent } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { EclInpageNavigationItemComponent } from './ecl-inpage-navigation-item.component';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclBaseEvent } from '../../model/ecl-base.event';\n\nexport class EclInpageNavigationSectionEnterEvent extends EclBaseEvent {\n constructor(public sectionId: string) {\n super();\n }\n}\n\n@Component({\n selector: 'ecl-inpage-navigation',\n templateUrl: './ecl-inpage-navigation.component.html',\n styles: [\n `\n @media (min-width: 996px) {\n .ecl-inpage-navigation__list {\n display: block !important;\n }\n }\n `,\n ],\n})\nexport class EclInpageNavigationComponent extends ECLBaseDirective implements AfterContentInit, OnDestroy {\n @Input() eclTitle: string;\n @Input() marginTop: number;\n @Input() marginBottom: number;\n\n @Output() sectionEnter = new EventEmitter<EclInpageNavigationSectionEnterEvent>();\n\n @ContentChildren(EclInpageNavigationItemComponent) eclNavigationLinkItems: QueryList<EclInpageNavigationItemComponent>;\n\n isButtonExpanded = false;\n currentSectionElement: HTMLElement;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n get currentNavigationLinkItem(): EclInpageNavigationItemComponent {\n return this.eclNavigationLinkItems.find((item) => item.sectionElement === this.currentSectionElement);\n }\n\n ngAfterContentInit(): void {\n this.handleNavigationItemsScroll();\n this.handleNavigationItemsClick();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n onExpandButtonClick(evt): void {\n this.isButtonExpanded = !this.isButtonExpanded;\n }\n\n private handleNavigationItemsScroll(): void {\n const scrollableContainer: EventTarget = window;\n const sectionElementIds = this.eclNavigationLinkItems.map((item) => item.sectionId);\n\n fromEvent(scrollableContainer, 'scroll')\n .pipe(takeUntil(this.destroy$))\n .subscribe((event) => {\n const sectionElements: Array<HTMLElement> = sectionElementIds.map((id) => document.querySelector(`#${id}`));\n this.handleNavigationLinksHighlight(sectionElements);\n });\n }\n\n private handleNavigationItemsClick(): void {\n this.eclNavigationLinkItems.forEach((item) => {\n item.itemClick.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.selectNavigationItem(this.eclNavigationLinkItems, item.sectionElement);\n\n if (item.sectionElement) {\n item.sectionElement.scrollIntoView();\n }\n\n this.isButtonExpanded = false;\n });\n });\n }\n\n private selectNavigationItem(items: QueryList<EclInpageNavigationItemComponent>, itemElement: HTMLElement): void {\n items.forEach((it) => {\n it.isActive = it.sectionElement === itemElement ? true : false;\n });\n }\n\n private handleNavigationLinksHighlight(sectionElements: Array<HTMLElement>): void {\n const currentSectionElement: HTMLElement = this.findActiveSectionElement(sectionElements);\n\n if (currentSectionElement !== this.currentSectionElement) {\n this.currentSectionElement?.classList.remove('ecl-inpage-navigation__heading--active');\n currentSectionElement?.classList.add('ecl-inpage-navigation__heading--active');\n this.currentSectionElement = currentSectionElement;\n this.onSectionScrollTrigger(currentSectionElement);\n\n const sectionId = this.currentNavigationLinkItem ? this.currentNavigationLinkItem.sectionId : undefined;\n this.sectionEnter.next(new EclInpageNavigationSectionEnterEvent(sectionId));\n }\n }\n\n private onSectionScrollTrigger(sectionElement: HTMLElement): void {\n this.eclNavigationLinkItems.forEach((item) => {\n item.isActive = item.sectionElement === sectionElement ? true : false;\n });\n }\n\n private findActiveSectionElement(sectionElements: Array<HTMLElement>): HTMLElement {\n let currentSection: HTMLElement;\n\n sectionElements.forEach((sectionElement) => {\n if (sectionElement && sectionElement.getBoundingClientRect().top <= 1) {\n currentSection = sectionElement;\n }\n });\n\n if (this.hasScrollHitBottom()) {\n currentSection = sectionElements[sectionElements.length - 1];\n }\n\n return currentSection;\n }\n\n private hasScrollHitBottom(): boolean {\n return window.pageYOffset + window.innerHeight === document.documentElement.scrollHeight;\n }\n}\n", "<ecl-sticky-container [marginTop]=\"marginTop\" [marginBottom]=\"marginBottom\">\n <nav\n aria-labelledby=\"ecl-inpage-navigation-default\"\n class=\"ecl-inpage-navigation\"\n [class.ecl-inpage-navigation--visible]=\"currentSectionElement\">\n <div id=\"ecl-inpage-navigation-default\" class=\"ecl-inpage-navigation__title\">\n {{ eclTitle || 'ecl.inpage-navigation.PAGE-CONTENTS' | translate }}\n </div>\n <div class=\"ecl-inpage-navigation__body\">\n <button\n id=\"ecl-inpage-navigation-default-trigger\"\n type=\"button\"\n class=\"ecl-inpage-navigation__trigger\"\n aria-controls=\"ecl-inpage-navigation-list\"\n [attr.aria-expanded]=\"isButtonExpanded\"\n (click)=\"onExpandButtonClick($event)\">\n <span class=\"ecl-inpage-navigation__trigger-current\">\n {{ currentNavigationLinkItem?.label }}\n </span>\n <ecl-icon icon=\"corner-arrow\" size=\"s\" transform=\"rotate-180\" class=\"ecl-inpage-navigation__trigger-icon\"> </ecl-icon>\n </button>\n <ul\n id=\"ecl-inpage-navigation-default-list\"\n class=\"ecl-inpage-navigation__list\"\n [class.ecl-inpage-navigation__list--visible]=\"isButtonExpanded\"\n [attr.aria-expanded]=\"isButtonExpanded\"\n aria-labelledby=\"ecl-inpage-navigation-trigger\">\n <ng-content></ng-content>\n </ul>\n </div>\n </nav>\n</ecl-sticky-container>\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclLinkDirectiveModule } from '../ecl-link/ecl-link.module';\nimport { EclIconComponentModule } from '../ecl-icon/ecl-icon.module';\nimport { EclInpageNavigationItemComponent } from './ecl-inpage-navigation-item.component';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclStickyContainerComponentModule } from '../ecl-sticky-container/ecl-sticky-container.module';\nimport { EclInpageNavigationComponent } from './ecl-inpage-navigation.component';\n\n@NgModule({\n imports: [CommonModule, TranslateModule, EclStickyContainerComponentModule, EclLinkDirectiveModule, EclIconComponentModule],\n exports: [EclInpageNavigationComponent, EclInpageNavigationItemComponent],\n declarations: [EclInpageNavigationComponent, EclInpageNavigationItemComponent],\n})\nexport class EclInpageNavigationComponentModule {}\n", "import { Component, HostBinding, Input } from '@angular/core';\nimport { coerceBoolean } from '@eui/base';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\n\n/**\n * @deprecated\n * This component is deprecated and will be removed in 18 version\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'div[eclListIllustrationImage]',\n templateUrl: './ecl-list-illustration-image.component.html',\n})\nexport class EclListIllustrationImageComponent extends ECLBaseDirective {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isSquare: boolean | any = false;\n @Input() size: 's' | 'm' | 'l' = 'm';\n @HostBinding('attr.role') role = 'img';\n\n @Input() imageUrl = null;\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-picture ecl-list-illustration__picture')].join(' ').trim();\n }\n\n get customClasses(): string {\n return [\n this.isSquare ? 'ecl-list-illustration__image--square' : '',\n this.isSquare ? `ecl-list-illustration__image--${this.size}` : '',\n ]\n .join(' ')\n .trim();\n }\n}\n", "<ng-content></ng-content>\n<img class=\"ecl-list-illustration__image\" [ngClass]=\"customClasses\" [src]=\"imageUrl\" alt=\"Image alternative text\" />\n", "import { Component, ContentChildren, forwardRef, HostBinding, Input, QueryList } from '@angular/core';\nimport { EclListIllustrationIconDirective } from '..';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n selector: 'ecl-list-illustration-item',\n templateUrl: './ecl-list-illustration-item.component.html',\n})\nexport class EclListIllustrationItemComponent extends ECLBaseDirective {\n @Input() eclTitle = '';\n @Input() eclValue = '';\n @HostBinding('class.ecl-list-illustration__item') className = true;\n @ContentChildren(forwardRef(() => EclListIllustrationIconDirective))\n eclIllustrationIcons: QueryList<EclListIllustrationIconDirective>;\n\n get hasTitle(): boolean {\n return Boolean(this.eclTitle) || this.eclIllustrationIcons.length > 0;\n }\n\n get hasValue(): boolean {\n return Boolean(this.eclValue);\n }\n}\n", "<ng-content select=\"[eclListIllustrationImage],[eclListIllustrationPicture]\"></ng-content>\n<div class=\"ecl-list-illustration__detail\">\n <div *ngIf=\"hasTitle || hasValue\" class=\"ecl-list-illustration__title-container\">\n <ng-content select=\"[eclListIllustrationIcon]\"></ng-content>\n <div *ngIf=\"hasValue\" class=\"ecl-list-illustration__value\">{{ eclValue }}</div>\n <div class=\"ecl-list-illustration__title\">{{ eclTitle }}</div>\n </div>\n <div class=\"ecl-list-illustration__description\">\n <ng-content></ng-content>\n </div>\n</div>\n", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: '[eclListIllustrationIcon]',\n})\nexport class EclListIllustrationIconDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-list-illustration__icon') className = true;\n}\n", "import { Directive, HostBinding, Input } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { coerceBoolean } from '@eui/base';\n\n@Directive({\n selector: 'picture[eclListIllustrationPicture]',\n})\nexport class EclListIllustrationPictureDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-picture ecl-list-illustration__picture')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: 'img[eclListIllustrationImage]',\n})\nexport class EclListIllustrationImageDirective extends ECLBaseDirective {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isSquare: boolean | any = false;\n @Input() size: 's' | 'm' | 'l' = 'm';\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-list-illustration__image'),\n this.isSquare ? 'ecl-list-illustration__image--square' : '',\n this.isSquare ? `ecl-list-illustration__image--${this.size}` : '',\n ]\n .join(' ')\n .trim();\n }\n}\n", "import { Component, HostBinding, Input } from '@angular/core';\nimport { coerceBoolean, coerceNumber } from '@eui/base';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n selector: 'ecl-list-illustration',\n templateUrl: './ecl-list-illustration.component.html',\n})\nexport class EclListIllustrationComponent extends ECLBaseDirective {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isZebra: boolean | any = false;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceNumber @Input() horizontalColumns: boolean | any = 0;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-list-illustration'),\n this.isZebra ? 'ecl-list-illustration--zebra' : '',\n this.horizontalColumns > 0 ? `ecl-list-illustration--col-${this.horizontalColumns}` : '',\n ]\n .join(' ')\n .trim();\n }\n}\n", "<ng-content></ng-content>\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclListIllustrationComponent } from './ecl-list-illustration.component';\nimport { EclListIllustrationIconDirective } from './ecl-list-illustration-icon.directive';\nimport { EclListIllustrationItemComponent } from './ecl-list-illustration-item.component';\nimport { EclListIllustrationImageComponent } from './ecl-list-illustration-image/ecl-list-illustration-image.component';\nimport { EclListIllustrationImageDirective, EclListIllustrationPictureDirective } from './ecl-list-illustration-picture.directive';\n\nconst COMPONENTS = [\n EclListIllustrationComponent,\n EclListIllustrationImageComponent,\n EclListIllustrationItemComponent,\n EclListIllustrationIconDirective,\n EclListIllustrationPictureDirective,\n EclListIllustrationImageDirective,\n];\n@NgModule({\n imports: [CommonModule, TranslateModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclListIllustrationComponentModule {}\n", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: '[eclDescriptionListDefinitionItem]',\n})\nexport class EclDescriptionListDefinitionItemDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-description-list__definition-item'),\n this.isHidden ? 'ecl-description-list__definition-item--hidden' : '',\n this.isLastVisible ? 'ecl-description-list__definition-item--last-visible' : '',\n ].join(' ');\n }\n\n isHidden = false;\n isLastVisible = false;\n}\n\n@Directive({\n selector: '[eclDescriptionListDefinitionList]',\n})\nexport class EclDescriptionListDefinitionListDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-description-list__definition-list') cmpClass = true;\n}\n", "import { AfterViewInit, Component, ContentChildren, HostBinding, Input, QueryList } from '@angular/core';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\nimport { EclDescriptionListDefinitionItemDirective } from '../ecl-description-list-definition-item.directive';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[eclDescriptionListDefinition]',\n templateUrl: './ecl-description-list-definition.component.html',\n})\nexport class EclDescriptionListDefinitionComponent extends ECLBaseDirective implements AfterViewInit {\n @Input() variant: 'link' | 'inline' | 'taxonomy' | 'tag';\n\n @ContentChildren(EclDescriptionListDefinitionItemDirective, { descendants: true })\n eclListItems: QueryList<EclDescriptionListDefinitionItemDirective>;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-description-list__definition'),\n this.variant ? `ecl-description-list__definition--${this.variant}` : '',\n ].join(' ');\n }\n\n private _maxVisibleItems: number;\n private currentItemsNumber = 0;\n\n set maxVisibleItems(value: number) {\n this._maxVisibleItems = value;\n }\n\n get hasSeeAll(): boolean {\n return this.hasHiddenListitems();\n }\n\n ngAfterViewInit(): void {\n this.currentItemsNumber = this.eclListItems.length;\n if (this.hasHiddenListitems()) {\n setTimeout(() => {\n this.getHiddenItems().forEach((elem) => this.hideListItem(elem));\n this.getLastVisibleItem().isLastVisible = true;\n });\n }\n }\n\n onShowAllItems(evt: Event): void {\n evt.preventDefault();\n this.getHiddenItems().forEach((elem) => this.showListItem(elem));\n this.getLastVisibleItem().isLastVisible = false;\n this._maxVisibleItems = this.currentItemsNumber;\n }\n\n private hideListItem(item: EclDescriptionListDefinitionItemDirective): void {\n item.isHidden = true;\n }\n\n private showListItem(item: EclDescriptionListDefinitionItemDirective): void {\n item.isHidden = false;\n }\n\n private hasHiddenListitems(): boolean {\n if (this._maxVisibleItems && this.currentItemsNumber > 0 && this._maxVisibleItems < this.currentItemsNumber) {\n return true;\n } else {\n return false;\n }\n }\n\n private getHiddenItems(): EclDescriptionListDefinitionItemDirective[] {\n return this.eclListItems.filter((item, cnt) => cnt >= this._maxVisibleItems);\n }\n\n private getLastVisibleItem(): EclDescriptionListDefinitionItemDirective {\n return this.eclListItems.filter((item, cnt) => cnt < this._maxVisibleItems).pop();\n }\n}\n", "<ng-content></ng-content>\n@if(hasSeeAll) {\n<a eclLink class=\"ecl-description-list__see_more\" href (click)=\"onShowAllItems($event)\">{{\n 'ecl.list.SEE-ALL-ITEMS' | translate\n }}</a>\n}", "import { AfterContentInit, ChangeDetectorRef, ContentChildren, Directive, HostBinding, Input, QueryList, booleanAttribute,\n numberAttribute } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclDescriptionListDefinitionComponent } from './ecl-description-list-definition/ecl-description-list-definition.component';\n\n@Directive({\n selector: '[eclOrderedList]',\n})\nexport class EclOrderedListDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-ordered-list') cmpClass = true;\n}\n\n@Directive({\n selector: '[eclOrderedListItem]',\n})\nexport class EclOrderedListItemDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-ordered-list__item') cmpClass = true;\n}\n\n@Directive({\n selector: '[eclUnorderedList]',\n})\nexport class EclUnorderedListDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-unordered-list') cmpClass = true;\n @Input({ transform: booleanAttribute }) @HostBinding('class.ecl-unordered-list--divider') isDivider = false;\n @Input({ transform: booleanAttribute }) @HostBinding('class.ecl-unordered-list--no-marker') isNoMarker = false;\n}\n\n@Directive({\n selector: '[eclUnorderedListItem]',\n})\nexport class EclUnorderedListItemDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-unordered-list__item') cmpClass = true;\n}\n\n@Directive({\n selector: '[eclDescriptionList]',\n})\nexport class EclDescriptionListDirective extends ECLBaseDirective implements AfterContentInit {\n @Input({ transform: booleanAttribute }) @HostBinding('class.ecl-description-list--horizontal') isHorizontal = false;\n @Input({ transform: numberAttribute }) maxVisibleItems = 0;\n\n @ContentChildren(EclDescriptionListDefinitionComponent)\n eclListItems: QueryList<EclDescriptionListDefinitionComponent>;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-description-list')].join(' ');\n }\n\n constructor(private cd: ChangeDetectorRef) {\n super();\n }\n\n ngAfterContentInit(): void {\n if (!this.isHorizontal && this.maxVisibleItems > 0) {\n this.eclListItems.forEach((item) => (item.maxVisibleItems = this.maxVisibleItems));\n }\n this.cd.detectChanges();\n }\n}\n\n@Directive({\n selector: '[eclDescriptionListTerm]',\n})\nexport class EclDescriptionListTermDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-description-list__term') cmpClass = true;\n}\n", "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport {\n EclDescriptionListDirective,\n EclDescriptionListTermDirective,\n EclOrderedListDirective,\n EclOrderedListItemDirective,\n EclUnorderedListDirective,\n EclUnorderedListItemDirective,\n} from './ecl-list.directive';\nimport { EclDescriptionListDefinitionComponent } from './ecl-description-list-definition/ecl-description-list-definition.component';\nimport { EclLinkDirectiveModule } from '../ecl-link';\nimport { EclDescriptionListDefinitionItemDirective, EclDescriptionListDefinitionListDirective } from './ecl-description-list-definition-item.directive';\n\nconst COMPONENTS = [\n EclOrderedListDirective,\n EclOrderedListItemDirective,\n EclUnorderedListDirective,\n EclUnorderedListItemDirective,\n EclDescriptionListDirective,\n EclDescriptionListTermDirective,\n EclDescriptionListDefinitionComponent,\n EclDescriptionListDefinitionItemDirective,\n EclDescriptionListDefinitionListDirective,\n];\n\n@NgModule({\n imports: [CommonModule, TranslateModule, EclLinkDirectiveModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclListDirectiveModule {}\n", "import { EclDomEvent } from '../../../model/ecl-dom.event';\nimport { EclMenuItem } from '../../../model/ecl-menu-item.model';\n\nexport class EclMenuItemSelectEvent extends EclDomEvent<Event> {\n constructor(\n public menuItem: EclMenuItem,\n public domEvent: Event = null,\n ) {\n super(domEvent);\n }\n}\n\nexport class EclMenuItemHoverEvent extends EclDomEvent<MouseEvent> {\n constructor(\n public menuItem: EclMenuItem,\n public domEvent: MouseEvent = null,\n ) {\n super(domEvent);\n }\n}\n\nexport class EclMenuItemHoverOutEvent extends EclDomEvent<MouseEvent> {\n constructor(\n public menuItem: EclMenuItem,\n public domEvent: MouseEvent = null,\n ) {\n super(domEvent);\n }\n}\n\nexport class EclMenuItemFocusEvent extends EclDomEvent<FocusEvent> {\n constructor(\n public menuItem: EclMenuItem,\n public domEvent: FocusEvent = null,\n ) {\n super(domEvent);\n }\n}\n\nexport class EclMenuItemCaretEvent extends EclDomEvent<MouseEvent> {\n constructor(\n public menuItem: EclMenuItem,\n public domEvent: MouseEvent = null,\n ) {\n super(domEvent);\n }\n}\n\nexport class EclMenuItemKeydownEvent extends EclDomEvent<KeyboardEvent> {\n constructor(\n public menuItem: EclMenuItem,\n public domEvent: KeyboardEvent = null,\n ) {\n super(domEvent);\n }\n}\n\nexport class EclMenuItemParentFocusEvent {\n constructor(\n public menuItem: EclMenuItem) {}\n}\n", "import {\n Component,\n Input,\n HostBinding,\n Output,\n EventEmitter,\n HostListener,\n ContentChildren,\n forwardRef,\n QueryList,\n AfterViewInit,\n ElementRef,\n ViewChild,\n} from '@angular/core';\nimport { EclMenuItem } from '../../../model/ecl-menu-item.model';\nimport { coerceBoolean } from '@eui/base';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\nimport { EclMenuItemKeydownEvent, EclMenuItemSelectEvent } from '../common/ecl-menu-item.event';\nimport { EclIconComponent } from '../../ecl-icon';\nimport { Params, QueryParamsHandling } from '@angular/router';\nimport { ENTER } from '@angular/cdk/keycodes';\n\n@Component({\n selector: 'ecl-menu-mega-item',\n templateUrl: './ecl-menu-mega-item.component.html',\n styles: [\n `\n :host {\n display: list-item;\n }\n `,\n ],\n})\nexport class EclMenuMegaItemComponent extends ECLBaseDirective implements EclMenuItem, AfterViewInit {\n @Input() id: string;\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 @HostBinding('class.ecl-menu__subitem') cmpClass = true;\n @HostBinding('attr.role') role = 'listitem';\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() @HostBinding('class.ecl-menu__subitem--current') isCurrent: boolean | any;\n\n @ContentChildren(forwardRef(() => EclIconComponent)) iconComponents: QueryList<EclIconComponent>;\n @ViewChild('megaMenuLink') megaMenuLink: ElementRef\n\n @Output() menuItemSelect = new EventEmitter<EclMenuItemSelectEvent>();\n @Output() menuItemKeydown = new EventEmitter<EclMenuItemKeydownEvent>();\n\n hasChildren = false;\n isExpanded = true;\n\n children: Array<EclMenuItem> = [];\n\n ngAfterViewInit(): void {\n if (this.iconComponents) {\n setTimeout(() => {\n this.iconComponents.forEach((icn) => {\n icn.class = 'ecl-menu__sublink-icon';\n });\n });\n }\n }\n\n onItemClick(evt: Event): void {\n this.menuItemSelect.next(new EclMenuItemSelectEvent(this, evt as MouseEvent));\n\n if (!this.href) {\n evt.preventDefault();\n }\n }\n\n @HostListener('click', ['$event'])\n onHostClick(evt: MouseEvent): void {\n evt.stopPropagation();\n }\n\n onFocus(): void {\n this.megaMenuLink.nativeElement.focus();\n }\n\n onKeydown(evt: Event): void {\n if ((evt as KeyboardEvent).keyCode === ENTER) {\n this.onItemClick(evt);\n }\n this.menuItemKeydown.next(new EclMenuItemKeydownEvent(this, evt as KeyboardEvent));\n }\n}\n", "<a #megaMenuLink\n *ngIf=\"href\"\n [href]=\"href\"\n [target]=\"target\"\n class=\"ecl-menu__sublink\"\n [class.ecl-menu__sublink--current]=\"isCurrent\"\n (click)=\"onItemClick($event)\"\n (keydown)=\"onKeydown($event)\">\n {{ label }}\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n\n<a #megaMenuLink\n *ngIf=\"!href\"\n tabindex=\"0\"\n [routerLink]=\"routerLink\"\n [queryParams]=\"queryParams\"\n [queryParamsHandling]=\"queryParamsHandling\"\n class=\"ecl-menu__sublink\"\n [class.ecl-menu__sublink--current]=\"isCurrent\"\n (click)=\"onItemClick($event)\"\n (keydown)=\"onKeydown($event)\">\n {{ label }}\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", "import {\n Component,\n Input,\n ContentChildren,\n QueryList,\n AfterContentInit,\n OnDestroy,\n Output,\n EventEmitter,\n IterableDiffer,\n IterableChanges,\n IterableDiffers,\n HostBinding,\n ElementRef,\n} from '@angular/core';\nimport { EclMenuMegaItemComponent } from './ecl-menu-mega-item.component';\nimport { Subject, of, Observable } from 'rxjs';\nimport { takeUntil, mergeWith } from 'rxjs/operators';\nimport { EclMenuItemKeydownEvent, EclMenuItemSelectEvent } from '../common/ecl-menu-item.event';\nimport { EclMenuItem } from '../../../model/ecl-menu-item.model';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\nimport { coerceBoolean } from '@eui/base';\nimport { KeyCode } from '../../../utils';\n\n@Component({\n selector: 'ecl-menu-mega',\n templateUrl: './ecl-menu-mega.component.html',\n})\nexport class EclMenuMegaComponent extends ECLBaseDirective implements AfterContentInit, OnDestroy {\n /**\n * @deprecated To be removed in 18 version. No alternative, should not be used.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isRtl: boolean | any = false;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @HostBinding('class.ecl-menu__mega--rtl') isRtlDisplay: boolean | any = false;\n\n @ContentChildren(EclMenuMegaItemComponent) eclMenuMegaItems: QueryList<EclMenuMegaItemComponent>;\n\n @Output() menuItemSelect = new EventEmitter<EclMenuItemSelectEvent>();\n @Output() menuMegaItemParentFocus = new EventEmitter<EclMenuItemSelectEvent>();\n \n @HostBinding('style.left.px') offsetLeft: number | null;\n @HostBinding('style.right.px') offsetRight: number | null;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-menu__mega')].join(' ');\n }\n\n private differ: IterableDiffer<EclMenuMegaItemComponent>;\n private diff: IterableChanges<EclMenuMegaItemComponent>;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(\n private differs: IterableDiffers,\n public el: ElementRef,\n ) {\n super();\n this.differ = this.differs.find([]).create();\n }\n\n ngAfterContentInit(): void {\n this.diff = this.differ.diff(this.eclMenuMegaItems);\n this.createContentChildrenMenuObservable().subscribe(this.onMenuItemChanges.bind(this));\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n selectFirstSubItem(): void {\n if (this.eclMenuMegaItems.length > 0) {\n this.eclMenuMegaItems.first.onFocus();\n }\n }\n\n private createContentChildrenMenuObservable(): Observable<QueryList<EclMenuMegaItemComponent>> {\n return of(this.eclMenuMegaItems).pipe(mergeWith(this.eclMenuMegaItems.changes), takeUntil(this.destroy$));\n }\n\n private onMenuItemChanges(): void {\n this.diff = this.differ.diff(this.eclMenuMegaItems);\n\n if (!this.diff) {\n this.eclMenuMegaItems.forEach((rootItem) => {\n this.connectMenuItemEvents(rootItem);\n });\n } else {\n this.diff.forEachAddedItem((change) => {\n this.connectMenuItemEvents(change.item);\n });\n }\n }\n\n private connectMenuItemEvents(item: EclMenuMegaItemComponent): void {\n item.menuItemSelect.pipe(takeUntil(this.destroy$)).subscribe((evt: EclMenuItemSelectEvent) => {\n this.onMenuItemSelected(item, evt);\n });\n item.menuItemKeydown.pipe(takeUntil(this.destroy$)).subscribe((evt: EclMenuItemKeydownEvent) => {\n this.onMenuItemKeydown(item, evt);\n });\n }\n\n private onMenuItemKeydown(item: EclMenuMegaItemComponent, evt: EclMenuItemKeydownEvent): void {\n switch (evt.domEvent.key) {\n case KeyCode.ARROW_DOWN: {\n evt.preventDefault();\n this.onNextMenuItemFocus(item);\n break;\n }\n case KeyCode.ARROW_UP: {\n evt.preventDefault();\n this.onPrevMenuItemFocus(item);\n break;\n }\n case KeyCode.ESCAPE: {\n evt.preventDefault();\n this.menuMegaItemParentFocus.next(new EclMenuItemSelectEvent(item));\n break;\n }\n default: {\n break;\n }\n }\n }\n\n private geMenuMegaItemsArray(): EclMenuMegaItemComponent[] {\n return this.eclMenuMegaItems.toArray();\n }\n\n private onPrevMenuItemFocus(item: EclMenuMegaItemComponent): void {\n const index = this.geMenuMegaItemsArray().findIndex(el => item === el);\n if (index !== 0) {\n this.getMegaMenuItemsArray()[index - 1].onFocus();\n } else {\n this.menuMegaItemParentFocus.next(new EclMenuItemSelectEvent(item));\n }\n }\n\n private onNextMenuItemFocus(item: EclMenuMegaItemComponent): void {\n const index = this.geMenuMegaItemsArray().findIndex(el => item === el);\n if (index !== this.getMegaMenuItemsArray().length - 1) {\n this.getMegaMenuItemsArray()[index + 1].onFocus();\n }\n }\n\n private onMenuItemSelected(item: EclMenuItem, evt: EclMenuItemSelectEvent): void {\n this.deselectAllMenuItems(this.eclMenuMegaItems.toArray());\n this.selectMenuItem(item);\n this.sendMenuItemSelectEvent(evt);\n }\n\n private selectMenuItem(item: EclMenuItem): void {\n item.isCurrent = true;\n }\n\n private deselectAllMenuItems(items: Array<EclMenuItem>): void {\n items.forEach((it) => {\n it.isCurrent = false;\n });\n }\n\n private sendMenuItemSelectEvent(evt: EclMenuItemSelectEvent): void {\n this.menuItemSelect.next(new EclMenuItemSelectEvent(evt.menuItem, evt.domEvent));\n }\n\n private getMegaMenuItemsArray(): EclMenuMegaItemComponent[] {\n return this.eclMenuMegaItems.toArray();\n }\n}\n", "<ul class=\"ecl-menu__sublist\">\n <ng-content></ng-content>\n</ul>\n", "import {\n AfterContentInit,\n ApplicationRef,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { EclMenuItem } from '../../../model/ecl-menu-item.model';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\nimport {\n EclMenuItemCaretEvent,\n EclMenuItemFocusEvent,\n EclMenuItemHoverEvent,\n EclMenuItemHoverOutEvent,\n EclMenuItemKeydownEvent,\n EclMenuItemParentFocusEvent,\n EclMenuItemSelectEvent,\n} from '../common/ecl-menu-item.event';\nimport { EclMenuMegaComponent } from '../ecl-menu-mega/ecl-menu-mega.component';\nimport { Params, QueryParamsHandling } from '@angular/router';\nimport { EclButtonComponent } from '../../ecl-button';\nimport { KeyCode } from '../../../utils';\nimport { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\n\nconst enum ColTrigger {\n COL1_TRIGGER = 5,\n COL2_TRIGGER = 9,\n COL3_TRIGGER = 13,\n}\n\n@Component({\n selector: 'ecl-menu-item',\n templateUrl: './ecl-menu-item.component.html',\n encapsulation: ViewEncapsulation.None,\n})\nexport class EclMenuItemComponent extends ECLBaseDirective implements EclMenuItem, AfterContentInit, OnDestroy {\n @Input() id: string;\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() isCurrent = false;\n\n isExpanded: boolean;\n isFull = false;\n isHovered = false;\n isMobileBreakpoint = false;\n isVisible = true;\n\n @HostBinding('attr.role') role = 'listitem';\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-menu__item'),\n this.isCurrent ? 'ecl-menu__item--current' : '',\n this.isExpanded ? 'ecl-menu__item--expanded' : '',\n this.getClassDependingChildrenCnt(),\n ]\n .join(' ')\n .trim();\n }\n\n @ContentChild(forwardRef(() => EclMenuMegaComponent)) submenu: EclMenuMegaComponent;\n @ViewChild('menuLink') menuLink: ElementRef<HTMLAnchorElement>;\n @ViewChild(EclButtonComponent) menuButton: EclButtonComponent;\n\n @Output() menuItemSelect = new EventEmitter<EclMenuItemSelectEvent>();\n @Output() menuItemCaret = new EventEmitter<EclMenuItemCaretEvent>();\n @Output() menuItemHover = new EventEmitter<EclMenuItemHoverEvent>();\n @Output() menuItemHoverOut = new EventEmitter<EclMenuItemHoverOutEvent>();\n @Output() menuMegaItemSelect = new EventEmitter<EclMenuItemSelectEvent>();\n @Output() menuItemFocus = new EventEmitter<EclMenuItemFocusEvent>();\n @Output() menuItemKeydown = new EventEmitter<EclMenuItemKeydownEvent>();\n\n @HostBinding('class.ecl-menu__item--has-children')\n @HostBinding('attr.aria-haspopup')\n get hasEclChildrenDataAttribute(): boolean {\n return this.hasChildren || undefined;\n }\n\n @HostBinding('attr.aria-expanded')\n get isAriaExpanded(): boolean {\n return this.hasChildren ? this.isHovered : null;\n }\n\n get hasChildren(): boolean {\n return !!this.submenu;\n }\n\n get children(): Array<EclMenuItem> {\n return this.hasChildren ? this.submenu.eclMenuMegaItems.toArray() : [];\n }\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(\n public el: ElementRef,\n private renderer: Renderer2,\n private arf: ApplicationRef,\n private cdkBreakpointObserver: BreakpointObserver,\n ) {\n super();\n }\n\n onItemFocus(evt: FocusEvent): void {\n this.menuItemFocus.next(new EclMenuItemFocusEvent(this, evt));\n }\n\n onItemClick(evt: Event): void {\n this.menuItemSelect.next(new EclMenuItemSelectEvent(this, evt));\n\n if (!this.href) {\n evt.stopPropagation();\n }\n }\n\n onItemCaretClick(evt: MouseEvent): void {\n this.menuItemCaret.next(new EclMenuItemCaretEvent(this, evt));\n }\n\n @HostListener('mouseenter', ['$event'])\n onItemMouseEnter(evt: MouseEvent): void {\n this.menuItemHover.next(new EclMenuItemHoverEvent(this, evt));\n }\n\n @HostListener('mouseleave', ['$event'])\n onItemMouseLeave(evt: MouseEvent): void {\n this.menuItemHoverOut.next(new EclMenuItemHoverOutEvent(this, evt));\n }\n\n ngAfterContentInit(): void {\n if (this.submenu) {\n this.submenu.menuItemSelect.pipe(takeUntil(this.destroy$)).subscribe((it: EclMenuItemSelectEvent) => {\n this.menuMegaItemSelect.next(new EclMenuItemSelectEvent(it.menuItem, it.domEvent));\n });\n this.submenu.menuMegaItemParentFocus.pipe(takeUntil(this.destroy$)).subscribe((it: EclMenuItemParentFocusEvent) => {\n this.onFocusFromSubmenu();\n });\n\n if (this.hasSubmenuAnySelections()) {\n this.isCurrent = true;\n }\n }\n this.observeBreakpointChanges();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n onFocusFromSubmenu(): void {\n this.onButtonFocus();\n this.isHovered = false;\n this.isExpanded = false;\n }\n\n onFocusFromNext(): void {\n if (this.menuButton) {\n this.onButtonFocus();\n } else {\n this.onLinkFocus();\n }\n }\n\n onFocusFromPrev(): void {\n this.onLinkFocus();\n }\n\n onButtonKeydown(evt: Event): void {\n switch ((evt as KeyboardEvent).key) {\n case KeyCode.ARROW_DOWN: {\n evt.preventDefault();\n if (this.isHovered) {\n this.selectFirstMegaMenuItem();\n } else {\n this.menuItemKeydown.next(new EclMenuItemKeydownEvent(this, evt as KeyboardEvent));\n }\n break;\n }\n case KeyCode.ARROW_UP: {\n evt.preventDefault();\n this.onLinkFocus();\n break;\n }\n case KeyCode.ARROW_RIGHT: {\n evt.preventDefault();\n this.menuItemKeydown.next(new EclMenuItemKeydownEvent(this, evt as KeyboardEvent));\n break;\n }\n case KeyCode.ARROW_LEFT: {\n evt.preventDefault();\n this.onLinkFocus();\n break;\n }\n case KeyCode.TAB: {\n this.menuItemKeydown.next(new EclMenuItemKeydownEvent(this, evt as KeyboardEvent));\n break;\n }\n case KeyCode.ENTER: {\n evt.preventDefault();\n this.menuItemKeydown.next(new EclMenuItemKeydownEvent(this, evt as KeyboardEvent));\n break;\n }\n case KeyCode.ESCAPE: {\n evt.preventDefault();\n this.menuItemKeydown.next(new EclMenuItemKeydownEvent(this, evt as KeyboardEvent));\n break;\n }\n default: {\n break;\n }\n }\n }\n\n onLinkKeydown(evt: Event): void {\n switch ((evt as KeyboardEvent).key) {\n case KeyCode.ARROW_DOWN: {\n evt.preventDefault();\n this.onLinkNextFocus(evt);\n break;\n }\n case KeyCode.ARROW_UP: {\n evt.preventDefault();\n this.menuItemKeydown.next(new EclMenuItemKeydownEvent(this, evt as KeyboardEvent));\n break;\n }\n case KeyCode.ARROW_RIGHT: {\n evt.preventDefault();\n this.onLinkNextFocus(evt);\n break;\n }\n case KeyCode.ARROW_LEFT: {\n evt.preventDefault();\n this.menuItemKeydown.next(new EclMenuItemKeydownEvent(this, evt as KeyboardEvent));\n break;\n }\n case KeyCode.ENTER: {\n evt.preventDefault();\n this.onItemClick(evt);\n break;\n }\n case KeyCode.ESCAPE: {\n evt.preventDefault();\n this.onLinkEscape(evt);\n break;\n }\n default: {\n break;\n }\n }\n }\n\n checkMenuItem(maxLines: number, isMobileBreakpoint: boolean): void {\n if (maxLines < 1) return;\n\n const currentItem = this.el.nativeElement;\n const currentLink = this.menuLink.nativeElement;\n if (isMobileBreakpoint) {\n currentLink.style.width = '100%';\n return;\n }\n this.renderer.setStyle(currentItem, 'alignItems', 'flex-start');\n const linkStyle = window.getComputedStyle(currentLink);\n\n const maxHeight = this.getMenuItemLinkMaxHeight(linkStyle, maxLines);\n\n if (currentLink.offsetHeight > maxHeight) {\n this.changeMenuItemLinkWidth(currentLink, maxLines, linkStyle);\n }\n this.renderer.removeStyle(currentItem, 'alignItems');\n }\n\n private onLinkEscape(evt: Event): void {\n if (this.menuButton) {\n this.menuButton.el.nativeElement.focus();\n evt.stopPropagation();\n } else {\n this.menuLink.nativeElement.blur();\n }\n }\n\n private selectFirstMegaMenuItem(): void {\n this.submenu.selectFirstSubItem();\n }\n\n private onLinkFocus(): void {\n this.menuLink.nativeElement.focus();\n }\n\n private onLinkNextFocus(evt: Event): void {\n if (this.menuButton) {\n this.onButtonFocus();\n } else {\n this.menuItemKeydown.next(new EclMenuItemKeydownEvent(this, evt as KeyboardEvent));\n }\n }\n\n private onButtonFocus(): void {\n this.menuButton.el.nativeElement.focus();\n }\n\n private getMenuItemLinkMaxHeight(linkStyle: CSSStyleDeclaration, maxLines: number): number {\n return parseInt(linkStyle.lineHeight, 10) * maxLines + parseInt(linkStyle.paddingTop, 10) + parseInt(linkStyle.paddingBottom, 10);\n }\n\n private changeMenuItemLinkWidth(currentLink: HTMLAnchorElement, maxLines: number, linkStyle: CSSStyleDeclaration): void {\n this.renderer.setStyle(currentLink, 'white-space', 'nowrap');\n const linkWidth = currentLink.offsetWidth;\n if (maxLines === 1) {\n currentLink.style.width = `${linkWidth + parseInt(linkStyle.paddingLeft, 10) + parseInt(linkStyle.paddingRight, 10)}px`;\n this.renderer.removeStyle(currentLink, 'white-space');\n return;\n }\n const textSize = currentLink.text.length;\n const letterWidth = Math.ceil(linkWidth / textSize);\n const wordsArray = currentLink.text.trim().split(' ');\n const goalWidth = Math.ceil(linkWidth / maxLines);\n const firstWord = wordsArray[0];\n let cnt = 1;\n let wordWidth = Math.ceil((firstWord.length + 1) * letterWidth);\n while (wordWidth < goalWidth) {\n wordWidth += Math.ceil((wordsArray[cnt].length + 1) * letterWidth);\n cnt++;\n }\n currentLink.style.width = `${wordWidth + parseInt(linkStyle.paddingLeft, 10) + parseInt(linkStyle.paddingRight, 10)}px`;\n this.renderer.removeStyle(currentLink, 'white-space');\n }\n\n private getClassDependingChildrenCnt(): string {\n if (this.hasChildren) {\n if (this.submenu.eclMenuMegaItems.length < ColTrigger.COL1_TRIGGER) {\n return 'ecl-menu__item--col1';\n } else if (this.submenu.eclMenuMegaItems.length < ColTrigger.COL2_TRIGGER) {\n return 'ecl-menu__item--col2';\n } else if (this.submenu.eclMenuMegaItems.length < ColTrigger.COL3_TRIGGER) {\n return 'ecl-menu__item--col3';\n } else {\n this.isFull = true;\n return 'ecl-menu__item--full';\n }\n }\n return '';\n }\n\n private hasSubmenuAnySelections(): boolean {\n return this.submenu && !!this.submenu.eclMenuMegaItems.find((it) => it.isCurrent);\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", "<a\n #menuLink\n *ngIf=\"href\"\n [href]=\"href\"\n [target]=\"target\"\n class=\"ecl-menu__link\"\n [class.ecl-menu__link--current]=\"isCurrent\"\n (focus)=\"onItemFocus($event)\"\n (click)=\"onItemClick($event)\"\n (keydown)=\"onLinkKeydown($event)\">\n {{ label }}\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n<a\n #menuLink\n *ngIf=\"!href\"\n tabindex=\"0\"\n [routerLink]=\"routerLink\"\n [queryParams]=\"queryParams\"\n [queryParamsHandling]=\"queryParamsHandling\"\n class=\"ecl-menu__link\"\n [class.ecl-menu__link--current]=\"isCurrent\"\n (focus)=\"onItemFocus($event)\"\n (click)=\"onItemClick($event)\"\n (keydown)=\"onLinkKeydown($event)\">\n {{ label }}\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n<button\n eclButton\n *ngIf=\"hasChildren && isMobileBreakpoint\"\n variant=\"primary\"\n class=\"ecl-menu__button-caret\"\n type=\"button\"\n aria-label=\"Access item's children\"\n (click)=\"onItemCaretClick($event)\"\n (keydown)=\"onButtonKeydown($event)\">\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-180\" class=\"ecl-button__icon\"></ecl-icon>\n</button>\n<button\n eclButton\n *ngIf=\"hasChildren && !isMobileBreakpoint\"\n variant=\"primary\"\n class=\"ecl-menu__button-caret\"\n type=\"button\"\n aria-label=\"Access item's children\"\n [attr.aria-expanded]=\"isAriaExpanded\"\n (keydown)=\"onButtonKeydown($event)\">\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-180\" class=\"ecl-button__icon\"></ecl-icon>\n</button>\n<ng-content select=\"ecl-menu-mega\"></ng-content>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", "import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\nimport {\n AfterContentInit,\n AfterViewInit,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n IterableChanges,\n IterableDiffer,\n IterableDiffers,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n Renderer2,\n ViewChild,\n} from '@angular/core';\nimport { coerceNumber } from '@eui/base';\nimport Hammer from 'hammerjs';\nimport { Observable, Subject, of } from 'rxjs';\nimport { mergeWith, takeUntil } from 'rxjs/operators';\nimport { EclMenuItem } from '../../../model/ecl-menu-item.model';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\nimport { EclButtonComponent } from '../../ecl-button';\nimport { EclMenuItemCaretEvent, EclMenuItemHoverEvent, EclMenuItemKeydownEvent, EclMenuItemSelectEvent } from '../common/ecl-menu-item.event';\nimport { EclMenuItemComponent } from './ecl-menu-item.component';\nimport { KeyCode } from '../../../utils';\nimport { EclRtlService } from '../../../services';\n\n@Component({\n selector: 'ecl-menu',\n templateUrl: './ecl-menu.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclMenuComponent extends ECLBaseDirective implements OnInit, AfterContentInit, OnDestroy, AfterViewInit {\n @Input() group = '1';\n @coerceNumber @Input() maxLines = 0;\n\n @ContentChildren(EclMenuItemComponent) eclRootMenuItems: QueryList<EclMenuItemComponent>;\n @ViewChild('innerSection') innerSection: ElementRef;\n @ViewChild('itemsList') itemsList: ElementRef;\n @ViewChild('btnPrevious') btnPrevious: EclButtonComponent;\n @ViewChild('btnNext') btnNext: EclButtonComponent;\n\n @Output() menuItemSelect = new EventEmitter<EclMenuItemSelectEvent>();\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-menu'), 'ecl-menu--transition', `ecl-menu--group${this.group}`].join(' ');\n }\n\n @HostBinding('attr.aria-expanded') isHamburgerMenuOpened = false;\n @HostBinding('attr.role') role = 'navigation';\n @HostBinding('class.ecl-menu--forced-mobile') isMobileBreakpoint = false;\n @HostBinding('class.ecl-menu--forced-close') isMenuHidden = false;\n\n hasOverflow = false;\n isShowPrevBtn = false;\n isShowNextBtn = false;\n isPrevBtnCurrentClass = false;\n menuListStyleRight = 'auto';\n menuListStyleLeft = 'auto';\n\n private currentItem: EclMenuItem;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private differ: IterableDiffer<EclMenuItemComponent>;\n private diff: IterableChanges<EclMenuItemComponent>;\n private isRtl = false;\n private totalItemsWidth = 0;\n private offsetLeft = 0;\n private lastVisibleItem: EclMenuItemComponent;\n private readonly hammertime = new Hammer(document, { inputClass: Hammer.TouchInput });\n private resizeTimer: number;\n private TIMEOUT_INTERVAL = 150;\n\n constructor(\n private el: ElementRef,\n private differs: IterableDiffers,\n private cdkBreakpointObserver: BreakpointObserver,\n private renderer: Renderer2,\n private eclRtlService: EclRtlService,\n ) {\n super();\n this.differ = this.differs.find([]).create();\n }\n\n @HostListener('keydown', ['$event'])\n keyEvent(event: KeyboardEvent): void {\n if (event.key === 'Escape') {\n this.closeRootMenu();\n this.hideMenu();\n this.closeHamburgerMenu();\n }\n }\n\n @HostListener('window:resize')\n onResize(): void {\n clearTimeout(this.resizeTimer);\n this.resizeTimer = setTimeout(() => {\n this.renderer.removeClass(this.el.nativeElement, 'ecl-menu--transition');\n this.totalItemsWidth = 0;\n this.checkMenuItemsWidth();\n this.checkMenuOverflow();\n this.renderer.addClass(this.el.nativeElement, 'ecl-menu--transition');\n }, this.TIMEOUT_INTERVAL);\n }\n\n ngOnInit(): void {\n this.handleRtlChangeState();\n this.observeBreakpointChanges();\n this.observeSwipeGestures();\n }\n\n ngAfterContentInit(): void {\n this.observeRootMenuItemsChanges();\n }\n\n ngAfterViewInit(): void {\n clearTimeout(this.resizeTimer);\n this.resizeTimer = setTimeout(() => {\n this.checkMenuItemsWidth();\n this.checkMenuOverflow();\n }, this.TIMEOUT_INTERVAL);\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n\n this.hammertime.off('swipeleft');\n this.hammertime.off('swiperight');\n }\n\n onSwipeLeft(): void {\n if (this.isMobileBreakpoint) {\n this.openHamburgerMenu();\n }\n }\n\n onSwipeRight(): void {\n if (this.isMobileBreakpoint) {\n this.closeHamburgerMenu();\n }\n }\n\n onOverlayClick(): void {\n this.closeHamburgerMenu();\n }\n\n onMenuOpenClick(evt: MouseEvent): void {\n this.openHamburgerMenu();\n evt.preventDefault();\n }\n\n onMenuCloseClick(evt: MouseEvent): void {\n this.closeHamburgerMenu();\n this.closeRootMenu();\n evt.preventDefault();\n }\n\n onMenuBackClick(evt: MouseEvent): void {\n this.closeRootMenu();\n evt.preventDefault();\n }\n\n onPrevBtnClick(): void {\n this.slideMenuInitialState();\n this.refreshDisplay();\n }\n\n onNextBtnClick(): void {\n this.isShowPrevBtn = true;\n this.isShowNextBtn = false;\n\n if (this.isRtl) {\n this.showNextSlideRtl();\n } else {\n this.showNextSlideLtr();\n }\n\n this.refreshDisplay();\n }\n\n private slideMenuInitialState(): void {\n this.offsetLeft = 0;\n if (this.isRtl) {\n this.menuListStyleRight = '0px';\n this.menuListStyleLeft = 'auto';\n } else {\n this.menuListStyleLeft = '0px';\n this.menuListStyleRight = 'auto';\n }\n\n this.isShowPrevBtn = false;\n this.isShowNextBtn = true;\n }\n\n private showNextSlideLtr(): void {\n const btnOffsetWidth = this.btnNext.el.nativeElement.offsetWidth;\n this.offsetLeft =\n this.lastVisibleItem.el.nativeElement.getBoundingClientRect().left -\n this.itemsList.nativeElement.getBoundingClientRect().left -\n btnOffsetWidth;\n\n this.menuListStyleLeft = `-${this.offsetLeft}px`;\n this.menuListStyleRight = 'auto';\n }\n\n private showNextSlideRtl(): void {\n const btnOffsetWidth = this.btnNext.el.nativeElement.offsetWidth;\n this.offsetLeft =\n this.itemsList.nativeElement.getBoundingClientRect().right -\n this.lastVisibleItem.el.nativeElement.getBoundingClientRect().right -\n btnOffsetWidth;\n\n this.menuListStyleRight = `-${this.offsetLeft}px`;\n this.menuListStyleLeft = 'auto';\n }\n\n private refreshDisplay(): void {\n this.eclRootMenuItems.forEach((item) => {\n item.checkMenuItem(this.maxLines, this.isMobileBreakpoint);\n item.isVisible = !item.isVisible;\n });\n }\n\n private checkMenuOverflow(): void {\n this.hasOverflow = this.totalItemsWidth > this.innerSection.nativeElement.offsetWidth;\n if (!this.hasOverflow || this.isMobileBreakpoint) {\n this.resetOverflowValues();\n return;\n }\n\n this.setClassForPrevNextButtons();\n this.resetVisibilityIndicator();\n\n if (this.offsetLeft === 0) {\n this.manageOverflowEnd();\n } else {\n this.manageOverflowBeginning();\n }\n }\n\n private manageOverflowBeginning(): void {\n if (this.isRtl) {\n this.eclRootMenuItems\n .filter(\n (item) =>\n item.el.nativeElement.getBoundingClientRect().right <=\n this.innerSection.nativeElement.getBoundingClientRect().right,\n )\n .forEach((el) => (el.isVisible = true));\n } else {\n this.eclRootMenuItems\n .filter(\n (item) =>\n item.el.nativeElement.getBoundingClientRect().left >= this.innerSection.nativeElement.getBoundingClientRect().left,\n )\n .forEach((el) => (el.isVisible = true));\n }\n }\n\n private manageOverflowEnd(): void {\n this.isShowNextBtn = true;\n if (this.isRtl) {\n for (const item of this.eclRootMenuItems) {\n if (item.el.nativeElement.getBoundingClientRect().left < this.itemsList.nativeElement.getBoundingClientRect().left) {\n this.lastVisibleItem = item;\n break;\n }\n item.isVisible = true;\n }\n } else {\n for (const item of this.eclRootMenuItems) {\n if (item.el.nativeElement.getBoundingClientRect().right > this.itemsList.nativeElement.getBoundingClientRect().right) {\n this.lastVisibleItem = item;\n break;\n }\n item.isVisible = true;\n }\n }\n }\n\n private resetVisibilityIndicator(): void {\n this.eclRootMenuItems.forEach((item) => (item.isVisible = false));\n }\n\n private resetOverflowValues(): void {\n this.isShowPrevBtn = false;\n this.isShowNextBtn = false;\n this.hasOverflow = false;\n this.menuListStyleLeft = '0px';\n this.offsetLeft = 0;\n this.totalItemsWidth = 0;\n this.lastVisibleItem = null;\n }\n\n private setClassForPrevNextButtons(): void {\n this.currentItem = this.eclRootMenuItems.find((item) => item.isCurrent);\n if (this.currentItem) {\n if (this.currentItem.isVisible) {\n this.isPrevBtnCurrentClass = true;\n } else {\n this.isPrevBtnCurrentClass = false;\n }\n }\n }\n\n private checkMenuItemsWidth(): void {\n this.eclRootMenuItems.forEach((item) => {\n item.checkMenuItem(this.maxLines, this.isMobileBreakpoint);\n this.totalItemsWidth += item.el.nativeElement.offsetWidth;\n });\n }\n\n public get isMenuExpandedInMobile(): boolean {\n return this.isMobileBreakpoint && this.isAnyRootMenuItemExpanded();\n }\n\n private isAnyRootMenuItemExpanded(): boolean {\n return this.eclRootMenuItems.some((item) => item.isExpanded);\n }\n\n private createRootMenuItemsChangesObservable(): Observable<QueryList<EclMenuItemComponent>> {\n return of(this.eclRootMenuItems).pipe(mergeWith(this.eclRootMenuItems.changes), takeUntil(this.destroy$));\n }\n\n private onMenuItemChanges(): void {\n this.diff = this.differ.diff(this.eclRootMenuItems);\n\n if (!this.diff) {\n this.eclRootMenuItems.forEach((rootItem) => {\n this.connectMenuItemEvents(rootItem);\n });\n } else {\n this.diff.forEachAddedItem((change) => {\n this.connectMenuItemEvents(change.item);\n });\n }\n }\n\n private connectMenuItemEvents(item: EclMenuItemComponent): void {\n item.menuItemSelect.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.onRootMenuItemSelected(evt);\n });\n item.menuItemHover.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.onRootMenuItemHovered(evt);\n });\n item.menuItemHoverOut.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.onRootMenuItemHoveredOut(evt);\n });\n item.menuItemCaret.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.onRootMenuItemCaret(evt);\n });\n item.menuMegaItemSelect.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.onMenuMegaItemSelected(item, evt);\n });\n item.menuItemFocus.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.onRootMenuItemFocused(item);\n });\n item.menuItemKeydown.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.onRootMenuItemKeydown(item, evt);\n });\n }\n\n private onRootMenuItemFocused(item: EclMenuItem): void {\n const index = this.findIndexInArray(item);\n if (!this.isMobileBreakpoint) {\n this.closeRootMenu();\n }\n if (this.isMovePrevOverflow(index)){\n this.onPrevBtnClick();\n } else if (this.isMoveNextOverflow(index)){\n this.onNextBtnClick();\n }\n }\n\n private onRootMenuItemKeydown(item: EclMenuItem, evt: EclMenuItemKeydownEvent): void {\n switch (evt.domEvent.key) {\n case KeyCode.ARROW_DOWN: {\n this.onRootMenuItemEnter(item);\n break;\n }\n case KeyCode.ARROW_RIGHT: {\n this.onNextMenuItemFocus(item);\n break;\n }\n case KeyCode.ARROW_UP: {\n this.onPrevMenuItemFocus(item);\n break;\n }\n case KeyCode.ARROW_LEFT: {\n this.onPrevMenuItemFocus(item);\n break;\n }\n case KeyCode.ENTER: {\n this.onRootMenuItemEnter(item);\n break;\n }\n case KeyCode.ESCAPE: {\n this.onRootMenuItemEscape(item, evt.domEvent);\n break;\n }\n default: {\n break;\n }\n }\n }\n\n private onRootMenuItemEscape(item: EclMenuItem, evt: Event): void {\n if (item.isHovered) {\n this.closeRootMenu();\n }\n evt.stopPropagation();\n }\n\n private onPrevMenuItemFocus(item: EclMenuItem): void {\n const index = this.findIndexInArray(item);\n if (index !== 0) {\n this.getRootMenuItemsArray()[index - 1].onFocusFromNext();\n }\n }\n\n private onNextMenuItemFocus(item: EclMenuItem): void {\n const index = this.findIndexInArray(item);\n if (index !== this.getRootMenuItemsArray().length - 1) {\n this.getRootMenuItemsArray()[index + 1].onFocusFromPrev();\n }\n }\n\n private findIndexInArray(item: EclMenuItem): number {\n return this.getRootMenuItemsArray().findIndex(el => item === el);\n }\n\n private isMoveNextOverflow(index: number): boolean {\n return !this.getRootMenuItemsArray()[index].isVisible && this.isShowNextBtn;\n }\n\n private isMovePrevOverflow(index: number): boolean {\n return !this.getRootMenuItemsArray()[index].isVisible && this.isShowPrevBtn;\n }\n\n private onRootMenuItemSelected(evt: EclMenuItemSelectEvent): void {\n const requestedRootMenuItem: EclMenuItem = evt.menuItem;\n\n this.closeRootMenu();\n this.deselectAllRootMenuItems();\n this.deselectAllSubmenusItems();\n this.selectMenuItem(requestedRootMenuItem);\n this.closeHamburgerMenu();\n if (this.hasOverflow) {\n this.managePrevNextButtonsClassOnItemSelected();\n }\n this.sendMenuItemSelectEvent(evt);\n }\n\n private managePrevNextButtonsClassOnItemSelected(): void {\n if (this.isShowNextBtn) {\n this.isPrevBtnCurrentClass = true;\n } else {\n this.isPrevBtnCurrentClass = false;\n }\n }\n\n private onRootMenuItemHovered(evt: EclMenuItemHoverEvent): void {\n this.openSubmenu(evt.menuItem);\n }\n\n private onRootMenuItemEnter(item: EclMenuItem): void {\n if (this.isMobileBreakpoint) {\n this.closeRootMenuButOneItem(item);\n this.toggleExpandedForMenuItem(item);\n } else {\n if (!item.isHovered) {\n this.openSubmenu(item);\n } else {\n this.closeRootMenu();\n }\n }\n }\n\n private openSubmenu(item: EclMenuItem): void {\n if (item.isVisible) {\n if (!this.isMobileBreakpoint && (item as EclMenuItemComponent).submenu) {\n this.checkMegaMenu(item as EclMenuItemComponent);\n }\n item.isHovered = true;\n this.closeRootMenuButOneItem(item);\n this.showMenu();\n }\n }\n\n private getRootMenuItemsArray(): EclMenuItemComponent[] {\n return this.eclRootMenuItems.toArray();\n }\n\n private checkMegaMenu(menuItem: EclMenuItemComponent): void {\n if (menuItem.isFull) {\n if (this.isRtl) {\n menuItem.submenu.offsetRight = this.offsetLeft;\n } else {\n menuItem.submenu.offsetLeft = this.offsetLeft;\n }\n return;\n }\n this.checkEnoughSpaceForMegaMenu(menuItem);\n }\n\n private checkEnoughSpaceForMegaMenu(menuItem: EclMenuItemComponent): void {\n const megaBounding = menuItem.submenu.el.nativeElement.getBoundingClientRect();\n const containerBounding = this.innerSection.nativeElement.getBoundingClientRect();\n const menuItemBounding = menuItem.el.nativeElement.getBoundingClientRect();\n\n const megaWidth = megaBounding.width;\n const containerWidth = containerBounding.width;\n const menuItemPosition = menuItemBounding.left - containerBounding.left;\n\n if (menuItemPosition + megaWidth > containerWidth) {\n menuItem.submenu.isRtlDisplay = true;\n } else {\n menuItem.submenu.isRtlDisplay = false;\n }\n }\n\n private onRootMenuItemHoveredOut(evt: EclMenuItemHoverEvent): void {\n if (!this.isMobileBreakpoint) {\n this.closeRootMenu();\n }\n }\n\n private onRootMenuItemCaret(evt: EclMenuItemCaretEvent): void {\n const requestedRootMenuItem: EclMenuItem = evt.menuItem;\n\n this.closeRootMenuButOneItem(requestedRootMenuItem);\n this.toggleExpandedForMenuItem(requestedRootMenuItem);\n }\n\n private onMenuMegaItemSelected(rootMenuItem: EclMenuItem, evt: EclMenuItemSelectEvent): void {\n const requestedSubmenuItem = evt.menuItem;\n\n this.closeRootMenu();\n this.deselectAllRootMenuItems();\n this.deselectAllSubmenusItems();\n this.selectMenuItem(rootMenuItem);\n this.selectMenuItem(requestedSubmenuItem);\n this.closeHamburgerMenu();\n if (this.hasOverflow) {\n this.managePrevNextButtonsClassOnItemSelected();\n }\n this.sendMenuItemSelectEvent(evt);\n\n this.hideMenu();\n }\n\n private deselectAllRootMenuItems(): void {\n this.deselectMenuItems(this.eclRootMenuItems.toArray());\n }\n\n private deselectAllSubmenusItems(): void {\n this.eclRootMenuItems.forEach((rootItem) => {\n this.deselectMenuItems(rootItem.children);\n });\n }\n\n private deselectMenuItems(items: Array<EclMenuItem>): void {\n items.forEach((it) => {\n it.isCurrent = false;\n });\n }\n\n private selectMenuItem(item: EclMenuItem): void {\n item.isCurrent = true;\n this.currentItem = item;\n }\n\n private hideMenu(): void {\n this.isMenuHidden = true;\n }\n\n private showMenu(): void {\n this.isMenuHidden = false;\n }\n\n private closeRootMenu(): void {\n this.eclRootMenuItems.forEach((it) => {\n it.isExpanded = false;\n it.isHovered = false;\n });\n }\n\n private closeRootMenuButOneItem(item: EclMenuItem): void {\n this.eclRootMenuItems\n .filter((it) => it !== item)\n .forEach((it) => {\n it.isExpanded = false;\n it.isHovered = false;\n });\n }\n\n private handleRtlChangeState(): void {\n this.eclRtlService.currentRtlState$.pipe(takeUntil(this.destroy$)).subscribe((rtlState) => {\n if (rtlState !== undefined && this.isRtl !== rtlState) {\n this.isRtl = rtlState;\n if (this.hasOverflow) {\n this.slideMenuInitialState();\n setTimeout(() => this.checkMenuOverflow());\n }\n }\n });\n }\n\n private toggleExpandedForMenuItem(item: EclMenuItem): void {\n item.isExpanded = !item.isExpanded;\n }\n\n private openHamburgerMenu(): void {\n this.isHamburgerMenuOpened = true;\n }\n\n private closeHamburgerMenu(): void {\n this.isHamburgerMenuOpened = false;\n }\n\n private sendMenuItemSelectEvent(evt: EclMenuItemSelectEvent): void {\n this.menuItemSelect.next(new EclMenuItemSelectEvent(evt.menuItem, evt.domEvent));\n }\n\n private observeRootMenuItemsChanges(): void {\n this.diff = this.differ.diff(this.eclRootMenuItems);\n this.createRootMenuItemsChangesObservable().pipe(takeUntil(this.destroy$)).subscribe(this.onMenuItemChanges.bind(this));\n }\n\n private observeSwipeGestures(): void {\n this.hammertime.on('swipeleft', this.onSwipeLeft.bind(this));\n this.hammertime.on('swiperight', this.onSwipeRight.bind(this));\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", "<div class=\"ecl-menu__overlay\" (click)=\"onOverlayClick()\"></div>\n<div class=\"ecl-container ecl-menu__container\">\n <a eclLink href=\"#\" variant=\"standalone\" class=\"ecl-menu__open\" (click)=\"onMenuOpenClick($event)\">\n <ecl-icon icon=\"hamburger\" size=\"s\"></ecl-icon> {{ 'ecl.menu.MENU' | translate }}\n </a>\n\n <section\n class=\"ecl-menu__inner\"\n #innerSection\n [class.ecl-menu__inner--expanded]=\"isMenuExpandedInMobile\"\n [class.ecl-menu__inner--has-overflow]=\"hasOverflow\">\n <header class=\"ecl-menu__inner-header\">\n <button\n eclButton\n variant=\"ghost\"\n class=\"ecl-menu__close\"\n containerStyleClass=\"ecl-menu__close-container\"\n (click)=\"onMenuCloseClick($event)\">\n <ecl-icon icon=\"close-filled\" size=\"s\"></ecl-icon>\n <span eclButtonLabel>{{ 'ecl.common.CLOSE' | translate }}</span>\n </button>\n\n <div class=\"ecl-menu__title\">{{ 'ecl.menu.MENU' | translate }}</div>\n\n <button eclButton variant=\"ghost\" class=\"ecl-menu__back\" (click)=\"onMenuBackClick($event)\">\n <ecl-icon icon=\"corner-arrow\" size=\"s\" transform=\"rotate-270\"></ecl-icon>\n <span eclButtonLabel>{{ 'ecl.common.BACK' | translate }}</span>\n </button>\n </header>\n <button\n eclButton\n #btnPrevious\n tabindex=\"-1\"\n variant=\"ghost\"\n class=\"ecl-menu__item ecl-menu__items-previous\"\n [class.ecl-menu__item--current]=\"isPrevBtnCurrentClass\"\n [style.display]=\"isShowPrevBtn ? 'block' : 'none'\"\n (click)=\"onPrevBtnClick()\">\n <ecl-icon icon=\"corner-arrow\" size=\"s\" transform=\"rotate-270\"></ecl-icon>\n <span eclButtonLabel class=\"ecl-u-sr-only\">{{ 'ecl.common.PREVIOUS' | translate }}</span>\n </button>\n <button\n eclButton\n #btnNext\n variant=\"ghost\"\n tabindex=\"-1\"\n class=\"ecl-menu__item ecl-menu__items-next\"\n [class.ecl-menu__item--current]=\"!isPrevBtnCurrentClass\"\n [style.display]=\"isShowNextBtn ? 'block' : 'none'\"\n (click)=\"onNextBtnClick()\">\n <ecl-icon icon=\"corner-arrow\" size=\"s\" transform=\"rotate-90\"></ecl-icon>\n <span eclButtonLabel class=\"ecl-u-sr-only\">{{ 'ecl.common.NEXT' | translate }}</span>\n </button>\n <ul class=\"ecl-menu__list\" #itemsList [style.right]=\"menuListStyleRight\" [style.left]=\"menuListStyleLeft\">\n <ng-content></ng-content>\n </ul>\n </section>\n</div>\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { LayoutModule } from '@angular/cdk/layout';\nimport { EclMenuComponent } from './ecl-menu/ecl-menu.component';\nimport { EclMenuItemComponent } from './ecl-menu/ecl-menu-item.component';\nimport { EclLinkDirectiveModule } from '../ecl-link/ecl-link.module';\nimport { EclIconComponentModule } from '../ecl-icon/ecl-icon.module';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclMenuMegaComponent } from './ecl-menu-mega/ecl-menu-mega.component';\nimport { EclMenuMegaItemComponent } from './ecl-menu-mega/ecl-menu-mega-item.component';\nimport { EclButtonComponentModule } from '../ecl-button';\nimport { RouterModule } from '@angular/router';\n\nconst COMPONENTS = [EclMenuComponent, EclMenuItemComponent, EclMenuMegaComponent, EclMenuMegaItemComponent];\n\n@NgModule({\n imports: [\n EclButtonComponentModule,\n EclIconComponentModule,\n EclLinkDirectiveModule,\n CommonModule,\n RouterModule,\n LayoutModule,\n TranslateModule,\n ],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclMenuComponentModule {}\n", "import { Component, Input, Output, EventEmitter, HostBinding } from '@angular/core';\nimport { EclBaseEvent } from '../../model/ecl-base.event';\nimport { coerceBoolean } from '@eui/base';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\nexport class EclMessageCloseEvent extends EclBaseEvent {}\n\n@Component({\n selector: 'ecl-message',\n templateUrl: './ecl-message.component.html',\n})\nexport class EclMessageComponent extends ECLBaseDirective {\n @Input() messageTitle: string;\n @Input() variant: 'info' | 'success' | 'warning' | 'error' = 'info';\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isVisible: boolean | any = true;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isCloseable: boolean | any = true;\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() close = new EventEmitter<EclMessageCloseEvent>();\n\n @HostBinding('attr.role')\n role = 'alert';\n\n @HostBinding('class.ecl-u-d-none')\n get isHidden(): boolean {\n return !this.isVisible;\n }\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-message'), this.variant ? `ecl-message--${this.variant}` : ''].join(' ').trim();\n }\n\n onCloseClick(evt: Event): void {\n const event = new EclMessageCloseEvent();\n this.close.next(event);\n if (!event.defaultPrevented) {\n this.isVisible = false;\n }\n }\n\n getIcon(): 'success' | 'warning' | 'error' | 'information' {\n if (this.variant === 'info') {\n return 'information';\n } else if (this.variant === 'success') {\n return 'success';\n } else if (this.variant === 'warning') {\n return 'warning';\n } else if (this.variant === 'error') {\n return 'error';\n } else {\n return 'information';\n }\n }\n}\n", "<ecl-icon size=\"l\" class=\"ecl-message__icon\" [icon]=\"getIcon()\"></ecl-icon>\n\n<div class=\"ecl-message__content\">\n <button *ngIf=\"isCloseable\" eclButton class=\"ecl-message__close\" (click)=\"onCloseClick($event)\" variant=\"ghost\">\n <span eclButtonLabel>\n {{ 'ecl.common.CLOSE' | translate }}\n </span>\n <ecl-icon icon=\"close\" size=\"s\"></ecl-icon>\n </button>\n\n <ng-content select=\"[eclMessageTitle]\"></ng-content>\n <div class=\"ecl-message__description\"><ng-content></ng-content></div>\n</div>\n", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: '[eclMessageTitle]',\n})\nexport class EclMessageTitleDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-message__title')].join(' ').trim();\n }\n}\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclButtonComponentModule } from '../ecl-button/ecl-button.module';\nimport { EclIconComponentModule } from '../ecl-icon/ecl-icon.module';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclMessageComponent } from './ecl-message.component';\nimport { EclMessageTitleDirective } from './ecl-message-title.directive';\n\n@NgModule({\n imports: [CommonModule, EclButtonComponentModule, EclIconComponentModule, TranslateModule],\n exports: [EclMessageComponent, EclMessageTitleDirective],\n declarations: [EclMessageComponent, EclMessageTitleDirective],\n})\nexport class EclMessageComponentModule {}\n", "import { Directive, EventEmitter, HostListener, Input, Output } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: '[eclModalClose]',\n})\nexport class EclModalCloseDirective<T> extends ECLBaseDirective {\n @Input('eclModalClose') eclModalResult: T;\n @Input() eclModalRole: 'confirm' | 'cancel' | string;\n\n @Output() modalClose = new EventEmitter();\n\n @HostListener('click', ['$event'])\n onClick(evt: MouseEvent): void {\n this.modalClose.next(null);\n }\n}\n", "import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclModalCloseEvent } from './ecl-modal.component';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[eclModalHeader]',\n templateUrl: './ecl-modal-header.component.html',\n})\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport class EclModalHeaderComponent<T = any> extends ECLBaseDirective {\n @Input() variant: 'default' | 'information' | 'success' | 'warning' | 'error' | string = 'default';\n @Output() modalClose = new EventEmitter<EclModalCloseEvent<T>>();\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-modal__header')].join(' ').trim();\n }\n\n onCloseClick(): void {\n this.modalClose.next(new EclModalCloseEvent());\n }\n\n getIcon(): 'information' | 'success' | 'warning' | 'error' | null {\n if (this.variant === 'information') {\n return 'information';\n } else if (this.variant === 'success') {\n return 'success';\n } else if (this.variant === 'warning') {\n return 'warning';\n } else if (this.variant === 'error') {\n return 'error';\n } else {\n return null;\n }\n }\n}\n", "<ecl-icon *ngIf=\"getIcon()\" [icon]=\"getIcon()\" size=\"m\" class=\"ecl-modal__icon\"> </ecl-icon>\n<div class=\"ecl-modal__header-content\">\n <ng-content></ng-content>\n</div>\n<button eclButton variant=\"ghost\" class=\"ecl-modal__close\" type=\"button\" (click)=\"onCloseClick()\">\n <ecl-icon icon=\"close-filled\" size=\"s\"></ecl-icon>\n</button>\n", "/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n AfterContentInit,\n Component,\n ContentChild,\n ContentChildren,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n QueryList,\n} from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { EclBaseEvent } from '../../model';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclModalCloseDirective } from './ecl-modal-close.directive';\nimport { EclModalHeaderComponent } from './ecl-modal-header.component';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport interface EclModalResult<T = any> {\n eclModalData?: T;\n eclModalRole?: string;\n}\n\nexport class EclModalOpenEvent extends EclBaseEvent {}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport class EclModalCloseEvent<T = any> extends EclBaseEvent {\n constructor(public eclModalResult?: EclModalResult<T>) {\n super();\n }\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'dialog[eclModal]',\n templateUrl: './ecl-modal.component.html',\n})\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport class EclModalComponent<T = any> extends ECLBaseDirective implements OnChanges, AfterContentInit, OnDestroy {\n @Input() variant: 'default' | 'information' | 'success' | 'warning' | 'error' | string = 'default';\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Input() set isOpen(value: boolean | any) {\n this._isOpen = coerceBooleanProperty(value);\n }\n\n get isOpen(): boolean | null {\n return this._isOpen || null;\n }\n\n @Output() modalClose = new EventEmitter<EclModalCloseEvent<T>>();\n @Output() modalOpen = new EventEmitter<EclModalOpenEvent>();\n\n @ContentChild(forwardRef(() => EclModalHeaderComponent)) eclModalHeader: EclModalHeaderComponent<T>;\n @ContentChildren(forwardRef(() => EclModalCloseDirective), { descendants: true }) eclModalCloseComponents: QueryList<\n EclModalCloseDirective<T>\n >;\n\n private _isOpen = false;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n @HostBinding('attr.open')\n get isModalOpened(): boolean {\n return this.isOpen;\n }\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-modal'), `ecl-modal--${this.variant}`].join(' ').trim();\n }\n\n @HostListener('document:keydown.escape')\n onEscapeKeydownHandler(): void {\n this.closeModal({ eclModalRole: 'cancel' });\n }\n\n ngOnChanges(): void {\n if (this.eclModalHeader) {\n this.eclModalHeader.variant = this.variant;\n }\n }\n\n ngAfterContentInit(): void {\n if (this.eclModalHeader) {\n this.eclModalHeader.variant = this.variant;\n\n this.eclModalHeader.modalClose.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.closeModal({ eclModalRole: 'cancel' });\n });\n }\n\n this.eclModalCloseComponents?.forEach((eclModalCloseCmp) => {\n eclModalCloseCmp.modalClose.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.closeModal({\n eclModalData: eclModalCloseCmp.eclModalResult,\n eclModalRole: eclModalCloseCmp.eclModalRole,\n });\n });\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n openModal(): void {\n const event = new EclModalOpenEvent();\n this.modalOpen.next(event);\n\n if (!event.defaultPrevented) {\n this.isOpen = true;\n }\n }\n\n closeModal(result?: EclModalResult<T>): void {\n if (this.isOpen) {\n const event = new EclModalCloseEvent({\n eclModalData: result?.eclModalData,\n eclModalRole: result?.eclModalRole,\n });\n this.modalClose.next(event);\n\n if (!event.defaultPrevented) {\n this.isOpen = false;\n }\n }\n }\n}\n", "<div class=\"ecl-modal__container ecl-container\">\n <div class=\"ecl-modal__content ecl-col-12 ecl-col-m-8 ecl-offset-m-2 ecl-col-l-6 ecl-offset-l-3\">\n <ng-content></ng-content>\n </div>\n</div>\n", "import { Component, HostBinding, Input, booleanAttribute } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[eclModalBody]',\n templateUrl: './ecl-modal-body.component.html',\n})\nexport class EclModalBodyComponent extends ECLBaseDirective {\n\n @Input({ transform: booleanAttribute }) isScrollable = false;\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-modal__body'),\n this.isScrollable ? 'ecl-modal__body--has-scroll' : '',\n ].join(' ').trim();\n }\n}\n", "@if (isScrollable) {\n<div class=\"ecl-modal__body-scroll\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</div>\n<div class=\"ecl-modal__body-overflow\" aria-hidden=\"true\"></div>\n<ng-content select=\"[eclModalBodyFixedContent]\"></ng-content>\n} @else {\n<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n}\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>", "import { AfterContentInit, Component, ContentChildren, forwardRef, HostBinding, QueryList } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclButtonComponent } from '../ecl-button';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[eclModalFooter]',\n templateUrl: './ecl-modal-footer.component.html',\n})\nexport class EclModalFooterComponent extends ECLBaseDirective implements AfterContentInit {\n @ContentChildren(forwardRef(() => EclButtonComponent), { descendants: true }) buttonComponents: QueryList<EclButtonComponent>;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-modal__footer')].join(' ').trim();\n }\n\n ngAfterContentInit(): void {\n if (this.buttonComponents) {\n setTimeout(() => {\n this.buttonComponents.forEach((btn) => {\n btn.class = 'ecl-modal__button';\n });\n });\n }\n }\n}\n", "<div class=\"ecl-modal__footer-content\">\n <ng-content></ng-content>\n</div>\n", "import { Directive, HostListener, Input } from '@angular/core';\nimport { EclModalComponent } from '..';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: '[eclModalTriggerFor]',\n})\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport class EclModalTriggerDirective<T = any> extends ECLBaseDirective {\n @Input() eclModalTriggerFor: EclModalComponent<T>;\n\n @HostListener('click', ['$event'])\n onClick(evt: MouseEvent): void {\n this.eclModalTriggerFor?.openModal();\n }\n}\n", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: '[eclModalBodyFixedContent]',\n})\nexport class EclModalBodyFixedContentDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-modal__body-fixed') className = true;\n}\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclIconComponentModule } from '../ecl-icon/ecl-icon.module';\nimport { EclButtonComponentModule } from '../ecl-button/ecl-button.module';\nimport { EclModalComponent } from './ecl-modal.component';\nimport { EclModalHeaderComponent } from './ecl-modal-header.component';\nimport { EclModalBodyComponent } from './ecl-modal-body.component';\nimport { EclModalFooterComponent } from './ecl-modal-footer.component';\nimport { EclModalCloseDirective } from './ecl-modal-close.directive';\nimport { EclModalTriggerDirective } from './ecl-modal-trigger.directive';\nimport { EclModalBodyFixedContentDirective } from './ecl-modal-body-fixed.directive';\n\nconst COMPONENTS = [\n EclModalComponent,\n EclModalHeaderComponent,\n EclModalBodyComponent,\n EclModalBodyFixedContentDirective,\n EclModalFooterComponent,\n EclModalCloseDirective,\n EclModalTriggerDirective,\n];\n\n@NgModule({\n imports: [CommonModule, EclIconComponentModule, EclButtonComponentModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclModalComponentModule {}\n", "import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'boldText',\n})\nexport class BoldTextPipe implements PipeTransform {\n private BOLD_TAG_OPEN = '<b>';\n\n transform(value: string, keyword: string): string {\n if (keyword !== '') {\n return this.replace(value, keyword);\n } else {\n if (value.indexOf(this.BOLD_TAG_OPEN) > -1) {\n return this.clearBoldText(value);\n } else {\n return value;\n }\n }\n }\n\n replace(str: string, keyword: string): string {\n const re = new RegExp(keyword, 'gi');\n return str.replace(re, '<b>$&</b>');\n }\n\n clearBoldText(str: string): string {\n return str.replace(/<[/]?b>/g, '');\n }\n}\n", "import { Component, ElementRef, EventEmitter, HostBinding, Input, OnChanges, OnDestroy, OnInit, Output, ViewChild } from '@angular/core';\nimport { coerceBoolean } from '@eui/base';\nimport { Subject } from 'rxjs';\nimport { v4 as uuidgen } from 'uuid';\nimport { EclMultiselectOption } from '../../../model/ecl-multiselect-option.model';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\nimport { EclCheckboxDirective } from '../../ecl-checkbox';\n\nexport class EclMultiselectOptionClickEvent {\n constructor(public multiselectOption: EclMultiselectOption) {}\n}\n\nexport class EclMultiselectOptionKeydownEvent {\n constructor(\n public multiselectOption: EclMultiselectOption,\n public keyboardEvent: KeyboardEvent,\n ) {}\n}\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'div[eclMultiselectOption]',\n templateUrl: './ecl-multiselect-option.component.html',\n hostDirectives: [EclCheckboxDirective],\n})\nexport class EclMultiselectOptionComponent extends ECLBaseDirective implements EclMultiselectOption, OnChanges, OnDestroy, OnInit {\n @ViewChild('checkboxInput') eclCheckboxInput: ElementRef;\n\n keyword = '';\n @Input()\n set value(value: string) {\n this._value = value;\n }\n\n get value(): string {\n return this._value;\n }\n\n @Input() label: string;\n changes = new Subject();\n\n @coerceBoolean\n @Input()\n @HostBinding('class.ecl-checkbox--disabled')\n @HostBinding('attr.disabled')\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n disabled: boolean | any = false;\n\n @Output() optionClick = new EventEmitter<EclMultiselectOptionClickEvent>();\n @Output() optionKeydown = new EventEmitter<EclMultiselectOptionKeydownEvent>();\n\n @HostBinding('style.display') private display = 'flex';\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-checkbox')].join(' ').trim();\n }\n\n @Input()\n get isChecked(): boolean {\n return this._checked;\n }\n\n set isChecked(value: boolean) {\n this._checked = value;\n }\n\n private _id = '';\n private _checked = false;\n private _value = '';\n\n constructor() {\n super();\n }\n\n get id(): string {\n return this._id;\n }\n\n get isActive(): boolean {\n return this.display === 'flex' && !this.disabled;\n }\n\n ngOnChanges(): void {\n this.changes.next(this.label);\n }\n\n ngOnInit(): void {\n this._id = this.createId();\n }\n\n ngOnDestroy(): void {\n this.changes.complete();\n }\n\n onOptionClick(): void {\n this.isChecked = !this.isChecked;\n this.optionClick.emit(new EclMultiselectOptionClickEvent(this));\n }\n\n onOptionKeydown(evt: KeyboardEvent): void {\n this.optionKeydown.emit(new EclMultiselectOptionKeydownEvent(this, evt));\n }\n\n onFocus(): void {\n this.eclCheckboxInput.nativeElement.focus();\n }\n\n show(): void {\n this.display = 'flex';\n }\n\n hide(): void {\n this.display = 'none';\n }\n\n highlightSearchText(keyword: string): void {\n this.keyword = keyword;\n const re = new RegExp(keyword, 'gi');\n const res = this.label.replace(re, '<b>$&</b>');\n }\n\n private createId(): string {\n return uuidgen();\n }\n}\n", "<input\n eclCheckboxInput\n type=\"checkbox\"\n [id]=\"id\"\n [value]=\"value\"\n (click)=\"onOptionClick()\"\n (keydown)=\"onOptionKeydown($event)\"\n [checked]=\"isChecked\"\n [disabled]=\"disabled\"\n #checkboxInput />\n<label [for]=\"id\" eclCheckboxLabel><span [innerHTML]=\"label | boldText: keyword\"></span></label>\n", "import { Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild } from '@angular/core';\nimport { coerceBoolean } from '@eui/base';\nimport { KeyCode } from '../../../utils';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\n\nexport class EclMultiselectMainInputClickEvent {\n constructor(public event: Event) {}\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'div[eclMultiselectInput]',\n templateUrl: './ecl-multiselect-input.component.html',\n})\nexport class EclMultiselectInputComponent extends ECLBaseDirective {\n \n @Input() eclSize = 'm';\n @Input() toggleId: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean\n @Input()\n @HostBinding('class.ecl-select__container--disabled')\n isDisabled: boolean | undefined = false;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean\n @Input()\n @HostBinding('class.ecl-select__container--invalid')\n isInvalid: boolean | undefined = false;\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-select__container'), `ecl-select__container--${this.eclSize}`].join(' ').trim();\n }\n @Input() inputPlaceholder: string;\n @Input() selectedItems = [];\n @Input() protected isDropdownExpanded = false;\n @Input() protected ariaControls: string | undefined = undefined;\n @Input() protected ariaDescribedby: string | undefined = undefined;\n @Input() protected ariaLabeledby: string | undefined = undefined;\n\n @ViewChild('inputMultiselect') inputMultiselect: ElementRef;\n @Output() mainInputClick = new EventEmitter<EclMultiselectMainInputClickEvent>();\n @Output() mainInputKeydown = new EventEmitter<Event>();\n\n constructor() {\n super();\n }\n\n get buttonText(): string {\n return this.selectedItems.length === 0 ? this.inputPlaceholder : this.selectedItems.join(',');\n }\n\n get selectedItemsCount(): number {\n return this.selectedItems.length;\n }\n\n get isShowCounter(): boolean {\n return this.selectedItems && this.selectedItems.length > 0;\n }\n\n onClick(evt: Event): void {\n this.mainInputClick.emit(new EclMultiselectMainInputClickEvent(evt));\n }\n\n onKeydown(evt: KeyboardEvent): void {\n switch (evt.key) {\n case KeyCode.ARROW_DOWN: {\n this.mainInputKeydown.emit(evt);\n break;\n }\n default: {\n break;\n }\n }\n }\n\n onFocus(): void {\n this.inputMultiselect.nativeElement.focus();\n }\n}\n", "<div [class.ecl-select-multiple-selections-counter--visible]=\"isShowCounter\" class=\"ecl-select-multiple-selections-counter\">\n <span>{{ selectedItemsCount }}</span>\n</div>\n<button\n class=\"ecl-select ecl-select__multiple-toggle\"\n #inputMultiselect\n type=\"button\"\n [id]=\"toggleId\"\n [attr.aria-expanded]=\"isDropdownExpanded\"\n [attr.aria-controls]=\"ariaControls\"\n [attr.disabled]=\"isDisabled ? true : undefined\"\n [attr.aria-labelledby]=\"ariaLabeledby\"\n [attr.aria-describedby]=\"ariaDescribedby\"\n (keydown)=\"onKeydown($event)\"\n (click)=\"onClick($event)\"> {{ buttonText }}\n</button>\n<div class=\"ecl-select__icon\">\n <ecl-icon icon=\"corner-arrow\" size=\"s\" class=\"ecl-select__icon-shape\" transform=\"rotate-180\"></ecl-icon>\n</div>\n", "import { Component, HostBinding, Input } from '@angular/core';\nimport { EclMultiselectOption } from '../../../model/ecl-multiselect-option.model';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\n\nexport class EclMultiselectOptionClickEvent {\n constructor(public multiselectOption: EclMultiselectOption) {}\n}\n\nexport class EclMultiselectOptionKeydownEvent {\n constructor(\n public multiselectOption: EclMultiselectOption,\n public keyboardEvent: KeyboardEvent,\n ) {}\n}\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'fieldset[eclMultiselectOptgroup]',\n templateUrl: './ecl-multiselect-optgroup.component.html',\n})\nexport class EclMultiselectOptgroupComponent extends ECLBaseDirective {\n @Input() label: string;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-select__multiple-group')].join(' ').trim();\n }\n}\n", "<legend class=\"ecl-select__multiple-group__title\">{{ label }}</legend>\n<ng-content></ng-content>\n", "/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n Component,\n DoCheck,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n IterableDiffer,\n IterableDiffers,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n Renderer2,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { ControlValueAccessor, FormGroup, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { coerceBoolean } from '@eui/base';\nimport { Subject } from 'rxjs';\nimport { v4 as uuidgen } from 'uuid';\nimport { KeyCode } from '../../../utils';\nimport { EclMultiselectOption } from '../../../model/ecl-multiselect-option.model';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\nimport { EclCheckboxDirective } from '../../ecl-checkbox';\nimport { EclMultiselectInputComponent, EclMultiselectMainInputClickEvent } from '../ecl-multiselect-input/ecl-multiselect-input.component';\nimport { EclMultiselectOptionDirective } from '../ecl-multiselect-option.directive';\nimport {\n EclMultiselectOptionClickEvent,\n EclMultiselectOptionComponent,\n EclMultiselectOptionKeydownEvent,\n} from '../ecl-multiselect-option/ecl-multiselect-option.component';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'div[eclMultiselectDropdown]',\n templateUrl: 'ecl-multiselect-dropdown.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EclMultiselectDropdownComponent),\n multi: true,\n },\n ],\n})\nexport class EclMultiselectDropdownComponent extends ECLBaseDirective implements OnInit, ControlValueAccessor, DoCheck, OnDestroy {\n @ViewChild('searchInput') searchInput: ElementRef;\n @ViewChild('eclMultiselectInput') eclMultiselectInput: EclMultiselectInputComponent;\n @ViewChild('selectAllCheckbox') selectAllCheckbox: ElementRef;\n @ViewChild('selectAll') selectAll: EclCheckboxDirective;\n @ViewChild('closeBtn', { read: ElementRef }) closeBtn: ElementRef;\n @ViewChild('clearAllBtn', { read: ElementRef }) clearAllBtn: ElementRef;\n @ViewChildren(EclMultiselectOptionComponent) multiOptionComponents: QueryList<EclMultiselectOptionComponent>;\n @Output() eclChange = new EventEmitter<string[]>();\n\n @coerceBoolean\n @Input()\n get isInvalid(): boolean | undefined {\n return this._isInvalid;\n }\n set isInvalid(value: boolean | undefined) {\n this._isInvalid = value;\n }\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-select__multiple')].join(' ').trim();\n }\n @Input() mainInputPlaceholder = 'Select an item';\n @Input() searchFieldPlaceholder = 'Enter keyword';\n @Input() eclSize = 'm';\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean\n @Input()\n @HostBinding('attr.disabled')\n get disabled(): boolean | undefined {\n return this._disabled || undefined;\n }\n set disabled(value: boolean | undefined) {\n this._disabled = value;\n }\n\n ariaDescribedby: string | undefined = undefined;\n ariaLabeledby: string | undefined = undefined;\n id = '';\n isShowNoResultsFound = false;\n isShowMultiselectDropdown = false;\n multiOptionDirectives: EclMultiselectOptionDirective[] = [];\n form: FormGroup;\n protected dropdownId = '';\n protected selectAllId = '';\n protected toggleId = '';\n private _disabled = false;\n private _isInvalid = false;\n private _selectedItems: EclMultiselectOption[] = [];\n private differ: IterableDiffer<EclMultiselectOptionComponent>;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private isWriteValueCalled = false;\n private values = [];\n\n constructor(\n private elRef: ElementRef,\n private differs: IterableDiffers,\n private renderer: Renderer2,\n ) {\n super();\n this.differ = this.differs.find([]).create();\n }\n\n ngDoCheck(): void {\n const diff = this.differ.diff(this.multiOptionComponents);\n\n if (diff) {\n if (this.isWriteValueCalled) {\n this.resetComponent();\n this.writeValues(this.values);\n this.isWriteValueCalled = false;\n } else {\n this.initSelectedOptions();\n }\n }\n }\n\n ngOnInit(): void { \n this.selectAllId = this.getSelectAllId();\n this.dropdownId = this.getDropdownId();\n this.toggleId = this.getToggleId();\n setTimeout(() => {\n this.modifyParentLabelForAttribute();\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public writeValue(values: any): void {\n if (this.multiOptionComponents) {\n this.resetComponent();\n this.writeValues(values);\n } else {\n this.values = values;\n this.isWriteValueCalled = true;\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public registerOnChange(fn: any): void {\n this.propagateChange = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public registerOnTouched(fn: any): void {\n this.propagateTouched = fn;\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this._disabled = isDisabled;\n }\n\n @HostListener('document:keyup.escape', ['$event'])\n onEscapeKey(event: KeyboardEvent): void {\n this.hideMultiselectDropdown();\n }\n\n @HostListener('document:click', ['$event'])\n onKeyUp(event: MouseEvent): void {\n if (!this.elRef.nativeElement.contains(event.target)) {\n this.hideMultiselectDropdown();\n }\n }\n\n get optionsCount(): number {\n return this.getActiveOptions() ? this.getActiveOptions().length : 0;\n }\n\n get selectedItems(): string[] {\n return this._selectedItems.map((item) => item.label);\n }\n\n get isItemsSelected(): boolean {\n return this._selectedItems.length > 0;\n }\n\n get isShowToolbar(): boolean {\n return this._selectedItems.length > 0;\n }\n\n initSelectedOptions(): void {\n this._selectedItems = [];\n this.multiOptionComponents\n .filter((elem) => elem.isChecked)\n .forEach((item) => {\n this._selectedItems.push(item);\n });\n }\n\n onClickClearAll(evt: Event): void {\n evt.stopPropagation();\n this.unselectAllActiveOptions();\n this.eclChange.emit([]);\n this.propagateChange([]);\n }\n\n onEnterClear(evt: Event): void {\n this.onClickClearAll(evt);\n this.eclMultiselectInput.onFocus();\n }\n\n onClickClose(evt: Event): void {\n evt.preventDefault();\n this.hideMultiselectDropdown();\n }\n\n onArrowUpCloseClear(evt: Event): void {\n evt.preventDefault();\n const currentOptions = this.getActiveOptions();\n currentOptions[currentOptions.length - 1].onFocus();\n }\n\n onArrowLeftClose(evt: Event): void {\n evt.preventDefault();\n this.clearAllBtn.nativeElement.focus();\n }\n\n onTabClose(evt: Event): void {\n evt.preventDefault();\n this.eclMultiselectInput.onFocus();\n }\n\n onArrowRightClear(evt: Event): void {\n evt.preventDefault();\n this.closeBtn.nativeElement.focus();\n }\n\n onEnterSearch(evt: Event): void {\n evt.preventDefault();\n }\n\n onArrowDownSearch(evt: Event): void {\n evt.preventDefault();\n const currentOptions = this.getActiveOptions();\n if (currentOptions.length > 1) {\n this.selectAllCheckbox.nativeElement.focus();\n } else {\n currentOptions[0].onFocus();\n }\n }\n\n onArrowUpSearch(evt: Event): void {\n evt.preventDefault();\n this.hideMultiselectDropdown();\n this.eclMultiselectInput.onFocus();\n }\n\n onKeydownMainInput(evt: Event): void {\n evt.preventDefault();\n this.showMultiselectDropdown();\n setTimeout(() => this.searchInput.nativeElement.focus());\n }\n\n onClickMainInput(evt: EclMultiselectMainInputClickEvent): void {\n evt.event.preventDefault();\n this.toggleDropdown();\n }\n\n onArrowDownSelectAll(evt: Event): void {\n evt.preventDefault();\n const currentOptions = this.getActiveOptions();\n if (currentOptions.length > 0) {\n currentOptions[0].onFocus();\n }\n }\n\n onArrowUpSelectAll(evt: Event): void {\n evt.preventDefault();\n this.searchInput.nativeElement.focus();\n }\n\n onSearch(input: EventTarget): void {\n const keyword = (input as HTMLInputElement).value;\n let isMatchFound = false;\n if (keyword === '') {\n this.enableSelectAll();\n isMatchFound = true;\n this.multiOptionComponents.forEach((item) => {\n item.highlightSearchText('');\n item.show();\n });\n } else {\n this.multiOptionComponents.forEach((item) => {\n if (item.label.toLowerCase().indexOf(keyword.toLowerCase()) < 0) {\n item.hide();\n } else {\n isMatchFound = true;\n item.highlightSearchText(keyword.toLowerCase());\n item.show();\n }\n });\n this.disableSelectAll();\n }\n if (!isMatchFound) {\n this.showNoResultsFound();\n } else {\n this.hideNoResultsFound();\n }\n }\n\n onSelectAll(): void {\n if (this.selectAllCheckbox.nativeElement.checked) {\n this.selectAllActiveOptions();\n } else {\n this.unselectAllActiveOptions();\n }\n this.propagateTouched();\n this.eclChange.emit(this._selectedItems.map((item) => item.value));\n this.propagateChange(this._selectedItems.map((item) => item.value));\n }\n\n onKeydownOption(evt: EclMultiselectOptionKeydownEvent): void {\n switch (evt.keyboardEvent.key) {\n case KeyCode.ARROW_DOWN: {\n this.onOptionArrowDownAndTab(evt.keyboardEvent, evt.multiselectOption);\n break;\n }\n case KeyCode.ARROW_UP: {\n this.onOptionArrowUp(evt.keyboardEvent, evt.multiselectOption);\n break;\n }\n case KeyCode.ESCAPE: {\n this.hideMultiselectDropdown();\n break;\n }\n case KeyCode.ENTER: {\n (evt.keyboardEvent.target as HTMLInputElement).click();\n break;\n }\n case KeyCode.TAB: {\n this.onOptionArrowDownAndTab(evt.keyboardEvent, evt.multiselectOption);\n break;\n }\n default: {\n break;\n }\n }\n }\n\n onOptionSelected(evt: EclMultiselectOptionClickEvent): void {\n if (this.selectAllCheckbox.nativeElement.checked) {\n this.selectAllCheckbox.nativeElement.checked = false;\n }\n const currOption = evt.multiselectOption;\n if (currOption.isChecked) {\n this._selectedItems.push(currOption);\n } else {\n const index = this._selectedItems.indexOf(currOption);\n this._selectedItems.splice(index, 1);\n }\n this.propagateChange(this._selectedItems.map((item) => item.value));\n this.propagateTouched();\n this.eclChange.emit(this._selectedItems.map((item) => item.value));\n }\n\n private selectAllActiveOptions(): void {\n this.getAllActiveOptions().forEach((item) => {\n if (!item.isChecked) {\n item.isChecked = true;\n this._selectedItems.push(item);\n }\n });\n }\n\n private unselectAllActiveOptions(): void {\n this.selectAllCheckbox.nativeElement.checked = false;\n this._selectedItems = [];\n this.getAllActiveOptions().forEach((item) => {\n item.isChecked = false;\n });\n }\n\n private getAllActiveOptions(): EclMultiselectOptionComponent[] {\n return this.multiOptionComponents.filter((elem) => elem.isActive);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private propagateChange = (_: any): void => {\n /* empty */\n };\n\n private propagateTouched = (): void => {\n /* empty */\n };\n\n private showMultiselectDropdown(): void {\n this.isShowMultiselectDropdown = true;\n }\n\n private hideMultiselectDropdown(): void {\n this.isShowMultiselectDropdown = false;\n }\n\n private disableSelectAll(): void {\n this.selectAll.isDisabled = true;\n }\n\n private enableSelectAll(): void {\n this.selectAll.isDisabled = false;\n }\n\n private showNoResultsFound(): void {\n this.isShowNoResultsFound = true;\n }\n\n private hideNoResultsFound(): void {\n this.isShowNoResultsFound = false;\n }\n\n private resetComponent(): void {\n this.multiOptionComponents.forEach((item) => {\n item.isChecked = false;\n });\n if (this.selectAllCheckbox) {\n this.selectAllCheckbox.nativeElement.checked = false;\n }\n this._selectedItems = [];\n }\n\n private writeValues(values: Array<string>): void {\n if (values) {\n const selectedElementsArray = [];\n if (this.multiOptionComponents && this.multiOptionComponents.length > 0) {\n this.multiOptionComponents\n .filter((item) => values.includes(item.value) && !item.disabled)\n .forEach((el) => {\n el.isChecked = true;\n selectedElementsArray.push(el.label);\n this._selectedItems.push(el);\n });\n }\n }\n }\n\n private toggleDropdown(): void {\n this.isShowMultiselectDropdown = !this.isShowMultiselectDropdown;\n }\n\n private onOptionArrowDownAndTab(evt: KeyboardEvent, option: EclMultiselectOption): void {\n (evt as KeyboardEvent).preventDefault();\n const index = this.getOptionIndexByIdFromActiveOptions(option.id);\n const currentOptions = this.getActiveOptions();\n if (index !== currentOptions.length - 1) {\n const nextSiblingCheckbox = currentOptions[index + 1];\n nextSiblingCheckbox.onFocus();\n } else {\n if (this.clearAllBtn) {\n this.clearAllBtn.nativeElement.focus();\n } else {\n this.eclMultiselectInput.onFocus();\n }\n }\n }\n\n private onOptionArrowUp(evt: KeyboardEvent, option: EclMultiselectOption): void {\n (evt as KeyboardEvent).preventDefault();\n const index = this.getOptionIndexByIdFromActiveOptions(option.id);\n if (index !== 0) {\n const prevSiblingCheckbox = this.getActiveOptions()[index - 1];\n prevSiblingCheckbox.onFocus();\n } else if (this.selectAllCheckbox.nativeElement.disabled) {\n this.searchInput.nativeElement.focus();\n } else {\n this.selectAllCheckbox.nativeElement.focus();\n }\n }\n\n private getActiveOptions(): EclMultiselectOptionComponent[] {\n return this.multiOptionComponents ? this.multiOptionComponents.filter((item) => item.isActive) : [];\n }\n\n private getOptionIndexByIdFromActiveOptions(id: string): number {\n return this.getActiveOptions().findIndex((option) => option.id === id);\n }\n\n private getSelectAllId(): string {\n return uuidgen();\n }\n\n private getDropdownId(): string {\n return this.id !== '' ? `${this.id}-dropdown` : uuidgen();\n }\n\n private getToggleId(): string {\n return this.id !== '' ? `${this.id}-toggle` : uuidgen();\n }\n\n private modifyParentLabelForAttribute(): void {\n const form = this.renderer.parentNode(this.elRef.nativeElement);\n const label = form?.querySelector('.ecl-form-label');\n if (label) {\n this.renderer.setAttribute(label, 'for', this.toggleId);\n }\n }\n}\n", "<div eclMultiselectInput #eclMultiselectInput [inputPlaceholder]=\"mainInputPlaceholder\" [selectedItems]=\"selectedItems\"\n (mainInputClick)=\"onClickMainInput($event)\" (mainInputKeydown)=\"onKeydownMainInput($event)\" [isDisabled]=\"disabled\"\n [ariaLabeledby]=\"ariaLabeledby\" [ariaDescribedby]=\"ariaDescribedby\" [ariaControls]=\"dropdownId\" [isInvalid]=\"isInvalid\"\n [isDropdownExpanded]=\"isShowMultiselectDropdown\" [eclSize]=\"eclSize\" [toggleId]=\"toggleId\"></div>\n<div\n [style.display]=\"isShowMultiselectDropdown ? 'block' : 'none'\"\n class=\"ecl-select__multiple-dropdown ecl-select__container ecl-select__container--{{eclSize}}\"\n [id]=\"dropdownId\">\n <input\n class=\"ecl-text-input\"\n type=\"search\"\n #searchInput\n [placeholder]=\"searchFieldPlaceholder\"\n (input)=\"onSearch($event.target)\"\n (keydown.enter)=\"onEnterSearch($event)\"\n (keydown.arrowup)=\"onArrowUpSearch($event)\"\n (keydown.arrowdown)=\"onArrowDownSearch($event)\" />\n <div eclCheckbox #selectAll class=\"ecl-select__multiple-all\">\n <input\n eclCheckboxInput\n #selectAllCheckbox\n [id]=\"selectAllId\"\n type=\"checkbox\"\n (click)=\"onSelectAll()\"\n (keydown.arrowup)=\"onArrowUpSelectAll($event)\"\n (keydown.arrowdown)=\"onArrowDownSelectAll($event)\" />\n <label [for]=\"selectAllId\" eclCheckboxLabel> {{ 'ecl.multiselect.SELECT-ALL' | translate }} ({{ optionsCount }}) </label>\n </div>\n <div class=\"ecl-select__multiple-options\">\n <ng-container *ngFor=\"let item of multiOptionDirectives\">\n <fieldset eclMultiselectOptgroup *ngIf=\"item.isOptGroup()\" [label]=\"item.label\">\n <div\n eclMultiselectOption\n *ngFor=\"let elem of item.eclOptionItems\"\n [value]=\"elem.value\"\n [label]=\"elem.label\"\n [disabled]=\"elem.disabled\"\n [isChecked]=\"elem.selected\"\n [class]=\"elem.class\"\n (optionClick)=\"onOptionSelected($event)\"\n (optionKeydown)=\"onKeydownOption($event)\"></div>\n </fieldset>\n <div\n eclMultiselectOption\n *ngIf=\"!item.isOptGroup()\"\n [value]=\"item.value\"\n [label]=\"item.label\"\n [disabled]=\"item.disabled\"\n [isChecked]=\"item.selected\"\n [class]=\"item.class\"\n (optionClick)=\"onOptionSelected($event)\"\n (optionKeydown)=\"onKeydownOption($event)\"></div>\n </ng-container>\n <div *ngIf=\"isShowNoResultsFound\" class=\"ecl-select__multiple-no-results\">\n <span>{{ 'ecl.multiselect.NO-RESULTS-FOUND' | translate }}</span>\n </div>\n </div>\n <div *ngIf=\"isShowToolbar\" class=\"ecl-select-multiple-toolbar\">\n <button\n eclButton\n variant=\"ghost\"\n #clearAllBtn\n (keydown.arrowup)=\"onArrowUpCloseClear($event)\"\n (keydown.arrowright)=\"onArrowRightClear($event)\"\n (keydown.enter)=\"onEnterClear($event)\"\n (click)=\"onClickClearAll($event)\">\n {{ 'ecl.multiselect.CLEAR-ALL' | translate }}\n </button>\n <button\n eclButton\n variant=\"primary\"\n #closeBtn\n (keydown.arrowup)=\"onArrowUpCloseClear($event)\"\n (keydown.arrowleft)=\"onArrowLeftClose($event)\"\n (keydown.tab)=\"onTabClose($event)\"\n (click)=\"onClickClose($event)\">\n {{ 'ecl.common.CLOSE' | translate }}\n </button>\n </div>\n</div>\n", "import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ContentChildren, Directive, ElementRef, HostBinding, Input, QueryList } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: 'optgroup[eclMultiselectOptgroup], option[eclMultiselectOption]',\n})\nexport class EclMultiselectOptionDirective extends ECLBaseDirective {\n @ContentChildren(EclMultiselectOptionDirective) eclOptionItems: QueryList<EclMultiselectOptionDirective>;\n\n @Input() value: string;\n @Input() label: string;\n changes = new Subject();\n\n @Input()\n @HostBinding('attr.disabled')\n get disabled(): boolean {\n return this._disabled || null;\n }\n set disabled(value: BooleanInput) {\n this._disabled = coerceBooleanProperty(value);\n }\n private _disabled = false;\n\n @Input()\n @HostBinding('attr.selected')\n get selected(): boolean {\n return this._selected || null;\n }\n set selected(value) {\n this._selected = coerceBooleanProperty(value);\n }\n private _selected = false;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-checkbox')].join(' ').trim();\n }\n\n constructor(private elRef: ElementRef) {\n super();\n }\n\n isOptGroup(): boolean {\n return this.elRef.nativeElement.nodeName === 'OPTGROUP';\n }\n}\n", "import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n AfterContentInit,\n Component,\n ContentChildren,\n DoCheck,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n Injector,\n Input,\n IterableDiffer,\n IterableDiffers,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n ViewContainerRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR, NgControl } from '@angular/forms';\nimport { coerceBoolean } from '@eui/base';\nimport { Subject, takeUntil } from 'rxjs';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclMultiselectDropdownComponent } from './ecl-multiselect-dropdown/ecl-multiselect-dropdown.component';\nimport { EclMultiselectOptionDirective } from './ecl-multiselect-option.directive';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'select[eclMultiselect]',\n templateUrl: 'ecl-multiselect.component.html',\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EclMultiselectComponent),\n multi: true,\n },\n ],\n})\nexport class EclMultiselectComponent extends ECLBaseDirective implements DoCheck, OnInit, OnDestroy, AfterContentInit {\n @ContentChildren(forwardRef(() => EclMultiselectOptionDirective)) eclOptionItems: QueryList<EclMultiselectOptionDirective>;\n\n @Input() ariaDescribedby: string | undefined = undefined;\n @Input() ariaLabeledby: string | undefined = undefined;\n @Input() id: string | undefined = undefined;\n @coerceBoolean\n @Input()\n get isInvalid(): boolean | undefined {\n return this._isInvalid;\n }\n set isInvalid(value: boolean | undefined) {\n this._isInvalid = value;\n if (this.multiselectComponent) {\n this.multiselectComponent.isInvalid = value;\n }\n }\n @Input()\n @HostBinding('attr.disabled')\n set disabled(value: BooleanInput) {\n if (this.multiselectComponent) {\n this.multiselectComponent.disabled = coerceBooleanProperty(value);\n }\n this._disabled = coerceBooleanProperty(value);\n }\n get disabled(): boolean | undefined {\n return this._disabled || undefined;\n }\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-select')].join(' ').trim();\n }\n @Output() eclChange = new EventEmitter<string[]>();\n @Input()\n set eclPlaceholder(value: string) {\n this._eclPlaceholder = value;\n if (this.multiselectComponent) {\n this.multiselectComponent.mainInputPlaceholder = value;\n }\n }\n get eclPlaceholder(): string {\n return this._eclPlaceholder;\n }\n @Input() eclSize = 'm';\n private _disabled = false;\n private _isInvalid = false;\n private _eclPlaceholder = 'Select item';\n private differ: IterableDiffer<EclMultiselectOptionDirective>;\n private multiselectComponent: EclMultiselectDropdownComponent;\n private hostEl: HTMLSelectElement;\n private hostParentEl: HTMLElement;\n private hostWrapperEl: HTMLElement;\n private multiselectComponentHtml: HTMLDivElement;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(\n public injector: Injector,\n private el: ElementRef,\n private viewContainerRef: ViewContainerRef,\n private differs: IterableDiffers,\n ) {\n super();\n this.differ = this.differs.find([]).create();\n }\n\n ngDoCheck(): void {\n const diff = this.differ.diff(this.eclOptionItems);\n\n if (diff) {\n if (this.multiselectComponent) {\n this.multiselectComponent.multiOptionDirectives = this.eclOptionItems.toArray();\n }\n }\n }\n\n ngOnInit(): void {\n this.hostEl = this.getHostElement();\n this.hostParentEl = this.getHostParentElement(this.hostEl);\n this.hostWrapperEl = this.createHostWrapperContainer();\n this.multiselectComponentHtml = this.createMultiselectComponent();\n }\n\n ngAfterContentInit(): void {\n this.attachOptions();\n if (this.hostParentEl != null) {\n this.hideOriginalSelectComponent();\n this.hostParentEl.appendChild(this.multiselectComponentHtml);\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n private hideOriginalSelectComponent(): void {\n this.hostParentEl.replaceChild(this.hostWrapperEl, this.hostEl);\n this.hostWrapperEl.appendChild(this.hostEl);\n this.hostWrapperEl.classList.add('ecl-select__container--hidden');\n }\n\n private createHostWrapperContainer(): HTMLElement {\n const wrapperContainer = document.createElement('div');\n wrapperContainer.classList.add('ecl-select__container');\n wrapperContainer.classList.add(`ecl-select__container--${this.eclSize}`);\n return wrapperContainer;\n }\n\n private getHostElement(): HTMLSelectElement {\n return this.el.nativeElement;\n }\n\n private getHostParentElement(hostEl: HTMLSelectElement): HTMLElement {\n return hostEl.parentElement;\n }\n\n private createMultiselectComponent(): HTMLDivElement {\n const ngControl = this.injector.get(NgControl, undefined, { optional: true });\n const multiselect = this.viewContainerRef.createComponent(EclMultiselectDropdownComponent);\n this.multiselectComponent = multiselect.instance;\n this.multiselectComponent.eclChange.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.eclChange.emit(evt);\n });\n this.multiselectComponent.mainInputPlaceholder = this.eclPlaceholder;\n\n if (this.ariaLabeledby !== undefined) {\n this.multiselectComponent.ariaLabeledby = this.ariaLabeledby;\n }\n if (this.ariaDescribedby !== undefined) {\n this.multiselectComponent.ariaDescribedby = this.ariaDescribedby;\n }\n if (this.id !== undefined) {\n this.multiselectComponent.id = this.id;\n }\n this.multiselectComponent.eclSize = this.eclSize;\n if (ngControl) {\n ngControl.valueAccessor = this.multiselectComponent;\n }\n multiselect.instance.disabled = this.disabled;\n multiselect.instance.isInvalid = this.isInvalid;\n return (multiselect.location as ElementRef<HTMLDivElement>).nativeElement;\n }\n\n private attachOptions(): void {\n setTimeout(() => {\n this.multiselectComponent.multiOptionDirectives = this.eclOptionItems.toArray();\n });\n }\n}\n", "<ng-content></ng-content>\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclIconComponentModule } from '../ecl-icon/ecl-icon.module';\nimport { EclCheckboxModule } from '../ecl-checkbox/ecl-checkbox.module';\nimport { EclTextInputDirectiveModule } from '../ecl-text-input/ecl-text-input.module';\nimport { EclMultiselectComponent } from './ecl-multiselect.component';\nimport { EclMultiselectOptionDirective } from './ecl-multiselect-option.directive';\nimport { EclMultiselectOptionComponent } from './ecl-multiselect-option/ecl-multiselect-option.component';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclMultiselectInputComponent } from './ecl-multiselect-input/ecl-multiselect-input.component';\nimport { EclMultiselectDropdownComponent } from './ecl-multiselect-dropdown/ecl-multiselect-dropdown.component';\nimport { EclButtonComponentModule } from '../ecl-button';\nimport { EclMultiselectOptgroupComponent } from './ecl-multiselect-optgroup/ecl-multiselect-optgroup.component';\nimport { BoldTextPipe } from './boldText.pipe';\n\nconst COMPONENTS = [EclMultiselectComponent, EclMultiselectOptionDirective];\n\n@NgModule({\n imports: [\n CommonModule,\n TranslateModule,\n EclIconComponentModule,\n EclCheckboxModule,\n EclTextInputDirectiveModule,\n EclButtonComponentModule,\n ],\n exports: [EclMultiselectComponent, EclMultiselectOptionDirective],\n declarations: [\n EclMultiselectComponent,\n EclMultiselectOptionDirective,\n EclMultiselectOptionComponent,\n EclMultiselectInputComponent,\n EclMultiselectDropdownComponent,\n EclMultiselectOptgroupComponent,\n BoldTextPipe,\n ],\n})\nexport class EclMultiselectComponentModule {}\n", "import { AfterContentInit, Component, ContentChild, forwardRef, HostBinding, Input } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclContentBlockComponent } from '../ecl-content-block';\n\n@Component({\n selector: 'ecl-navigation-list-item',\n templateUrl: 'ecl-navigation-list-item.component.html',\n})\nexport class EclNavigationListItemComponent extends ECLBaseDirective implements AfterContentInit {\n @Input() columns = 2;\n\n @ContentChild(forwardRef(() => EclContentBlockComponent)) eclContentBlock: EclContentBlockComponent;\n\n @HostBinding('attr.role') role = 'article';\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-navigation-list__item'), 'ecl-navigation-list__item--no-border'].join(' ').trim();\n }\n\n ngAfterContentInit(): void {\n if (this.eclContentBlock) {\n this.eclContentBlock.class = 'ecl-navigation-list__content-block';\n }\n }\n}\n", "<ng-content></ng-content>\n", "import { Component, HostBinding, Input } from '@angular/core';\nimport { coerceNumber } from '@eui/base';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n selector: 'ecl-navigation-list',\n templateUrl: 'ecl-navigation-list.component.html',\n})\nexport class EclNavigationListComponent extends ECLBaseDirective {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceNumber @Input() columns: number | any = 2;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-navigation-list'), `ecl-navigation-list--col-${this.columns}`].join(' ').trim();\n }\n}\n", "<ng-content></ng-content>\n", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: 'picture[eclNavigationListPicture]',\n})\nexport class EclNavigationListPictureDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-picture ecl-navigation-list__picture')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: 'img[eclNavigationListImage]',\n})\nexport class EclNavigationListImageDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-navigation-list__image')].join(' ').trim();\n }\n}\n", "import { Component, HostBinding, Input } from '@angular/core';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\n\n/**\n * @deprecated\n * This component is deprecated and will be removed in 18 version\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'div[eclNavigationListImage]',\n templateUrl: 'ecl-navigation-list-image.component.html',\n})\nexport class EclNavigationListImageComponent extends ECLBaseDirective {\n @Input() imageUrl: string;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-picture ecl-navigation-list__picture')].join(' ').trim();\n }\n}\n", "<img class=\"ecl-navigation-list__image\" [src]=\"imageUrl\" alt=\"Alt text for the image\" />\n", "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EclNavigationListItemComponent } from './ecl-navigation-list-item.component';\nimport { EclNavigationListComponent } from './ecl-navigation-list.component';\nimport { EclNavigationListImageDirective, EclNavigationListPictureDirective } from './ecl-navigation-list-picture.directive';\nimport { EclNavigationListImageComponent } from './ecl-navigation-list-image/ecl-navigation-list-image.component';\n\nconst COMPONENTS = [\n EclNavigationListComponent,\n EclNavigationListItemComponent,\n EclNavigationListImageDirective,\n EclNavigationListImageComponent,\n EclNavigationListPictureDirective,\n];\n\n@NgModule({\n imports: [CommonModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclNavigationListComponentModule {}\n", "import { AfterContentInit, Component, ContentChild, ElementRef, EventEmitter, HostBinding, OnDestroy, Output } from '@angular/core';\nimport { fromEvent, Subject, takeUntil } from 'rxjs';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclLinkDirective } from '../ecl-link/ecl-link.directive';\n@Component({\n selector: 'ecl-news-ticker-item',\n templateUrl: './ecl-news-ticker-item.component.html',\n})\nexport class EclNewsTickerItemComponent extends ECLBaseDirective implements AfterContentInit, OnDestroy {\n @ContentChild(EclLinkDirective) eclLink: EclLinkDirective;\n @Output() itemFocused = new EventEmitter<null>();\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-news-ticker__slide')].join(' ').trim();\n }\n @HostBinding('attr.role') role = 'listitem';\n\n get isCurrent(): boolean {\n return this._isCurrent;\n }\n set isCurrent(value: boolean) {\n this._isCurrent = value;\n if (this.eclLink) {\n this.setLinkTabindex();\n }\n }\n private _isCurrent = false;\n\n @HostBinding('attr.aria-hidden')\n get isAriahidden(): boolean {\n return !this.isCurrent || undefined;\n }\n @HostBinding('attr.inert')\n get isInert(): boolean {\n return !this.isCurrent || undefined;\n }\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(public el: ElementRef) {\n super();\n }\n\n ngAfterContentInit(): void {\n if (this.eclLink) {\n this.eclLink.class = 'ecl-news-ticker__slide-text';\n }\n\n if (this.eclLink) {\n fromEvent(this.eclLink.el.nativeElement, 'focus')\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => {\n this.itemFocused.emit();\n });\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n private setLinkTabindex(): void {\n if (this._isCurrent) {\n this.eclLink.tabindex = null;\n } else {\n this.eclLink.tabindex = -1;\n }\n }\n}\n", "<ng-content></ng-content>\n", "import {\n AfterViewInit,\n Component,\n ContentChildren,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n Output,\n QueryList,\n Renderer2,\n ViewChild,\n} from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { coerceBoolean, coerceElement } from '@eui/base';\nimport { EclBaseEvent } from '../../model/ecl-base.event';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclNewsTickerItemComponent } from './ecl-news-ticker-item.component';\n\nexport class EclNewsTickerItemEvent extends EclBaseEvent {\n constructor(public itemIndex: number) {\n super();\n }\n}\n\n@Component({\n selector: 'ecl-news-ticker',\n templateUrl: './ecl-news-ticker.component.html',\n})\nexport class EclNewsTickerComponent extends ECLBaseDirective implements OnDestroy, AfterViewInit {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isAutoplay: boolean | any = true;\n @Output() itemSwitch = new EventEmitter<EclNewsTickerItemEvent>();\n @ContentChildren(EclNewsTickerItemComponent) newsTickerItems: QueryList<EclNewsTickerItemComponent>;\n @ViewChild('firstHiddenItem') firstHiddenItem: EclNewsTickerItemComponent;\n @ViewChild('lastHiddenItem') lastHiddenItem: EclNewsTickerItemComponent;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceElement @ViewChild('slidesContainer') slidesContainer: Element | any;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-news-ticker')].join(' ').trim();\n }\n\n itemIndex = 1;\n playing = false;\n slidesTransform = '';\n transitionDuration: number;\n private intervalId: number;\n private PLAY_INTERVAL = 5000;\n private INIT_DELAY = 300;\n private _containerHeight: number;\n private _contentHeight: number;\n private pausePlay = false;\n private unsubscribeListener: () => void;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(private renderer2: Renderer2) {\n super();\n }\n\n get containerHeight(): number {\n return this._containerHeight;\n }\n\n get contentHeight(): number {\n return this._contentHeight;\n }\n\n get itemsCount(): number {\n return this.newsTickerItems.length;\n }\n\n get isShowControls(): boolean {\n return this.newsTickerItems.length > 1;\n }\n\n @HostListener('window:resize', ['$event'])\n onResize(event): void {\n setTimeout(() => {\n this.resizeTicker();\n this.moveSlides(this.getCurrentItem(), false);\n });\n }\n\n ngAfterViewInit(): void {\n setTimeout(() => {\n this.initContainer();\n }, this.INIT_DELAY);\n this.newsTickerItems.forEach((item) => {\n item.itemFocused.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.cancelAutoplay();\n });\n });\n }\n\n ngOnDestroy(): void {\n if (this.intervalId) {\n clearInterval(this.intervalId);\n }\n if (this.unsubscribeListener) {\n this.unsubscribeListener();\n }\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n onPrevious(): void {\n this.cancelAutoplay();\n this.previousSlide();\n }\n\n previousSlide(): void {\n this.itemIndex = this.getPrevIndex();\n if (this.itemIndex === this.itemsCount) {\n this.moveSlides(this.getFirstItem(this.getAllItemsArray()), true);\n } else {\n this.moveSlides(this.getCurrentItem(), true);\n }\n this.itemSwitch.next(new EclNewsTickerItemEvent(this.itemIndex));\n }\n\n onNext(): void {\n this.cancelAutoplay();\n this.nextSlide();\n }\n\n nextSlide(): void {\n this.itemIndex = this.getNextIndex();\n if (this.itemIndex === 1) {\n this.moveSlides(this.getLastItem(this.getAllItemsArray()), true);\n } else {\n this.moveSlides(this.getCurrentItem(), true);\n }\n this.itemSwitch.next(new EclNewsTickerItemEvent(this.itemIndex));\n }\n\n startAutoplay(): void {\n this.playing = true;\n this.intervalId = setInterval(() => this.nextSlide(), this.PLAY_INTERVAL);\n }\n\n cancelAutoplay(): void {\n if (this.intervalId) {\n clearInterval(this.intervalId);\n }\n this.playing = false;\n }\n\n onNewsTickerItemMouseOver(): void {\n if (this.playing) {\n this.pausePlay = true;\n this.cancelAutoplay();\n }\n }\n\n onNewsTickerItemMouseOut(): void {\n if (this.pausePlay) {\n this.pausePlay = false;\n this.startAutoplay();\n }\n }\n\n private moveSlides(item: EclNewsTickerItemComponent, withTransition: boolean): void {\n if (item) {\n const newOffset = item.el.nativeElement.offsetTop;\n const newHeight = item.el.nativeElement.offsetHeight;\n this._contentHeight = newHeight;\n this.transitionDuration = withTransition ? 0.4 : 0;\n this.slidesTransform = `translate3d(0px, -${newOffset}px, 0px)`;\n\n this.setCurrentSlide(item);\n }\n }\n\n private initContainer(): void {\n if (this.newsTickerItems.length === 1) {\n this.resizeTicker();\n this.moveSlides(this.getFirstItem(this.newsTickerItems.toArray()), false);\n return;\n }\n this.firstHiddenItem.el.nativeElement.innerHTML = this.getLastContentChild();\n this.lastHiddenItem.el.nativeElement.innerHTML = this.getFirstContentChild();\n this.unsubscribeListener = this.renderer2.listen(this.slidesContainer, 'transitionend', () => this.checkIndex());\n this.resizeTicker();\n this.moveSlides(this.getFirstItem(this.newsTickerItems.toArray()), false);\n if (this.isAutoplay) {\n this.startAutoplay();\n }\n }\n\n private checkIndex(): void {\n if (this.itemIndex === 1) {\n const item = this.getFirstItem(this.newsTickerItems.toArray());\n this.moveSlides(item, false);\n } else if (this.itemIndex === this.itemsCount) {\n const item = this.getLastItem(this.newsTickerItems.toArray());\n this.moveSlides(item, false);\n }\n }\n\n private resizeTicker(): void {\n let highestSlide = 0;\n this.newsTickerItems.forEach((slide) => {\n const slideHeight = slide.el.nativeElement.offsetHeight;\n highestSlide = highestSlide < slideHeight ? slideHeight : highestSlide;\n });\n this._containerHeight = highestSlide + 10;\n }\n\n private getNextIndex(): number {\n return this.itemIndex === this.itemsCount ? 1 : ++this.itemIndex;\n }\n\n private getCurrentItem(): EclNewsTickerItemComponent {\n return this.getAllItemsArray()[this.itemIndex];\n }\n\n private getPrevIndex(): number {\n return this.itemIndex === 1 ? this.itemsCount : --this.itemIndex;\n }\n\n private getFirstItem(items: Array<EclNewsTickerItemComponent>): EclNewsTickerItemComponent {\n return items.length > 0 ? items[0] : null;\n }\n\n private getLastItem(items: Array<EclNewsTickerItemComponent>): EclNewsTickerItemComponent {\n return items[items.length - 1];\n }\n\n private getLastContentChild(): string {\n return this.newsTickerItems.length > 0 ? this.newsTickerItems.get(this.itemsCount - 1).el.nativeElement.innerHTML : '';\n }\n\n private getFirstContentChild(): string {\n return this.newsTickerItems.length > 0 ? this.newsTickerItems.get(0).el.nativeElement.innerHTML : '';\n }\n\n private getAllItemsArray(): EclNewsTickerItemComponent[] {\n return [...[this.firstHiddenItem], ...this.newsTickerItems.toArray(), ...[this.lastHiddenItem]];\n }\n\n private setCurrentSlide(currentItem: EclNewsTickerItemComponent): void {\n this.newsTickerItems.forEach((item) => {\n item.isCurrent = false;\n if (item === currentItem) {\n item.isCurrent = true;\n }\n });\n }\n}\n", "<div class=\"ecl-news-ticker__container\" [style.height.px]=\"containerHeight\">\n <ecl-icon icon=\"information\" size=\"m\" class=\"ecl-news-ticker__icon\"></ecl-icon>\n <div class=\"ecl-news-ticker__content\" [style.height.px]=\"contentHeight\">\n <ul\n class=\"ecl-news-ticker__slides\"\n [style.transition-duration.s]=\"transitionDuration\"\n [style.transform]=\"slidesTransform\"\n (mouseover)=\"onNewsTickerItemMouseOver()\"\n (mouseout)=\"onNewsTickerItemMouseOut()\"\n #slidesContainer>\n <ecl-news-ticker-item #firstHiddenItem *ngIf=\"isShowControls\"></ecl-news-ticker-item>\n <ng-content></ng-content>\n <ecl-news-ticker-item #lastHiddenItem *ngIf=\"isShowControls\"></ecl-news-ticker-item>\n </ul>\n </div>\n</div>\n\n<div class=\"ecl-news-ticker__controls\" *ngIf=\"isShowControls\">\n <button class=\"ecl-news-ticker__prev\" (click)=\"onPrevious()\">\n <span class=\"ecl-u-sr-only\">\n {{ 'ecl.news-ticker.PREV-ITEM' | translate }}\n </span>\n <ecl-icon isInverted icon=\"corner-arrow\" size=\"l\" transform=\"rotate-270\" class=\"ecl-news-ticker__icon-default\"></ecl-icon>\n </button>\n <button class=\"ecl-news-ticker__next\" (click)=\"onNext()\">\n <span class=\"ecl-u-sr-only\">\n {{ 'ecl.news-ticker.NEXT-ITEM' | translate }}\n </span>\n <ecl-icon isInverted icon=\"corner-arrow\" size=\"l\" transform=\"rotate-90\" class=\"ecl-news-ticker__icon-default\"></ecl-icon>\n </button>\n <button class=\"ecl-news-ticker__play\" [class.ecl-u-d-none]=\"playing\" (click)=\"startAutoplay()\">\n <span class=\"ecl-u-sr-only\">\n {{ 'ecl.news-ticker.AUTO-PLAY' | translate }}\n </span>\n <ecl-icon isInverted icon=\"play\" size=\"l\" class=\"ecl-news-ticker__icon-default\"></ecl-icon>\n <ecl-icon isInverted icon=\"play-filled\" size=\"l\" class=\"ecl-news-ticker__icon-active\"></ecl-icon>\n </button>\n <button class=\"ecl-news-ticker__pause\" [class.ecl-u-d-none]=\"!playing\" (click)=\"cancelAutoplay()\">\n <span class=\"ecl-u-sr-only\">\n {{ 'ecl.news-ticker.PAUSE' | translate }}\n </span>\n <ecl-icon isInverted icon=\"pause\" size=\"l\" class=\"ecl-news-ticker__icon-default\"></ecl-icon>\n <ecl-icon isInverted icon=\"pause-filled\" size=\"l\" class=\"ecl-news-ticker__icon-active\"></ecl-icon>\n </button>\n <div class=\"ecl-news-ticker__counter\">\n <span class=\"ecl-news-ticker__counter--current\"> {{ itemIndex }}</span>\n {{ 'ecl.common.OF' | translate }}\n <span class=\"ecl-news-ticker__counter--max\">{{ itemsCount }}</span>\n </div>\n</div>\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclButtonComponentModule } from '../ecl-button/ecl-button.module';\nimport { EclIconComponentModule } from '../ecl-icon/ecl-icon.module';\nimport { EclLinkDirectiveModule } from '../ecl-link/ecl-link.module';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclNewsTickerComponent } from './ecl-news-ticker.component';\nimport { EclNewsTickerItemComponent } from './ecl-news-ticker-item.component';\n\n@NgModule({\n imports: [CommonModule, TranslateModule, EclButtonComponentModule, EclIconComponentModule, EclLinkDirectiveModule],\n exports: [EclNewsTickerComponent, EclNewsTickerItemComponent],\n declarations: [EclNewsTickerComponent, EclNewsTickerItemComponent],\n})\nexport class EclNewsTickerComponentModule {}\n", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n// TODO: re-enable this in v18, when the deprecated\n// @Directive({\n// selector: `[eclPageHeaderDescriptionContainer]`\n// })\n// export class EclPageHeaderDescriptionContainerDirective extends ECLBaseDirective {\n// @HostBinding('class') className = 'ecl-page-header__description-container';\n// }\n\n@Directive({\n selector: '[eclPageHeaderDescriptionPicture]',\n})\nexport class EclPageHeaderDescriptionPictureDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-picture ecl-page-header__picture-thumbnail';\n}\n\n@Directive({\n selector: '[eclPageHeaderDescriptionThumbnail], img[eclPageHeaderDescriptionImage] ',\n})\nexport class EclPageHeaderDescriptionThumbnailDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-page-header__description-thumbnail';\n}\n\n@Directive({\n selector: '[eclPageHeaderDescription]',\n})\nexport class EclPageHeaderDescriptionDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-page-header__description';\n}\n", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: '[eclPageHeaderTitle]',\n})\nexport class EclPageHeaderTitleDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-page-header__title';\n}\n", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: '[eclPageHeaderMeta]',\n})\nexport class EclPageHeaderMetaDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-page-header__meta';\n}\n\n@Directive({\n selector: '[eclPageHeaderMetaItem]',\n})\nexport class EclPageHeaderMetaItemDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-page-header__meta-item';\n}\n", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: '[eclPageHeaderBackgroundPicture]',\n})\nexport class EclPageHeaderBackgroundPictureDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-picture ecl-page-header__picture-background';\n}\n\n@Directive({\n selector: '[eclPageHeaderBackgroundImage]',\n})\nexport class EclPageHeaderBackgroundImageDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-page-header__background';\n}\n", "import { AfterContentInit, Component, ContentChild, HostBinding, Input } from '@angular/core';\nimport { coerceBoolean } from '@eui/base';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclBreadcrumbComponent } from '../ecl-breadcrumb/ecl-breadcrumb.component';\nimport { EclPageHeaderBackgroundPictureDirective } from './ecl-page-header-background.directive';\n\n@Component({\n selector: 'ecl-page-header',\n templateUrl: './ecl-page-header.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclPageHeaderComponent extends ECLBaseDirective implements AfterContentInit {\n /**\n * @deprecated\n * This input is deprecated and will be removed in 18 version.\n */\n @Input() backgroundImage: string = null;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() @HostBinding('class.ecl-page-header--negative') isNegative: boolean | any;\n\n @ContentChild(EclBreadcrumbComponent)\n eclBreadcrumbComponent: EclBreadcrumbComponent;\n\n @ContentChild(EclPageHeaderBackgroundPictureDirective)\n eclBackgroundPicture: EclPageHeaderBackgroundPictureDirective;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-page-header'), this.hasBackgroundImage || this.hasPicture ? 'ecl-page-header--image' : '']\n .join(' ')\n .trim();\n }\n\n private BREADCRUMB_CLASS = 'ecl-page-header__breadcrumb';\n\n ngAfterContentInit(): void {\n if (this.eclBreadcrumbComponent) {\n this.eclBreadcrumbComponent.class = this.BREADCRUMB_CLASS;\n }\n }\n\n get hasBackgroundImage(): boolean {\n return !!this.backgroundImage;\n }\n\n get hasPicture(): boolean {\n return !!this.eclBackgroundPicture;\n }\n}\n", "<div *ngIf=\"hasBackgroundImage\" class=\"ecl-page-header__background-container\" aria-hidden=\"true\">\n <picture eclPageHeaderBackgroundPicture>\n <img eclPageHeaderBackgroundImage [src]=\"backgroundImage\" />\n </picture>\n</div>\n\n<div *ngIf=\"hasPicture\" class=\"ecl-page-header__background-container\" aria-hidden=\"true\">\n <ng-content select=\"[eclPageHeaderBackgroundPicture]\"></ng-content>\n</div>\n\n<div class=\"ecl-container\">\n <ng-container *ngTemplateOutlet=\"content\"> </ng-container>\n</div>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", "import { Component, ContentChild, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\nimport {\n EclPageHeaderDescriptionPictureDirective,\n EclPageHeaderDescriptionThumbnailDirective,\n} from '../ecl-page-header-description.directive';\n\n/**\n * @deprecated\n * This component is deprecated and will be removed in 18 version. It will be replace with the directive with the same selector.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[eclPageHeaderDescriptionContainer]',\n templateUrl: './ecl-page-header-description.component.html',\n})\nexport class EclPageHeaderDescriptionContainerComponent extends ECLBaseDirective {\n @HostBinding('class.ecl-page-header__description-container') className = true;\n @ContentChild(EclPageHeaderDescriptionThumbnailDirective) thumbnail: EclPageHeaderDescriptionThumbnailDirective;\n @ContentChild(EclPageHeaderDescriptionPictureDirective)\n eclDescriptionPicture: EclPageHeaderDescriptionPictureDirective;\n @ContentChild(EclPageHeaderDescriptionThumbnailDirective)\n eclImage: EclPageHeaderDescriptionThumbnailDirective;\n\n get hasDescriptionPicture(): boolean {\n return !!this.eclDescriptionPicture;\n }\n\n get hasImage(): boolean {\n return !!this.eclImage;\n }\n get isAddingPictureTagRequired(): boolean {\n if (this.thumbnail && this.hasImage && !this.hasDescriptionPicture) {\n return true;\n }\n return false;\n }\n}\n", "<ng-container *ngIf=\"isAddingPictureTagRequired\">\n <picture eclPageHeaderDescriptionPicture>\n <ng-content select=\"[eclPageHeaderDescriptionThumbnail]\"></ng-content>\n </picture>\n</ng-container>\n<ng-container *ngTemplateOutlet=\"content\"> </ng-container>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {\n EclPageHeaderDescriptionDirective,\n EclPageHeaderDescriptionPictureDirective,\n EclPageHeaderDescriptionThumbnailDirective,\n} from './ecl-page-header-description.directive';\nimport { EclPageHeaderTitleDirective } from './ecl-page-header-title.directive';\nimport { EclPageHeaderMetaDirective, EclPageHeaderMetaItemDirective } from './ecl-page-header-meta.directive';\nimport { EclPageHeaderComponent } from './ecl-page-header.component';\nimport { EclPageHeaderDescriptionContainerComponent } from './ecl-page-header-description/ecl-page-header-description.component';\nimport { EclPageHeaderBackgroundImageDirective, EclPageHeaderBackgroundPictureDirective } from './ecl-page-header-background.directive';\n\nconst COMPONENTS = [\n EclPageHeaderComponent,\n EclPageHeaderMetaDirective,\n EclPageHeaderMetaItemDirective,\n EclPageHeaderTitleDirective,\n EclPageHeaderDescriptionContainerComponent,\n EclPageHeaderDescriptionDirective,\n EclPageHeaderDescriptionThumbnailDirective,\n EclPageHeaderDescriptionPictureDirective,\n EclPageHeaderBackgroundPictureDirective,\n EclPageHeaderBackgroundImageDirective,\n];\n\n@NgModule({\n imports: [CommonModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclPageHeaderComponentModule {}\n", "import { Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { EclBaseEvent } from '../../model/ecl-base.event';\nimport { coerceBoolean } from '@eui/base';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { Params, QueryParamsHandling } from '@angular/router';\n\nexport class EclPaginationItemClickEvent extends EclBaseEvent {}\n\n@Component({\n selector: 'ecl-pagination-item',\n templateUrl: './ecl-pagination-item.component.html',\n encapsulation: ViewEncapsulation.None,\n})\nexport class EclPaginationItemComponent extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-pagination__item'),\n this.isCurrent ? 'ecl-pagination__item--current' : '',\n this.isNext ? 'ecl-pagination__item--next' : '',\n this.isPrevious ? 'ecl-pagination__item--previous' : '',\n ]\n .join(' ')\n .trim();\n }\n @HostBinding('attr.role') role = 'listitem';\n \n @Input() label: string;\n @Input() ariaLabel: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isCurrent: boolean | any;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isNext: boolean | any;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isPrevious: boolean | any;\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: string;\n\n @Output() pageClick = new EventEmitter<EclPaginationItemClickEvent>();\n\n onPageClick(evt: MouseEvent): void {\n this.pageClick.next(new EclPaginationItemClickEvent());\n if (!this.href) {\n evt.stopPropagation();\n }\n }\n\n geti18nPageAriaLabelKey(): string {\n let key = '';\n\n if (this.isNext) {\n key = 'ecl.pagination.GO-TO-NEXT-PAGE';\n } else if (this.isPrevious) {\n key = 'ecl.pagination.GO-TO-PREV-PAGE';\n } else {\n key = 'ecl.pagination.GO-TO-PAGE';\n }\n return key;\n }\n\n geti18nPageLabelKey(): string {\n let key = '';\n\n if (this.isNext) {\n key = 'ecl.pagination.NEXT';\n } else if (this.isPrevious) {\n key = 'ecl.pagination.PREVIOUS';\n }\n return key;\n }\n}\n", "@if (!isCurrent) {\n<a *ngIf=\"routerLink\" eclLink (click)=\"onPageClick($event)\" variant=\"standalone\"\n attr.aria-label=\"{{ ariaLabel || geti18nPageAriaLabelKey() | translate: { pageNumber: label } }}\"\n [routerLink]=\"routerLink\" [queryParams]=\"queryParams\" [queryParamsHandling]=\"queryParamsHandling\"\n class=\"ecl-pagination__link\" tabindex=\"{{tabindex}}\">\n @if (isPrevious) {\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-270\"></ecl-icon>\n }\n <span eclLinkLabel>{{ label || geti18nPageLabelKey() | translate }}</span>\n @if (isNext) {\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-90\"></ecl-icon>\n }\n</a>\n<a *ngIf=\"!routerLink\" eclLink (click)=\"onPageClick($event)\" variant=\"standalone\"\n attr.aria-label=\"{{ ariaLabel || geti18nPageAriaLabelKey() | translate: { pageNumber: label } }}\" [attr.href]=\"href\"\n class=\"ecl-pagination__link\" tabindex=\"{{tabindex}}\">\n @if (isPrevious) {\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-270\"></ecl-icon>\n }\n <span eclLinkLabel>{{ label || geti18nPageLabelKey() | translate }}</span>\n @if (isNext) {\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-90\"></ecl-icon>\n }\n</a>\n}\n@else {\n<span class=\"ecl-pagination__text ecl-pagination__text--summary\" aria-current=\"true\">\n {{ label }}\n</span>\n<span class=\"ecl-pagination__text ecl-pagination__text--full\" aria-current=\"true\">\n {{ 'ecl.pagination.PAGE' | translate: { pageNumber: label } }}\n</span>\n}", "import { Component, EventEmitter, HostBinding, Input, OnChanges, OnInit, Output } from '@angular/core';\nimport { DefaultConfig, EuiPagination } from '@eui/base';\nimport { EclBaseEvent } from '../../model/ecl-base.event';\nimport { coerceNumber } from '@eui/base';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\nexport class EclPaginationEvent extends EclBaseEvent {\n constructor(\n public readonly page: number,\n public readonly showingFrom: number,\n public readonly showingTo: number,\n ) {\n super();\n }\n}\n@Component({\n selector: 'ecl-pagination',\n templateUrl: './ecl-pagination.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclPaginationComponent extends ECLBaseDirective implements OnInit, OnChanges {\n @Input() mode: 'manual' | 'auto' = 'manual';\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceNumber @Input() totalItems: number | any = DefaultConfig.totalItems;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceNumber @Input() pageSize: number | any = DefaultConfig.pageSize;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceNumber @Input() currentPage: number | any = DefaultConfig.currentPage;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceNumber @Input() pageWindowSize: number | any = DefaultConfig.pageWindowSize;\n\n @Output() page = new EventEmitter<EclPaginationEvent>();\n\n @HostBinding('class.ecl-pagination') cmpClass = true;\n @HostBinding('attr.role') role = 'navigation';\n\n public model = EuiPagination.create();\n\n ngOnInit(): void {\n if (this.isModeAuto()) {\n setTimeout(() => {\n this.firePageEvent();\n });\n }\n }\n\n ngOnChanges(): void {\n if (this.isModeAuto()) {\n this.model = EuiPagination.create({\n totalItems: this.totalItems,\n pageSize: this.pageSize,\n currentPage: this.currentPage,\n pageWindowSize: this.pageWindowSize,\n });\n }\n }\n\n onPreviousPage(): void {\n this.model.goToPreviousPage();\n this.firePageEvent();\n }\n\n onNextPage(): void {\n this.model.goToNextPage();\n this.firePageEvent();\n }\n\n onPage(page: number): void {\n this.model.goToPage(page);\n this.firePageEvent();\n }\n\n isModeAuto(): boolean {\n return this.mode === 'auto';\n }\n\n private firePageEvent(): void {\n const evt = new EclPaginationEvent(this.model.getCurrentPage(), this.model.getShowingFrom(), this.model.getShowingTo());\n\n this.page.next(evt);\n }\n}\n", "<ul class=\"ecl-pagination__list\">\n <ng-container *ngIf=\"isModeAuto()\">\n <ecl-pagination-item *ngIf=\"model.hasPreviousPage()\" [isPrevious]=\"true\" (pageClick)=\"onPreviousPage()\"> </ecl-pagination-item>\n\n <ecl-pagination-item\n *ngFor=\"let page of model.getPages()\"\n [label]=\"page.toString()\"\n [isCurrent]=\"model.getCurrentPage() === page\"\n (pageClick)=\"onPage(page)\">\n </ecl-pagination-item>\n\n <ecl-pagination-item *ngIf=\"model.hasNextPage()\" [isNext]=\"true\" (pageClick)=\"onNextPage()\"> </ecl-pagination-item>\n </ng-container>\n\n <ng-container *ngIf=\"!isModeAuto()\">\n <ng-content></ng-content>\n </ng-container>\n</ul>\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { EclIconComponentModule } from '../ecl-icon/ecl-icon.module';\nimport { EclLinkDirectiveModule } from '../ecl-link/ecl-link.module';\nimport { EclPaginationComponent } from './ecl-pagination.component';\nimport { EclPaginationItemComponent } from './ecl-pagination-item.component';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@NgModule({\n imports: [CommonModule, RouterModule, EclIconComponentModule, EclLinkDirectiveModule, TranslateModule],\n exports: [EclPaginationComponent, EclPaginationItemComponent],\n declarations: [EclPaginationComponent, EclPaginationItemComponent],\n})\nexport class EclPaginationComponentModule {}\n", "import { Directive, ElementRef, EventEmitter, Host, HostBinding, HostListener, Output } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: '[eclPopoverToggle]',\n})\nexport class EclPopoverToggleDirective extends ECLBaseDirective {\n @HostBinding('attr.aria-expanded') isExpanded = false;\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() click = new EventEmitter();\n\n constructor(public hostElementRef: ElementRef) {\n super();\n }\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-popover__toggle')].join(' ').trim();\n }\n\n @HostListener('mouseup', ['$event'])\n onClick(evt: MouseEvent): void {\n const LEFT_BUTTON = 0;\n\n if (evt.button === LEFT_BUTTON) {\n this.click.next(null);\n }\n }\n\n public getHostElement(): HTMLElement {\n return this.hostElementRef.nativeElement;\n }\n}\n", "import { AfterContentInit, Component, ContentChild, HostBinding, HostListener, OnDestroy, ViewChild } from '@angular/core';\nimport { coerceElement } from '@eui/base';\nimport { Subject, takeUntil } from 'rxjs';\nimport { ECLClickOutsideDirective } from '../../utils/directives/ecl-click-outside/ecl-click-outside.directive';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclPopoverToggleDirective } from './ecl-popover-toggle.directive';\n\n@Component({\n selector: 'ecl-popover',\n templateUrl: './ecl-popover.component.html',\n hostDirectives: [\n {\n directive: ECLClickOutsideDirective,\n // eslint-disable-next-line @angular-eslint/no-outputs-metadata-property\n outputs: ['eclClickOutside'],\n },\n ],\n})\nexport class EclPopoverComponent extends ECLBaseDirective implements AfterContentInit, OnDestroy {\n @coerceElement @ViewChild('container') eclPopoverContainerElement: HTMLElement;\n @ContentChild(EclPopoverToggleDirective) eclPopoverToggle: EclPopoverToggleDirective;\n\n public popoverPosition: string;\n public isHidden = true;\n public isTop: boolean;\n public isPushLeft: boolean;\n public isPushRight: boolean;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-popover'),\n this.isTop ? 'ecl-popover--top' : '',\n this.isPushLeft ? 'ecl-popover--push-left' : '',\n this.isPushRight ? 'ecl-popover--push-right' : '',\n ]\n .join(' ')\n .trim();\n }\n\n ngAfterContentInit(): void {\n this.eclPopoverToggle?.click.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.isHidden = !this.isHidden;\n\n setTimeout(() => {\n if (!this.isHidden) {\n this.calculationPopoverPosition();\n }\n });\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n @HostListener('eclClickOutside')\n onClickOutsideMenu(): void {\n this.isHidden = true;\n }\n\n @HostListener('document:keydown.escape', ['$event'])\n onEscapeKeydownHandler(event: KeyboardEvent): void {\n this.isHidden = true;\n }\n\n private calculationPopoverPosition(): void {\n const toggleElement = this.eclPopoverToggle.getHostElement();\n const toggleRect = toggleElement.getBoundingClientRect();\n const popoverRect = this.eclPopoverContainerElement.getBoundingClientRect();\n const popoverHeight = this.eclPopoverContainerElement.clientHeight;\n const screenHeight = window.innerHeight;\n const screenWidth = window.innerWidth;\n\n this.isTop = false;\n this.isPushLeft = false;\n this.isPushRight = false;\n\n if (popoverHeight > 0 && screenHeight - toggleRect.top < popoverHeight) {\n this.isTop = true;\n }\n\n if (popoverRect.left < 0) {\n this.isPushLeft = true;\n this.popoverPosition = `${toggleRect.width / 2}px`;\n }\n\n if (popoverRect.right > screenWidth) {\n this.isPushRight = true;\n this.popoverPosition = `calc(${toggleRect.width / 2}px - 0.5rem)`;\n }\n }\n}\n", "<ng-content select=\"[eclPopoverToggle]\"></ng-content>\n\n<div #container class=\"ecl-popover__container\" [style.--ecl-popover-position]=\"popoverPosition\" [hidden]=\"isHidden\">\n <ng-content select=\"[eclPopoverContent]\"></ng-content>\n</div>\n", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: '[eclPopoverContent]',\n})\nexport class EclPopoverContentDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-popover__content')].join(' ').trim();\n }\n}\n", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: '[eclPopoverList]',\n})\nexport class EclPopoverListDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-popover__list')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclPopoverItem]',\n})\nexport class EclPopoverItemDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-popover__item')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclPopoverLink]',\n})\nexport class EclPopoverLinkDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-popover__link')].join(' ').trim();\n }\n}\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclIconComponentModule } from '../ecl-icon/ecl-icon.module';\nimport { EclPopoverComponent } from './ecl-popover.component';\nimport { EclLinkDirectiveModule } from '../ecl-link';\nimport { EclPopoverContentDirective } from './ecl-popover-content.directive';\nimport { EclPopoverToggleDirective } from './ecl-popover-toggle.directive';\nimport { EclPopoverItemDirective, EclPopoverLinkDirective, EclPopoverListDirective } from './ecl-popover-list.directive';\n\nconst COMPONENTS = [\n EclPopoverComponent,\n EclPopoverContentDirective,\n EclPopoverToggleDirective,\n EclPopoverListDirective,\n EclPopoverItemDirective,\n EclPopoverLinkDirective,\n];\n\n@NgModule({\n imports: [CommonModule, EclIconComponentModule, EclLinkDirectiveModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclPopoverComponentModule {}\n", "import { Component, HostBinding, Input } from '@angular/core';\nimport { coerceBoolean } from '@eui/base';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[eclRadioHelp]',\n templateUrl: './ecl-radio-help.component.html',\n})\nexport class EclRadioHelpComponent extends ECLBaseDirective {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() @HostBinding('class.ecl-radio__help--disabled') isDisabled: boolean | any = false;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-radio__help')].join(' ').trim();\n }\n}\n", "<ng-content></ng-content>\n", "import { Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\nimport { coerceBoolean } from '@eui/base';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[eclRadioLabel]',\n templateUrl: './ecl-radio-label.component.html',\n encapsulation: ViewEncapsulation.None,\n})\nexport class EclRadioLabelComponent extends ECLBaseDirective {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isInvalid: boolean | any = false;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isDisabled: boolean | any = false;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-radio__label')].join(' ').trim();\n }\n}\n", "<span class=\"ecl-radio__box\" [class.ecl-radio__box--disabled]=\"isDisabled\" [class.ecl-radio__box--invalid]=\"isInvalid\">\n <span class=\"ecl-radio__box-inner\"></span>\n</span>\n\n<ng-content></ng-content>\n", "import { ContentChild, Directive, DoCheck, forwardRef, HostBinding, Input } from '@angular/core';\nimport { coerceBoolean } from '@eui/base';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclRadioHelpComponent } from './ecl-radio-help.component';\nimport { EclRadioLabelComponent } from './ecl-radio-label.component';\n\n@Directive({\n selector: '[eclRadio]',\n})\nexport class EclRadioDirective extends ECLBaseDirective implements DoCheck {\n @coerceBoolean @Input() isBinary: boolean;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() @HostBinding('class.ecl-radio--disabled') isDisabled: boolean | any = false;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() @HostBinding('class.ecl-radio--invalid') isInvalid: boolean | any = false;\n\n @ContentChild(forwardRef(() => EclRadioLabelComponent)) eclRadioLabelComponent: EclRadioLabelComponent;\n @ContentChild(forwardRef(() => EclRadioHelpComponent)) eclRadioHelpComponent: EclRadioHelpComponent;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-radio'), this.isBinary ? 'ecl-radio--binary' : ''].join(' ').trim();\n }\n\n ngDoCheck(): void {\n this.updateChildElements();\n }\n\n private updateChildElements(): void {\n if (this.eclRadioLabelComponent) {\n this.eclRadioLabelComponent.isInvalid = this.isInvalid;\n this.eclRadioLabelComponent.isDisabled = this.isDisabled;\n }\n\n if (this.eclRadioHelpComponent) {\n this.eclRadioHelpComponent.isDisabled = this.isDisabled;\n }\n }\n}\n", "import { Directive, HostBinding, Optional, Self, ChangeDetectorRef, DoCheck, Inject, forwardRef } from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { EclRadioDirective } from './ecl-radio.directive';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: 'input[eclRadioInput]',\n})\nexport class EclRadioInputDirective extends ECLBaseDirective implements DoCheck {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-radio__input')].join(' ').trim();\n }\n\n constructor(\n @Inject(forwardRef(() => EclRadioDirective)) public eclRadio: EclRadioDirective,\n @Optional() @Self() protected ngControl: NgControl,\n protected cd: ChangeDetectorRef,\n ) {\n super();\n }\n\n ngDoCheck(): void {\n if (this.ngControl) {\n if (this.eclRadio) {\n this.eclRadio.isInvalid = this.ngControl.invalid && this.ngControl.touched;\n this.eclRadio.isDisabled = this.ngControl.disabled;\n }\n }\n }\n}\n", "import { CommonModule } from '@angular/common';\nimport { EclRadioInputDirective } from './ecl-radio-input.directive';\nimport { NgModule } from '@angular/core';\nimport { EclRadioDirective } from './ecl-radio.directive';\nimport { EclRadioHelpComponent } from './ecl-radio-help.component';\nimport { EclRadioLabelComponent } from './ecl-radio-label.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [EclRadioDirective, EclRadioInputDirective, EclRadioLabelComponent, EclRadioHelpComponent],\n declarations: [EclRadioDirective, EclRadioInputDirective, EclRadioLabelComponent, EclRadioHelpComponent],\n})\nexport class EclRadioDirectiveModule {}\n", "import { Component, EventEmitter, forwardRef, HostBinding, Input, Output, Provider } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { coerceBoolean, coerceNumber } from '@eui/base';\nimport { EclBaseEvent } from '../../model';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\nexport class EclRatingChangeEvent extends EclBaseEvent {\n constructor(public readonly value: number) {\n super();\n }\n}\n\nexport const ECL_RATINGFIELD_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EclRatingFieldComponent),\n multi: true,\n};\n\nconst noop = (): void => {\n /** empty */\n};\n\n@Component({\n selector: 'ecl-rating-field',\n templateUrl: './ecl-rating-field.component.html',\n providers: [ECL_RATINGFIELD_VALUE_ACCESSOR],\n})\nexport class EclRatingFieldComponent extends ECLBaseDirective implements ControlValueAccessor {\n @Input() name = 'rating';\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceNumber @Input() numberOfStars: number | any = 5;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceNumber @Input() rating: number | any;\n\n @coerceBoolean\n @Input()\n @HostBinding('attr.disabled')\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n disabled: boolean | any;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Output() ratingChange = new EventEmitter<any>();\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private onChange: (_: any) => void = noop;\n private onTouched: () => void = noop;\n\n constructor() {\n super();\n }\n\n get numbers(): Array<number> {\n return Array(this.numberOfStars)\n .fill(0)\n .map((_, i) => this.numberOfStars - i);\n }\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-rating-field'), this.disabled ? 'ecl-rating-field--disabled' : ''].join(' ').trim();\n }\n\n onRadioClick(rating: number): void {\n this.rating = rating;\n this.onTouched();\n this.onChange(this.rating);\n\n const evt = new EclRatingChangeEvent(rating);\n this.ratingChange.next(evt);\n }\n\n writeValue(value: number): void {\n this.rating = value;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled || null;\n }\n \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n}\n", "<ng-container *ngFor=\"let n of numbers\">\n <input\n type=\"radio\"\n id=\"{{ name }}-{{ n }}\"\n [name]=\"name\"\n class=\"ecl-rating-field__input\"\n [value]=\"n\"\n required=\"\"\n [attr.checked]=\"rating === n ? true : undefined\"\n [attr.disabled]=\"disabled ? true : undefined\"\n (click)=\"onRadioClick(n)\" />\n <label class=\"ecl-rating-field__label\" for=\"{{ name }}-{{ n }}\">\n <span class=\"ecl-u-sr-only\">{{ n }} stars</span>\n <ecl-icon icon=\"star-filled\" class=\"ecl-rating-field__icon-filled\" size=\"m\"> </ecl-icon>\n <ecl-icon icon=\"star-outline\" class=\"ecl-rating-field__icon-outline\" size=\"m\"> </ecl-icon>\n </label>\n</ng-container>\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclRatingFieldComponent } from './ecl-rating-field.component';\nimport { EclIconComponentModule } from '../ecl-icon';\n\nconst COMPONENTS = [EclRatingFieldComponent];\n\n@NgModule({\n imports: [CommonModule, EclIconComponentModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclRatingFieldComponentModule {}\n", "import { Component, HostBinding, Input } from '@angular/core';\nimport { coerceBoolean } from '@eui/base';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n selector: 'ecl-range-value',\n templateUrl: './ecl-range-value.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclRangeValueComponent extends ECLBaseDirective {\n @Input() value: number;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-range__value')].join(' ').trim();\n }\n}\n", "{{ 'ecl.common.VALUE' | translate }}: <span class=\"ecl-range__value-current\"> {{ value }} </span>\n", "import { Directive, EventEmitter, HostBinding, HostListener, Input, OnInit, Optional, Output, Self, ViewContainerRef } from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { coerceBoolean } from '@eui/base';\nimport { distinctUntilChanged } from 'rxjs';\nimport { EclBaseEvent } from '../../model/ecl-base.event';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclRangeValueComponent } from './ecl-range-value.component';\n\nexport class EclRangeEvent extends EclBaseEvent {\n constructor(public value: number) {\n super();\n }\n}\n\n@Directive({\n selector: 'input[eclRange]',\n})\nexport class EclRangeDirective extends ECLBaseDirective implements OnInit {\n @Input() eclSize = 'm';\n @Input() value: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() hasValueLabel: boolean | any = true;\n\n @Output() rangeChange = new EventEmitter<EclRangeEvent>();\n\n private rangeValueComponent: EclRangeValueComponent;\n\n constructor(\n private viewContainerRef: ViewContainerRef,\n @Optional() @Self() protected ngControl: NgControl,\n ) {\n super();\n }\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-range'), this.eclSize ? `ecl-range--${this.eclSize}` : ''].join(' ').trim();\n }\n\n ngOnInit(): void {\n this.createRangeValueComponent();\n this.initializeRangeValueComponent();\n this.observeReactiveFormValueChanges();\n }\n\n @HostListener('input', ['$event'])\n onInput(evt: InputEvent): void {\n if (!this.ngControl) {\n const target = evt.target as HTMLInputElement;\n this.updateRangeValue(target.value);\n }\n }\n\n private createRangeValueComponent(): void {\n const componentRef = this.viewContainerRef.createComponent(EclRangeValueComponent);\n this.rangeValueComponent = componentRef.instance;\n }\n\n private initializeRangeValueComponent(): void {\n const initialValue = this.ngControl ? this.ngControl.value : this.value;\n this.updateRangeValue(initialValue);\n }\n\n private observeReactiveFormValueChanges(): void {\n this.ngControl?.valueChanges.pipe(distinctUntilChanged()).subscribe((value: string) => {\n this.updateRangeValue(value);\n });\n }\n\n private updateRangeValue(value: string): void {\n const numberValue = parseInt(value, 10);\n\n this.rangeValueComponent.value = numberValue;\n this.rangeChange.next(new EclRangeEvent(numberValue));\n }\n}\n", "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclRangeValueComponent } from './ecl-range-value.component';\nimport { EclRangeDirective } from './ecl-range.directive';\n\nconst COMPONENTS = [EclRangeDirective, EclRangeValueComponent];\n\n@NgModule({\n imports: [CommonModule, TranslateModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclRangeDirectiveModule {}\n", "import { Component, HostBinding, Input } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n selector: 'ecl-select-container',\n templateUrl: './ecl-select-container.component.html',\n})\nexport class EclSelectContainerComponent extends ECLBaseDirective {\n @Input() eclSize = 'm';\n @Input() disabled: boolean;\n @Input() isInvalid: boolean;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-select__container'),\n this.eclSize ? `ecl-select__container--${this.eclSize}` : '',\n this.disabled ? 'ecl-select__container--disabled' : '',\n this.isInvalid ? 'ecl-select__container--invalid' : '',\n ]\n .join(' ')\n .trim();\n }\n}\n", "<div class=\"ecl-select__icon\">\n <ecl-icon icon=\"corner-arrow\" size=\"s\" transform=\"rotate-180\" class=\"ecl-select__icon-shape\"> </ecl-icon>\n</div>\n", "import { Directive, DoCheck, ElementRef, HostBinding, Input, OnInit, Optional, Self, ViewContainerRef } from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { coerceBoolean } from '@eui/base';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclSelectContainerComponent } from './ecl-select-container.component';\n\n@Directive({\n selector: 'select[eclSelect]',\n})\nexport class EclSelectDirective extends ECLBaseDirective implements OnInit, DoCheck {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() @HostBinding('attr.disabled') disabled: boolean | any = false;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isInvalid: boolean | any = false;\n @Input() eclSize = 'm';\n\n private containerComponent: EclSelectContainerComponent;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-select')].join(' ').trim();\n }\n\n @HostBinding('attr.disabled')\n get isDisabled(): boolean {\n if (this.ngControl) {\n return this.ngControl.disabled || null;\n } else {\n return this.disabled || null;\n }\n }\n\n @HostBinding('class.ecl-select--invalid')\n get isInvalidState(): boolean {\n if (this.ngControl) {\n return this.ngControl.status === 'INVALID' && this.ngControl.touched;\n } else {\n return this.isInvalid;\n }\n }\n\n constructor(\n @Optional() @Self() private ngControl: NgControl,\n private el: ElementRef,\n private viewContainerRef: ViewContainerRef,\n ) {\n super();\n }\n\n ngOnInit(): void {\n const containerComponentRef = this.viewContainerRef.createComponent(EclSelectContainerComponent);\n\n this.containerComponent = containerComponentRef.instance;\n this.containerComponent.eclSize = this.eclSize;\n this.containerComponent.disabled = this.isDisabled;\n this.containerComponent.isInvalid = this.isInvalidState;\n\n containerComponentRef.location.nativeElement.prepend(this.el.nativeElement);\n }\n\n ngDoCheck(): void {\n this.containerComponent.eclSize = this.eclSize;\n this.containerComponent.disabled = this.isDisabled;\n this.containerComponent.isInvalid = this.isInvalidState;\n }\n}\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclIconComponentModule } from '../ecl-icon/ecl-icon.module';\nimport { EclSelectDirective } from './ecl-select.directive';\nimport { EclSelectContainerComponent } from './ecl-select-container.component';\n\nconst COMPONENTS = [EclSelectDirective, EclSelectContainerComponent];\n\n@NgModule({\n imports: [CommonModule, EclIconComponentModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclSelectDirectiveModule {}\n", "import { Directive, HostBinding, Input } from '@angular/core';\nimport { coerceBoolean } from '@eui/base';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\n\n@Directive({\n selector: '[eclSiteFooterSection]',\n})\nexport class EclSiteFooterSectionDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-site-footer__section') cmpClass = true;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() @HostBinding('class.ecl-site-footer__section--condensed') isCondensed: boolean | any = false;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() @HostBinding('class.ecl-site-footer__section--site-info') isSiteInfo: boolean | any = false;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() @HostBinding('class.ecl-site-footer__section--split-list') isSplitList: boolean | any = false;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @HostBinding('class.ecl-site-footer__section--separator') @Input() hasSeparator: boolean | any = false;\n}\n", "import { Directive, HostBinding, Input } from '@angular/core';\nimport { coerceBoolean } from '@eui/base';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\n\n@Directive({\n selector: '[eclSiteFooterTitle]',\n})\nexport class EclSiteFooterTitleDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-site-footer__title') cmpClass = true;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() @HostBinding('class.ecl-site-footer__title--separator') isSeparator: boolean | any = false;\n}\n\n@Directive({\n selector: '[eclSiteFooterTitleLink]',\n})\nexport class EclSiteFooterTitleLinkDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-site-footer__title-link') cmpClass = true;\n}\n", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\n\n@Directive({\n selector: '[eclSiteFooterDescription]',\n})\nexport class EclSiteFooterDescriptionDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-site-footer__description') cmpClass = true;\n}\n", "import { Directive, HostBinding, Input } from '@angular/core';\nimport { coerceBoolean } from '@eui/base';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\n\n@Directive({\n selector: '[eclSiteFooterList]',\n})\nexport class EclSiteFooterListDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-site-footer__list') cmpClass = true;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() @HostBinding('class.ecl-site-footer__list--inline') isInline: boolean | any;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() @HostBinding('class.ecl-site-footer__list--columns') isColumns: boolean | any;\n}\n\n@Directive({\n selector: '[eclSiteFooterListItem]',\n})\nexport class EclSiteFooterListItemDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-site-footer__list-item') cmpClass = true;\n}\n\n@Directive({\n selector: '[eclSiteFooterLogoList]',\n})\nexport class EclSiteFooterLogoListDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-site-footer__logo-list') cmpClass = true;\n}\n\n@Directive({\n selector: '[eclSiteFooterLogoItem]',\n})\nexport class EclSiteFooterLogoItemDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-site-footer__logo-item') cmpClass = true;\n}\n\n@Directive({\n selector: '[eclSiteFooterLogo]',\n})\nexport class EclSiteFooterLogoDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-site-footer__logo') cmpClass = true;\n}\n", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\n\n@Directive({\n selector: '[eclSiteFooterLink]',\n})\nexport class EclSiteFooterLinkDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-site-footer__link') className = true;\n}\n\n@Directive({\n selector: '[eclSiteFooterLogoLink]',\n})\nexport class EclSiteFooterLogoLinkDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-site-footer__logo-link') className = true;\n}\n\n/**\n * @deprecated To be removed in v18\n */\n@Directive({\n selector: '[eclSiteFooterLogoImageDesktop]',\n})\nexport class EclSiteFooterLogoImageDesktopDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-site-footer__logo-image-desktop') className = true;\n}\n\n@Directive({\n selector: 'img[eclSiteFooterLogoImage]',\n})\nexport class EclSiteFooterLogoImageDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-site-footer__logo-image') className = true;\n}\n\n@Directive({\n selector: 'picture[eclSiteFooterPicture]',\n})\nexport class EclSiteFooterPictureDirective extends ECLBaseDirective {\n @HostBinding('class') classNames = 'ecl-picture ecl-site-footer__picture';\n}\n", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\n\n@Directive({\n selector: '[eclSiteFooterColumn]',\n})\nexport class EclSiteFooterColumnDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-site-footer__column') cmpClass = true;\n}\n\n@Directive({\n selector: '[eclSiteFooterRow]',\n})\nexport class EclSiteFooterRowDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-site-footer__row') cmpClass = true;\n}\n\n@Directive({\n selector: '[eclSiteFooterContent]',\n})\nexport class EclSiteFooterContentDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-site-footer__content') cmpClass = true;\n}\n", "import { Component, Input } from '@angular/core';\nimport { coerceBoolean } from '@eui/base';\nimport { TranslateService } from '@ngx-translate/core';\nimport { EclLanguageService } from '../../../../services';\nimport { ECLBaseDirective } from '../../../ecl-base.directive';\n\n@Component({\n selector: 'ecl-site-footer-fixed-content-ec',\n templateUrl: './ecl-site-footer-fixed-content.component.html',\n})\nexport class EclSiteFooterFixedContentECComponent extends ECLBaseDirective {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Input() @coerceBoolean isCore: boolean | any = false;\n @Input() languageCode: string;\n @Input() ecLogoLanguageCode: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Input() content: any;\n\n constructor(\n protected translateService: TranslateService,\n protected eclLanguageService: EclLanguageService,\n ) {\n super();\n }\n}\n", "<ng-container *ngIf=\"isCore\">\n <div eclSiteFooterRow>\n <div eclSiteFooterColumn>\n <div eclSiteFooterSection>\n <a\n eclLink\n routerLink=\"/\"\n variant=\"standalone\"\n class=\"ecl-site-footer__logo-link\"\n [attr.aria-label]=\"'ecl.footer.EUROPEAN-COMMISSION' | translate\">\n <picture eclSiteFooterPicture [attr.title]=\"'ecl.footer.EUROPEAN-COMMISSION' | translate\">\n <source\n srcset=\"assets/images/ecl/ec/logo/negative/logo-ec--{{ ecLogoLanguageCode }}.svg\"\n media=\"(min-width: 996px)\" />\n <img\n eclSiteFooterLogoImage\n src=\"assets/images/ecl/ec/logo/negative/logo-ec--{{ ecLogoLanguageCode }}.svg\"\n alt=\"European Commission logo\" />\n </picture>\n </a>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n </div>\n\n <div eclSiteFooterColumn>\n <div eclSiteFooterSection [hasSeparator]=\"true\">\n <ul eclSiteFooterList [isColumns]=\"true\">\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.STRATEGY' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/strategy-and-policy_{{ languageCode }}\">\n {{ 'ecl.footer.STRATEGY' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.ABOUT-EUROPEAN-COMMISSION' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/about-european-commission_{{ languageCode }}\">\n {{ 'ecl.footer.ABOUT-EUROPEAN-COMMISSION' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.BUSINESS-ECONOMY-EURO' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/business-economy-euro_{{ languageCode }}\">\n {{ 'ecl.footer.BUSINESS-ECONOMY-EURO' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.LIVE-WORK-TRAVEL' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/live-work-travel-eu_{{ languageCode }}\">\n {{ 'ecl.footer.LIVE-WORK-TRAVEL' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.LAW' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/law_{{ languageCode }}\">\n {{ 'ecl.footer.LAW' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.FUNDING-TENDERS' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/funding-tenders_{{ languageCode }}\">\n {{ 'ecl.footer.FUNDING-TENDERS' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.RESEARCH-INNOVATION' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/research-and-innovation_{{ languageCode }}\">\n {{ 'ecl.footer.RESEARCH-INNOVATION' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.ENERGY-CLIMATE' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/energy-climate-change-environment_{{ languageCode }}\">\n {{ 'ecl.footer.ENERGY-CLIMATE' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.EDUCATION' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/education_{{ languageCode }}\">\n {{ 'ecl.footer.EDUCATION' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.AID-DEVELOPMENT' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/aid-development-cooperation-fundamental-rights_{{ languageCode }}\">\n {{ 'ecl.footer.AID-DEVELOPMENT' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.FOOD' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/food-farming-fisheries_{{ languageCode }}\">\n {{ 'ecl.footer.FOOD' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.EU-REGIONAL' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/eu-regional-and-urban-development_{{ languageCode }}\">\n {{ 'ecl.footer.EU-REGIONAL' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.JOBS' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/jobs-european-commission_{{ languageCode }}\">\n {{ 'ecl.footer.JOBS' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.STATS' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/statistics_{{ languageCode }}\">\n {{ 'ecl.footer.STATS' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.NEWS' | translate\"\n variant=\"standalone\"\n href=\"https://ec.europa.eu/commission/presscorner/home/{{ languageCode }}\">\n {{ 'ecl.footer.NEWS' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.EVENTS' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/events_{{ languageCode }}\">\n {{ 'ecl.footer.EVENTS' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.PUBLICATIONS' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/publications_{{ languageCode }}\">\n {{ 'ecl.footer.PUBLICATIONS' | translate }}\n </a>\n </li>\n </ul>\n </div>\n\n <div eclSiteFooterSection>\n <ul eclSiteFooterList>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.ABOUT-COMMISSION-WEB-PRESENCE' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/about-european-commissions-web-presence_{{ languageCode }}\">\n {{ 'ecl.footer.ABOUT-COMMISSION-WEB-PRESENCE' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.CONTACT-EC' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/about-european-commission/contact_{{ languageCode }}\">\n {{ 'ecl.footer.CONTACT-EC' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.ACCESSIBILITY' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/web-accessibility-policy_{{ languageCode }}\">\n {{ 'ecl.footer.ACCESSIBILITY' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.FOLLOW-EUROPEAN-COMMISSION-SOCIAL-MEDIA' | translate\"\n variant=\"standalone\"\n href=\"https://europa.eu/european-union/contact/social-networks_{{ languageCode }}#n:+i:4+e:1+t:+s\">\n {{ 'ecl.footer.FOLLOW-EUROPEAN-COMMISSION-SOCIAL-MEDIA' | translate }}\n <ecl-icon icon=\"external\" size=\"2xs\"></ecl-icon>\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.RESOURCES-FOR-PARTNERS' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/resources-partners_{{ languageCode }}\">\n {{ 'ecl.footer.RESOURCES-FOR-PARTNERS' | translate }}\n </a>\n </li>\n </ul>\n </div>\n\n <div eclSiteFooterSection>\n <ul eclSiteFooterList>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.LANGUAGES-OUR-WEBSITES' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/languages-our-websites_{{ languageCode }}\">\n {{ 'ecl.footer.LANGUAGES-OUR-WEBSITES' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.COOKIES' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/cookies_{{ languageCode }}\">\n {{ 'ecl.footer.COOKIES' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.PRIVACY-POLICY' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/privacy-policy_{{ languageCode }}\">\n {{ 'ecl.footer.PRIVACY-POLICY' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.LEGAL-NOTICE' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/legal-notice_{{ languageCode }}\">\n {{ 'ecl.footer.LEGAL-NOTICE' | translate }}\n </a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"!isCore\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n\n <div eclSiteFooterRow>\n <div eclSiteFooterColumn>\n <div eclSiteFooterSection>\n <a\n eclLink\n href=\"https://commission.europa.eu/index_{{ languageCode }}\"\n eclSiteFooterLogoLink\n variant=\"standalone\"\n [attr.aria-label]=\"'ecl.footer.EUROPEAN-COMMISSION' | translate\">\n <picture eclSiteFooterPicture [attr.title]=\"'ecl.footer.EUROPEAN-COMMISSION' | translate\">\n <source\n srcset=\"assets/images/ecl/ec/logo/negative/logo-ec--{{ ecLogoLanguageCode }}.svg\"\n media=\"(min-width: 996px)\" />\n <img\n eclSiteFooterLogoImage\n src=\"assets/images/ecl/ec/logo/negative/logo-ec--{{ ecLogoLanguageCode }}.svg\"\n alt=\"European Commission logo\" />\n </picture>\n </a>\n <h2 eclSiteFooterTitle>\n <a eclLink variant=\"standalone\" href=\"https://commission.europa.eu/index_{{ languageCode }}\" eclSiteFooterTitleLink>\n {{ 'ecl.footer.EUROPEAN-COMMISSION' | translate }}\n </a>\n </h2>\n </div>\n </div>\n <div eclSiteFooterColumn>\n <div eclSiteFooterSection [isSplitList]=\"true\">\n <ul eclSiteFooterList>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.CONTACT-EC' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/about-european-commission/contact_{{ languageCode }}\">\n {{ 'ecl.footer.CONTACT-EC' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.FOLLOW-EUROPEAN-COMMISSION-SOCIAL-MEDIA' | translate\"\n variant=\"standalone\"\n href=\"https://europa.eu/european-union/contact/social-networks_{{ languageCode }}\">\n {{ 'ecl.footer.FOLLOW-EUROPEAN-COMMISSION-SOCIAL-MEDIA' | translate }}\n <ecl-icon icon=\"external\" size=\"2xs\"></ecl-icon>\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.RESOURCES-FOR-PARTNERS' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/resources-partners_{{ languageCode }}\">\n {{ 'ecl.footer.RESOURCES-FOR-PARTNERS' | translate }}\n </a>\n </li>\n </ul>\n </div>\n </div>\n <div eclSiteFooterColumn>\n <div eclSiteFooterSection [isSplitList]=\"true\">\n <ul eclSiteFooterList>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.LANGUAGE-POLICY' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/language-policy_{{ languageCode }}\">\n {{ 'ecl.footer.LANGUAGE-POLICY' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.COOKIES' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/cookies_{{ languageCode }}\">\n {{ 'ecl.footer.COOKIES' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.PRIVACY-POLICY' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/privacy-policy_{{ languageCode }}\">\n {{ 'ecl.footer.PRIVACY-POLICY' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.LEGAL-NOTICE' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/legal-notice_{{ languageCode }}\">\n {{ 'ecl.footer.LEGAL-NOTICE' | translate }}\n </a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n</ng-container>\n", "import { Component, Input } from '@angular/core';\nimport { coerceBoolean } from '@eui/base';\nimport { TranslateService } from '@ngx-translate/core';\nimport { EclLanguageService } from '../../../../services';\nimport { ECLBaseDirective } from '../../../ecl-base.directive';\n\n@Component({\n selector: 'ecl-site-footer-fixed-content-eu',\n templateUrl: './ecl-site-footer-fixed-content.component.html',\n})\nexport class EclSiteFooterFixedContentEUComponent extends ECLBaseDirective {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Input() @coerceBoolean isCore: boolean | any = false;\n @Input() languageCode: string;\n @Input() ecLogoLanguageCode: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Input() content: any;\n\n private readonly availableLanguagesForLinkEib: string[] = ['fr', 'de', 'en'];\n private readonly defaultLanguage: string = 'en';\n\n constructor(\n protected translateService: TranslateService,\n protected eclLanguageService: EclLanguageService,\n ) {\n super();\n }\n\n getSupportedLanguageForLinkEib(): string {\n if (this.availableLanguagesForLinkEib.includes(this.languageCode)) {\n return this.languageCode;\n } else {\n return this.defaultLanguage;\n }\n }\n}\n", "<ng-container *ngIf=\"isCore\">\n <div eclSiteFooterRow>\n <div eclSiteFooterColumn>\n <div eclSiteFooterSection>\n <a\n eclLink\n routerLink=\"/\"\n variant=\"standalone\"\n eclSiteFooterLogoLink\n [attr.aria-label]=\"'ecl.footer.EUROPEAN-UNION' | translate\">\n <picture eclSiteFooterPicture [attr.title]=\"'ecl.footer.EUROPEAN-UNION' | translate\">\n <source\n srcset=\"./assets/images/ecl/eu/logo/standard-version/positive/logo-eu--{{ ecLogoLanguageCode }}.svg\"\n media=\"(min-width: 996px)\" />\n <img\n eclSiteFooterLogoImage\n src=\"./assets/images/ecl/eu/logo/condensed-version/positive/logo-eu--{{ ecLogoLanguageCode }}.svg\"\n alt=\"European Union logo\" />\n </picture>\n </a>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n </div>\n\n <div eclSiteFooterColumn>\n <div eclSiteFooterSection [hasSeparator]=\"true\">\n <h2 eclSiteFooterTitle isSeparator>\n {{ 'ecl.footer.CONTACT-EU' | translate }}\n </h2>\n <ul eclSiteFooterList [isColumns]=\"true\">\n <li eclSiteFooterListItem>\n {{ 'ecl.footer.CALL-US' | translate }}\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.STRATEGY' | translate\"\n variant=\"standalone\"\n href=\"tel:0080067891011\">\n 00 800 6 7 8 9 10 11\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.USE-OTHER-TELEPHONE-OPTIONS' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/contact-eu/call-us_{{ languageCode }}\">\n {{ 'ecl.footer.USE-OTHER-TELEPHONE-OPTIONS' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.WRITE-TO-US' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/contact-eu/write-us_{{ languageCode }}\">\n {{ 'ecl.footer.WRITE-TO-US' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.MEET-US' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/contact-eu/meet-us_{{ languageCode }}\">\n {{ 'ecl.footer.MEET-US' | translate }}\n </a>\n </li>\n </ul>\n </div>\n <div eclSiteFooterSection [hasSeparator]=\"true\">\n <h2 eclSiteFooterTitle isSeparator>\n {{ 'ecl.footer.SOCIAL-MEDIA' | translate }}\n </h2>\n <ul eclSiteFooterList [isColumns]=\"true\">\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.SEARCH-FOR-EU-SOCIAL-MEDIA' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/contact-eu/social-media-channels_{{ languageCode }}\">\n {{ 'ecl.footer.SEARCH-FOR-EU-SOCIAL-MEDIA' | translate }}\n </a>\n </li>\n </ul>\n </div>\n <div eclSiteFooterSection [hasSeparator]=\"true\">\n <h2 eclSiteFooterTitle isSeparator>\n {{ 'ecl.footer.LEGAL' | translate }}\n </h2>\n <ul eclSiteFooterList [isColumns]=\"true\">\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.LANGUAGES' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/languages-our-websites_{{ languageCode }}\">\n {{ 'ecl.footer.LANGUAGES' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.PRIVACY-POLICY' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/privacy-policy_{{ languageCode }}\">\n {{ 'ecl.footer.PRIVACY-POLICY' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.LEGAL-NOTICE' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/legal-notice_{{ languageCode }}\">\n {{ 'ecl.footer.LEGAL-NOTICE' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.COOKIES' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/cookies_{{ languageCode }}\">\n {{ 'ecl.footer.COOKIES' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.ACCESSIBILITY' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/web-accessibility-policy_{{ languageCode }}\">\n {{ 'ecl.footer.ACCESSIBILITY' | translate }}\n </a>\n </li>\n </ul>\n </div>\n </div>\n <div eclSiteFooterColumn>\n <div eclSiteFooterSection [hasSeparator]=\"true\">\n <h2 eclSiteFooterTitle isSeparator>\n {{ 'ecl.footer.EU-INSTITUTIONS' | translate }}\n </h2>\n <ul eclSiteFooterList [isColumns]=\"true\">\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.EUROPEAN-PARLIAMENT' | translate\"\n variant=\"standalone\"\n href=\"http://www.europarl.europa.eu/portal/{{ languageCode }}\">\n {{ 'ecl.footer.EUROPEAN-PARLIAMENT' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.EUROPEAN-COUNCIL' | translate\"\n variant=\"standalone\"\n href=\"http://www.consilium.europa.eu/{{ languageCode }}/european-council/\">\n {{ 'ecl.footer.EUROPEAN-COUNCIL' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.COUNCIL-EU' | translate\"\n variant=\"standalone\"\n href=\"http://www.consilium.europa.eu/{{ languageCode }}/home/\">\n {{ 'ecl.footer.COUNCIL-EU' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.EUROPEAN-COMMISSION' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/index_{{ languageCode }}\">\n {{ 'ecl.footer.EUROPEAN-COMMISSION' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.COURT-OF-JUSTICE' | translate\"\n variant=\"standalone\"\n href=\"http://curia.europa.eu/jcms/jcms/j_6/{{ languageCode }}\">\n {{ 'ecl.footer.COURT-OF-JUSTICE' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.ECB' | translate\"\n variant=\"standalone\"\n href=\"https://www.ecb.europa.eu/home/languagepolicy/html/index.{{ languageCode }}.html\">\n {{ 'ecl.footer.ECB' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.ECA' | translate\"\n variant=\"standalone\"\n href=\"http://www.eca.europa.eu/{{ languageCode }}\">\n {{ 'ecl.footer.ECA' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.EEAS' | translate\"\n variant=\"standalone\"\n href=\"https://eeas.europa.eu/headquarters/headquarters-homepage_{{ languageCode }}\">\n {{ 'ecl.footer.EEAS' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.EESC' | translate\"\n variant=\"standalone\"\n href=\"http://www.eesc.europa.eu/?i=portal.{{ languageCode }}.home\">\n {{ 'ecl.footer.EESC' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.COR' | translate\"\n variant=\"standalone\"\n href=\"http://cor.europa.eu/{{ languageCode }}\">\n {{ 'ecl.footer.COR' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.EIB' | translate\"\n variant=\"standalone\"\n href=\"https://www.eib.org/{{ getSupportedLanguageForLinkEib() }}/index.htm\">\n {{ 'ecl.footer.EIB' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.OMBUDSMAN' | translate\"\n variant=\"standalone\"\n href=\"https://www.ombudsman.europa.eu/{{ languageCode }}/home\">\n {{ 'ecl.footer.OMBUDSMAN' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.EDPS' | translate\"\n variant=\"standalone\"\n href=\"https://secure.edps.europa.eu/EDPSWEB/edps/EDPS?lang={{ languageCode }}\">\n {{ 'ecl.footer.EDPS' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.DATA-PROTECTION-BOARD' | translate\"\n variant=\"standalone\"\n href=\"https://edpb.europa.eu/edpb_{{ languageCode }}\">\n {{ 'ecl.footer.DATA-PROTECTION-BOARD' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.PERSONNEL-SELECTION-OFFICE' | translate\"\n variant=\"standalone\"\n href=\"https://epso.europa.eu/{{ languageCode }}\">\n {{ 'ecl.footer.PERSONNEL-SELECTION-OFFICE' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.PUBLICATIONS-OFFICE' | translate\"\n variant=\"standalone\"\n href=\"https://op.europa.eu/{{ languageCode }}/home\">\n {{ 'ecl.footer.PUBLICATIONS-OFFICE' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.AGENCIES' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/institutions-law-budget/institutions-and-bodies/search-all-eu-institutions-and-bodies_{{\n languageCode\n }}?f%5B0%5D=oe_organisation_eu_type%3Ahttp%3A//publications.europa.eu/resource/authority/corporate-body-classification/AGENCY_DEC&f%5B1%5D=oe_organisation_eu_type%3Ahttp%3A//publications.europa.eu/resource/authority/corporate-body-classification/AGENCY_EXEC&f%5B2%5D=oe_organisation_eu_type%3Ahttp%3A//publications.europa.eu/resource/authority/corporate-body-classification/EU_JU\">\n {{ 'ecl.footer.AGENCIES' | translate }}\n </a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"!isCore\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n\n <div eclSiteFooterRow>\n <div eclSiteFooterColumn>\n <div eclSiteFooterSection>\n <a\n eclLink\n routerLink=\"/\"\n variant=\"standalone\"\n class=\"ecl-site-footer__logo-link\"\n [attr.aria-label]=\"'ecl.footer.EUROPEAN-UNION' | translate\">\n <picture eclSiteFooterPicture [attr.title]=\"'ecl.footer.EUROPEAN-UNION' | translate\">\n <source\n srcset=\"./assets/images/ecl/eu/logo/standard-version/positive/logo-eu--{{ ecLogoLanguageCode }}.svg\"\n media=\"(min-width: 996px)\" />\n <img\n eclSiteFooterLogoImage\n src=\"./assets/images/ecl/eu/logo/condensed-version/positive/logo-eu--{{ ecLogoLanguageCode }}.svg\"\n alt=\"European Union logo\" />\n </picture>\n </a>\n </div>\n </div>\n\n <div eclSiteFooterColumn>\n <div eclSiteFooterSection [hasSeparator]=\"true\">\n <h2 eclSiteFooterTitle isSeparator>\n {{ 'ecl.footer.CONTACT-EU' | translate }}\n </h2>\n <ul eclSiteFooterList [isColumns]=\"true\">\n <li eclSiteFooterListItem>\n {{ 'ecl.footer.CALL-US' | translate }}\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.STRATEGY' | translate\"\n variant=\"standalone\"\n href=\"tel:0080067891011\">\n 00 800 6 7 8 9 10 11\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.USE-OTHER-TELEPHONE-OPTIONS' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/contact-eu/call-us_{{ languageCode }}\">\n {{ 'ecl.footer.USE-OTHER-TELEPHONE-OPTIONS' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.WRITE-TO-US' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/contact-eu/write-us_{{ languageCode }}\">\n {{ 'ecl.footer.WRITE-TO-US' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.MEET-US' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/contact-eu/meet-us_{{ languageCode }}\">\n {{ 'ecl.footer.MEET-US' | translate }}\n </a>\n </li>\n </ul>\n </div>\n <div eclSiteFooterSection [hasSeparator]=\"true\">\n <h2 eclSiteFooterTitle isSeparator>\n {{ 'ecl.footer.SOCIAL-MEDIA' | translate }}\n </h2>\n <ul eclSiteFooterList [isColumns]=\"true\">\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.SEARCH-FOR-EU-SOCIAL-MEDIA' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/contact-eu/social-media-channels_{{ languageCode }}\">\n {{ 'ecl.footer.SEARCH-FOR-EU-SOCIAL-MEDIA' | translate }}\n </a>\n </li>\n </ul>\n </div>\n <div eclSiteFooterSection [hasSeparator]=\"true\">\n <h2 eclSiteFooterTitle isSeparator>\n {{ 'ecl.footer.LEGAL' | translate }}\n </h2>\n <ul eclSiteFooterList [isColumns]=\"true\">\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.LANGUAGES' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/languages-our-websites_{{ languageCode }}\">\n {{ 'ecl.footer.LANGUAGES' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.PRIVACY-POLICY' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/privacy-policy_{{ languageCode }}\">\n {{ 'ecl.footer.PRIVACY-POLICY' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.LEGAL-NOTICE' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/legal-notice_{{ languageCode }}\">\n {{ 'ecl.footer.LEGAL-NOTICE' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.COOKIES' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/cookies_{{ languageCode }}\">\n {{ 'ecl.footer.COOKIES' | translate }}\n </a>\n </li>\n </ul>\n </div>\n </div>\n <div eclSiteFooterColumn>\n <div eclSiteFooterSection [hasSeparator]=\"true\">\n <h2 eclSiteFooterTitle isSeparator>\n {{ 'ecl.footer.EU-INSTITUTIONS' | translate }}\n </h2>\n <ul eclSiteFooterList [isColumns]=\"true\">\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.EUROPEAN-PARLIAMENT' | translate\"\n variant=\"standalone\"\n href=\"http://www.europarl.europa.eu/portal/{{ languageCode }}\">\n {{ 'ecl.footer.EUROPEAN-PARLIAMENT' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.EUROPEAN-COUNCIL' | translate\"\n variant=\"standalone\"\n href=\"http://www.consilium.europa.eu/{{ languageCode }}/european-council/\">\n {{ 'ecl.footer.EUROPEAN-COUNCIL' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.COUNCIL-EU' | translate\"\n variant=\"standalone\"\n href=\"http://www.consilium.europa.eu/{{ languageCode }}/home/\">\n {{ 'ecl.footer.COUNCIL-EU' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.EUROPEAN-COMMISSION' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/index_{{ languageCode }}\">\n {{ 'ecl.footer.EUROPEAN-COMMISSION' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.COURT-OF-JUSTICE' | translate\"\n variant=\"standalone\"\n href=\"http://curia.europa.eu/jcms/jcms/j_6/{{ languageCode }}\">\n {{ 'ecl.footer.COURT-OF-JUSTICE' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.ECB' | translate\"\n variant=\"standalone\"\n href=\"https://www.ecb.europa.eu/home/languagepolicy/html/index.{{ languageCode }}.html\">\n {{ 'ecl.footer.ECB' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.ECA' | translate\"\n variant=\"standalone\"\n href=\"http://www.eca.europa.eu/{{ languageCode }}\">\n {{ 'ecl.footer.ECA' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.EEAS' | translate\"\n variant=\"standalone\"\n href=\"https://eeas.europa.eu/headquarters/headquarters-homepage_{{ languageCode }}\">\n {{ 'ecl.footer.EEAS' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.EESC' | translate\"\n variant=\"standalone\"\n href=\"http://www.eesc.europa.eu/?i=portal.{{ languageCode }}.home\">\n {{ 'ecl.footer.EESC' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.COR' | translate\"\n variant=\"standalone\"\n href=\"http://cor.europa.eu/{{ languageCode }}\">\n {{ 'ecl.footer.COR' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.EIB' | translate\"\n variant=\"standalone\"\n href=\"https://www.eib.org/{{ getSupportedLanguageForLinkEib() }}/index.htm\">\n {{ 'ecl.footer.EIB' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.OMBUDSMAN' | translate\"\n variant=\"standalone\"\n href=\"https://www.ombudsman.europa.eu/{{ languageCode }}/home\">\n {{ 'ecl.footer.OMBUDSMAN' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.EDPS' | translate\"\n variant=\"standalone\"\n href=\"https://secure.edps.europa.eu/EDPSWEB/edps/EDPS?lang={{ languageCode }}\">\n {{ 'ecl.footer.EDPS' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.DATA-PROTECTION-BOARD' | translate\"\n variant=\"standalone\"\n href=\"https://edpb.europa.eu/edpb_{{ languageCode }}\">\n {{ 'ecl.footer.DATA-PROTECTION-BOARD' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.PERSONNEL-SELECTION-OFFICE' | translate\"\n variant=\"standalone\"\n href=\"https://epso.europa.eu/{{ languageCode }}\">\n {{ 'ecl.footer.PERSONNEL-SELECTION-OFFICE' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.PUBLICATIONS-OFFICE' | translate\"\n variant=\"standalone\"\n href=\"https://op.europa.eu/{{ languageCode }}/home\">\n {{ 'ecl.footer.PUBLICATIONS-OFFICE' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.AGENCIES' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/institutions-law-budget/institutions-and-bodies/search-all-eu-institutions-and-bodies_{{\n languageCode\n }}?f%5B0%5D=oe_organisation_eu_type%3Ahttp%3A//publications.europa.eu/resource/authority/corporate-body-classification/AGENCY_DEC&f%5B1%5D=oe_organisation_eu_type%3Ahttp%3A//publications.europa.eu/resource/authority/corporate-body-classification/AGENCY_EXEC&f%5B2%5D=oe_organisation_eu_type%3Ahttp%3A//publications.europa.eu/resource/authority/corporate-body-classification/EU_JU\">\n {{ 'ecl.footer.AGENCIES' | translate }}\n </a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n</ng-container>\n", "import { Component, HostBinding, Input } from '@angular/core';\nimport { coerceBoolean } from '@eui/base';\nimport { LangChangeEvent, TranslateService } from '@ngx-translate/core';\nimport { EclLanguageService, EclThemeService } from '../../services';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n selector: 'ecl-site-footer',\n templateUrl: './ecl-site-footer.component.html',\n})\nexport class EclSiteFooterComponent extends ECLBaseDirective {\n languageCode = 'en';\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Input() @coerceBoolean isCore: boolean | any = false;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-site-footer'), this.isCore ? 'ecl-site-footer--split-columns' : ''].join(' ').trim();\n }\n\n @HostBinding('attr.role') role = 'contentinfo';\n\n constructor(\n protected translateService: TranslateService,\n protected eclLanguageService: EclLanguageService,\n public eclThemeService: EclThemeService,\n ) {\n super();\n this.handlei18nEvents();\n }\n\n getLanguageCode(): string {\n const lang = this.eclLanguageService.getEULanguageOrFallback(this.languageCode);\n\n return lang.code;\n }\n\n handlei18nEvents(): void {\n this.languageCode = this.translateService.currentLang;\n this.translateService.onLangChange.subscribe((langChangeEvent: LangChangeEvent) => {\n this.languageCode = langChangeEvent.lang;\n });\n }\n}\n", "<div class=\"ecl-container ecl-site-footer__container\">\n <ecl-site-footer-fixed-content-ec\n *ngIf=\"eclThemeService.isEC$ | async\"\n [isCore]=\"isCore\"\n [languageCode]=\"languageCode\"\n [ecLogoLanguageCode]=\"getLanguageCode()\"\n [content]=\"content\">\n </ecl-site-footer-fixed-content-ec>\n\n <ecl-site-footer-fixed-content-eu\n *ngIf=\"eclThemeService.isEU$ | async\"\n [isCore]=\"isCore\"\n [languageCode]=\"languageCode\"\n [ecLogoLanguageCode]=\"getLanguageCode()\"\n [content]=\"content\">\n </ecl-site-footer-fixed-content-eu>\n\n <ng-template #content>\n <ng-content></ng-content>\n </ng-template>\n</div>\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclLinkDirectiveModule } from '../ecl-link/ecl-link.module';\nimport { EclIconComponentModule } from '../ecl-icon/ecl-icon.module';\nimport { EclSiteFooterSectionDirective } from './ecl-footer-elements/ecl-site-footer-section.directive';\nimport { EclSiteFooterTitleDirective, EclSiteFooterTitleLinkDirective } from './ecl-footer-elements/ecl-site-footer-title.directive';\nimport { EclSiteFooterDescriptionDirective } from './ecl-footer-elements/ecl-site-footer-description.directive';\nimport {\n EclSiteFooterListDirective,\n EclSiteFooterLogoListDirective,\n EclSiteFooterLogoItemDirective,\n EclSiteFooterLogoDirective,\n EclSiteFooterListItemDirective,\n} from './ecl-footer-elements/ecl-site-footer-list.directive';\nimport {\n EclSiteFooterLinkDirective,\n EclSiteFooterLogoLinkDirective,\n EclSiteFooterLogoImageDesktopDirective,\n EclSiteFooterPictureDirective,\n EclSiteFooterLogoImageDirective,\n} from './ecl-footer-elements/ecl-site-footer-link.directive';\nimport {\n EclSiteFooterColumnDirective,\n EclSiteFooterRowDirective,\n EclSiteFooterContentDirective,\n} from './ecl-footer-elements/ecl-site-footer-column.directive';\nimport { EclSiteFooterComponent } from './ecl-site-footer.component';\nimport { EclSiteFooterFixedContentECComponent, EclSiteFooterFixedContentEUComponent } from './ecl-footer-elements';\n\nconst COMPONENTS = [\n EclSiteFooterFixedContentECComponent,\n EclSiteFooterFixedContentEUComponent,\n EclSiteFooterComponent,\n EclSiteFooterSectionDirective,\n EclSiteFooterTitleDirective,\n EclSiteFooterDescriptionDirective,\n EclSiteFooterListDirective,\n EclSiteFooterLinkDirective,\n EclSiteFooterColumnDirective,\n EclSiteFooterLogoListDirective,\n EclSiteFooterLogoItemDirective,\n EclSiteFooterLogoDirective,\n EclSiteFooterListItemDirective,\n EclSiteFooterListDirective,\n EclSiteFooterRowDirective,\n EclSiteFooterContentDirective,\n EclSiteFooterTitleLinkDirective,\n EclSiteFooterLogoLinkDirective,\n EclSiteFooterLogoImageDesktopDirective,\n EclSiteFooterPictureDirective,\n EclSiteFooterLogoImageDirective,\n];\n\n@NgModule({\n imports: [CommonModule, EclLinkDirectiveModule, EclIconComponentModule, TranslateModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclSiteFooterComponentModule {}\n", "import { Component, HostBinding, Input } from '@angular/core';\nimport { coerceBoolean } from '@eui/base';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n selector: 'ecl-social-media-follow',\n templateUrl: './ecl-social-media-follow.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclSocialMediaFollowComponent extends ECLBaseDirective {\n @Input() description: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isVertical: boolean | any = false;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-social-media-follow'), this.isVertical ? 'ecl-social-media-follow--vertical' : '']\n .join(' ')\n .trim();\n }\n}\n", "<p *ngIf=\"description\" class=\"ecl-social-media-follow__description\">{{ description }}</p>\n<ul class=\"ecl-social-media-follow__list\">\n <ng-content></ng-content>\n</ul>\n", "import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { EclBaseEvent } from '../../model/ecl-base.event';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\nexport class EclSocialMediaFollowItemClickEvent extends EclBaseEvent {}\n\n@Component({\n selector: 'ecl-social-media-follow-item',\n templateUrl: './ecl-social-media-follow-item.component.html',\n})\nexport class EclSocialMediaFollowItemComponent extends ECLBaseDirective {\n @HostBinding('attr.role') role = 'listitem';\n @Input() icon: string;\n @Input() iconSet = 'social-media';\n @Input() href = '';\n @Input() target: string;\n @Input() size = 'm';\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-social-media-follow__item')].join(' ').trim();\n }\n\n @Output() itemClick = new EventEmitter<EclSocialMediaFollowItemClickEvent>();\n\n onItemClick(evt): void {\n this.itemClick.next(new EclSocialMediaFollowItemClickEvent());\n if (!this.href) {\n evt.preventDefault();\n }\n }\n}\n", "<a\n eclLink\n *ngIf=\"href\"\n (click)=\"onItemClick($event)\"\n variant=\"standalone\"\n [href]=\"href\"\n [attr.target]=\"target\"\n class=\"ecl-social-media-follow__link\">\n <ecl-icon *ngIf=\"icon\" [iconSet]=\"iconSet\" icon=\"{{ icon }}\" [size]=\"size\" class=\"ecl-social-media-follow__icon\"> </ecl-icon>\n\n <span eclLinkLabel>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </span>\n</a>\n\n<ng-container *ngIf=\"!href\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</ng-container>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", "import { Directive, HostBinding, ContentChild, AfterContentInit } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclIconComponent } from '../ecl-icon/ecl-icon.component';\n\n@Directive({\n selector: '[eclSocialMediaFollowLink]',\n})\nexport class EclSocialMediaFollowLinkDirective extends ECLBaseDirective implements AfterContentInit {\n @ContentChild(EclIconComponent) eclIcon: EclIconComponent;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-social-media-follow__link')].join(' ').trim();\n }\n\n ngAfterContentInit(): void {\n if (this.eclIcon) {\n setTimeout(() => (this.eclIcon.class = [this.eclIcon.class, 'ecl-social-media-follow__icon'].join(' ')));\n }\n }\n}\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclSocialMediaFollowComponent } from './ecl-social-media-follow.component';\nimport { EclSocialMediaFollowItemComponent } from './ecl-social-media-follow-item.component';\nimport { EclIconComponentModule } from '../ecl-icon/ecl-icon.module';\nimport { EclLinkDirectiveModule } from '../ecl-link/ecl-link.module';\nimport { EclSocialMediaFollowLinkDirective } from './ecl-social-media-follow-link.directive';\n\nconst COMPONENTS = [EclSocialMediaFollowComponent, EclSocialMediaFollowItemComponent, EclSocialMediaFollowLinkDirective];\n@NgModule({\n imports: [CommonModule, EclIconComponentModule, EclLinkDirectiveModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclSocialMediaFollowComponentModule {}\n", "import { Component, HostBinding, Input } from '@angular/core';\nimport { coerceBoolean } from '@eui/base';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n selector: 'ecl-social-media-share',\n templateUrl: './ecl-social-media-share.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclSocialMediaShareComponent extends ECLBaseDirective {\n @Input() description: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isVertical: boolean | any = false;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-social-media-share'), this.isVertical ? 'ecl-social-media-share--vertical' : ''].join(' ').trim();\n }\n}\n", "<p class=\"ecl-social-media-share__description\">{{ description }}</p>\n<ul class=\"ecl-social-media-share__list\">\n <ng-content></ng-content>\n</ul>\n", "import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { EclBaseEvent } from '../../model/ecl-base.event';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\nexport class EclSocialMediaShareItemClickEvent extends EclBaseEvent {}\n\n@Component({\n selector: 'ecl-social-media-share-item',\n templateUrl: './ecl-social-media-share-item.component.html',\n})\nexport class EclSocialMediaShareItemComponent extends ECLBaseDirective {\n @HostBinding('attr.role') role = 'listitem';\n @Input() icon: string;\n @Input() iconSet = 'social-media';\n @Input() size = 'm';\n @Input() href = '';\n @Input() target: string;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-social-media-share__item')].join(' ').trim();\n }\n\n @Output() itemClick = new EventEmitter<EclSocialMediaShareItemClickEvent>();\n\n onItemClick(evt): void {\n this.itemClick.next(new EclSocialMediaShareItemClickEvent());\n if (!this.href) {\n evt.preventDefault();\n }\n }\n}\n", "<a\n eclLink\n *ngIf=\"href\"\n (click)=\"onItemClick($event)\"\n variant=\"standalone\"\n [href]=\"href\"\n [attr.target]=\"target\"\n class=\"ecl-social-media-share__link\">\n <ecl-icon *ngIf=\"icon\" [iconSet]=\"iconSet\" icon=\"{{ icon }}\" [size]=\"size\" class=\"ecl-social-media-share__icon\"> </ecl-icon>\n\n <span eclLinkLabel>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </span>\n</a>\n\n<ng-container *ngIf=\"!href\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</ng-container>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", "import { Directive, HostBinding, ContentChild, AfterContentInit } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclIconComponent } from '../ecl-icon/ecl-icon.component';\n\n@Directive({\n selector: '[eclSocialMediaShareLink]',\n})\nexport class EclSocialMediaShareLinkDirective extends ECLBaseDirective implements AfterContentInit {\n @ContentChild(EclIconComponent) eclIcon: EclIconComponent;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-social-media-share__link')].join(' ').trim();\n }\n\n ngAfterContentInit(): void {\n if (this.eclIcon) {\n setTimeout(() => (this.eclIcon.class = [this.eclIcon.class, 'ecl-social-media-share__icon'].join(' ')));\n }\n }\n}\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclSocialMediaShareComponent } from './ecl-social-media-share.component';\nimport { EclSocialMediaShareItemComponent } from './ecl-social-media-share-item.component';\nimport { EclLinkDirectiveModule } from '../ecl-link/ecl-link.module';\nimport { EclIconComponentModule } from '../ecl-icon/ecl-icon.module';\nimport { EclSocialMediaShareLinkDirective } from './ecl-social-media-share-link.directive';\n\nconst COMPONENTS = [EclSocialMediaShareComponent, EclSocialMediaShareItemComponent, EclSocialMediaShareLinkDirective];\n@NgModule({\n imports: [CommonModule, EclLinkDirectiveModule, EclIconComponentModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclSocialMediaShareComponentModule {}\n", "import { Component, HostBinding, Input } from '@angular/core';\nimport { coerceBoolean } from '@eui/base';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n selector: 'ecl-spinner',\n templateUrl: './ecl-spinner.component.html',\n})\nexport class EclSpinnerComponent extends ECLBaseDirective {\n @Input() size: 'small' | 'medium' | 'large' = 'medium';\n @Input() variant: 'primary' | 'negative' = 'primary';\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isCentered: boolean | any = true;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isVisible: boolean | any = true;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-spinner'),\n `ecl-spinner--${this.size}`,\n `ecl-spinner--${this.variant}`,\n this.isCentered ? 'ecl-spinner--centered' : '',\n this.isVisible ? 'ecl-spinner--visible' : '',\n ]\n .join(' ')\n .trim();\n }\n}\n", "<svg class=\"ecl-spinner__loader\" viewBox=\"25 25 50 50\">\n <circle\n class=\"ecl-spinner__circle\"\n cx=\"50\"\n cy=\"50\"\n r=\"20\"\n fill=\"none\"\n stroke-width=\"4px\"\n stroke-miterlimit=\"10\"\n vector-effect=\"non-scaling-stroke\"></circle>\n</svg>\n<ng-content></ng-content>\n", "import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[eclSpinnerLabel]',\n})\nexport class EclSpinnerLabelDirective {\n @HostBinding('class.ecl-spinner__text') className = true;\n}\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclSpinnerComponent } from './ecl-spinner.component';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclSpinnerLabelDirective } from './ecl-spinner-label.directive';\n\n@NgModule({\n imports: [CommonModule, TranslateModule],\n exports: [EclSpinnerComponent, EclSpinnerLabelDirective],\n declarations: [EclSpinnerComponent, EclSpinnerLabelDirective],\n})\nexport class EclSpinnerComponentModule {}\n", "import { Component, HostBinding, Input } from '@angular/core';\nimport { EclThemeService } from '../../services';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[eclTableSortButton]',\n templateUrl: './ecl-table-sort-button.component.html',\n})\nexport class EclTableSortButtonComponent extends ECLBaseDirective {\n @Input() eclSize = 'm';\n\n constructor(public eclThemeService: EclThemeService) {\n super();\n }\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__arrow')].join(' ').trim();\n }\n}\n", "<ecl-icon icon=\"solid-arrow\" class=\"ecl-table__icon ecl-table__icon-up\" [size]=\"(eclThemeService.isEC$ | async) ? 'l' : 'm'\"> </ecl-icon>\n<ecl-icon icon=\"solid-arrow\" class=\"ecl-table__icon ecl-table__icon-down\" [size]=\"(eclThemeService.isEC$ | async) ? 'l' : 'm'\"> </ecl-icon>\n", "import {\n AfterContentInit,\n ContentChildren,\n Directive,\n DoCheck,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n IterableDiffer,\n IterableDiffers,\n OnDestroy,\n Output,\n QueryList,\n ViewContainerRef,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { EclBaseEvent } from '../../model';\nimport { coerceBoolean } from '@eui/base';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclTableSortButtonComponent } from './ecl-table-sort-button.component';\n\nexport enum SortOrder {\n DESCENDING = 'descending',\n ASCENDING = 'ascending',\n}\n\nexport class EclSortTableEvent extends EclBaseEvent {\n constructor(\n public sortOrder: SortOrder,\n public columnId: string,\n ) {\n super();\n }\n}\n\n@Directive({\n selector: '[eclTable]',\n})\nexport class EclTableDirective extends ECLBaseDirective implements DoCheck, OnDestroy {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() @HostBinding('class.ecl-table--zebra') isZebra: boolean | any = false;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table'), this.isZebra ? 'ecl-table--zebra' : ''].join(' ').trim();\n }\n\n @Output() sort = new EventEmitter<EclSortTableEvent>();\n\n @ContentChildren(forwardRef(() => EclTableHeaderDirective), { descendants: true })\n eclTableHeaders: QueryList<EclTableHeaderDirective>;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private differ: IterableDiffer<EclTableHeaderDirective>;\n\n constructor(private differs: IterableDiffers) {\n super();\n this.differ = this.differs.find([]).create();\n }\n\n ngDoCheck(): void {\n const diff = this.differ.diff(this.eclTableHeaders);\n if (diff) {\n diff.forEachAddedItem((change) => {\n change.item.sort.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.sort.emit(evt);\n });\n });\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n}\n\n@Directive({\n selector: '[eclTableHead]',\n})\nexport class EclTableHeadDirective extends ECLBaseDirective implements OnDestroy, DoCheck {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__head')].join(' ').trim();\n }\n\n @ContentChildren(forwardRef(() => EclTableHeaderDirective), { descendants: true })\n eclTableHeaders: QueryList<EclTableHeaderDirective>;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private differ: IterableDiffer<EclTableHeaderDirective>;\n\n constructor(private differs: IterableDiffers) {\n super();\n this.differ = this.differs.find([]).create();\n }\n\n ngDoCheck(): void {\n const diff = this.differ.diff(this.eclTableHeaders);\n if (diff) {\n diff.forEachAddedItem((change) => {\n change.item.sort.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.eclTableHeaders.forEach((th) => {\n th.removeAriaSort();\n });\n });\n });\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n}\n\n@Directive({\n selector: '[eclTableHeader]',\n})\nexport class EclTableHeaderDirective extends ECLBaseDirective implements AfterContentInit {\n @HostBinding('attr.aria-sort') sortOrder: SortOrder = null;\n @Input() @HostBinding('attr.data-ecl-table-sort-toggle') eclSortable = null;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__header')].join(' ').trim();\n }\n\n @Output() sort = new EventEmitter<EclSortTableEvent>();\n\n constructor(\n private el: ElementRef,\n private viewContainerRef: ViewContainerRef,\n ) {\n super();\n }\n\n ngAfterContentInit(): void {\n this.initSortButtons();\n }\n\n // Remove the dark arrow for current sorting from prev sorted column\n removeAriaSort(): void {\n this.el.nativeElement.removeAttribute('aria-sort');\n }\n\n // Click triggers 1 -> asc sorting, 2 -> desc sorting then 3 -> initial sorting\n @HostListener('click', ['$event'])\n onClick(evt: Event): void {\n if (this.eclSortable) {\n switch (this.sortOrder) {\n case null: {\n this.sortOrder = SortOrder.ASCENDING;\n break;\n }\n case SortOrder.ASCENDING: {\n this.sortOrder = SortOrder.DESCENDING;\n break;\n }\n case SortOrder.DESCENDING: {\n this.sortOrder = null;\n break;\n }\n }\n\n this.sort.emit(new EclSortTableEvent(this.sortOrder, this.eclSortable));\n }\n }\n\n private initSortButtons(): void {\n if (this.eclSortable) {\n setTimeout(() => {\n const containerComponentRef = this.viewContainerRef.createComponent(EclTableSortButtonComponent);\n this.el.nativeElement.appendChild(containerComponentRef.location.nativeElement);\n });\n }\n }\n}\n\n@Directive({\n selector: '[eclTableRow]',\n})\nexport class EclTableRowDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__row')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclTableBody]',\n})\nexport class EclTableBodyDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__body')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclTableCell]',\n})\nexport class EclTableCellDirective extends ECLBaseDirective {\n @Input() @HostBinding('attr.data-ecl-table-header') eclTableCellHeader: string;\n @Input() @HostBinding('class.ecl-table__cell--group') isGroup = false;\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__cell'), this.isGroup ? 'ecl-table__cell--group' : ''].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclTableCellGroup]',\n})\nexport class EclTableCellGroupDirective extends ECLBaseDirective {\n @Input() @HostBinding('attr.data-ecl-table-header-group') eclTableCellGroup: string;\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__cell--group')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclTableResponsive]',\n})\nexport class EclTableResponsiveDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table-responsive')].join(' ').trim();\n }\n}\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {\n EclTableDirective,\n EclTableHeadDirective,\n EclTableHeaderDirective,\n EclTableRowDirective,\n EclTableBodyDirective,\n EclTableCellDirective,\n EclTableCellGroupDirective,\n EclTableResponsiveDirective,\n} from './ecl-table.directive';\nimport { EclTableSortButtonComponent } from './ecl-table-sort-button.component';\nimport { EclIconComponentModule } from '../ecl-icon';\n\nconst COMPONENTS = [\n EclTableDirective,\n EclTableHeadDirective,\n EclTableHeaderDirective,\n EclTableRowDirective,\n EclTableBodyDirective,\n EclTableCellDirective,\n EclTableCellGroupDirective,\n EclTableSortButtonComponent,\n EclTableResponsiveDirective,\n];\n@NgModule({\n imports: [CommonModule, EclIconComponentModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclTableDirectiveModule {}\n", "import { Component, ElementRef } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n selector: 'ecl-tab-label',\n templateUrl: './ecl-tab-label.component.html',\n})\nexport class EclTabLabelComponent extends ECLBaseDirective {\n constructor(public el: ElementRef) {\n super();\n }\n}\n", "<ng-content></ng-content>\n", "import {\n AfterViewInit,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { coerceBoolean } from '@eui/base';\nimport { EclBaseEvent } from '../../model/ecl-base.event';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclLinkDirective } from '../ecl-link';\nimport { EclTabLabelComponent } from './ecl-tab-label.component';\n\nexport class EclTabSelectEvent extends EclBaseEvent {\n constructor(public tab: EclTab) {\n super();\n }\n}\n\nexport interface EclTab {\n id?: string;\n}\n\n@Component({\n selector: 'ecl-tab, li[eclTab]',\n templateUrl: './ecl-tab.component.html',\n})\nexport class EclTabComponent extends ECLBaseDirective implements EclTab, AfterViewInit {\n @Input() id: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() @HostBinding('attr.aria-hidden') isHidden: boolean | any = false;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isActive: boolean | any = false;\n\n @Output() selectTab = new EventEmitter<EclTabSelectEvent>();\n @Output() keydownTab = new EventEmitter<Event>();\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @ViewChild('content') contentTemplate: TemplateRef<any>;\n @ViewChild(EclLinkDirective) link: EclLinkDirective;\n\n @ContentChild(EclTabLabelComponent) label: EclTabLabelComponent;\n\n @HostBinding('attr.role') role = 'presentation';\n\n public tabLabel = '';\n private isFirstCall = true;\n private width: number;\n\n constructor(private elementRef: ElementRef) {\n super();\n }\n\n public get hostElement(): HTMLElement {\n return this.elementRef.nativeElement;\n }\n\n ngAfterViewInit(): void {\n this.tabLabel = this.label.el.nativeElement.innerHTML;\n }\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-tabs__item')].join(' ').trim();\n }\n\n getTabLabel(): string {\n return this.label.el.nativeElement.innerHTML;\n }\n\n public getWidth(): number {\n if (this.isFirstCall) {\n this.width = this.hostElement.getBoundingClientRect().width;\n this.isFirstCall = false;\n }\n return this.width;\n }\n\n onTabClick(): void {\n this.selectTab.next(new EclTabSelectEvent(this));\n }\n\n onKeydown(event: Event): void {\n this.keydownTab.next(event);\n }\n\n onFocus(): void {\n this.link.el.nativeElement.focus();\n }\n\n onBlur(): void {\n this.link.el.nativeElement.blur();\n }\n}\n", "<a\n eclLink\n role=\"tab\"\n class=\"ecl-tabs__link\"\n [class.ecl-tabs__link--active]=\"isActive\"\n [attr.aria-selected]=\"isActive\"\n tabindex=\"0\"\n (keydown)=\"onKeydown($event)\"\n (click)=\"onTabClick()\">\n <ng-content select=\"ecl-tab-label\"></ng-content>\n</a>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", "import { Component, HostBinding, Input } from '@angular/core';\nimport { coerceBoolean } from '@eui/base';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n selector: 'ecl-tab-more',\n templateUrl: './ecl-tab-more.component.html',\n styles: [\n `\n :host {\n display: list-item;\n }\n `,\n ],\n})\nexport class EclTabMoreComponent extends ECLBaseDirective {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() @HostBinding('attr.aria-hidden') isHidden: boolean | any = false;\n\n @HostBinding('attr.role') role = 'presentation';\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-tabs__item ecl-tabs__item--more')].join(' ').trim();\n }\n}\n", "<ng-content></ng-content>\n", "import { BreakpointObserver } from '@angular/cdk/layout';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostListener,\n Input,\n IterableChanges,\n IterableDiffer,\n IterableDiffers,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { Observable, of, Subject } from 'rxjs';\nimport { mergeWith, takeUntil } from 'rxjs/operators';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclButtonComponent } from '../ecl-button';\nimport { EclTabComponent, EclTabSelectEvent } from './ecl-tab.component';\nimport { KeyCode } from '../../utils';\nimport { EclRtlService } from '../../services';\n\nexport enum ShiftDirection {\n NEXT = 'next',\n PREVIOUS = 'prev',\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'nav[eclTabs], ecl-tabs',\n templateUrl: './ecl-tabs.component.html',\n encapsulation: ViewEncapsulation.None,\n})\nexport class EclTabsComponent extends ECLBaseDirective implements OnInit, AfterViewInit, AfterContentInit, OnDestroy {\n @Input() bodyClass = 'ecl-u-mt-s';\n /**\n * @deprecated To be removed in 18 version. No alternative, should not be used.\n */\n @Input() direction: 'rtl' | 'ltr' = 'ltr';\n @Output() tabSelect = new EventEmitter<EclTabSelectEvent>();\n\n @ContentChildren(forwardRef(() => EclTabComponent)) tabs: QueryList<EclTabComponent>;\n\n @ViewChild('tabsList') tabsList: ElementRef;\n @ViewChild('moreButton') moreButton: EclButtonComponent;\n @ViewChild('btnPrev') btnPrev: ElementRef;\n @ViewChild('btnNext') btnNext: ElementRef;\n @ViewChild('dropdownList') dropdownList: ElementRef;\n dropdownTabs: Array<EclTabComponent> = [];\n listTabs: Array<EclTabComponent> = [];\n\n index = 0;\n isDropdownExpanded = false;\n isMobileBreakpoint = false;\n isMoreButtonShow = true;\n isScrollPrevBtnShow = false;\n isScrollNextBtnShow = false;\n styleTransform = 'translate3d(0px, 0px, 0px)';\n\n private differ: IterableDiffer<EclTabComponent>;\n private diff: IterableChanges<EclTabComponent>;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private isFirstCall = true;\n private isRtl = false;\n private moreBtnWidth: number;\n private TIMEOUT_INTERVAL = 300;\n\n constructor(\n private differs: IterableDiffers,\n private cdkBreakpointObserver: BreakpointObserver,\n private cd: ChangeDetectorRef,\n private el: ElementRef,\n private eclRtlService: EclRtlService,\n ) {\n super();\n this.differ = this.differs.find([]).create();\n }\n\n ngOnInit(): void {\n this.observeBreakpointChanges();\n this.handleRtlChangeState();\n }\n\n ngAfterContentInit(): void {\n this.diff = this.differ.diff(this.tabs);\n }\n\n ngAfterViewInit(): void {\n this.createSecondListForDropdown();\n this.observeTabsChanges();\n setTimeout(() => this.handleResize(), this.TIMEOUT_INTERVAL);\n this.cd.detectChanges();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n @HostListener('document:click', ['$event.target'])\n onClick(target): void {\n if (!this.moreButton.el.nativeElement.contains(target) && !this.dropdownList.nativeElement.contains(target)) {\n this.closeDropdown();\n }\n }\n\n @HostListener('window:resize', ['$event'])\n onWindowResize(): void {\n setTimeout(() => this.handleResize(), this.TIMEOUT_INTERVAL);\n }\n\n get isMoreButtonActive(): boolean {\n return this.listTabs.find((el) => el.isActive) !== undefined;\n }\n\n onScrollPrev(): void {\n this.shiftTabs(ShiftDirection.PREVIOUS);\n }\n\n onScrollNext(): void {\n this.shiftTabs(ShiftDirection.NEXT);\n }\n\n onDropdownToggle(): void {\n this.isDropdownExpanded = !this.isDropdownExpanded;\n }\n\n getTabsWidthStyle(): string {\n return this.isMobileBreakpoint ? `${this.getTabsWidth()}px` : 'auto';\n }\n\n getTabsWidth(): number {\n return this.tabs.reduce((total, item) => (total += Math.ceil(item.getWidth())), 0);\n }\n\n getHiddenTabsCount(): number {\n return this.tabs.filter((item) => item.isHidden).length;\n }\n\n getTabLabel(index: number): string {\n return this.getTabsAsArray()[index].getTabLabel();\n }\n\n getTransitionDuration(): string {\n if (this.isMobileBreakpoint) {\n return '0.4s';\n }\n return '0s';\n }\n\n onTabBlur(): void {\n this.closeDropdown();\n\n this.getLastVisibleTab().onFocus();\n this.getLastVisibleTab().onBlur();\n }\n\n onTabSelect(tab: EclTabComponent): void {\n this.deactivateAllTabs(this.tabs.toArray(), this.listTabs);\n this.activateTab(tab);\n this.sendTabSelectEvent(tab);\n }\n\n onTabKeydownArrowRight(index: number): void {\n if (this.isMobileBreakpoint) {\n this.shiftTabs(ShiftDirection.NEXT);\n }\n if (index === this.getTabsCount() - 1) {\n this.focusOnFirstTab();\n } else {\n this.focusOnNextTab(index);\n }\n }\n\n onTabKeydownArrowLeft(index: number): void {\n if (this.isMobileBreakpoint) {\n this.shiftTabs(ShiftDirection.PREVIOUS);\n }\n if (index === 0) {\n this.focusOnLastTab();\n } else {\n this.focusOnPrevTab(index);\n }\n }\n\n onTabKeydownHome(): void {\n this.focusOnFirstTab();\n }\n\n onTabKeydownEnd(): void {\n this.focusOnLastTab();\n }\n\n private shiftTabs(dir: string): void {\n this.index = this.getShifIndex(dir, this.index);\n\n this.isScrollPrevBtnShow = this.index >= 1;\n this.isScrollNextBtnShow = this.index <= this.getTabsCount() - 1;\n\n const leftMargin = this.index === 0 ? 0 : this.btnPrev.nativeElement.getBoundingClientRect().width + 13;\n\n let newOffset = 0;\n if (this.isRtl) {\n newOffset = Math.ceil(\n this.tabsList.nativeElement.offsetWidth -\n this.getTabsAsArray()[this.index].hostElement.offsetLeft -\n this.getTabsAsArray()[this.index].hostElement.offsetWidth -\n leftMargin,\n );\n } else {\n newOffset = Math.ceil(this.getTabsAsArray()[this.index].hostElement.offsetLeft - leftMargin);\n }\n\n const maxScroll = Math.ceil(this.getTabsListWidth() - this.el.nativeElement.getBoundingClientRect().width);\n\n if (newOffset > maxScroll) {\n this.isScrollNextBtnShow = false;\n newOffset = maxScroll;\n }\n\n if (this.isRtl) {\n this.styleTransform = `translate3d(${newOffset}px, 0px, 0px)`;\n } else {\n this.styleTransform = `translate3d(-${newOffset}px, 0px, 0px)`;\n }\n }\n\n private getShifIndex(dir: string, index: number): number {\n if (dir === ShiftDirection.NEXT) {\n if (index === this.getTabsCount() - 1) {\n return 0;\n } else {\n return index + 1;\n }\n } else {\n if (index === 0) {\n return this.getTabsCount() - 1;\n } else {\n return index - 1;\n }\n }\n }\n\n private createSecondListForDropdown(): void {\n this.tabs.forEach((tab) => {\n const newTab = Object.assign({}, tab) as EclTabComponent;\n newTab.isHidden = true;\n newTab.isActive = false;\n this.listTabs.push(newTab as EclTabComponent);\n });\n }\n\n private getTabsAsArray(): EclTabComponent[] {\n return this.tabs.toArray();\n }\n\n private getTabsCount(): number {\n return this.tabs.toArray().length;\n }\n\n private closeDropdown(): void {\n this.isDropdownExpanded = false;\n }\n\n private openDropdown(): void {\n this.isDropdownExpanded = true;\n }\n\n private observeTabsChanges(): void {\n this.createTabsChangesObservable(this.tabs).pipe(takeUntil(this.destroy$)).subscribe(this.onTabsChanges.bind(this));\n }\n\n private createTabsChangesObservable(tabs: QueryList<EclTabComponent>): Observable<QueryList<EclTabComponent>> {\n return of(tabs).pipe(mergeWith(tabs.changes), takeUntil(this.destroy$));\n }\n\n private onTabsChanges(): void {\n this.diff = this.differ.diff(this.tabs);\n\n if (!this.diff) {\n this.tabs.forEach((tab) => {\n this.connectTabEvents(tab);\n });\n } else {\n this.diff.forEachAddedItem((change) => {\n this.connectTabEvents(change.item);\n });\n\n this.diff.forEachRemovedItem((change) => {\n this.disconnectTabEvents(change.item);\n });\n }\n }\n\n private connectTabEvents(tab: EclTabComponent): void {\n tab.selectTab.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.onTabSelect(tab);\n });\n tab.keydownTab.pipe(takeUntil(this.destroy$)).subscribe((event) => {\n this.onTabKeydown(event, tab);\n });\n }\n\n private onTabKeydown(event: Event, tab: EclTabComponent): void {\n event.preventDefault();\n if (event instanceof KeyboardEvent) {\n const index = this.getTabsAsArray().indexOf(tab);\n switch (event.key) {\n case KeyCode.ARROW_LEFT: {\n this.onTabKeydownArrowLeft(index);\n break;\n }\n case KeyCode.ARROW_RIGHT: {\n this.onTabKeydownArrowRight(index);\n break;\n }\n case KeyCode.END: {\n this.onTabKeydownEnd();\n break;\n }\n case KeyCode.HOME: {\n this.onTabKeydownHome();\n break;\n }\n case KeyCode.ENTER: {\n this.onTabSelect(tab);\n break;\n }\n case KeyCode.TAB: {\n this.onTabBlur();\n break;\n }\n default: {\n break;\n }\n }\n }\n }\n\n private getLastVisibleTab(): EclTabComponent {\n let result = null;\n this.getTabsAsArray().forEach((el) => {\n if (!el.isHidden) {\n result = el;\n } else {\n return;\n }\n });\n return result;\n }\n\n private focusOnNextTab(index: number): void {\n if (this.getTabsAsArray()[index + 1].isHidden) {\n this.openDropdown();\n this.focusOnDropdownTab(index + 1);\n } else {\n this.closeDropdown();\n this.getTabsAsArray()[index + 1].onFocus();\n }\n }\n\n private focusOnFirstTab(): void {\n this.closeDropdown();\n this.getFirstTabFromArray().onFocus();\n }\n\n private focusOnLastTab(): void {\n if (!this.getLastTabFromArray().isHidden) {\n this.getLastTabFromArray().onFocus();\n } else {\n this.openDropdown();\n this.focusOnDropdownTab(this.getTabsCount() - 1);\n }\n }\n\n private focusOnPrevTab(index: number): void {\n if (!this.listTabs[index - 1].isHidden) {\n this.focusOnDropdownTab(index - 1);\n } else {\n this.closeDropdown();\n this.getTabsAsArray()[index - 1].onFocus();\n }\n }\n\n private focusOnDropdownTab(index: number): void {\n this.dropdownList.nativeElement.children[index].firstChild.focus();\n }\n\n private blurDropdownTab(index: number): void {\n this.dropdownList.nativeElement.children[index].firstChild.blur();\n }\n\n private getLastTabFromArray(): EclTabComponent {\n return this.getTabsAsArray()[this.getTabsAsArray().length - 1];\n }\n\n private getFirstTabFromArray(): EclTabComponent {\n return this.getTabsAsArray()[0];\n }\n\n private disconnectTabEvents(tab: EclTabComponent): void {\n if (tab && tab.selectTab) {\n tab.selectTab.unsubscribe();\n }\n }\n\n private deactivateAllTabs(tabs: Array<EclTabComponent>, listTabs: Array<EclTabComponent>): void {\n tabs.forEach((it) => {\n it.isActive = false;\n });\n\n listTabs.forEach((it) => {\n it.isActive = false;\n });\n }\n\n private activateTab(tab: EclTabComponent): void {\n tab.isActive = true;\n }\n\n private sendTabSelectEvent(tab: EclTabComponent): void {\n this.tabSelect.next(new EclTabSelectEvent(tab));\n }\n\n private observeBreakpointChanges(): void {\n this.cdkBreakpointObserver\n .observe(['(max-width: 480px)'])\n .pipe(takeUntil(this.destroy$))\n .subscribe((result) => {\n this.isMobileBreakpoint = result.matches;\n });\n }\n\n private handleResize(): void {\n this.closeDropdown();\n if (this.isMobileBreakpoint) {\n this.handleMobile();\n return;\n }\n this.initMoreBtnWidth();\n let stopWidth = this.moreBtnWidth + 25;\n const hiddenItems = [];\n const listWidth = this.getTabsListWidth();\n this.isScrollNextBtnShow = false;\n this.isScrollPrevBtnShow = false;\n this.isMoreButtonShow = false;\n this.tabs.forEach((item, i) => {\n item.isHidden = false;\n if (listWidth >= stopWidth + item.getWidth() && !hiddenItems.includes(i - 1)) {\n stopWidth += item.getWidth();\n } else {\n item.isHidden = true;\n if (item.isActive) {\n this.listTabs[i].isActive = true;\n }\n hiddenItems.push(i);\n }\n });\n\n if (!hiddenItems.length) {\n this.isMoreButtonShow = false;\n this.setActiveItemForMainTabs();\n } else {\n this.isMoreButtonShow = true;\n this.setHiddenItemsForDropdownTabs(hiddenItems);\n }\n }\n\n private initMoreBtnWidth(): void {\n if (this.isFirstCall) {\n this.moreBtnWidth = this.moreButton.el.nativeElement.getBoundingClientRect().width;\n this.isFirstCall = false;\n }\n }\n\n private setActiveItemForMainTabs(): void {\n this.listTabs.forEach((item, index) => {\n if (item.isActive) {\n this.tabs.toArray()[index].isActive = true;\n }\n });\n }\n\n private getTabsListWidth(): number {\n return this.tabsList.nativeElement.getBoundingClientRect().width;\n }\n\n private setHiddenItemsForDropdownTabs(hiddenItems: number[]): void {\n this.listTabs.forEach((item, index) => {\n if (hiddenItems.includes(index)) {\n item.isHidden = false;\n } else {\n item.isHidden = true;\n }\n });\n }\n\n private handleMobile(): void {\n this.isMoreButtonShow = false;\n this.isScrollPrevBtnShow = false;\n this.isScrollNextBtnShow = true;\n }\n\n private handleRtlChangeState(): void {\n const isRtlOld = this.isRtl;\n this.eclRtlService.currentRtlState$.pipe(takeUntil(this.destroy$)).subscribe((rtlState) => {\n setTimeout(() => {\n this.isRtl = rtlState;\n if (this.isMobileBreakpoint && this.hasRtlChanged(isRtlOld)) {\n this.handleRtlChange();\n } \n });\n });\n }\n\n private hasRtlChanged(isRtlOld: boolean): boolean {\n return isRtlOld !== this.isRtl;\n }\n\n private handleRtlChange(): void {\n this.handleMobile();\n this.styleTransform = 'translate3d(0px, 0px, 0px)';\n this.index = 0;\n }\n}\n", "<nav class=\"ecl-tabs\">\n <div class=\"ecl-tabs__container\">\n <ul\n class=\"ecl-tabs__list\"\n role=\"tablist\"\n #tabsList\n [style.width]=\"getTabsWidthStyle()\"\n [style.transform]=\"styleTransform\"\n [style.transition-duration]=\"'0' || getTransitionDuration()\">\n <ng-content select=\"ecl-tab, li[eclTab]\"></ng-content>\n <ecl-tab-more [isHidden]=\"!isMoreButtonShow\">\n <button\n #moreButton\n eclButton\n class=\"ecl-tabs__toggle\"\n tabindex=\"-1\"\n variant=\"secondary\"\n [attr.aria-expanded]=\"isDropdownExpanded\"\n [class.ecl-tabs__toggle--active]=\"isMoreButtonActive\"\n (click)=\"onDropdownToggle()\">\n <span eclButtonLabel>\n {{ 'ecl.common.MORE' | translate }}\n ({{ getHiddenTabsCount() }})\n </span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-180\" size=\"fluid\"></ecl-icon>\n </button>\n <ul\n *ngIf=\"listTabs.length > 0\"\n class=\"ecl-tabs__dropdown\"\n [class.ecl-tabs__dropdown--show]=\"isDropdownExpanded\"\n #dropdownList>\n <ng-container *ngFor=\"let tab of listTabs; let i = index\">\n <ecl-tab\n [isActive]=\"tab.isActive\"\n [isHidden]=\"tab.isHidden\"\n (click)=\"onTabSelect(tab)\"\n (keydown.arrowRight)=\"onTabKeydownArrowRight(i)\"\n (keydown.arrowLeft)=\"onTabKeydownArrowLeft(i)\"\n (keydown.home)=\"onTabKeydownHome()\"\n (keydown.end)=\"onTabKeydownEnd()\"\n (keydown.enter)=\"onTabSelect(tab)\"\n (keydown.tab)=\"onTabBlur()\">\n <ecl-tab-label>{{ getTabLabel(i) }}</ecl-tab-label>\n </ecl-tab>\n </ng-container>\n </ul>\n </ecl-tab-more>\n </ul>\n </div>\n\n <div class=\"ecl-tabs__controls\">\n <button\n #btnPrev\n [attr.aria-hidden]=\"true\"\n class=\"ecl-tabs__prev\"\n [class.ecl-u-d-none]=\"!isScrollPrevBtnShow\"\n [class.ecl-u-d-block]=\"isScrollPrevBtnShow\"\n (click)=\"onScrollPrev()\">\n <ecl-icon isInverted icon=\"corner-arrow\" transform=\"rotate-270\" size=\"m\" class=\"ecl-u-d-block\"> </ecl-icon>\n <span class=\"ecl-u-sr-only\"></span>\n </button>\n <button\n #btnNext\n [attr.aria-hidden]=\"true\"\n class=\"ecl-tabs__next\"\n [class.ecl-u-d-none]=\"!isScrollNextBtnShow\"\n [class.ecl-u-d-block]=\"isScrollNextBtnShow\"\n (click)=\"onScrollNext()\">\n <ecl-icon isInverted icon=\"corner-arrow\" color=\"inverted\" transform=\"rotate-90\" size=\"m\" class=\"ecl-u-d-block\"> </ecl-icon>\n <span class=\"ecl-u-sr-only\"></span>\n </button>\n </div>\n</nav>\n\n<ng-container *ngFor=\"let tab of tabs.toArray()\">\n <div class=\"{{ bodyClass }}\" *ngIf=\"tab.isActive\">\n <ng-container *ngTemplateOutlet=\"tab.contentTemplate\"></ng-container>\n </div>\n</ng-container>\n<ng-container *ngFor=\"let tab of listTabs\">\n <div class=\"{{ bodyClass }}\" *ngIf=\"tab.isActive\">\n <ng-container *ngTemplateOutlet=\"tab.contentTemplate\"></ng-container>\n </div>\n</ng-container>\n", "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclButtonComponentModule } from '../ecl-button/ecl-button.module';\nimport { EclIconComponentModule } from '../ecl-icon/ecl-icon.module';\nimport { EclLinkDirectiveModule } from '../ecl-link/ecl-link.module';\nimport { EclTabLabelComponent } from './ecl-tab-label.component';\nimport { EclTabComponent } from './ecl-tab.component';\nimport { EclTabsComponent } from './ecl-tabs.component';\nimport { EclTabMoreComponent } from './ecl-tab-more.component';\nimport { ECLClickOutsideDirective } from '../../utils';\n\nconst COMPONENTS = [EclTabsComponent, EclTabComponent, EclTabLabelComponent, EclTabMoreComponent];\n\n@NgModule({\n imports: [\n CommonModule,\n EclLinkDirectiveModule,\n EclButtonComponentModule,\n EclIconComponentModule,\n TranslateModule,\n ECLClickOutsideDirective,\n ],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclTabsComponentModule {}\n", "import { Component, Input, HostBinding, Output, EventEmitter } from '@angular/core';\nimport { EclBaseEvent } from '../../model/ecl-base.event';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\nexport class EclTagRemoveEvent extends EclBaseEvent {}\n\n@Component({\n selector: 'ecl-tag, [eclTag]',\n templateUrl: './ecl-tag.component.html',\n})\nexport class EclTagComponent extends ECLBaseDirective {\n /**\n * @deprecated\n * Variant 'display' is deprecated. To be removed in v 18.\n */\n @Input() variant: 'display' | 'removable';\n\n @Output() remove = new EventEmitter<EclTagRemoveEvent>();\n\n @HostBinding('attr.hidden')\n get isHidden(): boolean | null {\n return !this.isVisible || null;\n }\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-tag'), this.variant ? `ecl-tag--${this.variant}` : ''].join(' ').trim();\n }\n\n isVisible = true;\n\n get isRemovable(): boolean {\n return this.variant == 'removable';\n }\n\n onRemoveClick(evt: MouseEvent): void {\n const event = new EclTagRemoveEvent();\n this.remove.next(event);\n\n if (!event.defaultPrevented) {\n this.isVisible = false;\n }\n }\n}\n", "<ng-content></ng-content>\n\n<span *ngIf=\"isRemovable\" class=\"ecl-tag__icon\" (click)=\"onRemoveClick($event)\">\n <ecl-icon icon=\"close\" class=\"ecl-tag__icon-close\"></ecl-icon>\n <ecl-icon icon=\"close-filled\" class=\"ecl-tag__icon-close-filled\"></ecl-icon>\n</span>\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclIconComponentModule } from '../ecl-icon/ecl-icon.module';\nimport { EclTagComponent } from './ecl-tag.component';\n\n@NgModule({\n imports: [CommonModule, EclIconComponentModule],\n exports: [EclTagComponent],\n declarations: [EclTagComponent],\n})\nexport class EclTagComponentModule {}\n", "import { Directive, HostBinding, Input, Optional, Self } from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { coerceBoolean } from '@eui/base';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: 'textarea[eclTextArea]',\n})\nexport class EclTextAreaDirective extends ECLBaseDirective {\n @Input() eclSize = 'm';\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isInvalid: boolean | any = false;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-text-area'), this.eclSize ? `ecl-text-area--${this.eclSize}` : ''].join(' ').trim();\n }\n\n @HostBinding('class.ecl-text-area--invalid')\n get invalidState(): boolean {\n if (this.ngControl) {\n return this.ngControl.status === 'INVALID' && this.ngControl.touched;\n } else {\n return this.isInvalid;\n }\n }\n\n constructor(@Optional() @Self() private ngControl: NgControl) {\n super();\n }\n}\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclTextAreaDirective } from './ecl-text-area.directive';\n\n@NgModule({\n imports: [CommonModule],\n exports: [EclTextAreaDirective],\n declarations: [EclTextAreaDirective],\n})\nexport class EclTextAreaDirectiveModule {}\n", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: '[eclTimelineItemLabel]',\n})\nexport class EclTimelineItemLabelDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-timeline__label')].join(' ').trim();\n }\n}\n", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: '[eclTimelineItemTitle]',\n})\nexport class EclTimelineItemTitleDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-timeline__title')].join(' ').trim();\n }\n}\n", "import { Component, EventEmitter, HostListener, Output } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n selector: 'ecl-timeline-item-toggler',\n templateUrl: 'ecl-timeline-item-toggler.component.html',\n})\nexport class EclTimelineItemTogglerComponent extends ECLBaseDirective {\n @Output() toggle: EventEmitter<void> = new EventEmitter();\n\n @HostListener('click')\n onTogglerClick(): void {\n this.toggle.emit();\n }\n}\n", "<ng-content></ng-content>\n", "import {\n Component,\n Input,\n HostBinding,\n AfterContentInit,\n ViewEncapsulation,\n Output,\n EventEmitter,\n ContentChild,\n forwardRef,\n OnDestroy,\n} from '@angular/core';\nimport { coerceBoolean } from '@eui/base';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { EclBaseEvent } from '../../model/ecl-base.event';\nimport { EclTimelineItemTogglerComponent } from './ecl-timeline-item-toggler.component';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\nexport class EclTimelineItemToggleEvent extends EclBaseEvent {\n constructor(\n public isExpanded: boolean,\n public toggleGroup: string,\n ) {\n super();\n }\n}\n\n@Component({\n selector: 'ecl-timeline-item',\n templateUrl: 'ecl-timeline-item.component.html',\n styles: [\n `\n ecl-timeline-item {\n display: list-item;\n }\n `,\n ],\n encapsulation: ViewEncapsulation.None,\n})\nexport class EclTimelineItemComponent extends ECLBaseDirective implements AfterContentInit, OnDestroy {\n /**\n * @deprecated Please use eclTimelineItemLabel directive instead. To be removed in v18.\n */\n @Input() label: string;\n /**\n * @deprecated Please use eclTimelineItemTitle directive instead. To be removed in v18.\n */\n @Input() eclTitle: string;\n /**\n * @deprecated Please use expandLabel and collapseLabel instead. To be removed in v19.\n */\n @Input() toggleButtonLabel: string;\n @Input() expandLabel: string;\n @Input() collapseLabel: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isTogglerExpanded: boolean | any = false;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-timeline__item')].join(' ');\n }\n\n @ContentChild(forwardRef(() => EclTimelineItemTogglerComponent))\n timelineItemToggler: EclTimelineItemTogglerComponent;\n\n @Input() @HostBinding('class.ecl-timeline__item--collapsed') isCollapsed = false;\n @Input() @HostBinding('class.ecl-timeline__item--toggle') isToggler = false;\n @Input() toggleGroup: string;\n\n @Output() toggle = new EventEmitter<EclTimelineItemToggleEvent>();\n\n destroy$: Subject<boolean> = new Subject<boolean>();\n\n ngAfterContentInit(): void {\n if (this.timelineItemToggler) {\n this.timelineItemToggler.toggle.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.handleToggler();\n });\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n get isShowExpandLabel(): boolean {\n return !!this.expandLabel && !this.isTogglerExpanded;\n }\n\n get isShowCollapseLabel(): boolean {\n return !!this.collapseLabel && this.isTogglerExpanded;\n }\n\n get isShowOneToggleLabel(): boolean {\n return !this.collapseLabel && !this.expandLabel;\n }\n\n hasDefaultToggler(): boolean {\n return this.isToggler && !this.timelineItemToggler;\n }\n\n onTogglerClick(evt: MouseEvent): void {\n this.handleToggler();\n }\n\n private handleToggler(): void {\n const nextExpandedState = !this.isTogglerExpanded;\n const event = new EclTimelineItemToggleEvent(nextExpandedState, this.toggleGroup);\n\n if (!event.defaultPrevented) {\n this.toggle.next(event);\n this.isTogglerExpanded = nextExpandedState;\n }\n }\n}\n", "<div class=\"ecl-timeline__tooltip\" *ngIf=\"!isToggler\">\n <div class=\"ecl-timeline__tooltip-arrow\"></div>\n <div *ngIf=\"label\" class=\"ecl-timeline__label\">{{ label }}</div>\n <ng-content select=\"[eclTimelineItemLabel]\"></ng-content>\n\n <div *ngIf=\"eclTitle\" class=\"ecl-timeline__title\">{{ eclTitle }}</div>\n <ng-content select=\"[eclTimelineItemTitle]\"></ng-content>\n\n <div class=\"ecl-timeline__content\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n</div>\n\n<div class=\"ecl-timeline__content\" *ngIf=\"isToggler\">\n <button eclButton *ngIf=\"hasDefaultToggler()\" (click)=\"onTogglerClick($event)\" variant=\"secondary\">\n <span eclButtonLabel *ngIf=\"isShowExpandLabel\">\n {{ expandLabel }}\n </span>\n <span eclButtonLabel *ngIf=\"isShowCollapseLabel\">\n {{ collapseLabel }}\n </span>\n <span eclButtonLabel *ngIf=\"isShowOneToggleLabel\">\n {{ toggleButtonLabel || 'ecl.timeline.TOGGLE-ITEMS' | translate }}\n </span>\n <ecl-icon icon=\"corner-arrow\" size=\"fluid\" [transform]=\"!isTogglerExpanded ? 'rotate-180' : ''\"></ecl-icon>\n </button>\n\n <ng-content select=\"ecl-timeline-item-toggler\"></ng-content>\n\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</div>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>", "import { Component, AfterContentInit, ContentChildren, forwardRef, QueryList, HostBinding, OnDestroy } from '@angular/core';\nimport { EclTimelineItemComponent, EclTimelineItemToggleEvent } from './ecl-timeline-item.component';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\n@Component({\n selector: 'ecl-timeline',\n templateUrl: 'ecl-timeline.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclTimelineComponent extends ECLBaseDirective implements AfterContentInit, OnDestroy {\n @HostBinding('attr.role') attrRole = 'list';\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-timeline')].join(' ');\n }\n\n @ContentChildren(forwardRef(() => EclTimelineItemComponent))\n timelineItems: QueryList<EclTimelineItemComponent>;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n ngAfterContentInit(): void {\n this.timelineItems\n .filter((item) => item.isToggler)\n .forEach((it) => {\n it.toggle.pipe(takeUntil(this.destroy$)).subscribe((evt: EclTimelineItemToggleEvent) => {\n if (this.timelineItems && !evt.defaultPrevented) {\n this.timelineItems\n .filter((item) => item.toggleGroup === evt.toggleGroup)\n .filter((item) => !item.isToggler)\n .forEach((item) => {\n item.isCollapsed = !item.isCollapsed;\n });\n }\n });\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n}\n", "<ng-content></ng-content>\n", "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclButtonComponentModule } from '../ecl-button/ecl-button.module';\nimport { EclIconComponentModule } from '../ecl-icon/ecl-icon.module';\nimport { EclTimelineItemLabelDirective } from './ecl-timeline-item-label.directive';\nimport { EclTimelineItemTitleDirective } from './ecl-timeline-item-title.directive';\nimport { EclTimelineItemTogglerComponent } from './ecl-timeline-item-toggler.component';\nimport { EclTimelineItemComponent } from './ecl-timeline-item.component';\nimport { EclTimelineComponent } from './ecl-timeline.component';\n\n@NgModule({\n imports: [CommonModule, TranslateModule, EclButtonComponentModule, EclIconComponentModule],\n exports: [\n EclTimelineComponent,\n EclTimelineItemComponent,\n EclTimelineItemTogglerComponent,\n EclTimelineItemLabelDirective,\n EclTimelineItemTitleDirective,\n ],\n declarations: [\n EclTimelineComponent,\n EclTimelineItemComponent,\n EclTimelineItemTogglerComponent,\n EclTimelineItemLabelDirective,\n EclTimelineItemTitleDirective,\n ],\n})\nexport class EclTimelineComponentModule {}\n", "import { NgModule } from '@angular/core';\nimport { EclAppComponentModule } from '../components/ecl-app/ecl-app.module';\nimport { EclBreadcrumbComponentModule } from '../components/ecl-breadcrumb/ecl-breadcrumb.module';\nimport { EclPageHeaderComponentModule } from '../components/ecl-page-header/ecl-page-header.module';\nimport { EclSiteHeaderComponentModule } from '../components/ecl-site-header/ecl-site-header.module';\nimport { EclSiteFooterComponentModule } from '../components/ecl-site-footer';\nimport { EclFormGroupComponentModule } from '../components/ecl-form-group/ecl-form-group.module';\nimport { EclTextAreaDirectiveModule } from '../components/ecl-text-area/ecl-text-area.module';\nimport { EclFormLabelComponentModule } from '../components/ecl-form-label/ecl-form-label.module';\nimport { EclDatePickerDirectiveModule } from '../components/ecl-date-picker/ecl-date-picker.module';\nimport { EclTextInputDirectiveModule } from '../components/ecl-text-input/ecl-text-input.module';\nimport { EclSelectDirectiveModule } from '../components/ecl-select/ecl-select.module';\nimport { EclFeedbackMessageDirectiveModule } from '../components/ecl-feedback-message/ecl-feedback-message.module';\nimport { EclHelpBlockDirectiveModule } from '../components/ecl-help-block/ecl-help-block.module';\nimport { EclLinkDirectiveModule } from '../components/ecl-link/ecl-link.module';\nimport { EclMenuComponentModule } from '../components/ecl-menu/ecl-menu.module';\nimport { EclIconComponentModule } from '../components/ecl-icon/ecl-icon.module';\nimport { EclListDirectiveModule } from '../components/ecl-list/ecl-list.module';\nimport { EclButtonComponentModule } from '../components/ecl-button/ecl-button.module';\nimport { EclModalComponentModule } from '../components/ecl-modal/ecl-modal.module';\nimport { EclSearchFormComponentModule } from '../components/ecl-search-form/ecl-search-form.module';\nimport { EclTagComponentModule } from '../components/ecl-tag/ecl-tag.module';\nimport { EclBlockquoteComponentModule } from '../components/ecl-blockquote/ecl-blockquote.module';\nimport { EclSocialMediaFollowComponentModule } from '../components/ecl-social-media-follow/ecl-social-media-follow.module';\nimport { EclSocialMediaShareComponentModule } from '../components/ecl-social-media-share/ecl-social-media-share.module';\nimport { EclDateBlockComponentModule } from '../components/ecl-date-block/ecl-date-block.module';\nimport { EclMediaContainerComponentModule } from '../components/ecl-media-container/ecl-media-container.module';\nimport { EclPaginationComponentModule } from '../components/ecl-pagination/ecl-pagination.module';\nimport { EclBannerComponentModule } from '../components/ecl-banner/ecl-banner.module';\nimport { EclCardComponentModule } from '../components/ecl-card/ecl-card.module';\nimport { EclMessageComponentModule } from '../components/ecl-message/ecl-message.module';\nimport { EclFileComponentModule } from '../components/ecl-file/ecl-file.module';\nimport { EclTimelineComponentModule } from '../components/ecl-timeline/ecl-timeline.module';\nimport { EclAccordionComponentModule } from '../components/ecl-accordion/ecl-accordion.module';\nimport { EclExpandableComponentModule } from '../components/ecl-expandable/ecl-expandable.module';\nimport { EclDefaultLanguageService } from '../services/ecl-default-language.service';\nimport { EclLanguageService } from '../services/ecl-language.service';\nimport { EclRadioDirectiveModule } from '../components/ecl-radio/ecl-radio.module';\nimport { EclGalleryComponentModule } from '../components/ecl-gallery/ecl-gallery.module';\nimport { EclTableDirectiveModule } from '../components/ecl-table/ecl-table.module';\nimport { EclFileUploadDirectiveModule } from '../components/ecl-file-upload/ecl-file-upload.module';\nimport { EclCheckboxModule } from '../components/ecl-checkbox/ecl-checkbox.module';\nimport { EclStickyContainerComponentModule } from '../components/ecl-sticky-container/ecl-sticky-container.module';\nimport { EclFactFiguresComponentModule } from '../components/ecl-fact-figures/ecl-fact-figures.module';\nimport { EclLabelDirectiveModule } from '../components/ecl-label/ecl-label.module';\nimport { EclMultiselectComponentModule } from '../components/ecl-multiselect/ecl-multiselect.module';\nimport { EclNewsTickerComponentModule } from '../components/ecl-news-ticker/ecl-news-ticker.module';\nimport { EclHiddenModule } from '../utils/directives/ecl-hidden/ecl-hidden.module';\nimport { EclFeaturedModule } from '../components/ecl-featured/ecl-featured.module';\nimport { EclInpageNavigationComponentModule } from '../components/ecl-inpage-navigation/ecl-inpage-navigation.module';\nimport { EclListIllustrationComponentModule } from '../components/ecl-list-illustration/ecl-list-illustration.module';\nimport { EclContentItemComponentModule } from '../components/ecl-content-item/ecl-content-item.module';\nimport { EclSpinnerComponentModule } from '../components/ecl-spinner/ecl-spinner.module';\nimport { EclCategoryFilterModule } from '../components/ecl-category-filter/ecl-category-filter.module';\nimport { EclTabsComponentModule } from '../components/ecl-tabs/ecl-tabs.module';\nimport { EclCarouselComponentModule } from '../components/ecl-carousel/ecl-carousel.module';\nimport { EclRatingFieldComponentModule } from '../components/ecl-rating-field/ecl-rating-field.module';\nimport { EclContentBlockComponentModule } from '../components/ecl-content-block/ecl-content-block.module';\nimport { EclNavigationListComponentModule } from '../components/ecl-navigation-list/ecl-navigation-list.module';\nimport { EclPopoverComponentModule } from '../components/ecl-popover/ecl-popover.module';\nimport { EclRangeDirectiveModule } from '../components/ecl-range/ecl-range.module';\n\nconst MODULES = [\n EclAccordionComponentModule,\n EclAppComponentModule,\n EclBannerComponentModule,\n EclBlockquoteComponentModule,\n EclBreadcrumbComponentModule,\n EclButtonComponentModule,\n EclCardComponentModule,\n EclCarouselComponentModule,\n EclCategoryFilterModule,\n EclCheckboxModule,\n EclContentBlockComponentModule,\n EclContentItemComponentModule,\n EclDateBlockComponentModule,\n EclDatePickerDirectiveModule,\n EclExpandableComponentModule,\n EclFactFiguresComponentModule,\n EclFeaturedModule,\n EclFeedbackMessageDirectiveModule,\n EclFileComponentModule,\n EclFileUploadDirectiveModule,\n EclFormGroupComponentModule,\n EclFormLabelComponentModule,\n EclGalleryComponentModule,\n EclHelpBlockDirectiveModule,\n EclHiddenModule,\n EclIconComponentModule,\n EclInpageNavigationComponentModule,\n EclLabelDirectiveModule,\n EclLinkDirectiveModule,\n EclListDirectiveModule,\n EclListIllustrationComponentModule,\n EclMediaContainerComponentModule,\n EclMenuComponentModule,\n EclMessageComponentModule,\n EclModalComponentModule,\n EclMultiselectComponentModule,\n EclNavigationListComponentModule,\n EclNewsTickerComponentModule,\n EclPageHeaderComponentModule,\n EclPaginationComponentModule,\n EclRangeDirectiveModule,\n EclRadioDirectiveModule,\n EclRatingFieldComponentModule,\n EclSearchFormComponentModule,\n EclSelectDirectiveModule,\n EclSiteFooterComponentModule,\n EclSiteHeaderComponentModule,\n EclSocialMediaFollowComponentModule,\n EclSocialMediaShareComponentModule,\n EclSpinnerComponentModule,\n EclStickyContainerComponentModule,\n EclTableDirectiveModule,\n EclTabsComponentModule,\n EclTagComponentModule,\n EclTextAreaDirectiveModule,\n EclTextInputDirectiveModule,\n EclTimelineComponentModule,\n EclPopoverComponentModule,\n];\n\n@NgModule({\n imports: [...MODULES],\n declarations: [],\n exports: [...MODULES],\n providers: [{ provide: EclLanguageService, useClass: EclDefaultLanguageService }],\n})\nexport class EclAllModule {}\n"],
5
- "mappings": "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EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AASE,IAAO,eAAP,MAAO,cAAY;;kHAAZ,eAAY,MAAA,CAAA,GAAA,QAAA,sBAAA,SAAA,CAAA;EAAA;;mHAAZ,eAAY,SAAA;MAlErB;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;IAAyB,GAAA,SAAA;MAzDzB;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;IAAyB,EAAA,CAAA;EAAA;;mHAShB,eAAY,WAFV,CAAC,EAAE,SAAS,oBAAoB,UAAU,0BAAyB,CAAE,GAAC,SAAA;MAHpE;MA7Db;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;IAAyB,EAAA,CAAA;EAAA;;wGAShB,cAAY,YAAA,CAAA;QANxBA;SAAS;IACN,SAAS,CAAC,GAAG,OAAO;IACpB,cAAc,CAAA;IACd,SAAS,CAAC,GAAG,OAAO;IACpB,WAAW,CAAC,EAAE,SAAS,oBAAoB,UAAU,0BAAyB,CAAE;GACnF;;",
6
- "names": ["Inject", "Injectable", "Optional", "GLOBAL_CONFIG_TOKEN", "ReplaySubject", "ECLTheme", "theme", "Inject", "Injectable", "ReplaySubject", "Subject", "takeUntil", "document", "Input", "i0", "Component", "HostBinding", "Input", "i0", "Directive", "EventEmitter", "Output", "i0", "Directive", "HostBinding", "Input", "i0", "KeyCode", "ChangeDetectionStrategy", "Component", "HostBinding", "HostListener", "Subject", "takeUntil", "i0", "NgModule", "CommonModule", "NgModule", "CommonModule", "booleanAttribute", "Component", "ContentChildren", "forwardRef", "HostBinding", "Input", "i0", "Directive", "HostBinding", "i0", "NgModule", "CommonModule", "ChangeDetectionStrategy", "Component", "HostBinding", "Input", "coerceBoolean", "i0", "__decorate", "NgModule", "CommonModule", "TranslateModule", "Component", "HostBinding", "i0", "NgModule", "CommonModule", "TranslateModule", "Directive", "HostBinding", "Input", "forwardRef", "ContentChildren", "coerceBoolean", "i0", "__decorate", "Directive", "HostBinding", "i0", "NgModule", "CommonModule", "Directive", "HostBinding", "Input", "Optional", "coerceBoolean", "i0", "__decorate", "NgModule", "CommonModule", "Component", "EventEmitter", "forwardRef", "HostBinding", "HostListener", "Input", "Output", "i0", "NgModule", "CommonModule", "TranslateModule", "Component", "HostBinding", "i0", "Component", "i0", "Directive", "HostBinding", "i0", "Component", "HostBinding", "Subject", "takeUntil", "i0", "Component", "EventEmitter", "HostBinding", "Input", "Output", "i0", "Component", "ElementRef", "EventEmitter", "HostBinding", "HostListener", "Input", "Output", "ViewChild", "coerceElement", "Subject", "takeUntil", "i0", "__decorate", "Component", "EventEmitter", "HostBinding", "Input", "Output", "coerceBoolean", "i0", "__decorate", "Component", "EventEmitter", "forwardRef", "HostBinding", "Input", "Output", "NG_VALUE_ACCESSOR", "noop", "i0", "Component", "EventEmitter", "HostBinding", "Input", "Output", "ViewChild", "coerceElement", "Subject", "takeUntil", "i0", "__decorate", "Directive", "HostBinding", "i0", "Component", "HostBinding", "i0", "CommonModule", "NgModule", "FormsModule", "ReactiveFormsModule", "TranslateModule", "Component", "ContentChild", "EventEmitter", "HostBinding", "Output", "Subject", "takeUntil", "i0", "CommonModule", "NgModule", "Directive", "HostBinding", "i0", "Directive", "HostBinding", "i0", "Directive", "HostBinding", "i0", "Component", "ContentChild", "ContentChildren", "HostBinding", "Input", "ViewChild", "booleanAttribute", "forwardRef", "i0", "Directive", "HostBinding", "i0", "NgModule", "CommonModule", "COMPONENTS", "Component", "Input", "HostBinding", "ChangeDetectionStrategy", "i0", "Directive", "HostBinding", "i0", "NgModule", "CommonModule", "Component", "EventEmitter", "HostBinding", "Input", "Output", "ViewEncapsulation", "booleanAttribute", "i0", "Component", "ContentChildren", "HostBinding", "Input", "ViewChild", "booleanAttribute", "forwardRef", "HostListener", "Subject", "takeUntil", "i0", "NgModule", "CommonModule", "RouterModule", "TranslateModule", "COMPONENTS", "Directive", "HostBinding", "Input", "i0", "NgModule", "CommonModule", "Component", "HostBinding", "i0", "Directive", "HostBinding", "ContentChild", "i0", "Component", "HostBinding", "i0", "CommonModule", "NgModule", "COMPONENTS", "Directive", "HostBinding", "i0", "Component", "HostBinding", "ContentChild", "forwardRef", "i0", "CommonModule", "NgModule", "RouterModule", "COMPONENTS", "Component", "EventEmitter", "HostBinding", "HostListener", "Input", "Output", "booleanAttribute", "ContentChild", "forwardRef", "i0", "Component", "ContentChildren", "EventEmitter", "HostBinding", "Input", "Output", "ViewChild", "booleanAttribute", "forwardRef", "numberAttribute", "Subject", "switchMap", "takeUntil", "button", "i0", "CommonModule", "NgModule", "TranslateModule", "COMPONENTS", "Component", "ContentChildren", "forwardRef", "HostBinding", "i0", "Component", "ContentChild", "EventEmitter", "forwardRef", "HostBinding", "Input", "Output", "i0", "Component", "ContentChild", "ContentChildren", "forwardRef", "HostBinding", "Input", "Subject", "takeUntil", "uuidgen", "i0", "NgModule", "CommonModule", "TranslateModule", "Directive", "HostBinding", "Input", "coerceBoolean", "i0", "__decorate", "Component", "HostBinding", "Input", "ViewEncapsulation", "coerceBoolean", "i0", "__decorate", "Component", "HostBinding", "Input", "i0", "Directive", "HostBinding", "Input", "forwardRef", "ContentChild", "coerceBoolean", "i0", "__decorate", "Directive", "forwardRef", "HostBinding", "Inject", "Optional", "Self", "i0", "CommonModule", "NgModule", "COMPONENTS", "Directive", "HostBinding", "Input", "i0", "Component", "Input", "HostBinding", "i0", "Component", "ContentChild", "forwardRef", "HostBinding", "i0", "CommonModule", "NgModule", "RouterModule", "COMPONENTS", "CommonModule", "NgModule", "Directive", "HostBinding", "Input", "Output", "EventEmitter", "forwardRef", "HostListener", "NG_VALUE_ACCESSOR", "Subject", "takeUntil", "noop", "i0", "CommonModule", "NgModule", "TranslateModule", "Component", "Input", "Output", "EventEmitter", "HostBinding", "booleanAttribute", "i0", "NgModule", "CommonModule", "TranslateModule", "Component", "Input", "HostBinding", "i0", "Component", "ContentChildren", "HostBinding", "i0", "Component", "ContentChild", "HostBinding", "i0", "Component", "HostBinding", "i0", "Component", "HostBinding", "i0", "Component", "HostBinding", "i0", "NgModule", "CommonModule", "TranslateModule", "Directive", "HostBinding", "Input", "i0", "ContentChild", "Directive", "HostBinding", "Input", "i0", "Directive", "HostBinding", "i0", "Component", "ContentChild", "HostBinding", "Input", "i0", "NgModule", "CommonModule", "TranslateModule", "COMPONENTS", "Component", "HostBinding", "i0", "Directive", "HostBinding", "i0", "Component", "ContentChild", "HostBinding", "Input", "i0", "Component", "HostBinding", "Input", "coerceBoolean", "i0", "__decorate", "CommonModule", "NgModule", "TranslateModule", "ContentChildren", "Directive", "forwardRef", "HostBinding", "i0", "NgModule", "CommonModule", "Directive", "HostBinding", "Input", "Optional", "Self", "HostListener", "Output", "EventEmitter", "takeUntil", "Subject", "coerceBoolean", "i0", "__decorate", "NgModule", "CommonModule", "Directive", "HostBinding", "i0", "Component", "Input", "Output", "EventEmitter", "HostBinding", "ContentChild", "booleanAttribute", "i0", "__decorate", "Component", "Input", "HostBinding", "Output", "EventEmitter", "booleanAttribute", "coerceArray", "i0", "__decorate", "Component", "Input", "ContentChildren", "Output", "EventEmitter", "HostBinding", "coerceBoolean", "i0", "__decorate", "Component", "HostBinding", "i0", "Directive", "HostBinding", "i0", "NgModule", "CommonModule", "TranslateModule", "COMPONENTS", "Directive", "HostBinding", "Input", "i0", "Component", "ContentChild", "EventEmitter", "HostBinding", "HostListener", "Input", "Output", "coerceBoolean", "i0", "__decorate", "Component", "EventEmitter", "Output", "i0", "Component", "Input", "Output", "ContentChildren", "EventEmitter", "HostListener", "ViewChild", "HostBinding", "ContentChild", "Subject", "takeUntil", "coerceBoolean", "i0", "__decorate", "NgModule", "CommonModule", "TranslateModule", "COMPONENTS", "NgModule", "CommonModule", "Component", "HostBinding", "Input", "Output", "EventEmitter", "i0", "Component", "HostBinding", "Input", "coerceBoolean", "i0", "__decorate", "NgModule", "CommonModule", "EventEmitter", "Component", "Input", "ContentChildren", "Output", "Subject", "fromEvent", "takeUntil", "i0", "NgModule", "CommonModule", "TranslateModule", "Component", "HostBinding", "Input", "coerceBoolean", "i0", "__decorate", "Component", "ContentChildren", "forwardRef", "HostBinding", "Input", "i0", "Directive", "HostBinding", "i0", "Directive", "HostBinding", "Input", "coerceBoolean", "i0", "__decorate", "Component", "HostBinding", "Input", "coerceBoolean", "coerceNumber", "i0", "__decorate", "NgModule", "CommonModule", "TranslateModule", "COMPONENTS", "Directive", "HostBinding", "i0", "Component", "ContentChildren", "HostBinding", "Input", "i0", "ContentChildren", "Directive", "HostBinding", "Input", "booleanAttribute", "numberAttribute", "i0", "CommonModule", "NgModule", "TranslateModule", "COMPONENTS", "Component", "Input", "HostBinding", "Output", "EventEmitter", "HostListener", "ContentChildren", "forwardRef", "ViewChild", "coerceBoolean", "i0", "__decorate", "Component", "Input", "ContentChildren", "Output", "EventEmitter", "HostBinding", "Subject", "of", "takeUntil", "coerceBoolean", "i0", "__decorate", "Component", "ContentChild", "EventEmitter", "forwardRef", "HostBinding", "HostListener", "Input", "Output", "ViewChild", "ViewEncapsulation", "Subject", "takeUntil", "Breakpoints", "i0", "Breakpoints", "Component", "ContentChildren", "EventEmitter", "HostBinding", "HostListener", "Input", "Output", "ViewChild", "coerceNumber", "Subject", "of", "mergeWith", "takeUntil", "i0", "__decorate", "NgModule", "CommonModule", "LayoutModule", "TranslateModule", "RouterModule", "COMPONENTS", "Component", "Input", "Output", "EventEmitter", "HostBinding", "coerceBoolean", "i0", "__decorate", "Directive", "HostBinding", "i0", "NgModule", "CommonModule", "TranslateModule", "Directive", "EventEmitter", "HostListener", "Input", "Output", "i0", "Component", "EventEmitter", "HostBinding", "Input", "Output", "i0", "Component", "ContentChild", "ContentChildren", "EventEmitter", "forwardRef", "HostBinding", "HostListener", "Input", "Output", "Subject", "takeUntil", "i0", "Component", "HostBinding", "Input", "booleanAttribute", "i0", "Component", "ContentChildren", "forwardRef", "HostBinding", "i0", "Directive", "HostListener", "Input", "i0", "Directive", "HostBinding", "i0", "NgModule", "CommonModule", "COMPONENTS", "Component", "EventEmitter", "HostBinding", "Input", "Output", "ViewChild", "coerceBoolean", "Subject", "uuidgen", "i0", "__decorate", "Component", "EventEmitter", "HostBinding", "Input", "Output", "ViewChild", "coerceBoolean", "i0", "__decorate", "Component", "HostBinding", "Input", "EclMultiselectOptionClickEvent", "EclMultiselectOptionKeydownEvent", "i0", "Component", "ElementRef", "EventEmitter", "forwardRef", "HostBinding", "HostListener", "Input", "Output", "ViewChild", "ViewChildren", "NG_VALUE_ACCESSOR", "coerceBoolean", "Subject", "uuidgen", "i0", "__decorate", "coerceBooleanProperty", "ContentChildren", "Directive", "HostBinding", "Input", "Subject", "i0", "coerceBooleanProperty", "Component", "ContentChildren", "EventEmitter", "forwardRef", "HostBinding", "Input", "Output", "ViewEncapsulation", "NG_VALUE_ACCESSOR", "NgControl", "coerceBoolean", "Subject", "takeUntil", "i0", "__decorate", "NgModule", "CommonModule", "TranslateModule", "COMPONENTS", "Component", "ContentChild", "forwardRef", "HostBinding", "Input", "i0", "Component", "HostBinding", "Input", "coerceNumber", "i0", "__decorate", "Directive", "HostBinding", "i0", "Component", "HostBinding", "Input", "i0", "CommonModule", "NgModule", "COMPONENTS", "Component", "ContentChild", "EventEmitter", "HostBinding", "Output", "fromEvent", "Subject", "takeUntil", "i0", "Component", "ContentChildren", "EventEmitter", "HostBinding", "HostListener", "Input", "Output", "ViewChild", "Subject", "takeUntil", "coerceBoolean", "coerceElement", "i0", "__decorate", "NgModule", "CommonModule", "TranslateModule", "Directive", "HostBinding", "i0", "Directive", "HostBinding", "i0", "Directive", "HostBinding", "i0", "Directive", "HostBinding", "i0", "Component", "ContentChild", "HostBinding", "Input", "coerceBoolean", "i0", "__decorate", "Component", "ContentChild", "HostBinding", "i0", "NgModule", "CommonModule", "COMPONENTS", "Component", "EventEmitter", "HostBinding", "Input", "Output", "ViewEncapsulation", "coerceBoolean", "i0", "__decorate", "Component", "EventEmitter", "HostBinding", "Input", "Output", "coerceNumber", "i0", "__decorate", "NgModule", "CommonModule", "RouterModule", "TranslateModule", "Directive", "EventEmitter", "HostBinding", "HostListener", "Output", "i0", "Component", "ContentChild", "HostBinding", "HostListener", "ViewChild", "coerceElement", "Subject", "takeUntil", "i0", "__decorate", "Directive", "HostBinding", "i0", "Directive", "HostBinding", "i0", "NgModule", "CommonModule", "COMPONENTS", "Component", "HostBinding", "Input", "coerceBoolean", "i0", "__decorate", "Component", "HostBinding", "Input", "ViewEncapsulation", "coerceBoolean", "i0", "__decorate", "ContentChild", "Directive", "forwardRef", "HostBinding", "Input", "coerceBoolean", "i0", "__decorate", "Directive", "HostBinding", "Optional", "Self", "Inject", "forwardRef", "i0", "CommonModule", "NgModule", "Component", "EventEmitter", "forwardRef", "HostBinding", "Input", "Output", "NG_VALUE_ACCESSOR", "coerceBoolean", "coerceNumber", "noop", "i0", "__decorate", "NgModule", "CommonModule", "COMPONENTS", "Component", "HostBinding", "Input", "i0", "Directive", "EventEmitter", "HostBinding", "HostListener", "Input", "Optional", "Output", "Self", "coerceBoolean", "i0", "__decorate", "CommonModule", "NgModule", "TranslateModule", "COMPONENTS", "Component", "HostBinding", "Input", "i0", "Directive", "HostBinding", "Input", "Optional", "Self", "coerceBoolean", "i0", "__decorate", "NgModule", "CommonModule", "COMPONENTS", "Directive", "HostBinding", "Input", "coerceBoolean", "i0", "__decorate", "Directive", "HostBinding", "Input", "coerceBoolean", "i0", "__decorate", "Directive", "HostBinding", "i0", "Directive", "HostBinding", "Input", "coerceBoolean", "i0", "__decorate", "Directive", "HostBinding", "i0", "Directive", "HostBinding", "i0", "Component", "Input", "coerceBoolean", "i0", "__decorate", "Component", "Input", "coerceBoolean", "i0", "__decorate", "Component", "HostBinding", "Input", "coerceBoolean", "i0", "__decorate", "NgModule", "CommonModule", "TranslateModule", "COMPONENTS", "Component", "HostBinding", "Input", "coerceBoolean", "i0", "__decorate", "Component", "EventEmitter", "HostBinding", "Input", "Output", "i0", "Directive", "HostBinding", "ContentChild", "i0", "NgModule", "CommonModule", "COMPONENTS", "Component", "HostBinding", "Input", "coerceBoolean", "i0", "__decorate", "Component", "EventEmitter", "HostBinding", "Input", "Output", "i0", "Directive", "HostBinding", "ContentChild", "i0", "NgModule", "CommonModule", "COMPONENTS", "Component", "HostBinding", "Input", "coerceBoolean", "i0", "__decorate", "Directive", "HostBinding", "i0", "NgModule", "CommonModule", "TranslateModule", "Component", "HostBinding", "Input", "i0", "ContentChildren", "Directive", "EventEmitter", "forwardRef", "HostBinding", "HostListener", "Input", "Output", "Subject", "takeUntil", "coerceBoolean", "SortOrder", "i0", "__decorate", "NgModule", "CommonModule", "COMPONENTS", "Component", "i0", "Component", "ContentChild", "EventEmitter", "HostBinding", "Input", "Output", "ViewChild", "coerceBoolean", "i0", "__decorate", "Component", "HostBinding", "Input", "coerceBoolean", "i0", "__decorate", "Component", "ContentChildren", "EventEmitter", "forwardRef", "HostListener", "Input", "Output", "ViewChild", "ViewEncapsulation", "of", "Subject", "mergeWith", "takeUntil", "ShiftDirection", "i0", "CommonModule", "NgModule", "TranslateModule", "COMPONENTS", "Component", "Input", "HostBinding", "Output", "EventEmitter", "i0", "NgModule", "CommonModule", "Directive", "HostBinding", "Input", "Optional", "Self", "coerceBoolean", "i0", "__decorate", "NgModule", "CommonModule", "Directive", "HostBinding", "i0", "Directive", "HostBinding", "i0", "Component", "EventEmitter", "HostListener", "Output", "i0", "Component", "Input", "HostBinding", "ViewEncapsulation", "Output", "EventEmitter", "ContentChild", "forwardRef", "coerceBoolean", "Subject", "takeUntil", "i0", "__decorate", "Component", "ContentChildren", "forwardRef", "HostBinding", "Subject", "takeUntil", "i0", "CommonModule", "NgModule", "TranslateModule", "NgModule"]
3
+ "sources": ["../../src/lib/model/ecl-base.event.ts", "../../src/lib/components/ecl-base.directive.ts", "../../src/lib/services/ecl-default-language.service.ts", "../../src/lib/services/ecl-language.service.ts", "../../src/lib/services/ecl-theme.service.ts", "../../src/lib/services/ecl-rtl.service.ts", "../../src/lib/components/ecl-icon/ecl-icon.component.ts", "../../src/lib/components/ecl-icon/ecl-icon.component.html", "../../src/lib/components/ecl-accordion/ecl-accordion-item.component.ts", "../../src/lib/components/ecl-accordion/ecl-accordion-item.component.html", "../../src/lib/utils/directives/ecl-click-outside/ecl-click-outside.directive.ts", "../../src/lib/utils/directives/ecl-hidden/ecl-hidden.directive.ts", "../../src/lib/utils/directives/ecl-hidden/ecl-hidden.module.ts", "../../src/lib/utils/dom/dom-helpers.ts", "../../src/lib/utils/constants/constants.ts", "../../src/lib/components/ecl-accordion/ecl-accordion.component.ts", "../../src/lib/components/ecl-accordion/ecl-accordion.component.html", "../../src/lib/components/ecl-icon/ecl-icon.module.ts", "../../src/lib/components/ecl-accordion/ecl-accordion.module.ts", "../../src/lib/model/ecl-dom.event.ts", "../../src/lib/components/ecl-button/ecl-button.component.ts", "../../src/lib/components/ecl-button/ecl-button.component.html", "../../src/lib/components/ecl-button/ecl-button-label.directive.ts", "../../src/lib/components/ecl-button/ecl-button.module.ts", "../../src/lib/components/ecl-form-label/ecl-form-label.component.ts", "../../src/lib/components/ecl-form-label/ecl-form-label.component.html", "../../src/lib/components/ecl-form-label/ecl-form-label.module.ts", "../../src/lib/components/ecl-form-group/ecl-form-group.component.ts", "../../src/lib/components/ecl-form-group/ecl-form-group.component.html", "../../src/lib/components/ecl-form-group/ecl-form-group.module.ts", "../../src/lib/components/ecl-link/ecl-link.directive.ts", "../../src/lib/components/ecl-link/ecl-link-label.directive.ts", "../../src/lib/components/ecl-link/ecl-link.module.ts", "../../src/lib/components/ecl-text-input/ecl-text-input.directive.ts", "../../src/lib/components/ecl-text-input/ecl-text-input.module.ts", "../../src/lib/components/ecl-search-form/ecl-search-form.component.ts", "../../src/lib/components/ecl-search-form/ecl-search-form.component.html", "../../src/lib/components/ecl-search-form/ecl-search-form.module.ts", "../../src/lib/components/ecl-site-header/action/ecl-site-header-action.component.ts", "../../src/lib/components/ecl-site-header/action/ecl-site-header-action.component.html", "../../src/lib/components/ecl-site-header/banner-top/ecl-site-header-banner-top.component.ts", "../../src/lib/components/ecl-site-header/banner-top/ecl-site-header-banner-top.component.html", "../../src/lib/components/ecl-site-header/cta/ecl-site-header-cta.directive.ts", "../../src/lib/components/ecl-site-header/ecl-site-header-environment/ecl-site-header-environment.component.ts", "../../src/lib/components/ecl-site-header/language/ecl-site-header-language-popover.component.ts", "../../src/lib/components/ecl-site-header/language/ecl-site-header-language-popover.component.html", "../../src/lib/components/ecl-site-header/language/ecl-site-header-language.component.ts", "../../src/lib/components/ecl-site-header/language/ecl-site-header-language.component.html", "../../src/lib/components/ecl-site-header/login/ecl-site-header-login.component.ts", "../../src/lib/components/ecl-site-header/login/ecl-site-header-login.component.html", "../../src/lib/components/ecl-site-header/search/ecl-site-header-search.component.ts", "../../src/lib/components/ecl-site-header/search/ecl-site-header-search.component.html", "../../src/lib/components/ecl-site-header/ecl-site-header.component.ts", "../../src/lib/components/ecl-site-header/ecl-site-header.component.html", "../../src/lib/components/ecl-site-header/login/ecl-site-header-login-details.directive.ts", "../../src/lib/components/ecl-site-header/message/ecl-site-header-message.component.ts", "../../src/lib/components/ecl-site-header/message/ecl-site-header-message.component.html", "../../src/lib/components/ecl-site-header/ecl-site-header.module.ts", "../../src/lib/components/ecl-app/ecl-app.component.ts", "../../src/lib/components/ecl-app/ecl-app.component.html", "../../src/lib/components/ecl-app/ecl-app.module.ts", "../../src/lib/components/ecl-banner/ecl-banner-title.directive.ts", "../../src/lib/components/ecl-banner/ecl-banner-description.directive.ts", "../../src/lib/components/ecl-banner/ecl-banner-picture.directive.ts", "../../src/lib/components/ecl-banner/ecl-banner.component.ts", "../../src/lib/components/ecl-banner/ecl-banner.component.html", "../../src/lib/components/ecl-banner/ecl-banner-credit.directive.ts", "../../src/lib/components/ecl-banner/ecl-banner.module.ts", "../../src/lib/components/ecl-blockquote/ecl-blockquote.component.ts", "../../src/lib/components/ecl-blockquote/ecl-blockquote.component.html", "../../src/lib/components/ecl-blockquote/ecl-blockquote-picture.directive.ts", "../../src/lib/components/ecl-blockquote/ecl-blockquote.module.ts", "../../src/lib/components/ecl-breadcrumb/ecl-breadcrumb-segment.component.ts", "../../src/lib/components/ecl-breadcrumb/ecl-breadcrumb-segment.component.html", "../../src/lib/components/ecl-breadcrumb/ecl-breadcrumb.component.ts", "../../src/lib/components/ecl-breadcrumb/ecl-breadcrumb.component.html", "../../src/lib/components/ecl-breadcrumb/ecl-breadcrumb.module.ts", "../../src/lib/components/ecl-label/ecl-label.directive.ts", "../../src/lib/components/ecl-label/ecl-label.module.ts", "../../src/lib/components/ecl-card/ecl-card-body.component.ts", "../../src/lib/components/ecl-card/ecl-card-body.component.html", "../../src/lib/components/ecl-content-block/ecl-content-block-elements.directive.ts", "../../src/lib/components/ecl-content-block/ecl-content-block.component.ts", "../../src/lib/components/ecl-content-block/ecl-content-block.component.html", "../../src/lib/components/ecl-content-block/ecl-content-block.module.ts", "../../src/lib/components/ecl-card/ecl-card-picture.directive.ts", "../../src/lib/components/ecl-card/ecl-card.component.ts", "../../src/lib/components/ecl-card/ecl-card.component.html", "../../src/lib/components/ecl-card/ecl-card.module.ts", "../../src/lib/components/ecl-carousel/ecl-carousel.event.ts", "../../src/lib/components/ecl-carousel/ecl-carousel-item.component.ts", "../../src/lib/components/ecl-carousel/ecl-carousel-item.component.html", "../../src/lib/components/ecl-carousel/ecl-carousel.component.ts", "../../src/lib/components/ecl-carousel/ecl-carousel.component.html", "../../src/lib/components/ecl-carousel/ecl-carousel.module.ts", "../../src/lib/components/ecl-category-filter/common/ecl-category-filter-item.event.ts", "../../src/lib/components/ecl-category-filter/ecl-category-filter-list/ecl-category-filter-list.component.ts", "../../src/lib/components/ecl-category-filter/ecl-category-filter-list/ecl-category-filter-list.component.html", "../../src/lib/components/ecl-category-filter/ecl-category-filter-list/ecl-category-filter-item.component.ts", "../../src/lib/components/ecl-category-filter/ecl-category-filter-list/ecl-category-filter-item.component.html", "../../src/lib/components/ecl-category-filter/ecl-category-filter/ecl-category-filter.component.ts", "../../src/lib/components/ecl-category-filter/ecl-category-filter/ecl-category-filter.component.html", "../../src/lib/components/ecl-category-filter/ecl-category-filter.module.ts", "../../src/lib/components/ecl-help-block/ecl-help-block.directive.ts", "../../src/lib/components/ecl-checkbox/ecl-checkbox-label.component.ts", "../../src/lib/components/ecl-checkbox/ecl-checkbox-label.component.html", "../../src/lib/components/ecl-checkbox/ecl-checkbox-help.component.ts", "../../src/lib/components/ecl-checkbox/ecl-checkbox-help.component.html", "../../src/lib/components/ecl-checkbox/ecl-checkbox.directive.ts", "../../src/lib/components/ecl-checkbox/ecl-checkbox-input.directive.ts", "../../src/lib/components/ecl-checkbox/ecl-checkbox.module.ts", "../../src/lib/components/ecl-content-item/ecl-content-item-image.directive.ts", "../../src/lib/components/ecl-date-block/ecl-date-block.component.ts", "../../src/lib/components/ecl-date-block/ecl-date-block.component.html", "../../src/lib/components/ecl-content-item/ecl-content-item.component.ts", "../../src/lib/components/ecl-content-item/ecl-content-item.component.html", "../../src/lib/components/ecl-content-item/ecl-content-item.module.ts", "../../src/lib/components/ecl-date-block/ecl-date-block.module.ts", "../../src/lib/components/ecl-date-picker/ecl-date-picker.directive.ts", "../../src/lib/components/ecl-date-picker/ecl-date-picker.module.ts", "../../src/lib/components/ecl-expandable/ecl-expandable.component.ts", "../../src/lib/components/ecl-expandable/ecl-expandable.component.html", "../../src/lib/components/ecl-expandable/ecl-expandable.module.ts", "../../src/lib/components/ecl-fact-figures/ecl-fact-figures.component.ts", "../../src/lib/components/ecl-fact-figures/ecl-fact-figures.component.html", "../../src/lib/components/ecl-fact-figures/ecl-fact-figures-item.component.ts", "../../src/lib/components/ecl-fact-figures/ecl-fact-figures-item.component.html", "../../src/lib/components/ecl-fact-figures/ecl-fact-figures-view-all.component.ts", "../../src/lib/components/ecl-fact-figures/ecl-fact-figures-view-all.component.html", "../../src/lib/components/ecl-fact-figures/ecl-fact-figures-description.component.ts", "../../src/lib/components/ecl-fact-figures/ecl-fact-figures-description.component.html", "../../src/lib/components/ecl-fact-figures/ecl-fact-figures-title.component.ts", "../../src/lib/components/ecl-fact-figures/ecl-fact-figures-title.component.html", "../../src/lib/components/ecl-fact-figures/ecl-fact-figures-value.component.ts", "../../src/lib/components/ecl-fact-figures/ecl-fact-figures-value.component.html", "../../src/lib/components/ecl-fact-figures/ecl-fact-figures.module.ts", "../../src/lib/components/ecl-media-container/ecl-media-container.component.ts", "../../src/lib/components/ecl-media-container/ecl-media-container.component.html", "../../src/lib/components/ecl-media-container/ecl-media-container-iframe.directive.ts", "../../src/lib/components/ecl-media-container/ecl-media-container-item.directive.ts", "../../src/lib/components/ecl-media-container/ecl-media-container-picture.directive.ts", "../../src/lib/components/ecl-media-container/ecl-media-container.module.ts", "../../src/lib/components/ecl-featured/ecl-featured-item-description.component.ts", "../../src/lib/components/ecl-featured/ecl-featured-item-description.component.html", "../../src/lib/components/ecl-featured/ecl-featured-item-link.directive.ts", "../../src/lib/components/ecl-featured/ecl-featured-item.component.ts", "../../src/lib/components/ecl-featured/ecl-featured-item.component.html", "../../src/lib/components/ecl-featured/ecl-featured.component.ts", "../../src/lib/components/ecl-featured/ecl-featured.component.html", "../../src/lib/components/ecl-featured/ecl-featured-item-footer.component.ts", "../../src/lib/components/ecl-featured/ecl-featured-item-footer.component.html", "../../src/lib/components/ecl-featured/ecl-featured.module.ts", "../../src/lib/components/ecl-feedback-message/ecl-feedback-message.directive.ts", "../../src/lib/components/ecl-feedback-message/ecl-feedback-message.module.ts", "../../src/lib/components/ecl-file-upload/ecl-file-upload.directive.ts", "../../src/lib/components/ecl-file-upload/ecl-file-upload.module.ts", "../../src/lib/components/ecl-file/ecl-file-picture.directive.ts", "../../src/lib/components/ecl-file/ecl-file.component.ts", "../../src/lib/components/ecl-file/ecl-file.component.html", "../../src/lib/components/ecl-file/ecl-file-item/ecl-file-item.component.ts", "../../src/lib/components/ecl-file/ecl-file-item/ecl-file-item.component.html", "../../src/lib/components/ecl-file/ecl-file-items/ecl-file-items.component.ts", "../../src/lib/components/ecl-file/ecl-file-items/ecl-file-items.component.html", "../../src/lib/components/ecl-file/ecl-file-taxonomy/ecl-file-taxonomy.component.ts", "../../src/lib/components/ecl-file/ecl-file-taxonomy/ecl-file-taxonomy.component.html", "../../src/lib/components/ecl-file/ecl-file-download.directive.ts", "../../src/lib/components/ecl-file/ecl-file.module.ts", "../../src/lib/components/ecl-gallery/ecl-gallery-media.directive.ts", "../../src/lib/components/ecl-gallery/ecl-gallery-item.component.ts", "../../src/lib/components/ecl-gallery/ecl-gallery-item.component.html", "../../src/lib/components/ecl-gallery/ecl-gallery-footer.component.ts", "../../src/lib/components/ecl-gallery/ecl-gallery-footer.component.html", "../../src/lib/components/ecl-gallery/ecl-gallery.component.ts", "../../src/lib/components/ecl-gallery/ecl-gallery.component.html", "../../src/lib/components/ecl-gallery/ecl-gallery.module.ts", "../../src/lib/components/ecl-help-block/ecl-help-block.module.ts", "../../src/lib/components/ecl-inpage-navigation/ecl-inpage-navigation-item.component.ts", "../../src/lib/components/ecl-inpage-navigation/ecl-inpage-navigation-item.component.html", "../../src/lib/components/ecl-sticky-container/ecl-sticky-container.component.ts", "../../src/lib/components/ecl-sticky-container/ecl-sticky-container.component.html", "../../src/lib/components/ecl-sticky-container/ecl-sticky-container.module.ts", "../../src/lib/components/ecl-inpage-navigation/ecl-inpage-navigation.component.ts", "../../src/lib/components/ecl-inpage-navigation/ecl-inpage-navigation.component.html", "../../src/lib/components/ecl-inpage-navigation/ecl-inpage-navigation.module.ts", "../../src/lib/components/ecl-list-illustration/ecl-list-illustration-item.component.ts", "../../src/lib/components/ecl-list-illustration/ecl-list-illustration-item.component.html", "../../src/lib/components/ecl-list-illustration/ecl-list-illustration-icon.directive.ts", "../../src/lib/components/ecl-list-illustration/ecl-list-illustration-picture.directive.ts", "../../src/lib/components/ecl-list-illustration/ecl-list-illustration.component.ts", "../../src/lib/components/ecl-list-illustration/ecl-list-illustration.component.html", "../../src/lib/components/ecl-list-illustration/ecl-list-illustration.module.ts", "../../src/lib/components/ecl-list/ecl-description-list-definition-item.directive.ts", "../../src/lib/components/ecl-list/ecl-description-list-definition/ecl-description-list-definition.component.ts", "../../src/lib/components/ecl-list/ecl-description-list-definition/ecl-description-list-definition.component.html", "../../src/lib/components/ecl-list/ecl-list.directive.ts", "../../src/lib/components/ecl-list/ecl-list.module.ts", "../../src/lib/components/ecl-menu/common/ecl-menu-item.event.ts", "../../src/lib/components/ecl-menu/ecl-menu-mega/ecl-menu-mega-item.component.ts", "../../src/lib/components/ecl-menu/ecl-menu-mega/ecl-menu-mega-item.component.html", "../../src/lib/components/ecl-menu/ecl-menu-mega/ecl-menu-mega.component.ts", "../../src/lib/components/ecl-menu/ecl-menu-mega/ecl-menu-mega.component.html", "../../src/lib/components/ecl-menu/ecl-menu/ecl-menu-item.component.ts", "../../src/lib/components/ecl-menu/ecl-menu/ecl-menu-item.component.html", "../../src/lib/components/ecl-menu/ecl-menu/ecl-menu.component.ts", "../../src/lib/components/ecl-menu/ecl-menu/ecl-menu.component.html", "../../src/lib/components/ecl-menu/ecl-menu.module.ts", "../../src/lib/components/ecl-modal/ecl-modal-close.directive.ts", "../../src/lib/components/ecl-modal/ecl-modal-header.component.ts", "../../src/lib/components/ecl-modal/ecl-modal-header.component.html", "../../src/lib/components/ecl-modal/ecl-modal.component.ts", "../../src/lib/components/ecl-modal/ecl-modal.component.html", "../../src/lib/components/ecl-modal/ecl-modal-body.component.ts", "../../src/lib/components/ecl-modal/ecl-modal-body.component.html", "../../src/lib/components/ecl-modal/ecl-modal-footer.component.ts", "../../src/lib/components/ecl-modal/ecl-modal-footer.component.html", "../../src/lib/components/ecl-modal/ecl-modal-trigger.directive.ts", "../../src/lib/components/ecl-modal/ecl-modal-body-fixed.directive.ts", "../../src/lib/components/ecl-modal/ecl-modal.module.ts", "../../src/lib/components/ecl-multiselect/boldText.pipe.ts", "../../src/lib/components/ecl-multiselect/ecl-multiselect-option/ecl-multiselect-option.component.ts", "../../src/lib/components/ecl-multiselect/ecl-multiselect-option/ecl-multiselect-option.component.html", "../../src/lib/components/ecl-multiselect/ecl-multiselect-input/ecl-multiselect-input.component.ts", "../../src/lib/components/ecl-multiselect/ecl-multiselect-input/ecl-multiselect-input.component.html", "../../src/lib/components/ecl-multiselect/ecl-multiselect-optgroup/ecl-multiselect-optgroup.component.ts", "../../src/lib/components/ecl-multiselect/ecl-multiselect-optgroup/ecl-multiselect-optgroup.component.html", "../../src/lib/components/ecl-multiselect/ecl-multiselect-dropdown/ecl-multiselect-dropdown.component.ts", "../../src/lib/components/ecl-multiselect/ecl-multiselect-dropdown/ecl-multiselect-dropdown.component.html", "../../src/lib/components/ecl-multiselect/ecl-multiselect-option.directive.ts", "../../src/lib/components/ecl-multiselect/ecl-multiselect.component.ts", "../../src/lib/components/ecl-multiselect/ecl-multiselect.component.html", "../../src/lib/components/ecl-multiselect/ecl-multiselect.module.ts", "../../src/lib/components/ecl-navigation-list/ecl-navigation-list-item.component.ts", "../../src/lib/components/ecl-navigation-list/ecl-navigation-list-item.component.html", "../../src/lib/components/ecl-navigation-list/ecl-navigation-list.component.ts", "../../src/lib/components/ecl-navigation-list/ecl-navigation-list.component.html", "../../src/lib/components/ecl-navigation-list/ecl-navigation-list-picture.directive.ts", "../../src/lib/components/ecl-navigation-list/ecl-navigation-list-image/ecl-navigation-list-image.component.ts", "../../src/lib/components/ecl-navigation-list/ecl-navigation-list-image/ecl-navigation-list-image.component.html", "../../src/lib/components/ecl-navigation-list/ecl-navigation-list.module.ts", "../../src/lib/components/ecl-news-ticker/ecl-news-ticker-item.component.ts", "../../src/lib/components/ecl-news-ticker/ecl-news-ticker-item.component.html", "../../src/lib/components/ecl-news-ticker/ecl-news-ticker.component.ts", "../../src/lib/components/ecl-news-ticker/ecl-news-ticker.component.html", "../../src/lib/components/ecl-news-ticker/ecl-news-ticker.module.ts", "../../src/lib/components/ecl-notification/ecl-notification.component.ts", "../../src/lib/components/ecl-notification/ecl-notification.component.html", "../../src/lib/components/ecl-notification/ecl-notification-title.directive.ts", "../../src/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-section.directive.ts", "../../src/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-title.directive.ts", "../../src/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-description.directive.ts", "../../src/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-list.directive.ts", "../../src/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-link.directive.ts", "../../src/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-column.directive.ts", "../../src/lib/components/ecl-site-footer/ecl-footer-elements/ec/ecl-site-footer-fixed-content.ts", "../../src/lib/components/ecl-site-footer/ecl-footer-elements/ec/ecl-site-footer-fixed-content.component.html", "../../src/lib/components/ecl-site-footer/ecl-footer-elements/eu/ecl-site-footer-fixed-content.ts", "../../src/lib/components/ecl-site-footer/ecl-footer-elements/eu/ecl-site-footer-fixed-content.component.html", "../../src/lib/components/ecl-site-footer/ecl-site-footer.component.ts", "../../src/lib/components/ecl-site-footer/ecl-site-footer.component.html", "../../src/lib/components/ecl-site-footer/ecl-site-footer.module.ts", "../../src/lib/components/ecl-notification/ecl-notification.module.ts", "../../src/lib/components/ecl-page-header/ecl-page-header-description.directive.ts", "../../src/lib/components/ecl-page-header/ecl-page-header-title.directive.ts", "../../src/lib/components/ecl-page-header/ecl-page-header-meta.directive.ts", "../../src/lib/components/ecl-page-header/ecl-page-header-background.directive.ts", "../../src/lib/components/ecl-page-header/ecl-page-header.component.ts", "../../src/lib/components/ecl-page-header/ecl-page-header.component.html", "../../src/lib/components/ecl-page-header/ecl-page-header-description/ecl-page-header-description.component.ts", "../../src/lib/components/ecl-page-header/ecl-page-header-description/ecl-page-header-description.component.html", "../../src/lib/components/ecl-page-header/ecl-page-header.module.ts", "../../src/lib/components/ecl-pagination/ecl-pagination-item.component.ts", "../../src/lib/components/ecl-pagination/ecl-pagination-item.component.html", "../../src/lib/components/ecl-pagination/ecl-pagination.component.ts", "../../src/lib/components/ecl-pagination/ecl-pagination.component.html", "../../src/lib/components/ecl-pagination/ecl-pagination.module.ts", "../../src/lib/components/ecl-popover/ecl-popover-content.directive.ts", "../../src/lib/components/ecl-popover/ecl-popover-toggle.directive.ts", "../../src/lib/components/ecl-popover/ecl-popover.component.ts", "../../src/lib/components/ecl-popover/ecl-popover.component.html", "../../src/lib/components/ecl-popover/ecl-popover.module.ts", "../../src/lib/components/ecl-radio/ecl-radio-help.component.ts", "../../src/lib/components/ecl-radio/ecl-radio-help.component.html", "../../src/lib/components/ecl-radio/ecl-radio-label.component.ts", "../../src/lib/components/ecl-radio/ecl-radio-label.component.html", "../../src/lib/components/ecl-radio/ecl-radio.directive.ts", "../../src/lib/components/ecl-radio/ecl-radio-input.directive.ts", "../../src/lib/components/ecl-radio/ecl-radio.module.ts", "../../src/lib/components/ecl-rating-field/ecl-rating-field.component.ts", "../../src/lib/components/ecl-rating-field/ecl-rating-field.component.html", "../../src/lib/components/ecl-rating-field/ecl-rating-field.module.ts", "../../src/lib/components/ecl-range/ecl-range-value.component.ts", "../../src/lib/components/ecl-range/ecl-range-value.component.html", "../../src/lib/components/ecl-range/ecl-range.directive.ts", "../../src/lib/components/ecl-range/ecl-range.module.ts", "../../src/lib/components/ecl-select/ecl-select-container.component.ts", "../../src/lib/components/ecl-select/ecl-select-container.component.html", "../../src/lib/components/ecl-select/ecl-select.directive.ts", "../../src/lib/components/ecl-select/ecl-select.module.ts", "../../src/lib/components/ecl-social-media-follow/ecl-social-media-follow.component.ts", "../../src/lib/components/ecl-social-media-follow/ecl-social-media-follow.component.html", "../../src/lib/components/ecl-social-media-follow/ecl-social-media-follow-item.component.ts", "../../src/lib/components/ecl-social-media-follow/ecl-social-media-follow-item.component.html", "../../src/lib/components/ecl-social-media-follow/ecl-social-media-follow-link.directive.ts", "../../src/lib/components/ecl-social-media-follow/ecl-social-media-follow.module.ts", "../../src/lib/components/ecl-social-media-share/ecl-social-media-share.component.ts", "../../src/lib/components/ecl-social-media-share/ecl-social-media-share.component.html", "../../src/lib/components/ecl-social-media-share/ecl-social-media-share-item.component.ts", "../../src/lib/components/ecl-social-media-share/ecl-social-media-share-item.component.html", "../../src/lib/components/ecl-social-media-share/ecl-social-media-share-link.directive.ts", "../../src/lib/components/ecl-social-media-share/ecl-social-media-share.module.ts", "../../src/lib/components/ecl-loading-indicator/ecl-loading-indicator.component.ts", "../../src/lib/components/ecl-loading-indicator/ecl-loading-indicator.component.html", "../../src/lib/components/ecl-loading-indicator/ecl-loading-indicator-label.directive.ts", "../../src/lib/components/ecl-loading-indicator/ecl-loading-indicator-overlay.directive.ts", "../../src/lib/components/ecl-loading-indicator/ecl-loading-indicator.module.ts", "../../src/lib/components/ecl-table/ecl-table-sort-button.component.ts", "../../src/lib/components/ecl-table/ecl-table-sort-button.component.html", "../../src/lib/components/ecl-table/ecl-table.directive.ts", "../../src/lib/components/ecl-table/ecl-table.module.ts", "../../src/lib/components/ecl-tabs/ecl-tab-label.component.ts", "../../src/lib/components/ecl-tabs/ecl-tab-label.component.html", "../../src/lib/components/ecl-tabs/ecl-tab.component.ts", "../../src/lib/components/ecl-tabs/ecl-tab.component.html", "../../src/lib/components/ecl-tabs/ecl-tab-more.component.ts", "../../src/lib/components/ecl-tabs/ecl-tab-more.component.html", "../../src/lib/components/ecl-tabs/ecl-tabs.component.ts", "../../src/lib/components/ecl-tabs/ecl-tabs.component.html", "../../src/lib/components/ecl-tabs/ecl-tabs.module.ts", "../../src/lib/components/ecl-tag/ecl-tag.component.ts", "../../src/lib/components/ecl-tag/ecl-tag.component.html", "../../src/lib/components/ecl-tag/ecl-tag-set.directive.ts", "../../src/lib/components/ecl-tag/ecl-tag.module.ts", "../../src/lib/components/ecl-text-area/ecl-text-area.directive.ts", "../../src/lib/components/ecl-text-area/ecl-text-area.module.ts", "../../src/lib/components/ecl-timeline/ecl-timeline-item-label.directive.ts", "../../src/lib/components/ecl-timeline/ecl-timeline-item-title.directive.ts", "../../src/lib/components/ecl-timeline/ecl-timeline-item-toggler.component.ts", "../../src/lib/components/ecl-timeline/ecl-timeline-item-toggler.component.html", "../../src/lib/components/ecl-timeline/ecl-timeline-item.component.ts", "../../src/lib/components/ecl-timeline/ecl-timeline-item.component.html", "../../src/lib/components/ecl-timeline/ecl-timeline.component.ts", "../../src/lib/components/ecl-timeline/ecl-timeline.component.html", "../../src/lib/components/ecl-timeline/ecl-timeline.module.ts", "../../src/lib/shared/ecl-all.module.ts"],
4
+ "sourcesContent": ["export class EclBaseEvent {\n private isDefaultPrevented: boolean;\n\n get defaultPrevented(): boolean {\n return this.isDefaultPrevented;\n }\n\n preventDefault(): void {\n this.isDefaultPrevented = true;\n }\n}\n", "import { Directive, Input, HostBinding, numberAttribute } from '@angular/core';\n\n@Directive({\n standalone: true,\n selector: '[eclBase]',\n})\nexport class ECLBaseDirective {\n @Input() class: string;\n\n @HostBinding('attr.data-e2e') @Input() e2eAttr;\n\n @Input({ transform: numberAttribute })\n @HostBinding('attr.tabindex') tabindex: number;\n\n getCssClasses(rootClass: string): string {\n return [rootClass, this.class].join(' ').trim();\n }\n}\n", "import { Inject, Injectable, OnDestroy, Optional } from '@angular/core';\nimport { GLOBAL_CONFIG_TOKEN, I18nService } from '@eui/core';\nimport { GlobalConfig } from '@eui/base';\nimport { EclLanguage } from '../model/ecl-language.model';\nimport { EclLanguageService } from './ecl-language.service';\nimport { ReplaySubject, Subject, takeUntil } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class EclDefaultLanguageService implements EclLanguageService, OnDestroy {\n public currentLanguage$: Subject<EclLanguage> = new ReplaySubject<EclLanguage>();\n private currentLanguage: EclLanguage;\n\n private readonly FALLBACK_LANGUAGE: EclLanguage = { code: 'en', label: 'English' };\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(\n @Optional() @Inject(GLOBAL_CONFIG_TOKEN) protected config: GlobalConfig,\n protected i18nService: I18nService,\n ) {\n this.handleActiveLanguageChangeState();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n getFallbackLanguage(): EclLanguage {\n return this.FALLBACK_LANGUAGE;\n }\n\n getEULanguageOrFallback(code: string): EclLanguage {\n if (this.isEuLanguage(code)) {\n return this.getLanguageByCode(code);\n } else {\n return this.getFallbackLanguage();\n }\n }\n\n getCurrentLanguage(): EclLanguage {\n return this.currentLanguage;\n }\n\n updateCurrentLanguage(lang: EclLanguage): void {\n this.i18nService.updateState({\n activeLang: lang.code,\n });\n }\n\n getConfiguredLanguages(): Array<EclLanguage> {\n const languages = this.config?.i18n?.i18nService?.languages || [];\n return languages.map((code: string) => this.getLanguageByCode(code));\n }\n\n getEULanguageCodes(): Array<string> {\n return [\n 'bg',\n 'cs',\n 'da',\n 'de',\n 'et',\n 'el',\n 'en',\n 'es',\n 'fi',\n 'fr',\n 'ga',\n 'hr',\n 'hu',\n 'it',\n 'lt',\n 'lv',\n 'mt',\n 'nl',\n 'pl',\n 'pt',\n 'ro',\n 'sk',\n 'sl',\n 'sv',\n ];\n }\n\n getAllLanguageCodes(): string[] {\n return this.getAllLanguages().map((l) => l.code);\n }\n\n getEULanguages(): Array<EclLanguage> {\n return this.getLanguagesByCodes(this.getEULanguageCodes());\n }\n\n getLanguageByCode(code: string): EclLanguage {\n return this.getAllLanguages().find((l) => l.code === code);\n }\n\n getLanguagesByCodes(codes: Array<string>): Array<EclLanguage> {\n return this.getAllLanguages().filter((lang) => codes.includes(lang.code));\n }\n\n isEuLanguage(code: string): boolean {\n return this.getEULanguageCodes().includes(code);\n }\n\n isRtlLanguage(code: string): boolean {\n return this.getLanguageByCode(code).isRtl;\n }\n\n getAllLanguages(): Array<EclLanguage> {\n return [\n { code: 'aa', label: 'Afaraf' },\n { code: 'ab', label: 'аҧсуа' },\n { code: 'ae', label: 'avesta' },\n { code: 'af', label: 'Afrikaans' },\n { code: 'ak', label: 'Akan' },\n { code: 'am', label: 'አማርኛ' },\n { code: 'an', label: 'Aragonés' },\n { code: 'ar', label: 'العربية', isRtl: true },\n { code: 'as', label: 'অসমীয়া' },\n { code: 'av', label: 'авар мацӀ, магӀарул мацӀ' },\n { code: 'ay', label: 'aymar aru' },\n { code: 'az', label: 'azərbaycan dili' },\n { code: 'ba', label: 'башҡорт теле' },\n { code: 'be', label: 'Беларуская' },\n { code: 'bg', label: 'български език' },\n { code: 'bh', label: 'भोजपुरी' },\n { code: 'bi', label: 'Bislama' },\n { code: 'bm', label: 'bamanankan' },\n { code: 'bn', label: 'বাংলা' },\n { code: 'bo', label: 'བོད་ཡིག' },\n { code: 'br', label: 'brezhoneg' },\n { code: 'bs', label: 'bosanski jezik' },\n { code: 'ca', label: 'Català' },\n { code: 'ce', label: 'нохчийн мотт' },\n { code: 'ch', label: 'Chamoru' },\n { code: 'co', label: 'corsu, lingua corsa' },\n { code: 'cr', label: 'ᓀᐦᐃᔭᐍᐏᐣ' },\n { code: 'cs', label: 'čeština' },\n { code: 'cu', label: 'ѩзыкъ словѣньскъ' },\n { code: 'cv', label: 'чӑваш чӗлхи' },\n { code: 'cy', label: 'Cymraeg' },\n { code: 'da', label: 'dansk' },\n { code: 'de', label: 'Deutsch' },\n { code: 'dv', label: 'ދިވެހި' },\n { code: 'ee', label: 'Eʋegbe' },\n { code: 'el', label: 'Ελληνικά' },\n { code: 'en', label: 'English' },\n { code: 'eo', label: 'Esperanto' },\n { code: 'es', label: 'español' },\n { code: 'et', label: 'eesti' },\n { code: 'eu', label: 'euskara, euskera' },\n { code: 'fa', label: 'فارسی', isRtl: true },\n { code: 'ff', label: 'Fulfulde, Pulaar, Pular' },\n { code: 'fi', label: 'suomi' },\n { code: 'fj', label: 'vosa Vakaviti' },\n { code: 'fo', label: 'føroyskt' },\n { code: 'fr', label: 'français' },\n { code: 'fy', label: 'Frysk' },\n { code: 'ga', label: 'Gaeilge' },\n { code: 'gd', label: 'Gàidhlig' },\n { code: 'gl', label: 'Galego' },\n { code: 'gn', label: 'Avañeẽ' },\n { code: 'gu', label: 'ગુજરાતી' },\n { code: 'gv', label: 'Gaelg, Gailck' },\n { code: 'ha', label: 'Hausa, هَوُسَ' },\n { code: 'he', label: 'עברית', isRtl: true },\n { code: 'hi', label: 'हिन्दी, हिंदी' },\n { code: 'ho', label: 'Hiri Motu' },\n { code: 'hr', label: 'hrvatski' },\n { code: 'ht', label: 'Kreyòl ayisyen' },\n { code: 'hu', label: 'Magyar' },\n { code: 'hy', label: 'Հայերեն' },\n { code: 'hz', label: 'Otjiherero' },\n { code: 'ia', label: 'Interlingua' },\n { code: 'id', label: 'Bahasa Indonesia' },\n { code: 'ie', label: 'Originally called Occidental' },\n { code: 'ig', label: 'Asụsụ Igbo' },\n { code: 'ii', label: 'ꆈꌠ꒿ Nuosuhxop' },\n { code: 'ik', label: 'Iñupiaq, Iñupiatun' },\n { code: 'io', label: 'Ido' },\n { code: 'is', label: 'Íslenska' },\n { code: 'it', label: 'Italiano' },\n { code: 'iu', label: 'ᐃᓄᒃᑎᑐᑦ' },\n { code: 'ja', label: '日本語' },\n { code: 'jv', label: 'basa Jawa' },\n { code: 'ka', label: 'ქართული' },\n { code: 'kg', label: 'KiKongo' },\n { code: 'ki', label: 'Gĩkũyũ' },\n { code: 'kj', label: 'Kuanyama' },\n { code: 'kk', label: 'Қазақ тілі' },\n { code: 'kl', label: 'kalaallisut' },\n { code: 'km', label: 'ភាសាខ្មែរ' },\n { code: 'kn', label: 'ಕನ್ನಡ' },\n { code: 'ko', label: '한국어 (韓國語), 조선말 (朝鮮語)' },\n { code: 'kr', label: 'Kanuri' },\n { code: 'ks', label: 'कश्मीरी, كشميري‎' },\n { code: 'ku', label: 'Kurdî, كوردی‎', isRtl: true },\n { code: 'kv', label: 'коми кыв' },\n { code: 'kw', label: 'Kernewek' },\n { code: 'ky', label: 'кыргыз тили' },\n { code: 'la', label: 'latine' },\n { code: 'lb', label: 'Lëtzebuergesch' },\n { code: 'lg', label: 'Luganda' },\n { code: 'li', label: 'Limburgs' },\n { code: 'ln', label: 'Lingála' },\n { code: 'lo', label: 'ພາສາລາວ' },\n { code: 'lt', label: 'lietuvių kalba' },\n { code: 'lu', label: 'Lëtzebuergesch' },\n { code: 'lv', label: 'latviešu valoda' },\n { code: 'mg', label: 'Malagasy fiteny' },\n { code: 'mh', label: 'Kajin M̧ajeļ' },\n { code: 'mi', label: 'te reo Māori' },\n { code: 'mk', label: 'македонски јазик' },\n { code: 'ml', label: 'മലയാളം' },\n { code: 'mn', label: 'монгол' },\n { code: 'mr', label: 'मराठी' },\n { code: 'ms', label: 'bahasa Melayu, بهاس ملايو‎' },\n { code: 'mt', label: 'Malti' },\n { code: 'my', label: 'ဗမာစာ' },\n { code: 'na', label: 'Ekakairũ Naoero' },\n { code: 'nb', label: 'Norsk bokmål' },\n { code: 'nd', label: 'isiNdebele' },\n { code: 'ne', label: 'नेपाली' },\n { code: 'ng', label: 'Owambo' },\n { code: 'nl', label: 'Nederlands' },\n { code: 'nn', label: 'Norsk nynorsk' },\n { code: 'no', label: 'Norsk' },\n { code: 'nr', label: 'isiNdebele' },\n { code: 'nv', label: 'Diné bizaad, Dinékʼehǰí' },\n { code: 'ny', label: 'chiCheŵa, chinyanja' },\n { code: 'oc', label: 'Occitan' },\n { code: 'oj', label: 'ᐊᓂᔑᓈᐯᒧᐎᓐ' },\n { code: 'om', label: 'Afaan Oromoo' },\n { code: 'or', label: 'ଓଡ଼ିଆ' },\n { code: 'os', label: 'ирон æвзаг' },\n { code: 'pa', label: 'ਪੰਜਾਬੀ, پنجابی‎' },\n { code: 'pi', label: 'पाऴि' },\n { code: 'pl', label: 'polski' },\n { code: 'ps', label: 'پښتو' },\n { code: 'pt', label: 'Português' },\n { code: 'qu', label: 'Runa Simi, Kichwa' },\n { code: 'rm', label: 'rumantsch grischun' },\n { code: 'rn', label: 'kiRundi' },\n { code: 'ro', label: 'română' },\n { code: 'ru', label: 'русский язык' },\n { code: 'rw', label: 'Ikinyarwanda' },\n { code: 'sa', label: 'संस्कृतम्' },\n { code: 'sc', label: 'sardu' },\n { code: 'sd', label: 'सिन्धी, سنڌي، سندھی‎' },\n { code: 'se', label: 'Davvisámegiella' },\n { code: 'sg', label: 'yângâ tî sängö' },\n { code: 'si', label: 'සිංහල' },\n { code: 'sk', label: 'slovenčina' },\n { code: 'sl', label: 'slovenščina' },\n { code: 'sm', label: 'gagana faa Samoa' },\n { code: 'sn', label: 'chiShona' },\n { code: 'so', label: 'Soomaaliga, af Soomaali' },\n { code: 'sq', label: 'Shqip' },\n { code: 'sr', label: 'српски језик' },\n { code: 'ss', label: 'SiSwati' },\n { code: 'st', label: 'Sesotho' },\n { code: 'su', label: 'Basa Sunda' },\n { code: 'sv', label: 'svenska' },\n { code: 'sw', label: 'Kiswahili' },\n { code: 'ta', label: 'தமிழ்' },\n { code: 'te', label: 'తెలుగు' },\n { code: 'tg', label: 'тоҷикӣ, toğikī, تاجیکی‎' },\n { code: 'th', label: 'ไทย' },\n { code: 'ti', label: 'ትግርኛ' },\n { code: 'tk', label: 'Türkmen, Түркмен' },\n { code: 'tl', label: 'Wikang Tagalog' },\n { code: 'tn', label: 'Setswana' },\n { code: 'to', label: 'faka Tonga' },\n { code: 'tr', label: 'Türkçe' },\n { code: 'ts', label: 'Xitsonga' },\n { code: 'tt', label: 'татарча, tatarça, تاتارچا‎' },\n { code: 'tw', label: 'Twi' },\n { code: 'ty', label: 'Reo Tahiti' },\n { code: 'ug', label: 'Uyƣurqə, ئۇيغۇرچە‎' },\n { code: 'uk', label: 'українська' },\n { code: 'ur', label: 'اردو', isRtl: true },\n { code: 'uz', label: 'zbek, Ўзбек, أۇزبېك‎' },\n { code: 've', label: 'Tshivenḓa' },\n { code: 'vi', label: 'Tiếng Việt' },\n { code: 'vo', label: 'Volapük' },\n { code: 'wa', label: 'Walon' },\n { code: 'wo', label: 'Wollof' },\n { code: 'xh', label: 'isiXhosa' },\n { code: 'yi', label: 'ייִדיש' },\n { code: 'yo', label: 'Yorùbá' },\n { code: 'za', label: 'Saɯ cueŋƅ, Saw cuengh' },\n { code: 'zh', label: '中文 (Zhōngwén), 汉语, 漢語' },\n ];\n }\n\n private handleActiveLanguageChangeState(): void {\n this.i18nService\n .getState()\n .pipe(takeUntil(this.destroy$))\n .subscribe((state) => {\n this.currentLanguage = this.getLanguageByCode(state.activeLang) || this.FALLBACK_LANGUAGE;\n this.currentLanguage$.next(this.currentLanguage);\n });\n }\n}\n", "import { Observable } from 'rxjs';\nimport { EclLanguage } from '../model/ecl-language.model';\n\nexport abstract class EclLanguageService {\n abstract currentLanguage$: Observable<EclLanguage>;\n abstract getCurrentLanguage(): EclLanguage;\n abstract getFallbackLanguage(): EclLanguage;\n abstract getEULanguageOrFallback(code: string): EclLanguage;\n abstract updateCurrentLanguage(lang: EclLanguage);\n abstract getConfiguredLanguages(): Array<EclLanguage>;\n\n abstract getEULanguageCodes(): Array<string>;\n abstract getAllLanguageCodes(): Array<string>;\n abstract getEULanguages(): Array<EclLanguage>;\n abstract getAllLanguages(): Array<EclLanguage>;\n abstract getLanguageByCode(code: string): EclLanguage;\n abstract getLanguagesByCodes(codes: Array<string>): Array<EclLanguage>;\n abstract isEuLanguage(code: string): boolean;\n abstract isRtlLanguage(code: string): boolean;\n}\n", "import { Inject, Injectable, Optional } from '@angular/core';\nimport { GLOBAL_CONFIG_TOKEN } from '@eui/core';\nimport { GlobalConfig } from '@eui/base';\nimport { map, Observable, ReplaySubject, Subject } from 'rxjs';\n\nexport enum ECLTheme {\n EC = 'ec',\n EU = 'eu',\n}\n\n@Injectable({ providedIn: 'root' })\nexport class EclThemeService {\n public theme$: Observable<ECLTheme>;\n public isEU$: Observable<boolean>;\n public isEC$: Observable<boolean>;\n\n private theme: ECLTheme = ECLTheme.EC;\n private themeSubject: Subject<ECLTheme> = new ReplaySubject<ECLTheme>();\n\n constructor(@Optional() @Inject(GLOBAL_CONFIG_TOKEN) protected config: GlobalConfig) {\n this.theme$ = this.themeSubject.asObservable();\n\n this.isEU$ = this.theme$.pipe(map((theme) => ECLTheme.EU === theme));\n\n this.isEC$ = this.theme$.pipe(map((theme) => ECLTheme.EC === theme));\n\n const theme = (this.config?.eui?.theme as ECLTheme) || ECLTheme.EC;\n this.setTheme(theme);\n }\n\n isECTheme(): boolean {\n return ECLTheme.EC === this.theme;\n }\n\n isEUTheme(): boolean {\n return ECLTheme.EU === this.theme;\n }\n\n getTheme(): ECLTheme {\n return this.theme;\n }\n\n setTheme(theme: ECLTheme): void {\n this.theme = theme;\n this.themeSubject.next(theme);\n }\n}\n", "import { DOCUMENT } from '@angular/common';\nimport { Inject, Injectable, OnDestroy } from '@angular/core';\nimport { Observable, ReplaySubject, Subject, takeUntil } from 'rxjs';\nimport { EclDefaultLanguageService } from './ecl-default-language.service';\nimport { ECLTheme, EclThemeService } from './ecl-theme.service';\n\n@Injectable({ providedIn: 'root' })\nexport class EclRtlService implements OnDestroy {\n\n public currentRtlState$: Observable<boolean>;\n private currentRtlState: Subject<boolean> = new ReplaySubject<boolean>();\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(\n @Inject(DOCUMENT) private document: Document,\n public eclThemeService: EclThemeService, protected eclLanguageService: EclDefaultLanguageService) {\n this.currentRtlState$ = this.currentRtlState.asObservable();\n this.handleRtlChangeStateOnLangChange();\n }\n\n changeRtlState(rtlState: boolean): void {\n this.manageRtlState(rtlState);\n this.currentRtlState.next(rtlState);\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n private handleRtlChangeStateOnLangChange(): void {\n this.eclLanguageService.currentLanguage$.pipe(takeUntil(this.destroy$)).subscribe((lang) => {\n this.changeRtlState(lang.isRtl);\n });\n }\n\n private manageRtlState(rtlState: boolean): void {\n if (rtlState) {\n this.enableRTLCss();\n } else {\n this.disableRtlCss();\n }\n }\n\n private enableRTLCss(): void {\n const head = this.document.getElementsByTagName('head')[0];\n const themeLink = this.document.getElementById('rtl-theme') as HTMLLinkElement;\n let styleSheet;\n if (this.eclThemeService.getTheme() === ECLTheme.EC) {\n styleSheet = 'assets/eui-ecl-ec-rtl.css';\n } else {\n styleSheet = 'assets/eui-ecl-eu-rtl.css';\n }\n\n if (themeLink) {\n themeLink.href = styleSheet;\n themeLink.media = '';\n } else {\n const style = this.document.createElement('link');\n style.id = 'rtl-theme';\n style.rel = 'stylesheet';\n style.href = styleSheet;\n\n head.appendChild(style);\n }\n }\n\n private disableRtlCss(): void {\n const themeLink = this.document.getElementById('rtl-theme') as HTMLLinkElement;\n if (themeLink) {\n themeLink.media = 'max-width: 1px';\n }\n }\n}\n", "import {\n AfterViewInit, Component, ElementRef,\n HostBinding, Input, OnChanges, OnDestroy, OnInit, Renderer2, SimpleChanges, ViewChild, booleanAttribute,\n} from '@angular/core';\nimport { Observable, of, switchMap } from 'rxjs';\nimport { EclThemeService } from '../../services';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n selector: 'ecl-icon',\n templateUrl: './ecl-icon.component.html',\n})\nexport class EclIconComponent extends ECLBaseDirective implements OnInit, OnChanges, AfterViewInit, OnDestroy {\n @Input() iconSet: 'default' | 'social' | 'social-media' | 'flag' | string = 'default';\n @Input() icon: string;\n @Input() size: '2xs' | 'xs' | 's' | 'm' | 'l' | 'xl' | '2xl' | 'fluid' | string = 'xs';\n @Input() color: 'inverted' | 'primary' | null = null;\n @Input() transform: string;\n @Input() ariaLabelledby: string;\n @Input() role: string;\n @Input({ transform: booleanAttribute }) ariaHidden = true;\n @Input({ transform: booleanAttribute }) focusable = false;\n\n @HostBinding('class.ecl-u-bg-dark')\n get isColorInverted(): boolean {\n return this.color === 'inverted';\n }\n\n @ViewChild('svg') svgEl: ElementRef;\n\n iconUrl$: Observable<string>;\n\n constructor(\n public el: ElementRef,\n private renderer: Renderer2,\n private eclThemeService: EclThemeService,\n ) {\n super();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['icon']) {\n this.initiateIconUrl();\n }\n }\n\n ngOnInit(): void {\n this.initiateIconUrl();\n }\n\n ngAfterViewInit(): void {\n const hostEl: HTMLElement = this.el.nativeElement;\n const hostParentEl = hostEl.parentElement;\n\n if (hostParentEl != null) {\n this.renderer.setStyle(hostEl, 'display', 'none');\n hostEl.after(this.svgEl.nativeElement);\n }\n }\n\n ngOnDestroy(): void {\n try {\n if (this.svgEl) {\n const hostParentEl = this.svgEl.nativeElement.parentElement;\n if (hostParentEl) {\n hostParentEl.removeChild(this.svgEl);\n }\n }\n } catch (e) {\n /* empty */\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n getClasses(): { [x: string]: any } {\n const hostClasses = this.el.nativeElement.classList.toString();\n return {\n [super.getCssClasses('ecl-icon')]: true,\n [`ecl-icon--${this.size}`]: this.size,\n [`ecl-icon--${this.transform}`]: this.transform,\n [`ecl-icon--${this.color}`]: this.color,\n [hostClasses]: true,\n };\n }\n\n private initiateIconUrl(): void {\n this.iconUrl$ = this.eclThemeService.theme$.pipe(\n switchMap((theme) => {\n switch (this.iconSet) {\n case 'default':\n return of(`assets/images/ecl/${theme}/icons/sprites/icons.svg#${this.icon}`);\n case 'social':\n return of(`assets/images/ecl/${theme}/social-icons/sprites/icons-social.svg#${this.icon}`);\n case 'social-media':\n return of(`assets/images/ecl/${theme}/icons-social-media/sprites/icons-social-media.svg#${this.icon}`);\n case 'flag':\n return of(`assets/images/ecl/${theme}/icons-flag/sprites/icons-flag.svg#${this.icon}`);\n case 'flag-non-members':\n return of(`assets/images/ecl/${theme}/icons-flag/sprites/icons-flag-non-members.svg#${this.icon}`);\n default:\n return of(`${this.iconSet}#${this.icon}`);\n }\n }),\n );\n }\n}\n", "<svg\n #svg\n [ngClass]=\"getClasses()\"\n [attr.aria-hidden]=\"ariaHidden\"\n [attr.aria-labelledby]=\"ariaLabelledby || null\"\n [attr.role]=\"role || null\"\n [attr.focusable]=\"focusable\">\n <use [attr.xlink:href]=\"iconUrl$ | async\"></use>\n <ng-content></ng-content>\n</svg>\n", "import {\n ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, OnInit, Output, booleanAttribute,\n ChangeDetectorRef,\n} from '@angular/core';\nimport { v4 as uuidgen } from 'uuid';\nimport { EclBaseEvent } from '../../model/ecl-base.event';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\nexport class EclAccordionToggleEvent extends EclBaseEvent {\n constructor(public isExpanded: boolean) {\n super();\n }\n}\n\n@Component({\n selector: 'ecl-accordion-item',\n templateUrl: './ecl-accordion-item.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n hostDirectives: [\n {\n directive: ECLBaseDirective,\n },\n ],\n})\nexport class EclAccordionItemComponent implements OnInit {\n\n @HostBinding('class')\n get cssClasses(): string {\n return [this.baseDirective.getCssClasses('ecl-accordion__item')].join(' ').trim();\n }\n\n @Input() label: string;\n @Input({ transform: booleanAttribute }) isExpanded = false;\n\n @Output() toggle = new EventEmitter<EclAccordionToggleEvent>();\n\n isActive = false;\n contentId = '';\n titleId = '';\n \n constructor(public baseDirective: ECLBaseDirective, private cd: ChangeDetectorRef) {}\n\n ngOnInit(): void {\n this.titleId = uuidgen();\n this.contentId = uuidgen();\n }\n\n onItemClick(evt: MouseEvent): void {\n const nextExpandedState = !this.isExpanded;\n this.isActive = true;\n const event = new EclAccordionToggleEvent(nextExpandedState);\n\n this.toggle.next(event);\n\n if (!event.defaultPrevented) {\n this.isExpanded = nextExpandedState;\n }\n }\n\n removeActiveStatus(): void {\n this.isActive = false;\n this.cd.detectChanges();\n }\n}\n", "<h3 class=\"ecl-accordion__title\" [id]=\"titleId\">\n <button\n type=\"button\"\n (click)=\"onItemClick($event)\"\n [attr.aria-expanded]=\"isExpanded\"\n class=\"ecl-accordion__toggle\"\n [class.ecl-accordion__toggle--active]=\"isActive\"\n [attr.aria-controls]=\"contentId\">\n <span class=\"ecl-accordion__toggle-flex\">\n <span class=\"ecl-accordion__toggle-title\">{{ label }}</span>\n <span class=\"ecl-accordion__toggle-indicator\">\n <ecl-icon *ngIf=\"!isExpanded\" icon=\"plus\" size=\"s\" class=\"ecl-accordion__toggle-icon\" [attr.aria-hidden]=\"!isExpanded\">\n </ecl-icon>\n <ecl-icon *ngIf=\"isExpanded\" icon=\"minus\" size=\"s\" class=\"ecl-accordion__toggle-icon\" [attr.aria-hidden]=\"isExpanded\">\n </ecl-icon>\n </span>\n </span>\n </button>\n</h3>\n<div class=\"ecl-accordion__content\" [hidden]=\"!isExpanded\" role=\"region\" [attr.aria-labelledby]=\"titleId\" [id]=\"contentId\">\n <ng-content></ng-content>\n</div>\n", "import { Directive, ElementRef, EventEmitter, HostListener, Output } from '@angular/core';\nimport { ECLBaseDirective } from '../../../components/ecl-base.directive';\n\n@Directive({\n selector: '[eclClickOutside]',\n standalone: true,\n})\nexport class ECLClickOutsideDirective extends ECLBaseDirective {\n @Output() eclClickOutside = new EventEmitter<void>();\n\n constructor(private elementRef: ElementRef) {\n super();\n }\n\n @HostListener('document:click', ['$event.target'])\n public onClick(target): void {\n const clickedInside = this.elementRef.nativeElement.contains(target);\n if (!clickedInside) {\n this.eclClickOutside.emit();\n }\n }\n}\n", "import { Directive, HostBinding, Input } from '@angular/core';\nimport { ECLBaseDirective } from '../../../components/ecl-base.directive';\n\n@Directive({\n selector: '[eclHidden]',\n})\nexport class EclHiddenDirective extends ECLBaseDirective {\n @Input('eclHidden') @HostBinding('class.ecl-u-d-none') isHidden = true;\n}\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclHiddenDirective } from './ecl-hidden.directive';\n\n@NgModule({\n imports: [CommonModule],\n exports: [EclHiddenDirective],\n declarations: [EclHiddenDirective],\n})\nexport class EclHiddenModule {}\n", "export const hasNextSiblingWithAttribute = (element: Element, attribute: string): boolean => {\n const nextSibling = element && element.nextElementSibling;\n if (nextSibling) {\n if (nextSibling.hasAttribute(attribute)) {\n return true;\n } else {\n return hasNextSiblingWithAttribute(nextSibling, attribute);\n }\n } else {\n return false;\n }\n};\n\nexport const hasPreviousSiblingWithAttribute = (element: Element, attribute: string): boolean => {\n const previousSibling = element && element.previousElementSibling;\n if (previousSibling) {\n if (previousSibling.hasAttribute(attribute)) {\n return true;\n } else {\n return hasNextSiblingWithAttribute(previousSibling, attribute);\n }\n } else {\n return false;\n }\n};\n", "export enum KeyCode {\n ARROW_DOWN = 'ArrowDown',\n ARROW_LEFT = 'ArrowLeft',\n ARROW_RIGHT = 'ArrowRight',\n ARROW_UP = 'ArrowUp',\n END = 'End',\n ENTER = 'Enter',\n ESCAPE = 'Escape',\n HOME = 'Home',\n TAB = 'Tab',\n}\n", "import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n DoCheck,\n HostBinding,\n HostListener,\n IterableDiffer,\n IterableDiffers,\n OnDestroy,\n QueryList, forwardRef,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { ECLClickOutsideDirective } from '../../utils';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclAccordionItemComponent } from './ecl-accordion-item.component';\n\n@Component({\n selector: 'ecl-accordion',\n templateUrl: './ecl-accordion.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\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})\nexport class EclAccordionComponent implements DoCheck, OnDestroy {\n @HostBinding('class')\n get cssClasses(): string {\n return [this.baseDirective.getCssClasses('ecl-accordion')].join(' ').trim();\n }\n\n @ContentChildren(forwardRef(() => EclAccordionItemComponent)) accordionItems: QueryList<EclAccordionItemComponent>;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private differ: IterableDiffer<EclAccordionItemComponent>;\n\n constructor(public baseDirective: ECLBaseDirective, private cd: ChangeDetectorRef,\n private differs: IterableDiffers) {\n this.differ = this.differs.find([]).create();\n }\n\n ngDoCheck(): void {\n const diff = this.differ.diff(this.accordionItems);\n\n if (diff) {\n this.subscribeToItemEvents();\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n @HostListener('eclClickOutside')\n onClickOutsideAccordion(): void {\n this.accordionItems.forEach(item => {\n item.removeActiveStatus();\n });\n }\n\n private subscribeToItemEvents(): void {\n this.accordionItems.forEach(item => {\n item.toggle.pipe(takeUntil(this.destroy$))\n .subscribe(isActive => {\n this.removeActiveStatusToAllItemsButOne(item);\n });\n });\n }\n\n private removeActiveStatusToAllItemsButOne(item: EclAccordionItemComponent): void {\n this.accordionItems\n .filter((it) => it !== item)\n .forEach((it) => {\n it.removeActiveStatus();\n });\n }\n}\n", "<ng-content></ng-content>\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclIconComponent } from './ecl-icon.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [EclIconComponent],\n declarations: [EclIconComponent],\n})\nexport class EclIconComponentModule {}\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclAccordionItemComponent } from './ecl-accordion-item.component';\nimport { EclAccordionComponent } from './ecl-accordion.component';\nimport { EclIconComponentModule } from '../ecl-icon/ecl-icon.module';\n\n@NgModule({\n imports: [CommonModule, EclIconComponentModule, TranslateModule],\n exports: [EclAccordionComponent, EclAccordionItemComponent],\n declarations: [EclAccordionComponent, EclAccordionItemComponent],\n})\nexport class EclAccordionComponentModule {}\n", "import { EclBaseEvent } from './ecl-base.event';\n\nexport class EclDomEvent<T extends Event> extends EclBaseEvent {\n constructor(public readonly domEvent: T) {\n super();\n }\n\n public preventDefault(): void {\n super.preventDefault();\n\n if (this.domEvent) {\n this.domEvent.preventDefault();\n }\n }\n}\n", "import { booleanAttribute, Component, ContentChildren, ElementRef, forwardRef, HostBinding, Input, QueryList,\n AfterViewInit } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclIconComponent } from '../ecl-icon/ecl-icon.component';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[eclButton], button[ecl-button], a[eclButton]',\n templateUrl: './ecl-button.component.html',\n})\nexport class EclButtonComponent extends ECLBaseDirective implements AfterViewInit {\n\n @Input({ transform: booleanAttribute }) isIconOnly = false;\n @Input() variant: 'primary' | 'secondary' | 'tertiary' | 'cta' | 'ghost' | 'ghost-inverted' = 'primary';\n @Input() containerStyleClass: string;\n\n @ContentChildren(forwardRef(() => EclIconComponent)) iconComponents: QueryList<EclIconComponent>;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-button'), `ecl-button--${this.variant}`,\n this.isIconOnly ? 'ecl-button--icon-only' : ''].join(' ').trim();\n }\n\n get hasIcon(): QueryList<EclIconComponent> {\n return this.iconComponents;\n }\n\n constructor(public el: ElementRef) {\n super();\n }\n\n ngAfterViewInit(): void {\n if (this.iconComponents) {\n setTimeout(() => {\n this.iconComponents.forEach((icn) => {\n icn.class = 'ecl-button__icon';\n });\n });\n }\n }\n}\n", "<span *ngIf=\"hasIcon\" class=\"ecl-button__container {{ containerStyleClass }}\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</span>\n<ng-container *ngIf=\"!hasIcon\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</ng-container>\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: '[eclButtonLabel]',\n})\nexport class EclButtonLabelDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-button__label')].join(' ').trim();\n }\n}\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclIconComponentModule } from '../ecl-icon/ecl-icon.module';\nimport { EclButtonComponent } from './ecl-button.component';\nimport { EclButtonLabelDirective } from './ecl-button-label.directive';\n\n@NgModule({\n imports: [CommonModule, EclIconComponentModule],\n exports: [EclButtonComponent, EclButtonLabelDirective],\n declarations: [EclButtonComponent, EclButtonLabelDirective],\n})\nexport class EclButtonComponentModule {}\n", "import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\nimport { coerceBoolean } from '@eui/base';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[eclFormLabel]',\n templateUrl: './ecl-form-label.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EclFormLabelComponent extends ECLBaseDirective {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isOptional: boolean | any = false;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isInvalid: boolean | any = false;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isDisabled: boolean | any = false;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isRequired: boolean | any = false;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-form-label'),\n this.isInvalid ? 'ecl-form-label--invalid' : '',\n this.isDisabled ? 'ecl-form-label--disabled' : '',\n ]\n .join(' ')\n .trim();\n }\n}\n", "<ng-content></ng-content>\n<span *ngIf=\"isOptional\" class=\"ecl-form-label__optional\"> ({{ 'ecl.form-label.OPTIONAL' | translate }})</span>\n<span *ngIf=\"isRequired\" class=\"ecl-form-label__required\">*</span>\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclFormLabelComponent } from './ecl-form-label.component';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@NgModule({\n imports: [CommonModule, TranslateModule],\n exports: [EclFormLabelComponent],\n declarations: [EclFormLabelComponent],\n})\nexport class EclFormLabelComponentModule {}\n", "import { Component, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n selector: '[eclFormGroup], ecl-form-group',\n templateUrl: './ecl-form-group.component.html',\n})\nexport class EclFormGroupComponent extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-form-group')].join(' ').trim();\n }\n}\n", "<ng-content></ng-content>\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclFormLabelComponentModule } from '../ecl-form-label/ecl-form-label.module';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclFormGroupComponent } from './ecl-form-group.component';\n\n@NgModule({\n imports: [CommonModule, EclFormLabelComponentModule, TranslateModule],\n exports: [EclFormGroupComponent],\n declarations: [EclFormGroupComponent],\n})\nexport class EclFormGroupComponentModule {}\n", "import { Directive, HostBinding, Input, forwardRef, ContentChildren, QueryList, booleanAttribute, ElementRef, AfterContentInit } from '@angular/core';\n\nimport { EclIconComponent } from '../ecl-icon/ecl-icon.component';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: '[eclLink]',\n})\nexport class EclLinkDirective extends ECLBaseDirective implements AfterContentInit {\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-link'), this.variant ? `ecl-link--${this.variant}` : ''].join(' ').trim();\n }\n @HostBinding('class.ecl-link--icon')\n get hasIcon(): boolean {\n return this.eclIconComponents && this.eclIconComponents.length > 0;\n }\n\n @HostBinding('class.ecl-link--no-visited')\n get isLinkNoVisited(): boolean {\n return this.isNoVisited;\n }\n\n @Input({ transform: booleanAttribute }) @HostBinding('class.ecl-link--inverted') isInverted = false;\n @Input({ transform: booleanAttribute }) @HostBinding('class.ecl-link--icon-only') isHiddenLabel = false;\n @Input({ transform: booleanAttribute }) isNoVisited: boolean;\n @Input() variant: 'standalone' | 'cta' | 'primary' | 'secondary';\n\n @ContentChildren(forwardRef(() => EclIconComponent)) eclIconComponents: QueryList<EclIconComponent>;\n\n constructor(public el: ElementRef) {\n super();\n }\n\n ngAfterContentInit(): void {\n if (this.eclIconComponents) {\n setTimeout(() => {\n this.eclIconComponents.forEach((icn) => {\n icn.class = icn.class + ' ecl-link__icon';\n });\n });\n }\n }\n}\n", "import { Directive, HostBinding } from '@angular/core';\n\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: '[eclLinkLabel]',\n})\nexport class EclLinkLabelDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-link__label')].join(' ').trim();\n }\n}\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclLinkDirective } from './ecl-link.directive';\nimport { EclLinkLabelDirective } from './ecl-link-label.directive';\n\n@NgModule({\n imports: [CommonModule],\n exports: [EclLinkDirective, EclLinkLabelDirective],\n declarations: [EclLinkDirective, EclLinkLabelDirective],\n})\nexport class EclLinkDirectiveModule {}\n", "import { Directive, HostBinding, Input, Optional, Self } from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { coerceBoolean } from '@eui/base';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: 'input[eclTextInput]',\n standalone: true,\n})\nexport class EclTextInputDirective extends ECLBaseDirective {\n @HostBinding('attr.type') type = 'text';\n\n @Input() eclSize = 'm';\n\n @coerceBoolean\n @Input()\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n isInvalid: boolean | any = false;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-text-input'), this.eclSize ? `ecl-text-input--${this.eclSize}` : ''].join(' ').trim();\n }\n\n constructor(@Optional() @Self() protected ngControl: NgControl) {\n super();\n }\n\n @HostBinding('class.ecl-text-input--invalid')\n get invalidState(): boolean {\n if (this.ngControl) {\n return this.ngControl.status === 'INVALID' && this.ngControl.touched;\n } else {\n return this.isInvalid;\n }\n }\n}\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclTextInputDirective } from './ecl-text-input.directive';\n\n@NgModule({\n imports: [CommonModule, EclTextInputDirective],\n exports: [EclTextInputDirective],\n})\nexport class EclTextInputDirectiveModule {}\n", "import {\n Component,\n ComponentFactoryResolver,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n Output,\n Provider,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { EclBaseEvent } from '../../model/ecl-base.event';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\nexport class EclSearchFormEvent extends EclBaseEvent {\n constructor(public keyword: string) {\n super();\n }\n}\n\nexport const ECL_SEARCH_FORM_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EclSearchFormComponent),\n multi: true,\n};\n\nconst noop = (): void => {\n /** empty*/\n};\n\n@Component({\n selector: 'ecl-search-form',\n templateUrl: 'ecl-search-form.component.html',\n providers: [ECL_SEARCH_FORM_VALUE_ACCESSOR],\n})\nexport class EclSearchFormComponent extends ECLBaseDirective implements ControlValueAccessor {\n @Input() searchInputText: string;\n @Input() placeholder: string;\n @Input() searchButtonLabel: string;\n @Input() searchButtonIcon = 'search';\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-search-form')].join(' ').trim();\n }\n\n @HostBinding('attr.role') role = 'search';\n\n @Output() search = new EventEmitter<EclSearchFormEvent>();\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private onChange: (_: any) => void = noop;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private onTouched: (_: any) => void = noop;\n\n onSearchClick(evt: Event): void {\n this.search.next(new EclSearchFormEvent(this.searchInputText));\n evt.preventDefault();\n }\n\n @HostListener('keydown.enter', ['$event'])\n onEnterKeyDown(evt: Event): void {\n this.search.next(new EclSearchFormEvent(this.searchInputText));\n evt.preventDefault();\n }\n\n onModelChange(newValue: string): void {\n this.searchInputText = newValue;\n this.onChange(newValue);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n writeValue(value: any): void {\n this.searchInputText = value;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: (_: any) => void): void {\n this.onChange = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: (_: any) => void): void {\n this.onTouched = fn;\n }\n}\n", "<ecl-form-group>\n <label eclFormLabel for=\"search-input\" class=\"ecl-search-form__label\">\n {{ 'ecl.common.SEARCH' | translate }}\n </label>\n <input\n eclTextInput\n [(ngModel)]=\"searchInputText\"\n (ngModelChange)=\"onModelChange($event)\"\n type=\"search\"\n name=\"search-input\"\n placeholder=\"{{ placeholder || 'ecl.common.SEARCH' | translate }}\"\n class=\"ecl-search-form__text-input\" />\n</ecl-form-group>\n<button eclButton aria-label=\"Search\" variant=\"ghost\" (click)=\"onSearchClick($event)\" class=\"ecl-search-form__button\">\n <span eclButtonLabel>\n {{ searchButtonLabel || 'ecl.common.SEARCH' | translate }}\n </span>\n <ecl-icon [icon]=\"searchButtonIcon\" size=\"xs\"></ecl-icon>\n</button>\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclButtonComponentModule } from '../ecl-button/ecl-button.module';\nimport { EclFormGroupComponentModule } from '../ecl-form-group/ecl-form-group.module';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { EclTextInputDirectiveModule } from '../ecl-text-input/ecl-text-input.module';\nimport { EclIconComponentModule } from '../ecl-icon/ecl-icon.module';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclSearchFormComponent } from './ecl-search-form.component';\nimport { EclFormLabelComponentModule } from '../ecl-form-label/ecl-form-label.module';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n TranslateModule,\n EclButtonComponentModule,\n EclIconComponentModule,\n EclFormGroupComponentModule,\n EclFormLabelComponentModule,\n EclTextInputDirectiveModule,\n FormsModule,\n ],\n exports: [EclSearchFormComponent],\n declarations: [EclSearchFormComponent],\n})\nexport class EclSearchFormComponentModule {}\n", "import { Component, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\n\n@Component({\n selector: 'ecl-site-header-action',\n templateUrl: './ecl-site-header-action.component.html',\n})\nexport class EclSiteHeaderActionComponent extends ECLBaseDirective {\n @HostBinding('class') class = 'ecl-site-header__action';\n}\n", "<ng-content select=\"ecl-site-header-login\"></ng-content>\n<ng-content select=\"ecl-site-header-language\"></ng-content>\n<ng-content select=\"ecl-site-header-search\"></ng-content>\n", "import { Component } from '@angular/core';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\n\n@Component({\n selector: 'ecl-site-header-banner-top',\n templateUrl: 'ecl-site-header-banner-top.component.html',\n})\nexport class EclSiteHeaderBannerTopComponent extends ECLBaseDirective {}\n", "<div class=\"ecl-site-header__banner-top\">\n <div class=\"ecl-container\">\n <ng-content></ng-content>\n </div>\n</div>\n", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\n\n@Directive({\n selector: '[eclSiteHeaderCta]',\n})\nexport class EclSiteHeaderCtaDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-site-header__cta') className = true;\n}\n", "import { AfterViewInit, Component, ElementRef, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[eclSiteHeaderEnvironment]',\n template: '<ng-content></ng-content>',\n styles: [\n `\n :host {\n position: absolute;\n width: 100%;\n font-size: 1.3rem;\n padding: 0.3rem;\n opacity: 0.6;\n text-align: center;\n transform: rotate(-10deg);\n }\n @media print {\n :host {\n display: none;\n }\n }\n `,\n ],\n})\nexport class EclSiteHeaderEnvironmentComponent extends ECLBaseDirective implements AfterViewInit {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses(''), 'ecl-u-type-xl ecl-u-bg-red ecl-u-type-color-white'].join(' ');\n }\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private isMobile = false;\n private parentEl: HTMLElement;\n\n constructor(\n private el: ElementRef,\n private cdkBreakpointObserver: BreakpointObserver,\n ) {\n super();\n }\n\n ngAfterViewInit(): void {\n const el: HTMLElement = this.el.nativeElement;\n this.parentEl = el.parentElement;\n\n if (this.parentEl) {\n this.parentEl.style.display = 'flex';\n this.parentEl.style.alignItems = 'center';\n this.parentEl.style.position = 'relative';\n }\n\n this.observeBreakpointChanges();\n }\n\n private observeBreakpointChanges(): void {\n this.cdkBreakpointObserver\n .observe(['(max-width: 480px)'])\n .pipe(takeUntil(this.destroy$))\n .subscribe((result) => {\n this.isMobile = result.matches;\n if (this.isMobile) {\n this.manageMobile();\n } else {\n this.manageDesktop();\n }\n });\n }\n\n private manageMobile(): void {\n if (this.parentEl) {\n this.parentEl.style.display = 'block';\n this.el.nativeElement.style.width = 'unset';\n }\n }\n\n private manageDesktop(): void {\n if (this.parentEl) {\n this.parentEl.style.display = 'flex';\n this.el.nativeElement.style.width = '100%';\n }\n }\n}\n", "import { Component, ElementRef, EventEmitter, HostBinding, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\nimport { EclBaseEvent } from '../../../model/ecl-base.event';\nimport { EclLanguage } from '../../../model/ecl-language.model';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\n\nexport class EclSiteHeaderLanguageSelectedEvent extends EclBaseEvent {\n constructor(public language: EclLanguage) {\n super();\n }\n}\n\nexport class EclSiteHeaderLanguageCloseEvent extends EclBaseEvent {}\n\n@Component({\n selector: 'ecl-site-header-language-popover',\n templateUrl: './ecl-site-header-language-popover.component.html',\n})\nexport class EclSiteHeaderLanguagePopoverComponent extends ECLBaseDirective {\n @Input() languageCode: string;\n @Input() euLanguages: Array<EclLanguage> = [];\n @Input() nonEuLanguages: Array<EclLanguage> = [];\n @Input() euColumnsCount: number;\n @Input() nonEuColumnsCount: number;\n @Input() isHidden = false;\n @Input() isPushRight = false;\n @Input() isStack = false;\n @Input() isFull = false;\n @Input() @HostBinding('style.right') rightPosition: string;\n @Input() @HostBinding('style.--ecl-language-arrow-position') languageArrowPosition: string;\n\n @Output() languageClosed = new EventEmitter<EclSiteHeaderLanguageCloseEvent>();\n @Output() languageSelected = new EventEmitter<EclSiteHeaderLanguageSelectedEvent>();\n\n @HostBinding('attr.role') role = 'dialog';\n @HostBinding('attr.aria-labelledby') labelledBy = 'ecl-site-header__language-title';\n\n constructor(public popoverElementRef: ElementRef) {\n super();\n }\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-site-header__language-container'),\n this.isPushRight ? 'ecl-site-header__language-container--push-right' : '',\n this.isFull ? 'ecl-site-header__language-container--full' : '',\n ]\n .join(' ')\n .trim();\n }\n\n @HostBinding('attr.aria-modal')\n get isModal(): boolean | undefined {\n return !this.isHidden || undefined;\n }\n\n @HostBinding('attr.hidden')\n get isDropdownHidden(): boolean | undefined {\n return this.isHidden || undefined;\n }\n\n onCloseClick(): void {\n this.languageClosed.next(new EclSiteHeaderLanguageCloseEvent());\n }\n\n onLanguageClick(language: EclLanguage, evt: MouseEvent): void {\n this.languageCode = language.code;\n this.languageSelected.next(new EclSiteHeaderLanguageSelectedEvent(language));\n\n evt.preventDefault();\n }\n}\n", "<div class=\"ecl-site-header__language-header\">\n <div class=\"ecl-site-header__language-title\">\n {{ 'ecl.language-list.SELECT-LANGUAGE' | translate }}\n </div>\n <button eclButton variant=\"ghost\" class=\"ecl-site-header__language-close\" (click)=\"onCloseClick()\">\n <span class=\"ecl-u-sr-only\">\n {{ 'ecl.common.CLOSE' | translate }}\n </span>\n <ecl-icon icon=\"close-filled\" size=\"s\"> </ecl-icon>\n </button>\n</div>\n\n<div class=\"ecl-site-header__language-content\" [class.ecl-site-header__language-content--stack]=\"isStack\">\n <div *ngIf=\"euLanguages.length\" class=\"ecl-site-header__language-category ecl-site-header__language-category--{{ euColumnsCount }}-col\">\n <div class=\"ecl-site-header__language-category-title\">\n {{ 'ecl.language-list.EU-LANGUAGES' | translate }}\n </div>\n <ul class=\"ecl-site-header__language-list\">\n <li *ngFor=\"let item of euLanguages\" class=\"ecl-site-header__language-item\">\n <a\n eclLink\n href=\"#\"\n variant=\"standalone\"\n [lang]=\"item.code\"\n [hreflang]=\"item.code\"\n class=\"ecl-site-header__language-link\"\n [class.ecl-site-header__language-link--active]=\"item.code === languageCode\"\n (click)=\"onLanguageClick(item, $event)\">\n <span class=\"ecl-site-header__language-link-code\">{{ item.code }}</span>\n <span class=\"ecl-site-header__language-link-label\">{{ item.label }}</span>\n </a>\n </li>\n </ul>\n </div>\n <div\n *ngIf=\"nonEuLanguages.length\"\n class=\"ecl-site-header__language-category ecl-site-header__language-category--{{ nonEuColumnsCount }}-col\">\n <div class=\"ecl-site-header__language-category-title\">\n {{ 'ecl.language-list.NON-EU-LANGUAGES' | translate }}\n </div>\n <ul class=\"ecl-site-header__language-list\">\n <li *ngFor=\"let item of nonEuLanguages\" class=\"ecl-site-header__language-item\">\n <a\n eclLink\n href=\"#\"\n [lang]=\"item.code\"\n [hreflang]=\"item.code\"\n variant=\"standalone\"\n class=\"ecl-site-header__language-link\"\n [class.ecl-site-header__language-link--active]=\"item.code === languageCode\"\n (click)=\"onLanguageClick(item, $event)\">\n <span class=\"ecl-site-header__language-link-code\">{{ item.code }}</span>\n <span class=\"ecl-site-header__language-link-label\">{{ item.label }}</span>\n </a>\n </li>\n </ul>\n </div>\n</div>\n", "import {\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport { coerceElement } from '@eui/base';\nimport { debounceTime, fromEvent, Subject, takeUntil } from 'rxjs';\nimport { EclLanguage } from '../../../model';\nimport { EclBaseEvent } from '../../../model/ecl-base.event';\nimport { EclLanguageService } from '../../../services';\nimport { ECLClickOutsideDirective } from '../../../utils/directives/ecl-click-outside';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\nimport { EclSiteHeaderComponent } from '../ecl-site-header.component';\nimport { EclSiteHeaderLanguageCloseEvent, EclSiteHeaderLanguageSelectedEvent } from './ecl-site-header-language-popover.component';\n\nexport class EclSiteHeaderLanguageClickEvent extends EclBaseEvent {}\n\n@Component({\n selector: 'ecl-site-header-language',\n templateUrl: './ecl-site-header-language.component.html',\n hostDirectives: [\n {\n directive: ECLClickOutsideDirective,\n outputs: ['eclClickOutside'],\n },\n ],\n})\nexport class EclSiteHeaderLanguageComponent extends ECLBaseDirective implements OnInit, OnChanges, OnDestroy {\n @Input()\n languageCode = 'en';\n\n public get languageCodes(): Array<string> {\n return this._languageCodes;\n }\n\n @Input()\n public set languageCodes(value: Array<string>) {\n this._languageCodes = value;\n this.updateLanguages();\n }\n\n /*\n * @deprecated languageLabel is automatically translated\n * using languageCode. To be removed in 18\n */\n @Input() languageLabel: string;\n\n @coerceElement @ViewChild('languagePopover', { read: ElementRef }) languagePopoverElement: HTMLElement;\n @coerceElement @ViewChild('languageLink', { read: ElementRef }) languageLinkElement: HTMLElement;\n\n @Output() languageClick = new EventEmitter<EclSiteHeaderLanguageClickEvent>();\n @Output() languageSelected = new EventEmitter<EclSiteHeaderLanguageSelectedEvent>();\n\n readonly MOBILE_BREAKPOINT = 768;\n readonly LANGUAGE_MAX_COLUMNS = 8;\n isLanguagesDropdownVisible = false;\n isPushRight: boolean;\n isStack: boolean;\n isFull: boolean;\n languageArrowPosition: string;\n rightPosition: string;\n euLanguages: Array<EclLanguage> = [];\n nonEuLanguages: Array<EclLanguage> = [];\n euColumnsCount = 1;\n nonEuColumnsCount = 1;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private _languageCodes: Array<string> = [];\n private RESIZE_DEBOUNCE_TIME = 200;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-site-header__language')].join(' ').trim();\n }\n\n constructor(\n private eclLanguageService: EclLanguageService,\n private eclSiteHeader: EclSiteHeaderComponent,\n ) {\n super();\n }\n\n ngOnInit(): void {\n this.updateLanguages();\n this.handleWindowResize();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['languageCodes']) {\n this.updateLanguages();\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.complete();\n }\n\n getLanguageLabel(): string {\n return this.eclLanguageService.getLanguageByCode(this.languageCode)?.label;\n }\n\n onLanguageClick(evt: Event): void {\n this.isLanguagesDropdownVisible = !this.isLanguagesDropdownVisible;\n if (this.isLanguagesDropdownVisible) {\n this.calculatePopoverPosition();\n } else {\n setTimeout(() => {\n this.isFull = false;\n this.isStack = false;\n this.isPushRight = false;\n this.rightPosition = undefined;\n this.languageArrowPosition = undefined;\n });\n }\n\n this.languageClick.next(new EclSiteHeaderLanguageClickEvent());\n\n evt.preventDefault();\n }\n\n onLanguageClosed(evt: EclSiteHeaderLanguageCloseEvent): void {\n this.isLanguagesDropdownVisible = false;\n }\n\n onLanguageSelected(evt: EclSiteHeaderLanguageSelectedEvent): void {\n this.languageCode = evt.language.code;\n\n this.isLanguagesDropdownVisible = false;\n this.languageSelected.next(new EclSiteHeaderLanguageSelectedEvent(evt.language));\n }\n\n @HostListener('eclClickOutside')\n onClickOutside(): void {\n this.isLanguagesDropdownVisible = false;\n }\n\n @HostListener('document:keydown.escape')\n onEscapeKeydownHandler(): void {\n this.isLanguagesDropdownVisible = false;\n }\n\n public hasLanguageCodes(): boolean {\n return this.languageCodes && this.languageCodes.length > 0;\n }\n\n handleWindowResize(): void {\n fromEvent(window, 'resize')\n .pipe(debounceTime(this.RESIZE_DEBOUNCE_TIME), takeUntil(this.destroy$))\n .subscribe(() => {\n if (this.isLanguagesDropdownVisible) {\n this.calculatePopoverPosition();\n }\n });\n }\n\n private updateLanguages(): void {\n const languages = this.eclLanguageService.getLanguagesByCodes(this.languageCodes);\n\n this.euLanguages = languages.filter((item) => this.eclLanguageService.isEuLanguage(item.code));\n\n this.nonEuLanguages = languages.filter((item) => !this.eclLanguageService.isEuLanguage(item.code));\n\n this.euColumnsCount = Math.ceil(this.euLanguages.length / this.LANGUAGE_MAX_COLUMNS);\n\n this.nonEuColumnsCount = Math.ceil(this.nonEuLanguages.length / this.LANGUAGE_MAX_COLUMNS);\n }\n\n private calculatePopoverPosition(): void {\n setTimeout(() => {\n if (this.hasLanguageCodes()) {\n const arrowSize = '0.5rem';\n const containerElement = this.eclSiteHeader.topContainerElement;\n const containerRect = containerElement.getBoundingClientRect();\n const linkRect = this.languageLinkElement.getBoundingClientRect();\n const popoverRect = this.languagePopoverElement.getBoundingClientRect();\n const screenWidth = window.innerWidth;\n const vw = Math.max(document.documentElement.clientWidth || 0, window.innerWidth || 0);\n\n this.isFull = false;\n this.isStack = false;\n this.isPushRight = false;\n this.rightPosition = undefined;\n this.languageArrowPosition = undefined;\n\n if (popoverRect.width > containerRect.width) {\n this.isStack = true;\n if (this.nonEuLanguages.length) {\n this.nonEuColumnsCount = Math.max(this.euColumnsCount, this.nonEuColumnsCount);\n }\n }\n\n if (popoverRect.right > screenWidth) {\n const arrowPosition = containerRect.right - linkRect.right + linkRect.width / 2;\n\n this.isPushRight = true;\n this.rightPosition = `-${containerRect.right - linkRect.right}px`;\n this.languageArrowPosition = `calc(${arrowPosition}px - ${arrowSize})`;\n }\n\n if (vw < this.MOBILE_BREAKPOINT) {\n const arrowPosition = popoverRect.right - linkRect.right + linkRect.width / 2;\n\n this.isFull = true;\n this.languageArrowPosition = `calc(${arrowPosition}px - ${arrowSize})`;\n }\n }\n });\n }\n}\n", "<a\n href=\"#\"\n #languageLink\n class=\"ecl-button ecl-button--ghost ecl-site-header__language-selector\"\n aria-controls=\"language-list-overlay\"\n role=\"button\"\n [attr.aria-label]=\"'ecl.language-list.SELECT-LANGUAGE-EXT' | translate: { currentLang: getLanguageLabel() }\"\n [attr.aria-expanded]=\"isLanguagesDropdownVisible\"\n (click)=\"onLanguageClick($event)\"\n (keydown.space)=\"onLanguageClick($event)\">\n <span class=\"ecl-site-header__language-icon\">\n <ecl-icon icon=\"global\" size=\"s\" class=\"ecl-site-header__icon\"></ecl-icon>\n </span>\n {{ getLanguageLabel() }}\n</a>\n\n<ecl-site-header-language-popover\n #languagePopover\n *ngIf=\"hasLanguageCodes()\"\n [languageCode]=\"languageCode\"\n [euLanguages]=\"euLanguages\"\n [nonEuLanguages]=\"nonEuLanguages\"\n [euColumnsCount]=\"euColumnsCount\"\n [nonEuColumnsCount]=\"nonEuColumnsCount\"\n [isHidden]=\"!isLanguagesDropdownVisible\"\n [isStack]=\"isStack\"\n [isPushRight]=\"isPushRight\"\n [isFull]=\"isFull\"\n [rightPosition]=\"rightPosition\"\n [languageArrowPosition]=\"languageArrowPosition\"\n (languageSelected)=\"onLanguageSelected($event)\"\n (languageClosed)=\"onLanguageClosed($event)\">\n</ecl-site-header-language-popover>\n", "import { Component, EventEmitter, HostBinding, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { coerceBoolean } from '@eui/base';\nimport { EclBaseEvent } from '../../../model/ecl-base.event';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\n\nexport class EclSiteHeaderLoginEvent extends EclBaseEvent {}\nexport class EclSiteHeaderLoginBoxToggleEvent extends EclBaseEvent {\n constructor(public isOpen: boolean) {\n super();\n }\n}\n\n@Component({\n selector: 'ecl-site-header-login',\n templateUrl: './ecl-site-header-login.component.html',\n styles: [\n `\n .ecl-site-header__login-toggle .ecl-site-header__login-arrow {\n display: inline-flex;\n }\n `,\n ],\n})\nexport class EclSiteHeaderLoginComponent extends ECLBaseDirective implements OnChanges {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isLoggedIn: boolean | any = false;\n @HostBinding('class') class = 'ecl-site-header__login-container';\n\n @Output() login = new EventEmitter<EclSiteHeaderLoginEvent>();\n @Output() loginBoxToggle = new EventEmitter<EclSiteHeaderLoginBoxToggleEvent>();\n\n public isLoginBoxActive = false;\n\n ngOnChanges(changes: SimpleChanges): void {\n const isLoggedInChange = changes.isLoggedIn;\n if (isLoggedInChange && isLoggedInChange.previousValue === true) {\n this.isLoginBoxActive = false;\n }\n }\n\n getLoginBoxCssClasses(): string {\n return ['ecl-site-header__login-box', this.isLoginBoxActive ? 'ecl-site-header__login-box--active' : ''].join(' ');\n }\n\n onLoginClick(evt: MouseEvent): void {\n const event = new EclSiteHeaderLoginEvent();\n this.login.next(event);\n evt.preventDefault();\n }\n\n onLoginBoxToggle(evt: MouseEvent): void {\n this.isLoginBoxActive = !this.isLoginBoxActive;\n const event = new EclSiteHeaderLoginBoxToggleEvent(this.isLoginBoxActive);\n this.loginBoxToggle.next(event);\n evt.preventDefault();\n }\n}\n", "<ng-container *ngIf=\"!isLoggedIn\">\n <a\n href=\"#\"\n class=\"ecl-button ecl-button--ghost ecl-site-header__login-toggle\"\n [attr.aria-expanded]=\"isLoginBoxActive\"\n (click)=\"onLoginClick($event)\">\n <ecl-icon icon=\"log-in\" size=\"s\" class=\"ecl-site-header__icon\"></ecl-icon>\n {{ 'ecl.site-header.LOGIN' | translate }}\n </a>\n</ng-container>\n<ng-container *ngIf=\"isLoggedIn\">\n <a\n href=\"#\"\n class=\"ecl-button ecl-button--ghost ecl-site-header__login-toggle\"\n aria-controls=\"login-box-id\"\n [attr.aria-expanded]=\"isLoginBoxActive\"\n (click)=\"onLoginBoxToggle($event)\">\n <ecl-icon icon=\"logged-in\" size=\"s\" class=\"ecl-site-header__icon\"></ecl-icon>\n {{ 'ecl.site-header.LOGGED-IN' | translate }}\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" class=\"ecl-site-header__login-arrow\"></ecl-icon>\n </a>\n <div class=\"{{ getLoginBoxCssClasses() }}\">\n <ng-content></ng-content>\n </div>\n</ng-container>\n", "import { Component, EventEmitter, forwardRef, HostBinding, Input, Output, Provider } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { EclBaseEvent } from '../../../model/ecl-base.event';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\nimport { EclSearchFormEvent } from '../../ecl-search-form/index';\n\nexport class EclSiteHeaderSearchEvent extends EclBaseEvent {\n constructor(public keyword: string) {\n super();\n }\n}\n\nexport class EclSiteHeaderSearchToggleEvent extends EclBaseEvent {\n constructor(public isOpen: boolean) {\n super();\n }\n}\n\nexport const ECL_SITE_HEADER_SEARCH_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EclSiteHeaderSearchComponent),\n multi: true,\n};\n\nconst noop = (): void => {\n /** empty*/\n};\n\n@Component({\n selector: 'ecl-site-header-search',\n templateUrl: './ecl-site-header-search.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n providers: [ECL_SITE_HEADER_SEARCH_VALUE_ACCESSOR],\n})\nexport class EclSiteHeaderSearchComponent extends ECLBaseDirective implements ControlValueAccessor {\n @HostBinding('class') class = 'ecl-site-header__search-container';\n @HostBinding('attr.role') role = 'search';\n\n @Input() searchInputText: string;\n @Input() searchInputPlaceholder: string;\n @Input() searchButtonLabel: string;\n\n @Output() search = new EventEmitter<EclSiteHeaderSearchEvent>();\n @Output() searchToggle = new EventEmitter<EclSiteHeaderSearchToggleEvent>();\n\n public isSearchBoxActive = false;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private onChange: (_: any) => void = noop;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private onTouched: (_: any) => void = noop;\n\n onSearch(evt: EclSearchFormEvent): boolean {\n this.search.next(new EclSiteHeaderSearchEvent(evt.keyword));\n this.onChange(evt.keyword);\n return false;\n }\n\n onSearchBoxToggle(evt: MouseEvent): void {\n this.isSearchBoxActive = !this.isSearchBoxActive;\n const event = new EclSiteHeaderSearchToggleEvent(this.isSearchBoxActive);\n this.searchToggle.next(event);\n evt.preventDefault();\n }\n\n getSearchBoxCssClasses(): string {\n return ['ecl-site-header__search', this.isSearchBoxActive ? 'ecl-site-header__search--active' : ''].join(' ');\n }\n\n onModelChange(newValue: string): void {\n this.searchInputText = newValue;\n this.onChange(newValue);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n writeValue(value: any): void {\n this.searchInputText = value;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n}\n", "<a\n href=\"#\"\n class=\"ecl-button ecl-button--ghost ecl-site-header__search-toggle\"\n data-ecl-search-toggle=\"true\"\n aria-controls=\"search-form-id\"\n [attr.aria-expanded]=\"isSearchBoxActive\"\n (click)=\"onSearchBoxToggle($event)\">\n <ecl-icon icon=\"search\" size=\"s\" class=\"ecl-site-header__icon\"></ecl-icon>\n {{ 'ecl.common.SEARCH' | translate }}\n</a>\n\n<ecl-search-form\n (search)=\"onSearch($event)\"\n [placeholder]=\"searchInputPlaceholder\"\n (ngModelChange)=\"onModelChange($event)\"\n [(ngModel)]=\"searchInputText\"\n [searchButtonLabel]=\"searchButtonLabel\"\n [class]=\"getSearchBoxCssClasses()\">\n</ecl-search-form>\n", "import { AfterContentInit, Component, ContentChild, EventEmitter, HostBinding, Input, OnDestroy, Output, ViewChild } from '@angular/core';\nimport { coerceElement } from '@eui/base';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { EclBaseEvent } from '../../model/ecl-base.event';\nimport { EclThemeService } from '../../services';\nimport { EclLanguageService } from '../../services/ecl-language.service';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclSiteHeaderLanguageClickEvent, EclSiteHeaderLanguageComponent } from './language/ecl-site-header-language.component';\nimport { EclSiteHeaderLoginComponent } from './login/ecl-site-header-login.component';\nimport { EclSiteHeaderSearchComponent } from './search/ecl-site-header-search.component';\n\nexport class EclSiteHeaderLogoClickEvent extends EclBaseEvent {}\n\n@Component({\n selector: 'ecl-site-header',\n templateUrl: './ecl-site-header.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclSiteHeaderComponent extends ECLBaseDirective implements AfterContentInit, OnDestroy {\n @Input() logoUrl: string;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-site-header')].join(' ').trim();\n }\n\n @HostBinding('attr.role') role = 'banner';\n\n @Input() siteName: string;\n\n @Output() logoClick = new EventEmitter<EclSiteHeaderLogoClickEvent>();\n @Output() languageClick = new EventEmitter<EclSiteHeaderLanguageClickEvent>();\n\n @coerceElement @ViewChild('topContainer') topContainerElement: HTMLElement;\n\n @ContentChild(EclSiteHeaderLoginComponent) eclLoginComponent: EclSiteHeaderLoginComponent;\n @ContentChild(EclSiteHeaderSearchComponent) eclSearchComponent: EclSiteHeaderSearchComponent;\n @ContentChild(EclSiteHeaderLanguageComponent) eclLanguageComponent: EclSiteHeaderLanguageComponent;\n\n @Input() languageCode = 'en';\n\n protected destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(\n protected eclLanguageService: EclLanguageService,\n protected translateService: TranslateService,\n public eclThemeService: EclThemeService,\n ) {\n super();\n }\n\n ngAfterContentInit(): void {\n if (this.eclLoginComponent && this.eclSearchComponent) {\n this.eclLoginComponent.loginBoxToggle.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.eclSearchComponent.isSearchBoxActive = false;\n });\n\n this.eclSearchComponent.searchToggle.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.eclLoginComponent.isLoginBoxActive = false;\n });\n }\n\n if (this.eclLanguageComponent) {\n this.eclLanguageComponent.languageClick.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.languageClick.next(new EclSiteHeaderLanguageClickEvent());\n });\n\n this.eclLanguageComponent.languageSelected.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.languageCode = evt.language?.code;\n });\n }\n\n if (this.eclLanguageComponent) {\n this.languageCode = this.eclLanguageComponent?.languageCode;\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n onECLogoClick(evt: MouseEvent): void {\n const event = new EclSiteHeaderLogoClickEvent();\n this.logoClick.next(event);\n if (event.defaultPrevented) {\n evt.preventDefault();\n }\n }\n\n public getEULanguageCode(): string {\n return this.eclLanguageService.getEULanguageOrFallback(this.languageCode).code;\n }\n}\n", "<div class=\"ecl-site-header__header\">\n <div class=\"ecl-site-header__container ecl-container\">\n <div #topContainer class=\"ecl-site-header__top\">\n <a\n eclLink\n variant=\"standalone\"\n class=\"ecl-site-header__logo-link\"\n href=\"https://ec.europa.eu/info/index_{{ getEULanguageCode() }}\"\n (click)=\"onECLogoClick($event)\"\n [attr.aria-label]=\"'ecl.footer.EUROPEAN-COMMISSION' | translate\">\n <ng-content select=\"[eclSiteHeaderEnvironment]\"></ng-content>\n\n <ng-container *ngIf=\"eclThemeService.isEC$ | async\">\n <picture class=\"ecl-picture ecl-site-header__picture\" [attr.title]=\"'ecl.footer.EUROPEAN-COMMISSION' | translate\">\n <source srcset=\"./assets/images/ecl/ec/logo/positive/logo-ec--{{ getEULanguageCode() }}.svg\" media=\"(min-width: 996px)\" />\n <img\n class=\"ecl-site-header__logo-image\"\n src=\"./assets/images/ecl/ec/logo/positive/logo-ec--{{ getEULanguageCode() }}.svg\"\n alt=\"European Commission logo\" />\n </picture>\n </ng-container>\n\n <ng-container *ngIf=\"eclThemeService.isEU$ | async\">\n <picture class=\"ecl-picture ecl-site-header__picture\" [attr.title]=\"'ecl.footer.EUROPEAN-UNION' | translate\">\n <source\n srcset=\"./assets/images/ecl/eu/logo/standard-version/positive/logo-eu--{{ getEULanguageCode() }}.svg\"\n media=\"(min-width: 996px)\" />\n <img\n class=\"ecl-site-header__logo-image\"\n src=\"./assets/images/ecl/eu/logo/condensed-version/positive/logo-eu--{{ getEULanguageCode() }}.svg\"\n alt=\"European Union flag\" />\n </picture>\n </ng-container>\n </a>\n <ng-content select=\"ecl-site-header-action\"></ng-content>\n </div>\n </div>\n</div>\n\n<ng-content select=\"ecl-site-header-message\"></ng-content>\n<ng-content select=\"ecl-site-header-banner-top\"></ng-content>\n\n<div *ngIf=\"siteName\" class=\"ecl-site-header__banner\">\n <div class=\"ecl-container\">\n <div class=\"ecl-site-header__site-name\">{{ siteName }}</div>\n <ng-content select=\"[eclSiteHeaderCta]\"></ng-content>\n </div>\n</div>\n\n<ng-content select=\"ecl-menu\"></ng-content>\n\n<!-- @deprecated language list is replaced with site header language -->\n<ng-content select=\"ecl-language-list\"></ng-content>\n", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\n\n@Directive({\n selector: '[eclSiteHeaderLoginDescription]',\n})\nexport class EclSiteHeaderLoginDescriptionDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-site-header__login-description';\n}\n\n@Directive({\n selector: '[eclSiteHeaderLoginSeparator]',\n})\nexport class EclSiteHeaderLoginSeparatorDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-site-header__login-separator';\n}\n", "import { Component, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\n\n@Component({\n selector: 'ecl-site-header-message',\n templateUrl: 'ecl-site-header-message.component.html',\n})\nexport class EclSiteHeaderMessageComponent extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-site-header__message')].join(' ').trim();\n }\n}\n", "<div class=\"ecl-container\">\n <ng-content></ng-content>\n</div>\n", "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclButtonComponentModule } from '../ecl-button/ecl-button.module';\nimport { EclFormGroupComponentModule } from '../ecl-form-group/ecl-form-group.module';\nimport { EclIconComponentModule } from '../ecl-icon/ecl-icon.module';\nimport { EclLinkDirectiveModule } from '../ecl-link/ecl-link.module';\nimport { EclSearchFormComponentModule } from '../ecl-search-form/ecl-search-form.module';\nimport { EclSiteHeaderActionComponent } from './action/ecl-site-header-action.component';\nimport { EclSiteHeaderBannerTopComponent } from './banner-top/ecl-site-header-banner-top.component';\nimport { EclSiteHeaderCtaDirective } from './cta/ecl-site-header-cta.directive';\nimport { EclSiteHeaderEnvironmentComponent } from './ecl-site-header-environment';\nimport { EclSiteHeaderComponent } from './ecl-site-header.component';\nimport { EclSiteHeaderLanguagePopoverComponent } from './language/ecl-site-header-language-popover.component';\nimport { EclSiteHeaderLanguageComponent } from './language/ecl-site-header-language.component';\nimport {\n EclSiteHeaderLoginDescriptionDirective,\n EclSiteHeaderLoginSeparatorDirective,\n} from './login/ecl-site-header-login-details.directive';\nimport { EclSiteHeaderLoginComponent } from './login/ecl-site-header-login.component';\nimport { EclSiteHeaderMessageComponent } from './message';\nimport { EclSiteHeaderSearchComponent } from './search/ecl-site-header-search.component';\n\nconst COMPONENTS = [\n EclSiteHeaderComponent,\n EclSiteHeaderActionComponent,\n EclSiteHeaderLoginComponent,\n EclSiteHeaderLoginDescriptionDirective,\n EclSiteHeaderLoginSeparatorDirective,\n EclSiteHeaderLanguageComponent,\n EclSiteHeaderLanguagePopoverComponent,\n EclSiteHeaderSearchComponent,\n EclSiteHeaderBannerTopComponent,\n EclSiteHeaderEnvironmentComponent,\n EclSiteHeaderMessageComponent,\n EclSiteHeaderCtaDirective,\n];\n@NgModule({\n imports: [\n CommonModule,\n TranslateModule,\n FormsModule,\n ReactiveFormsModule,\n EclLinkDirectiveModule,\n EclButtonComponentModule,\n EclIconComponentModule,\n EclFormGroupComponentModule,\n EclSearchFormComponentModule,\n ],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclSiteHeaderComponentModule {}\n", "import { AfterViewInit, OnDestroy, Component, ContentChild, EventEmitter, HostBinding, Output } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { EclBaseEvent, EclLanguage } from '../../model';\nimport { EclLanguageService } from '../../services/ecl-language.service';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclSiteHeaderComponent, EclSiteHeaderLanguageComponent, EclSiteHeaderLanguageSelectedEvent } from '../ecl-site-header';\nimport { EclRtlService } from '../../services';\n\nexport class EclAppLanguageDismissEvent extends EclBaseEvent {\n constructor(public language?: EclLanguage) {\n super();\n }\n}\n\n@Component({\n selector: 'ecl-app',\n templateUrl: './ecl-app.component.html',\n})\nexport class EclAppComponent extends ECLBaseDirective implements AfterViewInit, OnDestroy {\n @HostBinding('attr.dir') textDirection = 'ltr';\n\n @ContentChild(EclSiteHeaderLanguageComponent) eclSiteHeaderLanguage: EclSiteHeaderLanguageComponent;\n @ContentChild(EclSiteHeaderComponent) eclSiteHeader: EclSiteHeaderComponent;\n\n @Output() languageDismiss = new EventEmitter<EclAppLanguageDismissEvent>();\n\n protected destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(protected eclLanguageService: EclLanguageService, private eclRtlService: EclRtlService) {\n super();\n }\n\n ngAfterViewInit(): void {\n this.handleRtlChangeState();\n this.handleInitialConfiguredLanguages();\n this.handleLanguageChangeState();\n this.handleUIEvents();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n private handleInitialConfiguredLanguages(): void {\n setTimeout(() => {\n const languages = this.eclLanguageService.getConfiguredLanguages();\n if (this.eclSiteHeaderLanguage) {\n this.eclSiteHeaderLanguage.languageCodes = languages?.map((lang) => lang.code);\n }\n });\n }\n\n private handleLanguageChangeState(): void {\n this.eclLanguageService.currentLanguage$.pipe(takeUntil(this.destroy$)).subscribe((lang) => {\n setTimeout(() => {\n if (this.eclSiteHeaderLanguage) {\n this.eclSiteHeaderLanguage.languageCode = lang.code;\n }\n if (this.eclSiteHeader) {\n this.eclSiteHeader.languageCode = lang.code;\n }\n });\n });\n }\n\n private handleRtlChangeState(): void {\n this.eclRtlService.currentRtlState$.pipe(takeUntil(this.destroy$)).subscribe((rtlState) => {\n if (rtlState) {\n this.textDirection = 'rtl';\n } else {\n this.textDirection = 'ltr';\n }\n });\n }\n\n private handleUIEvents(): void {\n this.eclSiteHeaderLanguage?.languageSelected\n .pipe(takeUntil(this.destroy$))\n .subscribe((evt: EclSiteHeaderLanguageSelectedEvent) => {\n this.eclLanguageService.updateCurrentLanguage(evt.language);\n this.languageDismiss.next(new EclAppLanguageDismissEvent(evt.language));\n });\n }\n}\n", "<ng-content></ng-content>\n", "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { EclAppComponent } from './ecl-app.component';\nimport { EclSiteHeaderComponentModule } from '../ecl-site-header';\n\n@NgModule({\n imports: [CommonModule, RouterModule, EclSiteHeaderComponentModule],\n exports: [EclAppComponent],\n declarations: [EclAppComponent],\n})\nexport class EclAppComponentModule {}\n", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: '[eclBannerTitle]',\n})\nexport class EclBannerTitleDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-banner__title';\n}\n\n@Directive({\n selector: '[eclBannerTitleText]',\n})\nexport class EclBannerTitleTextDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-banner__title-text';\n}\n", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: '[eclBannerDescription]',\n})\nexport class EclBannerDescriptionDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-banner__description';\n}\n\n@Directive({\n selector: '[eclBannerDescriptionText]',\n})\nexport class EclBannerDescriptionTextDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-banner__description-text';\n}\n", "import { Directive, HostBinding, ElementRef } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: 'picture[eclBannerPicture]',\n})\nexport class EclBannerPictureDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-picture ecl-banner__picture')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: 'img[eclBannerImage]',\n})\nexport class EclBannerImageDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-banner__image') className = true;\n\n constructor(public el: ElementRef) {\n super();\n }\n}\n", "import {\n AfterContentInit,\n AfterViewInit,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n HostBinding,\n Input, QueryList,\n ViewChild,\n booleanAttribute,\n forwardRef, Renderer2,\n} from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclLinkDirective } from '../ecl-link/ecl-link.directive';\nimport { EclBannerImageDirective } from './ecl-banner-picture.directive';\n\n@Component({\n selector: 'ecl-banner',\n templateUrl: './ecl-banner.component.html',\n})\nexport class EclBannerComponent extends ECLBaseDirective implements AfterContentInit, AfterViewInit {\n @Input() variant: 'text-box' | 'text-overlay' | 'plain-background';\n @Input() eclSize = 'm';\n @Input() copyright = '';\n @Input({ transform: booleanAttribute }) isCentered = false;\n @Input({ transform: booleanAttribute }) isFullWidth = false;\n\n @ContentChildren(forwardRef(() => EclLinkDirective)) eclLinkComponents: QueryList<EclLinkDirective>;\n @ContentChild(EclBannerImageDirective) eclBannerImage: EclBannerImageDirective;\n\n @ViewChild('bannerContainer') bannerContainer: ElementRef;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-banner'),\n `ecl-banner--${this.variant}`,\n `ecl-banner--${this.eclSize}`,\n this.isCentered ? 'ecl-banner--centered' : '',\n this.isFullWidth ? 'ecl-banner--full-width' : '',\n ]\n .join(' ')\n .trim();\n }\n\n private defaultRatio = '4/1'\n\n constructor(public el: ElementRef, private renderer: Renderer2) {\n super();\n }\n\n ngAfterContentInit(): void {\n if (this.eclLinkComponents) {\n this.eclLinkComponents.forEach((link) => {\n link.class = 'ecl-banner__link-cta';\n });\n }\n }\n\n ngAfterViewInit(): void {\n this.observeElementSizeChanges();\n }\n\n get hasCtaLink(): boolean {\n return this.eclLinkComponents.length > 0;\n }\n\n private observeElementSizeChanges(): void {\n new ResizeObserver(() => {\n setTimeout(() => this.setBannerHeight());\n }).observe(this.bannerContainer.nativeElement);\n }\n\n private setBannerHeight(): void {\n \n const bannerContainerHeight = this.bannerContainer.nativeElement.offsetHeight + 16;\n const ratioArray = this.getRatioArray();\n const elHeight = parseInt(window.getComputedStyle(this.el.nativeElement).getPropertyValue('width'), 10)*ratioArray[1]/ratioArray[0];\n if (bannerContainerHeight > elHeight) {\n if (this.eclBannerImage) {\n this.renderer.setStyle(this.eclBannerImage.el.nativeElement, 'aspectRatio', 'auto');\n }\n this.renderer.setStyle(this.el.nativeElement, 'height', `${bannerContainerHeight}px`);\n } else {\n this.resetHeight();\n }\n }\n\n private resetHeight(): void {\n this.renderer.setStyle(this.el.nativeElement, 'height', 'auto');\n if (this.eclBannerImage) {\n const aspectRatio = window.getComputedStyle(this.eclBannerImage.el.nativeElement).getPropertyValue('--css-aspect-ratio');\n this.renderer.setStyle(this.eclBannerImage.el.nativeElement, 'aspectRatio', aspectRatio);\n }\n }\n\n private getRatioArray(): number[] {\n if (this.eclBannerImage) {\n const aspectRatio = window.getComputedStyle(this.eclBannerImage.el.nativeElement).getPropertyValue('--css-aspect-ratio');\n return aspectRatio.split('/').map(Number);\n } else {\n return this.defaultRatio.split('/').map(Number);\n }\n }\n}\n", "<figure class=\"ecl-banner__picture-container\">\n <ng-content select=\"[eclBannerPicture]\"></ng-content>\n @if(copyright) {\n <footer class=\"ecl-banner__credit\"><small>© {{copyright}}</small></footer>\n }\n</figure>\n\n<div class=\"ecl-container\">\n <div #bannerContainer class=\"ecl-banner__container\">\n <div class=\"ecl-banner__content\">\n <ng-content select=\"[eclBannerTitle]\"></ng-content>\n <ng-content select=\"[eclBannerDescription]\"></ng-content>\n <div *ngIf=\"hasCtaLink\" class=\"ecl-banner__cta\">\n <ng-content select=\"[eclLink]\"></ng-content>\n </div>\n <ng-content></ng-content>\n </div>\n </div>\n</div>", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: '[eclBannerCredit]',\n})\nexport class EclBannerCreditDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-banner__credit';\n}\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclBannerTitleDirective, EclBannerTitleTextDirective } from './ecl-banner-title.directive';\nimport { EclBannerDescriptionDirective, EclBannerDescriptionTextDirective } from './ecl-banner-description.directive';\nimport { EclBannerComponent } from './ecl-banner.component';\nimport { EclLinkDirectiveModule } from '../ecl-link/ecl-link.module';\nimport { EclBannerCreditDirective } from './ecl-banner-credit.directive';\nimport { EclBannerImageDirective, EclBannerPictureDirective } from './ecl-banner-picture.directive';\n\nconst COMPONENTS = [\n EclBannerComponent,\n EclBannerTitleDirective,\n EclBannerTitleTextDirective,\n EclBannerDescriptionDirective,\n EclBannerDescriptionTextDirective,\n EclBannerCreditDirective,\n EclBannerPictureDirective,\n EclBannerImageDirective,\n];\n@NgModule({\n imports: [CommonModule, EclLinkDirectiveModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclBannerComponentModule {}\n", "import { Component, Input, HostBinding, ChangeDetectionStrategy, ViewEncapsulation, OnInit, ChangeDetectorRef } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclLanguageService } from '../../services';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[eclBlockquote]',\n templateUrl: './ecl-blockquote.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EclBlockquoteComponent extends ECLBaseDirective implements OnInit {\n @Input() author: string;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-blockquote')].join(' ').trim();\n }\n\n constructor(\n private readonly cdRef: ChangeDetectorRef,\n protected translateService: TranslateService,\n protected eclLanguageService: EclLanguageService) {\n super();\n }\n ngOnInit(): void {\n this.translateService.onLangChange.subscribe(() => {\n this.cdRef.detectChanges();\n });\n }\n\n get hasAuthor(): boolean {\n return this.author !== null;\n }\n\n getLanguageCode(): string {\n const language = this.eclLanguageService.getEULanguageOrFallback(this.translateService.currentLang);\n return language.code;\n }\n}\n", "<ng-content select=\"picture[eclBlockquotePicture]\"></ng-content>\n<div class=\"ecl-blockquote__body\">\n <blockquote class=\"ecl-blockquote__quote\">\n <p class=\"ecl-blockquote__citation\" [attr.lang]=\"getLanguageCode()\">\n <ng-content></ng-content>\n </p>\n @if (hasAuthor) {\n <footer class=\"ecl-blockquote__attribution\">\n <cite class=\"ecl-blockquote__author\">{{ author }}</cite>\n </footer>\n }\n </blockquote>\n</div>\n", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: 'picture[eclBlockquotePicture]',\n})\nexport class EclBlockquotePictureDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-picture ecl-blockquote__picture')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: 'img[eclBlockquoteImage]',\n})\nexport class EclBlockquoteImageDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-blockquote__image')].join(' ').trim();\n }\n}\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { EclBlockquoteComponent } from './ecl-blockquote.component';\nimport { EclBlockquoteImageDirective, EclBlockquotePictureDirective } from './ecl-blockquote-picture.directive';\n\n@NgModule({\n imports: [CommonModule],\n exports: [EclBlockquoteComponent, EclBlockquoteImageDirective, EclBlockquotePictureDirective],\n declarations: [EclBlockquoteComponent, EclBlockquoteImageDirective, EclBlockquotePictureDirective],\n})\nexport class EclBlockquoteComponentModule {}\n", "import { Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewEncapsulation, booleanAttribute } from '@angular/core';\nimport { EclBaseEvent } from '../../model';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { Params, QueryParamsHandling } from '@angular/router';\n\nexport class EclBreadcrumbSegmentClickEvent extends EclBaseEvent {}\n\n@Component({\n selector: 'ecl-breadcrumb-segment',\n templateUrl: './ecl-breadcrumb-segment.component.html',\n encapsulation: ViewEncapsulation.None,\n})\nexport class EclBreadcrumbSegmentComponent extends ECLBaseDirective {\n @HostBinding('attr.tabindex') tabIndex = '-1';\n @HostBinding('attr.role') role = 'listitem';\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Input() routerLink: string | any[] = null;\n @Input() queryParams: Params | null = null;\n @Input() href = '';\n @Input() queryParamsHandling: QueryParamsHandling = null;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Input({ transform: booleanAttribute }) isCurrentPage: boolean | any = false;\n @Input({ transform: booleanAttribute })\n @HostBinding('attr.aria-hidden')\n isHidden = false;\n\n @Output() segmentClick = new EventEmitter<EclBreadcrumbSegmentClickEvent>();\n\n constructor(public el: ElementRef) {\n super();\n }\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-breadcrumb__segment'), this.isCurrentPage ? 'ecl-breadcrumb__current-page' : ''].join(' ').trim();\n }\n\n get isEllipsis(): boolean {\n return this.el.nativeElement.classList.contains('ecl-breadcrumb__segment--ellipsis');\n }\n\n getWidth(): number {\n return this.el.nativeElement.offsetWidth;\n }\n\n onSegmentClick(evt: MouseEvent): void {\n this.segmentClick.next(new EclBreadcrumbSegmentClickEvent());\n if (!this.href) {\n evt.stopPropagation();\n }\n }\n}\n", "@if (!isEllipsis) {\n@if (!isCurrentPage && href) {\n<a eclLink variant=\"standalone\" [isNoVisited]=\"true\" [href]=\"href\" tabindex=\"0\" (click)=\"onSegmentClick($event)\"\n class=\"ecl-breadcrumb__link\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n}\n@if (!isCurrentPage && !href) {\n<a eclLink [routerLink]=\"routerLink\" [queryParams]=\"queryParams\" [queryParamsHandling]=\"queryParamsHandling\"\n variant=\"standalone\" [isNoVisited]=\"true\" tabindex=\"0\" (click)=\"onSegmentClick($event)\"\n class=\"ecl-breadcrumb__link\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n}\n} @else {\n<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n}\n\n@if (isCurrentPage) {\n<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n} @else {\n<ecl-icon role=\"presentation\" icon=\"corner-arrow\" ariaHidden=\"true\" focusable=\"false\" size=\"fluid\"\n class=\"ecl-breadcrumb__icon\">\n</ecl-icon>\n}\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>", "import {\n AfterViewInit,\n Component,\n ContentChildren,\n ElementRef,\n HostBinding,\n Input,\n OnDestroy,\n OnInit,\n QueryList,\n Renderer2,\n ViewChild,\n booleanAttribute,\n forwardRef,\n HostListener,\n} from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclBreadcrumbSegmentComponent } from './ecl-breadcrumb-segment.component';\n\n@Component({\n selector: 'ecl-breadcrumb',\n templateUrl: './ecl-breadcrumb.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclBreadcrumbComponent extends ECLBaseDirective implements OnInit, AfterViewInit, OnDestroy {\n\n @Input({ transform: booleanAttribute }) isExpanded = false;\n @HostBinding('attr.role') role = 'navigation';\n @HostBinding('attr.aria-label') ariaLabel;\n\n @ViewChild('ellipsisSegment') eclEllipsisSegment: EclBreadcrumbSegmentComponent;\n @ViewChild('breadcrumbContainer') breadcrumbContainer: ElementRef;\n\n @ContentChildren(forwardRef(() => EclBreadcrumbSegmentComponent))\n eclSegments: QueryList<EclBreadcrumbSegmentComponent>;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private nonStaticSegments: EclBreadcrumbSegmentComponent[] = [];\n private staticSegments: EclBreadcrumbSegmentComponent[] = [];\n private MINIMUM_WIDTH = 767;\n\n constructor(\n private el: ElementRef,\n private translate: TranslateService,\n private renderer: Renderer2,\n ) {\n super();\n }\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-breadcrumb'),\n this.isExpanded ? '' : 'ecl-breadcrumb--collapsed'].join(' ').trim();\n }\n\n ngOnInit(): void {\n this.translate\n .stream('ecl.breadcrumb.YOU-ARE-HERE')\n .pipe(takeUntil(this.destroy$))\n .subscribe((text) => {\n this.ariaLabel = text;\n });\n }\n\n ngAfterViewInit(): void {\n this.init();\n this.handleOverflownSegments();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n @HostListener('window:resize', ['$event'])\n onWindowResize(): void {\n this.handleOverflownSegments();\n }\n\n onEllipsisSegmentClick(evt: MouseEvent): void {\n this.eclSegments.forEach((segment) => {\n segment.isHidden = false;\n });\n this.hideEllipsis();\n this.isExpanded = true;\n }\n\n private init(): void {\n setTimeout(() => {\n this.insertEllipsisSegmentIntoPosition();\n this.handleStaticAndNonStaticSegments();\n });\n }\n\n private insertEllipsisSegmentIntoPosition(): void {\n if (this.hasEnoughSegments()) {\n const secondEclSegmentEl: HTMLElement = this.eclSegments.get(1).el.nativeElement;\n const ellipsisSegmentEl: HTMLElement = this.eclEllipsisSegment.el.nativeElement;\n this.renderer.insertBefore(this.breadcrumbContainer.nativeElement, ellipsisSegmentEl, secondEclSegmentEl);\n }\n }\n\n private handleOverflownSegments(): void {\n if (this.hasEnoughSegments()) {\n setTimeout(() => {\n if (this.isBreadcrumbOverflowed()) {\n // if (this.getBreadcrumbTotalWidth() < this.MINIMUM_WIDTH) {\n // this.hideNonStaticSegments();\n // this.showEllipsis();\n // this.collapse();\n // } else {\n this.hideNonStaticSegments();\n this.showEllipsis();\n this.collapse();\n //}\n } else {\n this.hideEllipsis();\n this.showNonStaticSegments()\n this.expand();\n }\n });\n }\n }\n\n private hideNonStaticSegments(): void {\n this.nonStaticSegments.forEach((segment) => {\n segment.isHidden = true;\n });\n }\n\n private showNonStaticSegments(): void {\n this.nonStaticSegments.forEach((segment) => {\n segment.isHidden = false;\n });\n }\n\n private collapse(): void {\n this.isExpanded = false;\n }\n\n private expand(): void {\n this.isExpanded = true;\n }\n\n private hideEllipsis(): void {\n this.eclEllipsisSegment.isHidden = true;\n }\n\n private getEllipsisWidth(): number {\n return this.eclEllipsisSegment.getWidth();\n }\n\n private getStaticElementsWidth(): number {\n return this.staticSegments.reduce((width: number, segmentComponent) => width + segmentComponent.getWidth(), 0);\n }\n\n private showEllipsis(): void {\n this.eclEllipsisSegment.isHidden = false;\n }\n\n private hasEnoughSegments(): boolean {\n return this.eclSegments && this.eclSegments.length > 3;\n }\n\n private handleStaticAndNonStaticSegments(): void {\n if (this.hasEnoughSegments()) {\n this.staticSegments = [this.eclSegments.first, ...this.eclSegments.toArray().slice(-2)];\n this.nonStaticSegments = this.eclSegments.toArray().slice(1, this.eclSegments.length - 2);\n }\n }\n\n private isBreadcrumbOverflowed(): boolean {\n const breadcrumbTotalWidth = this.getBreadcrumbTotalWidth();\n const segmentsTotalWidth = this.getSegmentsTotalWidth();\n\n return segmentsTotalWidth > breadcrumbTotalWidth;\n }\n\n private getBreadcrumbTotalWidth(): number {\n return this.el.nativeElement.offsetWidth;\n }\n\n private getSegmentsTotalWidth(): number {\n return this.eclSegments.reduce((width: number, segmentComponent) => width + segmentComponent.el.nativeElement.offsetWidth, 0);\n }\n}\n", "<ol class=\"ecl-breadcrumb__container\" #breadcrumbContainer>\n <ecl-breadcrumb-segment #ellipsisSegment [isHidden]=\"true\" class=\"ecl-breadcrumb__segment--ellipsis\">\n <button\n tabindex=\"0\"\n eclButton\n variant=\"ghost\"\n class=\"ecl-breadcrumb__ellipsis\"\n [attr.aria-label]=\"'ecl.breadcrumb.CLICK-TO-EXPAND' | translate\"\n (click)=\"onEllipsisSegmentClick($event)\">\n ...\n </button>\n </ecl-breadcrumb-segment>\n <ng-content></ng-content>\n</ol>\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { EclBreadcrumbSegmentComponent } from './ecl-breadcrumb-segment.component';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclBreadcrumbComponent } from './ecl-breadcrumb.component';\nimport { EclLinkDirectiveModule } from '../ecl-link/ecl-link.module';\nimport { EclIconComponentModule } from '../ecl-icon/ecl-icon.module';\nimport { EclButtonComponentModule } from '../ecl-button/ecl-button.module';\n\nconst COMPONENTS = [EclBreadcrumbComponent, EclBreadcrumbSegmentComponent];\n@NgModule({\n imports: [CommonModule, RouterModule, TranslateModule, EclButtonComponentModule, EclLinkDirectiveModule, EclIconComponentModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclBreadcrumbComponentModule {}\n", "import { Directive, HostBinding, Input } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: '[eclLabel]',\n})\nexport class EclLabelDirective extends ECLBaseDirective {\n @Input() variant: 'low' | 'medium' | 'high' | 'highlight' = 'low';\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-label'), `ecl-label--${this.variant}`].join(' ').trim();\n }\n}\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclLabelDirective } from './ecl-label.directive';\n\n@NgModule({\n imports: [CommonModule],\n exports: [EclLabelDirective],\n declarations: [EclLabelDirective],\n})\nexport class EclLabelDirectiveModule {}\n", "import { Component, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n selector: 'ecl-card-body',\n templateUrl: './ecl-card-body.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclCardBodyComponent extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-card__body')].join(' ').trim();\n }\n}\n", "<ng-content></ng-content>\n", "import { Directive, HostBinding, ElementRef, ContentChild } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclLinkDirective } from '../ecl-link';\n\n@Directive({\n selector: '[eclContentBlockTitle]',\n})\nexport class EclContentBlockTitleDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-content-block__title')].join(' ').trim();\n }\n\n @ContentChild(EclLinkDirective, { descendants: true }) eclLink: EclLinkDirective;\n}\n\n@Directive({\n selector: '[eclContentBlockDescription]',\n})\nexport class EclContentBlockDescriptionDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-content-block__description')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclContentBlockLabels]',\n})\nexport class EclContentBlockLabelsDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-content-block__label-container')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclContentBlockLabel]',\n})\nexport class EclContentBlockLabelDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-content-block__label-item')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclContentBlockPrimaryMetas]',\n})\nexport class EclContentBlockPrimaryMetasDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-content-block__primary-meta-container')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclContentBlockPrimaryMeta]',\n})\nexport class EclContentBlockPrimaryMetaDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-content-block__primary-meta-item')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclContentBlockSecondaryMetas]',\n})\nexport class EclContentBlockSecondaryMetasDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-content-block__secondary-meta-container')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclContentBlockSecondaryMeta]',\n})\nexport class EclContentBlockSecondaryMetaDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-content-block__secondary-meta-item')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclContentBlockSecondaryMetaLabel]',\n})\nexport class EclContentBlockSecondaryMetaLabelDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-content-block__secondary-meta-label')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclContentBlockSecondaryMetaIcon]',\n})\nexport class EclContentBlockSecondaryMetaIconDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-content-block__secondary-meta-icon')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclContentBlockTags]',\n})\nexport class EclContentBlockTagsDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-content-block__tag-container')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclContentBlockTag]',\n})\nexport class EclContentBlockTagDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-content-block__tag-item')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclContentBlockLinksContainer]',\n})\nexport class EclContentBlockLinksContainerDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-content-block__link-container')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclContentBlockLinks]',\n})\nexport class EclContentBlockLinksDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-content-block__link-list')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclContentBlockLink]',\n})\nexport class EclContentBlockLinkDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-content-block__link-item')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclContentBlockListContainer]',\n})\nexport class EclContentBlockListContainerDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-content-block__list-container')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclContentBlockList]',\n})\nexport class EclContentBlockListDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-content-block__list')].join(' ').trim();\n }\n}\n", "import { Component, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n selector: 'ecl-content-block',\n templateUrl: './ecl-content-block.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclContentBlockComponent extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-content-block')].join(' ').trim();\n }\n}\n", "<ng-content></ng-content>\n", "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport {\n EclContentBlockDescriptionDirective,\n EclContentBlockLabelDirective,\n EclContentBlockLabelsDirective,\n EclContentBlockLinkDirective,\n EclContentBlockLinksContainerDirective,\n EclContentBlockLinksDirective,\n EclContentBlockListContainerDirective,\n EclContentBlockListDirective,\n EclContentBlockPrimaryMetaDirective,\n EclContentBlockPrimaryMetasDirective,\n EclContentBlockSecondaryMetaDirective,\n EclContentBlockSecondaryMetaIconDirective,\n EclContentBlockSecondaryMetaLabelDirective,\n EclContentBlockSecondaryMetasDirective,\n EclContentBlockTagDirective,\n EclContentBlockTagsDirective,\n EclContentBlockTitleDirective,\n} from './ecl-content-block-elements.directive';\nimport { EclContentBlockComponent } from './ecl-content-block.component';\n\nconst COMPONENTS = [\n EclContentBlockComponent,\n EclContentBlockTitleDirective,\n EclContentBlockDescriptionDirective,\n EclContentBlockLabelsDirective,\n EclContentBlockLabelDirective,\n EclContentBlockPrimaryMetasDirective,\n EclContentBlockPrimaryMetaDirective,\n EclContentBlockSecondaryMetasDirective,\n EclContentBlockSecondaryMetaDirective,\n EclContentBlockSecondaryMetaLabelDirective,\n EclContentBlockSecondaryMetaIconDirective,\n EclContentBlockTagsDirective,\n EclContentBlockTagDirective,\n EclContentBlockLinksContainerDirective,\n EclContentBlockLinksDirective,\n EclContentBlockLinkDirective,\n EclContentBlockListContainerDirective,\n EclContentBlockListDirective,\n];\n\n@NgModule({\n imports: [CommonModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclContentBlockComponentModule {}\n", "import { Directive, HostBinding, ElementRef } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: 'picture[eclCardPicture]',\n})\nexport class EclCardPictureDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-picture ecl-card__picture')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: 'img[eclCardImage]',\n})\nexport class EclCardImageDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-card__image')].join(' ').trim();\n }\n\n constructor(public el: ElementRef) {\n super();\n }\n}\n", "import { Component, HostBinding, ContentChild, Renderer2, AfterViewInit, forwardRef } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclContentBlockComponent, EclContentBlockTitleDirective } from '../ecl-content-block';\nimport { EclCardImageDirective } from './ecl-card-picture.directive';\n\n@Component({\n selector: 'ecl-card',\n templateUrl: './ecl-card.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclCardComponent extends ECLBaseDirective implements AfterViewInit {\n @HostBinding('attr.role') role = 'article';\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-card')].join(' ').trim();\n }\n\n @ContentChild(forwardRef(() => EclContentBlockComponent), { descendants: true }) eclContentBlock: EclContentBlockComponent;\n @ContentChild(forwardRef(() => EclContentBlockTitleDirective), { descendants: true }) eclContentBlockTitle: EclContentBlockTitleDirective;\n @ContentChild(forwardRef(() => EclCardImageDirective), { descendants: true }) eclCardImage: EclCardImageDirective;\n\n constructor(private renderer: Renderer2) {\n super();\n }\n\n ngAfterViewInit(): void {\n this.attachClickEventToImage();\n\n if (this.eclContentBlock) {\n this.eclContentBlock.class = 'ecl-card__content-block';\n }\n }\n\n private attachClickEventToImage(): void {\n if (this.eclContentBlockTitle && this.eclContentBlockTitle.eclLink) {\n if (this.eclCardImage) {\n this.renderer.setStyle(this.eclCardImage.el.nativeElement, 'cursor', 'pointer');\n this.renderer.listen(this.eclCardImage.el.nativeElement, 'click', () => {\n this.eclContentBlockTitle.eclLink.el.nativeElement.click();\n });\n }\n }\n\n }\n}\n", "<ng-content></ng-content>\n", "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { EclIconComponentModule } from '../ecl-icon/ecl-icon.module';\nimport { EclLabelDirectiveModule } from '../ecl-label/ecl-label.module';\nimport { EclCardBodyComponent } from './ecl-card-body.component';\nimport { EclCardComponent } from './ecl-card.component';\nimport { EclCardPictureDirective, EclCardImageDirective } from './ecl-card-picture.directive';\n\nconst COMPONENTS = [EclCardComponent, EclCardBodyComponent, EclCardPictureDirective, EclCardImageDirective];\n@NgModule({\n imports: [CommonModule, RouterModule, EclIconComponentModule, EclLabelDirectiveModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclCardComponentModule {}\n", "import { EclBaseEvent } from '../../model';\nimport { EclCarouselItem } from './ecl-carousel-item.component';\n\nexport class EclSlideEvent extends EclBaseEvent {\n constructor(public item: EclCarouselItem) {\n super();\n }\n}", "import { Component, ElementRef, EventEmitter, HostBinding, HostListener, Input, Output, booleanAttribute,\n ContentChild, forwardRef } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclSlideEvent } from './ecl-carousel.event';\nimport { EclBannerComponent } from '../ecl-banner';\n\nexport interface EclCarouselItem {\n isCurrent: boolean;\n index: number;\n id?: string;\n}\n\n@Component({\n selector: 'ecl-carousel-item',\n templateUrl: './ecl-carousel-item.component.html',\n styles: [\n `\n /* TODO: remove by implementing full ECL specs */\n :host:before {\n left: 0 !important;\n display: none;\n }\n `,\n ],\n})\nexport class EclCarouselItemComponent extends ECLBaseDirective implements EclCarouselItem {\n @HostBinding('attr.aria-label') ariaLabel: string;\n @HostBinding('attr.role') role = 'group';\n @HostBinding('style.width.%') width: number;\n\n @Input() id: string;\n @Input({ transform: booleanAttribute }) isCurrent = false;\n\n @Output() slideClick = new EventEmitter<EclSlideEvent>();\n @ContentChild(forwardRef(() => EclBannerComponent)) banner: EclBannerComponent;\n\n public index: number;\n\n constructor(public el: ElementRef) {\n super();\n }\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-carousel__slide')].join(' ').trim();\n }\n\n @HostBinding('attr.inert')\n get isInert(): boolean {\n return !this.isCurrent || undefined;\n }\n\n @HostListener('click')\n onSlideClick(): void {\n this.slideClick.next(new EclSlideEvent(this));\n }\n}\n", "<ng-content></ng-content>\n", "import { BreakpointObserver } from '@angular/cdk/layout';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n Renderer2,\n ViewChild,\n ViewChildren,\n booleanAttribute,\n forwardRef,\n numberAttribute,\n} from '@angular/core';\nimport { coerceElement } from '@eui/base';\nimport { Subject, interval, switchMap, takeUntil } from 'rxjs';\nimport { EclRtlService } from '../../services/ecl-rtl.service';\nimport { KeyCode } from '../../utils';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclCarouselItemComponent } from './ecl-carousel-item.component';\nimport { EclSlideEvent } from './ecl-carousel.event';\n\n@Component({\n selector: 'ecl-carousel',\n templateUrl: './ecl-carousel.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n\n /* TODO: remove by implementing full ECL specs */\n .ecl-carousel__container {\n width: 100%;\n }\n\n .ecl-carousel__slides {\n transition-duration: 0.4s;\n }\n `,\n ],\n})\nexport class EclCarouselComponent extends ECLBaseDirective implements OnInit, OnDestroy, AfterContentInit, AfterViewInit {\n\n @HostBinding('attr.aria-label') @Input('aria-label') ariaLabel: string | null = 'Carousel description here';\n @HostBinding('attr.aria-roledescription') ariaRoleDescription = 'carousel';\n\n @Input({ transform: booleanAttribute }) isAutoplay = true;\n @Input({ transform: numberAttribute }) playInterval = 5000;\n @Output() slide = new EventEmitter<EclSlideEvent>();\n\n @ViewChild('carouselContainer') carouselContainerElement: ElementRef;\n @ContentChildren(forwardRef(() => EclCarouselItemComponent)) slides: QueryList<EclCarouselItemComponent>;\n @ViewChildren('currButton') navigationButtons: QueryList<ElementRef>;\n @ViewChild('playButton') playButton: ElementRef;\n @ViewChild('pauseButton') pauseButton: ElementRef;\n @ViewChild('prevButton') prevButton: ElementRef;\n @ViewChild('nextButton') nextButton: ElementRef;\n @ViewChild('firstHiddenItem') firstHiddenItem: EclCarouselItemComponent;\n @ViewChild('lastHiddenItem') lastHiddenItem: EclCarouselItemComponent;\n @ViewChild('slidesContainer') slidesContainer: ElementRef;\n\n public isButtonNavVisible= false;\n public isPlaying = false;\n public isPausedForced = false;\n public isRtl = false;\n slideWidth: number;\n transitionDuration = 0.4;\n\n private isTabletBreakpoint = false;\n private isDesktopBreakpoint = false;\n private isLargeDesktopBreakpoint = false;\n private isMobileBreakpoint = false;\n private playSubject = new Subject<void>();\n private stopSubject = new Subject<void>();\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private unsubscribeListener: () => void;\n private readonly TIMEOUT_INTERVAL = 400;\n\n constructor(\n private cdkBreakpointObserver: BreakpointObserver,\n private cd: ChangeDetectorRef,\n private renderer2: Renderer2,\n private eclRtlService: EclRtlService,\n ) {\n super();\n }\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-carousel')].join(' ').trim();\n }\n\n ngOnInit(): void {\n this.initAutoplay();\n this.handleRtlChangeState();\n }\n\n ngAfterContentInit(): void {\n setTimeout(() => {\n this.initializeSlider();\n this.isButtonDisplay();\n });\n }\n\n ngAfterViewInit(): void {\n this.observeElementSizeChanges();\n this.cd.detectChanges();\n setTimeout(() => this.observeBreakpointChanges(), 200);\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n if (this.unsubscribeListener) {\n this.unsubscribeListener();\n }\n }\n\n onPlayClick(): void {\n this.startPlaying();\n this.showButton(this.pauseButton);\n this.focusOnButton(this.pauseButton);\n }\n\n onPauseClick(): void {\n this.stopPlaying();\n this.showButton(this.playButton);\n this.focusOnButton(this.playButton);\n }\n\n onFirstCarouselElementPress(e): void {\n if (e.key === KeyCode.TAB) {\n if (this.isPlaying) {\n this.stopPlaying();\n }\n }\n }\n\n onPlayKeyboardPress(e): void {\n if (e.key === KeyCode.TAB && e.shiftKey) {\n return;\n }\n if ([KeyCode.TAB].includes(e.key)) {\n if (this.isPlaying) {\n this.activateSlide(this.slides.get(0), true);\n this.focusOnButton(this.navigationButtons.get(0));\n this.stopPlaying();\n } else {\n this.focusOnButton(this.navigationButtons.get(this.getCurrentSlideIndex()));\n }\n e.preventDefault();\n } else if (!this.isPlaying && [KeyCode.ARROW_RIGHT].includes(e.key)) {\n this.focusOnButton(this.navigationButtons.get(this.getCurrentSlideIndex()));\n }\n }\n\n onNavBtnKeyboardPress(e: KeyboardEvent, index: number): void {\n if (e.key === KeyCode.TAB && e.shiftKey) {\n this.onNavigationButtonTabAndShift(e, index);\n } else if (e.key === KeyCode.ARROW_RIGHT) {\n this.onNavigationButtonArrowRight(e);\n } else if (e.key === KeyCode.TAB) {\n this.onNavigationButtonTab(e, index);\n } else if (e.key === KeyCode.ARROW_LEFT) {\n this.onNavigationButtonArrowLeft(e, index);\n }\n return;\n }\n\n isButtonVisible(button: ElementRef): boolean {\n if (!button) {\n return false;\n }\n return button.nativeElement.style.display === '';\n }\n\n showButton(button: ElementRef): void {\n this.renderer2.setStyle(button.nativeElement, 'display', '')\n }\n\n focusOnButton(button: ElementRef): void {\n if (!button) {\n return;\n }\n button.nativeElement.focus();\n }\n\n onSlideControlClick(slide: EclCarouselItemComponent): void {\n this.stopPlaying();\n this.activateSlide(slide, true);\n }\n\n onNextSlideClick(): void {\n this.stopPlaying();\n this.goToNextSlide(true);\n }\n\n onPreviousSlideClick(): void {\n this.stopPlaying();\n this.goToPreviousSlide(true);\n }\n\n onSlideHover(): void {\n this.pausePlaying();\n }\n\n onSlideHoverout(): void {\n if (!this.isStopButtonPressed()) {\n this.resumePlaying();\n }\n }\n\n public isStopButtonPressed(): boolean {\n return this.isPausedForced;\n }\n\n public isPadded(): boolean {\n return this.isDesktopBreakpoint;\n }\n\n public hasControls(): boolean {\n return this.getSlidesCount() > 1;\n }\n\n public getCurrentSlideIndex(): number {\n let currentIndex: number;\n\n this.getAllSlidesArray().forEach((item, idx) => {\n if (item && item.isCurrent) {\n currentIndex = idx;\n }\n });\n if (currentIndex === this.getAllSlidesCount() -1) {\n return 0;\n } else if (currentIndex === 0) {\n return this.getSlidesCount() - 1;\n }\n return currentIndex - 1;\n }\n\n public getCarouselSlidesWidth(): number {\n return this.carouselContainerElement?.nativeElement.offsetWidth * this.getAllSlidesCount();\n }\n\n public getCarouselSlidesOffsetLeft(): number {\n return -1 * this.carouselContainerElement?.nativeElement.offsetWidth * this.getCurrentItemIndex();\n }\n\n public getCarouselSlidesOffsetRight(): number {\n return -1 * this.carouselContainerElement?.nativeElement.offsetWidth * this.getCurrentItemIndex();\n }\n\n private handleRtlChangeState(): void {\n this.eclRtlService.currentRtlState$.pipe(takeUntil(this.destroy$)).subscribe((rtlState) => {\n this.isRtl = rtlState;\n });\n }\n\n private initAutoplay(): void {\n const start$ = this.playSubject.asObservable();\n const stop$ = this.stopSubject.asObservable();\n\n start$\n .pipe(\n switchMap(() => interval(this.playInterval).pipe(takeUntil(stop$))),\n takeUntil(this.destroy$),\n )\n .subscribe(() => {\n this.goToNextSlide(true);\n });\n }\n\n private getCurrentItemIndex(): number {\n let result = 0;\n this.getAllSlidesArray().forEach((item, index) => {\n if (item && item.isCurrent) {\n result = index;\n }\n });\n return result;\n }\n\n private initializeSlider(): void {\n this.slides.forEach((item, idx) => {\n this.initSlide(item, idx);\n });\n\n if (this.hasControls()) {\n this.initHiddenItems();\n if (this.isNoSlideSelected()) {\n this.activateSlide(this.slides.first, false);\n }\n\n if (this.isAutoplay && this.isTabletBreakpoint) {\n this.startPlaying();\n }\n }\n }\n\n private initHiddenItems(): void {\n this.firstHiddenItem.el.nativeElement.innerHTML = this.getLastContentChild();\n this.firstHiddenItem.isCurrent = false;\n this.lastHiddenItem.el.nativeElement.innerHTML = this.getFirstContentChild();\n this.lastHiddenItem.isCurrent = false;\n this.slideWidth = this.slides.first.width;\n this.unsubscribeListener = this.renderer2.listen(this.slidesContainer.nativeElement, 'transitionend', () => this.checkIndex());\n }\n\n private checkIndex(): void {\n if (this.getCurrentItemIndex() === this.getAllSlidesCount() - 1) {\n const item = this.slides.first;\n this.activateSlide(item, false);\n } else if (this.getCurrentItemIndex() === 0) {\n const item = this.slides.last;\n this.activateSlide(item, false);\n }\n }\n\n private getLastContentChild(): string {\n return this.getSlidesCount() > 0 ? this.slides.get(this.getSlidesCount() - 1).el.nativeElement.innerHTML : '';\n }\n\n private getFirstContentChild(): string {\n return this.getSlidesCount() > 0 ? this.slides.get(0).el.nativeElement.innerHTML : '';\n }\n\n private initSlide(item: EclCarouselItemComponent, idx: number): void {\n item.index = idx;\n item.ariaLabel = `slide ${idx + 1} of ${this.getSlidesCount()}`;\n item.width = 100 / this.getAllSlidesCount();\n }\n\n private goToNextSlide(isLoop: boolean): void {\n this.activateSlide(this.getNextSlide(isLoop), true);\n }\n\n private goToPreviousSlide(isLoop: boolean): void {\n this.activateSlide(this.getPreviousSlide(isLoop), true);\n }\n\n private activateSlide(slide: EclCarouselItemComponent, withTransition: boolean): void {\n if (withTransition) {\n this.transitionDuration = 0.4;\n } else {\n this.transitionDuration = 0;\n }\n if (slide) {\n this.getAllSlidesArray().forEach((item) => {\n item.isCurrent = false;\n });\n slide.isCurrent = true;\n }\n if (withTransition) {\n this.slide.next(new EclSlideEvent(this.slides.get(this.getCurrentSlideIndex())));\n }\n }\n\n private isLastButton(index): boolean {\n const buttonsList = this.navigationButtons;\n return index + 1 >= buttonsList.length;\n }\n\n private isFirstButton(index): boolean {\n return index <= 0;\n }\n\n private startPlaying(): void {\n this.isPlaying = true;\n this.isPausedForced = false;\n this.playSubject.next();\n }\n\n private stopPlaying(): void {\n this.isPlaying = false;\n this.isPausedForced = true;\n this.stopSubject.next();\n }\n\n private pausePlaying(): void {\n this.isPlaying = false;\n this.stopSubject.next();\n }\n\n private resumePlaying(): void {\n this.isPlaying = true;\n this.playSubject.next();\n }\n\n private getNextSlide(isLoop: boolean): EclCarouselItemComponent {\n const slidesCount = this.getSlidesCount();\n const currentIndex = this.getCurrentSlideIndex();\n\n if (currentIndex >= slidesCount - 1) {\n if (isLoop) {\n return this.getAllSlidesArray()[this.getAllSlidesCount() -1];\n } else {\n return this.slides.last;\n }\n } else {\n return this.slides.get(currentIndex + 1);\n }\n }\n\n private getAllSlidesArray(): EclCarouselItemComponent[] {\n return [...[this.firstHiddenItem], ...this.slides.toArray(), ...[this.lastHiddenItem]];\n }\n\n private getPreviousSlide(isLoop: boolean): EclCarouselItemComponent {\n const currentIndex = this.getCurrentSlideIndex();\n\n if (currentIndex <= 0) {\n if(isLoop) {\n return this.getAllSlidesArray()[0];\n } else {\n return this.slides.first;\n }\n } else {\n return this.slides.get(currentIndex - 1);\n }\n }\n\n private getSlidesCount(): number {\n return this.slides.length;\n }\n\n private getAllSlidesCount(): number {\n if (this.hasControls()) {\n return this.slides.length + 2;\n } else {\n return this.slides.length\n }\n }\n\n private isNoSlideSelected(): boolean {\n return !this.slides.some((item) => item.isCurrent);\n }\n\n private onNavigationButtonTabAndShift(e: KeyboardEvent, index: number): void {\n const button: ElementRef = this.navigationButtons.get(this.getCurrentSlideIndex());\n if (button) {\n if (this.isPlaying) {\n this.stopPlaying();\n }\n }\n if (this.isFirstButton(index)) {\n if (this.playButton) {\n this.focusOnButton(this.playButton);\n }\n if (this.pauseButton) {\n this.focusOnButton(this.pauseButton);\n }\n } else {\n setTimeout(() => {\n this.goToPreviousSlide(false);\n const button: ElementRef = this.navigationButtons.get(this.getCurrentSlideIndex());\n this.focusOnButton(button);\n }, this.TIMEOUT_INTERVAL);\n }\n e.preventDefault();\n }\n\n private onNavigationButtonTab(e, index): void {\n if (this.isLastButton(index)) {\n if (this.isButtonVisible(this.prevButton)) {\n this.focusOnButton(this.prevButton);\n e.preventDefault();\n }\n } else {\n setTimeout(() => {\n this.goToNextSlide(false);\n const button: ElementRef = this.navigationButtons.get(this.getCurrentSlideIndex());\n this.focusOnButton(button);\n }, this.TIMEOUT_INTERVAL);\n e.preventDefault();\n }\n }\n\n private onNavigationButtonArrowRight(e: KeyboardEvent): void {\n setTimeout(() => {\n this.goToNextSlide(false);\n const button: ElementRef = this.navigationButtons.get(this.getCurrentSlideIndex());\n this.focusOnButton(button);\n }, this.TIMEOUT_INTERVAL);\n e.preventDefault();\n }\n\n private onNavigationButtonArrowLeft(e: KeyboardEvent, index: number): void {\n if (this.isFirstButton(index)) {\n if (this.playButton) {\n this.focusOnButton(this.playButton);\n }\n if (this.pauseButton) {\n this.focusOnButton(this.pauseButton);\n }\n } else {\n setTimeout(() => {\n this.goToPreviousSlide(false);\n const button: ElementRef = this.navigationButtons.get(this.getCurrentSlideIndex());\n this.focusOnButton(button);\n }, this.TIMEOUT_INTERVAL);\n e.preventDefault();\n }\n }\n\n private observeBreakpointChanges(): void {\n this.cdkBreakpointObserver\n .observe([\n '(max-width: 768px)',\n '(max-width: 997px)',\n '(min-width: 998px)',\n '(min-width: 1140px) and (max-width: 1260px)',\n '(min-width: 1140px)',\n ])\n .pipe(takeUntil(this.destroy$))\n .subscribe((result) => {\n this.isMobileBreakpoint = result.breakpoints['(max-width: 768px)'];\n this.isTabletBreakpoint = result.breakpoints['(min-width: 998px)'];\n this.isDesktopBreakpoint = result.breakpoints['(min-width: 1140px) and (max-width: 1260px)'];\n this.isLargeDesktopBreakpoint = result.breakpoints['(min-width: 1140px)'];\n if (result.breakpoints['(max-width: 997px)']) {\n setTimeout(() => this.resetHeight(), 200);\n }\n if (this.isMobileBreakpoint) {\n this.stopPlaying();\n }\n\n if (this.isTabletBreakpoint) {\n setTimeout(() => this.checkBannerHeights(), 200);\n }\n\n if (this.isLargeDesktopBreakpoint) {\n this.isButtonDisplay();\n }\n });\n }\n\n private observeElementSizeChanges(): void {\n new ResizeObserver(() => {\n this.cd.detectChanges();\n }).observe(this.carouselContainerElement.nativeElement);\n }\n\n private isButtonDisplay(): void {\n this.isButtonNavVisible = true;\n if (this.getSlidesCount() <= 1) {\n this.isButtonNavVisible = false;\n }\n }\n\n private checkBannerHeights(): void {\n const heightValues = this.slides.map((slide)=> {\n const height = slide.banner?.el.nativeElement.offsetHeight;\n console.log('height', height);\n if (height === 'auto') {\n return 0;\n }\n if (Number.isNaN(height) || height === 100) {\n return 1;\n }\n return height;\n });\n\n const elementHeights = heightValues.filter((height)=> height !== undefined)\n const tallestElementHeight = Math.max(...elementHeights);\n if (tallestElementHeight > 0) {\n this.slides.forEach((slide) => {\n const banner = slide.banner;\n if (banner) {\n const bannerImage = banner.eclBannerImage;\n this.renderer2.setStyle(banner.el.nativeElement, 'height', `${tallestElementHeight}px`)\n if (bannerImage) {\n this.renderer2.setStyle(bannerImage.el.nativeElement, 'aspectRatio', 'auto');\n }\n }\n });\n this.resetHiddenItems();\n }\n }\n\n private resetHeight(): void {\n this.getAllSlidesArray().forEach((slide)=> {\n const banner = slide.banner;\n if (banner) {\n const bannerImage = slide.banner.eclBannerImage;\n this.renderer2.setStyle(banner.el.nativeElement, 'height', '')\n if (bannerImage) {\n this.renderer2.setStyle(bannerImage.el.nativeElement, 'aspectRatio', '')\n }\n }\n });\n this.resetHiddenItems();\n }\n\n private resetHiddenItems(): void {\n if (this.hasControls()) {\n this.firstHiddenItem.el.nativeElement.innerHTML = this.getLastContentChild();\n this.lastHiddenItem.el.nativeElement.innerHTML = this.getFirstContentChild();\n }\n }\n}\n", "<div #carouselContainer class=\"ecl-carousel__container\" [class.ecl-carousel-container--padded]=\"isPadded()\">\n <div #slidesContainer (keyup)=\"onFirstCarouselElementPress($event)\" class=\"ecl-carousel__slides\"\n [style.width.px]=\"getCarouselSlidesWidth()\" [style.left.px]=\"!isRtl ? getCarouselSlidesOffsetLeft() : null\"\n [style.right.px]=\"isRtl ? getCarouselSlidesOffsetRight() : null\"\n [style.transition-duration.s]=\"transitionDuration\" (mouseover)=\"onSlideHover()\" (mouseout)=\"onSlideHoverout()\">\n\n @if(hasControls()){\n <ecl-carousel-item #firstHiddenItem [style.width.%]=\"slideWidth\"></ecl-carousel-item>\n }\n <ng-content></ng-content>\n\n @if(hasControls()){\n <ecl-carousel-item #lastHiddenItem [style.width.%]=\"slideWidth\"></ecl-carousel-item>\n }\n\n </div>\n</div>\n@if(isButtonNavVisible) {\n<button #prevButton class=\"ecl-button ecl-button--ghost ecl-carousel__prev ecl-button--icon-only\" type=\"button\"\n (click)=\"onPreviousSlideClick()\">\n <span class=\"ecl-button__container\">\n <span class=\"ecl-button__label\">\n {{ 'ecl.carousel.NEXT-SLIDES' | translate }}\n </span>\n <ecl-icon icon=\"corner-arrow\" size=\"m\" transform=\"rotate-270\" class=\"ecl-button__icon\"> </ecl-icon>\n </span>\n</button>\n}\n\n@if(hasControls()){\n<div class=\"ecl-carousel__controls\">\n <div class=\"ecl-container\">\n <div class=\"ecl-carousel__autoplay\">\n <button #playButton class=\"ecl-button ecl-button--ghost ecl-carousel__play ecl-button--icon-only\"\n type=\"button\" [style.display]=\"isPlaying ? 'none' : 'flex'\" (keydown)=\"onPlayKeyboardPress($event)\"\n (click)=\"onPlayClick()\">\n <span class=\"ecl-button__container\">\n <span class=\"ecl-button__label\">\n {{ 'ecl.carousel.PLAY' | translate }}\n </span>\n <ecl-icon icon=\"play-outline\" size=\"m\" class=\"ecl-button__icon ecl-carousel__icon-default\">\n </ecl-icon>\n </span>\n\n </button>\n\n <button #pauseButton class=\"ecl-button ecl-button--ghost ecl-carousel__pause ecl-button--icon-only\"\n type=\"button\" [style.display]=\"isPlaying ? 'flex' : 'none'\" (keydown)=\"onPlayKeyboardPress($event)\"\n (click)=\"onPauseClick()\">\n <span class=\"ecl-button__container\">\n <span class=\"ecl-button__label\">\n {{ 'ecl.carousel.PAUSE' | translate }}\n </span>\n <ecl-icon icon=\"pause\" size=\"m\" class=\"ecl-button__icon ecl-carousel__icon-default\"> </ecl-icon>\n </span>\n\n </button>\n </div>\n\n <div class=\"ecl-carousel__navigation\">\n @for (slide of slides; let i = $index; track slide) {\n <button #currButton [attr.aria-current]=\"i === getCurrentSlideIndex()\"\n class=\"ecl-button ecl-button--ghost ecl-carousel__navigation-item\" (click)=\"onSlideControlClick(slide)\"\n (keydown)=\"onNavBtnKeyboardPress($event, i)\">\n {{ i + 1 }}\n </button>\n }\n </div>\n </div>\n</div>\n}\n@if(isButtonNavVisible) {\n<button #nextButton class=\"ecl-button ecl-button--ghost ecl-carousel__next ecl-button--icon-only\" type=\"button\"\n (click)=\"onNextSlideClick()\">\n <span class=\"ecl-button__container\">\n <span class=\"ecl-button__label\">\n {{ 'ecl.carousel.NEXT-SLIDES' | translate }}\n </span>\n <ecl-icon icon=\"corner-arrow\" size=\"m\" transform=\"rotate-90\" class=\"ecl-button__icon\"> </ecl-icon>\n </span>\n\n</button>\n}", "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclIconComponentModule } from '../ecl-icon/ecl-icon.module';\nimport { EclCarouselItemComponent } from './ecl-carousel-item.component';\nimport { EclCarouselComponent } from './ecl-carousel.component';\n\nconst COMPONENTS = [EclCarouselComponent, EclCarouselItemComponent];\n\n@NgModule({\n imports: [CommonModule, EclIconComponentModule, TranslateModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclCarouselComponentModule {}\n", "import { EclBaseEvent } from '../../../model/ecl-base.event';\nimport { EclCategoryFilterItem } from '../../../model/ecl-category-filter-item.model';\n\nexport class EclCategoryFilterItemSelectEvent extends EclBaseEvent {\n constructor(public item: EclCategoryFilterItem) {\n super();\n }\n}\n", "import { Component, ContentChildren, forwardRef, HostBinding, QueryList } from '@angular/core';\nimport { EclCategoryFilterItemComponent } from './ecl-category-filter-item.component';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\n\n@Component({\n selector: 'ecl-category-filter-list',\n templateUrl: './ecl-category-filter-list.component.html',\n})\nexport class EclCategoryFilterListComponent extends ECLBaseDirective {\n @HostBinding('class.ecl-category-filter__list') className = true;\n @HostBinding('attr.role') role = 'list';\n @HostBinding('attr.aria-controls') controls: string;\n\n @ContentChildren(forwardRef(() => EclCategoryFilterItemComponent))\n eclCategoryFilterItems: QueryList<EclCategoryFilterItemComponent>;\n\n get level(): number {\n return this._level;\n }\n set level(value: number) {\n this._level = value;\n this.updateChildrenItemsLevel(value);\n }\n private _level: number;\n\n get hasChildren(): boolean {\n return this.eclCategoryFilterItems !== undefined && this.eclCategoryFilterItems.length > 0;\n }\n\n get children(): EclCategoryFilterItemComponent[] {\n return this.eclCategoryFilterItems.toArray();\n }\n\n updateChildrenItemsLevel(value: number): void {\n if (this.eclCategoryFilterItems) {\n this.eclCategoryFilterItems.forEach((item) =>\n (item.level = value));\n }\n }\n}\n", "<ng-content></ng-content>\n", "import { Component, ContentChild, EventEmitter, forwardRef, HostBinding, Input, Output } from '@angular/core';\n\nimport { EclCategoryFilterItem } from '../../../model/ecl-category-filter-item.model';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\nimport { EclCategoryFilterItemSelectEvent } from '../common/ecl-category-filter-item.event';\nimport { EclCategoryFilterListComponent } from './ecl-category-filter-list.component';\n\n@Component({\n selector: 'ecl-category-filter-item',\n templateUrl: './ecl-category-filter-item.component.html',\n})\nexport class EclCategoryFilterItemComponent extends ECLBaseDirective implements EclCategoryFilterItem {\n @Input() href: string;\n @Input() id: string;\n\n @Output() itemSelect = new EventEmitter<EclCategoryFilterItemSelectEvent>();\n\n @HostBinding('class.ecl-category-filter__list-item') className = true;\n @HostBinding('attr.role') role = 'listitem';\n @HostBinding('class.ecl-category-filter__list-item--open')\n get isAriaExpanded(): boolean {\n return this.hasChildren ? this.isExpanded : null;\n }\n\n isExpanded = false;\n isCurrent = false;\n @ContentChild(forwardRef(() => EclCategoryFilterListComponent)) eclCategoryList: EclCategoryFilterListComponent;\n\n get level(): number {\n return this._level;\n }\n set level(value: number) {\n this._level = ++value;\n this.updateChildListLevel(this._level);\n }\n private _level: number;\n\n get levelClass(): string {\n return `ecl-category-filter__item--level-${this._level}`;\n }\n\n get hasChildren(): boolean {\n return this.eclCategoryList !== undefined;\n }\n\n get children(): EclCategoryFilterItemComponent[] {\n return this.eclCategoryList.children;\n }\n\n get isRootItemWithChildren(): boolean {\n return this.hasChildren && this.isRootItem;\n }\n\n get isChildItemWithChildren(): boolean {\n return this.hasChildren && !this.isRootItem;\n }\n\n get isRootItem(): boolean {\n return this.level === 1;\n }\n\n onItemClick(evt: MouseEvent): void {\n this.toggleExpanded();\n this.itemSelect.next(new EclCategoryFilterItemSelectEvent(this));\n if (!this.href) {\n evt.preventDefault();\n }\n evt.stopPropagation();\n }\n\n private toggleExpanded(): void {\n this.isExpanded = !this.isExpanded;\n this.isCurrent = true;\n }\n\n private updateChildListLevel(value: number): void {\n if (this.eclCategoryList) {\n this.eclCategoryList.level = value;\n }\n }\n}\n", "@if (hasChildren) {\n <button\n class=\"ecl-category-filter__item {{ levelClass }}\"\n [class.ecl-category-filter__item--has-children]=\"hasChildren\"\n [class.ecl-category-filter__item--current]=\"isCurrent\"\n [attr.aria-current]=\"isCurrent ? true : null\"\n [attr.aria-expanded] = \"isExpanded\"\n [attr.aria-controls]=\"id\"\n (click)=\"onItemClick($event)\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n @if(isChildItemWithChildren) {\n <ecl-icon icon=\"solid-arrow\" size=\"xs\" transform=\"rotate-90\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n @if(isRootItemWithChildren) {\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-180\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n </button>\n} @else {\n <a\n [href]=\"href\"\n class=\"ecl-category-filter__item {{ levelClass }}\"\n [class.ecl-category-filter__item--has-children]=\"hasChildren\"\n (click)=\"onItemClick($event)\">\n @if(isChildItemWithChildren) {\n <ecl-icon icon=\"solid-arrow\" size=\"xs\" transform=\"rotate-90\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n @if(isRootItemWithChildren) {\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-180\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n </a>\n}\n<ng-content select=\"ecl-category-filter-list\"></ng-content>\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", "import {\n Component,\n ContentChild,\n ContentChildren,\n forwardRef,\n HostBinding,\n IterableDiffer,\n IterableDiffers,\n QueryList,\n Input,\n DoCheck,\n AfterContentInit,\n} from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { v4 as uuidgen } from 'uuid';\n\nimport { EclCategoryFilterItemSelectEvent } from '../common/ecl-category-filter-item.event';\nimport { EclCategoryFilterItem } from '../../../model/ecl-category-filter-item.model';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\nimport { EclCategoryFilterItemComponent } from '../ecl-category-filter-list/ecl-category-filter-item.component';\nimport { EclCategoryFilterListComponent } from '../ecl-category-filter-list/ecl-category-filter-list.component';\n\n@Component({\n selector: 'ecl-category-filter',\n templateUrl: './ecl-category-filter.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclCategoryFilterComponent extends ECLBaseDirective implements DoCheck, AfterContentInit {\n @Input() currentItemId: string;\n\n @HostBinding('class.ecl-category-filter') className = true;\n @HostBinding('attr.role') role = 'navigation';\n @HostBinding('attr.aria-label') @Input('aria-label') ariaLabel: string | null = 'Category filter';\n\n @ContentChild(forwardRef(() => EclCategoryFilterListComponent)) eclCategoryList: EclCategoryFilterListComponent;\n @ContentChildren(forwardRef(() => EclCategoryFilterItemComponent), { descendants: true })\n eclCategoryFilterItemsAll: QueryList<EclCategoryFilterItemComponent>;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private differ: IterableDiffer<EclCategoryFilterItemComponent>;\n\n constructor(private differs: IterableDiffers) {\n super();\n this.differ = this.differs.find([]).create();\n }\n\n ngDoCheck(): void {\n const diff = this.differ.diff(this.eclCategoryFilterItemsAll);\n if (diff) {\n diff.forEachItem((item) => {\n this.connectCategoryfilterItemEvents(item.item);\n });\n setTimeout(() => {\n this.eclCategoryList.updateChildrenItemsLevel(0);\n if (this.currentItemId !== undefined) {\n this.setPreselectedCurrentItem();\n }\n });\n }\n }\n\n ngAfterContentInit (): void {\n this.setId(this.eclCategoryList.eclCategoryFilterItems);\n\n }\n\n private setId(subList: QueryList<EclCategoryFilterItemComponent>): void {\n if (subList) {\n subList.forEach((item) => {\n if (!item.id) {\n item.id = uuidgen();\n }\n if(item.eclCategoryList) {\n item.eclCategoryList.controls = item.id;\n this.setId(item.eclCategoryList.eclCategoryFilterItems);\n }\n });\n }\n }\n\n private connectCategoryfilterItemEvents(item: EclCategoryFilterItemComponent): void {\n item.itemSelect.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.onItemSelected(evt);\n });\n }\n\n private onItemSelected(evt: EclCategoryFilterItemSelectEvent): void {\n if (evt.item.isRootItem) {\n this.closeAllItemsButOne(evt.item);\n } else {\n this.deselectAllItemsButOne(evt.item);\n }\n }\n\n private setPreselectedCurrentItem(): void {\n const currItem = this.eclCategoryFilterItemsAll.toArray().find((item) => item.id === this.currentItemId);\n if(currItem) {\n currItem.isCurrent = true;\n if (currItem.hasChildren) {\n currItem.isExpanded = true;\n }\n this.expandParents(currItem);\n }\n }\n\n private expandParents(currItem: EclCategoryFilterItem): void {\n if (currItem.isRootItem) {\n return;\n } else {\n const parent = this.eclCategoryFilterItemsAll.find(\n (item) => item.hasChildren && item.children.find((child) => child.id === currItem.id) !== undefined,\n );\n parent.isExpanded = true;\n this.expandParents(parent);\n }\n }\n\n private closeAllItemsButOne(item: EclCategoryFilterItem): void {\n this.eclCategoryFilterItemsAll\n .filter((it) => it !== item)\n .forEach((it) => {\n it.isExpanded = false;\n it.isCurrent = false;\n });\n }\n\n private deselectAllItemsButOne(item: EclCategoryFilterItem): void {\n this.eclCategoryFilterItemsAll\n .filter((it) => it !== item)\n .forEach((it) => {\n it.isCurrent = false;\n });\n }\n}\n", "<ng-content></ng-content>\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { LayoutModule } from '@angular/cdk/layout';\nimport { EclLinkDirectiveModule } from '../ecl-link/ecl-link.module';\nimport { EclIconComponentModule } from '../ecl-icon/ecl-icon.module';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclCategoryFilterComponent } from './ecl-category-filter/ecl-category-filter.component';\nimport { EclCategoryFilterListComponent } from './ecl-category-filter-list/ecl-category-filter-list.component';\nimport { EclCategoryFilterItemComponent } from './ecl-category-filter-list/ecl-category-filter-item.component';\n\n@NgModule({\n imports: [EclIconComponentModule, EclLinkDirectiveModule, CommonModule, LayoutModule, TranslateModule],\n exports: [EclCategoryFilterComponent, EclCategoryFilterListComponent, EclCategoryFilterItemComponent],\n declarations: [EclCategoryFilterComponent, EclCategoryFilterListComponent, EclCategoryFilterItemComponent],\n})\nexport class EclCategoryFilterModule {}\n", "import { Directive, HostBinding, Input } from '@angular/core';\nimport { coerceBoolean } from '@eui/base';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: '[eclHelpBlock]',\n})\nexport class EclHelpBlockDirective extends ECLBaseDirective {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isDisabled: boolean | any = false;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-help-block'), this.isDisabled ? 'ecl-help-block--disabled' : ''].join(' ').trim();\n }\n}\n", "import { Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\nimport { coerceBoolean } from '@eui/base';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'label[eclCheckboxLabel]',\n templateUrl: './ecl-checkbox-label.component.html',\n encapsulation: ViewEncapsulation.None,\n})\nexport class EclCheckboxLabelComponent extends ECLBaseDirective {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isInvalid: boolean | any = false;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isDisabled: boolean | any = false;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-checkbox__label')].join(' ');\n }\n}\n", "<span class=\"ecl-checkbox__box\" [class.ecl-checkbox__box--disabled]=\"isDisabled\" [class.ecl-checkbox__box--invalid]=\"isInvalid\">\n <ecl-icon size=\"m\" icon=\"check\" class=\"ecl-checkbox__icon\"></ecl-icon>\n</span>\n\n<span class=\"ecl-checkbox__text\">\n <ng-content></ng-content>\n</span>\n", "import { Component, HostBinding, Input } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[eclCheckboxHelp]',\n templateUrl: './ecl-checkbox-help.component.html',\n})\nexport class EclCheckboxHelpComponent extends ECLBaseDirective {\n @Input() @HostBinding('class.ecl-checkbox__help--disabled') isDisabled = false;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-checkbox__help')].join(' ');\n }\n}\n", "<ng-content></ng-content>\n", "import { Directive, HostBinding, Input, forwardRef, ContentChild, AfterContentInit, OnChanges } from '@angular/core';\nimport { EclFormLabelComponent } from '../ecl-form-label/ecl-form-label.component';\nimport { EclHelpBlockDirective } from '../ecl-help-block/ecl-help-block.directive';\nimport { EclCheckboxLabelComponent } from './ecl-checkbox-label.component';\nimport { EclCheckboxHelpComponent } from './ecl-checkbox-help.component';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { coerceBoolean } from '@eui/base';\n\n@Directive({\n selector: '[eclCheckbox]',\n standalone: true,\n})\nexport class EclCheckboxDirective extends ECLBaseDirective implements AfterContentInit, OnChanges {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() @HostBinding('class.ecl-checkbox--disabled') isDisabled: boolean | any = false;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() @HostBinding('class.ecl-checkbox--invalid') isInvalid: boolean | any = false;\n\n @ContentChild(forwardRef(() => EclCheckboxLabelComponent)) eclCheckboxLabelComponent: EclCheckboxLabelComponent;\n @ContentChild(forwardRef(() => EclCheckboxHelpComponent)) eclCheckboxHelpComponent: EclCheckboxHelpComponent;\n @ContentChild(forwardRef(() => EclFormLabelComponent)) eclFormLabelDirective: EclFormLabelComponent;\n @ContentChild(forwardRef(() => EclHelpBlockDirective)) eclHelpBlockDirective: EclHelpBlockDirective;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-checkbox')].join(' ');\n }\n\n ngAfterContentInit(): void {\n this.updateChildElements();\n }\n\n ngOnChanges(): void {\n this.updateChildElements();\n }\n\n private updateChildElements(): void {\n if (this.eclCheckboxLabelComponent) {\n this.eclCheckboxLabelComponent.isInvalid = this.isInvalid;\n this.eclCheckboxLabelComponent.isDisabled = this.isDisabled;\n }\n\n if (this.eclCheckboxHelpComponent) {\n this.eclCheckboxHelpComponent.isDisabled = this.isDisabled;\n }\n }\n}\n", "import { Directive, DoCheck, forwardRef, HostBinding, Inject, Optional, Self } from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclCheckboxDirective } from './ecl-checkbox.directive';\n\n@Directive({\n selector: 'input[eclCheckboxInput]',\n})\nexport class EclCheckboxInputDirective extends ECLBaseDirective implements DoCheck {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-checkbox__input')].join(' ');\n }\n\n constructor(\n @Inject(forwardRef(() => EclCheckboxDirective)) public eclCheckbox: EclCheckboxDirective,\n @Optional() @Self() protected ngControl: NgControl,\n ) {\n super();\n }\n\n ngDoCheck(): void {\n if (this.ngControl) {\n if (this.eclCheckbox) {\n this.eclCheckbox.isInvalid = this.ngControl.invalid && this.ngControl.touched;\n this.eclCheckbox.isDisabled = this.ngControl.disabled;\n }\n }\n }\n}\n", "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EclCheckboxDirective } from './ecl-checkbox.directive';\nimport { EclCheckboxLabelComponent } from './ecl-checkbox-label.component';\nimport { EclCheckboxInputDirective } from './ecl-checkbox-input.directive';\nimport { EclCheckboxHelpComponent } from './ecl-checkbox-help.component';\nimport { EclIconComponentModule } from '../ecl-icon';\n\nconst COMPONENTS = [EclCheckboxLabelComponent, EclCheckboxHelpComponent, EclCheckboxInputDirective];\n@NgModule({\n imports: [CommonModule, EclIconComponentModule, EclCheckboxDirective],\n exports: [EclCheckboxDirective, ...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclCheckboxModule {}\n", "import { Directive, HostBinding, Input, ElementRef } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: '[eclContentItemPicture]',\n})\nexport class EclContentItemPictureDirective extends ECLBaseDirective {\n @Input() size = 'large';\n @Input() position: 'left' | 'right' | 'top' = 'left';\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-content-item__picture ecl-picture'),\n `ecl-content-item__picture--${this.size}`,\n `ecl-content-item__picture--${this.position}`,\n ]\n .join(' ')\n .trim();\n }\n}\n\n@Directive({\n selector: '[eclContentItemImage]',\n})\nexport class EclContentItemImageDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-content-item__image')].join(' ').trim();\n }\n\n constructor(public el: ElementRef) {\n super();\n }\n}\n", "import { formatDate } from '@angular/common';\nimport { Component, Input, HostBinding } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'time[eclDateBlock]',\n templateUrl: './ecl-date-block.component.html',\n})\nexport class EclDateBlockComponent extends ECLBaseDirective {\n @Input() date: Date;\n @Input() dateFormat = 'dd/M/yyyy';\n @Input() variant: 'ongoing' | 'past' = null;\n @Input() day: string;\n @Input() month: string;\n @Input() monthTitle: string;\n @Input() year: string;\n\n locale = 'en';\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-date-block'), this.variant ? `ecl-date-block--${this.variant}` : ''].join(' ').trim();\n }\n\n @Input()\n @HostBinding('attr.datetime')\n get datetime(): string {\n return this.getDatetime();\n }\n set datetime(value) {\n this._datetime = value;\n }\n private _datetime: string = null;\n\n constructor(private translateService: TranslateService) {\n super();\n this.locale = translateService.currentLang;\n }\n\n private getDatetime(): string {\n return this._datetime || this.getFormattedDate(this.date, this.dateFormat);\n }\n\n private getFormattedDate(date: Date, dateFormat: string): string {\n if (date) {\n return formatDate(date, dateFormat, this.translateService.currentLang);\n } else {\n return null;\n }\n }\n}\n", "<span class=\"ecl-date-block__daytime\">{{ datetime || (date | date: dateFormat) }}</span>\n<span class=\"ecl-date-block__day\" aria-hidden=\"true\">{{ day || (date | date: 'd') }}</span>\n<abbr [title]=\"monthTitle || month || (date | date: 'MMMM' : '' : locale)\" class=\"ecl-date-block__month\" aria-hidden=\"true\">\n {{ month || (date | date: 'MMM' : '' : locale) }}\n</abbr>\n<span class=\"ecl-date-block__year\" aria-hidden=\"true\">{{ year || (date | date: 'yyyy') }}</span>\n", "import { AfterContentInit, Component, ContentChild, forwardRef, HostBinding, Renderer2 } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclContentBlockComponent, EclContentBlockTitleDirective } from '../ecl-content-block';\nimport { EclDateBlockComponent } from '../ecl-date-block/ecl-date-block.component';\nimport { EclContentItemImageDirective, EclContentItemPictureDirective } from './ecl-content-item-image.directive';\n\n@Component({\n selector: 'ecl-content-item',\n templateUrl: './ecl-content-item.component.html',\n})\nexport class EclContentItemComponent extends ECLBaseDirective implements AfterContentInit {\n\n @ContentChild(forwardRef(() => EclContentBlockComponent)) eclContentBlock: EclContentBlockComponent;\n @ContentChild(forwardRef(() => EclDateBlockComponent)) eclDateBlock: EclDateBlockComponent;\n @ContentChild(forwardRef(() => EclContentItemPictureDirective)) eclContentItemPicture: EclContentItemPictureDirective;\n @ContentChild(forwardRef(() => EclContentBlockTitleDirective), { descendants: true }) eclContentBlockTitle: EclContentBlockTitleDirective;\n @ContentChild(forwardRef(() => EclContentItemImageDirective), { descendants: true }) eclContentItemImage: EclContentItemImageDirective;\n\n @HostBinding('attr.role') role = 'article';\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-content-item'), this.isStack ? 'ecl-content-item--stack' : ''].join(' ').trim();\n }\n\n private isStack = false;\n\n constructor(private renderer: Renderer2) {\n super();\n }\n\n ngAfterContentInit(): void {\n if (this.eclContentBlock) {\n this.eclContentBlock.class = 'ecl-content-item__content-block';\n }\n\n if (this.eclDateBlock) {\n this.eclDateBlock.class = 'ecl-content-item__date';\n }\n\n if (this.eclContentItemPicture && this.eclContentItemPicture.position === 'top') {\n this.isStack = true;\n }\n\n this.attachClickEventToImage();\n }\n\n private attachClickEventToImage(): void {\n if (this.eclContentBlockTitle && this.eclContentBlockTitle.eclLink) {\n if (this.eclContentItemImage) {\n this.renderer.setStyle(this.eclContentItemImage.el.nativeElement, 'cursor', 'pointer');\n this.renderer.listen(this.eclContentItemImage.el.nativeElement, 'click', () => {\n this.eclContentBlockTitle.eclLink.el.nativeElement.click();\n });\n }\n }\n }\n}\n", "<ng-content></ng-content>\n", "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { EclContentItemImageDirective, EclContentItemPictureDirective } from './ecl-content-item-image.directive';\nimport { EclContentItemComponent } from './ecl-content-item.component';\n\nconst COMPONENTS = [EclContentItemComponent, EclContentItemImageDirective, EclContentItemPictureDirective];\n\n@NgModule({\n imports: [CommonModule, RouterModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclContentItemComponentModule {}\n", "import { CommonModule } from '@angular/common';\nimport '@angular/common/locales/global/bg';\nimport '@angular/common/locales/global/da';\nimport '@angular/common/locales/global/en';\nimport '@angular/common/locales/global/et';\nimport '@angular/common/locales/global/fr';\nimport '@angular/common/locales/global/hr';\nimport '@angular/common/locales/global/lv';\nimport '@angular/common/locales/global/hu';\nimport '@angular/common/locales/global/nl';\nimport '@angular/common/locales/global/pt';\nimport '@angular/common/locales/global/sk';\nimport '@angular/common/locales/global/fi';\nimport '@angular/common/locales/global/cs';\nimport '@angular/common/locales/global/de';\nimport '@angular/common/locales/global/el';\nimport '@angular/common/locales/global/es';\nimport '@angular/common/locales/global/ga';\nimport '@angular/common/locales/global/it';\nimport '@angular/common/locales/global/lt';\nimport '@angular/common/locales/global/mt';\nimport '@angular/common/locales/global/pl';\nimport '@angular/common/locales/global/ro';\nimport '@angular/common/locales/global/sl';\nimport '@angular/common/locales/global/sv';\nimport { NgModule } from '@angular/core';\nimport { EclDateBlockComponent } from './ecl-date-block.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [EclDateBlockComponent],\n declarations: [EclDateBlockComponent],\n})\nexport class EclDateBlockComponentModule {}\n", "/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n Directive,\n HostBinding,\n Input,\n ElementRef,\n OnInit,\n ViewContainerRef,\n Output,\n EventEmitter,\n forwardRef,\n HostListener,\n OnDestroy,\n Provider,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\nimport Pikaday from 'pikaday';\nimport { EclIconComponent } from '../ecl-icon/ecl-icon.component';\nimport { EclBaseEvent } from '../../model/ecl-base.event';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { LangChangeEvent, TranslateService } from '@ngx-translate/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { EclLanguageService } from '../../services';\n\nconst pikadayDefaultI18n = {\n previousMonth: 'Previous Month',\n nextMonth: 'Next Month',\n months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\n weekdays: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n weekdaysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n};\n\nexport class EclDatePickerDatePickedEvent extends EclBaseEvent {\n constructor(public date: Date) {\n super();\n }\n}\n\nexport const ECL_DATE_PICKER_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EclDatePickerDirective),\n multi: true,\n};\n\nconst noop = (): void => {\n /** empty*/\n};\n\n@Directive({\n selector: 'input[eclDatePicker]',\n providers: [ECL_DATE_PICKER_VALUE_ACCESSOR],\n})\nexport class EclDatePickerDirective extends ECLBaseDirective implements OnInit, ControlValueAccessor, OnDestroy {\n @Input() yearRange = 40;\n @Input() format = 'DD-MM-YYYY';\n @HostBinding('attr.type') type = 'text';\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-datepicker__field')].join(' ').trim();\n }\n\n @Output() datePicked = new EventEmitter<EclDatePickerDatePickedEvent>();\n\n @HostBinding('attr.disabled')\n isDisabled = null;\n\n private picker: Pikaday;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private onChange: (_: any) => void = noop;\n private onTouched: () => void = noop;\n\n private hostEl: HTMLInputElement;\n private hostParentEl: HTMLElement;\n private hostWrapperEl: HTMLElement;\n private eclIconComponentEl: HTMLElement;\n\n constructor(\n private el: ElementRef,\n private viewContainerRef: ViewContainerRef,\n protected translateService: TranslateService,\n private eclLanguageService: EclLanguageService,\n ) {\n super();\n this.handlei18nEvents();\n }\n\n ngOnInit(): void {\n this.initPikaday();\n this.handleMarkup();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n @HostListener('click')\n onClick(): void {\n this.onTouched();\n }\n\n @HostListener('blur')\n onBlur(): void {\n const textFieldValue: string = this.hostEl.value;\n\n if (textFieldValue) {\n this.onChange(this.picker.getDate());\n } else {\n this.onChange(null);\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n writeValue(value: any): void {\n this.picker.setDate(value);\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.isDisabled = isDisabled || null;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n private initPikaday(): void {\n const i18nKey = 'ecl.date-picker.PIKADAY';\n let i18nTranslation = this.translateService.instant(i18nKey);\n const isRTL = this.eclLanguageService.getCurrentLanguage().isRtl;\n const position = isRTL ? 'bottom right' : 'bottom left';\n\n if (!i18nTranslation || i18nTranslation === i18nKey) {\n i18nTranslation = pikadayDefaultI18n;\n }\n\n this.picker = new Pikaday({\n field: this.el.nativeElement,\n format: this.format,\n theme: 'ecl-datepicker-theme',\n yearRange: this.yearRange,\n reposition: false,\n i18n: i18nTranslation,\n isRTL,\n position,\n showDaysInNextAndPreviousMonths: true,\n enableSelectionDaysInNextAndPreviousMonths: true,\n onSelect: this.onSelectDate.bind(this),\n onOpen(): void {\n // Extend picker size on mobile\n const vw = Math.max(document.documentElement.clientWidth || 0, window.innerWidth || 0);\n const elRect = this.el.getBoundingClientRect();\n const pickerMargin = isRTL ? vw - elRect.right : elRect.left;\n\n if (vw < 768) {\n this.el.style.width = 'auto';\n this.el.style.left = `${pickerMargin}px`;\n this.el.style.right = `${pickerMargin}px`;\n }\n },\n });\n }\n\n private handlei18nEvents(): void {\n this.translateService.onLangChange.pipe(takeUntil(this.destroy$)).subscribe((langChangeEvent: LangChangeEvent) => {\n this.initPikaday();\n });\n }\n\n private onSelectDate(date: Date): void {\n this.datePicked.next(new EclDatePickerDatePickedEvent(date));\n this.onChange(date);\n }\n\n private handleMarkup(): void {\n this.hostEl = this.getHostElement();\n this.hostParentEl = this.getHostParentElement(this.hostEl);\n this.hostWrapperEl = this.createHostWrapperContainer();\n this.eclIconComponentEl = this.createIconComponent();\n\n if (this.hostParentEl != null) {\n this.hostParentEl.replaceChild(this.hostWrapperEl, this.hostEl);\n this.hostWrapperEl.appendChild(this.hostEl);\n this.hostWrapperEl.appendChild(this.eclIconComponentEl);\n }\n }\n\n private getHostElement(): HTMLInputElement {\n return this.el.nativeElement;\n }\n\n private getHostParentElement(hostEl: HTMLInputElement): HTMLElement {\n return hostEl.parentElement;\n }\n\n private createHostWrapperContainer(): HTMLElement {\n const wrapperContainer = document.createElement('div');\n wrapperContainer.classList.add('ecl-datepicker');\n\n return wrapperContainer;\n }\n\n private createIconComponent(): HTMLElement {\n const eclIconComponent = this.viewContainerRef.createComponent(EclIconComponent);\n eclIconComponent.instance.size = 's';\n eclIconComponent.instance.icon = 'calendar';\n eclIconComponent.instance.class = 'ecl-datepicker__icon';\n\n return eclIconComponent.location.nativeElement;\n }\n}\n", "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclDatePickerDirective } from './ecl-date-picker.directive';\n\n@NgModule({\n imports: [CommonModule, TranslateModule],\n exports: [EclDatePickerDirective],\n declarations: [EclDatePickerDirective],\n})\nexport class EclDatePickerDirectiveModule {}\n", "import { Component, Input, OnInit, Output, EventEmitter, HostBinding, booleanAttribute } from '@angular/core';\n\nimport { EclBaseEvent } from '../../model';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\nexport class EclExpandableToggleEvent extends EclBaseEvent {\n constructor(public isExpanded: boolean) {\n super();\n }\n}\n\n@Component({\n selector: 'ecl-expandable',\n templateUrl: './ecl-expandable.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclExpandableComponent extends ECLBaseDirective implements OnInit {\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-expandable')].join(' ').trim();\n }\n\n @Input({ transform: booleanAttribute }) isExpanded = false;\n @Input() collapsedLabel: string;\n @Input() expandedLabel: string;\n\n @Output() toggle = new EventEmitter<EclExpandableToggleEvent>();\n\n ngOnInit(): void {\n if (!this.expandedLabel) {\n this.expandedLabel = this.collapsedLabel;\n }\n }\n\n onButtonClick(): void {\n const nextExpandedState = !this.isExpanded;\n const event = new EclExpandableToggleEvent(nextExpandedState);\n\n this.toggle.next(event);\n\n if (!event.defaultPrevented) {\n this.isExpanded = nextExpandedState;\n }\n }\n}\n", "<button\n eclButton\n variant=\"ghost\"\n type=\"button\"\n class=\"ecl-expandable__toggle\"\n [attr.aria-expanded]=\"isExpanded\"\n (click)=\"onButtonClick()\">\n <span eclButtonLabel>\n @if (isExpanded) {\n {{ expandedLabel || 'ecl.common.COLLAPSE' | translate }}\n } @else {\n {{ collapsedLabel || 'ecl.common.EXPAND' | translate }}\n }\n </span>\n <ecl-icon icon=\"corner-arrow\" size=\"fluid\" transform=\"rotate-180\"></ecl-icon>\n</button>\n<div class=\"ecl-expandable__content\" [hidden]=\"!isExpanded\">\n <ng-content></ng-content>\n</div>\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclButtonComponentModule } from '../ecl-button/ecl-button.module';\nimport { EclIconComponentModule } from '../ecl-icon/ecl-icon.module';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclExpandableComponent } from './ecl-expandable.component';\n\n@NgModule({\n imports: [CommonModule, EclButtonComponentModule, EclIconComponentModule, TranslateModule],\n exports: [EclExpandableComponent],\n declarations: [EclExpandableComponent],\n})\nexport class EclExpandableComponentModule {}\n", "import { Component, Input, HostBinding } from '@angular/core';\n\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n selector: 'ecl-fact-figures',\n templateUrl: './ecl-fact-figures.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclFactFiguresComponent extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-fact-figures'), `ecl-fact-figures--col-${this.columns}`].join(' ').trim();\n }\n\n @Input() columns = '3';\n}\n", "<div class=\"ecl-fact-figures__items\">\n <ng-content></ng-content>\n</div>\n\n<ng-content select=\"ecl-fact-figures-view-all\"></ng-content>\n", "import { AfterContentInit, Component, ContentChildren, HostBinding, QueryList } from '@angular/core';\n\nimport { EclIconComponent } from '../ecl-icon';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n selector: 'ecl-fact-figures-item',\n templateUrl: './ecl-fact-figures-item.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclFactFiguresItemComponent extends ECLBaseDirective implements AfterContentInit {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-fact-figures__item')].join(' ').trim();\n }\n\n @ContentChildren(EclIconComponent) eclIconComponents: QueryList<EclIconComponent>;\n\n ngAfterContentInit(): void {\n if (this.eclIconComponents) {\n this.eclIconComponents.forEach((eclIcon) => {\n eclIcon.class = [eclIcon.class, 'ecl-fact-figures__icon'].join(' ');\n });\n }\n }\n}\n", "<ng-content></ng-content>\n", "import { AfterContentInit, Component, ContentChild, HostBinding } from '@angular/core';\n\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclLinkDirective } from '../ecl-link';\n\n@Component({\n selector: 'ecl-fact-figures-view-all',\n templateUrl: './ecl-fact-figures-view-all.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclFactFiguresViewAllComponent extends ECLBaseDirective implements AfterContentInit {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-fact-figures__view-all')].join(' ').trim();\n }\n\n @ContentChild(EclLinkDirective) eclLink: EclLinkDirective;\n\n ngAfterContentInit(): void {\n if (this.eclLink) {\n this.eclLink.class = [this.eclLink.class, 'ecl-fact-figures__view-all-link'].join(' ');\n }\n }\n}\n", "<ng-content></ng-content>\n", "import { Component, HostBinding } from '@angular/core';\n\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n selector: 'ecl-fact-figures-description',\n templateUrl: './ecl-fact-figures-description.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclFactFiguresDescriptionComponent extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-fact-figures__description')].join(' ').trim();\n }\n}\n", "<ng-content></ng-content>\n", "import { Component, HostBinding } from '@angular/core';\n\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n selector: 'ecl-fact-figures-title',\n templateUrl: './ecl-fact-figures-title.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclFactFiguresTitleComponent extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-fact-figures__title')].join(' ').trim();\n }\n}\n", "<ng-content></ng-content>\n", "import { Component, HostBinding } from '@angular/core';\n\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n selector: 'ecl-fact-figures-value',\n templateUrl: './ecl-fact-figures-value.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclFactFiguresValueComponent extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-fact-figures__value')].join(' ').trim();\n }\n}\n", "<ng-content></ng-content>\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { TranslateModule } from '@ngx-translate/core';\n\nimport { EclFactFiguresComponent } from './ecl-fact-figures.component';\nimport { EclFactFiguresItemComponent } from './ecl-fact-figures-item.component';\nimport { EclFactFiguresViewAllComponent } from './ecl-fact-figures-view-all.component';\nimport { EclFactFiguresDescriptionComponent } from './ecl-fact-figures-description.component';\nimport { EclFactFiguresTitleComponent } from './ecl-fact-figures-title.component';\nimport { EclFactFiguresValueComponent } from './ecl-fact-figures-value.component';\n\n@NgModule({\n imports: [CommonModule, TranslateModule],\n exports: [\n EclFactFiguresComponent,\n EclFactFiguresItemComponent,\n EclFactFiguresViewAllComponent,\n EclFactFiguresDescriptionComponent,\n EclFactFiguresTitleComponent,\n EclFactFiguresValueComponent,\n ],\n declarations: [\n EclFactFiguresComponent,\n EclFactFiguresItemComponent,\n EclFactFiguresViewAllComponent,\n EclFactFiguresDescriptionComponent,\n EclFactFiguresTitleComponent,\n EclFactFiguresValueComponent,\n ],\n})\nexport class EclFactFiguresComponentModule {}\n", "import { AfterContentInit, Component, ContentChild, HostBinding, Input, booleanAttribute } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclExpandableComponent } from '../ecl-expandable';\n\n@Component({\n selector: 'ecl-media-container',\n templateUrl: './ecl-media-container.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclMediaContainerComponent extends ECLBaseDirective implements AfterContentInit {\n @Input({ transform: booleanAttribute }) isFullWidth = false;\n\n @ContentChild(EclExpandableComponent) expandable: EclExpandableComponent;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-media-container')].join(' ').trim();\n }\n ngAfterContentInit(): void {\n if (this.expandable) {\n this.expandable.class = [this.expandable.class, 'ecl-media-container__expandable'].join(' ');\n }\n }\n}\n", "<figure class=\"ecl-media-container__figure\" [class.ecl-media-container--full-width]=\"isFullWidth\">\n <ng-content select=\"video[eclMediaContainerItem]\"></ng-content>\n <ng-content select=\"div[eclMediaContainerItem]\"></ng-content>\n <ng-content select=\"picture[eclMediaContainerPicture]\"></ng-content>\n\n <figcaption class=\"ecl-media-container__caption\">\n <ng-content></ng-content>\n </figcaption>\n <ng-content select=\"ecl-expandable\"></ng-content>\n</figure>\n", "import { Directive, ElementRef, HostBinding, Input } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: 'iframe[eclMediaContainerIframe]',\n})\nexport class EclMediaContainerIframeDirective extends ECLBaseDirective {\n @Input() width;\n @Input() height;\n @Input()\n @HostBinding('style.aspect-ratio')\n get ratio(): string {\n return this.hasCustomRatio ? this.calculateCustomRatio() : null;\n }\n\n hasCustomRatio = false;\n\n constructor(private elem: ElementRef) {\n super();\n }\n\n calculateCustomRatio(): string {\n let iframeHeight = this.height;\n let iframeWidth = this.width;\n if (!iframeWidth || !iframeHeight) {\n iframeWidth = this.elem.nativeElement.offsetWidth;\n iframeHeight = this.elem.nativeElement.offsetHeight;\n }\n return `${iframeWidth}/${iframeHeight}`;\n }\n}\n", "import { AfterContentInit, ContentChild, Directive, HostBinding, Input } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclMediaContainerIframeDirective } from './ecl-media-container-iframe.directive';\n\n@Directive({\n selector: '[eclMediaContainerItem], img[eclMediaContainerImage]',\n})\nexport class EclMediaContainerItemDirective extends ECLBaseDirective implements AfterContentInit {\n @Input() ratio: string;\n @ContentChild(EclMediaContainerIframeDirective, { static: false }) contentIframe: EclMediaContainerIframeDirective;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-media-container__media'), this.ratio ? `ecl-media-container__media--ratio-${this.ratio}` : '']\n .join(' ')\n .trim();\n }\n\n ngAfterContentInit(): void {\n if (this.contentIframe) {\n this.contentIframe.hasCustomRatio = this.ratio ? false : true;\n }\n }\n}\n", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: 'picture[eclMediaContainerPicture]',\n})\nexport class EclMediaContainerPictureDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-picture ecl-media-container__picture')].join(' ').trim();\n }\n}\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclMediaContainerComponent } from './ecl-media-container.component';\nimport { EclMediaContainerItemDirective } from './ecl-media-container-item.directive';\nimport { EclMediaContainerIframeDirective } from './ecl-media-container-iframe.directive';\nimport { EclMediaContainerPictureDirective } from './ecl-media-container-picture.directive';\n\nconst COMPONENTS = [\n EclMediaContainerComponent,\n EclMediaContainerItemDirective,\n EclMediaContainerIframeDirective,\n EclMediaContainerPictureDirective,\n];\n@NgModule({\n imports: [CommonModule, TranslateModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclMediaContainerComponentModule {}\n", "import { Component, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n selector: 'ecl-featured-item-description',\n templateUrl: './ecl-featured-item-description.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclFeaturedItemDescriptionComponent extends ECLBaseDirective {\n @HostBinding('class.ecl-featured-item__description') className = true;\n}\n", "<p class=\"ecl-u-type-paragraph-m\">\n <ng-content></ng-content>\n</p>\n", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: '[eclFeaturedItemLink]',\n})\nexport class EclFeaturedItemLinkDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-featured-item__link') className = true;\n}\n\n@Directive({\n selector: '[eclFeaturedItemFooterLink]',\n})\nexport class EclFeaturedItemFooterLinkDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-featured-item__footer-link') className = true;\n}\n\n@Directive({\n selector: 'picture[eclFeaturedItemFooterPicture]',\n})\nexport class EclFeaturedItemFooterPictureDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-picture ecl-featured-item__footer-picture')].join(' ').trim();\n }\n}", "import { AfterContentInit, Component, ContentChild, ContentChildren, forwardRef, HostBinding, Input, QueryList } from '@angular/core';\nimport { EclMediaContainerComponent } from '..';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n selector: 'ecl-featured-item',\n templateUrl: './ecl-featured-item.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclFeaturedItemComponent extends ECLBaseDirective implements AfterContentInit {\n @Input() eclTitle = '';\n @ContentChild(EclMediaContainerComponent) mediaContainer: EclMediaContainerComponent;\n @HostBinding('class.ecl-featured-item__item') className = true;\n\n get hasTitle(): boolean {\n return this.eclTitle !== '';\n }\n\n ngAfterContentInit(): void {\n if (this.mediaContainer) {\n this.mediaContainer.class = 'ecl-featured-item__media_container';\n }\n }\n}\n", "@if(hasTitle) {\n <div class=\"ecl-featured-item__title\">\n <span class=\"ecl-featured-item__title-content\">{{ eclTitle }}</span>\n </div>\n}\n<ng-content></ng-content>\n", "import { Component, HostBinding, Input, booleanAttribute } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n selector: 'ecl-featured',\n templateUrl: './ecl-featured.component.html',\n})\nexport class EclFeaturedComponent extends ECLBaseDirective {\n @Input() position: 'left' | 'right' = 'left';\n @Input({ transform: booleanAttribute }) isHighlighted = false;\n\n @HostBinding('attr.role') role = 'article';\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-featured-item'), this.isHighlighted ? 'ecl-featured-item--highlight' : ''].join(' ').trim();\n }\n}\n", "<div class=\"ecl-featured-item__container\" [class.ecl-featured-item__container--right]=\"position === 'right'\">\n <ng-content></ng-content>\n</div>\n<ng-content select=\"[eclFeaturedItemFooter]\"></ng-content>", "import { Component, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[eclFeaturedItemFooter]',\n templateUrl: './ecl-featured-item-footer.component.html',\n})\nexport class EclFeaturedItemFooterComponent extends ECLBaseDirective {\n @HostBinding('class.ecl-featured-item__footer') className = true;\n}\n", "<div class=\"ecl-featured-item__footer-content\">\n <div class=\"ecl-featured-item__footer-description\">\n <ng-content></ng-content>\n </div>\n <ng-content select=\"[eclFeaturedItemFooterLink]\"></ng-content>\n</div>\n<ng-content select=\"[eclFeaturedItemFooterPicture]\"></ng-content>", "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclMediaContainerComponentModule } from '../ecl-media-container/ecl-media-container.module';\nimport { EclFeaturedItemDescriptionComponent } from './ecl-featured-item-description.component';\nimport { EclFeaturedItemFooterLinkDirective, EclFeaturedItemFooterPictureDirective, EclFeaturedItemLinkDirective } from './ecl-featured-item-link.directive';\nimport { EclFeaturedItemComponent } from './ecl-featured-item.component';\nimport { EclFeaturedComponent } from './ecl-featured.component';\nimport { EclFeaturedItemFooterComponent } from './ecl-featured-item-footer.component';\n\nconst COMPONENTS = [\n EclFeaturedComponent, EclFeaturedItemComponent, EclFeaturedItemLinkDirective,\n EclFeaturedItemDescriptionComponent, EclFeaturedItemFooterPictureDirective,\n EclFeaturedItemFooterLinkDirective, EclFeaturedItemFooterComponent,\n];\n@NgModule({\n imports: [CommonModule, TranslateModule, EclMediaContainerComponentModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclFeaturedModule { }\n", "import { AfterContentInit, ContentChildren, Directive, forwardRef, HostBinding, QueryList } from '@angular/core';\nimport { EclIconComponent } from '../ecl-icon/ecl-icon.component';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: '[eclFeedbackMessage]',\n})\nexport class EclFeedbackMessageDirective extends ECLBaseDirective implements AfterContentInit {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-feedback-message')].join(' ').trim();\n }\n\n @ContentChildren(forwardRef(() => EclIconComponent)) eclIconComponents: QueryList<EclIconComponent>;\n\n ngAfterContentInit(): void {\n if (this.eclIconComponents) {\n setTimeout(() => {\n this.eclIconComponents.forEach((icn) => {\n icn.class = [icn.class, 'ecl-feedback-message__icon'].join(' ');\n });\n });\n }\n }\n}\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclFeedbackMessageDirective } from './ecl-feedback-message.directive';\n\n@NgModule({\n imports: [CommonModule],\n exports: [EclFeedbackMessageDirective],\n declarations: [EclFeedbackMessageDirective],\n})\nexport class EclFeedbackMessageDirectiveModule {}\n", "import {\n Directive,\n HostBinding,\n Input,\n Optional,\n Self,\n DoCheck,\n ElementRef,\n OnInit,\n HostListener,\n Output,\n EventEmitter,\n OnDestroy,\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { EclFileUpload } from '../../model/ecl-file-upload.model';\nimport { EclBaseEvent } from '../../model/ecl-base.event';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { TranslateService } from '@ngx-translate/core';\nimport { takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\nimport { coerceBoolean } from '@eui/base';\n\nexport class EclFileUploadFileSelectedEvent extends EclBaseEvent {\n constructor(public files: Array<EclFileUpload>) {\n super();\n }\n}\n\n@Directive({\n selector: '[eclFileUpload]',\n})\nexport class EclFileUploadDirective extends ECLBaseDirective implements OnInit, OnDestroy, DoCheck {\n @Input() variant = 'default';\n @Input() isInvalid = false;\n @Input() @HostBinding('attr.id') id: string;\n\n @coerceBoolean\n @Input()\n @HostBinding('attr.disabled')\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n disabled: boolean | any;\n\n @coerceBoolean\n @Input()\n @HostBinding('attr.multiple')\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n multiple: boolean | any;\n\n @Output() filesSelected = new EventEmitter<EclFileUploadFileSelectedEvent>();\n\n @HostBinding('attr.type') type = 'file';\n private fileListEl: HTMLElement;\n\n private files: EclFileUpload[] = [];\n private buttonEl: HTMLElement;\n private labelEl: HTMLElement;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(\n @Optional() @Self() protected ngControl: NgControl,\n private el: ElementRef,\n private translate: TranslateService,\n ) {\n super();\n }\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-file-upload')].join(' ').trim();\n }\n\n @HostBinding('class.ecl-file-upload--invalid')\n get invalidState(): boolean {\n if (this.ngControl) {\n return this.ngControl.status === 'INVALID' && this.ngControl.touched;\n } else {\n return this.isInvalid;\n }\n }\n\n ngOnInit(): void {\n this.createDOMStructure();\n this.handleTranslations();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n ngDoCheck(): void {\n if (this.disabled) {\n this.buttonEl.setAttribute('disabled', '');\n } else {\n this.buttonEl.removeAttribute('disabled');\n }\n }\n\n @HostListener('click', ['$event']) onClick(evt: Event): void {\n if (this.disabled) {\n evt.preventDefault();\n }\n }\n\n @HostListener('change', ['$event']) onFilesSelected(evt: Event): void {\n const inputElement: HTMLInputElement = evt.target as HTMLInputElement;\n const fileList: FileList = inputElement.files;\n this.files = this.getFileModels(fileList);\n\n const fileEvent = new EclFileUploadFileSelectedEvent(this.files);\n this.filesSelected.next(fileEvent);\n\n if (!fileEvent.defaultPrevented) {\n this.handleTranslations();\n this.updateListItemsDOM(this.files);\n }\n }\n\n private handleTranslations(): void {\n const uploadButtonLabelKey = this.geti18nUploadButtonLabelKey();\n\n this.translate\n .stream(uploadButtonLabelKey)\n .pipe(takeUntil(this.destroy$))\n .subscribe((translation: string) => {\n if (this.buttonEl) {\n this.buttonEl.textContent = translation;\n }\n });\n }\n\n private geti18nUploadButtonLabelKey(): string {\n let key = '';\n\n if (this.files && this.files.length !== 0) {\n if (this.multiple) {\n key = 'ecl.file-upload.REPLACE-FILES';\n } else {\n key = 'ecl.file-upload.REPLACE-FILE';\n }\n } else {\n if (this.multiple) {\n key = 'ecl.file-upload.CHOOSE-FILES';\n } else {\n key = 'ecl.file-upload.CHOOSE-FILE';\n }\n }\n\n return key;\n }\n\n private updateListItemsDOM(files: EclFileUpload[]): void {\n this.fileListEl.innerHTML = '';\n files.forEach((file) => {\n const item = this.createFileListItemDOMElement(file);\n this.fileListEl.appendChild(item);\n });\n }\n\n private createDOMStructure(): void {\n const labelEl = this.createLabelDOMElement();\n const hostEl = this.getHostDOMElement();\n const fileListEl = this.createFileListDOMElement();\n\n hostEl.insertAdjacentElement('afterend', fileListEl);\n hostEl.insertAdjacentElement('afterend', labelEl);\n\n this.fileListEl = fileListEl;\n }\n\n private getHostDOMElement(): HTMLInputElement {\n return this.el.nativeElement;\n }\n\n private createLabelDOMElement(): HTMLElement {\n this.buttonEl = document.createElement('span');\n this.buttonEl.classList.add('ecl-button', 'ecl-button--primary', 'ecl-file-upload__button');\n\n this.labelEl = document.createElement('label');\n this.labelEl.setAttribute('for', this.id);\n this.labelEl.classList.add('ecl-file-upload__button-container');\n\n this.labelEl.appendChild(this.buttonEl);\n\n return this.labelEl;\n }\n\n private createFileListDOMElement(): HTMLElement {\n const element = document.createElement('ul');\n element.classList.add('ecl-file-upload__list');\n\n return element;\n }\n\n private createFileListItemDOMElement(fileUpload: EclFileUpload): HTMLElement {\n const liElement = document.createElement('li');\n liElement.classList.add('ecl-file-upload__item');\n\n const fileNameElement = document.createElement('span');\n fileNameElement.textContent = fileUpload.name;\n fileNameElement.classList.add('ecl-file-upload__item-name');\n\n const fileMetaElement = document.createElement('span');\n fileMetaElement.textContent = `${fileUpload.size} - ${fileUpload.extension}`;\n fileMetaElement.classList.add('ecl-file-upload__item-meta');\n\n liElement.appendChild(fileNameElement);\n liElement.appendChild(fileMetaElement);\n\n return liElement;\n }\n\n private getFileModels(fileList: FileList): Array<EclFileUpload> {\n return Array.from(fileList).map((f) => ({\n name: f.name,\n extension: this.getFilenameExtension(f.name),\n size: this.formatBytes(f.size),\n }));\n }\n\n private getFilenameExtension(filename: string): string {\n return filename.split('.').pop();\n }\n\n private formatBytes(bytes, decimals = 2): string {\n if (bytes === 0) {\n return '0 Bytes';\n }\n\n const k = 1024;\n const dm = decimals < 0 ? 0 : decimals;\n const sizes = ['Bytes', 'kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n\n return `${parseFloat((bytes / k ** i).toFixed(dm))} ${sizes[i]}`;\n }\n}\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclFileUploadDirective } from './ecl-file-upload.directive';\n\n@NgModule({\n imports: [CommonModule],\n exports: [EclFileUploadDirective],\n declarations: [EclFileUploadDirective],\n})\nexport class EclFileUploadDirectiveModule {}\n", "import { Directive, HostBinding, Input } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: 'picture[eclFilePicture]',\n})\nexport class EclFilePictureDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-picture ecl-file__picture')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: 'img[eclFileImage]',\n})\nexport class EclFileImageDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-file__image') className = true;\n}\n\n@Directive({\n selector: '[eclFileTitle]',\n})\nexport class EclFileTitleDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-file__title') className = true;\n @Input() id: string;\n}\n", "import {\n Component,\n ContentChild,\n HostBinding,\n Input,\n} from '@angular/core';\nimport { EclThemeService } from '../../services';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclFilePictureDirective } from './ecl-file-picture.directive';\n\n@Component({\n selector: 'ecl-file',\n templateUrl: './ecl-file.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclFileComponent extends ECLBaseDirective {\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-file'), this.isThumbnail ? 'ecl-file--thumbnail' : ''].join(' ').trim();\n }\n\n @Input() description: string;\n @Input() id: string;\n @Input() langId: string;\n @Input() labelInfo: string;\n @Input() language: string;\n @Input() detailMeta: string[];\n @Input() meta: string;\n\n @ContentChild(EclFilePictureDirective) eclPictureContent: EclFilePictureDirective;\n\n constructor(public eclThemeService: EclThemeService) {\n super();\n }\n\n get isThumbnail(): boolean {\n return !!this.eclPictureContent;\n }\n}\n", "<div class=\"ecl-file__container\">\n @if(!isThumbnail) {\n @if(eclThemeService.isECTheme()) {\n <ecl-icon icon=\"file\" class=\"ecl-file__icon\" size=\"2xl\"></ecl-icon>\n } @else {\n <ecl-icon icon=\"file\" class=\"ecl-file__icon\" size=\"m\"></ecl-icon>\n }\n } @else {\n <ng-content select=\"[eclFilePicture]\"></ng-content>\n }\n <div class=\"ecl-file__info\">\n @if(labelInfo) {\n <div class=\"ecl-file__label\">\n <span eclLabel variant=\"highlight\">{{ labelInfo }}</span>\n </div>\n }\n @if(detailMeta) {\n <div class=\"ecl-file__detail-meta\">\n <span class=\"ecl-file__detail-meta-item\" *ngFor=\"let el of detailMeta\">{{ el }}</span>\n </div>\n }\n <ng-content select=\"[eclFileTitle]\"></ng-content>\n @if(description) {\n <div class=\"ecl-file__description\">{{ description }}</div>\n }\n <ng-content select=\"ecl-file-taxonomy\"></ng-content>\n </div>\n \n </div>\n <div class=\"ecl-file__footer\">\n <div class=\"ecl-file__language\" [id]=\"langId\">{{ language }}</div>\n <div class=\"ecl-file__meta\">{{ meta }}</div>\n <ng-content select=\"[eclFileDownload]\"></ng-content>\n </div>\n<ng-content></ng-content>", "import { Component, HostBinding, Input, booleanAttribute } from '@angular/core';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\nimport { EclFileComponent } from '../ecl-file.component';\n\n@Component({\n selector: 'ecl-file-item',\n templateUrl: './ecl-file-item.component.html',\n})\nexport class EclFileItemComponent extends ECLBaseDirective {\n @Input({ transform: booleanAttribute }) isDescription = false;\n @Input() eclTitle: string;\n @Input() titleId: string;\n @Input() meta: string;\n @Input() label: string;\n @Input() langDetail: string;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-file__translation-item'), this.isDescription ? 'ecl-file__translation-description' : '']\n .join(' ')\n .trim();\n }\n\n constructor(private eclFileComponent: EclFileComponent) {\n super();\n }\n\n get isThumbnail(): boolean {\n return this.eclFileComponent && this.eclFileComponent.isThumbnail;\n }\n}\n", "<ng-template [ngIf]=\"!isDescription\">\n <div class=\"ecl-file__translation-info\">\n <div class=\"ecl-file__translation-title\" [id]=\"titleId\" [attr.lang]=\"langDetail\">{{ eclTitle }}</div> \n <div class=\"ecl-file__translation-meta\">{{ meta }}</div>\n </div>\n <ng-content select=\"[eclFileTranslationDownload]\"></ng-content>\n</ng-template>\n<ng-template [ngIf]=\"isDescription\">\n <ng-content></ng-content>\n</ng-template>", "import { Component, Input, ContentChildren, QueryList, Output, EventEmitter, HostBinding, booleanAttribute } from '@angular/core';\nimport { EclFileItemComponent } from '../ecl-file-item/ecl-file-item.component';\nimport { EclBaseEvent } from '../../../model/ecl-base.event';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\n\nexport class EclFileItemsToggleEvent extends EclBaseEvent {\n constructor(public isExpanded: boolean) {\n super();\n }\n}\n\n@Component({\n selector: 'ecl-file-items',\n templateUrl: './ecl-file-items.component.html',\n})\nexport class EclFileItemsComponent extends ECLBaseDirective {\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-file__translation-container')].join(' ').trim();\n }\n\n @Input() label: string;\n @Input({ transform: booleanAttribute }) isExpanded = false;\n\n @Output() toggle = new EventEmitter<EclFileItemsToggleEvent>();\n\n @ContentChildren(EclFileItemComponent) items: QueryList<EclFileItemComponent>;\n\n getItemsCount(): number {\n return this.items.filter((item) => !item.isDescription).length;\n }\n\n onToggleClick(evt: MouseEvent): void {\n const nextExpandedState = !this.isExpanded;\n const event = new EclFileItemsToggleEvent(nextExpandedState);\n\n this.toggle.next(event);\n\n if (!event.defaultPrevented) {\n this.isExpanded = nextExpandedState;\n }\n }\n}\n", "<button eclButton variant=\"ghost\" class=\"ecl-file__translation-toggle\" [attr.aria-expanded]=\"isExpanded\" (click)=\"onToggleClick($event)\">\n <span eclButtonLabel>\n {{ label || 'ecl.file.OTHER-LANGUAGES' | translate: { count: getItemsCount() } }}\n </span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-180\"></ecl-icon>\n</button>\n<ul class=\"ecl-file__translation-list\">\n <ng-content></ng-content>\n</ul>\n", "import { Component, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\n\n@Component({\n selector: 'ecl-file-taxonomy',\n templateUrl: './ecl-file-taxonomy.component.html',\n})\nexport class EclFileTaxonomyComponent extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-file__taxonomy')].join(' ').trim();\n }\n}\n", "<ng-content></ng-content>\n", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: '[eclFileTranslationDownload]',\n})\nexport class EclFileTranslationDownloadDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-file__translation-download') className = true;\n}\n\n@Directive({\n selector: '[eclFileDownload]',\n})\nexport class EclFileDownloadDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-file__download') className = true;\n}", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclLinkDirectiveModule } from '../ecl-link/ecl-link.module';\nimport { EclIconComponentModule } from '../ecl-icon/ecl-icon.module';\nimport { EclFileItemsComponent } from './ecl-file-items/ecl-file-items.component';\nimport { EclFileItemComponent } from './ecl-file-item/ecl-file-item.component';\nimport { EclButtonComponentModule } from '../ecl-button/ecl-button.module';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclFileComponent } from './ecl-file.component';\nimport { EclFileTaxonomyComponent } from './ecl-file-taxonomy/ecl-file-taxonomy.component';\nimport { EclLabelDirectiveModule } from '../ecl-label/ecl-label.module';\nimport { EclFileImageDirective, EclFilePictureDirective, EclFileTitleDirective } from './ecl-file-picture.directive';\nimport { EclFileDownloadDirective, EclFileTranslationDownloadDirective } from './ecl-file-download.directive';\n\nconst COMPONENTS = [\n EclFileComponent,\n EclFileDownloadDirective,\n EclFileItemsComponent,\n EclFileItemComponent,\n EclFileTaxonomyComponent,\n EclFileTitleDirective,\n EclFileTranslationDownloadDirective,\n EclFilePictureDirective,\n EclFileImageDirective,\n];\n@NgModule({\n imports: [\n CommonModule,\n EclLinkDirectiveModule,\n EclIconComponentModule,\n EclButtonComponentModule,\n EclLabelDirectiveModule,\n TranslateModule,\n ],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclFileComponentModule {}\n", "import { Directive, ElementRef, HostBinding, Input, OnInit } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\nexport class EclGalleryMediaSource {\n src?: string;\n type?: string;\n}\n\nexport class EclGalleryMediaTrack {\n src?: string;\n kind?: string;\n srcLang?: string;\n label?: string;\n}\n\n@Directive({\n selector: '[eclGalleryMedia], [eclGalleryImage]',\n})\nexport class EclGalleryMediaDirective extends ECLBaseDirective implements OnInit {\n @Input() poster: string;\n sources: Array<EclGalleryMediaSource> = [];\n tracks: Array<EclGalleryMediaTrack> = [];\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-gallery__image')].join(' ').trim();\n }\n\n constructor(private el: ElementRef) {\n super();\n }\n\n ngOnInit(): void {\n if (this.getHostElement().hasChildNodes) {\n this.getHostElement().childNodes.forEach((el: HTMLInputElement) => {\n if (el.nodeName === 'SOURCE') {\n const mediaSource = new EclGalleryMediaSource();\n mediaSource.src = el.getAttribute('src');\n mediaSource.type = el.getAttribute('type');\n this.sources.push(mediaSource);\n } else if (el.nodeName === 'TRACK') {\n const mediaTrack = new EclGalleryMediaTrack();\n mediaTrack.src = el.getAttribute('src');\n mediaTrack.kind = el.getAttribute('kind');\n mediaTrack.srcLang = el.getAttribute('srcLang');\n mediaTrack.label = el.getAttribute('label');\n this.tracks.push(mediaTrack);\n }\n });\n }\n }\n\n private getHostElement(): HTMLInputElement {\n return this.el.nativeElement;\n }\n}\n\n@Directive({\n selector: 'picture[eclGalleryPicture]',\n})\nexport class EclGalleryPictureDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-picture ecl-gallery__picture')].join(' ').trim();\n }\n}\n", "import { Component, ContentChild, ElementRef, EventEmitter, HostBinding, HostListener, Input, OnInit, Output } from '@angular/core';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\nimport { coerceBoolean } from '@eui/base';\nimport { EclBaseEvent } from '../../model/ecl-base.event';\nimport { EclGalleryItem } from '../../model/ecl-gallery-item.model';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclGalleryMediaDirective, EclGalleryPictureDirective } from './ecl-gallery-media.directive';\n\nexport class EclGalleryItemClickEvent extends EclBaseEvent {}\n\n@Component({\n selector: 'ecl-gallery-item',\n templateUrl: './ecl-gallery-item.component.html',\n styles: [\n `\n .ecl-gallery__description {\n width: 100%;\n }\n `,\n ],\n})\nexport class EclGalleryItemComponent extends ECLBaseDirective implements EclGalleryItem, OnInit {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isShareable: boolean | any = true;\n @Input() mediaType: 'image' | 'video' | 'externalVideo' = 'image';\n @Input() src: string;\n @Input() label: string;\n @Input() meta: string;\n @Input() description: string;\n @Input() icon: string;\n @Output() itemClick = new EventEmitter<EclGalleryItemClickEvent>();\n @ContentChild(EclGalleryPictureDirective) pictureChild: EclGalleryPictureDirective;\n @ContentChild(EclGalleryMediaDirective) mediaChild: EclGalleryMediaDirective;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-gallery__item'), this._isHidden ? 'ecl-gallery__item--hidden' : ''].join(' ').trim();\n }\n @HostBinding('attr.role') role = 'listitem';\n\n private _isNoOverlay = false;\n private _isHidden = false;\n private externalVideoUrl: SafeResourceUrl;\n\n constructor(\n private domSanitizer: DomSanitizer,\n public el: ElementRef,\n ) {\n super();\n }\n\n ngOnInit(): void {\n this.externalVideoUrl = this.domSanitizer.bypassSecurityTrustResourceUrl(this.src);\n }\n\n set isHidden(value: boolean) {\n this._isHidden = value;\n }\n\n @HostListener('click', ['$event'])\n onItemClick(evt: MouseEvent): void {\n this.itemClick.next(new EclGalleryItemClickEvent());\n evt.preventDefault();\n }\n\n getDownloadLink(): string {\n return this.src;\n }\n\n getUrlExternalVideo(): SafeResourceUrl {\n return this.externalVideoUrl;\n }\n\n get isNoOverlay(): boolean {\n return this._isNoOverlay;\n }\n\n set isNoOverlay(value: boolean) {\n this._isNoOverlay = value;\n }\n\n get isImage(): boolean {\n return this.mediaType === 'image';\n }\n\n get isVideo(): boolean {\n return this.mediaType === 'video';\n }\n\n get isExternalVideo(): boolean {\n return this.mediaType === 'externalVideo';\n }\n /**\n * @deprecated\n * The name 'isDownloadable' is deprecated and should be removed as of version 18.\n */\n get isDownloadable(): boolean {\n return this.mediaType !== 'externalVideo';\n }\n\n get isOpenInFullScreenPossible(): boolean {\n return this.mediaType !== 'externalVideo';\n }\n\n get hasPictureChild(): boolean {\n return !!this.pictureChild;\n }\n}\n", "<a [href]=\"src\" class=\"ecl-gallery__item-link\" [attr.aria-label]=\"label\" [class.ecl-gallery__item__link--frozen]=\"isNoOverlay\">\n <figure class=\"ecl-gallery__image-container\">\n <div *ngIf=\"mediaType !== 'image'\" class=\"ecl-gallery__item-icon-wrapper\">\n <ecl-icon isInverted class=\"ecl-gallery__item-icon\" icon=\"play-filled\" size=\"l\"></ecl-icon>\n </div>\n <!-- TODO: Remove this code in 18 version -->\n <ng-container *ngIf=\"hasPictureChild\">\n <ng-content select=\"[eclGalleryPicture]\"></ng-content>\n </ng-container>\n <ng-container *ngIf=\"!hasPictureChild\">\n <picture *ngIf=\"isImage || isExternalVideo\" class=\"ecl-picture ecl-gallery__picture\">\n <ng-content *ngTemplateOutlet=\"galleryMedia\"></ng-content>\n </picture>\n <ng-container *ngIf=\"isVideo\"><ng-content *ngTemplateOutlet=\"galleryMedia\"></ng-content></ng-container>\n </ng-container>\n <!-- TODO: Remove the above code in 18 version -->\n <figcaption class=\"ecl-gallery__description\">\n {{ description }}\n <ecl-icon *ngIf=\"icon\" class=\"ecl-gallery__description-icon\" [icon]=\"icon\"></ecl-icon>\n <span class=\"ecl-gallery__meta\">\n {{ meta }}\n </span>\n </figcaption>\n </figure>\n</a>\n<ng-template #galleryMedia>\n <ng-content select=\"[eclGalleryMedia], [eclGalleryImage]\"></ng-content>\n</ng-template>\n", "import { Component, EventEmitter, Output } from '@angular/core';\nimport { EclBaseEvent } from '../../model';\n\nexport class EclGalleryToggleItemsEvent extends EclBaseEvent {\n constructor(public expandAll: boolean) {\n super();\n }\n}\n@Component({\n selector: 'ecl-gallery-footer',\n templateUrl: './ecl-gallery-footer.component.html',\n})\nexport class EclGalleryFooterComponent {\n @Output() toggleItems = new EventEmitter<EclGalleryToggleItemsEvent>();\n\n get isExpanded(): boolean {\n return this._isExpanded;\n }\n set isExpanded(value: boolean) {\n this._isExpanded = value;\n }\n\n get itemsCount(): number {\n return this._itemsCount;\n }\n set itemsCount(value: number) {\n this._itemsCount = value;\n }\n\n get isShowToggleBtn(): boolean {\n return this._isShowToggleBtn;\n }\n set isShowToggleBtn(value: boolean) {\n this._isShowToggleBtn = value;\n }\n\n private _itemsCount: number;\n private _isExpanded = false;\n private _isShowToggleBtn = false;\n\n onToggle(): void {\n this._isExpanded = !this._isExpanded;\n this.toggleItems.next(new EclGalleryToggleItemsEvent(this.isExpanded));\n }\n}\n", "<div class=\"ecl-gallery__footer\">\n <div class=\"ecl-gallery__info\">\n <strong class=\"ecl-gallery__info-total\">{{ itemsCount }}</strong>\n {{ 'ecl.gallery.MEDIA-FILES-COUNT' | translate }}\n <ng-container *ngIf=\"isShowToggleBtn\">\n <button *ngIf=\"!isExpanded\" eclButton variant=\"ghost\" class=\"ecl-gallery__view-all\" (click)=\"onToggle()\">\n {{ 'ecl.gallery.VIEW-ALL' | translate }}\n </button>\n <button *ngIf=\"isExpanded\" eclButton variant=\"ghost\" class=\"ecl-gallery__view-all\" (click)=\"onToggle()\">\n {{ 'ecl.common.COLLAPSE' | translate }}\n </button>\n </ng-container>\n </div>\n <hr class=\"ecl-gallery__footer-divider\" />\n <div class=\"ecl-gallery__footer-link\">\n <ng-content></ng-content>\n </div>\n</div>\n", "import {\n Component,\n Input,\n Output,\n ContentChildren,\n QueryList,\n EventEmitter,\n AfterContentInit,\n OnDestroy,\n HostListener,\n ViewChild,\n ElementRef,\n HostBinding,\n OnInit,\n ContentChild,\n} from '@angular/core';\nimport { EclGalleryItemComponent } from './ecl-gallery-item.component';\nimport { EclGalleryItem } from '../../model/ecl-gallery-item.model';\nimport { Subject, delay } from 'rxjs';\nimport { EclBaseEvent } from '../../model/ecl-base.event';\nimport { takeUntil } from 'rxjs/operators';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\nimport { coerceBoolean, coerceNumber } from '@eui/base';\nimport { EclGalleryFooterComponent } from './ecl-gallery-footer.component';\n\nexport class EclGalleryShowEvent extends EclBaseEvent {}\nexport class EclGalleryHideEvent extends EclBaseEvent {}\n/**\n * @deprecated\n * The name 'EclGalleryDownloadEvent' is deprecated and should be removed as of version 18.\n */\nexport class EclGalleryDownloadEvent extends EclBaseEvent {\n constructor(public galleryItem: EclGalleryItem) {\n super();\n }\n}\nexport class EclGalleryFullScreenEvent extends EclBaseEvent {\n constructor(public galleryItem: EclGalleryItem) {\n super();\n }\n}\nexport class EclGalleryShareEvent extends EclBaseEvent {\n constructor(public galleryItem: EclGalleryItem) {\n super();\n }\n}\n\nexport class EclGalleryItemEvent extends EclBaseEvent {\n constructor(public galleryItem: EclGalleryItem) {\n super();\n }\n}\n\n@Component({\n selector: 'ecl-gallery',\n templateUrl: './ecl-gallery.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclGalleryComponent extends ECLBaseDirective implements AfterContentInit, OnDestroy, OnInit {\n /**\n * @deprecated\n * The name 'isDownloadable' is deprecated and should be removed as of version 18.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isDownloadable: boolean | any = true;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isOpenInFullScreenPossible: boolean | any = true;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isShareable: boolean | any = true;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isFullWidth: boolean | any = false;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isNoOverlay: boolean | any = false;\n @coerceNumber @Input() maxVisibleItems: number;\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() show = new EventEmitter<EclGalleryShowEvent>();\n @Output() hide = new EventEmitter<EclGalleryHideEvent>();\n /**\n * @deprecated\n * The name 'download' is deprecated and should be removed as of version 18.\n */\n @Output() download = new EventEmitter<EclGalleryDownloadEvent>();\n @Output() openFullScreen = new EventEmitter<EclGalleryFullScreenEvent>();\n @Output() share = new EventEmitter<EclGalleryShareEvent>();\n @Output() itemSwitch = new EventEmitter<EclGalleryItemEvent>();\n @ContentChildren(EclGalleryItemComponent) galleryItems: QueryList<EclGalleryItemComponent>;\n @ContentChild(EclGalleryFooterComponent) galleryFooter: EclGalleryFooterComponent;\n @ViewChild('video') videoChild: ElementRef;\n @ViewChild('image') imageChild: ElementRef;\n @ViewChild('externalVideo') externalVideoChild: ElementRef;\n @ViewChild('overlay') overlayChild: ElementRef;\n @ViewChild('header') headerChild: ElementRef;\n @ViewChild('footer') footerChild: ElementRef;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-gallery'), this.isFullWidth ? 'ecl-gallery--full-width' : ''].join(' ').trim();\n }\n @HostBinding('attr.role') role = 'region';\n\n isDialogVisible = false;\n isMobile = false;\n itemsCount: number;\n itemIndex: number;\n item: EclGalleryItemComponent;\n private iframeWidth: number;\n private iframeHeight: number;\n private BREAKPOINT_CHANGES_TIMEOUT = 500;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private visibleItems: number;\n private MAX_VISIBLE_ITEMS_MOBILE = 3;\n private RESOLUTION_16_9_PROPOTION = 16 / 9;\n private RESOLUTION_4_3_PROPOTION = 4 / 3;\n\n constructor(private cdkBreakpointObserver: BreakpointObserver) {\n super();\n }\n\n onPrevious(evt: MouseEvent): void {\n this.item = this.findPreviousItem(this.galleryItems.toArray(), this.item);\n\n this.itemIndex = this.findItemIndex(this.galleryItems.toArray(), this.item);\n\n this.itemSwitch.next(new EclGalleryItemEvent(this.item));\n }\n\n onNext(evt: MouseEvent): void {\n this.item = this.findNextItem(this.galleryItems.toArray(), this.item);\n this.itemIndex = this.findItemIndex(this.galleryItems.toArray(), this.item);\n\n this.itemSwitch.next(new EclGalleryItemEvent(this.item));\n }\n\n onClose(evt: MouseEvent): void {\n this.item = null;\n this.itemIndex = -1;\n this.isDialogVisible = false;\n this.hide.next(new EclGalleryHideEvent());\n }\n\n @HostListener('document:keydown.escape', ['$event'])\n onEscapeKeydownHandler(event: KeyboardEvent): void {\n this.isDialogVisible = false;\n this.hide.next(new EclGalleryHideEvent());\n }\n /**\n * @deprecated\n * The name 'onDownload' is deprecated and should be removed as of version 18.\n */\n onDownload(evt: MouseEvent): void {\n this.download.next(new EclGalleryDownloadEvent(this.item));\n }\n\n onFullScreenOpen(evt: MouseEvent): void {\n this.openFullScreen.next(new EclGalleryFullScreenEvent(this.item));\n }\n\n onShare(evt: MouseEvent): void {\n this.share.next(new EclGalleryShareEvent(this.item));\n evt.preventDefault();\n }\n\n ngOnInit(): void {\n this.observeBreakpointChanges();\n }\n\n ngAfterContentInit(): void {\n this.itemsCount = this.galleryItems.length;\n this.visibleItems = this.maxVisibleItems ? this.maxVisibleItems : this.itemsCount;\n this.galleryFooter.itemsCount = this.itemsCount;\n this.galleryFooter.isShowToggleBtn = this.hasHiddenGaleryItems();\n this.galleryFooter.toggleItems.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n if (evt.expandAll) {\n this.showAllItems();\n } else {\n this.collapseItems();\n }\n });\n\n if (!this.isNoOverlay) {\n this.galleryItems.forEach((item) => {\n item.itemClick.pipe(takeUntil(this.destroy$)).subscribe((_) => {\n this.isDialogVisible = true;\n this.item = item;\n this.itemIndex = this.findItemIndex(this.galleryItems.toArray(), item);\n this.show.next(new EclGalleryShowEvent());\n setTimeout(() => this.setIframeDimensions());\n });\n });\n } else {\n this.galleryItems.forEach((item) => (item.isNoOverlay = true));\n }\n\n if (this.hasHiddenGaleryItems()) {\n this.collapseItems();\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n /**\n * @deprecated\n * The name 'canBeDownloaded' is deprecated and should be removed as of version 18.\n */\n canBeDownloaded(): boolean {\n return this.isDownloadable && this.item?.isDownloadable;\n }\n\n canBeOpenInFullScreen(): boolean {\n return this.isOpenInFullScreenPossible && this.item?.isOpenInFullScreenPossible;\n }\n\n canBeShared(): boolean {\n return this.isShareable && this.item?.isShareable;\n }\n\n getIframeWidth(): number {\n return this.iframeWidth;\n }\n\n getIframeHeight(): number {\n return this.iframeHeight;\n }\n\n setIframeDimensions(): void {\n const { width, height } = this.getCalculatedIframeDimensions();\n this.iframeWidth = width;\n this.iframeHeight = height;\n }\n\n @HostListener('window:resize', ['$event'])\n private iframeResize(): void {\n this.setIframeDimensions();\n }\n\n private getCalculatedIframeDimensions(): { width: number; height: number } {\n let width = window.innerWidth;\n let height =\n this.overlayChild.nativeElement.clientHeight -\n this.headerChild.nativeElement.clientHeight -\n this.footerChild.nativeElement.clientHeight;\n if (width > height) {\n const scaledHeight = height * this.RESOLUTION_16_9_PROPOTION;\n if (scaledHeight > width) {\n width = width * 0.95;\n } else {\n width = scaledHeight;\n }\n } else {\n const scaledWith = width * this.RESOLUTION_4_3_PROPOTION;\n if (scaledWith > height) {\n height = height * 0.95;\n } else {\n height = scaledWith;\n }\n }\n return {\n width,\n height,\n };\n }\n\n private findItemIndex(items: Array<EclGalleryItemComponent>, item: EclGalleryItemComponent): number {\n return items.findIndex((it) => it === item) + 1;\n }\n\n private findPreviousItem(items: Array<EclGalleryItemComponent>, item: EclGalleryItemComponent): EclGalleryItemComponent {\n const index = this.findPreviousItemIndex(items, item);\n return items[index];\n }\n\n private findNextItem(items: Array<EclGalleryItemComponent>, item: EclGalleryItemComponent): EclGalleryItemComponent {\n const index = this.findNextItemIndex(items, item);\n return items[index];\n }\n\n private findPreviousItemIndex(items: Array<EclGalleryItemComponent>, item: EclGalleryItemComponent): number {\n const currentIndex = items.findIndex((it) => it === item);\n return currentIndex === 0 ? items.length - 1 : currentIndex - 1;\n }\n\n private findNextItemIndex(items: Array<EclGalleryItemComponent>, item: EclGalleryItemComponent): number {\n const currentIndex = items.findIndex((it) => it === item);\n return currentIndex >= items.length - 1 ? 0 : currentIndex + 1;\n }\n\n private observeBreakpointChanges(): void {\n this.cdkBreakpointObserver\n .observe([Breakpoints.Handset, Breakpoints.Tablet])\n .pipe(takeUntil(this.destroy$), delay(this.BREAKPOINT_CHANGES_TIMEOUT))\n .subscribe((result) => {\n this.isMobile = result.matches;\n if (this.isMobile) {\n this.manageItemsMobile();\n } else {\n this.manageItemsDesktop();\n }\n });\n }\n\n private manageItemsMobile(): void {\n this.maxVisibleItems = this.MAX_VISIBLE_ITEMS_MOBILE;\n this.collapseItems();\n this.galleryFooter.isShowToggleBtn = this.hasHiddenGaleryItems();\n }\n\n private manageItemsDesktop(): void {\n this.maxVisibleItems = this.visibleItems;\n this.getVisibleItems().forEach((elem) => this.showGaleryItem(elem));\n this.collapseItems();\n this.galleryFooter.isShowToggleBtn = this.hasHiddenGaleryItems();\n }\n\n private hasHiddenGaleryItems(): boolean {\n if (this.maxVisibleItems && this.itemsCount > 0 && this.maxVisibleItems < this.itemsCount) {\n return true;\n } else {\n return false;\n }\n }\n\n private collapseItems(): void {\n this.getHiddenItems().forEach((elem) => this.hideGaleryItem(elem));\n }\n\n private showAllItems(): void {\n this.getHiddenItems().forEach((elem) => this.showGaleryItem(elem));\n }\n\n private hideGaleryItem(item: EclGalleryItemComponent): void {\n item.isHidden = true;\n }\n\n private showGaleryItem(item: EclGalleryItemComponent): void {\n item.isHidden = false;\n }\n\n private getHiddenItems(): EclGalleryItemComponent[] {\n return this.galleryItems.filter((item, cnt) => cnt >= this.maxVisibleItems);\n }\n private getVisibleItems(): EclGalleryItemComponent[] {\n return this.galleryItems.filter((item, cnt) => cnt < this.maxVisibleItems);\n }\n}\n", "<ul class=\"ecl-gallery__list\">\n <ng-content></ng-content>\n</ul>\n\n<ng-content select=\"ecl-gallery-footer\"></ng-content>\n\n<dialog\n #overlay\n [attr.open]=\"isDialogVisible || null\"\n class=\"ecl-gallery__overlay\"\n [attr.aria-label]=\"'ecl.gallery.FULL-SIZE-DISPLAY' | translate\">\n <header #header class=\"ecl-gallery__close\">\n <button (click)=\"onClose($event)\" eclButton class=\"ecl-gallery__close-button\" variant=\"ghost\">\n <span eclButtonLabel>\n {{ 'ecl.common.CLOSE' | translate }}\n </span>\n <ecl-icon icon=\"close-filled\" eclSize=\"s\"></ecl-icon>\n </button>\n </header>\n <section class=\"ecl-gallery__slider\">\n <div class=\"ecl-gallery__slider-media-container\">\n <div #externalVideo class=\"ecl-gallery__slider-embed\" *ngIf=\"item?.isExternalVideo\">\n <iframe\n [src]=\"item?.getUrlExternalVideo()\"\n [style.width.px]=\"getIframeWidth()\"\n [style.height.px]=\"getIframeHeight()\"\n frameborder=\"0\">\n </iframe>\n </div>\n <picture #image *ngIf=\"item?.isImage\" class=\"ecl-picture ecl-gallery__picture ecl-gallery__slider-image\">\n <img [attr.alt]=\"item?.label || null\" [src]=\"item?.src\" />\n </picture>\n <video\n #video\n *ngIf=\"item?.isVideo\"\n controls=\"controls\"\n class=\"ecl-gallery__slider-video\"\n [attr.poster]=\"item.mediaChild?.poster\">\n <source *ngFor=\"let item of item.mediaChild?.sources\" [attr.src]=\"item.src\" [attr.type]=\"item.type\" />\n <track\n *ngFor=\"let item of item.mediaChild?.tracks\"\n [attr.src]=\"item\"\n [attr.kind]=\"item.kind\"\n [attr.srcLang]=\"item.srcLang\"\n [attr.label]=\"item.label\" />\n </video>\n </div>\n </section>\n <footer #footer class=\"ecl-gallery__detail\">\n <div class=\"ecl-container\">\n <div class=\"ecl-gallery__detail-actions\">\n <!-- @deprecated [download]=\"item?.src\" -->\n <a\n *ngIf=\"canBeDownloaded()\"\n eclLink\n variant=\"standalone\"\n class=\"ecl-gallery__download\"\n [href]=\"item?.getDownloadLink()\"\n [download]=\"item?.src\"\n target=\"_blank\"\n (click)=\"onDownload($event)\">\n <span eclLinkLabel>{{ 'ecl.gallery.VIEW-ORIGINAL' | translate }}</span>\n <ecl-icon icon=\"fullscreen\" transform=\"fluid\" focusable=\"false\"></ecl-icon>\n </a>\n <a *ngIf=\"canBeShared()\" eclLink variant=\"standalone\" class=\"ecl-gallery__share\" href=\"\" (click)=\"onShare($event)\">\n <span eclLinkLabel>{{ 'ecl.common.SHARE' | translate }}</span>\n <ecl-icon icon=\"share\" transform=\"fluid\" focusable=\"false\"></ecl-icon>\n </a>\n </div>\n\n <div *ngIf=\"item?.description\" class=\"ecl-gallery__detail-description\">{{ item?.description }}</div>\n\n <div *ngIf=\"item?.meta\" class=\"ecl-gallery__detail-meta\">{{ item?.meta }}</div>\n\n <div class=\"ecl-gallery__pager\">\n <button eclButton class=\"ecl-gallery__slider-previous\" variant=\"ghost\" (click)=\"onPrevious($event)\">\n <ecl-icon icon=\"corner-arrow\" size=\"m\" transform=\"rotate-270\"></ecl-icon>\n <span eclButtonLabel class=\"ecl-u-sr-only\">\n {{ 'ecl.common.PREVIOUS' | translate }}\n </span>\n </button>\n <div class=\"ecl-gallery__detail-counter\">\n <span>{{ itemIndex }}</span> {{ 'ecl.common.OF' | translate }} <span>{{ itemsCount }}</span>\n </div>\n <button eclButton class=\"ecl-gallery__slider-next\" variant=\"ghost\" (click)=\"onNext($event)\">\n <span eclButtonLabel class=\"ecl-u-sr-only\">\n {{ 'ecl.common.NEXT' | translate }}\n </span>\n <ecl-icon icon=\"corner-arrow\" size=\"m\" transform=\"rotate-90\"></ecl-icon>\n </button>\n </div>\n </div>\n </footer>\n</dialog>\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclButtonComponentModule } from '../ecl-button/ecl-button.module';\nimport { EclIconComponentModule } from '../ecl-icon/ecl-icon.module';\nimport { EclLinkDirectiveModule } from '../ecl-link/ecl-link.module';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclGalleryComponent } from './ecl-gallery.component';\nimport { EclGalleryItemComponent } from './ecl-gallery-item.component';\nimport { EclGalleryFooterComponent } from './ecl-gallery-footer.component';\nimport { EclGalleryMediaDirective, EclGalleryPictureDirective } from './ecl-gallery-media.directive';\n\nconst COMPONENTS = [\n EclGalleryComponent,\n EclGalleryFooterComponent,\n EclGalleryItemComponent,\n EclGalleryMediaDirective,\n EclGalleryPictureDirective,\n];\n@NgModule({\n imports: [CommonModule, TranslateModule, EclButtonComponentModule, EclIconComponentModule, EclLinkDirectiveModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclGalleryComponentModule {}\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclHelpBlockDirective } from './ecl-help-block.directive';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [EclHelpBlockDirective],\n exports: [EclHelpBlockDirective],\n})\nexport class EclHelpBlockDirectiveModule {}\n", "import { Component, HostBinding, Input, Output, EventEmitter } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclBaseEvent } from '../../model/ecl-base.event';\n\nexport class EclInpageNavigationItemClickEvent extends EclBaseEvent {\n constructor(public sectionElementId: string) {\n super();\n }\n}\n\n@Component({\n selector: 'ecl-inpage-navigation-item',\n templateUrl: './ecl-inpage-navigation-item.component.html',\n styles: [\n `\n :host {\n display: list-item;\n }\n `,\n ],\n})\nexport class EclInpageNavigationItemComponent extends ECLBaseDirective {\n @HostBinding('class.ecl-inpage-navigation__item') cmpClass = true;\n\n @Input() label: string;\n @Input() sectionId: string;\n @Input() @HostBinding('class.ecl-inpage-navigation__item--active') isActive: boolean;\n\n @Output() itemClick = new EventEmitter<EclInpageNavigationItemClickEvent>();\n\n onItemClick(evt: MouseEvent): void {\n const event = new EclInpageNavigationItemClickEvent(this.sectionId);\n this.itemClick.next(event);\n\n evt.preventDefault();\n }\n\n get sectionElement(): HTMLElement {\n return document.querySelector(`#${this.sectionId}`);\n }\n}\n", "<a eclLink (click)=\"onItemClick($event)\" variant=\"standalone\" href=\"#\" class=\"ecl-inpage-navigation__link\">\n {{ label }}\n</a>\n", "import { Component, ElementRef, HostBinding, Input, OnInit, Renderer2, OnDestroy, booleanAttribute } from '@angular/core';\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport { Subject, delay } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n selector: 'ecl-sticky-container',\n templateUrl: './ecl-sticky-container.component.html',\n styles: [\n `\n :host {\n display: block;\n align-self: flex-start;\n top: 0;\n position: sticky;\n position: -webkit-sticky;\n }\n\n :host.ecl-sticky-container--disabled {\n position: static;\n }\n `,\n ],\n})\nexport class EclStickyContainerComponent extends ECLBaseDirective implements OnInit, OnDestroy {\n @Input({ transform: booleanAttribute }) isEnabled = true;\n @Input() marginTop = 0;\n @Input() marginBottom = 0;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-sticky-container'), !this.isEnabled ? 'ecl-sticky-container--disabled' : ''].join(' ').trim();\n }\n\n @HostBinding('style.top.px')\n get top(): number {\n return this.marginTop || null;\n }\n\n @HostBinding('style.bottom.px')\n get bottom(): number {\n return this.marginBottom || null;\n }\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private BREAKPOINT_CHANGES_TIMEOUT = 500;\n\n constructor(private cdkBreakpointObserver: BreakpointObserver, private renderer: Renderer2, private el: ElementRef) {\n super();\n }\n\n ngOnInit(): void {\n this.observeBreakpointChanges();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n private observeBreakpointChanges(): void {\n this.cdkBreakpointObserver\n .observe('(max-width: 996px)')\n .pipe(takeUntil(this.destroy$), delay(this.BREAKPOINT_CHANGES_TIMEOUT))\n .subscribe((result) => {\n if (result.matches) {\n this.renderer.setStyle(this.el.nativeElement, 'z-index', '10');\n } else {\n this.renderer.removeStyle(this.el.nativeElement, 'z-index');\n }\n });\n }\n}\n", "<ng-content></ng-content>\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclStickyContainerComponent } from './ecl-sticky-container.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [EclStickyContainerComponent],\n declarations: [EclStickyContainerComponent],\n})\nexport class EclStickyContainerComponentModule {}\n", "import { EventEmitter, Component, Input, AfterContentInit, OnDestroy, ContentChildren, QueryList, Output } from '@angular/core';\nimport { Subject, fromEvent } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { EclInpageNavigationItemComponent } from './ecl-inpage-navigation-item.component';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclBaseEvent } from '../../model/ecl-base.event';\n\nexport class EclInpageNavigationSectionEnterEvent extends EclBaseEvent {\n constructor(public sectionId: string) {\n super();\n }\n}\n\n@Component({\n selector: 'ecl-inpage-navigation',\n templateUrl: './ecl-inpage-navigation.component.html',\n styles: [\n `\n @media (min-width: 996px) {\n .ecl-inpage-navigation__list {\n display: block !important;\n }\n }\n `,\n ],\n})\nexport class EclInpageNavigationComponent extends ECLBaseDirective implements AfterContentInit, OnDestroy {\n @Input() eclTitle: string;\n @Input() marginTop: number;\n @Input() marginBottom: number;\n\n @Output() sectionEnter = new EventEmitter<EclInpageNavigationSectionEnterEvent>();\n\n @ContentChildren(EclInpageNavigationItemComponent) eclNavigationLinkItems: QueryList<EclInpageNavigationItemComponent>;\n\n isButtonExpanded = false;\n currentSectionElement: HTMLElement;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n get currentNavigationLinkItem(): EclInpageNavigationItemComponent {\n return this.eclNavigationLinkItems.find((item) => item.sectionElement === this.currentSectionElement);\n }\n\n ngAfterContentInit(): void {\n this.handleNavigationItemsScroll();\n this.handleNavigationItemsClick();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n onExpandButtonClick(evt): void {\n this.isButtonExpanded = !this.isButtonExpanded;\n }\n\n private handleNavigationItemsScroll(): void {\n const scrollableContainer: EventTarget = window;\n const sectionElementIds = this.eclNavigationLinkItems.map((item) => item.sectionId);\n\n fromEvent(scrollableContainer, 'scroll')\n .pipe(takeUntil(this.destroy$))\n .subscribe((event) => {\n const sectionElements: Array<HTMLElement> = sectionElementIds.map((id) => document.querySelector(`#${id}`));\n this.handleNavigationLinksHighlight(sectionElements);\n });\n }\n\n private handleNavigationItemsClick(): void {\n this.eclNavigationLinkItems.forEach((item) => {\n item.itemClick.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.selectNavigationItem(this.eclNavigationLinkItems, item.sectionElement);\n\n if (item.sectionElement) {\n item.sectionElement.scrollIntoView();\n }\n\n this.isButtonExpanded = false;\n });\n });\n }\n\n private selectNavigationItem(items: QueryList<EclInpageNavigationItemComponent>, itemElement: HTMLElement): void {\n items.forEach((it) => {\n it.isActive = it.sectionElement === itemElement ? true : false;\n });\n }\n\n private handleNavigationLinksHighlight(sectionElements: Array<HTMLElement>): void {\n const currentSectionElement: HTMLElement = this.findActiveSectionElement(sectionElements);\n\n if (currentSectionElement !== this.currentSectionElement) {\n this.currentSectionElement?.classList.remove('ecl-inpage-navigation__heading--active');\n currentSectionElement?.classList.add('ecl-inpage-navigation__heading--active');\n this.currentSectionElement = currentSectionElement;\n this.onSectionScrollTrigger(currentSectionElement);\n\n const sectionId = this.currentNavigationLinkItem ? this.currentNavigationLinkItem.sectionId : undefined;\n this.sectionEnter.next(new EclInpageNavigationSectionEnterEvent(sectionId));\n }\n }\n\n private onSectionScrollTrigger(sectionElement: HTMLElement): void {\n this.eclNavigationLinkItems.forEach((item) => {\n item.isActive = item.sectionElement === sectionElement ? true : false;\n });\n }\n\n private findActiveSectionElement(sectionElements: Array<HTMLElement>): HTMLElement {\n let currentSection: HTMLElement;\n\n sectionElements.forEach((sectionElement) => {\n if (sectionElement && sectionElement.getBoundingClientRect().top <= 1) {\n currentSection = sectionElement;\n }\n });\n\n if (this.hasScrollHitBottom()) {\n currentSection = sectionElements[sectionElements.length - 1];\n }\n\n return currentSection;\n }\n\n private hasScrollHitBottom(): boolean {\n return window.pageYOffset + window.innerHeight === document.documentElement.scrollHeight;\n }\n}\n", "<ecl-sticky-container [marginTop]=\"marginTop\" [marginBottom]=\"marginBottom\">\n <nav\n aria-labelledby=\"ecl-inpage-navigation-default\"\n class=\"ecl-inpage-navigation\"\n [class.ecl-inpage-navigation--visible]=\"currentSectionElement\">\n <div id=\"ecl-inpage-navigation-default\" class=\"ecl-inpage-navigation__title\">\n {{ eclTitle || 'ecl.inpage-navigation.PAGE-CONTENTS' | translate }}\n </div>\n <div class=\"ecl-inpage-navigation__body\">\n <button\n id=\"ecl-inpage-navigation-default-trigger\"\n type=\"button\"\n class=\"ecl-inpage-navigation__trigger\"\n aria-controls=\"ecl-inpage-navigation-list\"\n [attr.aria-expanded]=\"isButtonExpanded\"\n (click)=\"onExpandButtonClick($event)\">\n <span class=\"ecl-inpage-navigation__trigger-current\">\n {{ currentNavigationLinkItem?.label }}\n </span>\n <ecl-icon icon=\"corner-arrow\" size=\"s\" transform=\"rotate-180\" class=\"ecl-inpage-navigation__trigger-icon\"> </ecl-icon>\n </button>\n <ul\n id=\"ecl-inpage-navigation-default-list\"\n class=\"ecl-inpage-navigation__list\"\n [class.ecl-inpage-navigation__list--visible]=\"isButtonExpanded\"\n [attr.aria-expanded]=\"isButtonExpanded\"\n aria-labelledby=\"ecl-inpage-navigation-trigger\">\n <ng-content></ng-content>\n </ul>\n </div>\n </nav>\n</ecl-sticky-container>\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclLinkDirectiveModule } from '../ecl-link/ecl-link.module';\nimport { EclIconComponentModule } from '../ecl-icon/ecl-icon.module';\nimport { EclInpageNavigationItemComponent } from './ecl-inpage-navigation-item.component';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclStickyContainerComponentModule } from '../ecl-sticky-container/ecl-sticky-container.module';\nimport { EclInpageNavigationComponent } from './ecl-inpage-navigation.component';\n\n@NgModule({\n imports: [CommonModule, TranslateModule, EclStickyContainerComponentModule, EclLinkDirectiveModule, EclIconComponentModule],\n exports: [EclInpageNavigationComponent, EclInpageNavigationItemComponent],\n declarations: [EclInpageNavigationComponent, EclInpageNavigationItemComponent],\n})\nexport class EclInpageNavigationComponentModule {}\n", "import { Component, ContentChildren, forwardRef, HostBinding, Input, QueryList } from '@angular/core';\nimport { EclListIllustrationIconDirective } from '..';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n selector: 'ecl-list-illustration-item',\n templateUrl: './ecl-list-illustration-item.component.html',\n})\nexport class EclListIllustrationItemComponent extends ECLBaseDirective {\n @Input() eclTitle = '';\n @Input() eclValue = '';\n @HostBinding('class.ecl-list-illustration__item') className = true;\n @ContentChildren(forwardRef(() => EclListIllustrationIconDirective))\n eclIllustrationIcons: QueryList<EclListIllustrationIconDirective>;\n\n get hasTitle(): boolean {\n return Boolean(this.eclTitle) || this.eclIllustrationIcons.length > 0;\n }\n\n get hasValue(): boolean {\n return Boolean(this.eclValue);\n }\n}\n", "<ng-content select=\"[eclListIllustrationImage],[eclListIllustrationPicture]\"></ng-content>\n<div class=\"ecl-list-illustration__detail\">\n <div *ngIf=\"hasTitle || hasValue\" class=\"ecl-list-illustration__title-container\">\n <ng-content select=\"[eclListIllustrationIcon]\"></ng-content>\n <div *ngIf=\"hasValue\" class=\"ecl-list-illustration__value\">{{ eclValue }}</div>\n <div class=\"ecl-list-illustration__title\">{{ eclTitle }}</div>\n </div>\n <div class=\"ecl-list-illustration__description\">\n <ng-content></ng-content>\n </div>\n</div>\n", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: '[eclListIllustrationIcon]',\n})\nexport class EclListIllustrationIconDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-list-illustration__icon') className = true;\n}\n", "import { Directive, HostBinding, Input, booleanAttribute } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: 'picture[eclListIllustrationPicture]',\n})\nexport class EclListIllustrationPictureDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-picture ecl-list-illustration__picture')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: 'img[eclListIllustrationImage]',\n})\nexport class EclListIllustrationImageDirective extends ECLBaseDirective {\n @Input({ transform: booleanAttribute }) isSquare = false;\n @Input() size: 's' | 'm' | 'l' = 'm';\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-list-illustration__image'),\n this.isSquare ? 'ecl-list-illustration__image--square' : '',\n this.isSquare ? `ecl-list-illustration__image--${this.size}` : '',\n ]\n .join(' ')\n .trim();\n }\n}\n", "import { Component, HostBinding, Input, booleanAttribute, numberAttribute } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n selector: 'ecl-list-illustration',\n templateUrl: './ecl-list-illustration.component.html',\n})\nexport class EclListIllustrationComponent extends ECLBaseDirective {\n @Input({ transform: booleanAttribute }) isZebra = false;\n @Input({ transform: numberAttribute }) horizontalColumns = 0;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-list-illustration'),\n this.isZebra ? 'ecl-list-illustration--zebra' : '',\n this.horizontalColumns > 0 ? `ecl-list-illustration--col-${this.horizontalColumns}` : '',\n ]\n .join(' ')\n .trim();\n }\n}\n", "<ng-content></ng-content>\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclListIllustrationComponent } from './ecl-list-illustration.component';\nimport { EclListIllustrationIconDirective } from './ecl-list-illustration-icon.directive';\nimport { EclListIllustrationItemComponent } from './ecl-list-illustration-item.component';\nimport { EclListIllustrationImageDirective, EclListIllustrationPictureDirective } from './ecl-list-illustration-picture.directive';\n\nconst COMPONENTS = [\n EclListIllustrationComponent,\n EclListIllustrationItemComponent,\n EclListIllustrationIconDirective,\n EclListIllustrationPictureDirective,\n EclListIllustrationImageDirective,\n];\n@NgModule({\n imports: [CommonModule, TranslateModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclListIllustrationComponentModule {}\n", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: '[eclDescriptionListDefinitionItem]',\n})\nexport class EclDescriptionListDefinitionItemDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-description-list__definition-item'),\n this.isHidden ? 'ecl-description-list__definition-item--hidden' : '',\n this.isLastVisible ? 'ecl-description-list__definition-item--last-visible' : '',\n ].join(' ');\n }\n\n isHidden = false;\n isLastVisible = false;\n}\n\n@Directive({\n selector: '[eclDescriptionListDefinitionList]',\n})\nexport class EclDescriptionListDefinitionListDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-description-list__definition-list') cmpClass = true;\n}\n", "import { AfterViewInit, Component, ContentChildren, HostBinding, Input, QueryList } from '@angular/core';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\nimport { EclDescriptionListDefinitionItemDirective } from '../ecl-description-list-definition-item.directive';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[eclDescriptionListDefinition]',\n templateUrl: './ecl-description-list-definition.component.html',\n})\nexport class EclDescriptionListDefinitionComponent extends ECLBaseDirective implements AfterViewInit {\n @Input() variant: 'link' | 'inline' | 'taxonomy' | 'tag';\n\n @ContentChildren(EclDescriptionListDefinitionItemDirective, { descendants: true })\n eclListItems: QueryList<EclDescriptionListDefinitionItemDirective>;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-description-list__definition'),\n this.variant ? `ecl-description-list__definition--${this.variant}` : '',\n ].join(' ');\n }\n\n private _maxVisibleItems: number;\n private currentItemsNumber = 0;\n\n set maxVisibleItems(value: number) {\n this._maxVisibleItems = value;\n }\n\n get hasSeeAll(): boolean {\n return this.hasHiddenListitems();\n }\n\n ngAfterViewInit(): void {\n this.currentItemsNumber = this.eclListItems.length;\n if (this.hasHiddenListitems()) {\n setTimeout(() => {\n this.getHiddenItems().forEach((elem) => this.hideListItem(elem));\n this.getLastVisibleItem().isLastVisible = true;\n });\n }\n }\n\n onShowAllItems(evt: Event): void {\n evt.preventDefault();\n this.getHiddenItems().forEach((elem) => this.showListItem(elem));\n this.getLastVisibleItem().isLastVisible = false;\n this._maxVisibleItems = this.currentItemsNumber;\n }\n\n private hideListItem(item: EclDescriptionListDefinitionItemDirective): void {\n item.isHidden = true;\n }\n\n private showListItem(item: EclDescriptionListDefinitionItemDirective): void {\n item.isHidden = false;\n }\n\n private hasHiddenListitems(): boolean {\n if (this._maxVisibleItems && this.currentItemsNumber > 0 && this._maxVisibleItems < this.currentItemsNumber) {\n return true;\n } else {\n return false;\n }\n }\n\n private getHiddenItems(): EclDescriptionListDefinitionItemDirective[] {\n return this.eclListItems.filter((item, cnt) => cnt >= this._maxVisibleItems);\n }\n\n private getLastVisibleItem(): EclDescriptionListDefinitionItemDirective {\n return this.eclListItems.filter((item, cnt) => cnt < this._maxVisibleItems).pop();\n }\n}\n", "<ng-content></ng-content>\n@if(hasSeeAll) {\n<a eclLink class=\"ecl-description-list__see_more\" href (click)=\"onShowAllItems($event)\">{{\n 'ecl.list.SEE-ALL-ITEMS' | translate\n }}</a>\n}", "import { AfterContentInit, ChangeDetectorRef, ContentChildren, Directive, HostBinding, Input, QueryList, booleanAttribute,\n numberAttribute } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclDescriptionListDefinitionComponent } from './ecl-description-list-definition/ecl-description-list-definition.component';\n\n@Directive({\n selector: '[eclOrderedList]',\n})\nexport class EclOrderedListDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-ordered-list') cmpClass = true;\n}\n\n@Directive({\n selector: '[eclOrderedListItem]',\n})\nexport class EclOrderedListItemDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-ordered-list__item') cmpClass = true;\n}\n\n@Directive({\n selector: '[eclUnorderedList]',\n})\nexport class EclUnorderedListDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-unordered-list') cmpClass = true;\n @Input({ transform: booleanAttribute }) @HostBinding('class.ecl-unordered-list--divider') isDivider = false;\n @Input({ transform: booleanAttribute }) @HostBinding('class.ecl-unordered-list--no-marker') isNoMarker = false;\n}\n\n@Directive({\n selector: '[eclUnorderedListItem]',\n})\nexport class EclUnorderedListItemDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-unordered-list__item') cmpClass = true;\n}\n\n@Directive({\n selector: '[eclDescriptionList]',\n})\nexport class EclDescriptionListDirective extends ECLBaseDirective implements AfterContentInit {\n @Input({ transform: booleanAttribute }) @HostBinding('class.ecl-description-list--horizontal') isHorizontal = false;\n @Input({ transform: numberAttribute }) maxVisibleItems = 0;\n\n @ContentChildren(EclDescriptionListDefinitionComponent)\n eclListItems: QueryList<EclDescriptionListDefinitionComponent>;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-description-list')].join(' ');\n }\n\n constructor(private cd: ChangeDetectorRef) {\n super();\n }\n\n ngAfterContentInit(): void {\n if (!this.isHorizontal && this.maxVisibleItems > 0) {\n this.eclListItems.forEach((item) => (item.maxVisibleItems = this.maxVisibleItems));\n }\n this.cd.detectChanges();\n }\n}\n\n@Directive({\n selector: '[eclDescriptionListTerm]',\n})\nexport class EclDescriptionListTermDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-description-list__term') cmpClass = true;\n}\n", "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport {\n EclDescriptionListDirective,\n EclDescriptionListTermDirective,\n EclOrderedListDirective,\n EclOrderedListItemDirective,\n EclUnorderedListDirective,\n EclUnorderedListItemDirective,\n} from './ecl-list.directive';\nimport { EclDescriptionListDefinitionComponent } from './ecl-description-list-definition/ecl-description-list-definition.component';\nimport { EclLinkDirectiveModule } from '../ecl-link';\nimport { EclDescriptionListDefinitionItemDirective, EclDescriptionListDefinitionListDirective } from './ecl-description-list-definition-item.directive';\n\nconst COMPONENTS = [\n EclOrderedListDirective,\n EclOrderedListItemDirective,\n EclUnorderedListDirective,\n EclUnorderedListItemDirective,\n EclDescriptionListDirective,\n EclDescriptionListTermDirective,\n EclDescriptionListDefinitionComponent,\n EclDescriptionListDefinitionItemDirective,\n EclDescriptionListDefinitionListDirective,\n];\n\n@NgModule({\n imports: [CommonModule, TranslateModule, EclLinkDirectiveModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclListDirectiveModule {}\n", "import { EclDomEvent } from '../../../model/ecl-dom.event';\nimport { EclMenuItem } from '../../../model/ecl-menu-item.model';\n\nexport class EclMenuItemSelectEvent extends EclDomEvent<Event> {\n constructor(\n public menuItem: EclMenuItem,\n public domEvent: Event = null,\n ) {\n super(domEvent);\n }\n}\n\nexport class EclMenuItemHoverEvent extends EclDomEvent<MouseEvent> {\n constructor(\n public menuItem: EclMenuItem,\n public domEvent: MouseEvent = null,\n ) {\n super(domEvent);\n }\n}\n\nexport class EclMenuItemHoverOutEvent extends EclDomEvent<MouseEvent> {\n constructor(\n public menuItem: EclMenuItem,\n public domEvent: MouseEvent = null,\n ) {\n super(domEvent);\n }\n}\n\nexport class EclMenuItemFocusEvent extends EclDomEvent<FocusEvent> {\n constructor(\n public menuItem: EclMenuItem,\n public domEvent: FocusEvent = null,\n ) {\n super(domEvent);\n }\n}\n\nexport class EclMenuItemCaretEvent extends EclDomEvent<MouseEvent> {\n constructor(\n public menuItem: EclMenuItem,\n public domEvent: MouseEvent = null,\n ) {\n super(domEvent);\n }\n}\n\nexport class EclMenuItemKeydownEvent extends EclDomEvent<KeyboardEvent> {\n constructor(\n public menuItem: EclMenuItem,\n public domEvent: KeyboardEvent = null,\n ) {\n super(domEvent);\n }\n}\n\nexport class EclMenuItemParentFocusEvent {\n constructor(\n public menuItem: EclMenuItem) {}\n}\n", "import {\n Component,\n Input,\n HostBinding,\n Output,\n EventEmitter,\n HostListener,\n ContentChildren,\n forwardRef,\n QueryList,\n AfterViewInit,\n ElementRef,\n ViewChild,\n} from '@angular/core';\nimport { EclMenuItem } from '../../../model/ecl-menu-item.model';\nimport { coerceBoolean } from '@eui/base';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\nimport { EclMenuItemKeydownEvent, EclMenuItemSelectEvent } from '../common/ecl-menu-item.event';\nimport { EclIconComponent } from '../../ecl-icon';\nimport { Params, QueryParamsHandling } from '@angular/router';\nimport { ENTER } from '@angular/cdk/keycodes';\n\n@Component({\n selector: 'ecl-menu-mega-item',\n templateUrl: './ecl-menu-mega-item.component.html',\n styles: [\n `\n :host {\n display: list-item;\n }\n `,\n ],\n})\nexport class EclMenuMegaItemComponent extends ECLBaseDirective implements EclMenuItem, AfterViewInit {\n @Input() id: string;\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 @HostBinding('class.ecl-menu__subitem') cmpClass = true;\n @HostBinding('attr.role') role = 'listitem';\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() @HostBinding('class.ecl-menu__subitem--current') isCurrent: boolean | any;\n\n @ContentChildren(forwardRef(() => EclIconComponent)) iconComponents: QueryList<EclIconComponent>;\n @ViewChild('megaMenuLink') megaMenuLink: ElementRef\n\n @Output() menuItemSelect = new EventEmitter<EclMenuItemSelectEvent>();\n @Output() menuItemKeydown = new EventEmitter<EclMenuItemKeydownEvent>();\n\n hasChildren = false;\n isExpanded = true;\n\n children: Array<EclMenuItem> = [];\n\n ngAfterViewInit(): void {\n if (this.iconComponents) {\n setTimeout(() => {\n this.iconComponents.forEach((icn) => {\n icn.class = 'ecl-menu__sublink-icon';\n });\n });\n }\n }\n\n onItemClick(evt: Event): void {\n this.menuItemSelect.next(new EclMenuItemSelectEvent(this, evt as MouseEvent));\n\n if (!this.href) {\n evt.preventDefault();\n }\n }\n\n @HostListener('click', ['$event'])\n onHostClick(evt: MouseEvent): void {\n evt.stopPropagation();\n }\n\n onFocus(): void {\n this.megaMenuLink.nativeElement.focus();\n }\n\n onKeydown(evt: Event): void {\n if ((evt as KeyboardEvent).keyCode === ENTER) {\n this.onItemClick(evt);\n }\n this.menuItemKeydown.next(new EclMenuItemKeydownEvent(this, evt as KeyboardEvent));\n }\n}\n", "<a #megaMenuLink\n *ngIf=\"href\"\n [href]=\"href\"\n [target]=\"target\"\n class=\"ecl-menu__sublink\"\n [class.ecl-menu__sublink--current]=\"isCurrent\"\n (click)=\"onItemClick($event)\"\n (keydown)=\"onKeydown($event)\">\n {{ label }}\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n\n<a #megaMenuLink\n *ngIf=\"!href\"\n tabindex=\"0\"\n [routerLink]=\"routerLink\"\n [queryParams]=\"queryParams\"\n [queryParamsHandling]=\"queryParamsHandling\"\n class=\"ecl-menu__sublink\"\n [class.ecl-menu__sublink--current]=\"isCurrent\"\n (click)=\"onItemClick($event)\"\n (keydown)=\"onKeydown($event)\">\n {{ label }}\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", "import {\n Component,\n Input,\n ContentChildren,\n QueryList,\n AfterContentInit,\n OnDestroy,\n Output,\n EventEmitter,\n IterableDiffer,\n IterableChanges,\n IterableDiffers,\n HostBinding,\n ElementRef,\n} from '@angular/core';\nimport { EclMenuMegaItemComponent } from './ecl-menu-mega-item.component';\nimport { Subject, of, Observable } from 'rxjs';\nimport { takeUntil, mergeWith } from 'rxjs/operators';\nimport { EclMenuItemKeydownEvent, EclMenuItemSelectEvent } from '../common/ecl-menu-item.event';\nimport { EclMenuItem } from '../../../model/ecl-menu-item.model';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\nimport { coerceBoolean } from '@eui/base';\nimport { KeyCode } from '../../../utils';\n\n@Component({\n selector: 'ecl-menu-mega',\n templateUrl: './ecl-menu-mega.component.html',\n})\nexport class EclMenuMegaComponent extends ECLBaseDirective implements AfterContentInit, OnDestroy {\n /**\n * @deprecated To be removed in 18 version. No alternative, should not be used.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isRtl: boolean | any = false;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @HostBinding('class.ecl-menu__mega--rtl') isRtlDisplay: boolean | any = false;\n\n @ContentChildren(EclMenuMegaItemComponent) eclMenuMegaItems: QueryList<EclMenuMegaItemComponent>;\n\n @Output() menuItemSelect = new EventEmitter<EclMenuItemSelectEvent>();\n @Output() menuMegaItemParentFocus = new EventEmitter<EclMenuItemSelectEvent>();\n \n @HostBinding('style.left.px') offsetLeft: number | null;\n @HostBinding('style.right.px') offsetRight: number | null;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-menu__mega')].join(' ');\n }\n\n private differ: IterableDiffer<EclMenuMegaItemComponent>;\n private diff: IterableChanges<EclMenuMegaItemComponent>;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(\n private differs: IterableDiffers,\n public el: ElementRef,\n ) {\n super();\n this.differ = this.differs.find([]).create();\n }\n\n ngAfterContentInit(): void {\n this.diff = this.differ.diff(this.eclMenuMegaItems);\n this.createContentChildrenMenuObservable().subscribe(this.onMenuItemChanges.bind(this));\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n selectFirstSubItem(): void {\n if (this.eclMenuMegaItems.length > 0) {\n this.eclMenuMegaItems.first.onFocus();\n }\n }\n\n private createContentChildrenMenuObservable(): Observable<QueryList<EclMenuMegaItemComponent>> {\n return of(this.eclMenuMegaItems).pipe(mergeWith(this.eclMenuMegaItems.changes), takeUntil(this.destroy$));\n }\n\n private onMenuItemChanges(): void {\n this.diff = this.differ.diff(this.eclMenuMegaItems);\n\n if (!this.diff) {\n this.eclMenuMegaItems.forEach((rootItem) => {\n this.connectMenuItemEvents(rootItem);\n });\n } else {\n this.diff.forEachAddedItem((change) => {\n this.connectMenuItemEvents(change.item);\n });\n }\n }\n\n private connectMenuItemEvents(item: EclMenuMegaItemComponent): void {\n item.menuItemSelect.pipe(takeUntil(this.destroy$)).subscribe((evt: EclMenuItemSelectEvent) => {\n this.onMenuItemSelected(item, evt);\n });\n item.menuItemKeydown.pipe(takeUntil(this.destroy$)).subscribe((evt: EclMenuItemKeydownEvent) => {\n this.onMenuItemKeydown(item, evt);\n });\n }\n\n private onMenuItemKeydown(item: EclMenuMegaItemComponent, evt: EclMenuItemKeydownEvent): void {\n switch (evt.domEvent.key) {\n case KeyCode.ARROW_DOWN: {\n evt.preventDefault();\n this.onNextMenuItemFocus(item);\n break;\n }\n case KeyCode.ARROW_UP: {\n evt.preventDefault();\n this.onPrevMenuItemFocus(item);\n break;\n }\n case KeyCode.ESCAPE: {\n evt.preventDefault();\n this.menuMegaItemParentFocus.next(new EclMenuItemSelectEvent(item));\n break;\n }\n default: {\n break;\n }\n }\n }\n\n private geMenuMegaItemsArray(): EclMenuMegaItemComponent[] {\n return this.eclMenuMegaItems.toArray();\n }\n\n private onPrevMenuItemFocus(item: EclMenuMegaItemComponent): void {\n const index = this.geMenuMegaItemsArray().findIndex(el => item === el);\n if (index !== 0) {\n this.getMegaMenuItemsArray()[index - 1].onFocus();\n } else {\n this.menuMegaItemParentFocus.next(new EclMenuItemSelectEvent(item));\n }\n }\n\n private onNextMenuItemFocus(item: EclMenuMegaItemComponent): void {\n const index = this.geMenuMegaItemsArray().findIndex(el => item === el);\n if (index !== this.getMegaMenuItemsArray().length - 1) {\n this.getMegaMenuItemsArray()[index + 1].onFocus();\n }\n }\n\n private onMenuItemSelected(item: EclMenuItem, evt: EclMenuItemSelectEvent): void {\n this.deselectAllMenuItems(this.eclMenuMegaItems.toArray());\n this.selectMenuItem(item);\n this.sendMenuItemSelectEvent(evt);\n }\n\n private selectMenuItem(item: EclMenuItem): void {\n item.isCurrent = true;\n }\n\n private deselectAllMenuItems(items: Array<EclMenuItem>): void {\n items.forEach((it) => {\n it.isCurrent = false;\n });\n }\n\n private sendMenuItemSelectEvent(evt: EclMenuItemSelectEvent): void {\n this.menuItemSelect.next(new EclMenuItemSelectEvent(evt.menuItem, evt.domEvent));\n }\n\n private getMegaMenuItemsArray(): EclMenuMegaItemComponent[] {\n return this.eclMenuMegaItems.toArray();\n }\n}\n", "<ul class=\"ecl-menu__sublist\">\n <ng-content></ng-content>\n</ul>\n", "import {\n AfterContentInit,\n ApplicationRef,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { EclMenuItem } from '../../../model/ecl-menu-item.model';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\nimport {\n EclMenuItemCaretEvent,\n EclMenuItemFocusEvent,\n EclMenuItemHoverEvent,\n EclMenuItemHoverOutEvent,\n EclMenuItemKeydownEvent,\n EclMenuItemParentFocusEvent,\n EclMenuItemSelectEvent,\n} from '../common/ecl-menu-item.event';\nimport { EclMenuMegaComponent } from '../ecl-menu-mega/ecl-menu-mega.component';\nimport { Params, QueryParamsHandling } from '@angular/router';\nimport { EclButtonComponent } from '../../ecl-button';\nimport { KeyCode } from '../../../utils';\nimport { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\n\nconst enum ColTrigger {\n COL1_TRIGGER = 5,\n COL2_TRIGGER = 9,\n COL3_TRIGGER = 13,\n}\n\n@Component({\n selector: 'ecl-menu-item',\n templateUrl: './ecl-menu-item.component.html',\n encapsulation: ViewEncapsulation.None,\n})\nexport class EclMenuItemComponent extends ECLBaseDirective implements EclMenuItem, AfterContentInit, OnDestroy {\n @Input() id: string;\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() isCurrent = false;\n\n isExpanded: boolean;\n isFull = false;\n isHovered = false;\n isMobileBreakpoint = false;\n isVisible = true;\n\n @HostBinding('attr.role') role = 'listitem';\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-menu__item'),\n this.isCurrent ? 'ecl-menu__item--current' : '',\n this.isExpanded ? 'ecl-menu__item--expanded' : '',\n this.getClassDependingChildrenCnt(),\n ]\n .join(' ')\n .trim();\n }\n\n @ContentChild(forwardRef(() => EclMenuMegaComponent)) submenu: EclMenuMegaComponent;\n @ViewChild('menuLink') menuLink: ElementRef<HTMLAnchorElement>;\n @ViewChild(EclButtonComponent) menuButton: EclButtonComponent;\n\n @Output() menuItemSelect = new EventEmitter<EclMenuItemSelectEvent>();\n @Output() menuItemCaret = new EventEmitter<EclMenuItemCaretEvent>();\n @Output() menuItemHover = new EventEmitter<EclMenuItemHoverEvent>();\n @Output() menuItemHoverOut = new EventEmitter<EclMenuItemHoverOutEvent>();\n @Output() menuMegaItemSelect = new EventEmitter<EclMenuItemSelectEvent>();\n @Output() menuItemFocus = new EventEmitter<EclMenuItemFocusEvent>();\n @Output() menuItemKeydown = new EventEmitter<EclMenuItemKeydownEvent>();\n\n @HostBinding('class.ecl-menu__item--has-children')\n @HostBinding('attr.aria-haspopup')\n get hasEclChildrenDataAttribute(): boolean {\n return this.hasChildren || undefined;\n }\n\n @HostBinding('attr.aria-expanded')\n get isAriaExpanded(): boolean {\n return this.hasChildren ? this.isHovered : null;\n }\n\n get hasChildren(): boolean {\n return !!this.submenu;\n }\n\n get children(): Array<EclMenuItem> {\n return this.hasChildren ? this.submenu.eclMenuMegaItems.toArray() : [];\n }\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(\n public el: ElementRef,\n private renderer: Renderer2,\n private arf: ApplicationRef,\n private cdkBreakpointObserver: BreakpointObserver,\n ) {\n super();\n }\n\n onItemFocus(evt: FocusEvent): void {\n this.menuItemFocus.next(new EclMenuItemFocusEvent(this, evt));\n }\n\n onItemClick(evt: Event): void {\n this.menuItemSelect.next(new EclMenuItemSelectEvent(this, evt));\n\n if (!this.href) {\n evt.stopPropagation();\n }\n }\n\n onItemCaretClick(evt: MouseEvent): void {\n this.menuItemCaret.next(new EclMenuItemCaretEvent(this, evt));\n }\n\n @HostListener('mouseenter', ['$event'])\n onItemMouseEnter(evt: MouseEvent): void {\n this.menuItemHover.next(new EclMenuItemHoverEvent(this, evt));\n }\n\n @HostListener('mouseleave', ['$event'])\n onItemMouseLeave(evt: MouseEvent): void {\n this.menuItemHoverOut.next(new EclMenuItemHoverOutEvent(this, evt));\n }\n\n ngAfterContentInit(): void {\n if (this.submenu) {\n this.submenu.menuItemSelect.pipe(takeUntil(this.destroy$)).subscribe((it: EclMenuItemSelectEvent) => {\n this.menuMegaItemSelect.next(new EclMenuItemSelectEvent(it.menuItem, it.domEvent));\n });\n this.submenu.menuMegaItemParentFocus.pipe(takeUntil(this.destroy$)).subscribe((it: EclMenuItemParentFocusEvent) => {\n this.onFocusFromSubmenu();\n });\n\n if (this.hasSubmenuAnySelections()) {\n this.isCurrent = true;\n }\n }\n this.observeBreakpointChanges();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n onFocusFromSubmenu(): void {\n this.onButtonFocus();\n this.isHovered = false;\n this.isExpanded = false;\n }\n\n onFocusFromNext(): void {\n if (this.menuButton) {\n this.onButtonFocus();\n } else {\n this.onLinkFocus();\n }\n }\n\n onFocusFromPrev(): void {\n this.onLinkFocus();\n }\n\n onButtonKeydown(evt: Event): void {\n switch ((evt as KeyboardEvent).key) {\n case KeyCode.ARROW_DOWN: {\n evt.preventDefault();\n if (this.isHovered) {\n this.selectFirstMegaMenuItem();\n } else {\n this.menuItemKeydown.next(new EclMenuItemKeydownEvent(this, evt as KeyboardEvent));\n }\n break;\n }\n case KeyCode.ARROW_UP: {\n evt.preventDefault();\n this.onLinkFocus();\n break;\n }\n case KeyCode.ARROW_RIGHT: {\n evt.preventDefault();\n this.menuItemKeydown.next(new EclMenuItemKeydownEvent(this, evt as KeyboardEvent));\n break;\n }\n case KeyCode.ARROW_LEFT: {\n evt.preventDefault();\n this.onLinkFocus();\n break;\n }\n case KeyCode.TAB: {\n this.menuItemKeydown.next(new EclMenuItemKeydownEvent(this, evt as KeyboardEvent));\n break;\n }\n case KeyCode.ENTER: {\n evt.preventDefault();\n this.menuItemKeydown.next(new EclMenuItemKeydownEvent(this, evt as KeyboardEvent));\n break;\n }\n case KeyCode.ESCAPE: {\n evt.preventDefault();\n this.menuItemKeydown.next(new EclMenuItemKeydownEvent(this, evt as KeyboardEvent));\n break;\n }\n default: {\n break;\n }\n }\n }\n\n onLinkKeydown(evt: Event): void {\n switch ((evt as KeyboardEvent).key) {\n case KeyCode.ARROW_DOWN: {\n evt.preventDefault();\n this.onLinkNextFocus(evt);\n break;\n }\n case KeyCode.ARROW_UP: {\n evt.preventDefault();\n this.menuItemKeydown.next(new EclMenuItemKeydownEvent(this, evt as KeyboardEvent));\n break;\n }\n case KeyCode.ARROW_RIGHT: {\n evt.preventDefault();\n this.onLinkNextFocus(evt);\n break;\n }\n case KeyCode.ARROW_LEFT: {\n evt.preventDefault();\n this.menuItemKeydown.next(new EclMenuItemKeydownEvent(this, evt as KeyboardEvent));\n break;\n }\n case KeyCode.ENTER: {\n evt.preventDefault();\n this.onItemClick(evt);\n break;\n }\n case KeyCode.ESCAPE: {\n evt.preventDefault();\n this.onLinkEscape(evt);\n break;\n }\n default: {\n break;\n }\n }\n }\n\n checkMenuItem(maxLines: number, isMobileBreakpoint: boolean): void {\n if (maxLines < 1) return;\n\n const currentItem = this.el.nativeElement;\n const currentLink = this.menuLink.nativeElement;\n if (isMobileBreakpoint) {\n currentLink.style.width = '100%';\n return;\n }\n this.renderer.setStyle(currentItem, 'alignItems', 'flex-start');\n const linkStyle = window.getComputedStyle(currentLink);\n\n const maxHeight = this.getMenuItemLinkMaxHeight(linkStyle, maxLines);\n\n if (currentLink.offsetHeight > maxHeight) {\n this.changeMenuItemLinkWidth(currentLink, maxLines, linkStyle);\n }\n this.renderer.removeStyle(currentItem, 'alignItems');\n }\n\n private onLinkEscape(evt: Event): void {\n if (this.menuButton) {\n this.menuButton.el.nativeElement.focus();\n evt.stopPropagation();\n } else {\n this.menuLink.nativeElement.blur();\n }\n }\n\n private selectFirstMegaMenuItem(): void {\n this.submenu.selectFirstSubItem();\n }\n\n private onLinkFocus(): void {\n this.menuLink.nativeElement.focus();\n }\n\n private onLinkNextFocus(evt: Event): void {\n if (this.menuButton) {\n this.onButtonFocus();\n } else {\n this.menuItemKeydown.next(new EclMenuItemKeydownEvent(this, evt as KeyboardEvent));\n }\n }\n\n private onButtonFocus(): void {\n this.menuButton.el.nativeElement.focus();\n }\n\n private getMenuItemLinkMaxHeight(linkStyle: CSSStyleDeclaration, maxLines: number): number {\n return parseInt(linkStyle.lineHeight, 10) * maxLines + parseInt(linkStyle.paddingTop, 10) + parseInt(linkStyle.paddingBottom, 10);\n }\n\n private changeMenuItemLinkWidth(currentLink: HTMLAnchorElement, maxLines: number, linkStyle: CSSStyleDeclaration): void {\n this.renderer.setStyle(currentLink, 'white-space', 'nowrap');\n const linkWidth = currentLink.offsetWidth;\n if (maxLines === 1) {\n currentLink.style.width = `${linkWidth + parseInt(linkStyle.paddingLeft, 10) + parseInt(linkStyle.paddingRight, 10)}px`;\n this.renderer.removeStyle(currentLink, 'white-space');\n return;\n }\n const textSize = currentLink.text.length;\n const letterWidth = Math.ceil(linkWidth / textSize);\n const wordsArray = currentLink.text.trim().split(' ');\n const goalWidth = Math.ceil(linkWidth / maxLines);\n const firstWord = wordsArray[0];\n let cnt = 1;\n let wordWidth = Math.ceil((firstWord.length + 1) * letterWidth);\n while (wordWidth < goalWidth) {\n wordWidth += Math.ceil((wordsArray[cnt].length + 1) * letterWidth);\n cnt++;\n }\n currentLink.style.width = `${wordWidth + parseInt(linkStyle.paddingLeft, 10) + parseInt(linkStyle.paddingRight, 10)}px`;\n this.renderer.removeStyle(currentLink, 'white-space');\n }\n\n private getClassDependingChildrenCnt(): string {\n if (this.hasChildren) {\n if (this.submenu.eclMenuMegaItems.length < ColTrigger.COL1_TRIGGER) {\n return 'ecl-menu__item--col1';\n } else if (this.submenu.eclMenuMegaItems.length < ColTrigger.COL2_TRIGGER) {\n return 'ecl-menu__item--col2';\n } else if (this.submenu.eclMenuMegaItems.length < ColTrigger.COL3_TRIGGER) {\n return 'ecl-menu__item--col3';\n } else {\n this.isFull = true;\n return 'ecl-menu__item--full';\n }\n }\n return '';\n }\n\n private hasSubmenuAnySelections(): boolean {\n return this.submenu && !!this.submenu.eclMenuMegaItems.find((it) => it.isCurrent);\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", "<a\n #menuLink\n *ngIf=\"href\"\n [href]=\"href\"\n [target]=\"target\"\n class=\"ecl-menu__link\"\n [class.ecl-menu__link--current]=\"isCurrent\"\n (focus)=\"onItemFocus($event)\"\n (click)=\"onItemClick($event)\"\n (keydown)=\"onLinkKeydown($event)\">\n {{ label }}\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n<a\n #menuLink\n *ngIf=\"!href\"\n tabindex=\"0\"\n [routerLink]=\"routerLink\"\n [queryParams]=\"queryParams\"\n [queryParamsHandling]=\"queryParamsHandling\"\n class=\"ecl-menu__link\"\n [class.ecl-menu__link--current]=\"isCurrent\"\n (focus)=\"onItemFocus($event)\"\n (click)=\"onItemClick($event)\"\n (keydown)=\"onLinkKeydown($event)\">\n {{ label }}\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n<button\n eclButton\n *ngIf=\"hasChildren && isMobileBreakpoint\"\n variant=\"primary\"\n class=\"ecl-menu__button-caret\"\n type=\"button\"\n aria-label=\"Access item's children\"\n (click)=\"onItemCaretClick($event)\"\n (keydown)=\"onButtonKeydown($event)\">\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-180\" class=\"ecl-button__icon\"></ecl-icon>\n</button>\n<button\n eclButton\n *ngIf=\"hasChildren && !isMobileBreakpoint\"\n variant=\"primary\"\n class=\"ecl-menu__button-caret\"\n type=\"button\"\n aria-label=\"Access item's children\"\n [attr.aria-expanded]=\"isAriaExpanded\"\n (keydown)=\"onButtonKeydown($event)\">\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-180\" class=\"ecl-button__icon\"></ecl-icon>\n</button>\n<ng-content select=\"ecl-menu-mega\"></ng-content>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", "import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\nimport {\n AfterContentInit,\n AfterViewInit,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n IterableChanges,\n IterableDiffer,\n IterableDiffers,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n Renderer2,\n ViewChild,\n} from '@angular/core';\nimport { coerceNumber } from '@eui/base';\nimport Hammer from 'hammerjs';\nimport { Observable, Subject, of } from 'rxjs';\nimport { mergeWith, takeUntil } from 'rxjs/operators';\nimport { EclMenuItem } from '../../../model/ecl-menu-item.model';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\nimport { EclButtonComponent } from '../../ecl-button';\nimport { EclMenuItemCaretEvent, EclMenuItemHoverEvent, EclMenuItemKeydownEvent, EclMenuItemSelectEvent } from '../common/ecl-menu-item.event';\nimport { EclMenuItemComponent } from './ecl-menu-item.component';\nimport { KeyCode } from '../../../utils';\nimport { EclRtlService } from '../../../services';\n\n@Component({\n selector: 'ecl-menu',\n templateUrl: './ecl-menu.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclMenuComponent extends ECLBaseDirective implements OnInit, AfterContentInit, OnDestroy, AfterViewInit {\n @Input() group = '1';\n @coerceNumber @Input() maxLines = 0;\n\n @ContentChildren(EclMenuItemComponent) eclRootMenuItems: QueryList<EclMenuItemComponent>;\n @ViewChild('innerSection') innerSection: ElementRef;\n @ViewChild('itemsList') itemsList: ElementRef;\n @ViewChild('btnPrevious') btnPrevious: EclButtonComponent;\n @ViewChild('btnNext') btnNext: EclButtonComponent;\n\n @Output() menuItemSelect = new EventEmitter<EclMenuItemSelectEvent>();\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-menu'), 'ecl-menu--transition', `ecl-menu--group${this.group}`].join(' ');\n }\n\n @HostBinding('attr.aria-expanded') isHamburgerMenuOpened = false;\n @HostBinding('attr.role') role = 'navigation';\n @HostBinding('class.ecl-menu--forced-mobile') isMobileBreakpoint = false;\n @HostBinding('class.ecl-menu--forced-close') isMenuHidden = false;\n\n hasOverflow = false;\n isShowPrevBtn = false;\n isShowNextBtn = false;\n isPrevBtnCurrentClass = false;\n menuListStyleRight = 'auto';\n menuListStyleLeft = 'auto';\n\n private currentItem: EclMenuItem;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private differ: IterableDiffer<EclMenuItemComponent>;\n private diff: IterableChanges<EclMenuItemComponent>;\n private isRtl = false;\n private totalItemsWidth = 0;\n private offsetLeft = 0;\n private lastVisibleItem: EclMenuItemComponent;\n private readonly hammertime = new Hammer(document, { inputClass: Hammer.TouchInput });\n private resizeTimer: number;\n private TIMEOUT_INTERVAL = 150;\n\n constructor(\n private el: ElementRef,\n private differs: IterableDiffers,\n private cdkBreakpointObserver: BreakpointObserver,\n private renderer: Renderer2,\n private eclRtlService: EclRtlService,\n ) {\n super();\n this.differ = this.differs.find([]).create();\n }\n\n @HostListener('keydown', ['$event'])\n keyEvent(event: KeyboardEvent): void {\n if (event.key === 'Escape') {\n this.closeRootMenu();\n this.hideMenu();\n this.closeHamburgerMenu();\n }\n }\n\n @HostListener('window:resize')\n onResize(): void {\n clearTimeout(this.resizeTimer);\n this.resizeTimer = setTimeout(() => {\n this.renderer.removeClass(this.el.nativeElement, 'ecl-menu--transition');\n this.totalItemsWidth = 0;\n this.checkMenuItemsWidth();\n this.checkMenuOverflow();\n this.renderer.addClass(this.el.nativeElement, 'ecl-menu--transition');\n }, this.TIMEOUT_INTERVAL);\n }\n\n ngOnInit(): void {\n this.handleRtlChangeState();\n this.observeBreakpointChanges();\n this.observeSwipeGestures();\n }\n\n ngAfterContentInit(): void {\n this.observeRootMenuItemsChanges();\n }\n\n ngAfterViewInit(): void {\n clearTimeout(this.resizeTimer);\n this.resizeTimer = setTimeout(() => {\n this.checkMenuItemsWidth();\n this.checkMenuOverflow();\n }, this.TIMEOUT_INTERVAL);\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n\n this.hammertime.off('swipeleft');\n this.hammertime.off('swiperight');\n }\n\n onSwipeLeft(): void {\n if (this.isMobileBreakpoint) {\n this.openHamburgerMenu();\n }\n }\n\n onSwipeRight(): void {\n if (this.isMobileBreakpoint) {\n this.closeHamburgerMenu();\n }\n }\n\n onOverlayClick(): void {\n this.closeHamburgerMenu();\n }\n\n onMenuOpenClick(evt: MouseEvent): void {\n this.openHamburgerMenu();\n evt.preventDefault();\n }\n\n onMenuCloseClick(evt: MouseEvent): void {\n this.closeHamburgerMenu();\n this.closeRootMenu();\n evt.preventDefault();\n }\n\n onMenuBackClick(evt: MouseEvent): void {\n this.closeRootMenu();\n evt.preventDefault();\n }\n\n onPrevBtnClick(): void {\n this.slideMenuInitialState();\n this.refreshDisplay();\n }\n\n onNextBtnClick(): void {\n this.isShowPrevBtn = true;\n this.isShowNextBtn = false;\n\n if (this.isRtl) {\n this.showNextSlideRtl();\n } else {\n this.showNextSlideLtr();\n }\n\n this.refreshDisplay();\n }\n\n private slideMenuInitialState(): void {\n this.offsetLeft = 0;\n if (this.isRtl) {\n this.menuListStyleRight = '0px';\n this.menuListStyleLeft = 'auto';\n } else {\n this.menuListStyleLeft = '0px';\n this.menuListStyleRight = 'auto';\n }\n\n this.isShowPrevBtn = false;\n this.isShowNextBtn = true;\n }\n\n private showNextSlideLtr(): void {\n const btnOffsetWidth = this.btnNext.el.nativeElement.offsetWidth;\n this.offsetLeft =\n this.lastVisibleItem.el.nativeElement.getBoundingClientRect().left -\n this.itemsList.nativeElement.getBoundingClientRect().left -\n btnOffsetWidth;\n\n this.menuListStyleLeft = `-${this.offsetLeft}px`;\n this.menuListStyleRight = 'auto';\n }\n\n private showNextSlideRtl(): void {\n const btnOffsetWidth = this.btnNext.el.nativeElement.offsetWidth;\n this.offsetLeft =\n this.itemsList.nativeElement.getBoundingClientRect().right -\n this.lastVisibleItem.el.nativeElement.getBoundingClientRect().right -\n btnOffsetWidth;\n\n this.menuListStyleRight = `-${this.offsetLeft}px`;\n this.menuListStyleLeft = 'auto';\n }\n\n private refreshDisplay(): void {\n this.eclRootMenuItems.forEach((item) => {\n item.checkMenuItem(this.maxLines, this.isMobileBreakpoint);\n item.isVisible = !item.isVisible;\n });\n }\n\n private checkMenuOverflow(): void {\n this.hasOverflow = this.totalItemsWidth > this.innerSection.nativeElement.offsetWidth;\n if (!this.hasOverflow || this.isMobileBreakpoint) {\n this.resetOverflowValues();\n return;\n }\n\n this.setClassForPrevNextButtons();\n this.resetVisibilityIndicator();\n\n if (this.offsetLeft === 0) {\n this.manageOverflowEnd();\n } else {\n this.manageOverflowBeginning();\n }\n }\n\n private manageOverflowBeginning(): void {\n if (this.isRtl) {\n this.eclRootMenuItems\n .filter(\n (item) =>\n item.el.nativeElement.getBoundingClientRect().right <=\n this.innerSection.nativeElement.getBoundingClientRect().right,\n )\n .forEach((el) => (el.isVisible = true));\n } else {\n this.eclRootMenuItems\n .filter(\n (item) =>\n item.el.nativeElement.getBoundingClientRect().left >= this.innerSection.nativeElement.getBoundingClientRect().left,\n )\n .forEach((el) => (el.isVisible = true));\n }\n }\n\n private manageOverflowEnd(): void {\n this.isShowNextBtn = true;\n if (this.isRtl) {\n for (const item of this.eclRootMenuItems) {\n if (item.el.nativeElement.getBoundingClientRect().left < this.itemsList.nativeElement.getBoundingClientRect().left) {\n this.lastVisibleItem = item;\n break;\n }\n item.isVisible = true;\n }\n } else {\n for (const item of this.eclRootMenuItems) {\n if (item.el.nativeElement.getBoundingClientRect().right > this.itemsList.nativeElement.getBoundingClientRect().right) {\n this.lastVisibleItem = item;\n break;\n }\n item.isVisible = true;\n }\n }\n }\n\n private resetVisibilityIndicator(): void {\n this.eclRootMenuItems.forEach((item) => (item.isVisible = false));\n }\n\n private resetOverflowValues(): void {\n this.isShowPrevBtn = false;\n this.isShowNextBtn = false;\n this.hasOverflow = false;\n this.menuListStyleLeft = '0px';\n this.offsetLeft = 0;\n this.totalItemsWidth = 0;\n this.lastVisibleItem = null;\n }\n\n private setClassForPrevNextButtons(): void {\n this.currentItem = this.eclRootMenuItems.find((item) => item.isCurrent);\n if (this.currentItem) {\n if (this.currentItem.isVisible) {\n this.isPrevBtnCurrentClass = true;\n } else {\n this.isPrevBtnCurrentClass = false;\n }\n }\n }\n\n private checkMenuItemsWidth(): void {\n this.eclRootMenuItems.forEach((item) => {\n item.checkMenuItem(this.maxLines, this.isMobileBreakpoint);\n this.totalItemsWidth += item.el.nativeElement.offsetWidth;\n });\n }\n\n public get isMenuExpandedInMobile(): boolean {\n return this.isMobileBreakpoint && this.isAnyRootMenuItemExpanded();\n }\n\n private isAnyRootMenuItemExpanded(): boolean {\n return this.eclRootMenuItems.some((item) => item.isExpanded);\n }\n\n private createRootMenuItemsChangesObservable(): Observable<QueryList<EclMenuItemComponent>> {\n return of(this.eclRootMenuItems).pipe(mergeWith(this.eclRootMenuItems.changes), takeUntil(this.destroy$));\n }\n\n private onMenuItemChanges(): void {\n this.diff = this.differ.diff(this.eclRootMenuItems);\n\n if (!this.diff) {\n this.eclRootMenuItems.forEach((rootItem) => {\n this.connectMenuItemEvents(rootItem);\n });\n } else {\n this.diff.forEachAddedItem((change) => {\n this.connectMenuItemEvents(change.item);\n });\n }\n }\n\n private connectMenuItemEvents(item: EclMenuItemComponent): void {\n item.menuItemSelect.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.onRootMenuItemSelected(evt);\n });\n item.menuItemHover.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.onRootMenuItemHovered(evt);\n });\n item.menuItemHoverOut.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.onRootMenuItemHoveredOut(evt);\n });\n item.menuItemCaret.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.onRootMenuItemCaret(evt);\n });\n item.menuMegaItemSelect.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.onMenuMegaItemSelected(item, evt);\n });\n item.menuItemFocus.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.onRootMenuItemFocused(item);\n });\n item.menuItemKeydown.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.onRootMenuItemKeydown(item, evt);\n });\n }\n\n private onRootMenuItemFocused(item: EclMenuItem): void {\n const index = this.findIndexInArray(item);\n if (!this.isMobileBreakpoint) {\n this.closeRootMenu();\n }\n if (this.isMovePrevOverflow(index)){\n this.onPrevBtnClick();\n } else if (this.isMoveNextOverflow(index)){\n this.onNextBtnClick();\n }\n }\n\n private onRootMenuItemKeydown(item: EclMenuItem, evt: EclMenuItemKeydownEvent): void {\n switch (evt.domEvent.key) {\n case KeyCode.ARROW_DOWN: {\n this.onRootMenuItemEnter(item);\n break;\n }\n case KeyCode.ARROW_RIGHT: {\n this.onNextMenuItemFocus(item);\n break;\n }\n case KeyCode.ARROW_UP: {\n this.onPrevMenuItemFocus(item);\n break;\n }\n case KeyCode.ARROW_LEFT: {\n this.onPrevMenuItemFocus(item);\n break;\n }\n case KeyCode.ENTER: {\n this.onRootMenuItemEnter(item);\n break;\n }\n case KeyCode.ESCAPE: {\n this.onRootMenuItemEscape(item, evt.domEvent);\n break;\n }\n default: {\n break;\n }\n }\n }\n\n private onRootMenuItemEscape(item: EclMenuItem, evt: Event): void {\n if (item.isHovered) {\n this.closeRootMenu();\n }\n evt.stopPropagation();\n }\n\n private onPrevMenuItemFocus(item: EclMenuItem): void {\n const index = this.findIndexInArray(item);\n if (index !== 0) {\n this.getRootMenuItemsArray()[index - 1].onFocusFromNext();\n }\n }\n\n private onNextMenuItemFocus(item: EclMenuItem): void {\n const index = this.findIndexInArray(item);\n if (index !== this.getRootMenuItemsArray().length - 1) {\n this.getRootMenuItemsArray()[index + 1].onFocusFromPrev();\n }\n }\n\n private findIndexInArray(item: EclMenuItem): number {\n return this.getRootMenuItemsArray().findIndex(el => item === el);\n }\n\n private isMoveNextOverflow(index: number): boolean {\n return !this.getRootMenuItemsArray()[index].isVisible && this.isShowNextBtn;\n }\n\n private isMovePrevOverflow(index: number): boolean {\n return !this.getRootMenuItemsArray()[index].isVisible && this.isShowPrevBtn;\n }\n\n private onRootMenuItemSelected(evt: EclMenuItemSelectEvent): void {\n const requestedRootMenuItem: EclMenuItem = evt.menuItem;\n\n this.closeRootMenu();\n this.deselectAllRootMenuItems();\n this.deselectAllSubmenusItems();\n this.selectMenuItem(requestedRootMenuItem);\n this.closeHamburgerMenu();\n if (this.hasOverflow) {\n this.managePrevNextButtonsClassOnItemSelected();\n }\n this.sendMenuItemSelectEvent(evt);\n }\n\n private managePrevNextButtonsClassOnItemSelected(): void {\n if (this.isShowNextBtn) {\n this.isPrevBtnCurrentClass = true;\n } else {\n this.isPrevBtnCurrentClass = false;\n }\n }\n\n private onRootMenuItemHovered(evt: EclMenuItemHoverEvent): void {\n this.openSubmenu(evt.menuItem);\n }\n\n private onRootMenuItemEnter(item: EclMenuItem): void {\n if (this.isMobileBreakpoint) {\n this.closeRootMenuButOneItem(item);\n this.toggleExpandedForMenuItem(item);\n } else {\n if (!item.isHovered) {\n this.openSubmenu(item);\n } else {\n this.closeRootMenu();\n }\n }\n }\n\n private openSubmenu(item: EclMenuItem): void {\n if (item.isVisible) {\n if (!this.isMobileBreakpoint && (item as EclMenuItemComponent).submenu) {\n this.checkMegaMenu(item as EclMenuItemComponent);\n }\n item.isHovered = true;\n this.closeRootMenuButOneItem(item);\n this.showMenu();\n }\n }\n\n private getRootMenuItemsArray(): EclMenuItemComponent[] {\n return this.eclRootMenuItems.toArray();\n }\n\n private checkMegaMenu(menuItem: EclMenuItemComponent): void {\n if (menuItem.isFull) {\n if (this.isRtl) {\n menuItem.submenu.offsetRight = this.offsetLeft;\n } else {\n menuItem.submenu.offsetLeft = this.offsetLeft;\n }\n return;\n }\n this.checkEnoughSpaceForMegaMenu(menuItem);\n }\n\n private checkEnoughSpaceForMegaMenu(menuItem: EclMenuItemComponent): void {\n const megaBounding = menuItem.submenu.el.nativeElement.getBoundingClientRect();\n const containerBounding = this.innerSection.nativeElement.getBoundingClientRect();\n const menuItemBounding = menuItem.el.nativeElement.getBoundingClientRect();\n\n const megaWidth = megaBounding.width;\n const containerWidth = containerBounding.width;\n const menuItemPosition = menuItemBounding.left - containerBounding.left;\n\n if (menuItemPosition + megaWidth > containerWidth) {\n menuItem.submenu.isRtlDisplay = true;\n } else {\n menuItem.submenu.isRtlDisplay = false;\n }\n }\n\n private onRootMenuItemHoveredOut(evt: EclMenuItemHoverEvent): void {\n if (!this.isMobileBreakpoint) {\n this.closeRootMenu();\n }\n }\n\n private onRootMenuItemCaret(evt: EclMenuItemCaretEvent): void {\n const requestedRootMenuItem: EclMenuItem = evt.menuItem;\n\n this.closeRootMenuButOneItem(requestedRootMenuItem);\n this.toggleExpandedForMenuItem(requestedRootMenuItem);\n }\n\n private onMenuMegaItemSelected(rootMenuItem: EclMenuItem, evt: EclMenuItemSelectEvent): void {\n const requestedSubmenuItem = evt.menuItem;\n\n this.closeRootMenu();\n this.deselectAllRootMenuItems();\n this.deselectAllSubmenusItems();\n this.selectMenuItem(rootMenuItem);\n this.selectMenuItem(requestedSubmenuItem);\n this.closeHamburgerMenu();\n if (this.hasOverflow) {\n this.managePrevNextButtonsClassOnItemSelected();\n }\n this.sendMenuItemSelectEvent(evt);\n\n this.hideMenu();\n }\n\n private deselectAllRootMenuItems(): void {\n this.deselectMenuItems(this.eclRootMenuItems.toArray());\n }\n\n private deselectAllSubmenusItems(): void {\n this.eclRootMenuItems.forEach((rootItem) => {\n this.deselectMenuItems(rootItem.children);\n });\n }\n\n private deselectMenuItems(items: Array<EclMenuItem>): void {\n items.forEach((it) => {\n it.isCurrent = false;\n });\n }\n\n private selectMenuItem(item: EclMenuItem): void {\n item.isCurrent = true;\n this.currentItem = item;\n }\n\n private hideMenu(): void {\n this.isMenuHidden = true;\n }\n\n private showMenu(): void {\n this.isMenuHidden = false;\n }\n\n private closeRootMenu(): void {\n this.eclRootMenuItems.forEach((it) => {\n it.isExpanded = false;\n it.isHovered = false;\n });\n }\n\n private closeRootMenuButOneItem(item: EclMenuItem): void {\n this.eclRootMenuItems\n .filter((it) => it !== item)\n .forEach((it) => {\n it.isExpanded = false;\n it.isHovered = false;\n });\n }\n\n private handleRtlChangeState(): void {\n this.eclRtlService.currentRtlState$.pipe(takeUntil(this.destroy$)).subscribe((rtlState) => {\n if (rtlState !== undefined && this.isRtl !== rtlState) {\n this.isRtl = rtlState;\n if (this.hasOverflow) {\n this.slideMenuInitialState();\n setTimeout(() => this.checkMenuOverflow());\n }\n }\n });\n }\n\n private toggleExpandedForMenuItem(item: EclMenuItem): void {\n item.isExpanded = !item.isExpanded;\n }\n\n private openHamburgerMenu(): void {\n this.isHamburgerMenuOpened = true;\n }\n\n private closeHamburgerMenu(): void {\n this.isHamburgerMenuOpened = false;\n }\n\n private sendMenuItemSelectEvent(evt: EclMenuItemSelectEvent): void {\n this.menuItemSelect.next(new EclMenuItemSelectEvent(evt.menuItem, evt.domEvent));\n }\n\n private observeRootMenuItemsChanges(): void {\n this.diff = this.differ.diff(this.eclRootMenuItems);\n this.createRootMenuItemsChangesObservable().pipe(takeUntil(this.destroy$)).subscribe(this.onMenuItemChanges.bind(this));\n }\n\n private observeSwipeGestures(): void {\n this.hammertime.on('swipeleft', this.onSwipeLeft.bind(this));\n this.hammertime.on('swiperight', this.onSwipeRight.bind(this));\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", "<div class=\"ecl-menu__overlay\" (click)=\"onOverlayClick()\"></div>\n<div class=\"ecl-container ecl-menu__container\">\n <a eclLink href=\"#\" variant=\"standalone\" class=\"ecl-menu__open\" (click)=\"onMenuOpenClick($event)\">\n <ecl-icon icon=\"hamburger\" size=\"s\"></ecl-icon> {{ 'ecl.menu.MENU' | translate }}\n </a>\n\n <section\n class=\"ecl-menu__inner\"\n #innerSection\n [class.ecl-menu__inner--expanded]=\"isMenuExpandedInMobile\"\n [class.ecl-menu__inner--has-overflow]=\"hasOverflow\">\n <header class=\"ecl-menu__inner-header\">\n <button\n eclButton\n variant=\"ghost\"\n class=\"ecl-menu__close\"\n containerStyleClass=\"ecl-menu__close-container\"\n (click)=\"onMenuCloseClick($event)\">\n <ecl-icon icon=\"close-filled\" size=\"s\"></ecl-icon>\n <span eclButtonLabel>{{ 'ecl.common.CLOSE' | translate }}</span>\n </button>\n\n <div class=\"ecl-menu__title\">{{ 'ecl.menu.MENU' | translate }}</div>\n\n <button eclButton variant=\"ghost\" class=\"ecl-menu__back\" (click)=\"onMenuBackClick($event)\">\n <ecl-icon icon=\"corner-arrow\" size=\"s\" transform=\"rotate-270\"></ecl-icon>\n <span eclButtonLabel>{{ 'ecl.common.BACK' | translate }}</span>\n </button>\n </header>\n <button\n eclButton\n #btnPrevious\n tabindex=\"-1\"\n variant=\"ghost\"\n class=\"ecl-menu__item ecl-menu__items-previous\"\n [class.ecl-menu__item--current]=\"isPrevBtnCurrentClass\"\n [style.display]=\"isShowPrevBtn ? 'block' : 'none'\"\n (click)=\"onPrevBtnClick()\">\n <ecl-icon icon=\"corner-arrow\" size=\"s\" transform=\"rotate-270\"></ecl-icon>\n <span eclButtonLabel class=\"ecl-u-sr-only\">{{ 'ecl.common.PREVIOUS' | translate }}</span>\n </button>\n <button\n eclButton\n #btnNext\n variant=\"ghost\"\n tabindex=\"-1\"\n class=\"ecl-menu__item ecl-menu__items-next\"\n [class.ecl-menu__item--current]=\"!isPrevBtnCurrentClass\"\n [style.display]=\"isShowNextBtn ? 'block' : 'none'\"\n (click)=\"onNextBtnClick()\">\n <ecl-icon icon=\"corner-arrow\" size=\"s\" transform=\"rotate-90\"></ecl-icon>\n <span eclButtonLabel class=\"ecl-u-sr-only\">{{ 'ecl.common.NEXT' | translate }}</span>\n </button>\n <ul class=\"ecl-menu__list\" #itemsList [style.right]=\"menuListStyleRight\" [style.left]=\"menuListStyleLeft\">\n <ng-content></ng-content>\n </ul>\n </section>\n</div>\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { LayoutModule } from '@angular/cdk/layout';\nimport { EclMenuComponent } from './ecl-menu/ecl-menu.component';\nimport { EclMenuItemComponent } from './ecl-menu/ecl-menu-item.component';\nimport { EclLinkDirectiveModule } from '../ecl-link/ecl-link.module';\nimport { EclIconComponentModule } from '../ecl-icon/ecl-icon.module';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclMenuMegaComponent } from './ecl-menu-mega/ecl-menu-mega.component';\nimport { EclMenuMegaItemComponent } from './ecl-menu-mega/ecl-menu-mega-item.component';\nimport { EclButtonComponentModule } from '../ecl-button';\nimport { RouterModule } from '@angular/router';\n\nconst COMPONENTS = [EclMenuComponent, EclMenuItemComponent, EclMenuMegaComponent, EclMenuMegaItemComponent];\n\n@NgModule({\n imports: [\n EclButtonComponentModule,\n EclIconComponentModule,\n EclLinkDirectiveModule,\n CommonModule,\n RouterModule,\n LayoutModule,\n TranslateModule,\n ],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclMenuComponentModule {}\n", "import { Directive, EventEmitter, HostListener, Input, Output } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: '[eclModalClose]',\n})\nexport class EclModalCloseDirective<T> extends ECLBaseDirective {\n @Input('eclModalClose') eclModalResult: T;\n @Input() eclModalRole: 'confirm' | 'cancel' | string;\n\n @Output() modalClose = new EventEmitter();\n\n @HostListener('click', ['$event'])\n onClick(evt: MouseEvent): void {\n this.modalClose.next(null);\n }\n}\n", "import { Component, EventEmitter, HostBinding, Input, Output, OnInit } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclModalCloseEvent } from './ecl-modal.component';\nimport { EclThemeService } from '../../services';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[eclModalHeader]',\n templateUrl: './ecl-modal-header.component.html',\n})\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport class EclModalHeaderComponent<T = any> extends ECLBaseDirective {\n @Input() variant: 'default' | 'information' | 'success' | 'warning' | 'error' | string = 'default';\n @Output() modalClose = new EventEmitter<EclModalCloseEvent<T>>();\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-modal__header')].join(' ').trim();\n }\n\n constructor(public eclThemeService: EclThemeService) {\n super();\n }\n\n getCloseIcon(): string {\n if (this.eclThemeService.isECTheme()) {\n return 'close';\n } else {\n return 'close-filled';\n }\n }\n\n onCloseClick(): void {\n this.modalClose.next(new EclModalCloseEvent());\n }\n\n getIcon(): 'information' | 'success' | 'warning' | 'error' | null {\n if (this.variant === 'information') {\n return 'information';\n } else if (this.variant === 'success') {\n return 'success';\n } else if (this.variant === 'warning') {\n return 'warning';\n } else if (this.variant === 'error') {\n return 'error';\n } else {\n return null;\n }\n }\n}\n", "@if(getIcon()) {\n <ecl-icon [icon]=\"getIcon()\" size=\"l\" class=\"ecl-modal__icon\"> </ecl-icon>\n}\n<div class=\"ecl-modal__header-content\">\n <ng-content></ng-content>\n</div>\n<button eclButton variant=\"tertiary\" isIconOnly class=\"ecl-modal__close\" type=\"button\" (click)=\"onCloseClick()\">\n <span eclButtonLabel>Close</span>\n <ecl-icon [icon]=\"getCloseIcon()\" size=\"m\"></ecl-icon>\n</button>\n", "/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n AfterContentInit,\n Component,\n ContentChild,\n ContentChildren,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n QueryList,\n} from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { EclBaseEvent } from '../../model';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclModalCloseDirective } from './ecl-modal-close.directive';\nimport { EclModalHeaderComponent } from './ecl-modal-header.component';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport interface EclModalResult<T = any> {\n eclModalData?: T;\n eclModalRole?: string;\n}\n\nexport class EclModalOpenEvent extends EclBaseEvent {}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport class EclModalCloseEvent<T = any> extends EclBaseEvent {\n constructor(public eclModalResult?: EclModalResult<T>) {\n super();\n }\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'dialog[eclModal]',\n templateUrl: './ecl-modal.component.html',\n})\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport class EclModalComponent<T = any> extends ECLBaseDirective implements OnChanges, AfterContentInit, OnDestroy {\n @Input() variant: 'default' | 'information' | 'success' | 'warning' | 'error' | string = 'default';\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Input() set isOpen(value: boolean | any) {\n this._isOpen = coerceBooleanProperty(value);\n }\n\n get isOpen(): boolean | null {\n return this._isOpen || null;\n }\n\n @Output() modalClose = new EventEmitter<EclModalCloseEvent<T>>();\n @Output() modalOpen = new EventEmitter<EclModalOpenEvent>();\n\n @ContentChild(forwardRef(() => EclModalHeaderComponent)) eclModalHeader: EclModalHeaderComponent<T>;\n @ContentChildren(forwardRef(() => EclModalCloseDirective), { descendants: true }) eclModalCloseComponents: QueryList<\n EclModalCloseDirective<T>\n >;\n\n private _isOpen = false;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n @HostBinding('attr.open')\n get isModalOpened(): boolean {\n return this.isOpen;\n }\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-modal'), `ecl-modal--${this.variant}`].join(' ').trim();\n }\n\n @HostListener('document:keydown.escape')\n onEscapeKeydownHandler(): void {\n this.closeModal({ eclModalRole: 'cancel' });\n }\n\n ngOnChanges(): void {\n if (this.eclModalHeader) {\n this.eclModalHeader.variant = this.variant;\n }\n }\n\n ngAfterContentInit(): void {\n if (this.eclModalHeader) {\n this.eclModalHeader.variant = this.variant;\n\n this.eclModalHeader.modalClose.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.closeModal({ eclModalRole: 'cancel' });\n });\n }\n\n this.eclModalCloseComponents?.forEach((eclModalCloseCmp) => {\n eclModalCloseCmp.modalClose.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.closeModal({\n eclModalData: eclModalCloseCmp.eclModalResult,\n eclModalRole: eclModalCloseCmp.eclModalRole,\n });\n });\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n openModal(): void {\n const event = new EclModalOpenEvent();\n this.modalOpen.next(event);\n\n if (!event.defaultPrevented) {\n this.isOpen = true;\n }\n }\n\n closeModal(result?: EclModalResult<T>): void {\n if (this.isOpen) {\n const event = new EclModalCloseEvent({\n eclModalData: result?.eclModalData,\n eclModalRole: result?.eclModalRole,\n });\n this.modalClose.next(event);\n\n if (!event.defaultPrevented) {\n this.isOpen = false;\n }\n }\n }\n}\n", "<div class=\"ecl-modal__container ecl-container\">\n <div class=\"ecl-modal__content ecl-col-12 ecl-col-m-8 ecl-offset-m-2 ecl-col-l-6 ecl-offset-l-3\">\n <ng-content></ng-content>\n </div>\n</div>\n", "import { Component, HostBinding, Input, booleanAttribute } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[eclModalBody]',\n templateUrl: './ecl-modal-body.component.html',\n})\nexport class EclModalBodyComponent extends ECLBaseDirective {\n\n @Input({ transform: booleanAttribute }) isScrollable = false;\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-modal__body'),\n this.isScrollable ? 'ecl-modal__body--has-scroll' : '',\n ].join(' ').trim();\n }\n}\n", "@if (isScrollable) {\n<div class=\"ecl-modal__body-scroll\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</div>\n<div class=\"ecl-modal__body-overflow\" aria-hidden=\"true\"></div>\n<ng-content select=\"[eclModalBodyFixedContent]\"></ng-content>\n} @else {\n<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n}\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>", "import { AfterContentInit, Component, ContentChildren, forwardRef, HostBinding, QueryList } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclButtonComponent } from '../ecl-button';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[eclModalFooter]',\n templateUrl: './ecl-modal-footer.component.html',\n})\nexport class EclModalFooterComponent extends ECLBaseDirective implements AfterContentInit {\n @ContentChildren(forwardRef(() => EclButtonComponent), { descendants: true }) buttonComponents: QueryList<EclButtonComponent>;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-modal__footer')].join(' ').trim();\n }\n\n ngAfterContentInit(): void {\n if (this.buttonComponents) {\n setTimeout(() => {\n this.buttonComponents.forEach((btn) => {\n btn.class = 'ecl-modal__button';\n });\n });\n }\n }\n}\n", "<div class=\"ecl-modal__footer-content\">\n <ng-content></ng-content>\n</div>\n", "import { Directive, HostListener, Input } from '@angular/core';\nimport { EclModalComponent } from '..';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: '[eclModalTriggerFor]',\n})\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport class EclModalTriggerDirective<T = any> extends ECLBaseDirective {\n @Input() eclModalTriggerFor: EclModalComponent<T>;\n\n @HostListener('click', ['$event'])\n onClick(evt: MouseEvent): void {\n this.eclModalTriggerFor?.openModal();\n }\n}\n", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: '[eclModalBodyFixedContent]',\n})\nexport class EclModalBodyFixedContentDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-modal__body-fixed') className = true;\n}\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclIconComponentModule } from '../ecl-icon/ecl-icon.module';\nimport { EclButtonComponentModule } from '../ecl-button/ecl-button.module';\nimport { EclModalComponent } from './ecl-modal.component';\nimport { EclModalHeaderComponent } from './ecl-modal-header.component';\nimport { EclModalBodyComponent } from './ecl-modal-body.component';\nimport { EclModalFooterComponent } from './ecl-modal-footer.component';\nimport { EclModalCloseDirective } from './ecl-modal-close.directive';\nimport { EclModalTriggerDirective } from './ecl-modal-trigger.directive';\nimport { EclModalBodyFixedContentDirective } from './ecl-modal-body-fixed.directive';\n\nconst COMPONENTS = [\n EclModalComponent,\n EclModalHeaderComponent,\n EclModalBodyComponent,\n EclModalBodyFixedContentDirective,\n EclModalFooterComponent,\n EclModalCloseDirective,\n EclModalTriggerDirective,\n];\n\n@NgModule({\n imports: [CommonModule, EclIconComponentModule, EclButtonComponentModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclModalComponentModule {}\n", "import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'boldText',\n})\nexport class BoldTextPipe implements PipeTransform {\n private BOLD_TAG_OPEN = '<b>';\n\n transform(value: string, keyword: string): string {\n if (keyword !== '') {\n return this.replace(value, keyword);\n } else {\n if (value.indexOf(this.BOLD_TAG_OPEN) > -1) {\n return this.clearBoldText(value);\n } else {\n return value;\n }\n }\n }\n\n replace(str: string, keyword: string): string {\n const re = new RegExp(keyword, 'gi');\n return str.replace(re, '<b>$&</b>');\n }\n\n clearBoldText(str: string): string {\n return str.replace(/<[/]?b>/g, '');\n }\n}\n", "import { Component, ElementRef, EventEmitter, HostBinding, Input, OnChanges, OnDestroy, OnInit, Output, ViewChild } from '@angular/core';\nimport { coerceBoolean } from '@eui/base';\nimport { Subject } from 'rxjs';\nimport { v4 as uuidgen } from 'uuid';\nimport { EclMultiselectOption } from '../../../model/ecl-multiselect-option.model';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\nimport { EclCheckboxDirective } from '../../ecl-checkbox';\n\nexport class EclMultiselectOptionClickEvent {\n constructor(public multiselectOption: EclMultiselectOption) {}\n}\n\nexport class EclMultiselectOptionKeydownEvent {\n constructor(\n public multiselectOption: EclMultiselectOption,\n public keyboardEvent: KeyboardEvent,\n ) {}\n}\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'div[eclMultiselectOption]',\n templateUrl: './ecl-multiselect-option.component.html',\n hostDirectives: [EclCheckboxDirective],\n})\nexport class EclMultiselectOptionComponent extends ECLBaseDirective implements EclMultiselectOption, OnChanges, OnDestroy, OnInit {\n @ViewChild('checkboxInput') eclCheckboxInput: ElementRef;\n\n keyword = '';\n @Input()\n set value(value: string) {\n this._value = value;\n }\n\n get value(): string {\n return this._value;\n }\n\n @Input() label: string;\n changes = new Subject();\n\n @coerceBoolean\n @Input()\n @HostBinding('class.ecl-checkbox--disabled')\n @HostBinding('attr.disabled')\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n disabled: boolean | any = false;\n\n @Output() optionClick = new EventEmitter<EclMultiselectOptionClickEvent>();\n @Output() optionKeydown = new EventEmitter<EclMultiselectOptionKeydownEvent>();\n\n @HostBinding('style.display') private display = 'flex';\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-checkbox')].join(' ').trim();\n }\n\n @Input()\n get isChecked(): boolean {\n return this._checked;\n }\n\n set isChecked(value: boolean) {\n this._checked = value;\n }\n\n private _id = '';\n private _checked = false;\n private _value = '';\n\n constructor() {\n super();\n }\n\n get id(): string {\n return this._id;\n }\n\n get isActive(): boolean {\n return this.display === 'flex' && !this.disabled;\n }\n\n ngOnChanges(): void {\n this.changes.next(this.label);\n }\n\n ngOnInit(): void {\n this._id = this.createId();\n }\n\n ngOnDestroy(): void {\n this.changes.complete();\n }\n\n onOptionClick(): void {\n this.isChecked = !this.isChecked;\n this.optionClick.emit(new EclMultiselectOptionClickEvent(this));\n }\n\n onOptionKeydown(evt: KeyboardEvent): void {\n this.optionKeydown.emit(new EclMultiselectOptionKeydownEvent(this, evt));\n }\n\n onFocus(): void {\n this.eclCheckboxInput.nativeElement.focus();\n }\n\n show(): void {\n this.display = 'flex';\n }\n\n hide(): void {\n this.display = 'none';\n }\n\n highlightSearchText(keyword: string): void {\n this.keyword = keyword;\n const re = new RegExp(keyword, 'gi');\n const res = this.label.replace(re, '<b>$&</b>');\n }\n\n private createId(): string {\n return uuidgen();\n }\n}\n", "<input\n eclCheckboxInput\n type=\"checkbox\"\n [id]=\"id\"\n [value]=\"value\"\n (click)=\"onOptionClick()\"\n (keydown)=\"onOptionKeydown($event)\"\n [checked]=\"isChecked\"\n [disabled]=\"disabled\"\n #checkboxInput />\n<label [for]=\"id\" eclCheckboxLabel><span [innerHTML]=\"label | boldText: keyword\"></span></label>\n", "import { Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild } from '@angular/core';\nimport { coerceBoolean } from '@eui/base';\nimport { KeyCode } from '../../../utils';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\n\nexport class EclMultiselectMainInputClickEvent {\n constructor(public event: Event) {}\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'div[eclMultiselectInput]',\n templateUrl: './ecl-multiselect-input.component.html',\n})\nexport class EclMultiselectInputComponent extends ECLBaseDirective {\n\n @Input() eclSize = 'm';\n @Input() toggleId: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean\n @Input()\n @HostBinding('class.ecl-select__container--disabled')\n isDisabled: boolean | undefined = false;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean\n @Input()\n @HostBinding('class.ecl-select__container--invalid')\n isInvalid: boolean | undefined = false;\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-select__container'), `ecl-select__container--${this.eclSize}`].join(' ').trim();\n }\n @Input() inputPlaceholder: string;\n @Input() selectedItems = [];\n @Input() isDropdownExpanded = false;\n @Input() ariaControls: string | undefined = undefined;\n @Input() ariaDescribedby: string | undefined = undefined;\n @Input() ariaLabeledby: string | undefined = undefined;\n\n @ViewChild('inputMultiselect') inputMultiselect: ElementRef;\n @Output() mainInputClick = new EventEmitter<EclMultiselectMainInputClickEvent>();\n @Output() mainInputKeydown = new EventEmitter<Event>();\n\n constructor() {\n super();\n }\n\n get buttonText(): string {\n return this.selectedItems.length === 0 ? this.inputPlaceholder : this.selectedItems.join(',');\n }\n\n get selectedItemsCount(): number {\n return this.selectedItems.length;\n }\n\n get isShowCounter(): boolean {\n return this.selectedItems && this.selectedItems.length > 0;\n }\n\n onClick(evt: Event): void {\n this.mainInputClick.emit(new EclMultiselectMainInputClickEvent(evt));\n }\n\n onKeydown(evt: KeyboardEvent): void {\n switch (evt.key) {\n case KeyCode.ARROW_DOWN: {\n this.mainInputKeydown.emit(evt);\n break;\n }\n default: {\n break;\n }\n }\n }\n\n onFocus(): void {\n this.inputMultiselect.nativeElement.focus();\n }\n}\n", "<div [class.ecl-select-multiple-selections-counter--visible]=\"isShowCounter\" class=\"ecl-select-multiple-selections-counter\">\n <span>{{ selectedItemsCount }}</span>\n</div>\n<button\n class=\"ecl-select ecl-select__multiple-toggle\"\n #inputMultiselect\n type=\"button\"\n [id]=\"toggleId\"\n [attr.aria-expanded]=\"isDropdownExpanded\"\n [attr.aria-controls]=\"ariaControls\"\n [attr.disabled]=\"isDisabled ? true : undefined\"\n [attr.aria-labelledby]=\"ariaLabeledby\"\n [attr.aria-describedby]=\"ariaDescribedby\"\n (keydown)=\"onKeydown($event)\"\n (click)=\"onClick($event)\"> {{ buttonText }}\n</button>\n<div class=\"ecl-select__icon\">\n <ecl-icon icon=\"corner-arrow\" size=\"s\" class=\"ecl-select__icon-shape\" transform=\"rotate-180\"></ecl-icon>\n</div>\n", "import { Component, HostBinding, Input } from '@angular/core';\nimport { EclMultiselectOption } from '../../../model/ecl-multiselect-option.model';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\n\nexport class EclMultiselectOptionClickEvent {\n constructor(public multiselectOption: EclMultiselectOption) {}\n}\n\nexport class EclMultiselectOptionKeydownEvent {\n constructor(\n public multiselectOption: EclMultiselectOption,\n public keyboardEvent: KeyboardEvent,\n ) {}\n}\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'fieldset[eclMultiselectOptgroup]',\n templateUrl: './ecl-multiselect-optgroup.component.html',\n})\nexport class EclMultiselectOptgroupComponent extends ECLBaseDirective {\n @Input() label: string;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-select__multiple-group')].join(' ').trim();\n }\n}\n", "<legend class=\"ecl-select__multiple-group__title\">{{ label }}</legend>\n<ng-content></ng-content>\n", "/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n Component,\n DoCheck,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n IterableDiffer,\n IterableDiffers,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n Renderer2,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { ControlValueAccessor, FormGroup, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { coerceBoolean } from '@eui/base';\nimport { Subject } from 'rxjs';\nimport { v4 as uuidgen } from 'uuid';\nimport { KeyCode } from '../../../utils';\nimport { EclMultiselectOption } from '../../../model/ecl-multiselect-option.model';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\nimport { EclCheckboxDirective } from '../../ecl-checkbox';\nimport { EclMultiselectInputComponent, EclMultiselectMainInputClickEvent } from '../ecl-multiselect-input/ecl-multiselect-input.component';\nimport { EclMultiselectOptionDirective } from '../ecl-multiselect-option.directive';\nimport {\n EclMultiselectOptionClickEvent,\n EclMultiselectOptionComponent,\n EclMultiselectOptionKeydownEvent,\n} from '../ecl-multiselect-option/ecl-multiselect-option.component';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'div[eclMultiselectDropdown]',\n templateUrl: 'ecl-multiselect-dropdown.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EclMultiselectDropdownComponent),\n multi: true,\n },\n ],\n})\nexport class EclMultiselectDropdownComponent extends ECLBaseDirective implements OnInit, ControlValueAccessor, DoCheck, OnDestroy {\n @ViewChild('searchInput') searchInput: ElementRef;\n @ViewChild('eclMultiselectInput') eclMultiselectInput: EclMultiselectInputComponent;\n @ViewChild('selectAllCheckbox') selectAllCheckbox: ElementRef;\n @ViewChild('selectAll') selectAll: EclCheckboxDirective;\n @ViewChild('closeBtn', { read: ElementRef }) closeBtn: ElementRef;\n @ViewChild('clearAllBtn', { read: ElementRef }) clearAllBtn: ElementRef;\n @ViewChildren(EclMultiselectOptionComponent) multiOptionComponents: QueryList<EclMultiselectOptionComponent>;\n @Output() eclChange = new EventEmitter<string[]>();\n\n @coerceBoolean\n @Input()\n get isInvalid(): boolean | undefined {\n return this._isInvalid;\n }\n set isInvalid(value: boolean | undefined) {\n this._isInvalid = value;\n }\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-select__multiple')].join(' ').trim();\n }\n @Input() mainInputPlaceholder = 'Select an item';\n @Input() searchFieldPlaceholder = 'Enter keyword';\n @Input() eclSize = 'm';\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean\n @Input()\n @HostBinding('attr.disabled')\n get disabled(): boolean | undefined {\n return this._disabled || undefined;\n }\n set disabled(value: boolean | undefined) {\n this._disabled = value;\n }\n\n ariaDescribedby: string | undefined = undefined;\n ariaLabeledby: string | undefined = undefined;\n id = '';\n isShowNoResultsFound = false;\n isShowMultiselectDropdown = false;\n multiOptionDirectives: EclMultiselectOptionDirective[] = [];\n form: FormGroup;\n protected dropdownId = '';\n protected selectAllId = '';\n protected toggleId = '';\n private _disabled = false;\n private _isInvalid = false;\n private _selectedItems: EclMultiselectOption[] = [];\n private differ: IterableDiffer<EclMultiselectOptionComponent>;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private isWriteValueCalled = false;\n private values = [];\n\n constructor(\n private elRef: ElementRef,\n private differs: IterableDiffers,\n private renderer: Renderer2,\n ) {\n super();\n this.differ = this.differs.find([]).create();\n }\n\n ngDoCheck(): void {\n const diff = this.differ.diff(this.multiOptionComponents);\n\n if (diff) {\n if (this.isWriteValueCalled) {\n this.resetComponent();\n this.writeValues(this.values);\n this.isWriteValueCalled = false;\n } else {\n this.initSelectedOptions();\n }\n }\n }\n\n ngOnInit(): void { \n this.selectAllId = this.getSelectAllId();\n this.dropdownId = this.getDropdownId();\n this.toggleId = this.getToggleId();\n setTimeout(() => {\n this.modifyParentLabelForAttribute();\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public writeValue(values: any): void {\n if (this.multiOptionComponents) {\n this.resetComponent();\n this.writeValues(values);\n } else {\n this.values = values;\n this.isWriteValueCalled = true;\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public registerOnChange(fn: any): void {\n this.propagateChange = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public registerOnTouched(fn: any): void {\n this.propagateTouched = fn;\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this._disabled = isDisabled;\n }\n\n @HostListener('document:keyup.escape', ['$event'])\n onEscapeKey(event: KeyboardEvent): void {\n this.hideMultiselectDropdown();\n }\n\n @HostListener('document:click', ['$event'])\n onKeyUp(event: MouseEvent): void {\n if (!this.elRef.nativeElement.contains(event.target)) {\n this.hideMultiselectDropdown();\n }\n }\n\n get optionsCount(): number {\n return this.getActiveOptions() ? this.getActiveOptions().length : 0;\n }\n\n get selectedItems(): string[] {\n return this._selectedItems.map((item) => item.label);\n }\n\n get isItemsSelected(): boolean {\n return this._selectedItems.length > 0;\n }\n\n get isShowToolbar(): boolean {\n return this._selectedItems.length > 0;\n }\n\n initSelectedOptions(): void {\n this._selectedItems = [];\n this.multiOptionComponents\n .filter((elem) => elem.isChecked)\n .forEach((item) => {\n this._selectedItems.push(item);\n });\n }\n\n onClickClearAll(evt: Event): void {\n evt.stopPropagation();\n this.unselectAllActiveOptions();\n this.eclChange.emit([]);\n this.propagateChange([]);\n }\n\n onEnterClear(evt: Event): void {\n this.onClickClearAll(evt);\n this.eclMultiselectInput.onFocus();\n }\n\n onClickClose(evt: Event): void {\n evt.preventDefault();\n this.hideMultiselectDropdown();\n }\n\n onArrowUpCloseClear(evt: Event): void {\n evt.preventDefault();\n const currentOptions = this.getActiveOptions();\n currentOptions[currentOptions.length - 1].onFocus();\n }\n\n onArrowLeftClose(evt: Event): void {\n evt.preventDefault();\n this.clearAllBtn.nativeElement.focus();\n }\n\n onTabClose(evt: Event): void {\n evt.preventDefault();\n this.eclMultiselectInput.onFocus();\n }\n\n onArrowRightClear(evt: Event): void {\n evt.preventDefault();\n this.closeBtn.nativeElement.focus();\n }\n\n onEnterSearch(evt: Event): void {\n evt.preventDefault();\n }\n\n onArrowDownSearch(evt: Event): void {\n evt.preventDefault();\n const currentOptions = this.getActiveOptions();\n if (currentOptions.length > 1) {\n this.selectAllCheckbox.nativeElement.focus();\n } else {\n currentOptions[0].onFocus();\n }\n }\n\n onArrowUpSearch(evt: Event): void {\n evt.preventDefault();\n this.hideMultiselectDropdown();\n this.eclMultiselectInput.onFocus();\n }\n\n onKeydownMainInput(evt: Event): void {\n evt.preventDefault();\n this.showMultiselectDropdown();\n setTimeout(() => this.searchInput.nativeElement.focus());\n }\n\n onClickMainInput(evt: EclMultiselectMainInputClickEvent): void {\n evt.event.preventDefault();\n this.toggleDropdown();\n }\n\n onArrowDownSelectAll(evt: Event): void {\n evt.preventDefault();\n const currentOptions = this.getActiveOptions();\n if (currentOptions.length > 0) {\n currentOptions[0].onFocus();\n }\n }\n\n onArrowUpSelectAll(evt: Event): void {\n evt.preventDefault();\n this.searchInput.nativeElement.focus();\n }\n\n onSearch(input: EventTarget): void {\n const keyword = (input as HTMLInputElement).value;\n let isMatchFound = false;\n if (keyword === '') {\n this.enableSelectAll();\n isMatchFound = true;\n this.multiOptionComponents.forEach((item) => {\n item.highlightSearchText('');\n item.show();\n });\n } else {\n this.multiOptionComponents.forEach((item) => {\n if (item.label.toLowerCase().indexOf(keyword.toLowerCase()) < 0) {\n item.hide();\n } else {\n isMatchFound = true;\n item.highlightSearchText(keyword.toLowerCase());\n item.show();\n }\n });\n this.disableSelectAll();\n }\n if (!isMatchFound) {\n this.showNoResultsFound();\n } else {\n this.hideNoResultsFound();\n }\n }\n\n onSelectAll(): void {\n if (this.selectAllCheckbox.nativeElement.checked) {\n this.selectAllActiveOptions();\n } else {\n this.unselectAllActiveOptions();\n }\n this.propagateTouched();\n this.eclChange.emit(this._selectedItems.map((item) => item.value));\n this.propagateChange(this._selectedItems.map((item) => item.value));\n }\n\n onKeydownOption(evt: EclMultiselectOptionKeydownEvent): void {\n switch (evt.keyboardEvent.key) {\n case KeyCode.ARROW_DOWN: {\n this.onOptionArrowDownAndTab(evt.keyboardEvent, evt.multiselectOption);\n break;\n }\n case KeyCode.ARROW_UP: {\n this.onOptionArrowUp(evt.keyboardEvent, evt.multiselectOption);\n break;\n }\n case KeyCode.ESCAPE: {\n this.hideMultiselectDropdown();\n break;\n }\n case KeyCode.ENTER: {\n (evt.keyboardEvent.target as HTMLInputElement).click();\n break;\n }\n case KeyCode.TAB: {\n this.onOptionArrowDownAndTab(evt.keyboardEvent, evt.multiselectOption);\n break;\n }\n default: {\n break;\n }\n }\n }\n\n onOptionSelected(evt: EclMultiselectOptionClickEvent): void {\n if (this.selectAllCheckbox.nativeElement.checked) {\n this.selectAllCheckbox.nativeElement.checked = false;\n }\n const currOption = evt.multiselectOption;\n if (currOption.isChecked) {\n this._selectedItems.push(currOption);\n } else {\n const index = this._selectedItems.indexOf(currOption);\n this._selectedItems.splice(index, 1);\n }\n this.propagateChange(this._selectedItems.map((item) => item.value));\n this.propagateTouched();\n this.eclChange.emit(this._selectedItems.map((item) => item.value));\n }\n\n private selectAllActiveOptions(): void {\n this.getAllActiveOptions().forEach((item) => {\n if (!item.isChecked) {\n item.isChecked = true;\n this._selectedItems.push(item);\n }\n });\n }\n\n private unselectAllActiveOptions(): void {\n this.selectAllCheckbox.nativeElement.checked = false;\n this._selectedItems = [];\n this.getAllActiveOptions().forEach((item) => {\n item.isChecked = false;\n });\n }\n\n private getAllActiveOptions(): EclMultiselectOptionComponent[] {\n return this.multiOptionComponents.filter((elem) => elem.isActive);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private propagateChange = (_: any): void => {\n /* empty */\n };\n\n private propagateTouched = (): void => {\n /* empty */\n };\n\n private showMultiselectDropdown(): void {\n this.isShowMultiselectDropdown = true;\n }\n\n private hideMultiselectDropdown(): void {\n this.isShowMultiselectDropdown = false;\n }\n\n private disableSelectAll(): void {\n this.selectAll.isDisabled = true;\n }\n\n private enableSelectAll(): void {\n this.selectAll.isDisabled = false;\n }\n\n private showNoResultsFound(): void {\n this.isShowNoResultsFound = true;\n }\n\n private hideNoResultsFound(): void {\n this.isShowNoResultsFound = false;\n }\n\n private resetComponent(): void {\n this.multiOptionComponents.forEach((item) => {\n item.isChecked = false;\n });\n if (this.selectAllCheckbox) {\n this.selectAllCheckbox.nativeElement.checked = false;\n }\n this._selectedItems = [];\n }\n\n private writeValues(values: Array<string>): void {\n if (values) {\n const selectedElementsArray = [];\n if (this.multiOptionComponents && this.multiOptionComponents.length > 0) {\n this.multiOptionComponents\n .filter((item) => values.includes(item.value) && !item.disabled)\n .forEach((el) => {\n el.isChecked = true;\n selectedElementsArray.push(el.label);\n this._selectedItems.push(el);\n });\n }\n }\n }\n\n private toggleDropdown(): void {\n this.isShowMultiselectDropdown = !this.isShowMultiselectDropdown;\n }\n\n private onOptionArrowDownAndTab(evt: KeyboardEvent, option: EclMultiselectOption): void {\n (evt as KeyboardEvent).preventDefault();\n const index = this.getOptionIndexByIdFromActiveOptions(option.id);\n const currentOptions = this.getActiveOptions();\n if (index !== currentOptions.length - 1) {\n const nextSiblingCheckbox = currentOptions[index + 1];\n nextSiblingCheckbox.onFocus();\n } else {\n if (this.clearAllBtn) {\n this.clearAllBtn.nativeElement.focus();\n } else {\n this.eclMultiselectInput.onFocus();\n }\n }\n }\n\n private onOptionArrowUp(evt: KeyboardEvent, option: EclMultiselectOption): void {\n (evt as KeyboardEvent).preventDefault();\n const index = this.getOptionIndexByIdFromActiveOptions(option.id);\n if (index !== 0) {\n const prevSiblingCheckbox = this.getActiveOptions()[index - 1];\n prevSiblingCheckbox.onFocus();\n } else if (this.selectAllCheckbox.nativeElement.disabled) {\n this.searchInput.nativeElement.focus();\n } else {\n this.selectAllCheckbox.nativeElement.focus();\n }\n }\n\n private getActiveOptions(): EclMultiselectOptionComponent[] {\n return this.multiOptionComponents ? this.multiOptionComponents.filter((item) => item.isActive) : [];\n }\n\n private getOptionIndexByIdFromActiveOptions(id: string): number {\n return this.getActiveOptions().findIndex((option) => option.id === id);\n }\n\n private getSelectAllId(): string {\n return uuidgen();\n }\n\n private getDropdownId(): string {\n return this.id !== '' ? `${this.id}-dropdown` : uuidgen();\n }\n\n private getToggleId(): string {\n return this.id !== '' ? `${this.id}-toggle` : uuidgen();\n }\n\n private modifyParentLabelForAttribute(): void {\n const form = this.renderer.parentNode(this.elRef.nativeElement);\n const label = form?.querySelector('.ecl-form-label');\n if (label) {\n this.renderer.setAttribute(label, 'for', this.toggleId);\n }\n }\n}\n", "<div eclMultiselectInput #eclMultiselectInput [inputPlaceholder]=\"mainInputPlaceholder\" [selectedItems]=\"selectedItems\"\n (mainInputClick)=\"onClickMainInput($event)\" (mainInputKeydown)=\"onKeydownMainInput($event)\" [isDisabled]=\"disabled\"\n [ariaLabeledby]=\"ariaLabeledby\" [ariaDescribedby]=\"ariaDescribedby\" [ariaControls]=\"dropdownId\" [isInvalid]=\"isInvalid\"\n [isDropdownExpanded]=\"isShowMultiselectDropdown\" [eclSize]=\"eclSize\" [toggleId]=\"toggleId\"></div>\n<div\n [style.display]=\"isShowMultiselectDropdown ? 'block' : 'none'\"\n class=\"ecl-select__multiple-dropdown ecl-select__container ecl-select__container--{{eclSize}}\"\n [id]=\"dropdownId\">\n <input\n class=\"ecl-text-input\"\n type=\"search\"\n #searchInput\n [placeholder]=\"searchFieldPlaceholder\"\n (input)=\"onSearch($event.target)\"\n (keydown.enter)=\"onEnterSearch($event)\"\n (keydown.arrowup)=\"onArrowUpSearch($event)\"\n (keydown.arrowdown)=\"onArrowDownSearch($event)\" />\n <div eclCheckbox #selectAll class=\"ecl-select__multiple-all\">\n <input\n eclCheckboxInput\n #selectAllCheckbox\n [id]=\"selectAllId\"\n type=\"checkbox\"\n (click)=\"onSelectAll()\"\n (keydown.arrowup)=\"onArrowUpSelectAll($event)\"\n (keydown.arrowdown)=\"onArrowDownSelectAll($event)\" />\n <label [for]=\"selectAllId\" eclCheckboxLabel> {{ 'ecl.multiselect.SELECT-ALL' | translate }} ({{ optionsCount }}) </label>\n </div>\n <div class=\"ecl-select__multiple-options\">\n <ng-container *ngFor=\"let item of multiOptionDirectives\">\n <fieldset eclMultiselectOptgroup *ngIf=\"item.isOptGroup()\" [label]=\"item.label\">\n <div\n eclMultiselectOption\n *ngFor=\"let elem of item.eclOptionItems\"\n [value]=\"elem.value\"\n [label]=\"elem.label\"\n [disabled]=\"elem.disabled\"\n [isChecked]=\"elem.selected\"\n [class]=\"elem.class\"\n (optionClick)=\"onOptionSelected($event)\"\n (optionKeydown)=\"onKeydownOption($event)\"></div>\n </fieldset>\n <div\n eclMultiselectOption\n *ngIf=\"!item.isOptGroup()\"\n [value]=\"item.value\"\n [label]=\"item.label\"\n [disabled]=\"item.disabled\"\n [isChecked]=\"item.selected\"\n [class]=\"item.class\"\n (optionClick)=\"onOptionSelected($event)\"\n (optionKeydown)=\"onKeydownOption($event)\"></div>\n </ng-container>\n <div *ngIf=\"isShowNoResultsFound\" class=\"ecl-select__multiple-no-results\">\n <span>{{ 'ecl.multiselect.NO-RESULTS-FOUND' | translate }}</span>\n </div>\n </div>\n <div *ngIf=\"isShowToolbar\" class=\"ecl-select-multiple-toolbar\">\n <button\n eclButton\n variant=\"ghost\"\n #clearAllBtn\n (keydown.arrowup)=\"onArrowUpCloseClear($event)\"\n (keydown.arrowright)=\"onArrowRightClear($event)\"\n (keydown.enter)=\"onEnterClear($event)\"\n (click)=\"onClickClearAll($event)\">\n {{ 'ecl.multiselect.CLEAR-ALL' | translate }}\n </button>\n <button\n eclButton\n variant=\"primary\"\n #closeBtn\n (keydown.arrowup)=\"onArrowUpCloseClear($event)\"\n (keydown.arrowleft)=\"onArrowLeftClose($event)\"\n (keydown.tab)=\"onTabClose($event)\"\n (click)=\"onClickClose($event)\">\n {{ 'ecl.common.CLOSE' | translate }}\n </button>\n </div>\n</div>\n", "import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ContentChildren, Directive, ElementRef, HostBinding, Input, QueryList } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: 'optgroup[eclMultiselectOptgroup], option[eclMultiselectOption]',\n})\nexport class EclMultiselectOptionDirective extends ECLBaseDirective {\n @ContentChildren(EclMultiselectOptionDirective) eclOptionItems: QueryList<EclMultiselectOptionDirective>;\n\n @Input() value: string;\n @Input() label: string;\n changes = new Subject();\n\n @Input()\n @HostBinding('attr.disabled')\n get disabled(): boolean {\n return this._disabled || null;\n }\n set disabled(value: BooleanInput) {\n this._disabled = coerceBooleanProperty(value);\n }\n private _disabled = false;\n\n @Input()\n @HostBinding('attr.selected')\n get selected(): boolean {\n return this._selected || null;\n }\n set selected(value) {\n this._selected = coerceBooleanProperty(value);\n }\n private _selected = false;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-checkbox')].join(' ').trim();\n }\n\n constructor(private elRef: ElementRef) {\n super();\n }\n\n isOptGroup(): boolean {\n return this.elRef.nativeElement.nodeName === 'OPTGROUP';\n }\n}\n", "import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n AfterContentInit,\n Component,\n ContentChildren,\n DoCheck,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n Injector,\n Input,\n IterableDiffer,\n IterableDiffers,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n ViewContainerRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR, NgControl } from '@angular/forms';\nimport { coerceBoolean } from '@eui/base';\nimport { Subject, takeUntil } from 'rxjs';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclMultiselectDropdownComponent } from './ecl-multiselect-dropdown/ecl-multiselect-dropdown.component';\nimport { EclMultiselectOptionDirective } from './ecl-multiselect-option.directive';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'select[eclMultiselect]',\n templateUrl: 'ecl-multiselect.component.html',\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EclMultiselectComponent),\n multi: true,\n },\n ],\n})\nexport class EclMultiselectComponent extends ECLBaseDirective implements DoCheck, OnInit, OnDestroy, AfterContentInit {\n @ContentChildren(forwardRef(() => EclMultiselectOptionDirective)) eclOptionItems: QueryList<EclMultiselectOptionDirective>;\n\n @Input() ariaDescribedby: string | undefined = undefined;\n @Input() ariaLabeledby: string | undefined = undefined;\n @Input() id: string | undefined = undefined;\n @coerceBoolean\n @Input()\n get isInvalid(): boolean | undefined {\n return this._isInvalid;\n }\n set isInvalid(value: boolean | undefined) {\n this._isInvalid = value;\n if (this.multiselectComponent) {\n this.multiselectComponent.isInvalid = value;\n }\n }\n @Input()\n @HostBinding('attr.disabled')\n set disabled(value: BooleanInput) {\n if (this.multiselectComponent) {\n this.multiselectComponent.disabled = coerceBooleanProperty(value);\n }\n this._disabled = coerceBooleanProperty(value);\n }\n get disabled(): boolean | undefined {\n return this._disabled || undefined;\n }\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-select')].join(' ').trim();\n }\n @Output() eclChange = new EventEmitter<string[]>();\n @Input()\n set eclPlaceholder(value: string) {\n this._eclPlaceholder = value;\n if (this.multiselectComponent) {\n this.multiselectComponent.mainInputPlaceholder = value;\n }\n }\n get eclPlaceholder(): string {\n return this._eclPlaceholder;\n }\n @Input() eclSize = 'm';\n private _disabled = false;\n private _isInvalid = false;\n private _eclPlaceholder = 'Select item';\n private differ: IterableDiffer<EclMultiselectOptionDirective>;\n private multiselectComponent: EclMultiselectDropdownComponent;\n private hostEl: HTMLSelectElement;\n private hostParentEl: HTMLElement;\n private hostWrapperEl: HTMLElement;\n private multiselectComponentHtml: HTMLDivElement;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(\n public injector: Injector,\n private el: ElementRef,\n private viewContainerRef: ViewContainerRef,\n private differs: IterableDiffers,\n ) {\n super();\n this.differ = this.differs.find([]).create();\n }\n\n ngDoCheck(): void {\n const diff = this.differ.diff(this.eclOptionItems);\n\n if (diff) {\n if (this.multiselectComponent) {\n this.multiselectComponent.multiOptionDirectives = this.eclOptionItems.toArray();\n }\n }\n }\n\n ngOnInit(): void {\n this.hostEl = this.getHostElement();\n this.hostParentEl = this.getHostParentElement(this.hostEl);\n this.hostWrapperEl = this.createHostWrapperContainer();\n this.multiselectComponentHtml = this.createMultiselectComponent();\n }\n\n ngAfterContentInit(): void {\n this.attachOptions();\n if (this.hostParentEl != null) {\n this.hideOriginalSelectComponent();\n this.hostParentEl.appendChild(this.multiselectComponentHtml);\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n private hideOriginalSelectComponent(): void {\n this.hostParentEl.replaceChild(this.hostWrapperEl, this.hostEl);\n this.hostWrapperEl.appendChild(this.hostEl);\n this.hostWrapperEl.classList.add('ecl-select__container--hidden');\n }\n\n private createHostWrapperContainer(): HTMLElement {\n const wrapperContainer = document.createElement('div');\n wrapperContainer.classList.add('ecl-select__container');\n wrapperContainer.classList.add(`ecl-select__container--${this.eclSize}`);\n return wrapperContainer;\n }\n\n private getHostElement(): HTMLSelectElement {\n return this.el.nativeElement;\n }\n\n private getHostParentElement(hostEl: HTMLSelectElement): HTMLElement {\n return hostEl.parentElement;\n }\n\n private createMultiselectComponent(): HTMLDivElement {\n const ngControl = this.injector.get(NgControl, undefined, { optional: true });\n const multiselect = this.viewContainerRef.createComponent(EclMultiselectDropdownComponent);\n this.multiselectComponent = multiselect.instance;\n this.multiselectComponent.eclChange.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.eclChange.emit(evt);\n });\n this.multiselectComponent.mainInputPlaceholder = this.eclPlaceholder;\n\n if (this.ariaLabeledby !== undefined) {\n this.multiselectComponent.ariaLabeledby = this.ariaLabeledby;\n }\n if (this.ariaDescribedby !== undefined) {\n this.multiselectComponent.ariaDescribedby = this.ariaDescribedby;\n }\n if (this.id !== undefined) {\n this.multiselectComponent.id = this.id;\n }\n this.multiselectComponent.eclSize = this.eclSize;\n if (ngControl) {\n ngControl.valueAccessor = this.multiselectComponent;\n }\n multiselect.instance.disabled = this.disabled;\n multiselect.instance.isInvalid = this.isInvalid;\n return (multiselect.location as ElementRef<HTMLDivElement>).nativeElement;\n }\n\n private attachOptions(): void {\n setTimeout(() => {\n this.multiselectComponent.multiOptionDirectives = this.eclOptionItems.toArray();\n });\n }\n}\n", "<ng-content></ng-content>\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclIconComponentModule } from '../ecl-icon/ecl-icon.module';\nimport { EclCheckboxModule } from '../ecl-checkbox/ecl-checkbox.module';\nimport { EclTextInputDirectiveModule } from '../ecl-text-input/ecl-text-input.module';\nimport { EclMultiselectComponent } from './ecl-multiselect.component';\nimport { EclMultiselectOptionDirective } from './ecl-multiselect-option.directive';\nimport { EclMultiselectOptionComponent } from './ecl-multiselect-option/ecl-multiselect-option.component';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclMultiselectInputComponent } from './ecl-multiselect-input/ecl-multiselect-input.component';\nimport { EclMultiselectDropdownComponent } from './ecl-multiselect-dropdown/ecl-multiselect-dropdown.component';\nimport { EclButtonComponentModule } from '../ecl-button';\nimport { EclMultiselectOptgroupComponent } from './ecl-multiselect-optgroup/ecl-multiselect-optgroup.component';\nimport { BoldTextPipe } from './boldText.pipe';\n\nconst COMPONENTS = [EclMultiselectComponent, EclMultiselectOptionDirective];\n\n@NgModule({\n imports: [\n CommonModule,\n TranslateModule,\n EclIconComponentModule,\n EclCheckboxModule,\n EclTextInputDirectiveModule,\n EclButtonComponentModule,\n ],\n exports: [EclMultiselectComponent, EclMultiselectOptionDirective],\n declarations: [\n EclMultiselectComponent,\n EclMultiselectOptionDirective,\n EclMultiselectOptionComponent,\n EclMultiselectInputComponent,\n EclMultiselectDropdownComponent,\n EclMultiselectOptgroupComponent,\n BoldTextPipe,\n ],\n})\nexport class EclMultiselectComponentModule {}\n", "import { AfterContentInit, Component, ContentChild, forwardRef, HostBinding, Input } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclContentBlockComponent } from '../ecl-content-block';\n\n@Component({\n selector: 'ecl-navigation-list-item',\n templateUrl: 'ecl-navigation-list-item.component.html',\n})\nexport class EclNavigationListItemComponent extends ECLBaseDirective implements AfterContentInit {\n @Input() columns = 2;\n\n @ContentChild(forwardRef(() => EclContentBlockComponent)) eclContentBlock: EclContentBlockComponent;\n\n @HostBinding('attr.role') role = 'article';\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-navigation-list__item'), 'ecl-navigation-list__item--no-border'].join(' ').trim();\n }\n\n ngAfterContentInit(): void {\n if (this.eclContentBlock) {\n this.eclContentBlock.class = 'ecl-navigation-list__content-block';\n }\n }\n}\n", "<ng-content></ng-content>\n", "import { Component, HostBinding, Input } from '@angular/core';\nimport { coerceNumber } from '@eui/base';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n selector: 'ecl-navigation-list',\n templateUrl: 'ecl-navigation-list.component.html',\n})\nexport class EclNavigationListComponent extends ECLBaseDirective {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceNumber @Input() columns: number | any = 2;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-navigation-list'), `ecl-navigation-list--col-${this.columns}`].join(' ').trim();\n }\n}\n", "<ng-content></ng-content>\n", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: 'picture[eclNavigationListPicture]',\n})\nexport class EclNavigationListPictureDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-picture ecl-navigation-list__picture')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: 'img[eclNavigationListImage]',\n})\nexport class EclNavigationListImageDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-navigation-list__image')].join(' ').trim();\n }\n}\n", "import { Component, HostBinding, Input } from '@angular/core';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\n\n/**\n * @deprecated\n * This component is deprecated and will be removed in 18 version\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'div[eclNavigationListImage]',\n templateUrl: 'ecl-navigation-list-image.component.html',\n})\nexport class EclNavigationListImageComponent extends ECLBaseDirective {\n @Input() imageUrl: string;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-picture ecl-navigation-list__picture')].join(' ').trim();\n }\n}\n", "<img class=\"ecl-navigation-list__image\" [src]=\"imageUrl\" alt=\"Alt text for the image\" />\n", "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EclNavigationListItemComponent } from './ecl-navigation-list-item.component';\nimport { EclNavigationListComponent } from './ecl-navigation-list.component';\nimport { EclNavigationListImageDirective, EclNavigationListPictureDirective } from './ecl-navigation-list-picture.directive';\nimport { EclNavigationListImageComponent } from './ecl-navigation-list-image/ecl-navigation-list-image.component';\n\nconst COMPONENTS = [\n EclNavigationListComponent,\n EclNavigationListItemComponent,\n EclNavigationListImageDirective,\n EclNavigationListImageComponent,\n EclNavigationListPictureDirective,\n];\n\n@NgModule({\n imports: [CommonModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclNavigationListComponentModule {}\n", "import { AfterContentInit, Component, ContentChild, ElementRef, EventEmitter, HostBinding, OnDestroy, Output } from '@angular/core';\nimport { fromEvent, Subject, takeUntil } from 'rxjs';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclLinkDirective } from '../ecl-link/ecl-link.directive';\n@Component({\n selector: 'ecl-news-ticker-item',\n templateUrl: './ecl-news-ticker-item.component.html',\n})\nexport class EclNewsTickerItemComponent extends ECLBaseDirective implements AfterContentInit, OnDestroy {\n @ContentChild(EclLinkDirective) eclLink: EclLinkDirective;\n @Output() itemFocused = new EventEmitter<null>();\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-news-ticker__slide')].join(' ').trim();\n }\n @HostBinding('attr.role') role = 'listitem';\n\n get isCurrent(): boolean {\n return this._isCurrent;\n }\n set isCurrent(value: boolean) {\n this._isCurrent = value;\n if (this.eclLink) {\n this.setLinkTabindex();\n }\n }\n private _isCurrent = false;\n\n @HostBinding('attr.aria-hidden')\n get isAriahidden(): boolean {\n return !this.isCurrent || undefined;\n }\n @HostBinding('attr.inert')\n get isInert(): boolean {\n return !this.isCurrent || undefined;\n }\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(public el: ElementRef) {\n super();\n }\n\n ngAfterContentInit(): void {\n if (this.eclLink) {\n this.eclLink.class = 'ecl-news-ticker__slide-text';\n }\n\n if (this.eclLink) {\n fromEvent(this.eclLink.el.nativeElement, 'focus')\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => {\n this.itemFocused.emit();\n });\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n private setLinkTabindex(): void {\n if (this._isCurrent) {\n this.eclLink.tabindex = null;\n } else {\n this.eclLink.tabindex = -1;\n }\n }\n}\n", "<ng-content></ng-content>\n", "import {\n AfterViewInit,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n Output,\n QueryList,\n Renderer2,\n ViewChild,\n booleanAttribute,\n} from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { coerceBoolean, coerceElement } from '@eui/base';\nimport { EclBaseEvent } from '../../model/ecl-base.event';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclNewsTickerItemComponent } from './ecl-news-ticker-item.component';\n\nexport class EclNewsTickerItemEvent extends EclBaseEvent {\n constructor(public itemIndex: number) {\n super();\n }\n}\n\n@Component({\n selector: 'ecl-news-ticker',\n templateUrl: './ecl-news-ticker.component.html',\n})\nexport class EclNewsTickerComponent extends ECLBaseDirective implements OnDestroy, AfterViewInit {\n @Input({ transform: booleanAttribute }) isAutoplay = true;\n @Output() itemSwitch = new EventEmitter<EclNewsTickerItemEvent>();\n @ContentChildren(EclNewsTickerItemComponent) newsTickerItems: QueryList<EclNewsTickerItemComponent>;\n @ViewChild('firstHiddenItem') firstHiddenItem: EclNewsTickerItemComponent;\n @ViewChild('lastHiddenItem') lastHiddenItem: EclNewsTickerItemComponent;\n @ViewChild('slidesContainer') slidesContainer: ElementRef;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-news-ticker')].join(' ').trim();\n }\n\n itemIndex = 1;\n playing = false;\n slidesTransform = '';\n transitionDuration: number;\n private intervalId: number;\n private PLAY_INTERVAL = 5000;\n private INIT_DELAY = 300;\n private _containerHeight: number;\n private _contentHeight: number;\n private pausePlay = false;\n private unsubscribeListener: () => void;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(private renderer2: Renderer2) {\n super();\n }\n\n get containerHeight(): number {\n return this._containerHeight;\n }\n\n get contentHeight(): number {\n return this._contentHeight;\n }\n\n get itemsCount(): number {\n return this.newsTickerItems.length;\n }\n\n get isShowControls(): boolean {\n return this.newsTickerItems.length > 1;\n }\n\n @HostListener('window:resize', ['$event'])\n onResize(event): void {\n setTimeout(() => {\n this.resizeTicker();\n this.moveSlides(this.getCurrentItem(), false);\n });\n }\n\n ngAfterViewInit(): void {\n setTimeout(() => {\n this.initContainer();\n }, this.INIT_DELAY);\n this.newsTickerItems.forEach((item) => {\n item.itemFocused.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.cancelAutoplay();\n });\n });\n }\n\n ngOnDestroy(): void {\n if (this.intervalId) {\n clearInterval(this.intervalId);\n }\n if (this.unsubscribeListener) {\n this.unsubscribeListener();\n }\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n onPrevious(): void {\n this.cancelAutoplay();\n this.previousSlide();\n }\n\n previousSlide(): void {\n this.itemIndex = this.getPrevIndex();\n if (this.itemIndex === this.itemsCount) {\n this.moveSlides(this.getFirstItem(this.getAllItemsArray()), true);\n } else {\n this.moveSlides(this.getCurrentItem(), true);\n }\n this.itemSwitch.next(new EclNewsTickerItemEvent(this.itemIndex));\n }\n\n onNext(): void {\n this.cancelAutoplay();\n this.nextSlide();\n }\n\n nextSlide(): void {\n this.itemIndex = this.getNextIndex();\n if (this.itemIndex === 1) {\n this.moveSlides(this.getLastItem(this.getAllItemsArray()), true);\n } else {\n this.moveSlides(this.getCurrentItem(), true);\n }\n this.itemSwitch.next(new EclNewsTickerItemEvent(this.itemIndex));\n }\n\n startAutoplay(): void {\n this.playing = true;\n this.intervalId = setInterval(() => this.nextSlide(), this.PLAY_INTERVAL);\n }\n\n cancelAutoplay(): void {\n if (this.intervalId) {\n clearInterval(this.intervalId);\n }\n this.playing = false;\n }\n\n onNewsTickerItemMouseOver(): void {\n if (this.playing) {\n this.pausePlay = true;\n this.cancelAutoplay();\n }\n }\n\n onNewsTickerItemMouseOut(): void {\n if (this.pausePlay) {\n this.pausePlay = false;\n this.startAutoplay();\n }\n }\n\n private moveSlides(item: EclNewsTickerItemComponent, withTransition: boolean): void {\n if (item) {\n const newOffset = item.el.nativeElement.offsetTop;\n const newHeight = item.el.nativeElement.offsetHeight;\n this._contentHeight = newHeight;\n this.transitionDuration = withTransition ? 0.4 : 0;\n this.slidesTransform = `translate3d(0px, -${newOffset}px, 0px)`;\n\n this.setCurrentSlide(item);\n }\n }\n\n private initContainer(): void {\n if (this.newsTickerItems.length === 1) {\n this.resizeTicker();\n this.moveSlides(this.getFirstItem(this.newsTickerItems.toArray()), false);\n return;\n }\n this.firstHiddenItem.el.nativeElement.innerHTML = this.getLastContentChild();\n this.lastHiddenItem.el.nativeElement.innerHTML = this.getFirstContentChild();\n this.unsubscribeListener = this.renderer2.listen(this.slidesContainer.nativeElement, 'transitionend', () => this.checkIndex());\n this.resizeTicker();\n this.moveSlides(this.getFirstItem(this.newsTickerItems.toArray()), false);\n if (this.isAutoplay) {\n this.startAutoplay();\n }\n }\n\n private checkIndex(): void {\n if (this.itemIndex === 1) {\n const item = this.getFirstItem(this.newsTickerItems.toArray());\n this.moveSlides(item, false);\n } else if (this.itemIndex === this.itemsCount) {\n const item = this.getLastItem(this.newsTickerItems.toArray());\n this.moveSlides(item, false);\n }\n }\n\n private resizeTicker(): void {\n let highestSlide = 0;\n this.newsTickerItems.forEach((slide) => {\n const slideHeight = slide.el.nativeElement.offsetHeight;\n highestSlide = highestSlide < slideHeight ? slideHeight : highestSlide;\n });\n this._containerHeight = highestSlide + 10;\n }\n\n private getNextIndex(): number {\n return this.itemIndex === this.itemsCount ? 1 : ++this.itemIndex;\n }\n\n private getCurrentItem(): EclNewsTickerItemComponent {\n return this.getAllItemsArray()[this.itemIndex];\n }\n\n private getPrevIndex(): number {\n return this.itemIndex === 1 ? this.itemsCount : --this.itemIndex;\n }\n\n private getFirstItem(items: Array<EclNewsTickerItemComponent>): EclNewsTickerItemComponent {\n return items.length > 0 ? items[0] : null;\n }\n\n private getLastItem(items: Array<EclNewsTickerItemComponent>): EclNewsTickerItemComponent {\n return items[items.length - 1];\n }\n\n private getLastContentChild(): string {\n return this.newsTickerItems.length > 0 ? this.newsTickerItems.get(this.itemsCount - 1).el.nativeElement.innerHTML : '';\n }\n\n private getFirstContentChild(): string {\n return this.newsTickerItems.length > 0 ? this.newsTickerItems.get(0).el.nativeElement.innerHTML : '';\n }\n\n private getAllItemsArray(): EclNewsTickerItemComponent[] {\n return [...[this.firstHiddenItem], ...this.newsTickerItems.toArray(), ...[this.lastHiddenItem]];\n }\n\n private setCurrentSlide(currentItem: EclNewsTickerItemComponent): void {\n this.newsTickerItems.forEach((item) => {\n item.isCurrent = false;\n if (item === currentItem) {\n item.isCurrent = true;\n }\n });\n }\n}\n", "<div class=\"ecl-news-ticker__container\" [style.height.px]=\"containerHeight\">\n <ecl-icon icon=\"information\" size=\"m\" class=\"ecl-news-ticker__icon\"></ecl-icon>\n <div class=\"ecl-news-ticker__content\" [style.height.px]=\"contentHeight\">\n <ul\n class=\"ecl-news-ticker__slides\"\n [style.transition-duration.s]=\"transitionDuration\"\n [style.transform]=\"slidesTransform\"\n (mouseover)=\"onNewsTickerItemMouseOver()\"\n (mouseout)=\"onNewsTickerItemMouseOut()\"\n #slidesContainer>\n @if(isShowControls) {\n <ecl-news-ticker-item #firstHiddenItem></ecl-news-ticker-item>\n }\n <ng-content></ng-content>\n @if(isShowControls) {\n <ecl-news-ticker-item #lastHiddenItem></ecl-news-ticker-item>\n }\n </ul>\n </div>\n</div>\n\n@if(isShowControls) {\n<div class=\"ecl-news-ticker__controls\">\n <button eclButton class=\"ecl-news-ticker__prev\" variant=\"primary\" isIconOnly (click)=\"onPrevious()\">\n <span eclButtonLabel>\n {{ 'ecl.news-ticker.PREV-ITEM' | translate }}\n </span>\n <ecl-icon isInverted icon=\"corner-arrow\" size=\"l\" transform=\"rotate-270\" class=\"ecl-news-ticker__icon-default\"></ecl-icon>\n </button>\n <button eclButton class=\"ecl-news-ticker__next\" variant=\"primary\" isIconOnly (click)=\"onNext()\">\n <span eclButtonLabel>\n {{ 'ecl.news-ticker.NEXT-ITEM' | translate }}\n </span>\n <ecl-icon isInverted icon=\"corner-arrow\" size=\"l\" transform=\"rotate-90\" class=\"ecl-news-ticker__icon-default\"></ecl-icon>\n </button>\n <button eclButton class=\"ecl-news-ticker__play\" variant=\"primary\" isIconOnly [class.ecl-u-d-none]=\"playing\" (click)=\"startAutoplay()\">\n <span class=\"ecl-u-sr-only\">\n {{ 'ecl.news-ticker.AUTO-PLAY' | translate }}\n </span>\n <ecl-icon isInverted icon=\"play-outline\" size=\"l\" class=\"ecl-news-ticker__icon-default\"></ecl-icon>\n </button>\n <button eclButton class=\"ecl-news-ticker__pause\" variant=\"primary\" isIconOnly [class.ecl-u-d-none]=\"!playing\" (click)=\"cancelAutoplay()\">\n <span class=\"ecl-u-sr-only\">\n {{ 'ecl.news-ticker.PAUSE' | translate }}\n </span>\n <ecl-icon isInverted icon=\"pause\" size=\"l\" class=\"ecl-news-ticker__icon-default\"></ecl-icon>\n </button>\n <div class=\"ecl-news-ticker__counter\">\n <span class=\"ecl-news-ticker__counter--current\"> {{ itemIndex }}</span>\n {{ 'ecl.common.OF' | translate }}\n <span class=\"ecl-news-ticker__counter--max\">{{ itemsCount }}</span>\n </div>\n</div>\n}", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclButtonComponentModule } from '../ecl-button/ecl-button.module';\nimport { EclIconComponentModule } from '../ecl-icon/ecl-icon.module';\nimport { EclLinkDirectiveModule } from '../ecl-link/ecl-link.module';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclNewsTickerComponent } from './ecl-news-ticker.component';\nimport { EclNewsTickerItemComponent } from './ecl-news-ticker-item.component';\n\n@NgModule({\n imports: [CommonModule, TranslateModule, EclButtonComponentModule, EclIconComponentModule, EclLinkDirectiveModule],\n exports: [EclNewsTickerComponent, EclNewsTickerItemComponent],\n declarations: [EclNewsTickerComponent, EclNewsTickerItemComponent],\n})\nexport class EclNewsTickerComponentModule {}\n", "import { Component, Input, Output, EventEmitter, HostBinding, booleanAttribute } from '@angular/core';\nimport { EclBaseEvent } from '../../model';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclThemeService } from '../../services';\n\nexport class EclNotificationCloseEvent extends EclBaseEvent {\n}\n\n@Component({\n selector: 'ecl-notification',\n templateUrl: './ecl-notification.component.html',\n})\nexport class EclNotificationComponent extends ECLBaseDirective {\n @Input() notificationTitle: string;\n @Input() variant: 'info' | 'success' | 'warning' | 'error' = 'info';\n @Input({ transform: booleanAttribute }) isVisible = true;\n @Input({ transform: booleanAttribute }) isCloseable = true;\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() close = new EventEmitter<EclNotificationCloseEvent>();\n\n @HostBinding('attr.role')\n role = 'alert';\n\n constructor(public eclThemeService: EclThemeService) {\n super();\n }\n\n @HostBinding('class.ecl-u-d-none')\n get isHidden(): boolean {\n return !this.isVisible;\n }\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-notification'), this.variant ? `ecl-notification--${this.variant}` : ''].join(' ').trim();\n }\n\n get icon(): 'success' | 'warning' | 'error' | 'information' {\n if (this.variant === 'info') {\n return 'information';\n } else if (this.variant === 'success') {\n return 'success';\n } else if (this.variant === 'warning') {\n return 'warning';\n } else if (this.variant === 'error') {\n return 'error';\n } else {\n return 'information';\n }\n }\n\n onCloseClick(evt: Event): void {\n const event = new EclNotificationCloseEvent();\n this.close.next(event);\n if (!event.defaultPrevented) {\n this.isVisible = false;\n }\n }\n}\n", "@if( eclThemeService.isEC$ | async ){\n <ecl-icon size=\"l\" class=\"ecl-notification__icon\" [icon]=\"icon\" [ariaHidden]=\"false\" role=\"img\">\n <title>{{ icon | titlecase }}</title>\n </ecl-icon>\n} @else {\n <ecl-icon size=\"m\" class=\"ecl-notification__icon\" [icon]=\"icon\" [ariaHidden]=\"false\" role=\"img\">\n <title>{{ icon | titlecase }}</title>\n </ecl-icon>\n}\n\n<div class=\"ecl-notification__content\">\n @if(isCloseable){\n @if( eclThemeService.isEC$ | async ){\n <button eclButton variant=\"tertiary\" class=\"ecl-notification__close\" isIconOnly (click)=\"onCloseClick($event)\">\n <span eclButtonLabel>\n {{ 'ecl.common.CLOSE' | translate }}\n </span>\n <ecl-icon icon=\"close\" size=\"m\"></ecl-icon>\n </button>\n } @else {\n <button eclButton variant=\"tertiary\" class=\"ecl-notification__close\" (click)=\"onCloseClick($event)\">\n <span eclButtonLabel>\n {{ 'ecl.common.CLOSE' | translate }}\n </span>\n <ecl-icon class=\"ecl-button__icon\" icon=\"close-filled\" size=\"s\"></ecl-icon>\n </button>\n }\n }\n\n <ng-content select=\"[eclNotificationTitle]\"></ng-content>\n <div class=\"ecl-notification__description\"><ng-content></ng-content></div>\n</div>\n", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: '[eclNotificationTitle]',\n})\nexport class EclNotificationTitleDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-notification__title')].join(' ').trim();\n }\n}\n", "import { Directive, HostBinding, Input } from '@angular/core';\nimport { coerceBoolean } from '@eui/base';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\n\n@Directive({\n selector: '[eclSiteFooterSection]',\n})\nexport class EclSiteFooterSectionDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-site-footer__section') cmpClass = true;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() @HostBinding('class.ecl-site-footer__section--condensed') isCondensed: boolean | any = false;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() @HostBinding('class.ecl-site-footer__section--site-info') isSiteInfo: boolean | any = false;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() @HostBinding('class.ecl-site-footer__section--split-list') isSplitList: boolean | any = false;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @HostBinding('class.ecl-site-footer__section--separator') @Input() hasSeparator: boolean | any = false;\n}\n", "import { Directive, HostBinding, Input } from '@angular/core';\nimport { coerceBoolean } from '@eui/base';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\n\n@Directive({\n selector: '[eclSiteFooterTitle]',\n})\nexport class EclSiteFooterTitleDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-site-footer__title') cmpClass = true;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() @HostBinding('class.ecl-site-footer__title--separator') isSeparator: boolean | any = false;\n}\n\n@Directive({\n selector: '[eclSiteFooterTitleLink]',\n})\nexport class EclSiteFooterTitleLinkDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-site-footer__title-link') cmpClass = true;\n}\n", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\n\n@Directive({\n selector: '[eclSiteFooterDescription]',\n})\nexport class EclSiteFooterDescriptionDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-site-footer__description') cmpClass = true;\n}\n", "import { Directive, HostBinding, Input } from '@angular/core';\nimport { coerceBoolean } from '@eui/base';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\n\n@Directive({\n selector: '[eclSiteFooterList]',\n})\nexport class EclSiteFooterListDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-site-footer__list') cmpClass = true;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() @HostBinding('class.ecl-site-footer__list--inline') isInline: boolean | any;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() @HostBinding('class.ecl-site-footer__list--columns') isColumns: boolean | any;\n}\n\n@Directive({\n selector: '[eclSiteFooterListItem]',\n})\nexport class EclSiteFooterListItemDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-site-footer__list-item') cmpClass = true;\n}\n\n@Directive({\n selector: '[eclSiteFooterLogoList]',\n})\nexport class EclSiteFooterLogoListDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-site-footer__logo-list') cmpClass = true;\n}\n\n@Directive({\n selector: '[eclSiteFooterLogoItem]',\n})\nexport class EclSiteFooterLogoItemDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-site-footer__logo-item') cmpClass = true;\n}\n\n@Directive({\n selector: '[eclSiteFooterLogo]',\n})\nexport class EclSiteFooterLogoDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-site-footer__logo') cmpClass = true;\n}\n", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\n\n@Directive({\n selector: '[eclSiteFooterLink]',\n})\nexport class EclSiteFooterLinkDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-site-footer__link') className = true;\n}\n\n@Directive({\n selector: '[eclSiteFooterLogoLink]',\n})\nexport class EclSiteFooterLogoLinkDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-site-footer__logo-link') className = true;\n}\n\n/**\n * @deprecated To be removed in v18\n */\n@Directive({\n selector: '[eclSiteFooterLogoImageDesktop]',\n})\nexport class EclSiteFooterLogoImageDesktopDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-site-footer__logo-image-desktop') className = true;\n}\n\n@Directive({\n selector: 'img[eclSiteFooterLogoImage]',\n})\nexport class EclSiteFooterLogoImageDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-site-footer__logo-image') className = true;\n}\n\n@Directive({\n selector: 'picture[eclSiteFooterPicture]',\n})\nexport class EclSiteFooterPictureDirective extends ECLBaseDirective {\n @HostBinding('class') classNames = 'ecl-picture ecl-site-footer__picture';\n}\n", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\n\n@Directive({\n selector: '[eclSiteFooterColumn]',\n})\nexport class EclSiteFooterColumnDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-site-footer__column') cmpClass = true;\n}\n\n@Directive({\n selector: '[eclSiteFooterRow]',\n})\nexport class EclSiteFooterRowDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-site-footer__row') cmpClass = true;\n}\n\n@Directive({\n selector: '[eclSiteFooterContent]',\n})\nexport class EclSiteFooterContentDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-site-footer__content') cmpClass = true;\n}\n", "import { Component, Input } from '@angular/core';\nimport { coerceBoolean } from '@eui/base';\nimport { TranslateService } from '@ngx-translate/core';\nimport { EclLanguageService } from '../../../../services';\nimport { ECLBaseDirective } from '../../../ecl-base.directive';\n\n@Component({\n selector: 'ecl-site-footer-fixed-content-ec',\n templateUrl: './ecl-site-footer-fixed-content.component.html',\n})\nexport class EclSiteFooterFixedContentECComponent extends ECLBaseDirective {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Input() @coerceBoolean isCore: boolean | any = false;\n @Input() languageCode: string;\n @Input() ecLogoLanguageCode: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Input() content: any;\n\n constructor(\n protected translateService: TranslateService,\n protected eclLanguageService: EclLanguageService,\n ) {\n super();\n }\n}\n", "<ng-container *ngIf=\"isCore\">\n <div eclSiteFooterRow>\n <div eclSiteFooterColumn>\n <div eclSiteFooterSection>\n <a\n eclLink\n routerLink=\"/\"\n variant=\"standalone\"\n class=\"ecl-site-footer__logo-link\"\n [attr.aria-label]=\"'ecl.footer.EUROPEAN-COMMISSION' | translate\">\n <picture eclSiteFooterPicture [attr.title]=\"'ecl.footer.EUROPEAN-COMMISSION' | translate\">\n <source\n srcset=\"assets/images/ecl/ec/logo/negative/logo-ec--{{ ecLogoLanguageCode }}.svg\"\n media=\"(min-width: 996px)\" />\n <img\n eclSiteFooterLogoImage\n src=\"assets/images/ecl/ec/logo/negative/logo-ec--{{ ecLogoLanguageCode }}.svg\"\n alt=\"European Commission logo\" />\n </picture>\n </a>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n </div>\n\n <div eclSiteFooterColumn>\n <div eclSiteFooterSection [hasSeparator]=\"true\">\n <ul eclSiteFooterList [isColumns]=\"true\">\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.STRATEGY' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/strategy-and-policy_{{ languageCode }}\">\n {{ 'ecl.footer.STRATEGY' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.ABOUT-EUROPEAN-COMMISSION' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/about-european-commission_{{ languageCode }}\">\n {{ 'ecl.footer.ABOUT-EUROPEAN-COMMISSION' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.BUSINESS-ECONOMY-EURO' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/business-economy-euro_{{ languageCode }}\">\n {{ 'ecl.footer.BUSINESS-ECONOMY-EURO' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.LIVE-WORK-TRAVEL' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/live-work-travel-eu_{{ languageCode }}\">\n {{ 'ecl.footer.LIVE-WORK-TRAVEL' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.LAW' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/law_{{ languageCode }}\">\n {{ 'ecl.footer.LAW' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.FUNDING-TENDERS' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/funding-tenders_{{ languageCode }}\">\n {{ 'ecl.footer.FUNDING-TENDERS' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.RESEARCH-INNOVATION' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/research-and-innovation_{{ languageCode }}\">\n {{ 'ecl.footer.RESEARCH-INNOVATION' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.ENERGY-CLIMATE' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/energy-climate-change-environment_{{ languageCode }}\">\n {{ 'ecl.footer.ENERGY-CLIMATE' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.EDUCATION' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/education_{{ languageCode }}\">\n {{ 'ecl.footer.EDUCATION' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.AID-DEVELOPMENT' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/aid-development-cooperation-fundamental-rights_{{ languageCode }}\">\n {{ 'ecl.footer.AID-DEVELOPMENT' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.FOOD' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/food-farming-fisheries_{{ languageCode }}\">\n {{ 'ecl.footer.FOOD' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.EU-REGIONAL' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/eu-regional-and-urban-development_{{ languageCode }}\">\n {{ 'ecl.footer.EU-REGIONAL' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.JOBS' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/jobs-european-commission_{{ languageCode }}\">\n {{ 'ecl.footer.JOBS' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.STATS' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/statistics_{{ languageCode }}\">\n {{ 'ecl.footer.STATS' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.NEWS' | translate\"\n variant=\"standalone\"\n href=\"https://ec.europa.eu/commission/presscorner/home/{{ languageCode }}\">\n {{ 'ecl.footer.NEWS' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.EVENTS' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/events_{{ languageCode }}\">\n {{ 'ecl.footer.EVENTS' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.PUBLICATIONS' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/publications_{{ languageCode }}\">\n {{ 'ecl.footer.PUBLICATIONS' | translate }}\n </a>\n </li>\n </ul>\n </div>\n\n <div eclSiteFooterSection>\n <ul eclSiteFooterList>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.ABOUT-COMMISSION-WEB-PRESENCE' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/about-european-commissions-web-presence_{{ languageCode }}\">\n {{ 'ecl.footer.ABOUT-COMMISSION-WEB-PRESENCE' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.CONTACT-EC' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/about-european-commission/contact_{{ languageCode }}\">\n {{ 'ecl.footer.CONTACT-EC' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.ACCESSIBILITY' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/web-accessibility-policy_{{ languageCode }}\">\n {{ 'ecl.footer.ACCESSIBILITY' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.FOLLOW-EUROPEAN-COMMISSION-SOCIAL-MEDIA' | translate\"\n variant=\"standalone\"\n href=\"https://europa.eu/european-union/contact/social-networks_{{ languageCode }}#n:+i:4+e:1+t:+s\">\n {{ 'ecl.footer.FOLLOW-EUROPEAN-COMMISSION-SOCIAL-MEDIA' | translate }}\n <ecl-icon icon=\"external\" size=\"2xs\"></ecl-icon>\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.RESOURCES-FOR-PARTNERS' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/resources-partners_{{ languageCode }}\">\n {{ 'ecl.footer.RESOURCES-FOR-PARTNERS' | translate }}\n </a>\n </li>\n </ul>\n </div>\n\n <div eclSiteFooterSection>\n <ul eclSiteFooterList>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.LANGUAGES-OUR-WEBSITES' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/languages-our-websites_{{ languageCode }}\">\n {{ 'ecl.footer.LANGUAGES-OUR-WEBSITES' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.COOKIES' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/cookies_{{ languageCode }}\">\n {{ 'ecl.footer.COOKIES' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.PRIVACY-POLICY' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/privacy-policy_{{ languageCode }}\">\n {{ 'ecl.footer.PRIVACY-POLICY' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.LEGAL-NOTICE' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/legal-notice_{{ languageCode }}\">\n {{ 'ecl.footer.LEGAL-NOTICE' | translate }}\n </a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"!isCore\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n\n <div eclSiteFooterRow>\n <div eclSiteFooterColumn>\n <div eclSiteFooterSection>\n <a\n eclLink\n href=\"https://commission.europa.eu/index_{{ languageCode }}\"\n eclSiteFooterLogoLink\n variant=\"standalone\"\n [attr.aria-label]=\"'ecl.footer.EUROPEAN-COMMISSION' | translate\">\n <picture eclSiteFooterPicture [attr.title]=\"'ecl.footer.EUROPEAN-COMMISSION' | translate\">\n <source\n srcset=\"assets/images/ecl/ec/logo/negative/logo-ec--{{ ecLogoLanguageCode }}.svg\"\n media=\"(min-width: 996px)\" />\n <img\n eclSiteFooterLogoImage\n src=\"assets/images/ecl/ec/logo/negative/logo-ec--{{ ecLogoLanguageCode }}.svg\"\n alt=\"European Commission logo\" />\n </picture>\n </a>\n <h2 eclSiteFooterTitle>\n <a eclLink variant=\"standalone\" href=\"https://commission.europa.eu/index_{{ languageCode }}\" eclSiteFooterTitleLink>\n {{ 'ecl.footer.EUROPEAN-COMMISSION' | translate }}\n </a>\n </h2>\n </div>\n </div>\n <div eclSiteFooterColumn>\n <div eclSiteFooterSection [isSplitList]=\"true\">\n <ul eclSiteFooterList>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.CONTACT-EC' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/about-european-commission/contact_{{ languageCode }}\">\n {{ 'ecl.footer.CONTACT-EC' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.FOLLOW-EUROPEAN-COMMISSION-SOCIAL-MEDIA' | translate\"\n variant=\"standalone\"\n href=\"https://europa.eu/european-union/contact/social-networks_{{ languageCode }}\">\n {{ 'ecl.footer.FOLLOW-EUROPEAN-COMMISSION-SOCIAL-MEDIA' | translate }}\n <ecl-icon icon=\"external\" size=\"2xs\"></ecl-icon>\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.RESOURCES-FOR-PARTNERS' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/resources-partners_{{ languageCode }}\">\n {{ 'ecl.footer.RESOURCES-FOR-PARTNERS' | translate }}\n </a>\n </li>\n </ul>\n </div>\n </div>\n <div eclSiteFooterColumn>\n <div eclSiteFooterSection [isSplitList]=\"true\">\n <ul eclSiteFooterList>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.LANGUAGE-POLICY' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/language-policy_{{ languageCode }}\">\n {{ 'ecl.footer.LANGUAGE-POLICY' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.COOKIES' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/cookies_{{ languageCode }}\">\n {{ 'ecl.footer.COOKIES' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.PRIVACY-POLICY' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/privacy-policy_{{ languageCode }}\">\n {{ 'ecl.footer.PRIVACY-POLICY' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.LEGAL-NOTICE' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/legal-notice_{{ languageCode }}\">\n {{ 'ecl.footer.LEGAL-NOTICE' | translate }}\n </a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n</ng-container>\n", "import { Component, Input } from '@angular/core';\nimport { coerceBoolean } from '@eui/base';\nimport { TranslateService } from '@ngx-translate/core';\nimport { EclLanguageService } from '../../../../services';\nimport { ECLBaseDirective } from '../../../ecl-base.directive';\n\n@Component({\n selector: 'ecl-site-footer-fixed-content-eu',\n templateUrl: './ecl-site-footer-fixed-content.component.html',\n})\nexport class EclSiteFooterFixedContentEUComponent extends ECLBaseDirective {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Input() @coerceBoolean isCore: boolean | any = false;\n @Input() languageCode: string;\n @Input() ecLogoLanguageCode: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Input() content: any;\n\n private readonly availableLanguagesForLinkEib: string[] = ['fr', 'de', 'en'];\n private readonly defaultLanguage: string = 'en';\n\n constructor(\n protected translateService: TranslateService,\n protected eclLanguageService: EclLanguageService,\n ) {\n super();\n }\n\n getSupportedLanguageForLinkEib(): string {\n if (this.availableLanguagesForLinkEib.includes(this.languageCode)) {\n return this.languageCode;\n } else {\n return this.defaultLanguage;\n }\n }\n}\n", "<ng-container *ngIf=\"isCore\">\n <div eclSiteFooterRow>\n <div eclSiteFooterColumn>\n <div eclSiteFooterSection>\n <a\n eclLink\n routerLink=\"/\"\n variant=\"standalone\"\n eclSiteFooterLogoLink\n [attr.aria-label]=\"'ecl.footer.EUROPEAN-UNION' | translate\">\n <picture eclSiteFooterPicture [attr.title]=\"'ecl.footer.EUROPEAN-UNION' | translate\">\n <source\n srcset=\"./assets/images/ecl/eu/logo/standard-version/positive/logo-eu--{{ ecLogoLanguageCode }}.svg\"\n media=\"(min-width: 996px)\" />\n <img\n eclSiteFooterLogoImage\n src=\"./assets/images/ecl/eu/logo/condensed-version/positive/logo-eu--{{ ecLogoLanguageCode }}.svg\"\n alt=\"European Union logo\" />\n </picture>\n </a>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n </div>\n\n <div eclSiteFooterColumn>\n <div eclSiteFooterSection [hasSeparator]=\"true\">\n <h2 eclSiteFooterTitle isSeparator>\n {{ 'ecl.footer.CONTACT-EU' | translate }}\n </h2>\n <ul eclSiteFooterList [isColumns]=\"true\">\n <li eclSiteFooterListItem>\n {{ 'ecl.footer.CALL-US' | translate }}\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.STRATEGY' | translate\"\n variant=\"standalone\"\n href=\"tel:0080067891011\">\n 00 800 6 7 8 9 10 11\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.USE-OTHER-TELEPHONE-OPTIONS' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/contact-eu/call-us_{{ languageCode }}\">\n {{ 'ecl.footer.USE-OTHER-TELEPHONE-OPTIONS' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.WRITE-TO-US' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/contact-eu/write-us_{{ languageCode }}\">\n {{ 'ecl.footer.WRITE-TO-US' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.MEET-US' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/contact-eu/meet-us_{{ languageCode }}\">\n {{ 'ecl.footer.MEET-US' | translate }}\n </a>\n </li>\n </ul>\n </div>\n <div eclSiteFooterSection [hasSeparator]=\"true\">\n <h2 eclSiteFooterTitle isSeparator>\n {{ 'ecl.footer.SOCIAL-MEDIA' | translate }}\n </h2>\n <ul eclSiteFooterList [isColumns]=\"true\">\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.SEARCH-FOR-EU-SOCIAL-MEDIA' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/contact-eu/social-media-channels_{{ languageCode }}\">\n {{ 'ecl.footer.SEARCH-FOR-EU-SOCIAL-MEDIA' | translate }}\n </a>\n </li>\n </ul>\n </div>\n <div eclSiteFooterSection [hasSeparator]=\"true\">\n <h2 eclSiteFooterTitle isSeparator>\n {{ 'ecl.footer.LEGAL' | translate }}\n </h2>\n <ul eclSiteFooterList [isColumns]=\"true\">\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.LANGUAGES' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/languages-our-websites_{{ languageCode }}\">\n {{ 'ecl.footer.LANGUAGES' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.PRIVACY-POLICY' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/privacy-policy_{{ languageCode }}\">\n {{ 'ecl.footer.PRIVACY-POLICY' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.LEGAL-NOTICE' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/legal-notice_{{ languageCode }}\">\n {{ 'ecl.footer.LEGAL-NOTICE' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.COOKIES' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/cookies_{{ languageCode }}\">\n {{ 'ecl.footer.COOKIES' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.ACCESSIBILITY' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/web-accessibility-policy_{{ languageCode }}\">\n {{ 'ecl.footer.ACCESSIBILITY' | translate }}\n </a>\n </li>\n </ul>\n </div>\n </div>\n <div eclSiteFooterColumn>\n <div eclSiteFooterSection [hasSeparator]=\"true\">\n <h2 eclSiteFooterTitle isSeparator>\n {{ 'ecl.footer.EU-INSTITUTIONS' | translate }}\n </h2>\n <ul eclSiteFooterList [isColumns]=\"true\">\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.EUROPEAN-PARLIAMENT' | translate\"\n variant=\"standalone\"\n href=\"http://www.europarl.europa.eu/portal/{{ languageCode }}\">\n {{ 'ecl.footer.EUROPEAN-PARLIAMENT' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.EUROPEAN-COUNCIL' | translate\"\n variant=\"standalone\"\n href=\"http://www.consilium.europa.eu/{{ languageCode }}/european-council/\">\n {{ 'ecl.footer.EUROPEAN-COUNCIL' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.COUNCIL-EU' | translate\"\n variant=\"standalone\"\n href=\"http://www.consilium.europa.eu/{{ languageCode }}/home/\">\n {{ 'ecl.footer.COUNCIL-EU' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.EUROPEAN-COMMISSION' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/index_{{ languageCode }}\">\n {{ 'ecl.footer.EUROPEAN-COMMISSION' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.COURT-OF-JUSTICE' | translate\"\n variant=\"standalone\"\n href=\"http://curia.europa.eu/jcms/jcms/j_6/{{ languageCode }}\">\n {{ 'ecl.footer.COURT-OF-JUSTICE' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.ECB' | translate\"\n variant=\"standalone\"\n href=\"https://www.ecb.europa.eu/home/languagepolicy/html/index.{{ languageCode }}.html\">\n {{ 'ecl.footer.ECB' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.ECA' | translate\"\n variant=\"standalone\"\n href=\"http://www.eca.europa.eu/{{ languageCode }}\">\n {{ 'ecl.footer.ECA' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.EEAS' | translate\"\n variant=\"standalone\"\n href=\"https://eeas.europa.eu/headquarters/headquarters-homepage_{{ languageCode }}\">\n {{ 'ecl.footer.EEAS' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.EESC' | translate\"\n variant=\"standalone\"\n href=\"http://www.eesc.europa.eu/?i=portal.{{ languageCode }}.home\">\n {{ 'ecl.footer.EESC' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.COR' | translate\"\n variant=\"standalone\"\n href=\"http://cor.europa.eu/{{ languageCode }}\">\n {{ 'ecl.footer.COR' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.EIB' | translate\"\n variant=\"standalone\"\n href=\"https://www.eib.org/{{ getSupportedLanguageForLinkEib() }}/index.htm\">\n {{ 'ecl.footer.EIB' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.OMBUDSMAN' | translate\"\n variant=\"standalone\"\n href=\"https://www.ombudsman.europa.eu/{{ languageCode }}/home\">\n {{ 'ecl.footer.OMBUDSMAN' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.EDPS' | translate\"\n variant=\"standalone\"\n href=\"https://secure.edps.europa.eu/EDPSWEB/edps/EDPS?lang={{ languageCode }}\">\n {{ 'ecl.footer.EDPS' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.DATA-PROTECTION-BOARD' | translate\"\n variant=\"standalone\"\n href=\"https://edpb.europa.eu/edpb_{{ languageCode }}\">\n {{ 'ecl.footer.DATA-PROTECTION-BOARD' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.PERSONNEL-SELECTION-OFFICE' | translate\"\n variant=\"standalone\"\n href=\"https://epso.europa.eu/{{ languageCode }}\">\n {{ 'ecl.footer.PERSONNEL-SELECTION-OFFICE' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.PUBLICATIONS-OFFICE' | translate\"\n variant=\"standalone\"\n href=\"https://op.europa.eu/{{ languageCode }}/home\">\n {{ 'ecl.footer.PUBLICATIONS-OFFICE' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.AGENCIES' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/institutions-law-budget/institutions-and-bodies/search-all-eu-institutions-and-bodies_{{\n languageCode\n }}?f%5B0%5D=oe_organisation_eu_type%3Ahttp%3A//publications.europa.eu/resource/authority/corporate-body-classification/AGENCY_DEC&f%5B1%5D=oe_organisation_eu_type%3Ahttp%3A//publications.europa.eu/resource/authority/corporate-body-classification/AGENCY_EXEC&f%5B2%5D=oe_organisation_eu_type%3Ahttp%3A//publications.europa.eu/resource/authority/corporate-body-classification/EU_JU\">\n {{ 'ecl.footer.AGENCIES' | translate }}\n </a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"!isCore\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n\n <div eclSiteFooterRow>\n <div eclSiteFooterColumn>\n <div eclSiteFooterSection>\n <a\n eclLink\n routerLink=\"/\"\n variant=\"standalone\"\n class=\"ecl-site-footer__logo-link\"\n [attr.aria-label]=\"'ecl.footer.EUROPEAN-UNION' | translate\">\n <picture eclSiteFooterPicture [attr.title]=\"'ecl.footer.EUROPEAN-UNION' | translate\">\n <source\n srcset=\"./assets/images/ecl/eu/logo/standard-version/positive/logo-eu--{{ ecLogoLanguageCode }}.svg\"\n media=\"(min-width: 996px)\" />\n <img\n eclSiteFooterLogoImage\n src=\"./assets/images/ecl/eu/logo/condensed-version/positive/logo-eu--{{ ecLogoLanguageCode }}.svg\"\n alt=\"European Union logo\" />\n </picture>\n </a>\n </div>\n </div>\n\n <div eclSiteFooterColumn>\n <div eclSiteFooterSection [hasSeparator]=\"true\">\n <h2 eclSiteFooterTitle isSeparator>\n {{ 'ecl.footer.CONTACT-EU' | translate }}\n </h2>\n <ul eclSiteFooterList [isColumns]=\"true\">\n <li eclSiteFooterListItem>\n {{ 'ecl.footer.CALL-US' | translate }}\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.STRATEGY' | translate\"\n variant=\"standalone\"\n href=\"tel:0080067891011\">\n 00 800 6 7 8 9 10 11\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.USE-OTHER-TELEPHONE-OPTIONS' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/contact-eu/call-us_{{ languageCode }}\">\n {{ 'ecl.footer.USE-OTHER-TELEPHONE-OPTIONS' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.WRITE-TO-US' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/contact-eu/write-us_{{ languageCode }}\">\n {{ 'ecl.footer.WRITE-TO-US' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.MEET-US' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/contact-eu/meet-us_{{ languageCode }}\">\n {{ 'ecl.footer.MEET-US' | translate }}\n </a>\n </li>\n </ul>\n </div>\n <div eclSiteFooterSection [hasSeparator]=\"true\">\n <h2 eclSiteFooterTitle isSeparator>\n {{ 'ecl.footer.SOCIAL-MEDIA' | translate }}\n </h2>\n <ul eclSiteFooterList [isColumns]=\"true\">\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.SEARCH-FOR-EU-SOCIAL-MEDIA' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/contact-eu/social-media-channels_{{ languageCode }}\">\n {{ 'ecl.footer.SEARCH-FOR-EU-SOCIAL-MEDIA' | translate }}\n </a>\n </li>\n </ul>\n </div>\n <div eclSiteFooterSection [hasSeparator]=\"true\">\n <h2 eclSiteFooterTitle isSeparator>\n {{ 'ecl.footer.LEGAL' | translate }}\n </h2>\n <ul eclSiteFooterList [isColumns]=\"true\">\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.LANGUAGES' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/languages-our-websites_{{ languageCode }}\">\n {{ 'ecl.footer.LANGUAGES' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.PRIVACY-POLICY' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/privacy-policy_{{ languageCode }}\">\n {{ 'ecl.footer.PRIVACY-POLICY' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.LEGAL-NOTICE' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/legal-notice_{{ languageCode }}\">\n {{ 'ecl.footer.LEGAL-NOTICE' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.COOKIES' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/cookies_{{ languageCode }}\">\n {{ 'ecl.footer.COOKIES' | translate }}\n </a>\n </li>\n </ul>\n </div>\n </div>\n <div eclSiteFooterColumn>\n <div eclSiteFooterSection [hasSeparator]=\"true\">\n <h2 eclSiteFooterTitle isSeparator>\n {{ 'ecl.footer.EU-INSTITUTIONS' | translate }}\n </h2>\n <ul eclSiteFooterList [isColumns]=\"true\">\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.EUROPEAN-PARLIAMENT' | translate\"\n variant=\"standalone\"\n href=\"http://www.europarl.europa.eu/portal/{{ languageCode }}\">\n {{ 'ecl.footer.EUROPEAN-PARLIAMENT' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.EUROPEAN-COUNCIL' | translate\"\n variant=\"standalone\"\n href=\"http://www.consilium.europa.eu/{{ languageCode }}/european-council/\">\n {{ 'ecl.footer.EUROPEAN-COUNCIL' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.COUNCIL-EU' | translate\"\n variant=\"standalone\"\n href=\"http://www.consilium.europa.eu/{{ languageCode }}/home/\">\n {{ 'ecl.footer.COUNCIL-EU' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.EUROPEAN-COMMISSION' | translate\"\n variant=\"standalone\"\n href=\"https://commission.europa.eu/index_{{ languageCode }}\">\n {{ 'ecl.footer.EUROPEAN-COMMISSION' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.COURT-OF-JUSTICE' | translate\"\n variant=\"standalone\"\n href=\"http://curia.europa.eu/jcms/jcms/j_6/{{ languageCode }}\">\n {{ 'ecl.footer.COURT-OF-JUSTICE' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.ECB' | translate\"\n variant=\"standalone\"\n href=\"https://www.ecb.europa.eu/home/languagepolicy/html/index.{{ languageCode }}.html\">\n {{ 'ecl.footer.ECB' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.ECA' | translate\"\n variant=\"standalone\"\n href=\"http://www.eca.europa.eu/{{ languageCode }}\">\n {{ 'ecl.footer.ECA' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.EEAS' | translate\"\n variant=\"standalone\"\n href=\"https://eeas.europa.eu/headquarters/headquarters-homepage_{{ languageCode }}\">\n {{ 'ecl.footer.EEAS' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.EESC' | translate\"\n variant=\"standalone\"\n href=\"http://www.eesc.europa.eu/?i=portal.{{ languageCode }}.home\">\n {{ 'ecl.footer.EESC' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.COR' | translate\"\n variant=\"standalone\"\n href=\"http://cor.europa.eu/{{ languageCode }}\">\n {{ 'ecl.footer.COR' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.EIB' | translate\"\n variant=\"standalone\"\n href=\"https://www.eib.org/{{ getSupportedLanguageForLinkEib() }}/index.htm\">\n {{ 'ecl.footer.EIB' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.OMBUDSMAN' | translate\"\n variant=\"standalone\"\n href=\"https://www.ombudsman.europa.eu/{{ languageCode }}/home\">\n {{ 'ecl.footer.OMBUDSMAN' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.EDPS' | translate\"\n variant=\"standalone\"\n href=\"https://secure.edps.europa.eu/EDPSWEB/edps/EDPS?lang={{ languageCode }}\">\n {{ 'ecl.footer.EDPS' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.DATA-PROTECTION-BOARD' | translate\"\n variant=\"standalone\"\n href=\"https://edpb.europa.eu/edpb_{{ languageCode }}\">\n {{ 'ecl.footer.DATA-PROTECTION-BOARD' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.PERSONNEL-SELECTION-OFFICE' | translate\"\n variant=\"standalone\"\n href=\"https://epso.europa.eu/{{ languageCode }}\">\n {{ 'ecl.footer.PERSONNEL-SELECTION-OFFICE' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.PUBLICATIONS-OFFICE' | translate\"\n variant=\"standalone\"\n href=\"https://op.europa.eu/{{ languageCode }}/home\">\n {{ 'ecl.footer.PUBLICATIONS-OFFICE' | translate }}\n </a>\n </li>\n <li eclSiteFooterListItem>\n <a\n eclLink\n eclSiteFooterLink\n [attr.aria-label]=\"'ecl.footer.AGENCIES' | translate\"\n variant=\"standalone\"\n href=\"https://european-union.europa.eu/institutions-law-budget/institutions-and-bodies/search-all-eu-institutions-and-bodies_{{\n languageCode\n }}?f%5B0%5D=oe_organisation_eu_type%3Ahttp%3A//publications.europa.eu/resource/authority/corporate-body-classification/AGENCY_DEC&f%5B1%5D=oe_organisation_eu_type%3Ahttp%3A//publications.europa.eu/resource/authority/corporate-body-classification/AGENCY_EXEC&f%5B2%5D=oe_organisation_eu_type%3Ahttp%3A//publications.europa.eu/resource/authority/corporate-body-classification/EU_JU\">\n {{ 'ecl.footer.AGENCIES' | translate }}\n </a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n</ng-container>\n", "import { Component, HostBinding, Input } from '@angular/core';\nimport { coerceBoolean } from '@eui/base';\nimport { LangChangeEvent, TranslateService } from '@ngx-translate/core';\nimport { EclLanguageService, EclThemeService } from '../../services';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n selector: 'ecl-site-footer',\n templateUrl: './ecl-site-footer.component.html',\n})\nexport class EclSiteFooterComponent extends ECLBaseDirective {\n languageCode = 'en';\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Input() @coerceBoolean isCore: boolean | any = false;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-site-footer'), this.isCore ? 'ecl-site-footer--split-columns' : ''].join(' ').trim();\n }\n\n @HostBinding('attr.role') role = 'contentinfo';\n\n constructor(\n protected translateService: TranslateService,\n protected eclLanguageService: EclLanguageService,\n public eclThemeService: EclThemeService,\n ) {\n super();\n this.handlei18nEvents();\n }\n\n getLanguageCode(): string {\n const lang = this.eclLanguageService.getEULanguageOrFallback(this.languageCode);\n\n return lang.code;\n }\n\n handlei18nEvents(): void {\n this.languageCode = this.translateService.currentLang;\n this.translateService.onLangChange.subscribe((langChangeEvent: LangChangeEvent) => {\n this.languageCode = langChangeEvent.lang;\n });\n }\n}\n", "<div class=\"ecl-container ecl-site-footer__container\">\n <ecl-site-footer-fixed-content-ec\n *ngIf=\"eclThemeService.isEC$ | async\"\n [isCore]=\"isCore\"\n [languageCode]=\"languageCode\"\n [ecLogoLanguageCode]=\"getLanguageCode()\"\n [content]=\"content\">\n </ecl-site-footer-fixed-content-ec>\n\n <ecl-site-footer-fixed-content-eu\n *ngIf=\"eclThemeService.isEU$ | async\"\n [isCore]=\"isCore\"\n [languageCode]=\"languageCode\"\n [ecLogoLanguageCode]=\"getLanguageCode()\"\n [content]=\"content\">\n </ecl-site-footer-fixed-content-eu>\n\n <ng-template #content>\n <ng-content></ng-content>\n </ng-template>\n</div>\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclLinkDirectiveModule } from '../ecl-link/ecl-link.module';\nimport { EclIconComponentModule } from '../ecl-icon/ecl-icon.module';\nimport { EclSiteFooterSectionDirective } from './ecl-footer-elements/ecl-site-footer-section.directive';\nimport { EclSiteFooterTitleDirective, EclSiteFooterTitleLinkDirective } from './ecl-footer-elements/ecl-site-footer-title.directive';\nimport { EclSiteFooterDescriptionDirective } from './ecl-footer-elements/ecl-site-footer-description.directive';\nimport {\n EclSiteFooterListDirective,\n EclSiteFooterLogoListDirective,\n EclSiteFooterLogoItemDirective,\n EclSiteFooterLogoDirective,\n EclSiteFooterListItemDirective,\n} from './ecl-footer-elements/ecl-site-footer-list.directive';\nimport {\n EclSiteFooterLinkDirective,\n EclSiteFooterLogoLinkDirective,\n EclSiteFooterLogoImageDesktopDirective,\n EclSiteFooterPictureDirective,\n EclSiteFooterLogoImageDirective,\n} from './ecl-footer-elements/ecl-site-footer-link.directive';\nimport {\n EclSiteFooterColumnDirective,\n EclSiteFooterRowDirective,\n EclSiteFooterContentDirective,\n} from './ecl-footer-elements/ecl-site-footer-column.directive';\nimport { EclSiteFooterComponent } from './ecl-site-footer.component';\nimport { EclSiteFooterFixedContentECComponent, EclSiteFooterFixedContentEUComponent } from './ecl-footer-elements';\n\nconst COMPONENTS = [\n EclSiteFooterFixedContentECComponent,\n EclSiteFooterFixedContentEUComponent,\n EclSiteFooterComponent,\n EclSiteFooterSectionDirective,\n EclSiteFooterTitleDirective,\n EclSiteFooterDescriptionDirective,\n EclSiteFooterListDirective,\n EclSiteFooterLinkDirective,\n EclSiteFooterColumnDirective,\n EclSiteFooterLogoListDirective,\n EclSiteFooterLogoItemDirective,\n EclSiteFooterLogoDirective,\n EclSiteFooterListItemDirective,\n EclSiteFooterListDirective,\n EclSiteFooterRowDirective,\n EclSiteFooterContentDirective,\n EclSiteFooterTitleLinkDirective,\n EclSiteFooterLogoLinkDirective,\n EclSiteFooterLogoImageDesktopDirective,\n EclSiteFooterPictureDirective,\n EclSiteFooterLogoImageDirective,\n];\n\n@NgModule({\n imports: [CommonModule, EclLinkDirectiveModule, EclIconComponentModule, TranslateModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclSiteFooterComponentModule {}\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclButtonComponentModule } from '../ecl-button';\nimport { EclIconComponentModule } from '../ecl-icon';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclNotificationComponent } from './ecl-notification.component';\nimport { EclNotificationTitleDirective } from './ecl-notification-title.directive';\nimport { EclSiteFooterComponentModule } from '../ecl-site-footer';\n\n@NgModule({\n imports: [CommonModule, EclButtonComponentModule, EclIconComponentModule, TranslateModule, EclSiteFooterComponentModule],\n exports: [EclNotificationComponent, EclNotificationTitleDirective],\n declarations: [EclNotificationComponent, EclNotificationTitleDirective],\n})\nexport class EclNotificationComponentModule {}\n", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n// TODO: re-enable this in v18, when the deprecated\n// @Directive({\n// selector: `[eclPageHeaderDescriptionContainer]`\n// })\n// export class EclPageHeaderDescriptionContainerDirective extends ECLBaseDirective {\n// @HostBinding('class') className = 'ecl-page-header__description-container';\n// }\n\n@Directive({\n selector: '[eclPageHeaderDescriptionPicture]',\n})\nexport class EclPageHeaderDescriptionPictureDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-picture ecl-page-header__picture-thumbnail';\n}\n\n@Directive({\n selector: '[eclPageHeaderDescriptionThumbnail], img[eclPageHeaderDescriptionImage] ',\n})\nexport class EclPageHeaderDescriptionThumbnailDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-page-header__description-thumbnail';\n}\n\n@Directive({\n selector: '[eclPageHeaderDescription]',\n})\nexport class EclPageHeaderDescriptionDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-page-header__description';\n}\n", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: '[eclPageHeaderTitle]',\n})\nexport class EclPageHeaderTitleDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-page-header__title';\n}\n", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: '[eclPageHeaderMeta]',\n})\nexport class EclPageHeaderMetaDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-page-header__meta';\n}\n\n@Directive({\n selector: '[eclPageHeaderMetaItem]',\n})\nexport class EclPageHeaderMetaItemDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-page-header__meta-item';\n}\n", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: '[eclPageHeaderBackgroundPicture]',\n})\nexport class EclPageHeaderBackgroundPictureDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-picture ecl-page-header__picture-background';\n}\n\n@Directive({\n selector: '[eclPageHeaderBackgroundImage]',\n})\nexport class EclPageHeaderBackgroundImageDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-page-header__background';\n}\n", "import { AfterContentInit, Component, ContentChild, HostBinding, Input } from '@angular/core';\nimport { coerceBoolean } from '@eui/base';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclBreadcrumbComponent } from '../ecl-breadcrumb/ecl-breadcrumb.component';\nimport { EclPageHeaderBackgroundPictureDirective } from './ecl-page-header-background.directive';\n\n@Component({\n selector: 'ecl-page-header',\n templateUrl: './ecl-page-header.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclPageHeaderComponent extends ECLBaseDirective implements AfterContentInit {\n /**\n * @deprecated\n * This input is deprecated and will be removed in 18 version.\n */\n @Input() backgroundImage: string = null;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() @HostBinding('class.ecl-page-header--negative') isNegative: boolean | any;\n\n @ContentChild(EclBreadcrumbComponent)\n eclBreadcrumbComponent: EclBreadcrumbComponent;\n\n @ContentChild(EclPageHeaderBackgroundPictureDirective)\n eclBackgroundPicture: EclPageHeaderBackgroundPictureDirective;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-page-header'), this.hasBackgroundImage || this.hasPicture ? 'ecl-page-header--image' : '']\n .join(' ')\n .trim();\n }\n\n private BREADCRUMB_CLASS = 'ecl-page-header__breadcrumb';\n\n ngAfterContentInit(): void {\n if (this.eclBreadcrumbComponent) {\n this.eclBreadcrumbComponent.class = this.BREADCRUMB_CLASS;\n }\n }\n\n get hasBackgroundImage(): boolean {\n return !!this.backgroundImage;\n }\n\n get hasPicture(): boolean {\n return !!this.eclBackgroundPicture;\n }\n}\n", "<div *ngIf=\"hasBackgroundImage\" class=\"ecl-page-header__background-container\" aria-hidden=\"true\">\n <picture eclPageHeaderBackgroundPicture>\n <img eclPageHeaderBackgroundImage [src]=\"backgroundImage\" />\n </picture>\n</div>\n\n<div *ngIf=\"hasPicture\" class=\"ecl-page-header__background-container\" aria-hidden=\"true\">\n <ng-content select=\"[eclPageHeaderBackgroundPicture]\"></ng-content>\n</div>\n\n<div class=\"ecl-container\">\n <ng-container *ngTemplateOutlet=\"content\"> </ng-container>\n</div>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", "import { Component, ContentChild, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../../ecl-base.directive';\nimport {\n EclPageHeaderDescriptionPictureDirective,\n EclPageHeaderDescriptionThumbnailDirective,\n} from '../ecl-page-header-description.directive';\n\n/**\n * @deprecated\n * This component is deprecated and will be removed in 18 version. It will be replace with the directive with the same selector.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[eclPageHeaderDescriptionContainer]',\n templateUrl: './ecl-page-header-description.component.html',\n})\nexport class EclPageHeaderDescriptionContainerComponent extends ECLBaseDirective {\n @HostBinding('class.ecl-page-header__description-container') className = true;\n @ContentChild(EclPageHeaderDescriptionThumbnailDirective) thumbnail: EclPageHeaderDescriptionThumbnailDirective;\n @ContentChild(EclPageHeaderDescriptionPictureDirective)\n eclDescriptionPicture: EclPageHeaderDescriptionPictureDirective;\n @ContentChild(EclPageHeaderDescriptionThumbnailDirective)\n eclImage: EclPageHeaderDescriptionThumbnailDirective;\n\n get hasDescriptionPicture(): boolean {\n return !!this.eclDescriptionPicture;\n }\n\n get hasImage(): boolean {\n return !!this.eclImage;\n }\n get isAddingPictureTagRequired(): boolean {\n if (this.thumbnail && this.hasImage && !this.hasDescriptionPicture) {\n return true;\n }\n return false;\n }\n}\n", "<ng-container *ngIf=\"isAddingPictureTagRequired\">\n <picture eclPageHeaderDescriptionPicture>\n <ng-content select=\"[eclPageHeaderDescriptionThumbnail]\"></ng-content>\n </picture>\n</ng-container>\n<ng-container *ngTemplateOutlet=\"content\"> </ng-container>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {\n EclPageHeaderDescriptionDirective,\n EclPageHeaderDescriptionPictureDirective,\n EclPageHeaderDescriptionThumbnailDirective,\n} from './ecl-page-header-description.directive';\nimport { EclPageHeaderTitleDirective } from './ecl-page-header-title.directive';\nimport { EclPageHeaderMetaDirective, EclPageHeaderMetaItemDirective } from './ecl-page-header-meta.directive';\nimport { EclPageHeaderComponent } from './ecl-page-header.component';\nimport { EclPageHeaderDescriptionContainerComponent } from './ecl-page-header-description/ecl-page-header-description.component';\nimport { EclPageHeaderBackgroundImageDirective, EclPageHeaderBackgroundPictureDirective } from './ecl-page-header-background.directive';\n\nconst COMPONENTS = [\n EclPageHeaderComponent,\n EclPageHeaderMetaDirective,\n EclPageHeaderMetaItemDirective,\n EclPageHeaderTitleDirective,\n EclPageHeaderDescriptionContainerComponent,\n EclPageHeaderDescriptionDirective,\n EclPageHeaderDescriptionThumbnailDirective,\n EclPageHeaderDescriptionPictureDirective,\n EclPageHeaderBackgroundPictureDirective,\n EclPageHeaderBackgroundImageDirective,\n];\n\n@NgModule({\n imports: [CommonModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclPageHeaderComponentModule {}\n", "import { Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { EclBaseEvent } from '../../model/ecl-base.event';\nimport { coerceBoolean } from '@eui/base';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { Params, QueryParamsHandling } from '@angular/router';\n\nexport class EclPaginationItemClickEvent extends EclBaseEvent {}\n\n@Component({\n selector: 'ecl-pagination-item',\n templateUrl: './ecl-pagination-item.component.html',\n encapsulation: ViewEncapsulation.None,\n})\nexport class EclPaginationItemComponent extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-pagination__item'),\n this.isCurrent ? 'ecl-pagination__item--current' : '',\n this.isNext ? 'ecl-pagination__item--next' : '',\n this.isPrevious ? 'ecl-pagination__item--previous' : '',\n ]\n .join(' ')\n .trim();\n }\n @HostBinding('attr.role') role = 'listitem';\n \n @Input() label: string;\n @Input() ariaLabel: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isCurrent: boolean | any;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isNext: boolean | any;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isPrevious: boolean | any;\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: string;\n\n @Output() pageClick = new EventEmitter<EclPaginationItemClickEvent>();\n\n onPageClick(evt: MouseEvent): void {\n this.pageClick.next(new EclPaginationItemClickEvent());\n if (!this.href) {\n evt.stopPropagation();\n }\n }\n\n geti18nPageAriaLabelKey(): string {\n let key = '';\n\n if (this.isNext) {\n key = 'ecl.pagination.GO-TO-NEXT-PAGE';\n } else if (this.isPrevious) {\n key = 'ecl.pagination.GO-TO-PREV-PAGE';\n } else {\n key = 'ecl.pagination.GO-TO-PAGE';\n }\n return key;\n }\n\n geti18nPageLabelKey(): string {\n let key = '';\n\n if (this.isNext) {\n key = 'ecl.pagination.NEXT';\n } else if (this.isPrevious) {\n key = 'ecl.pagination.PREVIOUS';\n }\n return key;\n }\n}\n", "@if (!isCurrent) {\n<a *ngIf=\"routerLink\" eclLink (click)=\"onPageClick($event)\" variant=\"standalone\"\n attr.aria-label=\"{{ ariaLabel || geti18nPageAriaLabelKey() | translate: { pageNumber: label } }}\"\n [routerLink]=\"routerLink\" [queryParams]=\"queryParams\" [queryParamsHandling]=\"queryParamsHandling\"\n class=\"ecl-pagination__link\" tabindex=\"{{tabindex}}\">\n @if (isPrevious) {\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-270\"></ecl-icon>\n }\n <span eclLinkLabel>{{ label || geti18nPageLabelKey() | translate }}</span>\n @if (isNext) {\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-90\"></ecl-icon>\n }\n</a>\n<a *ngIf=\"!routerLink\" eclLink (click)=\"onPageClick($event)\" variant=\"standalone\"\n attr.aria-label=\"{{ ariaLabel || geti18nPageAriaLabelKey() | translate: { pageNumber: label } }}\" [attr.href]=\"href\"\n class=\"ecl-pagination__link\" tabindex=\"{{tabindex}}\">\n @if (isPrevious) {\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-270\"></ecl-icon>\n }\n <span eclLinkLabel>{{ label || geti18nPageLabelKey() | translate }}</span>\n @if (isNext) {\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-90\"></ecl-icon>\n }\n</a>\n}\n@else {\n<span class=\"ecl-pagination__text ecl-pagination__text--summary\" aria-current=\"true\">\n {{ label }}\n</span>\n<span class=\"ecl-pagination__text ecl-pagination__text--full\" aria-current=\"true\">\n {{ 'ecl.pagination.PAGE' | translate: { pageNumber: label } }}\n</span>\n}", "import { Component, EventEmitter, HostBinding, Input, OnChanges, OnInit, Output } from '@angular/core';\nimport { DefaultConfig, EuiPagination } from '@eui/base';\nimport { EclBaseEvent } from '../../model/ecl-base.event';\nimport { coerceNumber } from '@eui/base';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\nexport class EclPaginationEvent extends EclBaseEvent {\n constructor(\n public readonly page: number,\n public readonly showingFrom: number,\n public readonly showingTo: number,\n ) {\n super();\n }\n}\n@Component({\n selector: 'ecl-pagination',\n templateUrl: './ecl-pagination.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclPaginationComponent extends ECLBaseDirective implements OnInit, OnChanges {\n @Input() mode: 'manual' | 'auto' = 'manual';\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceNumber @Input() totalItems: number | any = DefaultConfig.totalItems;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceNumber @Input() pageSize: number | any = DefaultConfig.pageSize;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceNumber @Input() currentPage: number | any = DefaultConfig.currentPage;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceNumber @Input() pageWindowSize: number | any = DefaultConfig.pageWindowSize;\n\n @Output() page = new EventEmitter<EclPaginationEvent>();\n\n @HostBinding('class.ecl-pagination') cmpClass = true;\n @HostBinding('attr.role') role = 'navigation';\n\n public model = EuiPagination.create();\n\n ngOnInit(): void {\n if (this.isModeAuto()) {\n setTimeout(() => {\n this.firePageEvent();\n });\n }\n }\n\n ngOnChanges(): void {\n if (this.isModeAuto()) {\n this.model = EuiPagination.create({\n totalItems: this.totalItems,\n pageSize: this.pageSize,\n currentPage: this.currentPage,\n pageWindowSize: this.pageWindowSize,\n });\n }\n }\n\n onPreviousPage(): void {\n this.model.goToPreviousPage();\n this.firePageEvent();\n }\n\n onNextPage(): void {\n this.model.goToNextPage();\n this.firePageEvent();\n }\n\n onPage(page: number): void {\n this.model.goToPage(page);\n this.firePageEvent();\n }\n\n isModeAuto(): boolean {\n return this.mode === 'auto';\n }\n\n private firePageEvent(): void {\n const evt = new EclPaginationEvent(this.model.getCurrentPage(), this.model.getShowingFrom(), this.model.getShowingTo());\n\n this.page.next(evt);\n }\n}\n", "<ul class=\"ecl-pagination__list\">\n <ng-container *ngIf=\"isModeAuto()\">\n <ecl-pagination-item *ngIf=\"model.hasPreviousPage()\" [isPrevious]=\"true\" (pageClick)=\"onPreviousPage()\"> </ecl-pagination-item>\n\n <ecl-pagination-item\n *ngFor=\"let page of model.getPages()\"\n [label]=\"page.toString()\"\n [isCurrent]=\"model.getCurrentPage() === page\"\n (pageClick)=\"onPage(page)\">\n </ecl-pagination-item>\n\n <ecl-pagination-item *ngIf=\"model.hasNextPage()\" [isNext]=\"true\" (pageClick)=\"onNextPage()\"> </ecl-pagination-item>\n </ng-container>\n\n <ng-container *ngIf=\"!isModeAuto()\">\n <ng-content></ng-content>\n </ng-container>\n</ul>\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { EclIconComponentModule } from '../ecl-icon/ecl-icon.module';\nimport { EclLinkDirectiveModule } from '../ecl-link/ecl-link.module';\nimport { EclPaginationComponent } from './ecl-pagination.component';\nimport { EclPaginationItemComponent } from './ecl-pagination-item.component';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@NgModule({\n imports: [CommonModule, RouterModule, EclIconComponentModule, EclLinkDirectiveModule, TranslateModule],\n exports: [EclPaginationComponent, EclPaginationItemComponent],\n declarations: [EclPaginationComponent, EclPaginationItemComponent],\n})\nexport class EclPaginationComponentModule {}\n", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: '[eclPopoverContent]',\n})\nexport class EclPopoverContentDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-popover__content')].join(' ').trim();\n }\n}\n", "import { Directive, ElementRef, EventEmitter, Host, HostBinding, HostListener, Output } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: '[eclPopoverToggle]',\n})\nexport class EclPopoverToggleDirective extends ECLBaseDirective {\n @HostBinding('attr.aria-expanded') isExpanded = false;\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() click = new EventEmitter();\n\n constructor(public hostElementRef: ElementRef) {\n super();\n }\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-popover__toggle')].join(' ').trim();\n }\n\n @HostListener('mouseup', ['$event'])\n onClick(evt: MouseEvent): void {\n const LEFT_BUTTON = 0;\n\n if (evt.button === LEFT_BUTTON) {\n this.click.next(null);\n }\n }\n\n public getHostElement(): HTMLElement {\n return this.hostElementRef.nativeElement;\n }\n}\n", "import { AfterContentInit, Component, ContentChild, ElementRef, HostBinding, HostListener, OnDestroy, Renderer2, ViewChild } from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { EclRtlService } from '../../services';\nimport { ECLClickOutsideDirective } from '../../utils/directives/ecl-click-outside/ecl-click-outside.directive';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclPopoverToggleDirective } from './ecl-popover-toggle.directive';\n\n@Component({\n selector: 'ecl-popover',\n templateUrl: './ecl-popover.component.html',\n hostDirectives: [\n {\n directive: ECLClickOutsideDirective,\n // eslint-disable-next-line @angular-eslint/no-outputs-metadata-property\n outputs: ['eclClickOutside'],\n },\n ],\n})\nexport class EclPopoverComponent extends ECLBaseDirective implements AfterContentInit, OnDestroy {\n @ViewChild('container') eclPopoverContainerElement: ElementRef;\n @ViewChild('scrollable') eclPopoverScrollableElement: ElementRef;\n @ContentChild(EclPopoverToggleDirective) eclPopoverToggle: EclPopoverToggleDirective;\n\n popoverPosition: string;\n isHidden = true;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private isLeft: boolean;\n private isRight: boolean;\n private isPushLeft: boolean;\n private isPushRight: boolean;\n private isPushTop: boolean;\n private isPushBottom: boolean;\n\n private readonly topClass = 'ecl-popover--top';\n private readonly bottomClass = 'ecl-popover--bottom';\n private readonly leftClass = 'ecl-popover--left';\n private readonly rightClass = 'ecl-popover--right';\n private readonly pushTopClass = 'ecl-popover--push-top';\n private readonly pushBottomClass = 'ecl-popover--push-bottom';\n private readonly pushLeftClass = 'ecl-popover--push-left';\n private readonly pushRightClass = 'ecl-popover--push-right';\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-popover'),\n ]\n .join(' ')\n .trim();\n }\n\n constructor(private el: ElementRef, private renderer: Renderer2) {\n super();\n }\n\n ngAfterContentInit(): void {\n this.eclPopoverToggle?.click.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.isHidden = !this.isHidden;\n this.checkPosition();\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n @HostListener('eclClickOutside')\n onClickOutsideMenu(): void {\n this.onClose();\n }\n\n @HostListener('document:keydown.escape', ['$event'])\n onEscapeKeydownHandler(event: KeyboardEvent): void {\n this.isHidden = true;\n }\n\n @HostListener('window:resize', ['$event'])\n onWindowResize(): void {\n this.checkPosition();\n }\n\n @HostListener('document:scroll', ['$event'])\n onDocumentScroll(): void {\n this.checkPosition();\n }\n\n onClose(): void {\n this.isHidden = true;\n this.resetStyless();\n }\n\n private checkPosition(): void {\n setTimeout(() => {\n if (!this.isHidden) {\n this.positionPopover();\n }\n });\n }\n\n private positionPopover(): void {\n this.resetStyless();\n const toggleElement = this.eclPopoverToggle.getHostElement();\n const toggleRect = toggleElement.getBoundingClientRect();\n const screenHeight = window.innerHeight;\n const screenWidth = window.innerWidth;\n\n // Calculate available space in each direction\n const spaceTop = toggleRect.top;\n const spaceBottom = screenHeight - toggleRect.bottom;\n const spaceLeft = toggleRect.left;\n const spaceRight = screenWidth - toggleRect.right;\n\n // Find the direction with the most available space\n if ((spaceTop > spaceBottom) && (spaceTop > spaceLeft) && (spaceTop > spaceRight)) {\n this.renderer.addClass(this.el.nativeElement, this.topClass);\n } else if ((spaceBottom > spaceLeft) && (spaceBottom > spaceRight)) {\n this.renderer.addClass(this.el.nativeElement, this.bottomClass);\n } else if (spaceLeft > spaceRight) {\n this.isLeft = true;\n this.renderer.addClass(this.el.nativeElement, this.leftClass);\n } else {\n this.isRight = true;\n this.renderer.addClass(this.el.nativeElement, this.rightClass);\n }\n this.handleScrollableWidth(spaceLeft, spaceRight, screenWidth);\n this.handlePushClass(screenWidth, screenHeight);\n }\n\n private handleScrollableWidth(spaceLeft: number, spaceRight: number, screenWidth: number): void {\n // Try to use as much of the available width, respecting the max-width set.\n const scrollable = this.eclPopoverScrollableElement.nativeElement;\n const styles = getComputedStyle(scrollable);\n const maxWidth = parseInt(styles.getPropertyValue('max-width'), 10);\n const minWidth = parseInt(styles.getPropertyValue('min-width'), 10);\n const padding = parseInt(styles.getPropertyValue('padding-left'), 10) * 2;\n const toggleElement = this.eclPopoverToggle.getHostElement();\n const toggleRect = toggleElement.getBoundingClientRect();\n let availableSpace = 0;\n\n if (this.isLeft || this.isRight) {\n availableSpace = (this.isLeft ? spaceLeft : spaceRight) * 0.9;\n } else {\n const centerPosition = (toggleRect.right - toggleRect.left) / 2;\n availableSpace = (screenWidth - centerPosition + this.eclPopoverContainerElement.nativeElement.offsetWidth / 2) * 0.9;\n }\n if (maxWidth + padding < availableSpace) {\n this.renderer.setStyle(scrollable, 'width', `${maxWidth}px`);\n } else if (availableSpace < minWidth + padding) {\n this.renderer.setStyle(scrollable, 'width', `${minWidth}px`);\n } else {\n this.renderer.setStyle(scrollable, 'width', `${availableSpace - padding}px`);\n }\n }\n\n private resetStyless(): void {\n const popoverContainer = this.eclPopoverContainerElement.nativeElement;\n this.isPushLeft = false;\n this.isPushRight = false;\n this.isPushTop = false;\n this.isPushBottom = false;\n this.isLeft = false;\n this.isRight = false;\n this.popoverPosition = null;\n this.renderer.removeClass(this.el.nativeElement, this.topClass);\n this.renderer.removeClass(this.el.nativeElement, this.bottomClass);\n this.renderer.removeClass(this.el.nativeElement, this.leftClass);\n this.renderer.removeClass(this.el.nativeElement, this.rightClass);\n this.renderer.removeClass(this.el.nativeElement, this.pushTopClass);\n this.renderer.removeClass(this.el.nativeElement, this.pushBottomClass);\n this.renderer.removeClass(this.el.nativeElement, this.pushLeftClass);\n this.renderer.removeClass(this.el.nativeElement, this.pushRightClass);\n this.renderer.removeStyle(popoverContainer, 'top');\n this.renderer.removeStyle(popoverContainer, 'right');\n this.renderer.removeStyle(popoverContainer, 'left');\n this.renderer.removeStyle(popoverContainer, 'bottom');\n this.renderer.removeStyle(popoverContainer, 'transform');\n this.renderer.removeStyle(this.eclPopoverScrollableElement.nativeElement, 'width');\n }\n\n private handlePushClass(screenWidth: number, screenHeight: number): void {\n const toggleElement = this.eclPopoverToggle.getHostElement();\n const toggleRect = toggleElement.getBoundingClientRect();\n const popoverRect = this.eclPopoverContainerElement.nativeElement.getBoundingClientRect();\n const popoverContainer = this.eclPopoverContainerElement.nativeElement;\n\n if (this.isLeft || this.isRight) {\n if (popoverRect.top < 0) {\n this.renderer.addClass(this.el.nativeElement, this.pushTopClass);\n this.renderer.setStyle(popoverContainer, 'top', `-${Math.round(toggleRect.top)}px`);\n this.isPushTop = true;\n } else if (popoverRect.bottom > screenHeight) {\n this.renderer.addClass(this.el.nativeElement, this.pushBottomClass);\n this.renderer.setStyle(popoverContainer, 'bottom', `-${Math.round(screenHeight - (toggleRect.bottom + 8))}px`);\n this.isPushBottom = true;\n }\n } else {\n if (popoverRect.left < 0) {\n this.renderer.addClass(this.el.nativeElement, this.pushLeftClass);\n this.renderer.setStyle(popoverContainer, 'left', `-${toggleRect.left}px`);\n this.renderer.setStyle(popoverContainer, 'right', 'auto');\n this.renderer.setStyle(popoverContainer, 'transform', 'none');\n this.isPushLeft = true;\n }\n if (popoverRect.right > screenWidth) {\n this.renderer.addClass(this.el.nativeElement, this.pushRightClass);\n this.renderer.setStyle(popoverContainer, 'left', `-${screenWidth - toggleRect.right}px`);\n this.renderer.setStyle(popoverContainer, 'right', 'auto');\n this.renderer.setStyle(popoverContainer, 'transform', 'none');\n this.isPushRight = true;\n }\n }\n\n this.handleArrowPosition();\n }\n\n private handleArrowPosition(): void {\n const toggleElement = this.eclPopoverToggle.getHostElement();\n const toggleRect = toggleElement.getBoundingClientRect();\n const popoverRect = this.eclPopoverContainerElement.nativeElement.getBoundingClientRect();\n\n if (this.isLeft || this.isRight) {\n if (this.isPushBottom) {\n this.popoverPosition = `${Math.round(toggleRect.top - popoverRect.top + toggleRect.height / 2)}px`;\n } else if (this.isPushTop) {\n this.popoverPosition = `${Math.round(popoverRect.top + toggleRect.top + toggleRect.height / 2)}px`;\n }\n } else {\n if (this.isPushRight) {\n this.popoverPosition = `${Math.round(popoverRect.right - (toggleRect.right - toggleRect.width / 2))}px`;\n } else if (this.isPushLeft) {\n this.popoverPosition = `${Math.round(popoverRect.left + toggleRect.left + toggleRect.width / 2)}px`;\n }\n }\n }\n}\n", "<ng-content select=\"[eclPopoverToggle]\"></ng-content>\n\n<div #container class=\"ecl-popover__container\" [style.--ecl-popover-position]=\"popoverPosition\" [hidden]=\"isHidden\">\n <div #scrollable class=\"ecl-popover__scrollable\">\n <button eclButton variant=\"tertiary\" (click)=\"onClose()\" class=\"ecl-popover__close\" isIconOnly>\n <span eclButtonLabel>Close</span>\n <ecl-icon icon=\"close\" size=\"m\"></ecl-icon>\n </button>\n <ng-content select=\"[eclPopoverContent]\"></ng-content>\n </div>\n</div>\n", "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EclButtonComponentModule } from '../ecl-button';\nimport { EclIconComponentModule } from '../ecl-icon/ecl-icon.module';\nimport { EclLinkDirectiveModule } from '../ecl-link';\nimport { EclPopoverContentDirective } from './ecl-popover-content.directive';\nimport { EclPopoverToggleDirective } from './ecl-popover-toggle.directive';\nimport { EclPopoverComponent } from './ecl-popover.component';\n\nconst COMPONENTS = [\n EclPopoverComponent,\n EclPopoverContentDirective,\n EclPopoverToggleDirective,\n];\n\n@NgModule({\n imports: [CommonModule, EclIconComponentModule, EclLinkDirectiveModule, EclButtonComponentModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclPopoverComponentModule {}\n", "import { Component, HostBinding, Input } from '@angular/core';\nimport { coerceBoolean } from '@eui/base';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[eclRadioHelp]',\n templateUrl: './ecl-radio-help.component.html',\n})\nexport class EclRadioHelpComponent extends ECLBaseDirective {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() @HostBinding('class.ecl-radio__help--disabled') isDisabled: boolean | any = false;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-radio__help')].join(' ').trim();\n }\n}\n", "<ng-content></ng-content>\n", "import { Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\nimport { coerceBoolean } from '@eui/base';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[eclRadioLabel]',\n templateUrl: './ecl-radio-label.component.html',\n encapsulation: ViewEncapsulation.None,\n})\nexport class EclRadioLabelComponent extends ECLBaseDirective {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isInvalid: boolean | any = false;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isDisabled: boolean | any = false;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-radio__label')].join(' ').trim();\n }\n}\n", "<span class=\"ecl-radio__box\" [class.ecl-radio__box--disabled]=\"isDisabled\" [class.ecl-radio__box--invalid]=\"isInvalid\">\n <span class=\"ecl-radio__box-inner\"></span>\n</span>\n\n<ng-content></ng-content>\n", "import { ContentChild, Directive, DoCheck, forwardRef, HostBinding, Input } from '@angular/core';\nimport { coerceBoolean } from '@eui/base';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclRadioHelpComponent } from './ecl-radio-help.component';\nimport { EclRadioLabelComponent } from './ecl-radio-label.component';\n\n@Directive({\n selector: '[eclRadio]',\n})\nexport class EclRadioDirective extends ECLBaseDirective implements DoCheck {\n @coerceBoolean @Input() isBinary: boolean;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() @HostBinding('class.ecl-radio--disabled') isDisabled: boolean | any = false;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() @HostBinding('class.ecl-radio--invalid') isInvalid: boolean | any = false;\n\n @ContentChild(forwardRef(() => EclRadioLabelComponent)) eclRadioLabelComponent: EclRadioLabelComponent;\n @ContentChild(forwardRef(() => EclRadioHelpComponent)) eclRadioHelpComponent: EclRadioHelpComponent;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-radio'), this.isBinary ? 'ecl-radio--binary' : ''].join(' ').trim();\n }\n\n ngDoCheck(): void {\n this.updateChildElements();\n }\n\n private updateChildElements(): void {\n if (this.eclRadioLabelComponent) {\n this.eclRadioLabelComponent.isInvalid = this.isInvalid;\n this.eclRadioLabelComponent.isDisabled = this.isDisabled;\n }\n\n if (this.eclRadioHelpComponent) {\n this.eclRadioHelpComponent.isDisabled = this.isDisabled;\n }\n }\n}\n", "import { Directive, HostBinding, Optional, Self, ChangeDetectorRef, DoCheck, Inject, forwardRef } from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { EclRadioDirective } from './ecl-radio.directive';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: 'input[eclRadioInput]',\n})\nexport class EclRadioInputDirective extends ECLBaseDirective implements DoCheck {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-radio__input')].join(' ').trim();\n }\n\n constructor(\n @Inject(forwardRef(() => EclRadioDirective)) public eclRadio: EclRadioDirective,\n @Optional() @Self() protected ngControl: NgControl,\n protected cd: ChangeDetectorRef,\n ) {\n super();\n }\n\n ngDoCheck(): void {\n if (this.ngControl) {\n if (this.eclRadio) {\n this.eclRadio.isInvalid = this.ngControl.invalid && this.ngControl.touched;\n this.eclRadio.isDisabled = this.ngControl.disabled;\n }\n }\n }\n}\n", "import { CommonModule } from '@angular/common';\nimport { EclRadioInputDirective } from './ecl-radio-input.directive';\nimport { NgModule } from '@angular/core';\nimport { EclRadioDirective } from './ecl-radio.directive';\nimport { EclRadioHelpComponent } from './ecl-radio-help.component';\nimport { EclRadioLabelComponent } from './ecl-radio-label.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [EclRadioDirective, EclRadioInputDirective, EclRadioLabelComponent, EclRadioHelpComponent],\n declarations: [EclRadioDirective, EclRadioInputDirective, EclRadioLabelComponent, EclRadioHelpComponent],\n})\nexport class EclRadioDirectiveModule {}\n", "import { Component, EventEmitter, forwardRef, HostBinding, Input, Output, Provider } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { coerceBoolean, coerceNumber } from '@eui/base';\nimport { EclBaseEvent } from '../../model';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\nexport class EclRatingChangeEvent extends EclBaseEvent {\n constructor(public readonly value: number) {\n super();\n }\n}\n\nexport const ECL_RATINGFIELD_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EclRatingFieldComponent),\n multi: true,\n};\n\nconst noop = (): void => {\n /** empty */\n};\n\n@Component({\n selector: 'ecl-rating-field',\n templateUrl: './ecl-rating-field.component.html',\n providers: [ECL_RATINGFIELD_VALUE_ACCESSOR],\n})\nexport class EclRatingFieldComponent extends ECLBaseDirective implements ControlValueAccessor {\n @Input() name = 'rating';\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceNumber @Input() numberOfStars: number | any = 5;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceNumber @Input() rating: number | any;\n\n @coerceBoolean\n @Input()\n @HostBinding('attr.disabled')\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n disabled: boolean | any;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Output() ratingChange = new EventEmitter<any>();\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private onChange: (_: any) => void = noop;\n private onTouched: () => void = noop;\n\n constructor() {\n super();\n }\n\n get numbers(): Array<number> {\n return Array(this.numberOfStars)\n .fill(0)\n .map((_, i) => this.numberOfStars - i);\n }\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-rating-field'), this.disabled ? 'ecl-rating-field--disabled' : ''].join(' ').trim();\n }\n\n onRadioClick(rating: number): void {\n this.rating = rating;\n this.onTouched();\n this.onChange(this.rating);\n\n const evt = new EclRatingChangeEvent(rating);\n this.ratingChange.next(evt);\n }\n\n writeValue(value: number): void {\n this.rating = value;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled || null;\n }\n \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n}\n", "<ng-container *ngFor=\"let n of numbers\">\n <input\n type=\"radio\"\n id=\"{{ name }}-{{ n }}\"\n [name]=\"name\"\n class=\"ecl-rating-field__input\"\n [value]=\"n\"\n required=\"\"\n [attr.checked]=\"rating === n ? true : undefined\"\n [attr.disabled]=\"disabled ? true : undefined\"\n (click)=\"onRadioClick(n)\" />\n <label class=\"ecl-rating-field__label\" for=\"{{ name }}-{{ n }}\">\n <span class=\"ecl-u-sr-only\">{{ n }} stars</span>\n <ecl-icon icon=\"star-filled\" class=\"ecl-rating-field__icon-filled\" size=\"m\"> </ecl-icon>\n <ecl-icon icon=\"star-outline\" class=\"ecl-rating-field__icon-outline\" size=\"m\"> </ecl-icon>\n </label>\n</ng-container>\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclRatingFieldComponent } from './ecl-rating-field.component';\nimport { EclIconComponentModule } from '../ecl-icon';\n\nconst COMPONENTS = [EclRatingFieldComponent];\n\n@NgModule({\n imports: [CommonModule, EclIconComponentModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclRatingFieldComponentModule {}\n", "import { Component, HostBinding, Input } from '@angular/core';\nimport { coerceBoolean } from '@eui/base';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n selector: 'ecl-range-value',\n templateUrl: './ecl-range-value.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclRangeValueComponent extends ECLBaseDirective {\n @Input() value: number;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-range__value')].join(' ').trim();\n }\n}\n", "{{ 'ecl.common.VALUE' | translate }}: <span class=\"ecl-range__value-current\"> {{ value }} </span>\n", "import { Directive, EventEmitter, HostBinding, HostListener, Input, OnInit, Optional, Output, Self, ViewContainerRef } from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { coerceBoolean } from '@eui/base';\nimport { distinctUntilChanged } from 'rxjs';\nimport { EclBaseEvent } from '../../model/ecl-base.event';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclRangeValueComponent } from './ecl-range-value.component';\n\nexport class EclRangeEvent extends EclBaseEvent {\n constructor(public value: number) {\n super();\n }\n}\n\n@Directive({\n selector: 'input[eclRange]',\n})\nexport class EclRangeDirective extends ECLBaseDirective implements OnInit {\n @Input() eclSize = 'm';\n @Input() value: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() hasValueLabel: boolean | any = true;\n\n @Output() rangeChange = new EventEmitter<EclRangeEvent>();\n\n private rangeValueComponent: EclRangeValueComponent;\n\n constructor(\n private viewContainerRef: ViewContainerRef,\n @Optional() @Self() protected ngControl: NgControl,\n ) {\n super();\n }\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-range'), this.eclSize ? `ecl-range--${this.eclSize}` : ''].join(' ').trim();\n }\n\n ngOnInit(): void {\n this.createRangeValueComponent();\n this.initializeRangeValueComponent();\n this.observeReactiveFormValueChanges();\n }\n\n @HostListener('input', ['$event'])\n onInput(evt: InputEvent): void {\n if (!this.ngControl) {\n const target = evt.target as HTMLInputElement;\n this.updateRangeValue(target.value);\n }\n }\n\n private createRangeValueComponent(): void {\n const componentRef = this.viewContainerRef.createComponent(EclRangeValueComponent);\n this.rangeValueComponent = componentRef.instance;\n }\n\n private initializeRangeValueComponent(): void {\n const initialValue = this.ngControl ? this.ngControl.value : this.value;\n this.updateRangeValue(initialValue);\n }\n\n private observeReactiveFormValueChanges(): void {\n this.ngControl?.valueChanges.pipe(distinctUntilChanged()).subscribe((value: string) => {\n this.updateRangeValue(value);\n });\n }\n\n private updateRangeValue(value: string): void {\n const numberValue = parseInt(value, 10);\n\n this.rangeValueComponent.value = numberValue;\n this.rangeChange.next(new EclRangeEvent(numberValue));\n }\n}\n", "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclRangeValueComponent } from './ecl-range-value.component';\nimport { EclRangeDirective } from './ecl-range.directive';\n\nconst COMPONENTS = [EclRangeDirective, EclRangeValueComponent];\n\n@NgModule({\n imports: [CommonModule, TranslateModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclRangeDirectiveModule {}\n", "import { Component, HostBinding, Input } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n selector: 'ecl-select-container',\n templateUrl: './ecl-select-container.component.html',\n})\nexport class EclSelectContainerComponent extends ECLBaseDirective {\n @Input() eclSize = 'm';\n @Input() disabled: boolean;\n @Input() isInvalid: boolean;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-select__container'),\n this.eclSize ? `ecl-select__container--${this.eclSize}` : '',\n this.disabled ? 'ecl-select__container--disabled' : '',\n this.isInvalid ? 'ecl-select__container--invalid' : '',\n ]\n .join(' ')\n .trim();\n }\n}\n", "<div class=\"ecl-select__icon\">\n <ecl-icon icon=\"corner-arrow\" size=\"s\" transform=\"rotate-180\" class=\"ecl-select__icon-shape\"> </ecl-icon>\n</div>\n", "import { Directive, DoCheck, ElementRef, HostBinding, Input, OnInit, Optional, Self, ViewContainerRef } from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { coerceBoolean } from '@eui/base';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclSelectContainerComponent } from './ecl-select-container.component';\n\n@Directive({\n selector: 'select[eclSelect]',\n})\nexport class EclSelectDirective extends ECLBaseDirective implements OnInit, DoCheck {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() @HostBinding('attr.disabled') disabled: boolean | any = false;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isInvalid: boolean | any = false;\n @Input() eclSize = 'm';\n\n private containerComponent: EclSelectContainerComponent;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-select')].join(' ').trim();\n }\n\n @HostBinding('attr.disabled')\n get isDisabled(): boolean {\n if (this.ngControl) {\n return this.ngControl.disabled || null;\n } else {\n return this.disabled || null;\n }\n }\n\n @HostBinding('class.ecl-select--invalid')\n get isInvalidState(): boolean {\n if (this.ngControl) {\n return this.ngControl.status === 'INVALID' && this.ngControl.touched;\n } else {\n return this.isInvalid;\n }\n }\n\n constructor(\n @Optional() @Self() private ngControl: NgControl,\n private el: ElementRef,\n private viewContainerRef: ViewContainerRef,\n ) {\n super();\n }\n\n ngOnInit(): void {\n const containerComponentRef = this.viewContainerRef.createComponent(EclSelectContainerComponent);\n\n this.containerComponent = containerComponentRef.instance;\n this.containerComponent.eclSize = this.eclSize;\n this.containerComponent.disabled = this.isDisabled;\n this.containerComponent.isInvalid = this.isInvalidState;\n\n containerComponentRef.location.nativeElement.prepend(this.el.nativeElement);\n }\n\n ngDoCheck(): void {\n this.containerComponent.eclSize = this.eclSize;\n this.containerComponent.disabled = this.isDisabled;\n this.containerComponent.isInvalid = this.isInvalidState;\n }\n}\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclIconComponentModule } from '../ecl-icon/ecl-icon.module';\nimport { EclSelectDirective } from './ecl-select.directive';\nimport { EclSelectContainerComponent } from './ecl-select-container.component';\n\nconst COMPONENTS = [EclSelectDirective, EclSelectContainerComponent];\n\n@NgModule({\n imports: [CommonModule, EclIconComponentModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclSelectDirectiveModule {}\n", "import { Component, HostBinding, Input, booleanAttribute } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n selector: 'ecl-social-media-follow',\n templateUrl: './ecl-social-media-follow.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclSocialMediaFollowComponent extends ECLBaseDirective {\n @Input() description: string;\n @Input({ transform: booleanAttribute }) isVertical = false;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-social-media-follow'), this.isVertical ? 'ecl-social-media-follow--vertical' : '']\n .join(' ')\n .trim();\n }\n}\n", "<p *ngIf=\"description\" class=\"ecl-social-media-follow__description\">{{ description }}</p>\n<ul class=\"ecl-social-media-follow__list\">\n <ng-content></ng-content>\n</ul>\n", "import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { EclBaseEvent } from '../../model/ecl-base.event';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\nexport class EclSocialMediaFollowItemClickEvent extends EclBaseEvent {}\n\n@Component({\n selector: 'ecl-social-media-follow-item',\n templateUrl: './ecl-social-media-follow-item.component.html',\n})\nexport class EclSocialMediaFollowItemComponent extends ECLBaseDirective {\n @HostBinding('attr.role') role = 'listitem';\n @Input() icon: string;\n @Input() iconSet = 'social-media';\n @Input() href = '';\n @Input() routerLink = '';\n @Input() target: string;\n @Input() size = 'xs';\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-social-media-follow__item')].join(' ').trim();\n }\n\n @Output() itemClick = new EventEmitter<EclSocialMediaFollowItemClickEvent>();\n\n onItemClick(evt): void {\n this.itemClick.next(new EclSocialMediaFollowItemClickEvent());\n if (!this.href && !this.routerLink) {\n evt.preventDefault();\n }\n }\n}\n", "@if(href) {\n<a eclLink (click)=\"onItemClick($event)\" variant=\"standalone\" [href]=\"href\" [attr.target]=\"target\"\n class=\"ecl-social-media-follow__link\">\n @if(icon) {\n <ecl-icon [iconSet]=\"iconSet\" icon=\"{{ icon }}\" [size]=\"size\" class=\"ecl-social-media-follow__icon\"> </ecl-icon>\n }\n <span eclLinkLabel>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </span>\n</a>\n}\n\n@if(!href && routerLink) {\n<a eclLink (click)=\"onItemClick($event)\" variant=\"standalone\" [routerLink]=\"routerLink\" [attr.target]=\"target\"\n class=\"ecl-social-media-follow__link\">\n @if(icon) {\n <ecl-icon [iconSet]=\"iconSet\" icon=\"{{ icon }}\" [size]=\"size\" class=\"ecl-social-media-follow__icon\"> </ecl-icon>\n }\n <span eclLinkLabel>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </span>\n</a>\n}\n\n@if(!href && !routerLink) {\n<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n}\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>", "import { Directive, HostBinding, ContentChild, AfterContentInit } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclIconComponent } from '../ecl-icon/ecl-icon.component';\n\n@Directive({\n selector: '[eclSocialMediaFollowLink]',\n})\nexport class EclSocialMediaFollowLinkDirective extends ECLBaseDirective implements AfterContentInit {\n @ContentChild(EclIconComponent) eclIcon: EclIconComponent;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-social-media-follow__link')].join(' ').trim();\n }\n\n ngAfterContentInit(): void {\n if (this.eclIcon) {\n setTimeout(() => (this.eclIcon.class = [this.eclIcon.class, 'ecl-social-media-follow__icon'].join(' ')));\n }\n }\n}\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { EclSocialMediaFollowComponent } from './ecl-social-media-follow.component';\nimport { EclSocialMediaFollowItemComponent } from './ecl-social-media-follow-item.component';\nimport { EclIconComponentModule } from '../ecl-icon/ecl-icon.module';\nimport { EclLinkDirectiveModule } from '../ecl-link/ecl-link.module';\nimport { EclSocialMediaFollowLinkDirective } from './ecl-social-media-follow-link.directive';\n\nconst COMPONENTS = [EclSocialMediaFollowComponent, EclSocialMediaFollowItemComponent, EclSocialMediaFollowLinkDirective];\n@NgModule({\n imports: [CommonModule, RouterModule, EclIconComponentModule, EclLinkDirectiveModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclSocialMediaFollowComponentModule {}\n", "import { Component, HostBinding, Input } from '@angular/core';\nimport { coerceBoolean } from '@eui/base';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n selector: 'ecl-social-media-share',\n templateUrl: './ecl-social-media-share.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclSocialMediaShareComponent extends ECLBaseDirective {\n @Input() description: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isVertical: boolean | any = false;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-social-media-share'), this.isVertical ? 'ecl-social-media-share--vertical' : ''].join(' ').trim();\n }\n}\n", "<p class=\"ecl-social-media-share__description\">{{ description }}</p>\n<ul class=\"ecl-social-media-share__list\">\n <ng-content></ng-content>\n</ul>\n", "import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { EclBaseEvent } from '../../model/ecl-base.event';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\nexport class EclSocialMediaShareItemClickEvent extends EclBaseEvent {}\n\n@Component({\n selector: 'ecl-social-media-share-item',\n templateUrl: './ecl-social-media-share-item.component.html',\n})\nexport class EclSocialMediaShareItemComponent extends ECLBaseDirective {\n @HostBinding('attr.role') role = 'listitem';\n @Input() icon: string;\n @Input() iconSet = 'social-media';\n @Input() size = 'm';\n @Input() href = '';\n @Input() target: string;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-social-media-share__item')].join(' ').trim();\n }\n\n @Output() itemClick = new EventEmitter<EclSocialMediaShareItemClickEvent>();\n\n onItemClick(evt): void {\n this.itemClick.next(new EclSocialMediaShareItemClickEvent());\n if (!this.href) {\n evt.preventDefault();\n }\n }\n}\n", "<a\n eclLink\n *ngIf=\"href\"\n (click)=\"onItemClick($event)\"\n variant=\"standalone\"\n [href]=\"href\"\n [attr.target]=\"target\"\n class=\"ecl-social-media-share__link\">\n <ecl-icon *ngIf=\"icon\" [iconSet]=\"iconSet\" icon=\"{{ icon }}\" [size]=\"size\" class=\"ecl-social-media-share__icon\"> </ecl-icon>\n\n <span eclLinkLabel>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </span>\n</a>\n\n<ng-container *ngIf=\"!href\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</ng-container>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", "import { Directive, HostBinding, ContentChild, AfterContentInit } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclIconComponent } from '../ecl-icon/ecl-icon.component';\n\n@Directive({\n selector: '[eclSocialMediaShareLink]',\n})\nexport class EclSocialMediaShareLinkDirective extends ECLBaseDirective implements AfterContentInit {\n @ContentChild(EclIconComponent) eclIcon: EclIconComponent;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-social-media-share__link')].join(' ').trim();\n }\n\n ngAfterContentInit(): void {\n if (this.eclIcon) {\n setTimeout(() => (this.eclIcon.class = [this.eclIcon.class, 'ecl-social-media-share__icon'].join(' ')));\n }\n }\n}\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclSocialMediaShareComponent } from './ecl-social-media-share.component';\nimport { EclSocialMediaShareItemComponent } from './ecl-social-media-share-item.component';\nimport { EclLinkDirectiveModule } from '../ecl-link/ecl-link.module';\nimport { EclIconComponentModule } from '../ecl-icon/ecl-icon.module';\nimport { EclSocialMediaShareLinkDirective } from './ecl-social-media-share-link.directive';\n\nconst COMPONENTS = [EclSocialMediaShareComponent, EclSocialMediaShareItemComponent, EclSocialMediaShareLinkDirective];\n@NgModule({\n imports: [CommonModule, EclLinkDirectiveModule, EclIconComponentModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclSocialMediaShareComponentModule {}\n", "import { Component, HostBinding, Input, booleanAttribute } from '@angular/core';\n\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n selector: 'ecl-loading-indicator',\n templateUrl: './ecl-loading-indicator.component.html',\n})\nexport class EclLoadingIndicatorComponent extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-spinner'),\n `ecl-spinner--${this.size}`,\n `ecl-spinner--${this.variant}`,\n this.isCentered ? 'ecl-spinner--centered' : '',\n this.isVisible ? 'ecl-spinner--visible' : '',\n ]\n .join(' ')\n .trim();\n }\n\n @Input() size: 's' | 'm' | 'l' = 'm';\n @Input() variant: 'primary' | 'inverted' = 'primary';\n @Input({ transform: booleanAttribute }) isCentered = true;\n @Input({ transform: booleanAttribute }) isVisible = true;\n}\n", "<svg class=\"ecl-spinner__loader\" viewBox=\"25 25 50 50\">\n <circle\n class=\"ecl-spinner__circle\"\n cx=\"50\"\n cy=\"50\"\n r=\"20\"\n fill=\"none\"\n stroke-width=\"4px\"\n stroke-miterlimit=\"10\"\n vector-effect=\"non-scaling-stroke\"></circle>\n</svg>\n<ng-content></ng-content>\n", "import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[eclLoadingIndicatorLabel]',\n})\nexport class EclLoadingIndicatorLabelDirective {\n @HostBinding('class.ecl-spinner__text') className = true;\n}\n", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: '[eclLoadingIndicatorOverlay]',\n})\nexport class EclLoadingIndicatorOverlayDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-spinner__overlay ecl-spinner__overlay--visible')].join(' ').trim();\n }\n}\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclLoadingIndicatorComponent } from './ecl-loading-indicator.component';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclLoadingIndicatorLabelDirective } from './ecl-loading-indicator-label.directive';\nimport { EclLoadingIndicatorOverlayDirective } from './ecl-loading-indicator-overlay.directive';\n\n@NgModule({\n imports: [CommonModule, TranslateModule],\n exports: [EclLoadingIndicatorComponent, EclLoadingIndicatorLabelDirective, EclLoadingIndicatorOverlayDirective],\n declarations: [EclLoadingIndicatorComponent, EclLoadingIndicatorLabelDirective, EclLoadingIndicatorOverlayDirective],\n})\nexport class EclLoadingIndicatorComponentModule {}\n", "import { Component, HostBinding } from '@angular/core';\nimport { EclThemeService } from '../../services';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[eclTableSortButton]',\n templateUrl: './ecl-table-sort-button.component.html',\n})\nexport class EclTableSortButtonComponent extends ECLBaseDirective {\n @HostBinding('attr.aria-label') ariaLabel = 'Sort table';\n\n constructor(public eclThemeService: EclThemeService) {\n super();\n }\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__arrow')].join(' ').trim();\n }\n}\n", "<ecl-icon icon=\"solid-arrow\" class=\"ecl-table__icon ecl-table__icon-up\" [size]=\"(eclThemeService.isEC$ | async) ? 'xs' : 'm'\"> </ecl-icon>\n<ecl-icon icon=\"solid-arrow\" class=\"ecl-table__icon ecl-table__icon-down\" [size]=\"(eclThemeService.isEC$ | async) ? 'xs' : 'm'\"> </ecl-icon>\n", "import {\n AfterContentInit,\n ContentChildren,\n Directive,\n DoCheck,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n IterableDiffer,\n IterableDiffers,\n OnDestroy,\n Output,\n QueryList,\n ViewContainerRef,\n booleanAttribute,\n Renderer2,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { EclBaseEvent } from '../../model';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclTableSortButtonComponent } from './ecl-table-sort-button.component';\n\nexport enum SortOrder {\n DESCENDING = 'descending',\n ASCENDING = 'ascending',\n}\n\nexport class EclSortTableEvent extends EclBaseEvent {\n constructor(\n public sortOrder: SortOrder,\n public columnId: string,\n ) {\n super();\n }\n}\n\n@Directive({\n selector: '[eclTable]',\n})\nexport class EclTableDirective extends ECLBaseDirective implements DoCheck, OnDestroy {\n @Input({ transform: booleanAttribute }) @HostBinding('class.ecl-table--zebra') isZebra = false;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table'), this.isZebra ? 'ecl-table--zebra' : ''].join(' ').trim();\n }\n\n @Output() sort = new EventEmitter<EclSortTableEvent>();\n\n @ContentChildren(forwardRef(() => EclTableHeaderDirective), { descendants: true })\n eclTableHeaders: QueryList<EclTableHeaderDirective>;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private differ: IterableDiffer<EclTableHeaderDirective>;\n\n constructor(private differs: IterableDiffers) {\n super();\n this.differ = this.differs.find([]).create();\n }\n\n ngDoCheck(): void {\n const diff = this.differ.diff(this.eclTableHeaders);\n if (diff) {\n diff.forEachAddedItem((change) => {\n change.item.sort.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.sort.emit(evt);\n });\n });\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n}\n\n@Directive({\n selector: '[eclTableHead]',\n})\nexport class EclTableHeadDirective extends ECLBaseDirective implements OnDestroy, DoCheck {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__head')].join(' ').trim();\n }\n\n @ContentChildren(forwardRef(() => EclTableHeaderDirective), { descendants: true })\n eclTableHeaders: QueryList<EclTableHeaderDirective>;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private differ: IterableDiffer<EclTableHeaderDirective>;\n\n constructor(private differs: IterableDiffers) {\n super();\n this.differ = this.differs.find([]).create();\n }\n\n ngDoCheck(): void {\n const diff = this.differ.diff(this.eclTableHeaders);\n if (diff) {\n diff.forEachAddedItem((change) => {\n change.item.sort.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.eclTableHeaders.forEach((th) => {\n th.removeAriaSort();\n });\n });\n });\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n}\n\n@Directive({\n selector: '[eclTableHeader]',\n})\nexport class EclTableHeaderDirective extends ECLBaseDirective implements AfterContentInit {\n @HostBinding('attr.aria-sort') sortOrder: SortOrder = null;\n @Input() @HostBinding('attr.data-ecl-table-sort-toggle') eclSortable = null;\n @Input() sortButtonAriaLabel: string;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__header')].join(' ').trim();\n }\n\n @Output() sort = new EventEmitter<EclSortTableEvent>();\n\n constructor(\n private el: ElementRef,\n private viewContainerRef: ViewContainerRef,\n private renderer: Renderer2,\n ) {\n super();\n }\n\n ngAfterContentInit(): void {\n this.initSortButtons();\n }\n\n // Remove the dark arrow for current sorting from prev sorted column\n removeAriaSort(): void {\n this.el.nativeElement.removeAttribute('aria-sort');\n }\n\n // Click triggers 1 -> asc sorting, 2 -> desc sorting then 3 -> initial sorting\n @HostListener('click', ['$event'])\n onClick(evt: Event): void {\n if (this.eclSortable) {\n switch (this.sortOrder) {\n case null: {\n this.sortOrder = SortOrder.ASCENDING;\n break;\n }\n case SortOrder.ASCENDING: {\n this.sortOrder = SortOrder.DESCENDING;\n break;\n }\n case SortOrder.DESCENDING: {\n this.sortOrder = null;\n break;\n }\n }\n\n this.sort.emit(new EclSortTableEvent(this.sortOrder, this.eclSortable));\n }\n }\n\n private initSortButtons(): void {\n if (this.eclSortable) {\n setTimeout(() => {\n const containerComponentRef = this.viewContainerRef.createComponent(EclTableSortButtonComponent);\n this.renderer.appendChild(this.el.nativeElement, containerComponentRef.location.nativeElement);\n if (this.sortButtonAriaLabel) {\n containerComponentRef.instance.ariaLabel = this.sortButtonAriaLabel;\n }\n });\n }\n }\n}\n\n@Directive({\n selector: '[eclTableRow]',\n})\nexport class EclTableRowDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__row')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclTableBody]',\n})\nexport class EclTableBodyDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__body')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclTableCell]',\n})\nexport class EclTableCellDirective extends ECLBaseDirective {\n @Input() @HostBinding('attr.data-ecl-table-header') eclTableCellHeader: string;\n @Input() @HostBinding('class.ecl-table__cell--group') isGroup = false;\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__cell'), this.isGroup ? 'ecl-table__cell--group' : ''].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclTableCellGroup]',\n})\nexport class EclTableCellGroupDirective extends ECLBaseDirective {\n @Input() @HostBinding('attr.data-ecl-table-header-group') eclTableCellGroup: string;\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__cell--group')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclTableResponsive]',\n})\nexport class EclTableResponsiveDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table-responsive')].join(' ').trim();\n }\n}\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {\n EclTableDirective,\n EclTableHeadDirective,\n EclTableHeaderDirective,\n EclTableRowDirective,\n EclTableBodyDirective,\n EclTableCellDirective,\n EclTableCellGroupDirective,\n EclTableResponsiveDirective,\n} from './ecl-table.directive';\nimport { EclTableSortButtonComponent } from './ecl-table-sort-button.component';\nimport { EclIconComponentModule } from '../ecl-icon';\n\nconst COMPONENTS = [\n EclTableDirective,\n EclTableHeadDirective,\n EclTableHeaderDirective,\n EclTableRowDirective,\n EclTableBodyDirective,\n EclTableCellDirective,\n EclTableCellGroupDirective,\n EclTableSortButtonComponent,\n EclTableResponsiveDirective,\n];\n@NgModule({\n imports: [CommonModule, EclIconComponentModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclTableDirectiveModule {}\n", "import { Component, ElementRef } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n selector: 'ecl-tab-label',\n templateUrl: './ecl-tab-label.component.html',\n})\nexport class EclTabLabelComponent extends ECLBaseDirective {\n constructor(public el: ElementRef) {\n super();\n }\n}\n", "<ng-content></ng-content>\n", "import {\n AfterViewInit,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { coerceBoolean } from '@eui/base';\nimport { EclBaseEvent } from '../../model/ecl-base.event';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclLinkDirective } from '../ecl-link';\nimport { EclTabLabelComponent } from './ecl-tab-label.component';\n\nexport class EclTabSelectEvent extends EclBaseEvent {\n constructor(public tab: EclTab) {\n super();\n }\n}\n\nexport interface EclTab {\n id?: string;\n}\n\n@Component({\n selector: 'ecl-tab, li[eclTab]',\n templateUrl: './ecl-tab.component.html',\n})\nexport class EclTabComponent extends ECLBaseDirective implements EclTab, AfterViewInit {\n @Input() id: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() @HostBinding('attr.aria-hidden') isHidden: boolean | any = false;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isActive: boolean | any = false;\n\n @Output() selectTab = new EventEmitter<EclTabSelectEvent>();\n @Output() keydownTab = new EventEmitter<Event>();\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @ViewChild('content') contentTemplate: TemplateRef<any>;\n @ViewChild(EclLinkDirective) link: EclLinkDirective;\n\n @ContentChild(EclTabLabelComponent) label: EclTabLabelComponent;\n\n @HostBinding('attr.role') role = 'presentation';\n\n public tabLabel = '';\n private isFirstCall = true;\n private width: number;\n\n constructor(private elementRef: ElementRef) {\n super();\n }\n\n public get hostElement(): HTMLElement {\n return this.elementRef.nativeElement;\n }\n\n ngAfterViewInit(): void {\n this.tabLabel = this.label.el.nativeElement.innerHTML;\n }\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-tabs__item')].join(' ').trim();\n }\n\n getTabLabel(): string {\n return this.label.el.nativeElement.innerHTML;\n }\n\n public getWidth(): number {\n if (this.isFirstCall) {\n this.width = this.hostElement.getBoundingClientRect().width;\n this.isFirstCall = false;\n }\n return this.width;\n }\n\n onTabClick(): void {\n this.selectTab.next(new EclTabSelectEvent(this));\n }\n\n onKeydown(event: Event): void {\n this.keydownTab.next(event);\n }\n\n onFocus(): void {\n this.link.el.nativeElement.focus();\n }\n\n onBlur(): void {\n this.link.el.nativeElement.blur();\n }\n}\n", "<a\n eclLink\n role=\"tab\"\n class=\"ecl-tabs__link\"\n [class.ecl-tabs__link--active]=\"isActive\"\n [attr.aria-selected]=\"isActive\"\n tabindex=\"0\"\n (keydown)=\"onKeydown($event)\"\n (click)=\"onTabClick()\">\n <ng-content select=\"ecl-tab-label\"></ng-content>\n</a>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", "import { Component, HostBinding, Input } from '@angular/core';\nimport { coerceBoolean } from '@eui/base';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n selector: 'ecl-tab-more',\n templateUrl: './ecl-tab-more.component.html',\n styles: [\n `\n :host {\n display: list-item;\n }\n `,\n ],\n})\nexport class EclTabMoreComponent extends ECLBaseDirective {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() @HostBinding('attr.aria-hidden') isHidden: boolean | any = false;\n\n @HostBinding('attr.role') role = 'presentation';\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-tabs__item ecl-tabs__item--more')].join(' ').trim();\n }\n}\n", "<ng-content></ng-content>\n", "import { BreakpointObserver } from '@angular/cdk/layout';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostListener,\n Input,\n IterableChanges,\n IterableDiffer,\n IterableDiffers,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { Observable, of, Subject } from 'rxjs';\nimport { mergeWith, takeUntil } from 'rxjs/operators';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { EclButtonComponent } from '../ecl-button';\nimport { EclTabComponent, EclTabSelectEvent } from './ecl-tab.component';\nimport { KeyCode } from '../../utils';\nimport { EclRtlService } from '../../services';\n\nexport enum ShiftDirection {\n NEXT = 'next',\n PREVIOUS = 'prev',\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'nav[eclTabs], ecl-tabs',\n templateUrl: './ecl-tabs.component.html',\n encapsulation: ViewEncapsulation.None,\n})\nexport class EclTabsComponent extends ECLBaseDirective implements OnInit, AfterViewInit, AfterContentInit, OnDestroy {\n @Input() bodyClass = 'ecl-u-mt-s';\n /**\n * @deprecated To be removed in 18 version. No alternative, should not be used.\n */\n @Input() direction: 'rtl' | 'ltr' = 'ltr';\n @Output() tabSelect = new EventEmitter<EclTabSelectEvent>();\n\n @ContentChildren(forwardRef(() => EclTabComponent)) tabs: QueryList<EclTabComponent>;\n\n @ViewChild('tabsList') tabsList: ElementRef;\n @ViewChild('moreButton') moreButton: EclButtonComponent;\n @ViewChild('btnPrev') btnPrev: ElementRef;\n @ViewChild('btnNext') btnNext: ElementRef;\n @ViewChild('dropdownList') dropdownList: ElementRef;\n dropdownTabs: Array<EclTabComponent> = [];\n listTabs: Array<EclTabComponent> = [];\n\n index = 0;\n isDropdownExpanded = false;\n isMobileBreakpoint = false;\n isMoreButtonShow = true;\n isScrollPrevBtnShow = false;\n isScrollNextBtnShow = false;\n styleTransform = 'translate3d(0px, 0px, 0px)';\n\n private differ: IterableDiffer<EclTabComponent>;\n private diff: IterableChanges<EclTabComponent>;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private isFirstCall = true;\n private isRtl = false;\n private moreBtnWidth: number;\n private TIMEOUT_INTERVAL = 300;\n\n constructor(\n private differs: IterableDiffers,\n private cdkBreakpointObserver: BreakpointObserver,\n private cd: ChangeDetectorRef,\n private el: ElementRef,\n private eclRtlService: EclRtlService,\n ) {\n super();\n this.differ = this.differs.find([]).create();\n }\n\n ngOnInit(): void {\n this.observeBreakpointChanges();\n this.handleRtlChangeState();\n }\n\n ngAfterContentInit(): void {\n this.diff = this.differ.diff(this.tabs);\n }\n\n ngAfterViewInit(): void {\n this.createSecondListForDropdown();\n this.observeTabsChanges();\n setTimeout(() => this.handleResize(), this.TIMEOUT_INTERVAL);\n this.cd.detectChanges();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n @HostListener('document:click', ['$event.target'])\n onClick(target): void {\n if (!this.moreButton.el.nativeElement.contains(target) && !this.dropdownList.nativeElement.contains(target)) {\n this.closeDropdown();\n }\n }\n\n @HostListener('window:resize', ['$event'])\n onWindowResize(): void {\n setTimeout(() => this.handleResize(), this.TIMEOUT_INTERVAL);\n }\n\n get isMoreButtonActive(): boolean {\n return this.listTabs.find((el) => el.isActive) !== undefined;\n }\n\n onScrollPrev(): void {\n this.shiftTabs(ShiftDirection.PREVIOUS);\n }\n\n onScrollNext(): void {\n this.shiftTabs(ShiftDirection.NEXT);\n }\n\n onDropdownToggle(): void {\n this.isDropdownExpanded = !this.isDropdownExpanded;\n }\n\n getTabsWidthStyle(): string {\n return this.isMobileBreakpoint ? `${this.getTabsWidth()}px` : 'auto';\n }\n\n getTabsWidth(): number {\n return this.tabs.reduce((total, item) => (total += Math.ceil(item.getWidth())), 0);\n }\n\n getHiddenTabsCount(): number {\n return this.tabs.filter((item) => item.isHidden).length;\n }\n\n getTabLabel(index: number): string {\n return this.getTabsAsArray()[index].getTabLabel();\n }\n\n getTransitionDuration(): string {\n if (this.isMobileBreakpoint) {\n return '0.4s';\n }\n return '0s';\n }\n\n onTabBlur(): void {\n this.closeDropdown();\n\n this.getLastVisibleTab().onFocus();\n this.getLastVisibleTab().onBlur();\n }\n\n onTabSelect(tab: EclTabComponent): void {\n this.deactivateAllTabs(this.tabs.toArray(), this.listTabs);\n this.activateTab(tab);\n this.sendTabSelectEvent(tab);\n }\n\n onTabKeydownArrowRight(index: number): void {\n if (this.isMobileBreakpoint) {\n this.shiftTabs(ShiftDirection.NEXT);\n }\n if (index === this.getTabsCount() - 1) {\n this.focusOnFirstTab();\n } else {\n this.focusOnNextTab(index);\n }\n }\n\n onTabKeydownArrowLeft(index: number): void {\n if (this.isMobileBreakpoint) {\n this.shiftTabs(ShiftDirection.PREVIOUS);\n }\n if (index === 0) {\n this.focusOnLastTab();\n } else {\n this.focusOnPrevTab(index);\n }\n }\n\n onTabKeydownHome(): void {\n this.focusOnFirstTab();\n }\n\n onTabKeydownEnd(): void {\n this.focusOnLastTab();\n }\n\n private shiftTabs(dir: string): void {\n this.index = this.getShifIndex(dir, this.index);\n\n this.isScrollPrevBtnShow = this.index >= 1;\n this.isScrollNextBtnShow = this.index <= this.getTabsCount() - 1;\n\n const leftMargin = this.index === 0 ? 0 : this.btnPrev.nativeElement.getBoundingClientRect().width + 13;\n\n let newOffset = 0;\n if (this.isRtl) {\n newOffset = Math.ceil(\n this.tabsList.nativeElement.offsetWidth -\n this.getTabsAsArray()[this.index].hostElement.offsetLeft -\n this.getTabsAsArray()[this.index].hostElement.offsetWidth -\n leftMargin,\n );\n } else {\n newOffset = Math.ceil(this.getTabsAsArray()[this.index].hostElement.offsetLeft - leftMargin);\n }\n\n const maxScroll = Math.ceil(this.getTabsListWidth() - this.el.nativeElement.getBoundingClientRect().width);\n\n if (newOffset > maxScroll) {\n this.isScrollNextBtnShow = false;\n newOffset = maxScroll;\n }\n\n if (this.isRtl) {\n this.styleTransform = `translate3d(${newOffset}px, 0px, 0px)`;\n } else {\n this.styleTransform = `translate3d(-${newOffset}px, 0px, 0px)`;\n }\n }\n\n private getShifIndex(dir: string, index: number): number {\n if (dir === ShiftDirection.NEXT) {\n if (index === this.getTabsCount() - 1) {\n return 0;\n } else {\n return index + 1;\n }\n } else {\n if (index === 0) {\n return this.getTabsCount() - 1;\n } else {\n return index - 1;\n }\n }\n }\n\n private createSecondListForDropdown(): void {\n this.tabs.forEach((tab) => {\n const newTab = Object.assign({}, tab) as EclTabComponent;\n newTab.isHidden = true;\n newTab.isActive = false;\n this.listTabs.push(newTab as EclTabComponent);\n });\n }\n\n private getTabsAsArray(): EclTabComponent[] {\n return this.tabs.toArray();\n }\n\n private getTabsCount(): number {\n return this.tabs.toArray().length;\n }\n\n private closeDropdown(): void {\n this.isDropdownExpanded = false;\n }\n\n private openDropdown(): void {\n this.isDropdownExpanded = true;\n }\n\n private observeTabsChanges(): void {\n this.createTabsChangesObservable(this.tabs).pipe(takeUntil(this.destroy$)).subscribe(this.onTabsChanges.bind(this));\n }\n\n private createTabsChangesObservable(tabs: QueryList<EclTabComponent>): Observable<QueryList<EclTabComponent>> {\n return of(tabs).pipe(mergeWith(tabs.changes), takeUntil(this.destroy$));\n }\n\n private onTabsChanges(): void {\n this.diff = this.differ.diff(this.tabs);\n\n if (!this.diff) {\n this.tabs.forEach((tab) => {\n this.connectTabEvents(tab);\n });\n } else {\n this.diff.forEachAddedItem((change) => {\n this.connectTabEvents(change.item);\n });\n\n this.diff.forEachRemovedItem((change) => {\n this.disconnectTabEvents(change.item);\n });\n }\n }\n\n private connectTabEvents(tab: EclTabComponent): void {\n tab.selectTab.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.onTabSelect(tab);\n });\n tab.keydownTab.pipe(takeUntil(this.destroy$)).subscribe((event) => {\n this.onTabKeydown(event, tab);\n });\n }\n\n private onTabKeydown(event: Event, tab: EclTabComponent): void {\n event.preventDefault();\n if (event instanceof KeyboardEvent) {\n const index = this.getTabsAsArray().indexOf(tab);\n switch (event.key) {\n case KeyCode.ARROW_LEFT: {\n this.onTabKeydownArrowLeft(index);\n break;\n }\n case KeyCode.ARROW_RIGHT: {\n this.onTabKeydownArrowRight(index);\n break;\n }\n case KeyCode.END: {\n this.onTabKeydownEnd();\n break;\n }\n case KeyCode.HOME: {\n this.onTabKeydownHome();\n break;\n }\n case KeyCode.ENTER: {\n this.onTabSelect(tab);\n break;\n }\n case KeyCode.TAB: {\n this.onTabBlur();\n break;\n }\n default: {\n break;\n }\n }\n }\n }\n\n private getLastVisibleTab(): EclTabComponent {\n let result = null;\n this.getTabsAsArray().forEach((el) => {\n if (!el.isHidden) {\n result = el;\n } else {\n return;\n }\n });\n return result;\n }\n\n private focusOnNextTab(index: number): void {\n if (this.getTabsAsArray()[index + 1].isHidden) {\n this.openDropdown();\n this.focusOnDropdownTab(index + 1);\n } else {\n this.closeDropdown();\n this.getTabsAsArray()[index + 1].onFocus();\n }\n }\n\n private focusOnFirstTab(): void {\n this.closeDropdown();\n this.getFirstTabFromArray().onFocus();\n }\n\n private focusOnLastTab(): void {\n if (!this.getLastTabFromArray().isHidden) {\n this.getLastTabFromArray().onFocus();\n } else {\n this.openDropdown();\n this.focusOnDropdownTab(this.getTabsCount() - 1);\n }\n }\n\n private focusOnPrevTab(index: number): void {\n if (!this.listTabs[index - 1].isHidden) {\n this.focusOnDropdownTab(index - 1);\n } else {\n this.closeDropdown();\n this.getTabsAsArray()[index - 1].onFocus();\n }\n }\n\n private focusOnDropdownTab(index: number): void {\n this.dropdownList.nativeElement.children[index].firstChild.focus();\n }\n\n private blurDropdownTab(index: number): void {\n this.dropdownList.nativeElement.children[index].firstChild.blur();\n }\n\n private getLastTabFromArray(): EclTabComponent {\n return this.getTabsAsArray()[this.getTabsAsArray().length - 1];\n }\n\n private getFirstTabFromArray(): EclTabComponent {\n return this.getTabsAsArray()[0];\n }\n\n private disconnectTabEvents(tab: EclTabComponent): void {\n if (tab && tab.selectTab) {\n tab.selectTab.unsubscribe();\n }\n }\n\n private deactivateAllTabs(tabs: Array<EclTabComponent>, listTabs: Array<EclTabComponent>): void {\n tabs.forEach((it) => {\n it.isActive = false;\n });\n\n listTabs.forEach((it) => {\n it.isActive = false;\n });\n }\n\n private activateTab(tab: EclTabComponent): void {\n tab.isActive = true;\n }\n\n private sendTabSelectEvent(tab: EclTabComponent): void {\n this.tabSelect.next(new EclTabSelectEvent(tab));\n }\n\n private observeBreakpointChanges(): void {\n this.cdkBreakpointObserver\n .observe(['(max-width: 480px)'])\n .pipe(takeUntil(this.destroy$))\n .subscribe((result) => {\n this.isMobileBreakpoint = result.matches;\n });\n }\n\n private handleResize(): void {\n this.closeDropdown();\n if (this.isMobileBreakpoint) {\n this.handleMobile();\n return;\n }\n this.initMoreBtnWidth();\n let stopWidth = this.moreBtnWidth + 25;\n const hiddenItems = [];\n const listWidth = this.getTabsListWidth();\n this.isScrollNextBtnShow = false;\n this.isScrollPrevBtnShow = false;\n this.isMoreButtonShow = false;\n this.tabs.forEach((item, i) => {\n item.isHidden = false;\n if (listWidth >= stopWidth + item.getWidth() && !hiddenItems.includes(i - 1)) {\n stopWidth += item.getWidth();\n } else {\n item.isHidden = true;\n if (item.isActive) {\n this.listTabs[i].isActive = true;\n }\n hiddenItems.push(i);\n }\n });\n\n if (!hiddenItems.length) {\n this.isMoreButtonShow = false;\n this.setActiveItemForMainTabs();\n } else {\n this.isMoreButtonShow = true;\n this.setHiddenItemsForDropdownTabs(hiddenItems);\n }\n }\n\n private initMoreBtnWidth(): void {\n if (this.isFirstCall) {\n this.moreBtnWidth = this.moreButton.el.nativeElement.getBoundingClientRect().width;\n this.isFirstCall = false;\n }\n }\n\n private setActiveItemForMainTabs(): void {\n this.listTabs.forEach((item, index) => {\n if (item.isActive) {\n this.tabs.toArray()[index].isActive = true;\n }\n });\n }\n\n private getTabsListWidth(): number {\n return this.tabsList.nativeElement.getBoundingClientRect().width;\n }\n\n private setHiddenItemsForDropdownTabs(hiddenItems: number[]): void {\n this.listTabs.forEach((item, index) => {\n if (hiddenItems.includes(index)) {\n item.isHidden = false;\n } else {\n item.isHidden = true;\n }\n });\n }\n\n private handleMobile(): void {\n this.isMoreButtonShow = false;\n this.isScrollPrevBtnShow = false;\n this.isScrollNextBtnShow = true;\n }\n\n private handleRtlChangeState(): void {\n const isRtlOld = this.isRtl;\n this.eclRtlService.currentRtlState$.pipe(takeUntil(this.destroy$)).subscribe((rtlState) => {\n setTimeout(() => {\n this.isRtl = rtlState;\n if (this.isMobileBreakpoint && this.hasRtlChanged(isRtlOld)) {\n this.handleRtlChange();\n } \n });\n });\n }\n\n private hasRtlChanged(isRtlOld: boolean): boolean {\n return isRtlOld !== this.isRtl;\n }\n\n private handleRtlChange(): void {\n this.handleMobile();\n this.styleTransform = 'translate3d(0px, 0px, 0px)';\n this.index = 0;\n }\n}\n", "<nav class=\"ecl-tabs\">\n <div class=\"ecl-tabs__container\">\n <ul\n class=\"ecl-tabs__list\"\n role=\"tablist\"\n #tabsList\n [style.width]=\"getTabsWidthStyle()\"\n [style.transform]=\"styleTransform\"\n [style.transition-duration]=\"'0' || getTransitionDuration()\">\n <ng-content select=\"ecl-tab, li[eclTab]\"></ng-content>\n <ecl-tab-more [isHidden]=\"!isMoreButtonShow\">\n <button\n #moreButton\n eclButton\n class=\"ecl-tabs__toggle\"\n tabindex=\"-1\"\n variant=\"secondary\"\n [attr.aria-expanded]=\"isDropdownExpanded\"\n [class.ecl-tabs__toggle--active]=\"isMoreButtonActive\"\n (click)=\"onDropdownToggle()\">\n <span eclButtonLabel>\n {{ 'ecl.common.MORE' | translate }}\n ({{ getHiddenTabsCount() }})\n </span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-180\" size=\"fluid\"></ecl-icon>\n </button>\n <ul\n *ngIf=\"listTabs.length > 0\"\n class=\"ecl-tabs__dropdown\"\n [class.ecl-tabs__dropdown--show]=\"isDropdownExpanded\"\n #dropdownList>\n <ng-container *ngFor=\"let tab of listTabs; let i = index\">\n <ecl-tab\n [isActive]=\"tab.isActive\"\n [isHidden]=\"tab.isHidden\"\n (click)=\"onTabSelect(tab)\"\n (keydown.arrowRight)=\"onTabKeydownArrowRight(i)\"\n (keydown.arrowLeft)=\"onTabKeydownArrowLeft(i)\"\n (keydown.home)=\"onTabKeydownHome()\"\n (keydown.end)=\"onTabKeydownEnd()\"\n (keydown.enter)=\"onTabSelect(tab)\"\n (keydown.tab)=\"onTabBlur()\">\n <ecl-tab-label>{{ getTabLabel(i) }}</ecl-tab-label>\n </ecl-tab>\n </ng-container>\n </ul>\n </ecl-tab-more>\n </ul>\n </div>\n\n <div class=\"ecl-tabs__controls\">\n <button\n #btnPrev\n [attr.aria-hidden]=\"true\"\n class=\"ecl-tabs__prev\"\n [class.ecl-u-d-none]=\"!isScrollPrevBtnShow\"\n [class.ecl-u-d-block]=\"isScrollPrevBtnShow\"\n (click)=\"onScrollPrev()\">\n <ecl-icon isInverted icon=\"corner-arrow\" transform=\"rotate-270\" size=\"m\" class=\"ecl-u-d-block\"> </ecl-icon>\n <span class=\"ecl-u-sr-only\"></span>\n </button>\n <button\n #btnNext\n [attr.aria-hidden]=\"true\"\n class=\"ecl-tabs__next\"\n [class.ecl-u-d-none]=\"!isScrollNextBtnShow\"\n [class.ecl-u-d-block]=\"isScrollNextBtnShow\"\n (click)=\"onScrollNext()\">\n <ecl-icon isInverted icon=\"corner-arrow\" color=\"inverted\" transform=\"rotate-90\" size=\"m\" class=\"ecl-u-d-block\"> </ecl-icon>\n <span class=\"ecl-u-sr-only\"></span>\n </button>\n </div>\n</nav>\n\n<ng-container *ngFor=\"let tab of tabs.toArray()\">\n <div class=\"{{ bodyClass }}\" *ngIf=\"tab.isActive\">\n <ng-container *ngTemplateOutlet=\"tab.contentTemplate\"></ng-container>\n </div>\n</ng-container>\n<ng-container *ngFor=\"let tab of listTabs\">\n <div class=\"{{ bodyClass }}\" *ngIf=\"tab.isActive\">\n <ng-container *ngTemplateOutlet=\"tab.contentTemplate\"></ng-container>\n </div>\n</ng-container>\n", "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclButtonComponentModule } from '../ecl-button/ecl-button.module';\nimport { EclIconComponentModule } from '../ecl-icon/ecl-icon.module';\nimport { EclLinkDirectiveModule } from '../ecl-link/ecl-link.module';\nimport { EclTabLabelComponent } from './ecl-tab-label.component';\nimport { EclTabComponent } from './ecl-tab.component';\nimport { EclTabsComponent } from './ecl-tabs.component';\nimport { EclTabMoreComponent } from './ecl-tab-more.component';\nimport { ECLClickOutsideDirective } from '../../utils';\n\nconst COMPONENTS = [EclTabsComponent, EclTabComponent, EclTabLabelComponent, EclTabMoreComponent];\n\n@NgModule({\n imports: [\n CommonModule,\n EclLinkDirectiveModule,\n EclButtonComponentModule,\n EclIconComponentModule,\n TranslateModule,\n ECLClickOutsideDirective,\n ],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclTabsComponentModule {}\n", "import { Component, Input, HostBinding, Output, EventEmitter, booleanAttribute } from '@angular/core';\nimport { EclBaseEvent } from '../../model';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\nexport class EclTagRemoveEvent extends EclBaseEvent {}\n\n@Component({\n selector: 'ecl-tag, [eclTag]',\n templateUrl: './ecl-tag.component.html',\n})\nexport class EclTagComponent extends ECLBaseDirective {\n @Input() variant: 'removable';\n @Input({ transform: booleanAttribute }) isWrapped = true;\n\n @Output() remove = new EventEmitter<EclTagRemoveEvent>();\n\n @HostBinding('attr.hidden')\n get isHidden(): boolean | null {\n return !this.isVisible || null;\n }\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-tag'),\n this.variant ? `ecl-tag--${this.variant}` : '',\n this.isWrapped ? '' : 'ecl-tag--nowrap',\n ].join(' ').trim();\n }\n isVisible = true;\n title = 'dimiss';\n\n get isRemovable(): boolean {\n return this.variant == 'removable';\n }\n\n onRemoveClick(evt: MouseEvent): void {\n const event = new EclTagRemoveEvent();\n this.remove.next(event);\n\n if (!event.defaultPrevented) {\n this.isVisible = false;\n }\n }\n}\n", "<ng-content></ng-content>\n@if(isRemovable) {\n <span class=\"ecl-tag__icon\" (click)=\"onRemoveClick($event)\">\n <ecl-icon icon=\"close-outline\" class=\"ecl-tag__icon-close\" role=\"img\">\n <title>{{title | titlecase}}</title>\n </ecl-icon>\n</span>\n}\n", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: '[eclTagSet]',\n})\nexport class EclTagSetDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-tag-set')].join(' ').trim();\n }\n}\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclIconComponentModule } from '../ecl-icon';\nimport { EclTagComponent } from './ecl-tag.component';\nimport { EclTagSetDirective } from './ecl-tag-set.directive';\n\n@NgModule({\n imports: [CommonModule, EclIconComponentModule],\n exports: [EclTagComponent, EclTagSetDirective],\n declarations: [EclTagComponent, EclTagSetDirective],\n})\nexport class EclTagComponentModule {}\n", "import { Directive, HostBinding, Input, Optional, Self } from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { coerceBoolean } from '@eui/base';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: 'textarea[eclTextArea]',\n})\nexport class EclTextAreaDirective extends ECLBaseDirective {\n @Input() eclSize = 'm';\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isInvalid: boolean | any = false;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-text-area'), this.eclSize ? `ecl-text-area--${this.eclSize}` : ''].join(' ').trim();\n }\n\n @HostBinding('class.ecl-text-area--invalid')\n get invalidState(): boolean {\n if (this.ngControl) {\n return this.ngControl.status === 'INVALID' && this.ngControl.touched;\n } else {\n return this.isInvalid;\n }\n }\n\n constructor(@Optional() @Self() private ngControl: NgControl) {\n super();\n }\n}\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclTextAreaDirective } from './ecl-text-area.directive';\n\n@NgModule({\n imports: [CommonModule],\n exports: [EclTextAreaDirective],\n declarations: [EclTextAreaDirective],\n})\nexport class EclTextAreaDirectiveModule {}\n", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: '[eclTimelineItemLabel]',\n})\nexport class EclTimelineItemLabelDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-timeline__label')].join(' ').trim();\n }\n}\n", "import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Directive({\n selector: '[eclTimelineItemTitle]',\n})\nexport class EclTimelineItemTitleDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-timeline__title')].join(' ').trim();\n }\n}\n", "import { Component, EventEmitter, HostListener, Output } from '@angular/core';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\n@Component({\n selector: 'ecl-timeline-item-toggler',\n templateUrl: 'ecl-timeline-item-toggler.component.html',\n})\nexport class EclTimelineItemTogglerComponent extends ECLBaseDirective {\n @Output() toggle: EventEmitter<void> = new EventEmitter();\n\n @HostListener('click')\n onTogglerClick(): void {\n this.toggle.emit();\n }\n}\n", "<ng-content></ng-content>\n", "import {\n Component,\n Input,\n HostBinding,\n AfterContentInit,\n ViewEncapsulation,\n Output,\n EventEmitter,\n ContentChild,\n forwardRef,\n OnDestroy,\n} from '@angular/core';\nimport { coerceBoolean } from '@eui/base';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { EclBaseEvent } from '../../model/ecl-base.event';\nimport { EclTimelineItemTogglerComponent } from './ecl-timeline-item-toggler.component';\nimport { ECLBaseDirective } from '../ecl-base.directive';\n\nexport class EclTimelineItemToggleEvent extends EclBaseEvent {\n constructor(\n public isExpanded: boolean,\n public toggleGroup: string,\n ) {\n super();\n }\n}\n\n@Component({\n selector: 'ecl-timeline-item',\n templateUrl: 'ecl-timeline-item.component.html',\n styles: [\n `\n ecl-timeline-item {\n display: list-item;\n }\n `,\n ],\n encapsulation: ViewEncapsulation.None,\n})\nexport class EclTimelineItemComponent extends ECLBaseDirective implements AfterContentInit, OnDestroy {\n /**\n * @deprecated Please use eclTimelineItemLabel directive instead. To be removed in v18.\n */\n @Input() label: string;\n /**\n * @deprecated Please use eclTimelineItemTitle directive instead. To be removed in v18.\n */\n @Input() eclTitle: string;\n /**\n * @deprecated Please use expandLabel and collapseLabel instead. To be removed in v19.\n */\n @Input() toggleButtonLabel: string;\n @Input() expandLabel: string;\n @Input() collapseLabel: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @coerceBoolean @Input() isTogglerExpanded: boolean | any = false;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-timeline__item')].join(' ');\n }\n\n @ContentChild(forwardRef(() => EclTimelineItemTogglerComponent))\n timelineItemToggler: EclTimelineItemTogglerComponent;\n\n @Input() @HostBinding('class.ecl-timeline__item--collapsed') isCollapsed = false;\n @Input() @HostBinding('class.ecl-timeline__item--toggle') isToggler = false;\n @Input() toggleGroup: string;\n\n @Output() toggle = new EventEmitter<EclTimelineItemToggleEvent>();\n\n destroy$: Subject<boolean> = new Subject<boolean>();\n\n ngAfterContentInit(): void {\n if (this.timelineItemToggler) {\n this.timelineItemToggler.toggle.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.handleToggler();\n });\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n get isShowExpandLabel(): boolean {\n return !!this.expandLabel && !this.isTogglerExpanded;\n }\n\n get isShowCollapseLabel(): boolean {\n return !!this.collapseLabel && this.isTogglerExpanded;\n }\n\n get isShowOneToggleLabel(): boolean {\n return !this.collapseLabel && !this.expandLabel;\n }\n\n hasDefaultToggler(): boolean {\n return this.isToggler && !this.timelineItemToggler;\n }\n\n onTogglerClick(evt: MouseEvent): void {\n this.handleToggler();\n }\n\n private handleToggler(): void {\n const nextExpandedState = !this.isTogglerExpanded;\n const event = new EclTimelineItemToggleEvent(nextExpandedState, this.toggleGroup);\n\n if (!event.defaultPrevented) {\n this.toggle.next(event);\n this.isTogglerExpanded = nextExpandedState;\n }\n }\n}\n", "<div class=\"ecl-timeline__tooltip\" *ngIf=\"!isToggler\">\n <div class=\"ecl-timeline__tooltip-arrow\"></div>\n <div *ngIf=\"label\" class=\"ecl-timeline__label\">{{ label }}</div>\n <ng-content select=\"[eclTimelineItemLabel]\"></ng-content>\n\n <div *ngIf=\"eclTitle\" class=\"ecl-timeline__title\">{{ eclTitle }}</div>\n <ng-content select=\"[eclTimelineItemTitle]\"></ng-content>\n\n <div class=\"ecl-timeline__content\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n</div>\n\n<div class=\"ecl-timeline__content\" *ngIf=\"isToggler\">\n <button eclButton *ngIf=\"hasDefaultToggler()\" (click)=\"onTogglerClick($event)\" variant=\"secondary\">\n <span eclButtonLabel *ngIf=\"isShowExpandLabel\">\n {{ expandLabel }}\n </span>\n <span eclButtonLabel *ngIf=\"isShowCollapseLabel\">\n {{ collapseLabel }}\n </span>\n <span eclButtonLabel *ngIf=\"isShowOneToggleLabel\">\n {{ toggleButtonLabel || 'ecl.timeline.TOGGLE-ITEMS' | translate }}\n </span>\n <ecl-icon icon=\"corner-arrow\" size=\"fluid\" [transform]=\"!isTogglerExpanded ? 'rotate-180' : ''\"></ecl-icon>\n </button>\n\n <ng-content select=\"ecl-timeline-item-toggler\"></ng-content>\n\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</div>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>", "import { Component, AfterContentInit, ContentChildren, forwardRef, QueryList, HostBinding, OnDestroy } from '@angular/core';\nimport { EclTimelineItemComponent, EclTimelineItemToggleEvent } from './ecl-timeline-item.component';\nimport { ECLBaseDirective } from '../ecl-base.directive';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\n@Component({\n selector: 'ecl-timeline',\n templateUrl: 'ecl-timeline.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclTimelineComponent extends ECLBaseDirective implements AfterContentInit, OnDestroy {\n @HostBinding('attr.role') attrRole = 'list';\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-timeline')].join(' ');\n }\n\n @ContentChildren(forwardRef(() => EclTimelineItemComponent))\n timelineItems: QueryList<EclTimelineItemComponent>;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n ngAfterContentInit(): void {\n this.timelineItems\n .filter((item) => item.isToggler)\n .forEach((it) => {\n it.toggle.pipe(takeUntil(this.destroy$)).subscribe((evt: EclTimelineItemToggleEvent) => {\n if (this.timelineItems && !evt.defaultPrevented) {\n this.timelineItems\n .filter((item) => item.toggleGroup === evt.toggleGroup)\n .filter((item) => !item.isToggler)\n .forEach((item) => {\n item.isCollapsed = !item.isCollapsed;\n });\n }\n });\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n}\n", "<ng-content></ng-content>\n", "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclButtonComponentModule } from '../ecl-button/ecl-button.module';\nimport { EclIconComponentModule } from '../ecl-icon/ecl-icon.module';\nimport { EclTimelineItemLabelDirective } from './ecl-timeline-item-label.directive';\nimport { EclTimelineItemTitleDirective } from './ecl-timeline-item-title.directive';\nimport { EclTimelineItemTogglerComponent } from './ecl-timeline-item-toggler.component';\nimport { EclTimelineItemComponent } from './ecl-timeline-item.component';\nimport { EclTimelineComponent } from './ecl-timeline.component';\n\n@NgModule({\n imports: [CommonModule, TranslateModule, EclButtonComponentModule, EclIconComponentModule],\n exports: [\n EclTimelineComponent,\n EclTimelineItemComponent,\n EclTimelineItemTogglerComponent,\n EclTimelineItemLabelDirective,\n EclTimelineItemTitleDirective,\n ],\n declarations: [\n EclTimelineComponent,\n EclTimelineItemComponent,\n EclTimelineItemTogglerComponent,\n EclTimelineItemLabelDirective,\n EclTimelineItemTitleDirective,\n ],\n})\nexport class EclTimelineComponentModule {}\n", "import { NgModule } from '@angular/core';\nimport { EclAppComponentModule } from '../components/ecl-app/ecl-app.module';\nimport { EclBreadcrumbComponentModule } from '../components/ecl-breadcrumb/ecl-breadcrumb.module';\nimport { EclPageHeaderComponentModule } from '../components/ecl-page-header/ecl-page-header.module';\nimport { EclSiteHeaderComponentModule } from '../components/ecl-site-header/ecl-site-header.module';\nimport { EclSiteFooterComponentModule } from '../components/ecl-site-footer';\nimport { EclFormGroupComponentModule } from '../components/ecl-form-group/ecl-form-group.module';\nimport { EclTextAreaDirectiveModule } from '../components/ecl-text-area/ecl-text-area.module';\nimport { EclFormLabelComponentModule } from '../components/ecl-form-label/ecl-form-label.module';\nimport { EclDatePickerDirectiveModule } from '../components/ecl-date-picker/ecl-date-picker.module';\nimport { EclTextInputDirectiveModule } from '../components/ecl-text-input/ecl-text-input.module';\nimport { EclSelectDirectiveModule } from '../components/ecl-select/ecl-select.module';\nimport { EclFeedbackMessageDirectiveModule } from '../components/ecl-feedback-message/ecl-feedback-message.module';\nimport { EclHelpBlockDirectiveModule } from '../components/ecl-help-block/ecl-help-block.module';\nimport { EclLinkDirectiveModule } from '../components/ecl-link/ecl-link.module';\nimport { EclMenuComponentModule } from '../components/ecl-menu/ecl-menu.module';\nimport { EclIconComponentModule } from '../components/ecl-icon/ecl-icon.module';\nimport { EclListDirectiveModule } from '../components/ecl-list/ecl-list.module';\nimport { EclButtonComponentModule } from '../components/ecl-button/ecl-button.module';\nimport { EclModalComponentModule } from '../components/ecl-modal/ecl-modal.module';\nimport { EclSearchFormComponentModule } from '../components/ecl-search-form/ecl-search-form.module';\nimport { EclTagComponentModule } from '../components/ecl-tag/ecl-tag.module';\nimport { EclBlockquoteComponentModule } from '../components/ecl-blockquote/ecl-blockquote.module';\nimport { EclSocialMediaFollowComponentModule } from '../components/ecl-social-media-follow/ecl-social-media-follow.module';\nimport { EclSocialMediaShareComponentModule } from '../components/ecl-social-media-share/ecl-social-media-share.module';\nimport { EclDateBlockComponentModule } from '../components/ecl-date-block/ecl-date-block.module';\nimport { EclMediaContainerComponentModule } from '../components/ecl-media-container/ecl-media-container.module';\nimport { EclPaginationComponentModule } from '../components/ecl-pagination/ecl-pagination.module';\nimport { EclBannerComponentModule } from '../components/ecl-banner/ecl-banner.module';\nimport { EclCardComponentModule } from '../components/ecl-card/ecl-card.module';\nimport { EclNotificationComponentModule } from '../components/ecl-notification/ecl-notification.module';\nimport { EclFileComponentModule } from '../components/ecl-file/ecl-file.module';\nimport { EclTimelineComponentModule } from '../components/ecl-timeline/ecl-timeline.module';\nimport { EclAccordionComponentModule } from '../components/ecl-accordion/ecl-accordion.module';\nimport { EclExpandableComponentModule } from '../components/ecl-expandable/ecl-expandable.module';\nimport { EclDefaultLanguageService } from '../services/ecl-default-language.service';\nimport { EclLanguageService } from '../services/ecl-language.service';\nimport { EclRadioDirectiveModule } from '../components/ecl-radio/ecl-radio.module';\nimport { EclGalleryComponentModule } from '../components/ecl-gallery/ecl-gallery.module';\nimport { EclTableDirectiveModule } from '../components/ecl-table/ecl-table.module';\nimport { EclFileUploadDirectiveModule } from '../components/ecl-file-upload/ecl-file-upload.module';\nimport { EclCheckboxModule } from '../components/ecl-checkbox/ecl-checkbox.module';\nimport { EclStickyContainerComponentModule } from '../components/ecl-sticky-container/ecl-sticky-container.module';\nimport { EclFactFiguresComponentModule } from '../components/ecl-fact-figures/ecl-fact-figures.module';\nimport { EclLabelDirectiveModule } from '../components/ecl-label/ecl-label.module';\nimport { EclMultiselectComponentModule } from '../components/ecl-multiselect/ecl-multiselect.module';\nimport { EclNewsTickerComponentModule } from '../components/ecl-news-ticker/ecl-news-ticker.module';\nimport { EclHiddenModule } from '../utils/directives/ecl-hidden/ecl-hidden.module';\nimport { EclFeaturedModule } from '../components/ecl-featured/ecl-featured.module';\nimport { EclInpageNavigationComponentModule } from '../components/ecl-inpage-navigation/ecl-inpage-navigation.module';\nimport { EclListIllustrationComponentModule } from '../components/ecl-list-illustration/ecl-list-illustration.module';\nimport { EclContentItemComponentModule } from '../components/ecl-content-item/ecl-content-item.module';\nimport { EclLoadingIndicatorComponentModule } from '../components/ecl-loading-indicator/ecl-loading-indicator.module';\nimport { EclCategoryFilterModule } from '../components/ecl-category-filter/ecl-category-filter.module';\nimport { EclTabsComponentModule } from '../components/ecl-tabs/ecl-tabs.module';\nimport { EclCarouselComponentModule } from '../components/ecl-carousel/ecl-carousel.module';\nimport { EclRatingFieldComponentModule } from '../components/ecl-rating-field/ecl-rating-field.module';\nimport { EclContentBlockComponentModule } from '../components/ecl-content-block/ecl-content-block.module';\nimport { EclNavigationListComponentModule } from '../components/ecl-navigation-list/ecl-navigation-list.module';\nimport { EclPopoverComponentModule } from '../components/ecl-popover/ecl-popover.module';\nimport { EclRangeDirectiveModule } from '../components/ecl-range/ecl-range.module';\n\nconst MODULES = [\n EclAccordionComponentModule,\n EclAppComponentModule,\n EclBannerComponentModule,\n EclBlockquoteComponentModule,\n EclBreadcrumbComponentModule,\n EclButtonComponentModule,\n EclCardComponentModule,\n EclCarouselComponentModule,\n EclCategoryFilterModule,\n EclCheckboxModule,\n EclContentBlockComponentModule,\n EclContentItemComponentModule,\n EclDateBlockComponentModule,\n EclDatePickerDirectiveModule,\n EclExpandableComponentModule,\n EclFactFiguresComponentModule,\n EclFeaturedModule,\n EclFeedbackMessageDirectiveModule,\n EclFileComponentModule,\n EclFileUploadDirectiveModule,\n EclFormGroupComponentModule,\n EclFormLabelComponentModule,\n EclGalleryComponentModule,\n EclHelpBlockDirectiveModule,\n EclHiddenModule,\n EclIconComponentModule,\n EclInpageNavigationComponentModule,\n EclLabelDirectiveModule,\n EclLinkDirectiveModule,\n EclListDirectiveModule,\n EclListIllustrationComponentModule,\n EclLoadingIndicatorComponentModule,\n EclMediaContainerComponentModule,\n EclMenuComponentModule,\n EclNotificationComponentModule,\n EclModalComponentModule,\n EclMultiselectComponentModule,\n EclNavigationListComponentModule,\n EclNewsTickerComponentModule,\n EclPageHeaderComponentModule,\n EclPaginationComponentModule,\n EclRangeDirectiveModule,\n EclRadioDirectiveModule,\n EclRatingFieldComponentModule,\n EclSearchFormComponentModule,\n EclSelectDirectiveModule,\n EclSiteFooterComponentModule,\n EclSiteHeaderComponentModule,\n EclSocialMediaFollowComponentModule,\n EclSocialMediaShareComponentModule,\n EclStickyContainerComponentModule,\n EclTableDirectiveModule,\n EclTabsComponentModule,\n EclTagComponentModule,\n EclTextAreaDirectiveModule,\n EclTextInputDirectiveModule,\n EclTimelineComponentModule,\n EclPopoverComponentModule,\n];\n\n@NgModule({\n imports: [...MODULES],\n declarations: [],\n exports: [...MODULES],\n providers: [{ provide: EclLanguageService, useClass: EclDefaultLanguageService }],\n})\nexport class EclAllModule {}\n"],
5
+ "mappings": "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AA;QAjBtCD;SAAS;IACN,SAAS,CAACD,gBAAcE,mBAAiB,0BAA0B,sBAAsB;IACzF,SAAS;MACL;MACA;MACA;MACA;MACA;;IAEJ,cAAc;MACV;MACA;MACA;MACA;MACA;;GAEP;;;;AC3BD,SAAS,YAAAC,kBAAgB;;AA8DzB,IAAM,UAAU;EACZ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AASE,IAAO,eAAP,MAAO,cAAY;;kHAAZ,eAAY,MAAA,CAAA,GAAA,QAAA,sBAAA,SAAA,CAAA;EAAA;;mHAAZ,eAAY,SAAA;MAlErB;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;IAAyB,GAAA,SAAA;MAzDzB;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;IAAyB,EAAA,CAAA;EAAA;;mHAShB,eAAY,WAFV,CAAC,EAAE,SAAS,oBAAoB,UAAU,0BAAyB,CAAE,GAAC,SAAA;MAHpE;MA7Db;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;IAAyB,EAAA,CAAA;EAAA;;wGAShB,cAAY,YAAA,CAAA;QANxBA;SAAS;IACN,SAAS,CAAC,GAAG,OAAO;IACpB,cAAc,CAAA;IACd,SAAS,CAAC,GAAG,OAAO;IACpB,WAAW,CAAC,EAAE,SAAS,oBAAoB,UAAU,0BAAyB,CAAE;GACnF;;",
6
+ "names": ["Inject", "Injectable", "Optional", "GLOBAL_CONFIG_TOKEN", "ReplaySubject", "ECLTheme", "theme", "Inject", "Injectable", "ReplaySubject", "Subject", "takeUntil", "document", "HostBinding", "Input", "i0", "Component", "HostBinding", "Input", "booleanAttribute", "i0", "Directive", "EventEmitter", "Output", "i0", "Directive", "HostBinding", "Input", "i0", "KeyCode", "ChangeDetectionStrategy", "Component", "HostBinding", "HostListener", "Subject", "takeUntil", "i0", "NgModule", "CommonModule", "NgModule", "CommonModule", "booleanAttribute", "Component", "ContentChildren", "forwardRef", "HostBinding", "Input", "i0", "Directive", "HostBinding", "i0", "NgModule", "CommonModule", "ChangeDetectionStrategy", "Component", "HostBinding", "Input", "i0", "NgModule", "CommonModule", "TranslateModule", "Component", "HostBinding", "i0", "NgModule", "CommonModule", "TranslateModule", "Directive", "HostBinding", "Input", "forwardRef", "ContentChildren", "booleanAttribute", "i0", "Directive", "HostBinding", "i0", "NgModule", "CommonModule", "Directive", "HostBinding", "Input", "Optional", "coerceBoolean", "i0", "__decorate", "NgModule", "CommonModule", "Component", "EventEmitter", "forwardRef", "HostBinding", "HostListener", "Input", "Output", "i0", "NgModule", "CommonModule", "TranslateModule", "Component", "HostBinding", "i0", "Component", "i0", "Directive", "HostBinding", "i0", "Component", "HostBinding", "Subject", "takeUntil", "i0", "Component", "EventEmitter", "HostBinding", "Input", "Output", "i0", "Component", "ElementRef", "EventEmitter", "HostBinding", "HostListener", "Input", "Output", "ViewChild", "Subject", "takeUntil", "i0", "__decorate", "Component", "EventEmitter", "HostBinding", "Input", "Output", "coerceBoolean", "i0", "__decorate", "Component", "EventEmitter", "forwardRef", "HostBinding", "Input", "Output", "NG_VALUE_ACCESSOR", "noop", "i0", "Component", "EventEmitter", "HostBinding", "Input", "Output", "ViewChild", "coerceElement", "Subject", "takeUntil", "i0", "__decorate", "Directive", "HostBinding", "i0", "Component", "HostBinding", "i0", "CommonModule", "NgModule", "FormsModule", "ReactiveFormsModule", "TranslateModule", "Component", "ContentChild", "EventEmitter", "HostBinding", "Output", "Subject", "takeUntil", "i0", "CommonModule", "NgModule", "Directive", "HostBinding", "i0", "Directive", "HostBinding", "i0", "Directive", "HostBinding", "i0", "Component", "ContentChild", "ContentChildren", "HostBinding", "Input", "ViewChild", "booleanAttribute", "forwardRef", "i0", "Directive", "HostBinding", "i0", "NgModule", "CommonModule", "COMPONENTS", "Component", "Input", "HostBinding", "ChangeDetectionStrategy", "i0", "Directive", "HostBinding", "i0", "NgModule", "CommonModule", "Component", "EventEmitter", "HostBinding", "Input", "Output", "ViewEncapsulation", "booleanAttribute", "i0", "Component", "ContentChildren", "HostBinding", "Input", "ViewChild", "booleanAttribute", "forwardRef", "HostListener", "Subject", "takeUntil", "i0", "NgModule", "CommonModule", "RouterModule", "TranslateModule", "COMPONENTS", "Directive", "HostBinding", "Input", "i0", "NgModule", "CommonModule", "Component", "HostBinding", "i0", "Directive", "HostBinding", "ContentChild", "i0", "Component", "HostBinding", "i0", "CommonModule", "NgModule", "COMPONENTS", "Directive", "HostBinding", "i0", "Component", "HostBinding", "ContentChild", "forwardRef", "i0", "CommonModule", "NgModule", "RouterModule", "COMPONENTS", "Component", "EventEmitter", "HostBinding", "HostListener", "Input", "Output", "booleanAttribute", "ContentChild", "forwardRef", "i0", "Component", "ContentChildren", "EventEmitter", "HostBinding", "Input", "Output", "ViewChild", "booleanAttribute", "forwardRef", "numberAttribute", "Subject", "switchMap", "takeUntil", "button", "i0", "CommonModule", "NgModule", "TranslateModule", "COMPONENTS", "Component", "ContentChildren", "forwardRef", "HostBinding", "i0", "Component", "ContentChild", "EventEmitter", "forwardRef", "HostBinding", "Input", "Output", "i0", "Component", "ContentChild", "ContentChildren", "forwardRef", "HostBinding", "Input", "Subject", "takeUntil", "uuidgen", "i0", "NgModule", "CommonModule", "TranslateModule", "Directive", "HostBinding", "Input", "coerceBoolean", "i0", "__decorate", "Component", "HostBinding", "Input", "ViewEncapsulation", "coerceBoolean", "i0", "__decorate", "Component", "HostBinding", "Input", "i0", "Directive", "HostBinding", "Input", "forwardRef", "ContentChild", "coerceBoolean", "i0", "__decorate", "Directive", "forwardRef", "HostBinding", "Inject", "Optional", "Self", "i0", "CommonModule", "NgModule", "COMPONENTS", "Directive", "HostBinding", "Input", "i0", "Component", "Input", "HostBinding", "i0", "Component", "ContentChild", "forwardRef", "HostBinding", "i0", "CommonModule", "NgModule", "RouterModule", "COMPONENTS", "CommonModule", "NgModule", "Directive", "HostBinding", "Input", "Output", "EventEmitter", "forwardRef", "HostListener", "NG_VALUE_ACCESSOR", "Subject", "takeUntil", "noop", "i0", "CommonModule", "NgModule", "TranslateModule", "Component", "Input", "Output", "EventEmitter", "HostBinding", "booleanAttribute", "i0", "NgModule", "CommonModule", "TranslateModule", "Component", "Input", "HostBinding", "i0", "Component", "ContentChildren", "HostBinding", "i0", "Component", "ContentChild", "HostBinding", "i0", "Component", "HostBinding", "i0", "Component", "HostBinding", "i0", "Component", "HostBinding", "i0", "NgModule", "CommonModule", "TranslateModule", "Component", "ContentChild", "HostBinding", "Input", "booleanAttribute", "i0", "Directive", "HostBinding", "Input", "i0", "ContentChild", "Directive", "HostBinding", "Input", "i0", "Directive", "HostBinding", "i0", "NgModule", "CommonModule", "TranslateModule", "COMPONENTS", "Component", "HostBinding", "i0", "Directive", "HostBinding", "i0", "Component", "ContentChild", "HostBinding", "Input", "i0", "Component", "HostBinding", "Input", "booleanAttribute", "i0", "Component", "HostBinding", "i0", "CommonModule", "NgModule", "TranslateModule", "COMPONENTS", "ContentChildren", "Directive", "forwardRef", "HostBinding", "i0", "NgModule", "CommonModule", "Directive", "HostBinding", "Input", "Optional", "Self", "HostListener", "Output", "EventEmitter", "takeUntil", "Subject", "coerceBoolean", "i0", "__decorate", "NgModule", "CommonModule", "Directive", "HostBinding", "Input", "i0", "Component", "ContentChild", "HostBinding", "Input", "i0", "Component", "HostBinding", "Input", "booleanAttribute", "i0", "Component", "Input", "ContentChildren", "Output", "EventEmitter", "HostBinding", "booleanAttribute", "i0", "Component", "HostBinding", "i0", "Directive", "HostBinding", "i0", "NgModule", "CommonModule", "TranslateModule", "COMPONENTS", "Directive", "HostBinding", "Input", "i0", "Component", "ContentChild", "EventEmitter", "HostBinding", "HostListener", "Input", "Output", "coerceBoolean", "i0", "__decorate", "Component", "EventEmitter", "Output", "i0", "Component", "Input", "Output", "ContentChildren", "EventEmitter", "HostListener", "ViewChild", "HostBinding", "ContentChild", "Subject", "takeUntil", "coerceBoolean", "i0", "__decorate", "NgModule", "CommonModule", "TranslateModule", "COMPONENTS", "NgModule", "CommonModule", "Component", "HostBinding", "Input", "Output", "EventEmitter", "i0", "Component", "HostBinding", "Input", "booleanAttribute", "Subject", "delay", "takeUntil", "i0", "NgModule", "CommonModule", "EventEmitter", "Component", "Input", "ContentChildren", "Output", "Subject", "fromEvent", "takeUntil", "i0", "NgModule", "CommonModule", "TranslateModule", "Component", "ContentChildren", "forwardRef", "HostBinding", "Input", "i0", "Directive", "HostBinding", "i0", "Directive", "HostBinding", "Input", "booleanAttribute", "i0", "Component", "HostBinding", "Input", "booleanAttribute", "numberAttribute", "i0", "NgModule", "CommonModule", "TranslateModule", "COMPONENTS", "Directive", "HostBinding", "i0", "Component", "ContentChildren", "HostBinding", "Input", "i0", "ContentChildren", "Directive", "HostBinding", "Input", "booleanAttribute", "numberAttribute", "i0", "CommonModule", "NgModule", "TranslateModule", "COMPONENTS", "Component", "Input", "HostBinding", "Output", "EventEmitter", "HostListener", "ContentChildren", "forwardRef", "ViewChild", "coerceBoolean", "i0", "__decorate", "Component", "Input", "ContentChildren", "Output", "EventEmitter", "HostBinding", "Subject", "of", "takeUntil", "coerceBoolean", "i0", "__decorate", "Component", "ContentChild", "EventEmitter", "forwardRef", "HostBinding", "HostListener", "Input", "Output", "ViewChild", "ViewEncapsulation", "Subject", "takeUntil", "Breakpoints", "i0", "Breakpoints", "Component", "ContentChildren", "EventEmitter", "HostBinding", "HostListener", "Input", "Output", "ViewChild", "coerceNumber", "Subject", "of", "mergeWith", "takeUntil", "i0", "__decorate", "NgModule", "CommonModule", "LayoutModule", "TranslateModule", "RouterModule", "COMPONENTS", "Directive", "EventEmitter", "HostListener", "Input", "Output", "i0", "Component", "EventEmitter", "HostBinding", "Input", "Output", "i0", "Component", "ContentChild", "ContentChildren", "EventEmitter", "forwardRef", "HostBinding", "HostListener", "Input", "Output", "Subject", "takeUntil", "i0", "Component", "HostBinding", "Input", "booleanAttribute", "i0", "Component", "ContentChildren", "forwardRef", "HostBinding", "i0", "Directive", "HostListener", "Input", "i0", "Directive", "HostBinding", "i0", "NgModule", "CommonModule", "COMPONENTS", "Component", "EventEmitter", "HostBinding", "Input", "Output", "ViewChild", "coerceBoolean", "Subject", "uuidgen", "i0", "__decorate", "Component", "EventEmitter", "HostBinding", "Input", "Output", "ViewChild", "coerceBoolean", "i0", "__decorate", "Component", "HostBinding", "Input", "EclMultiselectOptionClickEvent", "EclMultiselectOptionKeydownEvent", "i0", "Component", "ElementRef", "EventEmitter", "forwardRef", "HostBinding", "HostListener", "Input", "Output", "ViewChild", "ViewChildren", "NG_VALUE_ACCESSOR", "coerceBoolean", "Subject", "uuidgen", "i0", "__decorate", "coerceBooleanProperty", "ContentChildren", "Directive", "HostBinding", "Input", "Subject", "i0", "coerceBooleanProperty", "Component", "ContentChildren", "EventEmitter", "forwardRef", "HostBinding", "Input", "Output", "ViewEncapsulation", "NG_VALUE_ACCESSOR", "NgControl", "coerceBoolean", "Subject", "takeUntil", "i0", "__decorate", "NgModule", "CommonModule", "TranslateModule", "COMPONENTS", "Component", "ContentChild", "forwardRef", "HostBinding", "Input", "i0", "Component", "HostBinding", "Input", "coerceNumber", "i0", "__decorate", "Directive", "HostBinding", "i0", "Component", "HostBinding", "Input", "i0", "CommonModule", "NgModule", "COMPONENTS", "Component", "ContentChild", "EventEmitter", "HostBinding", "Output", "fromEvent", "Subject", "takeUntil", "i0", "Component", "ContentChildren", "EventEmitter", "HostBinding", "HostListener", "Input", "Output", "ViewChild", "booleanAttribute", "Subject", "takeUntil", "i0", "NgModule", "CommonModule", "TranslateModule", "Component", "Input", "Output", "EventEmitter", "HostBinding", "booleanAttribute", "i0", "Directive", "HostBinding", "i0", "Directive", "HostBinding", "Input", "coerceBoolean", "i0", "__decorate", "Directive", "HostBinding", "Input", "coerceBoolean", "i0", "__decorate", "Directive", "HostBinding", "i0", "Directive", "HostBinding", "Input", "coerceBoolean", "i0", "__decorate", "Directive", "HostBinding", "i0", "Directive", "HostBinding", "i0", "Component", "Input", "coerceBoolean", "i0", "__decorate", "Component", "Input", "coerceBoolean", "i0", "__decorate", "Component", "HostBinding", "Input", "coerceBoolean", "i0", "__decorate", "NgModule", "CommonModule", "TranslateModule", "COMPONENTS", "NgModule", "CommonModule", "TranslateModule", "Directive", "HostBinding", "i0", "Directive", "HostBinding", "i0", "Directive", "HostBinding", "i0", "Directive", "HostBinding", "i0", "Component", "ContentChild", "HostBinding", "Input", "coerceBoolean", "i0", "__decorate", "Component", "ContentChild", "HostBinding", "i0", "NgModule", "CommonModule", "COMPONENTS", "Component", "EventEmitter", "HostBinding", "Input", "Output", "ViewEncapsulation", "coerceBoolean", "i0", "__decorate", "Component", "EventEmitter", "HostBinding", "Input", "Output", "coerceNumber", "i0", "__decorate", "NgModule", "CommonModule", "RouterModule", "TranslateModule", "Directive", "HostBinding", "i0", "Directive", "EventEmitter", "HostBinding", "HostListener", "Output", "i0", "Component", "ContentChild", "HostBinding", "HostListener", "ViewChild", "Subject", "takeUntil", "i0", "CommonModule", "NgModule", "COMPONENTS", "Component", "HostBinding", "Input", "coerceBoolean", "i0", "__decorate", "Component", "HostBinding", "Input", "ViewEncapsulation", "coerceBoolean", "i0", "__decorate", "ContentChild", "Directive", "forwardRef", "HostBinding", "Input", "coerceBoolean", "i0", "__decorate", "Directive", "HostBinding", "Optional", "Self", "Inject", "forwardRef", "i0", "CommonModule", "NgModule", "Component", "EventEmitter", "forwardRef", "HostBinding", "Input", "Output", "NG_VALUE_ACCESSOR", "coerceBoolean", "coerceNumber", "noop", "i0", "__decorate", "NgModule", "CommonModule", "COMPONENTS", "Component", "HostBinding", "Input", "i0", "Directive", "EventEmitter", "HostBinding", "HostListener", "Input", "Optional", "Output", "Self", "coerceBoolean", "i0", "__decorate", "CommonModule", "NgModule", "TranslateModule", "COMPONENTS", "Component", "HostBinding", "Input", "i0", "Directive", "HostBinding", "Input", "Optional", "Self", "coerceBoolean", "i0", "__decorate", "NgModule", "CommonModule", "COMPONENTS", "Component", "HostBinding", "Input", "booleanAttribute", "i0", "Component", "EventEmitter", "HostBinding", "Input", "Output", "i0", "Directive", "HostBinding", "ContentChild", "i0", "NgModule", "CommonModule", "RouterModule", "COMPONENTS", "Component", "HostBinding", "Input", "coerceBoolean", "i0", "__decorate", "Component", "EventEmitter", "HostBinding", "Input", "Output", "i0", "Directive", "HostBinding", "ContentChild", "i0", "NgModule", "CommonModule", "COMPONENTS", "Component", "HostBinding", "Input", "booleanAttribute", "i0", "Directive", "HostBinding", "i0", "Directive", "HostBinding", "i0", "NgModule", "CommonModule", "TranslateModule", "Component", "HostBinding", "i0", "ContentChildren", "Directive", "EventEmitter", "forwardRef", "HostBinding", "HostListener", "Input", "Output", "booleanAttribute", "Subject", "takeUntil", "SortOrder", "i0", "NgModule", "CommonModule", "COMPONENTS", "Component", "i0", "Component", "ContentChild", "EventEmitter", "HostBinding", "Input", "Output", "ViewChild", "coerceBoolean", "i0", "__decorate", "Component", "HostBinding", "Input", "coerceBoolean", "i0", "__decorate", "Component", "ContentChildren", "EventEmitter", "forwardRef", "HostListener", "Input", "Output", "ViewChild", "ViewEncapsulation", "of", "Subject", "mergeWith", "takeUntil", "ShiftDirection", "i0", "CommonModule", "NgModule", "TranslateModule", "COMPONENTS", "Component", "Input", "HostBinding", "Output", "EventEmitter", "booleanAttribute", "i0", "Directive", "HostBinding", "i0", "NgModule", "CommonModule", "Directive", "HostBinding", "Input", "Optional", "Self", "coerceBoolean", "i0", "__decorate", "NgModule", "CommonModule", "Directive", "HostBinding", "i0", "Directive", "HostBinding", "i0", "Component", "EventEmitter", "HostListener", "Output", "i0", "Component", "Input", "HostBinding", "ViewEncapsulation", "Output", "EventEmitter", "ContentChild", "forwardRef", "coerceBoolean", "Subject", "takeUntil", "i0", "__decorate", "Component", "ContentChildren", "forwardRef", "HostBinding", "Subject", "takeUntil", "i0", "CommonModule", "NgModule", "TranslateModule", "NgModule"]
7
7
  }