@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 {
|
|
2
|
+
import { model, inject, HostBinding, Component, input, booleanAttribute, ElementRef, Injector, ViewContainerRef, Renderer2, PLATFORM_ID, runInInjectionContext, afterNextRender, Directive } from '@angular/core';
|
|
3
3
|
import { ECLBaseDirective, EclThemeService } from '@eui/ecl/core';
|
|
4
4
|
import * as i1 from '@eui/ecl/components/ecl-icon';
|
|
5
5
|
import { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';
|
|
@@ -19,11 +19,17 @@ class EclSelectContainerComponent extends ECLBaseDirective {
|
|
|
19
19
|
* Size/length of the field and the dropdown, can be 's', 'm' or 'l'. Default is 'm'.
|
|
20
20
|
* Same as the size of the main host element.
|
|
21
21
|
*/
|
|
22
|
-
this.eclSize = 'm'
|
|
22
|
+
this.eclSize = model('m', /* @ts-ignore */
|
|
23
|
+
...(ngDevMode ? [{ debugName: "eclSize" }] : /* istanbul ignore next */ []));
|
|
24
|
+
this.disabled = model(undefined, /* @ts-ignore */
|
|
25
|
+
...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
|
|
26
|
+
this.isInvalid = model(undefined, /* @ts-ignore */
|
|
27
|
+
...(ngDevMode ? [{ debugName: "isInvalid" }] : /* istanbul ignore next */ []));
|
|
23
28
|
/**
|
|
24
29
|
* Custom label for the arrow-down button. Set from the main host element.
|
|
25
30
|
*/
|
|
26
|
-
this.toggleLabel = undefined
|
|
31
|
+
this.toggleLabel = model(undefined, /* @ts-ignore */
|
|
32
|
+
...(ngDevMode ? [{ debugName: "toggleLabel" }] : /* istanbul ignore next */ []));
|
|
27
33
|
this.ICON_SIZE_EC = 'xs';
|
|
28
34
|
this.ICON_SIZE_EU = 's';
|
|
29
35
|
this.eclThemeService = inject(EclThemeService);
|
|
@@ -32,11 +38,12 @@ class EclSelectContainerComponent extends ECLBaseDirective {
|
|
|
32
38
|
* Adds specific classes for the container.
|
|
33
39
|
*/
|
|
34
40
|
get cssClasses() {
|
|
41
|
+
const eclSize = this.eclSize();
|
|
35
42
|
return [
|
|
36
43
|
super.getCssClasses('ecl-select__container'),
|
|
37
|
-
|
|
38
|
-
this.disabled ? 'ecl-select__container--disabled' : '',
|
|
39
|
-
this.isInvalid ? 'ecl-select__container--invalid' : '',
|
|
44
|
+
eclSize ? `ecl-select__container--${eclSize}` : '',
|
|
45
|
+
this.disabled() ? 'ecl-select__container--disabled' : '',
|
|
46
|
+
this.isInvalid() ? 'ecl-select__container--invalid' : '',
|
|
40
47
|
]
|
|
41
48
|
.join(' ')
|
|
42
49
|
.trim();
|
|
@@ -53,7 +60,7 @@ class EclSelectContainerComponent extends ECLBaseDirective {
|
|
|
53
60
|
}
|
|
54
61
|
}
|
|
55
62
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclSelectContainerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
56
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
63
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: EclSelectContainerComponent, isStandalone: true, selector: "ecl-select-container", inputs: { eclSize: { classPropertyName: "eclSize", publicName: "eclSize", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, isInvalid: { classPropertyName: "isInvalid", publicName: "isInvalid", isSignal: true, isRequired: false, transformFunction: null }, toggleLabel: { classPropertyName: "toggleLabel", publicName: "toggleLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { eclSize: "eclSizeChange", disabled: "disabledChange", isInvalid: "isInvalidChange", toggleLabel: "toggleLabelChange" }, host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"ecl-select__icon\">\n <button eclButton variant=\"tertiary\" tabindex=\"-1\" isIconOnly>\n <span eclButtonLabel>{{ toggleLabel() || 'ecl.multiselect.TOGGLE.DROPDOWN' | translate }}</span>\n <ecl-icon icon=\"corner-arrow\" [size]=\"iconSize\" transform=\"rotate-180\"></ecl-icon>\n </button>\n</div>\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: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
57
64
|
}
|
|
58
65
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclSelectContainerComponent, decorators: [{
|
|
59
66
|
type: Component,
|
|
@@ -61,18 +68,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
|
|
|
61
68
|
...EUI_ECL_ICON,
|
|
62
69
|
TranslatePipe,
|
|
63
70
|
...EUI_ECL_BUTTON,
|
|
64
|
-
], template: "<div class=\"ecl-select__icon\">\n <button eclButton variant=\"tertiary\" tabindex=\"-1\" isIconOnly>\n <span eclButtonLabel>{{ toggleLabel || 'ecl.multiselect.TOGGLE.DROPDOWN' | translate }}</span>\n <ecl-icon icon=\"corner-arrow\" [size]=\"iconSize\" transform=\"rotate-180\"></ecl-icon>\n </button>\n</div>\n" }]
|
|
65
|
-
}], propDecorators: { eclSize: [{
|
|
66
|
-
type: Input
|
|
67
|
-
}], disabled: [{
|
|
68
|
-
type: Input,
|
|
69
|
-
args: [{ transform: booleanAttribute }]
|
|
70
|
-
}], isInvalid: [{
|
|
71
|
-
type: Input,
|
|
72
|
-
args: [{ transform: booleanAttribute }]
|
|
73
|
-
}], toggleLabel: [{
|
|
74
|
-
type: Input
|
|
75
|
-
}], cssClasses: [{
|
|
71
|
+
], template: "<div class=\"ecl-select__icon\">\n <button eclButton variant=\"tertiary\" tabindex=\"-1\" isIconOnly>\n <span eclButtonLabel>{{ toggleLabel() || 'ecl.multiselect.TOGGLE.DROPDOWN' | translate }}</span>\n <ecl-icon icon=\"corner-arrow\" [size]=\"iconSize\" transform=\"rotate-180\"></ecl-icon>\n </button>\n</div>\n" }]
|
|
72
|
+
}], propDecorators: { eclSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "eclSize", required: false }] }, { type: i0.Output, args: ["eclSizeChange"] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }, { type: i0.Output, args: ["disabledChange"] }], isInvalid: [{ type: i0.Input, args: [{ isSignal: true, alias: "isInvalid", required: false }] }, { type: i0.Output, args: ["isInvalidChange"] }], toggleLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "toggleLabel", required: false }] }, { type: i0.Output, args: ["toggleLabelChange"] }], cssClasses: [{
|
|
76
73
|
type: HostBinding,
|
|
77
74
|
args: ['class']
|
|
78
75
|
}] } });
|
|
@@ -85,11 +82,15 @@ class EclSelectDirective extends ECLBaseDirective {
|
|
|
85
82
|
constructor() {
|
|
86
83
|
super(...arguments);
|
|
87
84
|
/** Disables the select element. */
|
|
88
|
-
this.disabled = false;
|
|
85
|
+
this.disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
89
86
|
/** Marks the select element as invalid. */
|
|
90
|
-
this.isInvalid = false;
|
|
87
|
+
this.isInvalid = input(false, { ...(ngDevMode ? { debugName: "isInvalid" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
88
|
+
/** Accessible label for the toggle button. */
|
|
89
|
+
this.toggleLabel = input(undefined, /* @ts-ignore */
|
|
90
|
+
...(ngDevMode ? [{ debugName: "toggleLabel" }] : /* istanbul ignore next */ []));
|
|
91
91
|
/** Size of the select component. */
|
|
92
|
-
this.eclSize = 'm'
|
|
92
|
+
this.eclSize = input('m', /* @ts-ignore */
|
|
93
|
+
...(ngDevMode ? [{ debugName: "eclSize" }] : /* istanbul ignore next */ []));
|
|
93
94
|
this.ngControl = inject(NgControl, { optional: true, self: true });
|
|
94
95
|
this.el = inject((ElementRef));
|
|
95
96
|
this.injector = inject(Injector);
|
|
@@ -103,12 +104,12 @@ class EclSelectDirective extends ECLBaseDirective {
|
|
|
103
104
|
return [super.getCssClasses('ecl-select')].join(' ').trim();
|
|
104
105
|
}
|
|
105
106
|
get isDisabled() {
|
|
106
|
-
return this.ngControl ? (this.ngControl.disabled || null) : (this.disabled || null);
|
|
107
|
+
return this.ngControl ? (this.ngControl.disabled || null) : (this.disabled() || null);
|
|
107
108
|
}
|
|
108
109
|
get isInvalidState() {
|
|
109
110
|
return this.ngControl
|
|
110
111
|
? (this.ngControl.status === 'INVALID' && this.ngControl.touched)
|
|
111
|
-
: this.isInvalid;
|
|
112
|
+
: this.isInvalid();
|
|
112
113
|
}
|
|
113
114
|
/**
|
|
114
115
|
* Initializes the directive.
|
|
@@ -173,10 +174,10 @@ class EclSelectDirective extends ECLBaseDirective {
|
|
|
173
174
|
const c = this.containerRef?.instance;
|
|
174
175
|
if (!c)
|
|
175
176
|
return;
|
|
176
|
-
c.eclSize
|
|
177
|
-
c.disabled
|
|
178
|
-
c.toggleLabel
|
|
179
|
-
c.isInvalid
|
|
177
|
+
c.eclSize.set(this.eclSize());
|
|
178
|
+
c.disabled.set(this.isDisabled);
|
|
179
|
+
c.toggleLabel.set(this.toggleLabel());
|
|
180
|
+
c.isInvalid.set(this.isInvalidState);
|
|
180
181
|
}
|
|
181
182
|
/**
|
|
182
183
|
* Enhances <optgroup> and <option> elements with
|
|
@@ -205,25 +206,15 @@ class EclSelectDirective extends ECLBaseDirective {
|
|
|
205
206
|
});
|
|
206
207
|
}
|
|
207
208
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclSelectDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
208
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
209
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.5", type: EclSelectDirective, isStandalone: true, selector: "select[eclSelect]", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, isInvalid: { classPropertyName: "isInvalid", publicName: "isInvalid", isSignal: true, isRequired: false, transformFunction: null }, toggleLabel: { classPropertyName: "toggleLabel", publicName: "toggleLabel", isSignal: true, isRequired: false, transformFunction: null }, eclSize: { classPropertyName: "eclSize", publicName: "eclSize", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.disabled": "this.isDisabled", "class": "this.cssClasses", "class.ecl-select--invalid": "this.isInvalidState" } }, usesInheritance: true, ngImport: i0 }); }
|
|
209
210
|
}
|
|
210
211
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclSelectDirective, decorators: [{
|
|
211
212
|
type: Directive,
|
|
212
213
|
args: [{ selector: 'select[eclSelect]' }]
|
|
213
214
|
}], propDecorators: { disabled: [{
|
|
214
|
-
type: Input,
|
|
215
|
-
args: [{ transform: booleanAttribute }]
|
|
216
|
-
}, {
|
|
217
215
|
type: HostBinding,
|
|
218
216
|
args: ['attr.disabled']
|
|
219
|
-
}], isInvalid: [{
|
|
220
|
-
type: Input,
|
|
221
|
-
args: [{ transform: booleanAttribute }]
|
|
222
|
-
}], toggleLabel: [{
|
|
223
|
-
type: Input
|
|
224
|
-
}], eclSize: [{
|
|
225
|
-
type: Input
|
|
226
|
-
}], cssClasses: [{
|
|
217
|
+
}], isInvalid: [{ type: i0.Input, args: [{ isSignal: true, alias: "isInvalid", required: false }] }], toggleLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "toggleLabel", required: false }] }], eclSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "eclSize", required: false }] }], cssClasses: [{
|
|
227
218
|
type: HostBinding,
|
|
228
219
|
args: ['class']
|
|
229
220
|
}], isDisabled: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-ecl-components-ecl-select.mjs","sources":["../../components/ecl-select/ecl-select-container.component.ts","../../components/ecl-select/ecl-select-container.component.html","../../components/ecl-select/ecl-select.directive.ts","../../components/ecl-select/index.ts","../../components/ecl-select/eui-ecl-components-ecl-select.ts"],"sourcesContent":["import { Component, HostBinding, Input, booleanAttribute, inject } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclThemeService } from '@eui/ecl/core';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\nimport { EUI_ECL_BUTTON } from '@eui/ecl/components/ecl-button';\nimport { TranslatePipe } from '@ngx-translate/core';\n\n/**\n * Container component, which wraps the <select> component. Ataches custom select button with dropdown arrow.\n */\n@Component({\n selector: 'ecl-select-container',\n templateUrl: './ecl-select-container.component.html',\n imports: [\n ...EUI_ECL_ICON,\n TranslatePipe,\n ...EUI_ECL_BUTTON,\n ],\n})\nexport class EclSelectContainerComponent extends ECLBaseDirective {\n /**\n * Size/length of the field and the dropdown, can be 's', 'm' or 'l'. Default is 'm'.\n * Same as the size of the main host element.\n */\n @Input() eclSize = 'm';\n @Input({ transform: booleanAttribute }) disabled: boolean;\n @Input({ transform: booleanAttribute }) isInvalid: boolean;\n /**\n * Custom label for the arrow-down button. Set from the main host element.\n */\n @Input() toggleLabel: string | undefined = undefined;\n\n /**\n * Adds specific classes for the container.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-select__container'),\n this.eclSize ? `ecl-select__container--${this.eclSize}` : '',\n this.disabled ? 'ecl-select__container--disabled' : '',\n this.isInvalid ? 'ecl-select__container--invalid' : '',\n ]\n .join(' ')\n .trim();\n }\n\n private ICON_SIZE_EC = 'xs';\n private ICON_SIZE_EU = 's'\n private eclThemeService = inject(EclThemeService);\n\n /**\n * Returns different icon sizes, depending if it's EU (s) or EC (xs) theme.\n */\n get iconSize(): string {\n if (this.eclThemeService.isECTheme()) {\n return this.ICON_SIZE_EC;\n } else {\n return this.ICON_SIZE_EU;\n }\n }\n}\n","<div class=\"ecl-select__icon\">\n <button eclButton variant=\"tertiary\" tabindex=\"-1\" isIconOnly>\n <span eclButtonLabel>{{ toggleLabel || 'ecl.multiselect.TOGGLE.DROPDOWN' | translate }}</span>\n <ecl-icon icon=\"corner-arrow\" [size]=\"iconSize\" transform=\"rotate-180\"></ecl-icon>\n </button>\n</div>\n","import {\n AfterContentInit,\n ComponentRef,\n Directive,\n DoCheck,\n ElementRef,\n HostBinding,\n Injector,\n Input,\n OnDestroy,\n OnInit,\n PLATFORM_ID,\n Renderer2,\n ViewContainerRef,\n afterNextRender,\n booleanAttribute,\n inject,\n runInInjectionContext\n} from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclSelectContainerComponent } from './ecl-select-container.component';\nimport { NgControl } from '@angular/forms';\nimport { isPlatformBrowser } from '@angular/common';\n\n/**\n * Directive that enhances a native <select> element with ECL styling\n * by wrapping it inside an {@link EclSelectContainerComponent}.\n */\n@Directive({ selector: 'select[eclSelect]' })\nexport class EclSelectDirective extends ECLBaseDirective\n implements OnInit, DoCheck, AfterContentInit, OnDestroy {\n\n /** Disables the select element. */\n @Input({ transform: booleanAttribute })\n @HostBinding('attr.disabled') disabled = false;\n\n /** Marks the select element as invalid. */\n @Input({ transform: booleanAttribute }) isInvalid = false;\n\n /** Accessible label for the toggle button. */\n @Input() toggleLabel?: string;\n\n /** Size of the select component. */\n @Input() eclSize: 's' | 'm' | 'l' = 'm';\n\n private ngControl = inject(NgControl, { optional: true, self: true });\n private el = inject(ElementRef<HTMLElement>);\n private injector = inject(Injector);\n private vcr = inject(ViewContainerRef);\n private renderer = inject(Renderer2);\n private platformId = inject(PLATFORM_ID);\n private isBrowser = isPlatformBrowser(this.platformId);\n private containerRef!: ComponentRef<EclSelectContainerComponent>;\n private readonly OPTGROUP_TAG_NAME = 'OPTGROUP';\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-select')].join(' ').trim();\n }\n\n @HostBinding('attr.disabled')\n get isDisabled(): boolean {\n return this.ngControl ? (this.ngControl.disabled || null) : (this.disabled || null);\n }\n\n @HostBinding('class.ecl-select--invalid')\n get isInvalidState(): boolean {\n return this.ngControl\n ? (this.ngControl.status === 'INVALID' && this.ngControl.touched)\n : this.isInvalid;\n }\n\n /**\n * Initializes the directive.\n * - Creates the {@link EclSelectContainerComponent} wrapper.\n * - Synchronizes initial input values.\n * - Moves the <select> element inside the wrapper.\n */\n ngOnInit(): void {\n this.containerRef = this.vcr.createComponent(EclSelectContainerComponent);\n this.syncContainerInputs();\n\n const containerEl = this.containerRef.location.nativeElement as any;\n const selectEl = this.el.nativeElement as any;\n\n const moveIfNeeded = () => {\n if (selectEl.parentNode === containerEl) return;\n\n const firstChild = containerEl.firstChild ?? null;\n this.renderer.insertBefore(containerEl, selectEl, firstChild, true);\n };\n\n if (this.isBrowser) {\n if (selectEl.parentNode !== containerEl) {\n runInInjectionContext(this.injector, () => {\n afterNextRender(moveIfNeeded);\n });\n }\n } else {\n moveIfNeeded();\n }\n }\n\n /**\n * Processes any <optgroup> elements inside the <select> and\n * enhances them with appropriate accessibility attributes.\n */\n ngAfterContentInit(): void {\n const childrenElements: Element[] =\n Array.from(this.el.nativeElement.children);\n\n this.handleOptgroup(childrenElements);\n }\n\n /**\n * Keeps the wrapper component synchronized with the directive’s\n * current inputs and form control state.\n *\n * This is used to reflect runtime changes such as:\n * - Disabled state\n * - Validation status\n * - Size changes\n */\n ngDoCheck(): void {\n this.syncContainerInputs();\n }\n\n /**\n * Destroys the dynamically created wrapper component to prevent\n * memory leaks when the directive is removed.\n */\n ngOnDestroy(): void {\n this.containerRef?.destroy();\n }\n\n /**\n * Synchronizes directive inputs and control state\n * with the wrapper component instance.\n */\n private syncContainerInputs(): void {\n const c = this.containerRef?.instance;\n if (!c) return;\n\n c.eclSize = this.eclSize;\n c.disabled = this.isDisabled;\n c.toggleLabel = this.toggleLabel;\n c.isInvalid = this.isInvalidState;\n }\n\n /**\n * Enhances <optgroup> and <option> elements with\n * accessible aria-label attributes.\n *\n * - Applies the optgroup label to the group container.\n * - Combines option and group labels for child options.\n *\n * This improves screen reader support for grouped options.\n *\n * @param childrenElements List of direct children of the <select> element.\n */\n private handleOptgroup(childrenElements: Element[]): void {\n childrenElements\n .filter(el =>\n el.tagName === this.OPTGROUP_TAG_NAME &&\n el.getAttribute('label') !== null\n )\n .forEach(optGroup => {\n const optGroupLabel = optGroup.getAttribute('label');\n\n this.renderer.setAttribute(\n optGroup,\n 'aria-label',\n optGroupLabel\n );\n\n Array.from(optGroup.children).forEach(option => {\n const optionLabel =\n option.getAttribute('label') || option.textContent;\n\n if (optionLabel) {\n this.renderer.setAttribute(\n option,\n 'aria-label',\n `${optionLabel} - ${optGroupLabel}`\n );\n }\n });\n });\n }\n}\n","import { EclSelectDirective } from './ecl-select.directive';\nimport { EclSelectContainerComponent } from './ecl-select-container.component';\n\nexport * from './ecl-select.directive';\nexport * from './ecl-select-container.component';\n\nexport const EUI_ECL_SELECT = [\n EclSelectDirective,\n EclSelectContainerComponent,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"eui-ecl-components-ecl-select.mjs","sources":["../../components/ecl-select/ecl-select-container.component.ts","../../components/ecl-select/ecl-select-container.component.html","../../components/ecl-select/ecl-select.directive.ts","../../components/ecl-select/index.ts","../../components/ecl-select/eui-ecl-components-ecl-select.ts"],"sourcesContent":["import { Component, HostBinding, inject, model } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclThemeService } from '@eui/ecl/core';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\nimport { EUI_ECL_BUTTON } from '@eui/ecl/components/ecl-button';\nimport { TranslatePipe } from '@ngx-translate/core';\n\n/**\n * Container component, which wraps the <select> component. Ataches custom select button with dropdown arrow.\n */\n@Component({\n selector: 'ecl-select-container',\n templateUrl: './ecl-select-container.component.html',\n imports: [\n ...EUI_ECL_ICON,\n TranslatePipe,\n ...EUI_ECL_BUTTON,\n ],\n})\nexport class EclSelectContainerComponent extends ECLBaseDirective {\n /**\n * Size/length of the field and the dropdown, can be 's', 'm' or 'l'. Default is 'm'.\n * Same as the size of the main host element.\n */\n readonly eclSize = model('m');\n readonly disabled = model<boolean>(undefined);\n readonly isInvalid = model<boolean>(undefined);\n /**\n * Custom label for the arrow-down button. Set from the main host element.\n */\n readonly toggleLabel = model<string | undefined>(undefined);\n\n /**\n * Adds specific classes for the container.\n */\n @HostBinding('class')\n get cssClasses(): string {\n const eclSize = this.eclSize();\n return [\n super.getCssClasses('ecl-select__container'),\n eclSize ? `ecl-select__container--${eclSize}` : '',\n this.disabled() ? 'ecl-select__container--disabled' : '',\n this.isInvalid() ? 'ecl-select__container--invalid' : '',\n ]\n .join(' ')\n .trim();\n }\n\n private ICON_SIZE_EC = 'xs';\n private ICON_SIZE_EU = 's'\n private eclThemeService = inject(EclThemeService);\n\n /**\n * Returns different icon sizes, depending if it's EU (s) or EC (xs) theme.\n */\n get iconSize(): string {\n if (this.eclThemeService.isECTheme()) {\n return this.ICON_SIZE_EC;\n } else {\n return this.ICON_SIZE_EU;\n }\n }\n}\n","<div class=\"ecl-select__icon\">\n <button eclButton variant=\"tertiary\" tabindex=\"-1\" isIconOnly>\n <span eclButtonLabel>{{ toggleLabel() || 'ecl.multiselect.TOGGLE.DROPDOWN' | translate }}</span>\n <ecl-icon icon=\"corner-arrow\" [size]=\"iconSize\" transform=\"rotate-180\"></ecl-icon>\n </button>\n</div>\n","import {\n AfterContentInit,\n ComponentRef,\n Directive,\n DoCheck,\n ElementRef,\n HostBinding,\n Injector,\n OnDestroy,\n OnInit,\n PLATFORM_ID,\n Renderer2,\n ViewContainerRef,\n afterNextRender,\n booleanAttribute,\n inject,\n runInInjectionContext,\n input,\n} from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclSelectContainerComponent } from './ecl-select-container.component';\nimport { NgControl } from '@angular/forms';\nimport { isPlatformBrowser } from '@angular/common';\n\n/**\n * Directive that enhances a native <select> element with ECL styling\n * by wrapping it inside an {@link EclSelectContainerComponent}.\n */\n@Directive({ selector: 'select[eclSelect]' })\nexport class EclSelectDirective extends ECLBaseDirective\n implements OnInit, DoCheck, AfterContentInit, OnDestroy {\n\n /** Disables the select element. */\n @HostBinding('attr.disabled')\n readonly disabled = input(false, { transform: booleanAttribute });\n\n /** Marks the select element as invalid. */\n readonly isInvalid = input(false, { transform: booleanAttribute });\n\n /** Accessible label for the toggle button. */\n readonly toggleLabel = input<string>(undefined);\n\n /** Size of the select component. */\n readonly eclSize = input<'s' | 'm' | 'l'>('m');\n\n private ngControl = inject(NgControl, { optional: true, self: true });\n private el = inject(ElementRef<HTMLElement>);\n private injector = inject(Injector);\n private vcr = inject(ViewContainerRef);\n private renderer = inject(Renderer2);\n private platformId = inject(PLATFORM_ID);\n private isBrowser = isPlatformBrowser(this.platformId);\n private containerRef!: ComponentRef<EclSelectContainerComponent>;\n private readonly OPTGROUP_TAG_NAME = 'OPTGROUP';\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-select')].join(' ').trim();\n }\n\n @HostBinding('attr.disabled')\n get isDisabled(): boolean {\n return this.ngControl ? (this.ngControl.disabled || null) : (this.disabled() || null);\n }\n\n @HostBinding('class.ecl-select--invalid')\n get isInvalidState(): boolean {\n return this.ngControl\n ? (this.ngControl.status === 'INVALID' && this.ngControl.touched)\n : this.isInvalid();\n }\n\n /**\n * Initializes the directive.\n * - Creates the {@link EclSelectContainerComponent} wrapper.\n * - Synchronizes initial input values.\n * - Moves the <select> element inside the wrapper.\n */\n ngOnInit(): void {\n this.containerRef = this.vcr.createComponent(EclSelectContainerComponent);\n this.syncContainerInputs();\n\n const containerEl = this.containerRef.location.nativeElement as any;\n const selectEl = this.el.nativeElement as any;\n\n const moveIfNeeded = () => {\n if (selectEl.parentNode === containerEl) return;\n\n const firstChild = containerEl.firstChild ?? null;\n this.renderer.insertBefore(containerEl, selectEl, firstChild, true);\n };\n\n if (this.isBrowser) {\n if (selectEl.parentNode !== containerEl) {\n runInInjectionContext(this.injector, () => {\n afterNextRender(moveIfNeeded);\n });\n }\n } else {\n moveIfNeeded();\n }\n }\n\n /**\n * Processes any <optgroup> elements inside the <select> and\n * enhances them with appropriate accessibility attributes.\n */\n ngAfterContentInit(): void {\n const childrenElements: Element[] =\n Array.from(this.el.nativeElement.children);\n\n this.handleOptgroup(childrenElements);\n }\n\n /**\n * Keeps the wrapper component synchronized with the directive’s\n * current inputs and form control state.\n *\n * This is used to reflect runtime changes such as:\n * - Disabled state\n * - Validation status\n * - Size changes\n */\n ngDoCheck(): void {\n this.syncContainerInputs();\n }\n\n /**\n * Destroys the dynamically created wrapper component to prevent\n * memory leaks when the directive is removed.\n */\n ngOnDestroy(): void {\n this.containerRef?.destroy();\n }\n\n /**\n * Synchronizes directive inputs and control state\n * with the wrapper component instance.\n */\n private syncContainerInputs(): void {\n const c = this.containerRef?.instance;\n if (!c) return;\n\n c.eclSize.set(this.eclSize());\n c.disabled.set(this.isDisabled);\n c.toggleLabel.set(this.toggleLabel());\n c.isInvalid.set(this.isInvalidState);\n }\n\n /**\n * Enhances <optgroup> and <option> elements with\n * accessible aria-label attributes.\n *\n * - Applies the optgroup label to the group container.\n * - Combines option and group labels for child options.\n *\n * This improves screen reader support for grouped options.\n *\n * @param childrenElements List of direct children of the <select> element.\n */\n private handleOptgroup(childrenElements: Element[]): void {\n childrenElements\n .filter(el =>\n el.tagName === this.OPTGROUP_TAG_NAME &&\n el.getAttribute('label') !== null\n )\n .forEach(optGroup => {\n const optGroupLabel = optGroup.getAttribute('label');\n\n this.renderer.setAttribute(\n optGroup,\n 'aria-label',\n optGroupLabel\n );\n\n Array.from(optGroup.children).forEach(option => {\n const optionLabel =\n option.getAttribute('label') || option.textContent;\n\n if (optionLabel) {\n this.renderer.setAttribute(\n option,\n 'aria-label',\n `${optionLabel} - ${optGroupLabel}`\n );\n }\n });\n });\n }\n}\n","import { EclSelectDirective } from './ecl-select.directive';\nimport { EclSelectContainerComponent } from './ecl-select-container.component';\n\nexport * from './ecl-select.directive';\nexport * from './ecl-select-container.component';\n\nexport const EUI_ECL_SELECT = [\n EclSelectDirective,\n EclSelectContainerComponent,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|