@eui/ecl 21.0.0-next.2 → 21.0.0-next.4
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/assets/i18n-ecl/bg.json +1 -2
- package/assets/i18n-ecl/cs.json +1 -2
- package/assets/i18n-ecl/da.json +1 -2
- package/assets/i18n-ecl/de.json +1 -2
- package/assets/i18n-ecl/el.json +1 -2
- package/assets/i18n-ecl/en.json +1 -2
- package/assets/i18n-ecl/es.json +1 -2
- package/assets/i18n-ecl/et.json +1 -2
- package/assets/i18n-ecl/fi.json +1 -2
- package/assets/i18n-ecl/fr.json +1 -2
- package/assets/i18n-ecl/ga.json +1 -2
- package/assets/i18n-ecl/hr.json +1 -2
- package/assets/i18n-ecl/hu.json +1 -2
- package/assets/i18n-ecl/it.json +1 -2
- package/assets/i18n-ecl/lt.json +1 -2
- package/assets/i18n-ecl/lv.json +1 -2
- package/assets/i18n-ecl/mt.json +1 -2
- package/assets/i18n-ecl/nl.json +1 -2
- package/assets/i18n-ecl/pl.json +1 -2
- package/assets/i18n-ecl/pt.json +1 -2
- package/assets/i18n-ecl/ro.json +1 -2
- package/assets/i18n-ecl/sk.json +1 -2
- package/assets/i18n-ecl/sl.json +1 -2
- package/assets/i18n-ecl/sv.json +1 -2
- package/docs/changelog.html +66 -0
- package/docs/components/EclAccordionComponent.html +2 -2
- package/docs/components/EclAccordionItemComponent.html +2 -2
- package/docs/components/EclAppComponent.html +2 -2
- package/docs/components/EclBannerComponent.html +2 -2
- package/docs/components/EclBlockquoteComponent.html +2 -2
- package/docs/components/EclBreadcrumbComponent.html +2 -2
- package/docs/components/EclBreadcrumbSegmentComponent.html +2 -2
- package/docs/components/EclButtonComponent.html +2 -2
- package/docs/components/EclCardBodyComponent.html +2 -2
- package/docs/components/EclCardComponent.html +2 -2
- package/docs/components/EclCarouselComponent.html +2 -2
- package/docs/components/EclCarouselItemComponent.html +2 -2
- package/docs/components/EclCategoryFilterComponent.html +2 -2
- package/docs/components/EclCategoryFilterItemComponent.html +2 -2
- package/docs/components/EclCategoryFilterListComponent.html +2 -2
- package/docs/components/EclCheckboxHelpComponent.html +2 -2
- package/docs/components/EclCheckboxLabelComponent.html +2 -2
- package/docs/components/EclContentBlockComponent.html +2 -2
- package/docs/components/EclContentItemComponent.html +2 -2
- package/docs/components/EclDateBlockComponent.html +2 -2
- package/docs/components/EclDescriptionListDefinitionComponent.html +3 -3
- package/docs/components/EclExpandableComponent.html +2 -2
- package/docs/components/EclFactFiguresComponent.html +2 -2
- package/docs/components/EclFactFiguresItemComponent.html +2 -2
- package/docs/components/EclFactFiguresViewAllComponent.html +2 -2
- package/docs/components/EclFeaturedComponent.html +2 -2
- package/docs/components/EclFeaturedItemComponent.html +2 -2
- package/docs/components/EclFeaturedItemDescriptionComponent.html +2 -2
- package/docs/components/EclFileComponent.html +2 -2
- package/docs/components/EclFileItemComponent.html +2 -2
- package/docs/components/EclFileItemsComponent.html +2 -2
- package/docs/components/EclFileTaxonomyComponent.html +2 -2
- package/docs/components/EclFormGroupComponent.html +2 -2
- package/docs/components/EclFormLabelComponent.html +2 -2
- package/docs/components/EclGalleryComponent.html +2 -2
- package/docs/components/EclGalleryFooterComponent.html +3 -3
- package/docs/components/EclGalleryItemComponent.html +2 -2
- package/docs/components/EclIconComponent.html +2 -2
- package/docs/components/EclInpageNavigationComponent.html +2 -2
- package/docs/components/EclInpageNavigationItemComponent.html +2 -2
- package/docs/components/EclListIllustrationComponent.html +2 -2
- package/docs/components/EclListIllustrationItemComponent.html +2 -2
- package/docs/components/EclLoadingIndicatorComponent.html +2 -2
- package/docs/components/EclMediaContainerComponent.html +2 -2
- package/docs/components/EclMegaMenuComponent.html +2 -2
- package/docs/components/EclMegaMenuFeaturedComponent.html +2 -2
- package/docs/components/EclMegaMenuInfoComponent.html +2 -2
- package/docs/components/EclMegaMenuItemComponent.html +2 -2
- package/docs/components/EclMegaMenuSubitemComponent.html +2 -2
- package/docs/components/EclMenuComponent.html +2 -2
- package/docs/components/EclMenuItemComponent.html +2 -2
- package/docs/components/EclMenuMegaComponent.html +2 -2
- package/docs/components/EclMenuMegaItemComponent.html +2 -2
- package/docs/components/EclModalBodyComponent.html +3 -3
- package/docs/components/EclModalComponent.html +64 -36
- package/docs/components/EclModalFooterComponent.html +2 -2
- package/docs/components/EclModalHeaderComponent.html +3 -3
- package/docs/components/EclMultiselectComponent.html +2 -2
- package/docs/components/EclMultiselectDropdownComponent.html +2 -2
- package/docs/components/EclMultiselectInputComponent.html +2 -2
- package/docs/components/EclMultiselectOptgroupComponent.html +2 -2
- package/docs/components/EclMultiselectOptionComponent.html +2 -2
- package/docs/components/EclNavigationListComponent.html +2 -2
- package/docs/components/EclNavigationListItemComponent.html +2 -2
- package/docs/components/EclNewsTickerComponent.html +2 -2
- package/docs/components/EclNewsTickerItemComponent.html +2 -2
- package/docs/components/EclNotificationComponent.html +2 -2
- package/docs/components/EclPageHeaderComponent.html +3 -3
- package/docs/components/EclPageHeaderExpandableComponent.html +663 -0
- package/docs/components/EclPaginationComponent.html +2 -2
- package/docs/components/EclPaginationItemComponent.html +2 -2
- package/docs/components/EclPopoverComponent.html +2 -2
- package/docs/components/EclRadioHelpComponent.html +2 -2
- package/docs/components/EclRadioLabelComponent.html +2 -2
- package/docs/components/EclRangeBubbleComponent.html +2 -2
- package/docs/components/EclRangeValueComponent.html +2 -2
- package/docs/components/EclRatingFieldComponent.html +3 -3
- package/docs/components/EclSearchFormComponent.html +2 -2
- package/docs/components/EclSelectContainerComponent.html +2 -2
- package/docs/components/EclSiteFooterComponent.html +2 -2
- package/docs/components/EclSiteFooterCoreComponent.html +2 -2
- package/docs/components/EclSiteFooterFixedContentEUComponent.html +2 -2
- package/docs/components/EclSiteFooterRowCommonComponent.html +2 -2
- package/docs/components/EclSiteHeaderActionComponent.html +2 -2
- package/docs/components/EclSiteHeaderBannerTopComponent.html +2 -2
- package/docs/components/EclSiteHeaderComponent.html +2 -2
- package/docs/components/EclSiteHeaderCustomActionComponent.html +2 -2
- package/docs/components/EclSiteHeaderEnvironmentComponent.html +2 -2
- package/docs/components/EclSiteHeaderLanguageComponent.html +2 -2
- package/docs/components/EclSiteHeaderLanguagePopoverComponent.html +2 -2
- package/docs/components/EclSiteHeaderLoginComponent.html +2 -2
- package/docs/components/EclSiteHeaderNotificationComponent.html +2 -2
- package/docs/components/EclSiteHeaderSearchComponent.html +2 -2
- package/docs/components/EclSocialMediaFollowComponent.html +2 -2
- package/docs/components/EclSocialMediaFollowItemComponent.html +2 -2
- package/docs/components/EclSplashPageComponent.html +2 -2
- package/docs/components/EclSplashPageLanguageCategoryComponent.html +2 -2
- package/docs/components/EclSplashPageLanguageContainerComponent.html +2 -2
- package/docs/components/EclSplashPageLanguageLinkComponent.html +2 -2
- package/docs/components/EclSpotlightComponent.html +2 -2
- package/docs/components/EclSpotlightLinkComponent.html +2 -2
- package/docs/components/EclStickyContainerComponent.html +2 -2
- package/docs/components/EclTabComponent.html +2 -2
- package/docs/components/EclTabLabelComponent.html +2 -2
- package/docs/components/EclTabMoreComponent.html +2 -2
- package/docs/components/EclTableSortButtonComponent.html +2 -2
- package/docs/components/EclTabsComponent.html +2 -2
- package/docs/components/EclTagComponent.html +2 -2
- package/docs/components/EclTimelineComponent.html +2 -2
- package/docs/components/EclTimelineItemComponent.html +2 -2
- package/docs/components/EclTimelineItemTogglerComponent.html +2 -2
- package/docs/directives/EclLinkDirective.html +58 -28
- package/docs/directives/EclPageHeaderExpandableHeaderDirective.html +519 -0
- package/docs/js/menu-wc.js +12 -6
- package/docs/js/menu-wc_es5.js +1 -1
- package/docs/js/search/search_index.js +2 -2
- package/docs/miscellaneous/variables.html +4 -0
- package/docs/overview.html +2 -2
- package/docs/properties.html +1 -1
- package/fesm2022/eui-ecl-components-ecl-breadcrumb.mjs +1 -1
- package/fesm2022/eui-ecl-components-ecl-breadcrumb.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-gallery.mjs +3 -3
- package/fesm2022/eui-ecl-components-ecl-gallery.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-inpage-navigation.mjs +1 -1
- package/fesm2022/eui-ecl-components-ecl-inpage-navigation.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-link.mjs +19 -12
- package/fesm2022/eui-ecl-components-ecl-link.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-list.mjs +2 -2
- package/fesm2022/eui-ecl-components-ecl-list.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs +2 -2
- package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-menu.mjs +1 -1
- package/fesm2022/eui-ecl-components-ecl-menu.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-modal.mjs +48 -47
- package/fesm2022/eui-ecl-components-ecl-modal.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-page-header.mjs +75 -5
- package/fesm2022/eui-ecl-components-ecl-page-header.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-pagination.mjs +1 -1
- package/fesm2022/eui-ecl-components-ecl-pagination.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-rating-field.mjs +2 -2
- package/fesm2022/eui-ecl-components-ecl-rating-field.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-site-footer.mjs +3 -3
- package/fesm2022/eui-ecl-components-ecl-site-footer.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-site-header.mjs +2 -2
- package/fesm2022/eui-ecl-components-ecl-site-header.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-social-media-follow.mjs +1 -1
- package/fesm2022/eui-ecl-components-ecl-social-media-follow.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-tabs.mjs +1 -1
- package/fesm2022/eui-ecl-components-ecl-tabs.mjs.map +1 -1
- package/fesm2022/eui-ecl.mjs +2 -2
- package/fesm2022/eui-ecl.mjs.map +1 -1
- package/package.json +43 -43
- package/types/eui-ecl-components-ecl-link.d.ts +12 -9
- package/types/eui-ecl-components-ecl-link.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-modal.d.ts +26 -25
- package/types/eui-ecl-components-ecl-modal.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-page-header.d.ts +31 -4
- package/types/eui-ecl-components-ecl-page-header.d.ts.map +1 -1
- package/types/eui-ecl.d.ts +1 -1
|
@@ -1201,6 +1201,8 @@
|
|
|
1201
1201
|
<td class="col-md-4">
|
|
1202
1202
|
<i>Default value : </i><code>[
|
|
1203
1203
|
EclPageHeaderComponent,
|
|
1204
|
+
EclPageHeaderExpandableComponent,
|
|
1205
|
+
EclPageHeaderExpandableHeaderDirective,
|
|
1204
1206
|
EclPageHeaderInfoDirective,
|
|
1205
1207
|
EclPageHeaderMetaDirective,
|
|
1206
1208
|
EclPageHeaderMetaItemDirective,
|
|
@@ -2999,6 +3001,8 @@
|
|
|
2999
3001
|
<td class="col-md-4">
|
|
3000
3002
|
<i>Default value : </i><code>[
|
|
3001
3003
|
EclPageHeaderComponent,
|
|
3004
|
+
EclPageHeaderExpandableComponent,
|
|
3005
|
+
EclPageHeaderExpandableHeaderDirective,
|
|
3002
3006
|
EclPageHeaderInfoDirective,
|
|
3003
3007
|
EclPageHeaderMetaDirective,
|
|
3004
3008
|
EclPageHeaderMetaItemDirective,
|
package/docs/overview.html
CHANGED
|
@@ -122,7 +122,7 @@
|
|
|
122
122
|
<div class="card text-center">
|
|
123
123
|
<div class="card-block">
|
|
124
124
|
<h4 class="card-title"><span class="icon ion-md-cog"></span></h4>
|
|
125
|
-
<p class="card-text">
|
|
125
|
+
<p class="card-text">111 Components</p>
|
|
126
126
|
</div>
|
|
127
127
|
</div>
|
|
128
128
|
</div>
|
|
@@ -130,7 +130,7 @@
|
|
|
130
130
|
<div class="card text-center">
|
|
131
131
|
<div class="card-block">
|
|
132
132
|
<h4 class="card-title"><span class="icon ion-md-code-working"></span></h4>
|
|
133
|
-
<p class="card-text">
|
|
133
|
+
<p class="card-text">167 Directives</p>
|
|
134
134
|
</div>
|
|
135
135
|
</div>
|
|
136
136
|
</div>
|
package/docs/properties.html
CHANGED
|
@@ -93,7 +93,7 @@ class EclBreadcrumbSegmentComponent extends ECLBaseDirective {
|
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
95
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclBreadcrumbSegmentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
96
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-rc.2", type: EclBreadcrumbSegmentComponent, isStandalone: true, selector: "ecl-breadcrumb-segment, li[eclBreadcrumbSegment]", inputs: { routerLink: "routerLink", queryParams: "queryParams", href: "href", queryParamsHandling: "queryParamsHandling", isEllipsis: ["isEllipsis", "isEllipsis", booleanAttribute], isCurrentPage: ["isCurrentPage", "isCurrentPage", booleanAttribute], isHidden: ["isHidden", "isHidden", booleanAttribute] }, outputs: { segmentClick: "segmentClick" }, host: { properties: { "attr.tabindex": "this.tabIndex", "attr.role": "this.role", "attr.aria-hidden": "this.isHidden", "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0, template: "@if (!isEllipsis) {\n@if (!isCurrentPage && href) {\n<a eclLink variant=\"standalone\" [isNoVisited]=\"true\" [href]=\"href\" tabindex=\"0\" (click)=\"onSegmentClick($event)\"\n class=\"ecl-breadcrumb__link\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n}\n@if (!isCurrentPage && !href) {\n<a eclLink [routerLink]=\"routerLink\" [queryParams]=\"queryParams\" [queryParamsHandling]=\"queryParamsHandling\"\n variant=\"standalone\" [isNoVisited]=\"true\" tabindex=\"0\" (click)=\"onSegmentClick($event)\"\n class=\"ecl-breadcrumb__link\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n}\n} @else {\n<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n}\n\n@if (isCurrentPage) {\n<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n} @else {\n<ecl-icon role=\"presentation\" icon=\"corner-arrow\" ariaHidden=\"true\" focusable=\"false\" size=\"fluid\"\n class=\"ecl-breadcrumb__icon\">\n</ecl-icon>\n}\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i1.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "directive", type: i2.EclLinkDirective, selector: "[eclLink]", inputs: ["isInverted", "isIconOnly", "isNoVisited", "variant"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
96
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-rc.2", type: EclBreadcrumbSegmentComponent, isStandalone: true, selector: "ecl-breadcrumb-segment, li[eclBreadcrumbSegment]", inputs: { routerLink: "routerLink", queryParams: "queryParams", href: "href", queryParamsHandling: "queryParamsHandling", isEllipsis: ["isEllipsis", "isEllipsis", booleanAttribute], isCurrentPage: ["isCurrentPage", "isCurrentPage", booleanAttribute], isHidden: ["isHidden", "isHidden", booleanAttribute] }, outputs: { segmentClick: "segmentClick" }, host: { properties: { "attr.tabindex": "this.tabIndex", "attr.role": "this.role", "attr.aria-hidden": "this.isHidden", "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0, template: "@if (!isEllipsis) {\n@if (!isCurrentPage && href) {\n<a eclLink variant=\"standalone\" [isNoVisited]=\"true\" [href]=\"href\" tabindex=\"0\" (click)=\"onSegmentClick($event)\"\n class=\"ecl-breadcrumb__link\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n}\n@if (!isCurrentPage && !href) {\n<a eclLink [routerLink]=\"routerLink\" [queryParams]=\"queryParams\" [queryParamsHandling]=\"queryParamsHandling\"\n variant=\"standalone\" [isNoVisited]=\"true\" tabindex=\"0\" (click)=\"onSegmentClick($event)\"\n class=\"ecl-breadcrumb__link\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n}\n} @else {\n<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n}\n\n@if (isCurrentPage) {\n<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n} @else {\n<ecl-icon role=\"presentation\" icon=\"corner-arrow\" ariaHidden=\"true\" focusable=\"false\" size=\"fluid\"\n class=\"ecl-breadcrumb__icon\">\n</ecl-icon>\n}\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i1.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "directive", type: i2.EclLinkDirective, selector: "[eclLink]", inputs: ["isInverted", "isIconOnly", "isHighlight", "isNoVisited", "variant"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
97
97
|
}
|
|
98
98
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclBreadcrumbSegmentComponent, decorators: [{
|
|
99
99
|
type: Component,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-ecl-components-ecl-breadcrumb.mjs","sources":["../../components/ecl-breadcrumb/events/ecl-breadcrumb-segment-click.event.ts","../../components/ecl-breadcrumb/ecl-breadcrumb-segment.component.ts","../../components/ecl-breadcrumb/ecl-breadcrumb-segment.component.html","../../components/ecl-breadcrumb/ecl-breadcrumb-container.directive.ts","../../components/ecl-breadcrumb/ecl-breadcrumb.component.ts","../../components/ecl-breadcrumb/ecl-breadcrumb.component.html","../../components/ecl-breadcrumb/ecl-breadcrumb.module.ts","../../components/ecl-breadcrumb/index.ts","../../components/ecl-breadcrumb/eui-ecl-components-ecl-breadcrumb.ts"],"sourcesContent":["import { EclBaseEvent } from '@eui/ecl/core';\n\n/**\n * Event emitted when a breadcrumb segment is clicked.\n */\nexport class EclBreadcrumbSegmentClickEvent extends EclBaseEvent {}\n","import {\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n ViewEncapsulation,\n booleanAttribute,\n inject,\n} from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { Params, QueryParamsHandling, RouterLink, RouterLinkWithHref } from '@angular/router';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclBreadcrumbSegmentClickEvent } from './events/ecl-breadcrumb-segment-click.event';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\nimport { EUI_ECL_LINK } from '@eui/ecl/components/ecl-link';\n\n// TODO: ecl-breadcrumb-segment selector is deprecated and should be removed in v20\n\n/**\n * Displays a single breadcrumb segment with optional navigation or ellipsis.\n */\n@Component({\n selector: 'ecl-breadcrumb-segment, li[eclBreadcrumbSegment]',\n templateUrl: './ecl-breadcrumb-segment.component.html',\n imports: [NgTemplateOutlet, RouterLink, RouterLinkWithHref, ...EUI_ECL_ICON, ...EUI_ECL_LINK],\n encapsulation: ViewEncapsulation.None,\n})\nexport class EclBreadcrumbSegmentComponent extends ECLBaseDirective {\n el = inject(ElementRef);\n\n /**\n * Defines the tabindex attribute for accessibility.\n */\n @HostBinding('attr.tabindex') tabIndex = '-1';\n\n /**\n * Defines the ARIA role for accessibility.\n */\n @HostBinding('attr.role') role = 'listitem';\n\n /**\n * Router link for navigation.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Input() routerLink: string | any[] = null;\n\n /**\n * Query parameters used with routerLink.\n */\n @Input() queryParams: Params | null = null;\n\n /**\n * Href used for standard navigation.\n */\n @Input() href = '';\n\n /**\n * Strategy for handling existing query parameters during navigation.\n */\n @Input() queryParamsHandling: QueryParamsHandling = null;\n\n /**\n * Displays the segment as an ellipsis instead of a link.\n */\n @Input({ transform: booleanAttribute }) isEllipsis = false;\n\n /**\n * Highlights the segment as the current page.\n */\n @Input({ transform: booleanAttribute }) isCurrentPage = false;\n\n /**\n * Hides the segment visually and from assistive technologies.\n */\n @Input({ transform: booleanAttribute })\n @HostBinding('attr.aria-hidden')\n isHidden = false;\n\n /**\n * Emits when the segment is clicked.\n */\n @Output() segmentClick = new EventEmitter<EclBreadcrumbSegmentClickEvent>();\n\n constructor() {\n super();\n const el = this.el;\n\n if (el.nativeElement.tagName.toLowerCase() === 'ecl-breadcrumb-segment') {\n console.warn('\"ecl-breadcrumb-segment\" selector is deprecated; use \"li[eclBreadcrumbSegment]\" instead.');\n }\n }\n\n /**\n * Computes the CSS classes applied to the segment.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-breadcrumb__segment'),\n this.isCurrentPage ? 'ecl-breadcrumb__current-page' : '',\n this.isEllipsis ? 'ecl-breadcrumb__segment--ellipsis' : '',\n ].join(' ').trim();\n }\n\n /**\n * Handles the click event on the segment.\n */\n onSegmentClick(evt: MouseEvent): void {\n this.segmentClick.next(new EclBreadcrumbSegmentClickEvent());\n if (!this.href) {\n evt.stopPropagation();\n }\n }\n}\n","@if (!isEllipsis) {\n@if (!isCurrentPage && href) {\n<a eclLink variant=\"standalone\" [isNoVisited]=\"true\" [href]=\"href\" tabindex=\"0\" (click)=\"onSegmentClick($event)\"\n class=\"ecl-breadcrumb__link\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n}\n@if (!isCurrentPage && !href) {\n<a eclLink [routerLink]=\"routerLink\" [queryParams]=\"queryParams\" [queryParamsHandling]=\"queryParamsHandling\"\n variant=\"standalone\" [isNoVisited]=\"true\" tabindex=\"0\" (click)=\"onSegmentClick($event)\"\n class=\"ecl-breadcrumb__link\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n}\n} @else {\n<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n}\n\n@if (isCurrentPage) {\n<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n} @else {\n<ecl-icon role=\"presentation\" icon=\"corner-arrow\" ariaHidden=\"true\" focusable=\"false\" size=\"fluid\"\n class=\"ecl-breadcrumb__icon\">\n</ecl-icon>\n}\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>","import { Directive, ElementRef, HostBinding, inject } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Used to wrap breadcrumb segments inside the breadcrumb component.\n */\n@Directive({\n selector: '[eclBreadcrumbContainer]',\n})\nexport class EclBreadcrumbContainerDirective extends ECLBaseDirective {\n el = inject(ElementRef);\n\n /**\n * Adds breadcrumb container CSS class to the host element.\n */\n @HostBinding('class.ecl-breadcrumb__container') hasClass = true;\n}\n","import {\n Component,\n ContentChildren,\n ElementRef,\n HostBinding,\n Input,\n OnDestroy,\n OnInit,\n QueryList,\n Renderer2,\n ViewChild,\n booleanAttribute,\n forwardRef,\n HostListener,\n afterNextRender,\n ContentChild,\n inject,\n} from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { TranslateService, TranslateModule } from '@ngx-translate/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclBreadcrumbSegmentComponent } from './ecl-breadcrumb-segment.component';\nimport { EclBreadcrumbContainerDirective } from './ecl-breadcrumb-container.directive';\nimport { EUI_ECL_BUTTON } from '@eui/ecl/components/ecl-button';\n\n/**\n * Displays navigation segments and handles overflow with ellipsis.\n */\n@Component({\n selector: 'ecl-breadcrumb',\n templateUrl: './ecl-breadcrumb.component.html',\n imports: [NgTemplateOutlet, TranslateModule, ...EUI_ECL_BUTTON, EclBreadcrumbSegmentComponent],\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclBreadcrumbComponent extends ECLBaseDirective implements OnInit, OnDestroy {\n /**\n * Expands all breadcrumb segments instead of collapsing them.\n */\n @Input({ transform: booleanAttribute }) isExpanded = false;\n\n /**\n * ARIA role attribute for accessibility.\n */\n @HostBinding('attr.role') role = 'navigation';\n\n /**\n * ARIA label describing the breadcrumb purpose.\n */\n @HostBinding('attr.aria-label') ariaLabel;\n\n /**\n * Reference to the ellipsis segment element.\n */\n @ViewChild('ellipsisSegment') eclEllipsisSegment: EclBreadcrumbSegmentComponent;\n\n /**\n * @deprecated To be removed in v20. Not needed, replaced by 'eclBreadcrumbContainer'\n */\n @ViewChild('breadcrumbContainer') breadcrumbContainer: ElementRef;\n\n /**\n * Reference to the breadcrumb container directive inside this component.\n */\n @ContentChild(EclBreadcrumbContainerDirective) eclBreadcrumbContainer: EclBreadcrumbContainerDirective;\n\n /**\n * List of breadcrumb segment components.\n */\n @ContentChildren(forwardRef(() => EclBreadcrumbSegmentComponent), { descendants: true })\n eclSegments: QueryList<EclBreadcrumbSegmentComponent>;\n private el = inject(ElementRef);\n private translate = inject(TranslateService);\n private renderer = inject(Renderer2);\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private nonStaticSegments: EclBreadcrumbSegmentComponent[] = [];\n\n constructor() {\n super();\n afterNextRender(() => {\n this.init();\n this.handleOverflownSegments();\n });\n }\n\n /**\n * CSS classes applied to the breadcrumb element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-breadcrumb'),\n this.isExpanded ? 'ecl-breadcrumb--wrap' : 'ecl-breadcrumb--collapsed',\n ].join(' ').trim();\n }\n\n /**\n * Returns true if breadcrumb was auto-initialized.\n */\n @HostBinding('attr.data-ecl-auto-initialized')\n get autoInitialized(): boolean | null {\n return this.isExpanded || null;\n }\n\n /**\n * Initializes translations for ARIA label.\n */\n ngOnInit(): void {\n this.translate\n .stream('ecl.breadcrumb.YOU-ARE-HERE')\n .pipe(takeUntil(this.destroy$))\n .subscribe((text) => {\n this.ariaLabel = text;\n });\n }\n\n /**\n * Cleans up subscriptions on destroy.\n */\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n /**\n * Handles window resize and recalculates overflown segments.\n */\n @HostListener('window:resize')\n onWindowResize(): void {\n this.handleOverflownSegments();\n }\n\n /**\n * Returns true if breadcrumb container directive exists.\n */\n get hasContainer(): boolean {\n return !!this.eclBreadcrumbContainer;\n }\n\n /**\n * Expands hidden breadcrumb segments after clicking ellipsis.\n */\n onEllipsisSegmentClick(evt: MouseEvent): void {\n this.eclSegments.forEach((segment) => {\n segment.isHidden = false;\n });\n this.hideEllipsis();\n this.isExpanded = true;\n }\n\n private init(): void {\n setTimeout(() => {\n this.insertEllipsisSegmentIntoPosition();\n this.handleStaticAndNonStaticSegments();\n });\n }\n\n private insertEllipsisSegmentIntoPosition(): void {\n if (this.hasEnoughSegments()) {\n const secondEclSegmentEl: HTMLElement = this.eclSegments.get(1).el.nativeElement;\n const ellipsisSegmentEl: HTMLElement = this.eclEllipsisSegment.el.nativeElement;\n if (this.hasContainer) {\n this.renderer.insertBefore(this.eclBreadcrumbContainer.el.nativeElement, ellipsisSegmentEl, secondEclSegmentEl);\n } else {\n this.renderer.insertBefore(this.breadcrumbContainer.nativeElement, ellipsisSegmentEl, secondEclSegmentEl);\n }\n }\n }\n\n private handleOverflownSegments(): void {\n if (this.hasEnoughSegments()) {\n setTimeout(() => {\n if (this.isBreadcrumbOverflowed()) {\n this.hideNonStaticSegments();\n this.showEllipsis();\n this.collapse();\n } else {\n this.hideEllipsis();\n this.showNonStaticSegments()\n this.expand();\n }\n });\n }\n }\n\n private hideNonStaticSegments(): void {\n this.nonStaticSegments.forEach((segment) => {\n segment.isHidden = true;\n });\n }\n\n private showNonStaticSegments(): void {\n this.nonStaticSegments.forEach((segment) => {\n segment.isHidden = false;\n });\n }\n\n private collapse(): void {\n this.isExpanded = false;\n }\n\n private expand(): void {\n this.isExpanded = true;\n }\n\n private hideEllipsis(): void {\n this.eclEllipsisSegment.isHidden = true;\n }\n\n private showEllipsis(): void {\n this.eclEllipsisSegment.isHidden = false;\n }\n\n private hasEnoughSegments(): boolean {\n return this.eclSegments && this.eclSegments.length > 3;\n }\n\n private handleStaticAndNonStaticSegments(): void {\n if (this.hasEnoughSegments()) {\n this.nonStaticSegments = this.eclSegments.toArray().slice(1, this.eclSegments.length - 2);\n }\n }\n\n private isBreadcrumbOverflowed(): boolean {\n const breadcrumbTotalWidth = this.getBreadcrumbTotalWidth();\n const segmentsTotalWidth = this.getSegmentsTotalWidth();\n const marginOfError = 1.1;\n\n return segmentsTotalWidth * marginOfError >= breadcrumbTotalWidth;\n }\n\n private getBreadcrumbTotalWidth(): number {\n return this.el.nativeElement.offsetWidth;\n }\n\n private getSegmentsTotalWidth(): number {\n return this.eclSegments.reduce((width: number, segmentComponent) => width + segmentComponent.el.nativeElement.offsetWidth, 0);\n }\n}\n","@if (!hasContainer) {\n<ol class=\"ecl-breadcrumb__container\" #breadcrumbContainer>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</ol>\n} @else {\n<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n}\n<ng-template #content>\n <li eclBreadcrumbSegment #ellipsisSegment [isHidden]=\"true\" isEllipsis>\n <button tabindex=\"0\" eclButton variant=\"tertiary\" size=\"m\" eclStyle=\"neutral\" class=\"ecl-breadcrumb__ellipsis\"\n [attr.aria-label]=\"'ecl.breadcrumb.SHOW-MORE-ITEMS' | translate\" (click)=\"onEllipsisSegmentClick($event)\">\n ...\n </button>\n </li>\n <ng-content></ng-content>\n</ng-template>","import { NgModule } from '@angular/core';\nimport { EclBreadcrumbComponent } from './ecl-breadcrumb.component';\nimport { EclBreadcrumbSegmentComponent } from './ecl-breadcrumb-segment.component';\nimport { EclBreadcrumbContainerDirective } from './ecl-breadcrumb-container.directive';\n\nconst COMPONENTS = [EclBreadcrumbComponent, EclBreadcrumbSegmentComponent, EclBreadcrumbContainerDirective];\n/**\n * Module that provides the EclBreadcrumbComponent and it's dependencies.\n *\n * @deprecated Use {@link EUI_ECL_BREADCRUMB} instead.\n */\n@NgModule({\n imports: [...COMPONENTS],\n exports: [...COMPONENTS],\n})\nexport class EclBreadcrumbModule {}\n","import { EclBreadcrumbComponent } from './ecl-breadcrumb.component';\nimport { EclBreadcrumbSegmentComponent } from './ecl-breadcrumb-segment.component';\nimport { EclBreadcrumbContainerDirective } from './ecl-breadcrumb-container.directive';\n\nexport * from './ecl-breadcrumb.module';\nexport * from './ecl-breadcrumb.component';\nexport * from './ecl-breadcrumb-segment.component';\nexport * from './models/ecl-breadcrumb.model';\nexport * from './events/ecl-breadcrumb-segment-click.event';\nexport * from './ecl-breadcrumb-container.directive';\n\nexport const EUI_ECL_BREADCRUMB = [\n EclBreadcrumbComponent, EclBreadcrumbSegmentComponent, EclBreadcrumbContainerDirective,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"eui-ecl-components-ecl-breadcrumb.mjs","sources":["../../components/ecl-breadcrumb/events/ecl-breadcrumb-segment-click.event.ts","../../components/ecl-breadcrumb/ecl-breadcrumb-segment.component.ts","../../components/ecl-breadcrumb/ecl-breadcrumb-segment.component.html","../../components/ecl-breadcrumb/ecl-breadcrumb-container.directive.ts","../../components/ecl-breadcrumb/ecl-breadcrumb.component.ts","../../components/ecl-breadcrumb/ecl-breadcrumb.component.html","../../components/ecl-breadcrumb/ecl-breadcrumb.module.ts","../../components/ecl-breadcrumb/index.ts","../../components/ecl-breadcrumb/eui-ecl-components-ecl-breadcrumb.ts"],"sourcesContent":["import { EclBaseEvent } from '@eui/ecl/core';\n\n/**\n * Event emitted when a breadcrumb segment is clicked.\n */\nexport class EclBreadcrumbSegmentClickEvent extends EclBaseEvent {}\n","import {\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n ViewEncapsulation,\n booleanAttribute,\n inject,\n} from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { Params, QueryParamsHandling, RouterLink, RouterLinkWithHref } from '@angular/router';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclBreadcrumbSegmentClickEvent } from './events/ecl-breadcrumb-segment-click.event';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\nimport { EUI_ECL_LINK } from '@eui/ecl/components/ecl-link';\n\n// TODO: ecl-breadcrumb-segment selector is deprecated and should be removed in v20\n\n/**\n * Displays a single breadcrumb segment with optional navigation or ellipsis.\n */\n@Component({\n selector: 'ecl-breadcrumb-segment, li[eclBreadcrumbSegment]',\n templateUrl: './ecl-breadcrumb-segment.component.html',\n imports: [NgTemplateOutlet, RouterLink, RouterLinkWithHref, ...EUI_ECL_ICON, ...EUI_ECL_LINK],\n encapsulation: ViewEncapsulation.None,\n})\nexport class EclBreadcrumbSegmentComponent extends ECLBaseDirective {\n el = inject(ElementRef);\n\n /**\n * Defines the tabindex attribute for accessibility.\n */\n @HostBinding('attr.tabindex') tabIndex = '-1';\n\n /**\n * Defines the ARIA role for accessibility.\n */\n @HostBinding('attr.role') role = 'listitem';\n\n /**\n * Router link for navigation.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Input() routerLink: string | any[] = null;\n\n /**\n * Query parameters used with routerLink.\n */\n @Input() queryParams: Params | null = null;\n\n /**\n * Href used for standard navigation.\n */\n @Input() href = '';\n\n /**\n * Strategy for handling existing query parameters during navigation.\n */\n @Input() queryParamsHandling: QueryParamsHandling = null;\n\n /**\n * Displays the segment as an ellipsis instead of a link.\n */\n @Input({ transform: booleanAttribute }) isEllipsis = false;\n\n /**\n * Highlights the segment as the current page.\n */\n @Input({ transform: booleanAttribute }) isCurrentPage = false;\n\n /**\n * Hides the segment visually and from assistive technologies.\n */\n @Input({ transform: booleanAttribute })\n @HostBinding('attr.aria-hidden')\n isHidden = false;\n\n /**\n * Emits when the segment is clicked.\n */\n @Output() segmentClick = new EventEmitter<EclBreadcrumbSegmentClickEvent>();\n\n constructor() {\n super();\n const el = this.el;\n\n if (el.nativeElement.tagName.toLowerCase() === 'ecl-breadcrumb-segment') {\n console.warn('\"ecl-breadcrumb-segment\" selector is deprecated; use \"li[eclBreadcrumbSegment]\" instead.');\n }\n }\n\n /**\n * Computes the CSS classes applied to the segment.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-breadcrumb__segment'),\n this.isCurrentPage ? 'ecl-breadcrumb__current-page' : '',\n this.isEllipsis ? 'ecl-breadcrumb__segment--ellipsis' : '',\n ].join(' ').trim();\n }\n\n /**\n * Handles the click event on the segment.\n */\n onSegmentClick(evt: MouseEvent): void {\n this.segmentClick.next(new EclBreadcrumbSegmentClickEvent());\n if (!this.href) {\n evt.stopPropagation();\n }\n }\n}\n","@if (!isEllipsis) {\n@if (!isCurrentPage && href) {\n<a eclLink variant=\"standalone\" [isNoVisited]=\"true\" [href]=\"href\" tabindex=\"0\" (click)=\"onSegmentClick($event)\"\n class=\"ecl-breadcrumb__link\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n}\n@if (!isCurrentPage && !href) {\n<a eclLink [routerLink]=\"routerLink\" [queryParams]=\"queryParams\" [queryParamsHandling]=\"queryParamsHandling\"\n variant=\"standalone\" [isNoVisited]=\"true\" tabindex=\"0\" (click)=\"onSegmentClick($event)\"\n class=\"ecl-breadcrumb__link\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n}\n} @else {\n<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n}\n\n@if (isCurrentPage) {\n<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n} @else {\n<ecl-icon role=\"presentation\" icon=\"corner-arrow\" ariaHidden=\"true\" focusable=\"false\" size=\"fluid\"\n class=\"ecl-breadcrumb__icon\">\n</ecl-icon>\n}\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>","import { Directive, ElementRef, HostBinding, inject } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Used to wrap breadcrumb segments inside the breadcrumb component.\n */\n@Directive({\n selector: '[eclBreadcrumbContainer]',\n})\nexport class EclBreadcrumbContainerDirective extends ECLBaseDirective {\n el = inject(ElementRef);\n\n /**\n * Adds breadcrumb container CSS class to the host element.\n */\n @HostBinding('class.ecl-breadcrumb__container') hasClass = true;\n}\n","import {\n Component,\n ContentChildren,\n ElementRef,\n HostBinding,\n Input,\n OnDestroy,\n OnInit,\n QueryList,\n Renderer2,\n ViewChild,\n booleanAttribute,\n forwardRef,\n HostListener,\n afterNextRender,\n ContentChild,\n inject,\n} from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { TranslateService, TranslateModule } from '@ngx-translate/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclBreadcrumbSegmentComponent } from './ecl-breadcrumb-segment.component';\nimport { EclBreadcrumbContainerDirective } from './ecl-breadcrumb-container.directive';\nimport { EUI_ECL_BUTTON } from '@eui/ecl/components/ecl-button';\n\n/**\n * Displays navigation segments and handles overflow with ellipsis.\n */\n@Component({\n selector: 'ecl-breadcrumb',\n templateUrl: './ecl-breadcrumb.component.html',\n imports: [NgTemplateOutlet, TranslateModule, ...EUI_ECL_BUTTON, EclBreadcrumbSegmentComponent],\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclBreadcrumbComponent extends ECLBaseDirective implements OnInit, OnDestroy {\n /**\n * Expands all breadcrumb segments instead of collapsing them.\n */\n @Input({ transform: booleanAttribute }) isExpanded = false;\n\n /**\n * ARIA role attribute for accessibility.\n */\n @HostBinding('attr.role') role = 'navigation';\n\n /**\n * ARIA label describing the breadcrumb purpose.\n */\n @HostBinding('attr.aria-label') ariaLabel;\n\n /**\n * Reference to the ellipsis segment element.\n */\n @ViewChild('ellipsisSegment') eclEllipsisSegment: EclBreadcrumbSegmentComponent;\n\n /**\n * @deprecated To be removed in v20. Not needed, replaced by 'eclBreadcrumbContainer'\n */\n @ViewChild('breadcrumbContainer') breadcrumbContainer: ElementRef;\n\n /**\n * Reference to the breadcrumb container directive inside this component.\n */\n @ContentChild(EclBreadcrumbContainerDirective) eclBreadcrumbContainer: EclBreadcrumbContainerDirective;\n\n /**\n * List of breadcrumb segment components.\n */\n @ContentChildren(forwardRef(() => EclBreadcrumbSegmentComponent), { descendants: true })\n eclSegments: QueryList<EclBreadcrumbSegmentComponent>;\n private el = inject(ElementRef);\n private translate = inject(TranslateService);\n private renderer = inject(Renderer2);\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private nonStaticSegments: EclBreadcrumbSegmentComponent[] = [];\n\n constructor() {\n super();\n afterNextRender(() => {\n this.init();\n this.handleOverflownSegments();\n });\n }\n\n /**\n * CSS classes applied to the breadcrumb element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-breadcrumb'),\n this.isExpanded ? 'ecl-breadcrumb--wrap' : 'ecl-breadcrumb--collapsed',\n ].join(' ').trim();\n }\n\n /**\n * Returns true if breadcrumb was auto-initialized.\n */\n @HostBinding('attr.data-ecl-auto-initialized')\n get autoInitialized(): boolean | null {\n return this.isExpanded || null;\n }\n\n /**\n * Initializes translations for ARIA label.\n */\n ngOnInit(): void {\n this.translate\n .stream('ecl.breadcrumb.YOU-ARE-HERE')\n .pipe(takeUntil(this.destroy$))\n .subscribe((text) => {\n this.ariaLabel = text;\n });\n }\n\n /**\n * Cleans up subscriptions on destroy.\n */\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n /**\n * Handles window resize and recalculates overflown segments.\n */\n @HostListener('window:resize')\n onWindowResize(): void {\n this.handleOverflownSegments();\n }\n\n /**\n * Returns true if breadcrumb container directive exists.\n */\n get hasContainer(): boolean {\n return !!this.eclBreadcrumbContainer;\n }\n\n /**\n * Expands hidden breadcrumb segments after clicking ellipsis.\n */\n onEllipsisSegmentClick(evt: MouseEvent): void {\n this.eclSegments.forEach((segment) => {\n segment.isHidden = false;\n });\n this.hideEllipsis();\n this.isExpanded = true;\n }\n\n private init(): void {\n setTimeout(() => {\n this.insertEllipsisSegmentIntoPosition();\n this.handleStaticAndNonStaticSegments();\n });\n }\n\n private insertEllipsisSegmentIntoPosition(): void {\n if (this.hasEnoughSegments()) {\n const secondEclSegmentEl: HTMLElement = this.eclSegments.get(1).el.nativeElement;\n const ellipsisSegmentEl: HTMLElement = this.eclEllipsisSegment.el.nativeElement;\n if (this.hasContainer) {\n this.renderer.insertBefore(this.eclBreadcrumbContainer.el.nativeElement, ellipsisSegmentEl, secondEclSegmentEl);\n } else {\n this.renderer.insertBefore(this.breadcrumbContainer.nativeElement, ellipsisSegmentEl, secondEclSegmentEl);\n }\n }\n }\n\n private handleOverflownSegments(): void {\n if (this.hasEnoughSegments()) {\n setTimeout(() => {\n if (this.isBreadcrumbOverflowed()) {\n this.hideNonStaticSegments();\n this.showEllipsis();\n this.collapse();\n } else {\n this.hideEllipsis();\n this.showNonStaticSegments()\n this.expand();\n }\n });\n }\n }\n\n private hideNonStaticSegments(): void {\n this.nonStaticSegments.forEach((segment) => {\n segment.isHidden = true;\n });\n }\n\n private showNonStaticSegments(): void {\n this.nonStaticSegments.forEach((segment) => {\n segment.isHidden = false;\n });\n }\n\n private collapse(): void {\n this.isExpanded = false;\n }\n\n private expand(): void {\n this.isExpanded = true;\n }\n\n private hideEllipsis(): void {\n this.eclEllipsisSegment.isHidden = true;\n }\n\n private showEllipsis(): void {\n this.eclEllipsisSegment.isHidden = false;\n }\n\n private hasEnoughSegments(): boolean {\n return this.eclSegments && this.eclSegments.length > 3;\n }\n\n private handleStaticAndNonStaticSegments(): void {\n if (this.hasEnoughSegments()) {\n this.nonStaticSegments = this.eclSegments.toArray().slice(1, this.eclSegments.length - 2);\n }\n }\n\n private isBreadcrumbOverflowed(): boolean {\n const breadcrumbTotalWidth = this.getBreadcrumbTotalWidth();\n const segmentsTotalWidth = this.getSegmentsTotalWidth();\n const marginOfError = 1.1;\n\n return segmentsTotalWidth * marginOfError >= breadcrumbTotalWidth;\n }\n\n private getBreadcrumbTotalWidth(): number {\n return this.el.nativeElement.offsetWidth;\n }\n\n private getSegmentsTotalWidth(): number {\n return this.eclSegments.reduce((width: number, segmentComponent) => width + segmentComponent.el.nativeElement.offsetWidth, 0);\n }\n}\n","@if (!hasContainer) {\n<ol class=\"ecl-breadcrumb__container\" #breadcrumbContainer>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</ol>\n} @else {\n<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n}\n<ng-template #content>\n <li eclBreadcrumbSegment #ellipsisSegment [isHidden]=\"true\" isEllipsis>\n <button tabindex=\"0\" eclButton variant=\"tertiary\" size=\"m\" eclStyle=\"neutral\" class=\"ecl-breadcrumb__ellipsis\"\n [attr.aria-label]=\"'ecl.breadcrumb.SHOW-MORE-ITEMS' | translate\" (click)=\"onEllipsisSegmentClick($event)\">\n ...\n </button>\n </li>\n <ng-content></ng-content>\n</ng-template>","import { NgModule } from '@angular/core';\nimport { EclBreadcrumbComponent } from './ecl-breadcrumb.component';\nimport { EclBreadcrumbSegmentComponent } from './ecl-breadcrumb-segment.component';\nimport { EclBreadcrumbContainerDirective } from './ecl-breadcrumb-container.directive';\n\nconst COMPONENTS = [EclBreadcrumbComponent, EclBreadcrumbSegmentComponent, EclBreadcrumbContainerDirective];\n/**\n * Module that provides the EclBreadcrumbComponent and it's dependencies.\n *\n * @deprecated Use {@link EUI_ECL_BREADCRUMB} instead.\n */\n@NgModule({\n imports: [...COMPONENTS],\n exports: [...COMPONENTS],\n})\nexport class EclBreadcrumbModule {}\n","import { EclBreadcrumbComponent } from './ecl-breadcrumb.component';\nimport { EclBreadcrumbSegmentComponent } from './ecl-breadcrumb-segment.component';\nimport { EclBreadcrumbContainerDirective } from './ecl-breadcrumb-container.directive';\n\nexport * from './ecl-breadcrumb.module';\nexport * from './ecl-breadcrumb.component';\nexport * from './ecl-breadcrumb-segment.component';\nexport * from './models/ecl-breadcrumb.model';\nexport * from './events/ecl-breadcrumb-segment-click.event';\nexport * from './ecl-breadcrumb-container.directive';\n\nexport const EUI_ECL_BREADCRUMB = [\n EclBreadcrumbComponent, EclBreadcrumbSegmentComponent, EclBreadcrumbContainerDirective,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2"],"mappings":"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"}
|
|
@@ -90,11 +90,11 @@ class EclGalleryFooterComponent {
|
|
|
90
90
|
this.toggleItems.next(new EclGalleryToggleItemsEvent(this.isExpanded));
|
|
91
91
|
}
|
|
92
92
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclGalleryFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
93
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-rc.2", type: EclGalleryFooterComponent, isStandalone: true, selector: "ecl-gallery-footer", inputs: { infoId: "infoId" }, outputs: { toggleItems: "toggleItems" }, host: { properties: { "class.ecl-gallery__footer": "this.hasClass" } }, ngImport: i0, template: "<div class=\"ecl-gallery__info\">\n <div class=\"ecl-gallery__info-total\" [id]=\"infoId\">\n <strong>{{ itemsCount }}</strong>{{ 'ecl.gallery.MEDIA-FILES-COUNT' | translate }}\n </div>\n @if(isShowToggleBtn) {\n @if(!isExpanded) {\n <button [attr.aria-describedby]=\"infoId\" eclButton variant=\"tertiary\" class=\"ecl-gallery__view-all\"\n (click)=\"onToggle()\">\n {{ 'ecl.
|
|
93
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-rc.2", type: EclGalleryFooterComponent, isStandalone: true, selector: "ecl-gallery-footer", inputs: { infoId: "infoId" }, outputs: { toggleItems: "toggleItems" }, host: { properties: { "class.ecl-gallery__footer": "this.hasClass" } }, ngImport: i0, template: "<div class=\"ecl-gallery__info\">\n <div class=\"ecl-gallery__info-total\" [id]=\"infoId\">\n <strong>{{ itemsCount }}</strong>{{ 'ecl.gallery.MEDIA-FILES-COUNT' | translate }}\n </div>\n @if(isShowToggleBtn) {\n @if(!isExpanded) {\n <button [attr.aria-describedby]=\"infoId\" eclButton variant=\"tertiary\" class=\"ecl-gallery__view-all\"\n (click)=\"onToggle()\">\n {{ 'ecl.SHOW-MORE-ITEMS' | translate }}\n </button>\n } @else {\n <button [attr.aria-describedby]=\"infoId\" eclButton variant=\"tertiary\" class=\"ecl-gallery__view-all\"\n (click)=\"onToggle()\">\n {{ 'ecl.common.COLLAPSE' | translate }}\n </button>\n }\n }\n</div>\n<hr class=\"ecl-gallery__footer-divider\" />\n<div class=\"ecl-gallery__footer-link\">\n <ng-content></ng-content>\n</div>", dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "component", type: i1.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "eclStyle", "size", "containerStyleClass"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
|
|
94
94
|
}
|
|
95
95
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclGalleryFooterComponent, decorators: [{
|
|
96
96
|
type: Component,
|
|
97
|
-
args: [{ selector: 'ecl-gallery-footer', imports: [TranslateModule, ...EUI_ECL_BUTTON], template: "<div class=\"ecl-gallery__info\">\n <div class=\"ecl-gallery__info-total\" [id]=\"infoId\">\n <strong>{{ itemsCount }}</strong>{{ 'ecl.gallery.MEDIA-FILES-COUNT' | translate }}\n </div>\n @if(isShowToggleBtn) {\n @if(!isExpanded) {\n <button [attr.aria-describedby]=\"infoId\" eclButton variant=\"tertiary\" class=\"ecl-gallery__view-all\"\n (click)=\"onToggle()\">\n {{ 'ecl.
|
|
97
|
+
args: [{ selector: 'ecl-gallery-footer', imports: [TranslateModule, ...EUI_ECL_BUTTON], template: "<div class=\"ecl-gallery__info\">\n <div class=\"ecl-gallery__info-total\" [id]=\"infoId\">\n <strong>{{ itemsCount }}</strong>{{ 'ecl.gallery.MEDIA-FILES-COUNT' | translate }}\n </div>\n @if(isShowToggleBtn) {\n @if(!isExpanded) {\n <button [attr.aria-describedby]=\"infoId\" eclButton variant=\"tertiary\" class=\"ecl-gallery__view-all\"\n (click)=\"onToggle()\">\n {{ 'ecl.SHOW-MORE-ITEMS' | translate }}\n </button>\n } @else {\n <button [attr.aria-describedby]=\"infoId\" eclButton variant=\"tertiary\" class=\"ecl-gallery__view-all\"\n (click)=\"onToggle()\">\n {{ 'ecl.common.COLLAPSE' | translate }}\n </button>\n }\n }\n</div>\n<hr class=\"ecl-gallery__footer-divider\" />\n<div class=\"ecl-gallery__footer-link\">\n <ng-content></ng-content>\n</div>" }]
|
|
98
98
|
}], propDecorators: { hasClass: [{
|
|
99
99
|
type: HostBinding,
|
|
100
100
|
args: ['class.ecl-gallery__footer']
|
|
@@ -723,7 +723,7 @@ class EclGalleryComponent extends ECLBaseDirective {
|
|
|
723
723
|
return this.galleryItems.filter((item, cnt) => cnt < this.maxVisibleItems);
|
|
724
724
|
}
|
|
725
725
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclGalleryComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
726
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-rc.2", type: EclGalleryComponent, isStandalone: true, selector: "ecl-gallery", inputs: { isOpenInFullScreenPossible: ["isOpenInFullScreenPossible", "isOpenInFullScreenPossible", booleanAttribute], isShareable: ["isShareable", "isShareable", booleanAttribute], isFullWidth: ["isFullWidth", "isFullWidth", booleanAttribute], isNoOverlay: ["isNoOverlay", "isNoOverlay", booleanAttribute], isShowTitleOnHover: ["isShowTitleOnHover", "isShowTitleOnHover", booleanAttribute], maxVisibleItems: ["maxVisibleItems", "maxVisibleItems", numberAttribute], isGrid: ["isGrid", "isGrid", booleanAttribute], columns: ["columns", "columns", numberAttribute], gridTemplate: "gridTemplate", ratio: "ratio" }, outputs: { show: "show", hide: "hide", openFullScreen: "openFullScreen", share: "share", itemSwitch: "itemSwitch" }, host: { listeners: { "document:keydown.escape": "onEscapeKeydownHandler()", "window:resize": "iframeResize()" }, properties: { "class": "this.cssClasses", "attr.role": "this.role" } }, queries: [{ propertyName: "galleryFooter", first: true, predicate: EclGalleryFooterComponent, descendants: true }, { propertyName: "galleryItems", predicate: EclGalleryItemComponent }], viewQueries: [{ propertyName: "overlayChild", first: true, predicate: ["overlay"], descendants: true }, { propertyName: "headerChild", first: true, predicate: ["header"], descendants: true }, { propertyName: "footerChild", first: true, predicate: ["footer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ul class=\"ecl-gallery__list\">\n <ng-content></ng-content>\n</ul>\n\n<ng-content select=\"ecl-gallery-footer\"></ng-content>\n\n<dialog #overlay [attr.open]=\"isDialogVisible || null\" class=\"ecl-gallery__overlay\"\n [attr.aria-label]=\"'ecl.gallery.FULL-SIZE-DISPLAY' | translate\">\n <header #header class=\"ecl-gallery__close\">\n <button (click)=\"onClose($event)\" eclButton class=\"ecl-gallery__close-button\" isIconOnly variant=\"tertiary\" eclStyle=\"inverted\">\n <span eclButtonLabel>\n {{ 'ecl.common.CLOSE' | translate }}\n </span>\n <ecl-icon icon=\"close\" size=\"m\"></ecl-icon>\n </button>\n </header>\n <section class=\"ecl-gallery__slider\">\n <div class=\"ecl-gallery__slider-media-container\">\n @if(item?.isExternalVideo) {\n <div class=\"ecl-gallery__slider-embed\">\n @if (item?.srVideoAudioDescription) {\n <div class=\"ecl-gallery__slider-embed-audio\">{{item?.srVideoAudioDescription}}</div>\n }\n <iframe [src]=\"item?.getUrlExternalVideo()\" [style.width.px]=\"getIframeWidth()\"\n [style.height.px]=\"getIframeHeight()\" [attr.title]=\"item.title + ' - Video player'\" frameborder=\"0\">\n </iframe>\n </div>\n }\n @if(item?.isImage) {\n <picture class=\"ecl-picture ecl-gallery__picture ecl-gallery__slider-image\">\n @for(el of item.galleryPicture?.sources; track el.srcset) {\n <source [attr.srcset]=\"el.srcset\" [attr.media]=\" el.media\">\n }\n <img [attr.alt]=\"item?.galleryPicture?.img.alt || null\"\n [src]=\"item?.galleryPicture?.img.src\"\n [attr.loading]=\"item?.galleryPicture?.img.loading || null\" />\n </picture>\n }\n @if(item?.isVideo) {\n <video controls=\"controls\" class=\"ecl-gallery__slider-video\" [attr.aria-label]=\"item.title + ' - Video player'\"\n [attr.poster]=\"item.mediaChild?.poster\" playsinline>\n @for (el of item.mediaChild?.sources; track el.src) {\n <source [attr.src]=\"el.src\" [attr.type]=\"el.type\" />\n }\n @for (elem of item.mediaChild?.tracks; track elem.src) {\n <track [attr.src]=\"elem.src\" [attr.kind]=\"elem.kind\" [attr.srcLang]=\"elem.srcLang\"\n [attr.label]=\"elem.label\" />\n }\n </video>\n }\n </div>\n </section>\n <footer #footer class=\"ecl-gallery__detail\">\n <div class=\"ecl-container\">\n <div class=\"ecl-gallery__detail-container\">\n <div class=\"ecl-gallery__pager\">\n <div class=\"ecl-gallery__detail-counter\">\n <span>{{ itemIndex }}</span> {{ 'ecl.common.OF' | translate }} <span>{{ itemsCount }}</span>\n </div>\n <div class=\"ecl-gallery__controls\">\n <button eclButton class=\"ecl-gallery__slider-previous\" variant=\"tertiary\" isIconOnly\n (click)=\"onPrevious($event)\">\n <ecl-icon icon=\"corner-arrow\" size=\"m\" transform=\"rotate-270\"></ecl-icon>\n <span eclButtonLabel>\n {{ 'ecl.common.PREVIOUS' | translate }}\n </span>\n </button>\n <button eclButton class=\"ecl-gallery__slider-next\" variant=\"tertiary\" isIconOnly\n (click)=\"onNext($event)\">\n <span eclButtonLabel>\n {{ 'ecl.common.NEXT' | translate }}\n </span>\n <ecl-icon icon=\"corner-arrow\" size=\"m\" transform=\"rotate-90\"></ecl-icon>\n </button>\n </div>\n </div>\n <div class=\"ecl-gallery__detail-actions\">\n <ng-container *ngTemplateOutlet=\"links\"></ng-container>\n </div>\n </div>\n <div class=\"ecl-gallery__detail-description\">\n @if(isMobile) {\n <div class=\"ecl-gallery__detail-actions-mobile\">\n <ng-container *ngTemplateOutlet=\"links\"></ng-container>\n </div>\n }\n @if(item?.title) {\n <span class=\"ecl-gallery__title\" [id]=\"item?.itemId\">{{ item?.title }}</span>\n }\n @if(item?.description) {\n <span class=\"ecl-gallery__caption\">{{ item?.description }}</span>\n }\n @if(item?.meta) {\n <span class=\"ecl-gallery__meta\">{{ item?.meta }}</span>\n }\n </div>\n </div>\n </footer>\n</dialog>\n\n<ng-template #links>\n @if(canBeOpenInFullScreen()) {\n <a eclLink [attr.aria-describedby]=\"item?.titleId\" variant=\"standalone\"\n class=\"ecl-gallery__download\" [href]=\"item?.getDownloadLink()\" target=\"_blank\"\n (click)=\"onFullScreenOpen($event)\" isInverted>\n <span eclLinkLabel>{{ 'ecl.gallery.VIEW-ORIGINAL' | translate }}</span>\n <ecl-icon icon=\"fullscreen\" size=\"fluid\" focusable=\"false\"></ecl-icon>\n </a>\n }\n @if(canBeShared()) {\n <a [attr.aria-describedby]=\"item?.titleId\" eclLink variant=\"standalone\" isInverted\n class=\"ecl-gallery__share\" href=\"\" (click)=\"onShare($event)\">\n <span eclLinkLabel>{{ 'ecl.common.SHARE' | translate }}</span>\n <ecl-icon icon=\"share\" size=\"fluid\" focusable=\"false\"></ecl-icon>\n </a>\n }\n</ng-template>", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i1.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "eclStyle", "size", "containerStyleClass"] }, { kind: "directive", type: i1.EclButtonLabelDirective, selector: "[eclButtonLabel]" }, { kind: "component", type: i1$1.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "directive", type: i3.EclLinkDirective, selector: "[eclLink]", inputs: ["isInverted", "isIconOnly", "isNoVisited", "variant"] }, { kind: "directive", type: i3.EclLinkLabelDirective, selector: "[eclLinkLabel]" }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
|
|
726
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-rc.2", type: EclGalleryComponent, isStandalone: true, selector: "ecl-gallery", inputs: { isOpenInFullScreenPossible: ["isOpenInFullScreenPossible", "isOpenInFullScreenPossible", booleanAttribute], isShareable: ["isShareable", "isShareable", booleanAttribute], isFullWidth: ["isFullWidth", "isFullWidth", booleanAttribute], isNoOverlay: ["isNoOverlay", "isNoOverlay", booleanAttribute], isShowTitleOnHover: ["isShowTitleOnHover", "isShowTitleOnHover", booleanAttribute], maxVisibleItems: ["maxVisibleItems", "maxVisibleItems", numberAttribute], isGrid: ["isGrid", "isGrid", booleanAttribute], columns: ["columns", "columns", numberAttribute], gridTemplate: "gridTemplate", ratio: "ratio" }, outputs: { show: "show", hide: "hide", openFullScreen: "openFullScreen", share: "share", itemSwitch: "itemSwitch" }, host: { listeners: { "document:keydown.escape": "onEscapeKeydownHandler()", "window:resize": "iframeResize()" }, properties: { "class": "this.cssClasses", "attr.role": "this.role" } }, queries: [{ propertyName: "galleryFooter", first: true, predicate: EclGalleryFooterComponent, descendants: true }, { propertyName: "galleryItems", predicate: EclGalleryItemComponent }], viewQueries: [{ propertyName: "overlayChild", first: true, predicate: ["overlay"], descendants: true }, { propertyName: "headerChild", first: true, predicate: ["header"], descendants: true }, { propertyName: "footerChild", first: true, predicate: ["footer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ul class=\"ecl-gallery__list\">\n <ng-content></ng-content>\n</ul>\n\n<ng-content select=\"ecl-gallery-footer\"></ng-content>\n\n<dialog #overlay [attr.open]=\"isDialogVisible || null\" class=\"ecl-gallery__overlay\"\n [attr.aria-label]=\"'ecl.gallery.FULL-SIZE-DISPLAY' | translate\">\n <header #header class=\"ecl-gallery__close\">\n <button (click)=\"onClose($event)\" eclButton class=\"ecl-gallery__close-button\" isIconOnly variant=\"tertiary\" eclStyle=\"inverted\">\n <span eclButtonLabel>\n {{ 'ecl.common.CLOSE' | translate }}\n </span>\n <ecl-icon icon=\"close\" size=\"m\"></ecl-icon>\n </button>\n </header>\n <section class=\"ecl-gallery__slider\">\n <div class=\"ecl-gallery__slider-media-container\">\n @if(item?.isExternalVideo) {\n <div class=\"ecl-gallery__slider-embed\">\n @if (item?.srVideoAudioDescription) {\n <div class=\"ecl-gallery__slider-embed-audio\">{{item?.srVideoAudioDescription}}</div>\n }\n <iframe [src]=\"item?.getUrlExternalVideo()\" [style.width.px]=\"getIframeWidth()\"\n [style.height.px]=\"getIframeHeight()\" [attr.title]=\"item.title + ' - Video player'\" frameborder=\"0\">\n </iframe>\n </div>\n }\n @if(item?.isImage) {\n <picture class=\"ecl-picture ecl-gallery__picture ecl-gallery__slider-image\">\n @for(el of item.galleryPicture?.sources; track el.srcset) {\n <source [attr.srcset]=\"el.srcset\" [attr.media]=\" el.media\">\n }\n <img [attr.alt]=\"item?.galleryPicture?.img.alt || null\"\n [src]=\"item?.galleryPicture?.img.src\"\n [attr.loading]=\"item?.galleryPicture?.img.loading || null\" />\n </picture>\n }\n @if(item?.isVideo) {\n <video controls=\"controls\" class=\"ecl-gallery__slider-video\" [attr.aria-label]=\"item.title + ' - Video player'\"\n [attr.poster]=\"item.mediaChild?.poster\" playsinline>\n @for (el of item.mediaChild?.sources; track el.src) {\n <source [attr.src]=\"el.src\" [attr.type]=\"el.type\" />\n }\n @for (elem of item.mediaChild?.tracks; track elem.src) {\n <track [attr.src]=\"elem.src\" [attr.kind]=\"elem.kind\" [attr.srcLang]=\"elem.srcLang\"\n [attr.label]=\"elem.label\" />\n }\n </video>\n }\n </div>\n </section>\n <footer #footer class=\"ecl-gallery__detail\">\n <div class=\"ecl-container\">\n <div class=\"ecl-gallery__detail-container\">\n <div class=\"ecl-gallery__pager\">\n <div class=\"ecl-gallery__detail-counter\">\n <span>{{ itemIndex }}</span> {{ 'ecl.common.OF' | translate }} <span>{{ itemsCount }}</span>\n </div>\n <div class=\"ecl-gallery__controls\">\n <button eclButton class=\"ecl-gallery__slider-previous\" variant=\"tertiary\" isIconOnly\n (click)=\"onPrevious($event)\">\n <ecl-icon icon=\"corner-arrow\" size=\"m\" transform=\"rotate-270\"></ecl-icon>\n <span eclButtonLabel>\n {{ 'ecl.common.PREVIOUS' | translate }}\n </span>\n </button>\n <button eclButton class=\"ecl-gallery__slider-next\" variant=\"tertiary\" isIconOnly\n (click)=\"onNext($event)\">\n <span eclButtonLabel>\n {{ 'ecl.common.NEXT' | translate }}\n </span>\n <ecl-icon icon=\"corner-arrow\" size=\"m\" transform=\"rotate-90\"></ecl-icon>\n </button>\n </div>\n </div>\n <div class=\"ecl-gallery__detail-actions\">\n <ng-container *ngTemplateOutlet=\"links\"></ng-container>\n </div>\n </div>\n <div class=\"ecl-gallery__detail-description\">\n @if(isMobile) {\n <div class=\"ecl-gallery__detail-actions-mobile\">\n <ng-container *ngTemplateOutlet=\"links\"></ng-container>\n </div>\n }\n @if(item?.title) {\n <span class=\"ecl-gallery__title\" [id]=\"item?.itemId\">{{ item?.title }}</span>\n }\n @if(item?.description) {\n <span class=\"ecl-gallery__caption\">{{ item?.description }}</span>\n }\n @if(item?.meta) {\n <span class=\"ecl-gallery__meta\">{{ item?.meta }}</span>\n }\n </div>\n </div>\n </footer>\n</dialog>\n\n<ng-template #links>\n @if(canBeOpenInFullScreen()) {\n <a eclLink [attr.aria-describedby]=\"item?.titleId\" variant=\"standalone\"\n class=\"ecl-gallery__download\" [href]=\"item?.getDownloadLink()\" target=\"_blank\"\n (click)=\"onFullScreenOpen($event)\" isInverted>\n <span eclLinkLabel>{{ 'ecl.gallery.VIEW-ORIGINAL' | translate }}</span>\n <ecl-icon icon=\"fullscreen\" size=\"fluid\" focusable=\"false\"></ecl-icon>\n </a>\n }\n @if(canBeShared()) {\n <a [attr.aria-describedby]=\"item?.titleId\" eclLink variant=\"standalone\" isInverted\n class=\"ecl-gallery__share\" href=\"\" (click)=\"onShare($event)\">\n <span eclLinkLabel>{{ 'ecl.common.SHARE' | translate }}</span>\n <ecl-icon icon=\"share\" size=\"fluid\" focusable=\"false\"></ecl-icon>\n </a>\n }\n</ng-template>", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i1.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "eclStyle", "size", "containerStyleClass"] }, { kind: "directive", type: i1.EclButtonLabelDirective, selector: "[eclButtonLabel]" }, { kind: "component", type: i1$1.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "directive", type: i3.EclLinkDirective, selector: "[eclLink]", inputs: ["isInverted", "isIconOnly", "isHighlight", "isNoVisited", "variant"] }, { kind: "directive", type: i3.EclLinkLabelDirective, selector: "[eclLinkLabel]" }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
|
|
727
727
|
}
|
|
728
728
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclGalleryComponent, decorators: [{
|
|
729
729
|
type: Component,
|