@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.
- package/docs/changelog.html +28 -0
- package/docs/components/EclAddToCalendarComponent.html +42 -3
- package/docs/components/EclAnimatedNumbersComponent.html +42 -3
- package/docs/components/EclAnimatedNumbersItemComponent.html +42 -3
- package/docs/components/EclAppComponent.html +26 -3
- package/docs/components/EclBannerComponent.html +42 -3
- package/docs/components/EclBlockquoteComponent.html +42 -3
- package/docs/components/EclBreadcrumbComponent.html +104 -4
- package/docs/components/EclBreadcrumbSegmentComponent.html +26 -3
- package/docs/components/EclButtonComponent.html +42 -3
- package/docs/components/EclCardBodyComponent.html +42 -3
- package/docs/components/EclCardComponent.html +42 -3
- package/docs/components/EclCarouselComponent.html +26 -3
- package/docs/components/EclCarouselItemComponent.html +26 -3
- package/docs/components/EclCategoryFilterComponent.html +42 -3
- package/docs/components/EclCategoryFilterItemComponent.html +26 -3
- package/docs/components/EclCategoryFilterListComponent.html +42 -3
- package/docs/components/EclCheckboxHelpComponent.html +42 -3
- package/docs/components/EclCheckboxLabelComponent.html +42 -3
- package/docs/components/EclContentBlockComponent.html +42 -3
- package/docs/components/EclContentItemComponent.html +42 -3
- package/docs/components/EclDateBlockComponent.html +42 -3
- package/docs/components/EclDescriptionListDefinitionComponent.html +42 -3
- package/docs/components/EclExpandableComponent.html +21 -58
- package/docs/components/EclFactFiguresComponent.html +42 -3
- package/docs/components/EclFactFiguresItemComponent.html +42 -3
- package/docs/components/EclFactFiguresViewAllComponent.html +42 -3
- package/docs/components/EclFeaturedComponent.html +42 -3
- package/docs/components/EclFeaturedItemComponent.html +42 -3
- package/docs/components/EclFeaturedItemDescriptionComponent.html +42 -3
- package/docs/components/EclFileComponent.html +26 -3
- package/docs/components/EclFileItemComponent.html +42 -3
- package/docs/components/EclFileItemsComponent.html +26 -3
- package/docs/components/EclFileListsComponent.html +42 -3
- package/docs/components/EclFormGroupComponent.html +42 -3
- package/docs/components/EclFormLabelComponent.html +42 -3
- package/docs/components/EclGalleryComponent.html +26 -3
- package/docs/components/EclGalleryItemComponent.html +26 -3
- package/docs/components/EclHighlightBoxComponent.html +42 -3
- package/docs/components/EclHighlightedSearchComponent.html +26 -3
- package/docs/components/EclInpageNavigationComponent.html +26 -3
- package/docs/components/EclInpageNavigationItemComponent.html +26 -3
- package/docs/components/EclLayoutWrapperComponent.html +42 -3
- package/docs/components/EclListIllustrationComponent.html +42 -3
- package/docs/components/EclListIllustrationItemComponent.html +42 -3
- package/docs/components/EclLoadingIndicatorComponent.html +42 -3
- package/docs/components/EclMediaContainerComponent.html +42 -3
- package/docs/components/EclMegaMenuComponent.html +26 -3
- package/docs/components/EclMegaMenuFeaturedComponent.html +42 -3
- package/docs/components/EclMegaMenuInfoComponent.html +42 -3
- package/docs/components/EclMegaMenuItemComponent.html +26 -3
- package/docs/components/EclMegaMenuSubitemComponent.html +26 -3
- package/docs/components/EclMenuComponent.html +26 -3
- package/docs/components/EclMenuItemComponent.html +26 -3
- package/docs/components/EclMenuMegaComponent.html +26 -3
- package/docs/components/EclMenuMegaItemComponent.html +26 -3
- package/docs/components/EclModalBodyComponent.html +42 -3
- package/docs/components/EclModalComponent.html +26 -3
- package/docs/components/EclModalFooterComponent.html +42 -3
- package/docs/components/EclModalHeaderComponent.html +26 -3
- package/docs/components/EclMultiselectComponent.html +26 -3
- package/docs/components/EclMultiselectDropdownComponent.html +27 -4
- package/docs/components/EclMultiselectInputComponent.html +26 -3
- package/docs/components/EclMultiselectOptgroupComponent.html +42 -3
- package/docs/components/EclMultiselectOptionComponent.html +26 -3
- package/docs/components/EclNavigationListComponent.html +42 -3
- package/docs/components/EclNavigationListItemComponent.html +42 -3
- package/docs/components/EclNewsTickerComponent.html +26 -3
- package/docs/components/EclNewsTickerItemComponent.html +26 -3
- package/docs/components/EclNotificationComponent.html +26 -3
- package/docs/components/EclPageHeaderComponent.html +42 -3
- package/docs/components/EclPageHeaderDescriptionContainerComponent.html +42 -3
- package/docs/components/EclPageHeaderExpandableComponent.html +42 -3
- package/docs/components/EclPageHeaderSectionComponent.html +42 -3
- package/docs/components/EclPageHeaderSectionInfoComponent.html +42 -3
- package/docs/components/EclPaginationComponent.html +26 -3
- package/docs/components/EclPaginationItemComponent.html +26 -3
- package/docs/components/EclPopoverComponent.html +26 -3
- package/docs/components/EclQuizCardComponent.html +26 -3
- package/docs/components/EclQuizComponent.html +42 -3
- package/docs/components/EclRadioHelpComponent.html +26 -3
- package/docs/components/EclRadioLabelComponent.html +26 -3
- package/docs/components/EclRangeBubbleComponent.html +42 -3
- package/docs/components/EclRangeValueComponent.html +42 -3
- package/docs/components/EclRatingFieldComponent.html +21 -21
- package/docs/components/EclSearchFormComponent.html +26 -3
- package/docs/components/EclSelectContainerComponent.html +26 -3
- package/docs/components/EclSiteFooterComponent.html +42 -3
- package/docs/components/EclSiteFooterCoownerComponent.html +42 -3
- package/docs/components/EclSiteFooterCoreComponent.html +42 -3
- package/docs/components/EclSiteFooterFeedbackComponent.html +42 -3
- package/docs/components/EclSiteFooterFixedContentEUComponent.html +42 -3
- package/docs/components/EclSiteFooterRowCommonComponent.html +42 -3
- package/docs/components/EclSiteHeaderActionComponent.html +42 -3
- package/docs/components/EclSiteHeaderBannerTopComponent.html +42 -3
- package/docs/components/EclSiteHeaderComponent.html +26 -3
- package/docs/components/EclSiteHeaderCustomActionComponent.html +42 -3
- package/docs/components/EclSiteHeaderEnvironmentComponent.html +42 -3
- package/docs/components/EclSiteHeaderLanguageComponent.html +26 -3
- package/docs/components/EclSiteHeaderLanguagePopoverComponent.html +26 -3
- package/docs/components/EclSiteHeaderLoginComponent.html +26 -3
- package/docs/components/EclSiteHeaderNotificationComponent.html +42 -3
- package/docs/components/EclSiteHeaderSearchComponent.html +26 -3
- package/docs/components/EclSloganTickerComponent.html +42 -3
- package/docs/components/EclSocialMediaFollowComponent.html +42 -3
- package/docs/components/EclSocialMediaFollowItemComponent.html +26 -3
- package/docs/components/EclSplashPageComponent.html +27 -29
- package/docs/components/EclSplashPageLanguageCategoryComponent.html +27 -34
- package/docs/components/EclSplashPageLanguageContainerComponent.html +27 -34
- package/docs/components/EclSplashPageLanguageLinkComponent.html +39 -45
- package/docs/components/EclSpotlightComponent.html +28 -31
- package/docs/components/EclSpotlightLinkComponent.html +27 -29
- package/docs/components/EclStickyContainerComponent.html +26 -70
- package/docs/components/EclStoryCardComponent.html +27 -4
- package/docs/components/EclStoryCardGridDetailsComponent.html +42 -3
- package/docs/components/EclStoryCardItemComponent.html +26 -3
- package/docs/components/EclTabComponent.html +40 -310
- package/docs/components/EclTabLabelComponent.html +42 -3
- package/docs/components/EclTableSortButtonComponent.html +23 -73
- package/docs/components/EclTabsComponent.html +27 -1619
- package/docs/components/EclTagComponent.html +26 -3
- package/docs/components/EclTextMediaComponent.html +42 -3
- package/docs/components/EclTimelineComponent.html +42 -3
- package/docs/components/EclTimelineItemComponent.html +26 -3
- package/docs/components/EclTimelineItemTogglerComponent.html +26 -3
- package/docs/directives/ECLBaseDirective.html +42 -3
- package/docs/directives/ECLClickOutsideDirective.html +26 -3
- package/docs/directives/EclBannerDescriptionDirective.html +42 -3
- package/docs/directives/EclBannerDescriptionLinkDirective.html +42 -3
- package/docs/directives/EclBannerDescriptionTextDirective.html +42 -3
- package/docs/directives/EclBannerImageDirective.html +42 -3
- package/docs/directives/EclBannerPictureDirective.html +42 -3
- package/docs/directives/EclBannerTitleDirective.html +42 -3
- package/docs/directives/EclBannerTitleLinkDirective.html +42 -3
- package/docs/directives/EclBannerTitleTextDirective.html +42 -3
- package/docs/directives/EclBannerVideoDirective.html +42 -3
- package/docs/directives/EclBlockquoteImageDirective.html +42 -3
- package/docs/directives/EclBlockquotePictureDirective.html +42 -3
- package/docs/directives/EclBreadcrumbContainerDirective.html +42 -3
- package/docs/directives/EclButtonLabelDirective.html +42 -3
- package/docs/directives/EclCardImageDirective.html +42 -3
- package/docs/directives/EclCardPictureDirective.html +42 -3
- package/docs/directives/EclCheckboxDirective.html +42 -3
- package/docs/directives/EclCheckboxInputDirective.html +42 -3
- package/docs/directives/EclContainerDirective.html +42 -3
- package/docs/directives/EclContentBlockDescriptionDirective.html +42 -3
- package/docs/directives/EclContentBlockLabelDirective.html +42 -3
- package/docs/directives/EclContentBlockLabelsDirective.html +42 -3
- package/docs/directives/EclContentBlockLinkDirective.html +42 -3
- package/docs/directives/EclContentBlockLinksContainerDirective.html +42 -3
- package/docs/directives/EclContentBlockLinksDirective.html +42 -3
- package/docs/directives/EclContentBlockListContainerDirective.html +42 -3
- package/docs/directives/EclContentBlockListDirective.html +42 -3
- package/docs/directives/EclContentBlockPrimaryMetaDirective.html +42 -3
- package/docs/directives/EclContentBlockPrimaryMetasDirective.html +42 -3
- package/docs/directives/EclContentBlockSecondaryMetaDirective.html +42 -3
- package/docs/directives/EclContentBlockSecondaryMetaIconDirective.html +42 -3
- package/docs/directives/EclContentBlockSecondaryMetaLabelDirective.html +42 -3
- package/docs/directives/EclContentBlockSecondaryMetasDirective.html +42 -3
- package/docs/directives/EclContentBlockTagDirective.html +42 -3
- package/docs/directives/EclContentBlockTagsDirective.html +42 -3
- package/docs/directives/EclContentBlockTitleDirective.html +42 -3
- package/docs/directives/EclContentItemImageDirective.html +42 -3
- package/docs/directives/EclContentItemPictureDirective.html +42 -3
- package/docs/directives/EclDescriptionListDefinitionItemDirective.html +42 -3
- package/docs/directives/EclDescriptionListDefinitionListDirective.html +42 -3
- package/docs/directives/EclDescriptionListDirective.html +42 -3
- package/docs/directives/EclDescriptionListTermDirective.html +42 -3
- package/docs/directives/EclDividerDirective.html +42 -3
- package/docs/directives/EclFactFiguresDescriptionDirective.html +42 -3
- package/docs/directives/EclFeaturedItemLinkDirective.html +42 -3
- package/docs/directives/EclFeaturedMediaAnchorDirective.html +42 -3
- package/docs/directives/EclFeedbackMessageDirective.html +42 -3
- package/docs/directives/EclFileDownloadDirective.html +42 -3
- package/docs/directives/EclFileImageDirective.html +42 -3
- package/docs/directives/EclFileMetaDirective.html +42 -3
- package/docs/directives/EclFilePictureDirective.html +42 -3
- package/docs/directives/EclFilePreviewDirective.html +42 -3
- package/docs/directives/EclFileTitleDirective.html +42 -3
- package/docs/directives/EclFileTranslationDownloadDirective.html +42 -3
- package/docs/directives/EclFileUploadDirective.html +26 -3
- package/docs/directives/EclGalleryMediaDirective.html +42 -3
- package/docs/directives/EclGalleryPictureDirective.html +42 -3
- package/docs/directives/EclGalleryThumbnailDirective.html +42 -3
- package/docs/directives/EclHelpBlockDirective.html +42 -3
- package/docs/directives/EclHiddenDirective.html +42 -3
- package/docs/directives/EclInpageNavigationListDirective.html +42 -3
- package/docs/directives/EclLabelDirective.html +42 -3
- package/docs/directives/EclLinkDirective.html +42 -3
- package/docs/directives/EclLinkLabelDirective.html +42 -3
- package/docs/directives/EclListIllustrationIconDirective.html +42 -3
- package/docs/directives/EclListIllustrationImageDirective.html +42 -3
- package/docs/directives/EclListIllustrationPictureDirective.html +42 -3
- package/docs/directives/EclLoadingIndicatorOverlayDirective.html +42 -3
- package/docs/directives/EclMediaContainerCaptionDirective.html +42 -3
- package/docs/directives/EclMediaContainerCreditDirective.html +42 -3
- package/docs/directives/EclMediaContainerIframeDirective.html +42 -3
- package/docs/directives/EclMediaContainerItemAudioDescriptionDirective.html +42 -3
- package/docs/directives/EclMediaContainerItemDirective.html +42 -3
- package/docs/directives/EclMediaContainerPictureDirective.html +42 -3
- package/docs/directives/EclMegaMenuContainerDirective.html +42 -3
- package/docs/directives/EclMegaMenuFeaturedImageDirective.html +42 -3
- package/docs/directives/EclMegaMenuFeaturedListDirective.html +42 -3
- package/docs/directives/EclMegaMenuFeaturedListItemDescriptionDirective.html +42 -3
- package/docs/directives/EclMegaMenuFeaturedListItemDirective.html +42 -3
- package/docs/directives/EclMegaMenuFeaturedPictureDirective.html +42 -3
- package/docs/directives/EclMegaMenuListDirective.html +42 -3
- package/docs/directives/EclMegaMenuSpacerDirective.html +42 -3
- package/docs/directives/EclMegaMenuSublistDirective.html +26 -3
- package/docs/directives/EclModalBodyFixedContentDirective.html +42 -3
- package/docs/directives/EclModalCloseDirective.html +26 -3
- package/docs/directives/EclModalTriggerDirective.html +42 -3
- package/docs/directives/EclMultiselectOptionDirective.html +42 -3
- package/docs/directives/EclNavigationListImageDirective.html +42 -3
- package/docs/directives/EclNavigationListPictureDirective.html +42 -3
- package/docs/directives/EclNewsTickerIconDirective.html +42 -3
- package/docs/directives/EclNotificationTitleDirective.html +42 -3
- package/docs/directives/EclOrderedListDirective.html +42 -3
- package/docs/directives/EclOrderedListItemDirective.html +42 -3
- package/docs/directives/EclPageHeaderBackgroundImageDirective.html +42 -3
- package/docs/directives/EclPageHeaderBackgroundPictureDirective.html +42 -3
- package/docs/directives/EclPageHeaderContainerDirective.html +42 -3
- package/docs/directives/EclPageHeaderDescriptionDirective.html +42 -3
- package/docs/directives/EclPageHeaderDescriptionPictureDirective.html +42 -3
- package/docs/directives/EclPageHeaderDescriptionThumbnailDirective.html +42 -3
- package/docs/directives/EclPageHeaderExpandableHeaderDirective.html +42 -3
- package/docs/directives/EclPageHeaderInfoDirective.html +42 -3
- package/docs/directives/EclPageHeaderMetaDirective.html +42 -3
- package/docs/directives/EclPageHeaderMetaItemDirective.html +42 -3
- package/docs/directives/EclPageHeaderTitleDirective.html +42 -3
- package/docs/directives/EclPaginationListDirective.html +42 -3
- package/docs/directives/EclPopoverContentDirective.html +42 -3
- package/docs/directives/EclPopoverToggleDirective.html +26 -3
- package/docs/directives/EclRadioDirective.html +42 -3
- package/docs/directives/EclRadioInputDirective.html +42 -3
- package/docs/directives/EclRangeDirective.html +26 -3
- package/docs/directives/EclSelectDirective.html +42 -3
- package/docs/directives/EclSiteFooterColumnDirective.html +42 -3
- package/docs/directives/EclSiteFooterCoownerItemDirective.html +42 -3
- package/docs/directives/EclSiteFooterCoownerListDirective.html +42 -3
- package/docs/directives/EclSiteFooterDescriptionDirective.html +42 -3
- package/docs/directives/EclSiteFooterDescriptionNameDirective.html +42 -3
- package/docs/directives/EclSiteFooterListDirective.html +42 -3
- package/docs/directives/EclSiteFooterListItemDirective.html +42 -3
- package/docs/directives/EclSiteFooterRowDirective.html +42 -3
- package/docs/directives/EclSiteFooterSectionDirective.html +42 -3
- package/docs/directives/EclSiteFooterSocialMediaDirective.html +42 -3
- package/docs/directives/EclSiteFooterTitleDirective.html +42 -3
- package/docs/directives/EclSiteFooterTitleLinkDirective.html +42 -3
- package/docs/directives/EclSiteHeaderCtaDirective.html +42 -3
- package/docs/directives/EclSiteHeaderCustomActionContentDirective.html +42 -3
- package/docs/directives/EclSiteHeaderCustomActionLinkDirective.html +26 -3
- package/docs/directives/EclSiteHeaderCustomActionTitleDirective.html +42 -3
- package/docs/directives/EclSiteHeaderImageDirective.html +42 -3
- package/docs/directives/EclSiteHeaderLinkDirective.html +42 -3
- package/docs/directives/EclSiteHeaderLoginDescriptionDirective.html +42 -3
- package/docs/directives/EclSiteHeaderLoginSeparatorDirective.html +42 -3
- package/docs/directives/EclSiteHeaderPictureDirective.html +42 -3
- package/docs/directives/EclSocialMediaFollowLinkDirective.html +42 -3
- package/docs/directives/EclSplashPageLanguageItemDirective.html +21 -98
- package/docs/directives/EclSplashPageLanguageListDirective.html +21 -98
- package/docs/directives/EclSplashPageLogoImageDirective.html +23 -29
- package/docs/directives/EclSplashPageLogoLinkDirective.html +23 -29
- package/docs/directives/EclSplashPagePictureDirective.html +23 -29
- package/docs/directives/EclSpotlightImageDirective.html +21 -98
- package/docs/directives/EclSpotlightPictureDirective.html +21 -98
- package/docs/directives/EclStoryCardLinkDirective.html +42 -3
- package/docs/directives/EclStoryCardListDirective.html +42 -3
- package/docs/directives/EclStoryCardPictureDirective.html +42 -3
- package/docs/directives/EclTableBodyDirective.html +35 -29
- package/docs/directives/EclTableCaptionDirective.html +33 -98
- package/docs/directives/EclTableCellDirective.html +35 -29
- package/docs/directives/EclTableCellGroupDirective.html +35 -29
- package/docs/directives/EclTableDirective.html +33 -53
- package/docs/directives/EclTableHeadDirective.html +23 -42
- package/docs/directives/EclTableHeaderDirective.html +49 -130
- package/docs/directives/EclTableResponsiveDirective.html +35 -29
- package/docs/directives/EclTableRowDirective.html +35 -29
- package/docs/directives/EclTagIconExternalDirective.html +42 -3
- package/docs/directives/EclTagSetDirective.html +42 -3
- package/docs/directives/EclTagSetItemDirective.html +42 -3
- package/docs/directives/EclTextAreaDirective.html +42 -3
- package/docs/directives/EclTextInputDirective.html +42 -3
- package/docs/directives/EclTimelineItemLabelDirective.html +42 -3
- package/docs/directives/EclTimelineItemTitleDirective.html +42 -3
- package/docs/directives/EclTimelineSetDirective.html +42 -3
- package/docs/directives/EclUnorderedListDirective.html +42 -3
- package/docs/directives/EclUnorderedListItemDirective.html +42 -3
- package/docs/js/search/search_index.js +2 -2
- package/docs/json/ECLBaseDirective.md +5 -2
- package/docs/json/ECLClickOutsideDirective.md +3 -2
- package/docs/json/EclAddToCalendarComponent.md +5 -2
- package/docs/json/EclAnimatedNumbersComponent.md +5 -2
- package/docs/json/EclAnimatedNumbersItemComponent.md +5 -2
- package/docs/json/EclAppComponent.md +3 -2
- package/docs/json/EclBannerComponent.md +5 -2
- package/docs/json/EclBannerDescriptionDirective.md +5 -2
- package/docs/json/EclBannerDescriptionLinkDirective.md +5 -2
- package/docs/json/EclBannerDescriptionTextDirective.md +5 -2
- package/docs/json/EclBannerImageDirective.md +5 -2
- package/docs/json/EclBannerPictureDirective.md +5 -2
- package/docs/json/EclBannerTitleDirective.md +5 -2
- package/docs/json/EclBannerTitleLinkDirective.md +5 -2
- package/docs/json/EclBannerTitleTextDirective.md +5 -2
- package/docs/json/EclBannerVideoDirective.md +5 -2
- package/docs/json/EclBlockquoteComponent.md +5 -2
- package/docs/json/EclBlockquoteImageDirective.md +5 -2
- package/docs/json/EclBlockquotePictureDirective.md +5 -2
- package/docs/json/EclBreadcrumbComponent.md +7 -2
- package/docs/json/EclBreadcrumbContainerDirective.md +5 -2
- package/docs/json/EclBreadcrumbSegmentComponent.md +3 -2
- package/docs/json/EclButtonComponent.md +5 -2
- package/docs/json/EclButtonLabelDirective.md +5 -2
- package/docs/json/EclCardBodyComponent.md +5 -2
- package/docs/json/EclCardComponent.md +5 -2
- package/docs/json/EclCardImageDirective.md +5 -2
- package/docs/json/EclCardPictureDirective.md +5 -2
- package/docs/json/EclCarouselComponent.md +3 -2
- package/docs/json/EclCarouselItemComponent.md +3 -2
- package/docs/json/EclCategoryFilterComponent.md +5 -2
- package/docs/json/EclCategoryFilterItemComponent.md +3 -2
- package/docs/json/EclCategoryFilterListComponent.md +5 -2
- package/docs/json/EclCheckboxDirective.md +5 -2
- package/docs/json/EclCheckboxHelpComponent.md +5 -2
- package/docs/json/EclCheckboxInputDirective.md +5 -2
- package/docs/json/EclCheckboxLabelComponent.md +5 -2
- package/docs/json/EclContainerDirective.md +5 -2
- package/docs/json/EclContentBlockComponent.md +5 -2
- package/docs/json/EclContentBlockDescriptionDirective.md +5 -2
- package/docs/json/EclContentBlockLabelDirective.md +5 -2
- package/docs/json/EclContentBlockLabelsDirective.md +5 -2
- package/docs/json/EclContentBlockLinkDirective.md +5 -2
- package/docs/json/EclContentBlockLinksContainerDirective.md +5 -2
- package/docs/json/EclContentBlockLinksDirective.md +5 -2
- package/docs/json/EclContentBlockListContainerDirective.md +5 -2
- package/docs/json/EclContentBlockListDirective.md +5 -2
- package/docs/json/EclContentBlockPrimaryMetaDirective.md +5 -2
- package/docs/json/EclContentBlockPrimaryMetasDirective.md +5 -2
- package/docs/json/EclContentBlockSecondaryMetaDirective.md +5 -2
- package/docs/json/EclContentBlockSecondaryMetaIconDirective.md +5 -2
- package/docs/json/EclContentBlockSecondaryMetaLabelDirective.md +5 -2
- package/docs/json/EclContentBlockSecondaryMetasDirective.md +5 -2
- package/docs/json/EclContentBlockTagDirective.md +5 -2
- package/docs/json/EclContentBlockTagsDirective.md +5 -2
- package/docs/json/EclContentBlockTitleDirective.md +5 -2
- package/docs/json/EclContentItemComponent.md +5 -2
- package/docs/json/EclContentItemImageDirective.md +5 -2
- package/docs/json/EclContentItemPictureDirective.md +5 -2
- package/docs/json/EclDateBlockComponent.md +5 -2
- package/docs/json/EclDescriptionListDefinitionComponent.md +5 -2
- package/docs/json/EclDescriptionListDefinitionItemDirective.md +5 -2
- package/docs/json/EclDescriptionListDefinitionListDirective.md +5 -2
- package/docs/json/EclDescriptionListDirective.md +5 -2
- package/docs/json/EclDescriptionListTermDirective.md +5 -2
- package/docs/json/EclDividerDirective.md +5 -2
- package/docs/json/EclExpandableComponent.md +5 -6
- package/docs/json/EclFactFiguresComponent.md +5 -2
- package/docs/json/EclFactFiguresDescriptionDirective.md +5 -2
- package/docs/json/EclFactFiguresItemComponent.md +5 -2
- package/docs/json/EclFactFiguresViewAllComponent.md +5 -2
- package/docs/json/EclFeaturedComponent.md +5 -2
- package/docs/json/EclFeaturedItemComponent.md +5 -2
- package/docs/json/EclFeaturedItemDescriptionComponent.md +5 -2
- package/docs/json/EclFeaturedItemLinkDirective.md +5 -2
- package/docs/json/EclFeaturedMediaAnchorDirective.md +5 -2
- package/docs/json/EclFeedbackMessageDirective.md +5 -2
- package/docs/json/EclFileComponent.md +3 -2
- package/docs/json/EclFileDownloadDirective.md +5 -2
- package/docs/json/EclFileImageDirective.md +5 -2
- package/docs/json/EclFileItemComponent.md +5 -2
- package/docs/json/EclFileItemsComponent.md +3 -2
- package/docs/json/EclFileListsComponent.md +5 -2
- package/docs/json/EclFileMetaDirective.md +5 -2
- package/docs/json/EclFilePictureDirective.md +5 -2
- package/docs/json/EclFilePreviewDirective.md +5 -2
- package/docs/json/EclFileTitleDirective.md +5 -2
- package/docs/json/EclFileTranslationDownloadDirective.md +5 -2
- package/docs/json/EclFileUploadDirective.md +3 -2
- package/docs/json/EclFormGroupComponent.md +5 -2
- package/docs/json/EclFormLabelComponent.md +5 -2
- package/docs/json/EclGalleryComponent.md +3 -2
- package/docs/json/EclGalleryItemComponent.md +3 -2
- package/docs/json/EclGalleryMediaDirective.md +5 -2
- package/docs/json/EclGalleryPictureDirective.md +5 -2
- package/docs/json/EclGalleryThumbnailDirective.md +5 -2
- package/docs/json/EclHelpBlockDirective.md +5 -2
- package/docs/json/EclHiddenDirective.md +5 -2
- package/docs/json/EclHighlightBoxComponent.md +5 -2
- package/docs/json/EclHighlightedSearchComponent.md +3 -2
- package/docs/json/EclInpageNavigationComponent.md +3 -2
- package/docs/json/EclInpageNavigationItemComponent.md +3 -2
- package/docs/json/EclInpageNavigationListDirective.md +5 -2
- package/docs/json/EclLabelDirective.md +5 -2
- package/docs/json/EclLayoutWrapperComponent.md +5 -2
- package/docs/json/EclLinkDirective.md +5 -2
- package/docs/json/EclLinkLabelDirective.md +5 -2
- package/docs/json/EclListIllustrationComponent.md +5 -2
- package/docs/json/EclListIllustrationIconDirective.md +5 -2
- package/docs/json/EclListIllustrationImageDirective.md +5 -2
- package/docs/json/EclListIllustrationItemComponent.md +5 -2
- package/docs/json/EclListIllustrationPictureDirective.md +5 -2
- package/docs/json/EclLoadingIndicatorComponent.md +5 -2
- package/docs/json/EclLoadingIndicatorOverlayDirective.md +5 -2
- package/docs/json/EclMediaContainerCaptionDirective.md +5 -2
- package/docs/json/EclMediaContainerComponent.md +5 -2
- package/docs/json/EclMediaContainerCreditDirective.md +5 -2
- package/docs/json/EclMediaContainerIframeDirective.md +5 -2
- package/docs/json/EclMediaContainerItemAudioDescriptionDirective.md +5 -2
- package/docs/json/EclMediaContainerItemDirective.md +5 -2
- package/docs/json/EclMediaContainerPictureDirective.md +5 -2
- package/docs/json/EclMegaMenuComponent.md +3 -2
- package/docs/json/EclMegaMenuContainerDirective.md +5 -2
- package/docs/json/EclMegaMenuFeaturedComponent.md +5 -2
- package/docs/json/EclMegaMenuFeaturedImageDirective.md +5 -2
- package/docs/json/EclMegaMenuFeaturedListDirective.md +5 -2
- package/docs/json/EclMegaMenuFeaturedListItemDescriptionDirective.md +5 -2
- package/docs/json/EclMegaMenuFeaturedListItemDirective.md +5 -2
- package/docs/json/EclMegaMenuFeaturedPictureDirective.md +5 -2
- package/docs/json/EclMegaMenuInfoComponent.md +5 -2
- package/docs/json/EclMegaMenuItemComponent.md +3 -2
- package/docs/json/EclMegaMenuListDirective.md +5 -2
- package/docs/json/EclMegaMenuSpacerDirective.md +5 -2
- package/docs/json/EclMegaMenuSubitemComponent.md +3 -2
- package/docs/json/EclMegaMenuSublistDirective.md +3 -2
- package/docs/json/EclMenuComponent.md +3 -2
- package/docs/json/EclMenuItemComponent.md +3 -2
- package/docs/json/EclMenuMegaComponent.md +3 -2
- package/docs/json/EclMenuMegaItemComponent.md +3 -2
- package/docs/json/EclModalBodyComponent.md +5 -2
- package/docs/json/EclModalBodyFixedContentDirective.md +5 -2
- package/docs/json/EclModalCloseDirective.md +3 -2
- package/docs/json/EclModalComponent.md +3 -2
- package/docs/json/EclModalFooterComponent.md +5 -2
- package/docs/json/EclModalHeaderComponent.md +3 -2
- package/docs/json/EclModalTriggerDirective.md +5 -2
- package/docs/json/EclMultiselectComponent.md +3 -2
- package/docs/json/EclMultiselectDropdownComponent.md +3 -2
- package/docs/json/EclMultiselectInputComponent.md +3 -2
- package/docs/json/EclMultiselectOptgroupComponent.md +5 -2
- package/docs/json/EclMultiselectOptionComponent.md +3 -2
- package/docs/json/EclMultiselectOptionDirective.md +5 -2
- package/docs/json/EclNavigationListComponent.md +5 -2
- package/docs/json/EclNavigationListImageDirective.md +5 -2
- package/docs/json/EclNavigationListItemComponent.md +5 -2
- package/docs/json/EclNavigationListPictureDirective.md +5 -2
- package/docs/json/EclNewsTickerComponent.md +3 -2
- package/docs/json/EclNewsTickerIconDirective.md +5 -2
- package/docs/json/EclNewsTickerItemComponent.md +3 -2
- package/docs/json/EclNotificationComponent.md +3 -2
- package/docs/json/EclNotificationTitleDirective.md +5 -2
- package/docs/json/EclOrderedListDirective.md +5 -2
- package/docs/json/EclOrderedListItemDirective.md +5 -2
- package/docs/json/EclPageHeaderBackgroundImageDirective.md +5 -2
- package/docs/json/EclPageHeaderBackgroundPictureDirective.md +5 -2
- package/docs/json/EclPageHeaderComponent.md +5 -2
- package/docs/json/EclPageHeaderContainerDirective.md +5 -2
- package/docs/json/EclPageHeaderDescriptionContainerComponent.md +5 -2
- package/docs/json/EclPageHeaderDescriptionDirective.md +5 -2
- package/docs/json/EclPageHeaderDescriptionPictureDirective.md +5 -2
- package/docs/json/EclPageHeaderDescriptionThumbnailDirective.md +5 -2
- package/docs/json/EclPageHeaderExpandableComponent.md +5 -2
- package/docs/json/EclPageHeaderExpandableHeaderDirective.md +5 -2
- package/docs/json/EclPageHeaderInfoDirective.md +5 -2
- package/docs/json/EclPageHeaderMetaDirective.md +5 -2
- package/docs/json/EclPageHeaderMetaItemDirective.md +5 -2
- package/docs/json/EclPageHeaderSectionComponent.md +5 -2
- package/docs/json/EclPageHeaderSectionInfoComponent.md +5 -2
- package/docs/json/EclPageHeaderTitleDirective.md +5 -2
- package/docs/json/EclPaginationComponent.md +3 -2
- package/docs/json/EclPaginationItemComponent.md +3 -2
- package/docs/json/EclPaginationListDirective.md +5 -2
- package/docs/json/EclPopoverComponent.md +3 -2
- package/docs/json/EclPopoverContentDirective.md +5 -2
- package/docs/json/EclPopoverToggleDirective.md +3 -2
- package/docs/json/EclQuizCardComponent.md +3 -2
- package/docs/json/EclQuizComponent.md +5 -2
- package/docs/json/EclRadioDirective.md +5 -2
- package/docs/json/EclRadioHelpComponent.md +3 -2
- package/docs/json/EclRadioInputDirective.md +5 -2
- package/docs/json/EclRadioLabelComponent.md +3 -2
- package/docs/json/EclRangeBubbleComponent.md +5 -2
- package/docs/json/EclRangeDirective.md +3 -2
- package/docs/json/EclRangeValueComponent.md +5 -2
- package/docs/json/EclRatingFieldComponent.md +4 -4
- package/docs/json/EclSearchFormComponent.md +3 -2
- package/docs/json/EclSelectContainerComponent.md +3 -2
- package/docs/json/EclSelectDirective.md +5 -2
- package/docs/json/EclSiteFooterColumnDirective.md +5 -2
- package/docs/json/EclSiteFooterComponent.md +5 -2
- package/docs/json/EclSiteFooterCoownerComponent.md +5 -2
- package/docs/json/EclSiteFooterCoownerItemDirective.md +5 -2
- package/docs/json/EclSiteFooterCoownerListDirective.md +5 -2
- package/docs/json/EclSiteFooterCoreComponent.md +5 -2
- package/docs/json/EclSiteFooterDescriptionDirective.md +5 -2
- package/docs/json/EclSiteFooterDescriptionNameDirective.md +5 -2
- package/docs/json/EclSiteFooterFeedbackComponent.md +5 -2
- package/docs/json/EclSiteFooterFixedContentEUComponent.md +5 -2
- package/docs/json/EclSiteFooterListDirective.md +5 -2
- package/docs/json/EclSiteFooterListItemDirective.md +5 -2
- package/docs/json/EclSiteFooterRowCommonComponent.md +5 -2
- package/docs/json/EclSiteFooterRowDirective.md +5 -2
- package/docs/json/EclSiteFooterSectionDirective.md +5 -2
- package/docs/json/EclSiteFooterSocialMediaDirective.md +5 -2
- package/docs/json/EclSiteFooterTitleDirective.md +5 -2
- package/docs/json/EclSiteFooterTitleLinkDirective.md +5 -2
- package/docs/json/EclSiteHeaderActionComponent.md +5 -2
- package/docs/json/EclSiteHeaderBannerTopComponent.md +5 -2
- package/docs/json/EclSiteHeaderComponent.md +3 -2
- package/docs/json/EclSiteHeaderCtaDirective.md +5 -2
- package/docs/json/EclSiteHeaderCustomActionComponent.md +3 -2
- package/docs/json/EclSiteHeaderCustomActionContentDirective.md +5 -2
- package/docs/json/EclSiteHeaderCustomActionLinkDirective.md +3 -2
- package/docs/json/EclSiteHeaderCustomActionTitleDirective.md +5 -2
- package/docs/json/EclSiteHeaderEnvironmentComponent.md +5 -2
- package/docs/json/EclSiteHeaderImageDirective.md +5 -2
- package/docs/json/EclSiteHeaderLanguageComponent.md +3 -2
- package/docs/json/EclSiteHeaderLanguagePopoverComponent.md +3 -2
- package/docs/json/EclSiteHeaderLinkDirective.md +5 -2
- package/docs/json/EclSiteHeaderLoginComponent.md +3 -2
- package/docs/json/EclSiteHeaderLoginDescriptionDirective.md +5 -2
- package/docs/json/EclSiteHeaderLoginSeparatorDirective.md +5 -2
- package/docs/json/EclSiteHeaderNotificationComponent.md +5 -2
- package/docs/json/EclSiteHeaderPictureDirective.md +5 -2
- package/docs/json/EclSiteHeaderSearchComponent.md +3 -2
- package/docs/json/EclSloganTickerComponent.md +5 -2
- package/docs/json/EclSocialMediaFollowComponent.md +5 -2
- package/docs/json/EclSocialMediaFollowItemComponent.md +3 -2
- package/docs/json/EclSocialMediaFollowLinkDirective.md +5 -2
- package/docs/json/EclSplashPageComponent.md +5 -2
- package/docs/json/EclSplashPageLanguageCategoryComponent.md +5 -2
- package/docs/json/EclSplashPageLanguageContainerComponent.md +5 -2
- package/docs/json/EclSplashPageLanguageItemDirective.md +5 -2
- package/docs/json/EclSplashPageLanguageLinkComponent.md +5 -2
- package/docs/json/EclSplashPageLanguageListDirective.md +5 -2
- package/docs/json/EclSplashPageLogoImageDirective.md +5 -2
- package/docs/json/EclSplashPageLogoLinkDirective.md +5 -2
- package/docs/json/EclSplashPagePictureDirective.md +5 -2
- package/docs/json/EclSpotlightComponent.md +5 -2
- package/docs/json/EclSpotlightImageDirective.md +5 -2
- package/docs/json/EclSpotlightLinkComponent.md +5 -2
- package/docs/json/EclSpotlightPictureDirective.md +5 -2
- package/docs/json/EclStickyContainerComponent.md +7 -4
- package/docs/json/EclStoryCardComponent.md +3 -2
- package/docs/json/EclStoryCardGridDetailsComponent.md +5 -2
- package/docs/json/EclStoryCardItemComponent.md +3 -2
- package/docs/json/EclStoryCardLinkDirective.md +5 -2
- package/docs/json/EclStoryCardListDirective.md +5 -2
- package/docs/json/EclStoryCardPictureDirective.md +5 -2
- package/docs/json/EclTabComponent.md +5 -4
- package/docs/json/EclTabLabelComponent.md +5 -2
- package/docs/json/EclTableBodyDirective.md +7 -2
- package/docs/json/EclTableCaptionDirective.md +7 -2
- package/docs/json/EclTableCellDirective.md +7 -2
- package/docs/json/EclTableCellGroupDirective.md +7 -2
- package/docs/json/EclTableDirective.md +5 -4
- package/docs/json/EclTableHeadDirective.md +5 -2
- package/docs/json/EclTableHeaderDirective.md +9 -5
- package/docs/json/EclTableResponsiveDirective.md +7 -2
- package/docs/json/EclTableRowDirective.md +7 -2
- package/docs/json/EclTableSortButtonComponent.md +5 -2
- package/docs/json/EclTabsComponent.md +3 -2
- package/docs/json/EclTagComponent.md +3 -2
- package/docs/json/EclTagIconExternalDirective.md +5 -2
- package/docs/json/EclTagSetDirective.md +5 -2
- package/docs/json/EclTagSetItemDirective.md +5 -2
- package/docs/json/EclTextAreaDirective.md +5 -2
- package/docs/json/EclTextInputDirective.md +5 -2
- package/docs/json/EclTextMediaComponent.md +5 -2
- package/docs/json/EclTimelineComponent.md +5 -2
- package/docs/json/EclTimelineItemComponent.md +3 -2
- package/docs/json/EclTimelineItemLabelDirective.md +5 -2
- package/docs/json/EclTimelineItemTitleDirective.md +5 -2
- package/docs/json/EclTimelineItemTogglerComponent.md +3 -2
- package/docs/json/EclTimelineSetDirective.md +5 -2
- package/docs/json/EclUnorderedListDirective.md +5 -2
- package/docs/json/EclUnorderedListItemDirective.md +5 -2
- package/docs/json/documentation.json +15953 -6451
- package/docs/llms.txt +1633 -931
- package/docs/properties.html +1 -1
- package/fesm2022/eui-ecl-components-ecl-banner.mjs +1 -1
- package/fesm2022/eui-ecl-components-ecl-banner.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-breadcrumb.mjs +14 -3
- package/fesm2022/eui-ecl-components-ecl-breadcrumb.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-content-item.mjs +2 -2
- package/fesm2022/eui-ecl-components-ecl-content-item.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-expandable.mjs +22 -20
- package/fesm2022/eui-ecl-components-ecl-expandable.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-fact-figures.mjs +2 -2
- package/fesm2022/eui-ecl-components-ecl-fact-figures.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-featured.mjs +1 -1
- package/fesm2022/eui-ecl-components-ecl-featured.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-media-container.mjs +1 -1
- package/fesm2022/eui-ecl-components-ecl-media-container.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs +2 -2
- package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-menu.mjs +2 -2
- package/fesm2022/eui-ecl-components-ecl-menu.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-modal.mjs +1 -1
- package/fesm2022/eui-ecl-components-ecl-modal.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-multiselect.mjs +2 -2
- package/fesm2022/eui-ecl-components-ecl-multiselect.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-navigation-list.mjs +1 -1
- package/fesm2022/eui-ecl-components-ecl-navigation-list.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-news-ticker.mjs +9 -4
- package/fesm2022/eui-ecl-components-ecl-news-ticker.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-notification.mjs +1 -1
- package/fesm2022/eui-ecl-components-ecl-notification.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-page-header.mjs +2 -2
- package/fesm2022/eui-ecl-components-ecl-page-header.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-rating-field.mjs +17 -9
- package/fesm2022/eui-ecl-components-ecl-rating-field.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-site-footer.mjs +2 -2
- package/fesm2022/eui-ecl-components-ecl-site-footer.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-splash-page.mjs +67 -86
- package/fesm2022/eui-ecl-components-ecl-splash-page.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-spotlight.mjs +21 -37
- package/fesm2022/eui-ecl-components-ecl-spotlight.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-sticky-container.mjs +10 -15
- package/fesm2022/eui-ecl-components-ecl-sticky-container.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-story-card.mjs +13 -18
- package/fesm2022/eui-ecl-components-ecl-story-card.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-table.mjs +195 -209
- package/fesm2022/eui-ecl-components-ecl-table.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-tabs.mjs +213 -261
- package/fesm2022/eui-ecl-components-ecl-tabs.mjs.map +1 -1
- package/fesm2022/eui-ecl-core.mjs +15 -17
- package/fesm2022/eui-ecl-core.mjs.map +1 -1
- package/package.json +1 -1
- package/types/eui-ecl-components-ecl-breadcrumb.d.ts +10 -1
- package/types/eui-ecl-components-ecl-breadcrumb.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-expandable.d.ts +14 -10
- package/types/eui-ecl-components-ecl-expandable.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-news-ticker.d.ts +1 -0
- package/types/eui-ecl-components-ecl-news-ticker.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-rating-field.d.ts +10 -2
- package/types/eui-ecl-components-ecl-rating-field.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-splash-page.d.ts +4 -17
- package/types/eui-ecl-components-ecl-splash-page.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-spotlight.d.ts +0 -8
- package/types/eui-ecl-components-ecl-spotlight.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-sticky-container.d.ts +4 -4
- package/types/eui-ecl-components-ecl-sticky-container.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-story-card.d.ts +7 -7
- package/types/eui-ecl-components-ecl-story-card.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-table.d.ts +85 -53
- package/types/eui-ecl-components-ecl-table.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-tabs.d.ts +90 -120
- package/types/eui-ecl-components-ecl-tabs.d.ts.map +1 -1
- package/types/eui-ecl-core.d.ts +4 -5
- package/types/eui-ecl-core.d.ts.map +1 -1
package/docs/properties.html
CHANGED
|
@@ -219,7 +219,7 @@ class EclBannerComponent extends ECLBaseDirective {
|
|
|
219
219
|
const eclLinkComponents = this.eclLinkComponents();
|
|
220
220
|
if (eclLinkComponents) {
|
|
221
221
|
eclLinkComponents.forEach((link) => {
|
|
222
|
-
link.class
|
|
222
|
+
link.class.set('ecl-banner__link-cta');
|
|
223
223
|
});
|
|
224
224
|
}
|
|
225
225
|
if (this.hasVideo) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-ecl-components-ecl-banner.mjs","sources":["../../components/ecl-banner/ecl-banner-picture.directive.ts","../../components/ecl-banner/ecl-banner-video.directive.ts","../../components/ecl-banner/ecl-banner.component.ts","../../components/ecl-banner/ecl-banner.component.html","../../components/ecl-banner/ecl-banner-title.directive.ts","../../components/ecl-banner/ecl-banner-description.directive.ts","../../components/ecl-banner/index.ts","../../components/ecl-banner/eui-ecl-components-ecl-banner.ts"],"sourcesContent":["import { Directive, HostBinding, ElementRef, inject, input, computed } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive applied to the <picture> element within the banner.\n * Adds the appropriate classes for styling the banner picture.\n */\n@Directive({\n selector: 'picture[eclBannerPicture]',\n})\nexport class EclBannerPictureDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-picture ecl-banner__picture')].join(' ').trim();\n }\n}\n\n/**\n * Directive applied to the <img> element inside the banner.\n * Enables class binding and exposes the element reference.\n *\n * Use the `eclImageAnchor` input to set the CSS custom property `--ecl-image-anchor`\n * which controls the focal point of the image.\n *\n * @example\n * <img eclBannerImage eclImageAnchor=\"center\" />\n */\n@Directive({\n selector: 'img[eclBannerImage]',\n host: {\n class: 'ecl-banner__image',\n '[style.--ecl-image-anchor]': 'cssAnchor()',\n },\n})\nexport class EclBannerImageDirective extends ECLBaseDirective {\n el = inject(ElementRef);\n\n /**\n * Sets the image anchor point via the `--ecl-image-anchor` CSS custom property.\n * Accepts values 'center', 'top left', 'bottom right', '20% 20%'.\n */\n eclImageAnchor = input<'center' | 'top left' | 'bottom right' | '20% 20%'>();\n\n readonly cssAnchor = computed(() => {\n const value = this.eclImageAnchor();\n return value || null;\n });\n}\n","import { Directive, HostBinding, ElementRef, inject } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive applied to the video element used in the banner.\n * Adds appropriate styling classes to the host element.\n */\n@Directive({\n selector: 'video[eclBannerVideo]',\n})\nexport class EclBannerVideoDirective extends ECLBaseDirective {\n el = inject(ElementRef);\n\n /**\n * CSS classes applied to the host video element.\n */\n @HostBinding('class') videoClasses = 'ecl-video ecl-banner__video';\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n AfterContentInit,\n Component,\n DOCUMENT,\n ElementRef,\n HostBinding,\n OnDestroy,\n Renderer2,\n afterNextRender,\n booleanAttribute,\n forwardRef,\n inject,\n input,\n signal,\n contentChildren,\n contentChild,\n viewChild,\n} from '@angular/core';\nimport { EuiAppShellService } from '@eui/core';\nimport { EUI_ECL_BUTTON, EclButtonComponent } from '@eui/ecl/components/ecl-button';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\nimport { EclLinkDirective } from '@eui/ecl/components/ecl-link';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { Subject, debounceTime, delay, distinctUntilChanged, fromEvent, map, takeUntil } from 'rxjs';\nimport { EclBannerImageDirective } from './ecl-banner-picture.directive';\nimport { EclBannerVideoDirective } from './ecl-banner-video.directive';\n\nconst enum DefaultRatio {\n XS = '6/1',\n S = '5/1',\n M = '4/1',\n L = '3/1',\n}\n\n/**\n * Component representing a banner, which can contain image, video and call-to-action (CTA) links.\n * Allows customization of layout, alignment, and appearance through inputs.\n */\n@Component({\n selector: 'ecl-banner',\n templateUrl: './ecl-banner.component.html',\n imports: [\n ...EUI_ECL_ICON,\n ...EUI_ECL_BUTTON,\n NgTemplateOutlet,\n ],\n})\nexport class EclBannerComponent extends ECLBaseDirective implements AfterContentInit, OnDestroy {\n el = inject(ElementRef);\n /**\n * Defines the size of the banner. Affects its height-to-width aspect ratio.\n * Allowed values: 'xs' | 's' | 'm' | 'l'.\n * Default: 'm'.\n */\n readonly eclSize = input<'xs' | 's' | 'm' | 'l' | string>('m');\n\n /**\n * Defines the color of the font inside the banner content box.\n * Allowed values: 'light' | 'dark'.\n * Default: 'dark'.\n */\n readonly fontColor = input<'light' | 'dark' | string>('dark');\n\n /**\n * Defines the font size inside the banner content box.\n * Allowed values: 'm' | 'l'.\n * Default: 'm'.\n */\n readonly fontSize = input<'s' | 'm' | 'l' | string>('m');\n\n fontWeight = input<'light' | 'bold'>('light');\n\n /**\n * Defines the background color of the banner content box.\n * Allowed values: 'none' | 'light' | 'dark'.\n * Default: 'light'.\n */\n readonly boxBackground = input<'none' | 'light' | 'dark' | string>('light');\n\n /**\n * Sets the horizontal alignment of the content inside the banner.\n * Allowed values: 'left' | 'center' | 'right'.\n * Default: 'left'.\n */\n readonly horizontalAlignment = input<'right' | 'left' | 'center' | string>('left');\n\n /**\n * Sets the vertical alignment of the content inside the banner.\n * Allowed values: 'top' | 'center' | 'bottom'.\n * Default: 'center'.\n */\n readonly verticalAlignment = input<'top' | 'center' | 'bottom' | string>('center');\n\n /**\n * Sets the copyright text displayed in the banner.\n */\n readonly copyright = input('');\n\n /**\n * When true, the banner stretches to full width of its container.\n * Default: false.\n */\n readonly isFullWidth = input(false, { transform: booleanAttribute });\n\n hasOverlay = input(false, { transform: booleanAttribute });\n\n readonly eclLinkComponents = contentChildren(forwardRef(() => EclLinkDirective));\n readonly eclBannerImage = contentChild(EclBannerImageDirective);\n readonly eclBannerVideo = contentChild(EclBannerVideoDirective);\n\n readonly bannerFooter = viewChild<ElementRef>('bannerFooter');\n readonly bannerContainer = viewChild<ElementRef>('bannerContainer');\n readonly playBtn = viewChild<EclButtonComponent>('playBtn');\n readonly pauseBtn = viewChild<EclButtonComponent>('pauseBtn');\n\n @HostBinding('style.--banner-footer-height.px') bannerFooterHeight = null;\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-banner'),\n `ecl-banner--${this.eclSize()}`,\n `ecl-banner--font-${this.fontSize()}`,\n `ecl-banner--box-bg-${this.boxBackground()}`,\n `ecl-banner--h-${this.horizontalAlignment()}`,\n `ecl-banner--v-${this.verticalAlignment()}`,\n `ecl-banner--color-${this.fontColor()}`,\n `ecl-banner--font-weight-${this.fontWeight()}`,\n this.isFullWidth() ? 'ecl-banner--full-width' : '',\n !this.hasMedia ? 'ecl-banner--no-media' : '',\n this.hasOverlay() ? 'ecl-banner--overlay' : '',\n ]\n .join(' ')\n .trim();\n }\n\n /**\n * When true, the banner's own height management is disabled.\n * Used by the carousel to prevent height conflicts.\n */\n skipHeightManagement = false;\n isPlaying = signal(true);\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private breakpoint = 996;\n private bannerVPadding = 8;\n private readonly TIMEOUT_INTERVAL = 200;\n private renderer = inject(Renderer2);\n private appShell = inject(EuiAppShellService);\n private maxIterations = 10;\n private readonly document = inject<Document>(DOCUMENT);\n private readonly window = this.document.defaultView; // Window | null\n\n constructor() {\n super();\n afterNextRender(() => {\n this.observeBreakpointChanges();\n this.checkViewport();\n fromEvent(this.window, 'resize').pipe(\n debounceTime(this.TIMEOUT_INTERVAL),\n takeUntil(this.destroy$)).subscribe(() => {\n this.checkViewport();\n });\n });\n }\n\n ngAfterContentInit(): void {\n const eclLinkComponents = this.eclLinkComponents();\n if (eclLinkComponents) {\n eclLinkComponents.forEach((link) => {\n link.class = 'ecl-banner__link-cta';\n });\n }\n\n if (this.hasVideo) {\n const videoEl : HTMLVideoElement = this.eclBannerVideo().el.nativeElement;\n videoEl.addEventListener('play', () => {\n this.isPlaying.set(true);\n });\n videoEl.addEventListener('pause', () => {\n this.isPlaying.set(false);\n });\n this.renderer.setProperty(videoEl, 'muted', true);\n this.renderer.setProperty(videoEl, 'loop', true);\n this.renderer.setProperty(videoEl, 'autoplay', true);\n this.renderer.removeAttribute(videoEl, 'controls');\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n /**\n * Indicates whether the banner contains at least one call-to-action link.\n */\n get hasCtaLink(): boolean {\n return this.eclLinkComponents().length > 0;\n }\n\n /**\n * Indicates whether the banner contains an image.\n */\n get hasImage(): boolean {\n return !!this.eclBannerImage();\n }\n\n /**\n * Indicates whether the banner contains a video.\n */\n get hasVideo(): boolean {\n return !!this.eclBannerVideo();\n }\n\n /**\n * Indicates whether the banner contains any media (image or video).\n */\n get hasMedia(): boolean {\n return this.hasImage || this.hasVideo;\n }\n\n /**\n * Handles keyboard activation (Enter key) to play video.\n * Moves focus to pause button after playing starts.\n */\n onKeydownEnterPlay(): void {\n this.onVideoPlay();\n setTimeout(() => this.pauseBtn().onFocus());\n }\n\n /**\n * Handles keyboard activation (Enter key) to pause video.\n * Moves focus to play button after pausing.\n */\n onKeydownEnterPause(): void {\n this.onVideoPause();\n setTimeout(() => this.playBtn().onFocus());\n }\n\n /**\n * Plays the embedded banner video.\n * Triggered via interaction (e.g., button).\n */\n onVideoPlay(): void {\n const videoEl : HTMLVideoElement = this.eclBannerVideo().el.nativeElement;\n videoEl.play();\n }\n\n /**\n * Pauses the embedded banner video.\n * Triggered via interaction (e.g., button).\n */\n onVideoPause(): void {\n const videoEl : HTMLVideoElement = this.eclBannerVideo().el.nativeElement;\n videoEl.pause();\n }\n\n /**\n * Triggers the banner's height calculation.\n * Used by the carousel to force height recalculation before measuring.\n */\n public calculateHeight(): void {\n if (window.innerWidth > this.breakpoint) {\n this.setBannerHeight();\n } else {\n this.resetBannerHeight();\n }\n }\n\n private checkViewport() {\n if (this.skipHeightManagement) return;\n this.calculateHeight();\n }\n\n private waitForAspectRatioToBeDefined(attemptCounter: number) {\n attemptCounter = attemptCounter + 1;\n const aspectRatio = window.getComputedStyle(this.el.nativeElement).getPropertyValue('--css-aspect-ratio');\n\n if (\n (typeof aspectRatio === 'undefined' || aspectRatio === '') &&\n this.maxIterations > attemptCounter\n ) {\n setTimeout(() => this.waitForAspectRatioToBeDefined(attemptCounter), 100);\n } else {\n this.setHeight(aspectRatio || this.getDefaultRatio());\n }\n }\n\n private setBannerHeight(): void {\n if (this.hasMedia) {\n const aspectRatio = window.getComputedStyle(this.el.nativeElement).getPropertyValue('--css-aspect-ratio');\n if (aspectRatio) {\n this.setHeight(aspectRatio);\n } else {\n this.waitForAspectRatioToBeDefined(0);\n }\n } else {\n this.setHeight(this.getDefaultRatio());\n }\n }\n\n private setHeight(ratio: string) {\n const bannerContainer = this.bannerContainer();\n if (bannerContainer) {\n const bannerHeight = bannerContainer.nativeElement.offsetHeight + 2*this.bannerVPadding;\n const bannerWidth = parseInt(window.getComputedStyle(this.el.nativeElement).getPropertyValue('width'), 10);\n const [denominator, numerator] = ratio.split('/').map(Number);\n const currentHeight = (bannerWidth * numerator) / denominator;\n if (bannerHeight > currentHeight) {\n this.renderer.setStyle(this.el.nativeElement, 'aspect-ratio', 'auto');\n this.renderer.setStyle(this.el.nativeElement, 'height', `${bannerHeight}px`);\n } else {\n this.resetBannerHeight();\n }\n }\n\n // Add margin to the banner container when there is a footer\n // This is needed to keep the vertical alignment\n const bannerFooter = this.bannerFooter();\n if (bannerFooter) {\n this.bannerFooterHeight = bannerFooter.nativeElement.offsetHeight;\n }\n }\n\n private resetBannerHeight(): void {\n // remove aspect-ratio\n this.renderer.removeStyle(this.el.nativeElement, 'aspect-ratio');\n\n // set height to auto\n this.renderer.setStyle(this.el.nativeElement, 'height', 'auto');\n\n // update footer height if bannerFooter exists\n const bannerFooter = this.bannerFooter();\n if (bannerFooter) {\n this.bannerFooterHeight = bannerFooter.nativeElement.offsetHeight;\n }\n }\n\n private getDefaultRatio(): string {\n switch(this.eclSize()) {\n case 'xs': {\n return DefaultRatio.XS;\n }\n case 's': {\n return DefaultRatio.S;\n }\n case 'l': {\n return DefaultRatio.L;\n }\n default: {\n return DefaultRatio.M;\n }\n }\n }\n\n private observeBreakpointChanges(): void {\n this.appShell.getState<any>('breakpoints')\n .pipe(\n map(bp => !!(bp?.isMobile || bp?.isTablet)), // xs/sm/md (< 996px)\n distinctUntilChanged(),\n delay(this.TIMEOUT_INTERVAL),\n takeUntil(this.destroy$),\n )\n .subscribe((isBelowLg) => {\n if (!isBelowLg && !this.skipHeightManagement) {\n this.setBannerHeight();\n }\n });\n }\n}\n","@if(hasImage) {\n<figure class=\"ecl-banner__picture-container\">\n <ng-content select=\"[eclBannerPicture]\"></ng-content>\n @if(copyright()) {\n <ng-container *ngTemplateOutlet=\"bannerFooterTemplate\"></ng-container>\n }\n</figure>\n}\n\n@if(hasVideo) {\n<div class=\"ecl-banner__video-container\">\n <ng-content select=\"[eclBannerVideo]\"></ng-content>\n @if(copyright()) {\n <ng-container *ngTemplateOutlet=\"bannerFooterTemplate\"></ng-container>\n }\n <button #playBtn eclButton variant=\"tertiary\" isIconOnly class=\"ecl-banner__play\" (click)=\"onVideoPlay()\"\n [style.display]=\"isPlaying() ? 'none' : 'flex'\" (keydown.enter)=\"onKeydownEnterPlay()\">\n <span eclButtonLabel>Play video</span>\n <ecl-icon icon=\"play-outline\" size=\"m\"></ecl-icon>\n </button>\n <button #pauseBtn eclButton variant=\"tertiary\" isIconOnly class=\"ecl-banner__pause\" (click)=\"onVideoPause()\"\n [style.display]=\"isPlaying() ? 'flex' : 'none'\" (keydown.enter)=\"onKeydownEnterPause()\">\n <span eclButtonLabel>Pause video</span>\n <ecl-icon icon=\"pause-outline\" size=\"m\"></ecl-icon>\n </button>\n</div>\n}\n<div class=\"ecl-container ecl-banner__info\">\n <div #bannerContainer class=\"ecl-banner__container \">\n <div class=\"ecl-banner__content\">\n <ng-content select=\"[eclBannerTitle]\"></ng-content>\n <ng-content select=\"[eclBannerDescription]\"></ng-content>\n @if (hasCtaLink) {\n <div class=\"ecl-banner__cta\">\n <ng-content select=\"[eclLink]\"></ng-content>\n </div>\n }\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n\n<ng-template #bannerFooterTemplate>\n <footer #bannerFooter class=\"ecl-banner__credit\"><div class=\"ecl-container\">© {{copyright()}}</div></footer>\n</ng-template>","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive applied to the banner title container element.\n * Adds appropriate styling class to the host element.\n */\n@Directive({\n selector: '[eclBannerTitle]',\n})\nexport class EclBannerTitleDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-banner__title';\n}\n\n/**\n * Directive applied to the text element within the banner title.\n * Adds appropriate styling class to the host element.\n */\n@Directive({\n selector: '[eclBannerTitleText]',\n})\nexport class EclBannerTitleTextDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-banner__title-text';\n}\n\n/**\n * Directive applied to the link element within the banner title.\n * Adds link classes and marks the link as standalone.\n */\n@Directive({\n selector: '[eclBannerTitleLink]',\n})\nexport class EclBannerTitleLinkDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-link ecl-banner__title-link';\n}\n","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive for the main banner description container.\n */\n@Directive({\n selector: '[eclBannerDescription]',\n})\nexport class EclBannerDescriptionDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-banner__description';\n}\n\n/**\n * Directive for the textual content inside the banner description.\n */\n@Directive({\n selector: '[eclBannerDescriptionText]',\n})\nexport class EclBannerDescriptionTextDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-banner__description-text';\n}\n\n/**\n * Directive for a link inside the banner description.\n * Adds link classes and marks the link as standalone.\n */\n@Directive({\n selector: '[eclBannerDescriptionLink]',\n})\nexport class EclBannerDescriptionLinkDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-link ecl-banner__description-link';\n}\n","import { EclBannerComponent } from './ecl-banner.component';\nimport { EclBannerTitleDirective, EclBannerTitleTextDirective, EclBannerTitleLinkDirective } from './ecl-banner-title.directive';\nimport { EclBannerDescriptionDirective, EclBannerDescriptionTextDirective, EclBannerDescriptionLinkDirective } from './ecl-banner-description.directive';\nimport { EclBannerImageDirective, EclBannerPictureDirective } from './ecl-banner-picture.directive';\nimport { EclBannerVideoDirective } from './ecl-banner-video.directive';\n\nexport * from './ecl-banner.component';\nexport * from './ecl-banner-title.directive';\nexport * from './ecl-banner-description.directive';\nexport * from './ecl-banner-picture.directive';\nexport * from './ecl-banner-video.directive';\n\nexport const EUI_ECL_BANNER = [\n EclBannerComponent,\n EclBannerTitleDirective,\n EclBannerTitleTextDirective,\n EclBannerTitleLinkDirective,\n EclBannerDescriptionDirective,\n EclBannerDescriptionTextDirective,\n EclBannerDescriptionLinkDirective,\n EclBannerPictureDirective,\n EclBannerImageDirective,\n EclBannerVideoDirective,\n] as const;\n","/**\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-banner.mjs","sources":["../../components/ecl-banner/ecl-banner-picture.directive.ts","../../components/ecl-banner/ecl-banner-video.directive.ts","../../components/ecl-banner/ecl-banner.component.ts","../../components/ecl-banner/ecl-banner.component.html","../../components/ecl-banner/ecl-banner-title.directive.ts","../../components/ecl-banner/ecl-banner-description.directive.ts","../../components/ecl-banner/index.ts","../../components/ecl-banner/eui-ecl-components-ecl-banner.ts"],"sourcesContent":["import { Directive, HostBinding, ElementRef, inject, input, computed } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive applied to the <picture> element within the banner.\n * Adds the appropriate classes for styling the banner picture.\n */\n@Directive({\n selector: 'picture[eclBannerPicture]',\n})\nexport class EclBannerPictureDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-picture ecl-banner__picture')].join(' ').trim();\n }\n}\n\n/**\n * Directive applied to the <img> element inside the banner.\n * Enables class binding and exposes the element reference.\n *\n * Use the `eclImageAnchor` input to set the CSS custom property `--ecl-image-anchor`\n * which controls the focal point of the image.\n *\n * @example\n * <img eclBannerImage eclImageAnchor=\"center\" />\n */\n@Directive({\n selector: 'img[eclBannerImage]',\n host: {\n class: 'ecl-banner__image',\n '[style.--ecl-image-anchor]': 'cssAnchor()',\n },\n})\nexport class EclBannerImageDirective extends ECLBaseDirective {\n el = inject(ElementRef);\n\n /**\n * Sets the image anchor point via the `--ecl-image-anchor` CSS custom property.\n * Accepts values 'center', 'top left', 'bottom right', '20% 20%'.\n */\n eclImageAnchor = input<'center' | 'top left' | 'bottom right' | '20% 20%'>();\n\n readonly cssAnchor = computed(() => {\n const value = this.eclImageAnchor();\n return value || null;\n });\n}\n","import { Directive, HostBinding, ElementRef, inject } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive applied to the video element used in the banner.\n * Adds appropriate styling classes to the host element.\n */\n@Directive({\n selector: 'video[eclBannerVideo]',\n})\nexport class EclBannerVideoDirective extends ECLBaseDirective {\n el = inject(ElementRef);\n\n /**\n * CSS classes applied to the host video element.\n */\n @HostBinding('class') videoClasses = 'ecl-video ecl-banner__video';\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n AfterContentInit,\n Component,\n DOCUMENT,\n ElementRef,\n HostBinding,\n OnDestroy,\n Renderer2,\n afterNextRender,\n booleanAttribute,\n forwardRef,\n inject,\n input,\n signal,\n contentChildren,\n contentChild,\n viewChild,\n} from '@angular/core';\nimport { EuiAppShellService } from '@eui/core';\nimport { EUI_ECL_BUTTON, EclButtonComponent } from '@eui/ecl/components/ecl-button';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\nimport { EclLinkDirective } from '@eui/ecl/components/ecl-link';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { Subject, debounceTime, delay, distinctUntilChanged, fromEvent, map, takeUntil } from 'rxjs';\nimport { EclBannerImageDirective } from './ecl-banner-picture.directive';\nimport { EclBannerVideoDirective } from './ecl-banner-video.directive';\n\nconst enum DefaultRatio {\n XS = '6/1',\n S = '5/1',\n M = '4/1',\n L = '3/1',\n}\n\n/**\n * Component representing a banner, which can contain image, video and call-to-action (CTA) links.\n * Allows customization of layout, alignment, and appearance through inputs.\n */\n@Component({\n selector: 'ecl-banner',\n templateUrl: './ecl-banner.component.html',\n imports: [\n ...EUI_ECL_ICON,\n ...EUI_ECL_BUTTON,\n NgTemplateOutlet,\n ],\n})\nexport class EclBannerComponent extends ECLBaseDirective implements AfterContentInit, OnDestroy {\n el = inject(ElementRef);\n /**\n * Defines the size of the banner. Affects its height-to-width aspect ratio.\n * Allowed values: 'xs' | 's' | 'm' | 'l'.\n * Default: 'm'.\n */\n readonly eclSize = input<'xs' | 's' | 'm' | 'l' | string>('m');\n\n /**\n * Defines the color of the font inside the banner content box.\n * Allowed values: 'light' | 'dark'.\n * Default: 'dark'.\n */\n readonly fontColor = input<'light' | 'dark' | string>('dark');\n\n /**\n * Defines the font size inside the banner content box.\n * Allowed values: 'm' | 'l'.\n * Default: 'm'.\n */\n readonly fontSize = input<'s' | 'm' | 'l' | string>('m');\n\n fontWeight = input<'light' | 'bold'>('light');\n\n /**\n * Defines the background color of the banner content box.\n * Allowed values: 'none' | 'light' | 'dark'.\n * Default: 'light'.\n */\n readonly boxBackground = input<'none' | 'light' | 'dark' | string>('light');\n\n /**\n * Sets the horizontal alignment of the content inside the banner.\n * Allowed values: 'left' | 'center' | 'right'.\n * Default: 'left'.\n */\n readonly horizontalAlignment = input<'right' | 'left' | 'center' | string>('left');\n\n /**\n * Sets the vertical alignment of the content inside the banner.\n * Allowed values: 'top' | 'center' | 'bottom'.\n * Default: 'center'.\n */\n readonly verticalAlignment = input<'top' | 'center' | 'bottom' | string>('center');\n\n /**\n * Sets the copyright text displayed in the banner.\n */\n readonly copyright = input('');\n\n /**\n * When true, the banner stretches to full width of its container.\n * Default: false.\n */\n readonly isFullWidth = input(false, { transform: booleanAttribute });\n\n hasOverlay = input(false, { transform: booleanAttribute });\n\n readonly eclLinkComponents = contentChildren(forwardRef(() => EclLinkDirective));\n readonly eclBannerImage = contentChild(EclBannerImageDirective);\n readonly eclBannerVideo = contentChild(EclBannerVideoDirective);\n\n readonly bannerFooter = viewChild<ElementRef>('bannerFooter');\n readonly bannerContainer = viewChild<ElementRef>('bannerContainer');\n readonly playBtn = viewChild<EclButtonComponent>('playBtn');\n readonly pauseBtn = viewChild<EclButtonComponent>('pauseBtn');\n\n @HostBinding('style.--banner-footer-height.px') bannerFooterHeight = null;\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-banner'),\n `ecl-banner--${this.eclSize()}`,\n `ecl-banner--font-${this.fontSize()}`,\n `ecl-banner--box-bg-${this.boxBackground()}`,\n `ecl-banner--h-${this.horizontalAlignment()}`,\n `ecl-banner--v-${this.verticalAlignment()}`,\n `ecl-banner--color-${this.fontColor()}`,\n `ecl-banner--font-weight-${this.fontWeight()}`,\n this.isFullWidth() ? 'ecl-banner--full-width' : '',\n !this.hasMedia ? 'ecl-banner--no-media' : '',\n this.hasOverlay() ? 'ecl-banner--overlay' : '',\n ]\n .join(' ')\n .trim();\n }\n\n /**\n * When true, the banner's own height management is disabled.\n * Used by the carousel to prevent height conflicts.\n */\n skipHeightManagement = false;\n isPlaying = signal(true);\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private breakpoint = 996;\n private bannerVPadding = 8;\n private readonly TIMEOUT_INTERVAL = 200;\n private renderer = inject(Renderer2);\n private appShell = inject(EuiAppShellService);\n private maxIterations = 10;\n private readonly document = inject<Document>(DOCUMENT);\n private readonly window = this.document.defaultView; // Window | null\n\n constructor() {\n super();\n afterNextRender(() => {\n this.observeBreakpointChanges();\n this.checkViewport();\n fromEvent(this.window, 'resize').pipe(\n debounceTime(this.TIMEOUT_INTERVAL),\n takeUntil(this.destroy$)).subscribe(() => {\n this.checkViewport();\n });\n });\n }\n\n ngAfterContentInit(): void {\n const eclLinkComponents = this.eclLinkComponents();\n if (eclLinkComponents) {\n eclLinkComponents.forEach((link) => {\n link.class.set('ecl-banner__link-cta');\n });\n }\n\n if (this.hasVideo) {\n const videoEl : HTMLVideoElement = this.eclBannerVideo().el.nativeElement;\n videoEl.addEventListener('play', () => {\n this.isPlaying.set(true);\n });\n videoEl.addEventListener('pause', () => {\n this.isPlaying.set(false);\n });\n this.renderer.setProperty(videoEl, 'muted', true);\n this.renderer.setProperty(videoEl, 'loop', true);\n this.renderer.setProperty(videoEl, 'autoplay', true);\n this.renderer.removeAttribute(videoEl, 'controls');\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n /**\n * Indicates whether the banner contains at least one call-to-action link.\n */\n get hasCtaLink(): boolean {\n return this.eclLinkComponents().length > 0;\n }\n\n /**\n * Indicates whether the banner contains an image.\n */\n get hasImage(): boolean {\n return !!this.eclBannerImage();\n }\n\n /**\n * Indicates whether the banner contains a video.\n */\n get hasVideo(): boolean {\n return !!this.eclBannerVideo();\n }\n\n /**\n * Indicates whether the banner contains any media (image or video).\n */\n get hasMedia(): boolean {\n return this.hasImage || this.hasVideo;\n }\n\n /**\n * Handles keyboard activation (Enter key) to play video.\n * Moves focus to pause button after playing starts.\n */\n onKeydownEnterPlay(): void {\n this.onVideoPlay();\n setTimeout(() => this.pauseBtn().onFocus());\n }\n\n /**\n * Handles keyboard activation (Enter key) to pause video.\n * Moves focus to play button after pausing.\n */\n onKeydownEnterPause(): void {\n this.onVideoPause();\n setTimeout(() => this.playBtn().onFocus());\n }\n\n /**\n * Plays the embedded banner video.\n * Triggered via interaction (e.g., button).\n */\n onVideoPlay(): void {\n const videoEl : HTMLVideoElement = this.eclBannerVideo().el.nativeElement;\n videoEl.play();\n }\n\n /**\n * Pauses the embedded banner video.\n * Triggered via interaction (e.g., button).\n */\n onVideoPause(): void {\n const videoEl : HTMLVideoElement = this.eclBannerVideo().el.nativeElement;\n videoEl.pause();\n }\n\n /**\n * Triggers the banner's height calculation.\n * Used by the carousel to force height recalculation before measuring.\n */\n public calculateHeight(): void {\n if (window.innerWidth > this.breakpoint) {\n this.setBannerHeight();\n } else {\n this.resetBannerHeight();\n }\n }\n\n private checkViewport() {\n if (this.skipHeightManagement) return;\n this.calculateHeight();\n }\n\n private waitForAspectRatioToBeDefined(attemptCounter: number) {\n attemptCounter = attemptCounter + 1;\n const aspectRatio = window.getComputedStyle(this.el.nativeElement).getPropertyValue('--css-aspect-ratio');\n\n if (\n (typeof aspectRatio === 'undefined' || aspectRatio === '') &&\n this.maxIterations > attemptCounter\n ) {\n setTimeout(() => this.waitForAspectRatioToBeDefined(attemptCounter), 100);\n } else {\n this.setHeight(aspectRatio || this.getDefaultRatio());\n }\n }\n\n private setBannerHeight(): void {\n if (this.hasMedia) {\n const aspectRatio = window.getComputedStyle(this.el.nativeElement).getPropertyValue('--css-aspect-ratio');\n if (aspectRatio) {\n this.setHeight(aspectRatio);\n } else {\n this.waitForAspectRatioToBeDefined(0);\n }\n } else {\n this.setHeight(this.getDefaultRatio());\n }\n }\n\n private setHeight(ratio: string) {\n const bannerContainer = this.bannerContainer();\n if (bannerContainer) {\n const bannerHeight = bannerContainer.nativeElement.offsetHeight + 2*this.bannerVPadding;\n const bannerWidth = parseInt(window.getComputedStyle(this.el.nativeElement).getPropertyValue('width'), 10);\n const [denominator, numerator] = ratio.split('/').map(Number);\n const currentHeight = (bannerWidth * numerator) / denominator;\n if (bannerHeight > currentHeight) {\n this.renderer.setStyle(this.el.nativeElement, 'aspect-ratio', 'auto');\n this.renderer.setStyle(this.el.nativeElement, 'height', `${bannerHeight}px`);\n } else {\n this.resetBannerHeight();\n }\n }\n\n // Add margin to the banner container when there is a footer\n // This is needed to keep the vertical alignment\n const bannerFooter = this.bannerFooter();\n if (bannerFooter) {\n this.bannerFooterHeight = bannerFooter.nativeElement.offsetHeight;\n }\n }\n\n private resetBannerHeight(): void {\n // remove aspect-ratio\n this.renderer.removeStyle(this.el.nativeElement, 'aspect-ratio');\n\n // set height to auto\n this.renderer.setStyle(this.el.nativeElement, 'height', 'auto');\n\n // update footer height if bannerFooter exists\n const bannerFooter = this.bannerFooter();\n if (bannerFooter) {\n this.bannerFooterHeight = bannerFooter.nativeElement.offsetHeight;\n }\n }\n\n private getDefaultRatio(): string {\n switch(this.eclSize()) {\n case 'xs': {\n return DefaultRatio.XS;\n }\n case 's': {\n return DefaultRatio.S;\n }\n case 'l': {\n return DefaultRatio.L;\n }\n default: {\n return DefaultRatio.M;\n }\n }\n }\n\n private observeBreakpointChanges(): void {\n this.appShell.getState<any>('breakpoints')\n .pipe(\n map(bp => !!(bp?.isMobile || bp?.isTablet)), // xs/sm/md (< 996px)\n distinctUntilChanged(),\n delay(this.TIMEOUT_INTERVAL),\n takeUntil(this.destroy$),\n )\n .subscribe((isBelowLg) => {\n if (!isBelowLg && !this.skipHeightManagement) {\n this.setBannerHeight();\n }\n });\n }\n}\n","@if(hasImage) {\n<figure class=\"ecl-banner__picture-container\">\n <ng-content select=\"[eclBannerPicture]\"></ng-content>\n @if(copyright()) {\n <ng-container *ngTemplateOutlet=\"bannerFooterTemplate\"></ng-container>\n }\n</figure>\n}\n\n@if(hasVideo) {\n<div class=\"ecl-banner__video-container\">\n <ng-content select=\"[eclBannerVideo]\"></ng-content>\n @if(copyright()) {\n <ng-container *ngTemplateOutlet=\"bannerFooterTemplate\"></ng-container>\n }\n <button #playBtn eclButton variant=\"tertiary\" isIconOnly class=\"ecl-banner__play\" (click)=\"onVideoPlay()\"\n [style.display]=\"isPlaying() ? 'none' : 'flex'\" (keydown.enter)=\"onKeydownEnterPlay()\">\n <span eclButtonLabel>Play video</span>\n <ecl-icon icon=\"play-outline\" size=\"m\"></ecl-icon>\n </button>\n <button #pauseBtn eclButton variant=\"tertiary\" isIconOnly class=\"ecl-banner__pause\" (click)=\"onVideoPause()\"\n [style.display]=\"isPlaying() ? 'flex' : 'none'\" (keydown.enter)=\"onKeydownEnterPause()\">\n <span eclButtonLabel>Pause video</span>\n <ecl-icon icon=\"pause-outline\" size=\"m\"></ecl-icon>\n </button>\n</div>\n}\n<div class=\"ecl-container ecl-banner__info\">\n <div #bannerContainer class=\"ecl-banner__container \">\n <div class=\"ecl-banner__content\">\n <ng-content select=\"[eclBannerTitle]\"></ng-content>\n <ng-content select=\"[eclBannerDescription]\"></ng-content>\n @if (hasCtaLink) {\n <div class=\"ecl-banner__cta\">\n <ng-content select=\"[eclLink]\"></ng-content>\n </div>\n }\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n\n<ng-template #bannerFooterTemplate>\n <footer #bannerFooter class=\"ecl-banner__credit\"><div class=\"ecl-container\">© {{copyright()}}</div></footer>\n</ng-template>","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive applied to the banner title container element.\n * Adds appropriate styling class to the host element.\n */\n@Directive({\n selector: '[eclBannerTitle]',\n})\nexport class EclBannerTitleDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-banner__title';\n}\n\n/**\n * Directive applied to the text element within the banner title.\n * Adds appropriate styling class to the host element.\n */\n@Directive({\n selector: '[eclBannerTitleText]',\n})\nexport class EclBannerTitleTextDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-banner__title-text';\n}\n\n/**\n * Directive applied to the link element within the banner title.\n * Adds link classes and marks the link as standalone.\n */\n@Directive({\n selector: '[eclBannerTitleLink]',\n})\nexport class EclBannerTitleLinkDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-link ecl-banner__title-link';\n}\n","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive for the main banner description container.\n */\n@Directive({\n selector: '[eclBannerDescription]',\n})\nexport class EclBannerDescriptionDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-banner__description';\n}\n\n/**\n * Directive for the textual content inside the banner description.\n */\n@Directive({\n selector: '[eclBannerDescriptionText]',\n})\nexport class EclBannerDescriptionTextDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-banner__description-text';\n}\n\n/**\n * Directive for a link inside the banner description.\n * Adds link classes and marks the link as standalone.\n */\n@Directive({\n selector: '[eclBannerDescriptionLink]',\n})\nexport class EclBannerDescriptionLinkDirective extends ECLBaseDirective {\n @HostBinding('class') className = 'ecl-link ecl-banner__description-link';\n}\n","import { EclBannerComponent } from './ecl-banner.component';\nimport { EclBannerTitleDirective, EclBannerTitleTextDirective, EclBannerTitleLinkDirective } from './ecl-banner-title.directive';\nimport { EclBannerDescriptionDirective, EclBannerDescriptionTextDirective, EclBannerDescriptionLinkDirective } from './ecl-banner-description.directive';\nimport { EclBannerImageDirective, EclBannerPictureDirective } from './ecl-banner-picture.directive';\nimport { EclBannerVideoDirective } from './ecl-banner-video.directive';\n\nexport * from './ecl-banner.component';\nexport * from './ecl-banner-title.directive';\nexport * from './ecl-banner-description.directive';\nexport * from './ecl-banner-picture.directive';\nexport * from './ecl-banner-video.directive';\n\nexport const EUI_ECL_BANNER = [\n EclBannerComponent,\n EclBannerTitleDirective,\n EclBannerTitleTextDirective,\n EclBannerTitleLinkDirective,\n EclBannerDescriptionDirective,\n EclBannerDescriptionTextDirective,\n EclBannerDescriptionLinkDirective,\n EclBannerPictureDirective,\n EclBannerImageDirective,\n EclBannerVideoDirective,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -156,6 +156,17 @@ class EclBreadcrumbComponent extends ECLBaseDirective {
|
|
|
156
156
|
* Expands all breadcrumb segments instead of collapsing them.
|
|
157
157
|
*/
|
|
158
158
|
this.isExpanded = input(false, { ...(ngDevMode ? { debugName: "isExpanded" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
159
|
+
/**
|
|
160
|
+
* Visible label for the ellipsis button. Defaults to the ellipsis character.
|
|
161
|
+
*/
|
|
162
|
+
this.ellipsisLabel = input('…', /* @ts-ignore */
|
|
163
|
+
...(ngDevMode ? [{ debugName: "ellipsisLabel" }] : /* istanbul ignore next */ []));
|
|
164
|
+
/**
|
|
165
|
+
* Accessible label for the ellipsis button. When not provided, falls back to the
|
|
166
|
+
* translated value of `ecl.breadcrumb.SHOW-MORE-ITEMS`.
|
|
167
|
+
*/
|
|
168
|
+
this.ellipsisAriaLabel = input(undefined, /* @ts-ignore */
|
|
169
|
+
...(ngDevMode ? [{ debugName: "ellipsisAriaLabel" }] : /* istanbul ignore next */ []));
|
|
159
170
|
/**
|
|
160
171
|
* ARIA label describing the breadcrumb purpose.
|
|
161
172
|
*/
|
|
@@ -407,15 +418,15 @@ class EclBreadcrumbComponent extends ECLBaseDirective {
|
|
|
407
418
|
return this.realSegments().length > 3;
|
|
408
419
|
}
|
|
409
420
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclBreadcrumbComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
410
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.1.2", type: EclBreadcrumbComponent, isStandalone: true, selector: "nav[eclBreadcrumb]", inputs: { isExpanded: { classPropertyName: "isExpanded", publicName: "isExpanded", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.aria-label": "ariaLabel()", "class": "cssClasses" } }, queries: [{ propertyName: "eclBreadcrumbContainer", first: true, predicate: EclBreadcrumbContainerDirective, descendants: true, read: ElementRef, isSignal: true }, { propertyName: "eclSegments", predicate: i0.forwardRef(() => EclBreadcrumbSegmentComponent), descendants: true, isSignal: true }], viewQueries: [{ propertyName: "eclEllipsisSegment", first: true, predicate: ["ellipsisSegment"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<li eclBreadcrumbSegment #ellipsisSegment>\n <button tabindex=\"0\" eclButton variant=\"tertiary\" size=\"m\" eclStyle=\"neutral\" class=\"ecl-breadcrumb__ellipsis\"\n [attr.aria-label]=\"'ecl.breadcrumb.SHOW-MORE-ITEMS' | translate\" (click)=\"onEllipsisSegmentClick()\">\n
|
|
421
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.1.2", type: EclBreadcrumbComponent, isStandalone: true, selector: "nav[eclBreadcrumb]", inputs: { isExpanded: { classPropertyName: "isExpanded", publicName: "isExpanded", isSignal: true, isRequired: false, transformFunction: null }, ellipsisLabel: { classPropertyName: "ellipsisLabel", publicName: "ellipsisLabel", isSignal: true, isRequired: false, transformFunction: null }, ellipsisAriaLabel: { classPropertyName: "ellipsisAriaLabel", publicName: "ellipsisAriaLabel", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.aria-label": "ariaLabel()", "class": "cssClasses" } }, queries: [{ propertyName: "eclBreadcrumbContainer", first: true, predicate: EclBreadcrumbContainerDirective, descendants: true, read: ElementRef, isSignal: true }, { propertyName: "eclSegments", predicate: i0.forwardRef(() => EclBreadcrumbSegmentComponent), descendants: true, isSignal: true }], viewQueries: [{ propertyName: "eclEllipsisSegment", first: true, predicate: ["ellipsisSegment"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<li eclBreadcrumbSegment #ellipsisSegment>\n <button tabindex=\"0\" eclButton variant=\"tertiary\" size=\"m\" eclStyle=\"neutral\" class=\"ecl-breadcrumb__ellipsis\"\n [attr.aria-label]=\"ellipsisAriaLabel() ?? ('ecl.breadcrumb.SHOW-MORE-ITEMS' | translate)\" (click)=\"onEllipsisSegmentClick()\">\n {{ ellipsisLabel() }}\n </button>\n</li>\n<ng-content></ng-content>\n", dependencies: [{ kind: "component", type: i1$1.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "eclStyle", "size", "containerStyleClass"] }, { kind: "component", type: EclBreadcrumbSegmentComponent, selector: "li[eclBreadcrumbSegment]", inputs: ["routerLink", "queryParams", "href", "queryParamsHandling", "isEllipsis", "isCurrentPage"], outputs: ["segmentClick"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
411
422
|
}
|
|
412
423
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclBreadcrumbComponent, decorators: [{
|
|
413
424
|
type: Component,
|
|
414
425
|
args: [{ selector: 'nav[eclBreadcrumb]', imports: [TranslatePipe, ...EUI_ECL_BUTTON, EclBreadcrumbSegmentComponent], host: {
|
|
415
426
|
'[attr.aria-label]': 'ariaLabel()',
|
|
416
427
|
'[class]': 'cssClasses',
|
|
417
|
-
}, template: "<li eclBreadcrumbSegment #ellipsisSegment>\n <button tabindex=\"0\" eclButton variant=\"tertiary\" size=\"m\" eclStyle=\"neutral\" class=\"ecl-breadcrumb__ellipsis\"\n [attr.aria-label]=\"'ecl.breadcrumb.SHOW-MORE-ITEMS' | translate\" (click)=\"onEllipsisSegmentClick()\">\n
|
|
418
|
-
}], ctorParameters: () => [], propDecorators: { isExpanded: [{ type: i0.Input, args: [{ isSignal: true, alias: "isExpanded", required: false }] }], eclEllipsisSegment: [{ type: i0.ViewChild, args: ['ellipsisSegment', { isSignal: true }] }], eclBreadcrumbContainer: [{ type: i0.ContentChild, args: [i0.forwardRef(() => EclBreadcrumbContainerDirective), { ...{ read: ElementRef }, isSignal: true }] }], eclSegments: [{ type: i0.ContentChildren, args: [forwardRef(() => EclBreadcrumbSegmentComponent), { ...{ descendants: true }, isSignal: true }] }] } });
|
|
428
|
+
}, template: "<li eclBreadcrumbSegment #ellipsisSegment>\n <button tabindex=\"0\" eclButton variant=\"tertiary\" size=\"m\" eclStyle=\"neutral\" class=\"ecl-breadcrumb__ellipsis\"\n [attr.aria-label]=\"ellipsisAriaLabel() ?? ('ecl.breadcrumb.SHOW-MORE-ITEMS' | translate)\" (click)=\"onEllipsisSegmentClick()\">\n {{ ellipsisLabel() }}\n </button>\n</li>\n<ng-content></ng-content>\n" }]
|
|
429
|
+
}], ctorParameters: () => [], propDecorators: { isExpanded: [{ type: i0.Input, args: [{ isSignal: true, alias: "isExpanded", required: false }] }], ellipsisLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ellipsisLabel", required: false }] }], ellipsisAriaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ellipsisAriaLabel", required: false }] }], eclEllipsisSegment: [{ type: i0.ViewChild, args: ['ellipsisSegment', { isSignal: true }] }], eclBreadcrumbContainer: [{ type: i0.ContentChild, args: [i0.forwardRef(() => EclBreadcrumbContainerDirective), { ...{ read: ElementRef }, isSignal: true }] }], eclSegments: [{ type: i0.ContentChildren, args: [forwardRef(() => EclBreadcrumbSegmentComponent), { ...{ descendants: true }, isSignal: true }] }] } });
|
|
419
430
|
|
|
420
431
|
const EUI_ECL_BREADCRUMB = [
|
|
421
432
|
EclBreadcrumbComponent, EclBreadcrumbSegmentComponent, EclBreadcrumbContainerDirective,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-ecl-components-ecl-breadcrumb.mjs","sources":["../../components/ecl-breadcrumb/ecl-breadcrumb-container.directive.ts","../../components/ecl-breadcrumb/events/ecl-breadcrumb-segment-click.event.ts","../../components/ecl-breadcrumb/ecl-breadcrumb-segment.component.ts","../../components/ecl-breadcrumb/ecl-breadcrumb-segment.component.html","../../components/ecl-breadcrumb/ecl-breadcrumb.component.ts","../../components/ecl-breadcrumb/ecl-breadcrumb.component.html","../../components/ecl-breadcrumb/index.ts","../../components/ecl-breadcrumb/eui-ecl-components-ecl-breadcrumb.ts"],"sourcesContent":["import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Used to wrap breadcrumb segments inside the breadcrumb component.\n */\n@Directive({\n selector: '[eclBreadcrumbContainer]',\n})\nexport class EclBreadcrumbContainerDirective extends ECLBaseDirective {\n\n /**\n * Adds breadcrumb container CSS class to the host element.\n */\n @HostBinding('class.ecl-breadcrumb__container') hasClass = true;\n}\n","import { EclBaseEvent } from '@eui/ecl/core';\n\n/**\n * Event emitted when a breadcrumb segment is clicked.\n */\nexport class EclBreadcrumbSegmentClickEvent extends EclBaseEvent {}\n","import {\n Component,\n ElementRef,\n HostBinding,\n input,\n output,\n ViewEncapsulation,\n booleanAttribute,\n inject,\n signal,\n} from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { Params, QueryParamsHandling, RouterLink, RouterLinkWithHref } from '@angular/router';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclBreadcrumbSegmentClickEvent } from './events/ecl-breadcrumb-segment-click.event';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\nimport { EUI_ECL_LINK } from '@eui/ecl/components/ecl-link';\n\n/**\n * Displays a single breadcrumb segment with optional navigation or ellipsis.\n */\n@Component({\n selector: 'li[eclBreadcrumbSegment]',\n templateUrl: './ecl-breadcrumb-segment.component.html',\n imports: [NgTemplateOutlet, RouterLink, RouterLinkWithHref, ...EUI_ECL_ICON, ...EUI_ECL_LINK],\n encapsulation: ViewEncapsulation.None,\n host: {\n '[attr.aria-current]': 'ariaCurrent'\n }\n})\nexport class EclBreadcrumbSegmentComponent extends ECLBaseDirective {\n el = inject(ElementRef);\n\n /**\n * Defines the tabindex attribute for accessibility.\n */\n @HostBinding('attr.tabindex') tabIndex = '-1';\n\n /**\n * Router link for navigation.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n routerLink = input<string | any[] | null>(null);\n\n /**\n * Query parameters used with routerLink.\n */\n queryParams = input<Params | null>(null);\n\n /**\n * Href used for standard navigation.\n */\n href = input('');\n\n /**\n * Strategy for handling existing query parameters during navigation.\n */\n queryParamsHandling = input<QueryParamsHandling>(null);\n\n /**\n * Displays the segment as an ellipsis instead of a link.\n */\n isEllipsis = input(false, { transform: booleanAttribute });\n\n /**\n * Highlights the segment as the current page.\n */\n isCurrentPage = input(false, { transform: booleanAttribute });\n\n /**\n * Hides the segment visually and from assistive technologies.\n */\n isHidden = signal(false);\n\n @HostBinding('attr.aria-hidden')\n get ariaHidden() {\n return this.isHidden();\n }\n\n /**\n * Emits when the segment is clicked.\n */\n segmentClick = output<EclBreadcrumbSegmentClickEvent>();\n\n get ariaCurrent() { return this.isCurrentPage() ? 'page' : null; }\n\n constructor() {\n super();\n const el = this.el;\n\n if (el.nativeElement.tagName.toLowerCase() === 'ecl-breadcrumb-segment') {\n console.warn('\"ecl-breadcrumb-segment\" selector is deprecated; use \"li[eclBreadcrumbSegment]\" instead.');\n }\n }\n\n /**\n * Computes the CSS classes applied to the segment.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-breadcrumb__segment'),\n this.isCurrentPage() ? 'ecl-breadcrumb__current-page' : '',\n this.isEllipsis() ? 'ecl-breadcrumb__segment--ellipsis' : '',\n ].join(' ').trim();\n }\n\n /**\n * Handles the click event on the segment.\n */\n onSegmentClick(evt: MouseEvent): void {\n this.segmentClick.emit(new EclBreadcrumbSegmentClickEvent());\n if (!this.href()) {\n evt.stopPropagation();\n }\n }\n}\n","@if (!isEllipsis()) {\n@if (!isCurrentPage() && href()) {\n<a [href]=\"href()\" (click)=\"onSegmentClick($event)\" class=\"ecl-breadcrumb__link ecl-link\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n}\n@if (!isCurrentPage() && !href()) {\n<a [routerLink]=\"routerLink()\" [queryParams]=\"queryParams()\" [queryParamsHandling]=\"queryParamsHandling()\"\n tabindex=\"0\" (click)=\"onSegmentClick($event)\" class=\"ecl-breadcrumb__link ecl-link\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n}\n} @else {\n<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n}\n\n@if (isCurrentPage()) {\n<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n} @else {\n<ecl-icon role=\"presentation\" icon=\"corner-arrow\" ariaHidden=\"true\" focusable=\"false\" size=\"fluid\"\n class=\"ecl-breadcrumb__icon\">\n</ecl-icon>\n}\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>","import { isPlatformBrowser } from '@angular/common';\nimport {\n AfterViewInit,\n booleanAttribute,\n Component,\n computed,\n contentChild,\n contentChildren,\n DOCUMENT,\n effect,\n ElementRef,\n forwardRef,\n inject,\n input,\n OnDestroy,\n PLATFORM_ID,\n Renderer2,\n signal,\n viewChild,\n} from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { EUI_ECL_BUTTON } from '@eui/ecl/components/ecl-button';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { TranslatePipe, TranslateService } from '@ngx-translate/core';\nimport { animationFrameScheduler, auditTime, fromEvent, observeOn, Subject, takeUntil } from 'rxjs';\nimport { EclBreadcrumbContainerDirective } from './ecl-breadcrumb-container.directive';\nimport { EclBreadcrumbSegmentComponent } from './ecl-breadcrumb-segment.component';\n\ninterface VisibilityMap {\n mode: string;\n isItemVisible: boolean[];\n}\n\n/**\n * Displays navigation segments and handles overflow with ellipsis.\n */\n@Component({\n selector: 'nav[eclBreadcrumb]',\n templateUrl: './ecl-breadcrumb.component.html',\n imports: [TranslatePipe, ...EUI_ECL_BUTTON, EclBreadcrumbSegmentComponent],\n host: {\n '[attr.aria-label]': 'ariaLabel()',\n '[class]': 'cssClasses',\n },\n})\nexport class EclBreadcrumbComponent extends ECLBaseDirective implements AfterViewInit, OnDestroy {\n /**\n * Expands all breadcrumb segments instead of collapsing them.\n */\n isExpanded = input(false, { transform: booleanAttribute });\n\n /**\n * ARIA label describing the breadcrumb purpose.\n */\n ariaLabel = toSignal(inject(TranslateService).stream('ecl.breadcrumb.YOU-ARE-HERE'));\n\n /**\n * Reference to the ellipsis segment element.\n */\n eclEllipsisSegment = viewChild<EclBreadcrumbSegmentComponent>('ellipsisSegment');\n\n /**\n * Reference to the breadcrumb container directive inside this component.\n */\n eclBreadcrumbContainer = contentChild(EclBreadcrumbContainerDirective, { read: ElementRef });\n\n /**\n * List of breadcrumb segment components.\n */\n eclSegments = contentChildren(forwardRef(() => EclBreadcrumbSegmentComponent), { descendants: true });\n\n private el = inject(ElementRef);\n private renderer = inject(Renderer2);\n private isExpandedState = signal(false);\n private staticItems = computed(() => {\n const items = this.realSegments();\n return items.filter((_, index) =>\n index === 0 || index === items.length - 2 || index === items.length - 1\n );\n });\n\n private expandableItems = computed(() => {\n const items = this.realSegments();\n return items.filter((_, index) =>\n index !== 0 && index !== items.length - 2 && index !== items.length - 1\n );\n });\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private readonly window = inject<Document>(DOCUMENT).defaultView; // Window | null\n private platformId = inject(PLATFORM_ID);\n private readonly breakpoint = 995;\n private readonly wrapperWidth = signal(0);\n private readonly windowWidth = signal(0);\n private readonly allItemsWidth = signal(0);\n private readonly incompressibleWidth = signal(0);\n private readonly expandableWidths = signal<number[]>([]);\n\n private readonly realSegments = computed(() => {\n const ellipsis = this.eclEllipsisSegment();\n return this.eclSegments()?.filter((segment) => segment !== ellipsis);\n });\n\n protected readonly visibilityMap = computed<VisibilityMap>(() => {\n const manuallyExpanded = this.isExpandedState();\n const wrapperWidth = this.wrapperWidth();\n const windowWidth = this.windowWidth();\n const allItemsWidth = this.allItemsWidth();\n const incompressibleWidth = this.incompressibleWidth();\n const expandableWidths = this.expandableWidths();\n\n if (manuallyExpanded) {\n return {\n mode: 'full',\n isItemVisible: expandableWidths.map(() => true),\n };\n }\n if (!wrapperWidth) {\n return {\n mode: 'full',\n isItemVisible: expandableWidths.map(() => true),\n };\n }\n\n if (!expandableWidths.length) {\n return {\n mode: 'full',\n isItemVisible: [],\n };\n }\n\n // Mobile mode: window is small, ECL CSS handles layout\n if (windowWidth <= this.breakpoint) {\n return {\n mode: 'compact',\n isItemVisible: expandableWidths.map(() => false),\n };\n }\n\n // Everything fits\n if (allItemsWidth * 1.1 <= wrapperWidth) {\n return {\n mode: 'full',\n isItemVisible: expandableWidths.map(() => true),\n };\n }\n\n // Even static + ellipsis do not fit\n if (incompressibleWidth >= wrapperWidth) {\n return {\n mode: 'collapsed',\n isItemVisible: expandableWidths.map(() => false),\n };\n }\n\n // Fit expandable items from right to left\n let usedWidth = 0;\n let canStillFit = true;\n\n const isItemVisible = [...expandableWidths]\n .reverse()\n .map((width) => {\n if (!canStillFit) {\n return false;\n }\n\n usedWidth += width;\n const fits = usedWidth + incompressibleWidth <= wrapperWidth;\n\n if (!fits) {\n canStillFit = false;\n }\n\n return fits;\n })\n .reverse();\n\n return {\n mode: 'collapsed',\n isItemVisible,\n };\n });\n\n\n /**\n * CSS classes applied to the breadcrumb element.\n */\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-breadcrumb'),\n ].join(' ').trim();\n }\n\n constructor() {\n super();\n effect(() => {\n if (!isPlatformBrowser(this.platformId)) return;\n\n const mode = this.visibilityMap().mode;\n const host = this.el?.nativeElement;\n if (!host) return;\n\n this.renderer.removeClass(host, 'ecl-breadcrumb--wrap');\n this.renderer.removeClass(host, 'ecl-breadcrumb--collapsed');\n\n if (mode === 'collapsed') {\n this.renderer.addClass(host, 'ecl-breadcrumb--collapsed');\n } else {\n this.renderer.addClass(host, 'ecl-breadcrumb--wrap');\n }\n });\n\n effect(() => {\n const expandableItems = this.expandableItems();\n const map = this.visibilityMap();\n const manuallyExpanded = this.isExpandedState();\n \n if (map.mode === 'full') {\n this.eclEllipsisSegment()?.isHidden.set(true);\n expandableItems.forEach((segment) => {\n segment.isHidden.set(false);\n });\n return;\n }\n if (map.mode === 'compact') {\n this.eclEllipsisSegment()?.isHidden.set(true);\n expandableItems.forEach((segment) => {\n segment.isHidden.set(true);\n });\n return;\n }\n // collapsed mode: show ellipsis, selectively show expandable items\n this.eclEllipsisSegment()?.isHidden.set(false);\n expandableItems.forEach((segment, index) => {\n const isVisible = map.isItemVisible[index] ?? false;\n segment.isHidden.set(!isVisible);\n });\n });\n }\n\n /**\n * Handles window resize and recalculates overflown segments.\n */\n ngAfterViewInit() {\n if (!isPlatformBrowser(this.platformId)) return;\n // Initial setup + first measurement after layout is ready\n animationFrameScheduler.schedule(() => {\n this.insertEllipsisSegmentIntoPosition();\n this.measureAll();\n });\n\n // Re-measure on resize after layout\n fromEvent(this.window, 'resize').pipe(\n auditTime(50), observeOn(animationFrameScheduler),\n takeUntil(this.destroy$)).subscribe(() => {\n this.measureAll();\n });\n }\n\n /**\n * Cleans up subscriptions on destroy.\n */\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n /**\n * Returns true if breadcrumb container directive exists.\n */\n hasContainer = computed(() => !!this.eclBreadcrumbContainer());\n\n /**\n * Expands hidden breadcrumb segments after clicking ellipsis.\n */\n onEllipsisSegmentClick(): void {\n this.eclEllipsisSegment().isHidden.set(true);\n this.isExpandedState.set(true);\n }\n\n private measureAll(): void {\n const host = this.el?.nativeElement;\n const ellipsis = this.eclEllipsisSegment()?.el.nativeElement;\n const staticItems = this.staticItems().map((x) => x.el.nativeElement);\n const expandableItems = this.expandableItems().map((x) => x.el.nativeElement);\n\n if (!host) return;\n\n const wrapperWidth = Math.floor(host.getBoundingClientRect().width);\n const windowWidth = this.window?.innerWidth ?? 0;\n const ellipsisWidth = ellipsis ? this.measureWidth(ellipsis) : 0;\n const staticWidths = staticItems.map((el) => this.measureWidth(el));\n const expandableWidths = expandableItems.map((el) => this.measureWidth(el));\n\n const allItemsWidth =\n ellipsisWidth +\n staticWidths.reduce((sum, w) => sum + w, 0) +\n expandableWidths.reduce((sum, w) => sum + w, 0);\n\n const incompressibleWidth =\n ellipsisWidth + staticWidths.reduce((sum, w) => sum + w, 0);\n\n this.windowWidth.set(windowWidth);\n this.wrapperWidth.set(wrapperWidth);\n this.expandableWidths.set(expandableWidths);\n this.allItemsWidth.set(allItemsWidth);\n this.incompressibleWidth.set(incompressibleWidth);\n }\n\n private measureWidth(el: HTMLElement): number {\n let width = el.getBoundingClientRect().width;\n\n if (width !== 0) {\n return width;\n }\n\n const previousCssText = el.style.cssText;\n const previousDisplay = el.style.display;\n\n el.style.display = 'inline-flex';\n width = el.getBoundingClientRect().width;\n\n el.style.cssText = previousCssText;\n if (!previousCssText) {\n el.style.display = previousDisplay;\n }\n\n return width;\n }\n\n private insertEllipsisSegmentIntoPosition(): void {\n if (this.hasEnoughSegments()) {\n const segments = this.realSegments();\n const secondEclSegmentEl: HTMLElement = segments[1].el.nativeElement;\n const ellipsisSegmentEl: HTMLElement = this.eclEllipsisSegment().el.nativeElement;\n if (this.hasContainer()) {\n this.renderer.insertBefore(this.eclBreadcrumbContainer()!.nativeElement, ellipsisSegmentEl, secondEclSegmentEl);\n }\n } else {\n // remove ellipsis\n this.renderer.removeChild(this.el.nativeElement, this.eclEllipsisSegment().el.nativeElement);\n }\n }\n\n private hasEnoughSegments(): boolean {\n return this.realSegments().length > 3;\n }\n}\n","<li eclBreadcrumbSegment #ellipsisSegment>\n <button tabindex=\"0\" eclButton variant=\"tertiary\" size=\"m\" eclStyle=\"neutral\" class=\"ecl-breadcrumb__ellipsis\"\n [attr.aria-label]=\"'ecl.breadcrumb.SHOW-MORE-ITEMS' | translate\" (click)=\"onEllipsisSegmentClick()\">\n ...\n </button>\n</li>\n<ng-content></ng-content>\n","import { EclBreadcrumbComponent } from './ecl-breadcrumb.component';\nimport { EclBreadcrumbSegmentComponent } from './ecl-breadcrumb-segment.component';\nimport { EclBreadcrumbContainerDirective } from './ecl-breadcrumb-container.directive';\n\nexport * from './ecl-breadcrumb.component';\nexport * from './ecl-breadcrumb-segment.component';\nexport * from './models/ecl-breadcrumb.model';\nexport * from './events/ecl-breadcrumb-segment-click.event';\nexport * from './ecl-breadcrumb-container.directive';\n\nexport const EUI_ECL_BREADCRUMB = [\n EclBreadcrumbComponent, EclBreadcrumbSegmentComponent, EclBreadcrumbContainerDirective,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"eui-ecl-components-ecl-breadcrumb.mjs","sources":["../../components/ecl-breadcrumb/ecl-breadcrumb-container.directive.ts","../../components/ecl-breadcrumb/events/ecl-breadcrumb-segment-click.event.ts","../../components/ecl-breadcrumb/ecl-breadcrumb-segment.component.ts","../../components/ecl-breadcrumb/ecl-breadcrumb-segment.component.html","../../components/ecl-breadcrumb/ecl-breadcrumb.component.ts","../../components/ecl-breadcrumb/ecl-breadcrumb.component.html","../../components/ecl-breadcrumb/index.ts","../../components/ecl-breadcrumb/eui-ecl-components-ecl-breadcrumb.ts"],"sourcesContent":["import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Used to wrap breadcrumb segments inside the breadcrumb component.\n */\n@Directive({\n selector: '[eclBreadcrumbContainer]',\n})\nexport class EclBreadcrumbContainerDirective extends ECLBaseDirective {\n\n /**\n * Adds breadcrumb container CSS class to the host element.\n */\n @HostBinding('class.ecl-breadcrumb__container') hasClass = true;\n}\n","import { EclBaseEvent } from '@eui/ecl/core';\n\n/**\n * Event emitted when a breadcrumb segment is clicked.\n */\nexport class EclBreadcrumbSegmentClickEvent extends EclBaseEvent {}\n","import {\n Component,\n ElementRef,\n HostBinding,\n input,\n output,\n ViewEncapsulation,\n booleanAttribute,\n inject,\n signal,\n} from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { Params, QueryParamsHandling, RouterLink, RouterLinkWithHref } from '@angular/router';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclBreadcrumbSegmentClickEvent } from './events/ecl-breadcrumb-segment-click.event';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\nimport { EUI_ECL_LINK } from '@eui/ecl/components/ecl-link';\n\n/**\n * Displays a single breadcrumb segment with optional navigation or ellipsis.\n */\n@Component({\n selector: 'li[eclBreadcrumbSegment]',\n templateUrl: './ecl-breadcrumb-segment.component.html',\n imports: [NgTemplateOutlet, RouterLink, RouterLinkWithHref, ...EUI_ECL_ICON, ...EUI_ECL_LINK],\n encapsulation: ViewEncapsulation.None,\n host: {\n '[attr.aria-current]': 'ariaCurrent'\n }\n})\nexport class EclBreadcrumbSegmentComponent extends ECLBaseDirective {\n el = inject(ElementRef);\n\n /**\n * Defines the tabindex attribute for accessibility.\n */\n @HostBinding('attr.tabindex') tabIndex = '-1';\n\n /**\n * Router link for navigation.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n routerLink = input<string | any[] | null>(null);\n\n /**\n * Query parameters used with routerLink.\n */\n queryParams = input<Params | null>(null);\n\n /**\n * Href used for standard navigation.\n */\n href = input('');\n\n /**\n * Strategy for handling existing query parameters during navigation.\n */\n queryParamsHandling = input<QueryParamsHandling>(null);\n\n /**\n * Displays the segment as an ellipsis instead of a link.\n */\n isEllipsis = input(false, { transform: booleanAttribute });\n\n /**\n * Highlights the segment as the current page.\n */\n isCurrentPage = input(false, { transform: booleanAttribute });\n\n /**\n * Hides the segment visually and from assistive technologies.\n */\n isHidden = signal(false);\n\n @HostBinding('attr.aria-hidden')\n get ariaHidden() {\n return this.isHidden();\n }\n\n /**\n * Emits when the segment is clicked.\n */\n segmentClick = output<EclBreadcrumbSegmentClickEvent>();\n\n get ariaCurrent() { return this.isCurrentPage() ? 'page' : null; }\n\n constructor() {\n super();\n const el = this.el;\n\n if (el.nativeElement.tagName.toLowerCase() === 'ecl-breadcrumb-segment') {\n console.warn('\"ecl-breadcrumb-segment\" selector is deprecated; use \"li[eclBreadcrumbSegment]\" instead.');\n }\n }\n\n /**\n * Computes the CSS classes applied to the segment.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-breadcrumb__segment'),\n this.isCurrentPage() ? 'ecl-breadcrumb__current-page' : '',\n this.isEllipsis() ? 'ecl-breadcrumb__segment--ellipsis' : '',\n ].join(' ').trim();\n }\n\n /**\n * Handles the click event on the segment.\n */\n onSegmentClick(evt: MouseEvent): void {\n this.segmentClick.emit(new EclBreadcrumbSegmentClickEvent());\n if (!this.href()) {\n evt.stopPropagation();\n }\n }\n}\n","@if (!isEllipsis()) {\n@if (!isCurrentPage() && href()) {\n<a [href]=\"href()\" (click)=\"onSegmentClick($event)\" class=\"ecl-breadcrumb__link ecl-link\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n}\n@if (!isCurrentPage() && !href()) {\n<a [routerLink]=\"routerLink()\" [queryParams]=\"queryParams()\" [queryParamsHandling]=\"queryParamsHandling()\"\n tabindex=\"0\" (click)=\"onSegmentClick($event)\" class=\"ecl-breadcrumb__link ecl-link\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n}\n} @else {\n<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n}\n\n@if (isCurrentPage()) {\n<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n} @else {\n<ecl-icon role=\"presentation\" icon=\"corner-arrow\" ariaHidden=\"true\" focusable=\"false\" size=\"fluid\"\n class=\"ecl-breadcrumb__icon\">\n</ecl-icon>\n}\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>","import { isPlatformBrowser } from '@angular/common';\nimport {\n AfterViewInit,\n booleanAttribute,\n Component,\n computed,\n contentChild,\n contentChildren,\n DOCUMENT,\n effect,\n ElementRef,\n forwardRef,\n inject,\n input,\n OnDestroy,\n PLATFORM_ID,\n Renderer2,\n signal,\n viewChild,\n} from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { EUI_ECL_BUTTON } from '@eui/ecl/components/ecl-button';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { TranslatePipe, TranslateService } from '@ngx-translate/core';\nimport { animationFrameScheduler, auditTime, fromEvent, observeOn, Subject, takeUntil } from 'rxjs';\nimport { EclBreadcrumbContainerDirective } from './ecl-breadcrumb-container.directive';\nimport { EclBreadcrumbSegmentComponent } from './ecl-breadcrumb-segment.component';\n\ninterface VisibilityMap {\n mode: string;\n isItemVisible: boolean[];\n}\n\n/**\n * Displays navigation segments and handles overflow with ellipsis.\n */\n@Component({\n selector: 'nav[eclBreadcrumb]',\n templateUrl: './ecl-breadcrumb.component.html',\n imports: [TranslatePipe, ...EUI_ECL_BUTTON, EclBreadcrumbSegmentComponent],\n host: {\n '[attr.aria-label]': 'ariaLabel()',\n '[class]': 'cssClasses',\n },\n})\nexport class EclBreadcrumbComponent extends ECLBaseDirective implements AfterViewInit, OnDestroy {\n /**\n * Expands all breadcrumb segments instead of collapsing them.\n */\n isExpanded = input(false, { transform: booleanAttribute });\n \n /**\n * Visible label for the ellipsis button. Defaults to the ellipsis character.\n */\n ellipsisLabel = input<string>('…');\n\n /**\n * Accessible label for the ellipsis button. When not provided, falls back to the\n * translated value of `ecl.breadcrumb.SHOW-MORE-ITEMS`.\n */\n ellipsisAriaLabel = input<string | undefined>(undefined);\n\n /**\n * ARIA label describing the breadcrumb purpose.\n */\n ariaLabel = toSignal(inject(TranslateService).stream('ecl.breadcrumb.YOU-ARE-HERE'));\n\n /**\n * Reference to the ellipsis segment element.\n */\n eclEllipsisSegment = viewChild<EclBreadcrumbSegmentComponent>('ellipsisSegment');\n\n /**\n * Reference to the breadcrumb container directive inside this component.\n */\n eclBreadcrumbContainer = contentChild(EclBreadcrumbContainerDirective, { read: ElementRef });\n\n /**\n * List of breadcrumb segment components.\n */\n eclSegments = contentChildren(forwardRef(() => EclBreadcrumbSegmentComponent), { descendants: true });\n\n private el = inject(ElementRef);\n private renderer = inject(Renderer2);\n private isExpandedState = signal(false);\n private staticItems = computed(() => {\n const items = this.realSegments();\n return items.filter((_, index) =>\n index === 0 || index === items.length - 2 || index === items.length - 1\n );\n });\n\n private expandableItems = computed(() => {\n const items = this.realSegments();\n return items.filter((_, index) =>\n index !== 0 && index !== items.length - 2 && index !== items.length - 1\n );\n });\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private readonly window = inject<Document>(DOCUMENT).defaultView; // Window | null\n private platformId = inject(PLATFORM_ID);\n private readonly breakpoint = 995;\n private readonly wrapperWidth = signal(0);\n private readonly windowWidth = signal(0);\n private readonly allItemsWidth = signal(0);\n private readonly incompressibleWidth = signal(0);\n private readonly expandableWidths = signal<number[]>([]);\n\n private readonly realSegments = computed(() => {\n const ellipsis = this.eclEllipsisSegment();\n return this.eclSegments()?.filter((segment) => segment !== ellipsis);\n });\n\n protected readonly visibilityMap = computed<VisibilityMap>(() => {\n const manuallyExpanded = this.isExpandedState();\n const wrapperWidth = this.wrapperWidth();\n const windowWidth = this.windowWidth();\n const allItemsWidth = this.allItemsWidth();\n const incompressibleWidth = this.incompressibleWidth();\n const expandableWidths = this.expandableWidths();\n\n if (manuallyExpanded) {\n return {\n mode: 'full',\n isItemVisible: expandableWidths.map(() => true),\n };\n }\n if (!wrapperWidth) {\n return {\n mode: 'full',\n isItemVisible: expandableWidths.map(() => true),\n };\n }\n\n if (!expandableWidths.length) {\n return {\n mode: 'full',\n isItemVisible: [],\n };\n }\n\n // Mobile mode: window is small, ECL CSS handles layout\n if (windowWidth <= this.breakpoint) {\n return {\n mode: 'compact',\n isItemVisible: expandableWidths.map(() => false),\n };\n }\n\n // Everything fits\n if (allItemsWidth * 1.1 <= wrapperWidth) {\n return {\n mode: 'full',\n isItemVisible: expandableWidths.map(() => true),\n };\n }\n\n // Even static + ellipsis do not fit\n if (incompressibleWidth >= wrapperWidth) {\n return {\n mode: 'collapsed',\n isItemVisible: expandableWidths.map(() => false),\n };\n }\n\n // Fit expandable items from right to left\n let usedWidth = 0;\n let canStillFit = true;\n\n const isItemVisible = [...expandableWidths]\n .reverse()\n .map((width) => {\n if (!canStillFit) {\n return false;\n }\n\n usedWidth += width;\n const fits = usedWidth + incompressibleWidth <= wrapperWidth;\n\n if (!fits) {\n canStillFit = false;\n }\n\n return fits;\n })\n .reverse();\n\n return {\n mode: 'collapsed',\n isItemVisible,\n };\n });\n\n\n /**\n * CSS classes applied to the breadcrumb element.\n */\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-breadcrumb'),\n ].join(' ').trim();\n }\n\n constructor() {\n super();\n effect(() => {\n if (!isPlatformBrowser(this.platformId)) return;\n\n const mode = this.visibilityMap().mode;\n const host = this.el?.nativeElement;\n if (!host) return;\n\n this.renderer.removeClass(host, 'ecl-breadcrumb--wrap');\n this.renderer.removeClass(host, 'ecl-breadcrumb--collapsed');\n\n if (mode === 'collapsed') {\n this.renderer.addClass(host, 'ecl-breadcrumb--collapsed');\n } else {\n this.renderer.addClass(host, 'ecl-breadcrumb--wrap');\n }\n });\n\n effect(() => {\n const expandableItems = this.expandableItems();\n const map = this.visibilityMap();\n const manuallyExpanded = this.isExpandedState();\n \n if (map.mode === 'full') {\n this.eclEllipsisSegment()?.isHidden.set(true);\n expandableItems.forEach((segment) => {\n segment.isHidden.set(false);\n });\n return;\n }\n if (map.mode === 'compact') {\n this.eclEllipsisSegment()?.isHidden.set(true);\n expandableItems.forEach((segment) => {\n segment.isHidden.set(true);\n });\n return;\n }\n // collapsed mode: show ellipsis, selectively show expandable items\n this.eclEllipsisSegment()?.isHidden.set(false);\n expandableItems.forEach((segment, index) => {\n const isVisible = map.isItemVisible[index] ?? false;\n segment.isHidden.set(!isVisible);\n });\n });\n }\n\n /**\n * Handles window resize and recalculates overflown segments.\n */\n ngAfterViewInit() {\n if (!isPlatformBrowser(this.platformId)) return;\n // Initial setup + first measurement after layout is ready\n animationFrameScheduler.schedule(() => {\n this.insertEllipsisSegmentIntoPosition();\n this.measureAll();\n });\n\n // Re-measure on resize after layout\n fromEvent(this.window, 'resize').pipe(\n auditTime(50), observeOn(animationFrameScheduler),\n takeUntil(this.destroy$)).subscribe(() => {\n this.measureAll();\n });\n }\n\n /**\n * Cleans up subscriptions on destroy.\n */\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n /**\n * Returns true if breadcrumb container directive exists.\n */\n hasContainer = computed(() => !!this.eclBreadcrumbContainer());\n\n /**\n * Expands hidden breadcrumb segments after clicking ellipsis.\n */\n onEllipsisSegmentClick(): void {\n this.eclEllipsisSegment().isHidden.set(true);\n this.isExpandedState.set(true);\n }\n\n private measureAll(): void {\n const host = this.el?.nativeElement;\n const ellipsis = this.eclEllipsisSegment()?.el.nativeElement;\n const staticItems = this.staticItems().map((x) => x.el.nativeElement);\n const expandableItems = this.expandableItems().map((x) => x.el.nativeElement);\n\n if (!host) return;\n\n const wrapperWidth = Math.floor(host.getBoundingClientRect().width);\n const windowWidth = this.window?.innerWidth ?? 0;\n const ellipsisWidth = ellipsis ? this.measureWidth(ellipsis) : 0;\n const staticWidths = staticItems.map((el) => this.measureWidth(el));\n const expandableWidths = expandableItems.map((el) => this.measureWidth(el));\n\n const allItemsWidth =\n ellipsisWidth +\n staticWidths.reduce((sum, w) => sum + w, 0) +\n expandableWidths.reduce((sum, w) => sum + w, 0);\n\n const incompressibleWidth =\n ellipsisWidth + staticWidths.reduce((sum, w) => sum + w, 0);\n\n this.windowWidth.set(windowWidth);\n this.wrapperWidth.set(wrapperWidth);\n this.expandableWidths.set(expandableWidths);\n this.allItemsWidth.set(allItemsWidth);\n this.incompressibleWidth.set(incompressibleWidth);\n }\n\n private measureWidth(el: HTMLElement): number {\n let width = el.getBoundingClientRect().width;\n\n if (width !== 0) {\n return width;\n }\n\n const previousCssText = el.style.cssText;\n const previousDisplay = el.style.display;\n\n el.style.display = 'inline-flex';\n width = el.getBoundingClientRect().width;\n\n el.style.cssText = previousCssText;\n if (!previousCssText) {\n el.style.display = previousDisplay;\n }\n\n return width;\n }\n\n private insertEllipsisSegmentIntoPosition(): void {\n if (this.hasEnoughSegments()) {\n const segments = this.realSegments();\n const secondEclSegmentEl: HTMLElement = segments[1].el.nativeElement;\n const ellipsisSegmentEl: HTMLElement = this.eclEllipsisSegment().el.nativeElement;\n if (this.hasContainer()) {\n this.renderer.insertBefore(this.eclBreadcrumbContainer()!.nativeElement, ellipsisSegmentEl, secondEclSegmentEl);\n }\n } else {\n // remove ellipsis\n this.renderer.removeChild(this.el.nativeElement, this.eclEllipsisSegment().el.nativeElement);\n }\n }\n\n private hasEnoughSegments(): boolean {\n return this.realSegments().length > 3;\n }\n}\n","<li eclBreadcrumbSegment #ellipsisSegment>\n <button tabindex=\"0\" eclButton variant=\"tertiary\" size=\"m\" eclStyle=\"neutral\" class=\"ecl-breadcrumb__ellipsis\"\n [attr.aria-label]=\"ellipsisAriaLabel() ?? ('ecl.breadcrumb.SHOW-MORE-ITEMS' | translate)\" (click)=\"onEllipsisSegmentClick()\">\n {{ ellipsisLabel() }}\n </button>\n</li>\n<ng-content></ng-content>\n","import { EclBreadcrumbComponent } from './ecl-breadcrumb.component';\nimport { EclBreadcrumbSegmentComponent } from './ecl-breadcrumb-segment.component';\nimport { EclBreadcrumbContainerDirective } from './ecl-breadcrumb-container.directive';\n\nexport * from './ecl-breadcrumb.component';\nexport * from './ecl-breadcrumb-segment.component';\nexport * from './models/ecl-breadcrumb.model';\nexport * from './events/ecl-breadcrumb-segment-click.event';\nexport * from './ecl-breadcrumb-container.directive';\n\nexport const EUI_ECL_BREADCRUMB = [\n EclBreadcrumbComponent, EclBreadcrumbSegmentComponent, EclBreadcrumbContainerDirective,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
|
|
@@ -152,11 +152,11 @@ class EclContentItemComponent extends ECLBaseDirective {
|
|
|
152
152
|
ngAfterContentInit() {
|
|
153
153
|
const eclContentBlock = this.eclContentBlock();
|
|
154
154
|
if (eclContentBlock) {
|
|
155
|
-
eclContentBlock.class
|
|
155
|
+
eclContentBlock.class.set('ecl-content-item__content-block');
|
|
156
156
|
}
|
|
157
157
|
const eclDateBlock = this.eclDateBlock();
|
|
158
158
|
if (eclDateBlock) {
|
|
159
|
-
eclDateBlock.class
|
|
159
|
+
eclDateBlock.class.set('ecl-content-item__date');
|
|
160
160
|
this.isInline = true;
|
|
161
161
|
}
|
|
162
162
|
const eclContentItemPicture = this.eclContentItemPicture();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-ecl-components-ecl-content-item.mjs","sources":["../../components/ecl-content-item/ecl-content-item-image.directive.ts","../../components/ecl-content-item/ecl-content-item.component.ts","../../components/ecl-content-item/ecl-content-item.component.html","../../components/ecl-content-item/index.ts","../../components/ecl-content-item/eui-ecl-components-ecl-content-item.ts"],"sourcesContent":["import { Directive, HostBinding, ElementRef, booleanAttribute, inject, input } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive used to style and configure the image container (e.g., picture) within a content item.\n * It allows adjusting size, position, and zoom behavior of the image block.\n */\n@Directive({\n selector: '[eclContentItemPicture]',\n host: {\n '[class.ecl-picture--zoom]': 'hasZoom()',\n },\n})\nexport class EclContentItemPictureDirective extends ECLBaseDirective {\n /**\n * Controls the size of the picture. Default is 'large'.\n * Accepted values: 'small' | 'large'\n */\n readonly size = input<'small' | 'large'>('large');\n\n /**\n * Defines the position of the picture relative to the content.\n * Accepted values: 'left' | 'right' | 'top'\n * Default is 'left'.\n */\n readonly position = input<'left' | 'right' | 'top'>('left');\n\n /**\n * If true, enables a zoom effect on hover.\n */\n readonly hasZoom = input(false, { transform: booleanAttribute });\n\n /**\n * Computed CSS classes for the host element based on size and position.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-content-item__picture ecl-picture'),\n `ecl-content-item__picture--${this.size()}`,\n `ecl-content-item__picture--${this.position()}`,\n ]\n .join(' ')\n .trim();\n }\n}\n\n/**\n * Directive used for styling the inner image element inside the content item.\n * Also used programmatically for interaction bindings.\n */\n@Directive({\n selector: '[eclContentItemImage]',\n})\nexport class EclContentItemImageDirective extends ECLBaseDirective {\n el = inject(ElementRef);\n\n /**\n * Computed CSS classes for the host image element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-content-item__image')].join(' ').trim();\n }\n}\n","import {\n AfterContentInit,\n booleanAttribute,\n Component,\n forwardRef,\n HostBinding,\n Renderer2,\n inject,\n PLATFORM_ID,\n input,\n OnDestroy,\n contentChild,\n} from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclContentBlockComponent, EclContentBlockTitleDirective } from '@eui/ecl/components/ecl-content-block';\nimport { EclDateBlockComponent } from '@eui/ecl/components/ecl-date-block';\nimport { EclContentItemImageDirective, EclContentItemPictureDirective } from './ecl-content-item-image.directive';\nimport { isPlatformBrowser } from '@angular/common';\n\n@Component({\n selector: 'ecl-content-item',\n templateUrl: './ecl-content-item.component.html',\n})\nexport class EclContentItemComponent extends ECLBaseDirective implements AfterContentInit, OnDestroy {\n /**\n * Whether to display a divider below the content item.\n * When true, the component will have a visual divider applied.\n * Default is false.\n */\n readonly hasDivider = input(false, { transform: booleanAttribute });\n\n /**\n * Reference to projected content block.\n * Used to apply internal styling and structure.\n */\n readonly eclContentBlock = contentChild(forwardRef(() => EclContentBlockComponent));\n\n /**\n * Reference to projected date block component.\n * Used to set styling and determine layout mode.\n */\n readonly eclDateBlock = contentChild(forwardRef(() => EclDateBlockComponent));\n\n /**\n * Reference to projected picture directive, used to determine layout mode (stacked).\n */\n readonly eclContentItemPicture = contentChild(forwardRef(() => EclContentItemPictureDirective));\n\n /**\n * Reference to projected title directive inside the content block.\n * Used for linking behavior.\n */\n readonly eclContentBlockTitle = contentChild(forwardRef(() => EclContentBlockTitleDirective));\n\n /**\n * Reference to projected image directive.\n * Used to bind interaction behavior (click propagation).\n */\n readonly eclContentItemImage = contentChild(forwardRef(() => EclContentItemImageDirective));\n\n /**\n * ARIA role attribute for the host element.\n * Set to \"article\" to denote standalone content.\n */\n @HostBinding('attr.role') role = 'article';\n\n /**\n * Computes the CSS class string applied to the host element,\n * depending on layout and configuration options.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-content-item'),\n this.isStack ? 'ecl-content-item--stack' : '',\n this.isInline ? 'ecl-content-item--inline' : '',\n this.hasDivider() ? 'ecl-content-item--divider' : '' ].join(' ').trim();\n }\n\n private isStack = false;\n private isInline = false;\n private renderer = inject(Renderer2);\n private unlistenImageClick?: () => void;\n private platformId = inject(PLATFORM_ID);\n\n /**\n * Lifecycle hook called after content projection.\n * Sets layout flags and attaches interactivity behavior to image and title.\n */\n ngAfterContentInit(): void {\n const eclContentBlock = this.eclContentBlock();\n if (eclContentBlock) {\n eclContentBlock.class = 'ecl-content-item__content-block';\n }\n\n const eclDateBlock = this.eclDateBlock();\n if (eclDateBlock) {\n eclDateBlock.class = 'ecl-content-item__date';\n this.isInline = true;\n }\n\n const eclContentItemPicture = this.eclContentItemPicture();\n if (eclContentItemPicture && eclContentItemPicture.position() === 'top') {\n this.isStack = true;\n }\n\n if (isPlatformBrowser(this.platformId)) {\n this.attachClickEventToImage();\n }\n }\n\n ngOnDestroy(): void {\n this.unlistenImageClick?.();\n this.unlistenImageClick = undefined;\n }\n\n /**\n * Attaches click behavior to image so it triggers the link defined in the title.\n * Only applies when both image and linked title are available.\n */\n private attachClickEventToImage(): void {\n const link = this.eclContentBlockTitle()?.eclLink;\n const imgEl = this.eclContentItemImage()?.el?.nativeElement;\n\n if (!link || !imgEl) return;\n\n this.renderer.setStyle(imgEl, 'cursor', 'pointer');\n\n this.unlistenImageClick?.(); // avoid duplicates if called twice\n this.unlistenImageClick = this.renderer.listen(imgEl, 'click', () => {\n link.onClick();\n });\n }\n}\n","<ng-content></ng-content>\n","import { EclContentItemImageDirective, EclContentItemPictureDirective } from './ecl-content-item-image.directive';\nimport { EclContentItemComponent } from './ecl-content-item.component';\n\nexport * from './ecl-content-item-image.directive';\nexport * from './ecl-content-item.component';\n\nexport const EUI_ECL_CONTENT_ITEM = [\n EclContentItemImageDirective, EclContentItemPictureDirective,\n EclContentItemComponent,\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-content-item.mjs","sources":["../../components/ecl-content-item/ecl-content-item-image.directive.ts","../../components/ecl-content-item/ecl-content-item.component.ts","../../components/ecl-content-item/ecl-content-item.component.html","../../components/ecl-content-item/index.ts","../../components/ecl-content-item/eui-ecl-components-ecl-content-item.ts"],"sourcesContent":["import { Directive, HostBinding, ElementRef, booleanAttribute, inject, input } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive used to style and configure the image container (e.g., picture) within a content item.\n * It allows adjusting size, position, and zoom behavior of the image block.\n */\n@Directive({\n selector: '[eclContentItemPicture]',\n host: {\n '[class.ecl-picture--zoom]': 'hasZoom()',\n },\n})\nexport class EclContentItemPictureDirective extends ECLBaseDirective {\n /**\n * Controls the size of the picture. Default is 'large'.\n * Accepted values: 'small' | 'large'\n */\n readonly size = input<'small' | 'large'>('large');\n\n /**\n * Defines the position of the picture relative to the content.\n * Accepted values: 'left' | 'right' | 'top'\n * Default is 'left'.\n */\n readonly position = input<'left' | 'right' | 'top'>('left');\n\n /**\n * If true, enables a zoom effect on hover.\n */\n readonly hasZoom = input(false, { transform: booleanAttribute });\n\n /**\n * Computed CSS classes for the host element based on size and position.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-content-item__picture ecl-picture'),\n `ecl-content-item__picture--${this.size()}`,\n `ecl-content-item__picture--${this.position()}`,\n ]\n .join(' ')\n .trim();\n }\n}\n\n/**\n * Directive used for styling the inner image element inside the content item.\n * Also used programmatically for interaction bindings.\n */\n@Directive({\n selector: '[eclContentItemImage]',\n})\nexport class EclContentItemImageDirective extends ECLBaseDirective {\n el = inject(ElementRef);\n\n /**\n * Computed CSS classes for the host image element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-content-item__image')].join(' ').trim();\n }\n}\n","import {\n AfterContentInit,\n booleanAttribute,\n Component,\n forwardRef,\n HostBinding,\n Renderer2,\n inject,\n PLATFORM_ID,\n input,\n OnDestroy,\n contentChild,\n} from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclContentBlockComponent, EclContentBlockTitleDirective } from '@eui/ecl/components/ecl-content-block';\nimport { EclDateBlockComponent } from '@eui/ecl/components/ecl-date-block';\nimport { EclContentItemImageDirective, EclContentItemPictureDirective } from './ecl-content-item-image.directive';\nimport { isPlatformBrowser } from '@angular/common';\n\n@Component({\n selector: 'ecl-content-item',\n templateUrl: './ecl-content-item.component.html',\n})\nexport class EclContentItemComponent extends ECLBaseDirective implements AfterContentInit, OnDestroy {\n /**\n * Whether to display a divider below the content item.\n * When true, the component will have a visual divider applied.\n * Default is false.\n */\n readonly hasDivider = input(false, { transform: booleanAttribute });\n\n /**\n * Reference to projected content block.\n * Used to apply internal styling and structure.\n */\n readonly eclContentBlock = contentChild(forwardRef(() => EclContentBlockComponent));\n\n /**\n * Reference to projected date block component.\n * Used to set styling and determine layout mode.\n */\n readonly eclDateBlock = contentChild(forwardRef(() => EclDateBlockComponent));\n\n /**\n * Reference to projected picture directive, used to determine layout mode (stacked).\n */\n readonly eclContentItemPicture = contentChild(forwardRef(() => EclContentItemPictureDirective));\n\n /**\n * Reference to projected title directive inside the content block.\n * Used for linking behavior.\n */\n readonly eclContentBlockTitle = contentChild(forwardRef(() => EclContentBlockTitleDirective));\n\n /**\n * Reference to projected image directive.\n * Used to bind interaction behavior (click propagation).\n */\n readonly eclContentItemImage = contentChild(forwardRef(() => EclContentItemImageDirective));\n\n /**\n * ARIA role attribute for the host element.\n * Set to \"article\" to denote standalone content.\n */\n @HostBinding('attr.role') role = 'article';\n\n /**\n * Computes the CSS class string applied to the host element,\n * depending on layout and configuration options.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-content-item'),\n this.isStack ? 'ecl-content-item--stack' : '',\n this.isInline ? 'ecl-content-item--inline' : '',\n this.hasDivider() ? 'ecl-content-item--divider' : '' ].join(' ').trim();\n }\n\n private isStack = false;\n private isInline = false;\n private renderer = inject(Renderer2);\n private unlistenImageClick?: () => void;\n private platformId = inject(PLATFORM_ID);\n\n /**\n * Lifecycle hook called after content projection.\n * Sets layout flags and attaches interactivity behavior to image and title.\n */\n ngAfterContentInit(): void {\n const eclContentBlock = this.eclContentBlock();\n if (eclContentBlock) {\n eclContentBlock.class.set('ecl-content-item__content-block');\n }\n\n const eclDateBlock = this.eclDateBlock();\n if (eclDateBlock) {\n eclDateBlock.class.set('ecl-content-item__date');\n this.isInline = true;\n }\n\n const eclContentItemPicture = this.eclContentItemPicture();\n if (eclContentItemPicture && eclContentItemPicture.position() === 'top') {\n this.isStack = true;\n }\n\n if (isPlatformBrowser(this.platformId)) {\n this.attachClickEventToImage();\n }\n }\n\n ngOnDestroy(): void {\n this.unlistenImageClick?.();\n this.unlistenImageClick = undefined;\n }\n\n /**\n * Attaches click behavior to image so it triggers the link defined in the title.\n * Only applies when both image and linked title are available.\n */\n private attachClickEventToImage(): void {\n const link = this.eclContentBlockTitle()?.eclLink;\n const imgEl = this.eclContentItemImage()?.el?.nativeElement;\n\n if (!link || !imgEl) return;\n\n this.renderer.setStyle(imgEl, 'cursor', 'pointer');\n\n this.unlistenImageClick?.(); // avoid duplicates if called twice\n this.unlistenImageClick = this.renderer.listen(imgEl, 'click', () => {\n link.onClick();\n });\n }\n}\n","<ng-content></ng-content>\n","import { EclContentItemImageDirective, EclContentItemPictureDirective } from './ecl-content-item-image.directive';\nimport { EclContentItemComponent } from './ecl-content-item.component';\n\nexport * from './ecl-content-item-image.directive';\nexport * from './ecl-content-item.component';\n\nexport const EUI_ECL_CONTENT_ITEM = [\n EclContentItemImageDirective, EclContentItemPictureDirective,\n EclContentItemComponent,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|