@eui/ecl 19.2.4-snapshot-1747840871711 → 19.2.4-snapshot-1748006543523
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-accordion/ecl-accordion-item.component.d.ts.map +1 -1
- package/components/ecl-banner/ecl-banner.component.d.ts.map +1 -1
- package/components/ecl-breadcrumb/ecl-breadcrumb-segment.component.d.ts.map +1 -1
- package/components/ecl-breadcrumb/ecl-breadcrumb.component.d.ts.map +1 -1
- package/components/ecl-button/ecl-button.component.d.ts.map +1 -1
- package/components/ecl-card/ecl-card-picture.directive.d.ts.map +1 -1
- package/components/ecl-carousel/ecl-carousel-item.component.d.ts.map +1 -1
- package/components/ecl-carousel/ecl-carousel.component.d.ts.map +1 -1
- package/components/ecl-checkbox/ecl-checkbox-help.component.d.ts.map +1 -1
- package/components/ecl-checkbox/ecl-checkbox-label.component.d.ts.map +1 -1
- package/components/ecl-checkbox/ecl-checkbox.directive.d.ts.map +1 -1
- package/components/ecl-content-item/ecl-content-item-image.directive.d.ts.map +1 -1
- package/components/ecl-content-item/ecl-content-item.component.d.ts.map +1 -1
- package/components/ecl-expandable/ecl-expandable.component.d.ts.map +1 -1
- package/components/ecl-fact-figures/ecl-fact-figures.component.d.ts.map +1 -1
- package/components/ecl-file/ecl-file-item/ecl-file-item.component.d.ts.map +1 -1
- package/components/ecl-file/ecl-file-items/ecl-file-items.component.d.ts.map +1 -1
- package/components/ecl-file-upload/ecl-file-upload.directive.d.ts.map +1 -1
- package/components/ecl-form-label/ecl-form-label.component.d.ts.map +1 -1
- package/components/ecl-gallery/ecl-gallery-item.component.d.ts.map +1 -1
- package/components/ecl-gallery/ecl-gallery-media.directive.d.ts.map +1 -1
- package/components/ecl-gallery/ecl-gallery.component.d.ts.map +1 -1
- package/components/ecl-help-block/ecl-help-block.directive.d.ts.map +1 -1
- package/components/ecl-icon/ecl-icon.component.d.ts.map +1 -1
- package/components/ecl-inpage-navigation/ecl-inpage-navigation.component.d.ts.map +1 -1
- package/components/ecl-link/ecl-link.directive.d.ts.map +1 -1
- package/components/ecl-list/ecl-list.directive.d.ts.map +1 -1
- package/components/ecl-list-illustration/ecl-list-illustration-picture.directive.d.ts.map +1 -1
- package/components/ecl-list-illustration/ecl-list-illustration.component.d.ts.map +1 -1
- package/components/ecl-loading-indicator/ecl-loading-indicator.component.d.ts.map +1 -1
- package/components/ecl-media-container/ecl-media-container.component.d.ts.map +1 -1
- package/components/ecl-mega-menu/ecl-mega-menu-subitem/ecl-mega-menu-subitem.component.d.ts.map +1 -1
- package/components/ecl-menu/ecl-menu/ecl-menu.component.d.ts.map +1 -1
- package/components/ecl-menu/ecl-menu-mega/ecl-menu-mega-item.component.d.ts.map +1 -1
- package/components/ecl-modal/ecl-modal-body.component.d.ts.map +1 -1
- package/components/ecl-multiselect/ecl-multiselect-dropdown/ecl-multiselect-dropdown.component.d.ts.map +1 -1
- package/components/ecl-multiselect/ecl-multiselect-input/ecl-multiselect-input.component.d.ts.map +1 -1
- package/components/ecl-multiselect/ecl-multiselect-option/ecl-multiselect-option.component.d.ts.map +1 -1
- package/components/ecl-multiselect/ecl-multiselect.component.d.ts.map +1 -1
- package/components/ecl-navigation-list/ecl-navigation-list.component.d.ts.map +1 -1
- package/components/ecl-news-ticker/ecl-news-ticker.component.d.ts.map +1 -1
- package/components/ecl-notification/ecl-notification.component.d.ts.map +1 -1
- package/components/ecl-page-header/ecl-page-header-title.directive.d.ts.map +1 -1
- package/components/ecl-pagination/ecl-pagination-item.component.d.ts.map +1 -1
- package/components/ecl-pagination/ecl-pagination.component.d.ts.map +1 -1
- package/components/ecl-radio/ecl-radio-help.component.d.ts.map +1 -1
- package/components/ecl-radio/ecl-radio-label.component.d.ts.map +1 -1
- package/components/ecl-radio/ecl-radio.directive.d.ts.map +1 -1
- package/components/ecl-range/ecl-range.directive.d.ts.map +1 -1
- package/components/ecl-rating-field/ecl-rating-field.component.d.ts.map +1 -1
- package/components/ecl-select/ecl-select-container.component.d.ts.map +1 -1
- package/components/ecl-select/ecl-select.directive.d.ts.map +1 -1
- package/components/ecl-site-footer/ecl-footer-elements/ec/ecl-site-footer-fixed-content.d.ts.map +1 -1
- package/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-list.directive.d.ts.map +1 -1
- package/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-section.directive.d.ts.map +1 -1
- package/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-title.directive.d.ts.map +1 -1
- package/components/ecl-site-footer/ecl-footer-elements/eu/ecl-site-footer-fixed-content.d.ts.map +1 -1
- package/components/ecl-site-footer/ecl-site-footer.component.d.ts.map +1 -1
- package/components/ecl-site-header/login/ecl-site-header-login.component.d.ts.map +1 -1
- package/components/ecl-social-media-follow/ecl-social-media-follow.component.d.ts.map +1 -1
- package/components/ecl-social-media-share/ecl-social-media-share.component.d.ts.map +1 -1
- package/components/ecl-sticky-container/ecl-sticky-container.component.d.ts.map +1 -1
- package/components/ecl-table/ecl-table.directive.d.ts.map +1 -1
- package/components/ecl-tabs/ecl-tab-more.component.d.ts.map +1 -1
- package/components/ecl-tabs/ecl-tab.component.d.ts.map +1 -1
- package/components/ecl-tag/ecl-tag.component.d.ts.map +1 -1
- package/components/ecl-text-area/ecl-text-area.directive.d.ts.map +1 -1
- package/components/ecl-text-input/ecl-text-input.directive.d.ts.map +1 -1
- package/components/ecl-timeline/ecl-timeline-item.component.d.ts.map +1 -1
- package/core/ecl-base.directive.d.ts.map +1 -1
- package/docs/dependencies.html +27 -27
- package/docs/js/search/search_index.js +2 -2
- package/fesm2022/eui-ecl-components-ecl-accordion.mjs +10 -10
- 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-app.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-banner.mjs +34 -34
- 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-blockquote.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-breadcrumb.mjs +13 -13
- package/fesm2022/eui-ecl-components-ecl-breadcrumb.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-button.mjs +16 -16
- 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-card.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-carousel.mjs +10 -10
- package/fesm2022/eui-ecl-components-ecl-carousel.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-category-filter.mjs +13 -13
- package/fesm2022/eui-ecl-components-ecl-category-filter.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-checkbox.mjs +16 -16
- 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-block.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-content-item.mjs +13 -13
- package/fesm2022/eui-ecl-components-ecl-content-item.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-date-block.mjs +7 -7
- package/fesm2022/eui-ecl-components-ecl-date-block.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-date-picker.mjs +7 -7
- package/fesm2022/eui-ecl-components-ecl-date-picker.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-expandable.mjs +7 -7
- 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-fact-figures.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-featured.mjs +25 -25
- 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-feedback-message.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-file-upload.mjs +7 -7
- package/fesm2022/eui-ecl-components-ecl-file-upload.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-file.mjs +34 -34
- 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-group.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-form-label.mjs +10 -10
- package/fesm2022/eui-ecl-components-ecl-form-label.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-gallery.mjs +22 -22
- 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-help-block.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-icon.mjs +7 -7
- package/fesm2022/eui-ecl-components-ecl-icon.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-inpage-navigation.mjs +16 -16
- 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-label.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-link.mjs +16 -16
- 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-illustration.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-list.mjs +31 -31
- 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-loading-indicator.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-media-container.mjs +19 -19
- package/fesm2022/eui-ecl-components-ecl-media-container.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs +49 -49
- package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-menu.mjs +16 -16
- package/fesm2022/eui-ecl-components-ecl-menu.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-modal.mjs +25 -25
- package/fesm2022/eui-ecl-components-ecl-modal.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-multiselect.mjs +25 -25
- 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-navigation-list.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-news-ticker.mjs +13 -13
- package/fesm2022/eui-ecl-components-ecl-news-ticker.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-notification.mjs +10 -10
- 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-page-header.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-pagination.mjs +13 -13
- package/fesm2022/eui-ecl-components-ecl-pagination.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-popover.mjs +13 -13
- 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-radio.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-range.mjs +13 -13
- package/fesm2022/eui-ecl-components-ecl-range.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-rating-field.mjs +7 -7
- package/fesm2022/eui-ecl-components-ecl-rating-field.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-search-form.mjs +7 -7
- package/fesm2022/eui-ecl-components-ecl-search-form.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-select.mjs +10 -10
- 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-separator.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-site-footer.mjs +61 -61
- package/fesm2022/eui-ecl-components-ecl-site-footer.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-site-header.mjs +64 -64
- package/fesm2022/eui-ecl-components-ecl-site-header.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-social-media-follow.mjs +13 -13
- package/fesm2022/eui-ecl-components-ecl-social-media-follow.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-social-media-share.mjs +13 -13
- 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-splash-page.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-sticky-container.mjs +7 -7
- package/fesm2022/eui-ecl-components-ecl-sticky-container.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-table.mjs +34 -34
- package/fesm2022/eui-ecl-components-ecl-table.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-tabs.mjs +16 -16
- package/fesm2022/eui-ecl-components-ecl-tabs.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-tag.mjs +16 -16
- 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-area.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-text-input.mjs +7 -7
- package/fesm2022/eui-ecl-components-ecl-text-input.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-timeline.mjs +19 -19
- package/fesm2022/eui-ecl-components-ecl-timeline.mjs.map +1 -1
- package/fesm2022/eui-ecl-core.mjs +25 -25
- package/fesm2022/eui-ecl-core.mjs.map +1 -1
- package/fesm2022/eui-ecl-shared.mjs +3 -3
- package/fesm2022/eui-ecl-shared.mjs.map +1 -1
- package/fesm2022/eui-ecl.mjs +4 -4
- package/fesm2022/eui-ecl.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-ecl-components-ecl-gallery.mjs","sources":["../../components/ecl-gallery/events/ecl-gallery.event.ts","../../components/ecl-gallery/events/ecl-gallery-item.event.ts","../../components/ecl-gallery/events/ecl-gallery-item-click.event.ts","../../components/ecl-gallery/events/ecl-gallery-toggle-items.event.ts","../../components/ecl-gallery/ecl-gallery-footer.component.ts","../../components/ecl-gallery/ecl-gallery-footer.component.html","../../components/ecl-gallery/ecl-gallery-media.directive.ts","../../components/ecl-gallery/ecl-gallery-item.component.ts","../../components/ecl-gallery/ecl-gallery-item.component.html","../../components/ecl-gallery/ecl-gallery.component.ts","../../components/ecl-gallery/ecl-gallery.component.html","../../components/ecl-gallery/ecl-gallery.module.ts","../../components/ecl-gallery/eui-ecl-components-ecl-gallery.ts"],"sourcesContent":["import { EclBaseEvent } from '@eui/ecl/core';\nimport { EclGalleryItem } from '../models/ecl-gallery-item.model';\n\nexport class EclGalleryShowEvent extends EclBaseEvent {}\nexport class EclGalleryHideEvent extends EclBaseEvent {}\nexport class EclGalleryFullScreenEvent extends EclBaseEvent {\n\tconstructor(public galleryItem: EclGalleryItem) {\n\t\tsuper();\n\t}\n}\nexport class EclGalleryShareEvent extends EclBaseEvent {\n\tconstructor(public galleryItem: EclGalleryItem) {\n\t\tsuper();\n\t}\n}\n","import { EclBaseEvent } from '@eui/ecl/core';\nimport { EclGalleryItem } from '../models/ecl-gallery-item.model';\n\nexport class EclGalleryItemEvent extends EclBaseEvent {\n\tconstructor(public galleryItem: EclGalleryItem) {\n\t\tsuper();\n\t}\n}","import { EclBaseEvent } from '@eui/ecl/core';\n\nexport class EclGalleryItemClickEvent extends EclBaseEvent {}","import { EclBaseEvent } from '@eui/ecl/core';\n\nexport class EclGalleryToggleItemsEvent extends EclBaseEvent {\n\tconstructor(public expandAll: boolean) {\n\t\tsuper();\n\t}\n}","import { Component, EventEmitter, HostBinding, Input, OnInit, Output } from '@angular/core';\nimport { EclGalleryToggleItemsEvent } from './events';\n\n@Component({\n selector: 'ecl-gallery-footer',\n templateUrl: './ecl-gallery-footer.component.html',\n standalone: false,\n})\nexport class EclGalleryFooterComponent implements OnInit {\n @HostBinding('class.ecl-gallery__footer') hasClass = true;\n @Input() infoId: string;\n @Output() toggleItems = new EventEmitter<EclGalleryToggleItemsEvent>();\n\n private _itemsCount: number;\n private _isExpanded = false;\n private _isShowToggleBtn = false;\n\n ngOnInit(): void {\n if (!this.infoId) {\n this.infoId = crypto.randomUUID();\n }\n }\n get isExpanded(): boolean {\n return this._isExpanded;\n }\n set isExpanded(value: boolean) {\n this._isExpanded = value;\n }\n\n get itemsCount(): number {\n return this._itemsCount;\n }\n set itemsCount(value: number) {\n this._itemsCount = value;\n }\n\n get isShowToggleBtn(): boolean {\n return this._isShowToggleBtn;\n }\n set isShowToggleBtn(value: boolean) {\n this._isShowToggleBtn = value;\n }\n\n onToggle(): void {\n this._isExpanded = !this._isExpanded;\n this.toggleItems.next(new EclGalleryToggleItemsEvent(this.isExpanded));\n }\n}\n","<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=\"ghost\" class=\"ecl-gallery__view-all\"\n (click)=\"onToggle()\">\n {{ 'ecl.gallery.VIEW-ALL' | translate }}\n </button>\n } @else {\n <button [attr.aria-describedby]=\"infoId\" eclButton variant=\"ghost\" 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>","import { ChangeDetectorRef, Directive, ElementRef, HostBinding, Input, OnInit, afterNextRender, booleanAttribute } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\nexport class EclGalleryMediaSource {\n src?: string;\n type?: string;\n}\n\nexport class EclGalleryMediaTrack {\n src?: string;\n kind?: string;\n srcLang?: string;\n label?: string;\n}\n\nexport class EclGalleryPictureSource {\n srcset? : string;\n media? : string;\n}\n\nexport class EclGalleryPictureImage {\n src? : string;\n alt? : string;\n loading?: string;\n}\n\n@Directive({\n selector: '[eclGalleryMedia], [eclGalleryImage]',\n standalone: false,\n})\nexport class EclGalleryMediaDirective extends ECLBaseDirective implements OnInit {\n @Input() poster: string;\n @Input({ transform: booleanAttribute }) hasZoom = false;\n sources: Array<EclGalleryMediaSource> = [];\n tracks: Array<EclGalleryMediaTrack> = [];\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-gallery__image'),\n this.hasZoom && this.isVideo ? 'ecl-video--zoom' : '',\n ].join(' ').trim();\n }\n @HostBinding('class.ecl-video') isVideo = false;\n\n constructor(private el: ElementRef) {\n super();\n afterNextRender(() => {\n this.createGalleryMediaChildren();\n });\n }\n\n ngOnInit(): void {\n this.checkIsVideo();\n }\n\n private checkIsVideo(): void {\n const selector = this.el.nativeElement.tagName;\n this.isVideo = selector === 'VIDEO';\n }\n\n private createGalleryMediaChildren(): void {\n if (!this.getHostElement().hasChildNodes) {\n return;\n }\n this.getHostElement().childNodes.forEach((el: HTMLInputElement) => {\n if (el.nodeName === 'SOURCE') {\n const mediaSource = new EclGalleryMediaSource();\n mediaSource.src = el.getAttribute('src');\n mediaSource.type = el.getAttribute('type');\n this.sources.push(mediaSource);\n } else if (el.nodeName === 'TRACK') {\n const mediaTrack = new EclGalleryMediaTrack();\n mediaTrack.src = el.getAttribute('src');\n mediaTrack.kind = el.getAttribute('kind');\n mediaTrack.srcLang = el.getAttribute('srcLang');\n mediaTrack.label = el.getAttribute('label');\n this.tracks.push(mediaTrack);\n }\n });\n }\n\n private getHostElement(): HTMLInputElement {\n return this.el.nativeElement;\n }\n}\n\n@Directive({\n selector: 'picture[eclGalleryPicture]',\n standalone: false,\n})\nexport class EclGalleryPictureDirective extends ECLBaseDirective {\n\n // TODO: to be removed in v19. Thumbnail should be added by user.\n isThumbnail = false;\n sources: Array<EclGalleryPictureSource> = [];\n img: EclGalleryPictureImage ={};\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-picture'), this.isThumbnail ? 'ecl-gallery__thumbnail': 'ecl-gallery__picture'].join(' ').trim();\n }\n\n constructor(private el: ElementRef, private cd: ChangeDetectorRef) {\n super();\n afterNextRender(() => {\n this.createGalleryPictureChildren();\n });\n }\n\n private createGalleryPictureChildren(): void {\n if (!this.getHostElement().hasChildNodes()) {\n return;\n }\n this.getHostElement().childNodes.forEach((el: HTMLSourceElement | HTMLImageElement) => {\n if (el.nodeName === 'SOURCE') {\n const pictureSource = new EclGalleryPictureSource();\n pictureSource.srcset = el.getAttribute('srcset');\n pictureSource.media = el.getAttribute('media');\n this.sources.push(pictureSource);\n } else if (el.nodeName === 'IMG') {\n const imageSource = new EclGalleryPictureImage();\n imageSource.src = el.getAttribute('src');\n imageSource.alt = el.getAttribute('alt');\n imageSource.loading = el.getAttribute('loading');\n this.img.src = imageSource.src;\n this.img.alt = imageSource.alt;\n this.img.loading = imageSource.loading;\n\n }\n this.cd.detectChanges();\n });\n }\n\n private getHostElement(): HTMLElement {\n return this.el.nativeElement;\n }\n}\n\n@Directive({\n selector: 'picture[eclGalleryThumbnail]',\n standalone: false,\n})\nexport class EclGalleryThumbnailDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-picture ecl-gallery__thumbnail')].join(' ').trim();\n }\n @Input({ transform: booleanAttribute }) @HostBinding('class.ecl-picture--zoom') hasZoom = false;\n}\n","import {\n Component, ContentChild, ElementRef, EventEmitter, HostBinding, HostListener, Input, OnInit, AfterContentInit, Output,\n Renderer2, booleanAttribute,\n} from '@angular/core';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclGalleryItem } from './models/ecl-gallery-item.model';\nimport {\n EclGalleryMediaDirective,\n EclGalleryPictureDirective,\n EclGalleryThumbnailDirective,\n} from './ecl-gallery-media.directive';\nimport { EclGalleryItemClickEvent } from './events';\n\n@Component({\n selector: 'ecl-gallery-item',\n templateUrl: './ecl-gallery-item.component.html',\n standalone: false,\n})\nexport class EclGalleryItemComponent extends ECLBaseDirective implements EclGalleryItem, OnInit, AfterContentInit {\n @Input({ transform: booleanAttribute }) isShareable = true;\n @Input() mediaType: 'image' | 'video' | 'externalVideo' = 'image';\n @Input() src: string;\n @Input() meta: string;\n @Input() description: string;\n @Input() srVideoAudioDescription: string;\n @Input() icon: string;\n @Input() title: string;\n @Input() itemId: string;\n @Output() itemClick = new EventEmitter<EclGalleryItemClickEvent>();\n @ContentChild(EclGalleryMediaDirective) mediaChild: EclGalleryMediaDirective;\n @ContentChild(EclGalleryThumbnailDirective) galleryThumbnail: EclGalleryThumbnailDirective;\n @ContentChild(EclGalleryPictureDirective) galleryPicture: EclGalleryPictureDirective;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-gallery__item'), this._isHidden ? 'ecl-gallery__item--hidden' : ''].join(' ').trim();\n }\n @HostBinding('attr.role') role = 'listitem';\n\n private _isNoOverlay = false;\n private _isHidden = false;\n private externalVideoUrl: SafeResourceUrl;\n\n constructor(\n private domSanitizer: DomSanitizer, private renderer: Renderer2,\n private el: ElementRef,\n ) {\n super();\n }\n\n ngOnInit(): void {\n if (this.isExternalVideo) {\n const iframeUrl = new URL(this.src);\n if (iframeUrl.host.includes('youtube')) {\n this.externalVideoUrl = this.domSanitizer.bypassSecurityTrustResourceUrl(iframeUrl.toString());\n } else {\n this.externalVideoUrl = this.domSanitizer.bypassSecurityTrustResourceUrl(this.src);\n }\n }\n\n if (!this.itemId) {\n this.itemId = crypto.randomUUID();\n }\n }\n\n // TODO: to be removed in v19. Thumbnail should be added by user.\n ngAfterContentInit(): void {\n if (this.galleryPicture && !this.galleryThumbnail && !this.isImage) {\n this.galleryPicture.isThumbnail = true;\n }\n }\n\n set isHidden(value: boolean) {\n this._isHidden = value;\n }\n\n @HostListener('click', ['$event'])\n onItemClick(evt: MouseEvent): void {\n this.itemClick.next(new EclGalleryItemClickEvent());\n evt.preventDefault();\n }\n\n getDownloadLink(): string {\n return this.src;\n }\n\n getUrlExternalVideo(): SafeResourceUrl {\n return this.externalVideoUrl;\n }\n\n get isNoOverlay(): boolean {\n return this._isNoOverlay;\n }\n\n set isNoOverlay(value: boolean) {\n this._isNoOverlay = value;\n }\n\n get isImage(): boolean {\n return this.mediaType === 'image';\n }\n\n get isVideo(): boolean {\n return this.mediaType === 'video';\n }\n\n get isExternalVideo(): boolean {\n return this.mediaType === 'externalVideo';\n }\n\n get isOpenInFullScreenPossible(): boolean {\n return this.mediaType !== 'externalVideo';\n }\n\n get titleId(): string {\n return `${this.itemId}-title`;\n }\n\n get hasGalleryThumbnail(): boolean {\n return !this.galleryThumbnail && this.isImage;\n }\n\n onFocus(): void {\n this.renderer.selectRootElement(this.el.nativeElement.children[0], true).focus();\n }\n}\n","<a [href]=\"src\" class=\"ecl-gallery__item-link\" [class.ecl-gallery__item__link--frozen]=\"isNoOverlay\" [id]=\"itemId\">\n <figure class=\"ecl-gallery__image-container\">\n @if(mediaType !== 'image') {\n <div class=\"ecl-gallery__item-icon-wrapper\">\n <ecl-icon isInverted class=\"ecl-gallery__item-icon ecl-icon--inverted\" icon=\"play-filled\" size=\"l\"></ecl-icon>\n </div>\n } \n @if(hasGalleryThumbnail) { <!-- TODO: to be removed in v19. Thumbnail should be added by user. -->\n <picture class=\"ecl-picture ecl-gallery__thumbnail\">\n @for(el of galleryPicture?.sources; track el.srcset ) {\n <source [attr.srcset]=\"el.srcset\" [attr.media]=\" el.media\">\n }\n <img class=\"ecl-gallery__image\"\n [attr.src]=\"galleryPicture?.img.src\"\n [attr.alt]=\"galleryPicture?.img.alt\" />\n </picture>\n }\n <ng-content select=\"[eclGalleryPicture], [eclGalleryThumbnail], [eclGalleryMedia], [eclGalleryImage]\"></ng-content>\n <figcaption class=\"ecl-gallery__description\">\n @if(title) {\n <span class=\"ecl-gallery__title\" [id]=\"titleId\">{{title}}</span>\n }\n @if(description) {\n <span class=\"ecl-gallery__caption\">{{ description }}</span>\n }\n @if(icon) {\n <ecl-icon class=\"ecl-gallery__description-icon\" [icon]=\"icon\"></ecl-icon>\n }\n <span class=\"ecl-gallery__meta\">\n {{ meta }}\n </span>\n </figcaption>\n </figure>\n</a>","import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\nimport {\n AfterContentInit,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n Output,\n PLATFORM_ID,\n QueryList,\n ViewChild,\n booleanAttribute,\n numberAttribute,\n} from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\nimport { Subject, delay } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclGalleryFooterComponent } from './ecl-gallery-footer.component';\nimport { EclGalleryItemComponent } from './ecl-gallery-item.component';\nimport { EclGalleryItemEvent } from './events';\nimport { EclGalleryShareEvent } from './events';\nimport { EclGalleryFullScreenEvent } from './events';\nimport { EclGalleryHideEvent } from './events';\nimport { EclGalleryShowEvent } from './events';\n\n@Component({\n selector: 'ecl-gallery',\n templateUrl: './ecl-gallery.component.html',\n standalone: false,\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclGalleryComponent extends ECLBaseDirective implements AfterContentInit, OnDestroy, OnInit {\n\n @Input({ transform: booleanAttribute }) isOpenInFullScreenPossible = true;\n @Input({ transform: booleanAttribute }) isShareable = true;\n @Input({ transform: booleanAttribute }) isFullWidth = false;\n @Input({ transform: booleanAttribute }) isNoOverlay = false;\n @Input({ transform: booleanAttribute }) isShowTitleOnHover = true;\n @Input({ transform: numberAttribute }) maxVisibleItems: number;\n @Input({ transform: booleanAttribute }) isGrid = false;\n @Input({ transform: numberAttribute }) columns: 2 | 3 | 4 | number = 3;\n @Input() gridTemplate: '0' | '1' | '2' | '3' | '4' | string = '0';\n @Input() ratio: '3-1' | '3-2' | string = '3-2';\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() show = new EventEmitter<EclGalleryShowEvent>();\n @Output() hide = new EventEmitter<EclGalleryHideEvent>();\n @Output() openFullScreen = new EventEmitter<EclGalleryFullScreenEvent>();\n @Output() share = new EventEmitter<EclGalleryShareEvent>();\n @Output() itemSwitch = new EventEmitter<EclGalleryItemEvent>();\n @ContentChildren(EclGalleryItemComponent) galleryItems: QueryList<EclGalleryItemComponent>;\n @ContentChild(EclGalleryFooterComponent) galleryFooter: EclGalleryFooterComponent;\n @ViewChild('overlay') overlayChild: ElementRef;\n @ViewChild('header') headerChild: ElementRef;\n @ViewChild('footer') footerChild: ElementRef;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-gallery'),\n this.isFullWidth ? 'ecl-gallery--full-width' : '',\n this.isGrid ? 'ecl-gallery--grid' : '',\n this.isGrid && this.gridTemplate === '0' ? `ecl-gallery--col-${this.columns}` : '',\n this.isGrid ? `ecl-gallery--template-${this.gridTemplate}`: '',\n this.isGrid ? `ecl-gallery--ratio-${this.ratio}`: '',\n !this.isShowTitleOnHover ? 'ecl-gallery--no-hover' : '',\n ].join(' ').trim();\n }\n @HostBinding('attr.role') role = 'region';\n\n isDialogVisible = false;\n isMobile = false;\n itemsCount: number;\n itemIndex: number;\n item: EclGalleryItemComponent;\n private iframeWidth: number;\n private iframeHeight: number;\n private BREAKPOINT_CHANGES_TIMEOUT = 500;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private visibleItems: number;\n private MAX_VISIBLE_ITEMS_MOBILE = 3;\n private RESOLUTION_16_9_PROPOTION = 16 / 9;\n private RESOLUTION_4_3_PROPOTION = 4 / 3;\n\n constructor(private cdkBreakpointObserver: BreakpointObserver, @Inject(PLATFORM_ID) private platformId: object) {\n super();\n }\n\n ngOnInit(): void {\n if (isPlatformBrowser(this.platformId)) {\n this.observeBreakpointChanges();\n }\n }\n\n ngAfterContentInit(): void {\n this.itemsCount = this.galleryItems.length;\n this.visibleItems = this.maxVisibleItems ? this.maxVisibleItems : this.itemsCount;\n if (this.galleryFooter) {\n this.galleryFooter.itemsCount = this.itemsCount;\n this.galleryFooter.isShowToggleBtn = this.hasHiddenGaleryItems();\n this.galleryFooter.toggleItems.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n if (evt.expandAll) {\n this.showAllItems();\n } else {\n this.collapseItems();\n }\n });\n }\n\n if (!this.isNoOverlay) {\n this.galleryItems.forEach((item) => {\n item.itemClick.pipe(takeUntil(this.destroy$)).subscribe((_) => {\n this.isDialogVisible = true;\n this.item = item;\n this.itemIndex = this.findItemIndex(this.galleryItems.toArray(), item);\n this.show.next(new EclGalleryShowEvent());\n if (isPlatformBrowser(this.platformId)) {\n setTimeout(() => this.setIframeDimensions());\n }\n });\n });\n } else {\n this.galleryItems.forEach((item) => (item.isNoOverlay = true));\n }\n\n if (this.hasHiddenGaleryItems()) {\n this.collapseItems();\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n onPrevious(evt: MouseEvent): void {\n this.item = this.findPreviousItem(this.galleryItems.toArray(), this.item);\n\n this.itemIndex = this.findItemIndex(this.galleryItems.toArray(), this.item);\n\n this.itemSwitch.next(new EclGalleryItemEvent(this.item));\n }\n\n onNext(evt: MouseEvent): void {\n this.item = this.findNextItem(this.galleryItems.toArray(), this.item);\n this.itemIndex = this.findItemIndex(this.galleryItems.toArray(), this.item);\n\n this.itemSwitch.next(new EclGalleryItemEvent(this.item));\n }\n\n onClose(evt: MouseEvent): void {\n this.item = null;\n this.itemIndex = -1;\n this.isDialogVisible = false;\n this.hide.next(new EclGalleryHideEvent());\n }\n\n @HostListener('document:keydown.escape', ['$event'])\n onEscapeKeydownHandler(event: KeyboardEvent): void {\n this.isDialogVisible = false;\n this.hide.next(new EclGalleryHideEvent());\n }\n\n onFullScreenOpen(evt: MouseEvent): void {\n this.openFullScreen.next(new EclGalleryFullScreenEvent(this.item));\n }\n\n onShare(evt: MouseEvent): void {\n this.share.next(new EclGalleryShareEvent(this.item));\n evt.preventDefault();\n }\n\n canBeOpenInFullScreen(): boolean {\n return this.isOpenInFullScreenPossible && this.item?.isOpenInFullScreenPossible;\n }\n\n canBeShared(): boolean {\n return this.isShareable && this.item?.isShareable;\n }\n\n getIframeWidth(): number {\n return this.iframeWidth;\n }\n\n getIframeHeight(): number {\n return this.iframeHeight;\n }\n\n setIframeDimensions(): void {\n const { width, height } = this.getCalculatedIframeDimensions();\n this.iframeWidth = width;\n this.iframeHeight = height;\n }\n\n @HostListener('window:resize', ['$event'])\n iframeResize(): void {\n this.setIframeDimensions();\n }\n\n private getCalculatedIframeDimensions(): { width: number; height: number } {\n let width = window.innerWidth;\n let height =\n this.overlayChild.nativeElement.clientHeight -\n this.headerChild.nativeElement.clientHeight -\n this.footerChild.nativeElement.clientHeight;\n if (width > height) {\n const scaledHeight = height * this.RESOLUTION_16_9_PROPOTION;\n if (scaledHeight > width) {\n width = width * 0.95;\n } else {\n width = scaledHeight;\n }\n } else {\n const scaledWith = width * this.RESOLUTION_4_3_PROPOTION;\n if (scaledWith > height) {\n height = height * 0.95;\n } else {\n height = scaledWith;\n }\n }\n return {\n width,\n height,\n };\n }\n\n private findItemIndex(items: Array<EclGalleryItemComponent>, item: EclGalleryItemComponent): number {\n return items.findIndex((it) => it === item) + 1;\n }\n\n private findPreviousItem(items: Array<EclGalleryItemComponent>, item: EclGalleryItemComponent): EclGalleryItemComponent {\n const index = this.findPreviousItemIndex(items, item);\n return items[index];\n }\n\n private findNextItem(items: Array<EclGalleryItemComponent>, item: EclGalleryItemComponent): EclGalleryItemComponent {\n const index = this.findNextItemIndex(items, item);\n return items[index];\n }\n\n private findPreviousItemIndex(items: Array<EclGalleryItemComponent>, item: EclGalleryItemComponent): number {\n const currentIndex = items.findIndex((it) => it === item);\n return currentIndex === 0 ? items.length - 1 : currentIndex - 1;\n }\n\n private findNextItemIndex(items: Array<EclGalleryItemComponent>, item: EclGalleryItemComponent): number {\n const currentIndex = items.findIndex((it) => it === item);\n return currentIndex >= items.length - 1 ? 0 : currentIndex + 1;\n }\n\n private observeBreakpointChanges(): void {\n this.cdkBreakpointObserver\n .observe([Breakpoints.Handset, Breakpoints.Tablet])\n .pipe(takeUntil(this.destroy$), delay(this.BREAKPOINT_CHANGES_TIMEOUT))\n .subscribe((result) => {\n this.isMobile = result.matches;\n if (this.isMobile) {\n this.manageItemsMobile();\n } else {\n this.manageItemsDesktop();\n }\n });\n }\n\n private manageItemsMobile(): void {\n this.maxVisibleItems = this.MAX_VISIBLE_ITEMS_MOBILE;\n this.collapseItems();\n if (this.galleryFooter) {\n this.galleryFooter.isShowToggleBtn = this.hasHiddenGaleryItems();\n }\n }\n\n private manageItemsDesktop(): void {\n this.maxVisibleItems = this.visibleItems;\n this.getVisibleItems().forEach((elem) => this.showGaleryItem(elem));\n this.collapseItems();\n if (this.galleryFooter) {\n this.galleryFooter.isShowToggleBtn = this.hasHiddenGaleryItems();\n }\n }\n\n private hasHiddenGaleryItems(): boolean {\n if (this.maxVisibleItems && this.itemsCount > 0 && this.maxVisibleItems < this.itemsCount) {\n return true;\n } else {\n return false;\n }\n }\n\n private collapseItems(): void {\n this.getHiddenItems().forEach((elem) => this.hideGaleryItem(elem));\n }\n\n private showAllItems(): void {\n const hiddenItems = this.getHiddenItems();\n hiddenItems.forEach((elem) => this.showGaleryItem(elem));\n setTimeout(() => hiddenItems[0].onFocus());\n }\n\n private hideGaleryItem(item: EclGalleryItemComponent): void {\n item.isHidden = true;\n }\n\n private showGaleryItem(item: EclGalleryItemComponent): void {\n item.isHidden = false;\n }\n\n private getHiddenItems(): EclGalleryItemComponent[] {\n return this.galleryItems.filter((item, cnt) => cnt >= this.maxVisibleItems);\n }\n private getVisibleItems(): EclGalleryItemComponent[] {\n return this.galleryItems.filter((item, cnt) => cnt < this.maxVisibleItems);\n }\n}\n","<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=\"ghost\">\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\">\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>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclButtonModule } from '@eui/ecl/components/ecl-button';\nimport { EclIconModule } from '@eui/ecl/components/ecl-icon';\nimport { EclLinkModule } from '@eui/ecl/components/ecl-link';\nimport { EclGalleryComponent } from './ecl-gallery.component';\nimport { EclGalleryItemComponent } from './ecl-gallery-item.component';\nimport { EclGalleryFooterComponent } from './ecl-gallery-footer.component';\nimport {\n EclGalleryMediaDirective,\n EclGalleryPictureDirective,\n EclGalleryThumbnailDirective,\n} from './ecl-gallery-media.directive';\n\nconst COMPONENTS = [\n EclGalleryComponent,\n EclGalleryFooterComponent,\n EclGalleryItemComponent,\n EclGalleryMediaDirective,\n EclGalleryPictureDirective,\n EclGalleryThumbnailDirective,\n];\n@NgModule({\n imports: [CommonModule, TranslateModule, EclButtonModule, EclIconModule, EclLinkModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclGalleryModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i4","i6"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"eui-ecl-components-ecl-gallery.mjs","sources":["../../components/ecl-gallery/events/ecl-gallery.event.ts","../../components/ecl-gallery/events/ecl-gallery-item.event.ts","../../components/ecl-gallery/events/ecl-gallery-item-click.event.ts","../../components/ecl-gallery/events/ecl-gallery-toggle-items.event.ts","../../components/ecl-gallery/ecl-gallery-footer.component.ts","../../components/ecl-gallery/ecl-gallery-footer.component.html","../../components/ecl-gallery/ecl-gallery-media.directive.ts","../../components/ecl-gallery/ecl-gallery-item.component.ts","../../components/ecl-gallery/ecl-gallery-item.component.html","../../components/ecl-gallery/ecl-gallery.component.ts","../../components/ecl-gallery/ecl-gallery.component.html","../../components/ecl-gallery/ecl-gallery.module.ts","../../components/ecl-gallery/eui-ecl-components-ecl-gallery.ts"],"sourcesContent":["import { EclBaseEvent } from '@eui/ecl/core';\nimport { EclGalleryItem } from '../models/ecl-gallery-item.model';\n\nexport class EclGalleryShowEvent extends EclBaseEvent {}\nexport class EclGalleryHideEvent extends EclBaseEvent {}\nexport class EclGalleryFullScreenEvent extends EclBaseEvent {\n\tconstructor(public galleryItem: EclGalleryItem) {\n\t\tsuper();\n\t}\n}\nexport class EclGalleryShareEvent extends EclBaseEvent {\n\tconstructor(public galleryItem: EclGalleryItem) {\n\t\tsuper();\n\t}\n}\n","import { EclBaseEvent } from '@eui/ecl/core';\nimport { EclGalleryItem } from '../models/ecl-gallery-item.model';\n\nexport class EclGalleryItemEvent extends EclBaseEvent {\n\tconstructor(public galleryItem: EclGalleryItem) {\n\t\tsuper();\n\t}\n}","import { EclBaseEvent } from '@eui/ecl/core';\n\nexport class EclGalleryItemClickEvent extends EclBaseEvent {}","import { EclBaseEvent } from '@eui/ecl/core';\n\nexport class EclGalleryToggleItemsEvent extends EclBaseEvent {\n\tconstructor(public expandAll: boolean) {\n\t\tsuper();\n\t}\n}","import { Component, EventEmitter, HostBinding, Input, OnInit, Output } from '@angular/core';\nimport { EclGalleryToggleItemsEvent } from './events';\n\n@Component({\n selector: 'ecl-gallery-footer',\n templateUrl: './ecl-gallery-footer.component.html',\n standalone: false,\n})\nexport class EclGalleryFooterComponent implements OnInit {\n @HostBinding('class.ecl-gallery__footer') hasClass = true;\n @Input() infoId: string;\n @Output() toggleItems = new EventEmitter<EclGalleryToggleItemsEvent>();\n\n private _itemsCount: number;\n private _isExpanded = false;\n private _isShowToggleBtn = false;\n\n ngOnInit(): void {\n if (!this.infoId) {\n this.infoId = crypto.randomUUID();\n }\n }\n get isExpanded(): boolean {\n return this._isExpanded;\n }\n set isExpanded(value: boolean) {\n this._isExpanded = value;\n }\n\n get itemsCount(): number {\n return this._itemsCount;\n }\n set itemsCount(value: number) {\n this._itemsCount = value;\n }\n\n get isShowToggleBtn(): boolean {\n return this._isShowToggleBtn;\n }\n set isShowToggleBtn(value: boolean) {\n this._isShowToggleBtn = value;\n }\n\n onToggle(): void {\n this._isExpanded = !this._isExpanded;\n this.toggleItems.next(new EclGalleryToggleItemsEvent(this.isExpanded));\n }\n}\n","<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=\"ghost\" class=\"ecl-gallery__view-all\"\n (click)=\"onToggle()\">\n {{ 'ecl.gallery.VIEW-ALL' | translate }}\n </button>\n } @else {\n <button [attr.aria-describedby]=\"infoId\" eclButton variant=\"ghost\" 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>","import { ChangeDetectorRef, Directive, ElementRef, HostBinding, Input, OnInit, afterNextRender, booleanAttribute } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\nexport class EclGalleryMediaSource {\n src?: string;\n type?: string;\n}\n\nexport class EclGalleryMediaTrack {\n src?: string;\n kind?: string;\n srcLang?: string;\n label?: string;\n}\n\nexport class EclGalleryPictureSource {\n srcset? : string;\n media? : string;\n}\n\nexport class EclGalleryPictureImage {\n src? : string;\n alt? : string;\n loading?: string;\n}\n\n@Directive({\n selector: '[eclGalleryMedia], [eclGalleryImage]',\n standalone: false,\n})\nexport class EclGalleryMediaDirective extends ECLBaseDirective implements OnInit {\n @Input() poster: string;\n @Input({ transform: booleanAttribute }) hasZoom = false;\n sources: Array<EclGalleryMediaSource> = [];\n tracks: Array<EclGalleryMediaTrack> = [];\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-gallery__image'),\n this.hasZoom && this.isVideo ? 'ecl-video--zoom' : '',\n ].join(' ').trim();\n }\n @HostBinding('class.ecl-video') isVideo = false;\n\n constructor(private el: ElementRef) {\n super();\n afterNextRender(() => {\n this.createGalleryMediaChildren();\n });\n }\n\n ngOnInit(): void {\n this.checkIsVideo();\n }\n\n private checkIsVideo(): void {\n const selector = this.el.nativeElement.tagName;\n this.isVideo = selector === 'VIDEO';\n }\n\n private createGalleryMediaChildren(): void {\n if (!this.getHostElement().hasChildNodes) {\n return;\n }\n this.getHostElement().childNodes.forEach((el: HTMLInputElement) => {\n if (el.nodeName === 'SOURCE') {\n const mediaSource = new EclGalleryMediaSource();\n mediaSource.src = el.getAttribute('src');\n mediaSource.type = el.getAttribute('type');\n this.sources.push(mediaSource);\n } else if (el.nodeName === 'TRACK') {\n const mediaTrack = new EclGalleryMediaTrack();\n mediaTrack.src = el.getAttribute('src');\n mediaTrack.kind = el.getAttribute('kind');\n mediaTrack.srcLang = el.getAttribute('srcLang');\n mediaTrack.label = el.getAttribute('label');\n this.tracks.push(mediaTrack);\n }\n });\n }\n\n private getHostElement(): HTMLInputElement {\n return this.el.nativeElement;\n }\n}\n\n@Directive({\n selector: 'picture[eclGalleryPicture]',\n standalone: false,\n})\nexport class EclGalleryPictureDirective extends ECLBaseDirective {\n\n // TODO: to be removed in v19. Thumbnail should be added by user.\n isThumbnail = false;\n sources: Array<EclGalleryPictureSource> = [];\n img: EclGalleryPictureImage ={};\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-picture'), this.isThumbnail ? 'ecl-gallery__thumbnail': 'ecl-gallery__picture'].join(' ').trim();\n }\n\n constructor(private el: ElementRef, private cd: ChangeDetectorRef) {\n super();\n afterNextRender(() => {\n this.createGalleryPictureChildren();\n });\n }\n\n private createGalleryPictureChildren(): void {\n if (!this.getHostElement().hasChildNodes()) {\n return;\n }\n this.getHostElement().childNodes.forEach((el: HTMLSourceElement | HTMLImageElement) => {\n if (el.nodeName === 'SOURCE') {\n const pictureSource = new EclGalleryPictureSource();\n pictureSource.srcset = el.getAttribute('srcset');\n pictureSource.media = el.getAttribute('media');\n this.sources.push(pictureSource);\n } else if (el.nodeName === 'IMG') {\n const imageSource = new EclGalleryPictureImage();\n imageSource.src = el.getAttribute('src');\n imageSource.alt = el.getAttribute('alt');\n imageSource.loading = el.getAttribute('loading');\n this.img.src = imageSource.src;\n this.img.alt = imageSource.alt;\n this.img.loading = imageSource.loading;\n\n }\n this.cd.detectChanges();\n });\n }\n\n private getHostElement(): HTMLElement {\n return this.el.nativeElement;\n }\n}\n\n@Directive({\n selector: 'picture[eclGalleryThumbnail]',\n standalone: false,\n})\nexport class EclGalleryThumbnailDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-picture ecl-gallery__thumbnail')].join(' ').trim();\n }\n @Input({ transform: booleanAttribute }) @HostBinding('class.ecl-picture--zoom') hasZoom = false;\n}\n","import {\n Component, ContentChild, ElementRef, EventEmitter, HostBinding, HostListener, Input, OnInit, AfterContentInit, Output,\n Renderer2, booleanAttribute,\n} from '@angular/core';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclGalleryItem } from './models/ecl-gallery-item.model';\nimport {\n EclGalleryMediaDirective,\n EclGalleryPictureDirective,\n EclGalleryThumbnailDirective,\n} from './ecl-gallery-media.directive';\nimport { EclGalleryItemClickEvent } from './events';\n\n@Component({\n selector: 'ecl-gallery-item',\n templateUrl: './ecl-gallery-item.component.html',\n standalone: false,\n})\nexport class EclGalleryItemComponent extends ECLBaseDirective implements EclGalleryItem, OnInit, AfterContentInit {\n @Input({ transform: booleanAttribute }) isShareable = true;\n @Input() mediaType: 'image' | 'video' | 'externalVideo' = 'image';\n @Input() src: string;\n @Input() meta: string;\n @Input() description: string;\n @Input() srVideoAudioDescription: string;\n @Input() icon: string;\n @Input() title: string;\n @Input() itemId: string;\n @Output() itemClick = new EventEmitter<EclGalleryItemClickEvent>();\n @ContentChild(EclGalleryMediaDirective) mediaChild: EclGalleryMediaDirective;\n @ContentChild(EclGalleryThumbnailDirective) galleryThumbnail: EclGalleryThumbnailDirective;\n @ContentChild(EclGalleryPictureDirective) galleryPicture: EclGalleryPictureDirective;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-gallery__item'), this._isHidden ? 'ecl-gallery__item--hidden' : ''].join(' ').trim();\n }\n @HostBinding('attr.role') role = 'listitem';\n\n private _isNoOverlay = false;\n private _isHidden = false;\n private externalVideoUrl: SafeResourceUrl;\n\n constructor(\n private domSanitizer: DomSanitizer, private renderer: Renderer2,\n private el: ElementRef,\n ) {\n super();\n }\n\n ngOnInit(): void {\n if (this.isExternalVideo) {\n const iframeUrl = new URL(this.src);\n if (iframeUrl.host.includes('youtube')) {\n this.externalVideoUrl = this.domSanitizer.bypassSecurityTrustResourceUrl(iframeUrl.toString());\n } else {\n this.externalVideoUrl = this.domSanitizer.bypassSecurityTrustResourceUrl(this.src);\n }\n }\n\n if (!this.itemId) {\n this.itemId = crypto.randomUUID();\n }\n }\n\n // TODO: to be removed in v19. Thumbnail should be added by user.\n ngAfterContentInit(): void {\n if (this.galleryPicture && !this.galleryThumbnail && !this.isImage) {\n this.galleryPicture.isThumbnail = true;\n }\n }\n\n set isHidden(value: boolean) {\n this._isHidden = value;\n }\n\n @HostListener('click', ['$event'])\n onItemClick(evt: MouseEvent): void {\n this.itemClick.next(new EclGalleryItemClickEvent());\n evt.preventDefault();\n }\n\n getDownloadLink(): string {\n return this.src;\n }\n\n getUrlExternalVideo(): SafeResourceUrl {\n return this.externalVideoUrl;\n }\n\n get isNoOverlay(): boolean {\n return this._isNoOverlay;\n }\n\n set isNoOverlay(value: boolean) {\n this._isNoOverlay = value;\n }\n\n get isImage(): boolean {\n return this.mediaType === 'image';\n }\n\n get isVideo(): boolean {\n return this.mediaType === 'video';\n }\n\n get isExternalVideo(): boolean {\n return this.mediaType === 'externalVideo';\n }\n\n get isOpenInFullScreenPossible(): boolean {\n return this.mediaType !== 'externalVideo';\n }\n\n get titleId(): string {\n return `${this.itemId}-title`;\n }\n\n get hasGalleryThumbnail(): boolean {\n return !this.galleryThumbnail && this.isImage;\n }\n\n onFocus(): void {\n this.renderer.selectRootElement(this.el.nativeElement.children[0], true).focus();\n }\n}\n","<a [href]=\"src\" class=\"ecl-gallery__item-link\" [class.ecl-gallery__item__link--frozen]=\"isNoOverlay\" [id]=\"itemId\">\n <figure class=\"ecl-gallery__image-container\">\n @if(mediaType !== 'image') {\n <div class=\"ecl-gallery__item-icon-wrapper\">\n <ecl-icon isInverted class=\"ecl-gallery__item-icon ecl-icon--inverted\" icon=\"play-filled\" size=\"l\"></ecl-icon>\n </div>\n } \n @if(hasGalleryThumbnail) { <!-- TODO: to be removed in v19. Thumbnail should be added by user. -->\n <picture class=\"ecl-picture ecl-gallery__thumbnail\">\n @for(el of galleryPicture?.sources; track el.srcset ) {\n <source [attr.srcset]=\"el.srcset\" [attr.media]=\" el.media\">\n }\n <img class=\"ecl-gallery__image\"\n [attr.src]=\"galleryPicture?.img.src\"\n [attr.alt]=\"galleryPicture?.img.alt\" />\n </picture>\n }\n <ng-content select=\"[eclGalleryPicture], [eclGalleryThumbnail], [eclGalleryMedia], [eclGalleryImage]\"></ng-content>\n <figcaption class=\"ecl-gallery__description\">\n @if(title) {\n <span class=\"ecl-gallery__title\" [id]=\"titleId\">{{title}}</span>\n }\n @if(description) {\n <span class=\"ecl-gallery__caption\">{{ description }}</span>\n }\n @if(icon) {\n <ecl-icon class=\"ecl-gallery__description-icon\" [icon]=\"icon\"></ecl-icon>\n }\n <span class=\"ecl-gallery__meta\">\n {{ meta }}\n </span>\n </figcaption>\n </figure>\n</a>","import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\nimport {\n AfterContentInit,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n Output,\n PLATFORM_ID,\n QueryList,\n ViewChild,\n booleanAttribute,\n numberAttribute,\n} from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\nimport { Subject, delay } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclGalleryFooterComponent } from './ecl-gallery-footer.component';\nimport { EclGalleryItemComponent } from './ecl-gallery-item.component';\nimport { EclGalleryItemEvent } from './events';\nimport { EclGalleryShareEvent } from './events';\nimport { EclGalleryFullScreenEvent } from './events';\nimport { EclGalleryHideEvent } from './events';\nimport { EclGalleryShowEvent } from './events';\n\n@Component({\n selector: 'ecl-gallery',\n templateUrl: './ecl-gallery.component.html',\n standalone: false,\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclGalleryComponent extends ECLBaseDirective implements AfterContentInit, OnDestroy, OnInit {\n\n @Input({ transform: booleanAttribute }) isOpenInFullScreenPossible = true;\n @Input({ transform: booleanAttribute }) isShareable = true;\n @Input({ transform: booleanAttribute }) isFullWidth = false;\n @Input({ transform: booleanAttribute }) isNoOverlay = false;\n @Input({ transform: booleanAttribute }) isShowTitleOnHover = true;\n @Input({ transform: numberAttribute }) maxVisibleItems: number;\n @Input({ transform: booleanAttribute }) isGrid = false;\n @Input({ transform: numberAttribute }) columns: 2 | 3 | 4 | number = 3;\n @Input() gridTemplate: '0' | '1' | '2' | '3' | '4' | string = '0';\n @Input() ratio: '3-1' | '3-2' | string = '3-2';\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() show = new EventEmitter<EclGalleryShowEvent>();\n @Output() hide = new EventEmitter<EclGalleryHideEvent>();\n @Output() openFullScreen = new EventEmitter<EclGalleryFullScreenEvent>();\n @Output() share = new EventEmitter<EclGalleryShareEvent>();\n @Output() itemSwitch = new EventEmitter<EclGalleryItemEvent>();\n @ContentChildren(EclGalleryItemComponent) galleryItems: QueryList<EclGalleryItemComponent>;\n @ContentChild(EclGalleryFooterComponent) galleryFooter: EclGalleryFooterComponent;\n @ViewChild('overlay') overlayChild: ElementRef;\n @ViewChild('header') headerChild: ElementRef;\n @ViewChild('footer') footerChild: ElementRef;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-gallery'),\n this.isFullWidth ? 'ecl-gallery--full-width' : '',\n this.isGrid ? 'ecl-gallery--grid' : '',\n this.isGrid && this.gridTemplate === '0' ? `ecl-gallery--col-${this.columns}` : '',\n this.isGrid ? `ecl-gallery--template-${this.gridTemplate}`: '',\n this.isGrid ? `ecl-gallery--ratio-${this.ratio}`: '',\n !this.isShowTitleOnHover ? 'ecl-gallery--no-hover' : '',\n ].join(' ').trim();\n }\n @HostBinding('attr.role') role = 'region';\n\n isDialogVisible = false;\n isMobile = false;\n itemsCount: number;\n itemIndex: number;\n item: EclGalleryItemComponent;\n private iframeWidth: number;\n private iframeHeight: number;\n private BREAKPOINT_CHANGES_TIMEOUT = 500;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private visibleItems: number;\n private MAX_VISIBLE_ITEMS_MOBILE = 3;\n private RESOLUTION_16_9_PROPOTION = 16 / 9;\n private RESOLUTION_4_3_PROPOTION = 4 / 3;\n\n constructor(private cdkBreakpointObserver: BreakpointObserver, @Inject(PLATFORM_ID) private platformId: object) {\n super();\n }\n\n ngOnInit(): void {\n if (isPlatformBrowser(this.platformId)) {\n this.observeBreakpointChanges();\n }\n }\n\n ngAfterContentInit(): void {\n this.itemsCount = this.galleryItems.length;\n this.visibleItems = this.maxVisibleItems ? this.maxVisibleItems : this.itemsCount;\n if (this.galleryFooter) {\n this.galleryFooter.itemsCount = this.itemsCount;\n this.galleryFooter.isShowToggleBtn = this.hasHiddenGaleryItems();\n this.galleryFooter.toggleItems.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n if (evt.expandAll) {\n this.showAllItems();\n } else {\n this.collapseItems();\n }\n });\n }\n\n if (!this.isNoOverlay) {\n this.galleryItems.forEach((item) => {\n item.itemClick.pipe(takeUntil(this.destroy$)).subscribe((_) => {\n this.isDialogVisible = true;\n this.item = item;\n this.itemIndex = this.findItemIndex(this.galleryItems.toArray(), item);\n this.show.next(new EclGalleryShowEvent());\n if (isPlatformBrowser(this.platformId)) {\n setTimeout(() => this.setIframeDimensions());\n }\n });\n });\n } else {\n this.galleryItems.forEach((item) => (item.isNoOverlay = true));\n }\n\n if (this.hasHiddenGaleryItems()) {\n this.collapseItems();\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n onPrevious(evt: MouseEvent): void {\n this.item = this.findPreviousItem(this.galleryItems.toArray(), this.item);\n\n this.itemIndex = this.findItemIndex(this.galleryItems.toArray(), this.item);\n\n this.itemSwitch.next(new EclGalleryItemEvent(this.item));\n }\n\n onNext(evt: MouseEvent): void {\n this.item = this.findNextItem(this.galleryItems.toArray(), this.item);\n this.itemIndex = this.findItemIndex(this.galleryItems.toArray(), this.item);\n\n this.itemSwitch.next(new EclGalleryItemEvent(this.item));\n }\n\n onClose(evt: MouseEvent): void {\n this.item = null;\n this.itemIndex = -1;\n this.isDialogVisible = false;\n this.hide.next(new EclGalleryHideEvent());\n }\n\n @HostListener('document:keydown.escape', ['$event'])\n onEscapeKeydownHandler(event: KeyboardEvent): void {\n this.isDialogVisible = false;\n this.hide.next(new EclGalleryHideEvent());\n }\n\n onFullScreenOpen(evt: MouseEvent): void {\n this.openFullScreen.next(new EclGalleryFullScreenEvent(this.item));\n }\n\n onShare(evt: MouseEvent): void {\n this.share.next(new EclGalleryShareEvent(this.item));\n evt.preventDefault();\n }\n\n canBeOpenInFullScreen(): boolean {\n return this.isOpenInFullScreenPossible && this.item?.isOpenInFullScreenPossible;\n }\n\n canBeShared(): boolean {\n return this.isShareable && this.item?.isShareable;\n }\n\n getIframeWidth(): number {\n return this.iframeWidth;\n }\n\n getIframeHeight(): number {\n return this.iframeHeight;\n }\n\n setIframeDimensions(): void {\n const { width, height } = this.getCalculatedIframeDimensions();\n this.iframeWidth = width;\n this.iframeHeight = height;\n }\n\n @HostListener('window:resize', ['$event'])\n iframeResize(): void {\n this.setIframeDimensions();\n }\n\n private getCalculatedIframeDimensions(): { width: number; height: number } {\n let width = window.innerWidth;\n let height =\n this.overlayChild.nativeElement.clientHeight -\n this.headerChild.nativeElement.clientHeight -\n this.footerChild.nativeElement.clientHeight;\n if (width > height) {\n const scaledHeight = height * this.RESOLUTION_16_9_PROPOTION;\n if (scaledHeight > width) {\n width = width * 0.95;\n } else {\n width = scaledHeight;\n }\n } else {\n const scaledWith = width * this.RESOLUTION_4_3_PROPOTION;\n if (scaledWith > height) {\n height = height * 0.95;\n } else {\n height = scaledWith;\n }\n }\n return {\n width,\n height,\n };\n }\n\n private findItemIndex(items: Array<EclGalleryItemComponent>, item: EclGalleryItemComponent): number {\n return items.findIndex((it) => it === item) + 1;\n }\n\n private findPreviousItem(items: Array<EclGalleryItemComponent>, item: EclGalleryItemComponent): EclGalleryItemComponent {\n const index = this.findPreviousItemIndex(items, item);\n return items[index];\n }\n\n private findNextItem(items: Array<EclGalleryItemComponent>, item: EclGalleryItemComponent): EclGalleryItemComponent {\n const index = this.findNextItemIndex(items, item);\n return items[index];\n }\n\n private findPreviousItemIndex(items: Array<EclGalleryItemComponent>, item: EclGalleryItemComponent): number {\n const currentIndex = items.findIndex((it) => it === item);\n return currentIndex === 0 ? items.length - 1 : currentIndex - 1;\n }\n\n private findNextItemIndex(items: Array<EclGalleryItemComponent>, item: EclGalleryItemComponent): number {\n const currentIndex = items.findIndex((it) => it === item);\n return currentIndex >= items.length - 1 ? 0 : currentIndex + 1;\n }\n\n private observeBreakpointChanges(): void {\n this.cdkBreakpointObserver\n .observe([Breakpoints.Handset, Breakpoints.Tablet])\n .pipe(takeUntil(this.destroy$), delay(this.BREAKPOINT_CHANGES_TIMEOUT))\n .subscribe((result) => {\n this.isMobile = result.matches;\n if (this.isMobile) {\n this.manageItemsMobile();\n } else {\n this.manageItemsDesktop();\n }\n });\n }\n\n private manageItemsMobile(): void {\n this.maxVisibleItems = this.MAX_VISIBLE_ITEMS_MOBILE;\n this.collapseItems();\n if (this.galleryFooter) {\n this.galleryFooter.isShowToggleBtn = this.hasHiddenGaleryItems();\n }\n }\n\n private manageItemsDesktop(): void {\n this.maxVisibleItems = this.visibleItems;\n this.getVisibleItems().forEach((elem) => this.showGaleryItem(elem));\n this.collapseItems();\n if (this.galleryFooter) {\n this.galleryFooter.isShowToggleBtn = this.hasHiddenGaleryItems();\n }\n }\n\n private hasHiddenGaleryItems(): boolean {\n if (this.maxVisibleItems && this.itemsCount > 0 && this.maxVisibleItems < this.itemsCount) {\n return true;\n } else {\n return false;\n }\n }\n\n private collapseItems(): void {\n this.getHiddenItems().forEach((elem) => this.hideGaleryItem(elem));\n }\n\n private showAllItems(): void {\n const hiddenItems = this.getHiddenItems();\n hiddenItems.forEach((elem) => this.showGaleryItem(elem));\n setTimeout(() => hiddenItems[0].onFocus());\n }\n\n private hideGaleryItem(item: EclGalleryItemComponent): void {\n item.isHidden = true;\n }\n\n private showGaleryItem(item: EclGalleryItemComponent): void {\n item.isHidden = false;\n }\n\n private getHiddenItems(): EclGalleryItemComponent[] {\n return this.galleryItems.filter((item, cnt) => cnt >= this.maxVisibleItems);\n }\n private getVisibleItems(): EclGalleryItemComponent[] {\n return this.galleryItems.filter((item, cnt) => cnt < this.maxVisibleItems);\n }\n}\n","<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=\"ghost\">\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\">\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>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclButtonModule } from '@eui/ecl/components/ecl-button';\nimport { EclIconModule } from '@eui/ecl/components/ecl-icon';\nimport { EclLinkModule } from '@eui/ecl/components/ecl-link';\nimport { EclGalleryComponent } from './ecl-gallery.component';\nimport { EclGalleryItemComponent } from './ecl-gallery-item.component';\nimport { EclGalleryFooterComponent } from './ecl-gallery-footer.component';\nimport {\n EclGalleryMediaDirective,\n EclGalleryPictureDirective,\n EclGalleryThumbnailDirective,\n} from './ecl-gallery-media.directive';\n\nconst COMPONENTS = [\n EclGalleryComponent,\n EclGalleryFooterComponent,\n EclGalleryItemComponent,\n EclGalleryMediaDirective,\n EclGalleryPictureDirective,\n EclGalleryThumbnailDirective,\n];\n@NgModule({\n imports: [CommonModule, TranslateModule, EclButtonModule, EclIconModule, EclLinkModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclGalleryModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i4","i6"],"mappings":";;;;;;;;;;;;;;;;;;;AAGM,MAAO,mBAAoB,SAAQ,YAAY,CAAA;AAAG;AAClD,MAAO,mBAAoB,SAAQ,YAAY,CAAA;AAAG;AAClD,MAAO,yBAA0B,SAAQ,YAAY,CAAA;AAC1D,IAAA,WAAA,CAAmB,WAA2B,EAAA;AAC7C,QAAA,KAAK,EAAE;QADW,IAAW,CAAA,WAAA,GAAX,WAAW;;AAG9B;AACK,MAAO,oBAAqB,SAAQ,YAAY,CAAA;AACrD,IAAA,WAAA,CAAmB,WAA2B,EAAA;AAC7C,QAAA,KAAK,EAAE;QADW,IAAW,CAAA,WAAA,GAAX,WAAW;;AAG9B;;ACXK,MAAO,mBAAoB,SAAQ,YAAY,CAAA;AACpD,IAAA,WAAA,CAAmB,WAA2B,EAAA;AAC7C,QAAA,KAAK,EAAE;QADW,IAAW,CAAA,WAAA,GAAX,WAAW;;AAG9B;;ACLK,MAAO,wBAAyB,SAAQ,YAAY,CAAA;AAAG;;ACAvD,MAAO,0BAA2B,SAAQ,YAAY,CAAA;AAC3D,IAAA,WAAA,CAAmB,SAAkB,EAAA;AACpC,QAAA,KAAK,EAAE;QADW,IAAS,CAAA,SAAA,GAAT,SAAS;;AAG5B;;MCEY,yBAAyB,CAAA;AALtC,IAAA,WAAA,GAAA;QAM8C,IAAQ,CAAA,QAAA,GAAG,IAAI;AAE/C,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAA8B;QAG9D,IAAW,CAAA,WAAA,GAAG,KAAK;QACnB,IAAgB,CAAA,gBAAA,GAAG,KAAK;AAgCnC;IA9BG,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AACd,YAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,UAAU,EAAE;;;AAGzC,IAAA,IAAI,UAAU,GAAA;QACV,OAAO,IAAI,CAAC,WAAW;;IAE3B,IAAI,UAAU,CAAC,KAAc,EAAA;AACzB,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK;;AAG5B,IAAA,IAAI,UAAU,GAAA;QACV,OAAO,IAAI,CAAC,WAAW;;IAE3B,IAAI,UAAU,CAAC,KAAa,EAAA;AACxB,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK;;AAG5B,IAAA,IAAI,eAAe,GAAA;QACf,OAAO,IAAI,CAAC,gBAAgB;;IAEhC,IAAI,eAAe,CAAC,KAAc,EAAA;AAC9B,QAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK;;IAGjC,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW;AACpC,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,0BAA0B,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;;+GArCjE,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,8NCRtC,2zBAqBM,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,SAAA,EAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDbO,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBALrC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,cAElB,KAAK,EAAA,QAAA,EAAA,2zBAAA,EAAA;8BAGyB,QAAQ,EAAA,CAAA;sBAAjD,WAAW;uBAAC,2BAA2B;gBAC/B,MAAM,EAAA,CAAA;sBAAd;gBACS,WAAW,EAAA,CAAA;sBAApB;;;MERQ,qBAAqB,CAAA;AAGjC;MAEY,oBAAoB,CAAA;AAKhC;MAEY,uBAAuB,CAAA;AAGnC;MAEY,sBAAsB,CAAA;AAIlC;AAMK,MAAO,wBAAyB,SAAQ,gBAAgB,CAAA;AAM1D,IAAA,IACI,UAAU,GAAA;QACV,OAAO;AACH,YAAA,KAAK,CAAC,aAAa,CAAC,oBAAoB,CAAC;AACzC,YAAA,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,GAAG,iBAAiB,GAAG,EAAE;AACxD,SAAA,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;;AAItB,IAAA,WAAA,CAAoB,EAAc,EAAA;AAC9B,QAAA,KAAK,EAAE;QADS,IAAE,CAAA,EAAA,GAAF,EAAE;QAbkB,IAAO,CAAA,OAAA,GAAG,KAAK;QACvD,IAAO,CAAA,OAAA,GAAiC,EAAE;QAC1C,IAAM,CAAA,MAAA,GAAgC,EAAE;QASR,IAAO,CAAA,OAAA,GAAG,KAAK;QAI3C,eAAe,CAAC,MAAK;YACjB,IAAI,CAAC,0BAA0B,EAAE;AACrC,SAAC,CAAC;;IAGN,QAAQ,GAAA;QACJ,IAAI,CAAC,YAAY,EAAE;;IAGf,YAAY,GAAA;QAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,OAAO;AAC9C,QAAA,IAAI,CAAC,OAAO,GAAG,QAAQ,KAAK,OAAO;;IAG/B,0BAA0B,GAAA;QAC9B,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,aAAa,EAAE;YACtC;;QAEJ,IAAI,CAAC,cAAc,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAoB,KAAI;AAC9D,YAAA,IAAI,EAAE,CAAC,QAAQ,KAAK,QAAQ,EAAE;AAC1B,gBAAA,MAAM,WAAW,GAAG,IAAI,qBAAqB,EAAE;gBAC/C,WAAW,CAAC,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC;gBACxC,WAAW,CAAC,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC;AAC1C,gBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;;AAC3B,iBAAA,IAAI,EAAE,CAAC,QAAQ,KAAK,OAAO,EAAE;AAChC,gBAAA,MAAM,UAAU,GAAG,IAAI,oBAAoB,EAAE;gBAC7C,UAAU,CAAC,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC;gBACvC,UAAU,CAAC,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC;gBACzC,UAAU,CAAC,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC;gBAC/C,UAAU,CAAC,KAAK,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC;AAC3C,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;;AAEpC,SAAC,CAAC;;IAGE,cAAc,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,EAAE,CAAC,aAAa;;+GArDvB,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,qIAEb,gBAAgB,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAF3B,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAJpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,sCAAsC;AAChD,oBAAA,UAAU,EAAE,KAAK;AACpB,iBAAA;+EAEY,MAAM,EAAA,CAAA;sBAAd;gBACuC,OAAO,EAAA,CAAA;sBAA9C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAKlC,UAAU,EAAA,CAAA;sBADb,WAAW;uBAAC,OAAO;gBAOY,OAAO,EAAA,CAAA;sBAAtC,WAAW;uBAAC,iBAAiB;;AAgD5B,MAAO,0BAA2B,SAAQ,gBAAgB,CAAA;AAO5D,IAAA,IACI,UAAU,GAAA;AACV,QAAA,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,WAAW,GAAG,wBAAwB,GAAE,sBAAsB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;;IAGrI,WAAoB,CAAA,EAAc,EAAU,EAAqB,EAAA;AAC7D,QAAA,KAAK,EAAE;QADS,IAAE,CAAA,EAAA,GAAF,EAAE;QAAsB,IAAE,CAAA,EAAA,GAAF,EAAE;;QAT9C,IAAW,CAAA,WAAA,GAAG,KAAK;QACnB,IAAO,CAAA,OAAA,GAAmC,EAAE;QAC5C,IAAG,CAAA,GAAA,GAA0B,EAAE;QAS3B,eAAe,CAAC,MAAK;YACjB,IAAI,CAAC,4BAA4B,EAAE;AACvC,SAAC,CAAC;;IAGE,4BAA4B,GAAA;QAChC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,aAAa,EAAE,EAAE;YACxC;;QAEJ,IAAI,CAAC,cAAc,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAwC,KAAI;AAClF,YAAA,IAAI,EAAE,CAAC,QAAQ,KAAK,QAAQ,EAAE;AAC1B,gBAAA,MAAM,aAAa,GAAG,IAAI,uBAAuB,EAAE;gBACnD,aAAa,CAAC,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC;gBAChD,aAAa,CAAC,KAAK,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC;AAC9C,gBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC;;AAC7B,iBAAA,IAAI,EAAE,CAAC,QAAQ,KAAK,KAAK,EAAE;AAC9B,gBAAA,MAAM,WAAW,GAAG,IAAI,sBAAsB,EAAE;gBAChD,WAAW,CAAC,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC;gBACxC,WAAW,CAAC,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC;gBACxC,WAAW,CAAC,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC;gBAChD,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,WAAW,CAAC,GAAG;gBAC9B,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,WAAW,CAAC,GAAG;gBAC9B,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO;;AAG1C,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE;AAC3B,SAAC,CAAC;;IAGE,cAAc,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,EAAE,CAAC,aAAa;;+GA5CvB,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAA1B,0BAA0B,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAJtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,4BAA4B;AACtC,oBAAA,UAAU,EAAE,KAAK;AACpB,iBAAA;+GASO,UAAU,EAAA,CAAA;sBADb,WAAW;uBAAC,OAAO;;AA6ClB,MAAO,4BAA6B,SAAQ,gBAAgB,CAAA;AAJlE,IAAA,WAAA,GAAA;;QASoF,IAAO,CAAA,OAAA,GAAG,KAAK;AAClG;AALG,IAAA,IACI,UAAU,GAAA;AACV,QAAA,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,oCAAoC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;;+GAH9E,4BAA4B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,2GAKjB,gBAAgB,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,yBAAA,EAAA,cAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAL3B,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAJxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,8BAA8B;AACxC,oBAAA,UAAU,EAAE,KAAK;AACpB,iBAAA;8BAGO,UAAU,EAAA,CAAA;sBADb,WAAW;uBAAC,OAAO;gBAI4D,OAAO,EAAA,CAAA;sBAAtF,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;sBAAG,WAAW;uBAAC,yBAAyB;;;ACjI5E,MAAO,uBAAwB,SAAQ,gBAAgB,CAAA;AAezD,IAAA,IACI,UAAU,GAAA;AACV,QAAA,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,EAAE,IAAI,CAAC,SAAS,GAAG,2BAA2B,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;;AAQzH,IAAA,WAAA,CACY,YAA0B,EAAU,QAAmB,EACvD,EAAc,EAAA;AAEtB,QAAA,KAAK,EAAE;QAHC,IAAY,CAAA,YAAA,GAAZ,YAAY;QAAwB,IAAQ,CAAA,QAAA,GAAR,QAAQ;QAC5C,IAAE,CAAA,EAAA,GAAF,EAAE;QA1B0B,IAAW,CAAA,WAAA,GAAG,IAAI;QACjD,IAAS,CAAA,SAAA,GAAwC,OAAO;AAQvD,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAA4B;QASxC,IAAI,CAAA,IAAA,GAAG,UAAU;QAEnC,IAAY,CAAA,YAAA,GAAG,KAAK;QACpB,IAAS,CAAA,SAAA,GAAG,KAAK;;IAUzB,QAAQ,GAAA;AACJ,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE;YACtB,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;YACnC,IAAI,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;AACpC,gBAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,8BAA8B,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;;iBAC3F;AACH,gBAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,8BAA8B,CAAC,IAAI,CAAC,GAAG,CAAC;;;AAI1F,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AACd,YAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,UAAU,EAAE;;;;IAKzC,kBAAkB,GAAA;AACd,QAAA,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AAChE,YAAA,IAAI,CAAC,cAAc,CAAC,WAAW,GAAG,IAAI;;;IAI9C,IAAI,QAAQ,CAAC,KAAc,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK;;AAI1B,IAAA,WAAW,CAAC,GAAe,EAAA;QACvB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,wBAAwB,EAAE,CAAC;QACnD,GAAG,CAAC,cAAc,EAAE;;IAGxB,eAAe,GAAA;QACX,OAAO,IAAI,CAAC,GAAG;;IAGnB,mBAAmB,GAAA;QACf,OAAO,IAAI,CAAC,gBAAgB;;AAGhC,IAAA,IAAI,WAAW,GAAA;QACX,OAAO,IAAI,CAAC,YAAY;;IAG5B,IAAI,WAAW,CAAC,KAAc,EAAA;AAC1B,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK;;AAG7B,IAAA,IAAI,OAAO,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,SAAS,KAAK,OAAO;;AAGrC,IAAA,IAAI,OAAO,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,SAAS,KAAK,OAAO;;AAGrC,IAAA,IAAI,eAAe,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,SAAS,KAAK,eAAe;;AAG7C,IAAA,IAAI,0BAA0B,GAAA;AAC1B,QAAA,OAAO,IAAI,CAAC,SAAS,KAAK,eAAe;;AAG7C,IAAA,IAAI,OAAO,GAAA;AACP,QAAA,OAAO,CAAG,EAAA,IAAI,CAAC,MAAM,QAAQ;;AAGjC,IAAA,IAAI,mBAAmB,GAAA;QACnB,OAAO,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,OAAO;;IAGjD,OAAO,GAAA;QACH,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE;;+GAzG3E,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAvB,uBAAuB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,CAAA,aAAA,EAAA,aAAA,EACZ,gBAAgB,CAUtB,EAAA,SAAA,EAAA,WAAA,EAAA,GAAA,EAAA,KAAA,EAAA,IAAA,EAAA,MAAA,EAAA,WAAA,EAAA,aAAA,EAAA,uBAAA,EAAA,yBAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,WAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,wBAAwB,mFACxB,4BAA4B,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAC5B,0BAA0B,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChC5C,uqDAiCI,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,OAAA,EAAA,YAAA,EAAA,WAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDdS,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,cAEhB,KAAK,EAAA,QAAA,EAAA,uqDAAA,EAAA;kIAGuB,WAAW,EAAA,CAAA;sBAAlD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAC7B,SAAS,EAAA,CAAA;sBAAjB;gBACQ,GAAG,EAAA,CAAA;sBAAX;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,uBAAuB,EAAA,CAAA;sBAA/B;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,MAAM,EAAA,CAAA;sBAAd;gBACS,SAAS,EAAA,CAAA;sBAAlB;gBACuC,UAAU,EAAA,CAAA;sBAAjD,YAAY;uBAAC,wBAAwB;gBACM,gBAAgB,EAAA,CAAA;sBAA3D,YAAY;uBAAC,4BAA4B;gBACA,cAAc,EAAA,CAAA;sBAAvD,YAAY;uBAAC,0BAA0B;gBAGpC,UAAU,EAAA,CAAA;sBADb,WAAW;uBAAC,OAAO;gBAIM,IAAI,EAAA,CAAA;sBAA7B,WAAW;uBAAC,WAAW;gBAwCxB,WAAW,EAAA,CAAA;sBADV,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;;;AEhC/B,MAAO,mBAAoB,SAAQ,gBAAgB,CAAA;AAyBrD,IAAA,IACI,UAAU,GAAA;AACV,QAAA,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC;YACtC,IAAI,CAAC,WAAW,GAAG,yBAAyB,GAAG,EAAE;YACjD,IAAI,CAAC,MAAM,GAAG,mBAAmB,GAAG,EAAE;AACtC,YAAA,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,YAAY,KAAK,GAAG,GAAG,CAAA,iBAAA,EAAoB,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;AAClF,YAAA,IAAI,CAAC,MAAM,GAAG,CAAA,sBAAA,EAAyB,IAAI,CAAC,YAAY,CAAA,CAAE,GAAE,EAAE;AAC9D,YAAA,IAAI,CAAC,MAAM,GAAG,CAAA,mBAAA,EAAsB,IAAI,CAAC,KAAK,CAAA,CAAE,GAAE,EAAE;YACpD,CAAC,IAAI,CAAC,kBAAkB,GAAG,uBAAuB,GAAG,EAAE;AAC1D,SAAA,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;;IAkBtB,WAAoB,CAAA,qBAAyC,EAA+B,UAAkB,EAAA;AAC1G,QAAA,KAAK,EAAE;QADS,IAAqB,CAAA,qBAAA,GAArB,qBAAqB;QAAmD,IAAU,CAAA,UAAA,GAAV,UAAU;QAlD9D,IAA0B,CAAA,0BAAA,GAAG,IAAI;QACjC,IAAW,CAAA,WAAA,GAAG,IAAI;QAClB,IAAW,CAAA,WAAA,GAAG,KAAK;QACnB,IAAW,CAAA,WAAA,GAAG,KAAK;QACnB,IAAkB,CAAA,kBAAA,GAAG,IAAI;QAEzB,IAAM,CAAA,MAAA,GAAG,KAAK;QACf,IAAO,CAAA,OAAA,GAAuB,CAAC;QAC7D,IAAY,CAAA,YAAA,GAAyC,GAAG;QACxD,IAAK,CAAA,KAAA,GAA2B,KAAK;;AAGpC,QAAA,IAAA,CAAA,IAAI,GAAG,IAAI,YAAY,EAAuB;AAC9C,QAAA,IAAA,CAAA,IAAI,GAAG,IAAI,YAAY,EAAuB;AAC9C,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAA6B;AAC9D,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,YAAY,EAAwB;AAChD,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAuB;QAkBpC,IAAI,CAAA,IAAA,GAAG,QAAQ;QAEzC,IAAe,CAAA,eAAA,GAAG,KAAK;QACvB,IAAQ,CAAA,QAAA,GAAG,KAAK;QAMR,IAA0B,CAAA,0BAAA,GAAG,GAAG;AAChC,QAAA,IAAA,CAAA,QAAQ,GAAqB,IAAI,OAAO,EAAW;QAEnD,IAAwB,CAAA,wBAAA,GAAG,CAAC;AAC5B,QAAA,IAAA,CAAA,yBAAyB,GAAG,EAAE,GAAG,CAAC;AAClC,QAAA,IAAA,CAAA,wBAAwB,GAAG,CAAC,GAAG,CAAC;;IAMxC,QAAQ,GAAA;AACJ,QAAA,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YACpC,IAAI,CAAC,wBAAwB,EAAE;;;IAIvC,kBAAkB,GAAA;QACd,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM;AAC1C,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU;AACjF,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;YACpB,IAAI,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU;YAC/C,IAAI,CAAC,aAAa,CAAC,eAAe,GAAG,IAAI,CAAC,oBAAoB,EAAE;YAChE,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,KAAI;AAC5E,gBAAA,IAAI,GAAG,CAAC,SAAS,EAAE;oBACf,IAAI,CAAC,YAAY,EAAE;;qBAChB;oBACH,IAAI,CAAC,aAAa,EAAE;;AAE5B,aAAC,CAAC;;AAGN,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACnB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AAC/B,gBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAI;AAC1D,oBAAA,IAAI,CAAC,eAAe,GAAG,IAAI;AAC3B,oBAAA,IAAI,CAAC,IAAI,GAAG,IAAI;AAChB,oBAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC;oBACtE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,mBAAmB,EAAE,CAAC;AACzC,oBAAA,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;wBACpC,UAAU,CAAC,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;;AAEpD,iBAAC,CAAC;AACN,aAAC,CAAC;;aACC;AACH,YAAA,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,MAAM,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;;AAGlE,QAAA,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE;YAC7B,IAAI,CAAC,aAAa,EAAE;;;IAI5B,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;AACxB,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;;AAG/B,IAAA,UAAU,CAAC,GAAe,EAAA;AACtB,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC;AAEzE,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC;AAE3E,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;AAG5D,IAAA,MAAM,CAAC,GAAe,EAAA;AAClB,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC;AACrE,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC;AAE3E,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;AAG5D,IAAA,OAAO,CAAC,GAAe,EAAA;AACnB,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI;AAChB,QAAA,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;AACnB,QAAA,IAAI,CAAC,eAAe,GAAG,KAAK;QAC5B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,mBAAmB,EAAE,CAAC;;AAI7C,IAAA,sBAAsB,CAAC,KAAoB,EAAA;AACvC,QAAA,IAAI,CAAC,eAAe,GAAG,KAAK;QAC5B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,mBAAmB,EAAE,CAAC;;AAG7C,IAAA,gBAAgB,CAAC,GAAe,EAAA;AAC5B,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;AAGtE,IAAA,OAAO,CAAC,GAAe,EAAA;AACnB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,GAAG,CAAC,cAAc,EAAE;;IAGxB,qBAAqB,GAAA;QACjB,OAAO,IAAI,CAAC,0BAA0B,IAAI,IAAI,CAAC,IAAI,EAAE,0BAA0B;;IAGnF,WAAW,GAAA;QACP,OAAO,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,EAAE,WAAW;;IAGrD,cAAc,GAAA;QACV,OAAO,IAAI,CAAC,WAAW;;IAG3B,eAAe,GAAA;QACX,OAAO,IAAI,CAAC,YAAY;;IAG5B,mBAAmB,GAAA;QACf,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,6BAA6B,EAAE;AAC9D,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK;AACxB,QAAA,IAAI,CAAC,YAAY,GAAG,MAAM;;IAI9B,YAAY,GAAA;QACR,IAAI,CAAC,mBAAmB,EAAE;;IAGtB,6BAA6B,GAAA;AACjC,QAAA,IAAI,KAAK,GAAG,MAAM,CAAC,UAAU;QAC7B,IAAI,MAAM,GACN,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,YAAY;AAC5C,YAAA,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,YAAY;AAC3C,YAAA,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,YAAY;AAC/C,QAAA,IAAI,KAAK,GAAG,MAAM,EAAE;AAChB,YAAA,MAAM,YAAY,GAAG,MAAM,GAAG,IAAI,CAAC,yBAAyB;AAC5D,YAAA,IAAI,YAAY,GAAG,KAAK,EAAE;AACtB,gBAAA,KAAK,GAAG,KAAK,GAAG,IAAI;;iBACjB;gBACH,KAAK,GAAG,YAAY;;;aAErB;AACH,YAAA,MAAM,UAAU,GAAG,KAAK,GAAG,IAAI,CAAC,wBAAwB;AACxD,YAAA,IAAI,UAAU,GAAG,MAAM,EAAE;AACrB,gBAAA,MAAM,GAAG,MAAM,GAAG,IAAI;;iBACnB;gBACH,MAAM,GAAG,UAAU;;;QAG3B,OAAO;YACH,KAAK;YACL,MAAM;SACT;;IAGG,aAAa,CAAC,KAAqC,EAAE,IAA6B,EAAA;AACtF,QAAA,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC;;IAG3C,gBAAgB,CAAC,KAAqC,EAAE,IAA6B,EAAA;QACzF,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,IAAI,CAAC;AACrD,QAAA,OAAO,KAAK,CAAC,KAAK,CAAC;;IAGf,YAAY,CAAC,KAAqC,EAAE,IAA6B,EAAA;QACrF,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC;AACjD,QAAA,OAAO,KAAK,CAAC,KAAK,CAAC;;IAGf,qBAAqB,CAAC,KAAqC,EAAE,IAA6B,EAAA;AAC9F,QAAA,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,IAAI,CAAC;AACzD,QAAA,OAAO,YAAY,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,YAAY,GAAG,CAAC;;IAG3D,iBAAiB,CAAC,KAAqC,EAAE,IAA6B,EAAA;AAC1F,QAAA,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,IAAI,CAAC;AACzD,QAAA,OAAO,YAAY,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,YAAY,GAAG,CAAC;;IAG1D,wBAAwB,GAAA;AAC5B,QAAA,IAAI,CAAC;aACA,OAAO,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC;AACjD,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC;AACrE,aAAA,SAAS,CAAC,CAAC,MAAM,KAAI;AAClB,YAAA,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO;AAC9B,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACf,IAAI,CAAC,iBAAiB,EAAE;;iBACrB;gBACH,IAAI,CAAC,kBAAkB,EAAE;;AAEjC,SAAC,CAAC;;IAGF,iBAAiB,GAAA;AACrB,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,wBAAwB;QACpD,IAAI,CAAC,aAAa,EAAE;AACpB,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;YACpB,IAAI,CAAC,aAAa,CAAC,eAAe,GAAG,IAAI,CAAC,oBAAoB,EAAE;;;IAIhE,kBAAkB,GAAA;AACtB,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,YAAY;AACxC,QAAA,IAAI,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACnE,IAAI,CAAC,aAAa,EAAE;AACpB,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;YACpB,IAAI,CAAC,aAAa,CAAC,eAAe,GAAG,IAAI,CAAC,oBAAoB,EAAE;;;IAIhE,oBAAoB,GAAA;AACxB,QAAA,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,EAAE;AACvF,YAAA,OAAO,IAAI;;aACR;AACH,YAAA,OAAO,KAAK;;;IAIZ,aAAa,GAAA;AACjB,QAAA,IAAI,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;;IAG9D,YAAY,GAAA;AAChB,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE;AACzC,QAAA,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AACxD,QAAA,UAAU,CAAC,MAAM,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;;AAGtC,IAAA,cAAc,CAAC,IAA6B,EAAA;AAChD,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;;AAGhB,IAAA,cAAc,CAAC,IAA6B,EAAA;AAChD,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;;IAGjB,cAAc,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,IAAI,IAAI,CAAC,eAAe,CAAC;;IAEvE,eAAe,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC;;AAvRrE,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,sDAoD2C,WAAW,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGApDzE,mBAAmB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,0BAAA,EAAA,CAAA,4BAAA,EAAA,4BAAA,EAER,gBAAgB,CAChB,EAAA,WAAA,EAAA,CAAA,aAAA,EAAA,aAAA,EAAA,gBAAgB,+CAChB,gBAAgB,CAAA,EAAA,WAAA,EAAA,CAAA,aAAA,EAAA,aAAA,EAChB,gBAAgB,CAChB,EAAA,kBAAA,EAAA,CAAA,oBAAA,EAAA,oBAAA,EAAA,gBAAgB,2DAChB,eAAe,CAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EACf,gBAAgB,CAChB,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,eAAe,gbAWrB,yBAAyB,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,SAAA,EADtB,uBAAuB,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,QAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,QAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChE5C,01LAoHc,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,SAAA,EAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,OAAA,EAAA,YAAA,EAAA,WAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,YAAA,EAAA,aAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDvED,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAZ/B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,cAEX,KAAK,EAAA,QAAA,EAAA,01LAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA;;0BA6D+C,MAAM;2BAAC,WAAW;yCAlD1C,0BAA0B,EAAA,CAAA;sBAAjE,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACE,WAAW,EAAA,CAAA;sBAAlD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACE,WAAW,EAAA,CAAA;sBAAlD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACE,WAAW,EAAA,CAAA;sBAAlD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACE,kBAAkB,EAAA,CAAA;sBAAzD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACC,eAAe,EAAA,CAAA;sBAArD,KAAK;uBAAC,EAAE,SAAS,EAAE,eAAe,EAAE;gBACG,MAAM,EAAA,CAAA;sBAA7C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACC,OAAO,EAAA,CAAA;sBAA7C,KAAK;uBAAC,EAAE,SAAS,EAAE,eAAe,EAAE;gBAC5B,YAAY,EAAA,CAAA;sBAApB;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBAGS,IAAI,EAAA,CAAA;sBAAb;gBACS,IAAI,EAAA,CAAA;sBAAb;gBACS,cAAc,EAAA,CAAA;sBAAvB;gBACS,KAAK,EAAA,CAAA;sBAAd;gBACS,UAAU,EAAA,CAAA;sBAAnB;gBACyC,YAAY,EAAA,CAAA;sBAArD,eAAe;uBAAC,uBAAuB;gBACC,aAAa,EAAA,CAAA;sBAArD,YAAY;uBAAC,yBAAyB;gBACjB,YAAY,EAAA,CAAA;sBAAjC,SAAS;uBAAC,SAAS;gBACC,WAAW,EAAA,CAAA;sBAA/B,SAAS;uBAAC,QAAQ;gBACE,WAAW,EAAA,CAAA;sBAA/B,SAAS;uBAAC,QAAQ;gBAGf,UAAU,EAAA,CAAA;sBADb,WAAW;uBAAC,OAAO;gBAWM,IAAI,EAAA,CAAA;sBAA7B,WAAW;uBAAC,WAAW;gBA0FxB,sBAAsB,EAAA,CAAA;sBADrB,YAAY;uBAAC,yBAAyB,EAAE,CAAC,QAAQ,CAAC;gBAsCnD,YAAY,EAAA,CAAA;sBADX,YAAY;uBAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;;;AEhM7C,MAAM,UAAU,GAAG;IACf,mBAAmB;IACnB,yBAAyB;IACzB,uBAAuB;IACvB,wBAAwB;IACxB,0BAA0B;IAC1B,4BAA4B;CAC/B;MAMY,gBAAgB,CAAA;+GAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,iBAZzB,mBAAmB;YACnB,yBAAyB;YACzB,uBAAuB;YACvB,wBAAwB;YACxB,0BAA0B;YAC1B,4BAA4B,CAAA,EAAA,OAAA,EAAA,CAGlB,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,CAAA,EAAA,OAAA,EAAA,CARtF,mBAAmB;YACnB,yBAAyB;YACzB,uBAAuB;YACvB,wBAAwB;YACxB,0BAA0B;YAC1B,4BAA4B,CAAA,EAAA,CAAA,CAAA;gHAOnB,gBAAgB,EAAA,OAAA,EAAA,CAJf,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,CAAA,EAAA,CAAA,CAAA;;4FAI7E,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAL5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,CAAC;AACvF,oBAAA,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC;AACxB,oBAAA,YAAY,EAAE,CAAC,GAAG,UAAU,CAAC;AAChC,iBAAA;;;AC3BD;;AAEG;;;;"}
|
|
@@ -11,10 +11,10 @@ class EclHelpBlockDirective extends ECLBaseDirective {
|
|
|
11
11
|
get cssClasses() {
|
|
12
12
|
return [super.getCssClasses('ecl-help-block'), this.isDisabled ? 'ecl-help-block--disabled' : ''].join(' ').trim();
|
|
13
13
|
}
|
|
14
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
15
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.2.
|
|
14
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: EclHelpBlockDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
15
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.2.12", type: EclHelpBlockDirective, isStandalone: false, selector: "[eclHelpBlock]", inputs: { isDisabled: ["isDisabled", "isDisabled", booleanAttribute] }, host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0 }); }
|
|
16
16
|
}
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: EclHelpBlockDirective, decorators: [{
|
|
18
18
|
type: Directive,
|
|
19
19
|
args: [{
|
|
20
20
|
selector: '[eclHelpBlock]',
|
|
@@ -29,11 +29,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImpor
|
|
|
29
29
|
}] } });
|
|
30
30
|
|
|
31
31
|
class EclHelpBlockModule {
|
|
32
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
33
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.
|
|
34
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.
|
|
32
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: EclHelpBlockModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
33
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.12", ngImport: i0, type: EclHelpBlockModule, declarations: [EclHelpBlockDirective], imports: [CommonModule], exports: [EclHelpBlockDirective] }); }
|
|
34
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: EclHelpBlockModule, imports: [CommonModule] }); }
|
|
35
35
|
}
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: EclHelpBlockModule, decorators: [{
|
|
37
37
|
type: NgModule,
|
|
38
38
|
args: [{
|
|
39
39
|
imports: [CommonModule],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-ecl-components-ecl-help-block.mjs","sources":["../../components/ecl-help-block/ecl-help-block.directive.ts","../../components/ecl-help-block/ecl-help-block.module.ts","../../components/ecl-help-block/eui-ecl-components-ecl-help-block.ts"],"sourcesContent":["import { Directive, HostBinding, Input, booleanAttribute } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Directive({\n selector: '[eclHelpBlock]',\n standalone: false,\n})\nexport class EclHelpBlockDirective extends ECLBaseDirective {\n @Input({ transform: booleanAttribute }) isDisabled = false;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-help-block'), this.isDisabled ? 'ecl-help-block--disabled' : ''].join(' ').trim();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclHelpBlockDirective } from './ecl-help-block.directive';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [EclHelpBlockDirective],\n exports: [EclHelpBlockDirective],\n})\nexport class EclHelpBlockModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAOM,MAAO,qBAAsB,SAAQ,gBAAgB,CAAA;AAJ3D,IAAA,WAAA,GAAA;;QAK4C,IAAU,CAAA,UAAA,GAAG,KAAK;AAM7D;AAJG,IAAA,IACI,UAAU,GAAA;AACV,QAAA,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,EAAE,IAAI,CAAC,UAAU,GAAG,0BAA0B,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE
|
|
1
|
+
{"version":3,"file":"eui-ecl-components-ecl-help-block.mjs","sources":["../../components/ecl-help-block/ecl-help-block.directive.ts","../../components/ecl-help-block/ecl-help-block.module.ts","../../components/ecl-help-block/eui-ecl-components-ecl-help-block.ts"],"sourcesContent":["import { Directive, HostBinding, Input, booleanAttribute } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Directive({\n selector: '[eclHelpBlock]',\n standalone: false,\n})\nexport class EclHelpBlockDirective extends ECLBaseDirective {\n @Input({ transform: booleanAttribute }) isDisabled = false;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-help-block'), this.isDisabled ? 'ecl-help-block--disabled' : ''].join(' ').trim();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclHelpBlockDirective } from './ecl-help-block.directive';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [EclHelpBlockDirective],\n exports: [EclHelpBlockDirective],\n})\nexport class EclHelpBlockModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAOM,MAAO,qBAAsB,SAAQ,gBAAgB,CAAA;AAJ3D,IAAA,WAAA,GAAA;;QAK4C,IAAU,CAAA,UAAA,GAAG,KAAK;AAM7D;AAJG,IAAA,IACI,UAAU,GAAA;AACV,QAAA,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,EAAE,IAAI,CAAC,UAAU,GAAG,0BAA0B,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;;+GAL7G,qBAAqB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,sGACV,gBAAgB,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAD3B,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,UAAU,EAAE,KAAK;AACpB,iBAAA;8BAE2C,UAAU,EAAA,CAAA;sBAAjD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAGlC,UAAU,EAAA,CAAA;sBADb,WAAW;uBAAC,OAAO;;;MCDX,kBAAkB,CAAA;+GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,EAHZ,YAAA,EAAA,CAAA,qBAAqB,CAD1B,EAAA,OAAA,EAAA,CAAA,YAAY,aAEZ,qBAAqB,CAAA,EAAA,CAAA,CAAA;AAEtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,YAJjB,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAIb,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAL9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,YAAY,EAAE,CAAC,qBAAqB,CAAC;oBACrC,OAAO,EAAE,CAAC,qBAAqB,CAAC;AACnC,iBAAA;;;ACRD;;AAEG;;;;"}
|
|
@@ -96,10 +96,10 @@ class EclIconComponent {
|
|
|
96
96
|
this.ariaHidden = true;
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
100
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
|
99
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: EclIconComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.EclThemeService }, { token: forwardRef(() => ECLBaseDirective) }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
100
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.12", type: EclIconComponent, isStandalone: false, selector: "ecl-icon", inputs: { iconSet: "iconSet", icon: "icon", size: "size", color: "color", transform: "transform", ariaLabelledby: "ariaLabelledby", role: "role", title: "title", ariaHidden: ["ariaHidden", "ariaHidden", booleanAttribute], focusable: ["focusable", "focusable", booleanAttribute], isFlipHorizontal: ["isFlipHorizontal", "isFlipHorizontal", booleanAttribute] }, host: { properties: { "class.ecl-icon--flip-horizontal": "this.isFlipHorizontal", "class.ecl-u-bg-dark": "this.isColorInverted" } }, viewQueries: [{ propertyName: "svgEl", first: true, predicate: ["svg"], descendants: true }], usesOnChanges: true, hostDirectives: [{ directive: i1.ECLBaseDirective }], ngImport: i0, template: "<svg\n #svg\n [ngClass]=\"getClasses()\"\n [attr.aria-hidden]=\"ariaHidden\"\n [attr.aria-labelledby]=\"ariaLabelledby || null\"\n [attr.role]=\"role || null\"\n [attr.focusable]=\"focusable\">\n @if (title) {\n <title>{{title}}</title>\n }\n <use [attr.xlink:href]=\"iconUrl$ | async\"></use>\n <ng-content></ng-content>\n</svg>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] }); }
|
|
101
101
|
}
|
|
102
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
102
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: EclIconComponent, decorators: [{
|
|
103
103
|
type: Component,
|
|
104
104
|
args: [{ selector: 'ecl-icon', standalone: false, hostDirectives: [
|
|
105
105
|
{
|
|
@@ -146,11 +146,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImpor
|
|
|
146
146
|
}] } });
|
|
147
147
|
|
|
148
148
|
class EclIconModule {
|
|
149
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
150
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.
|
|
151
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.
|
|
149
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: EclIconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
150
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.12", ngImport: i0, type: EclIconModule, declarations: [EclIconComponent], imports: [CommonModule], exports: [EclIconComponent] }); }
|
|
151
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: EclIconModule, imports: [CommonModule] }); }
|
|
152
152
|
}
|
|
153
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
153
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: EclIconModule, decorators: [{
|
|
154
154
|
type: NgModule,
|
|
155
155
|
args: [{
|
|
156
156
|
imports: [CommonModule],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-ecl-components-ecl-icon.mjs","sources":["../../components/ecl-icon/ecl-icon.component.ts","../../components/ecl-icon/ecl-icon.component.html","../../components/ecl-icon/ecl-icon.module.ts","../../components/ecl-icon/eui-ecl-components-ecl-icon.ts"],"sourcesContent":["import {\n AfterViewInit, Component, ElementRef,\n HostBinding, Inject, Input, OnChanges, OnDestroy, OnInit, Renderer2, SimpleChanges, ViewChild, booleanAttribute, forwardRef,\n} from '@angular/core';\nimport { Observable, of, switchMap } from 'rxjs';\nimport { EclThemeService } from '@eui/ecl/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Component({\n selector: 'ecl-icon',\n templateUrl: './ecl-icon.component.html',\n standalone: false,\n hostDirectives: [\n {\n directive: ECLBaseDirective,\n },\n ],\n})\nexport class EclIconComponent implements OnInit, OnChanges, AfterViewInit, OnDestroy {\n @Input() iconSet: 'default' | 'social' | 'social-media' | 'flag' | string = 'default';\n @Input() icon: string;\n @Input() size: '2xs' | 'xs' | 's' | 'm' | 'l' | 'xl' | '2xl' | 'fluid' | string = 'xs';\n @Input() color: 'inverted' | 'primary' | null = null;\n @Input() transform: string;\n @Input() ariaLabelledby: string;\n @Input() role: string;\n @Input() title: string;\n @Input({ transform: booleanAttribute }) ariaHidden: boolean;\n @Input({ transform: booleanAttribute }) focusable = false;\n @Input({ transform: booleanAttribute }) @HostBinding('class.ecl-icon--flip-horizontal') isFlipHorizontal = false;\n\n @HostBinding('class.ecl-u-bg-dark')\n get isColorInverted(): boolean {\n return this.color === 'inverted';\n }\n\n @ViewChild('svg') svgEl: ElementRef;\n\n iconUrl$: Observable<string>;\n baseDirective: ECLBaseDirective;\n\n constructor(\n public el: ElementRef,\n private renderer: Renderer2,\n private eclThemeService: EclThemeService,\n @Inject(forwardRef(() => ECLBaseDirective)) baseDirective,\n ) {\n this.baseDirective = baseDirective;\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['icon']) {\n this.initiateIconUrl();\n }\n }\n\n ngOnInit(): void {\n this.initiateIconUrl();\n this.overrideRoleValueBasedOnTitle();\n this.overrideAriaLabelValueBasedOnTitle();\n }\n\n ngAfterViewInit(): void {\n const hostEl: HTMLElement = this.el.nativeElement;\n const hostParentEl = hostEl.parentElement;\n\n if (hostParentEl != null) {\n // add the svg and remove the parent from the DOM\n this.renderer.setStyle(hostEl, 'visibility', 'hidden');\n hostEl.after(this.svgEl.nativeElement);\n this.renderer.removeChild(hostParentEl, hostEl);\n }\n }\n\n ngOnDestroy(): void {\n try {\n if (this.svgEl) {\n const hostParentEl = this.svgEl.nativeElement.parentElement;\n if (hostParentEl) {\n hostParentEl.removeChild(this.svgEl.nativeElement);\n }\n }\n } catch (e) {\n /* empty */\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n getClasses(): { [x: string]: any } {\n const hostClasses = this.el.nativeElement.classList.toString();\n return {\n [this.baseDirective.getCssClasses('ecl-icon')]: true,\n [`ecl-icon--${this.size}`]: this.size,\n [`ecl-icon--${this.transform}`]: this.transform,\n [`ecl-icon--${this.color}`]: this.color,\n [hostClasses]: true,\n };\n }\n\n private initiateIconUrl(): void {\n this.iconUrl$ = this.eclThemeService.theme$.pipe(\n switchMap((theme) => {\n switch (this.iconSet) {\n case 'default':\n return of(`assets/images/ecl/${theme}/icons/sprites/icons.svg#${this.icon}`);\n case 'social':\n return of(`assets/images/ecl/${theme}/social-icons/sprites/icons-social.svg#${this.icon}`);\n case 'social-media':\n return of(`assets/images/ecl/${theme}/icons-social-media/sprites/icons-social-media.svg#${this.icon}`);\n case 'flag':\n return of(`assets/images/ecl/${theme}/icons-flag/sprites/icons-flag.svg#${this.icon}`);\n case 'flag-non-members':\n return of(`assets/images/ecl/${theme}/icons-flag/sprites/icons-flag-non-members.svg#${this.icon}`);\n default:\n return of(`${this.iconSet}#${this.icon}`);\n }\n }),\n );\n }\n\n private overrideRoleValueBasedOnTitle(): void {\n if (this.title !== undefined && this.role === undefined) {\n this.role = 'img';\n }\n }\n\n private overrideAriaLabelValueBasedOnTitle(): void {\n if (this.title !== undefined && this.ariaHidden === undefined) {\n this.ariaHidden = false;\n } else if (this.ariaHidden === undefined) {\n this.ariaHidden = true;\n }\n }\n}\n","<svg\n #svg\n [ngClass]=\"getClasses()\"\n [attr.aria-hidden]=\"ariaHidden\"\n [attr.aria-labelledby]=\"ariaLabelledby || null\"\n [attr.role]=\"role || null\"\n [attr.focusable]=\"focusable\">\n @if (title) {\n <title>{{title}}</title>\n }\n <use [attr.xlink:href]=\"iconUrl$ | async\"></use>\n <ng-content></ng-content>\n</svg>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclIconComponent } from './ecl-icon.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [EclIconComponent],\n declarations: [EclIconComponent],\n})\nexport class EclIconModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"eui-ecl-components-ecl-icon.mjs","sources":["../../components/ecl-icon/ecl-icon.component.ts","../../components/ecl-icon/ecl-icon.component.html","../../components/ecl-icon/ecl-icon.module.ts","../../components/ecl-icon/eui-ecl-components-ecl-icon.ts"],"sourcesContent":["import {\n AfterViewInit, Component, ElementRef,\n HostBinding, Inject, Input, OnChanges, OnDestroy, OnInit, Renderer2, SimpleChanges, ViewChild, booleanAttribute, forwardRef,\n} from '@angular/core';\nimport { Observable, of, switchMap } from 'rxjs';\nimport { EclThemeService } from '@eui/ecl/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Component({\n selector: 'ecl-icon',\n templateUrl: './ecl-icon.component.html',\n standalone: false,\n hostDirectives: [\n {\n directive: ECLBaseDirective,\n },\n ],\n})\nexport class EclIconComponent implements OnInit, OnChanges, AfterViewInit, OnDestroy {\n @Input() iconSet: 'default' | 'social' | 'social-media' | 'flag' | string = 'default';\n @Input() icon: string;\n @Input() size: '2xs' | 'xs' | 's' | 'm' | 'l' | 'xl' | '2xl' | 'fluid' | string = 'xs';\n @Input() color: 'inverted' | 'primary' | null = null;\n @Input() transform: string;\n @Input() ariaLabelledby: string;\n @Input() role: string;\n @Input() title: string;\n @Input({ transform: booleanAttribute }) ariaHidden: boolean;\n @Input({ transform: booleanAttribute }) focusable = false;\n @Input({ transform: booleanAttribute }) @HostBinding('class.ecl-icon--flip-horizontal') isFlipHorizontal = false;\n\n @HostBinding('class.ecl-u-bg-dark')\n get isColorInverted(): boolean {\n return this.color === 'inverted';\n }\n\n @ViewChild('svg') svgEl: ElementRef;\n\n iconUrl$: Observable<string>;\n baseDirective: ECLBaseDirective;\n\n constructor(\n public el: ElementRef,\n private renderer: Renderer2,\n private eclThemeService: EclThemeService,\n @Inject(forwardRef(() => ECLBaseDirective)) baseDirective,\n ) {\n this.baseDirective = baseDirective;\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['icon']) {\n this.initiateIconUrl();\n }\n }\n\n ngOnInit(): void {\n this.initiateIconUrl();\n this.overrideRoleValueBasedOnTitle();\n this.overrideAriaLabelValueBasedOnTitle();\n }\n\n ngAfterViewInit(): void {\n const hostEl: HTMLElement = this.el.nativeElement;\n const hostParentEl = hostEl.parentElement;\n\n if (hostParentEl != null) {\n // add the svg and remove the parent from the DOM\n this.renderer.setStyle(hostEl, 'visibility', 'hidden');\n hostEl.after(this.svgEl.nativeElement);\n this.renderer.removeChild(hostParentEl, hostEl);\n }\n }\n\n ngOnDestroy(): void {\n try {\n if (this.svgEl) {\n const hostParentEl = this.svgEl.nativeElement.parentElement;\n if (hostParentEl) {\n hostParentEl.removeChild(this.svgEl.nativeElement);\n }\n }\n } catch (e) {\n /* empty */\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n getClasses(): { [x: string]: any } {\n const hostClasses = this.el.nativeElement.classList.toString();\n return {\n [this.baseDirective.getCssClasses('ecl-icon')]: true,\n [`ecl-icon--${this.size}`]: this.size,\n [`ecl-icon--${this.transform}`]: this.transform,\n [`ecl-icon--${this.color}`]: this.color,\n [hostClasses]: true,\n };\n }\n\n private initiateIconUrl(): void {\n this.iconUrl$ = this.eclThemeService.theme$.pipe(\n switchMap((theme) => {\n switch (this.iconSet) {\n case 'default':\n return of(`assets/images/ecl/${theme}/icons/sprites/icons.svg#${this.icon}`);\n case 'social':\n return of(`assets/images/ecl/${theme}/social-icons/sprites/icons-social.svg#${this.icon}`);\n case 'social-media':\n return of(`assets/images/ecl/${theme}/icons-social-media/sprites/icons-social-media.svg#${this.icon}`);\n case 'flag':\n return of(`assets/images/ecl/${theme}/icons-flag/sprites/icons-flag.svg#${this.icon}`);\n case 'flag-non-members':\n return of(`assets/images/ecl/${theme}/icons-flag/sprites/icons-flag-non-members.svg#${this.icon}`);\n default:\n return of(`${this.iconSet}#${this.icon}`);\n }\n }),\n );\n }\n\n private overrideRoleValueBasedOnTitle(): void {\n if (this.title !== undefined && this.role === undefined) {\n this.role = 'img';\n }\n }\n\n private overrideAriaLabelValueBasedOnTitle(): void {\n if (this.title !== undefined && this.ariaHidden === undefined) {\n this.ariaHidden = false;\n } else if (this.ariaHidden === undefined) {\n this.ariaHidden = true;\n }\n }\n}\n","<svg\n #svg\n [ngClass]=\"getClasses()\"\n [attr.aria-hidden]=\"ariaHidden\"\n [attr.aria-labelledby]=\"ariaLabelledby || null\"\n [attr.role]=\"role || null\"\n [attr.focusable]=\"focusable\">\n @if (title) {\n <title>{{title}}</title>\n }\n <use [attr.xlink:href]=\"iconUrl$ | async\"></use>\n <ng-content></ng-content>\n</svg>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclIconComponent } from './ecl-icon.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [EclIconComponent],\n declarations: [EclIconComponent],\n})\nexport class EclIconModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;MAkBa,gBAAgB,CAAA;AAazB,IAAA,IACI,eAAe,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,KAAK,KAAK,UAAU;;AAQpC,IAAA,WAAA,CACW,EAAc,EACb,QAAmB,EACnB,eAAgC,EACI,aAAa,EAAA;QAHlD,IAAE,CAAA,EAAA,GAAF,EAAE;QACD,IAAQ,CAAA,QAAA,GAAR,QAAQ;QACR,IAAe,CAAA,eAAA,GAAf,eAAe;QAzBlB,IAAO,CAAA,OAAA,GAA4D,SAAS;QAE5E,IAAI,CAAA,IAAA,GAAqE,IAAI;QAC7E,IAAK,CAAA,KAAA,GAAkC,IAAI;QAMZ,IAAS,CAAA,SAAA,GAAG,KAAK;QAC+B,IAAgB,CAAA,gBAAA,GAAG,KAAK;AAkB5G,QAAA,IAAI,CAAC,aAAa,GAAG,aAAa;;AAGtC,IAAA,WAAW,CAAC,OAAsB,EAAA;AAC9B,QAAA,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE;YACjB,IAAI,CAAC,eAAe,EAAE;;;IAI9B,QAAQ,GAAA;QACJ,IAAI,CAAC,eAAe,EAAE;QACtB,IAAI,CAAC,6BAA6B,EAAE;QACpC,IAAI,CAAC,kCAAkC,EAAE;;IAG7C,eAAe,GAAA;AACX,QAAA,MAAM,MAAM,GAAgB,IAAI,CAAC,EAAE,CAAC,aAAa;AACjD,QAAA,MAAM,YAAY,GAAG,MAAM,CAAC,aAAa;AAEzC,QAAA,IAAI,YAAY,IAAI,IAAI,EAAE;;YAEtB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC;YACtD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;YACtC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,CAAC;;;IAIvD,WAAW,GAAA;AACP,QAAA,IAAI;AACA,YAAA,IAAI,IAAI,CAAC,KAAK,EAAE;gBACZ,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa;gBAC3D,IAAI,YAAY,EAAE;oBACd,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;;;;QAG5D,OAAO,CAAC,EAAE;;;;;IAMhB,UAAU,GAAA;AACN,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,EAAE;QAC9D,OAAO;YACH,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,IAAI;YACpD,CAAC,CAAA,UAAA,EAAa,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI;YACrC,CAAC,CAAA,UAAA,EAAa,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS;YAC/C,CAAC,CAAA,UAAA,EAAa,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK;YACvC,CAAC,WAAW,GAAG,IAAI;SACtB;;IAGG,eAAe,GAAA;AACnB,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAC5C,SAAS,CAAC,CAAC,KAAK,KAAI;AAChB,YAAA,QAAQ,IAAI,CAAC,OAAO;AAChB,gBAAA,KAAK,SAAS;oBACV,OAAO,EAAE,CAAC,CAAA,kBAAA,EAAqB,KAAK,CAAA,yBAAA,EAA4B,IAAI,CAAC,IAAI,CAAE,CAAA,CAAC;AAChF,gBAAA,KAAK,QAAQ;oBACT,OAAO,EAAE,CAAC,CAAA,kBAAA,EAAqB,KAAK,CAAA,uCAAA,EAA0C,IAAI,CAAC,IAAI,CAAE,CAAA,CAAC;AAC9F,gBAAA,KAAK,cAAc;oBACf,OAAO,EAAE,CAAC,CAAA,kBAAA,EAAqB,KAAK,CAAA,mDAAA,EAAsD,IAAI,CAAC,IAAI,CAAE,CAAA,CAAC;AAC1G,gBAAA,KAAK,MAAM;oBACP,OAAO,EAAE,CAAC,CAAA,kBAAA,EAAqB,KAAK,CAAA,mCAAA,EAAsC,IAAI,CAAC,IAAI,CAAE,CAAA,CAAC;AAC1F,gBAAA,KAAK,kBAAkB;oBACnB,OAAO,EAAE,CAAC,CAAA,kBAAA,EAAqB,KAAK,CAAA,+CAAA,EAAkD,IAAI,CAAC,IAAI,CAAE,CAAA,CAAC;AACtG,gBAAA;AACI,oBAAA,OAAO,EAAE,CAAC,CAAG,EAAA,IAAI,CAAC,OAAO,CAAI,CAAA,EAAA,IAAI,CAAC,IAAI,CAAE,CAAA,CAAC;;SAEpD,CAAC,CACL;;IAGG,6BAA6B,GAAA;AACjC,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;AACrD,YAAA,IAAI,CAAC,IAAI,GAAG,KAAK;;;IAIjB,kCAAkC,GAAA;AACtC,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE;AAC1D,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK;;AACrB,aAAA,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE;AACtC,YAAA,IAAI,CAAC,UAAU,GAAI,IAAI;;;AAhHtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,oGA2Bb,UAAU,CAAC,MAAM,gBAAgB,CAAC,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AA3BrC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gBAAgB,wPASL,gBAAgB,CAAA,EAAA,SAAA,EAAA,CAAA,WAAA,EAAA,WAAA,EAChB,gBAAgB,CAChB,EAAA,gBAAA,EAAA,CAAA,kBAAA,EAAA,kBAAA,EAAA,gBAAgB,2UC7BxC,kXAaA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDKa,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAV5B,SAAS;+BACI,UAAU,EAAA,UAAA,EAER,KAAK,EACD,cAAA,EAAA;AACZ,wBAAA;AACI,4BAAA,SAAS,EAAE,gBAAgB;AAC9B,yBAAA;AACJ,qBAAA,EAAA,QAAA,EAAA,kXAAA,EAAA;;0BA6BI,MAAM;AAAC,oBAAA,IAAA,EAAA,CAAA,UAAU,CAAC,MAAM,gBAAgB,CAAC;yCA1BrC,OAAO,EAAA,CAAA;sBAAf;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,cAAc,EAAA,CAAA;sBAAtB;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACuC,UAAU,EAAA,CAAA;sBAAjD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACE,SAAS,EAAA,CAAA;sBAAhD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACkD,gBAAgB,EAAA,CAAA;sBAAvG,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;sBAAG,WAAW;uBAAC,iCAAiC;gBAGlF,eAAe,EAAA,CAAA;sBADlB,WAAW;uBAAC,qBAAqB;gBAKhB,KAAK,EAAA,CAAA;sBAAtB,SAAS;uBAAC,KAAK;;;ME3BP,aAAa,CAAA;+GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,EAFP,YAAA,EAAA,CAAA,gBAAgB,CAFrB,EAAA,OAAA,EAAA,CAAA,YAAY,aACZ,gBAAgB,CAAA,EAAA,CAAA,CAAA;AAGjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,YAJZ,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAIb,aAAa,EAAA,UAAA,EAAA,CAAA;kBALzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,gBAAgB,CAAC;oBAC3B,YAAY,EAAE,CAAC,gBAAgB,CAAC;AACnC,iBAAA;;;ACRD;;AAEG;;;;"}
|
|
@@ -66,10 +66,10 @@ class EclInpageNavigationItemComponent extends ECLBaseDirective {
|
|
|
66
66
|
evt.stopPropagation();
|
|
67
67
|
this.itemEnter.emit();
|
|
68
68
|
}
|
|
69
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
70
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
69
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: EclInpageNavigationItemComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
70
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.12", type: EclInpageNavigationItemComponent, isStandalone: false, selector: "ecl-inpage-navigation-item, li[eclInpageNavigationItem]", inputs: { label: "label", sectionId: "sectionId", isActive: "isActive" }, outputs: { itemClick: "itemClick", itemArrowUp: "itemArrowUp", itemArrowDown: "itemArrowDown", itemTab: "itemTab", itemEnter: "itemEnter" }, host: { properties: { "class.ecl-inpage-navigation__item": "this.cmpClass", "attr.role": "this.role", "class.ecl-inpage-navigation__item--active": "this.isActive" } }, viewQueries: [{ propertyName: "link", first: true, predicate: EclLinkDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<a eclLink (click)=\"onItemClick($event)\" href=\"#\" class=\"ecl-inpage-navigation__link\"\n (keydown.arrowUp)=\"onArrowUp($event)\" (keydown.arrowDown)=\"onArrowDown($event)\" (keydown.enter)=\"onEnter($event)\"\n (keydown.tab)=\"onTab($event)\">\n {{ label }}\n</a>\n", styles: [":host{display:list-item}\n"], dependencies: [{ kind: "directive", type: i1.EclLinkDirective, selector: "[eclLink]", inputs: ["isInverted", "isIconOnly", "isNoVisited", "variant"] }] }); }
|
|
71
71
|
}
|
|
72
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
72
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: EclInpageNavigationItemComponent, decorators: [{
|
|
73
73
|
type: Component,
|
|
74
74
|
args: [{ selector: 'ecl-inpage-navigation-item, li[eclInpageNavigationItem]', standalone: false, template: "<a eclLink (click)=\"onItemClick($event)\" href=\"#\" class=\"ecl-inpage-navigation__link\"\n (keydown.arrowUp)=\"onArrowUp($event)\" (keydown.arrowDown)=\"onArrowDown($event)\" (keydown.enter)=\"onEnter($event)\"\n (keydown.tab)=\"onTab($event)\">\n {{ label }}\n</a>\n", styles: [":host{display:list-item}\n"] }]
|
|
75
75
|
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { cmpClass: [{
|
|
@@ -110,10 +110,10 @@ class EclInpageNavigationService {
|
|
|
110
110
|
eclInpageNavigationToggle(isExpanded) {
|
|
111
111
|
this.eclInpageNavigationExpanded.next(isExpanded);
|
|
112
112
|
}
|
|
113
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
114
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
113
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: EclInpageNavigationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
114
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: EclInpageNavigationService }); }
|
|
115
115
|
}
|
|
116
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
116
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: EclInpageNavigationService, decorators: [{
|
|
117
117
|
type: Injectable
|
|
118
118
|
}], ctorParameters: () => [] });
|
|
119
119
|
|
|
@@ -136,10 +136,10 @@ class EclInpageNavigationListDirective extends ECLBaseDirective {
|
|
|
136
136
|
this.destroy$.next(true);
|
|
137
137
|
this.destroy$.unsubscribe();
|
|
138
138
|
}
|
|
139
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
140
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.
|
|
139
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: EclInpageNavigationListDirective, deps: [{ token: EclInpageNavigationService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
140
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.12", type: EclInpageNavigationListDirective, isStandalone: false, selector: "ul[eclInpageNavigationList]", host: { properties: { "class.ecl-inpage-navigation__list": "this.hasClass", "class.ecl-inpage-navigation__list--visible": "this.isVisible", "style.max-height.px": "this.maxHeight" } }, usesInheritance: true, ngImport: i0 }); }
|
|
141
141
|
}
|
|
142
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
142
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: EclInpageNavigationListDirective, decorators: [{
|
|
143
143
|
type: Directive,
|
|
144
144
|
args: [{
|
|
145
145
|
selector: 'ul[eclInpageNavigationList]',
|
|
@@ -398,10 +398,10 @@ class EclInpageNavigationComponent extends ECLBaseDirective {
|
|
|
398
398
|
this.isMobileBreakpoint = result.matches;
|
|
399
399
|
});
|
|
400
400
|
}
|
|
401
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
402
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
|
401
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: EclInpageNavigationComponent, deps: [{ token: i1$1.EclRtlService }, { token: i1$1.EclThemeService }, { token: i0.IterableDiffers }, { token: i2.ScrollDispatcher }, { token: i0.NgZone }, { token: i3.BreakpointObserver }, { token: i2.ViewportRuler }, { token: EclInpageNavigationService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
402
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.12", type: EclInpageNavigationComponent, isStandalone: false, selector: "ecl-inpage-navigation", inputs: { eclTitle: "eclTitle", marginTop: "marginTop", marginBottom: "marginBottom", offsetTop: ["offsetTop", "offsetTop", numberAttribute] }, outputs: { sectionEnter: "sectionEnter" }, queries: [{ propertyName: "eclNavigationList", first: true, predicate: EclInpageNavigationListDirective, descendants: true }, { propertyName: "eclNavigationLinkItems", predicate: EclInpageNavigationItemComponent, descendants: true }], viewQueries: [{ propertyName: "togglerButton", first: true, predicate: ["togglerButton"], descendants: true }, { propertyName: "toggleWrapper", first: true, predicate: ["toggleWrapper"], descendants: true }, { propertyName: "listContainer", first: true, predicate: ["listContainer"], descendants: true }, { propertyName: "navTittle", first: true, predicate: ["navTittle"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ecl-sticky-container [marginTop]=\"marginTop\" [marginBottom]=\"marginBottom\">\n <nav\n aria-labelledby=\"ecl-inpage-navigation-default\"\n class=\"ecl-inpage-navigation\"\n [class.ecl-inpage-navigation--visible]=\"hasActiveSection\"\n [class.ecl-inpage-navigation--rtl]=\"isRtl\">\n <div #navTittle id=\"ecl-inpage-navigation-default\" class=\"ecl-inpage-navigation__title\">\n {{ eclTitle || 'ecl.inpage-navigation.PAGE-CONTENTS' | translate }}\n </div>\n <div class=\"ecl-inpage-navigation__body\">\n <div #toggleWrapper class=\"ecl-inpage-navigation__trigger-wrapper\">\n <button\n #togglerButton\n id=\"ecl-inpage-navigation-default-trigger\"\n type=\"button\"\n class=\"ecl-inpage-navigation__trigger\"\n aria-controls=\"ecl-inpage-navigation-list\"\n [attr.aria-expanded]=\"isButtonExpanded\"\n (click)=\"onExpandButtonClick()\"\n (keydown)=\"onExpandButtonKeydown($event)\">\n <span class=\"ecl-inpage-navigation__trigger-current\">\n {{ currentNavigationLinkItem?.label }}\n </span>\n <ecl-icon icon=\"corner-arrow\" [size]=\"sizeIcon\" transform=\"rotate-180\"\n class=\"ecl-inpage-navigation__trigger-icon\" title=\"Show full page table of contents\"> </ecl-icon>\n </button>\n </div>\n @if (!hasNavigationList) {\n <ul #listContainer id=\"ecl-inpage-navigation-default-list\" class=\"ecl-inpage-navigation__list\"\n [class.ecl-inpage-navigation__list--visible]=\"isButtonExpanded\" [style.max-height.px]=\"listMaxHeight\"\n [attr.aria-expanded]=\"isButtonExpanded\">\n <ng-container>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-container>\n </ul>\n } @else {\n <ng-container>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-container>\n }\n </div>\n </nav>\n</ecl-sticky-container>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>", styles: ["@media (min-width: 996px){.ecl-inpage-navigation__list{display:block!important}}\n"], dependencies: [{ kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i6.EclStickyContainerComponent, selector: "ecl-sticky-container", inputs: ["isEnabled", "marginTop", "marginBottom"] }, { kind: "component", type: i7.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] }); }
|
|
403
403
|
}
|
|
404
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
404
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: EclInpageNavigationComponent, decorators: [{
|
|
405
405
|
type: Component,
|
|
406
406
|
args: [{ selector: 'ecl-inpage-navigation', standalone: false, template: "<ecl-sticky-container [marginTop]=\"marginTop\" [marginBottom]=\"marginBottom\">\n <nav\n aria-labelledby=\"ecl-inpage-navigation-default\"\n class=\"ecl-inpage-navigation\"\n [class.ecl-inpage-navigation--visible]=\"hasActiveSection\"\n [class.ecl-inpage-navigation--rtl]=\"isRtl\">\n <div #navTittle id=\"ecl-inpage-navigation-default\" class=\"ecl-inpage-navigation__title\">\n {{ eclTitle || 'ecl.inpage-navigation.PAGE-CONTENTS' | translate }}\n </div>\n <div class=\"ecl-inpage-navigation__body\">\n <div #toggleWrapper class=\"ecl-inpage-navigation__trigger-wrapper\">\n <button\n #togglerButton\n id=\"ecl-inpage-navigation-default-trigger\"\n type=\"button\"\n class=\"ecl-inpage-navigation__trigger\"\n aria-controls=\"ecl-inpage-navigation-list\"\n [attr.aria-expanded]=\"isButtonExpanded\"\n (click)=\"onExpandButtonClick()\"\n (keydown)=\"onExpandButtonKeydown($event)\">\n <span class=\"ecl-inpage-navigation__trigger-current\">\n {{ currentNavigationLinkItem?.label }}\n </span>\n <ecl-icon icon=\"corner-arrow\" [size]=\"sizeIcon\" transform=\"rotate-180\"\n class=\"ecl-inpage-navigation__trigger-icon\" title=\"Show full page table of contents\"> </ecl-icon>\n </button>\n </div>\n @if (!hasNavigationList) {\n <ul #listContainer id=\"ecl-inpage-navigation-default-list\" class=\"ecl-inpage-navigation__list\"\n [class.ecl-inpage-navigation__list--visible]=\"isButtonExpanded\" [style.max-height.px]=\"listMaxHeight\"\n [attr.aria-expanded]=\"isButtonExpanded\">\n <ng-container>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-container>\n </ul>\n } @else {\n <ng-container>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-container>\n }\n </div>\n </nav>\n</ecl-sticky-container>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>", styles: ["@media (min-width: 996px){.ecl-inpage-navigation__list{display:block!important}}\n"] }]
|
|
407
407
|
}], ctorParameters: () => [{ type: i1$1.EclRtlService }, { type: i1$1.EclThemeService }, { type: i0.IterableDiffers }, { type: i2.ScrollDispatcher }, { type: i0.NgZone }, { type: i3.BreakpointObserver }, { type: i2.ViewportRuler }, { type: EclInpageNavigationService }], propDecorators: { eclTitle: [{
|
|
@@ -437,11 +437,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImpor
|
|
|
437
437
|
|
|
438
438
|
const COMPONENTS = [EclInpageNavigationComponent, EclInpageNavigationItemComponent, EclInpageNavigationListDirective];
|
|
439
439
|
class EclInpageNavigationModule {
|
|
440
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
441
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.
|
|
442
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.
|
|
440
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: EclInpageNavigationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
441
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.12", ngImport: i0, type: EclInpageNavigationModule, declarations: [EclInpageNavigationComponent, EclInpageNavigationItemComponent, EclInpageNavigationListDirective], imports: [CommonModule, TranslateModule, EclStickyContainerModule, EclLinkModule, EclIconModule], exports: [EclInpageNavigationComponent, EclInpageNavigationItemComponent, EclInpageNavigationListDirective] }); }
|
|
442
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: EclInpageNavigationModule, providers: [EclInpageNavigationService], imports: [CommonModule, TranslateModule, EclStickyContainerModule, EclLinkModule, EclIconModule] }); }
|
|
443
443
|
}
|
|
444
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
444
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: EclInpageNavigationModule, decorators: [{
|
|
445
445
|
type: NgModule,
|
|
446
446
|
args: [{
|
|
447
447
|
imports: [CommonModule, TranslateModule, EclStickyContainerModule, EclLinkModule, EclIconModule],
|