@eui/ecl 22.0.0-alpha.39 → 22.0.0-alpha.40

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 (650) hide show
  1. package/docs/changelog.html +28 -0
  2. package/docs/components/EclAddToCalendarComponent.html +42 -3
  3. package/docs/components/EclAnimatedNumbersComponent.html +42 -3
  4. package/docs/components/EclAnimatedNumbersItemComponent.html +42 -3
  5. package/docs/components/EclAppComponent.html +26 -3
  6. package/docs/components/EclBannerComponent.html +42 -3
  7. package/docs/components/EclBlockquoteComponent.html +42 -3
  8. package/docs/components/EclBreadcrumbComponent.html +104 -4
  9. package/docs/components/EclBreadcrumbSegmentComponent.html +26 -3
  10. package/docs/components/EclButtonComponent.html +42 -3
  11. package/docs/components/EclCardBodyComponent.html +42 -3
  12. package/docs/components/EclCardComponent.html +42 -3
  13. package/docs/components/EclCarouselComponent.html +26 -3
  14. package/docs/components/EclCarouselItemComponent.html +26 -3
  15. package/docs/components/EclCategoryFilterComponent.html +42 -3
  16. package/docs/components/EclCategoryFilterItemComponent.html +26 -3
  17. package/docs/components/EclCategoryFilterListComponent.html +42 -3
  18. package/docs/components/EclCheckboxHelpComponent.html +42 -3
  19. package/docs/components/EclCheckboxLabelComponent.html +42 -3
  20. package/docs/components/EclContentBlockComponent.html +42 -3
  21. package/docs/components/EclContentItemComponent.html +42 -3
  22. package/docs/components/EclDateBlockComponent.html +42 -3
  23. package/docs/components/EclDescriptionListDefinitionComponent.html +42 -3
  24. package/docs/components/EclExpandableComponent.html +21 -58
  25. package/docs/components/EclFactFiguresComponent.html +42 -3
  26. package/docs/components/EclFactFiguresItemComponent.html +42 -3
  27. package/docs/components/EclFactFiguresViewAllComponent.html +42 -3
  28. package/docs/components/EclFeaturedComponent.html +42 -3
  29. package/docs/components/EclFeaturedItemComponent.html +42 -3
  30. package/docs/components/EclFeaturedItemDescriptionComponent.html +42 -3
  31. package/docs/components/EclFileComponent.html +26 -3
  32. package/docs/components/EclFileItemComponent.html +42 -3
  33. package/docs/components/EclFileItemsComponent.html +26 -3
  34. package/docs/components/EclFileListsComponent.html +42 -3
  35. package/docs/components/EclFormGroupComponent.html +42 -3
  36. package/docs/components/EclFormLabelComponent.html +42 -3
  37. package/docs/components/EclGalleryComponent.html +26 -3
  38. package/docs/components/EclGalleryItemComponent.html +26 -3
  39. package/docs/components/EclHighlightBoxComponent.html +42 -3
  40. package/docs/components/EclHighlightedSearchComponent.html +26 -3
  41. package/docs/components/EclInpageNavigationComponent.html +26 -3
  42. package/docs/components/EclInpageNavigationItemComponent.html +26 -3
  43. package/docs/components/EclLayoutWrapperComponent.html +42 -3
  44. package/docs/components/EclListIllustrationComponent.html +42 -3
  45. package/docs/components/EclListIllustrationItemComponent.html +42 -3
  46. package/docs/components/EclLoadingIndicatorComponent.html +42 -3
  47. package/docs/components/EclMediaContainerComponent.html +42 -3
  48. package/docs/components/EclMegaMenuComponent.html +26 -3
  49. package/docs/components/EclMegaMenuFeaturedComponent.html +42 -3
  50. package/docs/components/EclMegaMenuInfoComponent.html +42 -3
  51. package/docs/components/EclMegaMenuItemComponent.html +26 -3
  52. package/docs/components/EclMegaMenuSubitemComponent.html +26 -3
  53. package/docs/components/EclMenuComponent.html +26 -3
  54. package/docs/components/EclMenuItemComponent.html +26 -3
  55. package/docs/components/EclMenuMegaComponent.html +26 -3
  56. package/docs/components/EclMenuMegaItemComponent.html +26 -3
  57. package/docs/components/EclModalBodyComponent.html +42 -3
  58. package/docs/components/EclModalComponent.html +26 -3
  59. package/docs/components/EclModalFooterComponent.html +42 -3
  60. package/docs/components/EclModalHeaderComponent.html +26 -3
  61. package/docs/components/EclMultiselectComponent.html +26 -3
  62. package/docs/components/EclMultiselectDropdownComponent.html +27 -4
  63. package/docs/components/EclMultiselectInputComponent.html +26 -3
  64. package/docs/components/EclMultiselectOptgroupComponent.html +42 -3
  65. package/docs/components/EclMultiselectOptionComponent.html +26 -3
  66. package/docs/components/EclNavigationListComponent.html +42 -3
  67. package/docs/components/EclNavigationListItemComponent.html +42 -3
  68. package/docs/components/EclNewsTickerComponent.html +26 -3
  69. package/docs/components/EclNewsTickerItemComponent.html +26 -3
  70. package/docs/components/EclNotificationComponent.html +26 -3
  71. package/docs/components/EclPageHeaderComponent.html +42 -3
  72. package/docs/components/EclPageHeaderDescriptionContainerComponent.html +42 -3
  73. package/docs/components/EclPageHeaderExpandableComponent.html +42 -3
  74. package/docs/components/EclPageHeaderSectionComponent.html +42 -3
  75. package/docs/components/EclPageHeaderSectionInfoComponent.html +42 -3
  76. package/docs/components/EclPaginationComponent.html +26 -3
  77. package/docs/components/EclPaginationItemComponent.html +26 -3
  78. package/docs/components/EclPopoverComponent.html +26 -3
  79. package/docs/components/EclQuizCardComponent.html +26 -3
  80. package/docs/components/EclQuizComponent.html +42 -3
  81. package/docs/components/EclRadioHelpComponent.html +26 -3
  82. package/docs/components/EclRadioLabelComponent.html +26 -3
  83. package/docs/components/EclRangeBubbleComponent.html +42 -3
  84. package/docs/components/EclRangeValueComponent.html +42 -3
  85. package/docs/components/EclRatingFieldComponent.html +21 -21
  86. package/docs/components/EclSearchFormComponent.html +26 -3
  87. package/docs/components/EclSelectContainerComponent.html +26 -3
  88. package/docs/components/EclSiteFooterComponent.html +42 -3
  89. package/docs/components/EclSiteFooterCoownerComponent.html +42 -3
  90. package/docs/components/EclSiteFooterCoreComponent.html +42 -3
  91. package/docs/components/EclSiteFooterFeedbackComponent.html +42 -3
  92. package/docs/components/EclSiteFooterFixedContentEUComponent.html +42 -3
  93. package/docs/components/EclSiteFooterRowCommonComponent.html +42 -3
  94. package/docs/components/EclSiteHeaderActionComponent.html +42 -3
  95. package/docs/components/EclSiteHeaderBannerTopComponent.html +42 -3
  96. package/docs/components/EclSiteHeaderComponent.html +26 -3
  97. package/docs/components/EclSiteHeaderCustomActionComponent.html +42 -3
  98. package/docs/components/EclSiteHeaderEnvironmentComponent.html +42 -3
  99. package/docs/components/EclSiteHeaderLanguageComponent.html +26 -3
  100. package/docs/components/EclSiteHeaderLanguagePopoverComponent.html +26 -3
  101. package/docs/components/EclSiteHeaderLoginComponent.html +26 -3
  102. package/docs/components/EclSiteHeaderNotificationComponent.html +42 -3
  103. package/docs/components/EclSiteHeaderSearchComponent.html +26 -3
  104. package/docs/components/EclSloganTickerComponent.html +42 -3
  105. package/docs/components/EclSocialMediaFollowComponent.html +42 -3
  106. package/docs/components/EclSocialMediaFollowItemComponent.html +26 -3
  107. package/docs/components/EclSplashPageComponent.html +27 -29
  108. package/docs/components/EclSplashPageLanguageCategoryComponent.html +27 -34
  109. package/docs/components/EclSplashPageLanguageContainerComponent.html +27 -34
  110. package/docs/components/EclSplashPageLanguageLinkComponent.html +39 -45
  111. package/docs/components/EclSpotlightComponent.html +28 -31
  112. package/docs/components/EclSpotlightLinkComponent.html +27 -29
  113. package/docs/components/EclStickyContainerComponent.html +26 -70
  114. package/docs/components/EclStoryCardComponent.html +27 -4
  115. package/docs/components/EclStoryCardGridDetailsComponent.html +42 -3
  116. package/docs/components/EclStoryCardItemComponent.html +26 -3
  117. package/docs/components/EclTabComponent.html +40 -310
  118. package/docs/components/EclTabLabelComponent.html +42 -3
  119. package/docs/components/EclTableSortButtonComponent.html +23 -73
  120. package/docs/components/EclTabsComponent.html +27 -1619
  121. package/docs/components/EclTagComponent.html +26 -3
  122. package/docs/components/EclTextMediaComponent.html +42 -3
  123. package/docs/components/EclTimelineComponent.html +42 -3
  124. package/docs/components/EclTimelineItemComponent.html +26 -3
  125. package/docs/components/EclTimelineItemTogglerComponent.html +26 -3
  126. package/docs/directives/ECLBaseDirective.html +42 -3
  127. package/docs/directives/ECLClickOutsideDirective.html +26 -3
  128. package/docs/directives/EclBannerDescriptionDirective.html +42 -3
  129. package/docs/directives/EclBannerDescriptionLinkDirective.html +42 -3
  130. package/docs/directives/EclBannerDescriptionTextDirective.html +42 -3
  131. package/docs/directives/EclBannerImageDirective.html +42 -3
  132. package/docs/directives/EclBannerPictureDirective.html +42 -3
  133. package/docs/directives/EclBannerTitleDirective.html +42 -3
  134. package/docs/directives/EclBannerTitleLinkDirective.html +42 -3
  135. package/docs/directives/EclBannerTitleTextDirective.html +42 -3
  136. package/docs/directives/EclBannerVideoDirective.html +42 -3
  137. package/docs/directives/EclBlockquoteImageDirective.html +42 -3
  138. package/docs/directives/EclBlockquotePictureDirective.html +42 -3
  139. package/docs/directives/EclBreadcrumbContainerDirective.html +42 -3
  140. package/docs/directives/EclButtonLabelDirective.html +42 -3
  141. package/docs/directives/EclCardImageDirective.html +42 -3
  142. package/docs/directives/EclCardPictureDirective.html +42 -3
  143. package/docs/directives/EclCheckboxDirective.html +42 -3
  144. package/docs/directives/EclCheckboxInputDirective.html +42 -3
  145. package/docs/directives/EclContainerDirective.html +42 -3
  146. package/docs/directives/EclContentBlockDescriptionDirective.html +42 -3
  147. package/docs/directives/EclContentBlockLabelDirective.html +42 -3
  148. package/docs/directives/EclContentBlockLabelsDirective.html +42 -3
  149. package/docs/directives/EclContentBlockLinkDirective.html +42 -3
  150. package/docs/directives/EclContentBlockLinksContainerDirective.html +42 -3
  151. package/docs/directives/EclContentBlockLinksDirective.html +42 -3
  152. package/docs/directives/EclContentBlockListContainerDirective.html +42 -3
  153. package/docs/directives/EclContentBlockListDirective.html +42 -3
  154. package/docs/directives/EclContentBlockPrimaryMetaDirective.html +42 -3
  155. package/docs/directives/EclContentBlockPrimaryMetasDirective.html +42 -3
  156. package/docs/directives/EclContentBlockSecondaryMetaDirective.html +42 -3
  157. package/docs/directives/EclContentBlockSecondaryMetaIconDirective.html +42 -3
  158. package/docs/directives/EclContentBlockSecondaryMetaLabelDirective.html +42 -3
  159. package/docs/directives/EclContentBlockSecondaryMetasDirective.html +42 -3
  160. package/docs/directives/EclContentBlockTagDirective.html +42 -3
  161. package/docs/directives/EclContentBlockTagsDirective.html +42 -3
  162. package/docs/directives/EclContentBlockTitleDirective.html +42 -3
  163. package/docs/directives/EclContentItemImageDirective.html +42 -3
  164. package/docs/directives/EclContentItemPictureDirective.html +42 -3
  165. package/docs/directives/EclDescriptionListDefinitionItemDirective.html +42 -3
  166. package/docs/directives/EclDescriptionListDefinitionListDirective.html +42 -3
  167. package/docs/directives/EclDescriptionListDirective.html +42 -3
  168. package/docs/directives/EclDescriptionListTermDirective.html +42 -3
  169. package/docs/directives/EclDividerDirective.html +42 -3
  170. package/docs/directives/EclFactFiguresDescriptionDirective.html +42 -3
  171. package/docs/directives/EclFeaturedItemLinkDirective.html +42 -3
  172. package/docs/directives/EclFeaturedMediaAnchorDirective.html +42 -3
  173. package/docs/directives/EclFeedbackMessageDirective.html +42 -3
  174. package/docs/directives/EclFileDownloadDirective.html +42 -3
  175. package/docs/directives/EclFileImageDirective.html +42 -3
  176. package/docs/directives/EclFileMetaDirective.html +42 -3
  177. package/docs/directives/EclFilePictureDirective.html +42 -3
  178. package/docs/directives/EclFilePreviewDirective.html +42 -3
  179. package/docs/directives/EclFileTitleDirective.html +42 -3
  180. package/docs/directives/EclFileTranslationDownloadDirective.html +42 -3
  181. package/docs/directives/EclFileUploadDirective.html +26 -3
  182. package/docs/directives/EclGalleryMediaDirective.html +42 -3
  183. package/docs/directives/EclGalleryPictureDirective.html +42 -3
  184. package/docs/directives/EclGalleryThumbnailDirective.html +42 -3
  185. package/docs/directives/EclHelpBlockDirective.html +42 -3
  186. package/docs/directives/EclHiddenDirective.html +42 -3
  187. package/docs/directives/EclInpageNavigationListDirective.html +42 -3
  188. package/docs/directives/EclLabelDirective.html +42 -3
  189. package/docs/directives/EclLinkDirective.html +42 -3
  190. package/docs/directives/EclLinkLabelDirective.html +42 -3
  191. package/docs/directives/EclListIllustrationIconDirective.html +42 -3
  192. package/docs/directives/EclListIllustrationImageDirective.html +42 -3
  193. package/docs/directives/EclListIllustrationPictureDirective.html +42 -3
  194. package/docs/directives/EclLoadingIndicatorOverlayDirective.html +42 -3
  195. package/docs/directives/EclMediaContainerCaptionDirective.html +42 -3
  196. package/docs/directives/EclMediaContainerCreditDirective.html +42 -3
  197. package/docs/directives/EclMediaContainerIframeDirective.html +42 -3
  198. package/docs/directives/EclMediaContainerItemAudioDescriptionDirective.html +42 -3
  199. package/docs/directives/EclMediaContainerItemDirective.html +42 -3
  200. package/docs/directives/EclMediaContainerPictureDirective.html +42 -3
  201. package/docs/directives/EclMegaMenuContainerDirective.html +42 -3
  202. package/docs/directives/EclMegaMenuFeaturedImageDirective.html +42 -3
  203. package/docs/directives/EclMegaMenuFeaturedListDirective.html +42 -3
  204. package/docs/directives/EclMegaMenuFeaturedListItemDescriptionDirective.html +42 -3
  205. package/docs/directives/EclMegaMenuFeaturedListItemDirective.html +42 -3
  206. package/docs/directives/EclMegaMenuFeaturedPictureDirective.html +42 -3
  207. package/docs/directives/EclMegaMenuListDirective.html +42 -3
  208. package/docs/directives/EclMegaMenuSpacerDirective.html +42 -3
  209. package/docs/directives/EclMegaMenuSublistDirective.html +26 -3
  210. package/docs/directives/EclModalBodyFixedContentDirective.html +42 -3
  211. package/docs/directives/EclModalCloseDirective.html +26 -3
  212. package/docs/directives/EclModalTriggerDirective.html +42 -3
  213. package/docs/directives/EclMultiselectOptionDirective.html +42 -3
  214. package/docs/directives/EclNavigationListImageDirective.html +42 -3
  215. package/docs/directives/EclNavigationListPictureDirective.html +42 -3
  216. package/docs/directives/EclNewsTickerIconDirective.html +42 -3
  217. package/docs/directives/EclNotificationTitleDirective.html +42 -3
  218. package/docs/directives/EclOrderedListDirective.html +42 -3
  219. package/docs/directives/EclOrderedListItemDirective.html +42 -3
  220. package/docs/directives/EclPageHeaderBackgroundImageDirective.html +42 -3
  221. package/docs/directives/EclPageHeaderBackgroundPictureDirective.html +42 -3
  222. package/docs/directives/EclPageHeaderContainerDirective.html +42 -3
  223. package/docs/directives/EclPageHeaderDescriptionDirective.html +42 -3
  224. package/docs/directives/EclPageHeaderDescriptionPictureDirective.html +42 -3
  225. package/docs/directives/EclPageHeaderDescriptionThumbnailDirective.html +42 -3
  226. package/docs/directives/EclPageHeaderExpandableHeaderDirective.html +42 -3
  227. package/docs/directives/EclPageHeaderInfoDirective.html +42 -3
  228. package/docs/directives/EclPageHeaderMetaDirective.html +42 -3
  229. package/docs/directives/EclPageHeaderMetaItemDirective.html +42 -3
  230. package/docs/directives/EclPageHeaderTitleDirective.html +42 -3
  231. package/docs/directives/EclPaginationListDirective.html +42 -3
  232. package/docs/directives/EclPopoverContentDirective.html +42 -3
  233. package/docs/directives/EclPopoverToggleDirective.html +26 -3
  234. package/docs/directives/EclRadioDirective.html +42 -3
  235. package/docs/directives/EclRadioInputDirective.html +42 -3
  236. package/docs/directives/EclRangeDirective.html +26 -3
  237. package/docs/directives/EclSelectDirective.html +42 -3
  238. package/docs/directives/EclSiteFooterColumnDirective.html +42 -3
  239. package/docs/directives/EclSiteFooterCoownerItemDirective.html +42 -3
  240. package/docs/directives/EclSiteFooterCoownerListDirective.html +42 -3
  241. package/docs/directives/EclSiteFooterDescriptionDirective.html +42 -3
  242. package/docs/directives/EclSiteFooterDescriptionNameDirective.html +42 -3
  243. package/docs/directives/EclSiteFooterListDirective.html +42 -3
  244. package/docs/directives/EclSiteFooterListItemDirective.html +42 -3
  245. package/docs/directives/EclSiteFooterRowDirective.html +42 -3
  246. package/docs/directives/EclSiteFooterSectionDirective.html +42 -3
  247. package/docs/directives/EclSiteFooterSocialMediaDirective.html +42 -3
  248. package/docs/directives/EclSiteFooterTitleDirective.html +42 -3
  249. package/docs/directives/EclSiteFooterTitleLinkDirective.html +42 -3
  250. package/docs/directives/EclSiteHeaderCtaDirective.html +42 -3
  251. package/docs/directives/EclSiteHeaderCustomActionContentDirective.html +42 -3
  252. package/docs/directives/EclSiteHeaderCustomActionLinkDirective.html +26 -3
  253. package/docs/directives/EclSiteHeaderCustomActionTitleDirective.html +42 -3
  254. package/docs/directives/EclSiteHeaderImageDirective.html +42 -3
  255. package/docs/directives/EclSiteHeaderLinkDirective.html +42 -3
  256. package/docs/directives/EclSiteHeaderLoginDescriptionDirective.html +42 -3
  257. package/docs/directives/EclSiteHeaderLoginSeparatorDirective.html +42 -3
  258. package/docs/directives/EclSiteHeaderPictureDirective.html +42 -3
  259. package/docs/directives/EclSocialMediaFollowLinkDirective.html +42 -3
  260. package/docs/directives/EclSplashPageLanguageItemDirective.html +21 -98
  261. package/docs/directives/EclSplashPageLanguageListDirective.html +21 -98
  262. package/docs/directives/EclSplashPageLogoImageDirective.html +23 -29
  263. package/docs/directives/EclSplashPageLogoLinkDirective.html +23 -29
  264. package/docs/directives/EclSplashPagePictureDirective.html +23 -29
  265. package/docs/directives/EclSpotlightImageDirective.html +21 -98
  266. package/docs/directives/EclSpotlightPictureDirective.html +21 -98
  267. package/docs/directives/EclStoryCardLinkDirective.html +42 -3
  268. package/docs/directives/EclStoryCardListDirective.html +42 -3
  269. package/docs/directives/EclStoryCardPictureDirective.html +42 -3
  270. package/docs/directives/EclTableBodyDirective.html +35 -29
  271. package/docs/directives/EclTableCaptionDirective.html +33 -98
  272. package/docs/directives/EclTableCellDirective.html +35 -29
  273. package/docs/directives/EclTableCellGroupDirective.html +35 -29
  274. package/docs/directives/EclTableDirective.html +33 -53
  275. package/docs/directives/EclTableHeadDirective.html +23 -42
  276. package/docs/directives/EclTableHeaderDirective.html +49 -130
  277. package/docs/directives/EclTableResponsiveDirective.html +35 -29
  278. package/docs/directives/EclTableRowDirective.html +35 -29
  279. package/docs/directives/EclTagIconExternalDirective.html +42 -3
  280. package/docs/directives/EclTagSetDirective.html +42 -3
  281. package/docs/directives/EclTagSetItemDirective.html +42 -3
  282. package/docs/directives/EclTextAreaDirective.html +42 -3
  283. package/docs/directives/EclTextInputDirective.html +42 -3
  284. package/docs/directives/EclTimelineItemLabelDirective.html +42 -3
  285. package/docs/directives/EclTimelineItemTitleDirective.html +42 -3
  286. package/docs/directives/EclTimelineSetDirective.html +42 -3
  287. package/docs/directives/EclUnorderedListDirective.html +42 -3
  288. package/docs/directives/EclUnorderedListItemDirective.html +42 -3
  289. package/docs/js/search/search_index.js +2 -2
  290. package/docs/json/ECLBaseDirective.md +5 -2
  291. package/docs/json/ECLClickOutsideDirective.md +3 -2
  292. package/docs/json/EclAddToCalendarComponent.md +5 -2
  293. package/docs/json/EclAnimatedNumbersComponent.md +5 -2
  294. package/docs/json/EclAnimatedNumbersItemComponent.md +5 -2
  295. package/docs/json/EclAppComponent.md +3 -2
  296. package/docs/json/EclBannerComponent.md +5 -2
  297. package/docs/json/EclBannerDescriptionDirective.md +5 -2
  298. package/docs/json/EclBannerDescriptionLinkDirective.md +5 -2
  299. package/docs/json/EclBannerDescriptionTextDirective.md +5 -2
  300. package/docs/json/EclBannerImageDirective.md +5 -2
  301. package/docs/json/EclBannerPictureDirective.md +5 -2
  302. package/docs/json/EclBannerTitleDirective.md +5 -2
  303. package/docs/json/EclBannerTitleLinkDirective.md +5 -2
  304. package/docs/json/EclBannerTitleTextDirective.md +5 -2
  305. package/docs/json/EclBannerVideoDirective.md +5 -2
  306. package/docs/json/EclBlockquoteComponent.md +5 -2
  307. package/docs/json/EclBlockquoteImageDirective.md +5 -2
  308. package/docs/json/EclBlockquotePictureDirective.md +5 -2
  309. package/docs/json/EclBreadcrumbComponent.md +7 -2
  310. package/docs/json/EclBreadcrumbContainerDirective.md +5 -2
  311. package/docs/json/EclBreadcrumbSegmentComponent.md +3 -2
  312. package/docs/json/EclButtonComponent.md +5 -2
  313. package/docs/json/EclButtonLabelDirective.md +5 -2
  314. package/docs/json/EclCardBodyComponent.md +5 -2
  315. package/docs/json/EclCardComponent.md +5 -2
  316. package/docs/json/EclCardImageDirective.md +5 -2
  317. package/docs/json/EclCardPictureDirective.md +5 -2
  318. package/docs/json/EclCarouselComponent.md +3 -2
  319. package/docs/json/EclCarouselItemComponent.md +3 -2
  320. package/docs/json/EclCategoryFilterComponent.md +5 -2
  321. package/docs/json/EclCategoryFilterItemComponent.md +3 -2
  322. package/docs/json/EclCategoryFilterListComponent.md +5 -2
  323. package/docs/json/EclCheckboxDirective.md +5 -2
  324. package/docs/json/EclCheckboxHelpComponent.md +5 -2
  325. package/docs/json/EclCheckboxInputDirective.md +5 -2
  326. package/docs/json/EclCheckboxLabelComponent.md +5 -2
  327. package/docs/json/EclContainerDirective.md +5 -2
  328. package/docs/json/EclContentBlockComponent.md +5 -2
  329. package/docs/json/EclContentBlockDescriptionDirective.md +5 -2
  330. package/docs/json/EclContentBlockLabelDirective.md +5 -2
  331. package/docs/json/EclContentBlockLabelsDirective.md +5 -2
  332. package/docs/json/EclContentBlockLinkDirective.md +5 -2
  333. package/docs/json/EclContentBlockLinksContainerDirective.md +5 -2
  334. package/docs/json/EclContentBlockLinksDirective.md +5 -2
  335. package/docs/json/EclContentBlockListContainerDirective.md +5 -2
  336. package/docs/json/EclContentBlockListDirective.md +5 -2
  337. package/docs/json/EclContentBlockPrimaryMetaDirective.md +5 -2
  338. package/docs/json/EclContentBlockPrimaryMetasDirective.md +5 -2
  339. package/docs/json/EclContentBlockSecondaryMetaDirective.md +5 -2
  340. package/docs/json/EclContentBlockSecondaryMetaIconDirective.md +5 -2
  341. package/docs/json/EclContentBlockSecondaryMetaLabelDirective.md +5 -2
  342. package/docs/json/EclContentBlockSecondaryMetasDirective.md +5 -2
  343. package/docs/json/EclContentBlockTagDirective.md +5 -2
  344. package/docs/json/EclContentBlockTagsDirective.md +5 -2
  345. package/docs/json/EclContentBlockTitleDirective.md +5 -2
  346. package/docs/json/EclContentItemComponent.md +5 -2
  347. package/docs/json/EclContentItemImageDirective.md +5 -2
  348. package/docs/json/EclContentItemPictureDirective.md +5 -2
  349. package/docs/json/EclDateBlockComponent.md +5 -2
  350. package/docs/json/EclDescriptionListDefinitionComponent.md +5 -2
  351. package/docs/json/EclDescriptionListDefinitionItemDirective.md +5 -2
  352. package/docs/json/EclDescriptionListDefinitionListDirective.md +5 -2
  353. package/docs/json/EclDescriptionListDirective.md +5 -2
  354. package/docs/json/EclDescriptionListTermDirective.md +5 -2
  355. package/docs/json/EclDividerDirective.md +5 -2
  356. package/docs/json/EclExpandableComponent.md +5 -6
  357. package/docs/json/EclFactFiguresComponent.md +5 -2
  358. package/docs/json/EclFactFiguresDescriptionDirective.md +5 -2
  359. package/docs/json/EclFactFiguresItemComponent.md +5 -2
  360. package/docs/json/EclFactFiguresViewAllComponent.md +5 -2
  361. package/docs/json/EclFeaturedComponent.md +5 -2
  362. package/docs/json/EclFeaturedItemComponent.md +5 -2
  363. package/docs/json/EclFeaturedItemDescriptionComponent.md +5 -2
  364. package/docs/json/EclFeaturedItemLinkDirective.md +5 -2
  365. package/docs/json/EclFeaturedMediaAnchorDirective.md +5 -2
  366. package/docs/json/EclFeedbackMessageDirective.md +5 -2
  367. package/docs/json/EclFileComponent.md +3 -2
  368. package/docs/json/EclFileDownloadDirective.md +5 -2
  369. package/docs/json/EclFileImageDirective.md +5 -2
  370. package/docs/json/EclFileItemComponent.md +5 -2
  371. package/docs/json/EclFileItemsComponent.md +3 -2
  372. package/docs/json/EclFileListsComponent.md +5 -2
  373. package/docs/json/EclFileMetaDirective.md +5 -2
  374. package/docs/json/EclFilePictureDirective.md +5 -2
  375. package/docs/json/EclFilePreviewDirective.md +5 -2
  376. package/docs/json/EclFileTitleDirective.md +5 -2
  377. package/docs/json/EclFileTranslationDownloadDirective.md +5 -2
  378. package/docs/json/EclFileUploadDirective.md +3 -2
  379. package/docs/json/EclFormGroupComponent.md +5 -2
  380. package/docs/json/EclFormLabelComponent.md +5 -2
  381. package/docs/json/EclGalleryComponent.md +3 -2
  382. package/docs/json/EclGalleryItemComponent.md +3 -2
  383. package/docs/json/EclGalleryMediaDirective.md +5 -2
  384. package/docs/json/EclGalleryPictureDirective.md +5 -2
  385. package/docs/json/EclGalleryThumbnailDirective.md +5 -2
  386. package/docs/json/EclHelpBlockDirective.md +5 -2
  387. package/docs/json/EclHiddenDirective.md +5 -2
  388. package/docs/json/EclHighlightBoxComponent.md +5 -2
  389. package/docs/json/EclHighlightedSearchComponent.md +3 -2
  390. package/docs/json/EclInpageNavigationComponent.md +3 -2
  391. package/docs/json/EclInpageNavigationItemComponent.md +3 -2
  392. package/docs/json/EclInpageNavigationListDirective.md +5 -2
  393. package/docs/json/EclLabelDirective.md +5 -2
  394. package/docs/json/EclLayoutWrapperComponent.md +5 -2
  395. package/docs/json/EclLinkDirective.md +5 -2
  396. package/docs/json/EclLinkLabelDirective.md +5 -2
  397. package/docs/json/EclListIllustrationComponent.md +5 -2
  398. package/docs/json/EclListIllustrationIconDirective.md +5 -2
  399. package/docs/json/EclListIllustrationImageDirective.md +5 -2
  400. package/docs/json/EclListIllustrationItemComponent.md +5 -2
  401. package/docs/json/EclListIllustrationPictureDirective.md +5 -2
  402. package/docs/json/EclLoadingIndicatorComponent.md +5 -2
  403. package/docs/json/EclLoadingIndicatorOverlayDirective.md +5 -2
  404. package/docs/json/EclMediaContainerCaptionDirective.md +5 -2
  405. package/docs/json/EclMediaContainerComponent.md +5 -2
  406. package/docs/json/EclMediaContainerCreditDirective.md +5 -2
  407. package/docs/json/EclMediaContainerIframeDirective.md +5 -2
  408. package/docs/json/EclMediaContainerItemAudioDescriptionDirective.md +5 -2
  409. package/docs/json/EclMediaContainerItemDirective.md +5 -2
  410. package/docs/json/EclMediaContainerPictureDirective.md +5 -2
  411. package/docs/json/EclMegaMenuComponent.md +3 -2
  412. package/docs/json/EclMegaMenuContainerDirective.md +5 -2
  413. package/docs/json/EclMegaMenuFeaturedComponent.md +5 -2
  414. package/docs/json/EclMegaMenuFeaturedImageDirective.md +5 -2
  415. package/docs/json/EclMegaMenuFeaturedListDirective.md +5 -2
  416. package/docs/json/EclMegaMenuFeaturedListItemDescriptionDirective.md +5 -2
  417. package/docs/json/EclMegaMenuFeaturedListItemDirective.md +5 -2
  418. package/docs/json/EclMegaMenuFeaturedPictureDirective.md +5 -2
  419. package/docs/json/EclMegaMenuInfoComponent.md +5 -2
  420. package/docs/json/EclMegaMenuItemComponent.md +3 -2
  421. package/docs/json/EclMegaMenuListDirective.md +5 -2
  422. package/docs/json/EclMegaMenuSpacerDirective.md +5 -2
  423. package/docs/json/EclMegaMenuSubitemComponent.md +3 -2
  424. package/docs/json/EclMegaMenuSublistDirective.md +3 -2
  425. package/docs/json/EclMenuComponent.md +3 -2
  426. package/docs/json/EclMenuItemComponent.md +3 -2
  427. package/docs/json/EclMenuMegaComponent.md +3 -2
  428. package/docs/json/EclMenuMegaItemComponent.md +3 -2
  429. package/docs/json/EclModalBodyComponent.md +5 -2
  430. package/docs/json/EclModalBodyFixedContentDirective.md +5 -2
  431. package/docs/json/EclModalCloseDirective.md +3 -2
  432. package/docs/json/EclModalComponent.md +3 -2
  433. package/docs/json/EclModalFooterComponent.md +5 -2
  434. package/docs/json/EclModalHeaderComponent.md +3 -2
  435. package/docs/json/EclModalTriggerDirective.md +5 -2
  436. package/docs/json/EclMultiselectComponent.md +3 -2
  437. package/docs/json/EclMultiselectDropdownComponent.md +3 -2
  438. package/docs/json/EclMultiselectInputComponent.md +3 -2
  439. package/docs/json/EclMultiselectOptgroupComponent.md +5 -2
  440. package/docs/json/EclMultiselectOptionComponent.md +3 -2
  441. package/docs/json/EclMultiselectOptionDirective.md +5 -2
  442. package/docs/json/EclNavigationListComponent.md +5 -2
  443. package/docs/json/EclNavigationListImageDirective.md +5 -2
  444. package/docs/json/EclNavigationListItemComponent.md +5 -2
  445. package/docs/json/EclNavigationListPictureDirective.md +5 -2
  446. package/docs/json/EclNewsTickerComponent.md +3 -2
  447. package/docs/json/EclNewsTickerIconDirective.md +5 -2
  448. package/docs/json/EclNewsTickerItemComponent.md +3 -2
  449. package/docs/json/EclNotificationComponent.md +3 -2
  450. package/docs/json/EclNotificationTitleDirective.md +5 -2
  451. package/docs/json/EclOrderedListDirective.md +5 -2
  452. package/docs/json/EclOrderedListItemDirective.md +5 -2
  453. package/docs/json/EclPageHeaderBackgroundImageDirective.md +5 -2
  454. package/docs/json/EclPageHeaderBackgroundPictureDirective.md +5 -2
  455. package/docs/json/EclPageHeaderComponent.md +5 -2
  456. package/docs/json/EclPageHeaderContainerDirective.md +5 -2
  457. package/docs/json/EclPageHeaderDescriptionContainerComponent.md +5 -2
  458. package/docs/json/EclPageHeaderDescriptionDirective.md +5 -2
  459. package/docs/json/EclPageHeaderDescriptionPictureDirective.md +5 -2
  460. package/docs/json/EclPageHeaderDescriptionThumbnailDirective.md +5 -2
  461. package/docs/json/EclPageHeaderExpandableComponent.md +5 -2
  462. package/docs/json/EclPageHeaderExpandableHeaderDirective.md +5 -2
  463. package/docs/json/EclPageHeaderInfoDirective.md +5 -2
  464. package/docs/json/EclPageHeaderMetaDirective.md +5 -2
  465. package/docs/json/EclPageHeaderMetaItemDirective.md +5 -2
  466. package/docs/json/EclPageHeaderSectionComponent.md +5 -2
  467. package/docs/json/EclPageHeaderSectionInfoComponent.md +5 -2
  468. package/docs/json/EclPageHeaderTitleDirective.md +5 -2
  469. package/docs/json/EclPaginationComponent.md +3 -2
  470. package/docs/json/EclPaginationItemComponent.md +3 -2
  471. package/docs/json/EclPaginationListDirective.md +5 -2
  472. package/docs/json/EclPopoverComponent.md +3 -2
  473. package/docs/json/EclPopoverContentDirective.md +5 -2
  474. package/docs/json/EclPopoverToggleDirective.md +3 -2
  475. package/docs/json/EclQuizCardComponent.md +3 -2
  476. package/docs/json/EclQuizComponent.md +5 -2
  477. package/docs/json/EclRadioDirective.md +5 -2
  478. package/docs/json/EclRadioHelpComponent.md +3 -2
  479. package/docs/json/EclRadioInputDirective.md +5 -2
  480. package/docs/json/EclRadioLabelComponent.md +3 -2
  481. package/docs/json/EclRangeBubbleComponent.md +5 -2
  482. package/docs/json/EclRangeDirective.md +3 -2
  483. package/docs/json/EclRangeValueComponent.md +5 -2
  484. package/docs/json/EclRatingFieldComponent.md +4 -4
  485. package/docs/json/EclSearchFormComponent.md +3 -2
  486. package/docs/json/EclSelectContainerComponent.md +3 -2
  487. package/docs/json/EclSelectDirective.md +5 -2
  488. package/docs/json/EclSiteFooterColumnDirective.md +5 -2
  489. package/docs/json/EclSiteFooterComponent.md +5 -2
  490. package/docs/json/EclSiteFooterCoownerComponent.md +5 -2
  491. package/docs/json/EclSiteFooterCoownerItemDirective.md +5 -2
  492. package/docs/json/EclSiteFooterCoownerListDirective.md +5 -2
  493. package/docs/json/EclSiteFooterCoreComponent.md +5 -2
  494. package/docs/json/EclSiteFooterDescriptionDirective.md +5 -2
  495. package/docs/json/EclSiteFooterDescriptionNameDirective.md +5 -2
  496. package/docs/json/EclSiteFooterFeedbackComponent.md +5 -2
  497. package/docs/json/EclSiteFooterFixedContentEUComponent.md +5 -2
  498. package/docs/json/EclSiteFooterListDirective.md +5 -2
  499. package/docs/json/EclSiteFooterListItemDirective.md +5 -2
  500. package/docs/json/EclSiteFooterRowCommonComponent.md +5 -2
  501. package/docs/json/EclSiteFooterRowDirective.md +5 -2
  502. package/docs/json/EclSiteFooterSectionDirective.md +5 -2
  503. package/docs/json/EclSiteFooterSocialMediaDirective.md +5 -2
  504. package/docs/json/EclSiteFooterTitleDirective.md +5 -2
  505. package/docs/json/EclSiteFooterTitleLinkDirective.md +5 -2
  506. package/docs/json/EclSiteHeaderActionComponent.md +5 -2
  507. package/docs/json/EclSiteHeaderBannerTopComponent.md +5 -2
  508. package/docs/json/EclSiteHeaderComponent.md +3 -2
  509. package/docs/json/EclSiteHeaderCtaDirective.md +5 -2
  510. package/docs/json/EclSiteHeaderCustomActionComponent.md +3 -2
  511. package/docs/json/EclSiteHeaderCustomActionContentDirective.md +5 -2
  512. package/docs/json/EclSiteHeaderCustomActionLinkDirective.md +3 -2
  513. package/docs/json/EclSiteHeaderCustomActionTitleDirective.md +5 -2
  514. package/docs/json/EclSiteHeaderEnvironmentComponent.md +5 -2
  515. package/docs/json/EclSiteHeaderImageDirective.md +5 -2
  516. package/docs/json/EclSiteHeaderLanguageComponent.md +3 -2
  517. package/docs/json/EclSiteHeaderLanguagePopoverComponent.md +3 -2
  518. package/docs/json/EclSiteHeaderLinkDirective.md +5 -2
  519. package/docs/json/EclSiteHeaderLoginComponent.md +3 -2
  520. package/docs/json/EclSiteHeaderLoginDescriptionDirective.md +5 -2
  521. package/docs/json/EclSiteHeaderLoginSeparatorDirective.md +5 -2
  522. package/docs/json/EclSiteHeaderNotificationComponent.md +5 -2
  523. package/docs/json/EclSiteHeaderPictureDirective.md +5 -2
  524. package/docs/json/EclSiteHeaderSearchComponent.md +3 -2
  525. package/docs/json/EclSloganTickerComponent.md +5 -2
  526. package/docs/json/EclSocialMediaFollowComponent.md +5 -2
  527. package/docs/json/EclSocialMediaFollowItemComponent.md +3 -2
  528. package/docs/json/EclSocialMediaFollowLinkDirective.md +5 -2
  529. package/docs/json/EclSplashPageComponent.md +5 -2
  530. package/docs/json/EclSplashPageLanguageCategoryComponent.md +5 -2
  531. package/docs/json/EclSplashPageLanguageContainerComponent.md +5 -2
  532. package/docs/json/EclSplashPageLanguageItemDirective.md +5 -2
  533. package/docs/json/EclSplashPageLanguageLinkComponent.md +5 -2
  534. package/docs/json/EclSplashPageLanguageListDirective.md +5 -2
  535. package/docs/json/EclSplashPageLogoImageDirective.md +5 -2
  536. package/docs/json/EclSplashPageLogoLinkDirective.md +5 -2
  537. package/docs/json/EclSplashPagePictureDirective.md +5 -2
  538. package/docs/json/EclSpotlightComponent.md +5 -2
  539. package/docs/json/EclSpotlightImageDirective.md +5 -2
  540. package/docs/json/EclSpotlightLinkComponent.md +5 -2
  541. package/docs/json/EclSpotlightPictureDirective.md +5 -2
  542. package/docs/json/EclStickyContainerComponent.md +7 -4
  543. package/docs/json/EclStoryCardComponent.md +3 -2
  544. package/docs/json/EclStoryCardGridDetailsComponent.md +5 -2
  545. package/docs/json/EclStoryCardItemComponent.md +3 -2
  546. package/docs/json/EclStoryCardLinkDirective.md +5 -2
  547. package/docs/json/EclStoryCardListDirective.md +5 -2
  548. package/docs/json/EclStoryCardPictureDirective.md +5 -2
  549. package/docs/json/EclTabComponent.md +5 -4
  550. package/docs/json/EclTabLabelComponent.md +5 -2
  551. package/docs/json/EclTableBodyDirective.md +7 -2
  552. package/docs/json/EclTableCaptionDirective.md +7 -2
  553. package/docs/json/EclTableCellDirective.md +7 -2
  554. package/docs/json/EclTableCellGroupDirective.md +7 -2
  555. package/docs/json/EclTableDirective.md +5 -4
  556. package/docs/json/EclTableHeadDirective.md +5 -2
  557. package/docs/json/EclTableHeaderDirective.md +9 -5
  558. package/docs/json/EclTableResponsiveDirective.md +7 -2
  559. package/docs/json/EclTableRowDirective.md +7 -2
  560. package/docs/json/EclTableSortButtonComponent.md +5 -2
  561. package/docs/json/EclTabsComponent.md +3 -2
  562. package/docs/json/EclTagComponent.md +3 -2
  563. package/docs/json/EclTagIconExternalDirective.md +5 -2
  564. package/docs/json/EclTagSetDirective.md +5 -2
  565. package/docs/json/EclTagSetItemDirective.md +5 -2
  566. package/docs/json/EclTextAreaDirective.md +5 -2
  567. package/docs/json/EclTextInputDirective.md +5 -2
  568. package/docs/json/EclTextMediaComponent.md +5 -2
  569. package/docs/json/EclTimelineComponent.md +5 -2
  570. package/docs/json/EclTimelineItemComponent.md +3 -2
  571. package/docs/json/EclTimelineItemLabelDirective.md +5 -2
  572. package/docs/json/EclTimelineItemTitleDirective.md +5 -2
  573. package/docs/json/EclTimelineItemTogglerComponent.md +3 -2
  574. package/docs/json/EclTimelineSetDirective.md +5 -2
  575. package/docs/json/EclUnorderedListDirective.md +5 -2
  576. package/docs/json/EclUnorderedListItemDirective.md +5 -2
  577. package/docs/json/documentation.json +15953 -6451
  578. package/docs/llms.txt +1633 -931
  579. package/docs/properties.html +1 -1
  580. package/fesm2022/eui-ecl-components-ecl-banner.mjs +1 -1
  581. package/fesm2022/eui-ecl-components-ecl-banner.mjs.map +1 -1
  582. package/fesm2022/eui-ecl-components-ecl-breadcrumb.mjs +14 -3
  583. package/fesm2022/eui-ecl-components-ecl-breadcrumb.mjs.map +1 -1
  584. package/fesm2022/eui-ecl-components-ecl-content-item.mjs +2 -2
  585. package/fesm2022/eui-ecl-components-ecl-content-item.mjs.map +1 -1
  586. package/fesm2022/eui-ecl-components-ecl-expandable.mjs +22 -20
  587. package/fesm2022/eui-ecl-components-ecl-expandable.mjs.map +1 -1
  588. package/fesm2022/eui-ecl-components-ecl-fact-figures.mjs +2 -2
  589. package/fesm2022/eui-ecl-components-ecl-fact-figures.mjs.map +1 -1
  590. package/fesm2022/eui-ecl-components-ecl-featured.mjs +1 -1
  591. package/fesm2022/eui-ecl-components-ecl-featured.mjs.map +1 -1
  592. package/fesm2022/eui-ecl-components-ecl-media-container.mjs +1 -1
  593. package/fesm2022/eui-ecl-components-ecl-media-container.mjs.map +1 -1
  594. package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs +2 -2
  595. package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs.map +1 -1
  596. package/fesm2022/eui-ecl-components-ecl-menu.mjs +2 -2
  597. package/fesm2022/eui-ecl-components-ecl-menu.mjs.map +1 -1
  598. package/fesm2022/eui-ecl-components-ecl-modal.mjs +1 -1
  599. package/fesm2022/eui-ecl-components-ecl-modal.mjs.map +1 -1
  600. package/fesm2022/eui-ecl-components-ecl-multiselect.mjs +2 -2
  601. package/fesm2022/eui-ecl-components-ecl-multiselect.mjs.map +1 -1
  602. package/fesm2022/eui-ecl-components-ecl-navigation-list.mjs +1 -1
  603. package/fesm2022/eui-ecl-components-ecl-navigation-list.mjs.map +1 -1
  604. package/fesm2022/eui-ecl-components-ecl-news-ticker.mjs +9 -4
  605. package/fesm2022/eui-ecl-components-ecl-news-ticker.mjs.map +1 -1
  606. package/fesm2022/eui-ecl-components-ecl-notification.mjs +1 -1
  607. package/fesm2022/eui-ecl-components-ecl-notification.mjs.map +1 -1
  608. package/fesm2022/eui-ecl-components-ecl-page-header.mjs +2 -2
  609. package/fesm2022/eui-ecl-components-ecl-page-header.mjs.map +1 -1
  610. package/fesm2022/eui-ecl-components-ecl-rating-field.mjs +17 -9
  611. package/fesm2022/eui-ecl-components-ecl-rating-field.mjs.map +1 -1
  612. package/fesm2022/eui-ecl-components-ecl-site-footer.mjs +2 -2
  613. package/fesm2022/eui-ecl-components-ecl-site-footer.mjs.map +1 -1
  614. package/fesm2022/eui-ecl-components-ecl-splash-page.mjs +67 -86
  615. package/fesm2022/eui-ecl-components-ecl-splash-page.mjs.map +1 -1
  616. package/fesm2022/eui-ecl-components-ecl-spotlight.mjs +21 -37
  617. package/fesm2022/eui-ecl-components-ecl-spotlight.mjs.map +1 -1
  618. package/fesm2022/eui-ecl-components-ecl-sticky-container.mjs +10 -15
  619. package/fesm2022/eui-ecl-components-ecl-sticky-container.mjs.map +1 -1
  620. package/fesm2022/eui-ecl-components-ecl-story-card.mjs +13 -18
  621. package/fesm2022/eui-ecl-components-ecl-story-card.mjs.map +1 -1
  622. package/fesm2022/eui-ecl-components-ecl-table.mjs +195 -209
  623. package/fesm2022/eui-ecl-components-ecl-table.mjs.map +1 -1
  624. package/fesm2022/eui-ecl-components-ecl-tabs.mjs +213 -261
  625. package/fesm2022/eui-ecl-components-ecl-tabs.mjs.map +1 -1
  626. package/fesm2022/eui-ecl-core.mjs +15 -17
  627. package/fesm2022/eui-ecl-core.mjs.map +1 -1
  628. package/package.json +1 -1
  629. package/types/eui-ecl-components-ecl-breadcrumb.d.ts +10 -1
  630. package/types/eui-ecl-components-ecl-breadcrumb.d.ts.map +1 -1
  631. package/types/eui-ecl-components-ecl-expandable.d.ts +14 -10
  632. package/types/eui-ecl-components-ecl-expandable.d.ts.map +1 -1
  633. package/types/eui-ecl-components-ecl-news-ticker.d.ts +1 -0
  634. package/types/eui-ecl-components-ecl-news-ticker.d.ts.map +1 -1
  635. package/types/eui-ecl-components-ecl-rating-field.d.ts +10 -2
  636. package/types/eui-ecl-components-ecl-rating-field.d.ts.map +1 -1
  637. package/types/eui-ecl-components-ecl-splash-page.d.ts +4 -17
  638. package/types/eui-ecl-components-ecl-splash-page.d.ts.map +1 -1
  639. package/types/eui-ecl-components-ecl-spotlight.d.ts +0 -8
  640. package/types/eui-ecl-components-ecl-spotlight.d.ts.map +1 -1
  641. package/types/eui-ecl-components-ecl-sticky-container.d.ts +4 -4
  642. package/types/eui-ecl-components-ecl-sticky-container.d.ts.map +1 -1
  643. package/types/eui-ecl-components-ecl-story-card.d.ts +7 -7
  644. package/types/eui-ecl-components-ecl-story-card.d.ts.map +1 -1
  645. package/types/eui-ecl-components-ecl-table.d.ts +85 -53
  646. package/types/eui-ecl-components-ecl-table.d.ts.map +1 -1
  647. package/types/eui-ecl-components-ecl-tabs.d.ts +90 -120
  648. package/types/eui-ecl-components-ecl-tabs.d.ts.map +1 -1
  649. package/types/eui-ecl-core.d.ts +4 -5
  650. package/types/eui-ecl-core.d.ts.map +1 -1
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { model, input, output, HostBinding, Component } from '@angular/core';
2
+ import { input, booleanAttribute, output, linkedSignal, computed, HostBinding, Component } from '@angular/core';
3
3
  import * as i1 from '@eui/ecl/components/ecl-button';
