@eui/ecl 19.3.1 → 19.3.2-snapshot-1752652198707
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/components/ecl-app/ecl-app.component.d.ts +10 -0
- package/components/ecl-app/ecl-app.component.d.ts.map +1 -1
- package/components/ecl-breadcrumb/ecl-breadcrumb-container.directive.d.ts +6 -0
- package/components/ecl-breadcrumb/ecl-breadcrumb-container.directive.d.ts.map +1 -1
- package/components/ecl-breadcrumb/ecl-breadcrumb-segment.component.d.ts +39 -0
- package/components/ecl-breadcrumb/ecl-breadcrumb-segment.component.d.ts.map +1 -1
- package/components/ecl-breadcrumb/ecl-breadcrumb.component.d.ts +42 -0
- package/components/ecl-breadcrumb/ecl-breadcrumb.component.d.ts.map +1 -1
- package/components/ecl-breadcrumb/events/ecl-breadcrumb-segment-click.event.d.ts +3 -0
- package/components/ecl-breadcrumb/events/ecl-breadcrumb-segment-click.event.d.ts.map +1 -1
- package/components/ecl-media-container/ecl-media-container-iframe.directive.d.ts +3 -0
- package/components/ecl-media-container/ecl-media-container-iframe.directive.d.ts.map +1 -1
- package/components/ecl-media-container/ecl-media-container-item-audio-description.directive.d.ts +3 -0
- package/components/ecl-media-container/ecl-media-container-item-audio-description.directive.d.ts.map +1 -1
- package/components/ecl-media-container/ecl-media-container-item.directive.d.ts +3 -0
- package/components/ecl-media-container/ecl-media-container-item.directive.d.ts.map +1 -1
- package/components/ecl-media-container/ecl-media-container-picture.directive.d.ts +3 -0
- package/components/ecl-media-container/ecl-media-container-picture.directive.d.ts.map +1 -1
- package/components/ecl-media-container/ecl-media-container.component.d.ts +15 -0
- package/components/ecl-media-container/ecl-media-container.component.d.ts.map +1 -1
- package/components/ecl-menu/ecl-menu/ecl-menu-item.component.d.ts +68 -0
- package/components/ecl-menu/ecl-menu/ecl-menu-item.component.d.ts.map +1 -1
- package/components/ecl-menu/ecl-menu/ecl-menu.component.d.ts +69 -5
- package/components/ecl-menu/ecl-menu/ecl-menu.component.d.ts.map +1 -1
- package/components/ecl-menu/ecl-menu-mega/ecl-menu-mega-item.component.d.ts +32 -0
- package/components/ecl-menu/ecl-menu-mega/ecl-menu-mega-item.component.d.ts.map +1 -1
- package/components/ecl-menu/ecl-menu-mega/ecl-menu-mega.component.d.ts +13 -0
- package/components/ecl-menu/ecl-menu-mega/ecl-menu-mega.component.d.ts.map +1 -1
- package/components/ecl-multiselect/ecl-multiselect-dropdown/ecl-multiselect-dropdown.component.d.ts +97 -0
- package/components/ecl-multiselect/ecl-multiselect-dropdown/ecl-multiselect-dropdown.component.d.ts.map +1 -1
- package/components/ecl-multiselect/ecl-multiselect-input/ecl-multiselect-input.component.d.ts +74 -0
- package/components/ecl-multiselect/ecl-multiselect-input/ecl-multiselect-input.component.d.ts.map +1 -1
- package/components/ecl-multiselect/ecl-multiselect-optgroup/ecl-multiselect-optgroup.component.d.ts +10 -0
- package/components/ecl-multiselect/ecl-multiselect-optgroup/ecl-multiselect-optgroup.component.d.ts.map +1 -1
- package/components/ecl-multiselect/ecl-multiselect-option/ecl-multiselect-option.component.d.ts +42 -0
- package/components/ecl-multiselect/ecl-multiselect-option/ecl-multiselect-option.component.d.ts.map +1 -1
- package/components/ecl-multiselect/ecl-multiselect-option.directive.d.ts +28 -0
- package/components/ecl-multiselect/ecl-multiselect-option.directive.d.ts.map +1 -1
- package/components/ecl-multiselect/ecl-multiselect.component.d.ts +45 -0
- package/components/ecl-multiselect/ecl-multiselect.component.d.ts.map +1 -1
- package/components/ecl-navigation-list/ecl-navigation-list-item.component.d.ts +9 -0
- package/components/ecl-navigation-list/ecl-navigation-list-item.component.d.ts.map +1 -1
- package/components/ecl-navigation-list/ecl-navigation-list-picture.directive.d.ts +6 -0
- package/components/ecl-navigation-list/ecl-navigation-list-picture.directive.d.ts.map +1 -1
- package/components/ecl-navigation-list/ecl-navigation-list.component.d.ts +13 -0
- package/components/ecl-navigation-list/ecl-navigation-list.component.d.ts.map +1 -1
- package/components/ecl-page-header/ecl-page-header-background.directive.d.ts +16 -0
- package/components/ecl-page-header/ecl-page-header-background.directive.d.ts.map +1 -1
- package/components/ecl-page-header/ecl-page-header-description.directive.d.ts +33 -1
- package/components/ecl-page-header/ecl-page-header-description.directive.d.ts.map +1 -1
- package/components/ecl-page-header/ecl-page-header-info.directive.d.ts +8 -0
- package/components/ecl-page-header/ecl-page-header-info.directive.d.ts.map +1 -1
- package/components/ecl-page-header/ecl-page-header-meta.directive.d.ts +16 -0
- package/components/ecl-page-header/ecl-page-header-meta.directive.d.ts.map +1 -1
- package/components/ecl-page-header/ecl-page-header-title.directive.d.ts +14 -0
- package/components/ecl-page-header/ecl-page-header-title.directive.d.ts.map +1 -1
- package/components/ecl-page-header/ecl-page-header.component.d.ts +21 -0
- package/components/ecl-page-header/ecl-page-header.component.d.ts.map +1 -1
- package/components/ecl-pagination/ecl-pagination-item.component.d.ts +63 -0
- package/components/ecl-pagination/ecl-pagination-item.component.d.ts.map +1 -1
- package/components/ecl-pagination/ecl-pagination-list.directive.d.ts +7 -0
- package/components/ecl-pagination/ecl-pagination-list.directive.d.ts.map +1 -1
- package/components/ecl-pagination/ecl-pagination.component.d.ts +65 -0
- package/components/ecl-pagination/ecl-pagination.component.d.ts.map +1 -1
- package/components/ecl-pagination/events/ecl-pagination.event.d.ts +22 -1
- package/components/ecl-pagination/events/ecl-pagination.event.d.ts.map +1 -1
- package/components/ecl-radio/ecl-radio-help.component.d.ts +13 -0
- package/components/ecl-radio/ecl-radio-help.component.d.ts.map +1 -1
- package/components/ecl-radio/ecl-radio-input.directive.d.ts +30 -1
- package/components/ecl-radio/ecl-radio-input.directive.d.ts.map +1 -1
- package/components/ecl-radio/ecl-radio-label.component.d.ts +16 -0
- package/components/ecl-radio/ecl-radio-label.component.d.ts.map +1 -1
- package/components/ecl-radio/ecl-radio.directive.d.ts +31 -0
- package/components/ecl-radio/ecl-radio.directive.d.ts.map +1 -1
- package/components/ecl-range/ecl-range-bubble.component.d.ts +22 -0
- package/components/ecl-range/ecl-range-bubble.component.d.ts.map +1 -1
- package/components/ecl-range/ecl-range-value.component.d.ts +14 -0
- package/components/ecl-range/ecl-range-value.component.d.ts.map +1 -1
- package/components/ecl-range/ecl-range.directive.d.ts +42 -0
- package/components/ecl-range/ecl-range.directive.d.ts.map +1 -1
- package/components/ecl-range/events/ecl-range.event.d.ts +7 -0
- package/components/ecl-range/events/ecl-range.event.d.ts.map +1 -1
- package/components/ecl-site-footer/ecl-footer-elements/ec/ecl-site-footer-fixed-content.d.ts +16 -0
- package/components/ecl-site-footer/ecl-footer-elements/ec/ecl-site-footer-fixed-content.d.ts.map +1 -1
- package/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-column.directive.d.ts +10 -0
- package/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-column.directive.d.ts.map +1 -1
- package/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-description.directive.d.ts +3 -0
- package/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-description.directive.d.ts.map +1 -1
- package/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-link.directive.d.ts +12 -0
- package/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-link.directive.d.ts.map +1 -1
- package/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-list.directive.d.ts +15 -0
- package/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-list.directive.d.ts.map +1 -1
- package/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-section.directive.d.ts +9 -0
- package/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-section.directive.d.ts.map +1 -1
- package/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-title.directive.d.ts +6 -0
- package/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-title.directive.d.ts.map +1 -1
- package/components/ecl-site-footer/ecl-footer-elements/eu/ecl-site-footer-fixed-content.d.ts +16 -0
- package/components/ecl-site-footer/ecl-footer-elements/eu/ecl-site-footer-fixed-content.d.ts.map +1 -1
- package/components/ecl-site-footer/ecl-site-footer.component.d.ts +14 -0
- package/components/ecl-site-footer/ecl-site-footer.component.d.ts.map +1 -1
- package/components/ecl-site-header/action/ecl-site-header-action.component.d.ts +3 -0
- package/components/ecl-site-header/action/ecl-site-header-action.component.d.ts.map +1 -1
- package/components/ecl-site-header/banner-top/ecl-site-header-banner-top.component.d.ts +3 -0
- package/components/ecl-site-header/banner-top/ecl-site-header-banner-top.component.d.ts.map +1 -1
- package/components/ecl-site-header/cta/ecl-site-header-cta.directive.d.ts +4 -0
- package/components/ecl-site-header/cta/ecl-site-header-cta.directive.d.ts.map +1 -1
- package/components/ecl-site-header/custom-action/ecl-site-header-custom-action.component.d.ts +17 -4
- package/components/ecl-site-header/custom-action/ecl-site-header-custom-action.component.d.ts.map +1 -1
- package/components/ecl-site-header/ecl-site-header-environment/ecl-site-header-environment.component.d.ts +4 -0
- package/components/ecl-site-header/ecl-site-header-environment/ecl-site-header-environment.component.d.ts.map +1 -1
- package/components/ecl-site-header/ecl-site-header.component.d.ts +32 -0
- package/components/ecl-site-header/ecl-site-header.component.d.ts.map +1 -1
- package/components/ecl-site-header/language/ecl-site-header-language-popover.component.d.ts +50 -0
- package/components/ecl-site-header/language/ecl-site-header-language-popover.component.d.ts.map +1 -1
- package/components/ecl-site-header/language/ecl-site-header-language.component.d.ts +54 -0
- package/components/ecl-site-header/language/ecl-site-header-language.component.d.ts.map +1 -1
- package/components/ecl-site-header/login/ecl-site-header-login-details.directive.d.ts +7 -0
- package/components/ecl-site-header/login/ecl-site-header-login-details.directive.d.ts.map +1 -1
- package/components/ecl-site-header/login/ecl-site-header-login.component.d.ts +19 -0
- package/components/ecl-site-header/login/ecl-site-header-login.component.d.ts.map +1 -1
- package/components/ecl-site-header/notification/ecl-site-header-notification.component.d.ts +4 -0
- package/components/ecl-site-header/notification/ecl-site-header-notification.component.d.ts.map +1 -1
- package/components/ecl-site-header/picture/ecl-site-header-picture.directive.d.ts +9 -0
- package/components/ecl-site-header/picture/ecl-site-header-picture.directive.d.ts.map +1 -1
- package/components/ecl-site-header/search/ecl-site-header-search.component.d.ts +17 -0
- package/components/ecl-site-header/search/ecl-site-header-search.component.d.ts.map +1 -1
- package/components/ecl-site-header/services/ecl-area-data.service.d.ts +8 -0
- package/components/ecl-site-header/services/ecl-area-data.service.d.ts.map +1 -1
- package/components/ecl-tabs/ecl-tab-label.component.d.ts +7 -0
- package/components/ecl-tabs/ecl-tab-label.component.d.ts.map +1 -1
- package/components/ecl-tabs/ecl-tab-more.component.d.ts +11 -1
- package/components/ecl-tabs/ecl-tab-more.component.d.ts.map +1 -1
- package/components/ecl-tabs/ecl-tab.component.d.ts +65 -0
- package/components/ecl-tabs/ecl-tab.component.d.ts.map +1 -1
- package/components/ecl-tabs/ecl-tabs.component.d.ts +116 -0
- package/components/ecl-tabs/ecl-tabs.component.d.ts.map +1 -1
- package/components/ecl-tabs/events/ecl-tab-select.event.d.ts +8 -0
- package/components/ecl-tabs/events/ecl-tab-select.event.d.ts.map +1 -1
- package/docs/classes/EclAppLanguageDismissEvent.html +7 -0
- package/docs/classes/EclBreadcrumbSegmentClickEvent.html +7 -0
- package/docs/classes/EclPaginationEvent.html +22 -0
- package/docs/classes/EclPaginationItemClickEvent.html +7 -0
- package/docs/classes/EclRangeEvent.html +10 -0
- package/docs/classes/EclTabSelectEvent.html +10 -0
- package/docs/components/EclAccordionComponent.html +1 -1
- package/docs/components/EclAccordionItemComponent.html +1 -1
- package/docs/components/EclAppComponent.html +15 -1
- package/docs/components/EclBannerComponent.html +1 -1
- package/docs/components/EclBlockquoteComponent.html +1 -1
- package/docs/components/EclBreadcrumbComponent.html +112 -1
- package/docs/components/EclBreadcrumbSegmentComponent.html +99 -1
- package/docs/components/EclButtonComponent.html +1 -1
- package/docs/components/EclCardBodyComponent.html +1 -1
- package/docs/components/EclCardComponent.html +1 -1
- package/docs/components/EclCarouselComponent.html +1 -1
- package/docs/components/EclCarouselItemComponent.html +1 -1
- package/docs/components/EclCategoryFilterComponent.html +1 -1
- package/docs/components/EclCategoryFilterItemComponent.html +1 -1
- package/docs/components/EclCategoryFilterListComponent.html +1 -1
- package/docs/components/EclCheckboxHelpComponent.html +1 -1
- package/docs/components/EclCheckboxLabelComponent.html +1 -1
- package/docs/components/EclContentBlockComponent.html +1 -1
- package/docs/components/EclContentItemComponent.html +1 -1
- package/docs/components/EclDateBlockComponent.html +1 -1
- package/docs/components/EclDescriptionListDefinitionComponent.html +1 -1
- package/docs/components/EclExpandableComponent.html +1 -1
- package/docs/components/EclFactFiguresComponent.html +1 -1
- package/docs/components/EclFactFiguresDescriptionComponent.html +1 -1
- package/docs/components/EclFactFiguresItemComponent.html +1 -1
- package/docs/components/EclFactFiguresTitleComponent.html +1 -1
- package/docs/components/EclFactFiguresValueComponent.html +1 -1
- package/docs/components/EclFactFiguresViewAllComponent.html +1 -1
- package/docs/components/EclFeaturedComponent.html +1 -1
- package/docs/components/EclFeaturedItemComponent.html +1 -1
- package/docs/components/EclFeaturedItemDescriptionComponent.html +1 -1
- package/docs/components/EclFeaturedItemFooterComponent.html +1 -1
- package/docs/components/EclFileComponent.html +1 -1
- package/docs/components/EclFileItemComponent.html +1 -1
- package/docs/components/EclFileItemsComponent.html +1 -1
- package/docs/components/EclFileTaxonomyComponent.html +1 -1
- package/docs/components/EclFormGroupComponent.html +1 -1
- package/docs/components/EclFormLabelComponent.html +1 -1
- package/docs/components/EclGalleryComponent.html +1 -1
- package/docs/components/EclGalleryFooterComponent.html +1 -1
- package/docs/components/EclGalleryItemComponent.html +1 -1
- package/docs/components/EclIconComponent.html +1 -1
- package/docs/components/EclInpageNavigationComponent.html +1 -1
- package/docs/components/EclInpageNavigationItemComponent.html +1 -1
- package/docs/components/EclListIllustrationComponent.html +1 -1
- package/docs/components/EclListIllustrationItemComponent.html +1 -1
- package/docs/components/EclLoadingIndicatorComponent.html +1 -1
- package/docs/components/EclMediaContainerComponent.html +35 -1
- package/docs/components/EclMegaMenuComponent.html +1 -1
- package/docs/components/EclMegaMenuFeaturedComponent.html +1 -1
- package/docs/components/EclMegaMenuInfoComponent.html +1 -1
- package/docs/components/EclMegaMenuItemComponent.html +1 -1
- package/docs/components/EclMegaMenuSubitemComponent.html +1 -1
- package/docs/components/EclMenuComponent.html +121 -49
- package/docs/components/EclMenuItemComponent.html +95 -1
- package/docs/components/EclMenuMegaComponent.html +27 -1
- package/docs/components/EclMenuMegaItemComponent.html +63 -1
- package/docs/components/EclModalBodyComponent.html +1 -1
- package/docs/components/EclModalComponent.html +1 -1
- package/docs/components/EclModalFooterComponent.html +1 -1
- package/docs/components/EclModalHeaderComponent.html +1 -1
- package/docs/components/EclMultiselectComponent.html +118 -1
- package/docs/components/EclMultiselectDropdownComponent.html +205 -1
- package/docs/components/EclMultiselectInputComponent.html +172 -1
- package/docs/components/EclMultiselectOptgroupComponent.html +32 -1
- package/docs/components/EclMultiselectOptionComponent.html +83 -1
- package/docs/components/EclNavigationListComponent.html +27 -1
- package/docs/components/EclNavigationListItemComponent.html +26 -1
- package/docs/components/EclNewsTickerComponent.html +1 -1
- package/docs/components/EclNewsTickerItemComponent.html +1 -1
- package/docs/components/EclNotificationComponent.html +1 -1
- package/docs/components/EclPageHeaderComponent.html +52 -1
- package/docs/components/EclPaginationComponent.html +110 -1
- package/docs/components/EclPaginationItemComponent.html +112 -1
- package/docs/components/EclPopoverComponent.html +1 -1
- package/docs/components/EclRadioHelpComponent.html +35 -1
- package/docs/components/EclRadioLabelComponent.html +41 -1
- package/docs/components/EclRangeBubbleComponent.html +57 -1
- package/docs/components/EclRangeValueComponent.html +40 -1
- package/docs/components/EclRatingFieldComponent.html +1 -1
- package/docs/components/EclSearchFormComponent.html +1 -1
- package/docs/components/EclSelectContainerComponent.html +1 -1
- package/docs/components/EclSiteFooterComponent.html +34 -1
- package/docs/components/EclSiteFooterFixedContentECComponent.html +33 -1
- package/docs/components/EclSiteFooterFixedContentEUComponent.html +33 -1
- package/docs/components/EclSiteHeaderActionComponent.html +8 -1
- package/docs/components/EclSiteHeaderBannerTopComponent.html +8 -1
- package/docs/components/EclSiteHeaderComponent.html +59 -2
- package/docs/components/EclSiteHeaderCustomActionComponent.html +35 -55
- package/docs/components/EclSiteHeaderEnvironmentComponent.html +9 -1
- package/docs/components/EclSiteHeaderLanguageComponent.html +95 -1
- package/docs/components/EclSiteHeaderLanguagePopoverComponent.html +105 -1
- package/docs/components/EclSiteHeaderLoginComponent.html +34 -1
- package/docs/components/EclSiteHeaderNotificationComponent.html +9 -1
- package/docs/components/EclSiteHeaderSearchComponent.html +37 -1
- package/docs/components/EclSocialMediaFollowComponent.html +1 -1
- package/docs/components/EclSocialMediaFollowItemComponent.html +1 -1
- package/docs/components/EclSocialMediaShareComponent.html +1 -1
- package/docs/components/EclSocialMediaShareItemComponent.html +1 -1
- package/docs/components/EclSplashPageComponent.html +1 -1
- package/docs/components/EclSplashPageLanguageCategoryComponent.html +1 -1
- package/docs/components/EclSplashPageLanguageContainerComponent.html +1 -1
- package/docs/components/EclSplashPageLanguageLinkComponent.html +1 -1
- package/docs/components/EclStickyContainerComponent.html +1 -1
- package/docs/components/EclTabComponent.html +123 -1
- package/docs/components/EclTabLabelComponent.html +11 -1
- package/docs/components/EclTabMoreComponent.html +36 -2
- package/docs/components/EclTableSortButtonComponent.html +1 -1
- package/docs/components/EclTabsComponent.html +200 -1
- package/docs/components/EclTagComponent.html +1 -1
- package/docs/components/EclTimelineComponent.html +1 -1
- package/docs/components/EclTimelineItemComponent.html +1 -1
- package/docs/components/EclTimelineItemTogglerComponent.html +1 -1
- package/docs/dependencies.html +2 -2
- package/docs/directives/EclBreadcrumbContainerDirective.html +19 -0
- package/docs/directives/EclMediaContainerIframeDirective.html +7 -0
- package/docs/directives/EclMediaContainerItemAudioDescriptionDirective.html +7 -0
- package/docs/directives/EclMediaContainerItemDirective.html +7 -0
- package/docs/directives/EclMediaContainerPictureDirective.html +7 -0
- package/docs/directives/EclMultiselectOptionDirective.html +85 -0
- package/docs/directives/EclNavigationListImageDirective.html +7 -0
- package/docs/directives/EclNavigationListPictureDirective.html +7 -0
- package/docs/directives/EclPageHeaderBackgroundImageDirective.html +19 -0
- package/docs/directives/EclPageHeaderBackgroundPictureDirective.html +19 -0
- package/docs/directives/EclPageHeaderDescriptionContainerDirective.html +19 -0
- package/docs/directives/EclPageHeaderDescriptionDirective.html +19 -0
- package/docs/directives/EclPageHeaderDescriptionPictureDirective.html +19 -0
- package/docs/directives/EclPageHeaderDescriptionThumbnailDirective.html +20 -1
- package/docs/directives/EclPageHeaderInfoDirective.html +19 -0
- package/docs/directives/EclPageHeaderMetaDirective.html +19 -0
- package/docs/directives/EclPageHeaderMetaItemDirective.html +19 -0
- package/docs/directives/EclPageHeaderTitleDirective.html +34 -0
- package/docs/directives/EclPaginationListDirective.html +20 -0
- package/docs/directives/EclRadioDirective.html +60 -0
- package/docs/directives/EclRadioInputDirective.html +36 -0
- package/docs/directives/EclRangeDirective.html +92 -0
- package/docs/directives/EclSiteFooterColumnDirective.html +7 -0
- package/docs/directives/EclSiteFooterContentDirective.html +21 -6
- package/docs/directives/EclSiteFooterDescriptionDirective.html +7 -0
- package/docs/directives/EclSiteFooterLinkDirective.html +7 -0
- package/docs/directives/EclSiteFooterListDirective.html +7 -0
- package/docs/directives/EclSiteFooterListItemDirective.html +7 -0
- package/docs/directives/EclSiteFooterLogoDirective.html +9 -1
- package/docs/directives/EclSiteFooterLogoImageDirective.html +7 -0
- package/docs/directives/EclSiteFooterLogoItemDirective.html +9 -1
- package/docs/directives/EclSiteFooterLogoLinkDirective.html +7 -0
- package/docs/directives/EclSiteFooterLogoListDirective.html +9 -1
- package/docs/directives/EclSiteFooterPictureDirective.html +7 -0
- package/docs/directives/EclSiteFooterRowDirective.html +7 -0
- package/docs/directives/EclSiteFooterSectionDirective.html +14 -1
- package/docs/directives/EclSiteFooterTitleDirective.html +7 -0
- package/docs/directives/EclSiteFooterTitleLinkDirective.html +7 -0
- package/docs/directives/EclSiteHeaderCtaDirective.html +8 -0
- package/docs/directives/EclSiteHeaderImageDirective.html +7 -0
- package/docs/directives/EclSiteHeaderLinkDirective.html +7 -0
- package/docs/directives/EclSiteHeaderLoginDescriptionDirective.html +7 -0
- package/docs/directives/EclSiteHeaderLoginSeparatorDirective.html +8 -0
- package/docs/directives/EclSiteHeaderPictureDirective.html +7 -0
- package/docs/injectables/EclAreaDataService.html +10 -0
- package/docs/js/menu-wc.js +4 -4
- package/docs/js/menu-wc_es5.js +1 -1
- package/docs/js/search/search_index.js +2 -2
- package/fesm2022/eui-ecl-components-ecl-accordion.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-app.mjs +11 -0
- package/fesm2022/eui-ecl-components-ecl-app.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-banner.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-blockquote.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-breadcrumb.mjs +82 -2
- package/fesm2022/eui-ecl-components-ecl-breadcrumb.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-button.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-card.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-carousel.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-category-filter.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-checkbox.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-content-block.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-content-item.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-date-block.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-date-picker.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-expandable.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-fact-figures.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-featured.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-feedback-message.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-file-upload.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-file.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-form-group.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-form-label.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-gallery.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-help-block.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-icon.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-inpage-navigation.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-label.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-link.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-list-illustration.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-list.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-loading-indicator.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-media-container.mjs +29 -0
- package/fesm2022/eui-ecl-components-ecl-media-container.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-menu.mjs +152 -18
- package/fesm2022/eui-ecl-components-ecl-menu.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-modal.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-multiselect.mjs +270 -1
- package/fesm2022/eui-ecl-components-ecl-multiselect.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-navigation-list.mjs +27 -0
- package/fesm2022/eui-ecl-components-ecl-navigation-list.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-news-ticker.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-notification.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-page-header.mjs +107 -3
- package/fesm2022/eui-ecl-components-ecl-page-header.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-pagination.mjs +127 -1
- package/fesm2022/eui-ecl-components-ecl-pagination.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-popover.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-radio.mjs +71 -1
- package/fesm2022/eui-ecl-components-ecl-radio.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-range.mjs +68 -1
- package/fesm2022/eui-ecl-components-ecl-range.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-rating-field.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-search-form.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-select.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-separator.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-site-footer.mjs +85 -2
- package/fesm2022/eui-ecl-components-ecl-site-footer.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-site-header.mjs +182 -10
- package/fesm2022/eui-ecl-components-ecl-site-header.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-social-media-follow.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-social-media-share.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-splash-page.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-sticky-container.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-table.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-tabs.mjs +177 -1
- package/fesm2022/eui-ecl-components-ecl-tabs.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-tag.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-text-area.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-text-input.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-timeline.mjs.map +1 -1
- package/fesm2022/eui-ecl-core.mjs.map +1 -1
- package/fesm2022/eui-ecl-shared.mjs.map +1 -1
- package/package.json +2 -2
|
@@ -63,6 +63,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
|
|
|
63
63
|
}]
|
|
64
64
|
}] });
|
|
65
65
|
|
|
66
|
+
/**
|
|
67
|
+
* Component representing a single selectable option in the multiselect dropdown.
|
|
68
|
+
*/
|
|
66
69
|
class EclMultiselectOptionComponent extends ECLBaseDirective {
|
|
67
70
|
set value(value) {
|
|
68
71
|
this._value = value;
|
|
@@ -73,6 +76,9 @@ class EclMultiselectOptionComponent extends ECLBaseDirective {
|
|
|
73
76
|
get cssClasses() {
|
|
74
77
|
return [super.getCssClasses('ecl-checkbox')].join(' ').trim();
|
|
75
78
|
}
|
|
79
|
+
/**
|
|
80
|
+
* Indicates whether the option is selected.
|
|
81
|
+
*/
|
|
76
82
|
get isChecked() {
|
|
77
83
|
return this._checked;
|
|
78
84
|
}
|
|
@@ -84,17 +90,32 @@ class EclMultiselectOptionComponent extends ECLBaseDirective {
|
|
|
84
90
|
this.renderer = renderer;
|
|
85
91
|
this.keyword = '';
|
|
86
92
|
this.changes = new Subject();
|
|
93
|
+
/**
|
|
94
|
+
* Disables the option when true.
|
|
95
|
+
*/
|
|
87
96
|
this.disabled = false;
|
|
97
|
+
/**
|
|
98
|
+
* Emits when the option is clicked.
|
|
99
|
+
*/
|
|
88
100
|
this.optionClick = new EventEmitter();
|
|
101
|
+
/**
|
|
102
|
+
* Emits when a key is pressed while focused on the option.
|
|
103
|
+
*/
|
|
89
104
|
this.optionKeydown = new EventEmitter();
|
|
90
105
|
this.display = 'flex';
|
|
91
106
|
this._id = '';
|
|
92
107
|
this._checked = false;
|
|
93
108
|
this._value = '';
|
|
94
109
|
}
|
|
110
|
+
/**
|
|
111
|
+
* Returns the unique identifier for the option.
|
|
112
|
+
*/
|
|
95
113
|
get id() {
|
|
96
114
|
return this._id;
|
|
97
115
|
}
|
|
116
|
+
/**
|
|
117
|
+
* Indicates whether the option is active (visible and not disabled).
|
|
118
|
+
*/
|
|
98
119
|
get isActive() {
|
|
99
120
|
return this.display === 'flex' && !this.disabled;
|
|
100
121
|
}
|
|
@@ -107,22 +128,40 @@ class EclMultiselectOptionComponent extends ECLBaseDirective {
|
|
|
107
128
|
ngOnDestroy() {
|
|
108
129
|
this.changes.complete();
|
|
109
130
|
}
|
|
131
|
+
/**
|
|
132
|
+
* Toggles the selected state and emits the optionClick event.
|
|
133
|
+
*/
|
|
110
134
|
onOptionClick() {
|
|
111
135
|
this.isChecked = !this.isChecked;
|
|
112
136
|
this.optionClick.emit(new EclMultiselectOptionClickEvent(this));
|
|
113
137
|
}
|
|
138
|
+
/**
|
|
139
|
+
* Emits the optionKeydown event when a key is pressed.
|
|
140
|
+
*/
|
|
114
141
|
onOptionKeydown(evt) {
|
|
115
142
|
this.optionKeydown.emit(new EclMultiselectOptionKeydownEvent(this, evt));
|
|
116
143
|
}
|
|
144
|
+
/**
|
|
145
|
+
* Focuses the checkbox input.
|
|
146
|
+
*/
|
|
117
147
|
onFocus() {
|
|
118
148
|
this.renderer.selectRootElement(this.eclCheckboxInput.nativeElement, true).focus();
|
|
119
149
|
}
|
|
150
|
+
/**
|
|
151
|
+
* Makes the option visible.
|
|
152
|
+
*/
|
|
120
153
|
show() {
|
|
121
154
|
this.display = 'flex';
|
|
122
155
|
}
|
|
156
|
+
/**
|
|
157
|
+
* Hides the option from view.
|
|
158
|
+
*/
|
|
123
159
|
hide() {
|
|
124
160
|
this.display = 'none';
|
|
125
161
|
}
|
|
162
|
+
/**
|
|
163
|
+
* Sets the keyword for search highlighting.
|
|
164
|
+
*/
|
|
126
165
|
highlightSearchText(keyword) {
|
|
127
166
|
this.keyword = keyword;
|
|
128
167
|
const re = new RegExp(keyword, 'gi');
|
|
@@ -173,40 +212,98 @@ class EclMultiselectMainInputClickEvent {
|
|
|
173
212
|
}
|
|
174
213
|
}
|
|
175
214
|
|
|
215
|
+
/**
|
|
216
|
+
* Component representing the main input of a multiselect component.
|
|
217
|
+
* Handles displaying selected items, opening the dropdown, and managing accessibility.
|
|
218
|
+
*/
|
|
176
219
|
class EclMultiselectInputComponent extends ECLBaseDirective {
|
|
220
|
+
/**
|
|
221
|
+
* CSS classes for the component, including size and inherited classes.
|
|
222
|
+
*/
|
|
177
223
|
get cssClasses() {
|
|
178
|
-
return [
|
|
224
|
+
return [
|
|
225
|
+
super.getCssClasses('ecl-select__container'),
|
|
226
|
+
`ecl-select__container--${this.eclSize}`,
|
|
227
|
+
].join(' ').trim();
|
|
179
228
|
}
|
|
180
229
|
constructor(eclThemeService, renderer) {
|
|
181
230
|
super();
|
|
182
231
|
this.eclThemeService = eclThemeService;
|
|
183
232
|
this.renderer = renderer;
|
|
233
|
+
/**
|
|
234
|
+
* Size modifier for the multiselect input (e.g., 's', 'm', 'l').
|
|
235
|
+
*/
|
|
184
236
|
this.eclSize = 'm';
|
|
237
|
+
/**
|
|
238
|
+
* Label for the toggle button (optional).
|
|
239
|
+
*/
|
|
185
240
|
this.toggleLabel = undefined;
|
|
241
|
+
/**
|
|
242
|
+
* Marks the component as disabled.
|
|
243
|
+
*/
|
|
186
244
|
this.isDisabled = false;
|
|
245
|
+
/**
|
|
246
|
+
* Marks the component as being in an invalid state.
|
|
247
|
+
*/
|
|
187
248
|
this.isInvalid = false;
|
|
249
|
+
/**
|
|
250
|
+
* Array of currently selected item labels.
|
|
251
|
+
*/
|
|
188
252
|
this.selectedItems = [];
|
|
253
|
+
/**
|
|
254
|
+
* Indicates that the dropdown is currently expanded.
|
|
255
|
+
*/
|
|
189
256
|
this.isDropdownExpanded = false;
|
|
257
|
+
/**
|
|
258
|
+
* ARIA controls attribute for accessibility.
|
|
259
|
+
*/
|
|
190
260
|
this.ariaControls = undefined;
|
|
261
|
+
/**
|
|
262
|
+
* ARIA describedby attribute for accessibility.
|
|
263
|
+
*/
|
|
191
264
|
this.ariaDescribedby = undefined;
|
|
265
|
+
/**
|
|
266
|
+
* ARIA labelledby attribute for accessibility.
|
|
267
|
+
*/
|
|
192
268
|
this.ariaLabeledby = undefined;
|
|
269
|
+
/**
|
|
270
|
+
* Event emitted when the input is clicked.
|
|
271
|
+
*/
|
|
193
272
|
this.mainInputClick = new EventEmitter();
|
|
273
|
+
/**
|
|
274
|
+
* Event emitted when a key is pressed on the input.
|
|
275
|
+
*/
|
|
194
276
|
this.mainInputKeydown = new EventEmitter();
|
|
195
277
|
this.ICON_SIZE_FOR_EC_THEME_ON = 'xs';
|
|
196
278
|
this.ICON_SIZE_FOR_EU_THEME_ON = 's';
|
|
197
279
|
}
|
|
280
|
+
/**
|
|
281
|
+
* Returns the label text shown inside the button.
|
|
282
|
+
*/
|
|
198
283
|
get buttonText() {
|
|
199
284
|
return this.selectedItems.length === 0 ? this.inputPlaceholder : this.selectedItems.join(',');
|
|
200
285
|
}
|
|
286
|
+
/**
|
|
287
|
+
* Returns the count of selected items.
|
|
288
|
+
*/
|
|
201
289
|
get selectedItemsCount() {
|
|
202
290
|
return this.selectedItems.length;
|
|
203
291
|
}
|
|
292
|
+
/**
|
|
293
|
+
* Displays a count badge when items are selected.
|
|
294
|
+
*/
|
|
204
295
|
get isShowCounter() {
|
|
205
296
|
return this.selectedItems && this.selectedItems.length > 0;
|
|
206
297
|
}
|
|
298
|
+
/**
|
|
299
|
+
* Indicates that the dropdown is expanded (active).
|
|
300
|
+
*/
|
|
207
301
|
get isActive() {
|
|
208
302
|
return this.isDropdownExpanded;
|
|
209
303
|
}
|
|
304
|
+
/**
|
|
305
|
+
* Returns icon size depending on the theme.
|
|
306
|
+
*/
|
|
210
307
|
get sizeIcon() {
|
|
211
308
|
if (this.eclThemeService.isECTheme()) {
|
|
212
309
|
return this.ICON_SIZE_FOR_EC_THEME_ON;
|
|
@@ -215,9 +312,16 @@ class EclMultiselectInputComponent extends ECLBaseDirective {
|
|
|
215
312
|
return this.ICON_SIZE_FOR_EU_THEME_ON;
|
|
216
313
|
}
|
|
217
314
|
}
|
|
315
|
+
/**
|
|
316
|
+
* Handles click on the input container. Emits custom event with original DOM event.
|
|
317
|
+
*/
|
|
218
318
|
onClick(evt) {
|
|
219
319
|
this.mainInputClick.emit(new EclMultiselectMainInputClickEvent(evt));
|
|
220
320
|
}
|
|
321
|
+
/**
|
|
322
|
+
* Handles keydown events on the input.
|
|
323
|
+
* Only emits event on ArrowDown, Enter, or Space keys.
|
|
324
|
+
*/
|
|
221
325
|
onKeydown(evt) {
|
|
222
326
|
switch (evt.key) {
|
|
223
327
|
case KeyCode.ARROW_DOWN:
|
|
@@ -232,6 +336,9 @@ class EclMultiselectInputComponent extends ECLBaseDirective {
|
|
|
232
336
|
}
|
|
233
337
|
}
|
|
234
338
|
}
|
|
339
|
+
/**
|
|
340
|
+
* Focuses the multiselect input element.
|
|
341
|
+
*/
|
|
235
342
|
onFocus() {
|
|
236
343
|
this.renderer.selectRootElement(this.inputMultiselect.nativeElement, true).focus();
|
|
237
344
|
}
|
|
@@ -283,7 +390,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
|
|
|
283
390
|
type: Output
|
|
284
391
|
}] } });
|
|
285
392
|
|
|
393
|
+
/**
|
|
394
|
+
* Component representing an option group (fieldset) in a multiselect component.
|
|
395
|
+
* Used to group related options under a common label.
|
|
396
|
+
*/
|
|
286
397
|
class EclMultiselectOptgroupComponent extends ECLBaseDirective {
|
|
398
|
+
/**
|
|
399
|
+
* Returns the computed CSS classes for the optgroup container.
|
|
400
|
+
*/
|
|
287
401
|
get cssClasses() {
|
|
288
402
|
return [super.getCssClasses('ecl-select__multiple-group')].join(' ').trim();
|
|
289
403
|
}
|
|
@@ -300,16 +414,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
|
|
|
300
414
|
args: ['class']
|
|
301
415
|
}] } });
|
|
302
416
|
|
|
417
|
+
/**
|
|
418
|
+
* Component that renders a dropdown-style multiselect UI element.
|
|
419
|
+
* Used internally by the `EclMultiselectComponent`.
|
|
420
|
+
*/
|
|
303
421
|
class EclMultiselectDropdownComponent extends ECLBaseDirective {
|
|
422
|
+
/**
|
|
423
|
+
* Marks the component as visually invalid.
|
|
424
|
+
*/
|
|
304
425
|
get isInvalid() {
|
|
305
426
|
return this._isInvalid;
|
|
306
427
|
}
|
|
307
428
|
set isInvalid(value) {
|
|
308
429
|
this._isInvalid = value;
|
|
309
430
|
}
|
|
431
|
+
/**
|
|
432
|
+
* Adds the ECL base CSS class for multiselect dropdowns.
|
|
433
|
+
*/
|
|
310
434
|
get cssClasses() {
|
|
311
435
|
return [super.getCssClasses('ecl-select__multiple')].join(' ').trim();
|
|
312
436
|
}
|
|
437
|
+
/**
|
|
438
|
+
* Disables the component when true.
|
|
439
|
+
*/
|
|
313
440
|
get disabled() {
|
|
314
441
|
return this._disabled || undefined;
|
|
315
442
|
}
|
|
@@ -321,19 +448,61 @@ class EclMultiselectDropdownComponent extends ECLBaseDirective {
|
|
|
321
448
|
this.elRef = elRef;
|
|
322
449
|
this.differs = differs;
|
|
323
450
|
this.renderer = renderer;
|
|
451
|
+
/**
|
|
452
|
+
* Emits the list of selected values whenever the selection changes.
|
|
453
|
+
*/
|
|
324
454
|
this.eclChange = new EventEmitter();
|
|
455
|
+
/**
|
|
456
|
+
* Placeholder for the main multiselect input.
|
|
457
|
+
*/
|
|
325
458
|
this.mainInputPlaceholder = 'Select an item';
|
|
459
|
+
/**
|
|
460
|
+
* Placeholder for the search field input.
|
|
461
|
+
*/
|
|
326
462
|
this.searchFieldPlaceholder = 'Enter filter keyword';
|
|
463
|
+
/**
|
|
464
|
+
* Size of the multiselect dropdown (e.g., 'm', 'l').
|
|
465
|
+
*/
|
|
327
466
|
this.eclSize = 'm';
|
|
467
|
+
/**
|
|
468
|
+
* Optional ARIA description used for accessibility purposes.
|
|
469
|
+
*/
|
|
328
470
|
this.ariaDescribedby = undefined;
|
|
471
|
+
/**
|
|
472
|
+
* Optional ARIA label reference for screen readers.
|
|
473
|
+
*/
|
|
329
474
|
this.ariaLabeledby = undefined;
|
|
475
|
+
/**
|
|
476
|
+
* Label displayed for the toggle button to assist screen readers.
|
|
477
|
+
*/
|
|
330
478
|
this.toggleLabel = undefined;
|
|
479
|
+
/**
|
|
480
|
+
* Enables the search box in the dropdown interface.
|
|
481
|
+
*/
|
|
331
482
|
this.hasSearchBox = true;
|
|
483
|
+
/**
|
|
484
|
+
* Displays the "Select all" checkbox above the list of options.
|
|
485
|
+
*/
|
|
332
486
|
this.hasSelectAll = true;
|
|
487
|
+
/**
|
|
488
|
+
* Optional identifier used for the dropdown element.
|
|
489
|
+
*/
|
|
333
490
|
this.id = '';
|
|
491
|
+
/**
|
|
492
|
+
* Indicates that the "no results found" message should be displayed.
|
|
493
|
+
*/
|
|
334
494
|
this.isShowNoResultsFound = false;
|
|
495
|
+
/**
|
|
496
|
+
* Controls the visibility of the multiselect dropdown.
|
|
497
|
+
*/
|
|
335
498
|
this.isShowMultiselectDropdown = false;
|
|
499
|
+
/**
|
|
500
|
+
* List of option directives currently rendered in the dropdown.
|
|
501
|
+
*/
|
|
336
502
|
this.multiOptionDirectives = [];
|
|
503
|
+
/**
|
|
504
|
+
* Total number of options available in the dropdown list.
|
|
505
|
+
*/
|
|
337
506
|
this.optionsCount = 0;
|
|
338
507
|
this.dropdownId = '';
|
|
339
508
|
this.isSelectAllDisabled = null;
|
|
@@ -380,6 +549,10 @@ class EclMultiselectDropdownComponent extends ECLBaseDirective {
|
|
|
380
549
|
this.destroy$.next(true);
|
|
381
550
|
this.destroy$.unsubscribe();
|
|
382
551
|
}
|
|
552
|
+
/**
|
|
553
|
+
* Writes a new value to the component from the outside (e.g., form model).
|
|
554
|
+
* Required by ControlValueAccessor.
|
|
555
|
+
*/
|
|
383
556
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
384
557
|
writeValue(values) {
|
|
385
558
|
if (this.multiOptionComponents && this.multiOptionComponents.length > 0) {
|
|
@@ -391,14 +564,26 @@ class EclMultiselectDropdownComponent extends ECLBaseDirective {
|
|
|
391
564
|
this.isWriteValueCalled = true;
|
|
392
565
|
}
|
|
393
566
|
}
|
|
567
|
+
/**
|
|
568
|
+
* Registers a callback function to be called when the value changes.
|
|
569
|
+
* Required by ControlValueAccessor.
|
|
570
|
+
*/
|
|
394
571
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
395
572
|
registerOnChange(fn) {
|
|
396
573
|
this.propagateChange = fn;
|
|
397
574
|
}
|
|
575
|
+
/**
|
|
576
|
+
* Registers a callback function to be called when the component is touched.
|
|
577
|
+
* Required by ControlValueAccessor.
|
|
578
|
+
*/
|
|
398
579
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
399
580
|
registerOnTouched(fn) {
|
|
400
581
|
this.propagateTouched = fn;
|
|
401
582
|
}
|
|
583
|
+
/**
|
|
584
|
+
* Enables or disables the component.
|
|
585
|
+
* Required by ControlValueAccessor.
|
|
586
|
+
*/
|
|
402
587
|
setDisabledState(isDisabled) {
|
|
403
588
|
this._disabled = isDisabled;
|
|
404
589
|
}
|
|
@@ -410,12 +595,21 @@ class EclMultiselectDropdownComponent extends ECLBaseDirective {
|
|
|
410
595
|
this.hideMultiselectDropdown();
|
|
411
596
|
}
|
|
412
597
|
}
|
|
598
|
+
/**
|
|
599
|
+
* Gets labels of currently selected options.
|
|
600
|
+
*/
|
|
413
601
|
get selectedItems() {
|
|
414
602
|
return this._selectedItems.map((item) => item.label);
|
|
415
603
|
}
|
|
604
|
+
/**
|
|
605
|
+
* Indicates if any options are currently selected.
|
|
606
|
+
*/
|
|
416
607
|
get isItemsSelected() {
|
|
417
608
|
return this._selectedItems.length > 0;
|
|
418
609
|
}
|
|
610
|
+
/**
|
|
611
|
+
* Controls the visibility of the multiselect toolbar.
|
|
612
|
+
*/
|
|
419
613
|
get isShowToolbar() {
|
|
420
614
|
return this._selectedItems.length > 0;
|
|
421
615
|
}
|
|
@@ -523,6 +717,9 @@ class EclMultiselectDropdownComponent extends ECLBaseDirective {
|
|
|
523
717
|
evt.preventDefault();
|
|
524
718
|
evt.target.click();
|
|
525
719
|
}
|
|
720
|
+
/**
|
|
721
|
+
* Handles search input, filters options, and updates their visibility.
|
|
722
|
+
*/
|
|
526
723
|
onSearch(input) {
|
|
527
724
|
const keyword = input.value;
|
|
528
725
|
let isMatchFound = false;
|
|
@@ -554,6 +751,9 @@ class EclMultiselectDropdownComponent extends ECLBaseDirective {
|
|
|
554
751
|
this.hideNoResultsFound();
|
|
555
752
|
}
|
|
556
753
|
}
|
|
754
|
+
/**
|
|
755
|
+
* Toggles all visible options based on the "Select All" checkbox.
|
|
756
|
+
*/
|
|
557
757
|
onSelectAll() {
|
|
558
758
|
if (this.selectAllCheckbox.nativeElement.checked) {
|
|
559
759
|
this.selectAllActiveOptions();
|
|
@@ -565,6 +765,10 @@ class EclMultiselectDropdownComponent extends ECLBaseDirective {
|
|
|
565
765
|
this.eclChange.emit(this._selectedItems.map((item) => item.value));
|
|
566
766
|
this.propagateChange(this._selectedItems.map((item) => item.value));
|
|
567
767
|
}
|
|
768
|
+
/**
|
|
769
|
+
* Handles keyboard interaction on option items.
|
|
770
|
+
* Supports arrow keys, tab, escape, and enter.
|
|
771
|
+
*/
|
|
568
772
|
onKeydownOption(evt) {
|
|
569
773
|
switch (evt.keyboardEvent.key) {
|
|
570
774
|
case KeyCode.ARROW_DOWN: {
|
|
@@ -594,6 +798,10 @@ class EclMultiselectDropdownComponent extends ECLBaseDirective {
|
|
|
594
798
|
}
|
|
595
799
|
}
|
|
596
800
|
}
|
|
801
|
+
/**
|
|
802
|
+
* Triggered when a single option is clicked/selected.
|
|
803
|
+
* Updates selected items, emits changes.
|
|
804
|
+
*/
|
|
597
805
|
onOptionSelected(evt) {
|
|
598
806
|
if (this.selectAllCheckbox && this.selectAllCheckbox.nativeElement.checked) {
|
|
599
807
|
this.renderer.setProperty(this.selectAllCheckbox.nativeElement, 'checked', false);
|
|
@@ -791,29 +999,48 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
|
|
|
791
999
|
args: ['document:click', ['$event']]
|
|
792
1000
|
}] } });
|
|
793
1001
|
|
|
1002
|
+
/**
|
|
1003
|
+
* Directive used to decorate <option> and <optgroup> elements within a multiselect.
|
|
1004
|
+
* Adds support for value, label, disabled, selected states and styling.
|
|
1005
|
+
*/
|
|
794
1006
|
class EclMultiselectOptionDirective extends ECLBaseDirective {
|
|
1007
|
+
/**
|
|
1008
|
+
* Indicates that the option is disabled.
|
|
1009
|
+
*/
|
|
795
1010
|
get disabled() {
|
|
796
1011
|
return this._disabled || null;
|
|
797
1012
|
}
|
|
798
1013
|
set disabled(value) {
|
|
799
1014
|
this._disabled = coerceBooleanProperty(value);
|
|
800
1015
|
}
|
|
1016
|
+
/**
|
|
1017
|
+
* Indicates that the option is selected.
|
|
1018
|
+
*/
|
|
801
1019
|
get selected() {
|
|
802
1020
|
return this._selected || null;
|
|
803
1021
|
}
|
|
804
1022
|
set selected(value) {
|
|
805
1023
|
this._selected = coerceBooleanProperty(value);
|
|
806
1024
|
}
|
|
1025
|
+
/**
|
|
1026
|
+
* Applies ECL checkbox styling class to the option.
|
|
1027
|
+
*/
|
|
807
1028
|
get cssClasses() {
|
|
808
1029
|
return [super.getCssClasses('ecl-checkbox')].join(' ').trim();
|
|
809
1030
|
}
|
|
810
1031
|
constructor(elRef) {
|
|
811
1032
|
super();
|
|
812
1033
|
this.elRef = elRef;
|
|
1034
|
+
/**
|
|
1035
|
+
* Emits whenever the option's state changes (used internally).
|
|
1036
|
+
*/
|
|
813
1037
|
this.changes = new Subject();
|
|
814
1038
|
this._disabled = false;
|
|
815
1039
|
this._selected = false;
|
|
816
1040
|
}
|
|
1041
|
+
/**
|
|
1042
|
+
* Returns true if this directive is applied to an <optgroup> element.
|
|
1043
|
+
*/
|
|
817
1044
|
isOptGroup() {
|
|
818
1045
|
return this.elRef.nativeElement.nodeName === 'OPTGROUP';
|
|
819
1046
|
}
|
|
@@ -848,7 +1075,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
|
|
|
848
1075
|
args: ['class']
|
|
849
1076
|
}] } });
|
|
850
1077
|
|
|
1078
|
+
/**
|
|
1079
|
+
* Component representing a custom multiselect input using the ECL design system.
|
|
1080
|
+
*
|
|
1081
|
+
* Should be used on a native <select> element to enhance it with ECL multiselect behavior.
|
|
1082
|
+
* Replaces the original element with a custom dropdown rendered dynamically.
|
|
1083
|
+
*/
|
|
851
1084
|
class EclMultiselectComponent extends ECLBaseDirective {
|
|
1085
|
+
/**
|
|
1086
|
+
* Marks the multiselect as invalid.
|
|
1087
|
+
*/
|
|
852
1088
|
get isInvalid() {
|
|
853
1089
|
return this._isInvalid;
|
|
854
1090
|
}
|
|
@@ -858,6 +1094,9 @@ class EclMultiselectComponent extends ECLBaseDirective {
|
|
|
858
1094
|
this.multiselectComponent.isInvalid = value;
|
|
859
1095
|
}
|
|
860
1096
|
}
|
|
1097
|
+
/**
|
|
1098
|
+
* Disables the multiselect component when set to true.
|
|
1099
|
+
*/
|
|
861
1100
|
set disabled(value) {
|
|
862
1101
|
if (this.multiselectComponent) {
|
|
863
1102
|
this.multiselectComponent.disabled = coerceBooleanProperty(value);
|
|
@@ -867,21 +1106,33 @@ class EclMultiselectComponent extends ECLBaseDirective {
|
|
|
867
1106
|
get disabled() {
|
|
868
1107
|
return this._disabled || undefined;
|
|
869
1108
|
}
|
|
1109
|
+
/**
|
|
1110
|
+
* CSS classes applied to the host element.
|
|
1111
|
+
*/
|
|
870
1112
|
get cssClasses() {
|
|
871
1113
|
return [super.getCssClasses('ecl-select')].join(' ').trim();
|
|
872
1114
|
}
|
|
1115
|
+
/**
|
|
1116
|
+
* Enables the search box within the dropdown.
|
|
1117
|
+
*/
|
|
873
1118
|
set hasSearchBox(value) {
|
|
874
1119
|
if (this.multiselectComponent) {
|
|
875
1120
|
this.multiselectComponent.hasSearchBox = coerceBooleanProperty(value);
|
|
876
1121
|
}
|
|
877
1122
|
this._hasSearchBox = coerceBooleanProperty(value);
|
|
878
1123
|
}
|
|
1124
|
+
/**
|
|
1125
|
+
* Displays the "Select all" option in the dropdown.
|
|
1126
|
+
*/
|
|
879
1127
|
set hasSelectAll(value) {
|
|
880
1128
|
if (this.multiselectComponent) {
|
|
881
1129
|
this.multiselectComponent.hasSelectAll = coerceBooleanProperty(value);
|
|
882
1130
|
}
|
|
883
1131
|
this._hasSelectAll = coerceBooleanProperty(value);
|
|
884
1132
|
}
|
|
1133
|
+
/**
|
|
1134
|
+
* Placeholder text to show in the multiselect input field when no options are selected.
|
|
1135
|
+
*/
|
|
885
1136
|
set eclPlaceholder(value) {
|
|
886
1137
|
this._eclPlaceholder = value;
|
|
887
1138
|
if (this.multiselectComponent) {
|
|
@@ -899,11 +1150,29 @@ class EclMultiselectComponent extends ECLBaseDirective {
|
|
|
899
1150
|
this.differs = differs;
|
|
900
1151
|
this.renderer = renderer;
|
|
901
1152
|
this.platformId = platformId;
|
|
1153
|
+
/**
|
|
1154
|
+
* Defines the `aria-describedby` attribute for accessibility.
|
|
1155
|
+
*/
|
|
902
1156
|
this.ariaDescribedby = undefined;
|
|
1157
|
+
/**
|
|
1158
|
+
* Defines the `aria-labelledby` attribute for accessibility.
|
|
1159
|
+
*/
|
|
903
1160
|
this.ariaLabeledby = undefined;
|
|
1161
|
+
/**
|
|
1162
|
+
* Sets the `id` attribute of the multiselect component.
|
|
1163
|
+
*/
|
|
904
1164
|
this.id = undefined;
|
|
1165
|
+
/**
|
|
1166
|
+
* Label used for the toggle button that expands or collapses the dropdown.
|
|
1167
|
+
*/
|
|
905
1168
|
this.toggleLabel = undefined;
|
|
1169
|
+
/**
|
|
1170
|
+
* Emits an array of selected option values when the selection changes.
|
|
1171
|
+
*/
|
|
906
1172
|
this.eclChange = new EventEmitter();
|
|
1173
|
+
/**
|
|
1174
|
+
* Multiselect size: 's' | 'm' | 'l'. Default is 'm'.
|
|
1175
|
+
*/
|
|
907
1176
|
this.eclSize = 'm';
|
|
908
1177
|
this.SELECT_CONTAINER_CLASS = 'ecl-select__container';
|
|
909
1178
|
this.SELECT_CONTAINER_HIDDEN_CLASS = 'ecl-select__container--hidden';
|