@eui/ecl 23.0.0-alpha.3 → 23.0.0-alpha.5
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 +77 -0
- package/docs/components/EclAddToCalendarComponent.html +7 -62
- package/docs/components/EclAnimatedNumbersComponent.html +0 -39
- package/docs/components/EclAppComponent.html +12 -72
- package/docs/components/EclBannerComponent.html +46 -46
- package/docs/components/EclBlockquoteComponent.html +6 -1
- package/docs/components/EclCarouselComponent.html +5 -0
- package/docs/components/EclCategoryFilterComponent.html +5 -0
- package/docs/components/EclCategoryFilterItemComponent.html +15 -10
- package/docs/components/EclCheckboxLabelComponent.html +1 -1
- package/docs/components/EclContentItemComponent.html +4 -0
- package/docs/components/EclDateBlockComponent.html +43 -18
- package/docs/components/EclExpandableComponent.html +63 -1
- package/docs/components/EclFeaturedComponent.html +46 -37
- package/docs/components/EclFileComponent.html +19 -14
- package/docs/components/EclFileItemsComponent.html +31 -1
- package/docs/components/EclFormLabelComponent.html +1 -1
- package/docs/components/EclGalleryComponent.html +29 -29
- package/docs/components/EclGalleryItemComponent.html +47 -47
- package/docs/components/EclIconComponent.html +158 -48
- package/docs/components/EclInpageNavigationComponent.html +21 -1
- package/docs/components/EclInpageNavigationItemComponent.html +39 -1
- package/docs/components/EclListIllustrationComponent.html +47 -47
- package/docs/components/EclListIllustrationItemComponent.html +1 -1
- package/docs/components/EclMediaContainerComponent.html +20 -20
- package/docs/components/EclMegaMenuFeaturedComponent.html +6 -1
- package/docs/components/EclMegaMenuInfoComponent.html +11 -1
- package/docs/components/EclMegaMenuItemComponent.html +44 -34
- package/docs/components/EclMegaMenuSubitemComponent.html +46 -31
- package/docs/components/EclMenuItemComponent.html +12 -2
- package/docs/components/EclMenuMegaItemComponent.html +8 -3
- package/docs/components/EclMultiselectComponent.html +56 -56
- package/docs/components/EclMultiselectDropdownComponent.html +1 -1
- package/docs/components/EclMultiselectOptgroupComponent.html +6 -1
- package/docs/components/EclNavigationListItemComponent.html +1 -1
- package/docs/components/EclNotificationComponent.html +32 -1
- package/docs/components/EclPaginationItemComponent.html +84 -59
- package/docs/components/EclRatingFieldComponent.html +98 -2
- package/docs/components/EclSearchFormComponent.html +41 -1
- package/docs/components/EclSelectContainerComponent.html +116 -1
- package/docs/components/EclSiteFooterComponent.html +1 -1
- package/docs/components/EclSiteFooterCoreComponent.html +6 -1
- package/docs/components/EclSiteFooterFixedContentEUComponent.html +16 -1
- package/docs/components/EclSiteFooterRowCommonComponent.html +6 -1
- package/docs/components/EclSiteHeaderComponent.html +27 -27
- package/docs/components/EclSiteHeaderLanguagePopoverComponent.html +96 -86
- package/docs/components/EclSiteHeaderLoginComponent.html +1 -1
- package/docs/components/EclSiteHeaderSearchComponent.html +20 -10
- package/docs/components/EclSocialMediaFollowComponent.html +7 -2
- package/docs/components/EclSocialMediaFollowItemComponent.html +40 -25
- package/docs/components/EclSplashPageLanguageCategoryComponent.html +6 -1
- package/docs/components/EclSplashPageLanguageContainerComponent.html +6 -1
- package/docs/components/EclSplashPageLanguageLinkComponent.html +6 -1
- package/docs/components/EclTabComponent.html +50 -20
- package/docs/components/EclTabsComponent.html +1 -1
- package/docs/components/EclTagComponent.html +6 -1
- package/docs/components/EclTimelineComponent.html +4 -169
- package/docs/components/EclTimelineItemComponent.html +104 -1
- package/docs/directives/EclAccordionDirective.html +9 -99
- package/docs/directives/EclFileTitleDirective.html +5 -0
- package/docs/directives/EclFileUploadDirective.html +120 -0
- package/docs/directives/EclGalleryMediaDirective.html +5 -0
- package/docs/directives/EclMediaContainerIframeDirective.html +9 -11
- package/docs/directives/EclMediaContainerItemDirective.html +5 -0
- package/docs/directives/EclMultiselectOptionDirective.html +20 -10
- package/docs/directives/EclRadioDirective.html +18 -13
- package/docs/directives/EclSelectDirective.html +40 -0
- package/docs/directives/EclSiteFooterListDirective.html +5 -104
- package/docs/directives/EclSiteFooterSectionDirective.html +1 -1
- package/docs/directives/EclSiteFooterTitleDirective.html +29 -0
- package/docs/directives/EclTableHeaderDirective.html +5 -0
- package/docs/directives/EclTextMediaMediaAnchorDirective.html +1 -1
- package/docs/js/search/search_index.js +2 -2
- package/docs/json/EclAddToCalendarComponent.md +1 -1
- package/docs/json/EclBannerComponent.md +7 -7
- package/docs/json/EclCategoryFilterItemComponent.md +1 -1
- package/docs/json/EclDateBlockComponent.md +1 -1
- package/docs/json/EclExpandableComponent.md +2 -0
- package/docs/json/EclFeaturedComponent.md +3 -3
- package/docs/json/EclFileComponent.md +1 -1
- package/docs/json/EclFileItemsComponent.md +1 -0
- package/docs/json/EclGalleryComponent.md +4 -4
- package/docs/json/EclGalleryItemComponent.md +2 -2
- package/docs/json/EclIconComponent.md +4 -4
- package/docs/json/EclInpageNavigationItemComponent.md +1 -0
- package/docs/json/EclListIllustrationComponent.md +3 -3
- package/docs/json/EclMediaContainerComponent.md +1 -1
- package/docs/json/EclMediaContainerIframeDirective.md +2 -2
- package/docs/json/EclMegaMenuItemComponent.md +2 -2
- package/docs/json/EclMegaMenuSubitemComponent.md +3 -3
- package/docs/json/EclMenuItemComponent.md +1 -1
- package/docs/json/EclMenuMegaItemComponent.md +1 -1
- package/docs/json/EclMultiselectComponent.md +3 -3
- package/docs/json/EclMultiselectOptionDirective.md +1 -1
- package/docs/json/EclNavigationListItemComponent.md +1 -1
- package/docs/json/EclNotificationComponent.md +1 -0
- package/docs/json/EclPaginationItemComponent.md +3 -3
- package/docs/json/EclRadioDirective.md +1 -1
- package/docs/json/EclRatingFieldComponent.md +1 -0
- package/docs/json/EclSearchFormComponent.md +1 -0
- package/docs/json/EclSelectContainerComponent.md +6 -0
- package/docs/json/EclSiteFooterSectionDirective.md +1 -1
- package/docs/json/EclSiteHeaderComponent.md +2 -2
- package/docs/json/EclSiteHeaderLanguagePopoverComponent.md +6 -6
- package/docs/json/EclSiteHeaderSearchComponent.md +1 -1
- package/docs/json/EclSocialMediaFollowComponent.md +1 -1
- package/docs/json/EclSocialMediaFollowItemComponent.md +4 -4
- package/docs/json/EclTabComponent.md +2 -1
- package/docs/json/EclTagComponent.md +1 -1
- package/docs/json/EclTextMediaMediaAnchorDirective.md +1 -1
- package/docs/json/EclTimelineItemComponent.md +1 -0
- package/docs/json/documentation.json +4188 -2895
- package/docs/llms.txt +152 -136
- package/docs/properties.html +1 -1
- package/fesm2022/eui-ecl-components-ecl-accordion.mjs +5 -15
- package/fesm2022/eui-ecl-components-ecl-accordion.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-add-to-calendar.mjs +9 -7
- package/fesm2022/eui-ecl-components-ecl-add-to-calendar.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-animated-numbers.mjs +2 -2
- package/fesm2022/eui-ecl-components-ecl-animated-numbers.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-app.mjs +13 -14
- package/fesm2022/eui-ecl-components-ecl-app.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-banner.mjs +27 -37
- package/fesm2022/eui-ecl-components-ecl-banner.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-blockquote.mjs +11 -7
- package/fesm2022/eui-ecl-components-ecl-blockquote.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-card.mjs +7 -10
- package/fesm2022/eui-ecl-components-ecl-card.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-carousel.mjs +14 -18
- package/fesm2022/eui-ecl-components-ecl-carousel.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-category-filter.mjs +21 -13
- package/fesm2022/eui-ecl-components-ecl-category-filter.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-checkbox.mjs +5 -8
- package/fesm2022/eui-ecl-components-ecl-checkbox.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-content-item.mjs +18 -26
- package/fesm2022/eui-ecl-components-ecl-content-item.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-date-block.mjs +39 -22
- package/fesm2022/eui-ecl-components-ecl-date-block.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-expandable.mjs +21 -16
- package/fesm2022/eui-ecl-components-ecl-expandable.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-featured.mjs +17 -18
- package/fesm2022/eui-ecl-components-ecl-featured.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-file-upload.mjs +25 -23
- package/fesm2022/eui-ecl-components-ecl-file-upload.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-file.mjs +27 -20
- package/fesm2022/eui-ecl-components-ecl-file.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-form-label.mjs +6 -12
- package/fesm2022/eui-ecl-components-ecl-form-label.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-gallery.mjs +44 -71
- package/fesm2022/eui-ecl-components-ecl-gallery.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-help-block.mjs +5 -8
- package/fesm2022/eui-ecl-components-ecl-help-block.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-icon.mjs +50 -39
- package/fesm2022/eui-ecl-components-ecl-icon.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-inpage-navigation.mjs +38 -32
- package/fesm2022/eui-ecl-components-ecl-inpage-navigation.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-label.mjs +6 -7
- package/fesm2022/eui-ecl-components-ecl-label.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-list-illustration.mjs +37 -57
- package/fesm2022/eui-ecl-components-ecl-list-illustration.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-loading-indicator.mjs +13 -21
- package/fesm2022/eui-ecl-components-ecl-loading-indicator.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-media-container.mjs +22 -27
- package/fesm2022/eui-ecl-components-ecl-media-container.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs +67 -73
- package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-menu.mjs +46 -51
- package/fesm2022/eui-ecl-components-ecl-menu.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-multiselect.mjs +52 -43
- package/fesm2022/eui-ecl-components-ecl-multiselect.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-navigation-list.mjs +13 -19
- package/fesm2022/eui-ecl-components-ecl-navigation-list.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-news-ticker.mjs +6 -9
- package/fesm2022/eui-ecl-components-ecl-news-ticker.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-notification.mjs +19 -21
- package/fesm2022/eui-ecl-components-ecl-notification.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-page-header.mjs +5 -8
- package/fesm2022/eui-ecl-components-ecl-page-header.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-pagination.mjs +57 -64
- package/fesm2022/eui-ecl-components-ecl-pagination.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-radio.mjs +8 -7
- package/fesm2022/eui-ecl-components-ecl-radio.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-rating-field.mjs +35 -27
- package/fesm2022/eui-ecl-components-ecl-rating-field.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-search-form.mjs +23 -23
- package/fesm2022/eui-ecl-components-ecl-search-form.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-select.mjs +31 -40
- package/fesm2022/eui-ecl-components-ecl-select.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-site-footer.mjs +71 -70
- package/fesm2022/eui-ecl-components-ecl-site-footer.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-site-header.mjs +44 -55
- package/fesm2022/eui-ecl-components-ecl-site-header.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-social-media-follow.mjs +27 -36
- package/fesm2022/eui-ecl-components-ecl-social-media-follow.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-splash-page.mjs +38 -18
- package/fesm2022/eui-ecl-components-ecl-splash-page.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-sticky-container.mjs +11 -16
- package/fesm2022/eui-ecl-components-ecl-sticky-container.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-table.mjs +16 -15
- package/fesm2022/eui-ecl-components-ecl-table.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-tabs.mjs +32 -34
- package/fesm2022/eui-ecl-components-ecl-tabs.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-tag.mjs +14 -12
- package/fesm2022/eui-ecl-components-ecl-tag.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-text-area.mjs +9 -12
- package/fesm2022/eui-ecl-components-ecl-text-area.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-text-input.mjs +15 -19
- package/fesm2022/eui-ecl-components-ecl-text-input.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-text-media.mjs +5 -8
- package/fesm2022/eui-ecl-components-ecl-text-media.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-timeline.mjs +40 -59
- package/fesm2022/eui-ecl-components-ecl-timeline.mjs.map +1 -1
- package/fesm2022/eui-ecl-core.mjs.map +1 -1
- package/package.json +8 -3
- package/types/eui-ecl-components-ecl-accordion.d.ts +2 -10
- package/types/eui-ecl-components-ecl-accordion.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-add-to-calendar.d.ts +4 -1
- package/types/eui-ecl-components-ecl-add-to-calendar.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-animated-numbers.d.ts +1 -1
- package/types/eui-ecl-components-ecl-animated-numbers.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-app.d.ts +6 -6
- package/types/eui-ecl-components-ecl-app.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-banner.d.ts +9 -10
- package/types/eui-ecl-components-ecl-banner.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-blockquote.d.ts +2 -2
- package/types/eui-ecl-components-ecl-blockquote.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-card.d.ts +2 -3
- package/types/eui-ecl-components-ecl-card.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-carousel.d.ts +10 -12
- package/types/eui-ecl-components-ecl-carousel.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-category-filter.d.ts +4 -4
- package/types/eui-ecl-components-ecl-category-filter.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-checkbox.d.ts +2 -3
- package/types/eui-ecl-components-ecl-checkbox.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-content-item.d.ts +8 -10
- package/types/eui-ecl-components-ecl-content-item.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-date-block.d.ts +10 -10
- package/types/eui-ecl-components-ecl-date-block.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-expandable.d.ts +7 -8
- package/types/eui-ecl-components-ecl-expandable.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-featured.d.ts +4 -5
- package/types/eui-ecl-components-ecl-featured.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-file-upload.d.ts +9 -11
- package/types/eui-ecl-components-ecl-file-upload.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-file.d.ts +7 -8
- package/types/eui-ecl-components-ecl-file.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-form-label.d.ts +3 -5
- package/types/eui-ecl-components-ecl-form-label.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-gallery.d.ts +32 -41
- package/types/eui-ecl-components-ecl-gallery.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-help-block.d.ts +3 -4
- package/types/eui-ecl-components-ecl-help-block.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-icon.d.ts +17 -12
- package/types/eui-ecl-components-ecl-icon.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-inpage-navigation.d.ts +18 -19
- package/types/eui-ecl-components-ecl-inpage-navigation.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-label.d.ts +3 -3
- package/types/eui-ecl-components-ecl-label.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-list-illustration.d.ts +25 -30
- package/types/eui-ecl-components-ecl-list-illustration.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-loading-indicator.d.ts +6 -8
- package/types/eui-ecl-components-ecl-loading-indicator.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-media-container.d.ts +9 -11
- package/types/eui-ecl-components-ecl-media-container.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-mega-menu.d.ts +25 -28
- package/types/eui-ecl-components-ecl-mega-menu.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-menu.d.ts +26 -31
- package/types/eui-ecl-components-ecl-menu.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-multiselect.d.ts +13 -13
- package/types/eui-ecl-components-ecl-multiselect.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-navigation-list.d.ts +5 -7
- package/types/eui-ecl-components-ecl-navigation-list.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-news-ticker.d.ts +2 -3
- package/types/eui-ecl-components-ecl-news-ticker.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-notification.d.ts +17 -19
- package/types/eui-ecl-components-ecl-notification.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-page-header.d.ts +2 -3
- package/types/eui-ecl-components-ecl-page-header.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-pagination.d.ts +22 -29
- package/types/eui-ecl-components-ecl-pagination.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-radio.d.ts +2 -3
- package/types/eui-ecl-components-ecl-radio.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-rating-field.d.ts +12 -12
- package/types/eui-ecl-components-ecl-rating-field.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-search-form.d.ts +10 -10
- package/types/eui-ecl-components-ecl-search-form.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-select.d.ts +13 -17
- package/types/eui-ecl-components-ecl-select.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-site-footer.d.ts +22 -27
- package/types/eui-ecl-components-ecl-site-footer.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-site-header.d.ts +16 -18
- package/types/eui-ecl-components-ecl-site-header.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-social-media-follow.d.ts +21 -23
- package/types/eui-ecl-components-ecl-social-media-follow.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-splash-page.d.ts +6 -6
- package/types/eui-ecl-components-ecl-splash-page.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-sticky-container.d.ts +6 -7
- package/types/eui-ecl-components-ecl-sticky-container.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-table.d.ts +4 -5
- package/types/eui-ecl-components-ecl-table.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-tabs.d.ts +5 -6
- package/types/eui-ecl-components-ecl-tabs.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-tag.d.ts +3 -4
- package/types/eui-ecl-components-ecl-tag.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-text-area.d.ts +5 -6
- package/types/eui-ecl-components-ecl-text-area.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-text-input.d.ts +6 -7
- package/types/eui-ecl-components-ecl-text-input.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-text-media.d.ts +2 -2
- package/types/eui-ecl-components-ecl-text-media.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-timeline.d.ts +8 -17
- package/types/eui-ecl-components-ecl-timeline.d.ts.map +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { input, contentChild, effect, Component, Directive
|
|
2
|
+
import { input, contentChild, effect, Component, Directive } from '@angular/core';
|
|
3
3
|
import { ECLBaseDirective } from '@eui/ecl/core';
|
|
4
4
|
import { EclMediaContainerComponent } from '@eui/ecl/components/ecl-media-container';
|
|
5
5
|
|
|
@@ -112,23 +112,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
|
|
|
112
112
|
*/
|
|
113
113
|
class EclTextMediaMediaAnchorDirective {
|
|
114
114
|
constructor() {
|
|
115
|
-
this.anchor = 'center';
|
|
115
|
+
this.anchor = input('center', { ...(ngDevMode ? { debugName: "anchor" } : /* istanbul ignore next */ {}), alias: "eclTextMediaImgAnchor" });
|
|
116
116
|
}
|
|
117
117
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclTextMediaMediaAnchorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
118
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
118
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.5", type: EclTextMediaMediaAnchorDirective, isStandalone: true, selector: "img[eclTextMediaImgAnchor]", inputs: { anchor: { classPropertyName: "anchor", publicName: "eclTextMediaImgAnchor", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.--ecl-image-anchor": "anchor()" } }, ngImport: i0 }); }
|
|
119
119
|
}
|
|
120
120
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclTextMediaMediaAnchorDirective, decorators: [{
|
|
121
121
|
type: Directive,
|
|
122
122
|
args: [{
|
|
123
123
|
selector: 'img[eclTextMediaImgAnchor]',
|
|
124
124
|
host: {
|
|
125
|
-
'[style.--ecl-image-anchor]': 'anchor',
|
|
125
|
+
'[style.--ecl-image-anchor]': 'anchor()',
|
|
126
126
|
},
|
|
127
127
|
}]
|
|
128
|
-
}], propDecorators: { anchor: [{
|
|
129
|
-
type: Input,
|
|
130
|
-
args: ['eclTextMediaImgAnchor']
|
|
131
|
-
}] } });
|
|
128
|
+
}], propDecorators: { anchor: [{ type: i0.Input, args: [{ isSignal: true, alias: "eclTextMediaImgAnchor", required: false }] }] } });
|
|
132
129
|
/**
|
|
133
130
|
* Sets custom class for the `ecl-text-media` component, used within eclTextMedia component.
|
|
134
131
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-ecl-components-ecl-text-media.mjs","sources":["../../components/ecl-text-media/ecl-text-media.component.ts","../../components/ecl-text-media/ecl-text-media.component.html","../../components/ecl-text-media/ecl-text-media-title.directive.ts","../../components/ecl-text-media/index.ts","../../components/ecl-text-media/eui-ecl-components-ecl-text-media.ts"],"sourcesContent":["import { Component, contentChild, effect, input } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclMediaContainerComponent } from '@eui/ecl/components/ecl-media-container';\n\n/**\n * A media container is used to display media items (video, audio, image or other data)\n * with text and a caption.\n */\n@Component({\n selector: 'article[eclTextMedia]',\n templateUrl: './ecl-text-media.component.html',\n host: {\n '[class]': 'cssClasses',\n },\n})\nexport class EclTextMediaComponent extends ECLBaseDirective {\n variant = input<'default' | 'primary'>('default');\n\n mediaPosition = input<'left' | 'right'>('right');\n\n private mediaContainer = contentChild(EclMediaContainerComponent);\n\n constructor() {\n super();\n effect(() => {\n const mc = this.mediaContainer();\n if (mc?.hasVideo()) {\n mc.captionPositionOverride.set('hidden');\n }\n });\n }\n\n get cssClasses(): string {\n return [super.getCssClasses('ecl-text-media'),\n this.variant() === 'primary' ? 'ecl-text-media--primary' : '',\n this.mediaPosition() === 'left' ? 'ecl-text-media--position-left' : '',\n ].filter(Boolean).join(' ');\n }\n}\n","<div class=\"ecl-text-media__content\">\n <ng-content select=\"div[eclTextMediaMicroTitle]\"></ng-content>\n <ng-content select=\"div[eclTextMediaTitle]\"></ng-content>\n <ng-content select=\"div[eclTextMediaDescription]\"></ng-content>\n <ng-content select=\"a[eclTextMediaLink]\"></ng-content>\n</div>\n<div class=\"ecl-text-media__media\">\n <ng-content select=\"ecl-media-container\"></ng-content>\n</div>","import { Directive,
|
|
1
|
+
{"version":3,"file":"eui-ecl-components-ecl-text-media.mjs","sources":["../../components/ecl-text-media/ecl-text-media.component.ts","../../components/ecl-text-media/ecl-text-media.component.html","../../components/ecl-text-media/ecl-text-media-title.directive.ts","../../components/ecl-text-media/index.ts","../../components/ecl-text-media/eui-ecl-components-ecl-text-media.ts"],"sourcesContent":["import { Component, contentChild, effect, input } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclMediaContainerComponent } from '@eui/ecl/components/ecl-media-container';\n\n/**\n * A media container is used to display media items (video, audio, image or other data)\n * with text and a caption.\n */\n@Component({\n selector: 'article[eclTextMedia]',\n templateUrl: './ecl-text-media.component.html',\n host: {\n '[class]': 'cssClasses',\n },\n})\nexport class EclTextMediaComponent extends ECLBaseDirective {\n variant = input<'default' | 'primary'>('default');\n\n mediaPosition = input<'left' | 'right'>('right');\n\n private mediaContainer = contentChild(EclMediaContainerComponent);\n\n constructor() {\n super();\n effect(() => {\n const mc = this.mediaContainer();\n if (mc?.hasVideo()) {\n mc.captionPositionOverride.set('hidden');\n }\n });\n }\n\n get cssClasses(): string {\n return [super.getCssClasses('ecl-text-media'),\n this.variant() === 'primary' ? 'ecl-text-media--primary' : '',\n this.mediaPosition() === 'left' ? 'ecl-text-media--position-left' : '',\n ].filter(Boolean).join(' ');\n }\n}\n","<div class=\"ecl-text-media__content\">\n <ng-content select=\"div[eclTextMediaMicroTitle]\"></ng-content>\n <ng-content select=\"div[eclTextMediaTitle]\"></ng-content>\n <ng-content select=\"div[eclTextMediaDescription]\"></ng-content>\n <ng-content select=\"a[eclTextMediaLink]\"></ng-content>\n</div>\n<div class=\"ecl-text-media__media\">\n <ng-content select=\"ecl-media-container\"></ng-content>\n</div>","import { Directive, input } from '@angular/core';\n\n/**\n * Applies styles for the micro title element.\n */\n@Directive({\n selector: 'div[eclTextMediaMicroTitle]',\n host: {\n 'class': 'ecl-text-media__micro-title',\n },\n})\nexport class EclTextMediaMicroTitleDirective {}\n\n/**\n * Applies styles for the title element.\n */\n@Directive({\n selector: 'div[eclTextMediaTitle]',\n host: {\n 'class': 'ecl-text-media__title',\n },\n})\nexport class EclTextMediaTitleDirective {}\n\n/**\n * Applies styles for the description element.\n */\n@Directive({\n selector: 'div[eclTextMediaDescription]',\n host: {\n 'class': 'ecl-text-media__description',\n },\n})\nexport class EclTextMediaDescriptionDirective {}\n\n/**\n * Applies styles for the link element.\n */\n@Directive({\n selector: 'a[eclTextMediaLink]',\n host: {\n 'class': 'ecl-text-media__link',\n },\n})\nexport class EclTextMediaLinkDirective {}\n\n/**\n * Sets the `--ecl-image-anchor` CSS custom property for an image used\n * within the `ecl-text-media` component.\n *\n * Intended to be used together with `img[eclMediaContainerImage]`\n * from the `ecl-media-container` component.\n */\n@Directive({\n selector: 'img[eclTextMediaImgAnchor]',\n host: {\n '[style.--ecl-image-anchor]': 'anchor()',\n },\n})\nexport class EclTextMediaMediaAnchorDirective {\n readonly anchor = input<'center' | 'top left' | 'bottom right' | '20% 20%'>('center', { alias: \"eclTextMediaImgAnchor\" });\n}\n\n/**\n * Sets custom class for the `ecl-text-media` component, used within eclTextMedia component.\n */\n@Directive({\n selector: 'ecl-media-container[eclTextMediaContainer]',\n host: {\n 'class': 'ecl-text-media__media_container',\n },\n})\nexport class EclTextMediaContainerDirective {}\n","import { EclTextMediaComponent } from \"./ecl-text-media.component\";\nimport { EclTextMediaMicroTitleDirective, EclTextMediaTitleDirective, EclTextMediaDescriptionDirective, EclTextMediaLinkDirective, EclTextMediaMediaAnchorDirective, EclTextMediaContainerDirective } from \"./ecl-text-media-title.directive\";\n\nexport * from './ecl-text-media.component';\nexport * from './ecl-text-media-title.directive';\n\nexport const EUI_ECL_TEXT_MEDIA = [\n EclTextMediaComponent,\n EclTextMediaMicroTitleDirective,\n EclTextMediaTitleDirective,\n EclTextMediaDescriptionDirective,\n EclTextMediaLinkDirective,\n EclTextMediaMediaAnchorDirective,\n EclTextMediaContainerDirective,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { HostBinding, Directive, EventEmitter, HostListener, Output, Component, inject, Renderer2, ElementRef,
|
|
2
|
+
import { HostBinding, Directive, EventEmitter, HostListener, Output, Component, input, booleanAttribute, model, inject, Renderer2, ElementRef, ViewChild, ContentChild, forwardRef, ViewEncapsulation, ContentChildren } from '@angular/core';
|
|
3
3
|
import { ECLBaseDirective, EclBaseEvent } from '@eui/ecl/core';
|
|
4
4
|
import { NgTemplateOutlet } from '@angular/common';
|
|
5
5
|
import * as i2 from '@eui/ecl/components/ecl-button';
|
|
@@ -119,28 +119,37 @@ class EclTimelineItemComponent extends ECLBaseDirective {
|
|
|
119
119
|
* Text label shown when the item is collapsed and can be expanded.
|
|
120
120
|
* Defaults to `'Expand'`.
|
|
121
121
|
*/
|
|
122
|
-
this.expandLabel = 'Expand'
|
|
122
|
+
this.expandLabel = input('Expand', /* @ts-ignore */
|
|
123
|
+
...(ngDevMode ? [{ debugName: "expandLabel" }] : /* istanbul ignore next */ []));
|
|
123
124
|
/**
|
|
124
125
|
* Text label shown when the item is expanded and can be collapsed.
|
|
125
126
|
* Defaults to `'Collapse'`.
|
|
126
127
|
*/
|
|
127
|
-
this.collapseLabel = 'Collapse'
|
|
128
|
-
|
|
128
|
+
this.collapseLabel = input('Collapse', /* @ts-ignore */
|
|
129
|
+
...(ngDevMode ? [{ debugName: "collapseLabel" }] : /* istanbul ignore next */ []));
|
|
130
|
+
this.isHeadline = input(false, { ...(ngDevMode ? { debugName: "isHeadline" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
129
131
|
/**
|
|
130
132
|
* Indicates whether the toggler is initially expanded.
|
|
131
133
|
* Used for toggler-type items.
|
|
132
134
|
*/
|
|
133
|
-
this.isTogglerExpanded = false
|
|
135
|
+
this.isTogglerExpanded = model(false, /* @ts-ignore */
|
|
136
|
+
...(ngDevMode ? [{ debugName: "isTogglerExpanded" }] : /* istanbul ignore next */ []));
|
|
134
137
|
/**
|
|
135
138
|
* Whether the item is collapsed.
|
|
136
139
|
* Adds the `ecl-timeline__item--collapsed` CSS class when true.
|
|
137
140
|
*/
|
|
138
|
-
this.isCollapsed = false;
|
|
141
|
+
this.isCollapsed = input(false, { ...(ngDevMode ? { debugName: "isCollapsed" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
139
142
|
/**
|
|
140
143
|
* Whether the item is a toggler (e.g. expands/collapses related items).
|
|
141
144
|
* Adds the `ecl-timeline__item--toggle` CSS class when true.
|
|
142
145
|
*/
|
|
143
|
-
this.isToggler = false;
|
|
146
|
+
this.isToggler = input(false, { ...(ngDevMode ? { debugName: "isToggler" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
147
|
+
/**
|
|
148
|
+
* Name of the toggle group that this item belongs to.
|
|
149
|
+
* Used to coordinate collapsing/expanding related items.
|
|
150
|
+
*/
|
|
151
|
+
this.toggleGroup = input(undefined, /* @ts-ignore */
|
|
152
|
+
...(ngDevMode ? [{ debugName: "toggleGroup" }] : /* istanbul ignore next */ []));
|
|
144
153
|
/**
|
|
145
154
|
* Event emitted when the toggler is clicked.
|
|
146
155
|
* Consumers can call `preventDefault()` on the event to cancel toggle behavior.
|
|
@@ -159,7 +168,7 @@ class EclTimelineItemComponent extends ECLBaseDirective {
|
|
|
159
168
|
get cssClasses() {
|
|
160
169
|
return [
|
|
161
170
|
super.getCssClasses('ecl-timeline__item'),
|
|
162
|
-
this.isHeadline ? 'ecl-timeline__item--headline' : '',
|
|
171
|
+
this.isHeadline() ? 'ecl-timeline__item--headline' : '',
|
|
163
172
|
].join(' ');
|
|
164
173
|
}
|
|
165
174
|
ngAfterViewChecked() {
|
|
@@ -170,7 +179,7 @@ class EclTimelineItemComponent extends ECLBaseDirective {
|
|
|
170
179
|
this.hasContent =
|
|
171
180
|
(node.textContent?.trim().length ?? 0) > 0 || node.children.length > 0;
|
|
172
181
|
}
|
|
173
|
-
if (!this.isToggler && this.eclTimelineItemLabel) {
|
|
182
|
+
if (!this.isToggler() && this.eclTimelineItemLabel) {
|
|
174
183
|
const labelHeight = this.eclTimelineItemLabel.nativeElement.getBoundingClientRect().height;
|
|
175
184
|
this.hasHeight = labelHeight > 0;
|
|
176
185
|
this.host.nativeElement.style.setProperty('--ecl-timeline-label-height', `${labelHeight}px`);
|
|
@@ -200,20 +209,20 @@ class EclTimelineItemComponent extends ECLBaseDirective {
|
|
|
200
209
|
* True if the expand label should be visible.
|
|
201
210
|
*/
|
|
202
211
|
get isShowExpandLabel() {
|
|
203
|
-
return !!this.expandLabel && !this.isTogglerExpanded;
|
|
212
|
+
return !!this.expandLabel() && !this.isTogglerExpanded();
|
|
204
213
|
}
|
|
205
214
|
/**
|
|
206
215
|
* True if the collapse label should be visible.
|
|
207
216
|
*/
|
|
208
217
|
get isShowCollapseLabel() {
|
|
209
|
-
return !!this.collapseLabel && this.isTogglerExpanded;
|
|
218
|
+
return !!this.collapseLabel() && this.isTogglerExpanded();
|
|
210
219
|
}
|
|
211
220
|
/**
|
|
212
221
|
* Checks whether the default toggler UI should be used.
|
|
213
222
|
* Returns true if this is a toggler and no custom toggler component is projected.
|
|
214
223
|
*/
|
|
215
224
|
hasDefaultToggler() {
|
|
216
|
-
return this.isToggler && !this.timelineItemToggler;
|
|
225
|
+
return this.isToggler() && !this.timelineItemToggler;
|
|
217
226
|
}
|
|
218
227
|
/**
|
|
219
228
|
* Handles click events from the default toggler element.
|
|
@@ -224,30 +233,20 @@ class EclTimelineItemComponent extends ECLBaseDirective {
|
|
|
224
233
|
this.handleToggler();
|
|
225
234
|
}
|
|
226
235
|
handleToggler() {
|
|
227
|
-
const nextExpandedState = !this.isTogglerExpanded;
|
|
228
|
-
const event = new EclTimelineItemToggleEvent(nextExpandedState, this.toggleGroup);
|
|
236
|
+
const nextExpandedState = !this.isTogglerExpanded();
|
|
237
|
+
const event = new EclTimelineItemToggleEvent(nextExpandedState, this.toggleGroup());
|
|
229
238
|
if (!event.defaultPrevented) {
|
|
230
239
|
this.toggle.next(event);
|
|
231
|
-
this.isTogglerExpanded
|
|
240
|
+
this.isTogglerExpanded.set(nextExpandedState);
|
|
232
241
|
}
|
|
233
242
|
}
|
|
234
243
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclTimelineItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
235
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: EclTimelineItemComponent, isStandalone: true, selector: "ecl-timeline-item, li[eclTimelineItem]", inputs: { expandLabel: "expandLabel", collapseLabel: "collapseLabel", isHeadline:
|
|
244
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: EclTimelineItemComponent, isStandalone: true, selector: "ecl-timeline-item, li[eclTimelineItem]", inputs: { expandLabel: { classPropertyName: "expandLabel", publicName: "expandLabel", isSignal: true, isRequired: false, transformFunction: null }, collapseLabel: { classPropertyName: "collapseLabel", publicName: "collapseLabel", isSignal: true, isRequired: false, transformFunction: null }, isHeadline: { classPropertyName: "isHeadline", publicName: "isHeadline", isSignal: true, isRequired: false, transformFunction: null }, isTogglerExpanded: { classPropertyName: "isTogglerExpanded", publicName: "isTogglerExpanded", isSignal: true, isRequired: false, transformFunction: null }, isCollapsed: { classPropertyName: "isCollapsed", publicName: "isCollapsed", isSignal: true, isRequired: false, transformFunction: null }, isToggler: { classPropertyName: "isToggler", publicName: "isToggler", isSignal: true, isRequired: false, transformFunction: null }, toggleGroup: { classPropertyName: "toggleGroup", publicName: "toggleGroup", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isTogglerExpanded: "isTogglerExpandedChange", toggle: "toggle" }, host: { properties: { "class": "this.cssClasses", "class.ecl-timeline__item--collapsed": "this.isCollapsed", "class.ecl-timeline__item--toggle": "this.isToggler" } }, queries: [{ propertyName: "timelineItemToggler", first: true, predicate: i0.forwardRef(() => EclTimelineItemTogglerComponent), descendants: true }, { propertyName: "timelineTitle", first: true, predicate: i0.forwardRef(() => EclTimelineItemTitleDirective), descendants: true }, { propertyName: "eclLink", first: true, predicate: i0.forwardRef(() => EclLinkDirective), descendants: true }, { propertyName: "eclTimelineItemLabel", first: true, predicate: i0.forwardRef(() => EclTimelineItemLabelDirective), descendants: true, read: ElementRef }], viewQueries: [{ propertyName: "contentSlotRef", first: true, predicate: ["contentSlot"], descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (isToggler()) {\n <div class=\"ecl-timeline__content\">\n @if (hasDefaultToggler()) {\n <button eclButton (click)=\"onTogglerClick($event)\" variant=\"secondary\">\n @if (isShowExpandLabel) {\n <span eclButtonLabel> {{ expandLabel() }} </span>\n }\n @if (isShowCollapseLabel) {\n <span eclButtonLabel> {{ collapseLabel() }} </span>\n }\n <ecl-icon icon=\"corner-arrow\" size=\"fluid\" [transform]=\"!isTogglerExpanded() ? 'rotate-180' : ''\"></ecl-icon>\n </button>\n }\n\n\n <ng-content select=\"ecl-timeline-item-toggler\"></ng-content>\n\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n}\n@else {\n <div class=\"ecl-timeline__tooltip\">\n <div class=\"ecl-timeline__tooltip-arrow\"></div>\n <ng-content select=\"[eclTimelineItemLabel]\"></ng-content>\n\n <ng-content select=\"[eclTimelineItemTitle]\"></ng-content>\n\n <div class=\"ecl-timeline__content\" #contentSlot>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n </div>\n}\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", styles: ["ecl-timeline-item{display:list-item}\n"], dependencies: [{ kind: "component", type: i1.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "component", type: i2.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "eclStyle", "size", "containerStyleClass"] }, { kind: "directive", type: i2.EclButtonLabelDirective, selector: "[eclButtonLabel]" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
236
245
|
}
|
|
237
246
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclTimelineItemComponent, decorators: [{
|
|
238
247
|
type: Component,
|
|
239
|
-
args: [{ selector: 'ecl-timeline-item, li[eclTimelineItem]', imports: [...EUI_ECL_ICON, ...EUI_ECL_BUTTON, NgTemplateOutlet], encapsulation: ViewEncapsulation.None, template: "@if (isToggler) {\n <div class=\"ecl-timeline__content\">\n @if (hasDefaultToggler()) {\n <button eclButton (click)=\"onTogglerClick($event)\" variant=\"secondary\">\n @if (isShowExpandLabel) {\n <span eclButtonLabel> {{ expandLabel }} </span>\n }\n @if (isShowCollapseLabel) {\n <span eclButtonLabel> {{ collapseLabel }} </span>\n }\n <ecl-icon icon=\"corner-arrow\" size=\"fluid\" [transform]=\"!isTogglerExpanded ? 'rotate-180' : ''\"></ecl-icon>\n </button>\n }\n\n\n <ng-content select=\"ecl-timeline-item-toggler\"></ng-content>\n\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n}\n@else {\n <div class=\"ecl-timeline__tooltip\">\n <div class=\"ecl-timeline__tooltip-arrow\"></div>\n <ng-content select=\"[eclTimelineItemLabel]\"></ng-content>\n\n <ng-content select=\"[eclTimelineItemTitle]\"></ng-content>\n\n <div class=\"ecl-timeline__content\" #contentSlot>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n </div>\n}\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", styles: ["ecl-timeline-item{display:list-item}\n"] }]
|
|
240
|
-
}], propDecorators: { expandLabel: [{
|
|
241
|
-
type: Input
|
|
242
|
-
}], collapseLabel: [{
|
|
243
|
-
type: Input
|
|
244
|
-
}], isHeadline: [{
|
|
245
|
-
type: Input,
|
|
246
|
-
args: [{ transform: booleanAttribute }]
|
|
247
|
-
}], isTogglerExpanded: [{
|
|
248
|
-
type: Input,
|
|
249
|
-
args: [{ transform: booleanAttribute }]
|
|
250
|
-
}], cssClasses: [{
|
|
248
|
+
args: [{ selector: 'ecl-timeline-item, li[eclTimelineItem]', imports: [...EUI_ECL_ICON, ...EUI_ECL_BUTTON, NgTemplateOutlet], encapsulation: ViewEncapsulation.None, template: "@if (isToggler()) {\n <div class=\"ecl-timeline__content\">\n @if (hasDefaultToggler()) {\n <button eclButton (click)=\"onTogglerClick($event)\" variant=\"secondary\">\n @if (isShowExpandLabel) {\n <span eclButtonLabel> {{ expandLabel() }} </span>\n }\n @if (isShowCollapseLabel) {\n <span eclButtonLabel> {{ collapseLabel() }} </span>\n }\n <ecl-icon icon=\"corner-arrow\" size=\"fluid\" [transform]=\"!isTogglerExpanded() ? 'rotate-180' : ''\"></ecl-icon>\n </button>\n }\n\n\n <ng-content select=\"ecl-timeline-item-toggler\"></ng-content>\n\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n}\n@else {\n <div class=\"ecl-timeline__tooltip\">\n <div class=\"ecl-timeline__tooltip-arrow\"></div>\n <ng-content select=\"[eclTimelineItemLabel]\"></ng-content>\n\n <ng-content select=\"[eclTimelineItemTitle]\"></ng-content>\n\n <div class=\"ecl-timeline__content\" #contentSlot>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n </div>\n}\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", styles: ["ecl-timeline-item{display:list-item}\n"] }]
|
|
249
|
+
}], propDecorators: { expandLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "expandLabel", required: false }] }], collapseLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "collapseLabel", required: false }] }], isHeadline: [{ type: i0.Input, args: [{ isSignal: true, alias: "isHeadline", required: false }] }], isTogglerExpanded: [{ type: i0.Input, args: [{ isSignal: true, alias: "isTogglerExpanded", required: false }] }, { type: i0.Output, args: ["isTogglerExpandedChange"] }], cssClasses: [{
|
|
251
250
|
type: HostBinding,
|
|
252
251
|
args: ['class']
|
|
253
252
|
}], timelineItemToggler: [{
|
|
@@ -263,20 +262,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
|
|
|
263
262
|
type: ContentChild,
|
|
264
263
|
args: [forwardRef(() => EclTimelineItemLabelDirective), { read: ElementRef }]
|
|
265
264
|
}], isCollapsed: [{
|
|
266
|
-
type: Input,
|
|
267
|
-
args: [{ transform: booleanAttribute }]
|
|
268
|
-
}, {
|
|
269
265
|
type: HostBinding,
|
|
270
266
|
args: ['class.ecl-timeline__item--collapsed']
|
|
271
267
|
}], isToggler: [{
|
|
272
|
-
type: Input,
|
|
273
|
-
args: [{ transform: booleanAttribute }]
|
|
274
|
-
}, {
|
|
275
268
|
type: HostBinding,
|
|
276
269
|
args: ['class.ecl-timeline__item--toggle']
|
|
277
|
-
}], toggleGroup: [{
|
|
278
|
-
type: Input
|
|
279
|
-
}], toggle: [{
|
|
270
|
+
}], toggleGroup: [{ type: i0.Input, args: [{ isSignal: true, alias: "toggleGroup", required: false }] }], toggle: [{
|
|
280
271
|
type: Output
|
|
281
272
|
}], contentSlotRef: [{
|
|
282
273
|
type: ViewChild,
|
|
@@ -307,11 +298,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
|
|
|
307
298
|
class EclTimelineComponent extends ECLBaseDirective {
|
|
308
299
|
constructor() {
|
|
309
300
|
super(...arguments);
|
|
310
|
-
/**
|
|
311
|
-
* Sets the `role` attribute of the host element to `list`
|
|
312
|
-
* for accessibility purposes.
|
|
313
|
-
*/
|
|
314
|
-
this.attrRole = 'list';
|
|
315
301
|
this.isExpanded = null;
|
|
316
302
|
this.destroy$ = new Subject();
|
|
317
303
|
this.isFirstExpandedLinkFocused = false;
|
|
@@ -335,7 +321,7 @@ class EclTimelineComponent extends ECLBaseDirective {
|
|
|
335
321
|
*/
|
|
336
322
|
ngAfterContentInit() {
|
|
337
323
|
this.timelineItems
|
|
338
|
-
.filter((item) => item.isToggler)
|
|
324
|
+
.filter((item) => item.isToggler())
|
|
339
325
|
.forEach((it) => {
|
|
340
326
|
it.toggle.pipe(takeUntil(this.destroy$)).subscribe((evt) => {
|
|
341
327
|
if (evt.isExpanded) {
|
|
@@ -346,8 +332,8 @@ class EclTimelineComponent extends ECLBaseDirective {
|
|
|
346
332
|
}
|
|
347
333
|
if (this.timelineItems && !evt.defaultPrevented) {
|
|
348
334
|
this.timelineItems
|
|
349
|
-
.filter((item) => item.toggleGroup === evt.toggleGroup)
|
|
350
|
-
.filter((item) => !item.isToggler)
|
|
335
|
+
.filter((item) => item.toggleGroup() === evt.toggleGroup)
|
|
336
|
+
.filter((item) => !item.isToggler())
|
|
351
337
|
.forEach((item) => {
|
|
352
338
|
// item.isCollapsed = !item.isCollapsed;
|
|
353
339
|
this.onFocusFirstExpandedLink(item);
|
|
@@ -355,7 +341,7 @@ class EclTimelineComponent extends ECLBaseDirective {
|
|
|
355
341
|
}
|
|
356
342
|
});
|
|
357
343
|
});
|
|
358
|
-
if (this.timelineItems?.find(item => item.isHeadline) !== undefined)
|
|
344
|
+
if (this.timelineItems?.find(item => item.isHeadline()) !== undefined)
|
|
359
345
|
this.hasHeadlineItem = true;
|
|
360
346
|
}
|
|
361
347
|
/**
|
|
@@ -373,7 +359,7 @@ class EclTimelineComponent extends ECLBaseDirective {
|
|
|
373
359
|
* @param item The timeline item to check and potentially focus.
|
|
374
360
|
*/
|
|
375
361
|
onFocusFirstExpandedLink(item) {
|
|
376
|
-
if (!item.isCollapsed) {
|
|
362
|
+
if (!item.isCollapsed()) {
|
|
377
363
|
if (!this.isFirstExpandedLinkFocused && item.eclLink) {
|
|
378
364
|
setTimeout(() => item.eclLink.onFocus());
|
|
379
365
|
this.isFirstExpandedLinkFocused = true;
|
|
@@ -384,21 +370,16 @@ class EclTimelineComponent extends ECLBaseDirective {
|
|
|
384
370
|
}
|
|
385
371
|
}
|
|
386
372
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclTimelineComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
387
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: EclTimelineComponent, isStandalone: true, selector: "ecl-timeline, ol[eclTimeline]", host: {
|
|
373
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: EclTimelineComponent, isStandalone: true, selector: "ecl-timeline, ol[eclTimeline]", host: { attributes: { "role": "list" }, properties: { "attr.data-ecl-timeline-expanded": "isExpanded", "class": "cssClasses" } }, queries: [{ propertyName: "timelineItems", predicate: i0.forwardRef(() => EclTimelineItemComponent) }], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [":host{display:block}\n"] }); }
|
|
388
374
|
}
|
|
389
375
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclTimelineComponent, decorators: [{
|
|
390
376
|
type: Component,
|
|
391
|
-
args: [{ selector: 'ecl-timeline, ol[eclTimeline]',
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
args: ['attr.data-ecl-timeline-expanded']
|
|
398
|
-
}], cssClasses: [{
|
|
399
|
-
type: HostBinding,
|
|
400
|
-
args: ['class']
|
|
401
|
-
}], timelineItems: [{
|
|
377
|
+
args: [{ selector: 'ecl-timeline, ol[eclTimeline]', host: {
|
|
378
|
+
'role': 'list',
|
|
379
|
+
'[attr.data-ecl-timeline-expanded]': 'isExpanded',
|
|
380
|
+
'[class]': 'cssClasses',
|
|
381
|
+
}, template: "<ng-content></ng-content>\n", styles: [":host{display:block}\n"] }]
|
|
382
|
+
}], propDecorators: { timelineItems: [{
|
|
402
383
|
type: ContentChildren,
|
|
403
384
|
args: [forwardRef(() => EclTimelineItemComponent)]
|
|
404
385
|
}] } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-ecl-components-ecl-timeline.mjs","sources":["../../components/ecl-timeline/ecl-timeline-item-label.directive.ts","../../components/ecl-timeline/ecl-timeline-item-title.directive.ts","../../components/ecl-timeline/ecl-timeline-item-toggler.component.ts","../../components/ecl-timeline/ecl-timeline-item-toggler.component.html","../../components/ecl-timeline/events/ecl-timeline-item-toggle.event.ts","../../components/ecl-timeline/ecl-timeline-item.component.ts","../../components/ecl-timeline/ecl-timeline-item.component.html","../../components/ecl-timeline/ecl-timeline-set.directive.ts","../../components/ecl-timeline/ecl-timeline.component.ts","../../components/ecl-timeline/ecl-timeline.component.html","../../components/ecl-timeline/index.ts","../../components/ecl-timeline/eui-ecl-components-ecl-timeline.ts"],"sourcesContent":["import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive that applies the `ecl-timeline__label` class to an element.\n * Used to mark the label section within a timeline item.\n */\n@Directive({\n selector: '[eclTimelineItemLabel]',\n})\nexport class EclTimelineItemLabelDirective extends ECLBaseDirective {\n /**\n * CSS classes applied to the host element.\n * Adds `ecl-timeline__label` to style the label area of the timeline item.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-timeline__label')].join(' ').trim();\n }\n}\n","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive that applies the `ecl-timeline__title` class to an element.\n * Used to mark the title section within a timeline item.\n */\n@Directive({\n selector: '[eclTimelineItemTitle]',\n})\nexport class EclTimelineItemTitleDirective extends ECLBaseDirective {\n /**\n * CSS classes applied to the host element.\n * Adds `ecl-timeline__title` to style the title area of the timeline item.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-timeline__title')].join(' ').trim();\n }\n}\n","import { Component, EventEmitter, HostListener, Output } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Component representing a toggler inside a timeline item.\n * Emits a `toggle` event when clicked.\n */\n@Component({\n selector: 'ecl-timeline-item-toggler, li[eclTimelineItemToggler]',\n templateUrl: 'ecl-timeline-item-toggler.component.html',\n})\nexport class EclTimelineItemTogglerComponent extends ECLBaseDirective {\n /**\n * Event emitted when the toggler is activated (clicked).\n * Used to trigger expand/collapse behavior in the parent timeline item.\n */\n // eslint-disable-next-line\n @Output() toggle: EventEmitter<void> = new EventEmitter();\n\n /**\n * Handles click events on the toggler element and emits the `toggle` event.\n */\n @HostListener('click')\n onTogglerClick(): void {\n this.toggle.emit();\n }\n}\n","<ng-content></ng-content>\n","import { EclBaseEvent } from '@eui/ecl/core';\n\n/**\n * Event emitted when a timeline item is toggled (expanded or collapsed).\n */\nexport class EclTimelineItemToggleEvent extends EclBaseEvent {\n constructor(\n /**\n * Indicates whether the item is expanded after the toggle.\n */\n public isExpanded: boolean,\n\n /**\n * Identifier of the toggle group this item belongs to.\n */\n public toggleGroup: string,\n ) {\n super();\n }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n AfterContentInit,\n AfterViewChecked,\n booleanAttribute,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n inject,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { EUI_ECL_BUTTON } 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 } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { EclTimelineItemLabelDirective } from './ecl-timeline-item-label.directive';\nimport { EclTimelineItemTitleDirective } from './ecl-timeline-item-title.directive';\nimport { EclTimelineItemTogglerComponent } from './ecl-timeline-item-toggler.component';\nimport { EclTimelineItemToggleEvent } from './events/ecl-timeline-item-toggle.event';\n\n@Component({\n selector: 'ecl-timeline-item, li[eclTimelineItem]',\n templateUrl: 'ecl-timeline-item.component.html',\n imports: [...EUI_ECL_ICON, ...EUI_ECL_BUTTON, NgTemplateOutlet],\n styles: [\n `\n ecl-timeline-item {\n display: list-item;\n }\n `,\n ],\n encapsulation: ViewEncapsulation.None,\n})\nexport class EclTimelineItemComponent extends ECLBaseDirective implements AfterContentInit, AfterViewChecked, OnDestroy {\n /**\n * Text label shown when the item is collapsed and can be expanded.\n * Defaults to `'Expand'`.\n */\n @Input() expandLabel = 'Expand';\n\n /**\n * Text label shown when the item is expanded and can be collapsed.\n * Defaults to `'Collapse'`.\n */\n @Input() collapseLabel = 'Collapse';\n\n @Input({ transform: booleanAttribute }) isHeadline = false;\n\n /**\n * Indicates whether the toggler is initially expanded.\n * Used for toggler-type items.\n */\n @Input({ transform: booleanAttribute }) isTogglerExpanded = false;\n\n /**\n * Adds the `ecl-timeline__item` class to the host element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-timeline__item'),\n this.isHeadline ? 'ecl-timeline__item--headline' : '',\n ].join(' ');\n }\n\n // @HostBinding('attr.style') customStyle = '';\n\n /**\n * Reference to a projected custom toggler component.\n */\n @ContentChild(forwardRef(() => EclTimelineItemTogglerComponent))\n timelineItemToggler: EclTimelineItemTogglerComponent;\n\n @ContentChild(forwardRef(() => EclTimelineItemTitleDirective))\n timelineTitle: EclTimelineItemTitleDirective;\n\n /**\n * Reference to a projected ECL link, used for setting focus after toggle.\n */\n @ContentChild(forwardRef(() => EclLinkDirective)) eclLink: EclLinkDirective;\n\n /**\n * Reference to a projected label for the item. Used to set height, when item has no content and title.\n */\n @ContentChild(forwardRef(() => EclTimelineItemLabelDirective), { read: ElementRef }) eclTimelineItemLabel: ElementRef;\n\n /**\n * Whether the item is collapsed.\n * Adds the `ecl-timeline__item--collapsed` CSS class when true.\n */\n @Input({ transform: booleanAttribute }) @HostBinding('class.ecl-timeline__item--collapsed') isCollapsed = false;\n\n /**\n * Whether the item is a toggler (e.g. expands/collapses related items).\n * Adds the `ecl-timeline__item--toggle` CSS class when true.\n */\n @Input({ transform: booleanAttribute }) @HostBinding('class.ecl-timeline__item--toggle') isToggler = false;\n\n /**\n * Name of the toggle group that this item belongs to.\n * Used to coordinate collapsing/expanding related items.\n */\n @Input() toggleGroup: string;\n\n /**\n * Event emitted when the toggler is clicked.\n * Consumers can call `preventDefault()` on the event to cancel toggle behavior.\n */\n // eslint-disable-next-line\n @Output() toggle = new EventEmitter<EclTimelineItemToggleEvent>();\n\n @ViewChild('contentSlot')\n private contentSlotRef: ElementRef<HTMLElement>;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private hasContent = false;\n private hasHeight = false;\n private renderer = inject(Renderer2);\n private host = inject(ElementRef<HTMLElement>);\n\n ngAfterViewChecked(): void {\n if (!this.hasHeight) {\n setTimeout(() => {\n const node = this.contentSlotRef?.nativeElement;\n if (node) {\n this.hasContent =\n (node.textContent?.trim().length ?? 0) > 0 || node.children.length > 0;\n }\n if (!this.isToggler && this.eclTimelineItemLabel) {\n const labelHeight = this.eclTimelineItemLabel.nativeElement.getBoundingClientRect().height;\n this.hasHeight = labelHeight > 0;\n this.host.nativeElement.style.setProperty('--ecl-timeline-label-height', `${labelHeight}px`);\n this.renderer.setStyle(this.host.nativeElement, 'box-sizing', 'unset');\n }\n });\n }\n }\n\n /**\n * Lifecycle hook that sets up event subscriptions after content is initialized.\n */\n ngAfterContentInit(): void {\n if (this.timelineItemToggler) {\n this.timelineItemToggler.toggle.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.handleToggler();\n });\n }\n }\n\n /**\n * Lifecycle hook called on component destruction to clean up subscriptions.\n */\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n /**\n * True if the expand label should be visible.\n */\n get isShowExpandLabel(): boolean {\n return !!this.expandLabel && !this.isTogglerExpanded;\n }\n\n /**\n * True if the collapse label should be visible.\n */\n get isShowCollapseLabel(): boolean {\n return !!this.collapseLabel && this.isTogglerExpanded;\n }\n\n /**\n * Checks whether the default toggler UI should be used.\n * Returns true if this is a toggler and no custom toggler component is projected.\n */\n hasDefaultToggler(): boolean {\n return this.isToggler && !this.timelineItemToggler;\n }\n\n /**\n * Handles click events from the default toggler element.\n *\n * @param evt The mouse click event.\n */\n onTogglerClick(evt: MouseEvent): void {\n this.handleToggler();\n }\n\n private handleToggler(): void {\n const nextExpandedState = !this.isTogglerExpanded;\n const event = new EclTimelineItemToggleEvent(nextExpandedState, this.toggleGroup);\n\n if (!event.defaultPrevented) {\n this.toggle.next(event);\n this.isTogglerExpanded = nextExpandedState;\n }\n }\n}\n","@if (isToggler) {\n <div class=\"ecl-timeline__content\">\n @if (hasDefaultToggler()) {\n <button eclButton (click)=\"onTogglerClick($event)\" variant=\"secondary\">\n @if (isShowExpandLabel) {\n <span eclButtonLabel> {{ expandLabel }} </span>\n }\n @if (isShowCollapseLabel) {\n <span eclButtonLabel> {{ collapseLabel }} </span>\n }\n <ecl-icon icon=\"corner-arrow\" size=\"fluid\" [transform]=\"!isTogglerExpanded ? 'rotate-180' : ''\"></ecl-icon>\n </button>\n }\n\n\n <ng-content select=\"ecl-timeline-item-toggler\"></ng-content>\n\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n}\n@else {\n <div class=\"ecl-timeline__tooltip\">\n <div class=\"ecl-timeline__tooltip-arrow\"></div>\n <ng-content select=\"[eclTimelineItemLabel]\"></ng-content>\n\n <ng-content select=\"[eclTimelineItemTitle]\"></ng-content>\n\n <div class=\"ecl-timeline__content\" #contentSlot>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n </div>\n}\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive that applies the `ecl-timeline-set` class to an element.\n */\n@Directive({\n selector: '[eclTimelineSet]',\n})\nexport class EclTimelineSetDirective extends ECLBaseDirective {\n\n @HostBinding('class.ecl-timeline-set') hasClass = true;\n}\n","import {\n Component,\n AfterContentInit,\n ContentChildren,\n forwardRef,\n QueryList,\n HostBinding,\n OnDestroy,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclTimelineItemComponent } from './ecl-timeline-item.component';\nimport { EclTimelineItemToggleEvent } from './events/ecl-timeline-item-toggle.event';\n\n@Component({\n selector: 'ecl-timeline, ol[eclTimeline]',\n templateUrl: 'ecl-timeline.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclTimelineComponent extends ECLBaseDirective implements AfterContentInit, OnDestroy {\n /**\n * Sets the `role` attribute of the host element to `list`\n * for accessibility purposes.\n */\n @HostBinding('attr.role') attrRole = 'list';\n\n @HostBinding('attr.data-ecl-timeline-expanded') isExpanded: boolean | null = null;\n\n /**\n * Applies the `ecl-timeline` CSS class to the host element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-timeline'),\n this.hasHeadlineItem ? 'ecl-timeline--has-headline' : '',\n ].join(' ');\n }\n\n /**\n * List of projected `EclTimelineItemComponent` instances.\n * Collected using `@ContentChildren`.\n */\n @ContentChildren(forwardRef(() => EclTimelineItemComponent))\n timelineItems: QueryList<EclTimelineItemComponent>;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private isFirstExpandedLinkFocused = false;\n private hasHeadlineItem = false;\n\n /**\n * Lifecycle hook that is called after content (child components)\n * has been fully initialized.\n * \n * It sets up toggle event subscriptions for `isToggler` items and\n * collapses/expands related content items accordingly.\n */\n ngAfterContentInit(): void {\n this.timelineItems\n .filter((item) => item.isToggler)\n .forEach((it) => {\n it.toggle.pipe(takeUntil(this.destroy$)).subscribe((evt: EclTimelineItemToggleEvent) => {\n if (evt.isExpanded) {\n this.isExpanded = true;\n } else {\n this.isExpanded = null;\n }\n if (this.timelineItems && !evt.defaultPrevented) {\n this.timelineItems\n .filter((item) => item.toggleGroup === evt.toggleGroup)\n .filter((item) => !item.isToggler)\n .forEach((item) => {\n // item.isCollapsed = !item.isCollapsed;\n this.onFocusFirstExpandedLink(item);\n });\n }\n });\n });\n\n if (this.timelineItems?.find(item => item.isHeadline) !== undefined) this.hasHeadlineItem = true;\n }\n\n /**\n * Lifecycle hook called when the component is destroyed.\n * Cleans up subscriptions.\n */\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n /**\n * Focuses the first link in the expanded timeline item,\n * ensuring it's only done once per toggle group interaction.\n *\n * @param item The timeline item to check and potentially focus.\n */\n onFocusFirstExpandedLink(item: EclTimelineItemComponent): void {\n if (!item.isCollapsed) {\n if (!this.isFirstExpandedLinkFocused && item.eclLink) {\n setTimeout(() => item.eclLink.onFocus());\n this.isFirstExpandedLinkFocused = true;\n }\n } else {\n this.isFirstExpandedLinkFocused = false;\n }\n }\n}\n","<ng-content></ng-content>\n","import { EclTimelineItemLabelDirective } from './ecl-timeline-item-label.directive';\nimport { EclTimelineItemTitleDirective } from './ecl-timeline-item-title.directive';\nimport { EclTimelineItemTogglerComponent } from './ecl-timeline-item-toggler.component';\nimport { EclTimelineItemComponent } from './ecl-timeline-item.component';\nimport { EclTimelineSetDirective } from './ecl-timeline-set.directive';\nimport { EclTimelineComponent } from './ecl-timeline.component';\n\nexport * from './ecl-timeline.component';\nexport * from './ecl-timeline-item.component';\nexport * from './ecl-timeline-item-label.directive';\nexport * from './ecl-timeline-item-title.directive';\nexport * from './ecl-timeline-item-toggler.component';\nexport * from './ecl-timeline-set.directive';\nexport * from './events/ecl-timeline-item-toggle.event';\n\nexport const EUI_ECL_TIMELINE = [\n EclTimelineComponent,\n EclTimelineItemComponent,\n EclTimelineItemTogglerComponent,\n EclTimelineItemLabelDirective,\n EclTimelineItemTitleDirective,\n EclTimelineSetDirective,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;AAGA;;;AAGG;AAIG,MAAO,6BAA8B,SAAQ,gBAAgB,CAAA;AAC/D;;;AAGG;AACH,IAAA,IACI,UAAU,GAAA;AACV,QAAA,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;IACxE;8GARS,6BAA6B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA7B,6BAA6B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAHzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,wBAAwB;AACrC,iBAAA;;sBAMI,WAAW;uBAAC,OAAO;;;ACZxB;;;AAGG;AAIG,MAAO,6BAA8B,SAAQ,gBAAgB,CAAA;AAC/D;;;AAGG;AACH,IAAA,IACI,UAAU,GAAA;AACV,QAAA,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;IACxE;8GARS,6BAA6B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA7B,6BAA6B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAHzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,wBAAwB;AACrC,iBAAA;;sBAMI,WAAW;uBAAC,OAAO;;;ACZxB;;;AAGG;AAKG,MAAO,+BAAgC,SAAQ,gBAAgB,CAAA;AAJrE,IAAA,WAAA,GAAA;;AAKI;;;AAGG;;AAEO,QAAA,IAAA,CAAA,MAAM,GAAuB,IAAI,YAAY,EAAE;AAS5D,IAAA;AAPG;;AAEG;IAEH,cAAc,GAAA;AACV,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;IACtB;8GAdS,+BAA+B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA/B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,+BAA+B,6NCX5C,6BACA,EAAA,CAAA,CAAA;;2FDUa,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAJ3C,SAAS;+BACI,uDAAuD,EAAA,QAAA,EAAA,6BAAA,EAAA;;sBAShE;;sBAKA,YAAY;uBAAC,OAAO;;;AEpBzB;;AAEG;AACG,MAAO,0BAA2B,SAAQ,YAAY,CAAA;AACxD,IAAA,WAAA;AACI;;AAEG;IACI,UAAmB;AAE1B;;AAEG;IACI,WAAmB,EAAA;AAE1B,QAAA,KAAK,EAAE;QAPA,IAAA,CAAA,UAAU,GAAV,UAAU;QAKV,IAAA,CAAA,WAAW,GAAX,WAAW;IAGtB;AACH;;ACwBK,MAAO,wBAAyB,SAAQ,gBAAgB,CAAA;AAb9D,IAAA,WAAA,GAAA;;AAcI;;;AAGG;QACM,IAAA,CAAA,WAAW,GAAG,QAAQ;AAE/B;;;AAGG;QACM,IAAA,CAAA,aAAa,GAAG,UAAU;QAEK,IAAA,CAAA,UAAU,GAAG,KAAK;AAE1D;;;AAGG;QACqC,IAAA,CAAA,iBAAiB,GAAG,KAAK;AAkCjE;;;AAGG;QACyF,IAAA,CAAA,WAAW,GAAG,KAAK;AAE/G;;;AAGG;QACsF,IAAA,CAAA,SAAS,GAAG,KAAK;AAQ1G;;;AAGG;;AAEO,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAA8B;AAIzD,QAAA,IAAA,CAAA,QAAQ,GAAqB,IAAI,OAAO,EAAW;QACnD,IAAA,CAAA,UAAU,GAAG,KAAK;QAClB,IAAA,CAAA,SAAS,GAAG,KAAK;AACjB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;AAC5B,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,EAAC,UAAuB,EAAC;AA+EjD,IAAA;AA9IG;;AAEG;AACH,IAAA,IACI,UAAU,GAAA;QACV,OAAO;AACH,YAAA,KAAK,CAAC,aAAa,CAAC,oBAAoB,CAAC;YACzC,IAAI,CAAC,UAAU,GAAG,8BAA8B,GAAG,EAAE;AACxD,SAAA,CAAC,IAAI,CAAC,GAAG,CAAC;IACf;IAwDA,kBAAkB,GAAA;AACd,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACjB,UAAU,CAAC,MAAK;AACZ,gBAAA,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,aAAa;gBAC/C,IAAI,IAAI,EAAE;AACN,oBAAA,IAAI,CAAC,UAAU;wBACX,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;gBAC9E;gBACA,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,oBAAoB,EAAE;AAC9C,oBAAA,MAAM,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,MAAM;AAC1F,oBAAA,IAAI,CAAC,SAAS,GAAG,WAAW,GAAG,CAAC;AAChC,oBAAA,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,6BAA6B,EAAE,CAAA,EAAG,WAAW,CAAA,EAAA,CAAI,CAAC;AAC5F,oBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,YAAY,EAAE,OAAO,CAAC;gBAC1E;AACJ,YAAA,CAAC,CAAC;QACN;IACJ;AAEA;;AAEG;IACH,kBAAkB,GAAA;AACd,QAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;AAC1B,YAAA,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;gBAC1E,IAAI,CAAC,aAAa,EAAE;AACxB,YAAA,CAAC,CAAC;QACN;IACJ;AAEA;;AAEG;IACH,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;AACxB,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;IAC/B;AAEA;;AAEG;AACH,IAAA,IAAI,iBAAiB,GAAA;QACjB,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,iBAAiB;IACxD;AAEA;;AAEG;AACH,IAAA,IAAI,mBAAmB,GAAA;QACnB,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,iBAAiB;IACzD;AAEA;;;AAGG;IACH,iBAAiB,GAAA;QACb,OAAO,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,mBAAmB;IACtD;AAEA;;;;AAIG;AACH,IAAA,cAAc,CAAC,GAAe,EAAA;QAC1B,IAAI,CAAC,aAAa,EAAE;IACxB;IAEQ,aAAa,GAAA;AACjB,QAAA,MAAM,iBAAiB,GAAG,CAAC,IAAI,CAAC,iBAAiB;QACjD,MAAM,KAAK,GAAG,IAAI,0BAA0B,CAAC,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC;AAEjF,QAAA,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE;AACzB,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACvB,YAAA,IAAI,CAAC,iBAAiB,GAAG,iBAAiB;QAC9C;IACJ;8GAlKS,wBAAwB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wCAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,aAAA,EAAA,eAAA,EAAA,UAAA,EAAA,CAAA,YAAA,EAAA,YAAA,EAab,gBAAgB,CAAA,EAAA,iBAAA,EAAA,CAAA,mBAAA,EAAA,mBAAA,EAMhB,gBAAgB,+CAsChB,gBAAgB,CAAA,EAAA,SAAA,EAAA,CAAA,WAAA,EAAA,WAAA,EAMhB,gBAAgB,CAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,qCAAA,EAAA,kBAAA,EAAA,kCAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MA1BL,+BAA+B,qGAG/B,6BAA6B,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MAM7B,gBAAgB,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MAKhB,6BAA6B,4BAAW,UAAU,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,aAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC9FrF,ouCAoCA,EAAA,MAAA,EAAA,CAAA,wCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,OAAA,EAAA,YAAA,EAAA,WAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,SAAA,EAAA,UAAA,EAAA,MAAA,EAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDHkD,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAUrD,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAbpC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,wCAAwC,EAAA,OAAA,EAEzC,CAAC,GAAG,YAAY,EAAE,GAAG,cAAc,EAAE,gBAAgB,CAAC,EAAA,aAAA,EAQhD,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,ouCAAA,EAAA,MAAA,EAAA,CAAA,wCAAA,CAAA,EAAA;;sBAOpC;;sBAMA;;sBAEA,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;sBAMrC,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;sBAKrC,WAAW;uBAAC,OAAO;;sBAanB,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,UAAU,CAAC,MAAM,+BAA+B,CAAC;;sBAG9D,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,UAAU,CAAC,MAAM,6BAA6B,CAAC;;sBAM5D,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,UAAU,CAAC,MAAM,gBAAgB,CAAC;;sBAK/C,YAAY;uBAAC,UAAU,CAAC,MAAM,6BAA6B,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;;sBAMlF,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;sBAAG,WAAW;uBAAC,qCAAqC;;sBAMzF,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;sBAAG,WAAW;uBAAC,kCAAkC;;sBAMtF;;sBAOA;;sBAEA,SAAS;uBAAC,aAAa;;;AEtH5B;;AAEG;AAIG,MAAO,uBAAwB,SAAQ,gBAAgB,CAAA;AAH7D,IAAA,WAAA,GAAA;;QAK2C,IAAA,CAAA,QAAQ,GAAG,IAAI;AACzD,IAAA;8GAHY,uBAAuB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,wBAAA,EAAA,eAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAHnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,kBAAkB;AAC/B,iBAAA;;sBAGI,WAAW;uBAAC,wBAAwB;;;ACenC,MAAO,oBAAqB,SAAQ,gBAAgB,CAAA;AAX1D,IAAA,WAAA,GAAA;;AAYI;;;AAGG;QACuB,IAAA,CAAA,QAAQ,GAAG,MAAM;QAEK,IAAA,CAAA,UAAU,GAAmB,IAAI;AAoBzE,QAAA,IAAA,CAAA,QAAQ,GAAqB,IAAI,OAAO,EAAW;QACnD,IAAA,CAAA,0BAA0B,GAAG,KAAK;QAClC,IAAA,CAAA,eAAe,GAAG,KAAK;AA2DlC,IAAA;AA/EG;;AAEG;AACH,IAAA,IACI,UAAU,GAAA;QACV,OAAO;AACH,YAAA,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC;YACnC,IAAI,CAAC,eAAe,GAAG,4BAA4B,GAAG,EAAE;AAC3D,SAAA,CAAC,IAAI,CAAC,GAAG,CAAC;IACf;AAaA;;;;;;AAMG;IACH,kBAAkB,GAAA;AACd,QAAA,IAAI,CAAC;aACA,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,SAAS;AAC/B,aAAA,OAAO,CAAC,CAAC,EAAE,KAAI;AACZ,YAAA,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAA+B,KAAI;AACnF,gBAAA,IAAI,GAAG,CAAC,UAAU,EAAE;AAChB,oBAAA,IAAI,CAAC,UAAU,GAAG,IAAI;gBAC1B;qBAAO;AACH,oBAAA,IAAI,CAAC,UAAU,GAAG,IAAI;gBAC1B;gBACA,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE;AAC7C,oBAAA,IAAI,CAAC;AACA,yBAAA,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,WAAW,KAAK,GAAG,CAAC,WAAW;yBACrD,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS;AAChC,yBAAA,OAAO,CAAC,CAAC,IAAI,KAAI;;AAEd,wBAAA,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC;AACvC,oBAAA,CAAC,CAAC;gBACV;AACJ,YAAA,CAAC,CAAC;AACN,QAAA,CAAC,CAAC;AAEN,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,SAAS;AAAE,YAAA,IAAI,CAAC,eAAe,GAAG,IAAI;IACpG;AAEA;;;AAGG;IACH,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;AACxB,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;IAC/B;AAEA;;;;;AAKG;AACH,IAAA,wBAAwB,CAAC,IAA8B,EAAA;AACnD,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACnB,IAAI,CAAC,IAAI,CAAC,0BAA0B,IAAI,IAAI,CAAC,OAAO,EAAE;gBAClD,UAAU,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;AACxC,gBAAA,IAAI,CAAC,0BAA0B,GAAG,IAAI;YAC1C;QACJ;aAAO;AACH,YAAA,IAAI,CAAC,0BAA0B,GAAG,KAAK;QAC3C;IACJ;8GAvFS,oBAAoB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,+BAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,eAAA,EAAA,iCAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,eAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MAwBK,wBAAwB,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EClD9D,6BACA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,CAAA,CAAA;;2FDyBa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAXhC,SAAS;+BACI,+BAA+B,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA;;sBAexC,WAAW;uBAAC,WAAW;;sBAEvB,WAAW;uBAAC,iCAAiC;;sBAK7C,WAAW;uBAAC,OAAO;;sBAYnB,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,UAAU,CAAC,MAAM,wBAAwB,CAAC;;;AEnCxD,MAAM,gBAAgB,GAAG;IAC5B,oBAAoB;IACpB,wBAAwB;IACxB,+BAA+B;IAC/B,6BAA6B;IAC7B,6BAA6B;IAC7B,uBAAuB;;;ACrB3B;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"eui-ecl-components-ecl-timeline.mjs","sources":["../../components/ecl-timeline/ecl-timeline-item-label.directive.ts","../../components/ecl-timeline/ecl-timeline-item-title.directive.ts","../../components/ecl-timeline/ecl-timeline-item-toggler.component.ts","../../components/ecl-timeline/ecl-timeline-item-toggler.component.html","../../components/ecl-timeline/events/ecl-timeline-item-toggle.event.ts","../../components/ecl-timeline/ecl-timeline-item.component.ts","../../components/ecl-timeline/ecl-timeline-item.component.html","../../components/ecl-timeline/ecl-timeline-set.directive.ts","../../components/ecl-timeline/ecl-timeline.component.ts","../../components/ecl-timeline/ecl-timeline.component.html","../../components/ecl-timeline/index.ts","../../components/ecl-timeline/eui-ecl-components-ecl-timeline.ts"],"sourcesContent":["import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive that applies the `ecl-timeline__label` class to an element.\n * Used to mark the label section within a timeline item.\n */\n@Directive({\n selector: '[eclTimelineItemLabel]',\n})\nexport class EclTimelineItemLabelDirective extends ECLBaseDirective {\n /**\n * CSS classes applied to the host element.\n * Adds `ecl-timeline__label` to style the label area of the timeline item.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-timeline__label')].join(' ').trim();\n }\n}\n","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive that applies the `ecl-timeline__title` class to an element.\n * Used to mark the title section within a timeline item.\n */\n@Directive({\n selector: '[eclTimelineItemTitle]',\n})\nexport class EclTimelineItemTitleDirective extends ECLBaseDirective {\n /**\n * CSS classes applied to the host element.\n * Adds `ecl-timeline__title` to style the title area of the timeline item.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-timeline__title')].join(' ').trim();\n }\n}\n","import { Component, EventEmitter, HostListener, Output } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Component representing a toggler inside a timeline item.\n * Emits a `toggle` event when clicked.\n */\n@Component({\n selector: 'ecl-timeline-item-toggler, li[eclTimelineItemToggler]',\n templateUrl: 'ecl-timeline-item-toggler.component.html',\n})\nexport class EclTimelineItemTogglerComponent extends ECLBaseDirective {\n /**\n * Event emitted when the toggler is activated (clicked).\n * Used to trigger expand/collapse behavior in the parent timeline item.\n */\n // eslint-disable-next-line\n @Output() toggle: EventEmitter<void> = new EventEmitter();\n\n /**\n * Handles click events on the toggler element and emits the `toggle` event.\n */\n @HostListener('click')\n onTogglerClick(): void {\n this.toggle.emit();\n }\n}\n","<ng-content></ng-content>\n","import { EclBaseEvent } from '@eui/ecl/core';\n\n/**\n * Event emitted when a timeline item is toggled (expanded or collapsed).\n */\nexport class EclTimelineItemToggleEvent extends EclBaseEvent {\n constructor(\n /**\n * Indicates whether the item is expanded after the toggle.\n */\n public isExpanded: boolean,\n\n /**\n * Identifier of the toggle group this item belongs to.\n */\n public toggleGroup: string,\n ) {\n super();\n }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n AfterContentInit,\n AfterViewChecked,\n booleanAttribute,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n inject,\n OnDestroy,\n Output,\n Renderer2,\n ViewChild,\n ViewEncapsulation,\n input,\n model,\n} from '@angular/core';\nimport { EUI_ECL_BUTTON } 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 } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { EclTimelineItemLabelDirective } from './ecl-timeline-item-label.directive';\nimport { EclTimelineItemTitleDirective } from './ecl-timeline-item-title.directive';\nimport { EclTimelineItemTogglerComponent } from './ecl-timeline-item-toggler.component';\nimport { EclTimelineItemToggleEvent } from './events/ecl-timeline-item-toggle.event';\n\n@Component({\n selector: 'ecl-timeline-item, li[eclTimelineItem]',\n templateUrl: 'ecl-timeline-item.component.html',\n imports: [...EUI_ECL_ICON, ...EUI_ECL_BUTTON, NgTemplateOutlet],\n styles: [\n `\n ecl-timeline-item {\n display: list-item;\n }\n `,\n ],\n encapsulation: ViewEncapsulation.None,\n})\nexport class EclTimelineItemComponent extends ECLBaseDirective implements AfterContentInit, AfterViewChecked, OnDestroy {\n /**\n * Text label shown when the item is collapsed and can be expanded.\n * Defaults to `'Expand'`.\n */\n readonly expandLabel = input('Expand');\n\n /**\n * Text label shown when the item is expanded and can be collapsed.\n * Defaults to `'Collapse'`.\n */\n readonly collapseLabel = input('Collapse');\n\n readonly isHeadline = input(false, { transform: booleanAttribute });\n\n /**\n * Indicates whether the toggler is initially expanded.\n * Used for toggler-type items.\n */\n readonly isTogglerExpanded = model(false);\n\n /**\n * Adds the `ecl-timeline__item` class to the host element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-timeline__item'),\n this.isHeadline() ? 'ecl-timeline__item--headline' : '',\n ].join(' ');\n }\n\n // @HostBinding('attr.style') customStyle = '';\n\n /**\n * Reference to a projected custom toggler component.\n */\n @ContentChild(forwardRef(() => EclTimelineItemTogglerComponent))\n timelineItemToggler: EclTimelineItemTogglerComponent;\n\n @ContentChild(forwardRef(() => EclTimelineItemTitleDirective))\n timelineTitle: EclTimelineItemTitleDirective;\n\n /**\n * Reference to a projected ECL link, used for setting focus after toggle.\n */\n @ContentChild(forwardRef(() => EclLinkDirective)) eclLink: EclLinkDirective;\n\n /**\n * Reference to a projected label for the item. Used to set height, when item has no content and title.\n */\n @ContentChild(forwardRef(() => EclTimelineItemLabelDirective), { read: ElementRef }) eclTimelineItemLabel: ElementRef;\n\n /**\n * Whether the item is collapsed.\n * Adds the `ecl-timeline__item--collapsed` CSS class when true.\n */\n @HostBinding('class.ecl-timeline__item--collapsed')\n readonly isCollapsed = input(false, { transform: booleanAttribute });\n\n /**\n * Whether the item is a toggler (e.g. expands/collapses related items).\n * Adds the `ecl-timeline__item--toggle` CSS class when true.\n */\n @HostBinding('class.ecl-timeline__item--toggle')\n readonly isToggler = input(false, { transform: booleanAttribute });\n\n /**\n * Name of the toggle group that this item belongs to.\n * Used to coordinate collapsing/expanding related items.\n */\n readonly toggleGroup = input<string>(undefined);\n\n /**\n * Event emitted when the toggler is clicked.\n * Consumers can call `preventDefault()` on the event to cancel toggle behavior.\n */\n // eslint-disable-next-line\n @Output() toggle = new EventEmitter<EclTimelineItemToggleEvent>();\n\n @ViewChild('contentSlot')\n private contentSlotRef: ElementRef<HTMLElement>;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private hasContent = false;\n private hasHeight = false;\n private renderer = inject(Renderer2);\n private host = inject(ElementRef<HTMLElement>);\n\n ngAfterViewChecked(): void {\n if (!this.hasHeight) {\n setTimeout(() => {\n const node = this.contentSlotRef?.nativeElement;\n if (node) {\n this.hasContent =\n (node.textContent?.trim().length ?? 0) > 0 || node.children.length > 0;\n }\n if (!this.isToggler() && this.eclTimelineItemLabel) {\n const labelHeight = this.eclTimelineItemLabel.nativeElement.getBoundingClientRect().height;\n this.hasHeight = labelHeight > 0;\n this.host.nativeElement.style.setProperty('--ecl-timeline-label-height', `${labelHeight}px`);\n this.renderer.setStyle(this.host.nativeElement, 'box-sizing', 'unset');\n }\n });\n }\n }\n\n /**\n * Lifecycle hook that sets up event subscriptions after content is initialized.\n */\n ngAfterContentInit(): void {\n if (this.timelineItemToggler) {\n this.timelineItemToggler.toggle.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.handleToggler();\n });\n }\n }\n\n /**\n * Lifecycle hook called on component destruction to clean up subscriptions.\n */\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n /**\n * True if the expand label should be visible.\n */\n get isShowExpandLabel(): boolean {\n return !!this.expandLabel() && !this.isTogglerExpanded();\n }\n\n /**\n * True if the collapse label should be visible.\n */\n get isShowCollapseLabel(): boolean {\n return !!this.collapseLabel() && this.isTogglerExpanded();\n }\n\n /**\n * Checks whether the default toggler UI should be used.\n * Returns true if this is a toggler and no custom toggler component is projected.\n */\n hasDefaultToggler(): boolean {\n return this.isToggler() && !this.timelineItemToggler;\n }\n\n /**\n * Handles click events from the default toggler element.\n *\n * @param evt The mouse click event.\n */\n onTogglerClick(evt: MouseEvent): void {\n this.handleToggler();\n }\n\n private handleToggler(): void {\n const nextExpandedState = !this.isTogglerExpanded();\n const event = new EclTimelineItemToggleEvent(nextExpandedState, this.toggleGroup());\n\n if (!event.defaultPrevented) {\n this.toggle.next(event);\n this.isTogglerExpanded.set(nextExpandedState);\n }\n }\n}\n","@if (isToggler()) {\n <div class=\"ecl-timeline__content\">\n @if (hasDefaultToggler()) {\n <button eclButton (click)=\"onTogglerClick($event)\" variant=\"secondary\">\n @if (isShowExpandLabel) {\n <span eclButtonLabel> {{ expandLabel() }} </span>\n }\n @if (isShowCollapseLabel) {\n <span eclButtonLabel> {{ collapseLabel() }} </span>\n }\n <ecl-icon icon=\"corner-arrow\" size=\"fluid\" [transform]=\"!isTogglerExpanded() ? 'rotate-180' : ''\"></ecl-icon>\n </button>\n }\n\n\n <ng-content select=\"ecl-timeline-item-toggler\"></ng-content>\n\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n}\n@else {\n <div class=\"ecl-timeline__tooltip\">\n <div class=\"ecl-timeline__tooltip-arrow\"></div>\n <ng-content select=\"[eclTimelineItemLabel]\"></ng-content>\n\n <ng-content select=\"[eclTimelineItemTitle]\"></ng-content>\n\n <div class=\"ecl-timeline__content\" #contentSlot>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n </div>\n}\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive that applies the `ecl-timeline-set` class to an element.\n */\n@Directive({\n selector: '[eclTimelineSet]',\n})\nexport class EclTimelineSetDirective extends ECLBaseDirective {\n\n @HostBinding('class.ecl-timeline-set') hasClass = true;\n}\n","import {\n Component,\n AfterContentInit,\n ContentChildren,\n forwardRef,\n QueryList,\n OnDestroy,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclTimelineItemComponent } from './ecl-timeline-item.component';\nimport { EclTimelineItemToggleEvent } from './events/ecl-timeline-item-toggle.event';\n\n@Component({\n selector: 'ecl-timeline, ol[eclTimeline]',\n templateUrl: 'ecl-timeline.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n host: {\n 'role': 'list',\n '[attr.data-ecl-timeline-expanded]': 'isExpanded',\n '[class]': 'cssClasses',\n },\n})\nexport class EclTimelineComponent extends ECLBaseDirective implements AfterContentInit, OnDestroy {\n isExpanded: boolean | null = null;\n\n /**\n * Applies the `ecl-timeline` CSS class to the host element.\n */\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-timeline'),\n this.hasHeadlineItem ? 'ecl-timeline--has-headline' : '',\n ].join(' ');\n }\n\n /**\n * List of projected `EclTimelineItemComponent` instances.\n * Collected using `@ContentChildren`.\n */\n @ContentChildren(forwardRef(() => EclTimelineItemComponent))\n timelineItems: QueryList<EclTimelineItemComponent>;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private isFirstExpandedLinkFocused = false;\n private hasHeadlineItem = false;\n\n /**\n * Lifecycle hook that is called after content (child components)\n * has been fully initialized.\n *\n * It sets up toggle event subscriptions for `isToggler` items and\n * collapses/expands related content items accordingly.\n */\n ngAfterContentInit(): void {\n this.timelineItems\n .filter((item) => item.isToggler())\n .forEach((it) => {\n it.toggle.pipe(takeUntil(this.destroy$)).subscribe((evt: EclTimelineItemToggleEvent) => {\n if (evt.isExpanded) {\n this.isExpanded = true;\n } else {\n this.isExpanded = null;\n }\n if (this.timelineItems && !evt.defaultPrevented) {\n this.timelineItems\n .filter((item) => item.toggleGroup() === evt.toggleGroup)\n .filter((item) => !item.isToggler())\n .forEach((item) => {\n // item.isCollapsed = !item.isCollapsed;\n this.onFocusFirstExpandedLink(item);\n });\n }\n });\n });\n\n if (this.timelineItems?.find(item => item.isHeadline()) !== undefined) this.hasHeadlineItem = true;\n }\n\n /**\n * Lifecycle hook called when the component is destroyed.\n * Cleans up subscriptions.\n */\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n /**\n * Focuses the first link in the expanded timeline item,\n * ensuring it's only done once per toggle group interaction.\n *\n * @param item The timeline item to check and potentially focus.\n */\n onFocusFirstExpandedLink(item: EclTimelineItemComponent): void {\n if (!item.isCollapsed()) {\n if (!this.isFirstExpandedLinkFocused && item.eclLink) {\n setTimeout(() => item.eclLink.onFocus());\n this.isFirstExpandedLinkFocused = true;\n }\n } else {\n this.isFirstExpandedLinkFocused = false;\n }\n }\n}\n","<ng-content></ng-content>\n","import { EclTimelineItemLabelDirective } from './ecl-timeline-item-label.directive';\nimport { EclTimelineItemTitleDirective } from './ecl-timeline-item-title.directive';\nimport { EclTimelineItemTogglerComponent } from './ecl-timeline-item-toggler.component';\nimport { EclTimelineItemComponent } from './ecl-timeline-item.component';\nimport { EclTimelineSetDirective } from './ecl-timeline-set.directive';\nimport { EclTimelineComponent } from './ecl-timeline.component';\n\nexport * from './ecl-timeline.component';\nexport * from './ecl-timeline-item.component';\nexport * from './ecl-timeline-item-label.directive';\nexport * from './ecl-timeline-item-title.directive';\nexport * from './ecl-timeline-item-toggler.component';\nexport * from './ecl-timeline-set.directive';\nexport * from './events/ecl-timeline-item-toggle.event';\n\nexport const EUI_ECL_TIMELINE = [\n EclTimelineComponent,\n EclTimelineItemComponent,\n EclTimelineItemTogglerComponent,\n EclTimelineItemLabelDirective,\n EclTimelineItemTitleDirective,\n EclTimelineSetDirective,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|