@eui/ecl 23.0.0-alpha.4 → 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 +38 -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 +154 -138
- package/docs/miscellaneous/variables.html +2 -2
- 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 +1 -1
- 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 { inject, HostBinding, Component, EventEmitter, IterableDiffers,
|
|
2
|
+
import { inject, HostBinding, Component, input, booleanAttribute, EventEmitter, IterableDiffers, ContentChildren, forwardRef, Output, Input, Directive, ElementRef, ViewContainerRef, Renderer2, HostListener, ChangeDetectorRef } from '@angular/core';
|
|
3
3
|
import { Subject } from 'rxjs';
|
|
4
4
|
import { takeUntil } from 'rxjs/operators';
|
|
5
5
|
import { ECLBaseDirective, EclThemeService, EclBaseEvent } from '@eui/ecl/core';
|
|
@@ -85,14 +85,14 @@ class EclTableDirective extends ECLBaseDirective {
|
|
|
85
85
|
* Computed list of CSS classes for the host element.
|
|
86
86
|
*/
|
|
87
87
|
get cssClasses() {
|
|
88
|
-
return [super.getCssClasses('ecl-table'), this.isZebra ? 'ecl-table--zebra' : '', this.isSimple ? 'ecl-table--simple' : ''].join(' ').trim();
|
|
88
|
+
return [super.getCssClasses('ecl-table'), this.isZebra() ? 'ecl-table--zebra' : '', this.isSimple ? 'ecl-table--simple' : ''].join(' ').trim();
|
|
89
89
|
}
|
|
90
90
|
constructor() {
|
|
91
91
|
super();
|
|
92
92
|
/**
|
|
93
93
|
* Applies zebra striping to the table rows by adding the `ecl-table--zebra` class if true.
|
|
94
94
|
*/
|
|
95
|
-
this.isZebra = false;
|
|
95
|
+
this.isZebra = input(false, { ...(ngDevMode ? { debugName: "isZebra" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
96
96
|
/**
|
|
97
97
|
* Applies the "simple" table variant if true.
|
|
98
98
|
* Automatically enabled if no header is detected.
|
|
@@ -151,17 +151,14 @@ class EclTableDirective extends ECLBaseDirective {
|
|
|
151
151
|
}
|
|
152
152
|
}
|
|
153
153
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclTableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
154
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
154
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.5", type: EclTableDirective, isStandalone: true, selector: "[eclTable]", inputs: { isZebra: { classPropertyName: "isZebra", publicName: "isZebra", isSignal: true, isRequired: false, transformFunction: null }, isSimple: { classPropertyName: "isSimple", publicName: "isSimple", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { sort: "sort" }, host: { properties: { "attr.id": "this.id", "class": "this.cssClasses" } }, queries: [{ propertyName: "eclTableHeaders", predicate: i0.forwardRef(() => EclTableHeaderDirective), descendants: true }], usesInheritance: true, ngImport: i0 }); }
|
|
155
155
|
}
|
|
156
156
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclTableDirective, decorators: [{
|
|
157
157
|
type: Directive,
|
|
158
158
|
args: [{
|
|
159
159
|
selector: '[eclTable]',
|
|
160
160
|
}]
|
|
161
|
-
}], ctorParameters: () => [], propDecorators: { isZebra: [{
|
|
162
|
-
type: Input,
|
|
163
|
-
args: [{ transform: booleanAttribute }]
|
|
164
|
-
}], isSimple: [{
|
|
161
|
+
}], ctorParameters: () => [], propDecorators: { isZebra: [{ type: i0.Input, args: [{ isSignal: true, alias: "isZebra", required: false }] }], isSimple: [{
|
|
165
162
|
type: Input,
|
|
166
163
|
args: [{ transform: booleanAttribute }]
|
|
167
164
|
}], id: [{
|
|
@@ -253,6 +250,11 @@ class EclTableHeaderDirective extends ECLBaseDirective {
|
|
|
253
250
|
* Scope of the table header. Default is `col`. Sets the `scope` attribute.
|
|
254
251
|
*/
|
|
255
252
|
this.scope = 'col';
|
|
253
|
+
/**
|
|
254
|
+
* Aria-label for the sort button that will be injected into the header cell.
|
|
255
|
+
*/
|
|
256
|
+
this.sortButtonAriaLabel = input(undefined, /* @ts-ignore */
|
|
257
|
+
...(ngDevMode ? [{ debugName: "sortButtonAriaLabel" }] : /* istanbul ignore next */ []));
|
|
256
258
|
/**
|
|
257
259
|
* Emits an `EclSortTableEvent` when the header is clicked and sorting is triggered.
|
|
258
260
|
*/
|
|
@@ -325,7 +327,7 @@ class EclTableHeaderDirective extends ECLBaseDirective {
|
|
|
325
327
|
}
|
|
326
328
|
}
|
|
327
329
|
changeButtonAriaLabel(newAriaLabel) {
|
|
328
|
-
if (!this.sortButtonAriaLabel) {
|
|
330
|
+
if (!this.sortButtonAriaLabel()) {
|
|
329
331
|
this.containerComponentRef.instance.ariaLabel = newAriaLabel;
|
|
330
332
|
}
|
|
331
333
|
}
|
|
@@ -338,8 +340,9 @@ class EclTableHeaderDirective extends ECLBaseDirective {
|
|
|
338
340
|
setTimeout(() => {
|
|
339
341
|
this.containerComponentRef = this.viewContainerRef.createComponent(EclTableSortButtonComponent);
|
|
340
342
|
this.renderer.appendChild(this.el.nativeElement, this.containerComponentRef.location.nativeElement);
|
|
341
|
-
|
|
342
|
-
|
|
343
|
+
const sortButtonAriaLabel = this.sortButtonAriaLabel();
|
|
344
|
+
if (sortButtonAriaLabel) {
|
|
345
|
+
this.containerComponentRef.instance.ariaLabel = sortButtonAriaLabel;
|
|
343
346
|
}
|
|
344
347
|
else {
|
|
345
348
|
this.containerComponentRef.instance.ariaLabel = this.translateService.instant('ecl.table.SORT-LABEL.default');
|
|
@@ -348,7 +351,7 @@ class EclTableHeaderDirective extends ECLBaseDirective {
|
|
|
348
351
|
}
|
|
349
352
|
}
|
|
350
353
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclTableHeaderDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
351
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
354
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.5", type: EclTableHeaderDirective, isStandalone: true, selector: "[eclTableHeader]", inputs: { eclSortable: { classPropertyName: "eclSortable", publicName: "eclSortable", isSignal: false, isRequired: false, transformFunction: null }, scope: { classPropertyName: "scope", publicName: "scope", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, sortButtonAriaLabel: { classPropertyName: "sortButtonAriaLabel", publicName: "sortButtonAriaLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { sort: "sort" }, host: { listeners: { "click": "onClick($event)" }, properties: { "attr.aria-sort": "this.ariaSort", "attr.data-ecl-table-sort-toggle": "this.eclSortable", "attr.scope": "this.scope", "attr.id": "this.id", "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0 }); }
|
|
352
355
|
}
|
|
353
356
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclTableHeaderDirective, decorators: [{
|
|
354
357
|
type: Directive,
|
|
@@ -373,9 +376,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
|
|
|
373
376
|
}, {
|
|
374
377
|
type: HostBinding,
|
|
375
378
|
args: ['attr.id']
|
|
376
|
-
}], sortButtonAriaLabel: [{
|
|
377
|
-
type: Input
|
|
378
|
-
}], cssClasses: [{
|
|
379
|
+
}], sortButtonAriaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "sortButtonAriaLabel", required: false }] }], cssClasses: [{
|
|
379
380
|
type: HostBinding,
|
|
380
381
|
args: ['class']
|
|
381
382
|
}], sort: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-ecl-components-ecl-table.mjs","sources":["../../components/ecl-table/ecl-table-sort-button.component.ts","../../components/ecl-table/ecl-table-sort-button.component.html","../../components/ecl-table/events/ecl-sort-table.event.ts","../../components/ecl-table/ecl-table.directive.ts","../../components/ecl-table/index.ts","../../components/ecl-table/eui-ecl-components-ecl-table.ts"],"sourcesContent":["import { Component, HostBinding, inject } from '@angular/core';\nimport { AsyncPipe } from '@angular/common';\nimport { EclThemeService } from '@eui/ecl/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\n\n/**\n * Sort button component used inside sortable table headers.\n *\n * Applies ECL styling for table sort arrows and provides\n * accessibility label for screen readers.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[eclTableSortButton]',\n templateUrl: './ecl-table-sort-button.component.html',\n imports: [...EUI_ECL_ICON, AsyncPipe],\n})\nexport class EclTableSortButtonComponent extends ECLBaseDirective {\n eclThemeService = inject(EclThemeService);\n\n /**\n * Accessibility label describing the button's function.\n * This value is bound to the `aria-label` attribute.\n */\n @HostBinding('attr.aria-label') ariaLabel = 'Sort table';\n\n /**\n * CSS classes applied to the host element.\n * Includes ECL base table sort arrow styling.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__arrow')].join(' ').trim();\n }\n}\n","<ecl-icon icon=\"solid-arrow\" class=\"ecl-table__icon ecl-table__icon-up\" [size]=\"(eclThemeService.isEC$ | async) ? 'xs' : 'm'\"> </ecl-icon>\n<ecl-icon icon=\"solid-arrow\" class=\"ecl-table__icon ecl-table__icon-down\" [size]=\"(eclThemeService.isEC$ | async) ? 'xs' : 'm'\"> </ecl-icon>\n","import { EclBaseEvent } from '@eui/ecl/core';\nimport { SortOrder } from '../ecl-table.directive';\n\n/**\n * Event emitted when the table sort order changes.\n *\n * Extends the base ECL event to provide sorting-specific information.\n */\nexport class EclSortTableEvent extends EclBaseEvent {\n constructor(\n /**\n * The order in which the table is currently sorted.\n * Can be 'ascending', 'descending', or null (unsorted).\n */\n public sortOrder: SortOrder,\n\n /**\n * The identifier of the column that triggered the sort event.\n */\n public columnId: string,\n ) {\n super();\n }\n}\n","import {\n AfterContentInit,\n ContentChildren,\n Directive,\n DoCheck,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n IterableDiffer,\n IterableDiffers,\n OnDestroy,\n Output,\n QueryList,\n ViewContainerRef,\n booleanAttribute,\n Renderer2,\n AfterViewInit,\n ChangeDetectorRef,\n OnInit,\n inject,\n ComponentRef,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclTableSortButtonComponent } from './ecl-table-sort-button.component';\nimport { EclSortTableEvent } from './events/ecl-sort-table.event';\nimport { TranslateService } from '@ngx-translate/core';\n\n/**\n * Enum representing the sort order of a column.\n */\nexport enum SortOrder {\n DESCENDING = 'descending',\n ASCENDING = 'ascending',\n}\n\n/**\n * Directive for styling and managing behavior of ECL tables.\n *\n * Applies ECL-specific table classes and emits sort events when columns are sorted.\n */\n@Directive({\n selector: '[eclTable]',\n})\nexport class EclTableDirective extends ECLBaseDirective implements DoCheck, OnDestroy, OnInit, AfterContentInit {\n /**\n * Applies zebra striping to the table rows by adding the `ecl-table--zebra` class if true.\n */\n @Input({ transform: booleanAttribute }) isZebra = false;\n\n /**\n * Applies the \"simple\" table variant if true.\n * Automatically enabled if no header is detected.\n */\n @Input({ transform: booleanAttribute }) isSimple = false;\n\n /**\n * The HTML ID attribute of the table. If not provided, a UUID is generated.\n */\n @Input() @HostBinding ('attr.id') id: string;\n\n /**\n * Computed list of CSS classes for the host element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table'), this.isZebra ? 'ecl-table--zebra' : '', this.isSimple ? 'ecl-table--simple' : ''].join(' ').trim();\n }\n\n /**\n * Emits an event when a column sort is triggered.\n */\n @Output() sort = new EventEmitter<EclSortTableEvent>();\n\n /**\n * List of header directives detected in the content.\n */\n @ContentChildren(forwardRef(() => EclTableHeaderDirective), { descendants: true })\n eclTableHeaders: QueryList<EclTableHeaderDirective>;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private differ: IterableDiffer<EclTableHeaderDirective>;\n private differs = inject(IterableDiffers);\n\n constructor() {\n super();\n this.differ = this.differs.find([]).create();\n }\n\n /**\n * Lifecycle hook that runs on component initialization.\n * Generates a unique ID if none is provided.\n */\n ngOnInit(): void {\n if (!this.id) {\n this.id = crypto.randomUUID();\n }\n }\n\n /**\n * Lifecycle hook that runs after content is fully initialized.\n * Determines if the table should be rendered in \"simple\" mode.\n */\n ngAfterContentInit(): void {\n this.convertToSimpleVariant();\n }\n\n /**\n * Custom change detection for dynamically added header directives.\n */\n ngDoCheck(): void {\n const diff = this.differ.diff(this.eclTableHeaders);\n if (diff) {\n diff.forEachAddedItem((change) => {\n change.item.sort.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.sort.emit(evt);\n });\n });\n }\n }\n\n /**\n * Cleans up subscriptions on destroy to prevent memory leaks.\n */\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n /**\n * Sets the table to \"simple\" variant if no header directives are found.\n */\n private convertToSimpleVariant(): void {\n if (this.eclTableHeaders.length === 0) {\n this.isSimple = true;\n }\n }\n}\n\n/**\n * Directive applied to `<thead>` elements inside a table.\n * Detects header changes and manages ARIA attributes.\n */\n@Directive({\n selector: '[eclTableHead]',\n})\nexport class EclTableHeadDirective extends ECLBaseDirective implements OnDestroy, DoCheck {\n /**\n * Applies the ECL head class to the element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__head')].join(' ').trim();\n }\n\n /**\n * List of header directives under this head element.\n */\n @ContentChildren(forwardRef(() => EclTableHeaderDirective), { descendants: true })\n eclTableHeaders: QueryList<EclTableHeaderDirective>;\n\n private differs = inject(IterableDiffers);\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private differ: IterableDiffer<EclTableHeaderDirective>;\n\n constructor() {\n super();\n this.differ = this.differs.find([]).create();\n }\n\n /**\n * Detects dynamic addition of header directives and resets ARIA sorting attributes.\n */\n ngDoCheck(): void {\n const diff = this.differ.diff(this.eclTableHeaders);\n if (diff) {\n diff.forEachAddedItem((change) => {\n change.item.sort.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.eclTableHeaders.forEach((th) => {\n th.removeAriaSort();\n });\n });\n });\n }\n }\n\n /**\n * Cleans up subscriptions on destroy to prevent memory leaks.\n */\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n}\n\n@Directive({\n selector: '[eclTableHeader]',\n})\n/**\n * Directive representing a single table header cell in an ECL table.\n * Supports sorting functionality and accessibility attributes.\n */\nexport class EclTableHeaderDirective extends ECLBaseDirective implements AfterContentInit, OnInit {\n /**\n * Current sort order of the column (`ascending`, `descending`, or `null`).\n * This sets the `aria-sort` attribute used for accessibility.\n */\n sortOrder: SortOrder | null = null;\n\n @HostBinding('attr.aria-sort')\n get ariaSort(): SortOrder | 'none' {\n return this.sortOrder ?? 'none';\n }\n\n /**\n * Enables sorting on the header. Also sets the `data-ecl-table-sort-toggle` attribute.\n * Acts as the unique identifier for the column when sorting.\n */\n @Input() @HostBinding('attr.data-ecl-table-sort-toggle') eclSortable = null;\n\n /**\n * Scope of the table header. Default is `col`. Sets the `scope` attribute.\n */\n @Input() @HostBinding('attr.scope') scope = 'col';\n\n /**\n * HTML `id` attribute of the table header cell. If not provided, a UUID will be generated.\n */\n @Input() @HostBinding('attr.id') id: string;\n\n /**\n * Aria-label for the sort button that will be injected into the header cell.\n */\n @Input() sortButtonAriaLabel: string;\n\n /**\n * Computes the CSS classes applied to the header element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__header')].join(' ').trim();\n }\n\n /**\n * Emits an `EclSortTableEvent` when the header is clicked and sorting is triggered.\n */\n @Output() sort = new EventEmitter<EclSortTableEvent>();\n\n private containerComponentRef: ComponentRef<EclTableSortButtonComponent>;\n private el = inject(ElementRef);\n private viewContainerRef = inject(ViewContainerRef);\n private renderer = inject(Renderer2);\n private translateService = inject(TranslateService);\n /**\n * Lifecycle hook that runs on component initialization.\n * Generates a unique `id` if not already defined.\n */\n ngOnInit(): void {\n if (!this.id) {\n this.id = crypto.randomUUID();\n }\n }\n\n /**\n * Lifecycle hook that runs after the view is initialized.\n * Injects the sort button into the header cell if sorting is enabled.\n */\n ngAfterContentInit(): void {\n this.initSortButtons();\n }\n\n /**\n * Clears the `aria-sort` attribute, used to visually and semantically reset previous sort state.\n *\n * Remove the dark arrow for current sorting from prev sorted column\n */\n removeAriaSort(): void {\n this.renderer.setAttribute(this.el.nativeElement, 'aria-sort', 'none');\n }\n\n /**\n * Handles click events on the header.\n * Cycles through sort orders: `null` -> `ascending` -> `descending` -> `null`.\n * Emits a `EclSortTableEvent` with the updated sort state and column identifier.\n *\n * Click triggers 1 -> asc sorting, 2 -> desc sorting then 3 -> initial sorting\n */\n @HostListener('click', ['$event'])\n onClick(evt: Event): void {\n if (this.eclSortable) {\n switch (this.sortOrder) {\n case null: {\n this.sortOrder = SortOrder.ASCENDING;\n this.changeButtonAriaLabel(this.translateService.instant('ecl.table.SORT-LABEL.ascending'));\n break;\n }\n case SortOrder.ASCENDING: {\n this.sortOrder = SortOrder.DESCENDING;\n this.changeButtonAriaLabel(this.translateService.instant('ecl.table.SORT-LABEL.descending'));\n break;\n }\n case SortOrder.DESCENDING: {\n this.sortOrder = null;\n this.changeButtonAriaLabel(this.translateService.instant('ecl.table.SORT-LABEL.default'));\n break;\n }\n }\n\n this.sort.emit(new EclSortTableEvent(this.sortOrder, this.eclSortable));\n }\n }\n\n private changeButtonAriaLabel(newAriaLabel: string): void {\n if (!this.sortButtonAriaLabel) {\n this.containerComponentRef.instance.ariaLabel = newAriaLabel;\n }\n }\n\n /**\n * Dynamically creates and appends the sort button to the header cell.\n * Optionally sets the button's `aria-label` if provided.\n */\n private initSortButtons(): void {\n if (this.eclSortable) {\n setTimeout(() => {\n this.containerComponentRef = this.viewContainerRef.createComponent(EclTableSortButtonComponent);\n this.renderer.appendChild(this.el.nativeElement, this.containerComponentRef.location.nativeElement);\n if (this.sortButtonAriaLabel) {\n this.containerComponentRef.instance.ariaLabel = this.sortButtonAriaLabel;\n } else {\n this.containerComponentRef.instance.ariaLabel = this.translateService.instant('ecl.table.SORT-LABEL.default');\n }\n });\n }\n }\n}\n\n@Directive({\n selector: '[eclTableRow]',\n})\n/**\n * Directive for applying ECL row styling to a table row element.\n */\nexport class EclTableRowDirective extends ECLBaseDirective {\n /**\n * Applies `ecl-table__row` class to the table row.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__row')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclTableBody]',\n})\n/**\n * Directive for applying ECL body styling to a table body element.\n */\nexport class EclTableBodyDirective extends ECLBaseDirective {\n /**\n * Applies `ecl-table__body` class to the table body.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__body')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclTableCell]',\n})\n/**\n * Directive for styling individual table cells in the ECL table.\n */\nexport class EclTableCellDirective extends ECLBaseDirective {\n /**\n * Provides a reference to the related table header.\n * Sets the `data-ecl-table-header` attribute for accessibility or responsive behavior.\n */\n @Input() @HostBinding('attr.data-ecl-table-header') eclTableCellHeader: string;\n\n /**\n * If `true`, applies additional group styling to the cell.\n */\n @Input() @HostBinding('class.ecl-table__cell--group') isGroup = false;\n\n /**\n * Computes and applies appropriate CSS classes for the table cell.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__cell'), this.isGroup ? 'ecl-table__cell--group' : ''].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclTableCellGroup]',\n})\n/**\n * Directive used to group multiple table cells under a shared header group.\n */\nexport class EclTableCellGroupDirective extends ECLBaseDirective implements AfterViewInit {\n /**\n * Sets the `data-ecl-table-header-group` attribute to link to a header group.\n */\n @Input() @HostBinding('attr.data-ecl-table-header-group') eclTableCellGroup: string;\n\n /**\n * Applies the group-specific cell class.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__cell--group')].join(' ').trim();\n }\n\n private cd = inject(ChangeDetectorRef);\n /**\n * Ensures `data-ecl-table-header-group` is not empty and triggers change detection.\n */\n ngAfterViewInit(): void {\n this.eclTableCellGroup = this.eclTableCellGroup !== '' ? this.eclTableCellGroup : null;\n this.cd.detectChanges();\n }\n}\n\n@Directive({\n selector: '[eclTableResponsive]',\n})\n/**\n * Directive for applying ECL responsive wrapper to a table container.\n */\nexport class EclTableResponsiveDirective extends ECLBaseDirective {\n /**\n * Applies the `ecl-table-responsive` class.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table-responsive')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: 'caption[eclTableCaption]',\n})\n/**\n * Directive for applying styling to a table caption element.\n */\nexport class EclTableCaptionDirective extends ECLBaseDirective {\n /**\n * Applies the `ecl-table__caption` class to the caption.\n */\n @HostBinding('class.ecl-table__caption') hasClass = true;\n}\n","import {\n EclTableDirective,\n EclTableHeadDirective,\n EclTableHeaderDirective,\n EclTableRowDirective,\n EclTableBodyDirective,\n EclTableCellDirective,\n EclTableCellGroupDirective,\n EclTableResponsiveDirective,\n EclTableCaptionDirective,\n} from './ecl-table.directive';\nimport { EclTableSortButtonComponent } from './ecl-table-sort-button.component';\n\nexport * from './ecl-table.directive';\nexport * from './ecl-table-sort-button.component';\nexport * from './events/ecl-sort-table.event';\n\nexport const EUI_ECL_TABLE = [\n EclTableCaptionDirective,\n EclTableDirective,\n EclTableHeadDirective,\n EclTableHeaderDirective,\n EclTableRowDirective,\n EclTableBodyDirective,\n EclTableCellDirective,\n EclTableCellGroupDirective,\n EclTableSortButtonComponent,\n EclTableResponsiveDirective,\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-table.mjs","sources":["../../components/ecl-table/ecl-table-sort-button.component.ts","../../components/ecl-table/ecl-table-sort-button.component.html","../../components/ecl-table/events/ecl-sort-table.event.ts","../../components/ecl-table/ecl-table.directive.ts","../../components/ecl-table/index.ts","../../components/ecl-table/eui-ecl-components-ecl-table.ts"],"sourcesContent":["import { Component, HostBinding, inject } from '@angular/core';\nimport { AsyncPipe } from '@angular/common';\nimport { EclThemeService } from '@eui/ecl/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\n\n/**\n * Sort button component used inside sortable table headers.\n *\n * Applies ECL styling for table sort arrows and provides\n * accessibility label for screen readers.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[eclTableSortButton]',\n templateUrl: './ecl-table-sort-button.component.html',\n imports: [...EUI_ECL_ICON, AsyncPipe],\n})\nexport class EclTableSortButtonComponent extends ECLBaseDirective {\n eclThemeService = inject(EclThemeService);\n\n /**\n * Accessibility label describing the button's function.\n * This value is bound to the `aria-label` attribute.\n */\n @HostBinding('attr.aria-label') ariaLabel = 'Sort table';\n\n /**\n * CSS classes applied to the host element.\n * Includes ECL base table sort arrow styling.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__arrow')].join(' ').trim();\n }\n}\n","<ecl-icon icon=\"solid-arrow\" class=\"ecl-table__icon ecl-table__icon-up\" [size]=\"(eclThemeService.isEC$ | async) ? 'xs' : 'm'\"> </ecl-icon>\n<ecl-icon icon=\"solid-arrow\" class=\"ecl-table__icon ecl-table__icon-down\" [size]=\"(eclThemeService.isEC$ | async) ? 'xs' : 'm'\"> </ecl-icon>\n","import { EclBaseEvent } from '@eui/ecl/core';\nimport { SortOrder } from '../ecl-table.directive';\n\n/**\n * Event emitted when the table sort order changes.\n *\n * Extends the base ECL event to provide sorting-specific information.\n */\nexport class EclSortTableEvent extends EclBaseEvent {\n constructor(\n /**\n * The order in which the table is currently sorted.\n * Can be 'ascending', 'descending', or null (unsorted).\n */\n public sortOrder: SortOrder,\n\n /**\n * The identifier of the column that triggered the sort event.\n */\n public columnId: string,\n ) {\n super();\n }\n}\n","import {\n AfterContentInit,\n ContentChildren,\n Directive,\n DoCheck,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n IterableDiffer,\n IterableDiffers,\n OnDestroy,\n Output,\n QueryList,\n ViewContainerRef,\n booleanAttribute,\n Renderer2,\n AfterViewInit,\n ChangeDetectorRef,\n OnInit,\n inject,\n ComponentRef,\n input,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclTableSortButtonComponent } from './ecl-table-sort-button.component';\nimport { EclSortTableEvent } from './events/ecl-sort-table.event';\nimport { TranslateService } from '@ngx-translate/core';\n\n/**\n * Enum representing the sort order of a column.\n */\nexport enum SortOrder {\n DESCENDING = 'descending',\n ASCENDING = 'ascending',\n}\n\n/**\n * Directive for styling and managing behavior of ECL tables.\n *\n * Applies ECL-specific table classes and emits sort events when columns are sorted.\n */\n@Directive({\n selector: '[eclTable]',\n})\nexport class EclTableDirective extends ECLBaseDirective implements DoCheck, OnDestroy, OnInit, AfterContentInit {\n /**\n * Applies zebra striping to the table rows by adding the `ecl-table--zebra` class if true.\n */\n readonly isZebra = input(false, { transform: booleanAttribute });\n\n /**\n * Applies the \"simple\" table variant if true.\n * Automatically enabled if no header is detected.\n */\n @Input({ transform: booleanAttribute }) isSimple = false;\n\n /**\n * The HTML ID attribute of the table. If not provided, a UUID is generated.\n */\n @Input() @HostBinding ('attr.id') id: string;\n\n /**\n * Computed list of CSS classes for the host element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table'), this.isZebra() ? 'ecl-table--zebra' : '', this.isSimple ? 'ecl-table--simple' : ''].join(' ').trim();\n }\n\n /**\n * Emits an event when a column sort is triggered.\n */\n @Output() sort = new EventEmitter<EclSortTableEvent>();\n\n /**\n * List of header directives detected in the content.\n */\n @ContentChildren(forwardRef(() => EclTableHeaderDirective), { descendants: true })\n eclTableHeaders: QueryList<EclTableHeaderDirective>;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private differ: IterableDiffer<EclTableHeaderDirective>;\n private differs = inject(IterableDiffers);\n\n constructor() {\n super();\n this.differ = this.differs.find([]).create();\n }\n\n /**\n * Lifecycle hook that runs on component initialization.\n * Generates a unique ID if none is provided.\n */\n ngOnInit(): void {\n if (!this.id) {\n this.id = crypto.randomUUID();\n }\n }\n\n /**\n * Lifecycle hook that runs after content is fully initialized.\n * Determines if the table should be rendered in \"simple\" mode.\n */\n ngAfterContentInit(): void {\n this.convertToSimpleVariant();\n }\n\n /**\n * Custom change detection for dynamically added header directives.\n */\n ngDoCheck(): void {\n const diff = this.differ.diff(this.eclTableHeaders);\n if (diff) {\n diff.forEachAddedItem((change) => {\n change.item.sort.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.sort.emit(evt);\n });\n });\n }\n }\n\n /**\n * Cleans up subscriptions on destroy to prevent memory leaks.\n */\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n /**\n * Sets the table to \"simple\" variant if no header directives are found.\n */\n private convertToSimpleVariant(): void {\n if (this.eclTableHeaders.length === 0) {\n this.isSimple = true;\n }\n }\n}\n\n/**\n * Directive applied to `<thead>` elements inside a table.\n * Detects header changes and manages ARIA attributes.\n */\n@Directive({\n selector: '[eclTableHead]',\n})\nexport class EclTableHeadDirective extends ECLBaseDirective implements OnDestroy, DoCheck {\n /**\n * Applies the ECL head class to the element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__head')].join(' ').trim();\n }\n\n /**\n * List of header directives under this head element.\n */\n @ContentChildren(forwardRef(() => EclTableHeaderDirective), { descendants: true })\n eclTableHeaders: QueryList<EclTableHeaderDirective>;\n\n private differs = inject(IterableDiffers);\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private differ: IterableDiffer<EclTableHeaderDirective>;\n\n constructor() {\n super();\n this.differ = this.differs.find([]).create();\n }\n\n /**\n * Detects dynamic addition of header directives and resets ARIA sorting attributes.\n */\n ngDoCheck(): void {\n const diff = this.differ.diff(this.eclTableHeaders);\n if (diff) {\n diff.forEachAddedItem((change) => {\n change.item.sort.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.eclTableHeaders.forEach((th) => {\n th.removeAriaSort();\n });\n });\n });\n }\n }\n\n /**\n * Cleans up subscriptions on destroy to prevent memory leaks.\n */\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n}\n\n@Directive({\n selector: '[eclTableHeader]',\n})\n/**\n * Directive representing a single table header cell in an ECL table.\n * Supports sorting functionality and accessibility attributes.\n */\nexport class EclTableHeaderDirective extends ECLBaseDirective implements AfterContentInit, OnInit {\n /**\n * Current sort order of the column (`ascending`, `descending`, or `null`).\n * This sets the `aria-sort` attribute used for accessibility.\n */\n sortOrder: SortOrder | null = null;\n\n @HostBinding('attr.aria-sort')\n get ariaSort(): SortOrder | 'none' {\n return this.sortOrder ?? 'none';\n }\n\n /**\n * Enables sorting on the header. Also sets the `data-ecl-table-sort-toggle` attribute.\n * Acts as the unique identifier for the column when sorting.\n */\n @Input() @HostBinding('attr.data-ecl-table-sort-toggle') eclSortable = null;\n\n /**\n * Scope of the table header. Default is `col`. Sets the `scope` attribute.\n */\n @Input() @HostBinding('attr.scope') scope = 'col';\n\n /**\n * HTML `id` attribute of the table header cell. If not provided, a UUID will be generated.\n */\n @Input() @HostBinding('attr.id') id: string;\n\n /**\n * Aria-label for the sort button that will be injected into the header cell.\n */\n readonly sortButtonAriaLabel = input<string>(undefined);\n\n /**\n * Computes the CSS classes applied to the header element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__header')].join(' ').trim();\n }\n\n /**\n * Emits an `EclSortTableEvent` when the header is clicked and sorting is triggered.\n */\n @Output() sort = new EventEmitter<EclSortTableEvent>();\n\n private containerComponentRef: ComponentRef<EclTableSortButtonComponent>;\n private el = inject(ElementRef);\n private viewContainerRef = inject(ViewContainerRef);\n private renderer = inject(Renderer2);\n private translateService = inject(TranslateService);\n /**\n * Lifecycle hook that runs on component initialization.\n * Generates a unique `id` if not already defined.\n */\n ngOnInit(): void {\n if (!this.id) {\n this.id = crypto.randomUUID();\n }\n }\n\n /**\n * Lifecycle hook that runs after the view is initialized.\n * Injects the sort button into the header cell if sorting is enabled.\n */\n ngAfterContentInit(): void {\n this.initSortButtons();\n }\n\n /**\n * Clears the `aria-sort` attribute, used to visually and semantically reset previous sort state.\n *\n * Remove the dark arrow for current sorting from prev sorted column\n */\n removeAriaSort(): void {\n this.renderer.setAttribute(this.el.nativeElement, 'aria-sort', 'none');\n }\n\n /**\n * Handles click events on the header.\n * Cycles through sort orders: `null` -> `ascending` -> `descending` -> `null`.\n * Emits a `EclSortTableEvent` with the updated sort state and column identifier.\n *\n * Click triggers 1 -> asc sorting, 2 -> desc sorting then 3 -> initial sorting\n */\n @HostListener('click', ['$event'])\n onClick(evt: Event): void {\n if (this.eclSortable) {\n switch (this.sortOrder) {\n case null: {\n this.sortOrder = SortOrder.ASCENDING;\n this.changeButtonAriaLabel(this.translateService.instant('ecl.table.SORT-LABEL.ascending'));\n break;\n }\n case SortOrder.ASCENDING: {\n this.sortOrder = SortOrder.DESCENDING;\n this.changeButtonAriaLabel(this.translateService.instant('ecl.table.SORT-LABEL.descending'));\n break;\n }\n case SortOrder.DESCENDING: {\n this.sortOrder = null;\n this.changeButtonAriaLabel(this.translateService.instant('ecl.table.SORT-LABEL.default'));\n break;\n }\n }\n\n this.sort.emit(new EclSortTableEvent(this.sortOrder, this.eclSortable));\n }\n }\n\n private changeButtonAriaLabel(newAriaLabel: string): void {\n if (!this.sortButtonAriaLabel()) {\n this.containerComponentRef.instance.ariaLabel = newAriaLabel;\n }\n }\n\n /**\n * Dynamically creates and appends the sort button to the header cell.\n * Optionally sets the button's `aria-label` if provided.\n */\n private initSortButtons(): void {\n if (this.eclSortable) {\n setTimeout(() => {\n this.containerComponentRef = this.viewContainerRef.createComponent(EclTableSortButtonComponent);\n this.renderer.appendChild(this.el.nativeElement, this.containerComponentRef.location.nativeElement);\n const sortButtonAriaLabel = this.sortButtonAriaLabel();\n if (sortButtonAriaLabel) {\n this.containerComponentRef.instance.ariaLabel = sortButtonAriaLabel;\n } else {\n this.containerComponentRef.instance.ariaLabel = this.translateService.instant('ecl.table.SORT-LABEL.default');\n }\n });\n }\n }\n}\n\n@Directive({\n selector: '[eclTableRow]',\n})\n/**\n * Directive for applying ECL row styling to a table row element.\n */\nexport class EclTableRowDirective extends ECLBaseDirective {\n /**\n * Applies `ecl-table__row` class to the table row.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__row')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclTableBody]',\n})\n/**\n * Directive for applying ECL body styling to a table body element.\n */\nexport class EclTableBodyDirective extends ECLBaseDirective {\n /**\n * Applies `ecl-table__body` class to the table body.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__body')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclTableCell]',\n})\n/**\n * Directive for styling individual table cells in the ECL table.\n */\nexport class EclTableCellDirective extends ECLBaseDirective {\n /**\n * Provides a reference to the related table header.\n * Sets the `data-ecl-table-header` attribute for accessibility or responsive behavior.\n */\n @Input() @HostBinding('attr.data-ecl-table-header') eclTableCellHeader: string;\n\n /**\n * If `true`, applies additional group styling to the cell.\n */\n @Input() @HostBinding('class.ecl-table__cell--group') isGroup = false;\n\n /**\n * Computes and applies appropriate CSS classes for the table cell.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__cell'), this.isGroup ? 'ecl-table__cell--group' : ''].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclTableCellGroup]',\n})\n/**\n * Directive used to group multiple table cells under a shared header group.\n */\nexport class EclTableCellGroupDirective extends ECLBaseDirective implements AfterViewInit {\n /**\n * Sets the `data-ecl-table-header-group` attribute to link to a header group.\n */\n @Input() @HostBinding('attr.data-ecl-table-header-group') eclTableCellGroup: string;\n\n /**\n * Applies the group-specific cell class.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__cell--group')].join(' ').trim();\n }\n\n private cd = inject(ChangeDetectorRef);\n /**\n * Ensures `data-ecl-table-header-group` is not empty and triggers change detection.\n */\n ngAfterViewInit(): void {\n this.eclTableCellGroup = this.eclTableCellGroup !== '' ? this.eclTableCellGroup : null;\n this.cd.detectChanges();\n }\n}\n\n@Directive({\n selector: '[eclTableResponsive]',\n})\n/**\n * Directive for applying ECL responsive wrapper to a table container.\n */\nexport class EclTableResponsiveDirective extends ECLBaseDirective {\n /**\n * Applies the `ecl-table-responsive` class.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table-responsive')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: 'caption[eclTableCaption]',\n})\n/**\n * Directive for applying styling to a table caption element.\n */\nexport class EclTableCaptionDirective extends ECLBaseDirective {\n /**\n * Applies the `ecl-table__caption` class to the caption.\n */\n @HostBinding('class.ecl-table__caption') hasClass = true;\n}\n","import {\n EclTableDirective,\n EclTableHeadDirective,\n EclTableHeaderDirective,\n EclTableRowDirective,\n EclTableBodyDirective,\n EclTableCellDirective,\n EclTableCellGroupDirective,\n EclTableResponsiveDirective,\n EclTableCaptionDirective,\n} from './ecl-table.directive';\nimport { EclTableSortButtonComponent } from './ecl-table-sort-button.component';\n\nexport * from './ecl-table.directive';\nexport * from './ecl-table-sort-button.component';\nexport * from './events/ecl-sort-table.event';\n\nexport const EUI_ECL_TABLE = [\n EclTableCaptionDirective,\n EclTableDirective,\n EclTableHeadDirective,\n EclTableHeaderDirective,\n EclTableRowDirective,\n EclTableBodyDirective,\n EclTableCellDirective,\n EclTableCellGroupDirective,\n EclTableSortButtonComponent,\n EclTableResponsiveDirective,\n] as const;","/**\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 { inject, ElementRef, Component, input, booleanAttribute, signal, EventEmitter, computed, effect, HostBinding, ContentChild, ViewChild, Output,
|
|
2
|
+
import { inject, ElementRef, Component, input, model, booleanAttribute, signal, EventEmitter, computed, effect, HostBinding, ContentChild, ViewChild, Output, output, IterableDiffers, ChangeDetectorRef, PLATFORM_ID, afterNextRender, HostListener, ContentChildren, forwardRef, ViewEncapsulation } from '@angular/core';
|
|
3
3
|
import { ECLBaseDirective, EclBaseEvent, EclRtlService, KeyCode } from '@eui/ecl/core';
|
|
4
4
|
import * as i1 from '@eui/ecl/components/ecl-link';
|
|
5
5
|
import { EclLinkDirective, EUI_ECL_LINK } from '@eui/ecl/components/ecl-link';
|
|
@@ -57,10 +57,16 @@ class EclTabComponent extends ECLBaseDirective {
|
|
|
57
57
|
*/
|
|
58
58
|
this.id = input(/* @ts-ignore */
|
|
59
59
|
...(ngDevMode ? [undefined, { debugName: "id" }] : /* istanbul ignore next */ []));
|
|
60
|
+
/**
|
|
61
|
+
* Extra classes to be added to the anchor tag.
|
|
62
|
+
*/
|
|
63
|
+
this.anchorExtraClasses = input(undefined, /* @ts-ignore */
|
|
64
|
+
...(ngDevMode ? [{ debugName: "anchorExtraClasses" }] : /* istanbul ignore next */ []));
|
|
60
65
|
/**
|
|
61
66
|
* Hides the tab when true by applying the `ecl-tabs__item--hidden` CSS class.
|
|
62
67
|
*/
|
|
63
|
-
this.isHidden = false
|
|
68
|
+
this.isHidden = model(false, /* @ts-ignore */
|
|
69
|
+
...(ngDevMode ? [{ debugName: "isHidden" }] : /* istanbul ignore next */ []));
|
|
64
70
|
/**
|
|
65
71
|
* Marks the tab as active.
|
|
66
72
|
*/
|
|
@@ -172,22 +178,15 @@ class EclTabComponent extends ECLBaseDirective {
|
|
|
172
178
|
this.link.onBlur();
|
|
173
179
|
}
|
|
174
180
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclTabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
175
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: EclTabComponent, isStandalone: true, selector: "div[eclTab]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, anchorExtraClasses: { classPropertyName: "anchorExtraClasses", publicName: "anchorExtraClasses", isSignal:
|
|
181
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: EclTabComponent, isStandalone: true, selector: "div[eclTab]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, anchorExtraClasses: { classPropertyName: "anchorExtraClasses", publicName: "anchorExtraClasses", isSignal: true, isRequired: false, transformFunction: null }, isHidden: { classPropertyName: "isHidden", publicName: "isHidden", isSignal: true, isRequired: false, transformFunction: null }, isActive: { classPropertyName: "isActive", publicName: "isActive", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isHidden: "isHiddenChange", selectTab: "selectTab", keydownTab: "keydownTab" }, host: { properties: { "attr.id": "id()", "class.ecl-tabs__item--hidden": "isHidden()", "class": "this.cssClasses" } }, queries: [{ propertyName: "label", first: true, predicate: EclTabLabelComponent, descendants: true }], viewQueries: [{ propertyName: "contentTemplate", first: true, predicate: ["content"], descendants: true }, { propertyName: "link", first: true, predicate: EclLinkDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<a\n eclLink\n role=\"tab\"\n class=\"ecl-tabs__link eui-ecl-u-cursor-pointer {{anchorExtraClasses()}}\"\n [class.ecl-tabs__link--active]=\"_isActive()\"\n [attr.aria-selected]=\"_isActive()\"\n [tabindex]=\"hrefTabindex()\"\n (keydown)=\"onKeydown($event)\"\n (click)=\"onTabClick()\"\n [id]=\"linkId()\"\n [attr.aria-controls]=\"ariaControls()\">\n <ng-content select=\"ecl-tab-label\"></ng-content>\n</a>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.EclLinkDirective, selector: "[eclLink]", inputs: ["extraAttributes", "isInverted", "isIconOnly", "isHighlight", "isNoVisited", "isBranded", "variant"] }] }); }
|
|
176
182
|
}
|
|
177
183
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclTabComponent, decorators: [{
|
|
178
184
|
type: Component,
|
|
179
185
|
args: [{ selector: 'div[eclTab]', host: {
|
|
180
186
|
'[attr.id]': 'id()',
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
}], isHidden: [{
|
|
185
|
-
type: Input,
|
|
186
|
-
args: [{ transform: booleanAttribute }]
|
|
187
|
-
}, {
|
|
188
|
-
type: HostBinding,
|
|
189
|
-
args: ['class.ecl-tabs__item--hidden']
|
|
190
|
-
}], isActive: [{ type: i0.Input, args: [{ isSignal: true, alias: "isActive", required: false }] }], selectTab: [{
|
|
187
|
+
'[class.ecl-tabs__item--hidden]': 'isHidden()',
|
|
188
|
+
}, imports: [...EUI_ECL_LINK], template: "<a\n eclLink\n role=\"tab\"\n class=\"ecl-tabs__link eui-ecl-u-cursor-pointer {{anchorExtraClasses()}}\"\n [class.ecl-tabs__link--active]=\"_isActive()\"\n [attr.aria-selected]=\"_isActive()\"\n [tabindex]=\"hrefTabindex()\"\n (keydown)=\"onKeydown($event)\"\n (click)=\"onTabClick()\"\n [id]=\"linkId()\"\n [attr.aria-controls]=\"ariaControls()\">\n <ng-content select=\"ecl-tab-label\"></ng-content>\n</a>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n" }]
|
|
189
|
+
}], ctorParameters: () => [], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], anchorExtraClasses: [{ type: i0.Input, args: [{ isSignal: true, alias: "anchorExtraClasses", required: false }] }], isHidden: [{ type: i0.Input, args: [{ isSignal: true, alias: "isHidden", required: false }] }, { type: i0.Output, args: ["isHiddenChange"] }], isActive: [{ type: i0.Input, args: [{ isSignal: true, alias: "isActive", required: false }] }], selectTab: [{
|
|
191
190
|
type: Output
|
|
192
191
|
}], keydownTab: [{
|
|
193
192
|
type: Output
|
|
@@ -227,7 +226,8 @@ class EclTabsComponent extends ECLBaseDirective {
|
|
|
227
226
|
/**
|
|
228
227
|
* Class applied to the tab body container.
|
|
229
228
|
*/
|
|
230
|
-
this.bodyClass = 'ecl-u-mt-s'
|
|
229
|
+
this.bodyClass = input('ecl-u-mt-s', /* @ts-ignore */
|
|
230
|
+
...(ngDevMode ? [{ debugName: "bodyClass" }] : /* istanbul ignore next */ []));
|
|
231
231
|
/**
|
|
232
232
|
* Emits an event when a tab is selected.
|
|
233
233
|
*/
|
|
@@ -310,7 +310,7 @@ class EclTabsComponent extends ECLBaseDirective {
|
|
|
310
310
|
* Whether any visible tab is active.
|
|
311
311
|
*/
|
|
312
312
|
get isMoreButtonActive() {
|
|
313
|
-
return this.listTabs.find((el) => el._isActive() && !el.isHidden) !== undefined;
|
|
313
|
+
return this.listTabs.find((el) => el._isActive() && !el.isHidden()) !== undefined;
|
|
314
314
|
}
|
|
315
315
|
/**
|
|
316
316
|
* Get the tabindex for more button.
|
|
@@ -352,7 +352,7 @@ class EclTabsComponent extends ECLBaseDirective {
|
|
|
352
352
|
* Returns the number of tabs hidden in dropdown.
|
|
353
353
|
*/
|
|
354
354
|
getHiddenTabsCount() {
|
|
355
|
-
return this.tabs.filter((item) => item.isHidden).length;
|
|
355
|
+
return this.tabs.filter((item) => item.isHidden()).length;
|
|
356
356
|
}
|
|
357
357
|
/**
|
|
358
358
|
* Returns the label of the tab at the specified index.
|
|
@@ -472,7 +472,7 @@ class EclTabsComponent extends ECLBaseDirective {
|
|
|
472
472
|
}
|
|
473
473
|
}
|
|
474
474
|
onMoreButtonFocus() {
|
|
475
|
-
const index = this.listTabs.findIndex((el) => el._isActive() && !el.isHidden);
|
|
475
|
+
const index = this.listTabs.findIndex((el) => el._isActive() && !el.isHidden());
|
|
476
476
|
if (index < 0)
|
|
477
477
|
return;
|
|
478
478
|
this.openDropdown();
|
|
@@ -535,7 +535,7 @@ class EclTabsComponent extends ECLBaseDirective {
|
|
|
535
535
|
this.listTabs = [];
|
|
536
536
|
this.tabs.forEach((tab) => {
|
|
537
537
|
const newTab = Object.assign({}, tab);
|
|
538
|
-
newTab.isHidden
|
|
538
|
+
newTab.isHidden.set(true);
|
|
539
539
|
newTab._isActive.set(tab.isActive());
|
|
540
540
|
this.listTabs.push(newTab);
|
|
541
541
|
});
|
|
@@ -584,7 +584,7 @@ class EclTabsComponent extends ECLBaseDirective {
|
|
|
584
584
|
});
|
|
585
585
|
}
|
|
586
586
|
focusOnNextTab(index) {
|
|
587
|
-
if (this.getTabsAsArray()[index + 1].isHidden) {
|
|
587
|
+
if (this.getTabsAsArray()[index + 1].isHidden()) {
|
|
588
588
|
this.openDropdown();
|
|
589
589
|
this.focusOnDropdownTab(index + 1);
|
|
590
590
|
}
|
|
@@ -598,7 +598,7 @@ class EclTabsComponent extends ECLBaseDirective {
|
|
|
598
598
|
this.getFirstTabFromArray().onFocus();
|
|
599
599
|
}
|
|
600
600
|
focusOnLastTab() {
|
|
601
|
-
if (!this.getLastTabFromArray().isHidden) {
|
|
601
|
+
if (!this.getLastTabFromArray().isHidden()) {
|
|
602
602
|
this.getLastTabFromArray().onFocus();
|
|
603
603
|
}
|
|
604
604
|
else {
|
|
@@ -607,7 +607,7 @@ class EclTabsComponent extends ECLBaseDirective {
|
|
|
607
607
|
}
|
|
608
608
|
}
|
|
609
609
|
focusOnPrevTab(index) {
|
|
610
|
-
if (!this.listTabs[index - 1].isHidden) {
|
|
610
|
+
if (!this.listTabs[index - 1].isHidden()) {
|
|
611
611
|
this.focusOnDropdownTab(index - 1);
|
|
612
612
|
}
|
|
613
613
|
else {
|
|
@@ -673,7 +673,7 @@ class EclTabsComponent extends ECLBaseDirective {
|
|
|
673
673
|
const listWidth = this.getTabsListWidth();
|
|
674
674
|
// Measure all items first to check if they fit without the button
|
|
675
675
|
this.tabs.forEach((item) => {
|
|
676
|
-
item.isHidden
|
|
676
|
+
item.isHidden.set(false);
|
|
677
677
|
item.hostElement.classList.remove('ecl-tabs__item--hidden');
|
|
678
678
|
});
|
|
679
679
|
const itemWidths = this.tabs.toArray().map((item) => {
|
|
@@ -684,18 +684,18 @@ class EclTabsComponent extends ECLBaseDirective {
|
|
|
684
684
|
if (totalWidth > listWidth) {
|
|
685
685
|
// Reserve space for the more button and hide items that don't fit
|
|
686
686
|
this.tabs.forEach((item) => {
|
|
687
|
-
item.isHidden
|
|
687
|
+
item.isHidden.set(true);
|
|
688
688
|
item.hostElement.classList.add('ecl-tabs__item--hidden');
|
|
689
689
|
});
|
|
690
690
|
let stopWidth = moreButtonWidth;
|
|
691
691
|
this.tabs.forEach((item, i) => {
|
|
692
|
-
item.isHidden
|
|
692
|
+
item.isHidden.set(false);
|
|
693
693
|
item.hostElement.classList.remove('ecl-tabs__item--hidden');
|
|
694
694
|
if (listWidth >= stopWidth + itemWidths[i] && !hiddenItems.includes(i - 1)) {
|
|
695
695
|
stopWidth += itemWidths[i];
|
|
696
696
|
}
|
|
697
697
|
else {
|
|
698
|
-
item.isHidden
|
|
698
|
+
item.isHidden.set(true);
|
|
699
699
|
item.hostElement.classList.add('ecl-tabs__item--hidden');
|
|
700
700
|
if (item._isActive()) {
|
|
701
701
|
this.listTabs[i]._isActive.set(true);
|
|
@@ -719,7 +719,7 @@ class EclTabsComponent extends ECLBaseDirective {
|
|
|
719
719
|
this.cd.markForCheck();
|
|
720
720
|
}
|
|
721
721
|
hideAllDropdownTabs() {
|
|
722
|
-
this.listTabs.forEach(item => item.isHidden
|
|
722
|
+
this.listTabs.forEach(item => item.isHidden.set(true));
|
|
723
723
|
}
|
|
724
724
|
setActiveItemForMainTabs() {
|
|
725
725
|
this.listTabs.forEach((item, index) => {
|
|
@@ -735,10 +735,10 @@ class EclTabsComponent extends ECLBaseDirective {
|
|
|
735
735
|
setHiddenItemsForDropdownTabs(hiddenItems) {
|
|
736
736
|
this.listTabs.forEach((item, index) => {
|
|
737
737
|
if (hiddenItems.includes(index)) {
|
|
738
|
-
item.isHidden
|
|
738
|
+
item.isHidden.set(false);
|
|
739
739
|
}
|
|
740
740
|
else {
|
|
741
|
-
item.isHidden
|
|
741
|
+
item.isHidden.set(true);
|
|
742
742
|
}
|
|
743
743
|
});
|
|
744
744
|
}
|
|
@@ -760,7 +760,7 @@ class EclTabsComponent extends ECLBaseDirective {
|
|
|
760
760
|
}
|
|
761
761
|
setAllTabsVisible() {
|
|
762
762
|
this.tabs.forEach((item) => {
|
|
763
|
-
item.isHidden
|
|
763
|
+
item.isHidden.set(false);
|
|
764
764
|
});
|
|
765
765
|
}
|
|
766
766
|
handleRtlChangeState() {
|
|
@@ -790,20 +790,18 @@ class EclTabsComponent extends ECLBaseDirective {
|
|
|
790
790
|
}).observe(this.tabsList.nativeElement);
|
|
791
791
|
}
|
|
792
792
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclTabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
793
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: EclTabsComponent, isStandalone: true, selector: "div[eclTabs]", inputs: { bodyClass: "bodyClass" }, outputs: { tabSelect: "tabSelect" }, host: { listeners: { "document:click": "onClick($event.target)" }, properties: { "class.ecl-tabs": "this.hasClass", "attr.data-ecl-auto-initialized": "this.autoInitialized" } }, queries: [{ propertyName: "tabs", predicate: i0.forwardRef(() => EclTabComponent) }], viewQueries: [{ propertyName: "tabsList", first: true, predicate: ["tabsList"], descendants: true }, { propertyName: "moreButton", first: true, predicate: ["moreButton"], descendants: true }, { propertyName: "btnPrev", first: true, predicate: ["btnPrev"], descendants: true }, { propertyName: "btnNext", first: true, predicate: ["btnNext"], descendants: true }, { propertyName: "dropdownList", first: true, predicate: ["dropdownList"], descendants: true }, { propertyName: "moreItem", first: true, predicate: ["moreItem"], descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (isUsingOldSelector) {\n<div class=\"ecl-tabs\">\n <ng-container *ngTemplateOutlet=\"eclTabsTemplate\"></ng-container>\n</div>\n} @else {\n<ng-container *ngTemplateOutlet=\"eclTabsTemplate\"></ng-container>\n}\n\n<ng-template #eclTabsTemplate>\n <div class=\"ecl-tabs__container\" [class.ecl-tabs__container--right]=\"isScrollNextBtnShow()\"\n [class.ecl-tabs__container--left]=\"isScrollPrevBtnShow()\">\n <div class=\"ecl-tabs__list\" role=\"tablist\" #tabsList\n [style.transform]=\"styleTransform\" [style.transition-duration]=\"getTransitionDuration()\">\n <ng-content select=\"ecl-tab, [eclTab]\"></ng-content>\n <div class=\"ecl-tabs__item ecl-tabs__item--more\" #moreItem>\n @if (listTabs.length > 0) {\n <div class=\"ecl-tabs__dropdown\" [class.ecl-tabs__dropdown--show]=\"isDropdownExpanded()\">\n <div class=\"ecl-tabs__dropdown-list\" #dropdownList>\n @for (tab of listTabs; track tab.id; let i = $index) {\n <div eclTab [isActive]=\"tab._isActive()\" [isHidden]=\"tab.isHidden\" (click)=\"onTabSelect(tab)\"\n (keydown)=\"onTabKeydown($event, tab)\">\n <ecl-tab-label>{{ getTabLabel(i) }}</ecl-tab-label>\n </div>\n }\n </div>\n </div>\n }\n </div>\n </div>\n <button #moreButton eclButton class=\"ecl-tabs__toggle\" variant=\"tertiary\" [tabindex]=\"customTabIndex\"\n [attr.aria-expanded]=\"isDropdownExpanded()\" [class.ecl-tabs__toggle--active]=\"isMoreButtonActive\"\n (click)=\"onDropdownToggle()\" (focus)=\"onMoreButtonFocus()\">\n <span eclButtonLabel>\n {{ 'ecl.common.MORE' | translate }}\n ({{ getHiddenTabsCount() }})\n </span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-180\" size=\"fluid\"></ecl-icon>\n </button>\n </div>\n\n <div class=\"ecl-tabs__controls\">\n <button #btnPrev eclButton variant=\"tertiary\" isIconOnly class=\"ecl-tabs__prev\"\n [style.display]=\"isScrollPrevBtnShow() ? 'flex' : 'none'\" (click)=\"onScrollPrev()\">\n <span eclButtonLabel>{{ 'ecl.common.PREVIOUS' | translate }}</span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-270\" size=\"s\" class=\"\"> </ecl-icon>\n </button>\n <button #btnNext eclButton variant=\"tertiary\" isIconOnly class=\"ecl-tabs__next\"\n [style.display]=\"isScrollNextBtnShow() ? 'flex' : 'none'\" (click)=\"onScrollNext()\">\n <span eclButtonLabel>{{ 'ecl.common.NEXT' | translate }}</span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-90\" size=\"s\" class=\"\"> </ecl-icon>\n </button>\n </div>\n</ng-template>\n\n@for (tab of tabs.toArray(); track tab.tabLabel) {\n@if (tab._isActive()) {\n<div id=\"{{tab.finalId()}}-tabpanel\" role=\"tabpanel\" aria-labelledby=\"{{tab.finalId()}}-link\" class=\"{{ bodyClass }}\">\n <ng-container *ngTemplateOutlet=\"tab.contentTemplate\"></ng-container>\n</div>\n}\n}\n@for (tab of listTabs; track tab.tabLabel) {\n@if (tab._isActive()) {\n<div id=\"{{tab.finalId()}}-tabpanel\" role=\"tabpanel\" aria-labelledby=\"{{tab.finalId()}}-link\" class=\"{{ bodyClass }}\">\n <ng-container *ngTemplateOutlet=\"tab.contentTemplate\"></ng-container>\n</div>\n}\n}", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i1$1.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "eclStyle", "size", "containerStyleClass"] }, { kind: "directive", type: i1$1.EclButtonLabelDirective, selector: "[eclButtonLabel]" }, { kind: "component", type: i2.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "component", type: EclTabComponent, selector: "div[eclTab]", inputs: ["id", "anchorExtraClasses", "isHidden", "isActive"], outputs: ["selectTab", "keydownTab"] }, { kind: "component", type: EclTabLabelComponent, selector: "ecl-tab-label" }, { kind: "pipe", type: TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
793
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: EclTabsComponent, isStandalone: true, selector: "div[eclTabs]", inputs: { bodyClass: { classPropertyName: "bodyClass", publicName: "bodyClass", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { tabSelect: "tabSelect" }, host: { listeners: { "document:click": "onClick($event.target)" }, properties: { "class.ecl-tabs": "this.hasClass", "attr.data-ecl-auto-initialized": "this.autoInitialized" } }, queries: [{ propertyName: "tabs", predicate: i0.forwardRef(() => EclTabComponent) }], viewQueries: [{ propertyName: "tabsList", first: true, predicate: ["tabsList"], descendants: true }, { propertyName: "moreButton", first: true, predicate: ["moreButton"], descendants: true }, { propertyName: "btnPrev", first: true, predicate: ["btnPrev"], descendants: true }, { propertyName: "btnNext", first: true, predicate: ["btnNext"], descendants: true }, { propertyName: "dropdownList", first: true, predicate: ["dropdownList"], descendants: true }, { propertyName: "moreItem", first: true, predicate: ["moreItem"], descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (isUsingOldSelector) {\n<div class=\"ecl-tabs\">\n <ng-container *ngTemplateOutlet=\"eclTabsTemplate\"></ng-container>\n</div>\n} @else {\n<ng-container *ngTemplateOutlet=\"eclTabsTemplate\"></ng-container>\n}\n\n<ng-template #eclTabsTemplate>\n <div class=\"ecl-tabs__container\" [class.ecl-tabs__container--right]=\"isScrollNextBtnShow()\"\n [class.ecl-tabs__container--left]=\"isScrollPrevBtnShow()\">\n <div class=\"ecl-tabs__list\" role=\"tablist\" #tabsList\n [style.transform]=\"styleTransform\" [style.transition-duration]=\"getTransitionDuration()\">\n <ng-content select=\"ecl-tab, [eclTab]\"></ng-content>\n <div class=\"ecl-tabs__item ecl-tabs__item--more\" #moreItem>\n @if (listTabs.length > 0) {\n <div class=\"ecl-tabs__dropdown\" [class.ecl-tabs__dropdown--show]=\"isDropdownExpanded()\">\n <div class=\"ecl-tabs__dropdown-list\" #dropdownList>\n @for (tab of listTabs; track tab.id; let i = $index) {\n <div eclTab [isActive]=\"tab._isActive()\" [isHidden]=\"tab.isHidden()\" (click)=\"onTabSelect(tab)\"\n (keydown)=\"onTabKeydown($event, tab)\">\n <ecl-tab-label>{{ getTabLabel(i) }}</ecl-tab-label>\n </div>\n }\n </div>\n </div>\n }\n </div>\n </div>\n <button #moreButton eclButton class=\"ecl-tabs__toggle\" variant=\"tertiary\" [tabindex]=\"customTabIndex\"\n [attr.aria-expanded]=\"isDropdownExpanded()\" [class.ecl-tabs__toggle--active]=\"isMoreButtonActive\"\n (click)=\"onDropdownToggle()\" (focus)=\"onMoreButtonFocus()\">\n <span eclButtonLabel>\n {{ 'ecl.common.MORE' | translate }}\n ({{ getHiddenTabsCount() }})\n </span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-180\" size=\"fluid\"></ecl-icon>\n </button>\n </div>\n\n <div class=\"ecl-tabs__controls\">\n <button #btnPrev eclButton variant=\"tertiary\" isIconOnly class=\"ecl-tabs__prev\"\n [style.display]=\"isScrollPrevBtnShow() ? 'flex' : 'none'\" (click)=\"onScrollPrev()\">\n <span eclButtonLabel>{{ 'ecl.common.PREVIOUS' | translate }}</span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-270\" size=\"s\" class=\"\"> </ecl-icon>\n </button>\n <button #btnNext eclButton variant=\"tertiary\" isIconOnly class=\"ecl-tabs__next\"\n [style.display]=\"isScrollNextBtnShow() ? 'flex' : 'none'\" (click)=\"onScrollNext()\">\n <span eclButtonLabel>{{ 'ecl.common.NEXT' | translate }}</span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-90\" size=\"s\" class=\"\"> </ecl-icon>\n </button>\n </div>\n</ng-template>\n\n@for (tab of tabs.toArray(); track tab.tabLabel) {\n@if (tab._isActive()) {\n<div id=\"{{tab.finalId()}}-tabpanel\" role=\"tabpanel\" aria-labelledby=\"{{tab.finalId()}}-link\" class=\"{{ bodyClass() }}\">\n <ng-container *ngTemplateOutlet=\"tab.contentTemplate\"></ng-container>\n</div>\n}\n}\n@for (tab of listTabs; track tab.tabLabel) {\n@if (tab._isActive()) {\n<div id=\"{{tab.finalId()}}-tabpanel\" role=\"tabpanel\" aria-labelledby=\"{{tab.finalId()}}-link\" class=\"{{ bodyClass() }}\">\n <ng-container *ngTemplateOutlet=\"tab.contentTemplate\"></ng-container>\n</div>\n}\n}", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i1$1.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "eclStyle", "size", "containerStyleClass"] }, { kind: "directive", type: i1$1.EclButtonLabelDirective, selector: "[eclButtonLabel]" }, { kind: "component", type: i2.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "component", type: EclTabComponent, selector: "div[eclTab]", inputs: ["id", "anchorExtraClasses", "isHidden", "isActive"], outputs: ["isHiddenChange", "selectTab", "keydownTab"] }, { kind: "component", type: EclTabLabelComponent, selector: "ecl-tab-label" }, { kind: "pipe", type: TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
794
794
|
}
|
|
795
795
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclTabsComponent, decorators: [{
|
|
796
796
|
type: Component,
|
|
797
|
-
args: [{ selector: 'div[eclTabs]', imports: [TranslatePipe, NgTemplateOutlet, ...EUI_ECL_BUTTON, ...EUI_ECL_ICON, EclTabComponent, EclTabLabelComponent], encapsulation: ViewEncapsulation.None, template: "@if (isUsingOldSelector) {\n<div class=\"ecl-tabs\">\n <ng-container *ngTemplateOutlet=\"eclTabsTemplate\"></ng-container>\n</div>\n} @else {\n<ng-container *ngTemplateOutlet=\"eclTabsTemplate\"></ng-container>\n}\n\n<ng-template #eclTabsTemplate>\n <div class=\"ecl-tabs__container\" [class.ecl-tabs__container--right]=\"isScrollNextBtnShow()\"\n [class.ecl-tabs__container--left]=\"isScrollPrevBtnShow()\">\n <div class=\"ecl-tabs__list\" role=\"tablist\" #tabsList\n [style.transform]=\"styleTransform\" [style.transition-duration]=\"getTransitionDuration()\">\n <ng-content select=\"ecl-tab, [eclTab]\"></ng-content>\n <div class=\"ecl-tabs__item ecl-tabs__item--more\" #moreItem>\n @if (listTabs.length > 0) {\n <div class=\"ecl-tabs__dropdown\" [class.ecl-tabs__dropdown--show]=\"isDropdownExpanded()\">\n <div class=\"ecl-tabs__dropdown-list\" #dropdownList>\n @for (tab of listTabs; track tab.id; let i = $index) {\n <div eclTab [isActive]=\"tab._isActive()\" [isHidden]=\"tab.isHidden\" (click)=\"onTabSelect(tab)\"\n (keydown)=\"onTabKeydown($event, tab)\">\n <ecl-tab-label>{{ getTabLabel(i) }}</ecl-tab-label>\n </div>\n }\n </div>\n </div>\n }\n </div>\n </div>\n <button #moreButton eclButton class=\"ecl-tabs__toggle\" variant=\"tertiary\" [tabindex]=\"customTabIndex\"\n [attr.aria-expanded]=\"isDropdownExpanded()\" [class.ecl-tabs__toggle--active]=\"isMoreButtonActive\"\n (click)=\"onDropdownToggle()\" (focus)=\"onMoreButtonFocus()\">\n <span eclButtonLabel>\n {{ 'ecl.common.MORE' | translate }}\n ({{ getHiddenTabsCount() }})\n </span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-180\" size=\"fluid\"></ecl-icon>\n </button>\n </div>\n\n <div class=\"ecl-tabs__controls\">\n <button #btnPrev eclButton variant=\"tertiary\" isIconOnly class=\"ecl-tabs__prev\"\n [style.display]=\"isScrollPrevBtnShow() ? 'flex' : 'none'\" (click)=\"onScrollPrev()\">\n <span eclButtonLabel>{{ 'ecl.common.PREVIOUS' | translate }}</span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-270\" size=\"s\" class=\"\"> </ecl-icon>\n </button>\n <button #btnNext eclButton variant=\"tertiary\" isIconOnly class=\"ecl-tabs__next\"\n [style.display]=\"isScrollNextBtnShow() ? 'flex' : 'none'\" (click)=\"onScrollNext()\">\n <span eclButtonLabel>{{ 'ecl.common.NEXT' | translate }}</span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-90\" size=\"s\" class=\"\"> </ecl-icon>\n </button>\n </div>\n</ng-template>\n\n@for (tab of tabs.toArray(); track tab.tabLabel) {\n@if (tab._isActive()) {\n<div id=\"{{tab.finalId()}}-tabpanel\" role=\"tabpanel\" aria-labelledby=\"{{tab.finalId()}}-link\" class=\"{{ bodyClass }}\">\n <ng-container *ngTemplateOutlet=\"tab.contentTemplate\"></ng-container>\n</div>\n}\n}\n@for (tab of listTabs; track tab.tabLabel) {\n@if (tab._isActive()) {\n<div id=\"{{tab.finalId()}}-tabpanel\" role=\"tabpanel\" aria-labelledby=\"{{tab.finalId()}}-link\" class=\"{{ bodyClass }}\">\n <ng-container *ngTemplateOutlet=\"tab.contentTemplate\"></ng-container>\n</div>\n}\n}" }]
|
|
797
|
+
args: [{ selector: 'div[eclTabs]', imports: [TranslatePipe, NgTemplateOutlet, ...EUI_ECL_BUTTON, ...EUI_ECL_ICON, EclTabComponent, EclTabLabelComponent], encapsulation: ViewEncapsulation.None, template: "@if (isUsingOldSelector) {\n<div class=\"ecl-tabs\">\n <ng-container *ngTemplateOutlet=\"eclTabsTemplate\"></ng-container>\n</div>\n} @else {\n<ng-container *ngTemplateOutlet=\"eclTabsTemplate\"></ng-container>\n}\n\n<ng-template #eclTabsTemplate>\n <div class=\"ecl-tabs__container\" [class.ecl-tabs__container--right]=\"isScrollNextBtnShow()\"\n [class.ecl-tabs__container--left]=\"isScrollPrevBtnShow()\">\n <div class=\"ecl-tabs__list\" role=\"tablist\" #tabsList\n [style.transform]=\"styleTransform\" [style.transition-duration]=\"getTransitionDuration()\">\n <ng-content select=\"ecl-tab, [eclTab]\"></ng-content>\n <div class=\"ecl-tabs__item ecl-tabs__item--more\" #moreItem>\n @if (listTabs.length > 0) {\n <div class=\"ecl-tabs__dropdown\" [class.ecl-tabs__dropdown--show]=\"isDropdownExpanded()\">\n <div class=\"ecl-tabs__dropdown-list\" #dropdownList>\n @for (tab of listTabs; track tab.id; let i = $index) {\n <div eclTab [isActive]=\"tab._isActive()\" [isHidden]=\"tab.isHidden()\" (click)=\"onTabSelect(tab)\"\n (keydown)=\"onTabKeydown($event, tab)\">\n <ecl-tab-label>{{ getTabLabel(i) }}</ecl-tab-label>\n </div>\n }\n </div>\n </div>\n }\n </div>\n </div>\n <button #moreButton eclButton class=\"ecl-tabs__toggle\" variant=\"tertiary\" [tabindex]=\"customTabIndex\"\n [attr.aria-expanded]=\"isDropdownExpanded()\" [class.ecl-tabs__toggle--active]=\"isMoreButtonActive\"\n (click)=\"onDropdownToggle()\" (focus)=\"onMoreButtonFocus()\">\n <span eclButtonLabel>\n {{ 'ecl.common.MORE' | translate }}\n ({{ getHiddenTabsCount() }})\n </span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-180\" size=\"fluid\"></ecl-icon>\n </button>\n </div>\n\n <div class=\"ecl-tabs__controls\">\n <button #btnPrev eclButton variant=\"tertiary\" isIconOnly class=\"ecl-tabs__prev\"\n [style.display]=\"isScrollPrevBtnShow() ? 'flex' : 'none'\" (click)=\"onScrollPrev()\">\n <span eclButtonLabel>{{ 'ecl.common.PREVIOUS' | translate }}</span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-270\" size=\"s\" class=\"\"> </ecl-icon>\n </button>\n <button #btnNext eclButton variant=\"tertiary\" isIconOnly class=\"ecl-tabs__next\"\n [style.display]=\"isScrollNextBtnShow() ? 'flex' : 'none'\" (click)=\"onScrollNext()\">\n <span eclButtonLabel>{{ 'ecl.common.NEXT' | translate }}</span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-90\" size=\"s\" class=\"\"> </ecl-icon>\n </button>\n </div>\n</ng-template>\n\n@for (tab of tabs.toArray(); track tab.tabLabel) {\n@if (tab._isActive()) {\n<div id=\"{{tab.finalId()}}-tabpanel\" role=\"tabpanel\" aria-labelledby=\"{{tab.finalId()}}-link\" class=\"{{ bodyClass() }}\">\n <ng-container *ngTemplateOutlet=\"tab.contentTemplate\"></ng-container>\n</div>\n}\n}\n@for (tab of listTabs; track tab.tabLabel) {\n@if (tab._isActive()) {\n<div id=\"{{tab.finalId()}}-tabpanel\" role=\"tabpanel\" aria-labelledby=\"{{tab.finalId()}}-link\" class=\"{{ bodyClass() }}\">\n <ng-container *ngTemplateOutlet=\"tab.contentTemplate\"></ng-container>\n</div>\n}\n}" }]
|
|
798
798
|
}], ctorParameters: () => [], propDecorators: { hasClass: [{
|
|
799
799
|
type: HostBinding,
|
|
800
800
|
args: ['class.ecl-tabs']
|
|
801
801
|
}], autoInitialized: [{
|
|
802
802
|
type: HostBinding,
|
|
803
803
|
args: ['attr.data-ecl-auto-initialized']
|
|
804
|
-
}], bodyClass: [{
|
|
805
|
-
type: Input
|
|
806
|
-
}], tabSelect: [{ type: i0.Output, args: ["tabSelect"] }], tabs: [{
|
|
804
|
+
}], bodyClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "bodyClass", required: false }] }], tabSelect: [{ type: i0.Output, args: ["tabSelect"] }], tabs: [{
|
|
807
805
|
type: ContentChildren,
|
|
808
806
|
args: [forwardRef(() => EclTabComponent)]
|
|
809
807
|
}], tabsList: [{
|