4
4
  import { EUI_ECL_BUTTON } from '@eui/ecl/components/ecl-button';
5
5
  import * as i2 from '@eui/ecl/components/ecl-icon';
@@ -25,11 +25,11 @@ class EclExpandableComponent extends ECLBaseDirective {
25
25
  constructor() {
26
26
  super(...arguments);
27
27
  /**
28
- * Whether the expandable content is currently expanded.
28
+ * Whether the expandable content should start expanded.
29
+ * One-way input; the live expanded state is tracked internally and toggled by the user.
29
30
  * Default is `false`.
30
31
  */
31
- this.isExpanded = model(false, /* @ts-ignore */
32
- ...(ngDevMode ? [{ debugName: "isExpanded" }] : /* istanbul ignore next */ []));
32
+ this.isExpanded = input(false, { ...(ngDevMode ? { debugName: "isExpanded" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
33
33
  /**
34
34
  * The label to display when the content is collapsed.
35
35
  */
@@ -37,9 +37,9 @@ class EclExpandableComponent extends ECLBaseDirective {
37
37
  ...(ngDevMode ? [{ debugName: "collapsedLabel" }] : /* istanbul ignore next */ []));
38
38
  /**
39
39
  * The label to display when the content is expanded.
40
- * If not set, `collapsedLabel` will be used as fallback.
40
+ * If not set, `collapsedLabel` is used as fallback.
41
41
  */
42
- this.expandedLabel = model(undefined, /* @ts-ignore */
42
+ this.expandedLabel = input(undefined, /* @ts-ignore */
43
43
  ...(ngDevMode ? [{ debugName: "expandedLabel" }] : /* istanbul ignore next */ []));
44
44
  /**
45
45
  * Event emitted when the expandable is toggled.
@@ -47,6 +47,17 @@ class EclExpandableComponent extends ECLBaseDirective {
47
47
  */
48
48
  // eslint-disable-next-line
49
49
  this.toggle = output();
50
+ /**
51
+ * Live expanded state. Seeded from the `isExpanded` input and updated when the user
52
+ * toggles the control, so consumer-provided changes re-sync while internal toggles persist.
53
+ */
54
+ this.isExpandedState = linkedSignal(() => this.isExpanded(), /* @ts-ignore */
55
+ ...(ngDevMode ? [{ debugName: "isExpandedState" }] : /* istanbul ignore next */ []));
56
+ /**
57
+ * Effective label shown when expanded, falling back to `collapsedLabel` when not provided.
58
+ */
59
+ this.resolvedExpandedLabel = computed(() => this.expandedLabel() || this.collapsedLabel(), /* @ts-ignore */
60
+ ...(ngDevMode ? [{ debugName: "resolvedExpandedLabel" }] : /* istanbul ignore next */ []));
50
61
  }
51
62
  /**
52
63
  * Applies the expandable base CSS class to the host element.
@@ -54,37 +65,28 @@ class EclExpandableComponent extends ECLBaseDirective {
54
65
  get cssClasses() {
55
66
  return [super.getCssClasses('ecl-expandable')].join(' ').trim();
56
67
  }
57
- /**
58
- * Initializes the component.
59
- * If `expandedLabel` is not provided, it falls back to `collapsedLabel`.
60
- */
61
- ngOnInit() {
62
- if (!this.expandedLabel()) {
63
- this.expandedLabel.set(this.collapsedLabel());
64
- }
65
- }
66
68
  /**
67
69
  * Handles click on the toggle button.
68
70
  * Emits a toggle event and updates the expanded state unless prevented.
69
71
  */
70
72
  onButtonClick() {
71
- const nextExpandedState = !this.isExpanded();
73
+ const nextExpandedState = !this.isExpandedState();
72
74
  const event = new EclExpandableToggleEvent(nextExpandedState);
73
75
  this.toggle.emit(event);
74
76
  if (!event.defaultPrevented) {
75
- this.isExpanded.set(nextExpandedState);
77
+ this.isExpandedState.set(nextExpandedState);
76
78
  }
77
79
  }
78
80
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclExpandableComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
79
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: EclExpandableComponent, isStandalone: true, selector: "ecl-expandable", inputs: { isExpanded: { classPropertyName: "isExpanded", publicName: "isExpanded", isSignal: true, isRequired: false, transformFunction: null }, collapsedLabel: { classPropertyName: "collapsedLabel", publicName: "collapsedLabel", isSignal: true, isRequired: false, transformFunction: null }, expandedLabel: { classPropertyName: "expandedLabel", publicName: "expandedLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isExpanded: "isExpandedChange", expandedLabel: "expandedLabelChange", toggle: "toggle" }, host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0, template: "<button\n eclButton\n variant=\"tertiary\"\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", styles: [":host{display:block}\n"], dependencies: [{ kind: "component", type: i1.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "eclStyle", "size", "containerStyleClass"] }, { kind: "directive", type: i1.EclButtonLabelDirective, selector: "[eclButtonLabel]" }, { kind: "component", type: i2.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
81
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: EclExpandableComponent, isStandalone: true, selector: "ecl-expandable", inputs: { isExpanded: { classPropertyName: "isExpanded", publicName: "isExpanded", isSignal: true, isRequired: false, transformFunction: null }, collapsedLabel: { classPropertyName: "collapsedLabel", publicName: "collapsedLabel", isSignal: true, isRequired: false, transformFunction: null }, expandedLabel: { classPropertyName: "expandedLabel", publicName: "expandedLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { toggle: "toggle" }, host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0, template: "<button\n eclButton\n variant=\"tertiary\"\n type=\"button\"\n class=\"ecl-expandable__toggle\"\n [attr.aria-expanded]=\"isExpandedState()\"\n (click)=\"onButtonClick()\">\n <span eclButtonLabel>\n @if (isExpandedState()) {\n {{ resolvedExpandedLabel() || '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]=\"!isExpandedState()\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "component", type: i1.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "eclStyle", "size", "containerStyleClass"] }, { kind: "directive", type: i1.EclButtonLabelDirective, selector: "[eclButtonLabel]" }, { kind: "component", type: i2.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
80
82
  }
81
83
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclExpandableComponent, decorators: [{
82
84
  type: Component,
83
- args: [{ selector: 'ecl-expandable', imports: [...EUI_ECL_BUTTON, ...EUI_ECL_ICON, TranslatePipe], template: "<button\n eclButton\n variant=\"tertiary\"\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", styles: [":host{display:block}\n"] }]
85
+ args: [{ selector: 'ecl-expandable', imports: [...EUI_ECL_BUTTON, ...EUI_ECL_ICON, TranslatePipe], template: "<button\n eclButton\n variant=\"tertiary\"\n type=\"button\"\n class=\"ecl-expandable__toggle\"\n [attr.aria-expanded]=\"isExpandedState()\"\n (click)=\"onButtonClick()\">\n <span eclButtonLabel>\n @if (isExpandedState()) {\n {{ resolvedExpandedLabel() || '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]=\"!isExpandedState()\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{display:block}\n"] }]
84
86
  }], propDecorators: { cssClasses: [{
85
87
  type: HostBinding,
86
88
  args: ['class']
87
- }], isExpanded: [{ type: i0.Input, args: [{ isSignal: true, alias: "isExpanded", required: false }] }, { type: i0.Output, args: ["isExpandedChange"] }], collapsedLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "collapsedLabel", required: false }] }], expandedLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "expandedLabel", required: false }] }, { type: i0.Output, args: ["expandedLabelChange"] }], toggle: [{ type: i0.Output, args: ["toggle"] }] } });
89
+ }], isExpanded: [{ type: i0.Input, args: [{ isSignal: true, alias: "isExpanded", required: false }] }], collapsedLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "collapsedLabel", required: false }] }], expandedLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "expandedLabel", required: false }] }], toggle: [{ type: i0.Output, args: ["toggle"] }] } });
88
90
 
