@eui/ecl 21.0.0-alpha.14 → 21.0.0-alpha.16
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-banner/index.d.ts +8 -4
- package/components/ecl-banner/index.d.ts.map +1 -1
- package/components/ecl-featured/index.d.ts +1 -1
- package/components/ecl-featured/index.d.ts.map +1 -1
- package/components/ecl-gallery/index.d.ts +1 -1
- package/components/ecl-gallery/index.d.ts.map +1 -1
- package/components/ecl-link/index.d.ts +6 -6
- package/components/ecl-link/index.d.ts.map +1 -1
- package/components/ecl-mega-menu/index.d.ts +1 -1
- package/components/ecl-mega-menu/index.d.ts.map +1 -1
- package/components/ecl-menu/index.d.ts.map +1 -1
- package/components/ecl-multiselect/index.d.ts +2 -2
- package/components/ecl-popover/index.d.ts +1 -1
- package/components/ecl-popover/index.d.ts.map +1 -1
- package/components/ecl-site-footer/index.d.ts.map +1 -1
- package/components/ecl-site-header/index.d.ts +1 -1
- package/docs/changelog.html +207 -0
- package/docs/components/EclAccordionComponent.html +2 -2
- package/docs/components/EclAccordionItemComponent.html +2 -2
- package/docs/components/EclAppComponent.html +1 -1
- package/docs/components/EclBannerComponent.html +4 -4
- package/docs/components/EclBlockquoteComponent.html +1 -1
- package/docs/components/EclBreadcrumbComponent.html +3 -8
- package/docs/components/EclBreadcrumbSegmentComponent.html +5 -4
- package/docs/components/EclButtonComponent.html +2 -2
- 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 +2 -2
- package/docs/components/EclCategoryFilterListComponent.html +1 -1
- package/docs/components/EclCheckboxHelpComponent.html +1 -1
- package/docs/components/EclCheckboxLabelComponent.html +2 -2
- 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 +2 -2
- package/docs/components/EclExpandableComponent.html +3 -3
- 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 +3 -3
- package/docs/components/EclFileItemComponent.html +1 -1
- package/docs/components/EclFileItemsComponent.html +3 -3
- 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 +8 -47
- package/docs/components/EclGalleryFooterComponent.html +2 -2
- package/docs/components/EclGalleryItemComponent.html +2 -2
- package/docs/components/EclIconComponent.html +1 -1
- package/docs/components/EclInpageNavigationComponent.html +2 -2
- package/docs/components/EclInpageNavigationItemComponent.html +2 -2
- 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 +3 -3
- package/docs/components/EclMegaMenuComponent.html +3 -3
- package/docs/components/EclMegaMenuFeaturedComponent.html +1 -1
- package/docs/components/EclMegaMenuInfoComponent.html +1 -1
- package/docs/components/EclMegaMenuItemComponent.html +6 -5
- package/docs/components/EclMegaMenuSubitemComponent.html +6 -5
- package/docs/components/EclMenuComponent.html +3 -3
- package/docs/components/EclMenuItemComponent.html +6 -5
- package/docs/components/EclMenuMegaComponent.html +1 -1
- package/docs/components/EclMenuMegaItemComponent.html +2 -2
- 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 +3 -3
- package/docs/components/EclMultiselectComponent.html +1 -1
- package/docs/components/EclMultiselectDropdownComponent.html +6 -41
- package/docs/components/EclMultiselectInputComponent.html +3 -3
- package/docs/components/EclMultiselectOptgroupComponent.html +1 -1
- package/docs/components/EclMultiselectOptionComponent.html +1 -1
- package/docs/components/EclNavigationListComponent.html +1 -1
- package/docs/components/EclNavigationListItemComponent.html +1 -1
- package/docs/components/EclNewsTickerComponent.html +3 -3
- package/docs/components/EclNewsTickerItemComponent.html +1 -1
- package/docs/components/EclNotificationComponent.html +3 -3
- package/docs/components/EclPageHeaderComponent.html +1 -1
- package/docs/components/EclPaginationComponent.html +1 -1
- package/docs/components/EclPaginationItemComponent.html +5 -4
- package/docs/components/EclPopoverComponent.html +8 -53
- package/docs/components/EclRadioHelpComponent.html +1 -1
- package/docs/components/EclRadioLabelComponent.html +1 -1
- package/docs/components/EclRangeBubbleComponent.html +1 -1
- package/docs/components/EclRangeValueComponent.html +1 -1
- package/docs/components/EclRatingFieldComponent.html +2 -2
- package/docs/components/EclSearchFormComponent.html +3 -3
- package/docs/components/EclSelectContainerComponent.html +3 -3
- package/docs/components/EclSiteFooterComponent.html +1 -1
- package/docs/components/EclSiteFooterFixedContentECComponent.html +4 -2
- package/docs/components/EclSiteFooterFixedContentEUComponent.html +2 -2
- package/docs/components/EclSiteHeaderActionComponent.html +1 -1
- package/docs/components/EclSiteHeaderBannerTopComponent.html +1 -1
- package/docs/components/EclSiteHeaderComponent.html +2 -2
- package/docs/components/EclSiteHeaderCustomActionComponent.html +3 -3
- package/docs/components/EclSiteHeaderEnvironmentComponent.html +1 -1
- package/docs/components/EclSiteHeaderLanguageComponent.html +2 -2
- package/docs/components/EclSiteHeaderLanguagePopoverComponent.html +5 -10
- package/docs/components/EclSiteHeaderLoginComponent.html +2 -2
- package/docs/components/EclSiteHeaderNotificationComponent.html +1 -1
- package/docs/components/EclSiteHeaderSearchComponent.html +3 -3
- package/docs/components/EclSocialMediaFollowComponent.html +1 -1
- package/docs/components/EclSocialMediaFollowItemComponent.html +5 -4
- package/docs/components/EclSocialMediaShareComponent.html +1 -1
- package/docs/components/EclSocialMediaShareItemComponent.html +3 -3
- 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 +2 -2
- package/docs/components/EclTabLabelComponent.html +1 -1
- package/docs/components/EclTabMoreComponent.html +1 -1
- package/docs/components/EclTableSortButtonComponent.html +2 -2
- package/docs/components/EclTabsComponent.html +3 -3
- package/docs/components/EclTagComponent.html +2 -2
- package/docs/components/EclTimelineComponent.html +1 -1
- package/docs/components/EclTimelineItemComponent.html +3 -3
- package/docs/components/EclTimelineItemTogglerComponent.html +1 -1
- package/docs/directives/{EclIndicatorDirective-1.html → EclLinkIndicatorDirective.html} +2 -2
- package/docs/directives/EclRangeDirective.html +2 -2
- package/docs/js/menu-wc.js +12 -12
- package/docs/js/menu-wc_es5.js +1 -1
- package/docs/js/search/search_index.js +2 -2
- package/docs/miscellaneous/variables.html +68 -66
- package/docs/modules/EclAllModule.html +0 -360
- package/docs/modules/EclLinkModule.html +6 -3
- package/docs/properties.html +1 -1
- package/fesm2022/eui-ecl-components-ecl-accordion.mjs +13 -13
- package/fesm2022/eui-ecl-components-ecl-accordion.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-app.mjs +7 -7
- package/fesm2022/eui-ecl-components-ecl-banner.mjs +89 -76
- package/fesm2022/eui-ecl-components-ecl-banner.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-blockquote.mjs +13 -13
- package/fesm2022/eui-ecl-components-ecl-breadcrumb.mjs +22 -23
- package/fesm2022/eui-ecl-components-ecl-breadcrumb.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-button.mjs +18 -18
- package/fesm2022/eui-ecl-components-ecl-button.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-card.mjs +16 -16
- package/fesm2022/eui-ecl-components-ecl-carousel.mjs +10 -10
- package/fesm2022/eui-ecl-components-ecl-category-filter.mjs +15 -15
- package/fesm2022/eui-ecl-components-ecl-category-filter.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-checkbox.mjs +18 -18
- package/fesm2022/eui-ecl-components-ecl-checkbox.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-content-block.mjs +58 -58
- package/fesm2022/eui-ecl-components-ecl-content-item.mjs +13 -13
- package/fesm2022/eui-ecl-components-ecl-date-block.mjs +7 -7
- package/fesm2022/eui-ecl-components-ecl-date-picker.mjs +7 -7
- package/fesm2022/eui-ecl-components-ecl-expandable.mjs +10 -10
- package/fesm2022/eui-ecl-components-ecl-expandable.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-fact-figures.mjs +22 -22
- package/fesm2022/eui-ecl-components-ecl-featured.mjs +28 -26
- package/fesm2022/eui-ecl-components-ecl-featured.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-feedback-message.mjs +7 -7
- package/fesm2022/eui-ecl-components-ecl-file-upload.mjs +7 -7
- package/fesm2022/eui-ecl-components-ecl-file.mjs +41 -43
- package/fesm2022/eui-ecl-components-ecl-file.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-form-group.mjs +7 -7
- package/fesm2022/eui-ecl-components-ecl-form-label.mjs +10 -10
- package/fesm2022/eui-ecl-components-ecl-gallery.mjs +32 -30
- package/fesm2022/eui-ecl-components-ecl-gallery.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-help-block.mjs +7 -7
- package/fesm2022/eui-ecl-components-ecl-icon.mjs +7 -7
- package/fesm2022/eui-ecl-components-ecl-inpage-navigation.mjs +20 -20
- package/fesm2022/eui-ecl-components-ecl-inpage-navigation.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-label.mjs +7 -7
- package/fesm2022/eui-ecl-components-ecl-link.mjs +21 -21
- package/fesm2022/eui-ecl-components-ecl-link.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-list-illustration.mjs +19 -19
- package/fesm2022/eui-ecl-components-ecl-list.mjs +33 -33
- package/fesm2022/eui-ecl-components-ecl-list.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-loading-indicator.mjs +13 -13
- package/fesm2022/eui-ecl-components-ecl-media-container.mjs +22 -22
- package/fesm2022/eui-ecl-components-ecl-media-container.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs +61 -62
- package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-menu.mjs +26 -28
- package/fesm2022/eui-ecl-components-ecl-menu.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-modal.mjs +29 -29
- package/fesm2022/eui-ecl-components-ecl-modal.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-multiselect.mjs +34 -34
- package/fesm2022/eui-ecl-components-ecl-multiselect.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-navigation-list.mjs +16 -16
- package/fesm2022/eui-ecl-components-ecl-news-ticker.mjs +17 -17
- package/fesm2022/eui-ecl-components-ecl-news-ticker.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-notification.mjs +14 -14
- package/fesm2022/eui-ecl-components-ecl-notification.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-page-header.mjs +37 -37
- package/fesm2022/eui-ecl-components-ecl-pagination.mjs +20 -21
- package/fesm2022/eui-ecl-components-ecl-pagination.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-popover.mjs +21 -21
- package/fesm2022/eui-ecl-components-ecl-popover.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-radio.mjs +16 -16
- package/fesm2022/eui-ecl-components-ecl-range.mjs +14 -14
- package/fesm2022/eui-ecl-components-ecl-range.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-rating-field.mjs +9 -9
- package/fesm2022/eui-ecl-components-ecl-rating-field.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-search-form.mjs +10 -10
- package/fesm2022/eui-ecl-components-ecl-search-form.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-select.mjs +14 -14
- package/fesm2022/eui-ecl-components-ecl-select.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-separator.mjs +7 -7
- package/fesm2022/eui-ecl-components-ecl-site-footer.mjs +65 -64
- package/fesm2022/eui-ecl-components-ecl-site-footer.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-site-header.mjs +75 -75
- package/fesm2022/eui-ecl-components-ecl-site-header.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-social-media-follow.mjs +17 -18
- package/fesm2022/eui-ecl-components-ecl-social-media-follow.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-social-media-share.mjs +16 -16
- package/fesm2022/eui-ecl-components-ecl-social-media-share.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-splash-page.mjs +31 -31
- package/fesm2022/eui-ecl-components-ecl-sticky-container.mjs +7 -7
- package/fesm2022/eui-ecl-components-ecl-table.mjs +36 -36
- package/fesm2022/eui-ecl-components-ecl-table.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-tabs.mjs +21 -21
- package/fesm2022/eui-ecl-components-ecl-tabs.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-tag.mjs +18 -18
- package/fesm2022/eui-ecl-components-ecl-tag.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-text-area.mjs +7 -7
- package/fesm2022/eui-ecl-components-ecl-text-input.mjs +7 -7
- package/fesm2022/eui-ecl-components-ecl-timeline.mjs +22 -22
- package/fesm2022/eui-ecl-components-ecl-timeline.mjs.map +1 -1
- package/fesm2022/eui-ecl-core.mjs +25 -25
- package/fesm2022/eui-ecl-shared.mjs +3 -3
- package/fesm2022/eui-ecl.mjs +184 -304
- package/fesm2022/eui-ecl.mjs.map +1 -1
- package/index.d.ts +1 -1
- package/package.json +17 -17
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { HostBinding, Directive, inject, ElementRef, booleanAttribute, forwardRef, ContentChild, ContentChildren, Input, Component, NgModule } from '@angular/core';
|
|
3
3
|
import { ECLBaseDirective } from '@eui/ecl/core';
|
|
4
|
-
import {
|
|
4
|
+
import { EclIconComponent, EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';
|
|
5
5
|
import { NgTemplateOutlet } from '@angular/common';
|
|
6
6
|
|
|
7
7
|
/**
|
|
@@ -15,10 +15,10 @@ class EclButtonLabelDirective extends ECLBaseDirective {
|
|
|
15
15
|
get cssClasses() {
|
|
16
16
|
return [super.getCssClasses('ecl-button__label')].join(' ').trim();
|
|
17
17
|
}
|
|
18
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
19
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0-next.
|
|
18
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclButtonLabelDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
19
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0-next.3", type: EclButtonLabelDirective, isStandalone: true, selector: "[eclButtonLabel]", host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0 }); }
|
|
20
20
|
}
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclButtonLabelDirective, decorators: [{
|
|
22
22
|
type: Directive,
|
|
23
23
|
args: [{
|
|
24
24
|
selector: '[eclButtonLabel]',
|
|
@@ -38,10 +38,10 @@ class EclIndicatorDirective {
|
|
|
38
38
|
*/
|
|
39
39
|
this.hasClass = true;
|
|
40
40
|
}
|
|
41
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
42
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0-next.
|
|
41
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclIndicatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
42
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0-next.3", type: EclIndicatorDirective, isStandalone: true, selector: "[eclIndicator]", host: { properties: { "class.ecl-indicator": "this.hasClass" } }, ngImport: i0 }); }
|
|
43
43
|
}
|
|
44
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
44
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclIndicatorDirective, decorators: [{
|
|
45
45
|
type: Directive,
|
|
46
46
|
args: [{
|
|
47
47
|
selector: '[eclIndicator]',
|
|
@@ -61,10 +61,10 @@ class EclButtonIconContainerDirective {
|
|
|
61
61
|
*/
|
|
62
62
|
this.hasClass = true;
|
|
63
63
|
}
|
|
64
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
65
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0-next.
|
|
64
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclButtonIconContainerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
65
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0-next.3", type: EclButtonIconContainerDirective, isStandalone: true, selector: "[eclButtonIconContainer]", host: { properties: { "class.ecl-button__icon-container": "this.hasClass" } }, ngImport: i0 }); }
|
|
66
66
|
}
|
|
67
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
67
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclButtonIconContainerDirective, decorators: [{
|
|
68
68
|
type: Directive,
|
|
69
69
|
args: [{
|
|
70
70
|
selector: '[eclButtonIconContainer]',
|
|
@@ -135,14 +135,14 @@ class EclButtonComponent extends ECLBaseDirective {
|
|
|
135
135
|
onFocus() {
|
|
136
136
|
this.el.nativeElement.focus();
|
|
137
137
|
}
|
|
138
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
139
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-next.
|
|
138
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
139
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-next.3", type: EclButtonComponent, isStandalone: true, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: { isIconOnly: ["isIconOnly", "isIconOnly", booleanAttribute], variant: "variant", containerStyleClass: "containerStyleClass" }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "indicator", first: true, predicate: i0.forwardRef(() => EclIndicatorDirective), descendants: true }, { propertyName: "iconComponents", predicate: i0.forwardRef(() => EclIconComponent) }], usesInheritance: true, ngImport: i0, template: "@if (hasIcon) {\n<span class=\"ecl-button__container {{ containerStyleClass }}\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</span>\n}\n@else {\n<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n}\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
140
140
|
}
|
|
141
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
141
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclButtonComponent, decorators: [{
|
|
142
142
|
type: Component,
|
|
143
143
|
args: [{ selector: 'button[eclButton], button[ecl-button], a[eclButton]', imports: [
|
|
144
144
|
NgTemplateOutlet,
|
|
145
|
-
|
|
145
|
+
...EUI_ECL_ICON,
|
|
146
146
|
], template: "@if (hasIcon) {\n<span class=\"ecl-button__container {{ containerStyleClass }}\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</span>\n}\n@else {\n<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n}\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>" }]
|
|
147
147
|
}], propDecorators: { isIconOnly: [{
|
|
148
148
|
type: Input,
|
|
@@ -169,11 +169,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.1",
|
|
|
169
169
|
* @deprecated Use {@link EUI_ECL_BUTTON} instead.
|
|
170
170
|
*/
|
|
171
171
|
class EclButtonModule {
|
|
172
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
173
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.0-next.
|
|
174
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
172
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
173
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclButtonModule, imports: [EclButtonComponent, EclButtonLabelDirective, EclIndicatorDirective, EclButtonIconContainerDirective], exports: [EclButtonComponent, EclButtonLabelDirective, EclIndicatorDirective, EclButtonIconContainerDirective] }); }
|
|
174
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclButtonModule, imports: [EclButtonComponent] }); }
|
|
175
175
|
}
|
|
176
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
176
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclButtonModule, decorators: [{
|
|
177
177
|
type: NgModule,
|
|
178
178
|
args: [{
|
|
179
179
|
imports: [EclButtonComponent, EclButtonLabelDirective, EclIndicatorDirective, EclButtonIconContainerDirective],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-ecl-components-ecl-button.mjs","sources":["../../components/ecl-button/ecl-button-label.directive.ts","../../components/ecl-button/ecl-button.component.ts","../../components/ecl-button/ecl-button.component.html","../../components/ecl-button/ecl-button.module.ts","../../components/ecl-button/index.ts","../../components/ecl-button/eui-ecl-components-ecl-button.ts"],"sourcesContent":["import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive for labeling content inside the ECL Button.\n * Automatically applies the `ecl-button__label` CSS class.\n */\n@Directive({\n selector: '[eclButtonLabel]',\n})\nexport class EclButtonLabelDirective extends ECLBaseDirective {\n /**\n * Returns the CSS classes to apply for the button label.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-button__label')].join(' ').trim();\n }\n}\n\n/**\n * Directive for indicating special content inside the ECL Button.\n * Automatically applies the `ecl-indicator` CSS class.\n */\n@Directive({\n selector: '[eclIndicator]',\n})\nexport class EclIndicatorDirective {\n /**\n * Applies the `ecl-indicator` CSS class.\n */\n @HostBinding('class.ecl-indicator') hasClass = true;\n}\n\n/**\n * Directive for the icon container inside the ECL Button.\n * Automatically applies the `ecl-button__icon-container` CSS class.\n */\n@Directive({\n selector: '[eclButtonIconContainer]',\n})\nexport class EclButtonIconContainerDirective {\n /**\n * Applies the `ecl-button__icon-container` CSS class.\n */\n @HostBinding('class.ecl-button__icon-container') hasClass = true;\n}\n","import {\n booleanAttribute,\n Component,\n ContentChildren,\n ElementRef,\n forwardRef,\n HostBinding,\n Input,\n QueryList,\n AfterViewInit,\n ContentChild,\n inject,\n} from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclIconComponent, EclIconModule } from '@eui/ecl/components/ecl-icon';\nimport { EclIndicatorDirective } from './ecl-button-label.directive';\nimport { NgTemplateOutlet } from '@angular/common';\n\n/**\n * Button component based on ECL design system.\n * Can render as a `<button>` or `<a>` element depending on usage.\n * Supports multiple visual variants and optional icon/indicator content.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[eclButton], button[ecl-button], a[eclButton]',\n templateUrl: './ecl-button.component.html',\n imports: [\n NgTemplateOutlet,\n EclIconModule,\n ],\n})\nexport class EclButtonComponent extends ECLBaseDirective implements AfterViewInit {\n el = inject(ElementRef);\n\n /**\n * Whether the button should be styled as icon-only.\n * When true, the `ecl-button--icon-only` class is applied.\n */\n @Input({ transform: booleanAttribute }) isIconOnly = false;\n\n /**\n * Visual variant of the button.\n * Can be 'primary', 'secondary', 'tertiary', 'cta', 'ghost', or 'ghost-inverted'.\n * Defaults to 'primary'.\n */\n @Input() variant: 'primary' | 'secondary' | 'tertiary' | 'cta' | 'ghost' | 'ghost-inverted' = 'primary';\n\n /**\n * Optional additional class to apply to the button container.\n */\n @Input() containerStyleClass: string;\n\n /**\n * List of projected icon components inside the button.\n * Used internally to detect presence of icons.\n */\n @ContentChildren(forwardRef(() => EclIconComponent)) iconComponents: QueryList<EclIconComponent>;\n\n /**\n * Projected indicator element inside the button (e.g., for loading or notification).\n * Used internally to detect its presence.\n */\n @ContentChild(forwardRef(() => EclIndicatorDirective)) indicator: EclIndicatorDirective;\n\n /**\n * Computes the full set of CSS classes to apply to the button element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-button'), `ecl-button--${this.variant}`,\n this.isIconOnly ? 'ecl-button--icon-only' : ''].join(' ').trim();\n }\n\n /**\n * Indicates whether the button contains an icon.\n * Used internally for styling logic.\n */\n get hasIcon(): boolean {\n return this.iconComponents.length > 0;\n }\n\n /**\n * Indicates whether the button contains an indicator element.\n * Used internally for styling logic.\n */\n get hasIndicator(): boolean {\n return !!this.indicator;\n }\n\n /**\n * Lifecycle hook triggered after content is projected.\n * Assigns a button-specific class to projected icon components.\n */\n ngAfterViewInit(): void {\n if (this.iconComponents) {\n setTimeout(() => {\n this.iconComponents.forEach((icn) => {\n icn.baseDirective.class = 'ecl-button__icon';\n });\n });\n }\n }\n\n /**\n * Manually focuses the button element.\n */\n onFocus(): void {\n this.el.nativeElement.focus();\n }\n}\n","@if (hasIcon) {\n<span class=\"ecl-button__container {{ containerStyleClass }}\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</span>\n}\n@else {\n<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n}\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>","import { NgModule } from '@angular/core';\nimport { EclButtonComponent } from './ecl-button.component';\nimport { EclButtonIconContainerDirective, EclButtonLabelDirective, EclIndicatorDirective } from './ecl-button-label.directive';\n\n/**\n * @description\n * Module that provides the EclButton component and its dependencies.\n *\n * @deprecated Use {@link EUI_ECL_BUTTON} instead.\n */\n@NgModule({\n imports:[EclButtonComponent, EclButtonLabelDirective, EclIndicatorDirective, EclButtonIconContainerDirective],\n exports: [EclButtonComponent, EclButtonLabelDirective, EclIndicatorDirective, EclButtonIconContainerDirective],\n})\nexport class EclButtonModule {}\n","import { EclButtonComponent } from './ecl-button.component';\nimport { EclButtonLabelDirective, EclIndicatorDirective, EclButtonIconContainerDirective } from './ecl-button-label.directive';\n\nexport * from './ecl-button.module';\nexport * from './ecl-button.component';\nexport * from './ecl-button-label.directive';\n\nexport const EUI_ECL_BUTTON = [\n EclButtonComponent,\n EclButtonLabelDirective,\n EclIndicatorDirective,\n EclButtonIconContainerDirective,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"eui-ecl-components-ecl-button.mjs","sources":["../../components/ecl-button/ecl-button-label.directive.ts","../../components/ecl-button/ecl-button.component.ts","../../components/ecl-button/ecl-button.component.html","../../components/ecl-button/ecl-button.module.ts","../../components/ecl-button/index.ts","../../components/ecl-button/eui-ecl-components-ecl-button.ts"],"sourcesContent":["import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive for labeling content inside the ECL Button.\n * Automatically applies the `ecl-button__label` CSS class.\n */\n@Directive({\n selector: '[eclButtonLabel]',\n})\nexport class EclButtonLabelDirective extends ECLBaseDirective {\n /**\n * Returns the CSS classes to apply for the button label.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-button__label')].join(' ').trim();\n }\n}\n\n/**\n * Directive for indicating special content inside the ECL Button.\n * Automatically applies the `ecl-indicator` CSS class.\n */\n@Directive({\n selector: '[eclIndicator]',\n})\nexport class EclIndicatorDirective {\n /**\n * Applies the `ecl-indicator` CSS class.\n */\n @HostBinding('class.ecl-indicator') hasClass = true;\n}\n\n/**\n * Directive for the icon container inside the ECL Button.\n * Automatically applies the `ecl-button__icon-container` CSS class.\n */\n@Directive({\n selector: '[eclButtonIconContainer]',\n})\nexport class EclButtonIconContainerDirective {\n /**\n * Applies the `ecl-button__icon-container` CSS class.\n */\n @HostBinding('class.ecl-button__icon-container') hasClass = true;\n}\n","import {\n booleanAttribute,\n Component,\n ContentChildren,\n ElementRef,\n forwardRef,\n HostBinding,\n Input,\n QueryList,\n AfterViewInit,\n ContentChild,\n inject,\n} from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclIconComponent, EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\nimport { EclIndicatorDirective } from './ecl-button-label.directive';\nimport { NgTemplateOutlet } from '@angular/common';\n\n/**\n * Button component based on ECL design system.\n * Can render as a `<button>` or `<a>` element depending on usage.\n * Supports multiple visual variants and optional icon/indicator content.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[eclButton], button[ecl-button], a[eclButton]',\n templateUrl: './ecl-button.component.html',\n imports: [\n NgTemplateOutlet,\n ...EUI_ECL_ICON,\n ],\n})\nexport class EclButtonComponent extends ECLBaseDirective implements AfterViewInit {\n el = inject(ElementRef);\n\n /**\n * Whether the button should be styled as icon-only.\n * When true, the `ecl-button--icon-only` class is applied.\n */\n @Input({ transform: booleanAttribute }) isIconOnly = false;\n\n /**\n * Visual variant of the button.\n * Can be 'primary', 'secondary', 'tertiary', 'cta', 'ghost', or 'ghost-inverted'.\n * Defaults to 'primary'.\n */\n @Input() variant: 'primary' | 'secondary' | 'tertiary' | 'cta' | 'ghost' | 'ghost-inverted' = 'primary';\n\n /**\n * Optional additional class to apply to the button container.\n */\n @Input() containerStyleClass: string;\n\n /**\n * List of projected icon components inside the button.\n * Used internally to detect presence of icons.\n */\n @ContentChildren(forwardRef(() => EclIconComponent)) iconComponents: QueryList<EclIconComponent>;\n\n /**\n * Projected indicator element inside the button (e.g., for loading or notification).\n * Used internally to detect its presence.\n */\n @ContentChild(forwardRef(() => EclIndicatorDirective)) indicator: EclIndicatorDirective;\n\n /**\n * Computes the full set of CSS classes to apply to the button element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-button'), `ecl-button--${this.variant}`,\n this.isIconOnly ? 'ecl-button--icon-only' : ''].join(' ').trim();\n }\n\n /**\n * Indicates whether the button contains an icon.\n * Used internally for styling logic.\n */\n get hasIcon(): boolean {\n return this.iconComponents.length > 0;\n }\n\n /**\n * Indicates whether the button contains an indicator element.\n * Used internally for styling logic.\n */\n get hasIndicator(): boolean {\n return !!this.indicator;\n }\n\n /**\n * Lifecycle hook triggered after content is projected.\n * Assigns a button-specific class to projected icon components.\n */\n ngAfterViewInit(): void {\n if (this.iconComponents) {\n setTimeout(() => {\n this.iconComponents.forEach((icn) => {\n icn.baseDirective.class = 'ecl-button__icon';\n });\n });\n }\n }\n\n /**\n * Manually focuses the button element.\n */\n onFocus(): void {\n this.el.nativeElement.focus();\n }\n}\n","@if (hasIcon) {\n<span class=\"ecl-button__container {{ containerStyleClass }}\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</span>\n}\n@else {\n<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n}\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>","import { NgModule } from '@angular/core';\nimport { EclButtonComponent } from './ecl-button.component';\nimport { EclButtonIconContainerDirective, EclButtonLabelDirective, EclIndicatorDirective } from './ecl-button-label.directive';\n\n/**\n * @description\n * Module that provides the EclButton component and its dependencies.\n *\n * @deprecated Use {@link EUI_ECL_BUTTON} instead.\n */\n@NgModule({\n imports:[EclButtonComponent, EclButtonLabelDirective, EclIndicatorDirective, EclButtonIconContainerDirective],\n exports: [EclButtonComponent, EclButtonLabelDirective, EclIndicatorDirective, EclButtonIconContainerDirective],\n})\nexport class EclButtonModule {}\n","import { EclButtonComponent } from './ecl-button.component';\nimport { EclButtonLabelDirective, EclIndicatorDirective, EclButtonIconContainerDirective } from './ecl-button-label.directive';\n\nexport * from './ecl-button.module';\nexport * from './ecl-button.component';\nexport * from './ecl-button-label.directive';\n\nexport const EUI_ECL_BUTTON = [\n EclButtonComponent,\n EclButtonLabelDirective,\n EclIndicatorDirective,\n EclButtonIconContainerDirective,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -21,10 +21,10 @@ class EclCardPictureDirective extends ECLBaseDirective {
|
|
|
21
21
|
get cssClasses() {
|
|
22
22
|
return [super.getCssClasses('ecl-picture ecl-card__picture')].join(' ').trim();
|
|
23
23
|
}
|
|
24
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
25
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "21.0.0-next.
|
|
24
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclCardPictureDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
25
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "21.0.0-next.3", type: EclCardPictureDirective, isStandalone: true, selector: "picture[eclCardPicture]", inputs: { hasZoom: ["hasZoom", "hasZoom", booleanAttribute] }, host: { properties: { "class": "this.cssClasses", "class.ecl-picture--zoom": "this.hasZoom" } }, usesInheritance: true, ngImport: i0 }); }
|
|
26
26
|
}
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclCardPictureDirective, decorators: [{
|
|
28
28
|
type: Directive,
|
|
29
29
|
args: [{
|
|
30
30
|
selector: 'picture[eclCardPicture]',
|
|
@@ -54,10 +54,10 @@ class EclCardImageDirective extends ECLBaseDirective {
|
|
|
54
54
|
get cssClasses() {
|
|
55
55
|
return [super.getCssClasses('ecl-card__image')].join(' ').trim();
|
|
56
56
|
}
|
|
57
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
58
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0-next.
|
|
57
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclCardImageDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
58
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0-next.3", type: EclCardImageDirective, isStandalone: true, selector: "img[eclCardImage]", host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0 }); }
|
|
59
59
|
}
|
|
60
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
60
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclCardImageDirective, decorators: [{
|
|
61
61
|
type: Directive,
|
|
62
62
|
args: [{
|
|
63
63
|
selector: 'img[eclCardImage]',
|
|
@@ -110,10 +110,10 @@ class EclCardComponent extends ECLBaseDirective {
|
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
112
|
}
|
|
113
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
114
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0-next.
|
|
113
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclCardComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
114
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0-next.3", type: EclCardComponent, isStandalone: true, selector: "ecl-card", host: { properties: { "attr.role": "this.role", "class": "this.cssClasses" } }, queries: [{ propertyName: "eclContentBlock", first: true, predicate: i0.forwardRef(() => EclContentBlockComponent), descendants: true }, { propertyName: "eclContentBlockTitle", first: true, predicate: i0.forwardRef(() => EclContentBlockTitleDirective), descendants: true }, { propertyName: "eclCardImage", first: true, predicate: i0.forwardRef(() => EclCardImageDirective), descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [":host{display:block}\n"] }); }
|
|
115
115
|
}
|
|
116
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
116
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclCardComponent, decorators: [{
|
|
117
117
|
type: Component,
|
|
118
118
|
args: [{ selector: 'ecl-card', template: "<ng-content></ng-content>\n", styles: [":host{display:block}\n"] }]
|
|
119
119
|
}], propDecorators: { role: [{
|
|
@@ -144,10 +144,10 @@ class EclCardBodyComponent extends ECLBaseDirective {
|
|
|
144
144
|
get cssClasses() {
|
|
145
145
|
return [super.getCssClasses('ecl-card__body')].join(' ').trim();
|
|
146
146
|
}
|
|
147
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
148
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0-next.
|
|
147
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclCardBodyComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
148
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0-next.3", type: EclCardBodyComponent, isStandalone: true, selector: "ecl-card-body", host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [":host{display:block}\n"] }); }
|
|
149
149
|
}
|
|
150
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
150
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclCardBodyComponent, decorators: [{
|
|
151
151
|
type: Component,
|
|
152
152
|
args: [{ selector: 'ecl-card-body', template: "<ng-content></ng-content>\n", styles: [":host{display:block}\n"] }]
|
|
153
153
|
}], propDecorators: { cssClasses: [{
|
|
@@ -168,17 +168,17 @@ const COMPONENTS = [
|
|
|
168
168
|
* @deprecated Use {@link EUI_ECL_CARD} instead.
|
|
169
169
|
*/
|
|
170
170
|
class EclCardModule {
|
|
171
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
172
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.0-next.
|
|
171
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclCardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
172
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclCardModule, imports: [EclCardComponent,
|
|
173
173
|
EclCardBodyComponent,
|
|
174
174
|
EclCardPictureDirective,
|
|
175
175
|
EclCardImageDirective], exports: [EclCardComponent,
|
|
176
176
|
EclCardBodyComponent,
|
|
177
177
|
EclCardPictureDirective,
|
|
178
178
|
EclCardImageDirective] }); }
|
|
179
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
179
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclCardModule }); }
|
|
180
180
|
}
|
|
181
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
181
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclCardModule, decorators: [{
|
|
182
182
|
type: NgModule,
|
|
183
183
|
args: [{
|
|
184
184
|
imports: [...COMPONENTS],
|
|
@@ -60,10 +60,10 @@ class EclCarouselItemComponent extends ECLBaseDirective {
|
|
|
60
60
|
onSlideClick() {
|
|
61
61
|
this.slideClick.next(new EclSlideEvent(this));
|
|
62
62
|
}
|
|
63
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
64
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.0.0-next.
|
|
63
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclCarouselItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
64
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.0.0-next.3", type: EclCarouselItemComponent, isStandalone: true, selector: "ecl-carousel-item", inputs: { id: "id", isCurrent: ["isCurrent", "isCurrent", booleanAttribute] }, outputs: { slideClick: "slideClick" }, host: { listeners: { "click": "onSlideClick()" }, properties: { "attr.aria-label": "this.ariaLabel", "attr.role": "this.role", "attr.aria-roledescription": "this.roleDescription", "style.width.%": "this.width", "class": "this.cssClasses", "attr.inert": "this.isInert" } }, queries: [{ propertyName: "banner", first: true, predicate: i0.forwardRef(() => EclBannerComponent), descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [":host:before{left:0!important;display:none}\n"] }); }
|
|
65
65
|
}
|
|
66
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
66
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclCarouselItemComponent, decorators: [{
|
|
67
67
|
type: Component,
|
|
68
68
|
args: [{ selector: 'ecl-carousel-item', template: "<ng-content></ng-content>\n", styles: [":host:before{left:0!important;display:none}\n"] }]
|
|
69
69
|
}], propDecorators: { ariaLabel: [{
|
|
@@ -723,10 +723,10 @@ class EclCarouselComponent extends ECLBaseDirective {
|
|
|
723
723
|
this.lastHiddenItem.el.nativeElement.innerHTML = this.getFirstContentChild();
|
|
724
724
|
}
|
|
725
725
|
}
|
|
726
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
727
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-next.
|
|
726
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclCarouselComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
727
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-next.3", type: EclCarouselComponent, isStandalone: true, selector: "ecl-carousel", inputs: { ariaLabel: ["aria-label", "ariaLabel"], isAutoplay: ["isAutoplay", "isAutoplay", booleanAttribute], playInterval: ["playInterval", "playInterval", numberAttribute] }, outputs: { slide: "slide" }, host: { properties: { "attr.aria-label": "this.ariaLabel", "attr.aria-roledescription": "this.ariaRoleDescription", "class": "this.cssClasses" } }, queries: [{ propertyName: "slides", predicate: i0.forwardRef(() => EclCarouselItemComponent) }], viewQueries: [{ propertyName: "carouselContainerElement", first: true, predicate: ["carouselContainer"], descendants: true }, { propertyName: "playButton", first: true, predicate: ["playButton"], descendants: true }, { propertyName: "pauseButton", first: true, predicate: ["pauseButton"], descendants: true }, { propertyName: "firstHiddenItem", first: true, predicate: ["firstHiddenItem"], descendants: true }, { propertyName: "lastHiddenItem", first: true, predicate: ["lastHiddenItem"], descendants: true }, { propertyName: "slidesContainer", first: true, predicate: ["slidesContainer"], descendants: true }, { propertyName: "navigationButtons", predicate: ["currButton"], descendants: true }], usesInheritance: true, ngImport: i0, template: "@if(hasControls()){\n<div class=\"ecl-carousel__controls\">\n <div class=\"ecl-container\">\n <div class=\"ecl-carousel__autoplay\">\n <button #playButton class=\"ecl-button ecl-button--tertiary ecl-carousel__play ecl-button--icon-only\"\n type=\"button\" [style.display]=\"isPlaying ? 'none' : 'flex'\" (keydown)=\"onPlayKeyboardPress($event)\"\n (click)=\"onPlayClick()\">\n <span class=\"ecl-button__container\">\n <span class=\"ecl-button__label\">\n {{ 'ecl.carousel.PLAY' | translate }}\n </span>\n <ecl-icon icon=\"play-outline\" size=\"m\" class=\"ecl-button__icon ecl-carousel__icon-default\">\n </ecl-icon>\n </span>\n </button>\n\n <button #pauseButton class=\"ecl-button ecl-button--tertiary ecl-carousel__pause ecl-button--icon-only\"\n type=\"button\" [style.display]=\"isPlaying ? 'flex' : 'none'\" (keydown)=\"onPlayKeyboardPress($event)\"\n (click)=\"onPauseClick()\">\n <span class=\"ecl-button__container\">\n <span class=\"ecl-button__label\">\n {{ 'ecl.carousel.PAUSE' | translate }}\n </span>\n <ecl-icon icon=\"pause-outline\" size=\"m\" class=\"ecl-button__icon ecl-carousel__icon-default\"> </ecl-icon>\n </span>\n\n </button>\n </div>\n\n <div class=\"ecl-carousel__navigation\" role=\"tablist\" >\n @for (slide of slides; let i = $index; track slide) {\n <button #currButton [attr.aria-current]=\"i === getCurrentSlideIndex()\" [attr.tabindex]=\"i === getCurrentSlideIndex() ? null: -1\"\n class=\"ecl-button ecl-button--tertiary ecl-carousel__navigation-item\" role=\"tab\" (click)=\"onSlideControlClick(slide)\"\n (keydown)=\"onNavBtnKeyboardPress($event, i)\">\n {{ i + 1 }}\n </button>\n }\n </div>\n </div>\n</div>\n}\n<div #carouselContainer class=\"ecl-carousel__container\" [class.ecl-carousel-container--padded]=\"isPadded()\">\n <div #slidesContainer (keyup)=\"onFirstCarouselElementPress($event)\" class=\"ecl-carousel__slides\"\n [style.width.px]=\"getCarouselSlidesWidth()\" [style.left.px]=\"!isRtl ? getCarouselSlidesOffsetLeft() : null\"\n [style.right.px]=\"isRtl ? getCarouselSlidesOffsetRight() : null\"\n [style.transition-duration.s]=\"transitionDuration\" (mouseover)=\"onSlideHover()\" (mouseout)=\"onSlideHoverout()\">\n\n @if(hasControls()){\n <ecl-carousel-item #firstHiddenItem [style.width.%]=\"slideWidth\"></ecl-carousel-item>\n }\n <ng-content></ng-content>\n\n @if(hasControls()){\n <ecl-carousel-item #lastHiddenItem [style.width.%]=\"slideWidth\"></ecl-carousel-item>\n }\n </div>\n</div>", styles: [".ecl-carousel__slides{transition-duration:.4s}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "component", type: EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "component", type: EclCarouselItemComponent, selector: "ecl-carousel-item", inputs: ["id", "isCurrent"], outputs: ["slideClick"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] }); }
|
|
728
728
|
}
|
|
729
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
729
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclCarouselComponent, decorators: [{
|
|
730
730
|
type: Component,
|
|
731
731
|
args: [{ selector: 'ecl-carousel', imports: [
|
|
732
732
|
TranslateModule,
|
|
@@ -786,11 +786,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.1",
|
|
|
786
786
|
* @deprecated Use {@link EUI_ECL_CAROUSEL} instead.
|
|
787
787
|
*/
|
|
788
788
|
class EclCarouselModule {
|
|
789
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
790
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.0-next.
|
|
791
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
789
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclCarouselModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
790
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclCarouselModule, imports: [EclCarouselComponent, EclCarouselItemComponent], exports: [EclCarouselComponent, EclCarouselItemComponent] }); }
|
|
791
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclCarouselModule, imports: [EclCarouselComponent] }); }
|
|
792
792
|
}
|
|
793
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
793
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclCarouselModule, decorators: [{
|
|
794
794
|
type: NgModule,
|
|
795
795
|
args: [{
|
|
796
796
|
imports: [EclCarouselComponent, EclCarouselItemComponent],
|
|
@@ -3,7 +3,7 @@ import { EventEmitter, forwardRef, ContentChild, HostBinding, Output, Input, Com
|
|
|
3
3
|
import { Subject, takeUntil } from 'rxjs';
|
|
4
4
|
import { EclBaseEvent, ECLBaseDirective } from '@eui/ecl/core';
|
|
5
5
|
import * as i1 from '@eui/ecl/components/ecl-icon';
|
|
6
|
-
import {
|
|
6
|
+
import { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';
|
|
7
7
|
import { NgTemplateOutlet } from '@angular/common';
|
|
8
8
|
|
|
9
9
|
/**
|
|
@@ -120,14 +120,14 @@ class EclCategoryFilterItemComponent extends ECLBaseDirective {
|
|
|
120
120
|
this.eclCategoryList.level = value;
|
|
121
121
|
}
|
|
122
122
|
}
|
|
123
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
124
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-next.
|
|
123
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclCategoryFilterItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
124
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-next.3", type: EclCategoryFilterItemComponent, isStandalone: true, selector: "ecl-category-filter-item", inputs: { href: "href", id: "id" }, outputs: { itemSelect: "itemSelect" }, host: { properties: { "class.ecl-category-filter__list-item": "this.className", "attr.role": "this.role", "class.ecl-category-filter__list-item--open": "this.isAriaExpanded" } }, queries: [{ propertyName: "eclCategoryList", first: true, predicate: i0.forwardRef(() => EclCategoryFilterListComponent), descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (hasChildren) {\n <button\n class=\"ecl-category-filter__item {{ levelClass }}\"\n [class.ecl-category-filter__item--has-children]=\"hasChildren\"\n [class.ecl-category-filter__item--current]=\"isCurrent\"\n [attr.aria-current]=\"isCurrent ? true : null\"\n [attr.aria-expanded] = \"isExpanded\"\n [attr.aria-controls]=\"id\"\n (click)=\"onItemClick($event)\">\n @if(isChildItemWithChildren) {\n <ecl-icon icon=\"solid-arrow\" size=\"xs\" transform=\"rotate-90\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n }\n @if(isRootItemWithChildren) {\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-180\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n </button>\n} @else {\n <a\n [href]=\"href\"\n class=\"ecl-category-filter__item {{ levelClass }}\"\n [class.ecl-category-filter__item--has-children]=\"hasChildren\"\n [attr.aria-current]=\"isCurrent ? true : null\"\n (click)=\"onItemClick($event)\">\n @if(isChildItemWithChildren) {\n <ecl-icon icon=\"solid-arrow\" size=\"xs\" transform=\"rotate-90\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n @if(isRootItemWithChildren) {\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-180\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n </a>\n}\n<ng-content select=\"ecl-category-filter-list\"></ng-content>\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i1.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }] }); }
|
|
125
125
|
}
|
|
126
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
126
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclCategoryFilterItemComponent, decorators: [{
|
|
127
127
|
type: Component,
|
|
128
128
|
args: [{ selector: 'ecl-category-filter-item', imports: [
|
|
129
129
|
NgTemplateOutlet,
|
|
130
|
-
|
|
130
|
+
...EUI_ECL_ICON,
|
|
131
131
|
], template: "@if (hasChildren) {\n <button\n class=\"ecl-category-filter__item {{ levelClass }}\"\n [class.ecl-category-filter__item--has-children]=\"hasChildren\"\n [class.ecl-category-filter__item--current]=\"isCurrent\"\n [attr.aria-current]=\"isCurrent ? true : null\"\n [attr.aria-expanded] = \"isExpanded\"\n [attr.aria-controls]=\"id\"\n (click)=\"onItemClick($event)\">\n @if(isChildItemWithChildren) {\n <ecl-icon icon=\"solid-arrow\" size=\"xs\" transform=\"rotate-90\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n }\n @if(isRootItemWithChildren) {\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-180\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n </button>\n} @else {\n <a\n [href]=\"href\"\n class=\"ecl-category-filter__item {{ levelClass }}\"\n [class.ecl-category-filter__item--has-children]=\"hasChildren\"\n [attr.aria-current]=\"isCurrent ? true : null\"\n (click)=\"onItemClick($event)\">\n @if(isChildItemWithChildren) {\n <ecl-icon icon=\"solid-arrow\" size=\"xs\" transform=\"rotate-90\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n @if(isRootItemWithChildren) {\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-180\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n </a>\n}\n<ng-content select=\"ecl-category-filter-list\"></ng-content>\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n" }]
|
|
132
132
|
}], propDecorators: { href: [{
|
|
133
133
|
type: Input
|
|
@@ -195,10 +195,10 @@ class EclCategoryFilterListComponent extends ECLBaseDirective {
|
|
|
195
195
|
this.eclCategoryFilterItems.forEach((item) => (item.level = value));
|
|
196
196
|
}
|
|
197
197
|
}
|
|
198
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
199
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0-next.
|
|
198
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclCategoryFilterListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
199
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0-next.3", type: EclCategoryFilterListComponent, isStandalone: true, selector: "ecl-category-filter-list", host: { properties: { "class.ecl-category-filter__list": "this.className", "attr.role": "this.role", "attr.aria-controls": "this.controls" } }, queries: [{ propertyName: "eclCategoryFilterItems", predicate: i0.forwardRef(() => EclCategoryFilterItemComponent) }], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n" }); }
|
|
200
200
|
}
|
|
201
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
201
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclCategoryFilterListComponent, decorators: [{
|
|
202
202
|
type: Component,
|
|
203
203
|
args: [{ selector: 'ecl-category-filter-list', template: "<ng-content></ng-content>\n" }]
|
|
204
204
|
}], propDecorators: { className: [{
|
|
@@ -313,10 +313,10 @@ class EclCategoryFilterComponent extends ECLBaseDirective {
|
|
|
313
313
|
it.isCurrent = false;
|
|
314
314
|
});
|
|
315
315
|
}
|
|
316
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
317
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0-next.
|
|
316
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclCategoryFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
317
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0-next.3", type: EclCategoryFilterComponent, isStandalone: true, selector: "ecl-category-filter", inputs: { currentItemId: "currentItemId", ariaLabel: ["aria-label", "ariaLabel"] }, host: { properties: { "class.ecl-category-filter": "this.className", "attr.role": "this.role", "attr.aria-label": "this.ariaLabel" } }, queries: [{ propertyName: "eclCategoryList", first: true, predicate: i0.forwardRef(() => EclCategoryFilterListComponent), descendants: true }, { propertyName: "eclCategoryFilterItemsAll", predicate: i0.forwardRef(() => EclCategoryFilterItemComponent), descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [":host{display:block}\n"] }); }
|
|
318
318
|
}
|
|
319
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
319
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclCategoryFilterComponent, decorators: [{
|
|
320
320
|
type: Component,
|
|
321
321
|
args: [{ selector: 'ecl-category-filter', template: "<ng-content></ng-content>\n", styles: [":host{display:block}\n"] }]
|
|
322
322
|
}], ctorParameters: () => [], propDecorators: { currentItemId: [{
|
|
@@ -348,11 +348,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.1",
|
|
|
348
348
|
* @deprecated Use {@link EUI_ECL_CATEGORY_FILTER} instead.
|
|
349
349
|
*/
|
|
350
350
|
class EclCategoryFilterModule {
|
|
351
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
352
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.0-next.
|
|
353
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
351
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclCategoryFilterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
352
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclCategoryFilterModule, imports: [EclCategoryFilterComponent, EclCategoryFilterListComponent, EclCategoryFilterItemComponent], exports: [EclCategoryFilterComponent, EclCategoryFilterListComponent, EclCategoryFilterItemComponent] }); }
|
|
353
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclCategoryFilterModule, imports: [EclCategoryFilterItemComponent] }); }
|
|
354
354
|
}
|
|
355
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
355
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.3", ngImport: i0, type: EclCategoryFilterModule, decorators: [{
|
|
356
356
|
type: NgModule,
|
|
357
357
|
args: [{
|
|
358
358
|
imports: [EclCategoryFilterComponent, EclCategoryFilterListComponent, EclCategoryFilterItemComponent],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-ecl-components-ecl-category-filter.mjs","sources":["../../components/ecl-category-filter/events/ecl-category-filter-item-select.event.ts","../../components/ecl-category-filter/ecl-category-filter-list/ecl-category-filter-item.component.ts","../../components/ecl-category-filter/ecl-category-filter-list/ecl-category-filter-item.component.html","../../components/ecl-category-filter/ecl-category-filter-list/ecl-category-filter-list.component.ts","../../components/ecl-category-filter/ecl-category-filter-list/ecl-category-filter-list.component.html","../../components/ecl-category-filter/ecl-category-filter/ecl-category-filter.component.ts","../../components/ecl-category-filter/ecl-category-filter/ecl-category-filter.component.html","../../components/ecl-category-filter/ecl-category-filter.module.ts","../../components/ecl-category-filter/index.ts","../../components/ecl-category-filter/eui-ecl-components-ecl-category-filter.ts"],"sourcesContent":["import { EclBaseEvent } from '@eui/ecl/core';\nimport { EclCategoryFilterItem } from '../models/ecl-category-filter-item.model';\n\n/**\n * Event emitted when a category filter item is selected.\n */\nexport class EclCategoryFilterItemSelectEvent extends EclBaseEvent {\n /**\n * Creates an instance of EclCategoryFilterItemSelectEvent.\n * @param item The category filter item that triggered the event.\n */\n constructor(public item: EclCategoryFilterItem) {\n super();\n }\n}\n","import { Component, ContentChild, EventEmitter, forwardRef, HostBinding, Input, Output } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclCategoryFilterItem } from '../models/ecl-category-filter-item.model';\nimport { EclCategoryFilterItemSelectEvent } from '../events/ecl-category-filter-item-select.event';\nimport { EclCategoryFilterListComponent } from './ecl-category-filter-list.component';\nimport { EclIconModule } from '@eui/ecl/components/ecl-icon';\nimport { NgTemplateOutlet } from '@angular/common';\n\n@Component({\n selector: 'ecl-category-filter-item',\n templateUrl: './ecl-category-filter-item.component.html',\n imports: [\n NgTemplateOutlet,\n EclIconModule,\n ],\n})\nexport class EclCategoryFilterItemComponent extends ECLBaseDirective implements EclCategoryFilterItem {\n /**\n * Link URL associated with this category filter item.\n * If not provided, the item acts as a toggle only.\n */\n @Input() href: string;\n\n /**\n * Unique identifier for the item. Used to manage selection state.\n */\n @Input() id: string;\n\n /**\n * Emits when the item is selected by the user (clicked).\n */\n @Output() itemSelect = new EventEmitter<EclCategoryFilterItemSelectEvent>();\n\n /**\n * Static class binding for base list item styling.\n */\n @HostBinding('class.ecl-category-filter__list-item') className = true;\n\n /**\n * Defines the ARIA role for the list item. Always set to \"listitem\".\n */\n @HostBinding('attr.role') role = 'listitem';\n\n /**\n * Indicates whether the item is expanded. Applied only if the item has children.\n */\n @HostBinding('class.ecl-category-filter__list-item--open')\n get isAriaExpanded(): boolean {\n return this.hasChildren ? this.isExpanded : null;\n }\n\n /**\n * Indicates whether the item is currently expanded (open).\n */\n isExpanded = false;\n\n /**\n * Indicates whether the item is currently selected.\n */\n isCurrent = false;\n\n /**\n * Child list component if the item has nested children.\n */\n @ContentChild(forwardRef(() => EclCategoryFilterListComponent)) eclCategoryList: EclCategoryFilterListComponent;\n\n /**\n * Returns the hierarchical level of the item within the tree.\n */\n get level(): number {\n return this._level;\n }\n\n /**\n * Sets the level and updates the level of the child list accordingly.\n */\n set level(value: number) {\n this._level = ++value;\n this.updateChildListLevel(this._level);\n }\n private _level: number;\n\n /**\n * Returns the CSS class for the current level of the item.\n */\n get levelClass(): string {\n return `ecl-category-filter__item--level-${this._level}`;\n }\n\n /**\n * Indicates whether the item has child elements.\n */\n get hasChildren(): boolean {\n return this.eclCategoryList !== undefined;\n }\n\n /**\n * Returns the child components of this item, if any.\n */\n get children(): EclCategoryFilterItemComponent[] {\n return this.eclCategoryList.children;\n }\n\n /**\n * Returns true if this is a root-level item and has children.\n */\n get isRootItemWithChildren(): boolean {\n return this.hasChildren && this.isRootItem;\n }\n\n /**\n * Returns true if this is a child item and has its own children.\n */\n get isChildItemWithChildren(): boolean {\n return this.hasChildren && !this.isRootItem;\n }\n\n /**\n * Returns true if this is a root-level item (level === 1).\n */\n get isRootItem(): boolean {\n return this.level === 1;\n }\n\n /**\n * Handles user click interaction, updates state and emits selection event.\n * Prevents navigation if no `href` is defined.\n */\n onItemClick(evt: MouseEvent): void {\n this.toggleExpanded();\n this.isCurrent = true;\n this.itemSelect.next(new EclCategoryFilterItemSelectEvent(this));\n if (!this.href) {\n evt.preventDefault();\n }\n evt.stopPropagation();\n }\n\n private toggleExpanded(): void {\n this.isExpanded = !this.isExpanded;\n }\n\n private updateChildListLevel(value: number): void {\n if (this.eclCategoryList) {\n this.eclCategoryList.level = value;\n }\n }\n}\n","@if (hasChildren) {\n <button\n class=\"ecl-category-filter__item {{ levelClass }}\"\n [class.ecl-category-filter__item--has-children]=\"hasChildren\"\n [class.ecl-category-filter__item--current]=\"isCurrent\"\n [attr.aria-current]=\"isCurrent ? true : null\"\n [attr.aria-expanded] = \"isExpanded\"\n [attr.aria-controls]=\"id\"\n (click)=\"onItemClick($event)\">\n @if(isChildItemWithChildren) {\n <ecl-icon icon=\"solid-arrow\" size=\"xs\" transform=\"rotate-90\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n }\n @if(isRootItemWithChildren) {\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-180\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n </button>\n} @else {\n <a\n [href]=\"href\"\n class=\"ecl-category-filter__item {{ levelClass }}\"\n [class.ecl-category-filter__item--has-children]=\"hasChildren\"\n [attr.aria-current]=\"isCurrent ? true : null\"\n (click)=\"onItemClick($event)\">\n @if(isChildItemWithChildren) {\n <ecl-icon icon=\"solid-arrow\" size=\"xs\" transform=\"rotate-90\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n @if(isRootItemWithChildren) {\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-180\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n </a>\n}\n<ng-content select=\"ecl-category-filter-list\"></ng-content>\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n","import { Component, ContentChildren, forwardRef, HostBinding, QueryList } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclCategoryFilterItemComponent } from './ecl-category-filter-item.component';\n\n@Component({\n selector: 'ecl-category-filter-list',\n templateUrl: './ecl-category-filter-list.component.html',\n})\nexport class EclCategoryFilterListComponent extends ECLBaseDirective {\n /**\n * Adds the base class for the category filter list component.\n */\n @HostBinding('class.ecl-category-filter__list') className = true;\n\n /**\n * Sets ARIA role to \"list\" for accessibility purposes.\n */\n @HostBinding('attr.role') role = 'list';\n\n /**\n * ARIA attribute that points to the element controlled by this list (if applicable).\n */\n @HostBinding('attr.aria-controls') controls: string;\n\n /**\n * List of all category filter items projected inside this list.\n */\n @ContentChildren(forwardRef(() => EclCategoryFilterItemComponent))\n eclCategoryFilterItems: QueryList<EclCategoryFilterItemComponent>;\n\n /**\n * Gets the nesting level of this list in the category tree.\n */\n get level(): number {\n return this._level;\n }\n\n /**\n * Sets the level of the list and applies it to all its children.\n */\n set level(value: number) {\n this._level = value;\n this.updateChildrenItemsLevel(value);\n }\n private _level: number;\n\n /**\n * Returns true if the list contains one or more category filter items.\n */\n get hasChildren(): boolean {\n return this.eclCategoryFilterItems !== undefined && this.eclCategoryFilterItems.length > 0;\n }\n\n /**\n * Returns the list of child components.\n */\n get children(): EclCategoryFilterItemComponent[] {\n return this.eclCategoryFilterItems.toArray();\n }\n\n /**\n * Propagates the current level to all direct children items.\n * @param value Level value to set on each child.\n */\n updateChildrenItemsLevel(value: number): void {\n if (this.eclCategoryFilterItems) {\n this.eclCategoryFilterItems.forEach((item) =>\n (item.level = value));\n }\n }\n}\n","<ng-content></ng-content>\n","import {\n Component,\n ContentChild,\n ContentChildren,\n forwardRef,\n HostBinding,\n IterableDiffer,\n IterableDiffers,\n QueryList,\n Input,\n DoCheck,\n AfterContentInit,\n inject,\n} from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclCategoryFilterItem } from '../models/ecl-category-filter-item.model';\nimport { EclCategoryFilterItemSelectEvent } from '../events/ecl-category-filter-item-select.event';\nimport { EclCategoryFilterItemComponent } from '../ecl-category-filter-list';\nimport { EclCategoryFilterListComponent } from '../ecl-category-filter-list';\n\n@Component({\n selector: 'ecl-category-filter',\n templateUrl: './ecl-category-filter.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclCategoryFilterComponent extends ECLBaseDirective implements DoCheck, AfterContentInit {\n /**\n * ID of the currently selected item. When provided, the item with the matching ID\n * will be marked as current and automatically expanded on initialization.\n */\n @Input() currentItemId: string;\n\n /**\n * Static class applied to the host element for styling.\n * Always returns true to include the `ecl-category-filter` class.\n */\n @HostBinding('class.ecl-category-filter') className = true;\n\n /**\n * Defines the ARIA role for the host element. Always set to \"navigation\".\n */\n @HostBinding('attr.role') role = 'navigation';\n\n /**\n * Aria-label for the navigation role. Defaults to \"Category filter\".\n */\n @HostBinding('attr.aria-label') @Input('aria-label') ariaLabel: string | null = 'Category filter';\n\n @ContentChild(forwardRef(() => EclCategoryFilterListComponent)) eclCategoryList: EclCategoryFilterListComponent;\n @ContentChildren(forwardRef(() => EclCategoryFilterItemComponent), { descendants: true })\n eclCategoryFilterItemsAll: QueryList<EclCategoryFilterItemComponent>;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private differ: IterableDiffer<EclCategoryFilterItemComponent>;\n private differs = inject(IterableDiffers);\n\n constructor() {\n super();\n this.differ = this.differs.find([]).create();\n }\n\n ngDoCheck(): void {\n const diff = this.differ.diff(this.eclCategoryFilterItemsAll);\n if (diff) {\n diff.forEachItem((item) => {\n this.connectCategoryfilterItemEvents(item.item);\n });\n setTimeout(() => {\n this.eclCategoryList.updateChildrenItemsLevel(0);\n if (this.currentItemId !== undefined) {\n this.setPreselectedCurrentItem();\n }\n });\n }\n }\n\n ngAfterContentInit(): void {\n this.setId(this.eclCategoryList.eclCategoryFilterItems);\n }\n\n private setId(subList: QueryList<EclCategoryFilterItemComponent>): void {\n if (subList) {\n subList.forEach((item) => {\n if (!item.id) {\n item.id = crypto.randomUUID();\n }\n if (item.eclCategoryList) {\n item.eclCategoryList.controls = item.id;\n this.setId(item.eclCategoryList.eclCategoryFilterItems);\n }\n });\n }\n }\n\n private connectCategoryfilterItemEvents(item: EclCategoryFilterItemComponent): void {\n item.itemSelect.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.onItemSelected(evt);\n });\n }\n\n private onItemSelected(evt: EclCategoryFilterItemSelectEvent): void {\n if (evt.item.isRootItem) {\n this.closeAllItemsButOne(evt.item);\n } else {\n this.deselectAllItemsButOne(evt.item);\n }\n }\n\n private setPreselectedCurrentItem(): void {\n const currItem = this.eclCategoryFilterItemsAll.toArray().find((item) => item.id === this.currentItemId);\n if (currItem) {\n currItem.isCurrent = true;\n if (currItem.hasChildren) {\n currItem.isExpanded = true;\n }\n this.expandParents(currItem);\n }\n }\n\n private expandParents(currItem: EclCategoryFilterItem): void {\n if (currItem.isRootItem) {\n return;\n } else {\n const parent = this.eclCategoryFilterItemsAll.find(\n (item) => item.hasChildren && item.children.find((child) => child.id === currItem.id) !== undefined,\n );\n parent.isExpanded = true;\n this.expandParents(parent);\n }\n }\n\n private closeAllItemsButOne(item: EclCategoryFilterItem): void {\n this.eclCategoryFilterItemsAll\n .filter((it) => it !== item)\n .forEach((it) => {\n it.isExpanded = false;\n it.isCurrent = false;\n });\n }\n\n private deselectAllItemsButOne(item: EclCategoryFilterItem): void {\n this.eclCategoryFilterItemsAll\n .filter((it) => it !== item)\n .forEach((it) => {\n it.isCurrent = false;\n });\n }\n}\n","<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\nimport { EclCategoryFilterComponent } from './ecl-category-filter';\nimport { EclCategoryFilterListComponent, EclCategoryFilterItemComponent } from './ecl-category-filter-list';\n\n/**\n * @description\n * Module that provides the EclCategoryFilter and related components.\n *\n * @deprecated Use {@link EUI_ECL_CATEGORY_FILTER} instead.\n */\n@NgModule({\n imports: [EclCategoryFilterComponent, EclCategoryFilterListComponent, EclCategoryFilterItemComponent],\n exports: [EclCategoryFilterComponent, EclCategoryFilterListComponent, EclCategoryFilterItemComponent],\n})\nexport class EclCategoryFilterModule {}\n","import { EclCategoryFilterComponent } from './ecl-category-filter/ecl-category-filter.component';\nimport { EclCategoryFilterListComponent } from './ecl-category-filter-list/ecl-category-filter-list.component';\nimport { EclCategoryFilterItemComponent } from './ecl-category-filter-list/ecl-category-filter-item.component';\n\nexport * from './ecl-category-filter.module';\nexport * from './ecl-category-filter/index';\nexport * from './ecl-category-filter-list/index';\nexport * from './models/ecl-category-filter-item.model';\nexport * from './events/ecl-category-filter-item-select.event';\n\nexport const EUI_ECL_CATEGORY_FILTER = [\n EclCategoryFilterComponent,\n EclCategoryFilterListComponent,\n EclCategoryFilterItemComponent,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"eui-ecl-components-ecl-category-filter.mjs","sources":["../../components/ecl-category-filter/events/ecl-category-filter-item-select.event.ts","../../components/ecl-category-filter/ecl-category-filter-list/ecl-category-filter-item.component.ts","../../components/ecl-category-filter/ecl-category-filter-list/ecl-category-filter-item.component.html","../../components/ecl-category-filter/ecl-category-filter-list/ecl-category-filter-list.component.ts","../../components/ecl-category-filter/ecl-category-filter-list/ecl-category-filter-list.component.html","../../components/ecl-category-filter/ecl-category-filter/ecl-category-filter.component.ts","../../components/ecl-category-filter/ecl-category-filter/ecl-category-filter.component.html","../../components/ecl-category-filter/ecl-category-filter.module.ts","../../components/ecl-category-filter/index.ts","../../components/ecl-category-filter/eui-ecl-components-ecl-category-filter.ts"],"sourcesContent":["import { EclBaseEvent } from '@eui/ecl/core';\nimport { EclCategoryFilterItem } from '../models/ecl-category-filter-item.model';\n\n/**\n * Event emitted when a category filter item is selected.\n */\nexport class EclCategoryFilterItemSelectEvent extends EclBaseEvent {\n /**\n * Creates an instance of EclCategoryFilterItemSelectEvent.\n * @param item The category filter item that triggered the event.\n */\n constructor(public item: EclCategoryFilterItem) {\n super();\n }\n}\n","import { Component, ContentChild, EventEmitter, forwardRef, HostBinding, Input, Output } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclCategoryFilterItem } from '../models/ecl-category-filter-item.model';\nimport { EclCategoryFilterItemSelectEvent } from '../events/ecl-category-filter-item-select.event';\nimport { EclCategoryFilterListComponent } from './ecl-category-filter-list.component';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\nimport { NgTemplateOutlet } from '@angular/common';\n\n@Component({\n selector: 'ecl-category-filter-item',\n templateUrl: './ecl-category-filter-item.component.html',\n imports: [\n NgTemplateOutlet,\n ...EUI_ECL_ICON,\n ],\n})\nexport class EclCategoryFilterItemComponent extends ECLBaseDirective implements EclCategoryFilterItem {\n /**\n * Link URL associated with this category filter item.\n * If not provided, the item acts as a toggle only.\n */\n @Input() href: string;\n\n /**\n * Unique identifier for the item. Used to manage selection state.\n */\n @Input() id: string;\n\n /**\n * Emits when the item is selected by the user (clicked).\n */\n @Output() itemSelect = new EventEmitter<EclCategoryFilterItemSelectEvent>();\n\n /**\n * Static class binding for base list item styling.\n */\n @HostBinding('class.ecl-category-filter__list-item') className = true;\n\n /**\n * Defines the ARIA role for the list item. Always set to \"listitem\".\n */\n @HostBinding('attr.role') role = 'listitem';\n\n /**\n * Indicates whether the item is expanded. Applied only if the item has children.\n */\n @HostBinding('class.ecl-category-filter__list-item--open')\n get isAriaExpanded(): boolean {\n return this.hasChildren ? this.isExpanded : null;\n }\n\n /**\n * Indicates whether the item is currently expanded (open).\n */\n isExpanded = false;\n\n /**\n * Indicates whether the item is currently selected.\n */\n isCurrent = false;\n\n /**\n * Child list component if the item has nested children.\n */\n @ContentChild(forwardRef(() => EclCategoryFilterListComponent)) eclCategoryList: EclCategoryFilterListComponent;\n\n /**\n * Returns the hierarchical level of the item within the tree.\n */\n get level(): number {\n return this._level;\n }\n\n /**\n * Sets the level and updates the level of the child list accordingly.\n */\n set level(value: number) {\n this._level = ++value;\n this.updateChildListLevel(this._level);\n }\n private _level: number;\n\n /**\n * Returns the CSS class for the current level of the item.\n */\n get levelClass(): string {\n return `ecl-category-filter__item--level-${this._level}`;\n }\n\n /**\n * Indicates whether the item has child elements.\n */\n get hasChildren(): boolean {\n return this.eclCategoryList !== undefined;\n }\n\n /**\n * Returns the child components of this item, if any.\n */\n get children(): EclCategoryFilterItemComponent[] {\n return this.eclCategoryList.children;\n }\n\n /**\n * Returns true if this is a root-level item and has children.\n */\n get isRootItemWithChildren(): boolean {\n return this.hasChildren && this.isRootItem;\n }\n\n /**\n * Returns true if this is a child item and has its own children.\n */\n get isChildItemWithChildren(): boolean {\n return this.hasChildren && !this.isRootItem;\n }\n\n /**\n * Returns true if this is a root-level item (level === 1).\n */\n get isRootItem(): boolean {\n return this.level === 1;\n }\n\n /**\n * Handles user click interaction, updates state and emits selection event.\n * Prevents navigation if no `href` is defined.\n */\n onItemClick(evt: MouseEvent): void {\n this.toggleExpanded();\n this.isCurrent = true;\n this.itemSelect.next(new EclCategoryFilterItemSelectEvent(this));\n if (!this.href) {\n evt.preventDefault();\n }\n evt.stopPropagation();\n }\n\n private toggleExpanded(): void {\n this.isExpanded = !this.isExpanded;\n }\n\n private updateChildListLevel(value: number): void {\n if (this.eclCategoryList) {\n this.eclCategoryList.level = value;\n }\n }\n}\n","@if (hasChildren) {\n <button\n class=\"ecl-category-filter__item {{ levelClass }}\"\n [class.ecl-category-filter__item--has-children]=\"hasChildren\"\n [class.ecl-category-filter__item--current]=\"isCurrent\"\n [attr.aria-current]=\"isCurrent ? true : null\"\n [attr.aria-expanded] = \"isExpanded\"\n [attr.aria-controls]=\"id\"\n (click)=\"onItemClick($event)\">\n @if(isChildItemWithChildren) {\n <ecl-icon icon=\"solid-arrow\" size=\"xs\" transform=\"rotate-90\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n }\n @if(isRootItemWithChildren) {\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-180\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n </button>\n} @else {\n <a\n [href]=\"href\"\n class=\"ecl-category-filter__item {{ levelClass }}\"\n [class.ecl-category-filter__item--has-children]=\"hasChildren\"\n [attr.aria-current]=\"isCurrent ? true : null\"\n (click)=\"onItemClick($event)\">\n @if(isChildItemWithChildren) {\n <ecl-icon icon=\"solid-arrow\" size=\"xs\" transform=\"rotate-90\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n @if(isRootItemWithChildren) {\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-180\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n </a>\n}\n<ng-content select=\"ecl-category-filter-list\"></ng-content>\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n","import { Component, ContentChildren, forwardRef, HostBinding, QueryList } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclCategoryFilterItemComponent } from './ecl-category-filter-item.component';\n\n@Component({\n selector: 'ecl-category-filter-list',\n templateUrl: './ecl-category-filter-list.component.html',\n})\nexport class EclCategoryFilterListComponent extends ECLBaseDirective {\n /**\n * Adds the base class for the category filter list component.\n */\n @HostBinding('class.ecl-category-filter__list') className = true;\n\n /**\n * Sets ARIA role to \"list\" for accessibility purposes.\n */\n @HostBinding('attr.role') role = 'list';\n\n /**\n * ARIA attribute that points to the element controlled by this list (if applicable).\n */\n @HostBinding('attr.aria-controls') controls: string;\n\n /**\n * List of all category filter items projected inside this list.\n */\n @ContentChildren(forwardRef(() => EclCategoryFilterItemComponent))\n eclCategoryFilterItems: QueryList<EclCategoryFilterItemComponent>;\n\n /**\n * Gets the nesting level of this list in the category tree.\n */\n get level(): number {\n return this._level;\n }\n\n /**\n * Sets the level of the list and applies it to all its children.\n */\n set level(value: number) {\n this._level = value;\n this.updateChildrenItemsLevel(value);\n }\n private _level: number;\n\n /**\n * Returns true if the list contains one or more category filter items.\n */\n get hasChildren(): boolean {\n return this.eclCategoryFilterItems !== undefined && this.eclCategoryFilterItems.length > 0;\n }\n\n /**\n * Returns the list of child components.\n */\n get children(): EclCategoryFilterItemComponent[] {\n return this.eclCategoryFilterItems.toArray();\n }\n\n /**\n * Propagates the current level to all direct children items.\n * @param value Level value to set on each child.\n */\n updateChildrenItemsLevel(value: number): void {\n if (this.eclCategoryFilterItems) {\n this.eclCategoryFilterItems.forEach((item) =>\n (item.level = value));\n }\n }\n}\n","<ng-content></ng-content>\n","import {\n Component,\n ContentChild,\n ContentChildren,\n forwardRef,\n HostBinding,\n IterableDiffer,\n IterableDiffers,\n QueryList,\n Input,\n DoCheck,\n AfterContentInit,\n inject,\n} from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclCategoryFilterItem } from '../models/ecl-category-filter-item.model';\nimport { EclCategoryFilterItemSelectEvent } from '../events/ecl-category-filter-item-select.event';\nimport { EclCategoryFilterItemComponent } from '../ecl-category-filter-list';\nimport { EclCategoryFilterListComponent } from '../ecl-category-filter-list';\n\n@Component({\n selector: 'ecl-category-filter',\n templateUrl: './ecl-category-filter.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclCategoryFilterComponent extends ECLBaseDirective implements DoCheck, AfterContentInit {\n /**\n * ID of the currently selected item. When provided, the item with the matching ID\n * will be marked as current and automatically expanded on initialization.\n */\n @Input() currentItemId: string;\n\n /**\n * Static class applied to the host element for styling.\n * Always returns true to include the `ecl-category-filter` class.\n */\n @HostBinding('class.ecl-category-filter') className = true;\n\n /**\n * Defines the ARIA role for the host element. Always set to \"navigation\".\n */\n @HostBinding('attr.role') role = 'navigation';\n\n /**\n * Aria-label for the navigation role. Defaults to \"Category filter\".\n */\n @HostBinding('attr.aria-label') @Input('aria-label') ariaLabel: string | null = 'Category filter';\n\n @ContentChild(forwardRef(() => EclCategoryFilterListComponent)) eclCategoryList: EclCategoryFilterListComponent;\n @ContentChildren(forwardRef(() => EclCategoryFilterItemComponent), { descendants: true })\n eclCategoryFilterItemsAll: QueryList<EclCategoryFilterItemComponent>;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private differ: IterableDiffer<EclCategoryFilterItemComponent>;\n private differs = inject(IterableDiffers);\n\n constructor() {\n super();\n this.differ = this.differs.find([]).create();\n }\n\n ngDoCheck(): void {\n const diff = this.differ.diff(this.eclCategoryFilterItemsAll);\n if (diff) {\n diff.forEachItem((item) => {\n this.connectCategoryfilterItemEvents(item.item);\n });\n setTimeout(() => {\n this.eclCategoryList.updateChildrenItemsLevel(0);\n if (this.currentItemId !== undefined) {\n this.setPreselectedCurrentItem();\n }\n });\n }\n }\n\n ngAfterContentInit(): void {\n this.setId(this.eclCategoryList.eclCategoryFilterItems);\n }\n\n private setId(subList: QueryList<EclCategoryFilterItemComponent>): void {\n if (subList) {\n subList.forEach((item) => {\n if (!item.id) {\n item.id = crypto.randomUUID();\n }\n if (item.eclCategoryList) {\n item.eclCategoryList.controls = item.id;\n this.setId(item.eclCategoryList.eclCategoryFilterItems);\n }\n });\n }\n }\n\n private connectCategoryfilterItemEvents(item: EclCategoryFilterItemComponent): void {\n item.itemSelect.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.onItemSelected(evt);\n });\n }\n\n private onItemSelected(evt: EclCategoryFilterItemSelectEvent): void {\n if (evt.item.isRootItem) {\n this.closeAllItemsButOne(evt.item);\n } else {\n this.deselectAllItemsButOne(evt.item);\n }\n }\n\n private setPreselectedCurrentItem(): void {\n const currItem = this.eclCategoryFilterItemsAll.toArray().find((item) => item.id === this.currentItemId);\n if (currItem) {\n currItem.isCurrent = true;\n if (currItem.hasChildren) {\n currItem.isExpanded = true;\n }\n this.expandParents(currItem);\n }\n }\n\n private expandParents(currItem: EclCategoryFilterItem): void {\n if (currItem.isRootItem) {\n return;\n } else {\n const parent = this.eclCategoryFilterItemsAll.find(\n (item) => item.hasChildren && item.children.find((child) => child.id === currItem.id) !== undefined,\n );\n parent.isExpanded = true;\n this.expandParents(parent);\n }\n }\n\n private closeAllItemsButOne(item: EclCategoryFilterItem): void {\n this.eclCategoryFilterItemsAll\n .filter((it) => it !== item)\n .forEach((it) => {\n it.isExpanded = false;\n it.isCurrent = false;\n });\n }\n\n private deselectAllItemsButOne(item: EclCategoryFilterItem): void {\n this.eclCategoryFilterItemsAll\n .filter((it) => it !== item)\n .forEach((it) => {\n it.isCurrent = false;\n });\n }\n}\n","<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\nimport { EclCategoryFilterComponent } from './ecl-category-filter';\nimport { EclCategoryFilterListComponent, EclCategoryFilterItemComponent } from './ecl-category-filter-list';\n\n/**\n * @description\n * Module that provides the EclCategoryFilter and related components.\n *\n * @deprecated Use {@link EUI_ECL_CATEGORY_FILTER} instead.\n */\n@NgModule({\n imports: [EclCategoryFilterComponent, EclCategoryFilterListComponent, EclCategoryFilterItemComponent],\n exports: [EclCategoryFilterComponent, EclCategoryFilterListComponent, EclCategoryFilterItemComponent],\n})\nexport class EclCategoryFilterModule {}\n","import { EclCategoryFilterComponent } from './ecl-category-filter/ecl-category-filter.component';\nimport { EclCategoryFilterListComponent } from './ecl-category-filter-list/ecl-category-filter-list.component';\nimport { EclCategoryFilterItemComponent } from './ecl-category-filter-list/ecl-category-filter-item.component';\n\nexport * from './ecl-category-filter.module';\nexport * from './ecl-category-filter/index';\nexport * from './ecl-category-filter-list/index';\nexport * from './models/ecl-category-filter-item.model';\nexport * from './events/ecl-category-filter-item-select.event';\n\nexport const EUI_ECL_CATEGORY_FILTER = [\n EclCategoryFilterComponent,\n EclCategoryFilterListComponent,\n EclCategoryFilterItemComponent,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|