89
91
  const EUI_ECL_EXPANDABLE = [
90
92
  EclExpandableComponent,
@@ -1 +1 @@
1
- {"version":3,"file":"eui-ecl-components-ecl-expandable.mjs","sources":["../../components/ecl-expandable/ecl-expandable.component.ts","../../components/ecl-expandable/ecl-expandable.component.html","../../components/ecl-expandable/index.ts","../../components/ecl-expandable/eui-ecl-components-ecl-expandable.ts"],"sourcesContent":["import { Component, OnInit, HostBinding, booleanAttribute, output, input, model } from '@angular/core';\nimport { EUI_ECL_BUTTON } from '@eui/ecl/components/ecl-button';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\nimport { EclBaseEvent } from '@eui/ecl/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { TranslatePipe } from '@ngx-translate/core';\n\n/**\n * Event emitted when the expandable is toggled.\n * Contains the next expanded state.\n */\nexport class EclExpandableToggleEvent extends EclBaseEvent {\n constructor(public isExpanded: boolean) {\n super();\n }\n}\n\n/**\n * Expandable component used to toggle visibility of additional content.\n * It displays a toggle button with configurable labels and emits an event on toggle.\n */\n@Component({\n selector: 'ecl-expandable',\n templateUrl: './ecl-expandable.component.html',\n imports: [...EUI_ECL_BUTTON, ...EUI_ECL_ICON, TranslatePipe],\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclExpandableComponent extends ECLBaseDirective implements OnInit {\n /**\n * Applies the expandable base CSS class to the host element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-expandable')].join(' ').trim();\n }\n\n /**\n * Whether the expandable content is currently expanded.\n * Default is `false`.\n */\n readonly isExpanded = model(false);\n\n /**\n * The label to display when the content is collapsed.\n */\n readonly collapsedLabel = input<string>(undefined);\n\n /**\n * The label to display when the content is expanded.\n * If not set, `collapsedLabel` will be used as fallback.\n */\n readonly expandedLabel = model<string>(undefined);\n\n /**\n * Event emitted when the expandable is toggled.\n * Consumers can prevent default behavior by calling `event.preventDefault()`.\n */\n // eslint-disable-next-line\n readonly toggle = output<EclExpandableToggleEvent>();\n\n /**\n * Initializes the component.\n * If `expandedLabel` is not provided, it falls back to `collapsedLabel`.\n */\n ngOnInit(): void {\n if (!this.expandedLabel()) {\n this.expandedLabel.set(this.collapsedLabel());\n }\n }\n\n /**\n * Handles click on the toggle button.\n * Emits a toggle event and updates the expanded state unless prevented.\n */\n onButtonClick(): void {\n const nextExpandedState = !this.isExpanded();\n const event = new EclExpandableToggleEvent(nextExpandedState);\n\n this.toggle.emit(event);\n\n if (!event.defaultPrevented) {\n this.isExpanded.set(nextExpandedState);\n }\n }\n}\n","<button\n eclButton\n variant=\"tertiary\"\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 { EclExpandableComponent } from './ecl-expandable.component';\n\nexport * from './ecl-expandable.component';\n\nexport const EUI_ECL_EXPANDABLE = [\n EclExpandableComponent,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eui-ecl-components-ecl-expandable.mjs","sources":["../../components/ecl-expandable/ecl-expandable.component.ts","../../components/ecl-expandable/ecl-expandable.component.html","../../components/ecl-expandable/index.ts","../../components/ecl-expandable/eui-ecl-components-ecl-expandable.ts"],"sourcesContent":["import { Component, HostBinding, booleanAttribute, computed, linkedSignal, output, input } from '@angular/core';\nimport { EUI_ECL_BUTTON } from '@eui/ecl/components/ecl-button';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\nimport { EclBaseEvent } from '@eui/ecl/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { TranslatePipe } from '@ngx-translate/core';\n\n/**\n * Event emitted when the expandable is toggled.\n * Contains the next expanded state.\n */\nexport class EclExpandableToggleEvent extends EclBaseEvent {\n constructor(public isExpanded: boolean) {\n super();\n }\n}\n\n/**\n * Expandable component used to toggle visibility of additional content.\n * It displays a toggle button with configurable labels and emits an event on toggle.\n */\n@Component({\n selector: 'ecl-expandable',\n templateUrl: './ecl-expandable.component.html',\n imports: [...EUI_ECL_BUTTON, ...EUI_ECL_ICON, TranslatePipe],\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclExpandableComponent extends ECLBaseDirective {\n /**\n * Applies the expandable base CSS class to the host element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-expandable')].join(' ').trim();\n }\n\n /**\n * Whether the expandable content should start expanded.\n * One-way input; the live expanded state is tracked internally and toggled by the user.\n * Default is `false`.\n */\n readonly isExpanded = input(false, { transform: booleanAttribute });\n\n /**\n * The label to display when the content is collapsed.\n */\n readonly collapsedLabel = input<string>(undefined);\n\n /**\n * The label to display when the content is expanded.\n * If not set, `collapsedLabel` is used as fallback.\n */\n readonly expandedLabel = input<string>(undefined);\n\n /**\n * Event emitted when the expandable is toggled.\n * Consumers can prevent default behavior by calling `event.preventDefault()`.\n */\n // eslint-disable-next-line\n readonly toggle = output<EclExpandableToggleEvent>();\n\n /**\n * Live expanded state. Seeded from the `isExpanded` input and updated when the user\n * toggles the control, so consumer-provided changes re-sync while internal toggles persist.\n */\n protected readonly isExpandedState = linkedSignal(() => this.isExpanded());\n\n /**\n * Effective label shown when expanded, falling back to `collapsedLabel` when not provided.\n */\n protected readonly resolvedExpandedLabel = computed(() => this.expandedLabel() || this.collapsedLabel());\n\n /**\n * Handles click on the toggle button.\n * Emits a toggle event and updates the expanded state unless prevented.\n */\n onButtonClick(): void {\n const nextExpandedState = !this.isExpandedState();\n const event = new EclExpandableToggleEvent(nextExpandedState);\n\n this.toggle.emit(event);\n\n if (!event.defaultPrevented) {\n this.isExpandedState.set(nextExpandedState);\n }\n }\n}\n","<button\n eclButton\n variant=\"tertiary\"\n type=\"button\"\n class=\"ecl-expandable__toggle\"\n [attr.aria-expanded]=\"isExpandedState()\"\n (click)=\"onButtonClick()\">\n <span eclButtonLabel>\n @if (isExpandedState()) {\n {{ resolvedExpandedLabel() || '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]=\"!isExpandedState()\">\n <ng-content></ng-content>\n</div>\n","import { EclExpandableComponent } from './ecl-expandable.component';\n\nexport * from './ecl-expandable.component';\n\nexport const EUI_ECL_EXPANDABLE = [\n EclExpandableComponent,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -35,7 +35,7 @@ class EclFactFiguresItemComponent extends ECLBaseDirective {
35
35
  ngAfterContentInit() {
36
36
  if (this.eclIconComponents()) {
37
37
  this.eclIconComponents().forEach((eclIcon) => {
38
- eclIcon.baseDirective.class = [eclIcon.baseDirective.class, 'ecl-fact-figures__icon'].join(' ');
38
+ eclIcon.baseDirective.class.set([eclIcon.baseDirective.class(), 'ecl-fact-figures__icon'].join(' '));
39
39
  });
40
40
  }
41
41
  }
@@ -224,7 +224,7 @@ class EclFactFiguresViewAllComponent extends ECLBaseDirective {
224
224
  ngAfterContentInit() {
225
225
  const eclLink = this.eclLink();
226
226
  if (eclLink) {
227
- eclLink.class = [eclLink.class, 'ecl-fact-figures__view-all-link'].join(' ');
227
+ eclLink.class.set([eclLink.class(), 'ecl-fact-figures__view-all-link'].join(' '));
228
228
  }
229
229
  }
230
230
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclFactFiguresViewAllComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
@@ -1 +1 @@
1
- {"version":3,"file":"eui-ecl-components-ecl-fact-figures.mjs","sources":["../../components/ecl-fact-figures/ecl-fact-figures-item.component.ts","../../components/ecl-fact-figures/ecl-fact-figures-item.component.html","../../components/ecl-fact-figures/ecl-fact-figures-sources.directive.ts","../../components/ecl-fact-figures/ecl-fact-figures.component.ts","../../components/ecl-fact-figures/ecl-fact-figures.component.html","../../components/ecl-fact-figures/ecl-fact-figures-view-all.component.ts","../../components/ecl-fact-figures/ecl-fact-figures-view-all.component.html","../../components/ecl-fact-figures/ecl-fact-figures-description.directive.ts","../../components/ecl-fact-figures/index.ts","../../components/ecl-fact-figures/eui-ecl-components-ecl-fact-figures.ts"],"sourcesContent":["import { AfterContentInit, Component, contentChildren, input } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclIconComponent } from '@eui/ecl/components/ecl-icon';\n\n/**\n * Component representing a single item within the Fact & Figures block.\n * Optionally handles embedded icons and applies appropriate styling.\n */\n@Component({\n selector: 'div[eclFactFiguresItem],ecl-fact-figures-item',\n templateUrl: './ecl-fact-figures-item.component.html',\n host: {\n '[class]': 'cssClasses',\n },\n})\nexport class EclFactFiguresItemComponent extends ECLBaseDirective implements AfterContentInit {\n\n eclValue = input<string>();\n\n eclTitle = input<string>();\n\n /**\n * Applies the base class `ecl-fact-figures__item` to the host element.\n */\n get cssClasses(): string {\n return [super.getCssClasses('ecl-fact-figures__item')].join(' ').trim();\n }\n\n /**\n * Query for any EclIconComponent children projected into the component.\n * These icons will receive an additional CSS class.\n */\n readonly eclIconComponents = contentChildren(EclIconComponent);\n\n /**\n * Lifecycle hook that adds a CSS class to any EclIconComponent\n * found within the projected content.\n */\n ngAfterContentInit(): void {\n if (this.eclIconComponents()) {\n this.eclIconComponents().forEach((eclIcon) => {\n eclIcon.baseDirective.class = [eclIcon.baseDirective.class, 'ecl-fact-figures__icon'].join(' ');\n });\n }\n}\n}\n","<ng-content select=\"ecl-icon\"></ng-content>\n<div class=\"ecl-fact-figures__value\">{{ eclValue() }} <span class=\"ecl-fact-figures__title\">{{ eclTitle() }}</span></div>\n<ng-content select=\"ecl-icon\"></ng-content>\n<ng-content select=\"[eclFactFiguresDescription]\"></ng-content>","import { Directive } from '@angular/core';\n\n/**\n * Wraps the list of source links in the Fact & Figures component.\n * Applies the `ecl-fact-figures__sources-list` class.\n *\n * @example\n * ```html\n * <ul eclFactFiguresSourcesList>\n * <li eclFactFiguresSourcesItem>...</li>\n * </ul>\n * ```\n */\n@Directive({\n selector: 'ul[eclFactFiguresSourcesList]',\n host: {\n class: 'ecl-fact-figures__sources-list',\n },\n})\nexport class EclFactFiguresSourcesListDirective {}\n\n/**\n * Marks a list item as a source entry within the Fact & Figures component.\n * Applies the `ecl-fact-figures__sources-item` class.\n *\n * @example\n * ```html\n * <li eclFactFiguresSourcesItem>\n * <a eclLink eclFactFiguresSource href=\"/example\">Eurostat</a>\n * </li>\n * ```\n */\n@Directive({\n selector: 'li[eclFactFiguresSourcesItem]',\n host: {\n class: 'ecl-fact-figures__sources-item',\n },\n})\nexport class EclFactFiguresSourcesItemDirective {}\n\n/**\n * Marks a link as a source reference within the Fact & Figures component.\n * Applies the `ecl-link` and `ecl-fact-figures__source` styling classes.\n *\n * @example\n * ```html\n * <a eclLink eclFactFiguresSource href=\"/example\">Eurostat</a>\n * ```\n */\n@Directive({\n selector: 'a[eclFactFiguresSource]',\n host: {\n class: 'ecl-link ecl-fact-figures__source',\n },\n})\nexport class EclFactFiguresSourceDirective {}\n","import {\n Component,\n ElementRef,\n Renderer2,\n booleanAttribute,\n computed,\n contentChild,\n contentChildren,\n effect,\n inject,\n input\n} from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclFactFiguresItemComponent } from './ecl-fact-figures-item.component';\nimport { EclFactFiguresSourcesListDirective } from './ecl-fact-figures-sources.directive';\n\n/**\n * Main component for displaying a collection of fact and figure items\n * in a responsive, styled grid layout.\n */\n@Component({\n selector: 'div[eclFactFigures], ecl-fact-figures',\n templateUrl: './ecl-fact-figures.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n host: {\n '[class]': 'cssClasses',\n '[class.ecl-fact-figures--centered]': 'isCentered()',\n },\n})\nexport class EclFactFiguresComponent extends ECLBaseDirective {\n\n items = contentChildren(EclFactFiguresItemComponent, { read: ElementRef<HTMLElement> });\n\n sourcesList = contentChild(EclFactFiguresSourcesListDirective);\n\n hasSourcesList = computed(() => !!this.sourcesList());\n\n /**\n * Number of columns in the layout (as string).\n * Default is `'3'`.\n */\n columns = input('3');\n\n /**\n * Font size variant. Can be:\n * - `'m'` – medium (smaller text)\n * - `'l'` – large (default)\n */\n fontSize = input<'m' | 'l'>('l');\n\n /**\n * Whether the content should be centered.\n * Adds `ecl-fact-figures--centered` class when true.\n */\n isCentered = input(false, { transform: booleanAttribute });\n\n /**\n * Label displayed before the sources list.\n * Default is `'Sources:'`.\n */\n sourcesLabel = input<string>('Sources:');\n\n /**\n * Sets the CSS classes for the component, including layout and font size modifiers.\n * Automatically adds:\n * - `ecl-fact-figures--col-{n}` depending on the `columns` value\n */\n get cssClasses(): string {\n return [super.getCssClasses('ecl-fact-figures'),\n `ecl-fact-figures--col-${this.columns()}`].join(' ').trim();\n }\n\n private renderer = inject(Renderer2);\n\n constructor() {\n super();\n effect(() => {\n const els = this.items();\n const size = this.fontSize();\n\n // clear + set first\n els.forEach(el =>\n this.renderer.removeClass(el.nativeElement, 'is-first')\n );\n if (els.length) {\n this.renderer.addClass(els[0].nativeElement, 'is-first');\n }\n\n // font-size class\n const cls = 'ecl-fact-figures__item--font-m';\n els.forEach(el => {\n if (size === 'm') {\n this.renderer.addClass(el.nativeElement, cls);\n } else {\n this.renderer.removeClass(el.nativeElement, cls);\n }\n });\n });\n }\n}\n","<div class=\"ecl-fact-figures__items\">\n <ng-content></ng-content>\n</div>\n\n@if (hasSourcesList()) {\n <div class=\"ecl-fact-figures__sources\">\n <span class=\"ecl-fact-figures__sources-label\">{{ sourcesLabel() }}</span>\n <ng-content select=\"[eclFactFiguresSourcesList]\"></ng-content>\n </div>\n}\n<ng-content select=\"ecl-fact-figures-view-all\"></ng-content>","import { AfterContentInit, Component, contentChild } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclLinkDirective } from '@eui/ecl/components/ecl-link';\n\n/**\n * Component representing the \"View all\" section in a Fact & Figures block.\n * Used to display a link that allows users to view additional content.\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 host: {\n '[class]': 'cssClasses',\n },\n})\nexport class EclFactFiguresViewAllComponent extends ECLBaseDirective implements AfterContentInit {\n /**\n * Applies the base class `ecl-fact-figures__view-all` to the host element.\n */\n get cssClasses(): string {\n return [super.getCssClasses('ecl-fact-figures__view-all')].join(' ').trim();\n }\n\n /**\n * Reference to the projected link directive inside the component.\n * Automatically decorated with a specific class upon initialization.\n */\n readonly eclLink = contentChild(EclLinkDirective);\n\n /**\n * Adds the `ecl-fact-figures__view-all-link` class to the projected link.\n * This ensures consistent styling within the view-all section.\n */\n ngAfterContentInit(): void {\n const eclLink = this.eclLink();\n if (eclLink) {\n eclLink.class = [eclLink.class, 'ecl-fact-figures__view-all-link'].join(' ');\n }\n }\n}\n","<ng-content></ng-content>\n","import { Directive } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive, representing the description text of a fact or figures section.\n * Typically used to provide contextual or supporting information.\n */\n@Directive({\n selector: 'div[eclFactFiguresDescription]',\n host: {\n '[class]': 'cssClasses',\n },\n})\nexport class EclFactFiguresDescriptionDirective extends ECLBaseDirective {\n /**\n * Applies the base class `ecl-fact-figures__description` to the host element.\n */\n get cssClasses(): string {\n return [super.getCssClasses('ecl-fact-figures__description')].join(' ').trim();\n }\n}\n","import { EclFactFiguresComponent } from './ecl-fact-figures.component';\nimport { EclFactFiguresItemComponent } from './ecl-fact-figures-item.component';\nimport { EclFactFiguresViewAllComponent } from './ecl-fact-figures-view-all.component';\nimport { EclFactFiguresDescriptionDirective } from './ecl-fact-figures-description.directive';\nimport { EclFactFiguresSourcesListDirective, EclFactFiguresSourcesItemDirective, EclFactFiguresSourceDirective } from './ecl-fact-figures-sources.directive';\n\nexport * from './ecl-fact-figures.component';\nexport * from './ecl-fact-figures-description.directive';\nexport * from './ecl-fact-figures-item.component';\nexport * from './ecl-fact-figures-view-all.component';\nexport * from './ecl-fact-figures-sources.directive';\n\nexport const EUI_ECL_FACT_FIGURES = [\n EclFactFiguresComponent,\n EclFactFiguresItemComponent,\n EclFactFiguresViewAllComponent,\n EclFactFiguresDescriptionDirective,\n EclFactFiguresSourcesListDirective,\n EclFactFiguresSourcesItemDirective,\n EclFactFiguresSourceDirective,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAIA;;;AAGG;AAQG,MAAO,2BAA4B,SAAQ,gBAAgB,CAAA;AAPjE,IAAA,WAAA,GAAA;;AASE,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK;gGAAU;AAE1B,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK;gGAAU;AAS1B;;;AAGG;QACQ,IAAA,CAAA,iBAAiB,GAAG,eAAe,CAAC,gBAAgB;8FAAC;AAajE,IAAA;AAxBC;;AAEG;AACH,IAAA,IAAI,UAAU,GAAA;AACZ,QAAA,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;IACzE;AAQA;;;AAGG;IACH,kBAAkB,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE,EAAE;YAC5B,IAAI,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,CAAC,OAAO,KAAI;AAC3C,gBAAA,OAAO,CAAC,aAAa,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AACjG,YAAA,CAAC,CAAC;QACJ;IACJ;8GA7Ba,2BAA2B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA3B,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,+CAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,YAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,SAAA,EAiBS,gBAAgB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChCjE,+RAG8D,EAAA,CAAA,CAAA;;2FDYjD,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAPvC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,+CAA+C,EAAA,IAAA,EAEnD;AACJ,wBAAA,SAAS,EAAE,YAAY;AACxB,qBAAA,EAAA,QAAA,EAAA,+RAAA,EAAA;ySAmB8C,gBAAgB,CAAA,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;AE9BjE;;;;;;;;;;AAUG;MAOU,kCAAkC,CAAA;8GAAlC,kCAAkC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAlC,kCAAkC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,+BAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,gCAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAlC,kCAAkC,EAAA,UAAA,EAAA,CAAA;kBAN9C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,+BAA+B;AACzC,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE,gCAAgC;AACxC,qBAAA;AACF,iBAAA;;AAGD;;;;;;;;;;AAUG;MAOU,kCAAkC,CAAA;8GAAlC,kCAAkC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAlC,kCAAkC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,+BAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,gCAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAlC,kCAAkC,EAAA,UAAA,EAAA,CAAA;kBAN9C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,+BAA+B;AACzC,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE,gCAAgC;AACxC,qBAAA;AACF,iBAAA;;AAGD;;;;;;;;AAQG;MAOU,6BAA6B,CAAA;8GAA7B,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA7B,6BAA6B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,mCAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBANzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,yBAAyB;AACnC,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE,mCAAmC;AAC3C,qBAAA;AACF,iBAAA;;;ACtCD;;;AAGG;AAgBG,MAAO,uBAAwB,SAAQ,gBAAgB,CAAA;AAiC3D;;;;AAIG;AACH,IAAA,IAAI,UAAU,GAAA;AACZ,QAAA,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,kBAAkB,CAAC;AAC/C,YAAA,CAAA,sBAAA,EAAyB,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;IAC7D;AAIA,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE;QA5CT,IAAA,CAAA,KAAK,GAAG,eAAe,CAAC,2BAA2B,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,OAAA,EAAA,8BAAA,EAAA,CAAA,EAAI,IAAI,GAAE,UAAuB,CAAA,EAAA,CAAG;QAEvF,IAAA,CAAA,WAAW,GAAG,YAAY,CAAC,kCAAkC;wFAAC;QAE9D,IAAA,CAAA,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE;2FAAC;AAErD;;;AAGG;QACH,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,GAAG;oFAAC;AAEpB;;;;AAIG;QACH,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAY,GAAG;qFAAC;AAEhC;;;AAGG;QACH,IAAA,CAAA,UAAU,GAAG,KAAK,CAAC,KAAK,kFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAE1D;;;AAGG;QACH,IAAA,CAAA,YAAY,GAAG,KAAK,CAAS,UAAU;yFAAC;AAYhC,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;QAIlC,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE;AACxB,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE;;YAG5B,GAAG,CAAC,OAAO,CAAC,EAAE,IACZ,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,aAAa,EAAE,UAAU,CAAC,CACxD;AACD,YAAA,IAAI,GAAG,CAAC,MAAM,EAAE;AACd,gBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,UAAU,CAAC;YAC1D;;YAGA,MAAM,GAAG,GAAG,gCAAgC;AAC5C,YAAA,GAAG,CAAC,OAAO,CAAC,EAAE,IAAG;AACf,gBAAA,IAAI,IAAI,KAAK,GAAG,EAAE;oBAChB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,aAAa,EAAE,GAAG,CAAC;gBAC/C;qBAAO;oBACL,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,aAAa,EAAE,GAAG,CAAC;gBAClD;AACF,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;IACJ;8GArEW,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,2vBAEV,2BAA2B,EAAA,IAAA,EAAU,UAAU,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAE5C,kCAAkC,uFCvC/D,yYAU4D,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,CAAA,CAAA;;2FDyB/C,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAfnC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,uCAAuC,EAAA,IAAA,EAS3C;AACJ,wBAAA,SAAS,EAAE,YAAY;AACvB,wBAAA,oCAAoC,EAAE,cAAc;AACrD,qBAAA,EAAA,QAAA,EAAA,yYAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA;uHAIuB,2BAA2B,CAAA,EAAA,EAAA,GAAE,EAAE,IAAI,GAAE,UAAuB,CAAA,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,UAAA,CAAA,MAE3D,kCAAkC,CAAA,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,SAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,cAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;AEnC/D;;;AAGG;AAeG,MAAO,8BAA+B,SAAQ,gBAAgB,CAAA;AAdpE,IAAA,WAAA,GAAA;;AAsBE;;;AAGG;QACQ,IAAA,CAAA,OAAO,GAAG,YAAY,CAAC,gBAAgB;oFAAC;AAYpD,IAAA;AAvBC;;AAEG;AACH,IAAA,IAAI,UAAU,GAAA;AACZ,QAAA,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;IAC7E;AAQA;;;AAGG;IACH,kBAAkB,GAAA;AAChB,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE;QAC9B,IAAI,OAAO,EAAE;AACX,YAAA,OAAO,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,iCAAiC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAC9E;IACF;8GAvBW,8BAA8B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA9B,8BAA8B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,YAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAYP,gBAAgB,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EClCpD,6BACA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,CAAA,CAAA;;2FDqBa,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAd1C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,2BAA2B,EAAA,IAAA,EAS/B;AACJ,wBAAA,SAAS,EAAE,YAAY;AACxB,qBAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA;4FAciC,gBAAgB,CAAA,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;AE/BpD;;;AAGG;AAOG,MAAO,kCAAmC,SAAQ,gBAAgB,CAAA;AACtE;;AAEG;AACH,IAAA,IAAI,UAAU,GAAA;AACZ,QAAA,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;IAChF;8GANW,kCAAkC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAlC,kCAAkC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gCAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,YAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAlC,kCAAkC,EAAA,UAAA,EAAA,CAAA;kBAN9C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gCAAgC;AAC1C,oBAAA,IAAI,EAAE;AACJ,wBAAA,SAAS,EAAE,YAAY;AACxB,qBAAA;AACF,iBAAA;;;ACAM,MAAM,oBAAoB,GAAG;IAChC,uBAAuB;IACvB,2BAA2B;IAC3B,8BAA8B;IAC9B,kCAAkC;IAClC,kCAAkC;IAClC,kCAAkC;IAClC,6BAA6B;;;ACnBjC;;AAEG;;;;"}
1
+ {"version":3,"file":"eui-ecl-components-ecl-fact-figures.mjs","sources":["../../components/ecl-fact-figures/ecl-fact-figures-item.component.ts","../../components/ecl-fact-figures/ecl-fact-figures-item.component.html","../../components/ecl-fact-figures/ecl-fact-figures-sources.directive.ts","../../components/ecl-fact-figures/ecl-fact-figures.component.ts","../../components/ecl-fact-figures/ecl-fact-figures.component.html","../../components/ecl-fact-figures/ecl-fact-figures-view-all.component.ts","../../components/ecl-fact-figures/ecl-fact-figures-view-all.component.html","../../components/ecl-fact-figures/ecl-fact-figures-description.directive.ts","../../components/ecl-fact-figures/index.ts","../../components/ecl-fact-figures/eui-ecl-components-ecl-fact-figures.ts"],"sourcesContent":["import { AfterContentInit, Component, contentChildren, input } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclIconComponent } from '@eui/ecl/components/ecl-icon';\n\n/**\n * Component representing a single item within the Fact & Figures block.\n * Optionally handles embedded icons and applies appropriate styling.\n */\n@Component({\n selector: 'div[eclFactFiguresItem],ecl-fact-figures-item',\n templateUrl: './ecl-fact-figures-item.component.html',\n host: {\n '[class]': 'cssClasses',\n },\n})\nexport class EclFactFiguresItemComponent extends ECLBaseDirective implements AfterContentInit {\n\n eclValue = input<string>();\n\n eclTitle = input<string>();\n\n /**\n * Applies the base class `ecl-fact-figures__item` to the host element.\n */\n get cssClasses(): string {\n return [super.getCssClasses('ecl-fact-figures__item')].join(' ').trim();\n }\n\n /**\n * Query for any EclIconComponent children projected into the component.\n * These icons will receive an additional CSS class.\n */\n readonly eclIconComponents = contentChildren(EclIconComponent);\n\n /**\n * Lifecycle hook that adds a CSS class to any EclIconComponent\n * found within the projected content.\n */\n ngAfterContentInit(): void {\n if (this.eclIconComponents()) {\n this.eclIconComponents().forEach((eclIcon) => {\n eclIcon.baseDirective.class.set([eclIcon.baseDirective.class(), 'ecl-fact-figures__icon'].join(' '));\n });\n }\n}\n}\n","<ng-content select=\"ecl-icon\"></ng-content>\n<div class=\"ecl-fact-figures__value\">{{ eclValue() }} <span class=\"ecl-fact-figures__title\">{{ eclTitle() }}</span></div>\n<ng-content select=\"ecl-icon\"></ng-content>\n<ng-content select=\"[eclFactFiguresDescription]\"></ng-content>","import { Directive } from '@angular/core';\n\n/**\n * Wraps the list of source links in the Fact & Figures component.\n * Applies the `ecl-fact-figures__sources-list` class.\n *\n * @example\n * ```html\n * <ul eclFactFiguresSourcesList>\n * <li eclFactFiguresSourcesItem>...</li>\n * </ul>\n * ```\n */\n@Directive({\n selector: 'ul[eclFactFiguresSourcesList]',\n host: {\n class: 'ecl-fact-figures__sources-list',\n },\n})\nexport class EclFactFiguresSourcesListDirective {}\n\n/**\n * Marks a list item as a source entry within the Fact & Figures component.\n * Applies the `ecl-fact-figures__sources-item` class.\n *\n * @example\n * ```html\n * <li eclFactFiguresSourcesItem>\n * <a eclLink eclFactFiguresSource href=\"/example\">Eurostat</a>\n * </li>\n * ```\n */\n@Directive({\n selector: 'li[eclFactFiguresSourcesItem]',\n host: {\n class: 'ecl-fact-figures__sources-item',\n },\n})\nexport class EclFactFiguresSourcesItemDirective {}\n\n/**\n * Marks a link as a source reference within the Fact & Figures component.\n * Applies the `ecl-link` and `ecl-fact-figures__source` styling classes.\n *\n * @example\n * ```html\n * <a eclLink eclFactFiguresSource href=\"/example\">Eurostat</a>\n * ```\n */\n@Directive({\n selector: 'a[eclFactFiguresSource]',\n host: {\n class: 'ecl-link ecl-fact-figures__source',\n },\n})\nexport class EclFactFiguresSourceDirective {}\n","import {\n Component,\n ElementRef,\n Renderer2,\n booleanAttribute,\n computed,\n contentChild,\n contentChildren,\n effect,\n inject,\n input\n} from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclFactFiguresItemComponent } from './ecl-fact-figures-item.component';\nimport { EclFactFiguresSourcesListDirective } from './ecl-fact-figures-sources.directive';\n\n/**\n * Main component for displaying a collection of fact and figure items\n * in a responsive, styled grid layout.\n */\n@Component({\n selector: 'div[eclFactFigures], ecl-fact-figures',\n templateUrl: './ecl-fact-figures.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n host: {\n '[class]': 'cssClasses',\n '[class.ecl-fact-figures--centered]': 'isCentered()',\n },\n})\nexport class EclFactFiguresComponent extends ECLBaseDirective {\n\n items = contentChildren(EclFactFiguresItemComponent, { read: ElementRef<HTMLElement> });\n\n sourcesList = contentChild(EclFactFiguresSourcesListDirective);\n\n hasSourcesList = computed(() => !!this.sourcesList());\n\n /**\n * Number of columns in the layout (as string).\n * Default is `'3'`.\n */\n columns = input('3');\n\n /**\n * Font size variant. Can be:\n * - `'m'` – medium (smaller text)\n * - `'l'` – large (default)\n */\n fontSize = input<'m' | 'l'>('l');\n\n /**\n * Whether the content should be centered.\n * Adds `ecl-fact-figures--centered` class when true.\n */\n isCentered = input(false, { transform: booleanAttribute });\n\n /**\n * Label displayed before the sources list.\n * Default is `'Sources:'`.\n */\n sourcesLabel = input<string>('Sources:');\n\n /**\n * Sets the CSS classes for the component, including layout and font size modifiers.\n * Automatically adds:\n * - `ecl-fact-figures--col-{n}` depending on the `columns` value\n */\n get cssClasses(): string {\n return [super.getCssClasses('ecl-fact-figures'),\n `ecl-fact-figures--col-${this.columns()}`].join(' ').trim();\n }\n\n private renderer = inject(Renderer2);\n\n constructor() {\n super();\n effect(() => {\n const els = this.items();\n const size = this.fontSize();\n\n // clear + set first\n els.forEach(el =>\n this.renderer.removeClass(el.nativeElement, 'is-first')\n );\n if (els.length) {\n this.renderer.addClass(els[0].nativeElement, 'is-first');\n }\n\n // font-size class\n const cls = 'ecl-fact-figures__item--font-m';\n els.forEach(el => {\n if (size === 'm') {\n this.renderer.addClass(el.nativeElement, cls);\n } else {\n this.renderer.removeClass(el.nativeElement, cls);\n }\n });\n });\n }\n}\n","<div class=\"ecl-fact-figures__items\">\n <ng-content></ng-content>\n</div>\n\n@if (hasSourcesList()) {\n <div class=\"ecl-fact-figures__sources\">\n <span class=\"ecl-fact-figures__sources-label\">{{ sourcesLabel() }}</span>\n <ng-content select=\"[eclFactFiguresSourcesList]\"></ng-content>\n </div>\n}\n<ng-content select=\"ecl-fact-figures-view-all\"></ng-content>","import { AfterContentInit, Component, contentChild } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclLinkDirective } from '@eui/ecl/components/ecl-link';\n\n/**\n * Component representing the \"View all\" section in a Fact & Figures block.\n * Used to display a link that allows users to view additional content.\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 host: {\n '[class]': 'cssClasses',\n },\n})\nexport class EclFactFiguresViewAllComponent extends ECLBaseDirective implements AfterContentInit {\n /**\n * Applies the base class `ecl-fact-figures__view-all` to the host element.\n */\n get cssClasses(): string {\n return [super.getCssClasses('ecl-fact-figures__view-all')].join(' ').trim();\n }\n\n /**\n * Reference to the projected link directive inside the component.\n * Automatically decorated with a specific class upon initialization.\n */\n readonly eclLink = contentChild(EclLinkDirective);\n\n /**\n * Adds the `ecl-fact-figures__view-all-link` class to the projected link.\n * This ensures consistent styling within the view-all section.\n */\n ngAfterContentInit(): void {\n const eclLink = this.eclLink();\n if (eclLink) {\n eclLink.class.set([eclLink.class(), 'ecl-fact-figures__view-all-link'].join(' '));\n }\n }\n}\n","<ng-content></ng-content>\n","import { Directive } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive, representing the description text of a fact or figures section.\n * Typically used to provide contextual or supporting information.\n */\n@Directive({\n selector: 'div[eclFactFiguresDescription]',\n host: {\n '[class]': 'cssClasses',\n },\n})\nexport class EclFactFiguresDescriptionDirective extends ECLBaseDirective {\n /**\n * Applies the base class `ecl-fact-figures__description` to the host element.\n */\n get cssClasses(): string {\n return [super.getCssClasses('ecl-fact-figures__description')].join(' ').trim();\n }\n}\n","import { EclFactFiguresComponent } from './ecl-fact-figures.component';\nimport { EclFactFiguresItemComponent } from './ecl-fact-figures-item.component';\nimport { EclFactFiguresViewAllComponent } from './ecl-fact-figures-view-all.component';\nimport { EclFactFiguresDescriptionDirective } from './ecl-fact-figures-description.directive';\nimport { EclFactFiguresSourcesListDirective, EclFactFiguresSourcesItemDirective, EclFactFiguresSourceDirective } from './ecl-fact-figures-sources.directive';\n\nexport * from './ecl-fact-figures.component';\nexport * from './ecl-fact-figures-description.directive';\nexport * from './ecl-fact-figures-item.component';\nexport * from './ecl-fact-figures-view-all.component';\nexport * from './ecl-fact-figures-sources.directive';\n\nexport const EUI_ECL_FACT_FIGURES = [\n EclFactFiguresComponent,\n EclFactFiguresItemComponent,\n EclFactFiguresViewAllComponent,\n EclFactFiguresDescriptionDirective,\n EclFactFiguresSourcesListDirective,\n EclFactFiguresSourcesItemDirective,\n EclFactFiguresSourceDirective,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -145,7 +145,7 @@ class EclFeaturedItemComponent extends ECLBaseDirective {
145
145
  }
146
146
  ngAfterContentInit() {
147
147
  if (this.mediaContainer()) {
148
- this.mediaContainer().class = 'ecl-featured-item__media_container';
148
+ this.mediaContainer().class.set('ecl-featured-item__media_container');
149
149
  }
150
150
  const describedBy = this.hasTitle() ? `${this.id()}-title` : null;
151
151
  const links = this.links();
@@ -1 +1 @@
1
- {"version":3,"file":"eui-ecl-components-ecl-featured.mjs","sources":["../../components/ecl-featured/ecl-featured.component.ts","../../components/ecl-featured/ecl-featured.component.html","../../components/ecl-featured/ecl-featured-item-link.directive.ts","../../components/ecl-featured/ecl-featured-item.component.ts","../../components/ecl-featured/ecl-featured-item.component.html","../../components/ecl-featured/ecl-featured-item-description.component.ts","../../components/ecl-featured/ecl-featured-item-description.component.html","../../components/ecl-featured/index.ts","../../components/ecl-featured/eui-ecl-components-ecl-featured.ts"],"sourcesContent":["import { booleanAttribute, Component, HostBinding, input } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Custom ECL component, that adds visual support to a piece of content. Uses <ecl-media-container>.\n */\n@Component({\n selector: 'ecl-featured, article[eclFeatured]',\n templateUrl: './ecl-featured.component.html',\n host: {\n '[class.ecl-featured-item--link-highlighted]': 'isLinkHighlighted()',\n },\n})\nexport class EclFeaturedComponent extends ECLBaseDirective {\n /**\n * The position of the image in the component. Can be 'left' or 'right'. The default value is 'left'.\n */\n readonly position = input<'left' | 'right'>('left');\n /**\n * 'highligh' varian, applies class to make more stand out appearance of the component.\n */\n readonly variant = input<'highlight'>(undefined);\n\n isDynamicImage = input(false, { transform: booleanAttribute });\n\n horizontalAlign = input<'left' | 'center' | undefined>();\n\n verticalAlign = input<'top' | 'center' | undefined>();\n\n /** Gives a different display for the link in highlighted mode */\n readonly isLinkHighlighted = input(false, { transform: booleanAttribute });\n\n @HostBinding('attr.role') role = 'article';\n\n /**\n * Adds specific classes to the component.\n */\n @HostBinding('class')\n get cssClasses(): string {\n const variant = this.variant();\n return [\n super.getCssClasses('ecl-featured-item'),\n variant ? `ecl-featured-item--${variant}`: '',\n this.horizontalAlign() === 'center' ? 'ecl-featured-item--hcenter' : '',\n this.verticalAlign() === 'center' ? 'ecl-featured-item--vcenter' : '',\n this.isDynamicImage() ? 'ecl-featured-item--dynamic' : '',\n ].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>","import { Directive, ElementRef, Input, Renderer2, HostBinding, inject, input, computed } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Applies specific additional class for the eclLink directive, used in <ecl-featured-item> construction.\n */\n@Directive({\n selector: '[eclFeaturedItemLink]',\n})\nexport class EclFeaturedItemLinkDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-featured-item__link') className = true;\n\n @Input()\n set ariaDescribedBy(value: string | null) {\n if (value) {\n this.renderer.setAttribute(this.el.nativeElement, 'aria-describedby', value);\n } else {\n this.renderer.removeAttribute(this.el.nativeElement, 'aria-describedby');\n }\n }\n private el = inject(ElementRef);\n private renderer = inject(Renderer2);\n}\n\n@Directive({\n selector: '[eclFeaturedMediaAnchor]',\n host: {\n '[style.--ecl-image-anchor]': 'cssAnchor()',\n },\n})\nexport class EclFeaturedMediaAnchorDirective extends ECLBaseDirective {\n eclFeaturedMediaAnchor = input<'left' | 'right' | '20%' | 'center' | undefined>();\n\n readonly cssAnchor = computed(() => {\n const value = this.eclFeaturedMediaAnchor();\n\n if (!value || value === 'center') {\n return null;\n }\n\n return value;\n });\n}\n","import { AfterContentInit, Component, HostBinding, contentChild, computed, input, contentChildren } from '@angular/core';\nimport { EclMediaContainerComponent } from '@eui/ecl/components/ecl-media-container';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { uniqueId } from '@eui/core';\nimport { EclFeaturedItemLinkDirective } from './ecl-featured-item-link.directive';\nimport { NgTemplateOutlet } from '@angular/common';\n\n/**\n * Container for the text part - title and description of the <ecl-featured> component.\n */\n@Component({\n selector: 'ecl-featured-item, div[eclFeaturedItem]',\n imports: [NgTemplateOutlet],\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 eclTitle = input('');\n eclMicroTitle = input('');\n id = input<string>(`ecl-featured-item-${uniqueId()}`);\n mediaContainer = contentChild(EclMediaContainerComponent);\n readonly links = contentChildren(EclFeaturedItemLinkDirective, { descendants: true });\n\n @HostBinding('class.ecl-featured-item__item') className = true;\n\n protected readonly hasMedia = computed(() => {\n return !!this.mediaContainer() \n });\n protected readonly hasTitle = computed(() => this.eclTitle() !== '');\n protected readonly hasMicroTitle = computed(() => this.eclMicroTitle() !== '');\n\n ngAfterContentInit(): void {\n if (this.mediaContainer()) {\n this.mediaContainer().class = 'ecl-featured-item__media_container';\n }\n\n const describedBy = this.hasTitle() ? `${this.id()}-title` : null;\n const links = this.links();\n if (describedBy && links) {\n links.forEach(link => {\n link.ariaDescribedBy = describedBy;\n });\n }\n }\n}\n","@if (!hasMedia()) {\n<div class=\"ecl-featured-item__content\">\n <div class=\"ecl-featured-item__info\">\n @if(hasMicroTitle()) {\n <div class=\"ecl-featured-item__micro-title\">{{ eclMicroTitle() }}</div>\n }\n @if(hasTitle()) {\n <div class=\"ecl-featured-item__title\" [attr.id]=\"id() + '-title'\">\n {{ eclTitle() }}\n </div>\n }\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n <ng-content select=\"[eclLink]\"></ng-content>\n</div>\n} @else {\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n}\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>","import { Component, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Applies specific additional class to style <ecl-featured-item-description> component, as a part of the\n * <ecl-featured> component.\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","<ng-content></ng-content>\n","import { EclFeaturedComponent } from './ecl-featured.component';\nimport { EclFeaturedItemComponent } from './ecl-featured-item.component';\nimport { EclFeaturedItemDescriptionComponent } from './ecl-featured-item-description.component';\nimport { EclFeaturedItemLinkDirective, EclFeaturedMediaAnchorDirective } from './ecl-featured-item-link.directive';\n\nexport * from './ecl-featured.component';\nexport * from './ecl-featured-item.component';\nexport * from './ecl-featured-item-description.component';\nexport * from './ecl-featured-item-link.directive';\n\nexport const EUI_ECL_FEATURED = [\n EclFeaturedComponent,\n EclFeaturedItemComponent,\n EclFeaturedItemLinkDirective,\n EclFeaturedItemDescriptionComponent,\n EclFeaturedMediaAnchorDirective,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eui-ecl-components-ecl-featured.mjs","sources":["../../components/ecl-featured/ecl-featured.component.ts","../../components/ecl-featured/ecl-featured.component.html","../../components/ecl-featured/ecl-featured-item-link.directive.ts","../../components/ecl-featured/ecl-featured-item.component.ts","../../components/ecl-featured/ecl-featured-item.component.html","../../components/ecl-featured/ecl-featured-item-description.component.ts","../../components/ecl-featured/ecl-featured-item-description.component.html","../../components/ecl-featured/index.ts","../../components/ecl-featured/eui-ecl-components-ecl-featured.ts"],"sourcesContent":["import { booleanAttribute, Component, HostBinding, input } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Custom ECL component, that adds visual support to a piece of content. Uses <ecl-media-container>.\n */\n@Component({\n selector: 'ecl-featured, article[eclFeatured]',\n templateUrl: './ecl-featured.component.html',\n host: {\n '[class.ecl-featured-item--link-highlighted]': 'isLinkHighlighted()',\n },\n})\nexport class EclFeaturedComponent extends ECLBaseDirective {\n /**\n * The position of the image in the component. Can be 'left' or 'right'. The default value is 'left'.\n */\n readonly position = input<'left' | 'right'>('left');\n /**\n * 'highligh' varian, applies class to make more stand out appearance of the component.\n */\n readonly variant = input<'highlight'>(undefined);\n\n isDynamicImage = input(false, { transform: booleanAttribute });\n\n horizontalAlign = input<'left' | 'center' | undefined>();\n\n verticalAlign = input<'top' | 'center' | undefined>();\n\n /** Gives a different display for the link in highlighted mode */\n readonly isLinkHighlighted = input(false, { transform: booleanAttribute });\n\n @HostBinding('attr.role') role = 'article';\n\n /**\n * Adds specific classes to the component.\n */\n @HostBinding('class')\n get cssClasses(): string {\n const variant = this.variant();\n return [\n super.getCssClasses('ecl-featured-item'),\n variant ? `ecl-featured-item--${variant}`: '',\n this.horizontalAlign() === 'center' ? 'ecl-featured-item--hcenter' : '',\n this.verticalAlign() === 'center' ? 'ecl-featured-item--vcenter' : '',\n this.isDynamicImage() ? 'ecl-featured-item--dynamic' : '',\n ].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>","import { Directive, ElementRef, Input, Renderer2, HostBinding, inject, input, computed } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Applies specific additional class for the eclLink directive, used in <ecl-featured-item> construction.\n */\n@Directive({\n selector: '[eclFeaturedItemLink]',\n})\nexport class EclFeaturedItemLinkDirective extends ECLBaseDirective {\n @HostBinding('class.ecl-featured-item__link') className = true;\n\n @Input()\n set ariaDescribedBy(value: string | null) {\n if (value) {\n this.renderer.setAttribute(this.el.nativeElement, 'aria-describedby', value);\n } else {\n this.renderer.removeAttribute(this.el.nativeElement, 'aria-describedby');\n }\n }\n private el = inject(ElementRef);\n private renderer = inject(Renderer2);\n}\n\n@Directive({\n selector: '[eclFeaturedMediaAnchor]',\n host: {\n '[style.--ecl-image-anchor]': 'cssAnchor()',\n },\n})\nexport class EclFeaturedMediaAnchorDirective extends ECLBaseDirective {\n eclFeaturedMediaAnchor = input<'left' | 'right' | '20%' | 'center' | undefined>();\n\n readonly cssAnchor = computed(() => {\n const value = this.eclFeaturedMediaAnchor();\n\n if (!value || value === 'center') {\n return null;\n }\n\n return value;\n });\n}\n","import { AfterContentInit, Component, HostBinding, contentChild, computed, input, contentChildren } from '@angular/core';\nimport { EclMediaContainerComponent } from '@eui/ecl/components/ecl-media-container';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { uniqueId } from '@eui/core';\nimport { EclFeaturedItemLinkDirective } from './ecl-featured-item-link.directive';\nimport { NgTemplateOutlet } from '@angular/common';\n\n/**\n * Container for the text part - title and description of the <ecl-featured> component.\n */\n@Component({\n selector: 'ecl-featured-item, div[eclFeaturedItem]',\n imports: [NgTemplateOutlet],\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 eclTitle = input('');\n eclMicroTitle = input('');\n id = input<string>(`ecl-featured-item-${uniqueId()}`);\n mediaContainer = contentChild(EclMediaContainerComponent);\n readonly links = contentChildren(EclFeaturedItemLinkDirective, { descendants: true });\n\n @HostBinding('class.ecl-featured-item__item') className = true;\n\n protected readonly hasMedia = computed(() => {\n return !!this.mediaContainer() \n });\n protected readonly hasTitle = computed(() => this.eclTitle() !== '');\n protected readonly hasMicroTitle = computed(() => this.eclMicroTitle() !== '');\n\n ngAfterContentInit(): void {\n if (this.mediaContainer()) {\n this.mediaContainer().class.set('ecl-featured-item__media_container');\n }\n\n const describedBy = this.hasTitle() ? `${this.id()}-title` : null;\n const links = this.links();\n if (describedBy && links) {\n links.forEach(link => {\n link.ariaDescribedBy = describedBy;\n });\n }\n }\n}\n","@if (!hasMedia()) {\n<div class=\"ecl-featured-item__content\">\n <div class=\"ecl-featured-item__info\">\n @if(hasMicroTitle()) {\n <div class=\"ecl-featured-item__micro-title\">{{ eclMicroTitle() }}</div>\n }\n @if(hasTitle()) {\n <div class=\"ecl-featured-item__title\" [attr.id]=\"id() + '-title'\">\n {{ eclTitle() }}\n </div>\n }\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n <ng-content select=\"[eclLink]\"></ng-content>\n</div>\n} @else {\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n}\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>","import { Component, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Applies specific additional class to style <ecl-featured-item-description> component, as a part of the\n * <ecl-featured> component.\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","<ng-content></ng-content>\n","import { EclFeaturedComponent } from './ecl-featured.component';\nimport { EclFeaturedItemComponent } from './ecl-featured-item.component';\nimport { EclFeaturedItemDescriptionComponent } from './ecl-featured-item-description.component';\nimport { EclFeaturedItemLinkDirective, EclFeaturedMediaAnchorDirective } from './ecl-featured-item-link.directive';\n\nexport * from './ecl-featured.component';\nexport * from './ecl-featured-item.component';\nexport * from './ecl-featured-item-description.component';\nexport * from './ecl-featured-item-link.directive';\n\nexport const EUI_ECL_FEATURED = [\n EclFeaturedComponent,\n EclFeaturedItemComponent,\n EclFeaturedItemLinkDirective,\n EclFeaturedItemDescriptionComponent,\n EclFeaturedMediaAnchorDirective,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -270,7 +270,7 @@ class EclMediaContainerComponent extends ECLBaseDirective {
270
270
  }
271
271
  const expandable = this.expandable();
272
272
  if (expandable) {
273
- expandable.class = [expandable.class, 'ecl-media-container__expandable'].join(' ');
273
+ expandable.class.set([expandable.class(), 'ecl-media-container__expandable'].join(' '));
274
274
  }
275
275
  }
276
276
  ngOnDestroy() {
@@ -1 +1 @@
1
- {"version":3,"file":"eui-ecl-components-ecl-media-container.mjs","sources":["../../components/ecl-media-container/ecl-media-container-iframe.directive.ts","../../components/ecl-media-container/ecl-media-container-item-audio-description.directive.ts","../../components/ecl-media-container/ecl-media-container-item.directive.ts","../../components/ecl-media-container/ecl-media-container-picture.directive.ts","../../components/ecl-media-container/ecl-media-container-caption.directive.ts","../../components/ecl-media-container/ecl-media-container-credit.directive.ts","../../components/ecl-media-container/ecl-media-container.component.ts","../../components/ecl-media-container/ecl-media-container.component.html","../../components/ecl-media-container/index.ts","../../components/ecl-media-container/eui-ecl-components-ecl-media-container.ts"],"sourcesContent":["import { Directive, ElementRef, inject, input } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Adds styling and attributes to the iframe element.\n */\n@Directive({\n selector: 'iframe[eclMediaContainerIframe]',\n host: {\n '[style.aspect-ratio]': 'ratio',\n },\n})\nexport class EclMediaContainerIframeDirective extends ECLBaseDirective {\n readonly width = input(undefined);\n readonly height = input(undefined);\n\n hasCustomRatio = false;\n private elem = inject(ElementRef);\n\n /**\n * Aspect ratio applied as a host style binding. Derived from the\n * `width`/`height` inputs (falling back to the element's measured size),\n * and only produced when a custom ratio is requested.\n */\n get ratio(): string | null {\n return this.hasCustomRatio ? this.calculateCustomRatio() : null;\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 { Directive } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Adds styling to the media container description.\n */\n@Directive({\n selector: '[eclMediaContainerItemAudioDescription]',\n host: {\n '[class]': 'cssClasses',\n },\n})\nexport class EclMediaContainerItemAudioDescriptionDirective extends ECLBaseDirective {\n get cssClasses(): string {\n return [super.getCssClasses('ecl-media-container__media-audio')].join(' ').trim();\n }\n}\n","import { AfterContentInit, Directive, ElementRef, PLATFORM_ID, afterNextRender, inject, input, contentChild } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclMediaContainerIframeDirective } from './ecl-media-container-iframe.directive';\nimport { isPlatformBrowser } from '@angular/common';\n\n/**\n * Adds styling and functionality to the media container item /image.\n */\n@Directive({\n selector: '[eclMediaContainerItem], img[eclMediaContainerImage]',\n host: {\n '[class]': 'cssClasses',\n },\n})\nexport class EclMediaContainerItemDirective extends ECLBaseDirective implements AfterContentInit {\n el = inject(ElementRef);\n\n readonly ratio = input<string>(undefined);\n readonly contentIframe = contentChild(EclMediaContainerIframeDirective);\n\n get cssClasses(): string {\n const ratio = this.ratio();\n return [\n super.getCssClasses('ecl-media-container__media'),\n ratio ? `ecl-media-container__media--ratio-${ratio}` : '',\n this.isVideo ? 'ecl-video' : '',\n ]\n .join(' ')\n .trim();\n }\n\n public isVideo = false;\n private platformId = inject(PLATFORM_ID);\n\n constructor() {\n super();\n afterNextRender(() => {\n this.setIframeUrl();\n });\n }\n\n ngAfterContentInit(): void {\n const contentIframe = this.contentIframe();\n if (contentIframe) {\n contentIframe.hasCustomRatio = this.ratio() ? false : true;\n }\n if (isPlatformBrowser(this.platformId)) {\n const selector = this.el.nativeElement.tagName;\n this.isVideo = selector === 'VIDEO';\n }\n }\n\n // TODO: is this really needed?\n setIframeUrl(): void {\n if (this.el.nativeElement.lastChild && this.el.nativeElement.lastChild.nodeName === 'IFRAME') {\n const iframe = this.el.nativeElement.lastChild;\n const iframeUrl = new URL(iframe.src);\n if (iframeUrl.host.includes('youtube')) {\n iframe.src = iframeUrl;\n }\n }\n }\n}\n","import { Directive } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Applies styles for the picture element.\n */\n@Directive({\n selector: 'picture[eclMediaContainerPicture]',\n host: {\n '[class]': 'cssClasses',\n },\n})\nexport class EclMediaContainerPictureDirective extends ECLBaseDirective {\n get cssClasses(): string {\n return [super.getCssClasses('ecl-picture ecl-media-container__picture')].join(' ').trim();\n }\n}\n","import { Directive } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Adds styling and attributes to the media container caption element.\n */\n@Directive({\n selector: 'figcaption[eclMediaContainerCaption]',\n host: {\n '[class]': 'cssClasses',\n },\n})\nexport class EclMediaContainerCaptionDirective extends ECLBaseDirective {\n get cssClasses(): string {\n return [super.getCssClasses('ecl-media-container__caption')].join(' ').trim();\n }\n}\n","import { Directive } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Adds styling and attributes to the media container credit element.\n */\n@Directive({\n selector: 'footer[eclMediaContainerCredit]',\n host: {\n '[class]': 'cssClasses',\n },\n})\nexport class EclMediaContainerCreditDirective extends ECLBaseDirective {\n get cssClasses(): string {\n return [super.getCssClasses('ecl-media-container__credit')].join(' ').trim();\n }\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport { AfterContentInit, booleanAttribute, Component, computed, contentChild, DOCUMENT, ElementRef, inject, input, OnDestroy, PLATFORM_ID, Renderer2, signal, viewChildren, viewChild } from '@angular/core';\nimport { EclButtonComponent, EUI_ECL_BUTTON } from '@eui/ecl/components/ecl-button';\nimport { EclExpandableComponent } from '@eui/ecl/components/ecl-expandable';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { auditTime, fromEvent, Subject, take, takeUntil, timer } from 'rxjs';\nimport { EclMediaContainerCreditDirective } from './ecl-media-container-credit.directive';\nimport { EclMediaContainerItemDirective } from './ecl-media-container-item.directive';\n\n/**\n * A media container is used to display media items (video, audio, image or other data) with a caption.\n */\n@Component({\n selector: 'ecl-media-container',\n templateUrl: './ecl-media-container.component.html',\n imports: [...EUI_ECL_BUTTON, ...EUI_ECL_ICON],\n host: {\n '[class]': 'cssClasses()',\n },\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\n\nexport class EclMediaContainerComponent extends ECLBaseDirective implements AfterContentInit, OnDestroy {\n readonly isFullWidth = input(false, { transform: booleanAttribute });\n /**\n * Used for a video only - if the video should play immediately.\n */\n readonly eclAutoplay = input(false, { transform: booleanAttribute });\n\n captionPosition = input<'over' | 'bottom' | 'hidden'>('bottom');\n\n /**\n * Allows a parent component to override the caption position programmatically.\n */\n captionPositionOverride = signal<'over' | 'bottom' | 'hidden' | null>(null);\n\n readonly expandable = contentChild(EclExpandableComponent);\n readonly eclMediaContainerItem = contentChild(EclMediaContainerItemDirective);\n readonly eclButtons = viewChildren(EclButtonComponent);\n readonly pauseButton = viewChild<EclButtonComponent>('pauseButton');\n readonly playButton = viewChild<EclButtonComponent>('playButton');\n private creditEl = contentChild(EclMediaContainerCreditDirective, { read: ElementRef });\n private readonly document = inject<Document>(DOCUMENT);\n private readonly window = this.document.defaultView;\n\n captionBottomOffset = signal<string | null>(null);\n\n /**\n * Resolved caption position considering the override.\n */\n resolvedCaptionPosition = computed(() => this.captionPositionOverride() ?? this.captionPosition());\n\n /**\n * Applies specific classes for the component.\n */\n cssClasses = computed(() => {\n const position = this.resolvedCaptionPosition();\n return [super.getCssClasses('ecl-media-container'),\n position !== 'bottom' ? `ecl-media-container--caption-${position}` : '',\n ].join(' ').trim();\n });\n\n hasVideo = signal(false);\n\n public isPlaying = false;\n private readonly DELAY = 0;\n private renderer = inject(Renderer2);\n private removeVideoListeners: (() => void)[] = [];\n private platformId = inject(PLATFORM_ID);\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n ngAfterContentInit(): void {\n if (isPlatformBrowser(this.platformId)) {\n const eclMediaContainerItem = this.eclMediaContainerItem();\n this.hasVideo.set(eclMediaContainerItem?.isVideo ?? false);\n\n if (this.hasVideo() && this.eclAutoplay()) {\n const videoEl = eclMediaContainerItem?.el?.nativeElement as HTMLVideoElement | undefined;\n if (videoEl) {\n this.removeVideoListeners.push(\n this.renderer.listen(videoEl, 'play', () => (this.isPlaying = true)),\n this.renderer.listen(videoEl, 'pause', () => (this.isPlaying = false)),\n );\n\n this.renderer.setAttribute(videoEl, 'loop', '');\n this.renderer.setAttribute(videoEl, 'muted', '');\n this.renderer.setProperty(videoEl, 'muted', true);\n this.renderer.removeAttribute(videoEl, 'controls');\n }\n }\n this.setCaptionBottom();\n fromEvent(this.window, 'resize').pipe(\n auditTime(50),\n takeUntil(this.destroy$)).subscribe(() => {\n this.setCaptionBottom();\n });\n }\n\n const expandable = this.expandable();\n if (expandable) {\n expandable.class = [expandable.class, 'ecl-media-container__expandable'].join(' ');\n }\n }\n\n ngOnDestroy(): void {\n for (const unlisten of this.removeVideoListeners) unlisten();\n this.removeVideoListeners = [];\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n /**\n * When user clicks on 'play' button -> start the video and move the focus to the 'pause' button.\n */\n onVideoPlay(): void {\n const videoEl = this.eclMediaContainerItem().el.nativeElement;\n videoEl.play();\n\n timer(this.DELAY).pipe(take(1)).subscribe(() => {\n const pauseButton = this.eclButtons().find(\n button => button === this.pauseButton());\n this.focusOnButton(pauseButton);\n });\n }\n\n /**\n * When user clicks on 'pause' button -> pause the video and move the focus to the 'play' button.\n */\n onVideoPause(): void {\n const videoEl = this.eclMediaContainerItem().el.nativeElement;\n videoEl.pause();\n\n timer(this.DELAY).pipe(take(1)).subscribe(() => {\n const playButton = this.eclButtons().find(\n button => button === this.playButton());\n this.focusOnButton(playButton);\n });\n }\n\n private focusOnButton(button: EclButtonComponent): void {\n if (!button) {\n return;\n }\n button.onFocus();\n }\n\n private setCaptionBottom(): void {\n if (!this.creditEl() || this.resolvedCaptionPosition() !== 'over') {\n this.captionBottomOffset.set(null);\n return;\n }\n this.captionBottomOffset.set(`${this.creditEl().nativeElement.offsetHeight}px`);\n }\n}\n","<figure class=\"ecl-media-container__figure\" [class.ecl-media-container--full-width]=\"isFullWidth()\" [style.--ecl-caption-bottom]=\"captionBottomOffset()\">\n @if (hasVideo()) {\n <div class=\"ecl-media-container__video-wrapper\">\n <ng-content select=\"video[eclMediaContainerItem]\"></ng-content>\n @if (eclAutoplay()) {\n <button #playButton eclButton variant=\"tertiary\" isIconOnly class=\"ecl-media-container__play\" (click)=\"onVideoPlay()\"\n [style.display]=\"isPlaying ? 'none' : 'flex'\" type=\"button\">\n <span eclButtonLabel>Play</span>\n <ecl-icon icon=\"play-outline\" size=\"m\"></ecl-icon>\n </button>\n <button #pauseButton eclButton variant=\"tertiary\" isIconOnly class=\"ecl-media-container__pause\" (click)=\"onVideoPause()\"\n [style.display]=\"isPlaying ? 'flex' : 'none'\" type=\"button\">\n <span eclButtonLabel>Pause</span>\n <ecl-icon icon=\"pause-outline\" size=\"m\"></ecl-icon>\n </button>\n }\n </div>\n }\n <ng-content select=\"div[eclMediaContainerItem]\"></ng-content>\n <ng-content select=\"picture[eclMediaContainerPicture]\"></ng-content>\n\n <ng-content select=\"figcaption[eclMediaContainerCaption]\"></ng-content>\n <ng-content select=\"footer[eclMediaContainerCredit]\"></ng-content>\n <ng-content select=\"ecl-expandable\"></ng-content>\n</figure>\n","import { EclMediaContainerIframeDirective } from './ecl-media-container-iframe.directive';\nimport { EclMediaContainerItemAudioDescriptionDirective } from './ecl-media-container-item-audio-description.directive';\nimport { EclMediaContainerItemDirective } from './ecl-media-container-item.directive';\nimport { EclMediaContainerPictureDirective } from './ecl-media-container-picture.directive';\nimport { EclMediaContainerCaptionDirective } from './ecl-media-container-caption.directive';\nimport { EclMediaContainerCreditDirective } from './ecl-media-container-credit.directive';\nimport { EclMediaContainerComponent } from './ecl-media-container.component';\n\nexport * from './ecl-media-container.component';\nexport * from './ecl-media-container-item.directive';\nexport * from './ecl-media-container-iframe.directive';\nexport * from './ecl-media-container-picture.directive';\nexport * from './ecl-media-container-item-audio-description.directive';\nexport * from './ecl-media-container-caption.directive';\nexport * from './ecl-media-container-credit.directive';\n\nexport const EUI_ECL_MEDIA_CONTAINER = [\n EclMediaContainerComponent,\n EclMediaContainerItemDirective,\n EclMediaContainerIframeDirective,\n EclMediaContainerPictureDirective,\n EclMediaContainerItemAudioDescriptionDirective,\n EclMediaContainerCaptionDirective,\n EclMediaContainerCreditDirective,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eui-ecl-components-ecl-media-container.mjs","sources":["../../components/ecl-media-container/ecl-media-container-iframe.directive.ts","../../components/ecl-media-container/ecl-media-container-item-audio-description.directive.ts","../../components/ecl-media-container/ecl-media-container-item.directive.ts","../../components/ecl-media-container/ecl-media-container-picture.directive.ts","../../components/ecl-media-container/ecl-media-container-caption.directive.ts","../../components/ecl-media-container/ecl-media-container-credit.directive.ts","../../components/ecl-media-container/ecl-media-container.component.ts","../../components/ecl-media-container/ecl-media-container.component.html","../../components/ecl-media-container/index.ts","../../components/ecl-media-container/eui-ecl-components-ecl-media-container.ts"],"sourcesContent":["import { Directive, ElementRef, inject, input } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Adds styling and attributes to the iframe element.\n */\n@Directive({\n selector: 'iframe[eclMediaContainerIframe]',\n host: {\n '[style.aspect-ratio]': 'ratio',\n },\n})\nexport class EclMediaContainerIframeDirective extends ECLBaseDirective {\n readonly width = input(undefined);\n readonly height = input(undefined);\n\n hasCustomRatio = false;\n private elem = inject(ElementRef);\n\n /**\n * Aspect ratio applied as a host style binding. Derived from the\n * `width`/`height` inputs (falling back to the element's measured size),\n * and only produced when a custom ratio is requested.\n */\n get ratio(): string | null {\n return this.hasCustomRatio ? this.calculateCustomRatio() : null;\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 { Directive } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Adds styling to the media container description.\n */\n@Directive({\n selector: '[eclMediaContainerItemAudioDescription]',\n host: {\n '[class]': 'cssClasses',\n },\n})\nexport class EclMediaContainerItemAudioDescriptionDirective extends ECLBaseDirective {\n get cssClasses(): string {\n return [super.getCssClasses('ecl-media-container__media-audio')].join(' ').trim();\n }\n}\n","import { AfterContentInit, Directive, ElementRef, PLATFORM_ID, afterNextRender, inject, input, contentChild } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclMediaContainerIframeDirective } from './ecl-media-container-iframe.directive';\nimport { isPlatformBrowser } from '@angular/common';\n\n/**\n * Adds styling and functionality to the media container item /image.\n */\n@Directive({\n selector: '[eclMediaContainerItem], img[eclMediaContainerImage]',\n host: {\n '[class]': 'cssClasses',\n },\n})\nexport class EclMediaContainerItemDirective extends ECLBaseDirective implements AfterContentInit {\n el = inject(ElementRef);\n\n readonly ratio = input<string>(undefined);\n readonly contentIframe = contentChild(EclMediaContainerIframeDirective);\n\n get cssClasses(): string {\n const ratio = this.ratio();\n return [\n super.getCssClasses('ecl-media-container__media'),\n ratio ? `ecl-media-container__media--ratio-${ratio}` : '',\n this.isVideo ? 'ecl-video' : '',\n ]\n .join(' ')\n .trim();\n }\n\n public isVideo = false;\n private platformId = inject(PLATFORM_ID);\n\n constructor() {\n super();\n afterNextRender(() => {\n this.setIframeUrl();\n });\n }\n\n ngAfterContentInit(): void {\n const contentIframe = this.contentIframe();\n if (contentIframe) {\n contentIframe.hasCustomRatio = this.ratio() ? false : true;\n }\n if (isPlatformBrowser(this.platformId)) {\n const selector = this.el.nativeElement.tagName;\n this.isVideo = selector === 'VIDEO';\n }\n }\n\n // TODO: is this really needed?\n setIframeUrl(): void {\n if (this.el.nativeElement.lastChild && this.el.nativeElement.lastChild.nodeName === 'IFRAME') {\n const iframe = this.el.nativeElement.lastChild;\n const iframeUrl = new URL(iframe.src);\n if (iframeUrl.host.includes('youtube')) {\n iframe.src = iframeUrl;\n }\n }\n }\n}\n","import { Directive } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Applies styles for the picture element.\n */\n@Directive({\n selector: 'picture[eclMediaContainerPicture]',\n host: {\n '[class]': 'cssClasses',\n },\n})\nexport class EclMediaContainerPictureDirective extends ECLBaseDirective {\n get cssClasses(): string {\n return [super.getCssClasses('ecl-picture ecl-media-container__picture')].join(' ').trim();\n }\n}\n","import { Directive } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Adds styling and attributes to the media container caption element.\n */\n@Directive({\n selector: 'figcaption[eclMediaContainerCaption]',\n host: {\n '[class]': 'cssClasses',\n },\n})\nexport class EclMediaContainerCaptionDirective extends ECLBaseDirective {\n get cssClasses(): string {\n return [super.getCssClasses('ecl-media-container__caption')].join(' ').trim();\n }\n}\n","import { Directive } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Adds styling and attributes to the media container credit element.\n */\n@Directive({\n selector: 'footer[eclMediaContainerCredit]',\n host: {\n '[class]': 'cssClasses',\n },\n})\nexport class EclMediaContainerCreditDirective extends ECLBaseDirective {\n get cssClasses(): string {\n return [super.getCssClasses('ecl-media-container__credit')].join(' ').trim();\n }\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport { AfterContentInit, booleanAttribute, Component, computed, contentChild, DOCUMENT, ElementRef, inject, input, OnDestroy, PLATFORM_ID, Renderer2, signal, viewChildren, viewChild } from '@angular/core';\nimport { EclButtonComponent, EUI_ECL_BUTTON } from '@eui/ecl/components/ecl-button';\nimport { EclExpandableComponent } from '@eui/ecl/components/ecl-expandable';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { auditTime, fromEvent, Subject, take, takeUntil, timer } from 'rxjs';\nimport { EclMediaContainerCreditDirective } from './ecl-media-container-credit.directive';\nimport { EclMediaContainerItemDirective } from './ecl-media-container-item.directive';\n\n/**\n * A media container is used to display media items (video, audio, image or other data) with a caption.\n */\n@Component({\n selector: 'ecl-media-container',\n templateUrl: './ecl-media-container.component.html',\n imports: [...EUI_ECL_BUTTON, ...EUI_ECL_ICON],\n host: {\n '[class]': 'cssClasses()',\n },\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\n\nexport class EclMediaContainerComponent extends ECLBaseDirective implements AfterContentInit, OnDestroy {\n readonly isFullWidth = input(false, { transform: booleanAttribute });\n /**\n * Used for a video only - if the video should play immediately.\n */\n readonly eclAutoplay = input(false, { transform: booleanAttribute });\n\n captionPosition = input<'over' | 'bottom' | 'hidden'>('bottom');\n\n /**\n * Allows a parent component to override the caption position programmatically.\n */\n captionPositionOverride = signal<'over' | 'bottom' | 'hidden' | null>(null);\n\n readonly expandable = contentChild(EclExpandableComponent);\n readonly eclMediaContainerItem = contentChild(EclMediaContainerItemDirective);\n readonly eclButtons = viewChildren(EclButtonComponent);\n readonly pauseButton = viewChild<EclButtonComponent>('pauseButton');\n readonly playButton = viewChild<EclButtonComponent>('playButton');\n private creditEl = contentChild(EclMediaContainerCreditDirective, { read: ElementRef });\n private readonly document = inject<Document>(DOCUMENT);\n private readonly window = this.document.defaultView;\n\n captionBottomOffset = signal<string | null>(null);\n\n /**\n * Resolved caption position considering the override.\n */\n resolvedCaptionPosition = computed(() => this.captionPositionOverride() ?? this.captionPosition());\n\n /**\n * Applies specific classes for the component.\n */\n cssClasses = computed(() => {\n const position = this.resolvedCaptionPosition();\n return [super.getCssClasses('ecl-media-container'),\n position !== 'bottom' ? `ecl-media-container--caption-${position}` : '',\n ].join(' ').trim();\n });\n\n hasVideo = signal(false);\n\n public isPlaying = false;\n private readonly DELAY = 0;\n private renderer = inject(Renderer2);\n private removeVideoListeners: (() => void)[] = [];\n private platformId = inject(PLATFORM_ID);\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n ngAfterContentInit(): void {\n if (isPlatformBrowser(this.platformId)) {\n const eclMediaContainerItem = this.eclMediaContainerItem();\n this.hasVideo.set(eclMediaContainerItem?.isVideo ?? false);\n\n if (this.hasVideo() && this.eclAutoplay()) {\n const videoEl = eclMediaContainerItem?.el?.nativeElement as HTMLVideoElement | undefined;\n if (videoEl) {\n this.removeVideoListeners.push(\n this.renderer.listen(videoEl, 'play', () => (this.isPlaying = true)),\n this.renderer.listen(videoEl, 'pause', () => (this.isPlaying = false)),\n );\n\n this.renderer.setAttribute(videoEl, 'loop', '');\n this.renderer.setAttribute(videoEl, 'muted', '');\n this.renderer.setProperty(videoEl, 'muted', true);\n this.renderer.removeAttribute(videoEl, 'controls');\n }\n }\n this.setCaptionBottom();\n fromEvent(this.window, 'resize').pipe(\n auditTime(50),\n takeUntil(this.destroy$)).subscribe(() => {\n this.setCaptionBottom();\n });\n }\n\n const expandable = this.expandable();\n if (expandable) {\n expandable.class.set([expandable.class(), 'ecl-media-container__expandable'].join(' '));\n }\n }\n\n ngOnDestroy(): void {\n for (const unlisten of this.removeVideoListeners) unlisten();\n this.removeVideoListeners = [];\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n /**\n * When user clicks on 'play' button -> start the video and move the focus to the 'pause' button.\n */\n onVideoPlay(): void {\n const videoEl = this.eclMediaContainerItem().el.nativeElement;\n videoEl.play();\n\n timer(this.DELAY).pipe(take(1)).subscribe(() => {\n const pauseButton = this.eclButtons().find(\n button => button === this.pauseButton());\n this.focusOnButton(pauseButton);\n });\n }\n\n /**\n * When user clicks on 'pause' button -> pause the video and move the focus to the 'play' button.\n */\n onVideoPause(): void {\n const videoEl = this.eclMediaContainerItem().el.nativeElement;\n videoEl.pause();\n\n timer(this.DELAY).pipe(take(1)).subscribe(() => {\n const playButton = this.eclButtons().find(\n button => button === this.playButton());\n this.focusOnButton(playButton);\n });\n }\n\n private focusOnButton(button: EclButtonComponent): void {\n if (!button) {\n return;\n }\n button.onFocus();\n }\n\n private setCaptionBottom(): void {\n if (!this.creditEl() || this.resolvedCaptionPosition() !== 'over') {\n this.captionBottomOffset.set(null);\n return;\n }\n this.captionBottomOffset.set(`${this.creditEl().nativeElement.offsetHeight}px`);\n }\n}\n","<figure class=\"ecl-media-container__figure\" [class.ecl-media-container--full-width]=\"isFullWidth()\" [style.--ecl-caption-bottom]=\"captionBottomOffset()\">\n @if (hasVideo()) {\n <div class=\"ecl-media-container__video-wrapper\">\n <ng-content select=\"video[eclMediaContainerItem]\"></ng-content>\n @if (eclAutoplay()) {\n <button #playButton eclButton variant=\"tertiary\" isIconOnly class=\"ecl-media-container__play\" (click)=\"onVideoPlay()\"\n [style.display]=\"isPlaying ? 'none' : 'flex'\" type=\"button\">\n <span eclButtonLabel>Play</span>\n <ecl-icon icon=\"play-outline\" size=\"m\"></ecl-icon>\n </button>\n <button #pauseButton eclButton variant=\"tertiary\" isIconOnly class=\"ecl-media-container__pause\" (click)=\"onVideoPause()\"\n [style.display]=\"isPlaying ? 'flex' : 'none'\" type=\"button\">\n <span eclButtonLabel>Pause</span>\n <ecl-icon icon=\"pause-outline\" size=\"m\"></ecl-icon>\n </button>\n }\n </div>\n }\n <ng-content select=\"div[eclMediaContainerItem]\"></ng-content>\n <ng-content select=\"picture[eclMediaContainerPicture]\"></ng-content>\n\n <ng-content select=\"figcaption[eclMediaContainerCaption]\"></ng-content>\n <ng-content select=\"footer[eclMediaContainerCredit]\"></ng-content>\n <ng-content select=\"ecl-expandable\"></ng-content>\n</figure>\n","import { EclMediaContainerIframeDirective } from './ecl-media-container-iframe.directive';\nimport { EclMediaContainerItemAudioDescriptionDirective } from './ecl-media-container-item-audio-description.directive';\nimport { EclMediaContainerItemDirective } from './ecl-media-container-item.directive';\nimport { EclMediaContainerPictureDirective } from './ecl-media-container-picture.directive';\nimport { EclMediaContainerCaptionDirective } from './ecl-media-container-caption.directive';\nimport { EclMediaContainerCreditDirective } from './ecl-media-container-credit.directive';\nimport { EclMediaContainerComponent } from './ecl-media-container.component';\n\nexport * from './ecl-media-container.component';\nexport * from './ecl-media-container-item.directive';\nexport * from './ecl-media-container-iframe.directive';\nexport * from './ecl-media-container-picture.directive';\nexport * from './ecl-media-container-item-audio-description.directive';\nexport * from './ecl-media-container-caption.directive';\nexport * from './ecl-media-container-credit.directive';\n\nexport const EUI_ECL_MEDIA_CONTAINER = [\n EclMediaContainerComponent,\n EclMediaContainerItemDirective,\n EclMediaContainerIframeDirective,\n EclMediaContainerPictureDirective,\n EclMediaContainerItemAudioDescriptionDirective,\n EclMediaContainerCaptionDirective,\n EclMediaContainerCreditDirective,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -144,7 +144,7 @@ class EclMegaMenuFeaturedComponent extends ECLBaseDirective {
144
144
  this.featuredItems = contentChildren(forwardRef(() => EclMegaMenuFeaturedListItemDirective), { ...(ngDevMode ? { debugName: "featuredItems" } : /* istanbul ignore next */ {}), descendants: true });
145
145
  }
146
146
  ngAfterContentInit() {
147
- this.links()?.forEach(link => link.class = 'ecl-mega-menu__featured-link');
147
+ this.links()?.forEach(link => link.class.set('ecl-mega-menu__featured-link'));
148
148
  }
149
149
  /**
150
150
  * Calculates and returns the height of the component. The total height of all the list items.
@@ -640,7 +640,7 @@ class EclMegaMenuInfoComponent extends ECLBaseDirective {
640
640
  if (isPlatformBrowser(this.platformId)) {
641
641
  // Sets class of the sub link, if any.
642
642
  if (this.linkItem()) {
643
- setTimeout(() => this.linkItem().class = 'ecl-mega-menu__info-link');
643
+ setTimeout(() => this.linkItem().class.set('ecl-mega-menu__info-link'));
644
644
  }
645
645
  // Emits the bottom value of the element. Needed to calculate the size of the sublist. (for the same parent menu item)
646
646
  this.publishSize();